Arduino - Actionneur
Dans ce tutoriel, nous allons apprendre :
- Fonctionnement d'un actionneur linéaire
- Comment faire pour étendre ou rétracter un actionneur linéaire.
- Comment contrôler un actionneur linéaire avec un pilote L298N et un Arduino.
- Comment contrôler la vitesse d'un actionneur linéaire.
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, consultez ce tutoriel Arduino - 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
L'actionneur linéaire possède deux fils :
- Fil positif : généralement rouge
- Fil négatif : généralement noir
Comment ça fonctionne
Lorsque vous achetez un actionneur linéaire, vous devez savoir avec quelle tension fonctionne l'actionneur linéaire. Prenons l'exemple d'un actionneur linéaire de 12V.
Lorsque vous alimentez l'actionneur linéaire 12V par une source d'alimentation 12V :
- 12V et GND au fil positif et au fil négatif, respectivement : l'actionneur linéaire s'étend à pleine vitesse jusqu'à ce qu'il atteigne la limite.
- 12V et GND au fil négatif et au fil positif, respectivement : l'actionneur linéaire se rétracte à pleine vitesse jusqu'à ce qu'il atteigne la limite.
Lors de l'extension ou de la rétraction, si nous coupions l'alimentation de l'actionneur (GND sur les fils positif et négatif), l'actionneur cesse de s'étendre ou de se rétracter.
※ NOTE THAT:
Pour un moteur à courant continu, un moteur servo et un moteur pas à pas sans engrenage, lorsqu'ils portent une charge, s'ils cessent d'être alimentés, ils ne peuvent pas maintenir la position. Contrairement à ces moteurs, l'actionneur peut maintenir la position même lorsqu'il cesse d'être alimenté tout en portant une charge.
Si nous fournissons une puissance inférieure à 12V aux actionneurs linéaires, l'actionneur linéaire s'étend/se rétracte toujours mais pas à la vitesse maximale. Cela signifie que si nous changeons la tension de l'alimentation, nous pouvons modifier la vitesse de l'actionneur linéaire. Cependant, cette méthode n'est pas utilisée en pratique en raison de la difficulté à contrôler la tension de la source d'alimentation. Au lieu de cela, nous fixons la tension de la source d'alimentation et contrôlons la vitesse de l'actionneur linéaire via un signal PWM. Plus le cycle de travail du PWM est grand, plus la vitesse à laquelle l'actionneur linéaire s'étend/se rétracte est élevée.
Comment contrôler un actionneur linéaire avec un Arduino
La commande d'un actionneur linéaire comprend :
- étend l'actionneur linéaire à vitesse maximale.
- Rétracte l'actionneur linéaire à vitesse maximale.
- (optionnel) contrôle la vitesse d'extension/de rétraction.
Arduino peut générer le signal pour contrôler l'actionneur linéaire. Cependant, ce signal ayant une faible tension et un faible courant, nous ne pouvons pas l'utiliser directement pour contrôler l'actionneur linéaire. Nous devons utiliser un pilote matériel entre l'Arduino et l'actionneur linéaire. Le pilote effectue deux tâches :
- Amplifier le signal de contrôle de l'Arduino (courant et tension)
- Recevoir un autre signal de contrôle de l'Arduino pour inverser la polarité de l'alimentation électrique → pour le contrôle de direction.
※ NOTE THAT:
- Ce tutoriel peut être appliqué à tous les actionneurs linéaires. L'actionneur linéaire 12V est juste un exemple.
- Lorsque vous contrôlez un actionneur linéaire de 5V, bien que la broche Arduino délivre 5V (la même tension que l'actionneur linéaire), vous avez toujours besoin d'un pilote entre l'Arduino et l'actionneur linéaire car la broche Arduino ne fournit pas assez de courant pour l'actionneur linéaire.
Il existe de nombreux types de puces et de modules (par exemple, L293D, L298N) qui peuvent être utilisés comme pilotes d'actionneurs linéaires. Dans ce tutoriel, nous utiliserons le pilote L298N.
※ NOTE THAT:
Vous pouvez également utiliser des relais comme un pilote. Cependant, cela nécessite 4 relais pour contrôler un seul actionneur linéaire (à la fois pour étendre et rétracter).
À propos du pilote L298N
Le pilote L298N peut être utilisé pour contrôler un actionneur linéaire, un moteur à courant continu et un moteur pas à pas. Dans ce tutoriel, nous apprenons à l'utiliser pour contrôler l'actionneur linéaire.
Brochage du pilote L298N
Le driver L298N possède deux canaux, appelés canal A et canal B. Par conséquent, le driver L298N peut contrôler deux actionneurs linéaires indépendamment en même temps. Supposons que l'actionneur linéaire A soit connecté au canal A, et l'actionneur linéaire B soit connecté au canal B. Le driver L298N a 13 broches :
Les broches communes pour les deux canaux :
- Broche VCC : alimente l'actionneur linéaire. Elle peut varier entre 5 et 35V.
- Broche GND : est une broche de masse commune, doit être connectée au GND (0V).
- Broche 5V : alimente le module L298N. Elle peut être alimentée par 5V provenant de l'Arduino.
Broches du canal A :
- Broches ENA : servent à contrôler 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/de rétraction de l'actionneur linéaire A.
- Broches IN1 et IN2 : sont utilisées pour contrôler la direction de mouvement d'un actionneur linéaire. Lorsque l'une d'elles est en mode HIGH et l'autre en mode LOW, l'actionneur linéaire s'étend ou se rétracte. Si les deux entrées sont soit HIGH soit LOW, l'actionneur linéaire s'arrêtera.
- Broches OUT1 et OUT2 : sont connectées à un actionneur linéaire A.
Broches du canal B :
- Broches ENB : sont utilisées pour contrôler la vitesse de l'actionneur linéaire B. La suppression du cavalier et la connexion de cette broche à une entrée PWM nous permettront de contrôler la vitesse d'extension/rétraction de l'actionneur linéaire B.
- Broches IN3 & IN4 : sont utilisées pour contrôler la direction de mouvement d'un actionneur linéaire. Lorsque l'une d'elles est HAUTE et l'autre 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 s'arrêtera.
- Broches OUT3 & OUT4 : sont connectées à un actionneur linéaire.
Comme décrit ci-dessus, le pilote L298N dispose de deux alimentations d'entrée :
- Un pour l'actionneur linéaire (broches VCC et GND) : de 5 à 35V.
- Un pour le fonctionnement interne du module L298N (broches 5V et GND) : de 5 à 7V.
Le pilote L298N dispose également de trois cavaliers pour des utilisations avancées ou d'autres fins. Pour des raisons de simplicité, veuillez retirer tous les cavaliers du pilote L298N.
Nous pouvons contrôler deux actionneurs linéaires indépendamment en même temps en utilisant un Arduino et un pilote L298N. Pour contrôler chaque actionneur linéaire, nous avons besoin de seulement trois broches de l'Arduino.
※ NOTE THAT:
Le reste de ce tutoriel permet de contrôler un actionneur linéaire à l'aide du canal A. La commande de l'autre actionneur linéaire est similaire.
Comment contrôler un actionneur linéaire
Nous apprendrons à contrôler un actionneur linéaire en utilisant un pilote L298N.
Schéma de câblage
Veuillez retirer les trois cavaliers sur le module L298N avant de procéder au câblage.
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 déplacement d'un actionneur linéaire peut être contrôlée en appliquant un logique HAUT/BAS aux broches IN1 et IN2. Le tableau ci-dessous illustre 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 |
- Étend l'actionneur linéaire A
- Rétracte l'actionneur linéaire A
※ NOTE THAT:
La direction de mouvement est inversée si les broches OUT1 et OUT2 sont connectées de manière inversée aux deux broches de l'actionneur linéaire. Si c'est le cas, il suffit d'intervertir les broches OUT1 et OUT2 ou 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 s'arrête automatiquement de s'étendre/se rétracter lorsqu'il atteint la limite. Nous pouvons également l'arrêter de manière programmable lorsqu'il n'a pas atteint la limite.
Il existe deux manières d'arrêter un actionneur linéaire.
- Contrôle la vitesse à 0
- Contrôle les broches IN1 IN2 à la même valeur (LOW ou HIGH)
*.Ou
Comment contrôler la vitesse d'un actionneur linéaire via un pilote L298N
Il est simple de contrôler la vitesse de l'actionneur linéaire. Au lieu de régler la broche ENA sur HIGH, nous générons un signal PWM vers la broche ENA. Nous pouvons le faire en :
- Connectez une broche Arduino à ENA de L298N
- Générez un signal PWM sur la broche ENA en utilisant la fonction analogWrite(). Le driver L298N amplifie le signal PWM vers l'actionneur linéaire.
La vitesse est une valeur comprise entre 0 et 255. Si la vitesse est de 0, l'actionneur linéaire s'arrête. Si la vitesse est de 255, l'actionneur linéaire se déploie/se rétracte à vitesse maximale.
Exemple de code Arduino
Le code ci-dessous fait :
- Étendre l'actionneur à vitesse maximale
- Arrêter l'actionneur linéaire
- Rétracter l'actionneur à vitesse maximale
- Arrêter l'actionneur linéaire
Étapes rapides
- Retirez les trois cavaliers du module L298N.
- Copiez le code ci-dessus et ouvrez-le avec Arduino IDE.
- Cliquez sur le bouton Upload de l'Arduino IDE pour télécharger le code sur Arduino.
- Vous verrez :
- L'actionneur linéaire s'étend puis s'arrête lorsqu'il atteint la limite.
- L'actionneur linéaire maintient la position pendant un certain temps.
- L'actionneur linéaire se rétracte puis s'arrête lorsqu'il atteint la limite.
- L'actionneur linéaire maintient la position pendant un certain temps.
- Le processus ci-dessus est répété continuellement.