- Načini rada u koračnom motoru
- Stvaranje grafičkog korisničkog sučelja MATLAB za upravljanje koračnim motorom
- MATLAB kod za upravljanje koračnim motorom s Arduinom
- Potreban materijal
- Kružni dijagram
- Upravljanje koračnim motorom pomoću MATLAB-a
Koračni motori je istosmjerni motor bez četkica koji se okreće diskretnim koracima i najbolji su izbor za mnoge aplikacije precizne kontrole pokreta. Također, koračni motori su dobri za pozicioniranje, kontrolu brzine i programe koji zahtijevaju veliki obrtni moment pri maloj brzini.
U prethodnim tutorijalima MATLAB-a objasnili smo kako koristiti MATLAB za upravljanje istosmjernim motorom, servo motorom i kućanskim aparatima. Danas ćemo naučiti kako upravljati koračnim motorom pomoću MATALB-a i Arduina. Ako ste novi u MATLAB-u, preporučuje se da započnete s jednostavnim LED programom za treptanje s MATLAB-om.
Načini rada u koračnom motoru
Prije nego započnete s kodiranjem koračnog motora, trebali biste razumjeti koncept rada ili rotiranja koračnog motora. Budući da je stator koračnog načina rada izgrađen od različitih parova zavojnica, svaki par zavojnica može se pobuditi na mnogo različitih metoda, što omogućava pokretanje načina u više različitih načina. Slijede široke klasifikacije
Puni korak
U načinu pobude u punom koraku možemo postići cijelu rotaciju od 360 ° s minimalnim brojem okreta (koraka). Ali to dovodi do manje tromosti, a rotacija također neće biti glatka. Daljnje su dvije klasifikacije u Full Step Excitation-u, one su jednofazno koračno valjanje i dvije postupno uključivanje.

1. Jednofazno ili koračno koračanje: U ovom će se načinu rada u jednom trenutku napajati samo jedan terminal (faza) motora. To ima manji broj koraka, a time se može postići puna rotacija od 360 °. Budući da je broj koraka manji, struja koja se troši ovom metodom je također vrlo mala. Sljedeća tablica prikazuje slijed koraka vala za četverofazni koračni motor
| Korak | Faza 1 (plava) | Faza 2 (ružičasta) | Faza 3 (žuta) | Faza 4 (narančasta) |
| 1 | 1 | 0 | 0 | 0 |
| 2 | 0 | 1 | 0 | 0 |
| 3 | 0 | 0 | 1 | 0 |
| 4 | 0 | 0 | 0 | 1 |
2. Dvofazno koračanje: Kao što naziv navodi u ovoj metodi, dvije faze bit će jedna. Ima jednak broj koraka kao valno koračanje, ali budući da se istodobno napajaju dvije zavojnice, to može pružiti bolji okretni moment i brzinu u usporedbi s prethodnom metodom. Iako je jedna donja strana da ova metoda također troši više energije.
|
Korak |
Faza 1 (plava) |
Faza 2 (ružičasta) |
Faza 3 (žuta) |
Faza 4 (narančasta) |
|
1 |
1 |
1 |
0 |
0 |
|
2 |
0 |
1 |
1 |
0 |
|
3 |
0 |
0 |
1 |
1 |
|
4 |
1 |
0 |
0 |
1 |
Način u pola koraka
Način u pola koraka kombinacija je jednog faznog i dvofaznog načina rada. Ova kombinacija pomoći će nam da prebrodimo gore spomenuti nedostatak oba načina rada.
Kao što ste mogli pretpostaviti budući da kombiniramo obje metode, morat ćemo izvršiti 8 koraka u ovoj metodi da bismo postigli potpunu rotaciju. Slijedeći preklop za 4-fazni koračni motor prikazan je u nastavku
|
Korak |
Faza 1 (plava) |
Faza 2 (ružičasta) |
Faza 3 (žuta) |
Faza 4 (narančasta) |
|
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 |
Stoga je vaš izbor programiranje koračnog motora u bilo kojem načinu, ali ja preferiram dvofazni koračni način rada u punom koraku. Budući da ova metoda omogućuje bržu brzinu od jednofazne, a u usporedbi s pola načina kodiranje je manje zbog manjeg broja koraka u dvofaznoj metodi.
Ovdje saznajte više o koračnim motorima i njegovim načinima rada
Stvaranje grafičkog korisničkog sučelja MATLAB za upravljanje koračnim motorom
Zatim moramo izgraditi GUI (grafičko korisničko sučelje) za upravljanje koračnim motorom. Da biste pokrenuli GUI, upišite naredbu ispod u naredbeni prozor
vodič
Otvorit će se skočni prozor, a zatim odaberite novi prazni GUI kao što je prikazano na donjoj slici,

Sada odaberite dva preklopna gumba za okretanje koračnog motora u smjeru kazaljke na satu i u smjeru suprotnom od kazaljke na satu, kao što je prikazano dolje,

Da biste promijenili veličinu ili promijenili oblik gumba, samo kliknite na njega i moći ćete povući kutove gumba. Dvostrukim klikom na preklopni gumb možete promijeniti boju, niz i oznaku tog određenog gumba. Prilagodili smo dva gumba kako je prikazano na donjoj slici.


Tipke možete prilagoditi prema vašem izboru. Sada kada to spremite, kod se generira u prozoru uređivača MATLAB-a. Da biste Arduino kodirali za izvršavanje bilo kojeg zadatka koji se odnosi na vaš projekt, uvijek morate urediti ovaj generirani kôd. Dakle, u nastavku smo uredili MATLAB kod. Možete saznati više o naredbenom prozoru, prozoru uređivača itd. U odjeljku Početak rada s MATLAB tutorialom.
MATLAB kod za upravljanje koračnim motorom s Arduinom
Potpuni MATLAB kod za upravljanje koračnim motorom dat je na kraju ovog projekta. Dalje ovdje uključujemo GUI datoteku (.fig) i datoteku koda (.m) za preuzimanje (desni klik na vezu, a zatim odabir "Spremi vezu kao…"), pomoću koje možete prilagoditi gumbe prema svojim zahtjevima. Ispod su neke dorade koje smo izvršili za okretanje koračnog motora u smjeru kazaljke na satu i u smjeru suprotnom od kazaljke na satu pomoću dva preklopna gumba.
Kopirajte i zalijepite donji kod u redak br. 74 kako biste bili sigurni da Arduino razgovara s MATLAB-om svaki put kad pokrenete m-datoteku.
očistiti sve; globalni a; a = arduino ();

Kad se pomaknete prema dolje, vidjet ćete da postoje dvije funkcije stvorene za oba gumba u GUI-u. Sada napišite kôd u obje funkcije prema zadatku koji želite izvršiti na klik.
U funkciji gumba u smjeru kazaljke na satu , kopirajte i zalijepite donji kod neposredno prije kraja funkcije da biste okrenuli motor u smjeru kazaljke na satu. Za kontinuirano rotiranje koračnog motora u smjeru kazaljke na satu koristimo while petlju za ponavljanje dva fazna koračna koraka u punom načinu rada u smjeru kazaljke na satu.
while get (hObject, 'Value') global a; writeDigitalPin (a, 'D8', 1); writeDigitalPin (a, 'D9', 0); writeDigitalPin (a, 'D10', 0); writeDigitalPin (a, 'D11', 1); pauza (0,0002); writeDigitalPin (a, 'D8', 0); writeDigitalPin (a, 'D9', 0); writeDigitalPin (a, 'D10', 1); writeDigitalPin (a, 'D11', 1); pauza (0,0002); writeDigitalPin (a, 'D8', 0); writeDigitalPin (a, 'D9', 1); writeDigitalPin (a, 'D10', 1); writeDigitalPin (a, 'D11', 0); pauza (0,0002); writeDigitalPin (a, 'D8', 1); writeDigitalPin (a, 'D9', 1); writeDigitalPin (a, 'D10', 0); writeDigitalPin (a, 'D11', 0); pauza (0,0002); kraj

Sada u funkciji gumba u smjeru suprotnom od kazaljke na satu , zalijepite donji kod na funkciju da biste okrenuli motor u smjeru suprotnom od kazaljke na satu. Za kontinuirano okretanje koračnog motora u smjeru suprotnom od kazaljke na satu, koristimo petlju while za ponavljanje dva fazna koračna koraka u punom načinu rada u smjeru suprotnom od kazaljke na satu.
while get (hObject, 'Value') global a; writeDigitalPin (a, 'D8', 1); writeDigitalPin (a, 'D9', 1); writeDigitalPin (a, 'D10', 0); writeDigitalPin (a, 'D11', 0); pauza (0,0002); writeDigitalPin (a, 'D8', 0); writeDigitalPin (a, 'D9', 1); writeDigitalPin (a, 'D10', 1); writeDigitalPin (a, 'D11', 0); pauza (0,0002); writeDigitalPin (a, 'D8', 0); writeDigitalPin (a, 'D9', 0); writeDigitalPin (a, 'D10', 1); writeDigitalPin (a, 'D11', 1); pauza (0,0002); writeDigitalPin (a, 'D8', 1); writeDigitalPin (a, 'D9', 0); writeDigitalPin (a, 'D10', 0); writeDigitalPin (a, 'D11', 1); pauza (0,0002); kraj

Potreban materijal
- MATLAB instaliran prijenosnik (Preference: R2016a ili novije verzije)
- Arduino UNO
- Koračni motor (28BYJ-48, 5VDC)
- ULN2003 - Vozač koračnog motora
Kružni dijagram


Upravljanje koračnim motorom pomoću MATLAB-a
Nakon postavljanja hardvera prema shemi sklopa, samo kliknite gumb za pokretanje da biste pokrenuli uređeni kod u.m datoteci

MATLAB-u će trebati nekoliko sekundi da odgovori, nemojte kliktati nijedan GUI gumb dok MATLAB u donjem dijelu lijevog kuta ne prikaže poruku zauzetosti, kao što je prikazano dolje,

Kad je sve spremno, pritisnite gumb u smjeru kazaljke na satu ili u smjeru suprotnom od kazaljke na satu da biste okrenuli motor. Dok koristimo preklopni gumb, koračni motor će se kontinuirano kretati u smjeru kazaljke na satu dok ponovno ne pritisnemo gumb. Slično tome, pritiskom na gumb za okretanje u smjeru suprotnom od kazaljke na satu, motor se počinje okretati u smjeru suprotnom od kazaljke na satu dok ponovno ne pritisnemo gumb.
