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.
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

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).
/* 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.