Talaan ng mga Nilalaman:

28BYJ-48 5V Stepper Motor at A4988 Driver: 4 na Hakbang
28BYJ-48 5V Stepper Motor at A4988 Driver: 4 na Hakbang

Video: 28BYJ-48 5V Stepper Motor at A4988 Driver: 4 na Hakbang

Video: 28BYJ-48 5V Stepper Motor at A4988 Driver: 4 na Hakbang
Video: Управление шаговым двигателем. Драйвер A4988, подключение и настройка 2024, Hulyo
Anonim
28BYJ-48 5V Stepper Motor at A4988 Driver
28BYJ-48 5V Stepper Motor at A4988 Driver

Nais mo bang makakuha ng isang robot upang lumiko sa isang tumpak na anggulo, gamit lamang ang ilang mga output ng iyong Arduino o micro: bit? Lahat ng ito para sa murang? Ang itinuturo para sa iyo! Sa itinuturo na ito makikita natin kung paano magmaneho ng isang napaka murang stepper motor na gumagamit lamang ng 2 output ng aming controller at nangangailangan lamang ng isang 5V power supply!

Ginawa kong turuan ito pagkatapos medyo nagpumiglas upang makolekta ang impormasyon, kung minsan ay nadapa sa maling impormasyon, at nais kong i-save ang iba mula sa pagdaan ng parehong proseso.

Ngunit bago simulan, bakit ganoong pagpigil?

  • Bakit 5V: dahil nais kong isama ito sa isang mobile robot na tatakbo lamang sa isang 3.7 lithium na baterya na makukuha ko ang 5V sa isang booster.
  • Bakit ginagamit ang A4988 at hindi ang ULN2003 na madalas na kasama ng 28BYJ motor? Dahil, una, nangangailangan ito ng 4 na input. Samakatuwid ang paggamit ng A4988 ay gumagawa sa amin makatipid ng 2 ng aming mahalagang output ng controller (at kung nais mo ang pagtatrabaho sa micro: kagaya ng ginagawa ko pagkatapos ay ang mga output ay mahalaga …)! Ngunit may higit pa! Ang kakayahang magmaneho ng motor sa pamamagitan lamang ng pagbibigay ng mga hakbang bilang mataas na impulses, ay nagbibigay sa amin ng posibilidad na himukin ang motor na may isang simpleng PWM. Sa pamamagitan ng pag-aayos ng cycle ng tungkulin sa 50%, ang pagbabago ng dalas ng PWM ay magbabago sa bilis ng pag-ikot ng motor. Bakit ang galing Dahil kung nais mong itakda ang bilis ng aking motor at pagkatapos ay magpatuloy sa pagkontrol ng iba pang mga bagay gamit ang aking Arduino o micro: bit, pagkatapos ay maaari mong itakda ang aking PWM at kalimutan ito, na kung saan ay mas mababasa ang iyong code at ang iyong buhay. mas madali (halimbawa kung nais mong bumuo ng isang robot tulad nito).

Kaya't magsimula tayo!

Mga gamit

Narito ang kakailanganin mo para sa pagtuturo na ito:

  • 1x 28BYJ stepper motor
  • 1x A4988 driver
  • 1x breadboard o prototyping board, isang kapasitor at ilang mga wire
  • Micro: bit at extension board o Arduino
  • 5V power supply (+ 3.3V kung gumagamit ka ng Micro: bit). Para sa mga ito gumamit ako ng isang 18650 na baterya ng lithium at isang kalasag ng baterya.
  • 1x multimeter

Hakbang 1: Kilalanin ang aming System

Ang unang bagay na inirerekumenda kong magsimula, ay upang malaman ang higit pa tungkol sa mga stepper motor at sa driver ng A4988. Hoy, ngunit bakit kailangan natin ang driver na ito? Maaari ba nating makontrol ang isang stepper motor na walang driver? Ang sagot ay hindi. Ang mga board tulad ng Micro: bit at Arduino ay mahusay sa pagproseso ng impormasyon ngunit hindi sa pagbibigay ng maraming kasalukuyang, at kailangan mo ng kasalukuyang upang makagawa ng isang stepper motor na lumipat. Upang matuto nang higit pa tungkol sa kung paano gumagana ang parehong motor at driver na ito ang sanggunian na inirerekumenda ko. Ito ay gawa ng tao ngunit naglalaman din ng karamihan ng impormasyong kakailanganin mo para sa mga kable.

Ngunit maghintay bago subukan ang wire anumang! Ang 28BYJ ay inangkop sa A4988? Kung gumawa ka ng isang mabilis na paghahanap, makikita mo na ang motor na ito ay bihirang dumating sa A4988 bilang isang driver. Kung basahin mo nang lubusan ang nakaraang sanggunian maaari mong makita kung bakit: ang aming stepper ay isang unipolar motor habang ang A4988 ay idinisenyo upang magmaneho ng mga bipolar motor, kaya't kailangan naming i-hack nang kaunti ang aming motor!

Hakbang 2: Pag-hack ng Motor

Pag-hack ng Motor
Pag-hack ng Motor
Pag-hack ng Motor
Pag-hack ng Motor
Pag-hack ng Motor
Pag-hack ng Motor

Upang gawing katugma ang iyong mga motor sa driver ng motor kunin ang pulang kawad sa puting konektor. Upang gawin ang pagputol ng konektor upang alisin ang pulang kawad at putulin ang pulang kawad ng motor. Pagkatapos ay ipagpalit ang dilaw at kulay-rosas na kable sa konektor. Panatilihin ang pulang kawad at konektor para sa susunod na hakbang!

Upang makakuha ng isang cable mula sa konektor itulak ang kawad na nais mong alisin sa konektor at pagkatapos ay itulak ang nakikitang metal na bit sa konektor gamit ang isang matalim na tool (sa itaas ay isang larawan kung saan ko ito ginagawa sa aking paboritong kutsilyo, ang opinionel!), at sa wakas ay hilahin at kalaunan ang buong bagay ay dapat na lumabas tulad ng nasa larawan sa itaas. Ipinapakita ng huling larawan kung ano ang dapat magmukhang ang konektor sa dulo ng mga pagbabago: ang pagkakasunud-sunod ng cable sa konektor ay dapat na kulay kahel / rosas / dilaw / asul.

(PS: online makakahanap ka ng ilang mga tutorial na nagpapahiwatig na kailangan mong sirain ang pulang kawad mula sa motor at pagkatapos ay i-gasgas ang PCB, kalimutan mo na, hindi ito kinakailangan. Walang silbi?)

Hakbang 3: Pagtatakda ng Driver

Pagtatakda ng Driver
Pagtatakda ng Driver

Ngayon … oras upang himukin ang motor na ito kasama ang driver? Hindi pa paumanhin! Nakita mo ang tornilyo sa A4988 board? Sa gayon kailangan nating pakisamahan ito. Ang tornilyo na ito ay karaniwang pinapayagan kang itakda kung magkano ang kasalukuyang dumadaan sa mga coil ng iyong motor. Sa aming kaso, habang ang aming supply ng kuryente ay nagbibigay sa 5V at ang aming mga coil sa motor ay may paglaban ng 50 Ohms, ang aming kasalukuyang hindi hihigit sa 100mA, na dapat suportahan ng motor upang sa huli ay maaari mong laktawan ang hakbang na ito. Gayunpaman kung katulad mo ako at nais mong mag-motor ka lamang kumuha ng kasalukuyang kasalukuyang kinakailangan nito pagkatapos ay sumunod.

Kaya upang maitakda ang driver, sundin ang Paraan 2 ng artikulong ito sa mga adaptasyon na iyon (tulad ng ipinakita sa larawan sa itaas)

  1. Gamitin ang 5V mula sa kalasag ng baterya para sa parehong lohika at input ng lakas ng motor (sinabi ng VMOT na nangangailangan ng higit sa 8V ngunit gumagana ang 5V!). Ang 2 GND na pin sa board ay konektado, kaya hindi na kailangang ikonekta ang pareho sa ground ng baterya.
  2. Ikonekta ang mga STEP at DIR pin sa 5V din (hindi sa Arduino tulad ng ipinakita sa isinangguni na artikulo)
  3. Kapag itinatakda ang multimeter, itinakda ko ang kasalukuyang sa 50mA na sapat upang himukin ang aking mga motor gamit ang mga half-step (higit pa sa susunod na hakbang). Upang ikonekta ang aking multimeter upang masukat ang kasalukuyang sa likaw ng motor, tulad ng nakikita mo sa imahe sa itaas, na-unplug ko ang dilaw na kawad mula sa konektor at inilagay ang pulang kawad, upang mailagay ko ang aking multimeter mula sa pula hanggang sa ang dilaw na kawad upang masukat ang kasalukuyang.

Hakbang 4: Pagkontrol sa Motor

Pagkontrol sa Motor
Pagkontrol sa Motor
Pagkontrol sa Motor
Pagkontrol sa Motor
Pagkontrol sa Motor
Pagkontrol sa Motor

Iyon lang, halos handa na kaming paikutin ang aming motor. Ang mga bagay na dapat gawin ay:

  1. upang alisin ang aming multimeter mula sa aming system kung hindi pa nagagawa,
  2. ikonekta ang MS1 sa 5V kung saan gagamitin ang drayber ng kalahating hakbang (Nagkaroon ako ng problema sa pagkuha ng robot na may ganap na mga hakbang sa 5V. Ngunit bilang isang bahagi ng aking layunin na gawin ang lahat na tumakbo sa 5V tinanggap ko upang isakripisyo ang isang bit ng bilis at upang makakuha ng ilang katumpakan),
  3. ibigay ang mga STEP at DIR pin na kung ano ang gusto namin mula sa aming controller.

Pagkatapos: kung nais mong kontrolin ang motor gamit ang Arduino, sundin lamang ang artikulo dito kung saan makakahanap ka ng isang sample code. Kung nais mong kontrolin ito sa micro: kaunti pagkatapos ay manatili ka sa akin nang medyo mas mahaba.

Micro: bit, bilang Arduino, ay may kasamang mga GPIO. Samakatuwid, sa sandaling mapagana natin ito (na may 3.3V!), Pagkatapos ay mai-program natin ito upang mag-output ng STEP at DIR. Habang mukhang maraming mga input at output, binalaan na talagang marami sa kanila ay nakalaan na para sa ilang ibang mga layunin. Maaari kang matuto nang higit pa tungkol sa na sa artikulong ito. Makikita mo sa artikulong ito na talagang marami sa mga input / output ang ibinabahagi sa display, at samakatuwid, kung nais mong gamitin ang mga iyon, kailangan mong patayin ang display. Ngunit huwag nating patayin ang display! Kaya kung aling mga pin ang maaari nating magamit? Gagamitin ko ang mga pin 2 at 8 dahil hindi ko gagamitin ang mga pad (pin 2).

I-plug ang pin 2 ng micro: bit sa STEP, i-pin ang 8 sa DIR, i-upload ang program na nakakabit gamit ang iyong paboritong micro: python editor (Gumamit ako ng mu-editor). Karaniwang nagtatakda ang program na ito ng isang PWM sa pin 2 na may isang panahon ng 1 millisecond (at isang 50% na cycle ng tungkulin), at dapat umiikot ang iyong motor. Itakda ang pin 8 sa 0 o 1 upang gawin itong lumiko sa isang paraan o sa iba pa at baguhin ang panahon upang gawin itong bilis na gusto mo (hangga't hindi mo nais na ito ay masyadong mabilis … para sa akin ang isang pulso bawat millisecond ay malapit sa maximum na bilis na maabot ko).

Upang gawing mas compact ang mga bagay at madali itong maisakay sa isang mobile robot ay gumawa ako ng isang maliit na board. Ang board ay ipinakita sa larawan sa itaas. Sa imahe mayroong isang lilang kawad na pupunta mula sa VMOT hanggang VDD na nagtatago sa anino. Gayundin, ang dilaw na kawad na papunta sa SLP patungong RST ay talagang hindi na-solder, inilagay ko lang ito doon upang kumatawan sa solder na inilagay ko sa likuran ng board upang ikonekta ang 2 mga pin na iyon. Pangungusap: ang heat sink ay karaniwang hindi kinakailangan sa gayong sistema, habang gumuhit kami ng higit, mas mababa sa 1A.

Iyon lang, inaasahan kong makakatulong ito na makakatulong sa marami sa iyo na masiyahan sa lakas ng stepper motor sa iyong mga proyekto.

Inirerekumendang: