How To Control The Timing Of A Linear Actuators Motion

Comment contrôler la synchronisation du mouvement d'un actionneur linéaire ?

Adam Morissette
Adam Morissette
PA Engineer

Dans notre dernier article « Comment faire », nous verrons comment contrôler la synchronisation du mouvement d'un actionneur linéaire à l'aide d'un microcontrôleur. Les microcontrôleurs offrent une grande liberté de contrôle de mouvement, et ce n'est qu'un exemple parmi une multitude d'options de contrôle de mouvement disponibles. En fonction de votre application, le projet d'exemple présenté dans cet article peut être adapté à vos besoins. Que vous ajoutiez un autre actionneur temporisé ou que vous renforciez l'alimentation pour gérer un actionneur linéaire plus puissant, c'est à vous de décider.

Jetez un œil à tous nos microcontrôleurs pour votre contrôle d'actionneur ultime !

Contrôle de mouvement à l'aide d'un microcontrôleur

Un microcontrôleur Arduino sera utilisé pour contrôler la synchronisation du mouvement d'un actionneur linéaire, mais n'importe quel microcontrôleur fera l'affaire. Cependant, comme nous utilisons un shield, le microcontrôleur doit être compatible. Nous allons vous présenter les différents paramètres permettant de modifier la vitesse d'un actionneur linéaire.

 

Ce dont vous aurez besoin

Pour cet exemple, nous utiliserons les composants suivants pour contrôler un actionneur linéaire :

Parcourez notre gamme complète d'actionneurs linéaires électriques, adaptés à toutes les applications !

Composants de connexion

Maintenant que nous avons nos fournitures, il faut tout connecter. Heureusement, les connexions sont simples grâce à un blindage, contrairement à une carte séparée qui nécessite du câblage et des soudures supplémentaires.

Commençons par connecter notre actionneur à notre blindage LC-80 MegaMoto Plus en connectant les deux fils de l'actionneur aux bornes à vis A/B du LC-80. Ensuite, connectons le LC-80 à notre alimentation, ici la PS-20-12. Pour ce faire, connectons les fils positif et négatif de l'alimentation aux bornes BAT +/- du LC-80.

Enfin, nous devons connecter le LC-80 au LC-066, ce qui est aussi simple que de les coller l'un sur l'autre comme indiqué dans l'image ci-dessous.

Photo de microcontrôleurs par Progressive Automations

Choisissez le système de contrôle adapté à votre actionneur et parcourez notre gamme !


Ajuster le code

Pour contrôler pleinement le mouvement de notre actionneur, nous devons le programmer avec notre module Arduino. Nous avons préparé un exemple de code qui montre l'actionneur en extension puis en rétraction pendant 10 secondes dans chaque sens, pour un cycle de 300 secondes.

 //Utilisez les cavaliers sur la carte pour sélectionner les broches qui seront utilisées

 int EnablePin1 = 13;

 int PWMPinA1 = 11;

 int PWMPinB1 = 3;

 int extendtime = 10 * 1000; // 10 secondes, multiplié par 1000 pour convertir en millisecondes

 int retracttime = 10 * 1000; // 10 secondes, multiplié par 1000 pour convertir en millisecondes

 int timetorun = 300 * 1000; // 300 secondes, multiplié par 1000 pour convertir en millisecondes

 devoir int;

 int temps écoulé ;

 booléen keepMoving;

 void setup() {

 Serial.begin(9600);

 pinMode(EnablePin1, OUTPUT);//Activer la carte

 pinMode(PWMPinA1, SORTIE);

 pinMode(PWMPinB1, OUTPUT);//Définir les sorties du moteur

 elapsedTime = 0; // Définir le temps à 0

 keepMoving = true; //Le système va se déplacer

 }//fin de la configuration

 boucle vide() {

 si (continuer à bouger)

 {

 digitalWrite(EnablePin1, HIGH); // activer le moteur
 
pushActuator();

 délai(prolonger le temps);

 stopActuator();

 delay(10);//petit délai avant rétractation

 pullActuator();

 délai(temps de rétraction);

 stopActuator();

 elapsedTime = millis();//combien de temps cela a-t-il pris ?

 si (temps écoulé > temps d'exécution) {//si cela fait 300 secondes, arrêtez

 Serial.print("Le temps écoulé est supérieur au temps d'exécution maximal. Temps d'exécution maximal : ");

 Serial.println(timetorun);

 keepMoving = faux;

 }

 }//fin si

 }//fin de la boucle principale

 void stopActuator() {

 analogWrite(PWMPinA1, 0);

 analogWrite(PWMPinB1, 0); // vitesse 0-255

 }

 void pushActuator() {

 analogWrite(PWMPinA1, 255);

 analogWrite(PWMPinB1, 0); // vitesse 0-255

 }

 void pullActuator() {

 analogWrite(PWMPinA1, 0);

 analogWrite(PWMPinB1, 255);//vitesse 0-255

 }

Il est important de parcourir le code ligne par ligne pour comprendre ce qui se passe. Cela permet de personnaliser le code pour effectuer de nombreuses autres tâches. Cependant, pour l'instant, la partie la plus importante est la première section et la boucle de configuration, qui se concentre sur l'affectation des broches et le réglage de la vitesse du cycle.

Vous devez configurer les broches de notre LC-80 conformément à la première section du code en positionnant les cavaliers du LC-80 ou en modifiant le code. Dans ce cas, définissez la broche « Enable » sur D13, la broche « PWMA » sur D11 et la broche « PWMB » sur D3. La broche « Enable » contrôle et alimente le moteur. Sans elle, l'actionneur s'immobiliserait et ne pourrait pas être contrôlé. Les broches « PWMA » et « PWMB » contrôlent l'extension et la rétraction de l'actionneur. Les broches « Sensor » n'étant pas nécessaires dans cet exemple, inutile de les sélectionner.

Le contrôle de la minuterie d'un actionneur linéaire est maintenant terminé. Vous pouvez télécharger le code sur l'Arduino via leur IDE (téléchargeable sur le site web d'Arduino). Une fois votre actionneur linéaire déployé et rétracté, pourquoi ne pas expérimenter un peu avec le code ? Essayez d'ajuster le temps de déploiement/rétraction dans le code, réimportez-le dans l'Arduino et observez la réaction de l'actionneur linéaire. En ajustant ces valeurs dans le code, vous pouvez contrôler la vitesse et la durée totale du cycle de mouvement en fonction de l'application souhaitée.


Conclusion

Ci-dessous, nous avons inclus une vidéo d'un actionneur de synchronisation en action. Pour cet exemple, nous souhaitions montrer une autre façon de modifier la synchronisation. Nous l'avons donc configuré pour qu'il s'étende et se rétracte pendant 5 secondes sur un cycle de 20 secondes.

Comme indiqué précédemment, ceci n'est qu'un exemple de la façon dont vous pouvez modifier le mouvement d'un actionneur grâce à nos microcontrôleurs. Si vous avez une méthode de contrôle personnalisée en tête, vous pouvez faire construire un système de contrôle sur mesure avec l'aide de notre équipe d'ingénieurs talentueux. Ils vous guideront tout au long du processus et vous garantiront un contrôle total sur vos unités. Pour en savoir plus sur le processus de commande personnalisée, consultez notre page dédiée .