- Koračni motori:
- Izračunavanje koraka po okretaju za koračni motor:
- Zašto nam trebaju pogonski moduli za koračne motore?
- Šema i objašnjenje upravljačkog kruga položaja koračnog motora Arduino:
- Kôd za Arduino ploču:
- Rad koračnog motora s Arduinom:
Koračni motori sve više zauzimaju svoju poziciju u svijetu elektronike. Počevši od normalne nadzorne kamere do složenih CNC strojeva / robota, ovi koračni motori se svugdje koriste kao aktuatori jer pružaju precizno upravljanje. Stepper motor je sinhroni motor bez četkica koji dovršava potpuno okretanje u više koraka. U ovom vodiču za koračne motore Arduino naučit ćemo o najčešće dostupnom koračnom motoru 28-BYJ48 i kako ga povezati s Arduinom pomoću modula koračnog motora ULN2003.
Koračni motori:
Pogledajmo ovaj koračni motor od 28-BYJ48.

U redu, dakle, za razliku od normalnog istosmjernog motora, ovaj ima pet žica svih otmjenih boja i zašto je to tako? Da bismo to razumjeli, prvo bismo trebali znati kako stepper djeluje i koja je njegova posebnost. Prije svega koračni motori se ne okreću, oni koračaju i tako su poznati i kao koračni motori. Znači, kretati će se samo po jedan korak. Ovi motori imaju niz zavojnica koji se nalaze u njima i te se zavojnice moraju posebno napajati da bi se motor mogao okretati. Kada se svaka zavojnica napaja, motor čini korak, a niz napajanja natjerat će motor na neprekidne korake, čineći ga tako da se okreće. Pogledajmo zavojnice prisutne unutar motora kako bismo točno znali odakle dolaze te žice.

Kao što vidite, motor ima unipolarni raspored zavojnica s 5 olova. Postoje četiri zavojnice koje se moraju napajati u određenom slijedu. Crvene žice bit će isporučene s + 5V, a preostale četiri žice povući će se na tlo za aktiviranje odgovarajuće zavojnice. Koristimo mikrokontroler poput Arduina, koji u određenom slijedu energizira ove zavojnice i tjera motor da izvrši potreban broj koraka.
Dakle, zašto se ovaj motor naziva 28-BYJ48 ? Ozbiljno!!! Ne znam. Nema tehničkog razloga da se ovaj motor tako zove; možda bismo trebali zaroniti puno dublje u to. Pogledajmo neke važne tehničke podatke dobivene iz tehničkog lista ovog motora na donjoj slici.

To je glava puna informacija, ali moramo pogledati nekoliko važnih da bismo znali koju vrstu koraka koristimo kako bismo ga mogli učinkovito programirati. Prvo znamo da se radi o koračnom motoru od 5 V jer crvenu žicu napajamo s 5 V. Zatim, također znamo da je to četverofazni koračni motor budući da je u sebi imao četiri zavojnice. Sada se daje prijenosni omjer 1:64. To znači da će osovina koju vidite izvana izvršiti jedno potpuno okretanje samo ako se motor iznutra okreće 64 puta. To je zbog zupčanika povezanih između motora i izlazne osovine, koji pomažu u povećanju okretnog momenta.
Drugi važan podatak koji treba primijetiti je Kut koraka: 5,625 ° / 64. To znači da će se motor, kada radi u slijedu od 8 koraka, pomicati za 5,625 stupnjeva za svaki korak, a bit će potrebno 64 koraka (5,625 * 64 = 360) da izvrši jedno potpuno okretanje. Možete saznati više o radu koračnih motora s ARM LPC2148, ATMega16 mikrokontrolerom, MSP430.
Izračunavanje koraka po okretaju za koračni motor:
Važno je znati izračunati korake po okretaju za vaš koračni motor jer ga samo tada možete učinkovito programirati.
U Arduinu ćemo upravljati motorom u slijedu od 4 koraka, tako da će kut koraka biti 11,25 °, jer je 5,625 ° (dano je u tablici podataka), a za 8 koraka to će biti 11,25 ° (5,625 * 2 = 11,25).
Koraci po okretu = 360 / kut koraka
Ovdje je 360 / 11,25 = 32 koraka po okretu.
Zašto nam trebaju pogonski moduli za koračne motore?
Većina koračnih motora radit će samo uz pomoć pogonskog modula. To je zato što upravljački modul (u našem slučaju Arduino) neće moći pružiti dovoljno struje iz svojih U / I pinova za rad motora. Stoga ćemo koristiti vanjski modul poput ULN2003 modula kao pokretač koračnog motora. Postoji mnogo vrsta upravljačkih modula i ocjena će se promijeniti ovisno o vrsti motora koji se koristi. Primarno načelo svih pogonskih modula bit će izvor / poniranje dovoljno struje za rad motora.
Šema i objašnjenje upravljačkog kruga položaja koračnog motora Arduino:

Dijagram kruga za projekt upravljanja koračnim motorom arduino prikazan je gore. Koristili smo koračni motor 28BYJ-48 i pogonski modul ULN2003. Za napajanje četiri zavojnice koračnog motora koristimo digitalne pinove 8,9,10 i 11. Pogonski modul napaja se 5V pinom Arduino ploče.
Ali, napajajte vozač vanjskim napajanjem kad spajate neko opterećenje na stepski motor. Budući da motor samo koristim u demonstracijske svrhe, koristio sam + 5V tračnicu Arduino ploče. Također ne zaboravite povezati masu Arduina s masom modula Diver.
Kôd za Arduino ploču:
Prije nego započnemo programirati s našim Arduinom, shvatimo što bi se zapravo trebalo dogoditi unutar programa. Kao što je ranije rečeno, koristit ćemo metodu slijeda u 4 koraka, tako da ćemo imati četiri koraka za izvršavanje jedne potpune rotacije.
|
Korak |
Pin Energized |
Zavojnice pod naponom |
|
Korak 1 |
8 i 9 |
A i B |
|
Korak 2 |
9 i 10 |
B i C |
|
3. korak |
10 i 11 |
C i D |
|
4. korak |
11 i 8 |
D i A |
Upravljački modul imat će četiri LED diode pomoću kojih možemo provjeriti koja se zavojnica napaja u bilo kojem trenutku. Video koji prikazuje slijed napona nalazi se na kraju ovog vodiča.
U ovom uputstvu napisat ćemo kôd koračnog motora arduino i za to ćemo programirati Arduino na takav način da kroz serijski monitor Arduina možemo unijeti broj koraka koje koračni motor mora poduzeti. Kompletni program nalazi se na kraju vodiča, a nekoliko važnih redaka objašnjeno je u nastavku.
Izračunato je da je broj koraka po okretu za naš koračni motor bio 32; stoga unosimo to kako je prikazano u donjem retku
#define STEPS 32
Dalje morate stvoriti instance u kojima određujemo pinove na koje smo spojili koračni motor.
Stepenasti stepenik (KORACI, 8, 10, 9, 11);
Napomena: Broj pinova namjerno je poremećen kao 8,10,9,11. Morate slijediti isti obrazac čak i ako mijenjate zatiče na koje je povezan vaš motor.
Budući da koristimo koračnu knjižnicu Arduino, brzinu motora možemo podesiti pomoću donjeg retka. Brzina se može kretati od 0 do 200 za koračne motore 28-BYJ48.
stepper.setSpeed (200);
Sada, da se motor pomakne za jedan korak, možemo koristiti sljedeći redak.
koračni.korak (val);
Broj koraka koje treba premjestiti pružit će varijabla "val". Budući da imamo 32 koraka i 64 kao prijenosni omjer, moramo pomaknuti 2048 (32 * 64 = 2048), da napravimo jedno potpuno okretanje.
Vrijednost varijable "val" korisnik može unijeti pomoću serijskog monitora.
Rad koračnog motora s Arduinom:
Nakon uspostavljanja veze, hardver bi trebao izgledati otprilike ovako na donjoj slici.

Sada prenesite donji program u svoj Arduino UNO i otvorite serijski monitor. Kao što je prethodno rečeno, morat ćemo napraviti 2048 koraka kako bismo izvršili jedno potpuno okretanje, pa kad uđemo u 2048. motor će izvršiti jedno potpuno okretanje u smjeru kazaljke na satu čineći 2048 koraka. Za rotiranje u smjeru suprotnom od kazaljke na satu samo unesite broj s negativnim predznakom "-". Dakle, unos -1024 učinit će da se motor okreće na pola puta u smjeru suprotnom od sata. Možete unijeti sve željene vrijednosti, poput unosa 1 učinit će da motor učini samo jedan korak.
Nadam se da ste razumjeli projekt i uživali u njegovoj izradi. Kompletni rad projekta prikazan je u video ispod. Ako sumnjate, objavite ih u odjeljku za komentare ispod našeg foruma.
