張 坤,于志明,劉雨青,翟曉東
(上海海洋大學(xué) 工程學(xué)院,上海201306)
兩輪自平衡車無線調(diào)參裝置的設(shè)計(jì)
張 坤,于志明,劉雨青,翟曉東
(上海海洋大學(xué) 工程學(xué)院,上海201306)
針對目前國內(nèi)兩輪自平衡車在直立調(diào)試過程中比較繁瑣困難的研究現(xiàn)狀,設(shè)計(jì)了一種兩輪自平衡車無線調(diào)參裝置,主要采用PD控制算法、nRF24L01的無線調(diào)參模塊以及LABVIEW上位機(jī)顯示姿態(tài)曲線,可以實(shí)時對兩輪自平衡車在直立過程中的姿態(tài)進(jìn)行判斷并調(diào)整參數(shù),且可以迅速地看到調(diào)整后的變化。本文對系統(tǒng)進(jìn)行了軟硬件設(shè)計(jì),經(jīng)過實(shí)驗(yàn)室調(diào)試,有效的實(shí)現(xiàn)了兩輪自平衡車的實(shí)時調(diào)控。
兩輪自平衡車;nRF24L01無線調(diào)參;PD算法;上位機(jī)
兩輪自平衡車是當(dāng)今機(jī)器人研究領(lǐng)域的一個重要分支,它是集機(jī)械學(xué),動力學(xué),微型計(jì)算機(jī),傳感器,微電子技術(shù),通訊技術(shù),自動控制技術(shù)于一身的研究性課題,具有能夠感知外界環(huán)境變化和以及做出相應(yīng)的動態(tài)決策的功能[1]。一般情況下,兩輪自平衡車的調(diào)試需反復(fù)經(jīng)過參數(shù)修改、程序燒錄、直立狀態(tài)調(diào)試三步才能實(shí)現(xiàn),此方法不僅浪費(fèi)時間,而且會降低芯片的可擦除性及使用壽命。因此,文中設(shè)計(jì)了一種兩輪自平衡車無線調(diào)試裝置,該裝置通過無線收發(fā)模塊傳遞數(shù)據(jù),在上位機(jī)調(diào)參軟件中實(shí)時觀察兩輪自平衡車姿態(tài)等參數(shù)的細(xì)微變化,及時修改姿態(tài)等控制參數(shù),無線傳送到兩輪自平衡車終端,實(shí)現(xiàn)無線調(diào)參的功能。另外,該調(diào)參軟件還能顯示小數(shù),并將數(shù)據(jù)存儲下來,用于后續(xù)分析。該實(shí)驗(yàn)裝置成本低、調(diào)試方便,通信穩(wěn)定可靠,省時省力,可延長了芯片的使用壽命。
兩輪自平衡車無線調(diào)試裝置主要由STC12C5A60S2主控芯片(簡稱STC12)、nRF24L01無線模塊、電平轉(zhuǎn)換模塊和上位機(jī)模塊四部分組成,其中STC12芯片和無線控制模塊在上位機(jī)控制端和直立平衡小車上均有搭載,系統(tǒng)結(jié)構(gòu)如圖1所示。該系統(tǒng)是將STC12主控芯片采集的兩輪自平衡車的姿態(tài)信息發(fā)送到無線模塊A,無線模塊B接收到數(shù)據(jù)后先傳給接收端的STC12單片機(jī),然后再經(jīng)電平轉(zhuǎn)換模塊,通過串口傳給上位機(jī),上位機(jī)的調(diào)參軟件就可以顯示姿態(tài)等數(shù)據(jù)。
在兩輪車直立調(diào)試的過程中,可通過觀察分析上位機(jī)調(diào)試軟件中兩輪車各參數(shù)信息,判斷是否需要修改姿態(tài)控制參數(shù)。當(dāng)需要調(diào)整參數(shù)時,通過在上位機(jī)調(diào)參軟件中修改相關(guān)參數(shù),經(jīng)過電平轉(zhuǎn)換模塊到達(dá)無線模塊B,無線模塊A接收到數(shù)據(jù)后傳給兩輪車上的STC12控制芯片,實(shí)現(xiàn)兩輪自平衡車控制參數(shù)的實(shí)時調(diào)試。該裝置利用兩個無線模塊A和B取代了平衡車與上位機(jī)接口之間的串口線,省去了接線的麻煩,有利于兩輪車的直立。
圖1 系統(tǒng)結(jié)構(gòu)圖
本系統(tǒng)采用Nordic公司的nRF24L01射頻芯片,RF24L01無線傳輸模塊工作在2.4~2.5 GHz的ISM頻段,此芯片是集頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等于一體[2]。此芯片利用FIFO寄存器與各種高低速微處理器和SPI的接口協(xié)議來控制nRF24L01的通訊[3],采用 QFN20封裝,且能耗低,方便集成到各種電子器件中[4]。兩片STC12C5A60S2單片機(jī)分別作為兩輪車與上位機(jī)模塊的控制核心。兩片單片機(jī)除了需要控制與無線模塊A和B的數(shù)據(jù)通信外,STC12單片機(jī)B仍需控制與上位機(jī)PC數(shù)據(jù)通信。整個系統(tǒng)的硬件設(shè)計(jì)分為上位機(jī)子系統(tǒng)和下位機(jī)子系統(tǒng)兩個部分,主要包括無線模塊與上位機(jī)PC的連接,及無線通訊模塊與下位機(jī)STC12單片機(jī)的連接。
2.1 上位機(jī)子系統(tǒng)硬件連接
本系統(tǒng)采用 STC12C5A60S2單片機(jī)與上位機(jī)PC連接實(shí)現(xiàn)參數(shù)的調(diào)整。STC12C5A60S2單片機(jī)與傳統(tǒng)的AT89C51系列單片機(jī)指令完全兼容,具有高速、低功耗以及抗干擾性能強(qiáng)等優(yōu)點(diǎn)[5]。該型號單片機(jī)擁60KB的程序存儲器ROM和1280字節(jié)的數(shù)據(jù)存儲器RAM[6],完全能滿足本無線調(diào)控系統(tǒng)的軟件設(shè)計(jì)要求,其處理速度是傳統(tǒng)51單片機(jī)的8到12倍,對于以后進(jìn)行功能拓展非常方便容易。故選擇STC12C5A60S2單片機(jī)作為本系統(tǒng)的無線傳輸和數(shù)據(jù)處理平臺。
STC12芯片與無線模塊nRF24L01采用串口通訊[7]。由于單片機(jī)輸出信號為TTL電平,上位機(jī)識別信號類型為RS232電平,因此本文選用電平轉(zhuǎn)換模塊CH340芯片進(jìn)行STC12單片機(jī)與上位機(jī)之間的TTL電平和RS232電平的轉(zhuǎn)換。此芯片擁有全雙工串口,內(nèi)置收發(fā)緩沖區(qū)和上電復(fù)位電路,這就為信號的穩(wěn)定傳輸?shù)於嘶A(chǔ),在本裝置中只需給TTL提供3.3V電壓,TXD和RXD用于數(shù)據(jù)通訊[8]。STC12芯片與無線模塊及上位機(jī)的連接電路如圖2所示,箭頭代表數(shù)據(jù)傳輸?shù)姆较颉?/p>
圖2 STC12與NRF24L01及上位機(jī)的硬件接口
2.2 下位機(jī)子系統(tǒng)硬件連接
下位機(jī)系統(tǒng)主要包括nRF24L01無線模塊,STC12單片機(jī)系統(tǒng),控制電機(jī)。由于單片機(jī)輸出電壓不足以驅(qū)動兩輪自平衡車電機(jī)轉(zhuǎn)動,因此系統(tǒng)采用TB6612FNG直流電機(jī)驅(qū)動模塊對兩輪車左右兩輪進(jìn)行驅(qū)動。TB6612FNG采用SSOP24小型貼片封裝,雙通道電路輸出,可同時驅(qū)動2個電機(jī)[9]。
根據(jù)上位機(jī)顯示的兩輪自平衡車擺動曲線波形,判斷需要改變輸入的參數(shù)時,本系統(tǒng)只需將修改的參數(shù)值寫入發(fā)送緩沖區(qū)內(nèi)即可,通過上位機(jī)部分的無線發(fā)送模塊將修改的參數(shù)傳輸?shù)较挛粰C(jī)的無線接收裝置,并通過串口通訊將其收到的數(shù)據(jù)傳到下位機(jī)的主控STC12芯片內(nèi),即可實(shí)現(xiàn)參數(shù)調(diào)整。下位機(jī)的硬件連接圖如圖3所示。
本系統(tǒng)的軟件設(shè)計(jì)包括調(diào)參軟件,STC12C5A60S2串口通訊和nRF24L01無線通信網(wǎng)絡(luò)的建立3部分,分別采用LABVIEW ,USB轉(zhuǎn)串口,SPI實(shí)現(xiàn)。
圖3 下位機(jī)的硬件連接圖
3.1 系統(tǒng)的整體結(jié)構(gòu)
系統(tǒng)整體軟件設(shè)計(jì)流程圖如圖4所示,通過三軸陀螺儀和三軸加速度計(jì)傳感器采集兩輪自平衡車的姿態(tài)信息建立上下位機(jī)的無線網(wǎng)絡(luò)通訊模式[10],實(shí)現(xiàn)兩輪自平衡車運(yùn)行狀態(tài)的調(diào)整。本系統(tǒng)采用一階互補(bǔ)濾波算法[11-12]對兩輪自平衡車進(jìn)行控制,即:
式中pwm_r,pwm_l分別為左右電機(jī)的轉(zhuǎn)速值,Kp是角度的比例參數(shù)值,Kd為角加速度的微分系數(shù)值,angle,gyro分別為三軸陀螺儀模塊測得的角度值和角加速度值。
圖4 系統(tǒng)整體軟件設(shè)計(jì)流程圖
此算法主要是將上位機(jī)發(fā)送的Kp和Kd值[13]與姿態(tài)采集模塊所采集到的角度值和角加速度值相乘,得到的值作為電機(jī)的PWM值,從而保證電機(jī)的實(shí)時響應(yīng)。
由于兩輪自平衡車主要檢測對像為角度angle值,因此系統(tǒng)將得到的兩輪自平衡車的角度值通過數(shù)據(jù)傳輸通道傳到上位機(jī)里進(jìn)行圖像顯示,上位機(jī)通過數(shù)據(jù)傳輸通道將Kp和Kd值發(fā)送給下位機(jī)進(jìn)行參數(shù)修改,根據(jù)公式1即可實(shí)時計(jì)算出給電機(jī)的偏量,實(shí)現(xiàn)兩輪自平衡車的實(shí)時控制。
3.2 調(diào)參軟件
上位機(jī)的調(diào)參軟件采用LABVIEW 6.3編程設(shè)計(jì),LABVIEW是一款圖像化編程語言的開發(fā)環(huán)境,采用圖像化事件驅(qū)動編程模式,有大量的模塊可以調(diào)用,只需通過簡單的連線即可達(dá)到預(yù)計(jì)效果,而且數(shù)據(jù)通訊穩(wěn)定[14-15]。調(diào)參軟件的上位機(jī)界面如圖5所示。
圖5 上位機(jī)調(diào)參軟件界面
當(dāng)輸入TTL串口,配置波特率為9600 bit/s后,按下“開始運(yùn)行”按鈕即可顯示出下位機(jī)傳來的角度數(shù)據(jù)曲線圖,根據(jù)該數(shù)據(jù)曲線圖可觀察兩輪自平衡車的偏轉(zhuǎn)狀態(tài),并判斷是否需要修改相關(guān)參數(shù)。當(dāng)需要修改相關(guān)參數(shù)時,通過選中發(fā)送界面,并輸入需要修改的參數(shù)值,保存之后即可將數(shù)據(jù)無線傳送給平衡車,完成參數(shù)修改的任務(wù)。
文中設(shè)計(jì)了一種兩輪自平衡車通過無線方式調(diào)節(jié)直立狀態(tài)的裝置,利用 STC12單片機(jī)芯片、無線模塊nRF24L01和上位機(jī)等實(shí)現(xiàn)了兩輪自平衡車姿態(tài)信息的采集、發(fā)送、顯示和控制參數(shù)的調(diào)整。本系統(tǒng)設(shè)計(jì)的調(diào)參軟件既可以顯示和存儲自平衡車的實(shí)時運(yùn)行曲線,又可以及時發(fā)送和調(diào)整自平衡車的相關(guān)控制參數(shù),使兩輪車快速響應(yīng),保證了其姿態(tài)的平衡。經(jīng)實(shí)驗(yàn)室調(diào)試,該裝置界面友好、操作方便、可靠性高、實(shí)時性強(qiáng)、適于推廣和應(yīng)用。
[1]楊興明,丁學(xué)明,張培仁,等.兩輪移動式倒立擺的運(yùn)動控制 [J].合肥工業(yè)大學(xué)學(xué)報(bào),2005,28(11):1485-1488.
[2]李文明,毛曉波.基于C8051單片機(jī)的無線心電監(jiān)護(hù)系統(tǒng)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2009,17(9):27-28.
[3]怯肇乾,陳永超.ARM-Linux-SPI設(shè)備的添加與驅(qū)動實(shí)現(xiàn)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2012,12(4):80-81.
[4]李輝,宋詩,周建江.基于ARM和nRF24L01的無線數(shù)據(jù)傳輸系統(tǒng)[J].國外電子元器件,2008,12:44-45.
[5]李巍,于復(fù)生,李琦.基于STC系列單片機(jī)的串行通信[J].現(xiàn)代制造技術(shù)與裝備,2007,6:60-61.
[6]秦相林,張海兵,張盈盈.基于STC12C5A60S2的無線溫度采集系統(tǒng)設(shè)計(jì)[J].哈爾濱商業(yè)大學(xué)學(xué)報(bào),2001,27(6):838-839.
[7]王三勝,顧彪.一種簡單的光電隔離RS-232電平轉(zhuǎn)換接口設(shè)計(jì)[J].電測與儀表,2001,38(1):44-45.
[8]楊鳳彪,王超,張晨光.基于CH341A的USB串口通訊設(shè)計(jì)[J].電子設(shè)計(jì)工程,2011,19(3):11-12.
[9]王建平,盧杉,武歡歡.TB6612FNG在直流電機(jī)控制設(shè)計(jì)中的應(yīng)用[J].電子設(shè)計(jì)工程,2010,18(6):65-66.
[10]邊群星,陳錕,陳鄭州.基于互補(bǔ)濾波器的兩輪平衡車姿態(tài)角度測量[J].電子設(shè)計(jì)工程,2014,22(18):55-56.
[11]梁光勝,杜夢楠,周子豪,等.基于互補(bǔ)濾波的兩輪自平衡車姿態(tài)控制[J].測控技術(shù),2015,34(5):73-74.
[12]黃軍友.基于PID控制的X模式四旋翼飛行器研究[J].電子設(shè)計(jì)工程,2014,22(2):127-128.
[13]劉二林,姜香菊.基于PD算法的兩輪自平衡車直立控制[J].自動化與儀器儀表,2015,1:203-204.
[14]侯國平.Lab VIEW7.1編程與虛擬儀器設(shè)計(jì)[M].北京:清華大學(xué)出版社,2005.
[15]呂向鋒,高洪林,馬亮,等.基于LABVIEW串口通信的研究[J].國外電子測量技術(shù),2009,28(12):27-28.
The design of two-wheeled self-balancing vehicle wireless tuning parameter device
ZHANG Kun,YU Zhi-ming,LIU Yu-qing,ZHAI Xiao-dong
(College of Engineering Science and Technology,Shanghai Ocean University,Shanghai 201306,China)
In view of the process of Two-Wheeled Self-Balancing Vehicle vertical debugging is more trouble and difficult in the domestic research,this paper used a kind of Two-Wheeled Self-Balancing Vehicle Wireless tuning parameter device which mainly used the PD control algorithm,nRF24L01 wireless tuning parameter and LABVIEW PC display profile curve to verdict the posture of upright process of Two-Wheeled Self-Balancing Vehicle dynamically and adjust parameter,then could quickly see changes after the adjustment.In this paper,the system hardware and software design are given,After?many times'debugging in the laboratory,the system has efficiently implemented the real-time control of Two-Wheeled Self-Balancing Vehicle.
two-wheeled self-balancing vehicle;nRF24L01 wireless tuning parameter ;PD control algorithm;PC
TN919.5
:A
:1674-6236(2017)13-0190-04
2016-05-23稿件編號:201605211
上海市大學(xué)生創(chuàng)新訓(xùn)練項(xiàng)目資助(A1-2035-15-0028);上海海洋大學(xué)教學(xué)團(tuán)隊(duì)建設(shè)項(xiàng)目(B1-5003-15-000106)
張 坤(1994—),男,安徽臨泉人。研究方向:自動控制技術(shù)。