- Kinakailangan ang Mga Bahagi
- Paglalarawan ng Pin ng Stepper Motor
- Circuit Diagram para sa Stepper Motor Control gamit ang ULN2003 Module
- Circuit Diagram para sa kontrol ng Stepper Motor gamit ang L293D Module:
- Pagkontrol ng Stepper Motor na may AVR ATmega16
Ang Stepper Motors ay mga DC brushless motor na maaaring paikutin mula 0 0 hanggang 360 0 sa mga hakbang. Gumagamit ang stepper motor ng mga electronic signal upang paikutin ang motor sa mga hakbang at ang bawat signal ay paikutin ang poste sa naayos na pagtaas (isang hakbang). Ang rotation angel ay kinokontrol ng pag-apply ng ilang mga pagkakasunud-sunod ng mga signal. Hindi tulad ng Servo Motor, ang mga stepper motor ay maaaring hinimok ng paggamit ng mga GPIO pin ng microcontroller kaysa sa mga PWM na pin at maaaring paikutin sa (+360 0) at (-360 0). Ang pagkakasunud-sunod ng mga senyas ay nagpapasya sa pakanan at kontra sa direksyon ng direksyon ng stepper motor. Upang makontrol ang bilis ng motor, kailangan lang nating baguhin ang rate ng mga signal ng kontrol na inilapat. Ang stepper motors ay umiikot sa mga hakbang. Mayroong maraming mga mode ng mga hakbang upang mapatakbo ang Stepper Motor tulad ng buong hakbang, kalahating hakbang at microstep. Upang malaman ang tungkol sa mga pangunahing kaalaman, teorya at prinsipyo ng pagtatrabaho ng stepper motor, sundin ang link.
Dati ay nakipag-ugnay kami sa Stepper Motor sa maraming mga Microcontroller:
- Pag-interfacing ng Stepper Motor na may ARM7-LPC2148
- Ang Interfacing Stepper Motor na may Arduino Uno
- Pag-interfacing ng Stepper Motor na may MSP430G2
- Ang Interfacing Stepper Motor na may STM32F103C8
- Pag-interfacing ng Stepper Motor na may PIC Microcontroller
- Pag-interfacing ng Stepper Motor na may 8051 Microcontroller
- Pag-interfacing ng Stepper Motor na may Raspberry Pi
Sa tutorial na ito makikipag-ugnay kami sa 28BYJ-48 Stepper Motor na may Atmega16 AVR Microcontroller gamit ang Atmel Studio 7.0. Ang stepper motor ay na-rate upang gumana sa 5V. Kami ay interfacing ang stepper motor sa parehong mga driver ng motor ie ULN2003 at L293. Ang parehong ay hinihimok ng 5V supply. Upang gawing simple ang pag-interfacing gumagamit kami ng prebuild module ng parehong mga driver ng motor. Maaari mo ring gamitin ang ULN2003 at L293D standalone IC's. Ang bilang ng mga wires at jumper ay maaaring maging mas, kaya mag-ingat lamang habang kumokonekta sa lahat ng mga koneksyon.
Kinakailangan ang Mga Bahagi
- Stepper Motor (28BYJ-48)
- ULN2003 Module / L293D Motor Driver
- Atmega16 Microcontroller IC
- 16Mhz Crystal Oscillator
- Dalawang 100nF Capacitor
- Dalawang 22pF Capacitor
- Push Button
- Jumper Wires
- Breadboard
- USBASP v2.0
- Led (Anumang Kulay)
Paglalarawan ng Pin ng Stepper Motor
Circuit Diagram para sa Stepper Motor Control gamit ang ULN2003 Module
Ikonekta ang lahat ng mga bahagi tulad ng ipinakita sa diagram sa ibaba kapag gumagamit ng ULN2003. Katulad nito ay isasabay namin ito gamit ang L293D sa susunod na hakbang. Gumagamit kami ng PORTA ng Atmega16 upang i-interface ang stepper motor para sa parehong mga driver ng motor. Hindi na kailangang ikonekta ang 5V pin ng stepper motor. Ang mga pin ng coil lamang ang kinakailangan upang ilipat ang stepper motor. Napakahalaga ng pagkakasunud-sunod ng pin upang magmaneho ng stepper motor dahil dapat ang nagpapasigla ng mga coil upang makamit ang mga hakbang. Apat na mga input ng ULN2003 at apat na output ng ULN2003 ang ginagamit sa proyektong ito. Ang mga input ay makokonekta sa mga pin ng PORTA at ang mga output ay makokonekta sa mga stepper Motor Signal na pin. Gayundin, ikonekta ang isang pindutan ng push sa I-reset ang pin para sa pag-reset ng Atmega16 kahit kailan kinakailangan. Ikonekta ang Atmega16 na may wastong kristal oscillator circuit. Ang lahat ng mga sistema ay pinalakas ng 5V supply.
Nasa ibaba ang aktwal na Larawan ng ULN2003 Motor Driver Module:
Sa ibaba ay binigyan namin ang mga koneksyon ng pin na Atmega16 na may ULN2003 at L293D upang paikutin ang stepper motor. Ang interfacing stepper motor na may L293D module ay ipinaliwanag sa susunod na seksyon, tandaan na isang module lamang alinman sa ULN2003 o L293D ang kinakailangan para sa stepper motor control.
Ang mga koneksyon sa pin para sa INPUT ay ang mga sumusunod:
Atmega16 |
ULN2003 |
L293D |
A0 |
IN1 (PIN1) |
IN1 (PIN2) |
A1 |
IN2 (PIN2) |
IN2 (PIN7) |
A2 |
IN3 (PIN3) |
IN3 (PIN10) |
A3 |
IN4 (PIN4) |
IN4 (PIN15) |
Ang mga koneksyon sa pin para sa OUTPUT ay ang mga sumusunod:
Stepper Motor |
ULN2003 |
L293D |
Kahel |
OUT1 (PIN16) |
OUT1 (PIN3) |
Dilaw |
OUT2 (PIN15) |
OUT2 (PIN6) |
Kulay rosas |
OUT3 (PIN14) |
OUT3 (PIN11) |
Bughaw |
OUT4 (PIN13) |
OUT4 (PIN14) |
Circuit Diagram para sa kontrol ng Stepper Motor gamit ang L293D Module:
Pagkontrol ng Stepper Motor na may AVR ATmega16
Tulad ng nasabi na hindi tulad ng Servo Motor, ang mga Stepper motor ay nangangailangan ng mga panlabas na driver hal. ULN2003 o L293D motor driver. Kaya't ikonekta lamang ang Circuit tulad ng nasa itaas at i - upload ang main.c na programa na ibinigay sa dulo.
Ipinapakita ng sketch ang stepper motor na umiikot sa magkabilang panig ie sa pakaliwa at kontra sa direksyon sa tuwid. Kung nais mong paikutin ang stepper sa isang direksyon simpleng puna ang mga linya ng code ng isa pang direksyon sa sketch.
Ang kumpletong AVR code para sa pagkontrol sa Stepper Motor ay ibinibigay sa ibaba. Ang code ay simple at madaling maunawaan. Ang dalawang mga code ay ibinibigay sa ibaba, isa para sa umiikot na stepper motor na may ULN2003 at pangalawa na may L293D module.
Ikonekta ang iyong USBASP v2.0 at sundin ang mga tagubilin sa link na ito sa programa ng Atmega16 AVR Microcontroller gamit ang USBASP at Atmel Studio 7.0. Buuin lamang ang sketch at i-upload gamit ang panlabas na toolchain.
Ang kumpletong code na may Demonstration Video ay ibinibigay sa ibaba.