Aperçu des microcontrôleurs PIC pour la commande de moteurs

Les microcontrôleurs PIC, développés par Microchip Technology, sont parmi les contrôleurs embarqués les plus utilisés dans l'électronique industrielle et de consommation. Leurs périphériques intégrés – modules PWM, minuteurs à grande vitesse, CDA multicanaux et manipulations d'interruption flexibles – les rendent particulièrement bien adaptés aux applications de commande de moteur. Que ce soit la conduite d'un petit ventilateur DC, d'un moteur à pas de précision dans une imprimante 3D, ou d'un moteur DC sans brosse (BLDC) dans un drone, un microcontrôleur PIC peut servir de cœur à un système de commande efficace et réactif.

La clé d'un contrôle moteur efficace réside dans la capacité d'ajuster dynamiquement la distribution d'énergie en fonction de la rétroaction en temps réel. Les PIC MCU fournissent la puissance et les fonctionnalités matérielles nécessaires pour mettre en œuvre des algorithmes en boucle fermée tels que PID (proportionnelle-intégrale-dérivative) sans exiger de composants externes.

Types de moteurs et leurs exigences de contrôle

La compréhension de ces exigences est la première étape dans la sélection du microcontrôleur PIC approprié et la conception du pilote et de l'algorithme appropriés.

Moteurs brossés DC

Les moteurs à courant continu sont simples, peu coûteux et faciles à contrôler. La vitesse est réglée par la variation de la tension moyenne appliquée, généralement par modulation de la largeur d'impulsion (PWM). La direction est contrôlée par inversion de la polarité à l'aide d'un pont H. Le contrôle de la vitesse en boucle fermée peut être réalisé avec un tachymètre ou un encodeur qui se remet en fonction de l'unité de capture d'entrée PIC.

Moteurs à pas

Les moteurs pas à pas se déplacent en plusieurs étapes, ce qui les rend idéales pour le contrôle de position sans capteur de rétroaction (open-loop). Le PIC doit générer des séquences précises d'impulsions au conducteur du moteur (par exemple, A4988 ou DRV8825). Cela nécessite des minuteurs précis et une réponse d'interruption rapide pour éviter les étapes manquées. Le contrôle avancé comprend le micro-étape (par exemple, 1/16e étape) pour un mouvement plus fluide.

Moteurs à courant continu sans brosse (BLDC)

Les moteurs BLDC sont plus efficaces et durables que les types brossés, mais nécessitent une commutation électronique. Le PIC doit connaître la position du rotor (par l'intermédiaire de capteurs Hall ou de détection par rétro-EMF) et activer les remontages corrects en séquence. Il s'agit de la commutation en six étapes ou d'un contrôle sur le terrain plus avancé (CFO). Le CFO exige un prélèvement ADC à grande vitesse (pour les courants de phase et l'angle du rotor) et des calculs mathématiques complexes (transformations Clarke/Park, contrôleurs PI).

Caractéristiques principales PIC pour le contrôle de moteur

Pour mettre en œuvre un contrôle moteur efficace, un concepteur doit exploiter pleinement le microcontrôleur de l'ensemble périphérique. Les caractéristiques suivantes sont les plus critiques.

Modulation de la largeur des impulsions (PWM)

Les microcontrôleurs PIC offrent plusieurs canaux PWM avec fréquence réglable, cycle de travail et temps mort (pour la prévention des tirs par le biais de la passerelle H). Des appareils comme le PIC16F1789 disposent de quatre modules PWM, tandis que les familles dsPIC33C offrent une résolution PWM haute résolution jusqu'à 250 ps. Pour les moteurs BLDC, des sorties PWM complémentaires avec bande morte programmable sont essentielles.

Convertisseur analogique au numérique (ADC)

La plupart des MCU PIC comprennent des CDA de 10 ou 12 bits avec des canaux d'entrée multiples. La série dsPIC33 offre des CDA de 12 bits avec un taux de conversion allant jusqu'à 3,5 MS/s, permettant un échantillonnage simultané de deux courants de phase pour FOC. De nombreux appareils disposent également d'un capteur de température sur puce et d'une référence de tension interne pour l'étalonnage.

Chronomètres et saisie d'entrées

Les minuteurs génèrent des retards précis et des fréquences de base PWM. Le module de capture d'entrée peut mesurer la largeur d'impulsion des encodeurs ou des convertisseurs de fréquence à tension. Ceci est crucial pour mesurer la vitesse du moteur (RPM) ou pour décoder les signaux quadrature encodeur. Certains PIC ont des modules QEI dédiés (Quadrature Encoder Interface) qui gèrent la position, la vitesse et la direction automatiquement, déchargeant le processeur.

Interruptions

Les microcontrôleurs PIC supportent plusieurs priorités d'interruption, permettant des routines critiques dans le temps (p. ex., mise à jour PWM) pour prévenir les tâches moins prioritaires. La latence d'interruption des PIC modernes est dans la gamme de 5 à 20 cycles d'horloge, suffisant pour les boucles de commutation rapides.

Comparateurs et Op-Amps

De nombreux appareils PIC récents intègrent des comparateurs analogiques et des amplificateurs opérationnels. Ils peuvent être utilisés pour la détection de surcourant, la détection de rétro-EMF pour le contrôle sans capteur BLDC, et pour la construction de filtres analogiques simples.

Sélection du microcontrôleur PIC droit

Le choix de PIC dépend du type de moteur, de la complexité de l'algorithme de contrôle et de l'ensemble périphérique requis. Microchip offre des familles allant de la base de 8 bits à des appareils MIPS 32 bits.

PIC 8 bits pour le contrôle de base

Les familles PIC16F et PIC18F conviennent aux applications simples de moteurs à balais DC et à stepper. Le PIC16F1847 fournit deux canaux PWM, un oscillateur interne 10 bits et jusqu'à 64 MHz. Pour les pilotes stepper, le PIC18F25K40 comprend plusieurs minuteries et un module PWM dédié.

PIC24 et dsPIC33 16 bits pour le contrôle avancé

Pour les moteurs BLDC et FOC, les contrôleurs numériques de signal dsPIC33 (DSC) sont le meilleur choix. Ils combinent un noyau MCU 16 bits avec un moteur DSP pour les mathématiques rapides (multiplier-accumuler, diviser). Les principales caractéristiques incluent PWM haute résolution (250 ps), ADC 12 bits avec jusqu'à 6 MSPS, et RAM double-port pour l'échantillonnage simultané. Le dsPIC33CK256MP508 a 256 KB flash, deux modules MCPWM, et jusqu'à six op-amps, ce qui le rend idéal pour la commande de moteur trois phases.

PIC32 32 bits pour systèmes complexes

Lorsque l'algorithme de contrôle devient extrêmement intensif en calcul (p. ex., commande de robot multiaxe avec EtherCAT), les microcontrôleurs PIC32MZ avec des cœurs MIPS de 200 MHz fournissent le débit nécessaire. Leur PWM à haute vitesse (résolution jusqu'à 1 ns) et leur ADC multicanal avec séquençage automatique les rendent compétitifs avec les homologues ARM Cortex-M.

Conception du système de commande de moteur

Un système de commande de moteur se compose de trois blocs principaux : le microcontrôleur PIC, le stade de puissance (conducteur et pont H) et les capteurs de rétroaction. Les sections suivantes décrivent les choix pratiques de conception.

Mise en œuvre du matériel

Pour les moteurs à basse tension, les moteurs à courant continu L293D ou TB6612FNG (jusqu'à 1,2 A) sont populaires. Pour les moteurs BLDC, les moteurs à trois phases comme le DRV8301 (jusqu'à 2,5 A par phase) intègrent les pilotes de porte et les amplificateurs de courant. Ils incluent toujours les condensateurs bootstrap pour les MOSFET et les réseaux de stupéfaction à haut niveau pour supprimer les pics de tension. Du côté du capteur, les capteurs Hall-Effect (par exemple A3144) peuvent être connectés directement aux E/S numériques, tandis que les encodeurs quadratures nécessitent des modules de capture d'entrée ou QEI.

Les circuits de protection ne sont pas négociables. Placez les diodes TVS sur les terminaux moteurs, un fusible à souffle rapide sur l'entrée de puissance et une diode de protection contre la polarité inverse. Les broches d'entrée analogiques PIC=1 doivent être serrées avec les diodes Schottky si elles s'interfacent avec des circuits à haute tension.

Architecture logicielle

Le firmware de commande fonctionne généralement comme une machine d'état. La boucle principale initialise les périphériques, puis entre dans une boucle infinie. Interruption des routines de service (ISR) gère les tâches critiques en temps : mise à jour PWM, achèvement de la conversion ADC, surcourant et comptage des impulsions encodeur. Pour un contrôleur de vitesse PID, l'ISR calcule l'erreur, calcule la sortie et met à jour le cycle de travail PWM. Le taux de mise à jour doit être au moins 10 fois la constante de temps électrique du moteur; pour un moteur DC typique, 1-10 kHz est suffisant.

Utilisez Microchip , le configurateur de code (MCC) pour générer le code de configuration périphérique initial, ce qui réduit les erreurs manuelles. L'IDE MPLAB X fournit un simulateur et un débogueur pour tester la boucle de commande sans matériel.

Mise en œuvre des algorithmes de contrôle

Contrôle PID

L'algorithme PID reste la méthode de boucle fermée la plus utilisée pour le contrôle moteur.

Lorsque e(k) est l'erreur de vitesse à l'échantillon k, dt est la période d'échantillonnage, et Kp, Ki, Kd sont des gains d'accord. Pour empêcher la liquidation intégrale, serrez le terme intégral à une valeur maximale. Le coup de lance dérivé est minimisé en appliquant le dérivé au signal mesuré plutôt qu'à l'erreur. La sortie u(k) est graduée à la gamme de cycles de service PWM (0–100%).

Contrôle sans capteur de BLDC

Pour les BLDC sans capteur, la position du rotor est estimée à partir du rétro-EMF. Pendant la phase ouverte, le passage à zéro de la tension de phase par rapport au point neutre indique l'instant de commutation. Le module de comparaison PIC=1 et les minuteurs sont utilisés pour détecter ces événements. Une note d'application dédiée de détection de rétro-EMF (Microchip Motor Control Design Center) fournit un firmware pré-validé.

Contrôle orienté sur le terrain (CFO)

Il nécessite des transformations Clarke et Park, des contrôleurs PI dans le cadre de référence dq et une transformation inverse Park. Le moteur DSP dsPIC33 , exécute ces transformations en quelques microsecondes. Microchip fournit une bibliothèque logicielle gratuite FOC (Reference Designs[) qui inclut des boucles de courant et de vitesse pré-accordées. Le firmware fonctionne sur un DSP MIPS 40–80, laissant la salle de tête pour les communications et les contrôles de sécurité.

Considérations pratiques en matière de conception

Mise en page des PCB

Placez les condensateurs de découplage (0,1 μF + 10 μF) près de chaque goupille de puissance. Gardez les traces de courant élevé (puissance motrice) large et loin des signaux analogiques sensibles. Utilisez un plan de terre sur la couche inférieure pour réduire l'inductance de boucle. Pour les conceptions de BLDC, acheminez les traces de sortie en trois phases avec une longueur égale pour minimiser l'inadéquation d'impédance.

Atténuation du bruit

Le changement de moteur génère du bruit à haute fréquence qui peut corrompre les lectures ADC PIC. Utilisez des perles de ferrite sur les lignes d'alimentation moteur, des câbles de codeurs de boucliers et ajoutez des filtres RC à passe basse sur les entrées analogiques (fréquence de coupure sous la fréquence de commutation PWM).

Gestion thermique

Le conducteur du moteur et le PIC lui-même peuvent se réchauffer pendant un fonctionnement prolongé. Assurez-vous d'une surface de cuivre suffisante pour la dissipation de la chaleur. Si la température ambiante dépasse 85 °C, considérez les variantes de la plage de température PIC.

Outils et ressources de développement

Microchip="s MPLAB X IDE[ et XC8/XC16/XC32 les compilateurs sont libres pour les tailles de code jusqu'à 1 KB (XC8) ou 30 KB (XC16) et entièrement fonctionnels pour le développement de la commande moteur. L'outil graphique Microchip Code Configurator (MCC)[ permet de configurer rapidement les horloges, les minuteurs, les PWM, les ADC et d'interrompre les priorités.

Pour le débogage, l'émulateur en circuit MPLAB ICE 4 fournit une surveillance en temps réel des traces et de la tension. Un oscilloscope avec des sondes isolées est essentiel pour visionner les signaux de la porte PWM et les courants de phase. Le Motor Control Application Board (PICEM MCLV-2) est une plateforme de développement économique qui se marie avec un dispositif dsPIC33 et comprend un onduleur triphasé, une détection de courant et des entrées de capteur Hall.

Conclusion

La conception de systèmes de commande moteur efficaces avec des microcontrôleurs PIC est un choix pratique pour les ingénieurs allant des amateurs aux professionnels industriels. L'intégration périphérique étendue, l'écosystème de développement à faible coût et mature permettent un prototypage rapide et une production fiable. En comprenant les exigences spécifiques de différents types de moteurs, en tirant parti des modules PIC-Spéciaux PWM et ADC, en mettant en œuvre des algorithmes de contrôle robustes comme PID ou FOC, et en prêtant attention à la mise en page matérielle et à la gestion du bruit, vous pouvez créer des systèmes à la fois économes en énergie et réactifs.