How To Control The Timing Of A Linear Actuators Motion

Ako riadiť časovanie pohybu lineárneho aktuátora?

Guest Writer
Guest Writer
PA Engineer

V našom najnovšom „Ako na to“ príspevku si ukážeme, ako riadiť časovanie pohybu lineárneho aktuátora pomocou mikrokontroléra. Mikrokontroléry poskytujú veľkú voľnosť pri riadení pohybu a toto je len jeden príklad takmer nekonečného množstva dostupných možností riadenia pohybu. Podľa vašej aplikácie možno ukážkový projekt v tomto článku upraviť tak, aby vyhovoval vašim požiadavkám – či už pridáte ďalší časovaný aktuátor alebo posilníte napájací zdroj, aby zvládol výkonnejší lineárny aktuátor, je to len na vás.

Pozrite si všetky naše mikrokontroléry pre maximálnu kontrolu nad aktuátormi!

Riadenie pohybu pomocou mikrokontroléra

Na riadenie časovania pohybu lineárneho aktuátora použijeme mikrokontrolér Arduino, fungovať však bude akýkoľvek mikrokontrolér. Keďže používame shield, mikrokontrolér musí byť kompatibilný. Prevedieme vás rôznymi parametrami, ktoré môžete upraviť, aby ste zmenili rýchlosť lineárneho aktuátora.

 

Čo budete potrebovať

V tomto príklade použijeme nasledujúce komponenty na riadenie lineárneho aktuátora:

Prezrite si našu kompletnú ponuku elektrických lineárnych aktuátorov, vhodných pre akúkoľvek aplikáciu!

Prepájanie komponentov

Keď už máme všetky súčiastky, musíme všetko prepojiť. Našťastie sú pripojenia jednoduché vďaka použitiu shieldu, na rozdiel od samostatnej dosky, ktorá vyžaduje ďalšie vedenie a spájkovanie.

Najprv pripojme náš aktuátor k nášmu LC-80 MegaMoto Plus shieldu pripojením dvoch vodičov z aktuátora na skrutkové svorky A/B na LC-80. Potom potrebujeme pripojiť LC-80 k nášmu napájaciemu zdroju, v tomto prípade PS-20-12. Urobíme to pripojením kladného a záporného vodiča z napájacieho zdroja na svorky BAT +/- LC-80.

Nakoniec musíme pripojiť LC-80 k LC-066 – je to také jednoduché, ako nasadiť ich na seba, ako je zobrazené na obrázku nižšie.

 

Fotografia mikrokontrolérov od Progressive Automations

Vyberte si správny riadiaci systém pre váš aktuátor a prezrite si našu ponuku!


Úprava kódu

Aby sme získali plnú kontrolu nad pohybom nášho aktuátora, budeme musieť v jednotke Arduino urobiť programovanie lineárneho aktuátora. Pripravili sme ukážkový kód, v ktorom sa náš aktuátor vysúva a potom zasúva po 10 sekúnd v každom smere v rámci 300-sekundového cyklu.

// Použite prepojky na doske na výber, ktoré piny sa použijú

int EnablePin1 = 13;

int PWMPinA1 = 11;

int PWMPinB1 = 3;

int extendtime = 10 * 1000;  // 10 sekúnd, krát 1000 na konverziu na milisekundy

int retracttime = 10 * 1000; // 10 sekúnd, krát 1000 na konverziu na milisekundy

int timetorun = 300 * 1000; // 300 sekúnd, krát 1000 na konverziu na milisekundy

int duty;

int elapsedTime;

boolean keepMoving;

void setup() {

  Serial.begin(9600);

  pinMode(EnablePin1, OUTPUT);// Aktivujte dosku

  pinMode(PWMPinA1, OUTPUT);

  pinMode(PWMPinB1, OUTPUT);// Nastavte výstupy Motora

  elapsedTime = 0; // Nastavte čas na 0

  keepMoving = true; // Systém sa bude pohybovať

}// koniec setup

void loop() {

  if (keepMoving) 

  {

    digitalWrite(EnablePin1, HIGH); // aktivujte Motor

    pushActuator();

    delay(extendtime);

    stopActuator();

    delay(10);// malé oneskorenie pred zasunutím

    pullActuator();

    delay(retracttime);

    stopActuator();

    elapsedTime = millis();// ako dlho uplynulo?

    if (elapsedTime > timetorun) {// ak uplynulo 300 sekúnd, zastavte

      Serial.print("Uplynutý čas presiahol maximálny čas chodu. Max. čas chodu: ");

      Serial.println(timetorun);

      keepMoving = false;  

    }

  }// koniec if

}// koniec hlavnej slučky

void stopActuator() {

  analogWrite(PWMPinA1, 0);

  analogWrite(PWMPinB1, 0); // rýchlosť 0-255

}

void pushActuator() {

  analogWrite(PWMPinA1, 255);

  analogWrite(PWMPinB1, 0); // rýchlosť 0-255

}

void pullActuator() {

  analogWrite(PWMPinA1, 0);

  analogWrite(PWMPinB1, 255);// rýchlosť 0-255

}

 

Je dôležité prejsť si kód riadok po riadku a pochopiť, čo sa deje. Vďaka tomu si môžete kód prispôsobiť aj na množstvo ďalších úloh. Najdôležitejšia je však zatiaľ prvá časť a funkcia setup, ktoré sa zameriavajú na priraďovanie pinov a nastavenie rýchlosti cyklu.

Musíte nakonfigurovať piny na našom LC-80 tak, aby zodpovedali prvej časti kódu, a to nastavením prepojok na LC-80 alebo úpravou kódu. V tomto prípade nastavte pin „Enable“ na D13, pin „PWMA“ na D11 a pin „PWMB“ na D3. Pin „Enable“ riadi a napája Motor; bez neho sa aktuátor prestane hýbať a nebude ho možné ovládať. Piny „PWMA“ a „PWMB“ ovládajú vysúvanie a zasúvanie aktuátora. V tomto príklade nepotrebujeme piny „Sensor“, takže si s ich výberom nerobte starosti.

Riadenie časovača lineárneho aktuátora je teraz hotové. Kód môžete nahrať do Arduina pomocou ich IDE (stiahnite si ho z webu Arduino). Keď sa váš lineárny aktuátor bude vysúvať a zasúvať, prečo sa s kódom trochu neprehrať? Skúste upraviť čas vysúvania/zasúvania v kóde, znova ho nahrajte do Arduina a sledujte, ako lineárny aktuátor reaguje. Úpravou týchto hodnôt v kóde môžete riadiť rýchlosť a celkový čas pohybového cyklu podľa vašej aplikácie.


Záver

Nižšie sme pridali video aktuátora s časovaním v akcii. V ukážkovom videu sme chceli ukázať ďalší spôsob, ako možno meniť časovanie, preto sme ho nastavili tak, aby sa vždy po 5 sekúnd vysúval a zasúval v rámci 20-sekundového cyklu.

Ako sme už spomenuli, toto je len jeden príklad, ako môžete s pomocou našich mikrokontrolérov upraviť pohyb aktuátora. Ak máte v hlave vlastnú metódu riadenia, s pomocou nášho šikovného inžinierskeho tímu vám vieme postaviť riadiaci systém presne podľa vašich požiadaviek. Prevedú vás procesom a zabezpečia, aby ste mali nad svojimi jednotkami plnú kontrolu. Ak sa chcete dozvedieť viac o procese vlastnej objednávky, pozrite si našu stránku vlastných objednávok.