- Nepieciešamās sastāvdaļas
- Tapu motora apraksts
- Shēmas motora vadības shēma, izmantojot moduli ULN2003
- Shēmas motora vadības shēma, izmantojot moduli L293D:
- Stepper motora vadība ar AVR ATmega16
Stepper Motors ir līdzstrāvas bezkontakta motori, kas var pakāpeniski pagriezties no 0 0 līdz 360 0. Stepper motors izmanto elektroniskos signālus, lai pagrieztu motoru pa soļiem, un katrs signāls rotē vārpstu fiksētā solī (viens solis). Rotācijas eņģelis tiek kontrolēts, pielietojot noteiktu signālu secību. Atšķirībā no servomotora, soļu motorus var vadīt, izmantojot PWM tapas, nevis mikrokontrollera GPIO tapas, un tos var pagriezt iekšā (+360 0) un (-360 0). Signālu secība nosaka soļu motora virzienu pulksteņrādītāja virzienā un pretēji pulksteņrādītāja kustības virzienam. Lai kontrolētu motora ātrumu, mums vienkārši jāmaina piemēroto vadības signālu ātrums. Stepper motori rotē pa soļiem. Ir vairāki soļu režīmi, lai darbinātu soļu motoru, piemēram, pilns solis, puse solis un mikrostudija. Lai uzzinātu vairāk par soļu motora pamatiem, teoriju un darbības principu, sekojiet saitei.
Iepriekš mēs saskarnes Stepper Motor saskarni ar daudziem mikrokontrolleriem:
- Saskarne Stepper Motor ar ARM7-LPC2148
- Saskarne Stepper Motor ar Arduino Uno
- Saskarne Stepper Motor ar MSP430G2
- Saskarnes soļu motors ar STM32F103C8
- Saskarne Stepper Motor ar PIC mikrokontrolleru
- Saskarne Stepper Motor ar 8051 mikrokontrolleru
- Saskarne Stepper Motor ar Raspberry Pi
Šajā apmācībā mēs saskarsimies ar 28BYJ-48 Stepper Motor ar Atmega16 AVR mikrokontrolleru, izmantojot Atmel Studio 7.0. Stepper motors ir paredzēts darbam 5V. Mēs sasaistīsim pakāpienu motoru ar abiem motora vadītājiem, ti, ULN2003 un L293. Abus darbinās 5 V barošana. Lai vienkāršotu saskarni, mēs izmantojam abu motoru draiveru iepriekšēja veidošanas moduli. Varat arī izmantot ULN2003 un L293D atsevišķos IC. Vadu un džemperu skaits var būt lielāks, tāpēc vienkārši piesardzīgi savienojiet visus savienojumus.
Nepieciešamās sastāvdaļas
- Stepper motors (28BYJ-48)
- ULN2003 moduļa / L293D motora draiveris
- Atmega16 mikrokontrolleru IC
- 16Mhz kristāla oscilators
- Divi 100nF kondensatori
- Divi 22pF kondensatori
- Uzspied pogu
- Džemperu vadi
- Maizes dēlis
- USBASP v2.0
- Led (jebkura krāsa)
Tapu motora apraksts
Shēmas motora vadības shēma, izmantojot moduli ULN2003
Izmantojot ULN2003, pievienojiet visus komponentus, kā parādīts zemāk redzamajā diagrammā. Līdzīgi mēs to saskarsim, izmantojot L293D nākamajā solī. Mēs izmantojam PORTA no Atmega16, lai savienotu soļu motoru abiem motoru vadītājiem. Nav nepieciešams savienot soļu motora 5 V tapu. Stepper motora pārvietošanai nepieciešami tikai spoles tapas. Tapu secība ir ļoti svarīga, lai darbinātu soļu motoru, jo spoles aktivizēšanai vajadzētu būt, lai sasniegtu pakāpienus. Šajā projektā tiek izmantotas četras ULN2003 ieejas un četras ULN2003 izejas. Ieejas tiks savienotas ar PORTA tapām un izejas tiks savienotas ar Stepper Motor Signal tapām. Pievienojiet arī vienu spiedpogu atiestatīšanas tapā, lai atiestatītu Atmega16, kad vien nepieciešams. Savienojiet Atmega16 ar pareizu kristāla oscilatora shēmu. Visa sistēma darbosies ar 5 V barošanu.
Zemāk ir faktiskais ULN2003 motora draivera moduļa attēls:
Zemāk mēs esam devuši Atmega16 tapu savienojumus ar ULN2003 un L293D, lai pagrieztu soļu motoru. Stepper motora un L293D moduļa saskarne ir paskaidrota nākamajā sadaļā. Atcerieties, ka stepper motora vadībai ir nepieciešams tikai viens modulis - vai nu ULN2003, vai L293D.
INPUT tapu savienojumi ir šādi:
Atmega16 |
ULN2003 |
L293D |
A0 |
IN1 (PIN1) |
IN1 (PIN2) |
A1 |
IN2 (PIN2) |
IN2 (PIN7) |
A2 |
IN3 (PIN3) |
IN3 (PIN10) |
A3 |
IN4 (PIN4) |
IN4 (PIN15) |
OUTPUT tapu savienojumi ir šādi:
Stepper motors |
ULN2003 |
L293D |
apelsīns |
OUT1 (PIN16) |
OUT1 (PIN3) |
Dzeltens |
OUT2 (PIN15) |
OUT2 (PIN6) |
Rozā |
OUT3 (PIN14) |
OUT3 (PIN11) |
Zils |
OUT4 (PIN13) |
OUT4 (PIN14) |
Shēmas motora vadības shēma, izmantojot moduli L293D:
Stepper motora vadība ar AVR ATmega16
Kā jau teikts, atšķirībā no servomotora, Stepper motoriem ir nepieciešami ārējie draiveri, piemēram, ULN2003 vai L293D motora draiveris. Tik vienkārši savienot Circuit kā iepriekš, un augšupielādēt main.c programmu doto beigās.
Skicē parādīts, kā pakāpju motors rotē abās pusēs, ti, pulksteņrādītāja virzienā un pretēji pulksteņrādītāja kustības virzienam. Ja vēlaties pagriezt soli vienā virzienā, vienkārši skicē komentējiet cita virziena koda rindas.
Pilns AVR kods soļu motora kontrolei ir norādīts zemāk. Kods ir vienkāršs un to var viegli saprast. Tālāk ir norādīti divi kodi, viens rotējošam soļu motoram ar ULN2003 un otrs ar L293D moduli.
Pievienojiet USBASP v2.0 un izpildiet šajā saitē sniegtos norādījumus, lai programmētu Atmega16 AVR mikrokontrolleru, izmantojot USBASP un Atmel Studio 7.0. Vienkārši izveidojiet skici un augšupielādējiet, izmantojot ārējo rīku ķēdi.
Pilns kods ar demonstrācijas video ir norādīts zemāk.