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.
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 :
- 1 x MegaMoto Plus
- 1 x Arduino Uno Rev3
- 1 x Mini actionneur industriel (PA-09, mais n'importe quel actionneur linéaire fera l'affaire)
- 1 x alimentation (PS-20-12, mais n'importe quelle alimentation 12 V fera l'affaire)
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.
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 .