- MATLAB grafikus felhasználói felület létrehozása az egyenáramú motor vezérléséhez
- MATLAB kód a DC motor Arduino vezérléséhez
- Anyag szükséges
- Kördiagramm
- Az egyenáramú motor vezérlése a MATLAB segítségével
Ebben az oktatóanyagban megmutatjuk, hogyan kell vezérelni az egyenáramú motort a MATLB és az Arduino segítségével. Ha Ön még nem ismeri a MATLAB-ot, akkor javasoljuk, hogy kezdje el az egyszerű LED-es villogás programot a MATLAB-tal.
MATLAB grafikus felhasználói felület létrehozása az egyenáramú motor vezérléséhez
Miután befejeztük az Arduino telepítését a MATLAB-hoz, ki kell építenünk a grafikus felhasználói felületet (GUI) az egyenáramú 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álassza ki a három nyomógomb az óramutató járásával megegyező, óramutató járásával ellentétesen és a STOP, 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 nyomógombra duplán kattintva megváltoztathatja az adott gomb színét, karakterláncát és címkéjét. Három 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.
MATLAB kód a DC motor Arduino vezérléséhez
A teljes MATLAB kódot a DC motor vezérlésének szerkesztése után megadjuk a projekt végén. A letöltéshez itt hozzáadjuk a GUI fájlt (.fig) és a kódfájlt (.m) is, amelyek segítségével testre szabhatja a gombokat az Ön igényei szerint. Az alábbiakban néhány módosítást végeztünk a DC motor forgatásával az óramutató járásával megegyező irányba, az óramutató járásával ellentétes irányba és leállítottunk három nyomó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 minden gombjára három funkció tartozik. Most írja be a kódot minden függvénybe annak a feladatnak megfelelően, amelyet kattintással szeretne végrehajtani.
Az óramutató járásával megegyező gomb funkcióban másolja és illessze be az alábbi kódot közvetlenül a funkció zárójelei elé, hogy a motort az óramutató járásával megegyező irányba forgassa. Itt a HIGH-t adjuk meg a 6-os és LOW-t az 5-ös csapnál, hogy a motort az óramutató járásával megegyező irányba forgassuk.
globális a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 1); szünet (0,5);
Most az óramutató járásával ellentétes gomb funkcióban illessze be az alábbi kódot a funkció végére, hogy a motort az óramutató járásával ellentétes irányba forgassa. Itt a HIGH értéket adjuk meg az 5-ös és a LOW-t a 6-os csapnál, hogy a motort az óramutató járásával ellentétes irányba forgassuk.
globális a; writeDigitalPin (a, 'D5', 1); writeDigitalPin (a, 'D6', 0); szünet (0,5);
Végül a STOP gomb funkcióban illessze be az alábbi kódot a végébe a motor forgásának leállításához. Itt a LOW-t adjuk mind az 5., mind a 6. csapnál a motor leállításához.
globális a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 0); szünet (0,5);
Anyag szükséges
- A MATLAB telepítette a laptopot (előnyben részesítve: R2016a vagy újabb verziók)
- Arduino UNO
- DC motor
- L293D- motorvezérlő
Kördiagramm
Az egyenáramú 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 reagálása néhány másodpercet vehet igénybe, ne kattintson semmilyen GUI gombra, amíg a MATLAB nem jeleníti meg a BUSY jelzést, amelyet a képernyő bal alsó sarkában láthat 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. Ha megnyomja az óramutató járásával megegyező irányú gombot, az áram a 6-os és 5-ös érintkező között áramlik, és a motor az óramutató járásával megegyező irányban forog, míg az óramutató járásával ellentétes irányban az áramlás az 5-ös érintkezőn át a 6-os érintkezőig terjed, és a motor az óramutató járásával megegyező irányban forog az óramutató járásával megegyező irányban. Az egyenáramú motor forgásának leállításához nyomja meg a STOP gombot. Ugyanez a módszer használható a szervomotor vezérlésére a MATLAB segítségével, csak ennek megfelelően kell szerkesztenünk a kódot. Az alábbi videót megnézheti, hogy megértse a MATLAB DC motor vezérlésének teljes folyamatát az Arduino segítségével.