Implémenter rapidement des conceptions de commande moteur à l'aide d'un circuit intégré de commande avec microcontrôleur intégré

Par Jacob Beningo

Avec la contribution de Rédacteurs nord-américains de DigiKey

L'utilisation des moteurs est en constante augmentation dans les applications telles que l'automobile, la robotique, le contrôle industriel et les véhicules aériens. Toutefois, l'électronique de moteur est généralement lourde, encombrante, inefficace et difficile à utiliser en raison des hautes tensions de commande impliquées. Les concepteurs sont confrontés à une demande croissante en matière de réduction des coûts de nomenclature, d'augmentation du rendement et de réduction de l'empreinte électronique, ainsi qu'à des exigences de plus grande flexibilité et de commercialisation plus rapide. Un degré supérieur d'intégration et de facilité d'utilisation est donc nécessaire.

Cet article présente la gamme STSPIN32F060x de contrôleurs moteurs triphasés en système en boîtier (SiP) avec microcontrôleur intégré de STMicroelectronics et montre comment les utiliser afin de relever ces défis de conception, de coûts et de délais de mise sur le marché.

Comment commander un moteur triphasé

Pour commander un moteur triphasé, plusieurs blocs matériels doivent être intégrés dans la conception :

  • Un microcontrôleur
  • Un circuit intégré de commande moteur
  • Des MOSFET ou IGBT haute tension (qui effectuent la commutation)

Dans une conception traditionnelle de contrôleur moteur, les développeurs réservent généralement une section de la carte à circuit imprimé aux trois blocs. Typiquement, le microcontrôleur envoie des signaux à modulation de largeur d'impulsion (PWM) au circuit intégré de commande moteur, qui surveille attentivement ces signaux ainsi que le courant et la tension de sortie qui sont générés à la sortie du contrôleur moteur, pour commander les MOSFET. Le microcontrôleur communique également souvent avec le circuit intégré de commande moteur par le biais d'un bus I2C ou SPI pour offrir des fonctionnalités personnalisées. Il peut également utiliser environ une demi-douzaine de signaux GPIO discrets pour contrôler le comportement du pont.

Le défi avec un circuit d'attaque en pont externe dans le cycle de développement actuel, c'est qu'il augmente les coûts et la complexité, et utilise un espace carte précieux, sans parler des signaux d'entrée et de sortie (E/S) du microcontrôleur qui pourraient être utilisés pour autre chose. C'est là qu'une nouvelle catégorie de microcontrôleurs et de circuits en pont intégrés simplifie les applications de commande moteur, tout en diminuant les coûts de nomenclature et en réduisant la surface carte requise.

Pourquoi utiliser le STSPIN32F060x

Cette catégorie est représentée par la série de composants SiP STSPIN32F060x de STMicroelectronics, qui embarque un microcontrôleur Arm® Cortex®-M0 STM32F031x6x7 avec un circuit d'attaque de grille en demi-pont triple de 600 V (Figure 1). Chaque demi-pont peut être utilisé pour commander un MOSFET ou un IGBT sur chaque phase d'un moteur CC sans balais (BLDC).

Schéma du STM32F060x de STMicroelectronics qui intègre STM32F031 Arm Cortex-M0 (cliquez pour agrandir)Figure 1 : Le STM32F060x intègre un microcontrôleur Arm Cortex-M0 STM32F031 avec un circuit d'attaque de grille en demi-pont triple de 600 V pour réduire les coûts et économiser de l'espace carte et des broches dans le boîtier. (Source de l'image : STMicroelectronics)

La série présente des fonctionnalités et des protections très intéressantes. Par exemple, les composants incluent les éléments suivants :

  • Un comparateur doté d'une fonction d'arrêt intelligent (smartSD) avancée assurant une protection rapide et efficace contre les surcharges et les surintensités
  • Diodes auto-élévatrices haute tension intégrées
  • Protection anti-interconduction
  • Protection liée au temps de récupération
  • Verrouillage en cas de sous-tension (UVLO)

Le microcontrôleur intégré fonctionne à 48 mégahertz (MHz) et inclut 32 kilo-octets (Ko) de mémoire Flash avec 4 Ko de mémoire RAM, ce qui est idéal pour implémenter le contrôle à champ orienté (FOC).

Le STM32F060x inclut actuellement deux composants dans la gamme : STSPIN32F0601 et STSPIN32F0602. La principale différence entre les deux est que le 0601 prend en charge les courants d'attaque de grille jusqu'à 0,35 ampère (A), alors que le 0602 peut supporter jusqu'à 1,0 A.

Notez que dans le circuit intégré, le microcontrôleur STM32F031 est connecté au circuit d'attaque de grille via plusieurs lignes GPIO internes au boîtier. La GPIO PA11 est utilisée pour activer le circuit d'attaque de grille, et la GPIO PB12 est utilisée pour détecter une défaillance du pont. Les GPIO PA8 à PA10 sont utilisées pour les entrées haut potentiel du circuit d'attaque de grille, tandis que les GPIO PB13 – 15 sont utilisées pour les entrées bas potentiel du circuit d'attaque de grille. Ainsi, les développeurs n'ont pas besoin d'utiliser des broches GPIO externes pour contrôler un circuit d'attaque de grille, ni de l'espace carte pour router des pistes vers un circuit intégré séparé. L'intégration des deux composants simplifie la complexité matérielle et de conception, et peut réduire considérablement les coûts de nomenclature.

Accélérer le développement grâce à la carte de développement EVSPIN32F0601S1

Le STSPIN32F060x est pris en charge par la carte de développement EVSPIN32F0601S1, un kit de démarrage d'onduleur triphasé complet qui inclut toute l'électronique nécessaire pour faire fonctionner un moteur BLDC à l'aide du contrôleur STSPIN32F0601 (Figure 2). La carte de développement EVSPIN32F0601S1 est divisée en cinq sections principales :

  • Le STSPIN32F0601
  • Un débogueur STLINK amovible
  • Un réseau de rétroaction
  • Un étage de puissance
  • Une alimentation

Image de la carte de développement EVSPIN32F0601S1 de STMicroelectronicsFigure 2 : La carte de développement EVSPIN32F0601S1 fournit toute l'électronique nécessaire pour faire fonctionner un moteur BLDC à l'aide du contrôleur STSPIN32F0601. (Source de l'image : STMicroelectronics)

Le débogueur STLINK peut être retiré de la carte de développement si nécessaire, ce qui permet aux développeurs de réduire la taille de la carte afin de pouvoir l'utiliser dans des prototypes et des boîtiers de démonstration de faisabilité. Les développeurs peuvent toujours connecter un débogueur STLINK-V3SET externe (Figure 3) en le raccordant aux embases SWD sur la carte de développement.

Image du débogueur STLINK-V3SET de STMicroelectronicsFigure 3 : Le STLINK-V3SET est un débogueur externe qui peut être utilisé pour programmer et déboguer des applications créées à l'aide du microcontrôleur STM32. (Source de l'image : STMicroelectronics)

La carte de développement inclut également un réseau de rétroaction qui peut être utilisé pour les algorithmes de commande moteur exigeant des capteurs pour fournir la rétroaction de tension et de courant. Dans de nombreuses conceptions modernes, ces réseaux de rétroaction peuvent être supprimés et un algorithme FOC peut être utilisé. Il s'agit d'un algorithme de commande moteur sans capteur qui peut réduire davantage les coûts de nomenclature et la taille de la carte à circuit imprimé résultante.

L'étage de puissance fournit aux développeurs des MOSFET ou des IGBT haut et bas potentiel qui sont utilisés pour commuter la tension entre les différents enroulements du moteur. Ce qui est intéressant dans la conception de la carte, c'est que les empreintes sont destinées aux boîtiers DPAK ou PowerFlat, ce qui permet aux développeurs de modifier la carte de développement s'ils souhaitent utiliser leur propre MOSFET ou IGBT.

Enfin, l'alimentation peut fournir une entrée de 50 V à 280 V CC/CA. Le transformateur indirect intégré peut également générer +15 et +3,3 V pour une utilisation dans l'application.

Pour faire des tests avec la carte de développement, il faut connecter un BLDC tel que le QBL4208-41-04-006 de Trinamic Motion Control GmbH (Figure 4). Chaque phase du moteur BLDC est connectée à l'EVSPIN32F0601S1 via les bornes à vis de sortie appropriées.

Image du moteur BLDC QBL4208-41-04-006 de Trinamic Motion Control GmbHFigure 4 : Le moteur BLDC QBL4208-41-04-006 fonctionne à 4000 tr/min et peut être utilisé avec la carte de développement EVSPIN32F0601S1 pour développer une grande variété d'applications. (Source de l'image : Trinamic Motion Control GmbH)

Même si la carte de développement EVSPIN32F0601S1 dispose de tout le matériel nécessaire pour commander un moteur BLDC, un moteur triphasé nécessite également un logiciel. Pour commander un moteur correctement, les développeurs peuvent tirer parti du kit de développement logiciel de commande moteur X-CUBE-MCSDK de STMicroelectronics. Cette bibliothèque peut être utilisée avec des packs logiciels comme ST32CubeIDE et ST32CubeMx pour configurer facilement une solution de commande moteur.

Commander un moteur BLDC à l'aide d'un logiciel

Le pack logiciel X-CUBE-MCSDK inclut deux applications de haut niveau : Motor Control Workbench et Motor Profiler. Motor Control Workbench permet aux développeurs de créer un projet de commande moteur afin de faire fonctionner facilement un moteur. Différents algorithmes de moteur peuvent être utilisés pour commander le moteur, y compris FOC, ainsi que différentes topologies de rétroaction, notamment :

  • Une résistance shunt
  • Trois résistances shunts
  • Deux capteurs de courant isolés

Motor Profiler permet aux développeurs d'entrer leurs paramètres de moteur généraux, puis de définir complètement le profil du moteur. Ce profil fournit les paramètres de moteur généraux requis par les algorithmes comme FOC pour commander correctement le moteur.

La création d'un projet dans Motor Control Workbench est simple. Les développeurs doivent ouvrir Motor Control Workbench et sélectionner un nouveau projet. Ils peuvent ensuite entrer leurs paramètres comme illustré dans la Figure 5 :

  • Type d'application
  • Nombre de moteurs à commander
  • Configurations de puissance et de commande
  • Paramètres du moteur comme les pôles, la vitesse, la tension et le courant nominal

Image d'un projet Motor Control WorkbenchFigure 5 : La configuration d'un projet Motor Control Workbench permet aux développeurs de personnaliser les paramètres de leur projet pour leur matériel. (Source de l'image : Beningo Embedded Group)

Une fois que les développeurs ont sélectionné les informations du projet, ils peuvent cliquer sur OK, ce qui leur permet d'accéder à l'outil Motor Control Workbench (Figure 6). À partir de là, les développeurs peuvent personnaliser le comportement de leur application. Ils peuvent ainsi configurer les éléments suivants :

  • Les paramètres du micrologiciel comme le profil de démarrage, les paramètres de commande et les options de détection
  • Les paramètres E/S numériques comme l'interface de codeur, les capteurs à effet Hall, la communication série et les boutons de marche et d'arrêt
  • Les fonctionnalités du convertisseur numérique-analogique (CNA)
  • Les paramètres de protection et d'entrée analogique pour la rétroaction en fonction du courant de phase, de la tension de bus, de la température et de l'étage PFC

Image de Motor Control WorkbenchFigure 6 : Motor Control Workbench permet aux développeurs de personnaliser leur micrologiciel et d'ajuster les fréquences d'horloge et de microcontrôleur, les E/S numériques, le CNA et la protection d'entrée analogique. (Source de l'image : Beningo Embedded Group)

Les développeurs peuvent même activer et désactiver certains paramètres en utilisant des cases à cocher :

  • Détection de la tension de bus
  • Détection de la température
  • Détection du courant avec protection contre la surintensité
  • Détection de la vitesse

Les développeurs n'ont même pas besoin d'API ou de lignes de code pour configurer complètement leur application de commande moteur.

Conclusion

Les développeurs et les concepteurs de systèmes de commande moteur sont confrontés à une pression croissante pour réduire les coûts, augmenter le rendement et réduire l'empreinte électronique. Comme illustré ici, le SiP STSPIN32F060x pour les applications de contrôleur de moteur BLDC triphasé permet non seulement de réduire les coûts de nomenclature, mais également l'espace carte et la complexité du système. En outre, il est fourni avec un écosystème efficace, notamment une carte de développement et un logiciel conçus pour permettre aux développeurs de faire fonctionner des applications de commande moteur rapidement et facilement.

DigiKey logo

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é.

À propos de l'auteur

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo est un consultant en logiciels embarqués, et il travaille actuellement avec des clients dans plus d'une douzaine de pays pour transformer radicalement leurs activités en améliorant la qualité, les coûts et les délais de commercialisation des produits. Il a publié plus de 200 articles sur les techniques de développement de logiciels embarqués. Jacob Beningo est un conférencier et un formateur technique recherché, et il est titulaire de trois diplômes, dont un master en ingénierie de l'Université du Michigan. N'hésitez pas à le contacter à l'adresse jacob@beningo.com et sur son site Web www.beningo.com, et abonnez-vous à sa newsletter mensuelle Embedded Bytes.

À propos de l'éditeur

Rédacteurs nord-américains de DigiKey