Jak řídit načasování pohybu lineárních aktuátorů

Jak řídit načasování pohybu lineárních aktuátorů?

Guest Writer
Guest Writer
PA Engineer

V našem nejnovějším příspěvku „Jak na to“ se budeme zabývat tím, jak řídit časování pohybu lineárního aktuátoru pomocí mikrokontroléru. Mikrokontroléry poskytují velkou volnost v řízení pohybu a toto je jen jeden příklad téměř nekonečného množství dostupných možností řízení pohybu. V závislosti na vaší aplikaci lze příkladový projekt v tomto článku upravit tak, aby vyhovoval vašim požadavkům, ať už přidáte další časovaný aktuátor nebo posílíte napájecí zdroj, aby zvládl silnější lineární aktuátor, vše je jen na vás.

Prohlédněte si všechny naše mikrokontroléry pro dokonalé ovládání pohonů!

Řízení pohybu pomocí mikrokontroléru

K řízení časování pohybu lineárního aktuátoru bude použit mikrokontrolér Arduino, ale fungovat bude jakýkoli mikrokontrolér. Protože však používáme shield, musí být mikrokontrolér kompatibilní. Provedeme vás různými parametry, které můžete upravit pro změnu rychlosti lineárního aktuátoru.

 

Co budete potřebovat

V tomto příkladu použijeme následující komponenty pro ovládání lineární aktuátor:

Prohlédněte si naši kompletní nabídku elektrických lineárních pohonů, vhodných pro jakoukoli aplikaci!

Spojovací komponenty

Nyní, když máme potřebné materiály, budeme muset vše zapojit. Naštěstí je zapojení jednoduché díky použití stínění na rozdíl od samostatné desky, která vyžaduje další zapojení a pájení.

Nejprve si propojíme naše pohon 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.

Nakonec musíme propojit LC-80 s LC-066, což je stejně jednoduché jako slepení na sebe, jak je znázorněno na obrázku níže.

 

Photo of microcontrollers by Progressive Automations

Vyberte si ten správný řídicí systém pro váš pohon a prohlédněte si naši nabídku!


Úprava kódu

Abychom získali plnou kontrolu nad pohybem našeho aktuátoru, budeme muset naprogramovat lineární aktuátory pomocí jednotky Arduino. Připravili jsme si ukázkový kód, ve kterém se náš aktuátor vysouvá a poté zasouvá po dobu 10 sekund v každém směru po dobu 300 sekund.

//Pomocí propojek na desce vyberte, které piny budou použity int EnablePin1 = 13; int PWMPinA1 = 11; int PWMPinB1 = 3; int extendtime = 10 * 1000; // 10 sekund krát 1000 pro převod na milisekundy int retracttime = 10 * 1000; // 10 sekund krát 1000 pro převod na milisekundy int timetorun = 300 * 1000; // 300 sekund krát 1000 pro převod na milisekundy int duty; int elapsedTime; boolean keepMoving; void setup() { Serial.begin(9600); pinMode(EnablePin1, OUTPUT);//Povolí desku pinMode(PWMPinA1, OUTPUT); pinMode(PWMPinB1, OUTPUT);//Nastaví výstupy motoru elapsedTime = 0; // Nastaví čas na 0 keepMoving = true; //Systém se bude pohybovat }//ukončí nastavení void loop() { if (keepMoving) { digitalWrite(EnablePin1, HIGH); // povolí motor pushActuator(); delay(extendtime); stopActuator(); delay(10);//malé zpoždění před zasunutím pullActuator(); delay(retractime); stopActuator(); elapsedTime = millis();//jak dlouho to uběhlo? if (elapsedTime> timetorun) {//pokud to bylo 300 sekund, zastav Serial.print("Uplynulý čas je delší než maximální doba běhu. Maximální doba běhu: "); Serial.println(timetorun); keepMoving = false; } }//konec if }//ukončí hlavní smyčku void stopActuator() { analogWrite(PWMPinA1, 0); analogWrite(PWMPinB1, 0); // rychlost 0-255 } void pushActuator() { analogWrite(PWMPinA1, 255); analogWrite(PWMPinB1, 0); // rychlost 0-255 } void pullActuator() { analogWrite(PWMPinA1, 0); analogWrite(PWMPinB1, 255);//rychlost 0-255 }

 

Je důležité projít si kód řádek po řádku, abyste se pokusili pochopit, co se děje. Tímto způsobem si můžete kód přizpůsobit tak, aby prováděl celou řadu dalších úkolů. Prozatím je však nejdůležitější první část a smyčka nastavení, která se zaměřuje na přiřazení pinů a nastavení rychlosti cyklu.

Je třeba nakonfigurovat piny na našem LC-80 tak, aby odpovídaly tomu, co je uvedeno v první části kódu, nastavením propojek na LC-80 nebo úpravou kódu. V tomto případě nastavte pin „Enable“ na D13, pin „PWMA“ na D11 a pin „PWMB“ na D3. Pin „Enable“ řídí a napájí motor a bez něj se aktuátor zastaví a nebude možné jej ovládat. Piny „PWMA“ a „PWMB“ ovládají vysouvání a zasouvání aktuátoru. V tomto příkladu nepotřebujeme piny „Sensor“, takže se nemusíte starat o výběr čehokoli na nich.

Řízení lineárního aktuátoru pomocí časovače je nyní dokončeno. Kód můžete nahrát do Arduina pomocí jejich IDE (stáhnout z webových stránek Arduina). Jakmile máte lineární aktuátor vysouvací a zasouvací, proč si s kódem trochu nepohrát? Zkuste v kódu upravit čas vysouvání/zasouvání, znovu jej nahrát do Arduina a sledovat, jak lineární aktuátor reaguje. Úpravou těchto čísel v kódu můžete ovládat rychlost a celkovou dobu cyklu pohybu na základě požadované aplikace.


Závěr

Níže uvádíme video s aktuátorem časování v akci. Pro příklad videa jsme chtěli ukázat další způsob, jak lze časování změnit, a proto jsme jej nechali vysouvat a zasouvat vždy po 5 sekundách v 20sekundovém cyklu.

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 stránka s vlastní objednávkou.