《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 兩輪自平衡小車控制系統(tǒng)的設計
兩輪自平衡小車控制系統(tǒng)的設計
2014年微型機與應用第11期
陳業(yè)偉,劉海剛,項華珍,鄒治方,歐 翹
五邑大學 信息工程學院,廣東 江門
摘要: 近年來,隨著經(jīng)濟的不斷發(fā)展和城市人口的日益增長,城市交通阻塞以及耗能、污染問題成為了一個困擾人們的心病。新型交通工具的誕生顯得尤為重要,兩輪自平衡小車應運而生,其以行走靈活、便利、節(jié)能等特點得到了很大的發(fā)展。但是,昂貴的成本還是令人望而止步,成為它暫時無法廣泛推廣的一個重要原因。因此,開展對兩輪自平衡車的深入研究,不僅對改善平衡車的性價比有著重要意義,同時也對提高我國在該領域的科研水平、擴展機器人的應用背景等具有重要的理論及現(xiàn)實意義。全國大學生飛思卡爾智能車競賽與時俱進,第七屆電磁組小車首次采用了兩輪小車,模擬兩輪自平衡電動智能車的運行機理。在此基礎上,第八屆光電組小車再次采用兩輪小車作為控制系統(tǒng)的載體。小車設計內(nèi)容涵蓋了控制、模式識別、傳感技術、汽車電子、電氣、計算機、機械及能源等多個學科的知識。
Abstract:
Key words :

  摘  要: 介紹了兩輪自平衡小車控制系統(tǒng)的設計與實現(xiàn),系統(tǒng)以飛思卡爾公司的16位微控制器MC9S12XS128MAL作為核心控制單元,利用加速度傳感器MMA7361測量重力加速度的分量,即小車的實時傾角,以及利用陀螺儀ENC-03MB測量小車的實時角速度,并利用光電編碼器采集小車的前進速度,實現(xiàn)了小車的平衡和速度控制。在小車可以保持兩輪自平衡前提下,采用攝像頭CCD-TSL1401作為路徑識別傳感器,實時采集賽道信息,并通過左右輪差速控制轉彎,使小車始終沿著賽道中線運行。實驗表明,該控制系統(tǒng)能較好地控制小車平衡快速地跟隨跑道運行,具有一定的實用性。

  關鍵詞: 控制;自平衡;實時性

  近年來,隨著經(jīng)濟的不斷發(fā)展和城市人口的日益增長,城市交通阻塞以及耗能、污染問題成為了一個困擾人們的心病。新型交通工具的誕生顯得尤為重要,兩輪自平衡小車應運而生,其以行走靈活、便利、節(jié)能等特點得到了很大的發(fā)展。但是,昂貴的成本還是令人望而止步,成為它暫時無法廣泛推廣的一個重要原因。因此,開展對兩輪自平衡車的深入研究,不僅對改善平衡車的性價比有著重要意義,同時也對提高我國在該領域的科研水平、擴展機器人的應用背景等具有重要的理論及現(xiàn)實意義。全國大學生飛思卡爾智能車競賽與時俱進,第七屆電磁組小車首次采用了兩輪小車,模擬兩輪自平衡電動智能車的運行機理。在此基礎上,第八屆光電組小車再次采用兩輪小車作為控制系統(tǒng)的載體。小車設計內(nèi)容涵蓋了控制、模式識別、傳感技術、汽車電子、電氣、計算機、機械及能源等多個學科的知識。

  1 小車控制系統(tǒng)總體方案

  小車以16位單片機MC9S12XS128MAL作為中央控制單元,用陀螺儀和加速度傳感器分別檢測小車的加速度和傾斜角度[1],以線性CCD采集小車行走時的賽道信息,最終通過三者的數(shù)據(jù)融合,作為直流電機的輸入量,從而驅動直流電機的差速運轉,實現(xiàn)小車的自動循軌功能。同時,為了更方便、及時地觀察小車行走時數(shù)據(jù)的變化,并且對數(shù)據(jù)作出正確的處理,本系統(tǒng)調試時需要無線模塊和上位機的配合。小車控制系統(tǒng)總體架構如圖1所示。

Z~]UEI1[$Z8UAIXRT_$78OC.jpg

  2 小車控制系統(tǒng)自平衡原理

  兩輪小車能夠實現(xiàn)自平衡功能,并且在受到一定外力的干擾下,仍能保持直立狀態(tài),是小車可以沿著賽道自動循線行走的先決條件。為了更好地控制小車的行走方式,得到最優(yōu)的行走路徑,需要對小車分模塊分析與控制。

  本控制系統(tǒng)維持小車直立和運行的動力都來自小車的兩個輪子,輪子轉動由兩個直流電機驅動。小車作為一個控制對象,它的控制輸入量是兩個電機的轉動速度。小車運動控制可以分解成以下3個基本控制任務。

  (1)小車平衡控制:通過控制兩個電機正反方向運動保持小車直立平衡狀態(tài);

  (2)小車速度控制:通過調節(jié)小車的傾斜角度來實現(xiàn)小車速度控制,本質上是通過控制電機的轉速來實現(xiàn)小車速度的控制。

  (3)小車方向控制:通過控制兩個電機之間的轉動差速實現(xiàn)小車轉向控制。

  2.1 小車平衡控制

  要想實現(xiàn)小車的平衡控制,需要采取負反饋控制方式[2]。當小車偏離平衡點時,通過控制電機驅動電機實現(xiàn)加、減速,從而抵消小車傾斜的趨勢,便可以保持車體平衡。即當小車有向前傾的趨勢時,可以使電機正向加速,給小車一個向前的加速度,在回復力和阻尼力的作用下,小車不至于向前傾倒;當小車有向后傾的趨勢時,可以使小車反向加速,給小車一個向后的加速度,從而不會讓小車向后傾倒,如圖2所示。

WH0`CRKU)@(I9Y8KHS$I%87.jpg

  從上述的定性分析可知,在運動過程中小車會不斷地在平衡點附近來回擺動,如果控制不當,來回擺動的幅度會很大。顯然,這樣的控制不能滿足兩輪小車的實際要求,小車更無法按照賽道快速運行。為使小車可以在平衡點附近很好地保持平衡,需要對小車的加速度等進行嚴格地定量分析和計算。

  直立著的小車能簡化成放置在可以左右移動平臺上的倒立著的單擺[3]。從圖3可知,小車在偏離平衡位置時無法在不受外力的情況下穩(wěn)定在平衡位置,是因為小車受到的回復力F=mgsinθ與小車位移偏離的方向相同,這樣會加速使小車向偏離平衡的位置倒下。要想小車可以穩(wěn)定在平衡位置,必須給小車額外增加一個和回復力相反方向的力。如果產(chǎn)生一個與小車偏離方向相同的加速度a,使小車受到額外的力F額外=-macosθ,此時小車所受到的合力為F合=mgsinθ-macosθ。只要F合<0,即F合的方向與小車偏離平衡位置的方向相反,小車就擁有了回復平衡位置的趨勢,進而在空氣阻力以及小車機械阻力的作用下,可以在一個平衡點穩(wěn)定下來。

  2.2 小車速度控制

  兩輪小車速度控制相對于4輪小車要復雜得多,因為在改變小車速度時,還需要保證小車可以實現(xiàn)平衡控制[4]。在保持小車平衡的前提下,采取改變小車傾角的方式來改變小車的速度。在一定范圍內(nèi),當小車向前傾的角度越大時,小車前進的速度越大;當小車向后傾的角度越大時,小車前進的速度越小。

  即使小車在直立控制調節(jié)下已經(jīng)能夠保持平衡,但由于安裝誤差的存在,傳感器測量的角度與小車實際角度存在偏差,因此小車實際會在重力的作用下,朝傾斜的方向加速前進。故需要外加速度負反饋以控制小車穩(wěn)定在平衡位置。速度控制的任務主要有以下3個。

  (1)小車速度的測量;

 ?。?)通過小車直立控制實現(xiàn)小車傾角的改變;

  (3)根據(jù)速度誤差控制小車傾角。

  小車速度的測量可以通過安裝在電機輸出軸上的光電編碼器來實現(xiàn)。本系統(tǒng)采用的是100線的編碼器,即編碼器上面的齒輪轉一圈,編碼器可以輸出100個脈沖。再利用單片機具有輸入捕捉功能的引腳PT7對該脈沖進行采樣。在固定時間內(nèi),輸出脈沖越多,小車的速度就越快,這樣就可以測量出小車的速度。

  小車傾角的控制所示系統(tǒng)實現(xiàn)。從小車直立控制算法中可知,小車的傾斜角度與加速度計Z軸測量輸出的角度成比例線性關系[5]。因此,設置一個傾角給定值,小車的傾角給定值與重力加速度Z軸角度相減,便可以最終決定小車的傾角,再通過誤差的比例-積分控制使角度自動維持在設定值附近,最后再利用角速度和角度作為輸入量,制作一個比例-積分控制器,從而驅動電機維持車模保持給定的傾角。

  理論上,當小車向前傾角為45°時,速度為2 m/s[2]。但是在實際控制中,由于小車機械傳動方面的阻尼力以及輪子的摩擦力等因素的影響,小車無法達到理論要求。為了解決這些干擾對小車速度的影響,需要采用速度負反饋的控制策略,形成一個閉環(huán)控制系統(tǒng)。

  2.3 小車方向控制

  為使車模沿著賽道行駛,必須檢測賽道信息。本系統(tǒng)采用線性攝像頭CCD-TSL1401實時采集賽道信息。TSL1401CL是由一個128×1的光電二極管陣列、電荷放大器電路和內(nèi)部的像素數(shù)據(jù)保存器組成。它保存了從起始到停止時間的所有像素。操作簡單,內(nèi)部控制邏輯只需要串行輸入信號SI和時鐘CLK信號[6]。CCD檢測采集賽道信息視角圖如圖所示。

JM87Y(YFNNJ`E9$FS7KBWBO.jpg

  CCD提取賽道信息后,將小車速度控制信號與直立控制信號綜合,與賽道偏差檢測信號進行加和減運算,形成左右輪差動控制電壓,使得小車左右輪運行角速度不一致進而控制小車方向,如圖7所示。

  3 小車控制系統(tǒng)算法編程

  小車的程序控制幾乎都是在1 ms時間的中斷里完成,主函數(shù)只是在不斷地通過串口向上位機發(fā)送數(shù)據(jù),進行實時監(jiān)控。其中,中斷程序分別完成了小車的直立控制、速度控制和方向控制,通過全局標志量的循環(huán)計數(shù),確定每次小車需要調用執(zhí)行的程序模塊。中斷函數(shù)的實現(xiàn)如圖所示。

)IYCRCV}@S`$$]P5L{(T54I.jpg

  其中,小車的直立控制是本系統(tǒng)設計與實現(xiàn)的關鍵,角度計算和轉換函數(shù)的實現(xiàn)如下所示。

  void AngleCalculate(void)

  {

  float fDeltaValue;

  g_fGravityAngle=(VOLTAGE_GRAVITY-

  GRAVITY_OFFSET)*

  GRAVITY_ANGLE_RATIO;

  //加速度傳感器計算出來的角度值

  g_fGravityAngle=LOW_PASS_Acce(g_fGravityAngle);

  //低通濾波

  g_fGyroscopeAngleSpeed=(VOLTAGE_GYRO-

  GYROSCOPE_OFFSET)*

  GYROSCOPE_ANGLE_RATIO;

  //陀螺儀計算出來的角速度值

  g_fGyroscopeAngleSpeed=LOW_PASS_Gyro

  (g_fGyroscopeAngleSpeed);//低通濾波

  g_fCarAngle=g_fGyroscopeAngleIntegral;

  fDeltaValue=(g_fGravityAngle-g_fCarAngle)

  /GRAVITY_ADJUST_TIME_CONSTANT;

  //用加速度傳感器得到的角度與陀螺儀的偏差,糾正陀螺儀的輸出

  g_fGyroscopeAngleIntegral+=(g_fGyroscopeAngleSpeed+

  fDeltaValue)/

  GYROSCOPE_ANGLE_SIGMA_FREQUENCY;

  }

  本文介紹了直立行走小車控制系統(tǒng)的實現(xiàn)原理,通過對小車的平衡控制、速度控制和方向控制,實現(xiàn)了小車的直立行走與自動循軌的功能。在本系統(tǒng)的設計與制作過程中,不僅是對控制系統(tǒng)的實現(xiàn)原理的分析,還是對傳感器的合理使用,都為開展對兩輪自平衡車的深入研究提供了寶貴的實踐經(jīng)驗。此外,在2013年舉行的全國大學生飛思卡爾智能車競賽中,此作品參加了華南賽區(qū)比賽,并榮獲三等獎。實踐證明,本系統(tǒng)的設計具有一定的實際價值。

  參考文獻

  [1] 第七屆全國大學生“飛思卡爾”杯智能汽車競賽 電磁組直立行車參考設計方案 [R].飛思卡爾杯智能汽車競賽秘書處,2012.

  [2] 胡壽松.自動控制原理(第五版)[M].北京:科學出版社,2007.

  [3] 周小仨.兩輪自平衡電動車核心控制算法的選擇[J].辦公自動化,2013,252(4):56-57.

  [4] 張啟秋,蔡雄友,葉駿輝,等.兩輪自平衡智能小車控制系統(tǒng)的設計與實現(xiàn)[J].五邑大學學報(自然科學版),2013,27(3):57-60.

  [5] 劉海剛,宋一標,陳恒偉,等.單軸兩輪自平衡小車姿態(tài)控制系統(tǒng)設計[J].工業(yè)控制計算機,2013,26(9):16-18.

  [6] 王俊,許林,岳東,等.基于CCD的兩輪自平衡智能車系統(tǒng)設計[J].信息技術,2013(8):179-185.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。