Egy kefe nélküli egyenáramú motorvezérlő fotója Arduinoval és lineáris aktuátorral párosítva

Folyamatosan meghosszabbítja és visszahúzza a működtető löketét egy kefe nélküli egyenáramú motorral

Ez az oktatóanyag segít megérteni egy kefe nélküli egyenáramú motorvezérlő vezérlését Arduino és lineáris aktuátor párosítása esetén. Ez a program használható egy aktuátor löketének folyamatos meghosszabbítására és visszahúzására.

Mielőtt belekezdenénk, nézzük át az ebben az oktatóanyagban használni kívánt komponenseket:

  1. Arduino Mega (Arduino Uno is használható).
  2. LC-241.
  3. PA-14 kefe nélküli motorral.
  4. PS-13-12 tápegység.
  5. Áthidaló vezetékek.

 Arduino Coding

A lineáris aktuátorból két vezeték jön ki, az egyik a motorhoz, a másik a végálláskapcsolókhoz tartozik. A fenti ábra vázlata bemutatja az alkatrészek összekötését.

PIN-KÓD BEÁLLÍTÁSI KÓD

int out_lim = 45; // külső végálláskapcsoló láb

int in_lim = 53; // belső végálláskapcsoló láb

int run_f = 25; // run láb a vezérlőn
int run_r = 30; // fordított láb a vezérlőn

A kódnak ez a része az adatok fogadására és küldésére használt lábak inicializálásával foglalkozik. Ebben az esetben minden digitális lábat használtunk, de analóg lábak is használhatók.

BEÁLLÍTÓ HUROKKÓD

void setup() {

  Serial.begin(9600); // soros kommunikáció inicializálása 9600 bit/másodperc sebességgel
pinMode(out_lim, INPUT_PULLUP); // a 45-ös lábat bemeneti lábként konfigurálja
pinMode(in_lim, INPUT_PULLUP); // az 53-as lábat bemeneti lábként konfigurálja
pinMode(run_f, OUTPUT); // a 25-ös lábat kimeneti lábként konfigurálja
pinMode(run_r, OUTPUT); // a 30-as lábat kimeneti lábként konfigurálja

 

retract(); // visszahúzza a körvonalat indításkor

  késlekedés(500);
}


A „beállítás” ciklus konfigurálja, hogy mely lábakat használja a program kimenetként és melyeket bemenetként. Amint a kódban látható, a végálláskapcsolókhoz csatlakoztatott lábakat a végálláskapcsolók állapotának kiolvasására, az LC-241 „RUN” és „REV” pontjaihoz csatlakoztatott lábakat pedig az írásra használják. Kezdetben a kód egy visszahúzási függvényt is futtat, amely a teljes visszahúzást végzi az indítás előtt.

FÜGGVÉNYMEGHATÁROZÁSOK KÓD

void extend() // ez a függvény engedélyezi a motor működését

{
 digitalWrite(run_f, LOW);
 digitalWrite(run_r, MAGAS);

 }

void retract() // ez a függvény megfordítja a motor forgásirányát
{
digitalWrite(futás_f, LOW);
digitalWrite(run_r, LOW);
}

void run_stop() // ez a függvény letiltja a motort
{
digitalWrite(run_f, MAGAS);
digitalWrite(run_r, MAGAS);
}


Ez a rész a motor teljesítményének és irányának vezérlésére használt funkciókat ismerteti. A motor engedélyezését vagy letiltását úgy végezzük, hogy „0” vagy „1” értéket írunk a „RUN” lábra, majd ugyanazokat a parancsokat adjuk ki a „REV” lábra a motor irányának megfordításához.

FŐ HUROK KÓD

Üres ciklus() {

  int out_lim_state = digitalRead(out_lim); // beolvassa a végálláskapcsolók értékét és elmenti azt
int in_lim_state = digitalRead(in_lim);

  Serial.print("külső végálláskapcsoló értéke "), Serial.println(out_lim_state); // 0 -> végálláskapcsoló lenyomva
  Serial.print("belső végálláskapcsoló értéke "), Serial.println(in_lim_state); // 1 -> a végálláskapcsoló nincs lenyomva

if (out_lim_state == 0 && in_lim_state == 1) // ha a külső végálláskapcsoló le van nyomva, de a belső nincs (teljesen kihúzva)
  {
retract(); // vonóvonal visszahúzása
  }

  else if (out_lim_state == 1 && in_lim_state == 0) // ha a belső végálláskapcsoló le van nyomva, de a külső nincs (teljesen visszahúzva)
{
extend(); // meghosszabbítjuk a körvonalat
}

 

A „hurok” alapvetően csak a végálláskapcsolók bemeneteit olvassa be, hogy ellenőrizze, hogy a kapcsolók le vannak-e nyomva vagy sem, majd ennek alapján megváltoztatja a motor forgásirányát.

A piacon kapható lineáris aktuátorok többsége kefés egyenáramú motorral van felszerelve, így a motorral elérhető kitöltési tényező némileg lehetetlenné teszi az egység folyamatos működtetését. A Progressive Automationsnál ügyfeleinknek lehetőséget biztosítunk arra, hogy PA-14 modellünkhöz kefe nélküli egyenáramú motort válasszanak, ami még több lehetőséget biztosít számukra projektjeikhez.