Arduino - Balanse - Balancing Robot - Paano Gumawa ?: 6 Mga Hakbang (na may Mga Larawan)
Arduino - Balanse - Balancing Robot - Paano Gumawa ?: 6 Mga Hakbang (na may Mga Larawan)
Anonim
Image
Image

Sa tutorial na ito matututunan natin kung paano gumawa ng Arduino balancing (balanse) na robot na nagbabalanse mismo. Una maaari mong tingnan ang tutorial sa video sa itaas.

Hakbang 1: Kinakailangan ang Hardware

Assembly ng Robot
Assembly ng Robot

Arduino Board (Uno) -

MPU-6050 GY521 Acc + Gyro -

DC 6V 210RPM Encoder Gear Motor Set -

L298N Motor Driver -

Pindutan ng Lumipat -

M3 Hex Threaded Spacer Screw Nut Set -

Acrylic Perspex Sheet -

3.7v 18650 Rechargeable Li-ion + Charger -

9V Baterya -

Jumper Wires -

Hot Glue Gun -

Arduino Starter Kit at Mga Pantustos (Opsyonal): Arduino Board & SCM supplies # 01 -

Arduino Board & SCM supplies # 02 -

Arduino Basic Learning Starter Kit # 01 -

Arduino Basic Learning Starter Kit # 02 -

Arduino Basic Learning Starter Kit # 03 -

Mega 2560 Starter Kit na may Tutorial -

Sensor Module Kit Para sa Arduino # 01 -

Sensor Module Kit Para sa Arduino # 02 -

Hakbang 2: Assembly ng Robot

Assembly ng Robot
Assembly ng Robot
Assembly ng Robot
Assembly ng Robot
Assembly ng Robot
Assembly ng Robot
  • Mag-drill ng apat na sulok ng 3 Acrylic Sheets. (Larawan 1 at 2)
  • Sa pagitan ng bawat acrylic sheet ay magiging tungkol sa 8 cantimeter / 3.15 pulgada. (Larawan 3)
  • Mga Dimensyon ng Robot (tinatayang) 15cm x 10 cm x 20cm. (Larawan 4)
  • Ang DC motor at ang mga gulong ay mailalagay sa gitna (midline) ng robot. (Larawan 5)
  • Ang L298N Motor Driver ay ilalagay sa unang floor center (midline) ng robot. (Larawan 6)
  • Ang board ng Arduino ay ilalagay sa ikalawang palapag ng robot.
  • Ang module ng MPU6050 ay mailalagay sa itaas na palapag ng robot. (Larawan 7)

Hakbang 3: Mga Koneksyon

Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon

Subukan ang MPU6050 at tiyaking gumagana ito! Ikonekta ang MPU6050 sa kabuuan ng Arduino at subukan ang koneksyon gamit ang mga code sa tutorial sa ibaba. Dapat ipakita ang daha sa serial monitor

Mga Tagubilin sa Pagtuturo - MPU6050 GY521 6 Axis Accelerometer + Gyro

Tutorial sa YouTube - MPU6050 GY521 6 Axis Accelerometer + Gyro

Ang module na L298N ay maaaring magbigay ng + 5V na kinakailangan ng Arduino basta ang input voltage nito ay +7 V o mas mataas pa. Gayunpaman, pinili kong magkaroon ng magkakahiwalay na mapagkukunan ng kuryente para sa motor

Hakbang 4: Paano Gumagana ang Balancing?

Paano Gumagawa ang Pagbabalanse?
Paano Gumagawa ang Pagbabalanse?
Paano Gumagawa ang Pagbabalanse?
Paano Gumagawa ang Pagbabalanse?
Paano Gumagawa ang Pagbabalanse?
Paano Gumagawa ang Pagbabalanse?
  • Upang mapanatili ang balanse ng robot, dapat harapin ng mga motor ang pagbagsak ng robot.
  • Ang aksyon na ito ay nangangailangan ng isang puna at isang elemento ng pagwawasto.
  • Ang elemento ng puna ay ang MPU6050, na nagbibigay ng parehong pagbilis at pag-ikot sa lahat ng tatlong axis na ginagamit ng Arduino upang malaman ang kasalukuyang oryentasyon ng robot.
  • Ang elemento ng pagwawasto ay ang kombinasyon ng motor at gulong.
  • Ang self-balancing robot ay mahalagang isang baligtad na palawit.
  • Maaari itong balansehin nang mas mabuti kung ang gitna ng masa ay mas mataas na may kaugnayan sa mga gulong ehe.
  • Ito ang dahilan kung bakit ko inilagay ang pack ng baterya sa itaas.
  • Gayunpaman, ang taas ng robot ay pinili batay sa pagkakaroon ng mga materyales.

Hakbang 5: Source Code at Library

Source Code at Mga Aklatan
Source Code at Mga Aklatan
Source Code at Mga Aklatan
Source Code at Mga Aklatan

Ang code na binuo para sa balanse ng robot ay masyadong kumplikado. Ngunit hindi kailangang magalala. Magbabago lamang kami ng ilang data.

Kailangan namin ng apat na panlabas na silid-aklatan upang magawa ang sariling pagbabalanse ng robot

  • Ginagawang madali ng library ng PID na kalkulahin ang mga halagang P, I, at D.
  • Ang library ng LMotorController ay ginagamit para sa pagmamaneho ng dalawang motor na may module na L298N.
  • Ang I2Cdev library at MPU6050_6_Axis_MotionApps20 library ay para sa pagbabasa ng data mula sa MPU6050.

Mag-download ng Mga Aklatan

PID -

LMotorController -

I2Cdev -

MPU6050 -

Kunin ang Source Code -

Ano ang PID?

  • Sa control theory, ang pagpapanatili ng ilang variable (sa kasong ito, ang posisyon ng robot) na matatag ay nangangailangan ng isang espesyal na tagapamahala na tinatawag na PID.
  • P para sa proporsyonal, ako para sa integral, at D para sa derivative. Ang bawat isa sa mga parameter na ito ay may "mga nadagdag" na karaniwang tinatawag na Kp, Ki, at Kd.
  • Nagbibigay ang PID ng pagwawasto sa pagitan ng nais na halaga (o input) at ng aktwal na halaga (o output). Ang pagkakaiba sa pagitan ng input at output ay tinatawag na "error".
  • Binabawasan ng PID controller ang error sa pinakamaliit na halaga na posible sa pamamagitan ng patuloy na pagsasaayos ng output.
  • Sa aming Arduino self-balancing robot, ang input (na kung saan ay ang nais na ikiling, sa degree) ay itinakda ng software.
  • Binabasa ng MPU6050 ang kasalukuyang ikiling ng robot at pinapakain ito sa PID algorithm na nagsasagawa ng mga kalkulasyon upang makontrol ang motor at panatilihin ang robot sa tuwid na posisyon.

Kinakailangan ng PID na ang mga nakamit na halaga ng Kp, Ki, at Kd ay "iakma" sa mga pinakamainam na halaga

Manu-manong ayusin namin ang mga halaga ng PID

  1. Gawing pantay sa zero ang Kp, Ki, at Kd.
  2. Ayusin ang Kp. Napakaliit ng Kp ay mapapatumba ang robot (walang sapat na pagwawasto). Masyadong maraming Kp ang gagawing pabalik-balik ng robot. Ang isang sapat na sapat na Kp ay gagawing medyo pabalik-balik ang robot (o mag-oscillate nang kaunti).
  3. Kapag naitakda ang Kp, ayusin ang Kd. Ang isang mabuting halaga ng Kd ay magbabawas ng mga oscillation hanggang sa ang robot ay halos maging matatag. Gayundin, ang tamang dami ng Kd ay mapanatili ang robot na nakatayo kahit na itulak.
  4. Panghuli, itakda ang Ki. Ang robot ay mag-oscillate kapag naka-on kahit na ang Kp at Kd ay nakatakda ngunit tatatag sa oras. Ang wastong halaga ng Ki ay magpapapaikli ng oras na kinakailangan upang tumatag ang robot.

Mungkahi para sa mas mahusay na mga resulta

Inirerekumenda ko na lumikha ka ng isang katulad na frame ng robot gamit ang mga materyales na ginamit sa proyektong ito upang gawin ang source code para sa Balance Robot na gumana nang matatag at mahusay.

Hakbang 6: Para sa Suporta

Para sa Suporta
Para sa Suporta
  • Maaari kang mag-subscribe sa aking channel sa YouTube para sa higit pang mga tutorial at proyekto.
  • Gayundin maaari kang mag-subscribe para sa suporta. Salamat.

Bisitahin ang aking Channel sa YouTube -

Inirerekumendang: