- Léptető motorok:
- A lépésenkénti motor lépésenkénti számítása:
- Miért van szükségünk Driver modulokra a Stepper motorokhoz?
- Arduino léptetőmotor-helyzetszabályozó áramkör diagramja és magyarázata:
- Az Arduino Board kódja:
- Léptetőmotor működése az Arduino-val:
A léptető motorok egyre inkább elfoglalják pozíciójukat az elektronika világában. Kezdve egy normál megfigyelő kamerától a bonyolult CNC gépekig / robotokig, ezeket a léptető motorokat mindenhol működtetőként használják, mivel pontos vezérlést biztosítanak. A léptetőmotor egy kefe nélküli, szinkron motor, amely a teljes körű forgatást számos lépésre teljesíti. Ebben az Arduino léptetőmotoros oktatóanyagban megismerhetjük a leggyakrabban elérhető 28-BYJ48 léptetőmotort és annak összekapcsolását az Arduino-val az ULN2003 léptetőmotor modul segítségével.
Léptető motorok:
Vessünk egy pillantást erre a 28-BYJ48 léptető motorra.
Oké, tehát egy normál egyenáramú motorral ellentétben ebben öt fantasztikus színű vezeték jön ki belőle, és miért van így? Ennek megértéséhez először is tudnunk kell, hogyan működik a léptető és mi a különlegessége. Először stepperek motorok nem forog, akkor lépjen, és így is ismert léptető motorok. Vagyis egyszerre csak egy lépést mozognak. Ezekben a motorokban tekercsek sorozata van jelen, és ezeket a tekercseket különös módon kell bekapcsolni, hogy a motor forogjon. Amikor minden tekercset feszültség alá helyeznek, a motor egy lépést tesz, és az áramellátás sorrendje a motort folyamatos lépésekre készteti, ezáltal forogva. Vessünk egy pillantást a motor belsejében lévő tekercsekre, hogy pontosan tudjuk, honnan származnak ezek a vezetékek.
Amint láthatja, a motor Unipolar 5-vezetékes tekercselrendezéssel rendelkezik. Négy tekercs van, amelyeket bizonyos sorrendben kell feszültség alá helyezni. A piros vezetékeket + 5 V-mal látják el, és a fennmaradó négy vezetéket a földre húzzák a megfelelő tekercs beindításához. Olyan mikrovezérlőt használunk, mint az Arduino, ezeket a tekercseket egy adott sorrendben energiával ellátva, és a motor számára a szükséges számú lépés végrehajtását.
Tehát most miért hívják ezt a motort 28-BYJ48-nak ? Komolyan!!! Nem tudom. Ennek a motornak nincs technikai oka annak, hogy így nevezték el; talán sokkal mélyebben bele kellene merülnünk. Nézzük meg néhány fontos műszaki adatot, amelyet e motor adatlapján kaptunk az alábbi képen.
Ez egy információval teli fej, de néhány fontosat meg kell vizsgálnunk, hogy tudjuk, milyen típusú lépcsőt használunk, hogy hatékonyan programozzuk. Először tudjuk, hogy ez egy 5 V-os léptetőmotor, mivel a vörös vezetéket 5 V-tal tápláljuk. Aztán azt is tudjuk, hogy ez egy négyfázisú léptetőmotor, mivel négy tekercs volt benne. Most az áttétel aránya 1:64. Ez azt jelenti, hogy a tengely, amelyet kívül lát, csak akkor fog teljes teljes körű forgást végrehajtani, ha a motor belső része 64-szer forog. Ennek oka a motor és a kimenőtengely között összekötött fogaskerekek, ezek a fogaskerekek segítik a nyomaték növelését.
Egy másik fontos adat, amelyet észre kell venni, a lépésszög: 5.625 ° / 64. Ez azt jelenti, hogy a motor, amikor 8 lépéses sorrendben működik, minden lépésnél 5,625 fokot mozog, és egy teljes forgatás elvégzéséhez 64 lépést (5.625 * 64 = 360) kell végrehajtani. Tudjon meg többet a léptető motorok működéséről az ARM LPC2148, ATMega16 mikrokontroller, MSP430 segítségével.
A lépésenkénti motor lépésenkénti számítása:
Fontos tudni, hogyan kell kiszámítani a lépésenkénti motor lépésenkénti lépéseit, mert csak akkor tudja hatékonyan programozni.
Az Arduino-ban a motort 4 lépéses sorrendben fogjuk működtetni, így a lépésszög 11,25 ° lesz, mivel ez 5.625 ° (az adatlapban megadva), a 8. lépésnél 11,25 ° (5.625 * 2 = 11.25).
Lépésenkénti fordulat = 360 / lépésszög
Itt 360 / 11,25 = 32 lépés / fordulat.
Miért van szükségünk Driver modulokra a Stepper motorokhoz?
A legtöbb léptetőmotor csak egy meghajtó modul segítségével fog működni. Ennek oka, hogy a vezérlő modul (esetünkben Arduino) nem képes elegendő áramot szolgáltatni az I / O csapokról a motor működéséhez. Tehát egy külső modult, például az ULN2003 modult fogunk használni léptető motor meghajtóként. A meghajtó moduloknak sokféle típusa van, és az egyik besorolása változik a használt motor típusától függően. Az összes meghajtómodul elsődleges elve az lesz, hogy elegendő áramot nyerjen / süllyesszen el a motor működéséhez.
Arduino léptetőmotor-helyzetszabályozó áramkör diagramja és magyarázata:
Az arduino léptetőmotor vezérlő projekt áramköri diagramja a fent látható. Használtuk a 28BYJ-48 léptetőmotort és az ULN2003 meghajtó modult. A léptetőmotor négy tekercsének áramellátásához a 8, 9, 10 és 11 digitális csapokat használjuk. A meghajtó modult az Arduino kártya 5 V-os tűje táplálja.
De táplálja a meghajtót külső tápegységgel, amikor a sztyepp motorhoz valamilyen terhelést csatlakoztat. Mivel csak motort használok bemutató célokra, az Arduino Board + 5V sínjét használtam. Ne felejtse el csatlakoztatni az Arduino földjét a Diver modul földjéhez.
Az Arduino Board kódja:
Mielőtt elkezdenénk programozni az Arduinóval, értsük meg, mi történjen valójában a programon belül. Mint korábban említettük, 4 lépéses szekvencia módszert fogunk használni, így négy lépést kell elvégeznünk egy teljes forgatás elvégzéséhez.
Lépés |
Pin feszültség alatt |
Tekercsek feszültség alatt állnak |
1. lépés |
8. és 9. |
A és B |
2. lépés |
9. és 10. |
B és C |
3. lépés |
10. és 11. |
C és D |
4. lépés |
11. és 8. |
D és A |
A Driver modulnak négy LED-je lesz, amelyek segítségével ellenőrizhetjük, hogy melyik tekercs van feszültség alatt. Az energia feltöltésének sorrendjét bemutató videó a bemutató végén található.
Ebben az oktatóanyagban meg fogjuk írni az arduino léptető motor kódját, és ehhez úgy programozzuk az Arduino- t, hogy az Arduino soros monitorján keresztül megadhassuk a léptető motor által végrehajtandó lépések számát. A teljes program az oktatóanyag végén található, néhány fontos sort elmagyarázunk az alábbiakban.
A léptetőmotorunk fordulatenkénti lépéseinek számát 32-re számítottuk; ezért ezt beírjuk az alábbi sorban látható módon
#define 32. LÉPÉSEK
Ezután létre kell hoznia olyan példányokat, amelyekben meghatározzuk azokat a csapokat, amelyekhez csatlakoztattuk a Stepper motort.
Léptető léptető (STEPS, 8, 10, 9, 11);
Megjegyzés: A csapok száma szándékosan 8,10,9,11. Ugyanazon mintát kell követnie akkor is, ha megváltoztatja azokat a csapokat, amelyekhez a motorja csatlakozik.
Mivel az Arduino stepper könyvtárat használjuk, az alábbi vonal segítségével állíthatjuk be a motor fordulatszámát. A fordulatszám 0 és 200 között mozoghat 28-BYJ48 léptető motoroknál.
stepper.setSpeed (200);
Ahhoz, hogy a motor egy lépésben mozogjon, a következő sort használhatjuk.
stepper.step (val);
Az áthelyezendő lépések számát a „val” változó biztosítja. Mivel 32 fokozatunk van és 64 az áttételi arány, ezért 2048-at kell mozgatnunk (32 * 64 = 2048), hogy egy teljes forgatást végezzünk.
A „val” változó értékét a felhasználó megadhatja a soros monitor segítségével.
Léptetőmotor működése az Arduino-val:
A kapcsolat létrejötte után a hardvernek ilyennek kell lennie az alábbi képen.
Most töltse fel az alábbi programot az Arduino UNO-ba, és nyissa meg a soros monitort. Amint azt korábban említettük, 2048 lépést kell végrehajtanunk egy teljes forgatáshoz, így amikor belépünk 2048-ba, a motor egy teljes fordulatot fog végezni az óramutató járásával megegyező irányba 2048 lépésben. Az óramutató járásával ellentétes irányba történő forgatáshoz csak írja be a számot a „-“ negatív előjellel. Tehát, ha belépünk a -1024 értékre, a motor felét az óramutató járásával ellentétesen forogja. Bármely kívánt értéket megadhat, például 1-es megadásával a motor csak egy lépést tesz meg.
Remélem, megértette a projektet, és élvezte az építését. A projekt teljes működését az alábbi videó mutatja. Ha kétségei vannak, tegye fel őket a fórumunk alatti alábbi megjegyzés rovatba.