Générateur PWM triphasé - VHDL - MC-ENSL1
Transcription
Générateur PWM triphasé - VHDL - MC-ENSL1
Commande de moteurs triphasés Annexes Générateur PWM triphasé - VHDL MC-ENSL1 - Projet B J. Villemejane - [email protected] IUT Créteil-Vitry Département GEII Université Paris-Est Créteil Année universitaire 2012-2013 1/14 Commande de moteurs triphasés Annexes Plan du cours 1 2 Commande de moteurs triphasés Moteur synchrone Commande en fréquence - onduleur Commande MLI ou PWM Système complet Annexes Composant générique Conversion de types ROM Bibliothèque de maths 2/14 Commande de moteurs triphasés Annexes Objectifs Générateur PWM Réaliser l’architecture d’un générateur de signaux triphasés PWM (Pulse Width Modulation) pour la commande en fréquence d’un moteur synchrone, à l’aide d’un composant programmable de type FPGA. Signaux sinusoidaux triphasés Fréquence variable (0,5 à 10 Hz, par pas de 0,5 Hz) Affichage multiplexé pour la fréquence 3/14 Commande de moteurs triphasés Annexes Commande de moteurs triphasés Moteur synchrone Moteur triphasé constitué : d’un rotor : aimant permanent ou bobine d’un stator : 3 enroulements (ou multiple de 3) permettant de générer des champs magnétiques Champ tournant à la vitesse des signaux électriques 4/14 Commande de moteurs triphasés Annexes Commande de moteurs triphasés Moteur synchrone Moteur triphasé constitué : d’un rotor : aimant permanent ou bobine d’un stator : 3 enroulements (ou multiple de 3) permettant de générer des champs magnétiques Champ tournant à la vitesse des signaux électriques 4/14 Commande de moteurs triphasés Annexes Commande de moteurs triphasés Commande en fréquence - onduleur Utilisation d’un onduleur de tension Commande en tout ou rien 5/14 Commande de moteurs triphasés Annexes Commande de moteurs triphasés Commande en fréquence - onduleur Utilisation d’un onduleur de tension Commande en tout ou rien 5/14 Commande de moteurs triphasés Annexes Commande de moteurs triphasés Commande MLI ou PWM - 1/4 6/14 Commande de moteurs triphasés Annexes Commande de moteurs triphasés Commande MLI ou PWM - 2/4 Que vaut la période de sortie TM LI par rapport à la fréquence d’entrée FOSC en fonction du nombre de bits de sortie du compteur et la valeur de prédivision P REDIV ? 7/14 Commande de moteurs triphasés Annexes Commande de moteurs triphasés Commande MLI ou PWM - 2/4 Que vaut la période de sortie TM LI par rapport à la fréquence d’entrée FOSC en fonction du nombre de bits de sortie du compteur et la valeur de prédivision P REDIV ? 7/14 Commande de moteurs triphasés Annexes Commande de moteurs triphasés Commande MLI ou PWM - 3/4 Quelle relation doit-il y avoir entre la fréquence de la modulante et la fréquence du signal de référence ? Comment peut-on générer numériquement le signal de référence ? 8/14 Commande de moteurs triphasés Annexes Commande de moteurs triphasés Commande MLI ou PWM - 3/4 Quelle relation doit-il y avoir entre la fréquence de la modulante et la fréquence du signal de référence ? Comment peut-on générer numériquement le signal de référence ? 8/14 Commande de moteurs triphasés Annexes Commande de moteurs triphasés Commande MLI ou PWM - 4/4 Quelle est la fréquence du signal de référence en fonction de la fréquence d’entrée FOSC , de la valeur de prédivision PREDIV2 et du nombre k de fils d’adresse de la ROM ? 9/14 Commande de moteurs triphasés Annexes Commande de moteurs triphasés Commande MLI ou PWM - 4/4 Quelle est la fréquence du signal de référence en fonction de la fréquence d’entrée FOSC , de la valeur de prédivision PREDIV2 et du nombre k de fils d’adresse de la ROM ? 9/14 Commande de moteurs triphasés Annexes Commande de moteurs triphasés Système complet 10/14 Commande de moteurs triphasés Annexes Annexes Composant générique Décalaration d’un composant additionneur générique (N représentant le nombre de bits de l’additionneur - valeur par défaut de 8). component ADD g e n e r i c ( N : p o s i t i v e r a n g e 0 t o 16 := 8 ) ; p o r t ( A : i n s t d l o g i c v e c t o r (N−1 downto 0 ) ; B : i n s t d l o g i c v e c t o r (N−1 downto 0 ) ; S : out s t d l o g i c v e c t o r (N−1 downto 0 ) ) ; end component ; Instanciation au niveau de l’architecture d’un système inst ADD : ADD g e n e r i c map (N=>12) p o r t map (A=>OP1 , B=>OP2 , S=>S ) ; 11/14 Commande de moteurs triphasés Annexes Annexes Conversion de types integer to integer(unsigned) : convertit un entier non signé en une valeur entière unsigned to unsigned(integer) : convertit une valeur entière en un entier non signé std logic vector std logic vector(unsigned, N) : convertit un entier non signé vers un vecteur binaire de N bits unsigned unsigned(std logic vector) : convertit un vecteur binaire en un entier non signé 12/14 Commande de moteurs triphasés Annexes Annexes ROM Réalisation d’une ROM de capacité 16 x 8 bits (4 fils d’adressage et 8 fils de données) e n t i t y rom5v8 i s P o r t ( a d r e s s e : i n STD LOGIC VECTOR ( 3 downto 0 ) ; d a t a : out STD LOGIC VECTOR ( 7 downto 0 ) ) ; end rom5v8 ; a r c h i t e c t u r e B e h a v i o r a l o f rom5v8 i s subtype v a l e u r i s i n t e g e r range 0 to 255; t y p e rom i s a r r a y ( i n t e g e r r a n g e 0 t o 1 5 ) o f v a l e u r ; s i g n a l r o m s i n : rom ; begin −− r e m p l i s s a g e a v e c l e s 16 p r e m i e r s e n t i e r s l o o p 1 : f o r i IN 0 TO 15 GENERATE r o m s i n ( i ) <= i ; END GENERATE l o o p 1 ; d a t a <= s t d l o g i c v e c t o r ( t o u n s i g n e d ( romsin ( t o i n t e g e r ( unsigned ( adresse ) ) ) , 8 ) ) ; end B e h a v i o r a l ; 13/14 Commande de moteurs triphasés Annexes Annexes Bibliothèque de maths integer natural(real) : convertit un réel en un entier real ceil(real) : arrondit un réel sans conversion de type real real(integer) : transforme une variable entière en un réel real sin(real) : donne la valeur du sinus donné en radians MATH PI : valeur de PI Exemple d’une conversion d’un entier vers un reel s i g n a l i : i n t e g e r range 0 to 15; s i g n a l r : r e a l range 0.0 to 1 5 . 0 ; r <= REAL( i ) ; 14/14