Contrôle moteur

Contrôle moteur

Le contrôle moteur est le processus de régulation de la vitesse, du couple, de la position et d'autres caractéristiques visant à améliorer les performances et optimiser l'efficacité énergétique. Représentant environ 45 % de la consommation mondiale d'électricité, les moteurs électriques font partie intégrante des systèmes de traction, des transmissions industrielles, des installations de chauffage et de climatisation (HVAC) résidentielles et commerciales, ainsi que d'autres applications, ce qui fait du contrôle moteur une priorité.

Les algorithmes de contrôle de moteurs conventionnels servent de base au développement d'algorithmes de contrôle de moteurs électriques, notamment :

  • Le contrôle scalaire : également appelée contrôle tension/fréquence, cette méthode de contrôle moteur en boucle ouverte maintient un rapport tension/fréquence constant dans les moteurs AC, assurant ainsi un contrôle de base de la vitesse.
  • La commande vectorielle : cette technique de contrôle moteur en boucle fermée utilise la commande vectorielle. Elle s'appuie sur les transformées de Clarke et de Park pour isoler et gérer les composants magnétiques et de production de couple, des courants de moteur à courant alternatif, permettant ainsi un contrôle précis de la vitesse et du couple.
  • Le contrôle direct du couple : cette technique facilite l'ajustement dynamique du couple et du flux, sans transformations complexes, ce qui la rend adaptée aux applications nécessitant une réponse rapide du couple.

Développement de systèmes de contrôle moteur avec MATLAB et Simulink

Avec MATLAB® et Simulink®, les ingénieurs en contrôle moteur conçoivent des algorithmes de contrôle moteur, simulent le comportement du système et affinent ses performances grâce à des tests temps réel. Cette approche leur permet de déterminer l'adéquation des designs de contrôleurs de moteurs électriques et de réduire le temps et le coût de développement des algorithmes avant de passer aux tests hardware onéreux.

Le développement de systèmes de contrôle moteur comprend plusieurs étapes, allant du design d'algorithmes de contrôle moteur à leur implémentation sur un microcontrôleur ou un FPGA.

Modélisation de systèmes physiques

La modélisation de moteurs et de composants d'électronique de puissance est une pratique d'ingénierie reconnue pour le développement de systèmes de contrôle moteur. Simscape Electrical™ supporte plusieurs niveaux de fidélité en matière de modélisation de moteurs, permettant aux ingénieurs d'utiliser des simulations pour sélectionner le niveau de détail approprié, pour diverses applications, telles que le dimensionnement de moteurs et le design de systèmes de contrôle de moteurs de véhicules électriques.

Développement d'algorithmes

Le design et l'affinement d'algorithmes de contrôle permet une gestion précise de la vitesse, du couple et de la consommation d'énergie dans les moteurs électriques. Motor Control Blockset propose des blocs prédéfinis optimisés et des exemples de référence pour accélérer le développement et le déploiement de techniques de contrôle moteur avec et sans capteur.

Réglage de contrôleurs

L'optimisation des paramètres du contrôleur permet d'obtenir le comportement souhaité du système. Simulink Control Design™ propose des outils tels que FOC Autotuner, le réglage PID automatique et l'estimation de la réponse en fréquence, facilitant l'efficacité du réglage ainsi que l'optimisation des performances de la réponse et de la stabilité du système.

Génération de code

La génération de code transforme les algorithmes de contrôle vérifiés en code exécutable pour le déploiement sur hardware. Vous pouvez exploiter le prototypage rapide des systèmes de contrôle et les simulations Hardware-in-the-Loop (HIL) sur une cible temps réel en générant du code C, C++ ou HDL pour les algorithmes de contrôle moteur afin de valider les contrôleurs de moteurs. Embedded Coder® génère du code C et C++ optimisé à partir de modèles Simulink, avec des Hardware Support Packages facilitant le déploiement automatique sur C2000, STM32, Infineon Aurix et d'autres MCU. Pour cibler les FPGA et les SoC, HDL Coder™ facilite la génération et le déploiement de code sur les dispositifs Intel, Xilinx et Microchip.

Applications de contrôle moteur

Les exemples de référence de Motor Control Blockset™ couvrent également les stratégies avancées de contrôle moteur telles que le contrôle prédictif, la commande par rejet actif de perturbations et le Reinforcement Learning, pour accélérer votre processus de développement.

Contrôle prédictif

Le contrôle prédictif (MPC) améliore la commande vectorielle par rapport au PID en gérant efficacement les contraintes telles que la saturation du couple et les limites de tension, tout en tenant compte du couplage croisé entre les boucles pour optimiser les objectifs de contrôle. Vous pouvez évaluer le contrôleur prédictif en le simulant en boucle fermée avec le système physique du moteur dans Simulink à l'aide de l'exemple de référence.

Schéma bloc d'une architecture de commande vectorielle pour le contrôle moteur avec un contrôleur prédictif dans la boucle de courant interne.

Intégration de contrôleurs prédictifs dans une commande vectorielle pour améliorer le contrôle moteur. (Consulter la documentation.)

Commande par rejet actif de perturbations

Afin d'améliorer la robustesse du système, vous pouvez utiliser la commande par rejet actif de perturbations (ADRC) pour compenser les perturbations et assurer la stabilité dans des conditions variables. Alors que le réglage PID nécessite un effort considérable, l'ADRC propose une solution de contrôle non linéaire qui offre de bonnes performances tout en étant plus simple à configurer et à ajuster. Le bloc Active Disturbance Rejection Control simplifie l'implémentation de l'ADRC, ce qui facilite l'application de la technique par les débutants.

Schéma bloc du système de contrôle moteur illustrant l'architecture d'une ADRC pour les boucles de courant de l'axe d et de l'axe q.

Implémentation de la commande par rejet de perturbations (ADRC) dans Simulink Control Design pour optimiser le contrôle moteur. (Consulter la documentation.)

Reinforcement Learning

Le Reinforcement Learning offre une approche dynamique du contrôle en apprenant à partir des interactions avec l'environnement, ce qui en fait une alternative solide aux contrôleurs traditionnels tels que PID, en particulier lorsqu'il est difficile de caractériser les moteurs et leurs conditions de fonctionnement. Malgré son potentiel, le Reinforcement Learning nécessite des ressources de calcul et un temps d'apprentissage importants. Dans Simulink, le bloc Reinforcement Learning Agent facilite la configuration d'un contrôleur de Reinforcement Learning pour la commande vectorielle, permettant aux ingénieurs d’exploiter cette technique avancée.

En exploitant des blocs prédéfinis et des exemples de référence avec Simulink, les ingénieurs peuvent développer des stratégies de contrôle et des modèles de moteur précis pour relever efficacement les défis du développement de systèmes de contrôle moteur.


FAQ sur le contrôle moteur

Le contrôle moteur est le processus de régulation de la vitesse, du couple, de la position et d'autres caractéristiques afin d'améliorer les performances et d'optimiser l'efficacité énergétique des moteurs électriques.

Les principaux types incluent le contrôle scalaire (contrôle V/f) pour un contrôle de vitesse basique, la Commande vectorielle pour une gestion précise de la vitesse et du couple, et la commande directe du couple (DTC) pour les applications nécessitant une réponse rapide en couple.

La Commande vectorielle est une technique en boucle fermée qui utilise les Transformées de Clarke et de Park pour gérer séparément les composantes magnétiques et productrices de couple des courants des moteurs AC, permettant un contrôle précis de la vitesse et du couple.

MATLAB et Simulink permettent aux ingénieurs de concevoir des algorithmes de contrôle moteur, de simuler le comportement du système, d'affiner les performances grâce à des tests en temps réel et de générer du code pour le déploiement sur des microcontrôleurs ou des FPGA, réduisant ainsi le temps et le coût de développement avant les tests sur matériel.

Le contrôle scalaire, également appelé contrôle volts par hertz (V/f), est une méthode en boucle ouverte qui maintient un rapport tension/fréquence constant dans les moteurs AC pour un contrôle de vitesse basique.

Parmi les stratégies avancées figurent le contrôle prédictif (MPC) pour la gestion des contraintes et l'optimisation des objectifs de contrôle, le contrôle par rejet actif des perturbations (ADRC) pour une meilleure robustesse face aux perturbations, et le Reinforcement Learning pour un contrôle dynamique dans des conditions difficiles à caractériser.

La commande directe du couple est une technique qui facilite des ajustements dynamiques du couple et du flux sans transformations complexes, la rendant adaptée aux applications nécessitant une réponse rapide en couple.

Oui, Embedded Coder génère du code C et C++ optimisé pour le déploiement sur des microcontrôleurs tels que C2000, STM32 et Infineon Aurix, ainsi que sur des SoC. HDL Coder génère du code VHDL ou Verilog synthétisable pour des cibles FPGA et SoC de fournisseurs incluant Intel, Xilinx et Microchip.

Le contrôle prédictif (MPC) améliore la Commande vectorielle en gérant efficacement les contraintes telles que la saturation du couple et les limites de tension, tout en traitant le couplage croisé entre les boucles pour optimiser les objectifs de contrôle.

L'ADRC est une solution de contrôle non linéaire qui compense les perturbations et assure la stabilité dans des conditions variables, offrant de bonnes performances avec une configuration plus simple et moins d'efforts d'ajustement par rapport aux régulateurs PID.

Oui, le Reinforcement Learning offre une approche dynamique en apprenant par interactions avec l'environnement, ce qui en fait une alternative solide aux régulateurs traditionnels comme le PID, notamment lorsque les moteurs et leurs conditions de fonctionnement sont difficiles à caractériser.


Voir aussi: entraînements moteur et moteurs à traction, contrôle de moteur BLDC, contrôle de la vitesse des moteurs à induction, méthode du vecteur spatial, Simulink Real-Time, Commande vectorielle