Comment contrôler votre actionneur linéaire grâce à l'énergie solaire

Comment contrôler votre actionneur linéaire avec l'énergie solaire

Nathan Bong
Nathan Bong
PA Engineer

Chez Progressive Automations, nous vous proposons de nombreuses options pour contrôler votre système.   Actionneur linéaire. Des solutions simples comme les interrupteurs à bascule à nos boîtiers de commande plus avancés pour la gestion de plusieurs actionneurs, nous proposons de nombreuses options prêtes à l'emploi. Cependant, les exigences des projets et les besoins des clients sont parfois plus spécifiques que ce que ces options peuvent offrir. C'est là que nous intervenons.   microcontrôleurs   Ils peuvent vraiment être nos alliés. Dans cet article, nous verrons comment modifier la position d'un actionneur en fonction de la luminosité ambiante, vous offrant ainsi une forme unique et avancée de contrôle d'actionneur linéaire.

De quoi aurez-vous besoin ?

Pour ce projet, nous n'avons besoin que d'un Arduino (dans ce cas, un Arduino).   Arduino Uno), une résistance dépendante de la lumière (également connue sous le nom de photorésistance ou LDR), une résistance de 10 kΩ, un module relais à 2 canaux et, bien sûr, un actionneur.

Découvrez notre Arduino Uno, qui a été indispensable pour ce projet !

Choisir votre actionneur linéaire

Dans de nombreux cas, nous utiliserons ce type de déclencheur pour des applications extérieures, comme par exemple pour des systèmes à énergie solaire.   Actionneur de porte de poulailler. Il est important de tenir compte de l'environnement dans lequel votre actionneur fonctionnera et de vérifier qu'il possède l'indice de protection IP approprié. Pour vous aider, consultez notre guide des indices de protection IP.   Nous devons également nous assurer que vous avez trouvé la course et la force nominale appropriées pour votre actionneur. Pour obtenir de l'aide à ce sujet, vous pouvez consulter l'un de nos nombreux autres articles de blog .   En résumé, le type d'actionneur que vous utilisez dépend entièrement de votre application et des conditions environnementales difficiles dans lesquelles vous vous trouvez.

Câblage

The wiring for this solar-powered actuator

 

Le câblage de ce projet d'actionneur solaire est le suivant :

LDR vers Arduino

  • Fil LDR 1 – Masse
  • Fil 2 de la LDR – 5 V (via une résistance de 10 kΩ)
  • Fil LDR 2 – Broche analogique 0

Module relais vers Arduino

  • VCC – 5V
  • GND – GND
  • IN1 – Broche 2
  • IN2 – Broche 3

Module relais vers alimentation et actionneur

  • +12V à NC1 (borne normalement fermée du relais un)
  • -12V à NO1 (borne normalement ouverte du relais 1)
  • NC1 à NC2
  • NO1 à NO2
  • COMMON1 vers le fil d'actionneur 1
  • COMMON2 vers le fil de l'actionneur 2

En utilisant un module relais à 2 canaux, les instructions ci-dessus décrivent le câblage de ce projet. Il s'agit d'une configuration très simple et facile à programmer, mais elle présente certaines limitations. Si vous souhaitez ajouter des fonctionnalités telles que le contrôle de la vitesse ou le retour de force, vous pouvez envisager d'utiliser…   Protection du circuit de commande du moteur MegaMoto   En revanche, plus d'informations à ce sujet.   ici.

Programmation de votre actionneur solaire

Le fonctionnement du code fourni se veut aussi simple que possible. En présence de lumière, l'actionneur se rétracte ; dans l'obscurité, il se déploie. Afin d'éviter tout déclenchement involontaire (par exemple, si une personne passe et bloque la lumière, ou si un éclair est détecté par le capteur), la transition entre l'obscurité et la lumière (ou inversement) doit durer au moins trente secondes. Ce délai peut être facilement modifié en changeant la valeur de « const int triggerDelay ».

La quantité de lumière présente est déterminée par la tension appliquée à la broche analogique 0. Plus la lumière est intense, plus la résistance de notre photorésistance est faible. Comme nous utilisons une résistance de rappel, la tension diminue à mesure que la luminosité ambiante augmente. L'Arduino interprète cette variation comme une valeur comprise entre 0 et 1028. Pour modifier le seuil de déclenchement de l'actionneur, il suffit de modifier la valeur de « const int threshold » (650 par défaut).

Ce code fonctionnera tel quel, mais l'avantage de ce type de projet est qu'il est toujours possible de l'améliorer. N'hésitez pas à le modifier pour mieux l'adapter à votre application d'actionneur linéaire solaire ! Voici quelques exemples de fonctions supplémentaires qui pourraient être ajoutées : un délai d'attente pour empêcher l'actionneur de continuer son déplacement s'il n'atteint pas le capteur de fin de course dans un certain laps de temps ; la détection de collision par surveillance de la consommation de courant (cela nécessiterait un   Pilote de MegaMoto   au lieu de relais) ; ou une fonction qui permettrait de régler l'actionneur sur différentes positions en fonction de la quantité de lumière (et pas seulement tout en haut ou tout en bas).

Ce type de déclencheur est idéal pour les applications extérieures. Découvrez nos actionneurs haute protection !

 /* Le matériel requis pour ce projet est une carte Arduino, une photorésistance (LDR), une résistance de 10 kΩ et un module relais 5 V à 2 canaux. Son but est de contrôler l'extension et la rétraction d'un actionneur en fonction de la luminosité ambiante. Écrit par Progressive Automations le 12/02/2020 */ #define relay1 2 // Relais utilisé pour étendre l'actionneur #define relay2 3 // Relais utilisé pour rétracter l'actionneur int ldr; // Lecture analogique de la photorésistance int countOpen = 0; // Compte la durée pendant laquelle le capteur reçoit de la lumière int countClose = 0; // Compte la durée pendant laquelle le capteur ne reçoit pas de lumière const int triggerDelay = 3000; // Délai d'attente (en secondes) après un changement de luminosité avant de déclencher l'actionneur const int threshold = 650; // void setup() { Serial.begin(9600); pinMode(relay1,OUTPUT); pinMode(relay2,OUTPUT); digitalWrite(relay1,HIGH); digitalWrite(relay2,HIGH); } void loop() { checkSensor(); } void checkSensor() { ldr = analogRead(0); Serial.println(ldr); if(ldr> threshold)//si la lecture est supérieure au seuil, commencer à compter { countOpen++;//compter la durée pendant laquelle le capteur ne reçoit pas de lumière delay(10); } else { countOpen = 0;//réinitialiser le compteur à zéro si la condition est fausse } if(countOpen> triggerDelay)// attendre x secondes avant de déclencher l'actionneur { extend();//étendre l'actionneur } if(ldr < threshold)//si la lecture est inférieure au seuil, commencer à compter { countClose++;//compter la durée pendant laquelle le capteur reçoit de la lumière delay(10); } else { countClose = 0; } if(countClose> triggerDelay)// attendre x secondes avant de déclencher l'actionneur { withdraw(); } } void extend() { digitalWrite(relay1,LOW); digitalWrite(relay2,HIGH); } void withdraw() { digitalWrite(relay2,LOW); digitalWrite(relay1,HIGH); } 

Conclusion

Voilà ! Notre méthodologie pour utiliser un capteur de lumière à actionneur linéaire afin de contrôler votre actionneur grâce à l'énergie solaire. Nous savons que chaque application est unique, vous avez donc peut-être des questions concernant ce projet ou des modifications que vous souhaitez soumettre à notre équipe d'ingénieurs. N'hésitez pas à nous contacter par e-mail.   sales@progressiveautomations.com, ou appelez-nous sans frais au 1-800-676-6123.

 

Nathan Bong

Ingénieur technique chez Progressive Automations et Progressive Desk
Nathan Bong est ingénieur technique chez Progressive Automations et Progressive Desk, où il met à profit son expertise pratique en ingénierie pour produire de la documentation technique, des guides d'application, des fiches techniques, des manuels d'utilisation et des études de cas sur les sujets liés au mouvement linéaire et à l'automatisation. Diplômé du programme de génie électrique et informatique du BCIT (et lauréat du Prix d'entrée du président du BCIT et du Prix du mérite en automatisation du BCIT), Nathan apporte une perspective pragmatique et concrète à chacun de ses articles. Son travail couvre les schémas de câblage, les guides de sélection d'actionneurs, l'intégration d'automates programmables, les indices de protection IP, l'analyse du cycle de service et les démonstrations de projets d'automatisation concrets. Son projet le plus récent est un bras robotique exosquelette personnalisé, construit avec des actionneurs linéaires de Progressive Automations – un projet qui illustre son approche globale : comprendre les problèmes d'ingénierie rencontrés par ses lecteurs en les résolvant directement. En dehors du travail, Nathan réalise des projets d'actionneurs linéaires, personnalise et modifie des voitures et s'entraîne régulièrement en salle de sport.