Un moteur BLDC opérationnel en moins d'une heure grâce à une combinaison de matériel/logiciel
Avec la contribution de Rédacteurs nord-américains de DigiKey
2019-07-31
De nombreuses applications des secteurs de la défense, de l'industrie et de la robotique exigent l'utilisation d'un moteur CC sans balais (BLDC) dans un système embarqué. Quoique simple en apparence, le fonctionnement d'un moteur est un processus complexe pouvant ralentir un projet à mesure que le développeur appréhende la commande moteur, le couple, les caractéristiques électriques et les propriétés électromagnétiques, ainsi que les mesures de contre-réaction de courant.
Cela suppose la sélection préalable du matériel sur lequel exécuter l'algorithme de commande moteur avec un contrôle aisé sur la plage de mouvements de l'application, et ce, avec un nombre de composants minimal.
La solution idéale serait un ensemble matériel et logiciel tout-en-un pouvant considérablement réduire les délais de développement et permettre aux développeurs de se concentrer sur l'application finale, sans nécessiter de connaissances approfondies sur la commande moteur.
Cet article présente l'un des packs de Texas Instruments qui associe un microcontrôleur et le matériel de kit de développement à des outils et un logiciel de contrôle moteur à champ orienté InstaSPIN™. Il explique ensuite comment un développeur non initié peut utiliser cette combinaison pour déterminer facilement les paramètres du moteur et faire fonctionner un moteur BLDC complexe en moins d'une heure.
Présentation et utilisation d'InstaSPIN-FOC
Ce qui distingue la solution InstaSPIN de Texas Instruments est que le développeur peut faire fonctionner un moteur en moins d'une heure en partant de zéro. En fait, un développeur ayant utilisé la solution ne serait-ce qu'une fois pourrait même faire fonctionner un moteur en moins de dix minutes. En outre, comme le kit utilise le contrôle à champ orienté (FOC) au lieu d'un codeur, les développeurs doivent uniquement connecter l'alimentation et la terre au moteur, puis connecter les phases de commande respectives. À ce stade, d'un point de vue électrique, tout est prêt. Aucun codeur ou autre dispositif électronique complexe n'est requis.
Bien sûr, il existe d'autres mécanismes de contrôle que le FOC qui n'utilisent pas de capteurs ou de codeurs, tels que la temporisation du passage par zéro de la force contre-électromotrice. Cependant, l'InstaSPIN surveille le flux du moteur pour déterminer quand commuter le moteur. Le développeur peut visionner le signal de flux sur une fenêtre de tracés et régler le curseur de seuil du flux pour spécifier le niveau de flux de commutation du moteur. Il est possible de vérifier la commutation optimale en observant les formes d'ondes de courant et la tension de phase, qui sont également affichées.
La solution InstaSPIN-FOC inclut quatre composants principaux :
- Une carte de microcontrôleur
- Une carte de variateur moteur
- Une interface utilisateur graphique (GUI) InstaSPIN-FOC
- Un moteur BLDC
La carte de microcontrôleur fournit les capacités pour exécuter les algorithmes FOC et indiquer au variateur moteur quand activer et désactiver les différentes phases moteur, et pour gérer la communication avec l'interface GUI sur laquelle le développeur peut consulter les niveaux de flux et d'autres paramètres. Le variateur moteur fournit l'interface pour commander le moteur proprement dit. Il inclut les circuits électriques pour protéger le microcontrôleur contre les hautes tensions, effectuer les mesures et détecter également les défauts du moteur.
L'interface GUI InstaSPIN-FOC est une interface graphique universelle résidant dans la galerie de développement en ligne de Texas Instruments. Les développeurs peuvent exécuter l'interface GUI directement depuis un navigateur Web ou ils peuvent télécharger une version exécutable localement sur leur ordinateur.
Enfin, il y a le moteur BLDC triphasé à aimants permanents.
Examinons chacun de ces domaines en détail et explorons une solution matérielle potentielle pour faire tourner un moteur BLDC.
Variateurs moteur BLDC et microcontrôleurs
Plusieurs solutions s'offrent aux développeurs pour commander un moteur BLDC. Les concepteurs n'ont donc pas à chercher bien loin : l'InstaSPIN-FOC et le SDK MotorControl de TI sont associés au LaunchPad LAUNCHXL-F280049C TMS320F280049C (Figure 1) et au Booster Pack LaunchPad BOOSTXL-DRV8323RS. Le LaunchPad TMS320F280049C est une carte de développement économique incluant un débogueur XDS110 embarqué, des embases d'extension et le microcontrôleur F280049CPMS TMS320F280049C Piccolo™.
Figure 1 : Le LaunchPad TMS320F280049C inclut une sonde de débogage USB XDS110, un microcontrôleur F280049C Piccolo et des composants électroniques pour alimenter deux Booster Pack qui peuvent être utilisés dans du matériel spécifique à l'application. (Source de l'image : Texas Instruments)
Le microcontrôleur TMS320F280049C utilise un cœur de microcontrôleur C2000, il inclut 256 Ko de mémoire Flash et 100 Ko de RAM, et il s'exécute à 100 MHz. Le TMS320F280049C intègre également les algorithmes de commande moteur FOC de TI dans la mémoire ROM pour permettre aux développeurs d'économiser un espace de code précieux.
Le LaunchPad TMS320F280049C n'est pas le seul moyen permettant aux développeurs d'exploiter le microcontrôleur TMS320F280049C. Il y a également la carte de commande TMDSCNCD280049C pour le microcontrôleur TMS320F280049C (Figure 2). Cette carte peut être utilisée dans la phase de prototypage ou lorsque les développeurs veulent la flexibilité de pouvoir remplacer le microcontrôleur qu'ils utilisent dans leur application ou recherchent plus de possibilités d'extension. La carte de commande peut être placée sur une station d'accueil qui fournit aux développeurs un accès aux E/S du microcontrôleur.
Figure 2 : La carte de commande TMS320F280049C fournit les capacités de commande moteur dans un boîtier de module compact qui peut être utilisé avec une station d'accueil pour accéder aux E/S du microcontrôleur. (Source de l'image : Texas Instruments)
Le Booster Pack LaunchPad DRV8323RS est une carte d'extension placée sur le LaunchPad TMS320F280049C et qui ajoute le matériel supplémentaire requis pour commander un moteur BLDC (Figure 3).
Figure 3 : Le Booster Pack LaunchPad DRV8323RS inclut un contrôleur de commande moteur, des FET et les circuits supplémentaires pour commander un moteur BLDC. (Source de l'image : Texas Instruments)
La carte DRV8232RS peut être placée dans la zone d'extension du site 1 ou du site 2, mais l'emplacement du site 1 est celui que les exemples du SDK MotorControl supposent. Les développeurs peuvent connecter leur moteur BLDC à la carte à l'aide de trois connecteurs de style borne, puis fournir ensuite à la carte une alimentation externe pour commander le moteur. Le Booster Pack LaunchPad DRV8232RS fournit également l'alimentation à la carte TMS320F280049C. La carte contient des LED pour indiquer que le dispositif est sous tension, ainsi qu'une LED de détection de défaut.
Le principal élément du Booster Pack LaunchPad DRV8232RS est le circuit d'attaque de grille triphasé intelligent DRV8230. Le circuit d'attaque de grille fournit une détection de courant bas potentiel et une commande directe pour les MOSFET répertoriés pour un fonctionnement jusqu'à 60 V.
Le LaunchPad TMS320F280049C et le Booster Pack LaunchPad DRV8232RS permettent aux développeurs de commander une grande variété de moteurs BLDC. Le moteur QBL4208-41-04-006 de Trinamic (Figure 4) est un excellent exemple pour démarrer.
Le moteur de Trinamic fonctionne avec une alimentation de 24 V, tourne à 4000 tours par minute (tr/min) et fournit un couple de 62,5 millinewtons par mètre (mNm).
Figure 4 : Le moteur BLDC QBL4208-41-04-006 à 4000 tr/min de Trinamic fonctionne avec une alimentation de 24 V et fournit un couple de 62,5 mNm. (Source de l'image : Trinamic Motion Control GmbH)
Après avoir déterminé les exigences minimales permettant à un développeur de se lancer avec la commande moteur BLDC, l'étape suivante consiste à identifier les paramètres du moteur à l'aide de l'interface GUI InstaSPIN-FOC.
Identifier les paramètres du moteur BLDC et faire tourner le moteur
Pour que l'interface GUI InstaSPIN-FOC puisse commander un moteur, elle doit comprendre ses caractéristiques afin d'effectuer le contrôle FOC pour la vitesse ou le couple. Pour ce faire, l'algorithme doit connaître les caractéristiques suivantes :
- Résistance
- Inductance
- Flux moteur
- Courant magnétisant
Ces caractéristiques peuvent toutes être automatiquement déterminées via l'interface InstaSPIN-FOC en quelques minutes seulement. L'interface graphique peut être exécutée depuis un navigateur, et elle charge par défaut l'exercice pratique MotorControl SDK lab 5, conçu pour fonctionner avec le TMS320F280049C et la carte d'extension DRV8232. L'exercice lab 5 est celui qui démontre comment un développeur peut identifier un moteur et obtenir ses paramètres. Les détails complets sont disponibles dans le guide de démarrage rapide de l'interface GUI et dans le manuel lab.
Le développeur doit d'abord ouvrir l'interface InstaSPIN-FOC via le site des développeurs de TI. Il peut ensuite constater que l'environnement GUI inclut un bouton d'exécution comme tout IDE de développement. En cliquant sur ce bouton, il pourra télécharger le code d'identification du moteur sur son LaunchPad et essayer de l'exécuter.
Aucun événement ne se produit d'emblée, car le développeur doit d'abord activer le logiciel. Pour cela, il doit cocher la case « Enable System » (Activer le système) dans l'interface GUI. À ce stade, le code d'identification du moteur ne peut toujours pas s'exécuter, car la case « Run » (Exécuter) doit également être cochée. Lorsque l'option Run est activée, le code lance l'exécution d'une séquence conçue pour identifier le moteur. Il effectue les mesures requises pour obtenir les paramètres nécessaires au fonctionnement du moteur. L'ensemble du processus d'identification dure plusieurs minutes pendant lesquelles le moteur accélère et décélère, puis fonctionne à basse vitesse pendant quelques minutes.
À la fin de ce processus, l'interface du développeur peut ressembler au schéma de la Figure 5.
Figure 5 : L'interface InstaSPIN-FOC peu après l'identification d'un moteur. (Source de l'image : Jacob Beningo)
Notez que dans la Figure 5, plusieurs valeurs ont été renseignées dans le coin supérieur droit de l'interface. Il s'agit des paramètres du moteur à enregistrer afin de les appliquer ultérieurement pour commander le moteur en mode couple ou vitesse. Vous remarquerez également que l'indicateur « Motor Identified » (Moteur identifié) sur le côté gauche est passé du gris au vert. À ce stade, il nous est désormais possible de contrôler la vitesse du moteur directement via l'interface.
La vitesse du moteur peut être contrôlée simplement en modifiant le champ speedRef(Hz) (vitesse de référence). Notez que l'accélération du moteur dans ce contrôle de référence est très rapide. La décélération par contre, nécessite la saisie de plusieurs points de consigne qui sont à une valeur speedRef de plus en plus faible. Le moteur peut être complètement arrêté en désactivant la case « Run ».
Conseils et astuces pour utiliser un moteur BLDC avec InstaSPIN-FOC de TI
Vous trouverez ci-dessous plusieurs meilleures pratiques dont les développeurs doivent tenir compte lorsqu'ils travaillent avec des moteurs BLDC et la solution InstaSPIN-FOC de TI :
- Sélectionnez un microcontrôleur doté d'algorithmes moteur intégrés dans sa mémoire Flash. Cela réduit l'utilisation de l'espace de code par les algorithmes moteur et permet également d'améliorer les performances de leur exécution.
- Sur le LaunchPad F280049C, utilisez le site 1 comme site par défaut du Booster Pack LaunchPad DRV8323RS. L'utilisation du site 2 requiert des mises à jour du logiciel.
- Prenez le temps de parcourir les 13 exercices pratiques « lab » d'exemple fournis dans le SDK MotorControl de TI. Ces exercices pratiques couvrent notamment l'identification des paramètres du moteur, le contrôle du moteur et le contrôle de la vitesse et du couple.
- Utilisez l'exercice lab 5 pour trouver les paramètres de votre moteur. Si vous utilisez MOTOR_TYPE_PM, veillez à également ajouter la définition suivante afin de compiler correctement l'exercice pratique, puis utilisez la valeur ajustée :
define #define USER_MOTOR_INERTIA_Kgm2 (7.06154e-06)
- Commencez l'expérimentation BLDC avec l'interface InstaSPIN-FOC en ligne.
Conclusion
La commande d'un moteur BLDC pour contrôler le couple ou la vitesse peut constituer un problème complexe pouvant facilement dépasser les connaissances d'un ingénieur de logiciels embarqués et ralentir le développement d'un projet. Comme démontré, les développeurs utilisant l'InstaSPIN et le SDK MotorControl de Texas Instruments, ainsi que le matériel associé, peuvent rapidement et facilement faire tourner un moteur BLDC même avec des connaissances très limitées en techniques de contrôles.

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.