電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>二輪自平衡機(jī)器人開(kāi)源設(shè)計(jì)

二輪自平衡機(jī)器人開(kāi)源設(shè)計(jì)

2023-06-12 | zip | 0.53 MB | 次下載 | 2積分

資料介紹

描述

我重新設(shè)計(jì)了機(jī)器人硬件沒(méi)有改變,但軟件已經(jīng)重新設(shè)計(jì)。

在舊版本中,每個(gè)電機(jī)都有一個(gè)單獨(dú)的 PID 控制器。

為了使機(jī)器人向右或向左移動(dòng),PID 控制器的設(shè)定點(diǎn)被分配了適當(dāng)?shù)闹怠?/p>

如果機(jī)器人之后再次直行,則必須人為抵消由此產(chǎn)生的步數(shù)差異,這有時(shí)會(huì)導(dǎo)致一些麻煩。

現(xiàn)在機(jī)器人只有一個(gè) PID 控制器用于兩個(gè)電機(jī)。這足以讓機(jī)器人保持直立。要向前或向后移動(dòng),只需將設(shè)定值更改為適當(dāng)?shù)闹怠?/p>

第二個(gè)級(jí)聯(lián) PID 控制器確保機(jī)器人保持其到達(dá)的位置。

為了讓機(jī)器人向右或向左移動(dòng),在沒(méi)有輸入到 PID 控制器的情況下,兩個(gè)帶相反符號(hào)的電機(jī)的步數(shù)都增加了。

現(xiàn)在我對(duì)機(jī)器人的行為很滿意。

進(jìn)一步項(xiàng)目手勢(shì)控制機(jī)器人

原則

雙輪自平衡機(jī)器人代表一個(gè)機(jī)器人平臺(tái),有兩個(gè)獨(dú)立驅(qū)動(dòng)的輪子,重心在輪子旋轉(zhuǎn)軸上方。機(jī)器人的行為類似于倒立擺的經(jīng)典機(jī)械系統(tǒng)。

機(jī)器人特點(diǎn)

使用藍(lán)牙通過(guò)操縱桿控制機(jī)器人

步進(jìn)電機(jī),單極/雙極,200 步/轉(zhuǎn),42×48mm,4V,1.2A/相

步進(jìn)電機(jī)驅(qū)動(dòng)器載體可以連續(xù)提供每相高達(dá) 1.5 A 的電流,四種不同的步進(jìn)分辨率:全步、半步、1/4 步和 1/8 步。

用于電機(jī)和位置的級(jí)聯(lián) PID 控制器

通過(guò)中斷的任務(wù)分配器

脈寬調(diào)制控制器

帶加速度計(jì)和陀螺儀的 MPU-6050 傳感器,使用帶 MPU-6050 的數(shù)字運(yùn)動(dòng)處理

通過(guò) Twiddle 算法自動(dòng)調(diào)整

電池控制

面向?qū)ο蟮能浖O(shè)計(jì)

限制

僅在 Arduino Due 運(yùn)行

步進(jìn)電機(jī)

我決定使用 Stepper 引擎,因?yàn)樗鼈兙哂幸韵聝?yōu)勢(shì):

定位準(zhǔn)確,無(wú)累積誤差

靜止位置保持力矩

無(wú)因電機(jī)轉(zhuǎn)動(dòng)慣量引起的減速/滯后

通過(guò)計(jì)算 PWM 信號(hào)進(jìn)行簡(jiǎn)單的位置感測(cè)

MPU-6050加速度計(jì)+陀螺儀

MPU-6050 傳感器在單個(gè)芯片中包含一個(gè) MEMS 加速度計(jì)和一個(gè) MEMS 陀螺儀。它非常準(zhǔn)確,因?yàn)樗糜诿總€(gè)通道的 16 位模數(shù)轉(zhuǎn)換硬件。它同時(shí)捕獲 x、y 和 z 通道。傳感器使用 I2C 總線與 Arduino 連接。

我使用帶有 MPU-6050 傳感器的 DigitalMotion Processing,直接在芯片上進(jìn)行快速計(jì)算。這減少了 Arduino 的負(fù)載。

https://playground.arduino.cc/Main/MPU-6050

由于我的板的方向,我使用了根據(jù)來(lái)自 FIFO 的四元數(shù)計(jì)算的偏航/俯仰/滾動(dòng)角度(以度為單位)。通過(guò)閱讀歐拉角,我遇到了萬(wàn)向節(jié)鎖的問(wèn)題。

pYYBAGSBqfeAKIzeAADsQiYhLJw474.png

MP6500步進(jìn)電機(jī)驅(qū)動(dòng)器載體

使用的步進(jìn)電機(jī)驅(qū)動(dòng)器可讓您以每相高達(dá)約 1.5 A 的電流連續(xù)控制一個(gè)雙極步進(jìn)電機(jī),無(wú)需散熱器或強(qiáng)制氣流(數(shù)據(jù)表)。

級(jí)聯(lián)PID控制器

機(jī)器人由級(jí)聯(lián) PID 控制器控制。電機(jī)控制器確保機(jī)器人保持直立。位置控制器確保機(jī)器人保持其正確的設(shè)定點(diǎn)規(guī)定位置。

級(jí)聯(lián)控制是多個(gè)控制器級(jí)聯(lián);相關(guān)的控制循環(huán)相互嵌套。一個(gè)控制器(主控制器、位置)的控制器輸出變量用作另一個(gè)(從控制器、電機(jī))的參考變量。

poYBAGSBqfqAXxdwAABX4_O3ii0922.png

標(biāo)準(zhǔn) PIDalgorithm 在較長(zhǎng)的測(cè)試系列后略有修改。向 P 分量添加參數(shù) Kx 乘以 I 分量。

在此更改之前,機(jī)器人總是想逃跑。I 部分的簡(jiǎn)單增加使機(jī)器人不穩(wěn)定。這個(gè)解決方案當(dāng)然在很大程度上取決于機(jī)器人的結(jié)構(gòu)(重量、重心等)。

pYYBAGSBqf6ACGd-AAA9aXkcDXg305.png

pYYBAGSBqgCATJQGAACeNLbQ9lA608.png

PID控制器

pYYBAGSBqgOAEOSVAADnHPe6Tb8265.png

PID控制器

PWM控制器

為了生成 PWM 信號(hào),我修改了“randomvibe”庫(kù)。( https://github.com/cloud-rocket/DuePWM )。PWM 控制器在 DuePWMmod 類中實(shí)現(xiàn)。通過(guò) PWM Clock-A (“CLKA”) 設(shè)置的獨(dú)特頻率) 和時(shí)鐘 B ("CLKB")。

任務(wù)調(diào)度

任務(wù)派發(fā):

機(jī)器人

液晶顯示器

繪圖儀

是在 Ivan Seidel 的定時(shí)器庫(kù)的幫助下完成的。(https://github.com/ivanseidel/DueTimer感謝)生成三個(gè)具有相應(yīng)時(shí)間的中斷來(lái)調(diào)用任務(wù)。

軟件架構(gòu)

機(jī)器人由主程序SBRobotDue02和以下類組成:

控制

電池

由于PWMmod

到期計(jì)時(shí)器

玩轉(zhuǎn)

發(fā)動(dòng)機(jī)

車輛

我的MPU

以及以下內(nèi)容:

配置

液晶顯示器

Pid參數(shù)

繪圖儀

該體系結(jié)構(gòu)顯示在以下 UML 圖中:

poYBAGSBqgaASp3-AACN_17fX00857.png

操縱桿

Funduino Joystick Shield V1.A 用于全方位控制機(jī)器人。盾牌使用的是 Arduino Mega。來(lái)自屏蔽的數(shù)據(jù)是通過(guò)藍(lán)牙連接上的串行事件接收的。JoyStickSlave01 草圖會(huì)在發(fā)生變化時(shí)立即向機(jī)器人發(fā)送數(shù)據(jù)。

pYYBAGSBqgqAYDXjAAC4nMYTe-w123.png

使用 Twiddle 進(jìn)行 PIDauto 整定

Twiddle 是一種算法,它試圖為算法找到一個(gè)好的參數(shù)選擇。也稱為爬山,它類似于登山者在濃霧中尋找山頂,并引導(dǎo)他的腳步盡可能陡峭地上坡。如果只向四面八方下降,他就到達(dá)了頂峰。Twiddle算法用于PID參數(shù)的自動(dòng)整定。首先,可以通過(guò)使用電位計(jì)進(jìn)行手動(dòng)調(diào)整來(lái)測(cè)試參數(shù)。

poYBAGSBqg2AJVsIAADoO5FPRH8963.png

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)