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