基于C8051F040的模型車無線控制系統(tǒng)的設(shè)計
0 引 言
汽車耐久性試驗是汽車試驗的重要組成部分,而在試驗過程中試驗人員駕駛行為的變化,往往導(dǎo)致實驗結(jié)果不一致,從而降低了實驗數(shù)據(jù)的有效性。因此各大汽車公司相繼采用駕駛機(jī)器人代替試驗人員進(jìn)行汽車試驗。利用駕駛機(jī)器人進(jìn)行試驗對于減輕人類勞動強(qiáng)度,降低試驗環(huán)境對試驗人員的傷害,提高試驗效率、試驗結(jié)果的客觀性和準(zhǔn)確度,節(jié)省試驗費用,進(jìn)而加速汽車研發(fā)進(jìn)度都有重要的意義。
為了測試駕駛機(jī)器人以及駕駛算法的可靠性,必須有一個仿真駕駛系統(tǒng)能滿足駕駛機(jī)器人的要求。本文所設(shè)計模型車無線控制系統(tǒng)則是實現(xiàn)機(jī)器人仿真駕駛的主要環(huán)節(jié),為駕駛機(jī)器人及其駕駛算法提供了實驗平臺。
系統(tǒng)采用了1:10電動模型車,速度的調(diào)節(jié)由電子調(diào)速器和一個無刷直流電機(jī)來完成,通過舵機(jī)對前輪的控制來完成模型車的轉(zhuǎn)向。上位機(jī)的控制信號經(jīng)由ZigBee無線收發(fā)模塊傳輸給控制核心C8051F040,單片機(jī)根據(jù)上層的運動命令發(fā)送對應(yīng)的PWM信號給電子調(diào)速器和轉(zhuǎn)向舵機(jī),實現(xiàn)對模型車運動的控制。
1 系統(tǒng)框架
系統(tǒng)采用模塊化設(shè)計,主要由單片機(jī)、無線收發(fā)模塊、測速反饋、電子調(diào)速器、無刷電機(jī)、轉(zhuǎn)向舵機(jī)和上位機(jī)組成。如圖1所示。
2 硬件設(shè)計、
2.1 無線模塊硬件設(shè)計
無線收發(fā)模塊通過ZigBee技術(shù)實現(xiàn)了微處理器與上位機(jī)的通訊,是上位機(jī)與模型車運動控制模塊的中間節(jié)點。通過該模塊,上層控制命令可以發(fā)送到微處理器上,同時微處理器反饋此時的速度信號與轉(zhuǎn)角信號給上層控制臺。
該模塊選用了TI公司推出的CC2431芯片。CC2431采用增強(qiáng)型8051 MCU,32/64/128 KB閃存,8 KB SRAM等高性能模塊,并內(nèi)置了ZigBee協(xié)議棧且支持2.4 GHz IEEE 802.15.4/ZigBee協(xié)議。圖2所示為無線模塊的硬件電路示意圖,以CC24.31芯片為核心。天線采用非平衡天線,為了能使天線更好地工作,要采用非平衡變壓器來連接天線。非平衡變壓器由電阻R1,R2,電感L1,L2,電容C1和PCB微波傳輸線構(gòu)成。
其中,R1,R2的阻值為電波波長入的一半,即λ/2。L1,L2的電感值分別為22 nH和8.2 nH,它們不僅是非平衡變壓器的組成部分,還為片內(nèi)的低噪聲放大器(LNA)和功率放大器(PA)提供所需的直流偏置。整個天線系統(tǒng)的等效電阻為50Ω,滿足RF輸入/輸出匹配電阻的要求。[!--empirenews.page--]
2.2 控制模塊硬件設(shè)計
控制模塊使用的是Silabs公司的C8051F040單片機(jī)作為系統(tǒng)的微處理器進(jìn)行電機(jī)的控制及系統(tǒng)的其他處理工作。
控制模塊硬件圖如圖3所示(僅畫出使用的引腳)。主電機(jī)選擇了7.2 V的無刷直流電機(jī)。由于有刷電機(jī)換向是通過碳刷及整流子,但是碳刷及整流子在電機(jī)轉(zhuǎn)動時會產(chǎn)生火花,碳粉因此會造成組件損壞,而無刷直流電機(jī)是用電路來進(jìn)行換向的且體積小、易控制,因此不存在這些問題。無刷直流電動機(jī)是以自控式運行的,所以不會像變頻調(diào)速下重載啟動的同步電機(jī)那樣在轉(zhuǎn)子上另加啟動繞組,也不會在負(fù)載突變時產(chǎn)生振蕩和失步。
無刷直流電機(jī)構(gòu)造復(fù)雜,因此對它的直接控制通過電子變速器來實現(xiàn)。根據(jù)單片機(jī)PWM信號的占空比來控制電子調(diào)速器中MOSFET的導(dǎo)通關(guān)斷時間從而控制電流,達(dá)到控制電機(jī)轉(zhuǎn)速的目的。這種方法具有電流大,輸出電流線性度高等優(yōu)點,使電機(jī)的效率得到提高。
模型車的轉(zhuǎn)角控制是用一個舵機(jī)實現(xiàn)的。舵機(jī)的控制簡單、輸出力矩大、輸出角度精確、工作電壓低,非常適合用于模型車的轉(zhuǎn)角控制。舵機(jī)內(nèi)部有一套精密的減速齒輪組,直流電機(jī)的輸出經(jīng)這套減速齒輪減速后輸出。單片機(jī)輸出PwM信號來控制舵機(jī)的轉(zhuǎn)角,該信號進(jìn)入舵機(jī)內(nèi)部的信號調(diào)制芯片獲得直流偏置電壓,將此直流偏置電壓與內(nèi)部一個標(biāo)準(zhǔn)電路產(chǎn)生的周期為20 ms寬度為1.5 ms的基準(zhǔn)電壓比較,獲得電壓差輸出。電壓差的正負(fù)輸出到電機(jī)驅(qū)動芯片決定電機(jī)的正反轉(zhuǎn)。當(dāng)電機(jī)轉(zhuǎn)速一定時,通過級聯(lián)減速齒輪帶動電位器旋轉(zhuǎn),使得電壓差為0,電機(jī)停止轉(zhuǎn)動。
系統(tǒng)的電源采用了7.2 V的電池,而C8051F040的高電平是3.3 V,因此需要進(jìn)行電平轉(zhuǎn)換。本系統(tǒng)使用的是貼片式的LM1117進(jìn)行電平轉(zhuǎn)換。如圖4所示,由于該芯片的輸入、輸出的允許壓降很小,所以用了兩片規(guī)格不同的LM1117實現(xiàn)兩級電平轉(zhuǎn)換,中間再串聯(lián)二極管,利用二極管的固有壓降來滿足芯片的壓降要求。
3 軟件設(shè)計
3.1 無線模塊軟件設(shè)計
無線模塊應(yīng)用程序是將上位機(jī)的運動控制信號發(fā)送給電機(jī)控制模塊,另外還要把微處理器的電機(jī)控制量上傳給上位機(jī)。復(fù)位時進(jìn)行系統(tǒng)初始化并開中斷,置標(biāo)志位ST,完成后系統(tǒng)進(jìn)入休眠模式(ST=00)。當(dāng)上位機(jī)有數(shù)據(jù)采集要求時,通過串口與之通信,此時將會觸發(fā)系統(tǒng)的串口中斷激活系統(tǒng)。隨后,中斷服務(wù)程序?qū)⑾到y(tǒng)置為發(fā)送命令狀態(tài)(即ST=01),先解析命令信號,接著將命令信號打包發(fā)送出去,發(fā)送成功后將進(jìn)入等待接收數(shù)據(jù)模式(即ST=10)。此后,如果有數(shù)據(jù)發(fā)送過來,底層將數(shù)據(jù)上交到應(yīng)用層后,就直接將數(shù)據(jù)通過串口上傳給上位機(jī),完成一次數(shù)據(jù)傳輸。其程序流程如圖5所示。
[!--empirenews.page--]
3.2 電機(jī)控制模塊軟件設(shè)計
該模塊的軟件設(shè)計流程如圖6所示。
上電復(fù)位后,首先完成單片機(jī)的初始化,包括看門狗初始化,輸出口定義,交叉開關(guān)配置,配置時鐘寄存器,T0時鐘控制器。C8051F040單片機(jī)資源豐富,但基于51內(nèi)核(特殊功能寄存器只有128個),其很多特殊功能寄存器便不能安排下,于是采用了分頁機(jī)制。所以在配置不同的寄存器時,要先使用選擇分頁。單片機(jī)內(nèi)使用中斷方式產(chǎn)生PWM信號,定時單位設(shè)為0.01 ms,初始信號為周期16 ms,高電平時間1.5 ms,high0,high1分別控制速度控制波形和轉(zhuǎn)角控制波形的高電平時間。當(dāng)接收到啟動信號后,P1.0,P1.1接收速度信號,P1.3,P1.4接收轉(zhuǎn)角信號。
4 結(jié) 語
本文設(shè)計了以C8051F040為控制核心的仿真平臺,通過與上位機(jī)的通信,可以很好地滿足機(jī)器人仿真駕駛的要求。系統(tǒng)采用上位機(jī)無線控制物理模型的方式,使得仿真駕駛更加安全可靠。該系統(tǒng)具有很好的拓展性,通過無線通信,可以增加更多的數(shù)據(jù)采集系統(tǒng)用以反饋信息給上位機(jī),拓展了該平臺的應(yīng)用范圍。如增加定位反饋系統(tǒng),則上位機(jī)可以屏蔽物理模型的運動進(jìn)行算法模擬及試驗。在參數(shù)方面,可以增加高精度的測定反饋系統(tǒng),通過與上位機(jī)保持實時的通信來滿足更高的仿真要求。