Bij Progressive Automations bieden we diverse opties voor het aansturen van uw lineaire actuator. Van eenvoudige oplossingen zoals tuimelschakelaars tot onze geavanceerdere besturingskasten voor het aansturen van meerdere actuatoren, we hebben veel plug-and-play-mogelijkheden. Soms zijn projectvereisten en klantbehoeften echter wat unieker dan wat deze opties kunnen bieden. In dat geval kunnen microcontrollers uitkomst bieden. In dit artikel bespreken we hoe we de positie van een actuator kunnen aanpassen op basis van de hoeveelheid licht, waardoor u een unieke en geavanceerde vorm van lineaire actuatorbesturing krijgt.
Wat heb je nodig?
Voor dit project hebben we alleen een Arduino (in dit geval een Arduino Uno), een lichtgevoelige weerstand (ook wel fotoweerstand of LDR genoemd), een weerstand van 10 kΩ, een 2-kanaals relaismodule en natuurlijk een actuator nodig.
Uw lineaire actuator kiezen
In veel gevallen gebruiken we dit type actuator voor buitentoepassingen, zoals een op zonne-energie werkende actuator voor een kippenhokdeur. U moet rekening houden met de omgeving waarin uw actuator zal werken en ervoor zorgen dat deze de juiste IP-classificatie heeft. U kunt hiervoor onze IP-classificatiegids hier raadplegen. Ook is het belangrijk dat u de juiste slaglengte en kracht voor uw actuator kiest. Raadpleeg hiervoor een van onze vele andere blogberichten hier. Kortom, het type actuator dat u gebruikt, hangt volledig af van uw toepassing en de zwaarte van de omgeving.
Bedrading

De bedrading voor dit project met een op zonne-energie werkende actuator is als volgt:
LDR naar Arduino
- LDR-leiding 1 – Aarding
- LDR-aansluiting 2 – 5V (via 10kΩ-weerstand)
- LDR-aansluiting 2 – Analoge pin 0
Relaismodule naar Arduino
- VCC – 5V
- GND – GND
- IN1 – Pin 2
- IN2 – Pin 3
Relaismodule naar voeding en actuator
- +12V naar NC1 (normaal gesloten aansluiting op relais één)
- -12V naar NO1 (normaal open aansluiting op relais één)
- NC1 naar NC2
- NO1 naar NO2
- COMMON1 naar Actuator Lead 1
- COMMON2 naar Actuator Lead 2
Met behulp van een 2-kanaals relaismodule kunt u dit project volgens bovenstaande instructies aansluiten. Dit is een zeer eenvoudige opstelling die gemakkelijk te programmeren is, maar wel beperkingen heeft. Als u functies zoals snelheidsregeling of force feedback wilt toevoegen, kunt u overwegen om in plaats daarvan het MegaMoto motorstuurschild te gebruiken. Meer informatie daarover vindt u hier.
Het programmeren van uw actuator op zonne-energie
De functionaliteit van de meegeleverde code is zo eenvoudig mogelijk gehouden. Bij licht trekt de actuator zich terug. Bij donker schuift de actuator zich uit. Om te voorkomen dat de actuator onbedoeld wordt geactiveerd (bijvoorbeeld als iemand langsloopt en het licht blokkeert, of als de sensor een lichtflits detecteert), moet de overgang van donker naar licht (of van licht naar donker) minimaal dertig seconden duren. Deze vertraging kan eenvoudig worden aangepast door de waarde van "const int triggerDelay" te wijzigen.
De hoeveelheid licht wordt bepaald door de spanning op analoge pin 0 af te lezen. Hoe meer licht er is, hoe lager de weerstand van onze lichtgevoelige weerstand zal zijn. Omdat we een pull-up weerstand gebruiken, betekent dit dat de spanning afneemt naarmate de omgeving helderder wordt. De Arduino leest dit als een waarde tussen 0 en 1028. Als je de waarde wilt wijzigen waarbij de toestand van de actuator verandert, hoef je alleen de waarde van "const int threshold" aan te passen (standaard ingesteld op 650).
Deze code voldoet prima zoals hij is, maar het mooie van dit soort projecten is dat er altijd ruimte is voor verbetering. Voel je vrij om deze code aan te passen aan jouw toepassing met een lineaire actuator op zonne-energie! Enkele voorbeelden van extra functies die aan deze code toegevoegd zouden kunnen worden, zijn: een time-out om te voorkomen dat de actuator verder beweegt als hij de eindschakelaar niet binnen een bepaalde tijd bereikt; botsingsdetectie via stroommeting (hiervoor is een MegaMoto-driver in plaats van relais nodig); of een functie waarmee de actuator in verschillende posities kan worden gezet op basis van de hoeveelheid licht (niet alleen helemaal omhoog of helemaal omlaag).
/*De benodigde hardware voor dit project bestaat uit een Arduino, een lichtgevoelige weerstand (LDR), een 10K weerstand en een 2-kanaals 5V relaismodule. Het doel is om het uitschuiven en intrekken van een actuator te regelen op basis van de hoeveelheid licht. Geschreven door Progressive Automations 12-02-2020*/ #define relay1 2 //relais gebruikt om actuator uit te schuiven #define relay2 3 //relais gebruikt om actuator in te trekken int ldr; //analoge uitlezing van de lichtgevoelige weerstand int countOpen = 0; //telt hoe lang de sensor licht ontvangt int countClose = 0; //telt hoe lang de sensor geen licht ontvangt const int triggerDelay = 3000; //aantal seconden x 100 om te wachten na lichtveranderingen voordat de actuator wordt geactiveerd 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)//als de meting groter is dan de drempelwaarde, begin met tellen { countOpen++;//tel hoe lang de sensor geen licht ontvangt delay(10); } else { countOpen = 0;//reset de teller naar nul als de voorwaarde niet waar is } if(countOpen> triggerDelay)// wacht x seconden voordat de actuator wordt geactiveerd { extend();//verleng de actuator } if(ldr < threshold)//als de meting kleiner is dan de drempelwaarde, begin met tellen { countClose++;//tel hoe lang de sensor licht ontvangt delay(10); } else { countClose = 0; } if(countClose> triggerDelay)// wacht x seconden voordat de actuator wordt geactiveerd { retract(); } } void extend() { digitalWrite(relay1,LOW); digitalWrite(relay2,HIGH); } void retract() { digitalWrite(relay2,LOW); digitalWrite(relay1,HIGH); }
Conclusie
Zo, dat was onze methode om een lineaire actuator met lichtsensor te gebruiken voor de aansturing van uw actuator met behulp van zonne-energie. We weten dat niet elke toepassing hetzelfde is, dus u heeft wellicht vragen over dit project of wilt wellicht aanpassingen laten uitvoeren door ons team van engineers. Geen probleem – stuur ons een e-mail naar sales@progressiveautomations.com of bel ons gratis op 1-800-676-6123.