Commande d’actionneurs à l’aide d’un microprocesseur 6 Commande de moteur synchrone à aimants Christian Koechli
Objectifs du cours Compréhension du moteur triphasé Alimentation en 3 phases ON (sinus) Alimentation en 2 phases ON (120°)
Principes de commande Pour garantir la génération d’un couple les phases du moteur doivent être commutées en fonction de la position 2 Méthodes utilisées: alimentation en sinus (3 phases ON); alimentation en 120° (2 phases ON).
Pont triphasé T1 T3 T5 UDC T2 T4 T6 Rshunt: mesure de courant
Alimentation à 120° T1 T3 T5 UDC T2 T4 T6 Rshunt: mesure de courant
Commande en 120° Tension induite Courant Position du rotor [°] 1 0.8 0.6 0.4 0.2 -0.2 -0.4 -0.6 -0.8 -1 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400 420 440 460 480 500 520 540 Position du rotor [°]
Sondes de Hall Tension induite Flux Sonde de Hall 1 Tension induite Flux 0.8 Sonde de Hall 0.6 0.4 0.2 -0.2 -0.4 -0.6 -0.8 -1 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400 420 440 460 480 500 520 540 Position du rotor [°]
Sondes de Hall: décalées 1 Tension induite Courant 0.8 Sonde de Hall 0.6 0.4 0.2 -0.2 -0.4 -0.6 -0.8 -1 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400 420 440 460 480 500 520 540 Position du rotor [°]
« Collecteur électronique » Commutation U1 U2 U3 Hall1 Hall2 Hall3 T1 T2 T3 T4 T5 T6 50 100 150 200 250 300 350 1 position du rotor [°]
Détermination de ACTRA Sondes de Hall Valeur décimale Transistors sens positif ACTRA PWM double ACTRA hex Transistors sens négatif ACTRA PWM double arrière 000 impossible 001 1 010 2 011 3 100 4 101 5 0 0 1 0 0 1 00 00 10 00 00 10 0x082 0 0 0 1 1 0 00 00 00 10 10 00 0x28 110 6 111 7
Gestion de la commutation //récupérer les infos sondes de hall hall=(GpioDataRegs.GPADAT.all>>16)&0x7; //déterminer la commutation des transistors actra= CW_3ON_DBL_TAB[hall]; //appliquer la commutation sur les grilles EPwm1Regs.AQCTLA.all=Actldef[actra&0x3]; EPwm1Regs.AQCTLB.all=Actldef[(actra>>2)&0x3]; EPwm2Regs.AQCTLA.all=Actldef[(actra>>4)&0x3]; EPwm2Regs.AQCTLB.all=Actldef[(actra>>6)&0x3]; EPwm3Regs.AQCTLA.all=Actldef[(actra>>8)&0x3]; EPwm3Regs.AQCTLB.all=Actldef[(actra>>10)&0x3]; Uint16 Actldef[4]={ 0x01, //forced low CAU=0 CAD=0 ZRO=1 0x90, //active_low CAU=1 CAD=2 10010000 0x60, //active_high CAU=2 CAD=1 0x02, //forced_high CAU=0 CAD=0 ZRO=2 } ;
Problèmes de conduction de diodes en PWM simple Peut conduire si ui1+ui3>Uj T1 T3 T5 Potentiel « flottant » On UDC T2 T4 T6 PWM Rshunt: mesure de courant Ui1 Ui2 Ui3
Résumé 2 phases ON (120°) Peut être réalisé facilement à l’aide de sondes de hall (logique simple) Le pont est utilisé comme un collecteur électronique Le PWM simple est possible mais plus difficile à réaliser. Le PWM double est beaucoup plus simple. (Freinage en double)
Alimentation 3 phases ON UDC T2 T4 T6 Rshunt: mesure de courant
Principes de l’alimentation 3 phases ON (sinus) On impose le potentiel sur les 3 phases. Le pont devient une source de tension triphasée. Les transistors d’une branche sont alimentés alternativement (ACTRA=0x666 ou 0x999 suivant la logique des drivers). La tension de ligne du moteur est sinusoïdale.
Utilisation de la pleine tension du pont 1 U1: (sin(x)+1)/2 U2:(sin(x+2*pi/3)+1)/2 0.8 Uligne:(sin(x)-sin(x+2*pi/3))/2 0.6 0.4 0.2 -0.2 -0.4 -0.6 -0.8 -1 1 2 3 4 5 6
Solution On tire à zéro la chaque phase où la tension est la plus basse. Et on enlève la même partie aux autres tension de phases pour maintenir la tension de ligne 1 (sin(x)+1)/2 (sin(x+2*pi/3)+1)/2 0.9 (sin(x-2*pi/3)+1)/2 0.8 0.7 0.6 Partie la plus basse pour U3 0.5 0.4 0.3 0.2 0.1 1 2 3 4 5 6
Forme de tension obtenue 300 200 100 U2 U1 U3 U2-U1 -100 -200 -300
Résumé alimentation sinus Plus difficile à implémenter avec des sondes de Hall Meilleur rendement (très légèrement) Génère moins de bruit