欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 低成本、低檔自平衡小車(chē)歷程(超聲自平衡小車(chē)) [打印本頁(yè)]

作者: 51hei學(xué)習(xí)    時(shí)間: 2016-4-11 02:04
標(biāo)題: 低成本、低檔自平衡小車(chē)歷程(超聲自平衡小車(chē))
第二階段目標(biāo):

如標(biāo)題所述,真正的入門(mén)級(jí)平衡車(chē),真的低成本,不用陀螺儀和加速度傳感器,用超聲波測(cè)距實(shí)現(xiàn)平衡的小車(chē)!!!
見(jiàn) 114# 介紹!!!

第一階段總結(jié):
1# 第一版詳細(xì)資料。

42# MPU6050-DMP輸出穩(wěn)定性測(cè)試,DMP每次啟動(dòng)后均要20秒左右后角度輸出才穩(wěn)定,使用者要注意此問(wèn)題!!!

43# 第二版小車(chē),硬件做了塊PCB底板,換了一個(gè)全光耦隔離的L298N模塊,這個(gè)版本做兩款軟件:一是單側(cè)碼盤(pán)測(cè)速,另一是用PWM輸出值取代測(cè)速碼盤(pán),效果也不錯(cuò)。

50# 藍(lán)牙手機(jī)控制助手,編寫(xiě)了一個(gè)簡(jiǎn)單的安卓控制平衡小車(chē)的程序。

56# 自平衡小車(chē)參數(shù)整定方法,針對(duì)前面一些經(jīng)驗(yàn)和教訓(xùn),總結(jié)了參數(shù)調(diào)整中的一些問(wèn)題。

63# 不用MPU6050的DMP輸出,采用原始數(shù)據(jù)一階互補(bǔ)濾波解算角度,也不用PID庫(kù),直接編寫(xiě)PID計(jì)算,效率更高,穩(wěn)定性與控制效果也更好。

65# 第三版源代碼,測(cè)試數(shù)據(jù)和最新視頻效果。

2014.12.4

以下為原1#貼內(nèi)容

一、基本材料
1、Arduino Pro Mini模塊
2、CP2102模塊
3、MPU6050模塊
4、CH06藍(lán)牙模塊
5、L298N驅(qū)動(dòng)模塊
6、測(cè)速傳感器模塊
7、小車(chē)底盤(pán)


二、硬件設(shè)計(jì)
1、Arduino Pro Mini + MPU6050測(cè)試驗(yàn)證
Arduino Pro Mini模塊與MPU6050模塊的連線圖見(jiàn)前面圖片,即:SDA接A4,SCL接A5,VCC接VCC,GND接GND,INT接2。
下載:i2cdevlib-master(https://github.com/jrowberg/i2cdevlib
****MPU6050庫(kù)的安裝方法*************************
a. 下載arduino編譯器,目前版本為1.0.5。
b. 下載MPU6050庫(kù)。進(jìn)入“https://github.com/jrowberg/i2cdevlib”,點(diǎn)擊“zip”即可。
c. 安裝。將上一步下載的“I2Cdev”、“MPU6050”兩個(gè)文件夾拷貝到“arduino-1.0.5libraries”目錄下。
運(yùn)行arduino可以在例子中看到MPU6050。OK!

2、硬件原理圖
Arduino-Pro-Mini-schematic.pdf (37.43 KB, 下載次數(shù): 13)




其中D2S為外部中斷0的接線選擇:一種選擇是MPU6050的DMP方式,這種方式就只能用一個(gè)測(cè)速碼盤(pán)計(jì)數(shù)了;另一種選擇是用兩個(gè)測(cè)速碼盤(pán)計(jì)數(shù),但不能用MPU6050的DMP方式。

三、軟件設(shè)計(jì)

1、源代碼
WJY_DIY_v1_2.rar (3.23 KB, 下載次數(shù): 28)

2、說(shuō)明
此處雖然用了速度PID,但這個(gè)的輸入是碼盤(pán)計(jì)數(shù)值,這個(gè)值其實(shí)不是速度,而是速度的累加,也就是速度的積分,所以其Sd、Sp這兩個(gè)參數(shù)分別對(duì)應(yīng)于速度環(huán)的P系數(shù)和I系數(shù),也就實(shí)現(xiàn)了速度環(huán)的比例和積分這兩項(xiàng)。

PID調(diào)節(jié)公式:PWMOut = KAp*angle + KAd*angle_velocity + KSp*speed + KSi*position

四、參數(shù)整定
1、先將 kp、ki、 kd、 sp、 si、sd 均設(shè)置為0;
2、先設(shè)定一個(gè)電機(jī)的起步補(bǔ)償值,因?yàn)檫@個(gè)之不同,就相當(dāng)于使用了不同的電機(jī),這個(gè)值的選擇,是根據(jù)你自己搭建完平臺(tái)后,通過(guò)測(cè)試左右電機(jī)的起步值和停止值,然后綜合考慮設(shè)定的,也沒(méi)什么理論指導(dǎo),在起步和停止之間分別候選幾個(gè),然后根據(jù)不同的補(bǔ)償值,在分別調(diào)整PID的系數(shù),這樣優(yōu)選一組即可;
3、逐漸增大 kp 使得小車(chē)剛剛來(lái)回?cái)[動(dòng);
4、再逐漸增大 kd 使得小車(chē)的擺動(dòng)消失,再繼續(xù)增大 kd 小車(chē)會(huì)出現(xiàn)抖動(dòng),適當(dāng)減小 kd,使得小車(chē)相對(duì)平穩(wěn)即可;
5、接下來(lái)調(diào)節(jié) sd(注意不是 sp,理由見(jiàn)軟件設(shè)計(jì)的說(shuō)明部分),使得小車(chē)能夠來(lái)回走動(dòng)(不是擺動(dòng),也不是抖動(dòng));
6、最后逐漸增大 sp,使得小車(chē)能夠相對(duì)穩(wěn)定;
7、什么程度為好,自己花一定的時(shí)間慢慢摸索,就能逐漸體會(huì)到自己的一套“主觀”標(biāo)準(zhǔn)了!
8、最后一個(gè)參數(shù)也要注意,就是“抗積分飽和”值,這個(gè)值的選擇我感覺(jué)與 sp 的大小有關(guān),自己摸索吧,這個(gè)值如果選擇太大會(huì)出現(xiàn)往一邊跑,最后跌倒在地;如果太小會(huì)很快倒地。

五、初步成果
1、靜態(tài)照片


2、運(yùn)行曲線圖


3、視頻
http://player.youku.com/player.php/sid/XODI5MzY2NDU2/v.swf

http://player.youku.com/player.php/sid/XODI5NTQ4OTQw/v.swf

六、問(wèn)題及解決方案
1、電機(jī)性能測(cè)試
小車(chē)平臺(tái)裝配完畢,應(yīng)測(cè)試一下,兩個(gè)電機(jī)的特性,測(cè)試程序如下:
WJY_DIY_test.rar (1.01 KB, 下載次數(shù): 19)

用此程序分別測(cè)試兩個(gè)電機(jī)的啟動(dòng)值和停止值,也可測(cè)量?jī)蓚(gè)電機(jī)的速差。

2、電機(jī)干擾問(wèn)題
電機(jī)一起動(dòng),Arduino + MPU6050就無(wú)法工作,這個(gè)問(wèn)題,在各論壇中均有提及,我這里采取的措施是,電機(jī)單獨(dú)用一塊7.4V的鋰電供電,并且L298N的所有控制線均用光耦隔離。

3、系統(tǒng)供電
除上述電機(jī)供電外,系統(tǒng)其他部分的供電絕不可僅用 Arduino Pro Mini 上的穩(wěn)壓電源給其他部分供電, Arduino Pro Mini 上的穩(wěn)壓電源輸出所能提供的電流有限,我這里僅用他給 MPU6050 模塊供電,藍(lán)牙串口模塊單獨(dú)用一個(gè)低壓差穩(wěn)壓模塊給其供電。

七、參考資料
1、pz_cloud 的:做了一個(gè)小小的自平衡小車(chē)(更新完整版,附視頻)
http://www.geek-workshop.com/thread-5688-1-1.html
2、匠人的百寶箱:《自平衡兩輪車(chē)》講義 http://bbs.21ic.com/blog-24110-84728.html
3、求助:用MPU6050,L298N控制的平衡小車(chē),運(yùn)行1分鐘就死機(jī),(含詳細(xì)代碼注釋!已上...
http://www.geek-workshop.com/thread-1548-1-1.html
4、MPU6050庫(kù),https://github.com/jrowberg/i2cdevlib
i2cdevlib-master.zip (295.46 KB, 下載次數(shù): 13)

5、PID庫(kù): PID_v1.zip (7.47 KB, 下載次數(shù): 19)

作者: 51hei學(xué)習(xí)    時(shí)間: 2016-4-11 02:09
我測(cè)速模塊燒了,今天修改了一下程序,用PWM的值取代測(cè)速碼盤(pán),效果也不錯(cuò)!
明天試另一方案:用6050模塊的加速度積分取代測(cè)速信號(hào)檢測(cè),作為速度PID的輸入,看看效果如何?如果成功,下次在用6050的方位角信息來(lái)控制小車(chē)的兩輪均衡運(yùn)轉(zhuǎn),或者控制小車(chē)的轉(zhuǎn)向。
MPU6050-DMP輸出穩(wěn)定性測(cè)試
在以往調(diào)節(jié)平衡小車(chē)的過(guò)程中,發(fā)現(xiàn)小車(chē)的平衡角不斷改變(不是物理的改變,而是測(cè)量結(jié)果的改變),造成的結(jié)果,就是小車(chē)往一邊跑,如果不及時(shí)修正角度設(shè)定值,小車(chē)就自己倒下了。
上兩張測(cè)試結(jié)果圖


從測(cè)試結(jié)果來(lái)看,傾斜角大約需要20多秒才能穩(wěn)定下來(lái),方位角雖然在20秒左右穩(wěn)定下來(lái)了,但輸出始終在小幅漂移。

---------------------

新款的小車(chē),做了塊PCB底板,換了一個(gè)帶六路光耦隔離的L298N模塊,上兩張圖片

PCB底板上安裝有:Arduino ProMini模塊、MPU6050模塊、藍(lán)牙模塊、低壓差5V穩(wěn)壓、電池及充電線插座。

整機(jī)取消了測(cè)速碼盤(pán),下面安裝了一組電池共底板上各部分供電,最上面的一組電池共L298N模塊供電。




擺動(dòng)是在平衡之前,也就是開(kāi)始你的小車(chē)用手扶著,松開(kāi)就倒,但你逐漸增大Kp后,再松開(kāi)手,就會(huì)發(fā)現(xiàn)它來(lái)回?cái)[動(dòng)了,這時(shí)就已經(jīng)初步成功站立了,然后再逐漸增大Kd……


給自己的小車(chē)編了個(gè)簡(jiǎn)單的安卓手機(jī)藍(lán)牙控制程序,先上界面(本人水平有限僅能做這種特簡(jiǎn)單的界面):

再上源程序和APK安裝程序
WJY_DIY_APK.rar (509.36 KB, 下載次數(shù): 20)
開(kāi)發(fā)工具軟件是:RFO_BASIC!
也是小巧好玩的東西,可以在手機(jī)上直接編程并運(yùn)行!
Basic.rar (417.95 KB, 下載次數(shù): 10)

Builder_APK.rar (670.89 KB, 下載次數(shù): 15)

1.rar (7.97 MB, 下載次數(shù): 17)




作者: 51hei學(xué)習(xí)    時(shí)間: 2016-4-11 02:50
自平衡小車(chē)參數(shù)整定方法

1、將Kp、Ki、Kd、Sp、Si、Sd均設(shè)為零。
2、用支架將自平衡小車(chē)支起,處于水平狀態(tài)。
3、在程序每次輸出小車(chē)實(shí)際角度的同時(shí),輸出Arduino的系統(tǒng)時(shí)間[用millis()函數(shù)],下載并運(yùn)行程序用串口調(diào)試助手記錄系統(tǒng)時(shí)間與MPU6050的角度輸出,記錄足夠的數(shù)據(jù)后“保存窗口”數(shù)據(jù),用Excel打開(kāi)記錄的數(shù)據(jù)文件,觀察數(shù)據(jù)穩(wěn)定時(shí)間。




4、確定完這個(gè)穩(wěn)定時(shí)間后,將程序輸出恢復(fù)到原來(lái)狀態(tài)(去掉時(shí)間輸出部分),重新下載,去掉小車(chē)支架并啟動(dòng)運(yùn)行;將小車(chē)放置于一固角度位置,保持不動(dòng),觀察角度輸出數(shù)據(jù)是否穩(wěn)定(這個(gè)時(shí)間必須大于第3步所測(cè)時(shí)間),待數(shù)據(jù)穩(wěn)定后,用手扶著小車(chē)找其自然物理平衡角;通過(guò)串口工具輸出“G”或“g”將平衡設(shè)定角“setp0”設(shè)置到與小車(chē)的自然物理平衡角相一致。
5、這此之后小車(chē)的整定過(guò)程中不要斷電,始終保持運(yùn)行狀態(tài),逐步增加Kp,觀察小車(chē)的兩輪是否有抵抗角度變化的力量,如果不僅不能抵抗角度的變化,而是順著角度變化(增大角度的變化),則將順其變化的控制電機(jī)接線反過(guò)來(lái)接,再繼續(xù)下一步。
6、繼續(xù)增大Kp,小車(chē)會(huì)出現(xiàn)來(lái)回?cái)[動(dòng),增大或減小Kp,使其擺動(dòng)的幅度不導(dǎo)致小車(chē)傾倒為原則。
7、增大Kd,小車(chē)的擺動(dòng)會(huì)逐漸減小,如果繼續(xù)增大Kd,小車(chē)會(huì)出現(xiàn)抖動(dòng)現(xiàn)象,調(diào)節(jié)Kd,使其相對(duì)平穩(wěn)(因?yàn)橄憬峨姍C(jī)很難做到特別穩(wěn)定)即可。
8、逐漸增加Sd(這里也要做個(gè)判斷,用手平推小車(chē),小車(chē)是否有抵抗行為,如果沒(méi)有抵抗,而是順其運(yùn)行,說(shuō)明速度環(huán)控制方向反了),使得小車(chē)來(lái)回走動(dòng)(不是擺動(dòng)),然后增加Sp,使其來(lái)回走動(dòng)逐漸減小,達(dá)到比較滿意即可。

注意:第四步必須做,否則小車(chē)往往就跑向一邊了!!!
自平衡小車(chē)參數(shù)調(diào)整方法.rar (181.72 KB, 下載次數(shù): 18)


------------------------------------------

今天參考了
Arduino 自平衡小車(chē),制作經(jīng)驗(yàn)記錄與分享,愿有興趣人士,一起學(xué)習(xí)探討。
http://m.raoushi.com/bbs/dpj-48041-1.html
的帖子,根據(jù)自己小車(chē)的實(shí)際情況做了一些調(diào)整,完成了第3版的平衡小車(chē),沒(méi)用使用MPU6050的DMP功能了,讀取原始數(shù)據(jù)采用一階互補(bǔ)濾波求角度,這樣可以用兩個(gè)中斷測(cè)量左右輪的速度了。
這個(gè)效果感覺(jué)更好,幾乎僅用一個(gè)Kp就能站立了,我測(cè)試了一下程序的整個(gè)運(yùn)行周期,大概在3~4ms,這樣調(diào)整速度更快了,所以感覺(jué)效果好多了。
另外,由于碼盤(pán)一圈才20個(gè)孔,我才用電平變化測(cè)量方式,一圈也就計(jì)數(shù)40次,所以在一個(gè)周期這么短的時(shí)間內(nèi),速度計(jì)數(shù)幾乎為0,所以我是200ms左右測(cè)量一次速度。
讀取MPU6050的原始數(shù)據(jù)計(jì)算出來(lái)的角度幾乎啟動(dòng)后就是穩(wěn)定的數(shù)據(jù),DMP方式要20秒左右才能穩(wěn)定!!!
http://player.youku.com/player.php/sid/XODQxMDYwNzI0/v.swf


--------------------------------------------

第三版最新程序代碼:
WJY_DIY_v1_4.rar (2.16 KB, 下載次數(shù): 14)
程序中增加了一個(gè)兩輪速度差修正系數(shù)Kdsp,由于我這個(gè)測(cè)速碼盤(pán)只有20孔,所以速度差檢測(cè)不太敏感,目前效果不明顯,要么增大速度差的采樣周期,但這樣反應(yīng)也就變得很慢,先天硬缺陷,沒(méi)法與高端的相比。

測(cè)試記錄數(shù)據(jù)(500ms一個(gè)點(diǎn))見(jiàn)下圖:

圖中紅色區(qū)域,可以看出,當(dāng)小車(chē)實(shí)際角度偏離機(jī)械平衡點(diǎn)超過(guò)一定值(這個(gè)值由PID的調(diào)整輸出與電機(jī)的啟動(dòng)閾限決定),由于快速的PID調(diào)整,即使是香蕉電機(jī)也能很快調(diào)整到新的平衡點(diǎn)。
詳細(xì)數(shù)據(jù)如下:
SAVE2014-12-4_17-57-30.rar (10.73 KB, 下載次數(shù): 15)

最新視頻效果
http://player.youku.com/player.php/sid/XODQxNTExNTA0/v.swf


WJY_DIY_v1_4_1.rar (2.2 KB, 下載次數(shù): 15)


作者: lcr39101    時(shí)間: 2016-6-20 20:01
學(xué)習(xí),學(xué)習(xí),學(xué)習(xí)謝謝
作者: nocturne    時(shí)間: 2016-8-14 07:36
學(xué)習(xí),學(xué)習(xí),學(xué)習(xí)謝謝
作者: nocturne119    時(shí)間: 2016-9-21 18:18
學(xué)習(xí),學(xué)習(xí),學(xué)習(xí)謝謝
作者: CHEN.T    時(shí)間: 2016-9-29 14:18
給力啊   超贊
作者: 騰飛的龍    時(shí)間: 2016-11-21 15:52
51hei學(xué)習(xí) 發(fā)表于 2016-4-11 02:50
自平衡小車(chē)參數(shù)整定方法

1、將Kp、Ki、Kd、Sp、Si、Sd均設(shè)為零。

樓主。有51的就好啦。學(xué)習(xí)分享學(xué)習(xí)啦,再就是你的那個(gè)軟件怎么安裝和使用,謝謝!
作者: amethyst03    時(shí)間: 2016-12-1 21:30
謝謝分享
作者: 26617892    時(shí)間: 2018-4-10 13:52
感謝樓主!!!!!!!!!!!!!!!!!!!
作者: pyx99    時(shí)間: 2022-5-18 14:08
51hei學(xué)習(xí) 發(fā)表于 2016-4-11 02:09
我測(cè)速模塊燒了,今天修改了一下程序,用PWM的值取代測(cè)速碼盤(pán),效果也不錯(cuò)!
明天試另一方案:用6050模塊 ...

程序沒(méi)有啊




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1