Talaan ng mga Nilalaman:

Self-balancing Robot: 6 Mga Hakbang (na may Mga Larawan)
Self-balancing Robot: 6 Mga Hakbang (na may Mga Larawan)

Video: Self-balancing Robot: 6 Mga Hakbang (na may Mga Larawan)

Video: Self-balancing Robot: 6 Mga Hakbang (na may Mga Larawan)
Video: motor na maliit 2024, Nobyembre
Anonim
Self-balancing Robot
Self-balancing Robot

Sa Instructable na ito, ipapakita namin sa iyo kung paano bumuo ng self-balancing robot na ginawa namin bilang isang proyekto sa paaralan. Ito ay batay sa ilang iba pang mga robot, tulad ng nBot at isa pang maituturo. Ang robot ay maaaring makontrol mula sa isang Android smartphone sa pamamagitan ng isang koneksyon sa Bluetooth. Dahil ang Instructable na ito ay sumasaklaw lamang sa proseso ng pagbuo, nagsulat din kami ng isang dokumento upang masakop ang teknikal na background ng code at electronics. Naglalaman din ito ng mga link sa mga mapagkukunang ginamit, kaya maaari mong tingnan ang mga ito kung ang dokumento ay hindi sapat para sa iyo.

Upang sundin ang lahat ng mga hakbang sa proyektong ito kakailanganin mo ang ilang mga kasanayang 3D sa pag-print o ilang iba pang matalinong paraan upang ikabit ang mga gulong sa mga motor.

Hakbang 1: Mga Kinakailangan

Mga Kinakailangan
Mga Kinakailangan
Mga Kinakailangan
Mga Kinakailangan
Mga Kinakailangan
Mga Kinakailangan

Ang robot ay batay sa isang Martinez brushless gimbal controller board. Mayroong ilang bahagyang mga pagkakaiba-iba ng board na ito, ngunit hangga't mayroon kang isa na may ATmega328 chip at L6234 motor Controller dapat kang maging maayos. Kung hahanapin mo ang "Martinez board" sa Google Images, makikita mo na may ilang mga board na may isang madaling konektor para sa IMU chip at / o baterya, sa halip na mga pin na header o butas. Sa huling kaso, magiging madaling magamit ito kung mag-order ka ng isang pakete ng mga pin ng header, na maaari mong ihihinang sa mga butas.

Partlist

Ang ilan sa mga item sa listahang ito ay naglalaman ng mga link sa mga webshop.

  • Controller: Martinez BoardDX.com (kasama rin ang IMU at ilang mga header pin).
  • IMU: MPU6050
  • Baterya (450 mAh 3S LiPo na baterya) Tandaan: kakailanganin mo rin ang isang 3S LiPo charger na eBay.com
  • 2x Motor: Brushless motor 2208, KV100DX.com
  • Mga gulong (maaari mong makuha ang mga ito mula sa mga mayroon nang mga laruan o LEGO)
  • 6x M2 tornilyo 5 mm
  • 8x M3 tornilyo (ang haba ay nakasalalay sa materyal para sa iyong panlabas, kailangan ng isang labis na haba)
  • Bluetooth chip HC-05 (siguraduhing makakuha ng isa na may naka-attach na isang serial interface board, hindi lamang isang hubad na chip) MAHALAGA: Siguraduhin na ang chip ay may isang pin na may label na SUSI.
  • Mga Wires: Babae sa babaeng DuPont Ang pagbili ng isang pack ng 20 wires ay magiging higit sa sapat
  • Velcro tape
  • USB Cable upang ikonekta ang controller sa PC
  • Opsyonal: Mga header pinDX.com (maaari mong i-cut o masira ang mga ito sa nais na haba)
  • Mga plastic washer at spacer

Sa wakas, kailangan mo ng ilang acrylic, kahoy o karton na sinamahan ng pandikit o tape-upang lumikha ng isang istraktura na humahawak sa lahat ng mga bahagi.

Hakbang 2: Pag-configure ng Bluetooth Chip

Pag-configure ng Bluetooth Chip
Pag-configure ng Bluetooth Chip

Sa sandaling mahawakan mo ang lahat ng mga bahagi, oras na para sa pagsasaayos ng Bluetooth chip. Kakailanganin mo ng isang USB cable upang ikonekta ang ikonekta ang board ng controller sa iyong computer pati na rin ang Arduino IDE upang makipag-usap sa mga sangkap.

Para dito, kakailanganin mong i-download ang file:

HC-05_Serial_Interface.ino

Sundin ang mga hakbang na ito:

  1. Ikonekta ang controller sa iyong computer gamit ang isang USB cable.
  2. Buksan ang.ino file gamit ang Arduino IDE.
  3. Sa IDE, pumunta sa Tools, Board at tiyaking nakatakda ito sa Arduino / Genuino Uno.
  4. Pumunta ngayon sa Tools, Port at itakda ito sa COM port kung saan nakakonekta ang controller. Karaniwan mayroon lamang isang port. Kung maraming, suriin ang Device Manager (sa Windows) upang malaman kung alin ang tagakontrol.
  5. Ngayon, pindutin ang pindutang Mag-upload sa IDE at hintaying matapos ang pag-upload. Pagkatapos, idiskonekta ang USB cable mula sa alinman sa computer o sa controller.

Pagkatapos mong magawa ito, ikonekta ang HC-05 gamit ang mga DuPont cable tulad ng sumusunod:

HC-05 Controller

KEY + 5V GND GND TXD RX RXD TX

I-plug muli ang USB cable, pagkatapos ay ikonekta ang VCC pin ng HC-05 sa isa pang + 5V sa controller. Ang LED ay dapat na flash na may isang ~ 1 segundo agwat.

Sa Arduino IDE, piliin ang tamang COM port, pagkatapos ay pumunta sa Tools, Serial Monitor.

Itakda ang pagpipiliang Line Ending sa Serial Monitor sa Parehong NL & CR. Itakda ang rate ng Baud sa 38400. Ngayon ay maaari mong gamitin ang Serial Monitor upang magpadala ng mga pag-setup na utos sa Bluetooth chip. Ito ang mga utos:

SA Suriin ang koneksyon

SA + PANGALAN Kumuha / itakda ang pangalan ng pagpapakita ng Bluetooth SA + UART Kumuha / itakda ang rate ng baud AT + ORGL I-reset ang mga default ng pabrika SA + PSWD Kunin / itakda ang password ng Bluetooth

Upang baguhin ang pangalan, password at baud rate ng Bluetooth device, ipadala ang mga sumusunod na utos:

AT + NAME = "Halimbawa ng Pangalan"

AT + PSWD = "PassWord123" AT + UART = "230400, 1, 0"

Ang mga pagpipilian sa Pangalan at Password ay maaaring itakda sa anumang nais mo, tiyaking itakda ang rate ng baud gamit ang eksaktong parehong utos na nakalista sa itaas. Itinatakda ito sa 230400 baud, na may 1 stop bit at walang pagkakapantay-pantay. Pagkatapos i-set up ang lahat, muling ikonekta ang USB cable (upang lumabas sa mode ng pag-setup) at subukang ipares ang iyong telepono sa maliit na tilad. Kung gumagana ang lahat idiskonekta ang USB cable at magpatuloy sa susunod na hakbang.

Hakbang 3: Paglakip ng mga Gulong sa Mga Motors

Ang paglakip ng mga Gulong sa mga Motors
Ang paglakip ng mga Gulong sa mga Motors
Ang paglakip ng mga Gulong sa mga Motors
Ang paglakip ng mga Gulong sa mga Motors

Ang mga gulong ginamit sa proyektong ito ay may hindi kilalang pinagmulan (nakalagay sila sa isang drawer na may maraming iba pang mga bagay). Upang maikabit ang mga gulong sa mga motor, nag-print kami ng 3D ng isang piraso na tumutugma sa mga butas ng tornilyo sa mga motor. Ang mga piraso ay na-screwed sa paggamit ng tatlong 5-millimeter 2M na turnilyo bawat motor. Ang parehong mga piraso ay may isang pin na umaangkop sa mga butas sa mga axes ng gulong.

Kasama ang modelo ng SolidWorks. Marahil ay kailangan mong baguhin ito para sa iyong mga gulong, o makahanap ng ibang praktikal na solusyon upang magkasya ang mga gulong. Halimbawa, maaari mong gamitin ang isang Dremel upang mag-ukit ng isang butas na pareho ang laki ng motor (o isang maliit na maliit na maliit upang bigyan ito ng masikip na magkasya), pagkatapos ay maaari mong pindutin ang motor sa gulong. Siguraduhin lamang na makakuha ng mga naaangkop na gulong para sa trabahong ito kung balak mong gawin ito.

Hakbang 4: Paglikha ng Panlabas

Paglikha ng Panlabas
Paglikha ng Panlabas

Para sa panlabas, dalawang piraso ng kahoy ang ginamit at gupitin sa parehong hugis. Upang magsimula, minarkahan namin ang kabilugan ng motor sa ibabang gitna ng piraso. Pagkatapos ay minarkahan namin ang bawat sulok ng isang linya ng 45 degree, tinitiyak na mag-iwan ng sapat na silid para ang motor ay maupo sa ibabang gitna. Pagkatapos ay naipit namin ang dalawang pirasong kahoy at sinisira ang mga sulok. Upang tapusin ang mga bagay, nilapag namin ang mga sulok upang gawin itong hindi gaanong matalim at alisin ang mga splinters.

Ngayon ay oras na upang mag-drill ng mga butas para sa mga turnilyo at ang axis na nakaumbok mula sa likuran ng motor. Kung i-clamp mo ang mga piraso ng kahoy kapag nag-drilling, kailangan mo lamang i-drill ang bawat butas nang isang beses.

Upang likhain ang layout para sa mga butas ng tornilyo, gumamit kami ng isang piraso ng papel at inilagay ito sa likuran ng motor at gumamit ng isang lapis upang pindutin ang mga butas ng tornilyo, sa pamamagitan mismo ng papel. Ang piraso ng papel na may apat na butas ng tornilyo pagkatapos ay inilagay sa kahoy upang markahan namin ang lokasyon ng mga butas na dapat na drill. Upang mag-drill ng mga butas, gumamit ng 3, 5 mm drill. Ngayon, gumamit ng isang lapis at isang pinuno upang hanapin ang gitna ng mga butas na ito at lumikha ng butas para sa axis gamit ang isang 5 mm drill. Ikabit ang mga motor na may M3 screws, ngunit iwanan ang isa sa mas malawak na spaced screws sa isang motor.

Upang makuha ang konektor ng motor at kawad sa loob ng robot, nag-drill din kami ng isang 8 mm na butas nang kaunti sa itaas ng motor. Siguraduhing may sapat na silid para yumuko ang mga wire nang hindi masyadong binibigyang diin ang mga ito.

Mahalagang magtrabaho nang tumpak hangga't maaari upang lumikha ng isang (malapit-) perpektong simetriko na panlabas

Hakbang 5: Pagkakabit sa Mga Bahagi

Pagkakabit sa Mga Sangkap
Pagkakabit sa Mga Sangkap

Markahan ang isang patnubay na patayong center sa kahoy upang mailagay mo ang mga bahagi sa gitna. Maaari mong ikabit ang lahat sa kahoy gamit ang velcro tape. Sa aming robot gumamit kami ng maliliit na bolt at nut upang ma-secure ang board ng controller, ngunit maaari mo ring gamitin ang velcro tape (wala pa namin ito sa oras na ikinabit namin ang controller). Tiyaking maaari mong mai-plug sa isang USB cable pagkatapos mong matapos ang konstruksyon.

Inilagay namin ang controller sa gitna gamit ang USB port na nakaturo pababa, upang mai-plug namin ang cable mula sa pagitan ng mga gulong. Maaari mo ring ituro ito sa isa sa mga gilid.

Ilagay ang baterya nang mataas hangga't maaari, kaya't ang robot ay nagiging mabigat sa tuktok. Ilagay din ang singilin na port sa isang madaling maabot na lugar na malapit sa gilid.

Bluetooth chip

Ikonekta ang Bluetooth chip VCC pin sa + 5V sa controller, at ang Bluetooth GND sa GND ng controller. Ang pin ng TXD ng controller ay papunta sa Bluetooth RX at ang RXD pin sa controller ay papunta sa Bluetooth TX pin. Pagkatapos ay idikit lamang ang Bluetooth chip sa isang lugar sa kahoy na panel gamit ang velcro tape.

Motion Chip

Ang galaw ng galaw ay may dalawang butas ng tornilyo, kaya ikinabit namin ang maliit na tilad gamit ang isang spacer, sa isang paraan na ang gitna ng maliit na tilad ay nahuhulog sa gitna ng motor. Hindi mahalaga ang oryentasyon, tulad ng pag-calibrate ng robot mismo kapag nag-boot. Tiyaking gumamit ng isang plastic washer sa ilalim ng ulo ng tornilyo upang maiwasan ang pagpapaikli ng circuit.

Pagkatapos ay gumamit ng mga wires na DuPont upang ikonekta ang mga pin sa controller. Ang bawat pin ay may label na pareho sa Controller dahil ito ay nasa chip ng paggalaw, kaya't ang pagkonekta nito ay medyo nagpapaliwanag.

Lumipat ng kuryente

Madali ang pagkonekta ng isang switch ng kuryente. Kinuha namin ang isa mula sa isang luma na aparato, at nawasak ito mula sa circuit board nito. Upang magamit ito bilang isang switch ng kuryente para sa robot, ikonekta mo ang positibong kawad ng baterya sa pin (sa pag-aakalang ito ay isang tatlong-pin na switch) sa gilid na nais mong gawin ang posisyon ng switch. Pagkatapos, ikonekta ang gitnang pin sa positibong pag-input ng kuryente ng controller. Naghinang kami ng mga wires na DuPont sa switch, upang ang baterya mismo ay hindi permanenteng nakakabit sa switch.

Pagkonekta sa mga gilid

Ngayon alam mo na ang lokasyon ng mga bahagi at nakuha mo ang dalawang panig ng robot. Ang huling hakbang sa pagbuo ng robot ay magkokonekta sa magkabilang panig sa bawat isa. gumamit kami ng apat na hanay ng tatlong pirasong kahoy na nakadikit at inilagay ito sa mga gilid upang ang aming galaw ay nasa gitnang axis ng robot. Dapat sabihin na ang materyal na ginamit, na ibinigay na sapat na malakas, hindi masyadong mahalaga. Maaari mo ring gamitin ang isang mas mabibigat na koneksyon sa tuktok upang madagdagan pa ang taas ng gitna ng masa. Ngunit hindi katulad ng patayong posisyon ng gitna ng masa ang pahalang na posisyon ng gitna ng masa ay dapat itago sa lugar hangga't maaari, sa itaas ng axis ng gulong, dahil ang pag-coding ng code para sa chip ng paggalaw ay magiging mahirap ay ang pahalang na sentro ng mass displaced.

Handa ka na ngayong mag-upload ng code at ibagay ang controller.

Hakbang 6: Pag-upload at Pag-tune ng Code

Upang mai-upload ang code, kailangan mo ng isang computer na may Arduino IDE. I-download ang.ino file sa ibaba at buksan ito gamit ang Arduino IDE. Ang pag-upload nito sa controller ay tapos na sa parehong paraan tulad ng ginawa mo sa code mula sa pag-setup ng Bluetooth.

Upang mapagana ang robot, kailangan mong i-download ang app na 'Joystick bluetooth Commander' mula sa Play Store. Buksan ang lakas ng robot at ilagay ito sa sahig, sa harap o sa likuran. Ilunsad ang app at kumonekta sa Bluetooth chip. Ang Datafield 1 ay pupunta mula sa XXX patungong READY sa sandaling ang robot ay na-calibrate ang sarili (5 segundo upang ilagay ito sa gilid nito, na susundan ng 10 segundo ng pagkakalibrate). Maaari mong i-on ang robot sa pamamagitan ng paglipat ng pindutan 1 sa app. Ngayon ilagay ang robot nang patayo sa lupa at bitawan sa sandaling maramdaman mo ang paggalaw ng mga motor. Ito ay kapag ang robot ay nagsimulang pagbabalanse mismo.

Ang robot ay handa na ngayong i-tono, dahil ang katatagan nito marahil ay hindi mahusay. Maaari mong subukan kung gagana ito nang walang karagdagang pag-tune, ngunit kailangan mong gawin ang robot na medyo magkapareho sa amin upang gumana ito nang maayos. Kaya sa karamihan ng mga kaso dapat mong ibagay ang controller upang pinakamahusay na gumana sa iyong robot. Medyo madali ito, sa kabila ng lubos na pag-ubos ng oras. Narito kung paano ito gawin:

Pag-tune ng controller

Sa isang lugar sa code makikita mo ang 4 na mga variable, nagsisimula sa isang k. Ito ang kp, kd, kc at kv. Magsimula sa pamamagitan ng pagtatakda ng lahat ng mga halaga sa zero. Ang unang halaga na itatakda ay kp. Ang default na halaga ng kp ay 0.17. Subukang itakda ito sa isang bagay na mas mababa tulad ng 0.05. I-off ang robot, i-upload ang code at tingnan kung paano ito sumusubok na balansehin. Kung nahuhulog ito, dagdagan ang halaga. Ang pinakamatalinong paraan upang gawin ito ay sa pamamagitan ng interpolating:

  1. Itakda ang halaga sa isang bagay na mababa at subukan ito
  2. Itakda ang halaga sa isang bagay na mataas at subukan ito
  3. Itakda ang halaga sa average ng dalawa at subukan ito
  4. Ngayon subukang alamin kung mas balansehin ito sa mababa o mataas na halaga at average ang kasalukuyang halaga at ang kung saan ito gumana nang mas mahusay.
  5. Magpatuloy hanggang sa makahanap ka ng isang matamis na lugar

Ang matamis na lugar para sa halaga ng kp ay kapag nasa paligid ng gilid ng under- at overcompensating. Kaya't kung minsan ay babagsak ito sa unahan dahil hindi nito makakasabay sa pagbagsak ng bilis nito, at sa iba pang mga oras ay babagsak ito pabalik dahil nag-overshoot ito sa ibang direksyon.

Matapos mong itakda ang halaga ng kp, itakda ang kd. Maaari itong gawin sa parehong paraan tulad ng ginawa mo sa kp. Taasan ang halagang ito hanggang sa ang robot ay halos balanseng, upang ito ay mag-ugoy pabalik-balik hanggang sa mahulog ito. Kung itinakda mo itong masyadong mataas, makukuha mo itong balansehin nang maayos nang maayos, ngunit kapag sobrang nabalisa ang balanse, mahuhulog ito (tulad ng kapag pinilit mo ito). Kaya subukang hanapin ang lugar kung saan hindi ito balanseng, ngunit malapit na malapit.

Tulad ng nahuhulaan mo, ang pag-tune ng controller ay maaaring tumagal ng maraming pagsubok dahil nagiging mas mahirap sa bawat bagong variable na ipinakilala. Kaya kung sa palagay mo hindi ito gagana, magsimula muli.

Ngayon ay oras na upang itakda ang kv. I-interpolate ito hanggang sa makahanap ka ng isang halaga kung saan huminto ang pag-swing ng robot, manatiling balanseng at makakaya ang isang light push. Kapag itinakda nang masyadong mataas, negatibong nakakaapekto ito sa katatagan. Subukang maglaro kasama ng kv at kp upang makahanap ng isang punto kung saan ito ang pinaka-matatag. Ito ang pinaka-matagal na hakbang ng pag-tune.

Ang huling halaga ay kc. Ginagawa ng halagang ito ang robot na bumalik sa huling posisyon nito pagkatapos na mabayaran ang isang itulak o iba pa. Maaari mong subukan ang parehong pamamaraan ng interpolation dito, ngunit ang 0.0002 ay dapat na gumana nang maayos sa karamihan ng mga kaso.

Ayan yun! Handa na ang iyong robot. Gamitin ang joystick sa iyong smartphone upang makontrol ang robot. Mag-ingat, gayunpaman, bilang pasulong sa maximum na bilis ay maaari pa ring mahulog ang robot. Maglaro sa paligid ng mga variable ng controller upang mabayaran ito hangga't maaari. Ang pinaka-lohikal na hakbang ay ang pagtingin sa halaga ng kp para dito, dahil direkta itong nagbabayad para sa kasalukuyang anggulo ng robot.

Mahalagang tala sa mga baterya ng LiPo

Inirerekumenda na regular mong suriin ang boltahe ng iyong baterya ng LiPo. Ang mga baterya ng LiPo ay hindi dapat maalis sa mas mababa sa 3 volts bawat cell-pagsukat ng 9 volts sa isang 3S LiPo. Kung ang boltahe ay bumaba sa ibaba 3 volts bawat cell, magkakaroon ng permanenteng pagkawala ng kapasidad ng baterya. Kung ang boltahe ay lumubog sa ibaba 2.5 volts bawat cell, itapon ang baterya at bumili ng bago. Ang pag-charge ng isang cell ng LiPo na may mas mababa sa 2.5 volt ay mapanganib sapagkat ang panloob na pagtutol ay naging napakataas, na nagreresulta sa isang mainit na baterya at isang potensyal na panganib sa sunog habang nagcha-charge.

Inirerekumendang: