- Stepper motors:
- ULN2003 Stepper motora draiveris:
- Nepieciešamās sastāvdaļas
- Shēmas shēma un paskaidrojums
- Kods Paskaidrojums
Stepper Motor ir īpaši izstrādāts motors, kas rotē pakāpeniski. Stepper motora ātrums ir atkarīgs no tam piemērotā elektriskā signāla ātruma. Dažādi modeļi var kontrolēt soļu motora virzienu un rotācijas veidu. Pieejami galvenokārt divu pakāpienu motoru veidi - Unipolar un Bipolar. Unipolar ir vieglāk darbināt, vadīt un arī vieglāk iegūt. Šajā apmācībā mēs saskaramies ar soļu motoru ar PIC mikrokontrolleru PIC16F877A.
Šim projektam mēs izmantojam 28BYJ-48 soļu motoru, kas ir lēts un viegli pieejams. Tas ir 5 V līdzstrāvas vienpolārs pakāpju motors. Mēs izmantojam arī šo motoru pieejamo moduli, kas sastāv no ULN2003 soļu motora draivera IC. ULN2003 ir Darlingtona pāra masīvs, kas ir noderīgs, lai vadītu šo motoru, jo PIC mikrokontrolleris nevarēja nodrošināt pietiekami daudz strāvas, lai vadītu. ULN2003A spēj vadīt 500mA slodzi ar 600mA maksimālo strāvu.
Stepper motors:
Apskatīsim 28BYJ-48 soļu motora specifikāciju no datu lapas.
Kā pagriezt soļu motoru:
Ja mēs redzēsim datu lapu, mēs redzēsim tapu.
Motora iekšpusē ir pieejamas divas centrālo vītņu spoles. Sarkanais vads ir kopīgs abiem, kas tiks savienoti ar VCC vai 5V.
Pārējie 4 vadi, rozā, sarkanā, dzeltenā un zilā krāsā, kontrolēs rotāciju atkarībā no elektriskā signāla. Turklāt, atkarībā no kustības, šo motoru var vadīt, izmantojot 3 pakāpienus. Pilna diska režīmā, Half Drive režīmā un Wave piedziņas režīmā.
Trīs soļu motora braukšanas režīmi:
Pilna piedziņa: ja vienlaikus tiek aktivizēti divi statora elektromagnēti, motors darbosies ar pilnu griezes momentu, ko sauc par pilnas piedziņas secības režīmu.
Solis |
Zils |
Rozā |
Dzeltens |
apelsīns |
1 |
1 |
1 |
0 |
0 |
2 |
0 |
1 |
1 |
0 |
3 |
0 |
0 |
1 |
1 |
4 |
1 |
0 |
0 |
1 |
Puspiedziņa: ja alternatīvi tiek aktivizēta viena un divas fāzes, motors darbosies puspiedziņas režīmā. To izmanto, lai palielinātu leņķisko izšķirtspēju. Trūkums ir mazāks šajā kustībā.
Solis |
Zils |
Rozā |
Dzeltens |
apelsīns |
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 |
Viļņu piedziņa: Šajā režīmā ir ieslēgts viens statora elektromagnēts. Tas notiek ar 4 soļiem tāpat kā pilnas piedziņas režīmā. Tas patērē mazu jaudu ar mazu griezes momentu.
Solis |
Zils |
Rozā |
Dzeltens |
apelsīns |
1 |
1 |
0 |
0 |
0 |
2 |
0 |
1 |
0 |
0 |
3 |
0 |
0 |
1 |
0 |
4 |
0 |
0 |
0 |
1 |
Mēs jau iepriekš esam saskarējušies ar Stepper Motor ar citiem mikrokontrolleriem:
Stepper motoru var vadīt arī bez mikrokontrollera, skatiet šo Stepper Motor vadītāja shēmu.
ULN2003 Stepper motora draiveris:
Sapratīsim izlaušanās dēli, kas sastāv no ULN2003 IC. Ir svarīgi saprast tapu.
Dzeltenā daļa tiek izmantota, lai savienotu motoru, The Red daļa izrāda džemperis, tas ir svarīgi, lai novietotu džemperis, jo tas ļaus brīvgaita diode aizsardzību motora . Rozā ieeja ir par mikrokontrolleru pieslēgumu.
Mēs pagriezīsim motoru pilnā piedziņas režīmā pulksteņa rādītāja virzienā un atkal pagriezīsim to ar viļņu piedziņas režīmu pretēji pulksteņrādītāja kustības virzienam. Pārbaudiet demonstrācijas video beigās.
Nepieciešamās sastāvdaļas
- Pic16F877A
- Programmēšanas komplekts
- Maizes dēlis
- 20Mhz kristāls
- 33pF diska kondensators - 2gab
- 4.7k rezistors
- Berga vadi un tapas
- ULN2003A izlaušanās dēlis kopā ar 28BYJ-48 Stepper motoru.
- Papildu vadi savienošanai
- 5V barošanas bloks vai sienas adapteris ar 500mA nominālu
Shēmas shēma un paskaidrojums
Shēmas diagrammā kreisajā pusē ir redzams PIC16F877A, bet labajā pusē - savienojums ULN2003A. ULN2003 un Stepper motora daļa atrodas izlaušanās dēļā.
Tiks izveidots savienojums no Breakout plates ar mikrokontrolleru bloku.
A. IN1 => Pin33
B. IN2 => Pin34
C. IN3 => tapa 35
D. IN4 => Pin36
Es savienoju visus komponentus un jūsu aparatūru, lai pagrieztu Stepper motoru ar PIC mikrokontrolleru.
Ja PIC mikrokontrolieris jums ir jauns, tad ievērojiet mūsu PIC mikrokontrolleru apmācības, kurās norādīts, kā sākt darbu ar PIC mikrokontrolleru.
Kods Paskaidrojums
Pilns šī PIC bāzes soļa motora draivera kods ir norādīts šīs apmācības beigās ar demonstrācijas video. Kā vienmēr vispirms, mums ir jāiestata konfigurācijas biti pic mikrokontrollerī un pēc tam jāsāk ar tukšu galveno funkciju.
Tie ir mikrokontrolleru bloka konfigurācijas bitu un bibliotēkas galvenes failu makro.
#define _XTAL_FREQ 200000000 // Kristāla frekvence, izmantota kavējumā #define speed 1 // Ātruma diapazons 10 līdz 1 10 = mazākais, 1 = visaugstākais #define steps 250 // cik solis būs vajadzīgs #define pulksteņrādītāja virzienā 0 // pulksteņrādītāja virzienā makro #define anti_clockwise 1 // pretēji pulksteņrādītāja kustības virziena makro
Pirmajā rindā mēs definējām kristāla frekvenci, kas nepieciešama kavēšanās rutīnai. Citus makro izmanto, lai definētu ar lietotāju saistītās opcijas.
Ja redzat kodu, ir noteiktas trīs funkcijas, lai motoru darbinātu trīs režīmos pulksteņrādītāja virzienā un pretēji pulksteņrādītāja kustības virzienam. Šeit ir trīs funkcijas:
1. void full_drive (char virziens)
2. void half_drive (char virziens)
3. void wave_drive (char virziens)
Pārbaudiet šo funkciju definīcijas pilnā kodā, kas norādīts zemāk:
Tagad nedarbojoties galvenajai funkcijai, mēs braucam ar motoru pulksteņrādītāja virzienā, izmantojot pilnas piedziņas režīmu, atkarībā no soļiem, un pēc dažu sekunžu kavēšanās mēs atkal rotējam motoru pretēji pulksteņrādītāja virzienam, izmantojot viļņu piedziņas režīmu.
void main (void) { system_init (); kamēr (1) { / * Brauciet ar pilnu piedziņas režīmu pulksteņrādītāja kustības virzienā * / for (int i = 0; i
Šādi mēs varam pagriezt soļu motoru ar PIC mikrokontrolleru. Stepper Motors ir ļoti noderīgi CNC mašīnās, robotikā un citās iegultās lietojumprogrammās.