Tartalomjegyzék:

Arduino: Precíziós Lib a léptetőmotorhoz: 19 lépés
Arduino: Precíziós Lib a léptetőmotorhoz: 19 lépés

Videó: Arduino: Precíziós Lib a léptetőmotorhoz: 19 lépés

Videó: Arduino: Precíziós Lib a léptetőmotorhoz: 19 lépés
Videó: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Július
Anonim
Image
Image
Globális változók
Globális változók

Ma megmutatok egy könyvtárat egy teljes lépcsős motorvezérlőnek végálláskapcsolókkal, valamint a motor mozgását gyorsítással és mikro lépéssel. Ez a Lib, amely mind az Arduino Uno, mind az Arduino Mega gépeken működik, lehetővé teszi a motorok mozgatását nemcsak a lépések száma, hanem a milliméterek alapján is. És elég pontos is.

Ennek a könyvtárnak az egyik fontos jellemzője, hogy lehetővé teszi saját CNC -gép megépítését, amely nem feltétlenül csak az X, Y, hanem például egy szakaszkapcsoló is, mert nem kész GRBL, hanem programozás, lehetővé teszi az Ön számára ideális gép elkészítését.

Az alábbi állítás azonban fontos részlet! Ez a videó csak azoknak szól, akik már hozzászoktak a programozáshoz. Ha nem ismeri az Arduino programozást, először nézzen meg további bevezető videókat a csatornámon. Ennek oka az, hogy ebben a videóban egy haladó témát tárgyalok, és részletesebben elmagyarázom a videóban használt Lib -et: Step Motor with Acceleration and End of Stroke.

1. lépés: StepDriver könyvtár

Ez a könyvtár a piacon található három leggyakoribb illesztőprogram -típust tartalmazza: A4988, DRV8825 és TB6600. Konfigurálja az illesztőprogramok csapjait, lehetővé téve számukra, hogy elvégezzék az alaphelyzetbe állítást és az alvó üzemmódba helyezést, valamint aktiválják és deaktiválják az Enable pin -re ható motorkimeneteket. Ezenkívül beállítja a meghajtó mikrolépcsős csapjainak bemenetét, valamint korlátozza a kapcsolókat és azok aktiválási szintjét (magas vagy alacsony). Motormozgás kóddal is rendelkezik, folyamatos gyorsulással mm / s² -ben, maximális sebességgel mm / s -ban és minimális sebességgel mm / s -ban.

Azok, akik megnézték a Step Motor gyorsítással és ütésvéggel című videó 1. és 2. részét, töltsék le ezt az új könyvtárat, amely ma elérhető, mert az első fájlban néhány változtatást eszközöltem a használat megkönnyítése érdekében.

2. lépés: Globális változók

Pontosan megmutatom, hogy az egyes globális változók mire valók.

3. lépés: Funkciók - A meghajtócsapok beállítása

Funkciók - A vezetőcsapok beállítása
Funkciók - A vezetőcsapok beállítása

Itt leírok néhány módszert.

A Pinout beállítást és az Arduino csapokat állítottam be kimenetként.

4. lépés: Funkciók - A vezető alapvető funkciói

Funkciók - A vezető alapvető funkciói
Funkciók - A vezető alapvető funkciói

Ebben a részben az illesztőprogram konfigurációjával és alapvető funkcióival dolgozunk.

5. lépés: Funkciók - Motorlépés beállítása

Funkciók - Motorlépés beállítása
Funkciók - Motorlépés beállítása
Funkciók - Motorlépés beállítása
Funkciók - Motorlépés beállítása

Ebben a kódlépésben beállítjuk a milliméterenkénti lépések mennyiségét, amelyet a motornak végre kell hajtania.

6. lépés: Funkciók - A motor lépésmódjának beállítása

Funkciók - A motor lépésmódjának beállítása
Funkciók - A motor lépésmódjának beállítása
Funkciók - A motor lépésmódjának beállítása
Funkciók - A motor lépésmódjának beállítása
Funkciók - A motor lépésmódjának beállítása
Funkciók - A motor lépésmódjának beállítása

Ez a táblázat a motor lépésmód beállításait mutatja. Íme néhány példa.

7. lépés: Funkciók - A végálláskapcsolók beállítása

Funkciók - A végálláskapcsolók beállítása
Funkciók - A végálláskapcsolók beállítása

Itt el kell olvasnom az egész és a boolean értékeket. Be kell állítani, hogy az aktív kulcs felfelé vagy lefelé legyen -e állítva, miközben be kell állítani a maximális és a minimális végpontot.

8. lépés: Funkciók - Végálláskapcsolók leolvasása

Funkciók - Végálláskapcsolók leolvasása
Funkciók - Végálláskapcsolók leolvasása
Funkciók - Végálláskapcsolók leolvasása
Funkciók - Végálláskapcsolók leolvasása
Funkciók - Végálláskapcsolók leolvasása
Funkciók - Végálláskapcsolók leolvasása

Ez a rész eltér a Lib -ben szereplőtől, amelyet a múlt héten tettem elérhetővé. Miért változtattam? Nos, az eReadet azért hoztam létre, hogy helyettesítsek néhányat. Itt az eRead beolvassa a LVL -t, a digitalRead -et (pin), és visszaadja az IGAZ értéket. Mindezt magas szinten kell végrehajtani. A következő munka az aktív gombbal alacsony szinten lesz. Itt használom az "Igazság" táblázat bemutatására.

A kód képében elhelyeztem egy diagramot, amely segít megérteni, hogy a forráskód ezen részében a Növekvő felé haladok, és még nem értem el a kurzus végét.

Most ezen a képen a DRV8825 os kódszámú boolban azt mutatom, hogy a motor még mindig növekvő irányban mozog. A maximális végállás kapcsoló azonban aktiválva van. A mechanizmusnak tehát le kell állítania a mozgást.

Végül ugyanazt a mozgást mutatom, de az ellenkező irányba.

Itt már aktiválva van a tanfolyam vége kapcsoló.

9. lépés: Funkciók - Mozgás beállítása

Funkciók - Mozgás beállítása
Funkciók - Mozgás beállítása

A motionConfig módszer fő haszna az, hogy másodpercenként millimétert (CNC -gépekben használt mérés) lépésekké alakítanak, hogy megfeleljenek a léptetőmotor vezérlőjének. Éppen ezért ebben a részben példázom a változókat, hogy megértsük a lépéseket és ne a millimétereket.

10. lépés: Funkciók - Mozgásfunkció

Funkciók - Mozgás funkció
Funkciók - Mozgás funkció

Ebben a lépésben azt a parancsot kezeljük, amely egy lépést a kívánt irányba mozgat egy mikroszekundumos periódusban. Beállítottuk a vezető iránytűjét, a késleltetési időt és a végálláskapcsolók irányát is.

11. lépés: Funkciók - Mozgásfunkció - Változók

Funkciók - Mozgásfunkció - Változók
Funkciók - Mozgásfunkció - Változók

Ebben a részben konfiguráljuk az összes változót, amelyek magukban foglalják a maximális és minimális sebesség periódusait, a pálya távolságát és a pálya megszakításához szükséges lépéseket.

12. lépés: Funkciók - Mozgásfunkció - Gyorsítás

Funkciók - Mozgásfunkció - Gyorsulás
Funkciók - Mozgásfunkció - Gyorsulás
Funkciók - Mozgásfunkció - Gyorsulás
Funkciók - Mozgásfunkció - Gyorsulás

Itt bemutatok néhány részletet arról, hogyan jutottunk el a gyorsulási adatokhoz, amelyeket Torricelli egyenlete alapján számítottunk ki, mivel ez figyelembe veszi a gyorsítás elvégzéséhez szükséges teret, és nem az időt. Itt azonban fontos megérteni, hogy ez az egész egyenlet csak egy kódsorról szól.

A fenti képen trapézot azonosítottunk, mert a kezdeti fordulatszám rossz a legtöbb léptetőmotor számára. Ugyanez történik a lassítással is. Emiatt egy trapézot vizualizálunk a gyorsulás és a lassulás közötti időszakban.

13. lépés: Funkciók - Mozgásfunkció - Folyamatos sebesség

Funkciók - Mozgásfunkció - Folyamatos sebesség
Funkciók - Mozgásfunkció - Folyamatos sebesség
Funkciók - Mozgásfunkció - Folyamatos sebesség
Funkciók - Mozgásfunkció - Folyamatos sebesség

Itt tartjuk a gyorsításnál használt lépések számát, folyamatos sebességgel folytatjuk, és tartjuk a maximális sebességet, ami az alábbi képen is látható.

14. lépés: Funkciók - Mozgásfunkció - Lassítás

Funkciók - Mozgásfunkció - Lassítás
Funkciók - Mozgásfunkció - Lassítás
Funkciók - Mozgásfunkció - Lassítás
Funkciók - Mozgásfunkció - Lassítás

Itt van egy másik egyenlet, ezúttal negatív gyorsulási értékkel. Kódsorban is megjelenik, amely az alábbi képen a Lassítás feliratú téglalapot jelöli.

15. lépés: Funkciók - Mozgásfunkció - Folyamatos sebesség

Funkciók - Mozgásfunkció - Folyamatos sebesség
Funkciók - Mozgásfunkció - Folyamatos sebesség
Funkciók - Mozgásfunkció - Folyamatos sebesség
Funkciók - Mozgásfunkció - Folyamatos sebesség

Visszatérünk a folyamatos sebességhez, hogy a pálya második felében dolgozzunk, amint az alább látható.

16. lépés: Funkciók - Mozgatási funkció - Fordulatok mozgatása

Funkciók - Mozgatási funkció - Fordulatok mozgatása
Funkciók - Mozgatási funkció - Fordulatok mozgatása

Ebben a részben a motort bizonyos számú fordulattal mozgatjuk a kívánt irányba, a fordulatszámot milliméterben átváltva. Végül mozgatjuk a motort a kért irányba.

17. lépés: Mozgásdiagram - Pozíciósebesség

Mozgásdiagram - Pozíciósebesség
Mozgásdiagram - Pozíciósebesség

Ebben a grafikonban olyan adatokat kaptam, amelyeket abból az egyenletből vettünk ki, amelyet az Acceleration részben használtunk. Felvettem az értékeket és játszottam az Arduino sorozatban, és ebből az Excelbe mentem, ami ezt a táblázatot eredményezte. Ez a táblázat a lépés előrehaladását mutatja.

18. lépés: Mozgásdiagram - Pozíció vs. Pozíció

Mozgásdiagram - Pozíció vs. Pozíció
Mozgásdiagram - Pozíció vs. Pozíció

Itt felvesszük a pozíciót lépésekben és a sebességet, és mikroszekundumban periódussá alakítjuk. Ebben a lépésben megjegyezzük, hogy az időszak fordítottan arányos a sebességgel.

19. lépés: Mozgásdiagram - Velocity vs. Pillanat

Mozgásdiagram - Velocity vs. Pillanat
Mozgásdiagram - Velocity vs. Pillanat

Végül a sebesség a pillanat függvényében van, és emiatt van egy egyenesünk, mivel ez a sebesség az idő függvényében.

Ajánlott: