- Stepper Motors:
- Stepper motora pakāpju aprēķināšana vienā apgriezienā:
- Kāpēc mums vajadzīgi draiveru moduļi Stepper motoriem?
- Rotējošā soļa motora shēma, izmantojot potenciometru:
- Arduino padomes kods:
- Darbs:
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. Šajā apmācībā mēs uzzināsim par visbiežāk / lētāk pieejamo soļu motoru 28-BYJ48 un kā to saskarni ar Arduino, izmantojot ULN2003 soļu moduli.
Pēdējā projektā mēs vienkārši esam sazinājušies ar soļu motoru ar Arduino, kur jūs varat pagriezt soļa motoru, ievadot rotācijas leņķi Arduino sērijveida monitorā. Šajā projektā mēs pagriezīsim soļu motoru, izmantojot potenciometru un Arduino, piemēram, ja jūs pagriezat potenciometru pulksteņrādītāja kustības virzienā, tad steperis pagriezīsies pulksteņrādītāja virzienā un, ja jūs pagriezīsit potenciometru pretēji pulksteņrādītāja virzienam, tad tas pagriezīsies pretēji pulksteņrādītāja virzienam.
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).
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.
Rotējošā soļa motora shēma, izmantojot potenciometru:
Iepriekš parādīta ķēdes shēma vadības soļu motoram, izmantojot potenciometru un Arduino. 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. Pie A0 ir pievienots potenciometrs, kura vērtībās mēs pagriezīsim Stepper motoru.
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 draivera 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. Pilns demonstrācijas video ir atrodams šīs apmācības beigās.
Šajā apmācībā mēs plānosim programmēt Arduino tā, lai mēs varētu pagriezt potenciometru, kas savienots ar tapu A0, un kontrolēt Stepper motora virzienu. 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 kustētos vienu soli pulksteņrādītāja virzienā, mēs varam izmantot šādu rindu.
stepper.step (1);
Lai motors kustētos vienu soli pretēji pulksteņrādītāja kustības virzienam, mēs varam izmantot šādu līniju.
stepper.solis (-1);
Mūsu programmā mēs nolasīsim analogās tapas A0 vērtību un salīdzināsim to ar iepriekšējo vērtību (Pval). Ja tas ir palielinājies, mēs pārvietojamies 5 soļus pulksteņrādītāja kustības virzienā un, ja tas ir samazināts, tad mēs pārvietojamies 5 soļus pretēji pulksteņrādītāja virzienam.
potVal = karte (analogRead (A0), 0,1024,0500); if (potVal> Pval) stepper.step (5); ja (potVal
Darbs:
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š, jums ir jāpagriež potenciometrs, lai kontrolētu Stepper motora rotāciju. Pagriežot to pulksteņrādītāja kustības virzienā, stepper motors pagriezīsies pulksteņrādītāja virzienā un otrādi.
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āk vai mūsu forumos.