Ref : p/39 AU : 2010-2011 Université de Sousse Ecole Nationale d’Ingénieurs de Sousse Mémoire de Projet de Fin d'Études Présenté en vue de l’obtention du diplôme d’ Ingénieur en Génie Electronique Industrielle Option : Contrôle Industriel Implémentation numérique d’une MLI vectorielle pour la commande d’un onduleur triphasé. Réalisé par : Elayeb Abdennaceur Soutenu le 24 Juin 2011 Zorgui Wajdi devant le jury Président : M. Adel KHEDER, ENISO Membre de jury : Mlle. Sihem ZOUAOUI, ENISO Encadreur : M. Mahmoud HAMMOUDA, ENISO Encadreur : M. Khaled BEN SMIDA, ENISO © Abdennaceur&Wajdi @ ENISO ©2011 Résumé Les systèmes d’entrainement triphasés à vitesse variable trouvent un champ d’application très vaste dans le domaine industriel. L’onduleur de tension triphasé est l’un des structures de conversions utilisées dans ce contexte et notamment dans le domaine des faibles et moyennes puissances. Outre la souplesse de développement, l’utilisation d’un système de commande embarqué de l’onduleur, permet d’avoir une plateforme de commande plus robuste et moins encombrante. Dans ce contexte, on se propose d’implémenter sur un DSP une MLI vectorielle permettant de contrôler la fréquence et la valeur efficace de l’onduleur triphasé pour alimenter un récepteur triphasé. Comme deuxième objectif, on se propose de faire la conception et la réalisation d’une carte d’acquisition des courants de la charge et implémenter un programme sur le DSP permettant de suivre en temps réel l’évolution de ces courants. Mots-clés : Onduleur triphasé DSP (Digital Signal Processor) TMS320F2812 MLI vectorielle Acquisition i Abstract The three-phase drive systems with variable speed find a very wide scope of application in the industrial field. The three-phase voltage inverter is one of the structures of conversions used in this context particularly in the field of low and medium powers. In addition to the flexibility of developing, the use of an embedded control system of the invertor provides a control platform more robust and less cumbersome. In this context, we propose to implement on a DSP a PWM vector to control the frequency and the effective value of the three-phase inverter to power a receiver 3 phases. The second objective, we propose to design and implement an acquisition card of currents on the load and implement a program on the DSP to monitor in real time the evolution of these currents. Keywords: Three phase inverter DSP (Digital Signal Processor) TMS320F2812 SVM: Space Vector Modulation Acquisition. ii ﻣﻠﺨﺺ 3T 3T ﺗﺠﺪ ﺍﻷﻧﻈﻤﺔ ﺛﻼﺛﻴﺔ ﺍﻷﻗﻄﺎﺏ ﺫﺍﺕ ﺍﻟﺴﺮﻋﺔ ﺍﻟﻤﺘﻐﻴﺮﺓ ﻣﺠﺎﻻ ﻭﺍﺳﻌﺎ ﺟﺪﺍ ﻣﻦ ﺍﻟﺘﻄﺒﻴﻖ ﻓﻲ ﺍﻟﻤﺠﺎﻝ ﺍﻟﺼﻨﺎﻋﻲ . ﺍﻟﻨﺎﻗﻞ ﺍﻟﻜﻬﺮﺑﺎﺋﻲ ﺛﻼﺛﻲ ﺍﻷﻗﻄﺎﺏ ﻫﻮ ﻭﺍﺣﺪ ﻣﻦ ﺑﻴﻦ ﻫﺬﻩ ﺍﻟﻬﻴﺎﻛﻞ ﺍﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ ﻫﺬﺍ ﺍﻟﺴﻴﺎﻕ ﻻ ﺳﻴﻤﺎ ﻓﻲ ﻣﺠﺎﻝ ﺍﻟﻀﻐﻂ ﺍﻟﻤﻨﺨﻔﺾ ﻭﺍﻟﻤﺘﻮﺳﻂ. ﺑﺎﻹﺿﺎﻓﺔ ﺇﻟﻰ ﺍﻟﻤﺮﻭﻧﺔ ﻓﻲ ﺍﻟﺘﻄﻮﻳﺮ ،ﻳﻮﻓﺮ ﺇﺳﺘﺨﺪﺍﻡ ﻧﻈﻢ ﺍﻟﺘﺤﻜﻢ ﺍﻟﻤﺪﻣﺠﺔ ﻟﻠﻨﺎﻗﻞ ﺍﻟﻜﻬﺮﺑﺎﺋﻲ ﻣﻨﺼﺔ ﻣﺮﺍﻗﺒﺔ ﺃﻛﺜﺮ ﻓﻌﺎﻟﻴﺔ ﻭﺃﻗﻞ ﺟﻬﺪﺍ. ﻓﻲ ﻫﺬﺍ ﺍﻟﺴﻴﺎﻕ ،ﻓﺈﻧﻨﺎ ﻧﻌﺘﺰﻡ ﺗﻨﻔﻴﺬ ﺗﻘﻨﻴﺔ ) SVM(Space Modulation Vectorﻋﻠﻰ ﻣﻌﺎﻟﺞ ﺭﻗﻤﻲ ﻟﻠﺘﺤﻜﻢ ﻓﻲ ﺍﻟﺘﺮﺩﺩ ﻭﻓﻲ ﺍﻟﻘﻴﻤﺔ ﺍﻟﻤﻀﺎﻓﺔ ﻟﻠﻨﺎﻗﻞ ﻣﻦ ﺃﺟﻞ ﺗﺸﻐﻴﻞ ﻣﺴﺘﻘﺒﻞ ﺛﻼﺛﻲ ﺍﻷﻗﻄﺎﺏ . ﺍﻟﻬﺪﻑ ﺍﻟﺜﺎﻧﻲ ،ﻫﻮ ﻋﺰﻣﻨﺎ ﻋﻠﻰ ﺗﺼﻤﻴﻢ ﻭﺗﻨﻔﻴﺬ ﻟﻮﺣﺔ ﺇﺳﺘﻘﻄﺎﺏ ﻟﻠﺘﻴﺎﺭ ﺍﻟﻜﻬﺮﺑﺎﺋﻲ ﻭﺗﻨﻔﻴﺬ ﺑﺮﻧﺎﻣﺞ ﻋﻠﻰ ﺍﻟﻤﻌﺎﻟﺞ ﺍﻟﺮﻗﻤﻲ ﻟﺮﺻﺪ ﻭﻣﺘﺎﺑﻌﺔ ﻫﺬﺍ ﺍﻟﺘﻴﺎﺭ ﺑﻄﺮﻳﻘﺔ ﺁﻧﻴﺔ . ﻣﻔﺎﺗﻴﺢ: ﻧﺎﻗﻞ ﻛﻬﺮﺑﺎﺋﻲ ﻣﻌﺎﻟﺞ ﺭﻗﻤﻲ ﻣﺮﺍﻗﺒﺔ ﺇﺳﺘﻘﻄﺎﺏ ﺍﻟﺘﻴﺎﺭ ﺍﻟﻜﻬﺮﺑﺎﺋﻲ 3T iii 3 T Je commence par rendre grâce à dieu et à sa bonté, pour la patience et le courage qu’il m’a donné pour arriver à ce stade Je dédie ce modeste travail avec l’expression de mon profond amour, aux personnes les plus chères du monde : A ma grande mère Fatma, aucun hommage ne pourra être à la mesure de ce qu’elle mérite. Je prie Dieu qu’il te fasse don de sa miséricorde et sa grâce. A Mon cher père Mokthar et ma mère Aicha En témoignage de mon affection pour la patience et les sacrifices qu’ils ont consentis pour moi et dont je serai reconnaissante toute ma vie A mes sœurs Marwa et Saliha A mon très cher frère : Oussama A toute ma famille et à tous mes proches A mes amis Youssef, Anis et Ahmed Je souhaite à chacun de vous tout de bonheur du monde, la joie, la santé et la réussite. iv Je commence par rendre grâce à dieu et à sa bonté, pour la patience et le courage qu’il m’a donné pour arriver à ce stade Je dédie ce modeste travail avec l’expression de mon profond amour, aux personnes les plus chères du monde : A ma tante Elhadhba, aucun hommage ne pourra être à la mesure de ce qu’elle mérite. Je prie Dieu qu’il te fasse don de sa miséricorde et sa grâce. A Mon cher père Mongi et ma mère Saliha En témoignage de mon affection pour la patience et les sacrifices qu’ils ont consentis pour moi et dont je serai reconnaissante toute ma vie A mes freres Dhia Eddine, Bacem et Wassim A toute ma famille et à tous mes proches A mes amis Sedki, Abdelwahab Je souhait à chacune de vous tout de bonheur du monde, la joie, la santé et la réussite. v Remerciement Avant d’entamer la présentation de notre travail, nous voulons exprimer avec beaucoup de plaisir notre profonde gratitude, notre fidèle reconnaissance, notre respects et notre remerciements les plus sincères à nos encadreurs M. Mahmoud HAMOUDA et M. Khaled BEN SMIDA qui n’ont pas cessé de nous prodiguer leurs conseils et leurs recommandations ainsi pour leurs générosité en matière d’encadrement. Nos remerciements se destinent aussi aux personnels de l’Ecole Nationale d’Ingénieurs de Sousse pour leurs générosités, leurs gentillesses et leur présence permanente pour nous servir. De même, nous tenons à témoigner notre reconnaissance à tous nos enseignants qui ont contribué à l’enrichissement de nos connaissances. Enfin, Nos remerciements sont adressés à tous ceux qui ont collaboré du loin ou de proche ce travail. Merci à tous… vi Table des matières RESUME ----------------------------------------------------------------------------------------------------------------------------- I ABSTRACT ------------------------------------------------------------------------------------------------------------------------- II ﻣﻠﺨﺺ------------------------------------------------------------------------------------------------------------------------------ III REMERCIEMENT ---------------------------------------------------------------------------------------------------------------- VI TABLE DES MATIERES--------------------------------------------------------------------------------------------------------- VII LISTE DES FIGURES ------------------------------------------------------------------------------------------------------------- IX LISTE DES FIGURES ------------------------------------------------------------------------------------------------------------- XI INTRODUCTION GENERALE -------------------------------------------------------------------------------------------------- 1 CHAPITRE 1 : ETUDE DE LA M.L.I VECTORIELLE ------------------------------------------------------------------------ 4 1. INTRODUCTION :--------------------------------------------------------------------------------------------------------- 4 2. TRANSFORMATION DE CONCORDIA : ----------------------------------------------------------------------------------- 4 3. MODELISATION DE L’ONDULEUR : -------------------------------------------------------------------------------------- 6 4. PRINCIPE DE LA M.L.I VECTORIELLE :----------------------------------------------------------------------------------- 9 5. 4.1 Calcul des temps de commutation : ---------------------------------------------------------------------- 10 4.2 Calcul des temps commutation pour chaque bras de l’onduleur: --------------------------------- 14 4.3 Algorithme de programmation d’une MLI vectorielle : ---------------------------------------------- 15 CONCLUSION : --------------------------------------------------------------------------------------------------------- 16 CHAPITRE 2 : LE DSP TMS320F2812 ------------------------------------------------------------------------------------- 18 1. INTRODUCTION :------------------------------------------------------------------------------------------------------- 18 2. LE PROCESSUS DE DEVELOPPEMENT D’UN PROGRAMME SUR DSP : ---------------------------------------------- 18 3. PRESENTATION DE LA CARTE « EZDSP 4. ARCHITECTURE GENERALE DU DSP « TMS320F2812 » DE TEXAS INSTRUMENTS ------------------------------ 22 5. P TM F2812 » DE SPECTRUM DIGITAL----------------------------------------- 20 P 4.1 Organisation de la mémoire du DSP : -------------------------------------------------------------------- 22 4.2 Le module « EVA » --------------------------------------------------------------------------------------------- 22 4.2.1 Etude du fonctionnement du Timer x (x = 1, 2) ----------------------------------------------------------- 23 4.2.2 Etude du fonctionnement des unités de comparaison (1, 2 et 3) ------------------------------------ 28 4.2.3 Etude du fonctionnement des unités de capture (1, 2 et 3) : ----------------------------------------- 29 CONCLUSION : --------------------------------------------------------------------------------------------------------- 32 CHAPITRE 3 : ACQUISITION DES COURANTS -------------------------------------------------------------------------- 34 1. INTRODUCTION :------------------------------------------------------------------------------------------------------- 34 vii 2. ETUDE DE LA CARTE D’ACQUISITION ET REALISATION : -------------------------------------------------------------- 34 3. REALISATION ET MONTAGE : ------------------------------------------------------------------------------------------ 38 4. CONCLUSION : --------------------------------------------------------------------------------------------------------- 42 CHAPITRE 4 : IMPLEMENTATION SUR LE DSP ET RESULTATS EXPERIMENTAUX ----------------------------- 44 1. INTRODUCTION :------------------------------------------------------------------------------------------------------- 44 2. IMPLEMENTATION DE LA COMMANDE MLI VECTORIELLE SUR LE DSP : -------------------------------------------- 44 2.1 Le principe de l’algorithme de commande : ------------------------------------------------------------ 44 2.2 Configuration des registres du DSP : --------------------------------------------------------------------- 46 3. CONFIGURATION DES REGISTRES DE L’ADC : ------------------------------------------------------------------------- 53 4. RESULTATS EXPERIMENTAUX : ----------------------------------------------------------------------------------------- 66 5. CONCLUSION : --------------------------------------------------------------------------------------------------------- 69 CONCLUSION ET PERSPECTIVES : ----------------------------------------------------------------------------------------- 70 BIBLIOGRAPHIE ---------------------------------------------------------------------------------------------------------------- 72 ANNEXES ------------------------------------------------------------------------------------------------------------------------ 74 viii Liste des figures FIGURE 1. 1: ASSOCIATION MACHINE ONDULEUR ................................................................................................. 6 FIGURE 1. 2: COMMUTATIONS POSSIBLES DE L'ONDULEUR ..................................................................................... 8 FIGURE 1. 3: VREF DANS SON DOMAINE DE TENSION .......................................................................................... 12 FIGURE 1. 4: TENSIONS DANS LE PLAN Α-Β DANS LE PREMIER SECTEUR ................................................................... 13 FIGURE 1. 5: APPLICATION DU TEMPS DE COMMUTATION .................................................................................... 15 FIGURE 1. 6: ORGANIGRAMME - SELECTION DU SECTEUR..................................................................................... 16 FIGURE 2. 1: LE PROCESSUS DE DEVELOPPEMENT D’UN PROGRAMME SUR DSP ...................................................... 19 FIGURE 2. 2: SCHEMA SYNOPTIQUE DE LA CARTE « EZDSP TMF2812 » ................................................................. 20 FIGURE 2. 3: LES CONNECTEURS SUR LE DSP..................................................................................................... 21 FIGURE 2. 4: LE MODULE EZDSP TMS320 F2812 ............................................................................................ 21 FIGURE 2. 5: ARCHITECTURE GENERALE DU DSP TMS320F2812 ........................................................................ 22 FIGURE 2. 6: SCHEMA SYNOPTIQUE DU MODULE EVA ........................................................................................ 23 FIGURE 2. 7: SCHEMA SYNOPTIQUE DU TRIMER 1 .............................................................................................. 24 FIGURE 2. 8: PRINCIPE DE FONCTIONNEMENT DU TIMER X(X=1,2) POUR LE MODE DE COMPTAGE « CONTINUOUS-UP » ... 25 FIGURE 2. 9: PRINCIPE DE FONCTIONNEMENT DU TIMER X(X=1,2) POUR LE MODE DE COMPTAGE « CONTUOUS-UP DOWN » ...................................................................................................................................................... 26 FIGURE 2. 10: SCHEMA SYNOPTIQUE D'UNE UNITE DE COMPARAISON DU MODULE EVA ............................................ 29 FIGURE 2. 11: SCHEMA SYNOPTIQUE D'UNE UNITE CAPTURE DU MODULE EVA ....................................................... 30 FIGURE 3. 1: LA CHAINE D’ACQUISITION CLASSIQUE .................................................................................... 34 FIGURE 3. 2: SCHEMA DE LA CHAINE D’ACQUISITION DES COURANTS ...................................................................... 35 FIGURE 3. 3: STRUCTURE FONCTIONNELLE D’UN CAPTEUR ................................................................................... 35 FIGURE 3. 4: CAPTEUR LEM LTS 25-NP ......................................................................................................... 36 FIGURE 3. 5: BRANCHEMENT DU SONDE DE CAPTEUR .......................................................................................... 36 FIGURE 3. 6: PRINCIPE DE FONCTIONNEMENT DU CAPTEUR COURANT .................................................................... 37 FIGURE 3. 7: MONTAGE FOURNISSANT 3 VALEURS DES TENSIONS .......................................................................... 39 FIGURE 3. 8: MONTAGE PERMETTANT D'OBTENIR UNE IMAGE DU COURANT DE LA CHARGE......................................... 39 FIGURE 3. 9: MONTAGE PERMETTANT LA DETECTION DU SIGNE ............................................................................. 40 FIGURE 3. 10: SCHEMA DE LA CARTE D'ACQUISITION .......................................................................................... 41 FIGURE 4. 1: TENSION DANS LE REPERE Α,Β ...................................................................................................... 45 FIGURE 4. 2: ORGANIGRAMME GLOBALE DU PROGRAMME A IMPLEMENTER SUR LE DSP ........................................... 46 ix FIGURE 4. 3: CONFIGURATION DU REGISTRE GPTCONA ..................................................................................... 47 FIGURE 4. 4: GENERATION DES SIGNAUX DE COMMANDE..................................................................................... 49 FIGURE 4. 5: SCHEMA DE L’ONDULEUR ............................................................................................................ 50 FIGURE 4. 6: PROCEDURE DE CHARGEMENT DES REGISTRES DE COMPARAISON ......................................................... 50 FIGURE 4. 7: LE PRINCIPE DU TEMPS MORT ....................................................................................................... 51 FIGURE 4. 8: LE REGISTRE DBTCONA ............................................................................................................. 51 FIGURE 4. 9: ORGANIGRAMME DE LA PROCEDURE DE DETERMINATION DE SECTEUR OU SE SITUE LE VECTEUR TENSION ..... 52 FIGURE 4. 10 : LE KIT DSP ........................................................................................................................ 53 FIGURE 4. 11: FONCTIONNEMENT EN MODE 1 SEQUENCEUR (CASCADED MODE) ................................................ 54 FIGURE 4. 12: FONCTIONNEMENT EN MODE 2 SEQUENCEUR (DUAL-SEQUENCER MODE) .................................... 55 FIGURE 4. 13: FREQUENCE DU CONVERTISSEUR ................................................................................................. 56 FIGURE 4. 14: LES DIFFERENTS REGISTRES ASSOCIES AU CONVERTISSEUR ADC ......................................................... 58 FIGURE 4. 15: CONFIGURATION DE ADC CONTROL REGISTER UPPER BYTE .............................................................. 59 FIGURE 4. 16: CONFIGURATION DE ADC CONTROL REGISTER 1 LOWER BYTE ........................................................... 59 FIGURE 4. 17: CONFIGURATION DE ADC CONTROL REGISTER 2 UPPER BYTE ........................................................... 60 FIGURE 4. 18: CONFIGURATION DE ADC CONTROL REGISTER 2 LOWER BYTE ........................................................... 61 FIGURE 4. 19: CONFIGURATION DE ADC CONTROL REGISTER 3 ............................................................................. 62 FIGURE 4. 20: CONFIGURATION DE ADC REGISTRE MAXCONV ........................................................................... 63 FIGURE 4. 21: CONFIGURATION DE REGISTRE ADC INPUT CHANNEL SELECT SEQUENCING ........................................... 63 FIGURE 4. 22: CONFIGURATION DE REGISTRE ADC CONVERSION RESULT ................................................................. 64 FIGURE 4. 23: TENSION ENTRE PHASES ............................................................................................................ 66 FIGURE 4. 24: COURANT DE SORTIE DE L'ONDULEUR .......................................................................................... 66 FIGURE 4. 25: VALEUR DE TENSION SIMPLE(VAN)_EN JAUNE ............................................................................... 67 FIGURE 4. 26: ZOOM DE LA FIGURE PRECEDENTE ............................................................................................... 67 FIGURE 4. 27: COURANTS DES SORTIES DE L'ONDULEUR DANS LA PHASE 1 ET LA PHASE 2 ........................................... 68 FIGURE 4. 28: COURANTS DES SORTIES DE L'ONDULEUR DANS LA PHASE 1 ET LA PHASE 3 ........................................... 68 FIGURE 4. 29: TEMPS MORT POUR DEUX SIGNAUX DE COMMANDE DE DEUX INTERRUPTEURS APPARTENANT AU MEME BRAS DE L'ONDULEUR ................................................................................................................................. 69 x Liste des figures TABLEAU 1. 1: LES TENSIONS POUR UN MONTAGE EN ETOILE .................................................................................. 9 TABLEAU 1. 2: VECTEURS TENSIONS, LEURS MODULES, LEURS ARGUMENTS ET LES ETATS DES INTERRUPTEURS ................ 11 xi Introduction générale L e développement et le progrès des technologies de l’électronique a permis une grande amélioration des systèmes électriques, et ça en autorisant deux types de progrès. En premier lieu les progrès de l’électronique de puissance ont permis l’augmentation des puissances et des fréquences des convertisseurs statiques. En second lieu, les progrès de la microélectronique ont fait croitre d’une façon massive ‘ l’intelligence’ des comportements des grands systèmes industriels et ça en autorisant l’utilisation de toute sorte d’algorithmes qui visent l’amélioration du pilotage des systèmes par l’homme, et l’obtention de meilleurs performances technique, tel que le rendement, le facteur de puissance, aussi une meilleure performance dynamiques tel que la rapidité, et la stabilité. Le progrès de la microélectronique permettra aussi d’implémenter des algorithmes de commande complexes tout en utilisant des plateformes embarquées. Dans ce contexte, on se propose d’utiliser le processeur de traitement de signal TMS320F2812 de Texas Instruments pour implémenter numériquement une MLI vectorielle permettant le pilotage d’un onduleur de tension triphasé. On se propose aussi de réaliser un système d’acquisition des courants dans le récepteur et ceci en réalisant d’une part une carte d’acquisition et en développant d’autre part un algorithme sur le DSP. Le présent rapport sera organisé en 4 chapitres : Dans le chapitre 1, on détaillera la structure de l’onduleur triphasé, son principe de fonctionnement, et la description de la M.L.I vectorielle. Dans le chapitre 2, on fera une introduction du DSP et de son fonctionnement, suivi d’une description détaillé du DSP famille TMS320F2812 de Texas Instrument et son architecture interne. 1 Dans le chapitre 3, on fera une étude des capteurs des courants, puis on a éclaircira la démarche de la réalisation de la carte électronique d’acquisition et son fonctionnement. Enfin, on expliquera la méthodologie de configuration des principaux registres du TMS320F2812 assurant l’implémentation de la MLI vectorielle, ainsi les différents registres du module ADC pour acquérir les courants. On présentera aussi quelques résultats expérimentaux. 2 Chapitre 1 : Etude de la M.L.I vectorielle 3 Chapitre 1 : Etude de la M.L.I vectorielle 1. Introduction : L a commande des machines alternatives par un onduleur de tension fait généralement appel à des techniques de modulations de largeur d’impulsion pour commander les commutateurs de puissance. Cette commande en commutation des transistors de puissance minimise les pertes du convertisseur, mais elle altère de façon importante les tensions appliquées au moteur électrique. Les techniques de largeur d’impulsion sont multiples, le choix d’une d’entre elles dépend du type de commande que l’on applique à la machine, de la fréquence de la modulation de l’onduleur et des contraintes harmoniques fixées par l’utilisateur. La modulation peut être faite par diverses approches, classiquement par comparaison des références à une fonction triangulaire ou à l’aide d’un calcul en temps réel satisfaisant un critère. Notre propos n’étant pas ici de décrire les nombreuses techniques de modulation existantes mais de mettre l’accent sur la modulation vectorielle. 2. Transformation de Concordia : Dans le cas d’un système composé de trois grandeurs triphasés dans un repère triphasé a,b,c (dans notre cas il s’agit des trois tensions 𝑉𝐴 , 𝑉𝐵 et 𝑉𝐶 ), on a tant de transformations pour correspondre au système triphasés ,deux grandeurs diphasées dans le plan α-β (Vα,Vβ) et une grandeur homopolaire . 4 Une des plus célèbre transformation est la transformée de Concordia, définie par une matrice 𝐶3.3 ,et dont le passage des composants triphasées (𝑉𝐴 , 𝑉𝐵 et 𝑉𝐶 ) aux coordonnées dans le repère α-β et à la composante homopolaire est défini par l’équation suivante : Vαβ=K. 𝐶3.3. 𝑉𝐴𝐴𝐴 1 Avec 1 √2 √2 ⎛ 𝐶3.3=⎜ 1 ⎝ 1 − 1 2 √3 0 2 √2 − − ⎞ 2 , K =� 2 ⎟ 3 1 √3 2 (1.1) ⎠ Cette transformation dépend d’un coefficient de normalisation K, dont ses valeurs usuelles sont : 2 K=3 , dans le cas où on veut conserver la norme de la tension V, des courants et des flux dans le cas d’un moteur. K=�23 , dans le cas où on souhaite conserver la norme de la puissance dans cette transformation. La matrice 𝐶3.3 , peut être décomposée en deux sous matrices C13 et C23 1 Tel que 𝐶1.3=�√2 1 √2 1 � et 𝐶2.3=� √2 0 1 − 1 2 √3 2 − − 1 2 � √3 2 (1.2) Dans le cas où la machine à courant alternatif est à point neutre non relié, tous les composantes homopolaires s’annulent et par suite les relations précédentes deviennent comme suit : 𝑉𝑉𝑉 = 𝐾. 𝐶2.3 . 𝑉𝐴𝐴𝐴 (1.3) 5 1 2 𝑉𝑉 � �=� � 𝑉𝛽 3 0 1 − 2 √3 2 − − 1 2 �.�𝑉𝐵 � √3 2 𝑉𝐴 (1.4) 𝑉𝐶 3. Modé lisation de l’onduleur : L’onduleur triphasé est un convertisseur statique qui transforme l’énergie électrique à partir d’une source de tension continue en une énergie électrique alternative, il est très utilisé dans l’industrie, comme les variateurs de vitesse pour les moteurs asynchrones triphasés. L’onduleur triphasé possède trois bras (trois demi pont) identiques. Figure 1. 1: Association machine onduleur En entrée on a une source continue de tension, et le récepteur est un moteur triphasé connecté en étoile ou en triangle sans neutre. Les interrupteurs Ki,K’i(pour i =1,2,3) , sont bidirectionnels en courant et unidirectionnels en tension, en plus on peut les commander à la fermeture et à l’ouverture , grâce au technique de modulation de largeur d’impulsion. 6 Dans le cas idéal, qu’on le suppose pour faciliter la tâche, les commutations des semiconducteurs étant instantanée, et on peut associer à chaque bras de l’onduleur une fonction logique définie comme suit : Si=� 1 𝑠𝑠 𝐾𝐾 𝑒𝑒𝑒 𝑓𝑓𝑓𝑚é , 𝐾 ′ 𝑖 𝑒𝑒𝑒 𝑜𝑜𝑜𝑜𝑜𝑜 0 𝑠𝑠 𝐾𝐾 𝑒𝑒𝑒 𝑜𝑜𝑜𝑜𝑜𝑜 , 𝐾 ′ 𝑖 𝑒𝑒𝑒𝑒𝑒𝑒𝑒é Et par suite si : Ki =1 , l’interrupteur haut du bras i est fermé , d’où le potentiel au niveau du bras 𝐸0 vaut , 2 si non si K’i=1 , l’interrupteur bas du bras i est fermé, donc la tension au niveau du −𝐸0 bras est égal à 2 En tenant compte de la symétrie du moteur, on peut déterminer à chaque instant les potentiels VAO,VBO et VCO . On a les relations suivantes : VAN + VBN + VCN =0 VAN + VBA + VAN + VCA + VAN =0 3. VAN + VBO + VOA + VCO + VOA = 0 3. VAN + 2. VOA + VCO + VBN =0 VAN = VBN = VCN = - 2 VAO - 3 1 3 1 3 VAO + VAO - 1 VBO - 1 2 VBO 1 3 3 1 3 - VBO + VCO 3 2 3 3 VCO (1.5) VCO Et par suite les tensions simples, s’exprime comme suit : 𝑉AN 1 �𝑉BN�= . 𝑉CN 3 2 −1 −1 −1 −1 2 �−1 2 𝑉AO −1�. � 𝑉𝐵𝐵� 𝑉CO (1.6) 7 Dans notre cas l’onduleur comporte six cellules de commutation donnant huit configurations de commutations possibles, comme le montre le schéma suivant : Figure 1. 2: Commutations possibles de l'onduleur On peut introduire des tensions Vα et Vβ dans le plans diphasé, par la relation matricielle suivante : 1 − Vα 2 � �= �3.� Vβ 0 1 2 √3 2 − − 1 𝑉AN 2 � � 𝑉BN � √3 2 𝑉CN (1.7) 8 Le tableau ci-dessous défini les différentes tensions (simples et dans le plan α-β ), selon les différentes commutations : Tableau 1. 1: Les tensions pour un montage en étoile Il ne nous reste que déterminer les fonctions logiques qui correspondent aux signaux de commande des interrupteurs, et ça dépend de la stratégie 4. Principe de la M.L.I vectorielle : L’usage des technologies numériques nous a permet le recours à des stratégies de modulation triphasée spécifiques, non déduites des techniques analogiques qui sont déjà conçues en monophasé. On est donc dans le contexte d’une commande échantillonnée, et nous avons à tout instant discret de calcul k, trois tensions 𝑉𝐴 (k), 𝑉𝐵 (k), 𝑉𝐶 (k) qui doivent, à l’intermédiaire des éléments non linéaire de l’onduleur, s’appliquer au moteur. La modulation vectorielle (ou space Vector) , est utilisée pour le traitement des signaux directement dans le plan diphasé, son objectif est de générer des tension aussi proche que possible d’une référence 𝑉𝑟é𝑓 que l’on fixe au paravent.Si ces références sont sinusoïdales triphasées et équilibrées, alors le vecteur de référence va tourner à une vitesse angulaire constante , et son module va suivre une trajectoire circulaire. Pour chaque période de modulation de l’onduleur 𝑇𝑐 , les tensions triphasées fournies par l’algorithme de commande peuvent s’exprimer dans un repère fixe au stator, par l’intermédiaire de leurs projections 𝑉α (k) et 𝑉β (k). 9 En plus la modulation vectorielle diffère de la modulation classique(sinus triangle) par le fait que les signaux de commande , sont établis en tenant compte de l’état des trois bras de l’onduleur simultanément, donc des huit configurations de commutations ( noté de 𝑉0 à 𝑉7) , qui peuvent être exprimés dans le plan α-β par huit vecteurs de tension , dont deux sont nuls(𝑉0 et 𝑉7), les autres sont équi- répartis tous les 60 degrés. Dans cette modulation les tensions simples dans le plan triphasé (𝑉A (k), 𝑉B (k) et 𝑉C (k), sont représentées dans le plan biphasé α-β par un seul vecteur 𝑉réf (k), qui sera projeté à tout instant sur les deux vecteurs adjacents correspondants au deux états de commutations de l’onduleur, les valeurs de ces projections vont assurer le calcul des temps de commutation désiré. 4.1 Calcul des temps de commutation : Nous allons maintenant développer le calcul des temps de commutation de la M.L.I vectorielle. D’après la transformation de Concordia , et les relation développées dans l’étude de l’onduleur ,les trois tensions simples sont remplacées par un vecteur Vréf dans le plan( α,β ), qui tourne à vitesse ω0=2. 𝜋. 𝑓0 Par la suite on aura le passage des tensions simples VAN, VBN, VCN aux tensions dans le plan biphasé comme suit : VAN = V0max. cos 𝜔 0. t � VBN = V0max. cos( 𝜔 0. t – VBN = V0max. cos( 𝜔 0. t – Avec V0max=√2 .V0 2.𝜋 3 2.𝜋 3 ) ) √3 V0max. cos 𝜔 0. t √2 � √3 Vβ = 2 V0max. sin 𝜔0. t √ Vα= (1.8) et 𝜔 0 = 2. 𝜋. 𝑓 0 Et |V0| =�V α2 + Vβ2 Vβ Ɵ0 = 𝜔0. t =tan−1 V α 10 Selon le principe de cette M.L.I, il suffit de faire le bon choix des interrupteurs à commander à chaque instant. Pour chaque secteur il faut appliquer le vecteur tension inférieur durant un temps 𝑑1 . 𝑇c , et le vecteur tension supérieur durant un temps 𝑑2 . 𝑇c , pour qu’on puisse créer le vecteur d’espace𝑉réf. La somme des deux périodes de commutation 𝑑1 et 𝑑2 est égale ou inférieur à la période d’échantillonnage 𝑇c .Si cette somme est strictement inférieure, alors on applique l’un des vecteurs nuls (𝑉7 ou 𝑉0 ) pendant le reste du temps égale à : (1.9) 𝑑0 𝑇C = (1 − 𝑑1 − 𝑑2 ). 𝑇c . Les vecteurs tensions, leurs modules, leurs arguments et les combinaisons des interrupteurs correspondantes sont détaillés par le tableau suivante : K1 K2 K3 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 1 1 1 |𝑉𝑖 | 2 � .𝐸0 3 2 � .𝐸0 3 2 � .𝐸0 3 2 � .𝐸0 3 2 � .𝐸0 3 2 � .𝐸0 3 2 � .𝐸0 3 2 � .𝐸0 3 Arg(𝑉𝑖 ) 0 𝜋 3 2𝜋 3 V1 V2 V3 π V4 4𝜋 3 5𝜋 3 V5 V6 _ V0 _ V7 Tableau 1. 2: Vecteurs tensions, leurs modules, leurs arguments et les états des interrupteurs 11 Figure 1. 3: Vréf dans son domaine de tension Ainsi les tensions fournis au moteur seront synthétisés à chaque instant en utilisant les vecteurs fixes 𝑉i pendant les temps 𝑑1 . 𝑇C , 𝑑2 . 𝑇C Dans ce cas, on fait la synthèse du vecteur de référence désiré : 𝑉�réf=𝑉�sα+ j𝑉�sβ 𝑑1 = 2 √3 𝑑2 = . � 𝑉𝑟é𝑓 � 2 √3 | 𝑉𝑖 | . .sin( � 𝑉𝑟é𝑓 � | 𝑉𝑖 | 𝜋 3 �) −Ɵ �) .sin( Ɵ (1.10) (1.11) (1.12) � : c’est l’angle qu’il fait 𝑉𝑟é𝑓 avec le vecteur adjacent du secteur dans lequel se Ɵ situe 𝑉𝑟é𝑓 = √3. 𝑉0, Arg (𝑉𝑟é𝑓 )=ω0 .t 𝑉𝑖 = √2 √3 . 𝐸0 (1.13) (1.14) , pour i= 1….6, et 𝐸0 est la tension continu d’entrée. 12 On remarque que � 𝑉𝑟é𝑓 �=cste , et Arg(𝑉𝑟é𝑓 ) dépend de temps t . Supposons qu’on veut faire la synthèse du 𝑉𝑟é𝑓 à l’instant 𝑡𝑘 =1,5 ms avec : 𝑉0=200V, Et 𝑓0 =45Hz Ɵ0 =2.π.𝑓0 . 𝑒𝑘 =0,42 rd < 𝜋 6 donc 𝑉𝑟é𝑓 se situe dans le secteur 1. Pour faire la synthèse de 𝑉𝑟é𝑓 , on sélectionne le vecteur 𝑉1 pendant un temps relatif 𝑑1 , en suite 𝑉2 pendant un temps relatif 𝑑2 , et un vecteur nul (𝑉7 ou 𝑉0 ) pendant un temps relatif 𝑑0 = (1 − 𝑑1 − 𝑑2 ) Figure 1. 4: Tensions dans le plan α-β dans le premier secteur Les temps de commutation ont comme expression : 𝑑1 = 𝑑2 = Avec 2 . � 𝑉𝑟é𝑓 � 2 . � 𝑉𝑟é𝑓 � √3 √3 | 𝑉1 | | 𝑉1 | 𝜋 �) .sin( 3 − Ɵ �) .sin( Ɵ � ∶ 𝑒𝑒𝑒 𝑙 ′ 𝑎𝑎𝑎𝑎𝑎 𝑞𝑞𝑞 𝑓𝑓𝑓𝑓 𝑉𝑟é𝑓 avec Ɵ 𝑉1 . 13 Pour raison de simplification des calculs (réduction de plage des valeurs qui seront chargées dans les registres lors de programmation), on va introduire un coefficient de réglage r, definit par : r= 𝑽𝟏𝒎𝒂𝒙 𝑬 𝟐 La valeur de tension de sortie, sera proportionnelle à ce coefficient, et les temps de commutations auront comme expressions en fonction de r : 𝑑1 = 𝑑1 = √3 2 √3 2 𝜋 �) . 𝐫 .sin( 3 − Ɵ �) . 𝐫 .sin ( Ɵ (1.15) 4.2 Calcul des temps commutation pour chaque bras de l’onduleur: On doit définir pour chaque bras le chronogramme qui définit les temps pendant 𝐸 𝐸 lesquels le point milieu d’un bras est à un potentiel égal à 2 ou à - 2 . Pendant chaque période modulation 𝑇c de l’onduleur, il existe plusieurs stratégies pour appliquer les vecteurs qui assurent l’obtention de la tension désirée. Dans le but de diminuer les harmoniques, il est souhaitable de générer des signaux de commandes centrées sur la période de modulation de l’onduleur. Pendant chaque période de modulation, l’onduleur aura trois états distincts, les deux premiers correspondent aux temps de conduction qui assurent l’obtention de la tension, et dont leurs somme doit être strictement inférieur à 𝑇c . Le complément à la période de modulation 𝑇c , sera assuré par l’une des commutations nulles 𝑉0 ou 𝑉7. L’application des différents vecteurs en fonction des secteurs sont donnés par la figure 1.5 ci-dessous : 14 Figure 1. 5: Application du temps de commutation 4.3 Algorithme de programmation d’une MLI vectorielle : Plusieurs stratégies sont possibles pour la programmation d’une MLI , ici , on va utiliser la composante du vecteur Vs dans le repère α,β. 15 Dans ce plan la sélection du secteur correspond à l’organigramme suivant : Figure 1. 6: Organigramme - sélection du secteur 5. Conclusion : Dans ce chapitre on a fait une étude générale sur la modulation vectorielle pour commander un onduleur triphasé, on a eu recours, lors de cette étude, à la transformation de Concordia, on a détaillé le principe de fonctionnement de ce type de commande. Ainsi et afin d’implanter cette loi de commande sur un processeur numérique on présentera dans le second chapitre les caractéristiques de ce processeur et son mode de programmation. La réalisation pratique et l’implémentation de cette commande sera développée dans le chapitre 4. 16 Chapitre 2 : Le DSP TMS320F2812 17 Chapitre 2 : Le DSP TMS320F2812 1. Introduction : L a plus part des DSP , comme le TMS320F2812,sont particulièrement destinés à des applications temps réel , dans lesquelles le temps de traitements est primordial , en plus ils se caractérisent par une architecture optimisé pour le traitement d’une grande quantité de donnée en parallèle à chaque cycle d’horloge , ce qui rend les applications à base de DSP se caractérisent par une grande souplesse . Le TMS320F2812 a été choisi pour notre projet car il obéit exactement à nos besoins en termes de temps et fiabilité. 2. Le processus de dé veloppement d’un programme sur DSP : Le processus de développement sur DSP, peut être résumé par l’organigramme de la figure 2.1 ci-dessous : Partie matérielle : Elle inclut la mise en œuvre du DSP, et la chaine d’acquisition des signaux à traiter. Parie logicielle : c’est elle surtout qui nous intéresse, elle s’appuie sur des moyens classiques qui s’adaptent aux spécificités du DSP. 18 Le rôle du DSP ne se limite pas juste au traitement numérique des signaux, mais il assure aussi les fonctions réalisées par un microprocesseur, et peut avoir donc le rôle du cœur d’un système informatique. Figure 2. 1: Le processus de développement d’un programme sur DSP 19 3. Pré sentation de la carte « eZdsp TMF2812 » de Spectrum digital La figure ci-dessous représente un schéma synoptique simplifié de cette carte. Figure 2. 2: schéma synoptique de la carte « eZdsp TMF2812 » (Extrait de la documentation de spectrum digital) Cette carte est équipée d’un DSP TMSF2812 de Texas Instruments et qui est piloté par un signal horloge externe de fréquence 30 MHZ. En plus de la mémoire interne du DSP, Une mémoire externe SRAM de capacité 64 K x 16 bits a été aussi ajoutée sur la carte. L’alimentation électrique de la carte est assurée par une source DC externe de valeur 5volts. Le module est équipé de 5 connecteurs qui sont : P1 : Interface JTAG : c’est une interface standard qui est utilisée par les émulateurs JTAG pour interfacer les DSP de Texas Instruments. P2 : port d’expansion. P3 : Port parallèle pour le control de l’interface JTAG : cette interface possède un port parallèle standard qui peut supporter les communications bidirectionnelles de type ECP, EPP, et SPP8. P4, P8, P7 : Ce sont trois connecteurs qui permettent un accès direct aux pins d’entrée/sortie du DSP. 20 P5, P9: Ce sont deux connecteurs qui permettent d’accéder aux pins des entrées analogiques pour les conversions analogique-numériques. P6 : Connecteur pour l’alimentation en 5V DC de la carte. Figure 2. 3: Les connecteurs sur le DSP La carte est équipée de deux diodes électroluminescentes. La première diode DS1 indique la présence de la tension continue du 5 volts. La diode DS2 indique l’état du bit XF du DSP (la diode s’allume lorsque ce bit est à l’état logique haut). Deux points de test sont liés successivement à la masse de l’alimentation (TP1) et à la masse analogique (TP2). Figure 2. 4: Le module eZdsp TMS320 F2812 21 4. Architecture gé né rale du DSP « TMS320F2812 » de Texas Instruments 4.1 Organisation de la mémoire du DSP : Ce DSP est capable de fonctionner à une fréquence de 150 MHz, soit un temps de cycle de 6.6 ns. Son architecture générale est donnée par la figure 2.5 ci-dessous et qui montre 4 parties principales à savoir : Figure 2. 5: Architecture générale du DSP TMS320F2812 (Extrait de la documentation de TI) 4.2 Le module « EVA » Les DSP de la famille C28X sont équipés de deux modules identiques de gestion d’événements appelés respectivement EVA et EVB lui permettant de générer 16 signaux PWM et aussi de détecter les transitions de 6 signaux logiques variables dans le temps provenant des codeurs incrémentaux par exemple. 22 Dans la suite de ce paragraphe, on expliquera le principe du module EVA. Le schéma synoptique de ce module est donné par la figure ci-dessous. Figure 2. 6: Schéma synoptique du module EVA (Extrait de la documentation TI) 4.2.1 Etude du fonctionnement du Timer x (x = 1, 2) - On peut voir que ce module est constitué par les éléments suivants : Deux compteurs 16 bits appelés respectivement Timer1 et Timer2 et qui sont différents de ceux de la CPU. Avec chaque compteur on a associé une unité de comparaison permettant ainsi de générer des signaux PWM sur les sorties T1PWM/T1CMP et T2PWM/T2CMP. - Il peut générer aussi plusieurs demandes d’interruptions 3 unités de comparaison « Compare unit1 », « compare unit2 » et « compare unit3 » qui permettent de générer 3 signaux PWM indépendants PWM1, PWM3 et PWM5. Les sorties PWM2, PWM3 et PWM5 peuvent générer des signaux complémentaires par rapport aux précédents. - 3 unités de capture pouvant capter des transitions des signaux logiques. 23 Ce module peut fonctionner en mode capture pour mesurer la vitesse d’une machine en captant sur les entrées CAPx(x=1,2,3) le signal d’un codeur incrémental. Le circuit QEP permet de faire une mesure de la position. Dans ce cas les entrées QEP 1 et QEP2 servent comme signal d’horloge et pour déterminer la direction et la position, alors que l’entrée QEP3 permet de détecter le passage par l’origine. - Le module peut aussi recevoir deux signaux externes qui sont un signal d’horloge externe (TCLKINA) et la direction de comptage (TDIRA). Il peut aussi renvoyer un signal de début de conversion Les Registres associés aux Timers x (x=1,2) du module EVA sont les suivants : o o o o o GPTCONA : General Purpose Timer Control register A TxCNT: Timer x Counter register TxCMPR: Timer x Compare register buffer TxPR: Timer x period regsiter buffer TxCON: timer x Control register La configuration du mode de fonctionnement des Timers 1et 2 de EVA se fait à travers le registre GPTCONA et celui TxCON (x=1,2). La figure ci-dessous donne le schéma synoptique du Timer x (x=1,2) du EVA. Figure 2. 7: Schéma synoptique du trimer 1 24 Chaque timer est équipé d’un compteur 16 bits qui peut fonctionner en plusieurs modes différents (simple comptage avec remise à zéro à la fin du comptage, un comptage et décomptage, ….). Le signal d’horloge du compteur peut être généré soit par une horloge externe, soit par le circuit QEP, soit par une horloge interne à travers un circuit pré diviseur. La période de fonctionnement est programmée dans le registre TxPR. Le registre TxCMPR peut aussi être programmé pour générer un signal PWM sur la sortie TxPWM/TxCMP. Les Figures 2.8 et 2.9 expliquent le fonctionnement pour les modes de comptage« coutinuous-up » et « countinuous-up/down » pour le cas de la configuration suivante : Horloge interne avec prescalar =1, TxPR=5, TxCMPR est initialement chargé à 2. Une nouvelle valeur 4 sera ensuite chargée, une troisième valeur sera chargée à 2. La sortie TxPWM/TxCMPR est active à l’état haut. Figure 2. 8: Principe de fonctionnement du timer x(x=1,2) pour le mode de comptage « continuous-up » 25 Figure 2. 9: Principe de fonctionnement du timer x(x=1,2) pour le mode de comptage « contuous-up down » Plusieurs différences peuvent apparaître entre ces deux modes tels que : - Le chargement de la nouvelle valeur de TxCMPR se fait quand le compteur atteint la valeur finale du nombre à compter (Counter underflow) pour le mode « continuous-up », alors que pour l’autre mode ce chargement peut se faire aussi à la fin de la période de comptage. - La période du signal de sortie est TxPR+1 pour le mode « continuous-up ». Elle est égale à 2(TxPR) pour l’autre mode. - Les signaux PWM sont asymétriques par rapports au milieu de la période pour le mode « continuous-up ». Pour le mode « continuous-up down », il est possible de générer des signaux symétriques. Le calcul de la valeur à charger dans le registre TxPR pour le mode de fonctionnement « continuous-up » par exemple se fait en appliquant la formule suivante : (2.1) 26 Avec : Fdesirée est la fréquence de fonctionnement du compteur du Timer x. Si on génère un signal PWM elle sera donc la fréquence du signal de sortie. F oscillateur externe : C’est la fréquence du signal d’horloge généré par l’oscillateur externe qui est de 30 MHZ. PLL : C’est un facteur avec lequel on multiplie la fréquence de l’oscillateur externe afin d’augmenter la fréquence de la CPU. Il est désigné par PLL car on utilise un circuit PLL pour obtenir un multiplicateur de fréquence. HSPLK : diviseur de la fréquence du signal d’horloge généré par la PLL (High speed clock prescalar) Timer TPS : un deuxième diviseur de fréquence placé en amont du Timer x (Timer clock prescalar factor) et qui varie de 1 à 128. Pour comprendre la formule 1.4, on considère le cas suivant : Oscillateur externe : 30 MHz Facteur de multiplication de la PLL : 10/2 HSPLK : 2 Timer TPS : 1 F desirée : 50 KHz La valeur à charger dans le registre TxPR sera calculée dans la base décimale comme suit : TxPR = 1 50 10 3 30 10 6 * 2* 1 10 2 = 1500 (2.2) 27 Le calcul de la valeur à charger dans le registre TxCMPR dépend du rapport cyclique d du signal PWM qu’on désire générer et aussi de la valeur chargée dans le registre TxPR tels que : TxCMPR = d TxPR; 0 < d < 1 (2.3) Notons aussi que chaque timer est capable de générer 4 types d’interruptions aux moments suivants : o o o o Compteur égal à zéro, La valeur du compteur est égale à celle du registre de période, La valeur du compteur est égale à celle du registre de comparaison Et débordement du Compteur (0XFFFF) 4.2.2 Etude du fonctionnement des unités de comparaison (1, 2 et 3) Chaque module EVA ou EVB est constitué de 3 unités de comparaison permettant de générer 6 signaux PWM. Chaque groupe de 2 signaux est indépendant des autres signaux. Les registres associés aux unités de comparaison sont : COMCONA : Compare Control register A EXTCONA : Extension Control register ACTRA : Compare Action Control register DBTCONA : Dead-Band Timer Control regsiter CMPR1: Compare Register 1 CMPR2: Compare Register 2 CMPR3: Compare Register 3 La figure ci-dessous donne le schéma synoptique d’une unité de comparaison du module EVA. 28 Figure 2. 10: Schéma synoptique d'une unité de comparaison du module EVA A chaque période de fonctionnement la valeur du registre du compteur du timer 1 est comparée avec celle programmée dans le registre CMPRx (x=1,2,3). A l’égalité des deux valeurs, les Sorties PWMy, PWMy+1 changent d’état et ceci selon le mode de fonctionnement configuré dans le registre ACTRA. Ce registre permet de définir la forme du signal des sorties PWMy et PWMy+1 dans l’un des 4 états suivants : - Sortie forcée à l’état haut quel que soit l’état de la comparaison Sortie forcée à l’état bas quel que soit l’état de la comparaison Sortie active à l’état haut Sortie active à l’état bas Le registre COMCONA permet de valider ou bloquer les sorties PWM. Aussi il permet de valider le mode MLI vectorielle. Un temps mort entre la montée du signal et la descente de son complément peut être programmé dans le registre DBTCONA. 4.2.3 Etude du fonctionnement des unités de capture (1, 2 et 3) : Chaque module EVA ou EVB est constitué de 3 unités de capture permettant de détecter les fronts des signaux à leurs entrées. 29 Les Registres associés aux unités de comparaison Pour le cas du module EVA sont : CAPCONA : Registre de contrôle des unités de capture de EVA CAPFIFOA : Registre d’état des unités de capture de EVA CAP1FIFO : Pile 1 à deux niveaus CAP2FIFO : Pile 2 à deux niveaux CAP3FIFO: Pile 3 à deux niveaux CAP1FBOT : Registre bas de CAPFIFO1 CAP2FBOT : Registre bas de CAPFIFO2 CAP3FBOT: Registre bas de CAPFIFO3 La figure 2.11 ci-dessous donne le schéma synoptique d’une unité de comparaison du module EVA. Figure 2. 11: Schéma synoptique d'une unité capture du module EVA Pour chaque unité de capture la base du temps peut être celle du timer 1 ou bien du timer 2 sauf que les unités CAP1 et CAP2 doivent toujours avoir la même base du temps. 30 Chacune des 3 unités d’EVA possède une pile à deux niveaux de type FIFO. Le niveau haut de la pile est formé par le registre CAPxFIFO (x=1, 2, 3) alors que le niveau bas est formé par le registre CAPxFBOT (x=1, 2, 3). Partons de l’état initial et pour une première capture (quand une transition est détectée sur l’entrée correspondante) la valeur du registre compteur (T1CNT ou T2CNT) sera écrite dans le registre haut CAPxFIFO dans le cas où la pile est vide. En même temps, les bits correspondants dans le registre CAPFIFOA sont mis à l’état 01. Ces bits seront remis à l’état 00 dans le cas où on accède à la lecture de la pile. Supposons maintenant que cette unité de capture capte une deuxième transition avant la lecture du contenu de la pile, la nouvelle valeur du compteur sera stockée dans le registre bas de la pile, en même temps l’état des bits du registre CAPFIFOA devient 10. Si maintenant le contenu de la pile est consulté avant qu’une autre capture est faite, la valeur stockée dans le registre haut sera écrasée, la valeur stockée dans le registre bas sera déplacée vers le haut et les bits du registre CAPFIFOA prennent l’état 01. Notons aussi qu’une interruption du périphérique sera demandée si elle n’est pas masquée. Supposons maintenant qu’une troisième capture arrive avant la lecture des deux valeurs précédentes. Dans ce cas, l’ancienne valeur contenue dans le registre haut de la pile sera écrasée, la valeur stockée dans le registre bas sera poussée dans le registre haut et la nouvelle troisième valeur est stockée dans le registre bas. Dans ce cas les bits correspondants du registre CAPFIFOA sont mis à l’état 11 pour indiquer qu’une ou plusieurs valeurs anciennes de la pile ont été écrasées. Aussi, dans ce cas, une interruption de périphérique sera demandée si elle n’a pas été masquée. 31 5. Conclusion : Dans ce chapitre on a décrit le DSP TMS320F2812, on a détaillé son architecture interne, ces caractéristiques pour mieux comprendre son fonctionnement global. Aussi on a présenté la carte eZdsp qui est équipée des plusieurs modules complémentaires comme l’ADC qui sera présenté de dans le chapitre 4. Ainsi, dans le chapitre 3 on va faire l’étude de la carte d’acquisition des courants qui va recueillir les informations nécessaires à la connaissance de l’état de notre moteur asynchrone. 32 Chapitre 3 : Acquisition des courants 33 Chapitre 3 : Acquisition des courants 1. Introduction : A ujourd’hui, la chaîne d’acquisition et les capteurs sont au cœur de plusieurs de systèmes industriels. En effet, la chaine d’acquisition a pour rôle de recueillir les informations nécessaires à la connaissance de l’état du système, ainsi de délivrer ces informations sous une forme appropriée pour les exploiter. Dans notre cas, la carte d’acquisition va nous aider à étudier les variations des courants au sein du moteur par la suite avoir une idée claire sur le fonctionnement du moteur. En outre, la chaîne d’acquisition permettra de transformer une grandeur à mesurer en un signal électrique exploitable par le DSP. 2. Etude de la carte d’acquisition et ré alisation : La chaîne de mesure est l’ensemble des éléments nécessaires pour connaître la valeur ou l’évolution de paramètres d’un système physique qui seront dans notre cas, les courants au sein du moteur. La chaîne d’acquisition classique comporte 4 composants : Figure 3. 1: La chaîne d’acquisition classique 34 En outre la chaine d’acquisition des courants sur le moteur est comme suit : Capteur LTS NP-25 à effet hall : Courants moteur Image du courant en tension Vers CAN DSP Figure 3. 2: Schéma de la chaîne d’acquisition des courants Les capteurs sont des dispositifs qui transforment une grandeur physique observée en une grandeur utilisable, la plus part de temps, une tension électrique. Notre propos étant de mesurer les courants qui circulent dans les enroulements du moteur triphasé. La solution la plus adéquate pour réaliser cette mesure est d’utiliser un capteur à effet Hall qui détermine la mesure du champ magnétique créer par le courant. Figure 3. 3: Structure fonctionnelle d’un capteur Le capteur LEM LTS 25-NP : On a choisi d’utiliser le LTS25-NP pour la mesure des courants, il est appelé aussi sonde de courant, car il n’a pour rôle que la mesure des courants. 35 Figure 3. 4: Capteur LEM LTS 25-NP Ce capteur comme toute la série LTS, est basé sur le principe du boucle fermé, appelé aussi à flux nul, ce principe permet des mesures isolée de courant et tension. Aussi cette sonde intègre un circuit de compensation, qui améliore d’une façon notable sa performance. Il existe trois branchements possibles sur cette sonde : différentiel, parallèle et série. Figure 3. 5: branchement du sonde de capteur 36 Avantage du LTS25-NP : La conception du ce capteur est compacte, qui facilite le montage sur la carte électronique Plage de mesure est étendue Une très bonne linéarité Une excellente précision Une bande passante élevée Une bonne immunité face aux perturbations extérieures. Le principe du fonctionnement du LTS25-NP : Le capteur LTS25-NP repose essentiellement sur le principe de compensation de champs (ou à flux nul) magnétique produit par les fils qui alimentent la machine en boucle fermée. D’après le schéma ci-dessous, on introduit les fils dans lesquelles, circule le courant qu’on veut mesurer, au centre du tore , qui a la forme d’un cercle ouvert , séparé par une plaquette, qui est exposée à un champs électrique . Figure 3. 6: Principe de fonctionnement du capteur courant 37 Le champs magnétique B produit par le fil électrique qu’on l’étudie est perpendiculaire au champs électrique issu de la plaquette, d’où la naissance d’un courant i par effet Hall. Ce courant est proportionnel d’une façon directe au courant primaire dans le fil. Ce type de capteur n’est pas parfait, car il fournit une tension de sortie qui se retrouve bruité en entrée du CAN du DSP , donc il est indispensable de filtrer ce bruit. Pour filtrer le bruit en sortie des capteurs, il serait intéressant d’enlever tous les signaux hautes fréquences superposées à la tension acquise 3. Ré alisation et montage : La carte d’acquisition comprend 3 parties permettant d’obtenir une image du courant et aussi détecter son signe : La première partie de la carte est donnée par la figure 3.7 permet de fournir 3 tensions continues : Une tension de 3V pour polariser l’AOP. Une tension 1,7V sera utilisée comme un seuil Une tension de 2,5V pour détecter le signe du courant. Le montage de la figure 3.8 permet d’obtenir une image de la charge. La tension à l’entrée du convertisseur ADC aura pour expression : 𝑉𝐴𝐴𝐴 = 1,55(𝑉𝑂𝑂𝑂 𝐶𝐶𝐶𝐶𝐶𝐶𝐶 – 1 ,75) (3.1) Le montage de la figure 3.9, permet de détecter le signe du courant en comparant la tension de sortie du capteur avec le potentiel 2,5V Avec : 𝑉𝐴𝐴𝐶 : Tension à l’entrée de l’ADC 𝑉𝑂𝑂𝑂 𝐶𝐶𝐶𝑂𝐶𝑂𝑟 : c’est la tension délivrée par le capteur 1 ,75 : Seuil à enlever de 𝑉𝑂𝑂𝑂 𝐶𝐶𝐶𝑂𝐶𝑂𝑟 , car pour I=0, on a 𝑉𝑂𝑂𝑂 = 2,5V, donc on se rapproche de la valeur limite de l’entrée du ADC 38 Figure 3. 7: Montage Fournissant 3 valeurs des tensions 10K : potentiomètre Multi tours 𝑅2 𝑉𝐴𝐴𝐴 = 1,25(1 + 𝑅1) + 𝐼𝐴𝐴𝐴 .R2 (3.2) Figure 3. 8: Montage permettant d'obtenir une image du courant de la charge 39 𝑉𝑂𝑂𝑂 = tension délivrée par le capteur de courant. Détection de signe de courant : Figure 3. 9: Montage permettant la détection du signe Le schéma général de la carte d’acquisition est donné par la figure 3.10 ci-dessous : 40 J11 1 T1 5 8 1.75v OUT O VCC 4- +2 D11 R21 100k R22 100k C11 47uf R23 100k C12 330nf 3 2 1 + - C21 100nf VOUT 2 C22 10pf F11 FUSE/SM D22 3.2v 5V D12 D23 D1N4001 D21 zener 3.3V DIODE DIODE C13 100nf R12 1k D13 F5G1 ADC_INA C23 R15 100 R13 2 C14 10k 100nf 2.5v R14 300 R25 1k U12 LM317/TO220 6 5 3 2 1 VIN VOUT ADJ R16 240 R27 R26 7 U22B 3.2v R192 2 10k C15 C16 10uf 100nf 3.2 V 1000k + - LM358 R28 1k R191 500 2.5v D14 ZENER 2.5v C24 100nf 3 U14A 3.2v R19 10 R17 2 10k 2 54HC4050 R18 200 R29 1k U13 LM317/TO220 3 2 1 VIN VOUT ADJ R193 240 SIGN_IA 1.75v C17 10uf 41 U11 L7805/TO220 VIN U22A LM358 1 R24 100k 1k Figure 3. 10: Schéma de la carte d'acquisition R11 10 3 4 5 10pf 1 3 GN D 3 1 3 1 3 4 2 1 U21 Socket_LTS 25_NP TRANSFORMER 1 2 2 1 2 1 220v alt 2 1 J21 IA C25 100nf 5V 1 8 8 4 8 4 1 3 4. Conclusion : L’acquisition des données est une étape fondamentale dans le processus d’étude et de développement. Il permet de recueillir les informations nécessaires pour étudier et comparer les résultats théoriques avec celle pratiques. Dans ce chapitre, on a fait une étude détaillée sur la carte d’acquisition des courants. On a utilisé ORCAD comme logiciel de CAO afin de garantir une efficacité de point de vue routage et mise en place des composants électronique. Dans le chapitre 4, on verra le résultat généré pratiquement en utilisant cette carte d’acquisition ainsi en appliquant notre commande déduite avec le DSP pour commander l’onduleur. 42 Chapitre 4 : Implémentation sur le DSP et résultats expérimentaux 43 Chapitre 4 : Implémentation sur le DSP et résultats expérimentaux 1. Introduction : L e développement d’un code en langage C , le compiler , et l’implémenter sur le DSP TMS320 F2812 , étant l’objet principal de notre projet . Dans ce chapitre on détaillera, les méthodologies suivis lors de la programmation, en précisant les configurations des registres mis en jeux, et illustrant le programme par des organigrammes et des figures. 2. Implé mentation de la commande MLI vectorielle sur le DSP : Notre objectif suite à l’implémentation de cette commande numérique (MLI vectorielle) est d’avoir, en sortie de l’onduleur de tension, une tension de fréquence f0, et d’amplitude V0 variable de façon à avoir : fréquence de commutation des interrupteurs est de 2.5 KHz. Donc Tc = 1 2.5 10−3 2.1 Le principe de l’algorithme de commande : Le principe de cette commande est de construire un vecteur 𝑉𝑟é𝑓 , qui a comme module , la valeur efficace du tension de sortie désirée, et tourne à une vitesse angulaire 𝜔0 =2. π. 𝑓0 Où 𝑓0 est la fréquence de tension en sortie de l’onduleur. 44 Figure 4. 1: Tension dans le repère α,β A chaque instant, on cherche le secteur dans le quelle se situe, le vecteur espace𝑉𝑟é𝑓 , afin de pouvoir calculer les rapports cycliques et par suite commander les interrupteurs des puissances de manière à obtenir les sorties désirées. Donc nos attentes en sortie de l’onduleur triphasé, trois tensions dont les expressions sont les suivantes : 𝑉𝐴𝐴 = 𝑉0𝑚𝑚𝑚 .cos( ω0 𝑡) 2π 𝑉𝐵𝐵 = =𝑉0𝑚𝑚𝑚 .cos (ω0 𝑡- 3 ) 𝑉𝐵𝐵 = = 𝑉0𝑚𝑚𝑚 .cos (ω0 𝑡- (4.1) 4π 3 ) Avec 𝑉0𝑚𝑎𝑥 =𝑉0.√2 , et ω0 =2. π. 𝑉0 On souhaite réaliser les performances suivantes : 𝑉0=200V, Fréquence de sortie désirée = 60 Hz ω0 =376.8rd/s 45 Ainsi l’organigramme global du programme à implémenter sur le DSP TMS 320 F2812 est comme suit : Figure 4. 2: Organigramme globale du programme à implémenter sur le DSP 2.2 Configuration des registres du DSP : initialisation des variables et constantes : On entame notre programme par une déclaration et initialisation classique des constantes et des variables qui seront utilisés. Pour notre cas il s’agit de : o L’angle trigonométrique o Le pas d’incrémentation de l’angle de référence αréf 46 o Le module du vecteur d’espace Vréf o La fréquence de commutation des interrupteurs Configuration des différents registres du DSP : Le DSP TMS 320F2812 contient tant de registres, on va se limiter au ceux qui nous intéresse dans ce programme : - Configuration des registres du module EVA : GP Trimer Control Registre GPTCONA : Figure 4. 3: Configuration du registre GPTCONA C’est le registre responsable du mode de comptage des TIMER de l’EVA, on a choisi d’utiliser le mode contunious up/down pour cela, on a mis les bit 12(TMODE1), 13(TMODE0) à 01. Aussi via ce registre on peut définir un facteur de division pour l’horloge. Pour notre cas, on a intérêt de diviser l’horloge par 2, donc on va mettre les trois bit 10,9 et 8 qui sont TPS2, TPS1 et TPS0 à 001. Le registre T1PR1 : c’est le registre dans lequel on va définir notre période Tc , il autorise la lecture et l’écriture . 47 Avec laquelle est calculée la période est la suivante : On a la relation suivante : 1 𝐹𝑑é𝑠𝑠𝑠é𝑒 .𝑃𝑃𝑃 T1PR=𝐹 𝑑é𝑠𝑠𝑠é𝑒 𝐻𝐻𝐻𝐻𝐻 .𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 (4.2) Avec : Fréquence de l’oscillateur externe : 30 MHz 10 Facteur de multiplication de la PLL : 2 =5 HSPLK : 2 F désirée : 2 .5 KHz Pour avoir une fréquence de commutation de 2.5 KHz, on a chargé le 𝐹𝐹𝐹𝐹 registre T1PR par la valeur 8 = 8192 . car on doit charger la moitié du période voulu dans le registre. (mode up/down : la période désirée = 2*valeur chargée dans T1PR) Le registre T1CMPR1 ,2 et 3 : Ces registres seront utilisés pour la programmation des temps d’application des vecteurs tensions. 48 Ces registres sont utilisés pour la génération des temps de commande des interrupteurs. Le principe est le suivant : A chaque interruption, après avoir déterminé le secteur dans lequel se situe le vecteur de tension, on calcul les temps de commutation qui seront chargés dans les registre de comparaison CMPR1, CMPR2 et CMPR3. Les signaux de commande PWM, correspondants à ces registres restent égal à 1 tant que ses valeurs sont supérieurs à la valeur contenue dans le compteur du TIMER1. Cela est illustré par la figure suivante : Figure 4. 4: Génération des signaux de commande Il existe différentes stratégies d’application des vecteurs assurant l’obtention de la tension désirée. Afin de diminuer les harmoniques, il est préférable de générer des tension centrées sur la période de modulation de l’onduleur. On va faire un exemple pour expliquer la méthode avec laquelle on a générer les signaux de commande pour les interrupteurs de l’onduleur triphasé. 49 Figure 4. 5: Schéma de l’onduleur Donc, par exemple pour obtenir l’interrupteur Q1 passant pour toute la période de d’échantillonnage Tc , Q2 passant pendant une période d2+ d1, et Q3 active pendant d0 On doit charger les registres de comparaison comme suit : Mettre 𝐹𝐹𝐹𝐹 8 +1 dans CMPR1, 1 2 d0 dans CMPR2 et FFFF/8 1 2 1 d1+2 d2 dans CMPR3. 0,5.d1+0,5.d2 0,5.d0 0 0 DTPH1 Tc DTPH2 d1+d2 DTPH3 d0 Figure 4. 6: Procédure de chargement des registres de comparaison Configuration du registre DBTCONA : C’est le registre responsable de la définition du temps mort entre la commutation des deux interrupteurs appartenant au même bras de l’onduleur. 50 Figure 4. 7: Le principe du temps mort Le temps mort peut être calculé par la formule suivante : Dead_time=2*DB_period*DB_prescalar*CPU_CLK_Period (4.3) Pour activer le dead time des trois sorties PWM1,2 ;PWM3,4 ;PWM5,6 on doit mettre les bits EDBT1,2,3 de DBTCONA à 1(les bits 5,6,7) Notre fréquence du CPU est égale à 150 MHz, d’où CPU_CLK_Period= 𝟏 𝟏𝟏𝟏 .𝟏𝟏𝟔 = 6.66 ns (4.4) Figure 4. 8: Le registre DBTCONA Avec : DBT3-DBT0 : la période du TIMER de temps mort = 1100, soit donc DB_Period=12. DBTPS2-DBTPS0 : définition de la valeur du pré diviseur du TIMER de temps mort =100 : fréquence du CPU/16 , soit donc DB_Prescalar= 16. 51 Enfin , on obtient le temps mort: Dead_Time=2 ∗ 12 ∗ 16 ∗ 6,66 ns = 2,5µs Procédure de détermination de secteur où se situe le vecteur de tension, et l’incrémentation de l’angle de référence : Figure 4. 9: Organigramme de la procédure de détermination de secteur ou se situe le vecteur tension 52 3. Configuration des registres de l’ADC : L’un des périphériques le plus importants dans un système embarqué est l’ADC, il constitue une interface entre le système embarqué et le monde réel. En effet, Un convertisseur analogique-numérique, CAN, ou en anglais ADC (Analog to Digital Converter), est un montage électronique dont la fonction est de générer à partir d'une valeur analogique, une valeur numérique (codée sur plusieurs bits), proportionnelle à la valeur analogique entrée. Figure 4. 10 : Le Kit DSP Le kit que nous avons, pour faire notre test, est muni d’un ADC de Fréquence maximale de 25MHZ Caractéristiques générales du convertisseur : Le TMS320F2812 est équipé d’un seul module ADC ayant les caractéristiques suivantes : Une résolution de 12 bits 16 entrées analogiques branchées sur 2 multiplexeurs. Chaque 8 canaux sont connectés à un multiplexeur. Le niveau de la tension analogique varie de 0 à 3 volts. Chaque multiplexeur est branché sur un bloqueur d’ordre zéro (S/H) 53 Plusieurs modes de d’ordre de conversion (logiciel, signal externe, EVA, EVB) Un séquenceur programmable permettant de contrôler les 2 multiplexeurs et stocker le résultat de conversion dans des registres de résultat. 2 Modes de fonctionnement du séquenceur : 1 seul séquenceur en mode CASCADE contrôlant les 2 multiplexeurs ou bien divisé en 2 séquenceurs dont chacun contrôle un multiplexeur. Fonctionnement en mode 1 séquenceur : CASCADED MODE Figure 4. 11: Fonctionnement en mode 1 séquenceur (CASCADED MODE) SOC: Start of Conversion: debut de conversion EOC: End of Conversion: fin de conversion S/H: Sample and Hold ADCSOC: ADC Start of Conversion CHSEL: Channal Select La procédure de conversion est contrôlée par un seul séquenceur. On doit programmer pour ce séquenceur : • Le nombre maximal de conversions par séquence « MAX_CONV1 » (il dépend des nombre des entrées analogiques connectées au module ADC). 54 • Chaque entrée à convertir doit correspondre à canal du séquenceur CHSEL. Ceci permet donc de choisir l’ordre de conversion des entrées (l’entrée qui correspond à CHSEL00 sera convertie la première, l’entrée qui correspond à CHSEL01 sera convertie en deuxième étape,…) Les résultats de conversion sont ensuite envoyés sur des registres de résultat (RESULT0, RESULT1 ,….) On peut avoir deux options d’échantillonnage pour ce mode : Echantillonnage simultané et séquentiel. - - Pour l’échantillonnage simultané, les deux bloqueurs d’ordre zéro sont utilisés en parallèle et les deux entrées analogiques (1 pour chaque bloqueur) sont connectées au même canal du séquenceur CHSELXX. Pour l’échantillonnage séquentiel, les deux entrés analogiques (1 pour chaque bloqueur) seront connectées aux deux canaux différents du séquenceur. Fonctionnement en mode 2 séquenceurs : DUAL-SEQUENCER MODE : Figure 4. 12: Fonctionnement en mode 2 séquenceur (DUAL-SEQUENCER MODE) 55 Dans ce cas le séquenceur est divisé en 2 séquenceurs (machines d’état SEQ1 et SEQ2). Le déclenchement du SEQ1 se fait par EVA alors que celui de SEQ2 se fait par EVB. Les résultats de SEQ1 sont envoyés vers les registres RESULT0 à RESULTS7 alors que les résultats de SEQ2 sont envoyés vers les registres RESULT8 à RESULTS15. Dans le cas où les deux séquenceurs sont déclenchés en même temps un arbitre donne la priorité à SEQ1. Fréquence du convertisseur : Figure 4. 13: Fréquence du convertisseur 56 La fréquence d’horloge du ADC notée ADCCLK est donnée par : Il y’a des limites pour la mise en place du temps de conversion ADC. Premièrement, l’horloge de base pour l'ADC est l’horloge interne HSPCLK. On ne peut pas utiliser la vitesse d'horloge que nous voulons. La fréquence est limitée à 150MHZ. La deuxième limite est la fréquence maximale pour "FCLK» comme étant le signal d'entrée interne pour l'unité ADC qui est limité à 25 MHZ. Une troisième limite est le « sampling window » contrôlé par le champ "ACQ_PS". Ce groupe de bits définit la longueur de la fenêtre qui est utilisé entre le commutateur de multiplexeur et le moment où on échantillonne la tension d'entrée. HSPCLK FCLK HSPCLK (2 * ADCCLKPS ) = ADCCLK = = (CPS + 1) (CPS + 1) (2 * ADCCLKPS )* (CPS + 1) (4.5) Si le bit CPS est mis à 1, alors FCLK sera divisée par deux. S’il est mis à zéro, alors on aura ADCCLK=FCLK. La fréquence FCLK est reliée à la fréquence horloge interne et sera programmée par les 4 bits ADCCLKPS du registre ADCTRL3. La programmation du temps d’acquisition (sampling window) est calculée suivant la formule suivante : 1 sampling window = * ( ACQ _ PS + 1) ADCCLK (4.6) Les différents registres associés au module ADC Les différents registres associés au convertisseur ADC sont donnés dans le tableau cicontre : 57 Figure 4. 14: Les différents registres associés au convertisseur ADC Les registres programmables sont : ADC Control Register 1, ADC Control Register 2, ADC Control Register 3 ADCMAXCONV, ADCCHSELSEQ1, ADCCHSELSEQ2, ADCCHSELSEQ3, et ADCCHSELSEQ4, 58 Figure 4. 15: Configuration de ADC control register Upper Byte o Le bit 14 “RESET” est utilisé pour réinitialisé le module ADC à son état initial. o Il est toujours bon d'appliquer une commande RESET avant de travailler avec le module ADC. o Les bits 13 et 12 définissent le mode de fonctionnement de l’ADC. o Les 4 bits suivants définissent la durée du temps d’acquisition. Figure 4. 16: Configuration de ADC control register 1 Lower Byte 59 o Le bit “CPS” est utilisé pour diviser la fréquence d’entrée par 1 ou 2. o Le bit 6 ("CONT_RUN") définit si l'auto-séquenceur commence à la fin d'une séquence (= 0) et attend un autre déclencheur ou si la séquence doit tout recommencer immédiatement (= 1). o Bit 5 ("SEQ1_OVRD") définit deux options différentes pour le mode continu. o Enfin le bit 4 définit le mode Séquenceur, Dual mode ou Cascaded mode. ADC control register 2 : Figure 4. 17: Configuration de ADC control register 2 Upper Byte 60 La moitié supérieure de ADCTRL2 registre est chargé de contrôler le mode de fonctionnement du séquenceur 1. o Le bit 15 est spécifique pour le mode « cascaded mode » o Avec bit14 "RST_SEQ1" on peut réinitialiser la machine d'état de SEQ1 à son état initial. Cela signifie que le prochain déclenchement recommencera à partir CHSELSEQ1. o Lorsqu’on a le bit 13 "SOC_SEQ1" à 1, on commence le processus de conversion. o Les bits 11 et 10 définissent le mode d'interruption de SEQ1. Nous pouvons préciser si nous avons une demande d'interruption pour chaque "fin de la séquence" (EOS : End Of Sequence ) ou tous les autres (EOS). o Le bit 8 "EVA_SOC_SEQ1" est le bit de masque pour activer ou désactiver la capacité de gestionnaire d'événements de A à déclencher une conversion. Figure 4. 18: Configuration de ADC control register 2 Lower Byte 61 L'octet inférieur d’ADCTRL2 est similaire à sa moitié supérieure. Il contrôle le séquenceur SEQ2 o Le bit 7 signale l’évènement qui a déclenché la procédure de conversion. o Le reste est identique à la moitié supérieure. ADC control register 3 : Figure 4. 19: Configuration de ADC control register 3 o Le bit 7, 6, 5 contrôlent le statut d’ADC : allumé ou éteint. o Les 4 bits suivantes contrôlent le clock d’ADC. o Le bit 0 sélectionne le mode de fonctionnement, si le bit est mis à 0, on effectuera un mode séquentiel, si il est mis a 1 on effectuera un mode simultané. 62 "MAXCONV" définit le nombre d'états par déclencheur. Figure 4. 20: Configuration de ADC registre MAXCONV Figure 4. 21: Configuration de registre ADC input channel select sequencing 63 Ce sont les registres ADCCHSELSEQ1, ADCCHSELSEQ2, ADCCHSELSEQ3, ADCCHSELSEQ4, Dans le registre ADCCHSELSEQ1 on peut programmer les 4 premières chaines du séquenceur qui sont "CHSEL00" (CONV00), "CHSEL01" (CONV01), "CHSEL02" (CONV02) et "CHSEL03" (CONV03). La chaine "CHSEL00" (CONV00) sera la première scrutée par le séquenceur. On a 4 bits correspondants à cette chaine qui sont les Bits 0,1,2,3 du registre ADCCHSELSEQ1 (0X007103). Ces 4 bits permettent donc de sélectionner l'une des 16 entrées analogiques à connecter à cette chaine. Si on veut associer à cette chaine l'entrée ADCINA3, on doit mettre ces Bits à la valeur 4(0100). Lecture du résultat de conversion Le résultat de conversion sera exprimé sur 12 bits dans les registres à 16 bits ADCRESULT0 à ADCRESULT15. Le résultat sera stocké dans les bits 4 à 15. Figure 4. 22: Configuration de registre ADC conversion result 64 On doit alors décaler de 4 bits à droite les bits stockés afin de faire une lecture correcte. Ce décalage permet donc de lire le résultat sur les bits définis de 0 à 11. Décalage des 4 bits à droite Le code permettant de faire ce décalage est : Uint16 value; // unsigned value Value = AdcRegs.ADCRESULT0>>4; 65 4. Ré sultats expé rimentaux : Afin de valider l’approche théorique présentée dans la section précédente, on a relevé quelques signaux des sorties de l’onduleur, ainsi les signaux de commandes du DSP. Figure 4. 23: Tension entre phases Figure 4. 24: Courant de sortie de l'onduleur 66 Figure 4. 25: Valeur de tension simple(Van)_en jaune En bleu le courant en sortie de l'onduleur Figure 4. 26: Zoom de la figure précédente 67 Figure 4. 27: Courants des sorties de l'onduleur dans la phase 1 et la phase 2 Figure 4. 28: Courants des sorties de l'onduleur dans la phase 1 et la phase 3 68 Figure 4. 29: Temps mort pour deux signaux de commande de deux interrupteurs appartenant au même bras de l'onduleur 5. Conclusion : Le TMS320F2812, équipé de tous ces modules ces unité et ces registres, nous offre une grande souplesse et facilité pour la programmation de la MLI vectorielle et de l’acquisition des courants. Ainsi une bonne configuration des registres du DSP est considérée comme une étape indispensable pour atteindre des bonnes performances techniques et dynamiques. 69 Conclusion et perspectives : Dans ce projet on a développé une commande numérique et embarquée d’un onduleur triphasé de tension. Cette commande est basée sur l’utilisation du principe de la MLI vectorielle. La plateforme de commande est basée sur l’utilisation du DSP TMS 320F2812 de Texas Instruments et le software Code Composer. Comme travail additionnel, on a développé une carte d’acquisition des courants dans la charge et aussi un algorithme d’acquisition permettant de contrôler en temps réel de ces courants. Durant l’élaboration de ce travail, on est passé par 3 étapes : En première étape, on a introduit l’onduleur triphasé et sa structure, puis on a expliqué la commande de type MLI vectorielle. on aussi développé les calculs nécessaires pour l’implémentation numérique. En deuxième étape, on a détaillé la structure générale du DSP TMS320F2812, son architecture interne et ses principaux modules. En troisième étape, on s’est intéressé par l’acquisition des courants, on a élaboré une étude détaillée sur les capteurs de courant et leurs principes de fonctionnement. Finalement, on a éclairci notre méthodologie pour la configuration des différents registres de notre DSP, le développement de notre code pour la partie MLI vectorielle aussi la partie acquisition et conversion. Quelques résultats expérimentaux ont été introduits pour valider le travail développé. Comme premier intérêt, ce travail nous a permis de maitriser cette famille de processeurs de traitement de signal et notamment leur programmation avancée basée essentiellement sur la configuration de leurs registres. D’un autre côté, ce travail servira par la suite à l’implémentation des lois de commande avancées pour le contrôle des entrainements électriques aussi que le développement d’autre lois de modulation. 70 Bibliographie 71 Bibliographie Ouvrages électroniques 1. Geneviève Baudoin-Fériel Virolleau LES DSP famille TMS320C54X: développement d'applications Disponible sur :< Bibliothèque ENISo > [consulté le 07-04-2011]. 2. Guy Sturtzer, Eddie Smigiel Modélisation et commande des moteurs triphasés commande vectorielle des moteurs synchrones commande numérique par contrôleurs DSP Disponible sur : Bibliothèque ENISo [consulté Avril-2011]. 3. Guy Sturtzer ; Eddie Smigiel, Electrotechnique : Modélisation et commande des moteurs triphasés : commande vectorielle des moteurs synchrones commande numérique par contrôleurs DSP Disponible sur : Bibliothèque ENISo [consulté Avril-2011]. Travaux universitaires 4. Slimene Majdi : Implémentation sur DSP d'une loi de commande d'un onduleur triphasé :Mémoire de projet de fin d’études, ENISo, 2009. Sites web consultés WIKIPEDIA. Onduleurs. <http://fr.wikipedia.org/wiki/Onduleur> [Mars 2011] E-LEE. Commande MLI de l’onduleur triphasé. Disponible sur <http://sites.uclouvain.be/elee/FR/realisations/ElectroniquePuissance/Onduleurs/CdeMLI/Triphase/Triphase.htm > [Avril 2011]. WIKIPEDIA. Digital signal <http://en.wikipedia.org/wiki/Digital_signal_processing> [Aril 2011]. processing. SCRIBD. La commande pleine onde des onduleurs. Disponible sur < http://www.scribd.com/doc/31321152/La-Commande-Pleine-Onde-Des-OnduleursAssociation-Avec-Une-Machine-Asynchrone> [Aril 2011]. 72 Annexes 73 Annexes Annexe 1 : LTS 25-NP 74 75 76 Annexe 2 : Schéma de routage et d’impression des cartes 77 78 79 Plateforme de développement : 80 Résumé Les systèmes d’entrainement triphasé à vitesse variable trouvent un champ d’application très vaste dans le domaine industriel. L’onduleur de tension triphasé est l’un des structures de conversions utilisées dans ce contexte et notamment dans le domaine des faibles et moyennes puissances. Outre la souplesse de développement, l’utilisation d’un système de commande embarqué de l’onduleur, permet d’avoir une plateforme de commande plus robuste et moins encombrante. Dans ce contexte, on se propose d’implémenter sur un DSP une MLI vectorielle permettant de contrôler la fréquence et la valeur efficace de l’onduleur triphasé pour alimenter un récepteur triphasé. Comme deuxième objectif, on se propose de faire la conception et la réalisation d’une carte d’acquisition des courants de la charge et implémenter un programme sur le DSP permettant de suivre en temps réel l’évolution de ces courants. Mots-clés : Onduleur triphasé DSP (Digital Signal Processor) TMS320F2812 MLI vectorielle Acquisition