Arduino órák

Arduino órák

A leckében csatlakoztassa a TB6560-V2 STEP / DIR meghajtót az Arduino táblahoz. További információ a StepDirDriver könyvtár segítségével.

A TB6560-V2 egy olcsó, léptetőmotoros meghajtó, amely támogatja a STEP / DIR meghajtók minden tipikus módját és funkcióját.

A leckében összekötjük az Arduino fórumon. Minden rendszer és lecke program bármely más STEP / DIR meghajtóhoz illeszkedik.

A vezető csatlakoztatása az Arduino táblahoz.

A TB6560-V2 modulról szóló cikkben két kapcsolódási séma van a mikrokontrollerrel kapcsolatban. Ezt fogjuk használni.

Arduino órák
Nagy jelszint (+5 V) esetén az áram áramlik a bemeneti optocsatoló LED-jén, és a modul aktív vezérlési szintként érzékeli. A 330 Ohm ellenállások korlátozzák a LED-ek áramát. Ie A vezető közvetlenül vezérelheti a mikrokontrollereket.

Ennek szem előtt tartásával a TB6560-V2 meghajtónak az Arduino táblahoz való csatlakozási sémája így néz ki.

Arduino órák
Ügyeljen a biztosítékra. Nagyon ajánlom. Az egyszerű meghajtókkal rendelkező sémákban, amikor a kulcsokat a motoron égetik, a működési áram korlátozott, akár a tekercselési ellenállás, akár egy kiegészítő ellenállás. Az aktuális stabilizációval rendelkező vezetők esetében az áramot a PWM moduláció szabályozza. Ha a kimeneti kapcsolók ilyen készülékekben égnek, akkor a táplálás teljes feszültsége eléri a motort. Ez elfogadhatatlan áramhoz és a léptetőmotor égetéséhez vezet. A folyamat lassú, ezért bármely biztosíték, akár olvadó, akár öngyógyító, megmenti a meghajtót a meghibásodástól.

Az illesztőprogram paramétereit a modul tábla kapcsolói állítják be. A fázisáramot 1 A-ra állítottam.

Arduino órák

Az S3 és S4 kapcsolók kiválasztják a fáziskapcsolási módot.

Kezdésként beállítottam a léptetési módot, majd ellenőriztem a többieket. Az összes mód leírása a TB6560-V2 modulról szól. Azt is mutatja, hogyan állíthatja be őket a modulkapcsolók.

Az összeszerelt áramkör így néz ki.

Arduino órák
Továbbra is tanulni kell egy ilyen rendszer kezelését.

A könyvtárat a STEP / DIR meghajtók kezelésére terveztem. Teljesen kompatibilis a StepMotor könyvtárral (29. lecke). Csak 2 különbség van:

  • A konstruktornak más érvei vannak. Egyszerűen a STEP / DIR illesztőprogramhoz más vezérlőjelek és eltérő számú jel szükséges.
  • A setMode () függvényben a stepMode paraméter, a kapcsolási mód, figyelmen kívül marad. Az üzemmódot a meghajtó kapcsolói állítják be.

Töltse le a StepDirDriver könyvtárat ezen a linken.

A StepDirDriver osztály leírása.

Az osztály a következő nyilvános módszerekkel rendelkezik.

nyilvános:
StepDirDriver (byte pinStep, byte pinDir, byte pinEn); // konstruktor
void control (); // vezérlés, a funkciót rendszeresen kell hívni a maximális fáziskapcsolási frekvenciával
üres lépés (int lépések); // Indítsa el a rotor forgását meghatározott számú lépéssel
void setMode (byte stepMode, logikai fixStop); // állítja be a kapcsolási fázisok és leállások módját
void setDivider (int osztó); // a frekvenciaosztó beállítása a fáziskapcsoláshoz
int readSteps (); // olvassa el a fennmaradó lépéseket
>;

Nem nehéz meggyőzni a tervező érveinek kinevezését:

  • pinStep - STEP jel kimenete;
  • pinDir - DIR jel kimenet;
  • pinEn - az ENABLE jel kimenete.

StepDirDriver myMotor1 (10, 11, 12); // hozza létre a StepDirDriver objektumot, állítsa be a STEP, DIR, ENABLE jelek kimeneteit

A StepDirDriver könyvtár módszereinek leírása.

A módszert rendszeresen párhuzamosan kell hívni (időzített megszakítás). A fáziskommutációt meghatározó vezérlőjeleket állít elő. A vezérlés () függvény funkciójának hívás frekvenciája a setDivider funkció által meghatározott osztóval együtt határozza meg a motor sebességét.

// interrupt handler 200 us
void timerInt ()
myMotor1.control (); // motorvezérlés
>

Ez a módszer meghatározott számú lépéssel elindítja a motor forgását. Mikro-léptetési módokban nem a motor fizikai lépései, hanem a mikro lépésekről szólnak. A lépések paramétere pozitív értékkel elindítja az óramutató járásával ellentétes forgást, negatív értékkel az óramutató járásával megegyező irányban.

A forgatási funkció lépése ()

myMotor1.step (300); // 300 lépést az óramutató járásával ellentétes irányba

a program más feladatokat is elvégezhet. A motor leáll. A motort bármikor leállíthatja egy parancs

myMotor1.step (0); // állítsa le a meghajtót

Semmi sem akadályozza meg az új lépések számát, anélkül, hogy a motor leállna. Folyamatos forgatáshoz a () függvényt rendszeresen számos lépéssel hívhatja meg.

myMotor1.step (30000); // állandó rotáció

Megtanulhatjuk, hogy a motor leállt a readSteps () módszer használatával.

void setMode (byte stepMode, boolean fixStop)

A módszer leállítja a motor állapotát.

  • Ha a fixStop = true, amikor a motor tekercselése megáll, a megtartóáram fel van szerelve, a rotor pozíciója rögzítve van.
  • A fixStop = false esetén a motortekercsek feszültségét megszakítják.

A stepMode argumentum figyelmen kívül marad. A StepMotor könyvtár ugyanazon funkciójával kompatibilis.

myMotor1.setMode (0, true); // a rotor rögzítése, amikor leáll
myMotor1.setMode (0, false); // a motor teljesen lekapcsolódik

void setDivider (int osztás)

A függvény beállítja a hívás frekvenciájának arányát a kontroll () módszernek, és ezért meghatározza a motor sebességét. A forgási sebesség a következő képlet segítségével számítható ki:

Rpm = 60,000 / (osztó * Tcontrol * Ndrive) / N mikrosebesség

  • Fordulatszám - fordulatszám percenkénti fordulatszámban;
  • Tcontrol - a módszer hívásvezérlés () időszaka ms-ben;
  • Nmvatelya - a motor teljes fokozatú lépcsőinek száma;
  • N microshag - a motor fázisonként végrehajtott mikro lépéseinek száma.

Az N léptetési mód esetében: mikroszkóp = 1, a léptetőpad N mikroszivárgás = 2 stb.

myMotor1.setDivider (5); frekvenciaosztó 5

A módszer megméri a megmaradt lépések számát, amíg a motor leáll. A 0 visszatérése azt jelenti, hogy a motor leállt.

Példák a StepDirDriver könyvtár használatára.

Az új könyvtár használata nem különbözik a StepMotor könyvtár korábbi feladatokból származó funkcióinak használatától.

Csak két különbség van:

  • A #include könyvtár csatlakoztatása a #include helyett .
  • A tervező másik formátuma a StepDirDriver myMotor (10, 11, 12); a StepMotor myMotor helyett (10, 11, 12, 13).

A program csak 2 sort változtat.

A program vázlatát letöltheti és tesztelheti. ami a motor, hogy a 2 fordulat az óramutató járásával megegyező irányban, de a sebessége 1 fordulat másodpercenként, majd egy rövid szünetet 1 másodperc, 2 fordulat az óramutató járásával ellentétesen, ismét szünetet egy második, és így a ciklus. Ez hasonlít a StepMotor könyvtár előző óráihoz. Ne felejtse el telepíteni a StepDirDriver könyvtárat.

Ellenőrizze a vezető léptetőmotort AT parancsokkal.

A vezetõprogram két sorát a 31. leckébõl vezéreltem a számítógéppel, és új eszközt kaptam egy léptetõmotorral való munkához. Töltse le az új illesztőprogramot a protokoll vezérlésével. Az AT parancsok ezen a linken lehetnek.

Összeszereltem a rendszert a rendszer elején a lecke elején, és különböző módokban ellenőriztem. Nem fogok részletesen leírni. Mikro léptetési módban állok le.

Állítsa be a mikro-léptetési módot 16 mikro lépéssel. A motoromnak 400 fizikai lépése van. Mikro léptetési módban a motor akár 6400 lépést is fordulhat fordulatonként! Megpróbálta kezelni a StepMotor felső szintű programját (31. lecke).


Arduino órák
Minden működik. A telepítés pontossága egyszerűen hihetetlen.

A szervo elektromos hajtás működését a 32. leckéből is ellenőriztem.


Arduino órák
A rotor pozíciójának felbontási ereje közel 0,05 °!

Valószínűleg az elmúlt két leckében meggyőzően mutatták meg a STEP / DIR meghajtók előnyeit. De milyen meghajtót kell alkalmazni egy konkrét esetben a fejlesztőnek. Sokkal fontosabb, hogy egy egyszerű meghajtó az alacsony árat a kulcsoktól vagy a STEP / DIR illesztőprogram funkcionalitásától teszi függővé.

Nagyon komoly fejlemények vannak az egyszerű vezetők számára. Például gyakorlatilag az SPE ROST csomagolóberendezéseiben gyakorlatilag minden léptetőmotor unipoláris üzemmódban működik egyszerű meghajtó-kulcsokkal. Emiatt a motorok kisebb nyomatékkal rendelkeznek, csökkentik a maximális fordulatszámot, de a vezérlőrendszer ára jelentősen csökkent. 7-10 léptetőmotorral rendelkező készülékek esetében ez fontos.

Meg kell választani a legjobb megoldást. Egyes esetekben, ha a STEP / DIR meghajtó nem képes, más projektekben az egyszerű meghajtók jól működnek.

És te nem tudta megjelölni, még a hozzávetőleges irányt, hogyan kell megszervezni egy ilyen rendszer a központ futtatni sorozata több (5 db.) Léptető motorok, kérve bizonyos forgásszögek és szekvencia őket, és ez mind automatikusan regisztrálja magát arra, hogy módosítsa forgásszögeinek programot. Általában ez lehetséges? A feladat a gép 3d-s hajlítási vezetékének vezérlésére van beállítva.

Üdvözlünk!
A programban 5 objektumot - motort kell létrehozni. Ellenőrizze külön-külön. Ezután hajtsa végre a programidőzítőket a szükséges sorrendben. Add hozzá az időzítő és a motor paramétereinek vezérlését. Nem mondható el egy nagyon bonyolult, de eléggé kiterjedt feladat.

Kapcsolódó cikkek