Hogyan szabályozzuk a lineáris aktuátorok mozgásának időzítését?

Hogyan lehet szabályozni a lineáris aktuátorok mozgásának időzítését?

Legújabb „Hogyan csináld” bejegyzésünkben azt fogjuk áttekinteni, hogyan vezérelhetjük egy lineáris aktuátor mozgásának időzítését mikrovezérlő segítségével. Mikrokontrollerek nagy szabadságot biztosítanak a mozgásvezérlésben, és ez csak egy példa a szinte végtelen számú mozgásvezérlési lehetőségre. Az alkalmazástól függően a cikkben szereplő példaprojekt az igényeidhez igazítható, akár egy újabb időzített aktuátort adsz hozzá, akár a tápegységet erősíted meg egy erősebb lineáris aktuátor kezeléséhez, minden rajtad múlik.

Tekintse meg mikrovezérlőinket a tökéletes aktuátorvezérlés érdekében!

Mozgásvezérlés mikrokontrollerrel

Egy Arduino mikrovezérlőt fogunk használni a lineáris aktuátor mozgásidőzítésének vezérlésére, de bármilyen mikrovezérlő működni fog. Mivel azonban egy árnyékolást használunk, a mikrovezérlőnek kompatibilisnek kell lennie. Végigvezetünk a különböző paramétereken, amelyekkel megváltoztathatod a lineáris aktuátor sebességét.

 

Amire szükséged lesz

Ebben a példában a következő komponenseket fogjuk használni a vezérléshez: lineáris aktuátor:

Böngésszen elektromos lineáris aktuátoraink teljes kínálatában, amelyek bármilyen alkalmazáshoz alkalmasak!

Csatlakozó alkatrészek

Most, hogy megvannak a kellékeink, mindent össze kell kötnünk. Szerencsére a csatlakozások egyszerűek egy árnyékolás segítségével, szemben egy különálló panellel, amely további vezetékezést és forrasztást igényel.

Először is, kössük össze a aktuátor to our LC-80 MegaMoto Plus shield by attaching the two wire leads from the actuator to the A/B screw terminals on the LC-80. Then, we need to connect the LC-80 to our power supply, in this case, the PS-20-12. We do this by attaching positive and negative wires from the power supply to the BAT +/- terminals of the LC-80.

Végül össze kell kötnünk az LC-80-at az LC-066-tal, ami olyan egyszerű, mint egymásra helyezni őket, ahogy az az alábbi képen látható.

 

Photo of microcontrollers by Progressive Automations

Válassza ki a megfelelő vezérlőrendszert az aktuátorához, és tekintse meg kínálatunkat!


A kód módosítása

Ahhoz, hogy teljes mértékben irányíthassuk a működtetőnk mozgását, lineáris működtető programozást kell végeznünk az Arduino egységünkkel. Készítettünk egy példakódot, amelyben a működtetőnk kinyúlik, majd visszahúzódik 10 másodpercig mindkét irányban egy 300 másodperces cikluson keresztül.

//A panelen található jumperekkel választható ki, hogy mely lábakat kell használni int EnablePin1 = 13; int PWMPinA1 = 11; int PWMPinB1 = 3; int extendtime = 10 * 1000; // 10 másodperc, szorozva 1000-rel, milliszekundumra konvertálás int retracttime = 10 * 1000; // 10 másodperc, szorozva 1000-rel, milliszekundumra konvertálás int timetorun = 300 * 1000; // 300 másodperc, szorozva 1000-rel, milliszekundumra konvertálás int duty; int elapsedTime; boolean keepMoving; void setup() { Serial.begin(9600); pinMode(EnablePin1, OUTPUT);//A panel engedélyezése pinMode(PWMPinA1, OUTPUT); pinMode(PWMPinB1, OUTPUT);//Motor kimenetek beállítása elapsedTime = 0; // Idő beállítása 0-ra keepMoving = true; //A rendszer mozogni fog }//beállítás vége void loop() { if (keepMoving) { digitalWrite(EnablePin1, HIGH); // motor engedélyezése pushActuator(); delay(extendtime); stopActuator(); delay(10);//kis késleltetés a visszahúzás előtt pullActuator(); delay(retracttime); stopActuator(); elapsedTime = millises();//mennyi idő telt el? if (elapsedTime> timetorun) {//ha már 300 másodperc telt el, leállítjuk a Serial.print("Az eltelt idő meghaladta a maximális futási időt. Max. futási idő: "); Serial.println(timetorun); keepMoving = false; } }//vége if }//fő ciklus vége void stopActuator() { analogWrite(PWMPinA1, 0); analogWrite(PWMPinB1, 0); // sebesség 0-255 } void pushActuator() { analogWrite(PWMPinA1, 255); analogWrite(PWMPinB1, 0); // sebesség 0-255 } void pullActuator() { analogWrite(PWMPinA1, 0); analogWrite(PWMPinB1, 255);// sebesség 0-255 }

 

Fontos, hogy sorról sorra végigmenjünk a kódon, hogy megpróbáljuk megérteni, mi is történik. Ezáltal testreszabhatjuk a kódot, hogy számos más feladatot is elvégezhessen. Egyelőre azonban a legfontosabb rész az első szakasz és a beállítási ciklus, amely a lábak kiosztására és a ciklussebesség beállítására összpontosít.

Az LC-80-on lévő lábakat úgy kell konfigurálnod, hogy azok megegyezzenek a kód első részében találhatóakkal az LC-80 jumpereinek beállításával vagy a kód módosításával. Ebben az esetben az "Engedélyezve" lábat a D13-ra, a "PWMA" lábat a D11-re, a "PWMB" lábat pedig a D3-ra kell állítanod. Az "Engedélyezve" láb vezérli és táplálja a motort, és enélkül a működtető leáll, és nem lesz vezérelhető. A "PWMA" és "PWMB" lábak a működtető kitolását és visszahúzását vezérlik. Ebben a példában nincs szükségünk a "Szenzor" lábakra, ezért ne aggódj a kiválasztással ott.

Egy lineáris aktuátor időzítő vezérlése most elkészült. Feltöltheted a kódot az Arduinora az IDE segítségével (letölthető az Arduino weboldaláról). Miután a lineáris aktuátor kinyúlik és visszahúzódik, miért ne játszanál egy kicsit a kóddal? Próbáld meg beállítani a kinyúlás/visszahúzás idejét a kódon belül, töltsd fel újra az Arduinora, és nézd meg, hogyan reagál a lineáris aktuátor. Ezen számok módosításával a kódban a kívánt alkalmazás alapján szabályozhatod a sebességet és a teljes mozgási ciklusidőt.


Következtetés

Az alábbiakban egy időzítő aktuátor működéséről készült videót tettünk közzé. A videós példában szerettünk volna bemutatni egy másik módot az időzítés módosítására, ezért úgy alakítottuk ki, hogy egy 20 másodperces cikluson keresztül 5 másodpercenként kinyúljon és visszahúzódjon.

As stated earlier, this is just one example of a way you can alter the motion of an actuator with the help of our microcontrollers. If you have your own custom control method in mind, you can have a control system built specifically to your custom requirements with the help of our talented engineering staff. They will guide you through the process and make sure you have full control over your units. If you'd like to learn more about the custom order process take a look at our egyedi rendelési oldal.