桂林電子科技大學信息科技學院 朱劍芳
兩輪自平衡車的研究
桂林電子科技大學信息科技學院 朱劍芳
【摘要】兩輪自平衡車是一個高度不穩定兩輪機器人,是一種特殊輪式移動車,其動力學系統具有多變量、非線性、強耦合、參數不確定性等特性,是研究各種控制方法的一個理想平臺。其工作原理是系統以姿態傳感器(陀螺儀、加速度計)來監測車身所處的俯仰狀態和狀態變化率,高速中央處理器ATmega16用PID算法運用卡爾曼濾波得出的更優傾角近似值,求出驅動電機的占空比PWM,驅動電動機產生前進或后退的加速度來達到車體前后平衡的效果。本文選用適當的控制器、執行電機和傳感器,設計出兩輪自平衡車的驅動電路,實現了兩輪車的硬件控制系統。
【關鍵詞】ATmega16;加速度傳感器;陀螺儀;PID算法;卡爾曼濾波
兩輪自平衡車兩輪共軸、獨立驅動、車身中心位于車輪軸上方,通過電機運動保持車身平衡。由于特殊的結構,其適應地形變化能力強,運動靈活,可以勝任一些復雜環境里的工作。從研究意義上看,自平衡車系統是一個集外界感知、動態平衡決策與規劃、平衡控制與執行等多種功能于一體的綜合復雜系統。
兩輪平衡車通過姿態檢測系統來實時檢測車身姿態及運動狀態,并根據姿態信息對小車進行控制。因此,對于兩輪自平衡車來說,能夠精確并穩定的檢測當前車身傾角,是實現有效控制的關鍵所在。目前有多重技術可以實現傾角檢測,但是實時性,經濟性還不夠理想。采用MEMS陀螺儀和加速度計等慣性傳感器構成的姿態檢測系統可以實時、準確的檢測兩輪自平衡車的傾角。兩輪自平衡車屬于本質不穩定系統,因此其實現的平衡是一種動態平衡。傳統的PID控制在各類工業場合有著廣泛的應用,完全可以滿足兩輪自平衡車的控制系統要求。
本設計利用ATmega16單片機進行系統控制,通過接收和處理系統中各個模塊的數據,利用C語言編程完成整個系統不同模塊的控制。對驅動板控制以及傳感器數據處理是組成該系統的核心。根據兩輪自平衡車的特性,使用加速度傳感器以及陀螺儀兩種慣性導航傳感器來采集車體的傾角姿態信息,空心杯直流減速電機自帶光電編碼器用以采集電機速度信息。主控制芯片采用ATmega16微控制器來完成對數據采集以及處理、對車體姿態計算和判斷、空心杯直流減速電機控制及其他外圍的控制等功能。
根據系統要求,兩輪車必須要能夠在無外界干預下依靠一對平行的車輪保持平衡,并完成前進,后退,左右轉彎等動作。分析系統要求可知,保持兩輪車的直立和運動的動力都來自于車子的兩只車輪,車輪由兩只空心杯直流減速電機組成。驅動器采用差動驅動方式。因此,從控制角度來看,可以將小車作為一個控制對象,控制輸入量是兩個車輪的轉動速度。整個控制系統可以分為三個子系統:
(1)兩輪車的平衡控制:以兩輪車傾角為輸入量,通過控制兩個電機的正反轉保持小車衡。
(2)兩輪車的速度控制:在保持平衡的基礎上,通過調節小車傾角實現對速度的控制,實際上還是演變為對電機的控制實現小車的速度控制。
(3)兩輪車的方向控制:通過控制兩個電機間的轉速不同實現轉向。
兩輪自平衡車直立和方向控制任務都是直接通過控制車模兩個驅動電機完成的,而速度控制則是通過調節小車傾角完成的。小車不同的傾角會引起車模的加減速,從而達到對小車速度的控制。三個子系統各自獨立進行控制。由于最終都是對同一個控制對象(小車的電機)進行控制,所以各個子系統之間存在著耦合。為了方便分析,在分析其中之一時,假設其它控制對象都已經達到穩定。比如在速度控制時,需要小車已經能夠保持直立控制;在方向控制時,需要小車能夠保持平衡和速度恒定;同樣,在小車平衡控制時,也需要速度和方向控制已經達到平穩。這三個任務是保持小車平衡是關鍵。由于小車同時受到三種控制的影響,從小車平衡控制的角度來看,其它兩個控制就成為干擾。因此對小車速度、方向的控制應該盡量保持平滑,以減少對平衡控制的干擾。以速度調節為例,需要通過改變車模平衡控制中小車傾角設定值,從而改變車模實際傾斜角度,達到速度控制的要求。為了避免影響車模平衡控制,這個車模傾角的改變需要非常緩慢的進行。其中平衡控制是系統的最基本要求,也是整個控制系統的難點。
一個傾角環,一個車速環。角速度傳感器(陀螺儀)IDG500(經過硬件RC濾波,再接入ADC)、加速度傳感器ADXL322,二者kalman融合取得角度、角速度。本文對傳感器兩者所采集的數據進行了卡爾曼濾波優化處理,補償陀螺儀的漂移誤差和加速度計的動態誤差,得到一個更優的傾角近似值?;谠谶^程控制中,PID控制器一直是應用最為廣泛的一種自動控制器,它解決了自動控制理論所要解決的最基本問題,既系統的穩定性、快速性和準確性,調節PID的參數,可實現在系統穩定的前提下,兼顧系統的帶載能力和抗擾能力。同時在PID調節器中引入積分項,系統增加了一個零積點,使之成為一階或一階以上的系統。這樣系統階躍響應的穩態誤差就為零。本文采用PID算法運用卡爾曼濾波得出的更優傾角近似值,求出驅動電機的占空比,來實現兩輪自平衡電動車姿態的平衡控制,采用卡爾曼濾波來優化車體姿態,提高兩輪自平衡電動車的控制精度。結構框架如圖1-1所示。

圖1-1 程序結構框架
整定方法如下:
(1)調角度K值,調至平衡車基本能夠站立。
(2)調角速度K值,從零慢慢增加,這個K很小。太小的話,車子反應遲鈍,好像沒有這項一樣,太大的話,車子抗擾能力變差,所以需要大量測試細心調至適當位置。
(3)調水平速度K值的時候,要注意獲得的車速的精確性,同時城需要做好車速的低通濾波。濾波做好了,車速調節效果就很好,算位移的時候就很精確,不會有太快的漂移。
(4)位移K值也應該很小,因為是速度的累計,慢慢的漂移會變大,設定一個上下限,是為了防止漂移過大造成控制量過大。K值參數如表1-1所示。

表1-1 K值參數
本文主要研究兩輪平衡車的設計與實現。通過相應硬件與軟件的設計,實現了兩輪平衡車的動態平衡與運動控制。
系統硬件結構以ATMEL公司8位單片機Atmega16為控制核心,采用MEMS陀螺儀IDG500及MEMS加速度計ADXL322構成了慣性姿態檢測系統,通過MOS管組成的H橋電機驅動及旋轉編碼器實現了直流電機的閉環調速,最終實現了兩輪平衡車的姿態檢測與平衡控制。以及在保持兩輪平衡的基礎上可以實現前進、后退、轉彎等基本動作。
參考文獻
[1]林文建,鐘杭,黎福海等.兩輪自平衡機器人控制系統設計與實現[J].電子測量與儀器學報,2013.8.
[2]莊曉燕,王厚軍.基于卡爾曼濾波器的IEEE 1588時鐘同步算法[J].電子測量與儀器學報,2012(09).
[3]楊興明,余忠宇.兩輪移動倒立擺的開關切換模糊極點配置控制器設計[J]. 電路與系統學報, 2012(04).
作者簡介:
朱劍芳(1981-),講師,主要研究方向:電子技術應用,智能測控。