Talaan ng mga Nilalaman:

Arduino: Precision Lib para sa Stepper Motor: 19 Hakbang
Arduino: Precision Lib para sa Stepper Motor: 19 Hakbang

Video: Arduino: Precision Lib para sa Stepper Motor: 19 Hakbang

Video: Arduino: Precision Lib para sa Stepper Motor: 19 Hakbang
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Hulyo
Anonim
Image
Image
Mga Pandaigdigang variable
Mga Pandaigdigang variable

Ngayon, ipapakita ko sa iyo ang isang silid-aklatan para sa isang buong hakbang na driver ng motor na may mga limitasyong switch, at paggalaw ng makina na may bilis at micro step. Ang Lib na ito, na gumagana sa parehong Arduino Uno at ang Arduino Mega, ay nagbibigay-daan sa iyo upang ilipat ang mga makina batay hindi lamang sa bilang ng mga hakbang, kundi pati na rin sa millimeter. At medyo tumpak din ito.

Ang isang mahalagang tampok ng silid-aklatan na ito ay pinapayagan kang bumuo ng iyong sariling makina ng CNC, na kung saan ay hindi lamang X, Y, kundi pati na rin ang isang seksyon na lumipat, halimbawa, dahil hindi ito isang handa na GRBL, ngunit sa halip ang programa na ay nagbibigay-daan sa iyo upang gawin ang perpektong machine para sa iyo.

Gayunpaman, ang sumusunod na pahayag ay isang mahalagang detalye! Ang video na ito ay para lamang sa mga nakasanayan na sa pagprograma. Kung hindi ka pamilyar sa programa ng Arduino, dapat mo munang manuod ng iba pang mga panimulang video sa aking channel. Ito ay dahil tinatalakay ko ang isang advanced na paksa sa tukoy na video na ito, at ipinapaliwanag nang mas detalyado ang Lib na ginamit sa video: Hakbang Motor na may Bilis at Pagtatapos ng Stroke.

Hakbang 1: StepDriver Library

Saklaw ng library na ito ang tatlong pinakakaraniwang uri ng driver sa merkado: A4988, DRV8825, at TB6600. I-configure nito ang mga pin ng mga driver, pinapayagan silang isagawa ang pag-reset at paglalagay sa Sleep mode, pati na rin paganahin at i-deactivate ang mga output ng motor na kumikilos sa Paganahin ang pin. Itinatakda din nito ang mga pag-input ng mga micro-step na pin ng driver, at nililimitahan ang mga switch at ang antas ng kanilang pagsasaaktibo (mataas o mababa). Mayroon din itong code ng paggalaw ng motor na may tuluy-tuloy na pagbilis sa mm / s², maximum na bilis ng mm / s, at minimum na bilis ng mm / s.

Para sa mga nanood ng bahagi 1 at 2 ng video na Step Motor na may Acceleration at End of Stroke, i-download ang bagong library na magagamit ngayon, dahil gumawa ako ng ilang pagbabago sa unang file na iyon upang mapadali ang paggamit nito.

Hakbang 2: Mga Global Variable

Ipinapakita ko nang eksakto kung para saan ang bawat isa sa mga pandaigdigan na variable.

Hakbang 3: Mga Pag-andar - Pagtatakda ng Mga Driver ng Driver

Mga Pag-andar - Pagtatakda ng Mga Pin ng Driver
Mga Pag-andar - Pagtatakda ng Mga Pin ng Driver

Dito, naglalarawan ako ng ilang mga pamamaraan.

Itinakda ko ang setting ng Pinout at ang mga pin ng Arduino bilang output.

Hakbang 4: Mga Pag-andar - Pangunahing Mga Pag-andar ng Driver

Mga Pag-andar - Pangunahing Mga Pag-andar ng Driver
Mga Pag-andar - Pangunahing Mga Pag-andar ng Driver

Sa bahaging ito, nagtatrabaho kami kasama ang pagsasaayos ng driver at ang mga pangunahing pag-andar nito.

Hakbang 5: Mga Pag-andar - Pagtatakda ng Hakbang sa Motor

Mga Pag-andar - Pagtatakda ng Hakbang sa Motor
Mga Pag-andar - Pagtatakda ng Hakbang sa Motor
Mga Pag-andar - Pagtatakda ng Hakbang sa Motor
Mga Pag-andar - Pagtatakda ng Hakbang sa Motor

Sa hakbang na ito ng code, ise-configure namin ang dami ng mga hakbang sa bawat millimeter na dapat isagawa ng motor.

Hakbang 6: Mga Pag-andar - Pagtatakda ng Mode ng Hakbang sa Motor

Mga Pag-andar - Pagtatakda ng Mode ng Hakbang sa Motor
Mga Pag-andar - Pagtatakda ng Mode ng Hakbang sa Motor
Mga Pag-andar - Pagtatakda ng Mode ng Hakbang sa Motor
Mga Pag-andar - Pagtatakda ng Mode ng Hakbang sa Motor
Mga Pag-andar - Pagtatakda ng Mode ng Hakbang sa Motor
Mga Pag-andar - Pagtatakda ng Mode ng Hakbang sa Motor

Ipinapakita ng talahanayan na ito ang mga setting para sa motor step mode. Narito ang ilang mga halimbawa.

Hakbang 7: Mga Pag-andar - Pagtatakda ng Limit switch

Mga Pag-andar - Pagtatakda ng Limit switch
Mga Pag-andar - Pagtatakda ng Limit switch

Dito, kailangan kong basahin ang kabuuan at mga halagang boolean. Kinakailangan upang maitakda kung ang aktibong key ay pataas o pababa, habang itinatakda ang maximum at minimum na endpin ng limitasyon.

Hakbang 8: Mga Pag-andar - Pagbasa ng Mga Limit switch

Mga Pag-andar - Pagbasa ng Limit switch
Mga Pag-andar - Pagbasa ng Limit switch
Mga Pag-andar - Pagbasa ng Limit switch
Mga Pag-andar - Pagbasa ng Limit switch
Mga Pag-andar - Pagbasa ng Limit switch
Mga Pag-andar - Pagbasa ng Limit switch

Ang bahaging ito ay naiiba mula sa isa sa Lib na aking ginawang magagamit noong nakaraang linggo. Bakit ko ito binago? Sa gayon, gumawa ako ng eRead upang mapalitan ang ilan. Dito, babasahin ng eRead ang LVL, ang digitalRead (pin), at ibabalik ang TUNAY. Ang lahat ng ito ay kailangang gumanap sa mataas. Ang sumusunod na trabaho na may aktibong susi ay nasa mababang antas. Gagamitin ko ito dito upang ipakita sa iyo ang talahanayan na "Katotohanan".

Sa imahe ng code, naglagay ako ng isang diagram na makakatulong sa pag-unawa na, sa bahaging ito ng source code, lumilipat ako patungo sa Pag-akyat at hindi pa na-hit ang key ng pagtatapos ng kurso.

Ngayon, sa imaheng ito os code bool DRV8825, ipinapakita ko ang makina na gumagalaw pa rin sa lumalaking direksyon. Gayunpaman, ang maximum na switch ng limitasyon ay naaktibo. Kung gayon, ang mekanismo ay dapat itigil ang paggalaw.

Para sa huling, nagpapakita ako ng parehong paggalaw, ngunit sa kabaligtaran na direksyon.

Dito, mayroon ka nang pagtatapos ng kurso na naisasaaktibo.

Hakbang 9: Mga Pag-andar - Pag-setup ng Paggalaw

Mga Pag-andar - Pag-setup ng Paggalaw
Mga Pag-andar - Pag-setup ng Paggalaw

Ang pangunahing utility ng pamamaraan ng paggalaw ng Configure ay ang pag-convert ng millimeter bawat segundo (isang pagsukat na ginamit sa mga makina ng CNC) sa mga hakbang, upang matugunan ang tagapamahala ng isang stepper motor. Ito ay sa bahaging ito, samakatuwid, na itinuturo ko ang mga variable upang maunawaan ang mga hakbang at hindi ang millimeter.

Hakbang 10: Mga Pag-andar - Pag-andar ng Kilusan

Mga Pag-andar - Pag-andar ng Kilusan
Mga Pag-andar - Pag-andar ng Kilusan

Sa hakbang na ito, tinatrato namin ang utos na gumagalaw ng isang hakbang sa nais na direksyon sa isang panahon sa mga microsecond. Itinakda din namin ang direksyon ng driver ng pin, pagkaantala ng oras, at direksyon ng mga switch ng limitasyon.

Hakbang 11: Mga Pag-andar - Pag-andar ng Kilusan - Mga variable

Mga Pag-andar - Pag-andar ng Kilusan - Mga variable
Mga Pag-andar - Pag-andar ng Kilusan - Mga variable

Sa bahaging ito, iko-configure namin ang lahat ng mga variable na nagsasangkot ng mga panahon ng maximum at minimum na bilis, distansya ng tilapon, at mga hakbang na kinakailangan upang makagambala sa tilapon, bukod sa iba pa.

Hakbang 12: Mga Pag-andar - Pag-andar ng Kilusan - Pagpapabilis

Mga Pag-andar - Pag-andar ng Kilusan - Pagpapabilis
Mga Pag-andar - Pag-andar ng Kilusan - Pagpapabilis
Mga Pag-andar - Pag-andar ng Kilusan - Pagpapabilis
Mga Pag-andar - Pag-andar ng Kilusan - Pagpapabilis

Dito, naglalahad ako ng ilang mga detalye tungkol sa kung paano namin nakarating ang data ng pagpabilis, na kinakalkula sa pamamagitan ng equation ni Torricelli, dahil isinasaalang-alang nito ang mga puwang upang gumana ang pagpabilis at hindi ang oras. Ngunit, mahalaga dito upang maunawaan na ang buong equation na ito ay tungkol lamang sa isang linya ng code.

Nakilala namin ang isang trapeze sa imahe sa itaas, dahil ang mga paunang RPM ay masama para sa karamihan ng mga stepper motor. Ang parehong bagay ay nangyayari sa pagkabawas. Dahil dito, nakikita natin ang isang trapezoid sa panahon sa pagitan ng pagbilis at pagbagsak.

Hakbang 13: Mga Pag-andar - Pag-andar ng Paggalaw - Tuloy-tuloy na Bilis

Mga Pag-andar - Pag-andar ng Paggalaw - Patuloy na Bilis
Mga Pag-andar - Pag-andar ng Paggalaw - Patuloy na Bilis
Mga Pag-andar - Pag-andar ng Paggalaw - Patuloy na Bilis
Mga Pag-andar - Pag-andar ng Paggalaw - Patuloy na Bilis

Dito pinapanatili namin ang bilang ng mga hakbang na ginamit sa pagpabilis, nagpapatuloy kami sa patuloy na bilis, at panatilihin ang maximum na bilis, na makikita sa imahe sa ibaba.

Hakbang 14: Mga Pag-andar - Pag-andar ng Kilusan - Pagpapahina

Mga Pag-andar - Pag-andar ng Kilusan - Pagpapabilis
Mga Pag-andar - Pag-andar ng Kilusan - Pagpapabilis
Mga Pag-andar - Pag-andar ng Kilusan - Pagpapabilis
Mga Pag-andar - Pag-andar ng Kilusan - Pagpapabilis

Narito mayroon kaming isa pang equation, sa oras na ito na may negatibong halaga ng pagpapabilis. Ipinapakita din ito sa isang linya ng code, na kumakatawan, sa imahe sa ibaba, ang rektanggulo na may label na Pagpapabilis.

Hakbang 15: Mga Pag-andar - Pag-andar ng Paggalaw - Tuloy-tuloy na Bilis

Mga Pag-andar - Pag-andar ng Paggalaw - Patuloy na Bilis
Mga Pag-andar - Pag-andar ng Paggalaw - Patuloy na Bilis
Mga Pag-andar - Pag-andar ng Paggalaw - Patuloy na Bilis
Mga Pag-andar - Pag-andar ng Paggalaw - Patuloy na Bilis

Bumabalik kami sa tuluy-tuloy na bilis upang magtrabaho ang pangalawang kalahati ng tilapon, tulad ng nakikita sa ibaba.

Hakbang 16: Mga Pag-andar - Paglipat ng Pag-andar - Paglipat ng Mga Paglilipat

Mga Pag-andar - Paglipat ng Pag-andar - Paglipat ng Mga Turn
Mga Pag-andar - Paglipat ng Pag-andar - Paglipat ng Mga Turn

Sa bahaging ito, ilipat namin ang makina sa isang tiyak na bilang ng mga liko sa nais na direksyon, i-convert ang bilang ng mga liko sa millimeter. Sa wakas, ilipat namin ang motor sa hiniling na direksyon.

Hakbang 17: Tsart ng Paggalaw - bilis ng Posisyon

Tsart ng paggalaw - bilis ng posisyon
Tsart ng paggalaw - bilis ng posisyon

Sa graph na ito, mayroon akong data na nakuha mula sa equation na ginamit namin sa bahagi ng Acceleration. Kinuha ko ang mga halaga at nagpatugtog sa serial ng Arduino, at nagpunta ako mula dito sa Excel, na nagresulta sa talahanayan na ito. Ipinapakita ng talahanayan na ito ang pag-usad ng hakbang.

Hakbang 18: Tsart ng Paggalaw - Posisyon vs. Posisyon

Motion Chart - Posisyon vs. Posisyon
Motion Chart - Posisyon vs. Posisyon

Dito, kinukuha namin ang posisyon, sa mga hakbang, at sa bilis at i-convert ito sa panahon, sa microsecond. Tandaan namin sa hakbang na ito na ang panahon ay baligtad na proporsyonal sa tulin.

Hakbang 19: Tsart ng Paggalaw - Velocity vs. Sandali

Motion Chart - Velocity vs. Sandali
Motion Chart - Velocity vs. Sandali

Sa wakas, mayroon kaming tulin bilang isang pagpapaandar ng instant, at dahil dito, mayroon kaming isang tuwid na linya, dahil ito ang tulin bilang isang pagpapaandar ng oras.

Inirerekumendang: