Arduino UNO R4 - moteur à courant continu

Dans ce guide, nous apprendrons comment utiliser l'Arduino UNO R4 pour contrôler le moteur à courant continu. En détail, nous apprendrons :

Arduino UNO R4 moteur à courant continu

À propos du moteur à courant continu

Schéma des broches du moteur à courant continu

Un moteur à courant continu a deux fils.

  • Fil positif : souvent rouge
  • Fil négatif : souvent noir
Schéma de brochage du moteur à courant continu

Comment ça fonctionne

Lorsque vous achetez un moteur à courant continu, il est important de comprendre sous quelle tension il fonctionne. Par exemple, considérez un moteur à courant continu qui fonctionne à 12 V. Lorsque vous connectez le moteur à 12 V à une source d'alimentation de 12 V :

  • Connectez le 12 V au fil positif et la masse (GND) au fil négatif : le moteur à courant continu tournera à pleine vitesse dans le sens horaire.
  • Connectez le 12 V au fil négatif et la masse (GND) au fil positif : le moteur à courant continu tournera à pleine vitesse dans le sens antihoraire.

Lorsque vous inversez les connexions sur deux fils du moteur à courant continu, comme indiqué précédemment, la direction dans laquelle il tourne change. Cette technique permet de contrôler la direction du moteur à courant continu. Cela ne se fait pas manuellement, mais par programmation.

Si nous appliquons moins de 12 V aux moteurs à courant continu, le moteur tourne mais pas à pleine vitesse. Cela montre que faire varier la tension change la vitesse du moteur. Or, régler directement la tension est difficile dans des situations réelles. Il existe donc une méthode plus simple pour contrôler la vitesse d’un moteur à courant continu. Nous maintenons la tension d’alimentation constante et utilisons un signal PWM (modulation de largeur d’impulsion) pour contrôler la vitesse du moteur. Avec un rapport cyclique PWM plus élevé, le moteur tourne plus rapidement, et inversement.

Comment contrôler un moteur à courant continu

Comment contrôler un moteur à courant continu avec Arduino UNO R4

Pour contrôler un moteur à courant continu, vous devez contrôler sa vitesse et sa direction. L'Arduino UNO R4 peut générer un signal PWM, mais ce signal est trop faible en tension et en courant pour piloter le moteur directement. Par conséquent, un pilote matériel est nécessaire pour connecter l'Arduino UNO R4 au moteur à courant continu. Ce pilote effectue deux tâches principales :

  • Augmenter la puissance du signal PWM de l'Arduino UNO R4 (à la fois le courant et la tension) pour contrôler la vitesse.
  • Recevoir le signal de commande de l'Arduino UNO R4 afin de changer la polarité de l'alimentation pour contrôler la direction.
Contrôle d'un moteur à courant continu avec Arduino UNO R4

※ Note:

  • Vous pouvez utiliser ce guide pour n'importe quel moteur à courant continu. Nous utilisons un moteur de 12 V comme exemple.
  • Lorsque vous utilisez un moteur à 5 V, même si la broche de l'Arduino UNO R4 fournit 5 V (la même tension que le moteur à courant continu), vous avez toujours besoin d'un pilote entre l'Arduino UNO R4 et le moteur à courant continu. Cela est dû au fait que la broche de l'Arduino UNO R4 ne peut pas fournir un courant suffisant pour le moteur à courant continu.

Ce tutoriel utilisera le pilote L298N pour contrôler des moteurs à courant continu.

À propos du pilote L298N

Dans ce guide, nous apprendrons à utiliser le pilote L298N pour contrôler un moteur à courant continu.

Schéma des broches du pilote L298N

Schéma de brochage du pilote L298N

Le pilote L298N peut contrôler indépendamment deux moteurs à courant continu en même temps, appelés moteur A et moteur B. Il dispose de 13 broches.

Les broches communes pour les deux moteurs:

  • Broche VCC : alimente le moteur. La tension peut varier de 5 à 35 V.
  • Broche GND : il s'agit d'une broche de masse commune et elle doit être connectée à GND (0 V).
  • Broche 5 V : alimente le module L298N. Elle peut être alimentée par du 5 V fourni par un Arduino UNO R4.

Broches du moteur A (Canal A):

  • Broches ENA : Elles contrôlent la vitesse du moteur A. Pour régler la vitesse, retirez le cavalier et connectez-la à une entrée PWM.
  • Broches IN1 et IN2 : Elles déterminent la direction dans laquelle tourne le moteur A. Si l'une des broches est à un niveau haut et l'autre à un niveau bas, le moteur A tourne. Si les deux broches sont soit hautes soit basses, le moteur A s'arrête.
  • Broches OUT1 et OUT2 : Elles sont connectées au moteur A.

Broches du moteur B (Canal B) :

  • Broches ENB : Celles-ci contrôlent la vitesse du moteur B. Si vous retirez le cavalier et connectez ces broches à une entrée PWM, vous pouvez régler la vitesse à laquelle tourne le moteur B.
  • Broches IN3 et IN4 : Celles-ci contrôlent la direction dans laquelle tourne le moteur B. Si IN3 est haut et IN4 est bas, ou inversement, le moteur B tournera. Si IN3 et IN4 sont tous les deux à haut niveau ou tous les deux à bas niveau, le moteur B s'arrêtera.
  • Broches OUT3 et OUT4 : Celles-ci sont connectées au moteur B.

Le pilote L298N mentionné précédemment a deux types d'alimentation d'entrée :

  • Un pour le moteur à courant continu (broches VCC et GND) : de 5 à 35 V.
  • Un pour alimenter le module L298N lui-même (broches 5V et GND) : de 5 à 7 V.

Le pilote L298N possède trois cavaliers pour des usages plus complexes. Pour plus de simplicité, retirez tous les cavaliers du pilote L298N.

Nous pouvons contrôler deux moteurs à courant continu en même temps en utilisant un Arduino UNO R4 et un pilote L298N. Pour contrôler chaque moteur, nous utilisons trois broches de l'Arduino UNO R4.

※ Note:

Ce tutoriel vous montrera comment contrôler un moteur à courant continu en utilisant le canal A. Le contrôle d'un autre moteur à courant continu se fait de manière similaire.

Diagramme de câblage

Retirez les trois cavaliers du module L298N avant de commencer le câblage.

Schéma de câblage du moteur à courant continu et du pilote L298N pour Arduino UNO R4

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Voir Comment alimenter l'Arduino UNO R4..

Comment contrôler la vitesse d'un moteur à courant continu via le pilote L298N

Vous pouvez facilement ajuster la vitesse du moteur à courant continu en envoyant un signal PWM sur la broche ENA du L298N. Voici comment faire :

  • Connectez une broche de l'Arduino UNO R4 à la broche ENA du module L298N.
  • Utilisez la fonction analogWrite() pour envoyer un signal PWM sur la broche ENA. Le pilote L298N augmentera l'amplitude de ce signal PWM pour alimenter le moteur à courant continu.
analogWrite(ENA_PIN, speed); // Réglez la vitesse du moteur sur ENA_PIN, plage 0-255

La vitesse peut être n'importe quel nombre compris entre 0 et 255. À une vitesse de 0, le moteur s'arrêtera. À une vitesse de 255, le moteur tournera à sa vitesse maximale.

Comment contrôler la direction d'un moteur à courant continu via le pilote L298N

La direction dans laquelle tourne un moteur peut être modifiée en réglant les broches IN1 et IN2 sur HIGH ou LOW. Le tableau ci-dessous montre 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 dans le sens des aiguilles d'une montre.
digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, LOW);
  • Le moteur A tourne dans le sens antihoraire.
digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, HIGH);

※ Note:

Si vous connectez les broches OUT1 et OUT2 aux bornes du moteur DC dans le sens opposé, le moteur tournera dans l'autre direction. Pour corriger cela, il vous suffit d'inverser les positions des broches OUT1 et OUT2, ou de modifier les signaux de contrôle sur les broches IN1 et IN2 dans le code du programme.

Comment arrêter un moteur à courant continu qui tourne

Il existe deux méthodes pour éteindre un moteur à courant continu.

  • Mets la vitesse à zéro.
analogWrite(ENA_PIN, 0);
  • Définit les broches IN1 et IN2 à la même valeur (soit BAS ou HAUT).
digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, LOW);
  • ou
digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, HIGH);

Comment contrôler un moteur à courant continu avec le pilote L298N.

Code Arduino UNO R4

Le code ci-dessous fait ce qui suit :

  • Faites tourner le moteur à courant continu plus vite
  • Inversez la direction
  • Faites tourner le moteur à courant continu plus lentement
  • Arrêtez le moteur
/* * Ce code Arduino UNO R4 a été développé par newbiely.fr * Ce code Arduino UNO R4 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-uno-r4/arduino-uno-r4-dc-motor */ #define ENA_PIN 9 // The Arduino UNO R4 pin connected to the EN1 pin L298N #define IN1_PIN 6 // The Arduino UNO R4 pin connected to the IN1 pin L298N #define IN2_PIN 3 // The Arduino UNO R4 pin connected to the IN2 pin L298N void setup() { // initialize digital pins as outputs. pinMode(ENA_PIN, OUTPUT); pinMode(IN1_PIN, OUTPUT); pinMode(IN2_PIN, OUTPUT); } void loop() { digitalWrite(IN1_PIN, HIGH); // control motor A spins clockwise digitalWrite(IN2_PIN, LOW); // control motor A spins clockwise for (int speed = 0; speed <= 255; speed++) { analogWrite(ENA_PIN, speed); // control the speed delay(10); } delay(1000); // rotate at maximum speed 1 seconds in in clockwise direction // change direction digitalWrite(IN1_PIN, LOW); // control motor A spins anti-clockwise digitalWrite(IN2_PIN, HIGH); // control motor A spins anti-clockwise delay(1000); // rotate at maximum speed 1 seconds in in anti-clockwise direction for (int speed = 255; speed >= 0; speed--) { analogWrite(ENA_PIN, speed); // control the speed delay(10); } delay(1000); // stop motor 1 second }

Étapes rapides

Suivez ces instructions étape par étape:

  • Si c’est la première fois que vous utilisez l’Arduino Uno R4 WiFi/Minima, consultez le tutoriel sur Arduino UNO R4 - Installation du logiciel..
  • Reliez les composants selon le schéma fourni.
  • Connectez la carte Arduino Uno R4 à votre ordinateur à l’aide d’un câble USB.
  • Lancez l’IDE Arduino sur votre ordinateur.
  • Sélectionnez la carte Arduino Uno R4 appropriée (par ex. Arduino Uno R4 WiFi) et le port COM.
  • Retirez les trois cavaliers du module L298N.
  • Collez le code dans l’IDE Arduino.
  • Appuyez sur le bouton Upload dans l’IDE Arduino pour téléverser le code sur l’Arduino UNO R4.
  • Observations :
    • Le moteur à courant continu accélère, puis tourne à pleine vitesse pendant 1 seconde.
    • La direction du moteur à courant continu change.
    • Le moteur à courant continu tourne à pleine vitesse pendant 1 seconde dans la direction opposée.
    • Le moteur à courant continu ralentit.
    • Le moteur à courant continu s’arrête pendant 1 seconde.
    • Cette séquence se répète continuellement.

    ※ Note:

    Dans ce tutoriel, nous apprendrons comment ajuster la vitesse relative d'un moteur à courant continu par rapport à sa vitesse maximale. Pour contrôler la vitesse absolue en tours par seconde, nous devons utiliser un contrôleur PID et un encodeur. Nous aborderons comment contrôler la vitesse précise du moteur à courant continu dans un autre tutoriel.

Vidéo

Références des fonctions

Tutoriels connexes

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !