摘 要: 智能車(chē)設(shè)計(jì)中遠(yuǎn)程端及控制端采用單片機(jī)作為主控制器,遠(yuǎn)程端即小車(chē)端接收到控制端發(fā)送過(guò)來(lái)的控制信號(hào),實(shí)現(xiàn)自身轉(zhuǎn)向、姿態(tài)變換等動(dòng)作,姿態(tài)傳感器安裝在人的手背上作為控制端,通過(guò)無(wú)線裝置將相關(guān)參數(shù)傳輸?shù)叫≤?chē)上的接收裝置,接收器接收到相應(yīng)參數(shù)后,處理器執(zhí)行相應(yīng)濾波算法,發(fā)送指令,從而實(shí)現(xiàn)遠(yuǎn)程遙控。設(shè)計(jì)中按照低功耗、高精度原則進(jìn)行器件選型,主控制器部分、電機(jī)驅(qū)動(dòng)等硬件電路設(shè)計(jì)力求經(jīng)濟(jì)性和精簡(jiǎn)性。軟件設(shè)計(jì)充分發(fā)揮軟件控制靈活方便的特點(diǎn),實(shí)現(xiàn)了小車(chē)的平穩(wěn)性和精確變換姿態(tài)等功能,所實(shí)現(xiàn)的智能車(chē)可應(yīng)用于醫(yī)療、娛樂(lè)等各個(gè)領(lǐng)域。
關(guān)鍵詞: 體感控制; 智能車(chē); 陀螺儀; 無(wú)線傳輸
中圖分類(lèi)號(hào): TN710?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)03?0155?04
Design of smart car based on motion sensing control
CHEN Yumin1, XIE Wei1, MENG Xianmin2
(1. College of Information, Harbin Institute of Technology at Weihai, Weihai 264209, China; 2. Shandong Kaer Electric Co., Ltd., Weihai 264209, China)
Abstract: The MCU is taken as the main controller of the remote end and control end in the design of smart car. The car in the remote end can receive the control signal transmitted from the control end to realize the actions of self?turning and attitude transform. The attitude sensor is mounted on the back of the hand as the control end, and transmits the relevant parameters to the receiving device of the car by wireless transmitters. The controller executes the corresponding filtering algorithm after receiving the relevant parameters, and sends instructions to realize remote control. The devices are selected according to the principles of low power consumption and high precision in the design. The hardware circuit design including master controller and motor drive should conform to the requirement of economy and simplification. The software design gives full play to the characteristics of the flexible software control to implement the functions of stability and accurate attitude transform of the car. The implemented smart car can be applied to the medical treatment, entertainment, and other fields.
Keywords: motion sensing control; smart car; gyroscope; wirelless transmission
伴隨汽車(chē)工業(yè)蓬勃發(fā)展,體感遙控車(chē)設(shè)計(jì)剛處于起步階段,在電子設(shè)計(jì)的智能化領(lǐng)域中,應(yīng)用單片機(jī)控制、遠(yuǎn)程遙控等各種技術(shù) [1?2]。體感控制小車(chē)即人們可以使用肢體動(dòng)作直接控制遠(yuǎn)程端的小車(chē)做出各種姿態(tài)的變化。本設(shè)計(jì)中將遙控控制端安裝在人的手背上,通過(guò)人手的姿態(tài)變化得到小車(chē)的姿態(tài)控制信號(hào),最終實(shí)現(xiàn)小車(chē)的遠(yuǎn)程控制。增加使用者較高的用戶體驗(yàn),增強(qiáng)小車(chē)的實(shí)用性,在控制端安裝了無(wú)線發(fā)射裝置,在小車(chē)端安裝了無(wú)線接收器。其設(shè)計(jì)思想可以應(yīng)用在醫(yī)療、娛樂(lè)等領(lǐng)域,例如體感控制的輪椅和體感控制的游戲。
1 體感遙控智能車(chē)的整體設(shè)計(jì)方案
1.1 體感遙控智能車(chē)實(shí)現(xiàn)功能
體感控制小車(chē)是對(duì)兩輪自平衡車(chē)或者自平衡平臺(tái)的一種延續(xù)和擴(kuò)展應(yīng)用。通過(guò)增加遙控控制端得到小車(chē)的控制信號(hào),即將姿態(tài)采集器安裝在手背上,為了減少控制端的體積和質(zhì)量,設(shè)計(jì)無(wú)線控制模塊傳輸參數(shù)。小車(chē)端可以實(shí)現(xiàn)獨(dú)立行走,當(dāng)接收到遙控端信號(hào)時(shí)實(shí)現(xiàn)自身相應(yīng)的姿態(tài)變化。
1.2 總體方案設(shè)計(jì)
根據(jù)需要設(shè)計(jì)的功能,控制端分為單片機(jī)、無(wú)線傳輸模塊、姿態(tài)傳感器;小車(chē)端分為測(cè)距模塊、電機(jī)驅(qū)動(dòng)模塊、液晶顯示模塊及無(wú)線傳輸模塊,系統(tǒng)模塊圖如圖1所示。其中,直流電機(jī)的速度使用PWM方式控制,使用89C52的定時(shí)器1,它是16位定時(shí)器,通過(guò)定時(shí)輸出周期變化的矩形波,加載矩形波到電機(jī)上,為了實(shí)現(xiàn)兩個(gè)電機(jī)的無(wú)差速控制,需要對(duì)小車(chē)增加測(cè)量裝置以實(shí)現(xiàn)閉環(huán)控制。
2 硬件結(jié)構(gòu)
2.1 單片機(jī)模塊
本設(shè)計(jì)采用的主控制芯片為STC公司生產(chǎn)的嵌入式微處理器STC89C52RC單片機(jī)。STC89C52RC單片機(jī)是新一代高速、超強(qiáng)抗干擾、低功耗的單片機(jī)[3?4]。指令代碼與傳統(tǒng)STC8051單片機(jī)完全兼容,片上RAM有集成的512 B,工作電壓為5 V,32個(gè)通用I/O口,可作為看門(mén)狗或E2PROM使用,使用中無(wú)需專(zhuān)用編程器或仿真器,應(yīng)用串口直接下載用戶程序,有3個(gè)16位定時(shí)器/計(jì)數(shù)器及4路外部中斷,具有外部中斷喚醒功能和低功耗, STC89C52RC單片機(jī)運(yùn)行可靠性好、速度高、性價(jià)比高。
2.2 電機(jī)驅(qū)動(dòng)模塊
直流電機(jī)采用直流電機(jī)驅(qū)動(dòng)芯片L298,驅(qū)動(dòng)電流可達(dá)1.2 A,外圍器件較簡(jiǎn)單。選用兩個(gè)減速電機(jī),通過(guò)PWM控制電機(jī)的轉(zhuǎn)速,通過(guò)單片機(jī)輸出高、低電平控制小車(chē)的前進(jìn)、左轉(zhuǎn)、右轉(zhuǎn)、后退。P0.0與P0.1引腳控制A電機(jī),P0.2與P0.3引腳控制B電機(jī)。電機(jī)驅(qū)動(dòng)控制表如表1所示。
2.3 無(wú)線傳輸模塊
無(wú)線傳輸模塊使用NORDIC公司生產(chǎn)的nRF24L01[5?6]。其工作頻段在2.4~2.5 GHz,可選擇設(shè)置SPI接口進(jìn)行控制,傳輸速率可為1 Mb/s或2 Mb/s,其正常工作兼容電平為3.3 V,由于本設(shè)計(jì)中單片機(jī)輸出電平為5 V,為使無(wú)線模塊正常傳輸,需要設(shè)計(jì)電壓轉(zhuǎn)化電路,如圖2所示。
2.4 超聲波測(cè)距模塊
超聲波傳感器通過(guò)發(fā)送一個(gè)超聲波和提供一個(gè)對(duì)應(yīng)于爆裂回聲返回到傳感器所需時(shí)間的輸出脈沖來(lái)工作。程序流程如圖3所示,整個(gè)系統(tǒng)由信號(hào)發(fā)生電路和信號(hào)接收電路組成。單片機(jī)發(fā)出40 kHz的信號(hào)后,超聲波發(fā)射器輸出接收到的放大信號(hào),接收器接收到信號(hào)后,啟動(dòng)單片機(jī)程序測(cè)出傳輸時(shí)間,經(jīng)過(guò)計(jì)算得到距離數(shù)傳給顯示器顯示。
2.5 MPU6050模塊
MPU6050整合了3軸陀螺儀、3軸加速度傳感器等性能[7?8]。單片機(jī)與MPU6050進(jìn)行數(shù)據(jù)交換時(shí),采用I2C總線連接,其SCL和SDL兩個(gè)引腳與單片機(jī)的I/O口直接相連,其模塊原理圖如圖4所示。
MPU6050數(shù)據(jù)處理中,加速度計(jì)、陀螺儀主要用來(lái)檢測(cè)車(chē)體傾斜角和傾斜角的變化速度,在角度測(cè)量時(shí),除了小車(chē)角度變化的信號(hào)外,還伴隨著因車(chē)體運(yùn)動(dòng)而產(chǎn)生的噪聲,這個(gè)噪聲會(huì)隨著車(chē)體運(yùn)動(dòng)速度的增大而增加。本系統(tǒng)中采用微控制器循環(huán)采樣來(lái)獲取陀螺儀的角速率信息,這樣長(zhǎng)時(shí)間的工作輸出數(shù)據(jù)就會(huì)受到噪聲干擾。為了獲取車(chē)體傾角值的準(zhǔn)確值,需要對(duì)加速度計(jì)和陀螺儀的輸出進(jìn)行融合,本設(shè)計(jì)采用卡爾曼濾波的方法進(jìn)行數(shù)據(jù)融合,卡爾曼濾波是一種遞歸算法[9?10]。需要對(duì)[K]時(shí)刻車(chē)體的實(shí)際角度值估算。先根據(jù)[K-1]時(shí)刻角度預(yù)測(cè)值得到[K]時(shí)刻的角度值,再根據(jù)[K]時(shí)刻的預(yù)測(cè)角度值和高斯噪聲的方差,進(jìn)行遞歸運(yùn)算,直到得到最優(yōu)的遙控傾斜角度值。單片機(jī)通過(guò)I2C總線獲得的數(shù)據(jù)不能直接作為控制信號(hào)使用,需要對(duì)得到的數(shù)據(jù)進(jìn)行換算,以下為MPU6050姿態(tài)的變化坐標(biāo),如圖5所示。
俯仰角[α:]水平面和傳感器坐標(biāo)系[X]軸的夾角。當(dāng)[X]軸正半軸在過(guò)坐標(biāo)原點(diǎn)水平面上時(shí),俯仰角為正,反之為負(fù)。
偏航角[γ:]傳感器坐標(biāo)系的[X]軸的水平投影與地面坐標(biāo)系[X]軸(指向目標(biāo)為正)之間的夾角,設(shè)由[X]軸逆時(shí)針至投影時(shí)的偏航角為正,即向右偏航為正,反之為負(fù)。
滾轉(zhuǎn)角[β:]傳感器坐標(biāo)系[Z]軸與通過(guò)機(jī)體[x]軸的鉛垂面間的夾角。
分析后,對(duì)角速度積分得到傾斜角度:
采用卡爾曼濾波計(jì)算傾角:
進(jìn)行互補(bǔ)濾波。補(bǔ)償原理是取當(dāng)前傾角和加速度獲得傾角差值進(jìn)行放大,然后與陀螺儀角速度疊加后再積分,從而使傾角跟蹤為加速度獲得的角度,設(shè)0.5為放大倍數(shù),可調(diào)節(jié)補(bǔ)償度;
3 智能車(chē)硬件組裝與測(cè)試
3.1 硬件組裝
小車(chē)采用雙電機(jī)驅(qū)動(dòng)加萬(wàn)向輪結(jié)構(gòu),整體為三輪結(jié)構(gòu),小車(chē)整體重心偏后。小車(chē)的整體安裝需要對(duì)小車(chē)的硬件布局進(jìn)行合理規(guī)劃,使得小車(chē)的中心在三個(gè)輪的中心線上,并且盡量靠后,避免小車(chē)在突然啟停時(shí)前翻。通過(guò)多次修改調(diào)試,得到如圖6所示的小車(chē)結(jié)構(gòu)。遙控控制端采用手勢(shì)姿態(tài)控制小車(chē)行駛,將其直接安裝在手背上,如圖7所示。
3.2 系統(tǒng)測(cè)試
組裝好小車(chē)和遙控器后,對(duì)其進(jìn)行整體測(cè)試。手勢(shì)與對(duì)應(yīng)運(yùn)行姿態(tài)見(jiàn)表2。單片機(jī)寫(xiě)入程序后,按照表2中的動(dòng)作進(jìn)行測(cè)試,小車(chē)能按照手勢(shì)進(jìn)行姿態(tài)的變化,動(dòng)作準(zhǔn)確。
4 結(jié) 語(yǔ)
通過(guò)對(duì)體感控制進(jìn)行研究,選擇相關(guān)體感遙控器件和算法,設(shè)計(jì)了一款基于手勢(shì)控制的體感遙控器,并通過(guò)無(wú)線傳輸模塊對(duì)小車(chē)行駛進(jìn)行控制。通過(guò)軟硬件的設(shè)計(jì),并對(duì)小車(chē)硬件結(jié)構(gòu)進(jìn)行合理化布局,所設(shè)計(jì)成品可以為相關(guān)課題提供實(shí)驗(yàn)基礎(chǔ),例如:自平衡臺(tái)、兩輪自平衡小車(chē)等平衡裝置的設(shè)計(jì),同時(shí)也可以將其應(yīng)用到輪椅設(shè)計(jì)中,為人們帶來(lái)更大的便利。
參考文獻(xiàn)
[1] 楊曉迪,廖昕,古麗米拉·克孜爾別克,等.基于ARM的智能家居控制系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2015,38(8):93?95.
[2] 張?chǎng)危煳膭?,劉階萍,等.基于Kinect的智能花盆體感控制系統(tǒng)研究[J].機(jī)電工程,2014,31(9):1226?1230.
[3] 呂云芳,陳帥帥,郝興森,等.基于C51高級(jí)語(yǔ)言程序控制的智能循跡小車(chē)設(shè)計(jì)與實(shí)現(xiàn)[J].實(shí)驗(yàn)室研究與探索,2015,34(3):142?145.
[4] 王永喜,胡玫.基于單片機(jī)的電磁控制運(yùn)動(dòng)系統(tǒng)[J].自動(dòng)化與儀器儀表,2014(2):123?125.
[5] 陳暉,張軍國(guó),李默涵,等.基于STC89C52和nRF24L01的智能小車(chē)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(17):12?15.
[6] 李賀,程祥,曾令國(guó).基于nRF24L01芯片的近程無(wú)線通信系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2014,37(15):32?34.
[7] 賴(lài)義漢,王凱.基于MPU6050的雙輪平衡車(chē)控制系統(tǒng)設(shè)計(jì)[J].河南工程學(xué)院學(xué)報(bào)(自然科學(xué)版),2014,26(1):53?57.
[8] 李戰(zhàn)明,王曉萌.基于新型MEMS傳感器的老年人跌倒檢測(cè)系統(tǒng)設(shè)計(jì)[J].工業(yè)儀表與自動(dòng)化裝置,2014(4):52?55.
[9] 張建軍.基于改進(jìn)的擴(kuò)展卡爾曼濾波伺服系統(tǒng)建模技術(shù)研究[J].計(jì)算機(jī)應(yīng)用研究,2012,29(3):944?946.
[10] 高顯忠,侯中喜,王波.四元數(shù)卡爾曼濾波組合導(dǎo)航算法性能分析[J].控制理論與應(yīng)用,2013,30(2):171?176.