- Stepper Motors:
- Stepper motora pakāpju aprēķināšana vienā apgriezienā:
- Kāpēc mums vajadzīgi draiveru moduļi Stepper motoriem?
- Arduino soļu motora pozīcijas vadības ķēdes shēma un skaidrojums:
- Arduino padomes kods:
- Stepper motora darbība ar Arduino:
Stepper motori arvien vairāk ieņem savu pozīciju elektronikas pasaulē. Sākot no parastās novērošanas kameras līdz sarežģītām CNC mašīnām / robotiem, šie soļu motori tiek izmantoti visur kā izpildmehānismi, jo tie nodrošina precīzu vadību. Stepper Motor ir bezkontaktu, sinhronais motors, kas pilnībā pagriežas vairākos posmos. Šajā Arduino soļu motora apmācībā mēs uzzināsim par visbiežāk pieejamo soļu motoru 28-BYJ48 un kā to saskarni ar Arduino, izmantojot ULN2003 soļu motora moduli.
Stepper Motors:
Apskatīsim šo 28-BYJ48 Stepper motoru.
Labi, tāpēc atšķirībā no parastā līdzstrāvas motora no tā nāk pieci visu izdomātu krāsu vadi, un kāpēc tas tā ir? Lai to saprastu, mums vispirms jāzina, kā darbojas steperis un kāda ir tā īpatnība. Pirmkārt, stepperi motori negriežas, viņi pakāpjas un tāpēc tos sauc arī par pakāpienu motoriem. Tas nozīmē, ka viņi vienlaikus pārvietosies tikai vienu soli. Šajos motoros ir spirāļu secība, un, lai motors grieztos, šie ruļļi ir jāaktivizē īpašā veidā. Kad katra spole tiek ieslēgta, motors sper soli, un aktivizācijas secība liks motoram veikt nepārtrauktas darbības, tādējādi liekot tai griezties. Apskatīsim spoles, kas atrodas motora iekšpusē, lai precīzi zinātu, no kurienes šie vadi nāk.
Kā redzat, motoram ir Unipolar 5-svinu spoles izkārtojums. Ir četras spoles, kurām jāpievieno enerģija noteiktā secībā. Sarkanie vadi tiks piegādāti ar + 5V, un pārējie četri vadi tiks pievilkti pie zemes, lai iedarbinātu attiecīgo spoli. Mēs izmantojam mikrokontrolleru, piemēram, Arduino, kas aktivizē šīs spoles noteiktā secībā un liek motoram veikt nepieciešamo darbību skaitu.
Kāpēc tagad šo motoru sauc par 28-BYJ48 ? Nopietni!!! Es nezinu. Šim motoram nav tehniska iemesla, lai to nosauktu; varbūt mums vajadzētu ienirt daudz dziļāk tajā. Apskatīsim dažus svarīgos tehniskos datus, kas iegūti no šī motora datu lapas zemāk esošajā attēlā.
Tā ir galva, kas ir pilna ar informāciju, taču mums jāaplūko daži svarīgi, lai zinātu, kāda veida steperus mēs izmantojam, lai mēs varētu tos efektīvi ieprogrammēt. Pirmkārt, mēs zinām, ka tas ir 5V Stepper motors, jo mēs aktivizējam sarkano vadu ar 5V. Tad mēs arī zinām, ka tas ir četrfāžu soļu motors, jo tajā bija četras spoles. Tagad pārnesumskaitlis ir 1:64. Tas nozīmē, ka vārpsta, kuru redzat ārpusē, pilnībā pagriezīsies tikai tad, ja iekšpusē esošais motors pagriezīsies 64 reizes. Tas ir saistīts ar pārnesumiem, kas savienoti starp motoru un izejas vārpstu, šie pārnesumi palīdz palielināt griezes momentu.
Vēl viens svarīgs pamanāms dati ir soļa leņķis: 5,625 ° / 64. Tas nozīmē, ka motors, darbojoties 8 pakāpju secībā, katram solim pārvietosies par 5,625 grādiem, un, lai pabeigtu vienu pilnu rotāciju, būs nepieciešami 64 soļi (5,625 * 64 = 360). Jūs varat uzzināt vairāk par soļu motoru darbību ar ARM LPC2148, ATMega16 mikrokontrolleru, MSP430.
Stepper motora pakāpju aprēķināšana vienā apgriezienā:
Ir svarīgi zināt, kā aprēķināt soļus vienam apgriezienam jūsu soļu motoram, jo tikai tad jūs varat to efektīvi ieprogrammēt.
Arduino mēs darbināsim motoru četrpakāpju secībā, tāpēc soļa leņķis būs 11,25 °, jo tas ir 5,625 ° (norādīts datu lapā) 8 soļu secībai tas būs 11,25 ° (5,625 * 2 = 11,25).
Soli vienā apgriezienā = 360 / soļa leņķis
Lūk, 360 / 11,25 = 32 soļi vienā apgriezienā.
Kāpēc mums vajadzīgi draiveru moduļi Stepper motoriem?
Lielākā daļa soļu motoru darbosies tikai ar vadītāja moduļa palīdzību. Tas ir tāpēc, ka kontroliera modulis (mūsu gadījumā Arduino) nespēs nodrošināt pietiekamu strāvu no tā I / O tapām, lai motors darbotos. Tāpēc mēs izmantosim ārēju moduli, piemēram, ULN2003 moduli, kā pakāpju motora draiveri. Vadītāja moduļu ir daudz veidu, un viena vērtējums mainīsies atkarībā no izmantotā motora veida. Visu vadītāja moduļu primārais princips būs pietiekami daudz strāvas avota / izlietnes, lai motors darbotos.
Arduino soļu motora pozīcijas vadības ķēdes shēma un skaidrojums:
Arduino pakāpju motora vadības projekta shēma ir parādīta iepriekš. Mēs izmantojām 28BYJ-48 Stepper motoru un ULN2003 draivera moduli. Lai aktivizētu četru pakāpienu motora spoles, mēs izmantojam digitālās tapas 8, 9, 10 un 11. Vadītāja moduli darbina Arduino dēļa 5 V tapa.
Bet, ja stepa motoram pievienojat nelielu slodzi, darbiniet draiveri ar ārējo barošanas avotu. Tā kā es tikai izmantoju motoru demonstrācijas nolūkos, esmu izmantojis Arduino dēļa + 5V sliedi. Atcerieties arī savienot Arduino zemi ar Diver moduļa zemi.
Arduino padomes kods:
Pirms sākam programmēt ar savu Arduino, ļaujiet mums saprast, kam patiesībā vajadzētu notikt programmas iekšienē. Kā jau minēts iepriekš, mēs izmantosim četrpakāpju secības metodi, tāpēc mums būs jāveic četras darbības, lai veiktu vienu pilnīgu rotāciju.
Solis |
Piespraude |
Spoles ar enerģiju |
1. solis |
8. un 9. lpp |
A un B |
2. solis |
9 un 10 |
B un C |
3. solis |
10 un 11 |
C un D |
4. solis |
11. un 8. lpp |
D un A |
Vadītāja modulim būs četras gaismas diodes, ar kuru palīdzību mēs varam pārbaudīt, kura spole tiek ieslēgta. Video, kurā parādīta enerģijas padeves secība, var atrast šīs apmācības beigās.
Šajā apmācībā mēs rakstīsim arduino soļu motora kodu un tam mēs ieprogrammēsim Arduino tādā veidā, ka caur Arduino sērijveida monitoru mēs varam ievadīt soļu motoram veicamo darbību skaitu. Pilna programma atrodama apmācības beigās. Tālāk ir paskaidrotas dažas svarīgas rindas.
Aprēķināts, ka mūsu soļu motora pakāpienu skaits vienā apgriezienā ir 32; tāpēc mēs ievadām to, kā parādīts zemāk esošajā rindā
#define 32. SOLIS
Tālāk jums jāizveido gadījumi, kuros mēs norādām tapas, kurām esam pievienojuši Stepper motoru.
Stepper stepper (STEPS, 8, 10, 9, 11);
Piezīme: Piespraudes mērķis ir nemainīgs kā 8,10,9,11. Jums jāievēro tas pats paraugs, pat ja maināt tapas, kurām ir pievienots jūsu motors.
Tā kā mēs izmantojam Arduino stepper bibliotēku, mēs varam iestatīt motora ātrumu, izmantojot zemāk esošo līniju. 28-BYJ48 soļu motoriem ātrums var svārstīties no 0 līdz 200.
stepper.setSpeed (200);
Tagad, lai motors pārvietotos vienu soli, mēs varam izmantot šādu rindu.
stepper.step (val);
Pārvietojamo soļu skaitu nodrošinās mainīgais “val”. Tā kā mums ir 32 pakāpieni un 64 kā pārnesuma attiecība, mums ir jāpārvieto 2048. gads (32 * 64 = 2048), lai veiktu vienu pilnīgu rotāciju.
Mainīgā “val” vērtību lietotājs var ievadīt, izmantojot seriālo monitoru.
Stepper motora darbība ar Arduino:
Kad savienojums ir izveidots, aparatūrai vajadzētu izskatīties apmēram šādi zemāk esošajā attēlā.
Tagad augšupielādējiet tālāk norādīto programmu savā Arduino UNO un atveriet sērijveida monitoru. Kā tika apspriests iepriekš, mums būs jāveic 2048 soļi, lai veiktu vienu pilnīgu rotāciju, tāpēc, iebraucot 2048. gadā, motors veiks vienu pilnīgu rotāciju pulksteņrādītāja virzienā, veicot 2048 soļus. Lai pagrieztu pretēji pulksteņrādītāja virzienam, vienkārši ievadiet skaitli ar “-” negatīvo zīmi. Tātad, ievadot -1024, motors pagriezīsies pusi no ceļa pretēji pulksteņa virzienam. Jūs varat ievadīt jebkuras vēlamās vērtības, piemēram, ievadot 1, liks motoram veikt tikai vienu soli.
Ceru, ka sapratāt projektu un patika to veidot. Pilnīga projekta darbība ir parādīta zemāk esošajā video. Ja jums ir kādas šaubas, ievietojiet tos komentāru sadaļā zem mūsu forumiem.