Ce tutoriel vous aidera à comprendre les commandes d’un contrôleur de moteur CC sans balais lorsqu’il est associé à un Arduino et à un vérin linéaire. Ce programme peut être utilisé pour étendre et rétracter en continu la course d’un actionneur.
Avant de commencer, passons en revue les composants que nous utiliserons dans ce tutoriel :
- Arduino Mega (Arduino Uno peut également être utilisé).
- LC-241.
- PA-14 avec un moteur sans balais.
- Alimentation PS-13-12.
- Câbles de pontage (jumper).
Le vérin linéaire possède 2 faisceaux de câbles : l’un pour le moteur et l’autre pour les interrupteurs de fin de course. Le schéma de la figure ci-dessus montre comment câbler les composants ensemble.
CODE DE CONFIGURATION DES BROCHES
int out_lim = 45; // broche de l’interrupteur de fin de course externe
int in_lim = 53; // broche de l’interrupteur de fin de course interne
int run_f = 25; // broche RUN sur le contrôleur
int run_r = 30; // broche REV sur le contrôleur
Cette partie du code s’occupe de l’initialisation des broches utilisées pour recevoir et envoyer des données. Dans ce cas, toutes les broches numériques ont été utilisées, mais les broches analogiques peuvent l’être aussi.
CODE DE LA BOUCLE SETUP
void setup() {
Serial.begin(9600); // initialise la communication série à 9600 bits par seconde
pinMode(out_lim, INPUT_PULLUP); // configure la broche 45 en entrée
pinMode(in_lim, INPUT_PULLUP); // configure la broche 53 en entrée
pinMode(run_f, OUTPUT); // configure la broche 25 en sortie
pinMode(run_r, OUTPUT); // configure la broche 30 en sortie
retract(); // rétracte la course au démarrage
delay(500);
}
La boucle « setup » configure quelles broches seront utilisées en sortie et lesquelles seront utilisées en entrée. Comme on peut le voir dans le code, les broches reliées aux interrupteurs de fin de course serviront à lire l’état de ces interrupteurs, et les broches reliées à « RUN » et « REV » sur le LC-241 serviront à leur écrire des commandes. Au départ, le code exécute également une fonction de rétraction pour tout rentrer avant de démarrer.
CODE DES DÉFINITIONS DE FONCTIONS
void extend() // cette fonction permet au moteur de tourner
{
digitalWrite(run_f, LOW);
digitalWrite(run_r, HIGH);
}
void retract() // cette fonction inverse le sens du moteur
{
digitalWrite(run_f, LOW);
digitalWrite(run_r, LOW);
}
void run_stop() // cette fonction désactive le moteur
{
digitalWrite(run_f, HIGH);
digitalWrite(run_r, HIGH);
}
Cette partie explique les fonctions utilisées pour contrôler la puissance et le sens du moteur. Nous activerons ou désactiverons le moteur en écrivant « 0 » ou « 1 » sur la broche « RUN », puis les mêmes commandes sur la broche « REV » pour inverser le sens du moteur.
CODE DE LA BOUCLE PRINCIPALE
Void loop() {
int out_lim_state = digitalRead(out_lim); // lit les interrupteurs de fin de course et en enregistre la valeur
int in_lim_state = digitalRead(in_lim);
Serial.print("valeur de l’interrupteur de fin de course externe "), Serial.println(out_lim_state); // 0 -> l’interrupteur de fin de course est pressé
Serial.print("valeur de l’interrupteur de fin de course interne "), Serial.println(in_lim_state); // 1 -> l’interrupteur de fin de course n’est pas pressé
if (out_lim_state == 0 && in_lim_state == 1) // si l’interrupteur externe est pressé et l’interne ne l’est pas (entièrement déployé)
{
retract(); // rétracter la course
}
else if (out_lim_state == 1 && in_lim_state == 0) // si l’interrupteur interne est pressé et que l’externe ne l’est pas (entièrement rétracté)
{
extend(); // étendre la course
}
La boucle « loop » lit simplement les entrées des interrupteurs de fin de course pour vérifier s’ils sont actionnés ou non, puis, en fonction de cela, change simplement le sens du moteur.
La plupart des vérins linéaires disponibles sur le marché sont équipés d’un moteur CC à balais; le cycle de service de ce type de moteur rend donc quelque peu impossible le fonctionnement continu de l’unité. Chez Progressive Automations, nous offrons à nos clients la possibilité d’opter pour un moteur CC sans balais pour notre modèle PA-14, ce qui leur donne encore plus d’options pour leurs projets.