- Koračni motor
- Rotiranje koračnog motora SA ARM7-LPC2148
- Komponente potrebne
- Koračni motor (28BYJ-48)
- Vozač koračnog motora ULN2003
- Kružni dijagram
- Programiranje ARM7-LPC2148 za koračni motor
U današnjem svijetu automatizacije koračni motor i servo motor dva su najčešće korištena motora u ugrađenim sustavima. Obje se koriste u raznim automatizacijskim strojevima poput robotiziranih ruku, CNC strojeva, fotoaparata itd. U ovom uputstvu vidjet ćemo kako povezati koračni motor s ARM7-LPC2148 i kako kontrolirati njegovu brzinu. Ako ste novi u ARM7, započnite s učenjem o ARM7-LPC2148 i njegovim programskim alatima.
Koračni motor
Koračni motor je istosmjerni motor bez četkica koji se može rotirati u malim kutovima, ti se kutovi nazivaju stepenicama. Koračni motor možemo rotirati korak po korak davanjem digitalnih impulsa na njegove igle. Koračni motori su jeftini i imaju robustan dizajn. Brzinom motora može se upravljati promjenom frekvencije digitalnih impulsa.

Dostupne su dvije vrste koračnih motora ovisno o vrsti namota statora: UNIPOLAR i BIPOLAR. Ovdje koristimo koračni motor UNIPOLAR koji je najčešće korišteni koračni motor . Da bismo rotirali koračni motor, moramo redom napajati zavojnice koračnog motora. Na temelju rotacijskog postupka klasificirani su u dva načina:
- Puni korak: (sekvenca od 4 koraka)
- Jednofazno koračanje (VALNI KORAK)
- Dvofazno koračanje
- Način u pola koraka (sekvenca od 8 koraka)
Da biste saznali više o koračnom motoru i njegovom radu, slijedite vezu.
Rotiranje koračnog motora SA ARM7-LPC2148

Ovdje ćemo koristiti FULL STEP: JEDNU FAZU UKLJUČENO ili WAVE STEPPING način zakretanja koračnog motora s ARM7-LPC2148
Ovom metodom istodobno ćemo napajati samo jednu zavojnicu (jedan pin LPC2148). To jest ako je prva zavojnica A kratko vrijeme pod naponom, osovina će promijeniti svoj položaj, a zatim će zavojnica B dobiti isto vrijeme pod naponom, a osovina će opet promijeniti svoj položaj. Slično ovome, zavojnica C, a zatim zavojnica D se napajaju kako bi se osovina dalje pomicala. Zbog toga se osovina koračnog motora okreće postupno, napajajući po jednu zavojnicu.
Ovom metodom okrećemo osovinu korak po korak napajajući zavojnicu u nizu. To se naziva četiri koraka, jer traje četiri koraka.
Koračni motor možete rotirati metodom HALF STEP (metoda 8 sekvenci) prema vrijednostima navedenim u nastavku.
|
Korak |
Zavojnica A |
Zavojnica B |
Zavojnica C |
Zavojnica D |
|
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 |
Komponente potrebne
Hardver:
- ARM7-LPC2148
- ULN2003 IC vozač motora
- LED - 4
- KORAČNI MOTOR (28BYJ-48)
- ZNAČAJ
- POVEZIVANJE ŽICA
Softver:
- Keil uVision5
- Flasic Magic Tool
Koračni motor (28BYJ-48)
Koračni motor 28BYJ-48 već je prikazan na gornjoj slici. To je unipolarni koračni motor koji zahtijeva napajanje od 5V. Motor ima jednopolarni raspored s 4 zavojnice i svaka zavojnica je ocijenjena na + 5V, stoga je relativno lako upravljati bilo kojim mikrokontrolerom poput Arduina, Raspberry Pi, STM32, ARM itd.
Ali za pogon nam je potreban IC za motorni pogon poput ULN2003, jer koračni motori troše veliku struju i mogu oštetiti mikrokontrolere.
Specifikacije 28BYJ-48 nalaze se u tehničkom listu ispod:

Također provjerite međusobno povezivanje koračnog motora s drugim mikrokontrolerima:
- Povezivanje koračnog motora s Arduino Uno
- Upravljanje koračnim motorom s Raspberry Pi
- Povezivanje koračnog motora s mikrokontrolerom 8051
- Povezivanje koračnog motora s PIC mikrokontrolerom
- Povezivanje koračnog motora s MSP430G2
Koračnim motorom se također može upravljati bez ikakvog mikrokontrolera, pogledajte ovaj krug pokretačkog koračnog motora.
Vozač koračnog motora ULN2003
Većina koračnih motora radit će samo uz pomoć pogonskog modula. To je zato što upravljački modul (u našem slučaju LPC2148) 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.
U ovom ćemo projektu koristiti ULN2003 IC vozača motora. Dijagram pin-a dat je u nastavku:

Pribadače (IN1 do IN7) su ulazne pribadače za spajanje izlaza mikrokontrolera, a OUT1 do OUT7 odgovarajuće izlazne pribadače za spajanje ulaza koračnih motora. COM dobiva pozitivan napon izvora potreban za izlazne uređaje i za vanjski ulazni izvor energije.
Kružni dijagram
Shema kruga za povezivanje koračnog motora s ARM-7 LPC2148 dana je u nastavku


ARM7-LPC2148 s ULN2003 IC pokretačkim motorom
GPIO pinovi LPC2148 (P0.7 do P0.10) smatraju se izlaznim pinovima koji su povezani s ulaznim pinovima (IN1-IN4) ULN2003 IC.
|
LPC2148 Pribadače |
PINOVI ULN2003 IC |
|
P0.7 |
IN1 |
|
P0.8 |
IN2 |
|
P0.9 |
IN3 |
|
Str.10 |
IN4 |
|
5V |
COM |
|
GND |
GND |
Priključci ULN2003 IC s koračnim motorom (28BYJ-48)
Izlazne iglice (OUT1-OUT4) ULN2003 IC spojene su na nožice koračnih motora (plava, ružičasta, žuta i narančasta).
|
ULN2003 IC PINS |
PINOVI KORAČNOG MOTORA |
|
IZLAZ1 |
PLAVA |
|
IZLAZ2 |
RUŽIČASTA |
|
OUT3 |
ŽUTA BOJA |
|
IZLAZ4 |
NARANČA |
|
COM |
CRVENA (+ 5V) |
LED diode s IN1 do IN4 od ULN2003
Četiri anodne pinove LED (LED1, LED2, LED4, LED 4) povezane su s pinovima IN1, IN2, IN3 i IN4 ULN2003, a katoda LED-a spojena je na GND što znači da impulsi iz LPC2148. Možemo primijetiti uzorak danih impulsa. Uzorak je prikazan u demonstracijskom videu priloženom na kraju.
Programiranje ARM7-LPC2148 za koračni motor
Za programiranje ARM7-LPC2148 potreban nam je alat keil uVision & Flash Magic. Koristimo USB kabel za programiranje ARM7 Stick putem mikro USB priključka. Napisujemo kod pomoću Keila i stvaramo hex datoteku, a zatim se HEX datoteka bljeska na ARM7 stick pomoću Flash Magic. Da biste saznali više o instaliranju keil uVision i Flash Magic, te kako ih koristiti, slijedite vezu Početak rada s mikrokontrolerom ARM7 LPC2148 i programirajte ga pomoću Keil uVision.
Kompletni kod za upravljanje koračnim motorom s ARM 7 dan je na kraju ovog vodiča, ovdje objašnjavamo nekoliko njegovih dijelova.
1. Za upotrebu metode FULL STEP-ONE PHASE ON moramo uključiti naredbu ispod. Stoga koristimo sljedeći redak u programu
nepotpisani znak u smjeru kazaljke na satu = {0x1,0x2,0x4,0x8}; // Naredbe za rotaciju u smjeru kazaljke na satu nepotpisani znak u smjeru suprotnom od kazaljke na satu = {0x8,0x4,0x2,0x1}; // Naredbe za rotaciju u smjeru suprotnom od kazaljke na satu
2. Sljedeći se redovi koriste za inicijalizaciju PORT0 pinova kao izlaza i postavljanje na LOW
PINSEL0 = 0x00000000; // Postavljanje PORT0 pinova IO0DIR - = 0x00000780; // Postavljanje pinova P0.7, P0.8, P0.9, P0.10 kao IZLAZ IO0CLR = 0x00000780; // Postavljanje P0.7, P0.8, P0.9, P0.10 pinova IZLAZ kao LOW
3. Postavite PORT pinove (P0.7 do P0.10) HIGH prema naredbama u smjeru kazaljke na satu pomoću ove for petlje s odgodom
za (int j = 0; j
Isto za Anti-clock Wise
za (int z = 0; z
4. Promijenite vrijeme kašnjenja da biste promijenili brzinu vrtnje koračnog motora
kašnjenje (0x10000); // Promijenite ovu vrijednost da biste promijenili brzinu rotacije (0x10000) -Puna brzina (0x50000) -Postaje sporo (0x90000) -Postaje sporo nego prethodna. Dakle, povećanjem kašnjenja smanjujemo brzinu rotacije.
5. Broj koraka za jedno potpuno okretanje može se promijeniti pomoću donjeg koda
int br_koraka = 550; // Promjena ove vrijednosti za potreban broj okretaja koraka (550 daje jedno potpuno okretanje)
Za svoj koračni motor dobio sam 550 koraka za potpuno okretanje i 225 za polu okretanje. Stoga ga promijenite prema svojim zahtjevima.
6. Ova se funkcija koristi za stvaranje vremena kašnjenja.
void delay (unsigned int value) // Funkcija za generiranje kašnjenja { unsigned int z; za (z = 0; z
Kompletni kod s demonstracijskim videom dat je u nastavku.
