- Koračni motori:
- Izračunavanje koraka po okretaju za koračni motor:
- Zašto nam trebaju pogonski moduli za koračne motore?
- Kružna shema rotacijskog koračnog motora pomoću potenciometra:
- Kôd za Arduino ploču:
- Radno:
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. U ovom uputstvu naučit ćemo o najčešće / jeftino dostupnom koračnom motoru 28-BYJ48 i o načinu povezivanja s Arduinom pomoću koračnog modula ULN2003.
U posljednjem smo projektu jednostavno povezali koračni motor s Arduinom, gdje koračni motor možete okretati unosom kuta rotacije u serijski monitor Arduina. Ovdje ćemo u ovom projektu rotirati koračni motor pomoću potenciometra i Arduina, kao ako okrenete potenciometar u smjeru kazaljke na satu, tada će se koračni okretati u smjeru kazaljke na satu, a ako okrenete potenciometar u smjeru suprotnom od kazaljke na satu, on će se okretati u suprotnom smjeru.
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.
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.
Kružna shema rotacijskog koračnog motora pomoću potenciometra:

Dijagram kruga za upravljanje koračnim motorom pomoću potenciometra i Arduina 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. Na A0 je spojen potenciometar na osnovu čijih ćemo vrijednosti okretati koračni motor.
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 upravljačkog modula.
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. Kompletni demonstracijski videozapis možete pronaći na kraju ovog vodiča.
U ovom uputstvu Arduino ćemo programirati na takav način da potenciometar spojen na pin A0 možemo okretati i kontrolirati smjer koračnog motora. 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 u smjeru kazaljke na satu, možemo koristiti sljedeći redak.
koračni.korak (1);
Da bi se motor pomaknuo za jedan korak u smjeru suprotnom od kazaljke na satu, možemo koristiti sljedeći redak.
stepper.step (-1);
U našem programu očitat ćemo vrijednost analognog pina A0 i usporediti je s prethodnom vrijednošću (Pval). Ako se povećao, pomičemo 5 koraka u smjeru kazaljke na satu, a ako se smanji, pomičemo 5 koraka u smjeru suprotnom od kazaljke na satu.
potVal = karta (analogRead (A0), 0,1024,0,500); if (potVal> Pval) stepper.step (5); if (potVal
Radno:
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 ranije spomenuto, za okretanje koračnog motora morate okretati potenciometar. Rotirajući ga u smjeru kazaljke na satu, okretat će se koračni motor u smjeru kazaljke na satu i obrnuto.
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 u nastavku ili na našim forumima.
