Arduino Nano - Actionneur
Ce tutoriel vous explique comment utiliser un Arduino Nano pour contrôler un actionneur linéaire. En détail, nous apprendrons :
- Comment fonctionne un actionneur linéaire
- Comment programmer un Arduino Nano pour étendre ou rétracter un actionneur linéaire
- Comment programmer un Arduino Nano pour contrôler la vitesse d'un actionneur linéaire
Il existe deux types d'actionneurs linéaires :
- Actionneur linéaire sans retour d'information : Il est généralement utilisé pour se déployer/se rétracter au maximum. Il ne peut pas être contrôlé à une position exacte.
- Actionneur linéaire avec retour d'information : Le signal de retour permet de le contrôler pour se déployer/se rétracter à une position exacte.
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
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos de l'actionneur linéaire
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
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 à 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
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.
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.
- Inverser l'actionneur linéaire A
※ 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
- Définit les broches IN1 IN2 à la même valeur, soit BASSE soit HAUTE.
- Ou
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.
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
É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.