How to Control Your Linear Actuator with Solar Power

Slik styrer du den lineære aktuatoren med solenergi

Josh Nigh
Josh Nigh
PA Engineer

Hos Progressive Automations tilbyr vi mange alternativer for å kontrollere din lineær aktuatorFra enkle løsninger som vippebrytere, til våre mer avanserte kontrollere som PA-35 Wi-Fi-kontrollboks, har vi mange plug-and-play-alternativer. Noen ganger er imidlertid prosjektkrav og kundebehov litt mer unike enn hva disse alternativene kan tilby. Det er her mikrokontrollere kan virkelig være våre venner. I denne artikkelen skal vi gå gjennom hvordan vi kan endre posisjonen til en aktuator basert på mengden lys som er tilstede, noe som gir deg en unik og avansert form for lineær aktuatorkontroll.

Hva trenger du?

Alt vi trenger til dette prosjektet er en Arduino (i dette tilfellet en Arduino Uno), en lysavhengig motstand (også kjent som en fotoresistor eller LDR), én 10 k ohm motstand, en 2-kanals relémodul og selvfølgelig en aktuator.

Sjekk ut vår Arduino Uno, som var avgjørende for dette prosjektet!

Valg av lineær aktuator

I mange tilfeller vil vi bruke denne typen trigger til utendørs bruk, for eksempel solcelledrevet hønsehusdørens aktuatorDu må være oppmerksom på hva slags miljø aktuatoren din skal operere i, og sørge for at den har riktig IP-klassifisering. For å hjelpe deg med dette kan du finne vår IP-klassifiseringsguide. herVi må også sørge for at du finner riktig slaglengde og kraftklassifisering for aktuatoren din. For hjelp med dette kan du se et av våre mange andre blogginnlegg. herI hovedsak er typen aktuator du bruker helt avhengig av bruksområdet ditt og hvor tøft miljøet du befinner deg i.

 

Kabling

The wiring for this solar-powered actuator

 

Kablingen for dette soldrevne aktuatorprosjektet er som følger:

LDR til Arduino

  • LDR-ledning 1 – Jord
  • LDR-ledning 2–5V (via 10k motstand)
  • LDR-ledning 2 – Analog pinne 0

Relémodul til Arduino

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

Relémodul til strømforsyning og aktuator

  • +12V til NC1 (normalt lukket terminal på relé én)
  • -12V til NO1 (normalt åpen terminal på relé én)
  • NC1 til NC2
  • NO1 til NO2
  • COMMON1 til aktuatorledning 1
  • COMMON2 til aktuatorledning 2

Ved bruk av en 2-kanals relémodul viser instruksjonene ovenfor hvordan du kobler dette prosjektet. Dette er et veldig enkelt oppsett som er lett å kode, men det har sine begrensninger. Hvis du vil legge til funksjoner som hastighetskontroll eller krafttilbakemelding, kan du vurdere å bruke MegaMoto motordriverskjold i stedet. Mer informasjon om det her.

Koding av din soldrevne aktuator

Funksjonaliteten til den oppgitte koden er ment å være så enkel som mulig. Når det er lys, vil aktuatoren trekke seg tilbake. Når det er mørkt, vil aktuatoren forlenges. For å forhindre at aktuatoren utløses utilsiktet (hvis noen går forbi og blokkerer lyset, eller hvis et lysglimt plukkes opp av sensoren), må endringen fra mørkt til lyst (eller lyst til mørkt) vare i minst tretti sekunder. Denne forsinkelsen kan enkelt endres ved å endre verdien til «const int triggerDelay».

Mengden lys som er tilstede bestemmes ved å lese spenningen som går til analog pin 0. Jo mer lys det er, desto mindre motstand vil den lysavhengige motstanden vår ha. Siden vi bruker en pull-up-motstand, vil dette bety at spenningen vil synke når omgivelsene blir lysere. Arduinoen leser dette som en verdi mellom 0 og 1028. Hvis du vil endre verdien der aktuatorens tilstand vil endres, endrer du ganske enkelt verdien for «const int threshold» (standardinnstilt til 650).

Denne koden vil tjene sitt formål som den er, men det flotte med prosjekter som disse er at det alltid er rom for forbedring. Du kan gjerne endre denne koden slik at den passer bedre til din solcelledrevne lineære aktuatorapplikasjon! Noen eksempler på ekstrafunksjoner som kan legges til denne koden er: en tidsavbrudd for å forhindre at aktuatoren fortsetter å bevege seg hvis den ikke treffer grensebryteren innen en viss tidsperiode; kollisjonsdeteksjon via strømforbruksovervåking (ville kreve en MegaMoto-sjåfør i stedet for reléer); eller en funksjon som tillater at aktuatoren stilles inn i forskjellige posisjoner basert på lysmengden (ikke bare helt opp eller helt ned).

Utendørs bruk drar nytte av denne typen trigger. Sjekk ut de svært godt beskyttede aktuatorene vi fører!

 /*The hardware required for this project is an Arduino, one light dependant resistor (LDR), a 10K resistor and a 2-channel 5V relay module. Its purpose is to control the extension and retraction of an actuator based on the amount of light that is present. Written by Progressive Automations 12/02/2020
*/ #define relay1 2 //relay used to extend actuator
#define relay2 3 //relay used to retract actuator
int ldr; //analog reading from light dependent resistor int countOpen = 0;//counts how long sensor is recieving light
int countClose = 0;//counts how long the sensor is not recieving light
const int triggerDelay = 3000;//number of seconds x 100 to wait after lighting changes before triggering actuator 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)//if reading is greater than threshold, start counting
{ countOpen++;//count how long the sensor is not recieving light delay(10);
}
else
{ countOpen = 0;//reset count to zero if statement is not true
}
if(countOpen> triggerDelay)// wait x seconds before triggering actuator { extend();//extend actuator
} if(ldr < threshold)//if reading is less than threshold, start counting
{ countClose++;//count how long sensor is recieving light delay(10);
}
else
{ countClose = 0;
}
if(countClose> triggerDelay)// wait x seconds before triggering actuator { retract();
} } void extend()
{ digitalWrite(relay1,LOW); digitalWrite(relay2,HIGH);
} void retract()
{ digitalWrite(relay2,LOW); digitalWrite(relay1,HIGH);
} 

Konklusjon

Så der har du det! Metodikken vår bak bruk av en lineær aktuatorlyssensor for å styre aktuatoren din ved hjelp av solenergi. Vi vet at ikke alle applikasjoner er like, så du har kanskje spørsmål om dette prosjektet, eller endringer du ønsker at ingeniørteamet vårt skal utføre. Det er ikke noe problem – bare send oss en e-post via sales@progressiveautomations.com, eller ring oss gratis på 1-800-676-6123.