Arduino - Balans - muvozanat roboti - Qanday qilish kerak?: 6 qadam (rasmlar bilan)
Arduino - Balans - muvozanat roboti - Qanday qilish kerak?: 6 qadam (rasmlar bilan)
Anonim
Image
Image

Ushbu qo'llanmada biz o'zini muvozanatlashtiradigan Arduino balansli (muvozanatli) robotini yasashni o'rganamiz. Avval siz yuqoridagi video darslikni ko'rishingiz mumkin.

1 -qadam: Kerakli apparat

Robotni yig'ish
Robotni yig'ish

Arduino kengashi (Uno) -

MPU-6050 GY521 Acc+Gyro-https://bit.ly/2swR0Xo

DC 6V 210RPM enkoderli tishli dvigatellar to'plami -

L298N dvigatel haydovchisi -

Kalit tugmasi -

M3 olti burchakli vintli vintli yong'oq to'plami -

Akril Perspex varaqasi -

3.7v 18650 zaryadlanuvchi Li-ion+zaryadlovchi-https://bit.ly/2LNZQcl

9V batareya -

Jumper simlari -

Issiq yopishtiruvchi qurol -

Arduino boshlang'ich to'plami va materiallari (ixtiyoriy): Arduino kartasi va SCM uskunalari #01 -

Arduino Board & SCM Supplies #02 -

Arduino Basic Learning boshlang'ich to'plami #01 -

Arduino asosiy boshlang'ich to'plami #02 -

Arduino asosiy boshlang'ich to'plami #03 -

Mega 2560 boshlang'ich to'plami qo'llanma bilan -

Arduino #01 uchun sensorli modullar to'plami -

Arduino #02 uchun sensorlar moduli to'plami -

2 -qadam: Robotni yig'ish

Robotni yig'ish
Robotni yig'ish
Robotni yig'ish
Robotni yig'ish
Robotni yig'ish
Robotni yig'ish
  • 3 ta akril varaqning to'rt burchagini burg'ulang. [1 va 2 -rasm]
  • Har bir akril varaq o'rtasida taxminan 8 kantimetr / 3,15 dyuym bo'ladi. [3 -rasm]
  • Robot o'lchamlari (taxminan) 15 sm x 10 sm x 20 sm. [4 -rasm]
  • DC dvigateli va g'ildiraklar robotning markaziga (o'rta chiziq) joylashtiriladi. [5 -rasm]
  • L298N dvigatel haydovchisi robotning birinchi qavat markaziga (o'rta chiziq) joylashtiriladi. [6 -rasm]
  • Arduino taxtasi robotning ikkinchi qavatiga joylashtiriladi.
  • MPU6050 moduli robotning yuqori qavatiga joylashtiriladi. [7 -rasm]

3 -qadam: ulanishlar

Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar

MPU6050 -ni sinab ko'ring va uning ishlashiga ishonch hosil qiling! Avval MPU6050 -ni Arduino -ga ulang va quyidagi qo'llanmadagi kodlardan foydalanib ulanishni tekshiring. Yana ketma -ket monitorda ko'rsatilishi kerak

Ko'rsatmalar qo'llanmasi - MPU6050 GY521 6 o'qli akselerometr+Gyro

YouTube qo'llanmasi - MPU6050 GY521 6 o'qli akselerometr + Gyro

L298N moduli Arduino uchun zarur bo'lgan +5V ni, agar uning kirish voltaji +7 V yoki undan yuqori bo'lsa, ta'minlay oladi. Biroq, men motor uchun alohida quvvat manbaiga ega bo'lishni tanladim

4 -qadam: Balanslash qanday ishlaydi?

Balanslash qanday ishlaydi?
Balanslash qanday ishlaydi?
Balanslash qanday ishlaydi?
Balanslash qanday ishlaydi?
Balanslash qanday ishlaydi?
Balanslash qanday ishlaydi?
  • Robotni muvozanatli ushlab turish uchun motorlar robotning yiqilishiga qarshi turishi kerak.
  • Bu harakat teskari aloqa va tuzatuvchi elementni talab qiladi.
  • Teskari aloqa elementi MPU6050 bo'lib, u robotning hozirgi yo'nalishini bilish uchun Arduino tomonidan ishlatiladigan har uch o'qda ham tezlanish, ham aylanish imkonini beradi.
  • Tuzatuvchi element - bu vosita va g'ildirak kombinatsiyasi.
  • O'z-o'zini muvozanatlaydigan robot aslida teskari mayatnikdir.
  • Agar massa markazi g'ildirak o'qlariga nisbatan yuqori bo'lsa, uni yaxshiroq muvozanatlash mumkin.
  • Shuning uchun men batareya to'plamini tepaga qo'ydim.
  • Robotning balandligi materiallarning mavjudligiga qarab tanlangan.

5 -qadam: Manba kodi va kutubxonalar

Manba kodlari va kutubxonalar
Manba kodlari va kutubxonalar
Manba kodlari va kutubxonalar
Manba kodlari va kutubxonalar

Balans robot uchun ishlab chiqilgan kod juda murakkab. Lekin tashvishlanishning hojati yo'q. Biz faqat ba'zi ma'lumotlarni o'zgartiramiz.

O'z-o'zini muvozanatlaydigan robotning ishlashi uchun bizga to'rtta tashqi kutubxona kerak

  • PID kutubxonasi P, I va D qiymatlarini hisoblashni osonlashtiradi.
  • LMotorController kutubxonasi L298N moduli bilan ikkita dvigatelni boshqarish uchun ishlatiladi.
  • I2Cdev kutubxonasi va MPU6050_6_Axis_MotionApps20 kutubxonasi MPU6050 ma'lumotlarini o'qish uchun mo'ljallangan.

Kutubxonalar yuklab olish

PID -

LMotorController -

I2Cdev -

MPU6050 -

Manba kodini oling -

PID nima?

  • Boshqaruv nazariyasida, ba'zi o'zgaruvchilarni (bu holatda, robotning pozitsiyasini) barqaror ushlab turish uchun PID deb nomlangan maxsus boshqaruvchi kerak bo'ladi.
  • P - proportsional, I - integral, D - lotin uchun. Ushbu parametrlarning har biri odatda "Kp", "Ki" va "Kd" deb nomlangan "yutuqlarga" ega.
  • PID kerakli qiymat (yoki kirish) va haqiqiy qiymat (yoki chiqish) o'rtasida tuzatishni ta'minlaydi. Kirish va chiqish o'rtasidagi farq "xato" deb nomlanadi.
  • PID tekshirgichi chiqishni doimiy ravishda sozlash orqali xatoni eng kichik qiymatgacha kamaytiradi.
  • Bizning Arduino o'z-o'zini muvozanatlaydigan robotimizda, kirish (daraja bo'yicha kerakli burilish) dasturiy ta'minot bilan o'rnatiladi.
  • MPU6050 robotning hozirgi egilishini o'qiydi va uni motorni boshqarish va robotni tik holatda ushlab turish uchun hisob -kitoblarni bajaradigan PID algoritmiga beradi.

PID, Kp, Ki va Kd qiymatlarini optimal qiymatlarga "sozlash" ni talab qiladi

Biz PID qiymatlarini qo'lda o'rnatamiz

  1. Kp, Ki va Kd ni nolga teng qiling.
  2. Kp ni sozlang. Juda kam Kp robotni ag'darib yuboradi (tuzatish etarli emas). Juda ko'p Kp robotni vahshiyona oldinga va orqaga qaytarishga majbur qiladi. Kp etarli darajada yaxshi bo'lsa, robot biroz oldinga va orqaga (yoki biroz tebranadi).
  3. Kp o'rnatilgach, Kd ni rostlang. Yaxshi Kd qiymati robot deyarli barqaror bo'lmaguncha tebranishlarni kamaytiradi. Bundan tashqari, Kd ning to'g'ri miqdori, itarilsa ham, robotni turg'un holatda ushlab turadi.
  4. Nihoyat, Ki -ni o'rnating. Robot Kp va Kd o'rnatilgan bo'lsa ham yoqilganda tebranadi, lekin o'z vaqtida barqarorlashadi. To'g'ri Ki qiymati robotning barqarorlashishi uchun zarur bo'lgan vaqtni qisqartiradi.

Yaxshi natijalarga erishish uchun taklif

Balans robotining manba kodini barqaror va samarali ishlashi uchun siz ushbu loyihada ishlatilgan materiallardan foydalangan holda shunga o'xshash robot ramkasini yaratishingizni tavsiya qilaman.

6 -qadam: qo'llab -quvvatlash uchun

Qo'llab -quvvatlash uchun
Qo'llab -quvvatlash uchun
  • Qo'shimcha darslar va loyihalar uchun siz mening YouTube kanalimga obuna bo'lishingiz mumkin.
  • Shuningdek, qo'llab -quvvatlash uchun obuna bo'lishingiz mumkin. Rahmat.

Mening YouTube kanalimga tashrif buyuring -

Tavsiya: