Агуулгын хүснэгт:

Өөрийгөө тэнцвэржүүлэх робот - PID хяналтын алгоритм: 3 алхам
Өөрийгөө тэнцвэржүүлэх робот - PID хяналтын алгоритм: 3 алхам

Видео: Өөрийгөө тэнцвэржүүлэх робот - PID хяналтын алгоритм: 3 алхам

Видео: Өөрийгөө тэнцвэржүүлэх робот - PID хяналтын алгоритм: 3 алхам
Видео: Overview of Syncopal Disorders 2024, Арваннэгдүгээр
Anonim
Өөрийгөө тэнцвэржүүлэх робот - PID хяналтын алгоритм
Өөрийгөө тэнцвэржүүлэх робот - PID хяналтын алгоритм

Энэхүү төсөл нь Хяналтын алгоритмууд болон функциональ PID гогцоонуудыг хэрхэн үр дүнтэй хэрэгжүүлэх талаар илүү ихийг мэдэх сонирхолтой байсан тул санаачилсан юм. Төсөл хөгжих шатандаа явж байгаа тул Bluetooth модулийг нэмж оруулаагүй байгаа бөгөөд энэ нь роботыг Bluetooth -тэй ухаалаг гар утаснаас удирдах боломжийг олгоно.

Ашигласан N20 DC мотор нь харьцангуй хямд байсан тул маш их тоглодог. Энэ нь мотор нь дугуйнд эргүүлэх момент өгөхөд "сул" байдлыг даван туулдаг тул бага зэрэг хөдлөхөд хүргэдэг. Тиймээс төгс гөлгөр хөдөлгөөнд хүрэх нь бараг боломжгүй юм. Миний бичсэн код нь маш энгийн боловч PID алгоритмын чадварыг үр дүнтэй харуулдаг.

Төслийн хураангуй:

Роботын явах эд анги нь Ender 3 принтер ашиглан 3D хэвлэсэн бөгөөд бие биенээ дарахад зориулагдсан болно.

Энэхүү роботыг Arduino Uno удирддаг бөгөөд MPU6050 -аас мэдрэгчийн өгөгдлийг авдаг бөгөөд гадаад моторын драйвераар дамжуулан DC моторыг удирддаг. Энэ нь 7.4V, 1500mAh батерейгаар цэнэглэгддэг. Мотор драйвер нь үүнийг 5V болгож Arduino -ийг тэжээдэг бөгөөд моторуудад 7.4V хүчдэл өгдөг.

Програмыг gitHub-аас авсан 'Arduino-KalmanFilter-master' ба 'Arduino-MPU6050-master' номын сангийн тусламжтайгаар эхнээс нь бичсэн болно.

Хангамж:

  • 3D хэвлэсэн эд анги
  • Ардуино НҮБ
  • MPU6050 6 тэнхлэгтэй мэдрэгч
  • D. C моторын жолооч
  • N20 D. C мотор (x2)
  • 9V батерей

Алхам 1: Робот бүтээх

Робот бүтээх
Робот бүтээх
Робот бүтээх
Робот бүтээх
Робот бүтээх
Робот бүтээх

Хэвлэх ба угсрах

Бүтээцийг бүхэлд нь дарахад тохиромжтой байх ёстой, гэхдээ би тэнцвэржүүлэхдээ роботыг хатуу байлгахын тулд бүрэлдэхүүн хэсгүүдийг бэхлэхийн тулд супер цавуу ашигласан.

Би эд ангиудыг Fusion 360 дээр зохион бүтээсэн бөгөөд хэсэг бүрийг илүү хатуу хүлцэл, гадаргууг илүү цэвэрхэн болгохын тулд дэмжлэггүйгээр хэвлэхээр оновчтой болгосон.

Ender 3 принтер дээр ашигласан тохиргоо нь: 0.16 мм давхаргын өндөр @ бүх хэсгийг 40% дүүргэх.

Алхам 2: 3D хэвлэх робот

3D хэвлэх робот
3D хэвлэх робот

Явах эд анги (x1)

Зүүн дугуй (x2)

Зүүн моторын орон сууц (x2)

Arduino хайрцаг (x1)

Алхам 3: PID хяналтын алгоритм

PID хяналтын алгоритм
PID хяналтын алгоритм

Би gitHub-ийн 'Arduino-KalmanFilter-master' ба 'Arduino-MPU6050-master' номын санг ашиглан PID хяналтын алгоритмыг эхнээс нь бичсэн болно.

Алгоритмын үндэс нь дараах байдалтай байна.

  • MPU6050 -ээс түүхий өгөгдлийг уншина уу
  • Калман шүүлтүүрийг ашиглан гироскоп болон акселерометрийн өгөгдлийг шинжилж, мэдрэгчийн хурдатгалаас болж гироскопын уншилтын алдааг арилгах болно. Энэ нь мэдрэгчийн давирхайг харьцангуй жигд болгосон утгыг градусаар аравтын бутархай хоёр орон болгон буцаана.
  • E rror -ийг өнцгөөр тооцоолно уу: мэдрэгч ба тогтоосон цэгийн хоорондох өнцөг.
  • Пропорциональ алдааг тооцоолох (пропорциональ байдлын тогтмол x алдаа).
  • Integral Error -ийг (Constant of Integration x error) -ийн нийлбэр хэлбэрээр тооцоолно уу.
  • Үүсмэл алдааг тогтмол [Дифференциацийн тогтмол] x (Алдааны өөрчлөлт / Цаг хугацааны өөрчлөлт)] гэж тогтмол тооцоол
  • Мотор руу дамжуулах хурдыг өгөхийн тулд бүх алдааг нэгтгэнэ.
  • Алдааны өнцгийн тэмдгийг үндэслэн моторыг аль чиглэлд эргүүлэхийг тооцоол.
  • Оролт нь харилцан адилгүй байх тусам давталт үргэлжлэх бөгөөд гаралт дээр суурилна. Энэ бол гаралтын утгыг дараагийн давталтын шинэ оролтын утга болгон ашигладаг эргэх холбоо юм.

Эцсийн алхам бол PID давталтын Kp, Ki & Kd параметрүүдийг тааруулах явдал юм.

  1. Сайн эхлэл бол робот тэнцвэрийн цэгийг тойрон эргэлдэж, унах хүртэл Kp -ийг аажмаар нэмэгдүүлэх явдал юм.
  2. Дараа нь Kd -ийг Kp -ийн ойролцоогоор 1% -иар эхлүүлж, хэлбэлзэл алга болж, түлхэх үед робот жигд гулсах хүртэл аажмаар нэмэгдүүлнэ.
  3. Эцэст нь Ki -ийн 20 орчим хувийг Ki -ээр эхлүүлж, робот нь унаж, босоо чиглэлд буцаж очихын тулд тогтоосон цэгийг "давж" гарах хүртэл өөр өөр байх болно.

Зөвлөмж болгож буй: