[es] Español: La Organización Europea para la Investigación Nuclear (CERN, Conseil Européen pour la Recherche Nucléaire, en francés) esta situada en Ginebra, Suiza. Tiene como objetivo superar los límites del conocimiento humano en física de partículas. Para poder cumplirlo, el CERN alberga actualmente el complejo de aceleradores de partículas más grande del mundo. Dentro de este, las principales tecnologías de aceleración se basan en cavidades de radiofrecuencia (RF) y electroimanes superconductores. En general, estos sistemas necesitan alimentarse de la red utilizando convertidores electrónicos de potencia, conmutados de alta eficiencia y precisión. Este Trabajo de Fin de Máster se ha llevado a cabo con el objetivo de completar los estudios del Máster en Sistemas Electrónicos Avanzados en la Universidad del País Vasco (EHU/UPV). Se ha realizado durante una estancia a través de un programa de prácticas del CERN, en el Departamento de Sistemas-Convertidores de Potencia Eléctricos-Baja Potencia (SY-EPC-LPC). Como su nombre indica, este grupo se encarga del diseño y desarrollo de convertidores modulares y compactos de baja tensión y alta corriente, que operan desde unos pocos Watt hasta varios kW. Este grupo gestiona una gran variedad de convertidores de potencia dentro del complejo de aceleradores de partículas. Entre estos, la mayoría de los controlados digitalmente comparten la misma arquitectura de hardware de control, que consiste en un módulo propietario, llamado RegFGC3. Este módulo incluye varias tarjetas, entre las que destacan una placa de regulación con un Procesador de Señal Digital (DSP, Digital Signal Processor, en inglés) y una tarjeta de control de estado que contiene una Matriz de Puertas Programable (FPGA, Field Programmable Gate Array, en inglés). A su vez, este módulo RegFGC3 forma parte de una plataforma de control mayor, llamada FGC3. Aunque el hardware esté estandarizado, actualmente cada uno de los convertidores utiliza un software de control específico, escrito en el lenguaje de programación C. Esto hace que el código resulte redundante y difícil de testear, depurar y mantener. Teniendo en cuenta las desventajas mencionadas, el objetivo del Trabajo de Fin de Máster ha sido diseñar, desarrollar y probar una librería de control común que englobe el software de regulación de varios convertidores de potencia, proporcionando estandarización, flexibilidad y ahorro de tiempo en el desarrollo de este. Para ello, como primer paso, se han seleccionado tres de los convertidores de potencia que forman parte de los aceleradores, CANCUN (Cern Acdc Narrow CoNverter), HL-LHC18kA (High Luminosity Large Hadron Collider 18 kA) y RF3kA (Radio-Frequency 3 kA). Esta selección se basa en que los convertidores incorporan arquitecturas de 1-cuadrante, 2-cuadrantes y 4-cuadrantes, distintos lazos de regulación de corriente y tensión, y varios modos de Modulación por Anchura de Pulso (PWM, Pulse Width Modulation, en inglés), incluyendo, en algunos casos, técnicas de entrelazamiento. Después de analizar los tres convertidores de potencia y su control (a nivel de hardware y software), se ha identificado una sinergia entre ellos, la cual falta a nivel de software. Para proporcionar una librería de software de control unificada que tenga en cuenta estas sinergias, se justifica la reescritura del código de C a C++ como la mejor opción. Esto permite utilizar un lenguaje de Programación Orientada a Objetos (OOP, Object Oriented Programming, en inglés) rápido y eficiente, cuya naturaleza facilita la expresión de la relación existente entre los códigos específicos del convertidor. La idea principal de la librería propuesta e implementada, llamada RegDspLib, se basa en la construcción de una clase padre que de soporte a todos los convertidores. Esta clase contiene todas las similitudes compartidas entre los convertidores, lo que facilita el desarrollo de código adicional y especializado al permitir la herencia de las características comunes configuradas. La librería posibilita utilizar, modificar o agregar lo que sea necesario para cada convertidor, a través de clases derivadas. Se han utilizado mecanismos del lenguaje C++ para correlacionar distintas clases, módulos, métodos y atributos del código, facilitando el desarrollo de una librería común. Esto hubiera sido más laborioso mediante el lenguaje de programación C. Con el objetivo de dotar de lógica a estas clases, se configuran una variedad de módulos. Se incluyen, entre otros, un módulo genérico para la configuración de Máquinas de Estados Finitas (FSM, Finite State Machine, en inglés) y un módulo de regulación con entradas PWM configurables. Además de esto, para posibilitar el diseño de la librería se han tenido que realizar múltiples modificaciones. Estas incluyen el diseño de una FSM estándar, la modificación de la FPGA que controla y supervisa el estado del convertidor de potencia, el manejo de interrupciones en la DSP y la creación de nuevas funciones genéricas que sirvan para múltiples convertidores. Entre estas últimas destacan el método de tasa de variación que controla el ratio de aumento/disminución del valor de referencia del algoritmo de control y el cálculo automático de los parámetros del mecanismo de control de entrelazamiento. La verificación de la librería RegDspLib se ha llevado a cabo en el convertidor de potencia CANCUN. Por un lado, se ha obtenido la misma respuesta al escalón de entrada de corriente, tanto con la librería propuesta como con el software original. Por otro, los resultados experimentales muestran un aumento del 2,48 %, en el tiempo de ejecución, para el peor de los casos, y una reducción de hasta el 24,63 %, en el mejor. Esto demuestra que ha sido posible estandarizar, reescribir el código a C++ y agregar características adicionales al software sin exceder los límites de tiempo. En resumen, el lenguaje de programación C++ se ha demostrado como válido para el control en tiempo real de los convertidores de potencia del CERN a través de la regulación en la DSP. Además, la construcción de una librería de control que engloba todas las características comunes ha proporcionado un programa mejor estructurado, lo que facilita su comprensión y trabajar con el mismo. En un futuro, este proyecto podría llevar a mejoras adicionales de la librería y ser completado para su utilización con otros convertidores de potencia, además de con los tres presentados. Por último, aunque la librería RegDspLib estaba originalmente destinada a la plataforma de control FGC3, este proyecto marca los primeros pasos hacia el desarrollo de librerías para la futura actualización del FGC4, donde las tarjetas dedicadas del FGC3 (control, supervisión, regulación, medición, etc.) serán reemplazadas por una sola Unidad Central de Procesamiento (CPU, Central Processing Unit, en inglés) principal.

[fr] Français: Le Conseil Européen Pour la Recherche Nucléaire (CERN), situé à Genève, Suisse, abrite le plus grand complexe d'accélérateurs de particules au monde, qui vise à repousser les limites de la connaissance humaine en matière de physique des particules. Les principales technologies d'accélération du CERN reposent sur des cavités radiofréquences (RF) et les électro-aimants supraconducteurs. Ces systèmes doivent être alimentés par le réseau à l'aide de convertisseurs électroniques de puissance à découpage, à haut rendement et haute précision. Ce mémoire de maîtrise a été réalisé afin de compléter les études de maîtrise en systèmes électroniques avancés à L'Université du Pays Basque (EHU/UPV, Universidad del Pais Vasco en espagnol). Le projet a été réalisé à la suite d'un stage de courte durée dans le groupe System Department-Electric Power Converters-Low Power Converters (SY-EPC-LPC). Au sein du CERN, comme son nom l'indique, SY-EPC-LPC est chargé de concevoir et de développer des convertisseurs modulaires et compacts à basse tension et à courant élevé, d'une puissance allant de quelques Watts à plusieurs kW. Ce groupe gère une variété de convertisseurs de puissance au sein du complexe d'accélérateurs de particules. Ces convertisseurs partagent la même architecture matérielle de contrôle, qui consiste en un boîtier propriétaire, appelé RegFGC3, comprenant plusieurs cartes, dont une carte de régulation à processeur de signal numérique (DSP, Digital Signal Processor en anglais) et une carte de contrôle d'état contenant une réseau de portes programmables sur site (FPGA, Field Programmable Gate Array en anglais). Ce boîtier RegFGC3 fait partie d'une plateforme de contrôle plus large appelée FGC3, qui contrôle le convertisseur de puissance. Bien que le matériel soit fortement standardisé, aujourd'hui, chacun convertisseur utilise un logiciel spécifique au convertisseur à des fins de contrôle, écrite à l'origine dans le langage de programmation C. Cela rend tout le code redondant et difficile à tester, à déboguer et à entretenir. En tenant compte des inconvénients mentionnés, la thèse de maîtrise vise à concevoir, développer et tester une bibliothèque de contrôle commune qui prend en charge le logiciel de régulation de plusieurs convertisseurs de puissance, assurant ainsi la normalisation, la flexibilité et le gain de temps. Pour ce faire, dans un premier temps, trois des convertisseurs de puissance des accélérateurs ont été sélectionnés, à savoir CANCUN (Cern Acdc Narrow CoNverter), HL-LHC18kA (High Luminosity Large Hadron Collider 18~kA) et RF3kA (Radio-Frequency 3 kA), car ils intègrent des architectures à 1-quadrant, 2-quadrants et 4-quadrants, diverses boucles de régulation du courant et de la tension et différents modes de modulation de largeur d'impulsion (PWM, Pulse Width Modulation en anglais), incluant l'entrelacement. L'analyse des trois convertisseurs de puissance et de leur contrôle (matériel et logiciel) a permis d'identifier une synergie entre eux qui est absente au niveau du logiciel. Pour fournir une bibliothèque logicielle de contrôle unifiée qui prenne en compte ces synergies, la réécriture du code de C à C++ est justifiée comme étant la meilleure option. Cela permet d'utiliser un langage de programmation orienté objet (OOP, Object Oriented Programming en anglais) rapide et efficace, dont la nature facilite l'expression de la relation existante entre les codes spécifiques aux convertisseurs. L'idée principale de la bibliothèque proposée et mise en œuvre, nommée RegDspLib, est basée sur la construction d'une classe commune qui prend en charge tous les convertisseurs. Celle-ci contient toutes les similitudes partagées entre les convertisseurs, ce qui facilite le développement de codes supplémentaires et spécialisés en permettant l'héritage des caractéristiques communes configurées, avec la possibilité d'utiliser, de modifier ou d'ajouter ce qui est nécessaire à chaque convertisseur par le biais de classes dérivées. Les mécanismes du langage C++ ont été utilisés pour corréler les différentes classes, modules, méthodes et attributs du code, facilitant ainsi le développement d'une bibliothèque commune, ce qui aurait été plus laborieux en C. Tous les éléments configurés donnent une logique aux classes. Il s'agit, entre autres, un module générique pour la configuration de machines à états finis (FSM, Finite State Machine en anglais) et un module de régulation avec des entrées PWM configurables. En outre et afin de rendre possible la conception de cette bibliothèque, de multiples modifications ont été effectuées. Celles-ci comprennent la conception d'une FSM standard, la modification du FPGA qui contrôle et surveille l'état du convertisseur de puissance, la gestion des interruptions sur le DSP et la construction de nouvelles fonctions génériques qui fonctionnent avec plusieurs convertisseurs. Ces dernières comprennent la méthode de rampe qui contrôle l'augmentation/diminution de la valeur de référence de l'algorithme de contrôle et le calcul des paramètres du mécanisme de contrôle de l'entrelacement automatique. La vérification de la bibliothèque RegDspLib a été effectuée sur le convertisseur de puissance CANCUN. Tout d'abord, la même réponse de régulation à un échelon de courant a été obtenue en comparant les codes originaux et les codes proposés basés sur la bibliothèque. En ce qui concerne les ressources numériques, les résultats expérimentaux montrent une augmentation de 2,48 % du temps d'exécution dans le pire des cas et une diminution de 24,63 % dans le meilleur des cas. Cela démontre qu'il a été possible de normaliser, de réécrire le code en C++ et d'ajouter plus de fonctionnalités au logiciel sans dépassement. Tout bien considéré, le langage de programmation C++ s'est avéré valable pour le contrôle en temps réel dans la cible DSP des convertisseurs de puissance du CERN. La création d'une bibliothèque de contrôle regroupant toutes les fonctionnalités communes a également permis de mieux structurer le programme, ce qui le rend plus facile à comprendre et à utiliser. Ce travail pourrait conduire à d'autres améliorations de la bibliothèque ainsi qu'à son utilisation dans d'autres convertisseurs de puissance que ceux présentés. En outre, bien que la bibliothèque RegDspLib ait été initialement destinée à la plate-forme de contrôle FGC3, ce projet fournit les premières étapes du développement de bibliothèques pour la future mise à niveau du FGC4 (déjà en cours de développement ), où les cartes dédiées du FGC3 (contrôle, surveillance, régulation, mesure, etc.) seront remplacées par une seule unité centrale de traitement (CPU, Central Processing Unit en anglais).