ESP8266 - Actionneur
Ce tutoriel vous explique comment utiliser l'ESP8266 pour contrôler un actionneur linéaire. En détail, nous allons apprendre :
- Comment fonctionne un actionneur linéaire
- Comment programmer un ESP8266 pour faire étendre ou rétracter un actionneur linéaire
- Comment programmer un ESP8266 pour contrôler la vitesse d'un actionneur linéaire
Il existe deux types d'actionneurs linéaires :
- Actionneurs linéaires sans retour : Ils sont généralement utilisés pour se déplacer jusqu'au point le plus éloigné et ne peuvent pas être contrôlés pour s'arrêter à une position spécifique.
- Actionneurs linéaires avec retour : Ils peuvent être contrôlés pour se déplacer à une position spécifique car ils disposent d'un signal de retour.
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 ESP8266 - 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 deux fils :
- Le fil positif est généralement rouge.
- Le fil négatif est généralement noir.
Comment ça fonctionne
Lors de l'achat d'un actionneur linéaire, il est essentiel de connaître la tension nécessaire à son fonctionnement. Prenons par exemple un actionneur linéaire de 12V.
Lorsque vous alimentez l'actionneur linéaire 12V par une source d'alimentation 12V :
- Connectez 12V et GND au fil positif et au fil négatif, respectivement : l'actionneur linéaire s'étendra à pleine vitesse jusqu'à ce qu'il atteigne la limite.
- Connectez 12V et GND au fil négatif et au fil positif, respectivement : l'actionneur linéaire se rétractera à pleine vitesse jusqu'à ce qu'il atteigne la limite.
Si l'alimentation de l'actionneur est coupée, le processus d'extension ou de rétraction s'arrêtera.
※ NOTE THAT:
Pour un moteur à courant continu, un moteur servo et un moteur pas à pas sans engrenage, lorsqu'une charge est présente, s'ils sont privés de courant, ils ne maintiendront pas 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 électrique pour les actionneurs linéaires est inférieure à 12V, l'actionneur linéaire s'étendra/se rétractera toujours, mais pas à sa vitesse maximale. Cela signifie que modifier la tension de la source d'alimentation peut affecter la vitesse de l'actionneur linéaire. Cependant, cette approche n'est pas couramment utilisée en raison de la difficulté à contrôler la tension de la source d'alimentation. Par conséquent, la tension de la source d'alimentation est maintenue constante, et la vitesse de l'actionneur linéaire est régulée par un signal PWM. Plus le cycle de travail du PWM est élevé, plus l'actionneur linéaire s'étend/se rétracte rapidement.
Comment contrôler un actionneur linéaire à l'aide de l'ESP8266
La gestion d'un actionneur linéaire implique :
- Étendre l'actionneur linéaire à sa vitesse maximale.
- Rétracter l'actionneur linéaire à sa vitesse maximale.
- (Optionnel) Ajuster la vitesse d'extension et de rétraction.
L'ESP8266 peut générer un signal qui peut être utilisé pour contrôler un actionneur linéaire, cependant, la tension et le courant de ce signal sont trop faibles pour être utilisés tels quels. Par conséquent, un pilote matériel doit être utilisé pour faire le lien entre l'ESP8266 et l'actionneur linéaire. Le pilote a deux fonctions :
- Amplifier le signal de commande de l'ESP8266 (concernant à la fois la tension et le courant)
- Recevoir un autre signal de commande de l'ESP8266 pour inverser la polarité de l'alimentation électrique, permettant ainsi le contrôle de la direction.
※ NOTE THAT:
- Ce tutoriel peut être utilisé pour tous les actionneurs linéaires, le vérin linéaire 12V n'étant qu'un exemple.
- Lors du contrôle d'un actionneur linéaire 5V, même si la broche ESP8266 délivre 5V (qui est la même tension que l'actionneur linéaire), vous avez toujours besoin d'un pilote entre l'ESP8266 et l'actionneur linéaire car la broche ESP8266 ne fournit pas assez de courant pour l'actionneur linéaire.
Il existe de nombreux types de puces et de modules disponibles pour les pilotes d'actionneurs linéaires. Pour ce tutoriel, nous utiliserons le pilote L298N.
À 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. Ce tutoriel vous explique comment l'utiliser pour réguler l'actionneur linéaire.
Brochage du pilote L298N
Le pilote L298N dispose de deux canaux, étiquetés A et B. Cela signifie qu'il peut contrôler indépendamment deux actionneurs linéaires 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 pilote L298N possède treize broches.
Les broches communes pour les deux canaux :
- Broche VCC : Cette broche fournit de l'énergie à l'actionneur linéaire et peut varier de 5 à 35V.
- Broche GND : C'est une broche de masse qui doit être connectée à 0V (GND).
- Broche 5V : Cette broche alimente le module L298N et peut être alimentée par la sortie 5V d'un ESP8266.
Broches du canal A :
- Broches ENA : Ces broches sont utilisées pour 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 à laquelle l'actionneur linéaire se déploie et se rétracte.
- Broches IN1 & IN2 : Ces broches sont utilisées pour contrôler la direction d'un actionneur linéaire. Lorsque l'une d'elles est définie 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 s'arrêtera.
- Broches OUT1 & OUT2 : Ces broches sont connectées à l'actionneur linéaire A.
Broches du canal B :
- Broches ENB : sont utilisées pour réguler la vitesse de l'actionneur linéaire B. En retirant le cavalier et en connectant cette broche à l'entrée PWM, nous pourrons contrôler la vitesse d'extension/de 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 à HIGH et l'autre à 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 s'arrêtera.
- Broches OUT3 & OUT4 : sont connectées à un actionneur linéaire.
Le pilote L298N possède deux alimentations d'entrée :
- Un pour l'actionneur linéaire avec une plage de tension de 5 à 35V, connecté aux broches VCC et GND.
- Un pour le fonctionnement interne du module L298N, avec une plage de tension de 5 à 7V, connecté aux broches 5V et GND.
Retirez tous les cavaliers du pilote L298N pour simplifier.
Nous pouvons gérer deux actionneurs linéaires indépendamment et simultanément à l'aide d'un ESP8266 et d'un pilote L298N. Seulement trois broches de l'ESP8266 sont nécessaires pour contrôler chaque actionneur linéaire.
※ NOTE THAT:
Le reste de ce tutoriel se concentrera sur le contrôle d'un actionneur linéaire via le canal A. Le processus pour contrôler l'autre actionneur linéaire est similaire.
Comment contrôler un actionneur linéaire
Nous étudierons la technique de gestion d'un actionneur linéaire à l'aide d'un pilote L298N.
Schéma de câblage
Retirez les trois cavaliers du module L298N avant de le connecter.
This image is created using Fritzing. Click to enlarge image
Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.
Comment faire pour étendre/rétracter un vérin électrique linéaire
La direction de déplacement de l'actionneur linéaire peut être gérée en fournissant un niveau logique HAUT ou BAS aux broches IN1 et IN2. Le tableau ci-dessous montre comment gérer 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:
L'orientation de l'actionneur linéaire peut être modifiée en connectant les broches OUT1 et OUT2 dans un ordre différent. Pour ce faire, il est nécessaire de permuter les broches OUT1 et OUT2 ou de modifier le signal de commande sur les broches IN1 et IN2 dans le code.
Comment empêcher un actionneur linéaire de s'étendre ou de se rétracter
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 qu'il n'atteigne la limite.
Il existe deux méthodes pour arrêter un actionneur linéaire :
- Réduisez la vitesse à 0
- Déconnectez la source d'alimentation
- Définit les broches IN1 et 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 réguler la vitesse de l'actionneur linéaire. Au lieu de régler la broche ENA à HIGH, nous pouvons produire un signal PWM vers la broche ENA. Cela peut être fait en :
- Connecter une broche ESP8266 à l'ENA du L298N
- Générer un signal PWM vers la broche ENA en utilisant la fonction analogWrite(). Le pilote L298N amplifie le signal PWM vers l'actionneur linéaire.
La vitesse est une valeur variant de 0 à 255. Lorsque la vitesse est de 0, l'actionneur linéaire s'arrêtera. À une vitesse de 255, l'actionneur linéaire se déploiera/se rétractera à sa vitesse maximale.
Exemple de code ESP8266
Le code ci-dessous :
- Augmente la vitesse maximale de l'actionneur linéaire
- Arrête l'actionneur linéaire
- Diminue la vitesse de l'actionneur linéaire au maximum
- Arrête à nouveau l'actionneur linéaire
Étapes rapides
Pour commencer avec l'ESP8266 sur l'IDE Arduino, suivez ces étapes :
- Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est la première fois que vous utilisez un ESP8266.
- Câblez les composants comme indiqué dans le schéma.
- Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
- Ouvrez Arduino IDE sur votre ordinateur.
- Choisissez la bonne carte ESP8266, par exemple (e.g. NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
Retirez les trois cavaliers du module L298N.
Copiez le code ci-dessus et ouvrez-le dans l'IDE Arduino.
Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code sur l'ESP8266.
Vous observerez :
- L'actionneur linéaire s'étendra jusqu'à atteindre la 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 jusqu'à atteindre la limite, puis il s'arrêtera.
- L'actionneur linéaire restera dans cette position pendant un certain temps.
- Ce processus sera répété en continu.