matlab两轮自平衡小车,两轮自平衡小车(全部设计资料+设计分析)
自己做的自平衡小車,基本達到預期效果。制作資料在壓縮包里面,供參考。
該兩輪自平衡小車硬件設計概述:控制器:ATmega16;8MHz;
加速度傳感器:MMA2260;陀螺儀:EWTS82;
傳感器的融合:卡爾曼濾波;
馬達:EN_2342CR(速比64)+雙路12脈沖編碼器+CD40106對信號整形;
驅動板芯片:CD4001+IR2111+IRF1404(驅動電流可以很大);
圖片(拍攝效果不佳),視頻如下:
小車實物圖展示:
設計分析:
其實控制很簡單,利用定時器產生10ms中斷,每次中斷進行如下工作:
1:AD采樣加速度傳感器和陀螺儀,然后卡爾曼濾波得出角度與角速度;(濾波模塊借鑒老外的)(互補濾波效果感覺不是很好);
2:計算車輪的速度,積分得出位置;
3:利用PD算法得出PWM值=K1*angle + K2*angle_dot + K3*speed + K4 * position;
4:前進后退給定參考速度計算即可;
注意:增量式輪速傳感器A相中斷,讀取B相電位判斷前進還是后退,在10ms的時間內累加,計算車輪的速度;
由于10ms累加的輪速信號不多,直接計算車體會發抖,所以增加了低通濾波,解決問題;
我在外面增加4個電位器可以手動調節4個K值,方便調試;
附件的文件夾里面有matlab建模的資料,可以求出所需的4個K的值,(參考NXT的),大家可自行調試K值看看對車輛的影響;
電機選取建議:由于考慮到減速器,而且帶傳感器。其實后面實踐得知可以不要位置傳感器,這樣選擇電機的空間就很大了,買便宜的;
電機扭矩要大;說白了,功率要大;轉動慣量大似乎的更穩定,所以不用空心杯的也許更好;
減速比可以大一點,用較大的輪子;
重心越靠下,抗擾性越強;但是可能會影響穩定性;
購買的電機型號參考:
算法:
常用計算方法有兩種:互補濾波和卡爾曼濾波;都可以輸出校正后的角度與角速度;我采用的是卡爾曼濾波,考慮到單片機的運算能力,是經過精簡的,當然這些都是老外做的,關于卡爾曼濾波,我找了很多資料,詳見附件內容。
總結
以上是生活随笔為你收集整理的matlab两轮自平衡小车,两轮自平衡小车(全部设计资料+设计分析)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 杰力科创触摸屏LED镜浴室镜触摸芯片——
- 下一篇: Android P 跳过 Gapps 开