Méthode du vecteur spatial (SVM) pour le contrôle de moteur

Implémenter un algorithme pour contrôler des moteurs AC avec la modulation de largeur d'impulsion par le vecteur spatial

La méthode du vecteur spatial (SVM) est une technique courante dans le domaine de la commande vectorielle pour les moteurs à induction et les moteurs synchrones à aimants permanents (PMSM). Cette méthode permet de générer des signaux modulés en largeur d'impulsion pour contrôler les interrupteurs d'un onduleur, qui produit ensuite la tension modulée nécessaire pour entraîner le moteur à la vitesse ou au couple souhaité. La méthode du vecteur spatial est également appelée modulation de largeur d'impulsion par le vecteur spatial (SVPWM). Vous pouvez utiliser MATLAB® et Simulink® pour implémenter des techniques SVM ou exploiter des bibliothèques SVM prédéfinies pour des applications de contrôle de moteur.

Objectif de la SVM

Voici la mise en application du concept de la méthode du vecteur spatial pour le contrôle d'un moteur sur un onduleur triphasé à six interrupteurs représenté par le circuit équivalent suivant. Notez qu'il existe huit configurations de commutation valides.

Circuit d'onduleur triphasé connecté aux bobinages du stator d'un moteur.
* Les états des commutateurs S2, S4 et S6 sont respectivement complémentaires à S1, S3 et S5.

Chaque configuration de commutation entraîne l'application d'une tension spécifique aux bornes du moteur. Les tensions sont des vecteurs spatiaux de base. Ils représentent leurs amplitudes et leurs directions dans un hexagone de vecteurs spatiaux.

Hexagone de vecteurs spatiaux avec des vecteurs de base de U1 à U8.

Circuit d'onduleur triphasé connecté aux bobinages du stator d'un moteur.

Les états de commutation qui correspondent aux vecteurs spatiaux de base (pour la direction) et aux vecteurs nuls (pour l'amplitude) sont combinés pour obtenir, de façon approximative, un vecteur de tension de n'importe quelle amplitude et à n'importe quelle position dans l'hexagone de vecteurs spatiaux. Par exemple, pour chaque période de modulation de largeur d'impulsion (MLI), le vecteur de référence « Uref » est moyenné en utilisant une séquence de commutation de deux vecteurs spatiaux adjacents (U3 et U4, dans la figure) pendant une durée déterminée et un vecteur nul (U7 ou U8) pour le reste de la période.

En contrôlant la séquence de commutation, et par conséquent la durée active (ON) des impulsions, tout vecteur de tension d'amplitude et de direction variables est réalisable pour chaque période de MLI. L'objectif de la méthode du vecteur spatial est de générer des séquences de commutation qui correspondent au vecteur de tension de référence pour chaque période de MLI afin d'obtenir un vecteur spatial en rotation continue.

Illustration d'un vecteur spatial de référence en rotation.

Fonctionnement de la méthode du vecteur spatial

La méthode du vecteur spatial fonctionne sur le vecteur de tension de référence afin de générer des signaux de déclenchement appropriés pour l'onduleur à chaque période de MLI avec l'objectif d'obtenir un vecteur spatial en rotation continue.

Illustration de l'architecture de commande vectorielle avec la méthode du vecteur spatial.

Diagramme de bloc illustrant un exemple de workflow pour la méthode du vecteur spatial.

Pour chaque période de MLI, avec le vecteur de tension comme référence d'entrée, l'algorithme SVM :

  • Calcule les temps de déclenchement et d'enclenchement sur la base du vecteur de tension de référence
  • Utilise les temps de déclenchement afin de générer les formes d'onde de modulation à double bosses
  • Utilise les temps de déclenchement afin de générer des impulsions de déclenchement appropriées pour les interrupteurs de l'onduleur

Signaux de tension modulés par vecteur spatial générés par l'algorithme SVM.

La nature de l'onde de modulation générée avec une double bosse maximise l'utilisation de la tension du circuit intermédiaire disponible. Cela permet d'obtenir une meilleure tension de sortie nominale par rapport à la méthode de modulation de largeur d'impulsion sinusoïdale (SPWM).

Génération d'une impulsion de déclenchement suite à la comparaison de l'onde de modulation et de l'onde porteuse.

Vous pouvez ensuite appliquer les signaux de déclenchement générés aux interrupteurs de l'onduleur triphasé pour entraîner le moteur à la vitesse ou au couple souhaité.

Support hardware MLI

Les cartes hardware, telles que Arduino®, Raspberry Pi™ et TI, génèrent des impulsions de déclenchement pour piloter l'onduleur en recevant les formes d'onde de modulation.

Pour en savoir plus sur l'implémentation de la commande vectorielle avec la méthode du vecteur spatial sur du hardware TI, regardez cette vidéo : Commande vectorielle de PMSM avec Simulink, partie 3 : déploiement (4:52).

Les algorithmes de contrôle de moteur avec les méthodes de MLI employées nécessitent généralement une exécution à des fréquences plus élevées de l'ordre de quelques kHz selon les exigences de design. Il est important d'évaluer la justesse de l'architecture de contrôle dès que possible, avant de s'engager dans des dépenses de tests hardware. L'une des approches possibles consiste à utiliser un environnement de simulation. Par exemple, avec Simulink, vous pouvez simuler et valider l'architecture de contrôle, comme les techniques de modulation de largeur d'impulsion telles que la méthode du vecteur spatial, sur un moteur modélisé et rectifier les erreurs très tôt dans le cycle de développement.

Pour utiliser la méthode du vecteur spatial dans Simulink, reportez-vous au bloc Space Vector Generator.

Pour en savoir plus sur le design et l'implémentation des algorithmes de contrôle moteur, consultez les pages Motor Control Blockset et Simscape Electrical.

Obtenez une version d'essai gratuite

Profitez de 30 jours pour tester.