- 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?
- A potenciométert használó forgó léptetőmotor áramköri rajza:
- Az Arduino Board kódja:
- Dolgozó:
A léptető motorok egyre inkább elfoglalják pozíciójukat az elektronika világában. A normál megfigyelő kamerától kezdve 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. Ebben az oktatóanyagban megismerkedhetünk a leggyakrabban / olcsóbban elérhető 28-BYJ48 léptetőmotorral, valamint az Arduino -val való összekapcsolásról az ULN2003 léptető modul segítségével.
A legutóbbi projektben egyszerűen összekapcsoltuk a léptetőmotort az Arduinóval, ahol elforgathatja a léptetőmotort az Arduino soros monitorában a forgási szög megadásával. Ebben a projektben itt forgatjuk a léptetőmotort a potenciométer és az Arduino használatával, például ha a potenciométert az óramutató járásával megegyező irányba forgatja, akkor a léptető az óramutató járásával megegyező irányban forog, és ha a potenciométert az óramutató járásával ellentétes irányba fordítja, akkor az az óramutató járásával ellentétes irányba.
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.
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.
A potenciométert használó forgó léptetőmotor áramköri rajza:
A léptetőmotor vezérlésének áramköri ábrája a potenciométer és az Arduino segítségével 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. Az A0-hoz egy potenciométer van csatlakoztatva, amelynek értékeiben forgatjuk a Stepper motort.
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öldelését a Driver modul földelésé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. A teljes bemutató videó a bemutató végén található.
Ebben az oktatóprogramban úgy fogjuk programozni az Arduino-t, hogy meg tudjuk fordítani az A0 érintkezőhöz csatlakoztatott potenciométert és vezérelhetjük a Stepper motor irányá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éssel az óramutató járásával megegyező irányba mozogjon, a következő sort használhatjuk.
stepper.step (1);
Ahhoz, hogy a motor egy lépéssel az óramutató járásával ellentétes irányba mozogjon, a következő sort használhatjuk.
lépésszámláló (-1) lépés;
A programunkban leolvassuk az A0 analóg érintkező értékét, és összehasonlítjuk az előző értékkel (Pval). Ha nőtt, akkor 5 lépést haladunk az óramutató járásával megegyező irányban, és ha csökken, akkor 5 lépést az óramutató járásával ellentétes irányba mozgatunk.
potVal = térkép (analogRead (A0), 0,1024,0500); if (potVal> Pval) lépésszámláló.lépés (5); ha (potVal
Dolgozó:
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, el kell forgatni a potenciométert a Stepper motor forgásának szabályozásához. Az óramutató járásával megegyező irányba forgatva a léptetőmotort az óramutató járásával megegyező irányba fordítja és fordítva.
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, küldje el az alábbi megjegyzés rovatba vagy fórumunkra.