Raspberry Pi Pico - moteur à courant continu
Dans ce guide, nous vous montrerons comment contrôler le moteur à courant continu en utilisant le Raspberry Pi Pico. Nous aborderons les détails suivants :
- Comment fonctionne un moteur à courant continu
- Comment contrôler la vitesse et la direction d'un moteur à courant continu avec un module L298N
- Comment programmer le Raspberry Pi Pico pour contrôler la vitesse et la direction d'un moteur à courant continu

Préparation du matériel
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du moteur à courant continu
Brochage du moteur à courant continu
Un moteur à courant continu est livré avec deux fils.
- Fil positif : généralement rouge
- Fil négatif : généralement noir

Comment cela fonctionne
Lorsque vous achetez un moteur à courant continu, il est important de connaître la tension dont il a besoin. Par exemple, si vous avez un moteur à courant continu qui nécessite 12 volts, vous devez le connecter à une source d’alimentation de 12 volts.
- Connectez le 12 V au fil positif et la masse au fil négatif pour faire tourner le moteur dans le sens des aiguilles d'une montre à pleine vitesse.
- Connectez le 12 V au fil négatif et la masse au fil positif pour faire tourner le moteur dans le sens inverse des aiguilles d'une montre à pleine vitesse.
Lorsque vous échangez les connexions de deux fils sur le moteur à courant continu, comme expliqué précédemment, la façon dont il tourne changera. Cette méthode contrôle la direction de rotation du moteur à courant continu. Au lieu de faire cela manuellement, cela se fait par programmation.
Lorsque nous fournissons moins de 12 V aux moteurs à courant continu, ils fonctionnent toujours mais pas à leur vitesse maximale. Cela indique que la vitesse du moteur varie selon les tensions. Ajuster directement la tension peut être difficile en pratique. Par conséquent, une façon plus simple de contrôler la vitesse d'un moteur à courant continu est utilisée. Nous maintenons une tension constante fournie par l'alimentation et nous modifions la vitesse à l'aide d'un signal PWM (modulation de largeur d'impulsion). Le moteur tourne plus vite avec un rapport cyclique PWM plus élevé et plus lent avec un rapport plus faible.

Comment contrôler un moteur à courant continu avec le Raspberry Pi Pico
Pour piloter un moteur à courant continu avec un Raspberry Pi Pico, vous devez gérer à la fois sa vitesse et sa direction de rotation. Le Raspberry Pi Pico génère un signal PWM qui n'est pas suffisamment puissant pour faire fonctionner le moteur tout seul. Par conséquent, vous avez besoin d'un pilote matériel qui relie le Raspberry Pi Pico au moteur à courant continu. Ce pilote a deux fonctions importantes :
- Augmenter la puissance et la tension du signal PWM provenant du Raspberry Pi Pico pour contrôler la vitesse.
- Obtenir le signal de commande du Raspberry Pi Pico pour basculer la polarité de l'alimentation afin de contrôler la direction.

※ Note:
- Ce guide fonctionne pour tous les moteurs à courant continu. Ici, nous utilisons un moteur à courant continu de 12 V pour vous montrer comment.
- Si vous utilisez un moteur à courant continu de 5 V, vous aurez besoin d'un pilote entre le Raspberry Pi Pico et le moteur, même si les deux fonctionnent en 5 V. La broche du Raspberry Pi Pico ne peut pas fournir suffisamment de courant pour faire fonctionner le moteur par elle-même.
Ce guide montrera comment utiliser le pilote L298N pour contrôler des moteurs à courant continu.
À propos du pilote L298N
Ce guide vous montrera comment piloter un moteur à courant continu en utilisant le pilote L298N.
Schéma de brochage du pilote L298N

Le pilote L298N peut contrôler deux moteurs à courant continu distincts, appelés moteur A et moteur B, simultanément. Il dispose de 13 broches.
Les broches communes aux deux moteurs :
- Broche VCC : fournit l'alimentation au moteur. La tension peut être comprise entre 5 et 35 V.
- Broche GND : il s'agit d'une masse commune et doit être reliée à la masse (0 V).
- Broche 5V : alimente le module L298N en utilisant le 5V fourni par un Raspberry Pi Pico.
Broches du moteur A (Canal A) :
- Broches ENA : Elles déterminent la vitesse à laquelle le moteur A tourne. Pour changer la vitesse, retirez le cavalier et connectez la broche à une entrée PWM.
- Broches IN1 et IN2 : Elles déterminent dans quelle direction le moteur A tourne. Si l'une des broches est à un niveau logique élevé et l'autre à un niveau logique faible, le moteur A tournera. Si les deux broches sont à un niveau logique élevé ou faible, le moteur A ne tourne pas.
- Broches OUT1 et OUT2 : Elles sont reliées au moteur A.
Broches du moteur B (Canal B) :
- Broches ENB : Celles-ci ajustent la vitesse du moteur B. Enlevez le cavalier et connectez ces broches à une entrée PWM pour contrôler la vitesse du moteur B.
- Broches IN3 et IN4 : Elles déterminent la direction de rotation du moteur B. Le moteur B tourne lorsque IN3 est au niveau élevé et IN4 est au niveau faible, ou inversement. Si les deux sont au niveau élevé ou les deux au niveau faible, le moteur B ne tourne pas.
- Broches OUT3 et OUT4 : Ces broches se connectent au moteur B.
Le pilote L298N dont nous avons déjà parlé utilise deux types d'alimentation d'entrée :
- Un pour le moteur à courant continu (broches VCC et GND) : entre 5 et 35 V.
- Un pour le fonctionnement du module L298N (broches 5V et GGD) : entre 5 et 7 V.
Le driver L298N comprend trois cavaliers pour les fonctions avancées. Pour simplifier, retirez tous les cavaliers du driver L298N.
Vous pouvez piloter deux moteurs à courant continu simultanément avec un Raspberry Pi Pico et un pilote L298N. Pour gérer chaque moteur, vous devez connecter trois broches du Raspberry Pi Pico.
※ Note:
Ce guide vous expliquera comment contrôler un moteur à courant continu en utilisant le canal A. Vous pouvez contrôler un autre moteur à courant continu de la même manière.
Diagramme de câblage
Avant de commencer le câblage, retirez les trois cavaliers du module L298N.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Comment contrôler la vitesse d'un moteur à courant continu via le pilote L298N
Vous pouvez ajuster la vitesse du moteur à courant continu en envoyant un signal PWM sur la broche ENA du L298N. Voici comment procéder :
- Relier une broche du Raspberry Pi Pico à la broche ENA du module L298N.
- Utilisez la fonction ena.duty_u16() pour envoyer un signal PWM à la broche ENA. Le pilote L298N amplifiera ensuite ce signal PWM pour contrôler le moteur à courant continu.
La vitesse peut être réglée entre 0 et 255. À 0, le moteur ne bougera pas. À 255, le moteur se déplacera à sa vitesse maximale.
Comment contrôler la direction d'un moteur à courant continu via le pilote L298N
Vous pouvez changer le sens de rotation d'un moteur en ajustant les broches IN1 et IN2 sur HIGH ou LOW. Le tableau ci-dessous explique comment contrôler la direction pour les deux canaux.
| IN1 pin | IN2 pin | Direction |
|---|---|---|
| LOW | LOW | Motor A stops |
| HIGH | HIGH | Motor A stops |
| HIGH | LOW | Motor A spins Clockwise |
| LOW | HIGH | Motor A spins Anti-Clockwise |
- Le moteur A tourne à droite.
- Le moteur A tourne dans le sens opposé à celui des aiguilles d'une montre.
※ Note:
Si vous inversez les connexions des broches OUT1 et OUT2 avec les broches du moteur à courant continu, le moteur tournera dans l’autre sens. Pour corriger cela, inversez les broches OUT1 et OUT2, ou modifiez les signaux de commande des broches IN1 et IN2 dans le code du programme.
Comment arrêter la rotation d'un moteur à courant continu
Il existe trois façons d'éteindre un moteur à courant continu.
- Réglez la vitesse à zéro.
- Met les broches IN1 et IN2 à l'état bas.
- Place les broches IN1 et IN2 à l'état haut.
Comment contrôler un moteur à courant continu en utilisant le pilote L298N.
Code du Raspberry Pi Pico
Le code ci-dessous effectue les actions suivantes :
- Accélérer le moteur à courant continu
- Changer la direction
- Ralentir le moteur à courant continu
- Arrêter le moteur
Étapes rapides
Veuillez suivre ces instructions étape par étape :
- Assurez-vous que l'IDE Thonny est installé sur votre ordinateur.
- Assurez-vous que le micrologiciel MicroPython est installé sur votre Raspberry Pi Pico.
- Si c'est la première fois que vous utilisez un Raspberry Pico, reportez-vous au tutoriel Raspberry Pi Pico - Premiers pas. pour obtenir des instructions détaillées.
- Retirez les trois cavaliers du module L298N.
- Connectez le Raspberry Pi Pico au moteur DC via le module L298N selon le schéma fourni.
- Connectez le Raspberry Pi Pico à votre ordinateur à l'aide d'un câble USB.
- Lancez l'IDE Thonny sur votre ordinateur.
- Dans l'IDE Thonny, sélectionnez l'interpréteur MicroPython (Raspberry Pi Pico) en naviguant vers Outils Options.
- Dans l'onglet Interpréteur, sélectionnez MicroPython (Raspberry Pi Pico) dans le menu déroulant.
- Assurez-vous que le bon port est sélectionné. L'IDE Thonny devrait détecter automatiquement le port, mais vous devrez peut-être le sélectionner manuellement (par exemple COM3 sous Windows ou /dev/ttyACM0 sous Linux).
- Copiez le code ci-dessus et collez-le dans l'éditeur de l'IDE Thonny.
- Enregistrez le script sur votre Raspberry Pi Pico en procédant comme suit :
- Cliquez sur le bouton Enregistrer, ou utilisez les touches Ctrl+S.
- Dans la boîte de dialogue d'enregistrement, vous verrez deux sections: Cet ordinateur et Raspberry Pi Pico. Sélectionnez Raspberry Pi Pico
- Enregistrez le fichier sous main.py
- Cliquez sur le bouton vert Lancer (ou appuyez sur F5) pour exécuter le script. Le script s'exécutera.
- Observations :
- Le moteur DC accélère, puis tourne à vitesse maximale pendant 1 seconde.
- La direction du moteur DC change.
- Le moteur DC tourne à vitesse maximale pendant 1 seconde en sens inverse.
- Le moteur DC ralentit.
- Le moteur DC fait une pause de 1 seconde.
- Ce cycle se répète sans cesse.
※ Note:
Dans ce guide, nous apprendrons comment modifier la vitesse d'un moteur à courant continu par rapport à sa vitesse maximale. Pour gérer la vitesse exacte en tours par seconde, nous devons utiliser un contrôleur PID et un encodeur. Nous discuterons de la façon de contrôler la vitesse exacte du moteur à courant continu dans un autre guide.