[eu] Euskeraz: Ikerketa Nuklearrerako Europako Kontseilua (CERN, Conseil Européen pour la Recherche Nucléaire, frantsesez) Genevan (Suitza) dago kokatua. Partikula-fisikaren ezagutzaren mugak handitzea du helburu erakundeak. Horretarako, gaur egun munduko partikula azeleratzaile handiena dago bertan. CERNen erabiltzen diren azelerazio-teknologia nagusiak irrati-maiztasun (RF) kabitateak eta elektroiman supereroaleetan oinarritzen dira. Normalean, sistema horiek saretik hornitzen direnez, potentzia-bihurgailuak erabili behar dira. Oro har, bihurgailu horiek kommutatuak dira, eta eraginkortasun eta zehaztasun handiarekin operatzen dute. Euskal Herriko Unibertsitatearen (EHU/UPV) Sistema Elektroniko Aurreratuen masterra osatzeko helburuarekin burutu da master amaierako lan hau. CERNek unibertsitate-ikasleentzat duen praktika-programa baten testuinguruan garatu da lana, hain zuzen ere, Sistema Departamendua-Potentzia Bihurgailu Elektrikoak- Potentzia Baxuko Bihurgailu (SY-EPC-LPC) taldean. Bere izenak adierazten duen bezala, tentsio baxuko eta korronte altuko bihurgailu modularrak eta konpaktuak diseinatzeko eta garatzeko ardura du talde horrek. Bereziki, partikula-azeleradore konplexuaren parte diren bihurgailu ugari kudeatzen ditu SY-EPC-LPCek, Watt batzuetatik hasi eta zenbait kW-etaraino iristen direnak. Horien artean, hardware arkitektura berdina partekatzen dute digitalki kontrolaturiko bihurgailu gehienek, CERNen diseinatutako RegFGC3 modulua erabiltzen dutenak. Zenbait txartel elektronikok osatzen dute RegFGC3 modulua. Horien artean Seinale Digitalen Prozesadorea (DSP, Digital Signal Processor, ingelesez) duen erregulazio-txartela eta Ate-Matrize Programagarria (FPGA, Field Programmable Gate Array, ingelesez) daukan egoera-kontrol txartela nabarmentzen dira. Aldi berean, FGC3 izeneko bihurgailuen kontrolerako plataforma handiago baten parte da RegFGC3 moduloa. Hardwarea nahikoa estandarizatua dagoen arren, gaur egun bihurgailuetako bakoitzak bere kontrol-software espezifikoa erabiltzen du, C programazio-lengoaian idatzita. Horrek, erredundantzia eragiteaz gain, kodea frogatzeko, arazteko eta mantentzeko zailtasunak sortzen ditu. Aipatutako arazoak aztertu ondoren, master amaierako lanak bihurgailuen erregulazio-softwarea bateratzen duen kontrol-liburutegi amankomuna diseinatu, garatu eta frogatzea du helburu. Horrekin, estandarizazioa, malgutasuna eta denbora aurreztea bilatu da. Lehenengo urrats bezala, partikula-azeleradoreen parte diren hiru bihurgailu aukeratu dira: CANCUN (Cern Acdc Narrow CoNverter), HL-LHC18kA (High Luminosity Large Hadron Collider 18 kA) eta RF3kA (Radio-Frequency 3 kA). Bihurgailu ezberdinek duten aniztasuna hartzen da kontuan aukeraketa horretan. Hori da, 1, 2 eta 4-koadranteko arkitekturak aurki daitezke; horrez gain, korrontearen eta tentsioaren kontrolerako begizta eta Pultsu Zabalera bidezko Modulazio (PWM, Pulse Width Modulation ingelesez) algoritmo ezberdinak, zenbait kasutan, tartekatutako (interleaved, ingelesez) modulazio-eskemak barne. Behin hiru bihurgailuak eta horien kontrola aztertuta (hardware eta software mailan), sinergiak antzeman dira horien artean. Sinergiak kontuan hartzen dituen kontrol software-liburutegi amankomuna sortzeko, kodea C-tik C++-ra berreraikitzea justifikatu da aukerarik onena bezala. Horrek, Objektuetara Bideratutako Programazio-hizkuntza (OOP, Object Oriented Programming, ingelesez) azkar eta eraginkorra erabiltzea ahalbideratu du, programaren izaerak bihurgailuaren kode espezifikoen arteko erlazioen adierazpena sinplifikatuz. Proposatu eta inplementatutako RegDspLib izeneko liburutegian dagoen ideia nagusia da bihurgailu guztiei euskarria ematen dien funtsezko klase bat eraikitzean oinarritzen dela. Bihurgailuek partekatutako antzekotasun guztiak biltzen ditu klase horrek, eta kode gehigarria eta espezializatua garatzeko erraztasunak ematen ditu, konfiguratutako ezaugarri komunak heredatzea baimenduz. Liburutegi horrekin, bihurgailu bakoitzak behar duena erabiltzeko, aldatzeko edo gehitzeko aukera ematen da, klase deribatuen bidez. RegDspLib liburutegian C++ hizkuntzaren mekanismoak erabili dira klase, modulu, metodo eta atributu ezberdinak elkarrekin lotzeko. Garrantzitsua da aipatzea, nahiz eta helburu horiek lortzeko C programazio-hizkuntza erabiltzea posible izan, lana zailagoa izango litzatekeela. Elementu batzuk konfiguratzen dira klaseetan horiei logika emateko. Besteak beste, Egoera Finituko Makinak (FSM, Finite State Machine, ingelesez) konfiguratzeko modulu generiko bat eta PWM irteera konfiguragarriak dituen erregulazio-moduluak diseinatu dira. Horrez gain, aldaketa ugari burutu behar izan dira liburutegiaren diseinu egokia ahalbidetzeko. Horien artean hauexek nabarmen daitezke: FSM estandarra diseinatzea, potentzia-bihurgailuaren egoera kontrolatzen eta gainbegiratzen duen FPGAren programa-aldaketa, DSParen etenak kudeatzen eta, azkenik, bihurgailu anitzetan funtzionatzen duten funtzio generiko berriak sortzea. Funtzio berri horien artean kontrol algoritmoaren erreferentzia balioaren hazkunde/murrizketa abiadura kontrolatzen duen metodoa eta tartekatutako modulazio-mekanismoaren parametroak automatikoki kalkulatzen dituen funtzioa nabarmentzen dira, besteak beste. CANCUN potentzia-bihurgailuan gauzatu da RegDspLib liburutegiaren egiaztapena. Lehenik eta behin, korrontearen erreferentziari sistemak egindako jarraipenak frogatu du erregulazio-emaitza berdinak lortzen direla, bai proposatutako liburutegiarekin eta baita jatorrizko softwarearekin ere. Baliabide digitalei dagokienez, % 2,48ko exekuzio-denboraren gehikuntza erakutsi dute emaitza esperimentalek, kasurik okerrean, eta % 24,63ko murrizketa, kasurik onenean. Horrek guztiak frogatzen du posible dela, denbora-mugak gainditu gabe, kodea estandarizatzea, C++ lengoaiara berreraikiz, softwareari ezaugarriak gehituz. Laburbilduz, C++ programazio-lengoaia CERNen potentzia-bihurgailuak denbora errealean kontrolatzeko baliozkoa dela frogatu da. Gainera, ezaugarri amankomun guztiak biltzen dituen kontrol-liburutegi bat eraikitzeak, hobeto egituratutako programa bat sortu du, eta kodea hobeto ulertu eta honekin lan egitea erraztu du. Lan honetatik abiatuta, inplementatutako liburutegiaren hobekuntza gehigarriak garatu daitezke etorkizunean. Gainera, liburutegia beste bihurgailu batzuetan (aurkeztutakoez gain) erabiltzeko osatu daiteke. Azkenik, garrantzitsua da aipatzea, RegDspLib liburutegia FGC3 kontrol-plataformara bideratzeko asmoarekin sortu bada ere, proiektu honek FGC4 bertsiorako baliagarriak izango diren liburutegien garatze-ibilbidea hasi duela. Nabarmentzekoa da puntu hori, FGC3ko txartel espezifikoak (kontrola, ikuskapena, erregulazioa, neurketa, etab.) Prozesatzeko Unitate Zentral (CPU, Central Processing Unit, ingelesez) bakar batek ordezkatuko baititu FGC4n.

[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).