Arduino Nano - Actionneur

Ce tutoriel vous explique comment utiliser un Arduino Nano pour contrôler un actionneur linéaire. En détail, nous apprendrons :

Il existe deux types d'actionneurs linéaires :

Ce tutoriel est destiné aux actionneurs linéaires sans retour d'information. Si vous souhaitez en savoir plus sur les actionneurs linéaires avec retour d'information, veuillez consulter le tutoriel Arduino Nano - Actionneur avec retour d'information.

Préparation du matériel

1×Arduino Nano
1×USB A to Mini-B USB cable
1×Linear Actuator
1×L298N Motor Driver Module
1×12V Power Adapter
1×DC Power Jack
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino Nano
1×(Recommended) Screw Terminal Adapter for Arduino Nano

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos de l'actionneur linéaire

Actionneur linéaire Étendre Rétracter

Brochage de l'actionneur linéaire

Un actionneur linéaire possède généralement deux fils :

  • Le fil positif est généralement rouge
  • Le fil négatif est généralement noir
Brochage de l'actionneur linéaire

Comment ça marche

Lors de l'achat d'un actionneur linéaire, il est essentiel de connaître les besoins en tension. Par exemple, considérons un actionneur linéaire de 12V.

Lorsque vous alimentez l'actionneur linéaire 12V par une source d'alimentation de 12V :

  • Connectez 12V au fil positif et GND au fil négatif : l'actionneur linéaire se déploie à pleine vitesse jusqu'à ce qu'il atteigne la limite.
  • Connectez 12V au fil négatif et GND au fil positif : l'actionneur linéaire se rétracte à pleine vitesse jusqu'à ce qu'il atteigne la limite.

Lorsque l'alimentation de l'actionneur est coupée, alors qu'il est en train de s'étendre ou de se rétracter, le mouvement s'arrêtera.

※ NOTE THAT:

Pour un moteur à courant continu, un servomoteur et un moteur pas à pas sans engrenage, lorsqu'une charge est présente, s'ils sont privés de courant, ils ne peuvent pas maintenir leur position. En revanche, un actionneur peut conserver sa position même lorsque l'alimentation est coupée tout en supportant une charge.

Si la tension de l'alimentation d'un actionneur linéaire est inférieure à 12V, l'actionneur linéaire s'étendra et se rétractera toujours, mais pas à sa vitesse maximale. Modifier la tension de la source d'alimentation peut changer la vitesse de l'actionneur linéaire, mais cette méthode n'est généralement pas utilisée en raison de la difficulté à contrôler la tension. Une approche plus pratique consiste à maintenir la tension de la source d'alimentation fixe et à contrôler la vitesse de l'actionneur linéaire à l'aide d'un signal PWM. Plus le cycle de travail du PWM est élevé, plus l'actionneur linéaire s'étendra et se rétractera rapidement.

Comment contrôler un actionneur linéaire

Comment contrôler un actionneur linéaire à l'aide d'un Arduino Nano

Contrôler un actionneur linéaire implique :

  • Étendre l'actionneur linéaire à sa vitesse maximale.
  • Rétracter l'actionneur linéaire à sa vitesse maximale.
  • (Facultatif) Réguler la vitesse d'extension/de rétraction.

L'Arduino Nano peut générer un signal pour contrôler l'actionneur linéaire, mais il dispose d'une faible tension et d'un faible courant. Par conséquent, un pilote matériel est nécessaire entre l'Arduino Nano et l'actionneur linéaire afin de :

  • Amplifier le signal de commande provenant de l'Arduino Nano
  • Recevoir un autre signal de commande de l'Arduino Nano pour changer la polarité de l'alimentation afin de contrôler la direction.

※ NOTE THAT:

  • Ce tutoriel peut être utilisé avec n'importe quel type d'actionneur linéaire. L'actionneur linéaire 12V n'est qu'un exemple.
  • Lors du contrôle d'un actionneur linéaire 5V, bien que la broche de l'Arduino Nano délivre 5V (qui est la même tension que celle de l'actionneur linéaire), un pilote est toujours nécessaire entre l'Arduino Nano et l'actionneur linéaire car la broche de l'Arduino Nano ne fournit pas assez de courant pour l'actionneur linéaire.

Il existe de nombreux types de puces et de modules tels que L293D et L298N qui peuvent être utilisés pour les pilotes d'actionneurs linéaires. Pour ce tutoriel, nous utiliserons le pilote L298N.

※ NOTE THAT:

Vous pouvez également utiliser des relais comme un pilote. Cependant, cela nécessite quatre relais pour contrôler un actionneur linéaire unique (à la fois pour étendre et rétracter).

À propos du pilote L298N

Le pilote L298N peut être utilisé pour réguler un actionneur linéaire, un moteur DC et un moteur pas à pas. Ce tutoriel vous explique comment l'utiliser pour contrôler un actionneur linéaire.

Brochage du pilote L298N

Brochage du pilote L298N

Le pilote L298N dispose de deux canaux, étiquetés A et B. Cela lui permet de contrôler indépendamment deux actionneurs linéaires simultanément. Supposons que l'actionneur linéaire A soit connecté au canal A et l'actionneur linéaire B soit connecté au canal B. Le pilote L298N possède un total de 13 broches.

Les broches communes pour les deux canaux :

  • Broche VCC : Cette broche fournit l'alimentation pour l'actionneur linéaire et peut varier de 5 à 35V.
  • Broche GND : C'est une broche de masse commune et doit être connectée à 0V (GND).
  • Broche 5V : Cette broche alimente le module L298N et peut être alimentée par 5V provenant d'un Arduino Nano.

Broches du canal A :

  • Broches ENA : Ces broches sont utilisées pour ajuster la vitesse de l'actionneur linéaire A. En retirant le cavalier et en connectant cette broche à une entrée PWM, nous pouvons contrôler la vitesse d'extension et de rétraction de l'actionneur linéaire A.
  • Broches IN1 & IN2 : Ces broches sont utilisées pour déterminer la direction de mouvement d'un actionneur linéaire. Lorsque l'une d'elles est HAUTE et l'autre est BASSE, l'actionneur linéaire s'étendra ou se rétractera. Si les deux entrées sont soit HAUTES soit BASSES, l'actionneur linéaire cessera de bouger.
  • Broches OUT1 & OUT2 : Ces broches sont connectées à l'actionneur linéaire A.

Broches du canal B :

  • Broches ENB : Elles sont utilisées pour contrôler la vitesse de l'actionneur linéaire B. En enlevant le cavalier et en connectant cette broche à une entrée PWM, nous pouvons ajuster la vitesse d'extension/rétraction de l'actionneur linéaire B.
  • Broches IN3 & IN4 : Ces broches sont utilisées pour contrôler la direction d'un actionneur linéaire. Lorsque l'une d'elles est réglée sur HIGH et l'autre sur LOW, l'actionneur linéaire s'étendra ou se rétractera. Si les deux entrées sont soit HIGH soit LOW, l'actionneur linéaire cessera de bouger.
  • Broches OUT3 & OUT4 : Ces broches sont connectées à un actionneur linéaire.

Le pilote L298N dispose de deux entrées d'alimentation :

  • Un pour l'actionneur linéaire (broches VCC et GND) avec une plage de tension de 5 à 35V.
  • Un pour le fonctionnement interne du module L298N (broches 5V et GND) avec une plage de tension de 5 à 7V.

Retirez tous les cavaliers du pilote L298N pour simplifier.

Nous pouvons gérer deux actionneurs linéaires séparément et simultanément en utilisant un Arduino Nano et un pilote L298N. Pour contrôler chaque actionneur linéaire, nous avons besoin de seulement trois broches de l'Arduino Nano.

※ NOTE THAT:

Le reste de ce tutoriel se concentrera sur la commande d'un actionneur linéaire en utilisant le canal A. La commande de l'autre actionneur linéaire est similaire.

Comment contrôler un actionneur linéaire

Ce tutoriel vous explique comment gérer un actionneur linéaire à l'aide d'un pilote L298N et d'un Arduino Nano.

Schéma de câblage

Retirez les trois cavaliers du module L298N avant de connecter les fils.

Schéma de câblage de l'actionneur linéaire Arduino Nano avec driver L298N

This image is created using Fritzing. Click to enlarge image

Comment faire pour que l'actionneur linéaire se déploie/se rétracte

La direction de mouvement de l'actionneur linéaire peut être gérée en fournissant un niveau logique HAUT/BAS aux broches IN1 et IN2. Le tableau ci-dessous explique comment contrôler la direction dans les deux canaux.

IN1 pin IN2 pin Direction
LOW LOW Linear Actuator A stops
HIGH HIGH Linear Actuator A stops
HIGH LOW Linear Actuator A extends
LOW HIGH Linear Actuator A retracts
  • Augmentez la longueur de l'actionneur linéaire A.
digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, LOW);
  • Inverser l'actionneur linéaire A
digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, HIGH);

※ NOTE THAT:

L'orientation de l'actionneur linéaire peut être inversée en connectant les broches OUT1 et OUT2 à deux broches de l'actionneur dans un ordre différent. Pour ce faire, il est nécessaire de soit permuter les broches OUT1 et OUT2, soit de modifier le signal de commande sur les broches IN1 et IN2 dans le code.

Comment arrêter l'extension ou la rétraction d'un actionneur linéaire

L'actionneur linéaire cessera de s'étendre/se rétracter lorsqu'il atteindra la limite. De plus, nous pouvons le programmer pour qu'il cesse de s'étendre/se rétracter avant d'avoir atteint la limite.

  • Coupez le courant

Il existe deux méthodes pour arrêter un actionneur linéaire :

  • Réduisez la vitesse à 0
  • Déconnectez l'alimentation électrique
analogWrite(ENA_PIN, 0);
  • Définit les broches IN1 IN2 à la même valeur, soit BASSE soit HAUTE.
digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, LOW);
  • Ou
digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, HIGH);

Comment contrôler la vitesse d'un actionneur linéaire via un pilote L298N

Il est facile de gérer la vitesse de l'actionneur linéaire. Au lieu de régler la broche ENA sur HIGH, nous pouvons créer un signal PWM pour la broche ENA. Cela peut être réalisé en :

  • Relier une broche d'Arduino Nano à l'ENA du L298N
  • Utilisation de la fonction analogWrite() pour générer un signal PWM vers la broche ENA. Le driver L298N va amplifier le signal PWM vers l'actionneur linéaire.
analogWrite(ENA_PIN, speed); // la vitesse est une valeur de 0 à 255

La vitesse varie de 0 à 255. Si la vitesse est de 0, l'actionneur linéaire cesse de bouger. Lorsque la vitesse est de 255, l'actionneur linéaire se déploie/se rétracte à sa vitesse maximale.

Exemple de code Arduino Nano

Le code :

  • Augmente la vitesse maximale de l'actionneur linéaire
  • Arrête l'actionneur linéaire
  • Diminue la vitesse maximale de l'actionneur linéaire
  • Arrête l'actionneur linéaire
/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano 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-nano/arduino-nano-actuator */ const int ENA_PIN = 7; // The Arduino Nano pin connected to the EN1 pin L298N const int IN1_PIN = 6; // The Arduino Nano pin connected to the IN1 pin L298N const int IN2_PIN = 5; // The Arduino Nano pin connected to the IN2 pin L298N // The setup function runs once on reset or power-up void setup() { // initialize digital pins as outputs. pinMode(ENA_PIN, OUTPUT); pinMode(IN1_PIN, OUTPUT); pinMode(IN2_PIN, OUTPUT); digitalWrite(ENA_PIN, HIGH); } // The loop function repeats indefinitely void loop() { // extend the actuator digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, LOW); delay(20000); // actuator will stop extending automatically when reaching the limit // retracts the actuator digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, HIGH); delay(20000); // actuator will stop retracting automatically when reaching the limit }

Étapes rapides

Retirez les trois cavaliers du module L298N.

Copiez le code et ouvrez-le dans l'IDE Arduino.

Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code vers l'Arduino Nano.

Vous observerez :

  • L'actionneur linéaire se déploiera jusqu'à atteindre sa limite, puis il s'arrêtera.
  • L'actionneur linéaire restera dans cette position pendant un certain temps.
  • L'actionneur linéaire se rétractera ensuite jusqu'à atteindre sa limite, puis il s'arrêtera.
  • L'actionneur linéaire restera dans cette position pendant un certain temps.
  • Ce processus se répétera.

Vidéo

Références de fonction

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!