童友波
摘? ?要:文章采用德州儀器公司CC2530單片機為控制核心,利用MPU6050傳感器檢測車身的角度和加速度,采用PID算法調(diào)整小車平衡;利用光電傳感器達到自動尋跡等功能。除了具有尋常平衡小車的尋跡功能外,還利用CC2530單片機自帶的無線接收模塊,接收來自外界的無線控制信號,讓小車的啟??刂聘幼匀纾軌蚋玫剡m應(yīng)各種實際應(yīng)用。充分利用CC2530控制芯片的片上資源,降低成本。
關(guān)鍵詞:平衡小車;CC2530單片機;PID算法;尋跡;無線控制
智能平衡小車當(dāng)前主控芯片較為流行的型號有51系列單片機、意法半導(dǎo)體STM32F103系列以及飛思卡爾k60系列等,作為專業(yè)用途的控制芯片用作智能車主控芯片的情況很少出現(xiàn),本智能車采用物聯(lián)網(wǎng)中普遍使用的具有無線通信功能的芯片CC2530單片機,除了實現(xiàn)智能車自動尋跡功能外,還利用此芯片自帶的無線通信功能,增添智能小車無線控制,使物聯(lián)網(wǎng)專用單片機在實際應(yīng)用中充分利用其資源,提高教學(xué)的興趣性和實用性。結(jié)合物聯(lián)網(wǎng)專業(yè)開設(shè)相關(guān)課程,使人才培養(yǎng)方案更加豐富多彩[1]。
1? ? 系統(tǒng)整體設(shè)計
整個系統(tǒng)由主控芯片CC2530的核心模塊、電機驅(qū)動模塊、平衡模塊、尋跡模塊,編碼反饋模塊以及無線發(fā)射等模塊組成,總體系統(tǒng)結(jié)構(gòu)如圖1所示。
2? ? 硬件模塊設(shè)計
2.1? 主控電路設(shè)計
主控芯片采用德州儀器半導(dǎo)體公司的CC2530芯片,采用32 M晶體振蕩器作為時鐘信號源,同時,此款芯片自帶片上無線接收模塊,接收來自CC2530芯片發(fā)射的ZigBee無線信號,SMA天線接收信號穩(wěn)定可靠。該單片機輸入/輸出(Input/Output,I/O)口滿足系統(tǒng)設(shè)計要求,價格便宜、運行可靠,主控電路原理如圖2所示。
圖1? 系統(tǒng)總體框架
2.2? 直流電機驅(qū)動電路
CC2530單片機I/O引腳最大驅(qū)動電流為20 mA,其引腳無法直接驅(qū)動平衡小車的兩個直流電機,采用TB6612FNG作為電機驅(qū)動模塊,其模塊具有每個通道輸出最高1.2 A連續(xù)驅(qū)動電流的MOSFET-H橋結(jié)構(gòu),雙通道電路AO,BO輸出,啟動峰值電流達2 A/3.2 A(連續(xù)脈沖/單脈沖)??赏瑫r驅(qū)動平衡小車的兩個電機,根據(jù)TB6612FNG主要引腳功能可知,通過改變AIN,BIN四輸入引腳的電平有無來控制電機的正反轉(zhuǎn)以及停止動作,通過控制脈沖寬度調(diào)制(Pulse Width Modulation,PWM)A,PWMB的輸入來控制電機正反轉(zhuǎn)速度,從而實現(xiàn)平衡小車的平衡和循跡,在此模塊原理中,需要兩處不同的供電,一路是TB6612FNG自身內(nèi)部控制部分的VCC_3供電,另一路為TB6612FNGHN內(nèi)部H橋的VM主供電[2],其模塊原理如圖3所示。
圖3? 電機驅(qū)動電路
2.3? 平衡控制單元電路及平衡實現(xiàn)過程
在以CC2530單片機為核心的平衡控制單元中,保持小車靜止平衡系統(tǒng)的模塊由平衡數(shù)據(jù)采集模塊、電機驅(qū)動模塊以及編碼反饋模塊3部分組成。在平衡數(shù)據(jù)采集模塊中利用6軸MPU6050傳感器采集到小車當(dāng)前的角速度和加速度數(shù)據(jù),通過集成電路總線(Inter-Integrated Circuit,I2C)通信方式傳送給核心控制芯片,由于主控芯片(CC2530)沒有片上外設(shè)I2C模塊,所以采用兩個通用輸入輸出口模擬I2C通信來接收MPU6050傳送來的信號,其模塊電路設(shè)計如圖4所示。
圖4? 平衡數(shù)據(jù)采集電路
主控芯片接收來自MPU6050的角度數(shù)據(jù)與參考平衡數(shù)據(jù)(假定為零)進行比較控制,采用比例、積分和微分(Proportion Integral Differential,PID)算法輸出兩路PWM信號控制TB6612FNG來驅(qū)動電機,調(diào)整小車的初步直立姿態(tài),得到相應(yīng)的直立整定參數(shù),然后,在速度為零狀態(tài)下,小車直立調(diào)整數(shù)據(jù)由編碼反饋模塊實時采集小車車輪的轉(zhuǎn)速數(shù)據(jù)送達主控芯片,由主控芯片、平衡數(shù)據(jù)采集模塊、電機驅(qū)動模塊、編碼反饋模塊等形成閉環(huán)控制系統(tǒng),來保持小車在速度為零時的靜止直立平衡整定參數(shù)。在平衡控制單元中,編碼反饋模塊采用霍爾編碼器,其模塊輸出A,B相脈沖。由于主控芯片沒有在正交解碼片上外設(shè)硬件模塊,采用編碼器輸出的A相作為主控芯片的外部中斷觸發(fā)信號,使主控芯片執(zhí)行外部中斷服務(wù)函數(shù),在中斷服務(wù)函數(shù)中判斷B相的高低電平確定電機正反轉(zhuǎn)[4]。
2.4? 光電循跡模塊
光電尋跡模塊采用6對ITR20001-T紅外發(fā)射接收管作為平衡小車循跡的信號檢測頭,根據(jù)其內(nèi)部機構(gòu)可知,如果發(fā)射管發(fā)射的紅外線遇到黑色體時將被大部分吸收,遇到白色體時將被大量反射回來。接收管沒有接收到紅外信號時,其內(nèi)部光敏體阻值較大,由其與10 k電阻組成的串聯(lián)分壓電路輸出的分壓La,Lb,Lc,Ra,Rb,Rc為高電平,反之,6路輸出信號為低電平。為了確保信號的穩(wěn)定可靠,其6路紅外發(fā)射接收管信號分別送入兩對LM339芯片信號引腳,在其內(nèi)部裝有4個獨立的電壓表。當(dāng)“INx﹢”端電壓高于“INx﹣”端時,輸出管截止,相當(dāng)于輸出端開路。當(dāng)“INx﹣”端電壓高于“INx﹢”端時,輸出管飽和,相當(dāng)于輸出端接低電位。兩個輸入端電壓差別大于10 mV就能確保輸出能從一種狀態(tài)可靠地轉(zhuǎn)換到另一種狀態(tài),因此,把LM339用在弱信號檢測等場合是比較理想的。為了保證小車能夠順利通過較急的銳角彎道,采用了三級矯正的方法,使用了6個紅外傳感器,分別放置在左右兩側(cè),提高小車循跡校正能力[5],光電循跡模塊如圖5所示。
2.5? 無線發(fā)射模塊
無線發(fā)射模塊采用同款CC2530為核心的控制芯片,其內(nèi)部帶有RF內(nèi)核控制模擬無線電,通過芯片引腳:RF_N,RF_P把基于IEEE802.15.4協(xié)議的2.4 G直接序列擴頻頻譜信號通過天線發(fā)射到被控平衡小車來實現(xiàn)小車的啟停等控制。在無線發(fā)射模塊中,設(shè)計了SW1,SW2兩個控制按鍵來實現(xiàn)小車啟停功能,同時,設(shè)計4個LED燈來顯示按鍵控制操作結(jié)果。供電部分由于無線發(fā)射模塊是手持式設(shè)備,所以采用電池供電方式來實現(xiàn)持續(xù)供電[6],無線發(fā)射模塊如圖6所示。
3? ? 軟件設(shè)計
本系統(tǒng)采用C語言開發(fā),在IAR編譯器下調(diào)試并實現(xiàn)功能。軟件程序設(shè)計采用模塊化結(jié)構(gòu),系統(tǒng)程序設(shè)計流程如圖7—8所示。
在程序設(shè)計中,直立控制、速度控制需要精準(zhǔn)的時間,因此,需要開啟主控芯片的一個定時中斷功能來實現(xiàn)兩個控制實現(xiàn)以及二者之間的協(xié)調(diào)關(guān)系,對于循跡、顯示、參數(shù)設(shè)定等可以在主程序中完成。兩個主控部分與循跡、顯示等輔助部分相互通訊則采用全局變量來實現(xiàn)。在程序開發(fā)過程中,首先,系統(tǒng)外設(shè)初始化后,依據(jù)不同平衡小車機械安裝相關(guān)特點求出其直立平衡角度中值,結(jié)合6軸MPU6050傳感器采集的角速度以及加速度值,利用卡爾曼或者互補濾波求出平穩(wěn)的角度值,與角度中值得到角度偏差,再結(jié)合PD控制算法計算出平衡小車電機的PWM脈沖信號,控制電機達到初步平衡。要使小車達到很好的靜止直立效果,須結(jié)合電機碼盤采集到的電機轉(zhuǎn)速來控制小車在零速條件下的靜止直立效果,結(jié)合PI控制算法求出控制電機的PWM脈沖信號,達到小車最終靜止平衡。其次,給定小車不同的循跡速度,結(jié)合PI算法求出小車在平衡狀態(tài)的最大循跡速度。最后,依據(jù)兩組光電傳感器,左右兩組光電傳感器各由三級光電傳感器組成,當(dāng)左右光電組檢測到邊緣黑線時,單片機通過PWM脈沖控制兩個電機轉(zhuǎn)速來調(diào)整小車左右偏轉(zhuǎn),避免小車駛離跑道。當(dāng)小車行駛遇到轉(zhuǎn)角時,整定比例參數(shù),最終使小車達到最佳行駛狀態(tài),同時,在整個循跡過程中,能夠無線控制小車啟??刂埔约霸O(shè)定不同的目標(biāo)速度平穩(wěn)循跡[7]。
圖7? 系統(tǒng)平衡流程? ? ? ? ? ? ? ? 圖8? 系統(tǒng)循跡啟停控制流程
4? ? 系統(tǒng)測試
4.1? 單元模塊測試
在平衡小車整裝之前需要進行電機驅(qū)動模塊、6軸MPU6050傳感器數(shù)據(jù)采集模塊、光電循跡數(shù)據(jù)采集模塊、ZigBee無線控制模塊等單元測試,確保數(shù)據(jù)正確、采集靈敏及控制精準(zhǔn)。單元模塊測試是后續(xù)整機組裝測試的基礎(chǔ)。
4.2? 整機組裝測試
在平衡車整機組裝測試中,軟件參數(shù)整定是整個軟件測試的難點,需要不斷反復(fù)測試,由于平衡小車采用三環(huán)PID算法控制,在測試中可按照以下幾個步驟測試。
(1)在測試中先屏蔽速度環(huán)和轉(zhuǎn)向環(huán)控制算法,單獨測試直立環(huán),確定直立環(huán)控制參數(shù)。
(2)屏蔽轉(zhuǎn)向環(huán),開啟直立環(huán)與速度環(huán),確定速度環(huán)控制參數(shù)。
(3)開啟直立環(huán)、速度環(huán)、轉(zhuǎn)向環(huán),確定轉(zhuǎn)向環(huán)控制參數(shù)。
(4)在無線控制下的平衡車啟??刂茰y試。
在測試中,需要考慮到各個控制環(huán)的相互影響,避免整定的參數(shù)影響小車的正常運行,最終實現(xiàn)如圖9所示的自平衡循跡小車。
圖9? 平衡小車
5? ? 結(jié)語
采用CC2530控制芯片作為平衡小車的主控芯片,作為物聯(lián)網(wǎng)技術(shù)中無線傳輸及控制的專用芯片與通用單片機相比較,輸入、輸出端口資源較少,外設(shè)資源不夠豐富,在設(shè)計平衡小車中,合理分配外設(shè)資源是關(guān)鍵。同時,在硬件外設(shè)資源不能滿足的條件下,采用軟件模擬實現(xiàn)也是解決問題途徑之一。由于專用芯片自身的特點,制作的小車功能雖然有限,但能窮盡其資源,充分了解此專用芯片用途,對物聯(lián)網(wǎng)技術(shù)開發(fā)人員提供一定的技術(shù)參考,同時,也使物聯(lián)網(wǎng)人才培養(yǎng)方案更豐富多彩。
[參考文獻]
[1]楊瑞,董昌春.CC2530單片機技術(shù)與應(yīng)用[M].北京:機械工業(yè)出版社,2016.
[2]楊琳芳,楊黎.無線傳感網(wǎng)絡(luò)技術(shù)與應(yīng)用項目化教程[M].北京:機械工業(yè)出版社,2017.
[3]肖文超.基于51單片機的智能小車設(shè)計[J].工業(yè)控制計算機,2016(6):121-122.
[4]謝富珍,戈林發(fā).基于51單片機的智能小車設(shè)計[J].新余學(xué)院學(xué)報,2015(4):6-9.
[5]楊亞龍,劉金棟,孫玉環(huán),等.基于STC12C5410AD單片機的兩輪自平衡小車的系統(tǒng)設(shè)計[J].電子設(shè)計工程,2013(20):162-164.
[6]季鵬飛.基于STM32的兩輪自平衡小車控制系統(tǒng)設(shè)計[J].電子科技,2014(11):96-99,105.
[7]王素青,熊維堂.基于STM32的兩輪自平衡小車系統(tǒng)設(shè)計[J].實驗室研究與探索,2016(5):146-150.
Design of two-wheel balance car based on CC2530 control chip
Tong Youbo
(Hefei Technical College, Chaohu 238000, China)
Abstract:In this paper, CC2530 single chip microcomputer of Texas Instruments Company is used as the control core, MPU6050 sensor is used to detect the angle and acceleration of the car body, PID algorithm is used to adjust the balance of the car, photoelectric sensor is used to achieve the function of automatic tracing, and so on. In addition to the tracking function of the ordinary balance car, it also uses the wireless receiving module of CC2530 single chip microcomputer to receive the wireless control signal from the outside world, which makes the start and stop control of the car more comfortable and can better adapt to all kinds of practical applications. Make full use of CC2530 to control the on-chip resources and reduce the cost.
Key words:balance car; CC2530 single chip microcomputer; PID algorithm; tracing; wireless control