- A léptetőmotor működési módjai
- MATLAB grafikus felhasználói felület létrehozása a léptetőmotor vezérléséhez
- MATLAB kód a léptetőmotor Arduino vezérléséhez
- Anyag szükséges
- Kördiagramm
- A léptetőmotor vezérlése a MATLAB segítségével
A léptetőmotorok egy kefe nélküli egyenáramú motor, amely diszkrét lépésekben forog, és a legjobb választás számos precíziós mozgásvezérlő alkalmazáshoz. Ezenkívül a léptetőmotorok jól alkalmazhatók pozícionáláshoz, fordulatszám-szabályozáshoz és olyan alkalmazásokhoz, amelyekhez alacsony fordulatszámon nagy nyomaték szükséges.
A MATLAB korábbi oktatóanyagaiban elmagyaráztuk, hogy a MATLAB használatával hogyan lehet vezérelni az egyenáramú motort, a szervomotort és a háztartási készülékeket. Ma megtanuljuk, hogyan kell irányítani a léptetőmotort a MATALB és az Arduino segítségével. Ha még nem ismeri a MATLAB alkalmazást, akkor javasoljuk, hogy kezdje el a MATLAB egyszerű LED-es villogási programját.
A léptetőmotor működési módjai
Mielőtt elkezdené kódolni a léptetőmotort, meg kell ismernie a léptetőmotor működését vagy forgatását. Mivel a léptető üzemmód állórésze különböző tekercspárokból épül fel, mindegyik tekercspárt sokféle módszerrel lehet gerjeszteni, ez lehetővé teszi az üzemmódok különböző módokban történő vezetését. Az alábbiak a tág osztályozások
Teljes lépés mód
Teljes lépéses gerjesztési módban teljes 360 ° -os elfordulást érhetünk el minimális fordulatok számával (lépések). De ez kevesebb tehetetlenséghez vezet, és a forgás sem lesz sima. A Full Step Excitation további két osztályozást tartalmaz, ezek egy Phase-on hullám léptetés és két phase-on mód.
1. Egy fokozatos léptetés vagy hullám léptetés: Ebben az üzemmódban a motornak csak egy kapcsa (fázisa) kap feszültséget adott pillanatban. Ennek kevesebb a lépéseinek száma, így teljes 360 ° -os elfordulást érhet el. Mivel a lépések száma kevesebb, a módszer által fogyasztott áram is nagyon alacsony. Az alábbi táblázat egy négyfázisú léptetőmotor hullámlépési sorrendjét mutatja
Lépés | 1. fázis (kék) | 2. fázis (rózsaszín) | 3. fázis (sárga) | 4. fázis (narancssárga) |
1 | 1 | 0 | 0 | 0 |
2 | 0 | 1 | 0 | 0 |
3 | 0 | 0 | 1 | 0 |
4 | 0 | 0 | 0 | 1 |
2. Két fokozatos lépés: Amint a név ebben a módszerben megfogalmazza, két szakasz egy lesz. Ugyanaz a lépések száma, mint a Wave léptetésnek, de mivel egyszerre két tekercs van feszültség alatt, az előző módszerhez képest jobb nyomatékot és sebességet tud biztosítani. Bár az egyik hátrány az, hogy ez a módszer is több energiát fogyaszt.
Lépés |
1. fázis (kék) |
2. fázis (rózsaszín) |
3. fázis (sárga) |
4. fázis (narancssárga) |
1 |
1 |
1 |
0 |
0 |
2 |
0 |
1 |
1 |
0 |
3 |
0 |
0 |
1 |
1 |
4 |
1 |
0 |
0 |
1 |
Fél lépés mód
A Half Step üzemmód egy fokozatú és kétfázisú mód kombinációja. Ez a kombináció segít áthidalni mindkét mód fent említett hátrányát.
Ahogy sejteni lehetett, mivel kombináljuk mindkét módszert, a teljes forgatás érdekében 8 lépést kell végrehajtanunk ebben a módszerben. Az alábbiakban látható egy négyfázisú léptetőmotor kapcsolási sorrendje
Lépés |
1. fázis (kék) |
2. fázis (rózsaszín) |
3. fázis (sárga) |
4. fázis (narancssárga) |
1 |
1 |
0 |
0 |
0 |
2 |
1 |
1 |
0 |
0 |
3 |
0 |
1 |
0 |
0 |
4 |
0 |
1 |
1 |
0 |
5. |
0 |
0 |
1 |
1 |
6. |
0 |
0 |
0 |
1 |
7 |
1 |
0 |
0 |
1 |
8. |
1 |
0 |
0 |
0 |
Ennélfogva az ön választása, hogy a léptetőmotort bármilyen módban programozza, de én inkább a Kétfázisú lépcsős Teljes Lépés módot választom. Mivel ez a módszer gyorsabb sebességet nyújt, mint az egyfázisú módszer, és a fél módhoz képest a kódoló rész kevesebb, mivel a kétfázisú módszer kevesebb lépést jelent.
Tudjon meg többet a léptető motorokról és üzemmódjairól itt
MATLAB grafikus felhasználói felület létrehozása a léptetőmotor vezérléséhez
Ezután meg kell építenünk a GUI-t (grafikus felhasználói felület) a Stepper motor vezérléséhez. A GUI indításához írja be az alábbi parancsot a parancsablakba
útmutató
Megnyílik egy felugró ablak, majd válassza ki az új üres GUI- t az alábbi képen látható módon,
Most válasszon két váltógombot a léptetőmotor jobbra és balra forgatásához, az alábbiak szerint,
A gomb átméretezéséhez vagy alakjának megváltoztatásához kattintson rá, és húzhatja a gomb sarkát. A váltógombra duplán kattintva megváltoztathatja az adott gomb színét, karakterláncát és címkéjét. Két gombot testreszabtunk az alábbi képen látható módon.
Testreszabhatja a gombokat a választása szerint. Most, amikor ezt elmenti, egy kód jön létre a MATLAB Szerkesztő ablakában . Az Arduino kódolásához a projekttel kapcsolatos feladatok végrehajtásához mindig szerkesztenie kell ezt a létrehozott kódot. Tehát alább szerkesztettük a MATLAB kódot. A Parancsablakról, a szerkesztőablakról stb. Többet megtudhat a MATLAB oktatóanyag kezdő lépéseiről.
MATLAB kód a léptetőmotor Arduino vezérléséhez
A Stepper motor vezérléséhez a teljes MATLAB kódot a projekt végén adjuk meg. Ezenkívül a GUI fájlt (.fig) és a kódfájlt (.m) ide kattintva letölthetjük (jobb gombbal kattintson a linkre, majd válassza a 'Link mentése másként…' opciót), amelyek segítségével testre szabhatja a gombokat az Ön igényei szerint. Az alábbiakban néhány változtatást végeztünk a léptetőmotor forgatásával az óramutató járásával megegyező és az óramutató járásával ellentétes irányba két váltógomb segítségével.
Másolja és illessze be az alábbi kódot a 2. sorba. 74, hogy megbizonyosodjon arról, hogy az Arduino az M-fájl minden futtatásakor beszél a MATLAB-tal.
mindent kitöröl; globális a; a = arduino ();
Amikor lefelé görget, látni fogja, hogy a GUI mindkét gombja számára két funkció van létrehozva. Most írja be a kódot mindkét függvénybe a kattintással végrehajtani kívánt feladatnak megfelelően.
Az óramutató járásával megegyező gomb funkcióját, másolja be az alábbi kódot csak a vége előtt a függvény forgatni a motor az óramutató járásával megegyező irányban. A léptetőmotor folyamatos forgatásához az óramutató járásával megegyező irányban a while loop segítségével megismételjük a két fokozatos lépcsős teljes módú lépést az óramutató járásával megegyező irányba.
míg get (hObject, 'Érték') globális a; writeDigitalPin (a, 'D8', 1); writeDigitalPin (a, 'D9', 0); writeDigitalPin (a, 'D10', 0); writeDigitalPin (a, 'D11', 1); szünet (0,0002); writeDigitalPin (a, 'D8', 0); writeDigitalPin (a, 'D9', 0); writeDigitalPin (a, 'D10', 1); writeDigitalPin (a, 'D11', 1); szünet (0,0002); writeDigitalPin (a, 'D8', 0); writeDigitalPin (a, 'D9', 1); writeDigitalPin (a, 'D10', 1); writeDigitalPin (a, 'D11', 0); szünet (0,0002); writeDigitalPin (a, 'D8', 1); writeDigitalPin (a, 'D9', 1); writeDigitalPin (a, 'D10', 0); writeDigitalPin (a, 'D11', 0); szünet (0,0002); vége
Most az óramutató járásával ellentétes gomb funkcióban illessze be az alábbi kódot a funkcióhoz, hogy a motort az óramutató járásával ellentétes irányba forgassa. A léptetőmotor folyamatos forgatásához az óramutató járásával ellentétes irányban a while loop segítségével megismételjük a két fokozatos lépcsős teljes módú lépést az óramutató járásával ellentétes irányba.
míg get (hObject, 'Érték') globális a; writeDigitalPin (a, 'D8', 1); writeDigitalPin (a, 'D9', 1); writeDigitalPin (a, 'D10', 0); writeDigitalPin (a, 'D11', 0); szünet (0,0002); writeDigitalPin (a, 'D8', 0); writeDigitalPin (a, 'D9', 1); writeDigitalPin (a, 'D10', 1); writeDigitalPin (a, 'D11', 0); szünet (0,0002); writeDigitalPin (a, 'D8', 0); writeDigitalPin (a, 'D9', 0); writeDigitalPin (a, 'D10', 1); writeDigitalPin (a, 'D11', 1); szünet (0,0002); writeDigitalPin (a, 'D8', 1); writeDigitalPin (a, 'D9', 0); writeDigitalPin (a, 'D10', 0); writeDigitalPin (a, 'D11', 1); szünet (0,0002); vége
Anyag szükséges
- A MATLAB telepítette a laptopot (előnyben részesítve: R2016a vagy újabb verziók)
- Arduino UNO
- Léptetőmotor (28BYJ-48, 5VDC)
- ULN2003 - Léptető motor meghajtó
Kördiagramm
A léptetőmotor vezérlése a MATLAB segítségével
A hardver kapcsolási rajz szerinti beállítása után kattintson a futtatás gombra a szerkesztett kód futtatásához.m fájlban
A MATLAB válasza néhány másodpercet vehet igénybe, ne kattintson semmilyen GUI gombra, amíg a MATLAB nem foglalja el az üzenetet a bal sarok alsó részén, az alábbiak szerint,
Ha minden készen áll, kattintson az óramutató járásával megegyező vagy az óramutató járásával ellentétes irányba a motor forgatásához. A váltógomb használatakor a léptetőmotor folyamatosan mozog az óramutató járásával megegyező irányba, amíg meg nem nyomjuk a gombot. Hasonlóképpen, az óramutató járásával ellentétes kapcsoló gomb megnyomásával a motor az óramutató járásával ellentétes irányba kezd forogni, amíg meg nem nyomjuk a gombot.