How to Control Your Linear Actuator with Solar Power

Hogyan vezérelheti lineáris működtetőjét napenergiával?

Josh Nigh
Josh Nigh
PA Engineer

A Progressive Automationsnél számos lehetőséget kínálunk az Ön vezérlésére lineáris aktuátorAz olyan egyszerű megoldásoktól, mint a billenőkapcsolók, egészen a fejlettebb vezérlőinkig, mint például a PA-35 Wi-Fi vezérlődobozszámos plug-and-play opció közül választhatunk. Azonban néha a projektkövetelmények és az ügyféligények egy kicsit egyedibbek, mint amit ezek a lehetőségek kínálnak. Itt van a lényeg mikrovezérlők tényleg a barátaink lehetnek. Ebben a cikkben azt fogjuk áttekinteni, hogyan változtathatjuk meg egy aktuátor helyzetét a jelenlévő fény mennyisége alapján, így egyedi és fejlett lineáris aktuátorvezérlést biztosítva.

Mire lesz szükséged?

Ehhez a projekthez mindössze egy Arduinora van szükségünk (ebben az esetben egy Arduino Uno), egy fényfüggő ellenállást (más néven fotorezisztort vagy LDR-t), egy 10 ohmos ellenállást, egy 2 csatornás relé modult és természetesen egy aktuátort.

Nézd meg az Arduino Unónkat, ami kritikus fontosságú volt ehhez a projekthez!

Lineáris működtető kiválasztása

Sok esetben ezt a típusú kioldót kültéri alkalmazásokhoz fogjuk használni, például napelemes rendszerekhez. csirkeól ajtó működtetőFigyelembe kell vennie, hogy milyen környezetben fog működni a működtetője, és meg kell győződnie arról, hogy a működtetője megfelelő IP-besorolással rendelkezik. Ehhez segítséget nyújt az IP-besorolási útmutatónk. ittAzt is meg kell győződnünk arról, hogy megtalálja a megfelelő lökethosszt és erőbesorolást az aktuátorához. Ehhez segítségért tekintse meg számos más blogbejegyzésünk egyikét. ittLényegében a használt aktuátor típusa teljes mértékben az alkalmazástól és a környezet zordságától függ.

 

Vezeték

The wiring for this solar-powered actuator

 

A napelemes működtető projekt bekötése a következő:

LDR az Arduino-hoz

  • LDR 1. kivezetés – Földelés
  • LDR vezeték 2 – 5V (10k ellenálláson keresztül)
  • LDR 2. kivezetés – Analóg 0. érintkező

Relé modul Arduino-hoz

  • VCC – 5V
  • Föld – Föld
  • IN1 – 2. érintkező
  • IN2 – 3. érintkező

Relé modul a tápegységhez és a működtetőhöz

  • +12V az NC1-hez (alaphelyzetben zárt csatlakozó az egyes relénél)
  • -12V az NO1-hez (alaphelyzetben nyitott csatlakozó az egyes relénél)
  • NC1-től NC2-ig
  • NO1-től NO2-ig
  • COMMON1 az 1. működtető vezetékhez
  • COMMON2 a 2. működtető vezetékhez

Egy 2 csatornás relémodul használatával a fenti utasítások segítségével kell bekötni ezt a projektet. Ez egy nagyon egyszerű, könnyen programozható összeállítás, de vannak korlátai. Ha olyan funkciókat szeretne hozzáadni, mint a sebességszabályozás vagy az erő-visszacsatolás, érdemes lehet a következőt használni: MegaMoto motorvezérlő pajzs ehelyett. További információ erről itt.

Napelemes aktuátor kódolása

A megadott kód működése a lehető legegyszerűbb. Világos állapotban a működtető behúzódik. Sötét állapotban a működtető kinyúlik. Annak érdekében, hogy megakadályozzuk a működtető véletlen kioldását (ha valaki elsétál és eltakarja a fényt, vagy ha az érzékelő egy villanást érzékel), a sötétből világosba (vagy világosból sötétbe) való átmenetnek legalább harminc másodpercig kell tartania. Ez a késleltetés könnyen módosítható a „const int triggerDelay” értékének módosításával.

A jelenlévő fény mennyiségét az analóg 0. lábra jutó feszültség leolvasásával határozzuk meg. Minél több fény van, annál kisebb lesz a fényfüggő ellenállásunk ellenállása. Mivel felhúzó ellenállást használunk, ez azt jelenti, hogy a feszültség csökkenni fog, ahogy a környezet világosabbá válik. Az Arduino ezt 0 és 1028 közötti értékként olvassa be. Ha meg szeretnéd változtatni azt az értéket, amelynél a működtető állapota megváltozik, egyszerűen változtasd meg a „const int threshold” értékét (alapértelmezés szerint 650-re van állítva).

Ez a kód önmagában is betölti a célját, de az ilyen projektek nagyszerűsége abban rejlik, hogy mindig van lehetőség a fejlesztésre. Nyugodtan módosítsa ezt a kódot, hogy jobban illeszkedjen a napelemes lineáris aktuátor alkalmazásához! Néhány példa a kódhoz hozzáadható extra funkciókra: egy időtúllépés, amely megakadályozza, hogy az aktuátor folytassa a mozgást, ha egy bizonyos időn belül nem éri el a végálláskapcsolót; ütközésérzékelés áramfelvétel-figyeléssel (ehhez egy MegaMoto sofőr relék helyett); vagy egy olyan funkció, amely lehetővé tenné a működtető elem különböző pozíciókba állítását a fény mennyiségétől függően (nem csak teljesen fel vagy teljesen le).

Kültéri alkalmazásokhoz előnyös ez a kioldótípus. Tekintse meg a nálunk kapható, fokozottan védett aktuátorokat!

 /*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);
} 

Következtetés

Íme, itt van! A módszertanunk mögött egy lineáris aktuátor fényérzékelőjének használata áll, amely napelemes aktuátort vezérel. Tudjuk, hogy nem minden alkalmazás egyforma, ezért lehetnek kérdései ezzel a projekttel kapcsolatban, vagy olyan módosításokat szeretne, amelyeket mérnökcsapatunkkal szeretne elvégeztetni. Ez nem probléma – csak küldjön nekünk egy e-mailt a következő címen: sales@progressiveautomations.com, vagy hívjon minket ingyenesen az 1-800-676-6123-as számon.