Lagha KhalilKhalil Lagha Carnet de projetProject story

02 / Commande de machines02 / Motor drives

Commande vectorielle d’un moteur asynchroneField-oriented control of an induction motor

Réguler la vitesse d’un moteur asynchrone de 5 kW et comparer la SPWM à deux séquences SVPWM, à sept et à quatre segments, sur le même onduleur IGBT simulé.Control a 5 kW induction motor and compare SPWM with seven- and four-segment SVPWM on the same simulated IGBT inverter.

Projet individuel · Python / MATLAB / SimulinkIndividual project · Python / MATLAB / Simulink
Chaîne de commande FOC et retours de vitesse et de courant
La consigne devient une demande de couple, puis des tensions et des commandes d’onduleur.The speed target becomes torque demand, voltage references and inverter commands.FIG. 01
3implémentations comparablescomparable implementations
52–95 msétablissement des échelons de vitessespeed-step settling range
0,800 Wbflux rotorique maintenumaintained rotor flux
01 / 04

Le problème : garder la vitesse malgré la chargeThe problem: hold speed as load changes

Une charge supplémentaire freine le moteur. La commande doit produire le couple nécessaire pour retrouver la vitesse demandée, tout en gardant le flux sous contrôle.An added load slows the motor. The controller must produce the torque needed to recover target speed while keeping flux under control.

J’ai étudié une machine asynchrone de 5 kW / 380 V. Dans cette machine, flux et couple sont liés : agir directement sur les trois courants rend leur pilotage difficile à lire. J’ai donc utilisé une FOC indirecte à flux rotorique orienté.I studied a 5 kW / 380 V induction motor. Flux and torque interact, so directly controlling the three phase currents makes their roles hard to separate. I used indirect rotor-flux-oriented control.

L’idée est de regarder les courants dans un repère qui tourne avec le flux rotorique. Dans ce repère, id agit principalement sur l’aimantation et le flux, tandis que iq agit sur le couple. La boucle de vitesse ajuste la demande de couple lorsque la vitesse s’écarte de sa consigne.The idea is to express currents in a frame rotating with rotor flux. In that frame, id mainly controls magnetisation and flux, while iq controls torque. The speed loop adjusts torque demand when speed departs from its target.

  • ObjectifGoal

    Suivre une vitesse et rejeter une variation de charge.Track speed and reject a load disturbance.

  • FluxFlux

    id règle principalement l’aimantation de la machine.id mainly sets motor magnetisation.

  • CoupleTorque

    iq règle le couple dans le repère correctement orienté.iq controls torque in the correctly aligned frame.

02 / 04

Comment la commande agit sur le moteurHow the controller drives the motor

Chaque bloc a un rôle précis : changer de repère, orienter les axes, régler les courants, puis transformer une tension calculée en action de l’onduleur.Each block has a specific role: change coordinates, align the axes, control currents, then turn a calculated voltage into inverter action.

  1. Clarke et ParkClarke and Park

    Les trois courants deviennent deux composantes dans un repère tournant aligné sur le flux.Three phase currents become two components in a rotating frame aligned with flux.

  2. Courants id et iqid and iq currents

    Deux régulateurs suivent les consignes de courant id et iq, avec compensation de leurs interactions.Two controllers track id and iq current references, with feed-forward compensation of their interaction.

  3. Tensions de référenceVoltage references

    Les PI calculent vd et vq. Park inverse les ramène au repère fixe pour la modulation.The PIs calculate vd and vq. Inverse Park returns them to the stationary frame for modulation.

  4. Modulation de l’onduleurInverter modulation

    La SPWM utilise un comparateur et la SVPWM calcule les durées de commutation.SPWM uses a comparator and SVPWM calculates switching durations.

  5. Onduleur et machineInverter and motor

    L’onduleur synthétise les tensions triphasées. Les courants et la vitesse reviennent au contrôleur.The inverter synthesises three-phase voltages. Currents and speed feed back to the controller.

Le modèle en courant estime le flux rotorique. La vitesse électrique du rotor et le glissement calculé donnent l’angle du repère utilisé par Park. Cet estimateur aide à l’orientation ; le découplage vient du repère aligné et des termes d’anticipation ajoutés aux régulateurs.A current model estimates rotor flux. Electrical rotor speed and calculated slip provide the reference-frame angle used by Park. The estimator supports orientation; the aligned frame and feed-forward terms in the controllers provide decoupling.

La SPWM compare les tensions de phase à une porteuse triangulaire. La SVPWM détermine le secteur du vecteur de tension, calcule les durées des deux états actifs et répartit le temps restant entre les états nuls. La séquence à sept segments organise ces durées en impulsions de grille symétriques. La séquence à quatre segments applique chaque état actif d’un seul tenant.SPWM compares the phase commands with a triangle. SVPWM finds the voltage sector, calculates the two active dwell times and shares the remaining time between the zero states. The seven-segment sequence mirrors the active intervals. The four-segment sequence applies each active state in one interval.

Schéma Simscape de la commande FOC et panneau Scopes
FIGURELe panneau Scopes regroupe la vitesse, le couple, les courants, le flux et les commandes de grille des IGBT. Les liaisons du modèle sont tracées à angle droit.The Scopes panel groups speed, torque, currents, flux and IGBT gate commands. The model wiring uses horizontal and vertical segments.
Illustration des trois commandes de grille et des sept segments avec une porteuse lente
FIGUREConsignes à 50 Hz et porteuse ralentie à 150 Hz. La porteuse franchit A, C puis B à la descente et les franchit en sens inverse à la remontée. Chaque bras reçoit une impulsion. Les trois bras ensemble donnent les sept segments.50 Hz phase references with a slowed 150 Hz triangle. The falling triangle crosses A, C, then B, and the rising triangle crosses them in reverse. Each leg has one on pulse. The three legs together give seven segments.
03 / 04

Lire la vitesse avec la charge, le couple et le fluxRead speed alongside load, torque and flux

Une courbe de vitesse isolée cache la cause des écarts. Ces quatre vues partagent le même axe temporel et proviennent d’un même calcul Python.A speed trace alone hides the cause of deviations. These four views share one time axis and come from the same Python simulation.

Les changements de consigne demandent une accélération, un freinage ou une inversion. Le couple électromagnétique change pour produire cette évolution. L’application de la charge provoque, elle, un creux de vitesse que la boucle corrige en augmentant la demande de couple.Reference changes demand acceleration, braking or reversal. Electromagnetic torque changes to produce that motion. Applying load instead causes a speed dip, which the loop corrects by increasing torque demand.

La référence de flux reste fixée à 0,8 Wb : sa courbe montre la montée initiale puis le maintien du flux, et non une consigne de défluxage. Les courants id et iq permettent de lire séparément l’aimantation et l’effort de couple.Flux reference stays at 0.8 Wb: its trace shows initial build-up and subsequent flux control, not a field-weakening command. The id and iq traces distinguish magnetisation from torque effort.

À 0,55 s, la charge de +10 N·m provoque le creux de vitesse. À 1,30 s puis 1,80 s, le couple et iq deviennent temporairement négatifs pour ralentir puis inverser la rotation. Leur retour à des valeurs positives à vitesse négative vient de la convention du scénario : la charge conserve le signe +10 N·m après l’inversion, et le moteur doit équilibrer cette action.At 0.55 s, the +10 N·m load causes the speed dip. At 1.30 s and 1.80 s, torque and iq briefly become negative to slow down and then reverse rotation. Their return to positive values at negative speed follows the scenario’s sign convention: load torque remains +10 N·m after reversal, and the motor must balance that action.

Simulation Python : vitesse, couple de charge et électromagnétique, courants id iq et flux rotorique sur le même scénario
FIGUREScénario Python à onduleur moyenné. Courants, charge et flux donnent le contexte des variations de vitesse ; ce ne sont pas des mesures sur banc.Python scenario with an averaged inverter. Currents, load and flux explain speed changes; these are not hardware measurements.
04 / 04

Comparer les trois modulations dans SimscapeCompare the three PWM variants in Simscape

Pourquoi les tensions de la SPWM et de la SVPWM à sept segments se ressemblent-elles ? J’ai ajouté une séquence à quatre segments pour isoler l’effet du placement des impulsions.Why do SPWM and seven-segment SVPWM produce such similar voltage traces? I added a four-segment variant to see how changing the pulse placement affects the drive.

J’ai simulé les trois modèles avec le même onduleur IGBT, un bus continu de 540 V, une fréquence de commutation de 10 kHz et les mêmes réglages de commande. J’ai comparé les tensions de phase et le couple sur six périodes, de 1,1050 à 1,1056 s, à la consigne de 1 400 tr/min.I ran the three models with the same IGBT inverter, 540 V DC bus, 10 kHz switching frequency and controller settings. I compared phase voltages and torque over six periods, from 1.1050 to 1.1056 s, at the 1,400 rpm command.

Tensions triphasées du moteur en SPWM et en SVPWM à sept segments
FIGURESur la première période, les états 000 et 111 durent 14 et 8 µs en SPWM, contre 10 µs chacun en SVPWM centrée.In the first period, states 000 and 111 last 14 and 8 µs with SPWM and 10 µs each with centered SVPWM.
Tensions triphasées du moteur en SPWM et en SVPWM à quatre segments
FIGURESur la première période, la tension moyenne de la phase A vaut environ 194,4 V dans les deux essais.In the first period, phase A averages about 194.4 V in both runs.
Couple électromagnétique brut des trois modulations sur six périodes PWM
FIGURESur cette fenêtre, le couple crête à crête vaut 2,14 N·m en SPWM, 1,96 N·m en SVPWM à sept segments et 3,41 N·m en SVPWM à quatre segments.In this window, peak-to-peak torque was 2.14 N·m for SPWM, 1.96 N·m for seven-segment SVPWM, and 3.41 N·m for four-segment SVPWM.
Vitesse du rotor et consigne en SVPWM dans Simscape
FIGUREVitesse du rotor et consigne pendant l’essai complet en SVPWM à sept segments.Rotor speed and its reference during the full seven-segment SVPWM run.
Couple électromagnétique et couple de charge en SVPWM
FIGURERéponse du couple moteur aux changements de consigne et de charge en SVPWM.Motor torque response to the reference and load changes during the SVPWM run.
Courants bruts des phases A, B et C en SVPWM sur une période électrique
FIGURELes trois courants sont superposés sur une période électrique, au pas de simulation de 1 µs. Le courant C est reconstruit à partir de A et B.The three currents share one set of axes over one electrical cycle at the 1 µs simulation step. Phase C current is reconstructed from A and B.
Courants id et iq et consignes en SVPWM
FIGURESuivi des consignes des courants id et iq dans le repère du flux rotorique.Tracking of the d- and q-axis current references in the rotor-flux frame.

Projet suivantNext project

Bobinage et analyse de fluxWinding and flux analysis

Continuer →Continue →