陳振偉, 張 立
(1.安徽礦業(yè)職業(yè)技術(shù)學(xué)院 自動(dòng)化與信息工程系,安徽 淮北 235000;2.淮北煤電技師學(xué)院 自動(dòng)化與信息工程系,安徽 淮北 235000)
考慮上述因素,越來(lái)越多的體積較小、環(huán)保、節(jié)能型自平衡車(chē)被社會(huì)大眾所認(rèn)可。自平衡電動(dòng)車(chē)是響應(yīng)全球節(jié)能減排宗旨,能夠?qū)o(wú)人自動(dòng)駕駛技術(shù)與機(jī)器人技術(shù)完美結(jié)合,不僅具有微型電動(dòng)車(chē)的優(yōu)點(diǎn),而且還具有智能控制等特點(diǎn)。
自平衡電動(dòng)車(chē)由于其具有智能控制和純電力動(dòng)力、零排放、體積小、靈活性強(qiáng)、時(shí)速低等特點(diǎn)而越來(lái)越適應(yīng)社會(huì)發(fā)展的需要,具有廣闊的應(yīng)用前景。
兩輪循跡自平衡車(chē)控制單元系統(tǒng)采用飛思卡爾的16位微控制器MC9S12XS128單片機(jī)作為核心用于智能汽車(chē)系統(tǒng)的控制。線(xiàn)性CCD采集賽道明暗信息,返回到單片機(jī)作為轉(zhuǎn)向控制的依據(jù)。加速度計(jì)返回的模擬信號(hào)作為車(chē)身當(dāng)前角度的信號(hào),陀螺儀采集車(chē)身轉(zhuǎn)動(dòng)的角速度[1]。主控輸出PWM波控制電機(jī)的轉(zhuǎn)速以保持車(chē)身的平衡和鎖定賽道。同四輪車(chē)不同,平衡車(chē)需要使用左右輪的差速來(lái)轉(zhuǎn)彎。為了控制的準(zhǔn)確性和快速性,使用編碼器作為速度傳感器。編碼器返回的信號(hào)可以形成閉環(huán),使用PID控制電機(jī)轉(zhuǎn)速。平衡車(chē)強(qiáng)烈的加減速會(huì)導(dǎo)致車(chē)身的傾角劇烈的變化,這并不利于車(chē)身保持平衡。因此,整個(gè)調(diào)試過(guò)程就是要在保證車(chē)身穩(wěn)定的前提下不斷提高自平衡車(chē)前進(jìn)的平均速度。
根據(jù)以上系統(tǒng)方案設(shè)計(jì),自平衡車(chē)共包括6大模塊:主控模塊采用飛思卡爾MC9S12XS128芯片、電源模塊、傳感器模塊、電機(jī)驅(qū)動(dòng)模塊、速度檢測(cè)模塊和輔助調(diào)試模塊。電源模塊為整個(gè)系統(tǒng)提供合適而又穩(wěn)定的電源。
以MC9S12XS128為核心的單片機(jī)最小系統(tǒng)是本平衡車(chē)的核心。
主控模塊(飛思卡爾MC9S12XS128芯片)作為整個(gè)自平衡車(chē)的“大腦”,將采集CCD傳感器、加速度計(jì)、陀螺儀和光電編碼器等傳感器的信號(hào),根據(jù)控制算法做出控制決策,驅(qū)動(dòng)兩個(gè)直流電機(jī)完成對(duì)平衡車(chē)的控制。
圖1 主控芯片最小系統(tǒng)電路
電機(jī)驅(qū)動(dòng)模塊驅(qū)動(dòng)直流電機(jī)和伺服電機(jī)完成智能汽車(chē)的加減速控制和轉(zhuǎn)向控制;電機(jī)采用芯片BTS7970,其應(yīng)用非常簡(jiǎn)單,只需要向芯片第2引腳輸入PWM波就能控制。當(dāng)系統(tǒng)中只需要單向控制時(shí),讓電機(jī)一端接地,另一端接BTS7960第4引腳。如果需要電機(jī)雙向旋轉(zhuǎn)控制,則需要另一片BTS7960共同組成全橋。由于小車(chē)使用雙電機(jī),所以使用4片BTS7970構(gòu)成兩個(gè)全橋分別控制兩個(gè)電機(jī)。
速度檢測(cè)模塊檢測(cè)反饋智能汽車(chē)輪的轉(zhuǎn)速,用于速度的閉環(huán)控制;本車(chē)使用歐姆龍300P/R的光電編碼器對(duì)車(chē)速進(jìn)行測(cè)量,以保證測(cè)量精度,并且直接有方向輸出,使用方便。LM2940-5為其提供5V工作電壓。由于飛思卡爾單片機(jī)芯片MC9S12XS128只有一個(gè)脈沖計(jì)數(shù)器,我們采用分時(shí)復(fù)用的方式對(duì)左右兩輪計(jì)數(shù)。
緱衛(wèi)軍[10]以鉬酸銨和硫化鈉為原料,聚乙二醇為分散劑,在鹽酸水溶液中通過(guò)水合熱法合成了類(lèi)似于富勒烯型的MoS2納米微球,其直徑在30~60 nm之間,該方法制備出的MoS2納米微球外表堅(jiān)硬,物化性能穩(wěn)定,然而所得產(chǎn)物大小不均。
傳感器模塊是智能汽車(chē)的“眼睛”,可以通過(guò)一定的前瞻性,提前感知前方的賽道信息,為智能汽車(chē)的“大腦”做出決策提供必要的依據(jù)和充足的反應(yīng)時(shí)間,同時(shí),使用陀螺儀和加速度計(jì)計(jì)算車(chē)模行進(jìn)過(guò)程中的實(shí)時(shí)角速度和加速度信息,用以保持車(chē)模穩(wěn)定行進(jìn)[2]。
加速度傳感器可以測(cè)量由地球引力作用或者物體運(yùn)動(dòng)所產(chǎn)生的加速度,文中采用的是飛思卡爾公司的MMA7260加速度傳感器,該系列的傳感器采用了半導(dǎo)體微機(jī)械加工和集成電路技術(shù),通過(guò)集成的開(kāi)關(guān)電容放大電路量測(cè)電容參數(shù)的變化,形成了與加速度成正比的電壓輸出,具有體積小、重量輕、低g值、三軸測(cè)量等優(yōu)點(diǎn)。
由于加速度傳感器采用低g值的傳感器MMA7260,它的輸出信號(hào)很大,不需要再進(jìn)行放大[3]。其中MMA7260可以測(cè)量3個(gè)方向的加速度,文中只需要測(cè)量其中一個(gè)方向的加速度值,即Z軸方向上的加速度信號(hào)。車(chē)模直立時(shí),固定加速度計(jì)在Z軸水平方向。當(dāng)車(chē)模發(fā)生傾斜時(shí),重力加速度g會(huì)在Z軸方向形成加速的分量,從而引起該軸輸出電壓變化,如下式所示:
式中:g——重力加速度;
θ——車(chē)模傾角;
k——加速度傳感器的靈敏度系數(shù)。
當(dāng)傾角非常小時(shí),輸出電壓的變化可以近似與傾角成正比,只需要加速度就可以獲得車(chē)模的傾角,再對(duì)此角度進(jìn)行微分,即得到傾角速度。但車(chē)模實(shí)際運(yùn)行過(guò)程中,由于車(chē)模本身的擺動(dòng)所產(chǎn)生的加速度會(huì)產(chǎn)生很大的干擾信號(hào),它疊加在測(cè)量信號(hào)上使得輸出的信號(hào)無(wú)法準(zhǔn)確反映車(chē)模的傾角,因此,對(duì)于小車(chē)直立控制所需要的傾角角度和角速度需要通過(guò)另外一種傳感器獲得,即陀螺儀。
直立平衡循跡小車(chē)的硬件電路設(shè)計(jì)已完成,其能否正常穩(wěn)定的運(yùn)行,還需要通過(guò)編寫(xiě)與硬件電路相適應(yīng)的控制軟件。軟件的編寫(xiě)任務(wù)是保證車(chē)模運(yùn)行,主要包括配置主控單片機(jī)資源,初步編寫(xiě)程序框架;建立軟件編譯、下載、調(diào)試的環(huán)境;編程實(shí)現(xiàn)各個(gè)子模塊的功能等。
軟件的主要功能有:3個(gè)傳感器信號(hào)的采集、處理;電機(jī)的PWM輸出;車(chē)模的直立控制、速度控制、方向控制。
軟件控制流程為:程序的初始化、啟動(dòng)與結(jié)束、狀態(tài)監(jiān)控[4]。
程序上電后,先對(duì)運(yùn)用到的單片機(jī)模塊進(jìn)行初始化,完成初始化后,進(jìn)行直立檢測(cè)子程序,程序?qū)⒆x取加速度計(jì)數(shù)值判斷小車(chē)是否直立,若直立,則進(jìn)入中斷服務(wù)程序進(jìn)行速度控制、方向控制,同時(shí),判斷小車(chē)傾斜角度是否超過(guò)一定范圍,確定小車(chē)是否跌倒,若跌倒,則停止運(yùn)行,重新進(jìn)行小車(chē)直立檢測(cè)子程序。程序在這個(gè)主循環(huán)中不斷將這些數(shù)據(jù)由串口發(fā)送到上位機(jī)進(jìn)行監(jiān)測(cè)。直立控制、速度控制、方向控制是在中斷程序中完成的,其主要讀取和清除電機(jī)脈沖計(jì)數(shù)器數(shù)值,積累電機(jī)脈沖總數(shù);進(jìn)行20次模擬量的采集,計(jì)算各AD轉(zhuǎn)換通道模擬量的平均值;計(jì)算小車(chē)傾斜角度和直立控制量,電機(jī)PWM輸出;讀取電磁場(chǎng)檢波數(shù)值,計(jì)算偏差數(shù)值等。
陀螺儀加速度計(jì)采集處理程序:
可以選用5V工作電壓的300線(xiàn)歐姆龍光電編碼器進(jìn)行速度的測(cè)量,保證測(cè)量的精度[5]。速度傳感器用螺釘通過(guò)支架固定在后輪支架上,這樣固定好之后,就有了較高的穩(wěn)定性。然后調(diào)節(jié)編碼器齒輪,使其與差速齒輪緊密咬合,增大測(cè)速的精確性,但是咬合過(guò)緊也增大了摩擦,減小了對(duì)電機(jī)做功的利用率,影響小車(chē)的快速行駛[6],因此,減小摩擦同時(shí)增強(qiáng)齒輪間的咬合是我們主要考慮的因素。用齒輪潤(rùn)滑油涂抹齒輪有不錯(cuò)效果。
本設(shè)計(jì)中陀螺儀采用的是村田公司的ENC-03系列的陀螺儀。平衡車(chē)在行進(jìn)過(guò)程中,車(chē)體僅繞兩后輪的軸心線(xiàn)做轉(zhuǎn)動(dòng)[7]。芯片外觀(guān)是長(zhǎng)方形的,安裝時(shí)應(yīng)注意將長(zhǎng)的一邊與后輪軸心線(xiàn)平行。此外,還應(yīng)注意的是陀螺儀的輸出受溫度的影響比較大,為避免環(huán)境溫度變化對(duì)輸出的影響,我們將陀螺儀和加速度計(jì)作為一個(gè)單獨(dú)的模塊,采用FFC線(xiàn)與主板連接,安裝在車(chē)身的背面[8]。
與陀螺儀一樣,加速度傳感器的性能與安放位置也有很大的關(guān)系。加速度傳感器是根據(jù)其XYZ軸上的模擬輸出電壓來(lái)確定車(chē)身的傾角[9]。由于測(cè)量的傾角只有一個(gè),所以可以使用Z軸的輸出來(lái)計(jì)算,當(dāng)小車(chē)傾角為0時(shí),Z軸對(duì)應(yīng)的面應(yīng)該處于水平。
通過(guò)CodeWarrior編譯軟件的在線(xiàn)調(diào)試功能,可以得到大量的信息,為平衡車(chē)的調(diào)試提供了較大的方便。
綜合來(lái)看,自平衡車(chē)包括硬件和軟件部分。文中研究的兩輪自平衡循跡小車(chē)受到各國(guó)科學(xué)界的重視,成為自動(dòng)控制領(lǐng)域的熱點(diǎn),具有廣泛的應(yīng)用前景。
[1] 王俊,許林,岳東,等.基于CCD的兩輪自平衡智能車(chē)系統(tǒng)設(shè)計(jì)[J].信息技術(shù),2013(8):181-182.
[2] 嚴(yán)起邦,譚峰,張洪來(lái).基于xs128的光電平衡智能車(chē)系統(tǒng)設(shè)計(jì)[J].科技創(chuàng)新與應(yīng)用,2014,20:17-18.
[3] 李大朋,曹?chē)?guó)華,陳佶言.基于STM32單片機(jī)驅(qū)動(dòng)面陣CCD實(shí)時(shí)圖像顯示的研究[J].長(zhǎng)春理工大學(xué)學(xué)報(bào):自然科學(xué)版,2014(1):37-40.
[4] 段其昌,袁洪躍,金旭東.兩輪自平衡車(chē)無(wú)速度傳感器平衡控制仿真研究[J].控制工程,2013,20(4):619-620.
[5] 鄭曉偉.基于DSP的兩輪自平衡小車(chē)系統(tǒng)的研究[J].工業(yè)控制計(jì)算機(jī),2012,25(9):34.
[6] 李虹瑤,馮開(kāi)凱,李慶源.自平衡小車(chē)原理研究[J].硅谷,2012(18):26.
[7] 董錕,韓帥,孫繼龍,等.兩輪自平衡智能車(chē)系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2013,13(1):72-73.
[8] 周牡丹,康愷,蔡普郎,等.兩輪自平衡車(chē)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化技術(shù)與應(yīng)用,2014,10:4-8.
[9] 劉二林,姜香菊.基于卡爾曼濾波的兩輪自平衡車(chē)姿態(tài)檢測(cè)[J].自動(dòng)化與儀器儀表,2015(2):52-54.