楊中興
遼寧建筑職業(yè)學(xué)院,遼寧遼陽 111000
智能車的研究是移動(dòng)服務(wù)機(jī)器人研究的一個(gè)重要分支,研究智能車控制系統(tǒng)的實(shí)時(shí)性和精確性具有重要的理論和實(shí)際意義[1]。隨著物聯(lián)網(wǎng)技術(shù)和人工智能的發(fā)展,智能技術(shù)的應(yīng)用也越來越廣泛,以智能車為代表的智能移動(dòng)設(shè)備不僅在工業(yè)智能化中得到了廣泛應(yīng)用,而且在智能家居中也受到大家的青睞[2]。本文所設(shè)計(jì)的巡檢智能車采用麥克納姆輪實(shí)現(xiàn)全向移動(dòng)控制,開發(fā)手機(jī)端應(yīng)用程序?qū)崿F(xiàn)對智能車的藍(lán)牙遙控,開發(fā)PS/2手柄遙控功能實(shí)現(xiàn)在WiFi環(huán)境下視頻圖傳。智能車的電控部分采用模塊化、積件化設(shè)計(jì)思路,主要包括電源板模塊、電機(jī)驅(qū)動(dòng)模塊、主控單元模塊、視頻單元模塊等。本文從結(jié)構(gòu)設(shè)計(jì)、硬件電路設(shè)計(jì)、軟件程序設(shè)計(jì)等方面介紹該巡檢智能車的設(shè)計(jì)方法。
該智能車的底盤結(jié)構(gòu)采用四驅(qū)加麥克納姆輪(以下簡稱麥輪)的設(shè)計(jì),相對全向輪而言,麥輪可以通過其轉(zhuǎn)速和安裝方法來合成在任意方向的合力,所以它可以讓車全方向移動(dòng)?;邴溳喖夹g(shù)的全方位運(yùn)動(dòng)設(shè)備可以實(shí)現(xiàn)前行、橫移、斜行、旋轉(zhuǎn)及其組合等運(yùn)動(dòng)方式。麥克納姆輪智能車非常適合在空間有限、作業(yè)通道狹窄的環(huán)境中應(yīng)用。麥輪的車需要4個(gè)電機(jī)單獨(dú)驅(qū)動(dòng)每個(gè)輪子,單獨(dú)驅(qū)動(dòng)每個(gè)電機(jī)既能夠提供足夠的動(dòng)力,更能夠獨(dú)立控制每個(gè)麥輪的轉(zhuǎn)向,形成多種轉(zhuǎn)向組合,從而實(shí)現(xiàn)小車的全向移動(dòng)控制。智能車的結(jié)構(gòu)圖如圖1所示。
智能車離不開電源,電源的穩(wěn)定、可靠是系統(tǒng)正常工作的前提。為使智能車能夠穩(wěn)定工作,首先需要設(shè)計(jì)一塊多路電源模塊。該電源模塊需要提供以下幾路電源:(1)智能車電機(jī)回路供電電源:智能車所用電機(jī)額定電壓通常范圍是+5~12 V,電機(jī)不同,額定工作電壓也不同,為了使電源模塊更具有通用性,要求電機(jī)供電能夠?qū)崿F(xiàn)電壓可調(diào)。智能車一般是雙電機(jī)或者四電機(jī)驅(qū)動(dòng),所以給電機(jī)供電至少需要提供雙路;(2)+5 V電源:+5 V是電路系統(tǒng)中最常見的電源電壓,是51系列單片機(jī)的工作電壓(宏晶公司新發(fā)布的IAP15系列單片機(jī)既可以工作在+5 V,也可以工作在+3.3 V),很多外圍器件也需要工作在+5 V,所以設(shè)計(jì)的電源模塊需要提供+5 V這一路電壓輸出;(3)+3.3 V電源:+3.3 V電壓是主流微處理器的工作電壓,也是藍(lán)牙模塊的工作電壓,相對+5 V供電,+3.3 V供電也能在一定程度上降低功耗,這對于鋰電池供電的智能車系統(tǒng)非常重要。
輸入電路還要考慮防反接問題。由于不能假定用戶每次使用都能正確連接外部電源,如果不小心接反,板子就會(huì)燒毀。合格的產(chǎn)品應(yīng)該將用戶各種可能的不正確使用方法都考慮到,并且做出妥善的處理。防反接電路有很多,最簡單的防反接就是在正極加上一個(gè)二極管(比如1N4148)進(jìn)行保護(hù),電路簡單,成本低,占用空間小。但是二極管的PN結(jié)在導(dǎo)通時(shí),存在一個(gè)小于0.7 V左右的壓降,對電路造成不必要的損耗,比如對電池供電的系統(tǒng),電流較大的電路都會(huì)造成比較明顯的影響(電路中,功耗、發(fā)熱都是不可忽略的問題)。智能車采用鋰電池供電,對于鋰電池來說,0.7 V的壓降也是比較大的損耗,更好的選擇是采用NMOS管防護(hù)。電源防反接電路如圖2所示,上電瞬間,MOS管Q1的寄生二極管導(dǎo)通,系統(tǒng)形成回路,源極S的電位大約為0.6 V,而柵極G的電位為Vbat,MOS管的開啟電壓極為:Ugs=Vbat-Vs,柵極表現(xiàn)為高電平,NMOS的ds導(dǎo)通,寄生二極管被短路,系統(tǒng)通過NMOS的ds接入形成回路。若電源接反,NMOS的導(dǎo)通電壓為0,NMOS截止,寄生二極管反接,電路是斷開的,從而形成保護(hù)。
考慮到電機(jī)啟停時(shí)噪聲較大,故設(shè)計(jì)此多路電源供電方式,將電機(jī)供電回路和主控板供電回路隔離。多路電源電路的核心器件為LM2576-ADJ芯片,這是一款DC-DC芯片,可通過外接反饋電阻調(diào)節(jié)輸出電壓。多路電源設(shè)計(jì)方案如圖3所示,圖中上半部分電路使用LM2576R-ADJ芯片,通過外圍電位器R4實(shí)現(xiàn)可調(diào)電壓輸出,靈活適配不同電機(jī)的供電要求,此路電源主要是給電機(jī)回路供電。圖3下半部分電路使用LM2576R-5.0芯片,將外接電池電壓降到5 V,然后再接入BL1117-33CX芯片組成的LDO降壓電路,將5 V電壓降低到3.3 V,此路電源給單片機(jī)和主控電路供電。
在智能車的電機(jī)驅(qū)動(dòng)電路中,常用的有L298N、RZ7899、TB6612和SN754410芯片等設(shè)計(jì)方案,本設(shè)計(jì)中使用RZ7899方案。RZ7899 是一款 DC 雙向馬達(dá)驅(qū)動(dòng)電路,適用于玩具電機(jī)驅(qū)動(dòng)、自動(dòng)閥門電機(jī)驅(qū)動(dòng)、電磁門鎖驅(qū)動(dòng)等。它有兩個(gè)邏輯輸入端子用來控制電機(jī)前進(jìn)、后退及制動(dòng)。該電路具有良好的抗干擾性,微小的待機(jī)電流,低的輸出內(nèi)阻,同時(shí),它還具有內(nèi)置二極管,能釋放感性負(fù)載的反向沖擊電流。此外,該芯片還具有諸多優(yōu)點(diǎn),如微小的待機(jī)電流(小于2 μA)、工作電壓范圍寬3.0~25 V、緊急停止功能、過熱保護(hù)功能,以及過流、欠流保護(hù)及短路保護(hù)功能。雙路電機(jī)驅(qū)動(dòng)電路如圖4所示,采用RZ7899芯片設(shè)計(jì)方案,在一塊電機(jī)驅(qū)動(dòng)板上,做兩路輸出,即可實(shí)現(xiàn)雙路電機(jī)驅(qū)動(dòng)功能。
R1、R2左側(cè)是控制電壓的輸入端,通過輸入端口4種不同的組合,控制電機(jī)前進(jìn)、后退、停止和剎車4種不同的狀態(tài)。直流電機(jī)的兩項(xiàng)端子連接J2,C4為電機(jī)兩個(gè)觸點(diǎn)間連接的0.1 μF(104)濾波電容,該電容可以不焊接在電路板上,而是直接跨接在電機(jī)引腳的兩端。
智能車主控板采用IAP15W4K58S4單片機(jī)進(jìn)行設(shè)計(jì),該單片機(jī)是增強(qiáng)型8051內(nèi)核,每個(gè)機(jī)器周期只需要1個(gè)系統(tǒng)時(shí)鐘,速度比傳統(tǒng)8051快8~12倍;內(nèi)部高精度R/C振蕩器,可省略外部晶振,內(nèi)部時(shí)鐘頻率5~35 MHz可選;具有ISP/IAP功能,無需專用編程器和仿真器;5個(gè)16位可重裝初值定時(shí)器T0~T4,2路CCP可再實(shí)現(xiàn)2個(gè)定時(shí)器;8路PWM可以非常方便應(yīng)用于智能車電機(jī)調(diào)速控制;多種模式的低功耗設(shè)計(jì)等,使其非常適合在智能車產(chǎn)品中應(yīng)用。
實(shí)際應(yīng)用中的單片機(jī)主控板電路比較簡單,主要由IAP15單片機(jī)構(gòu)成的最小系統(tǒng)、USB轉(zhuǎn)串口電路、OLED接口電路及其他數(shù)量不多的外圍功能電路構(gòu)成。部分主控電路圖如圖5所示。其中,USB轉(zhuǎn)串口電路采用CH330N方案,設(shè)計(jì)簡單,成本低廉,且完全滿足應(yīng)用需要。
智能車固件程序設(shè)計(jì)主要包括主程序流程、初始化程序、硬件設(shè)備的驅(qū)動(dòng)程序、全向移動(dòng)控制程序、信號檢測程序、藍(lán)牙遙控處理程序、PS手柄遙控解析程序、攝像頭圖像采集傳輸子程序模塊,采用C語言進(jìn)行編程。除了智能車的固件程序,還有手機(jī)端的藍(lán)牙遙控App程序設(shè)計(jì)。
主程序流程依次調(diào)用各驅(qū)動(dòng)程序完成硬件設(shè)置,調(diào)用初始化程序完成系統(tǒng)狀態(tài)的初始化工作,并進(jìn)入主邏輯循環(huán),進(jìn)行信號檢測和遙控指令監(jiān)聽,并根據(jù)信號和遙控指令進(jìn)行相應(yīng)的運(yùn)動(dòng)和狀態(tài)轉(zhuǎn)換。工作過程:初始化-檢測按鍵-啟動(dòng)系統(tǒng)狀態(tài)機(jī),流程如圖6所示。
智能車采用了4個(gè)直流永磁電機(jī)構(gòu)成了四驅(qū)系統(tǒng),每個(gè)電機(jī)單獨(dú)控制一個(gè)麥輪,由4個(gè)電機(jī)的不同轉(zhuǎn)動(dòng)方向組合,可以實(shí)現(xiàn)前進(jìn)、后退、左行、右行、左轉(zhuǎn)、右轉(zhuǎn)、左對角線移動(dòng)、右對角線移動(dòng)、左右原地旋轉(zhuǎn)等全向控制,以及停車、剎車等制動(dòng)控制。四驅(qū)電機(jī)對麥克納姆輪全向運(yùn)動(dòng)的控制組合如表1所示。電機(jī)的轉(zhuǎn)速控制是通過調(diào)節(jié)PWM信號占空比來實(shí)現(xiàn)的,高電平占空比越大,電機(jī)轉(zhuǎn)動(dòng)速度越快,如果占空比達(dá)到100%,速度將達(dá)到最快[3]。
藍(lán)牙遙控功能采用HC-05模塊,該藍(lán)牙模塊是主從一體的藍(lán)牙串口模塊。當(dāng)2個(gè)藍(lán)牙設(shè)備配對連接成功后,可以忽視藍(lán)牙內(nèi)部的通信協(xié)議,直接將藍(lán)牙當(dāng)做串口用,實(shí)現(xiàn)藍(lán)牙串口透傳功能,當(dāng)建立連接,兩設(shè)備共同使用一個(gè)串口通道,一個(gè)設(shè)備發(fā)送數(shù)據(jù)到通道中,另外一個(gè)設(shè)備便可以接收通道中的數(shù)據(jù)。HC-05藍(lán)牙模塊在使用前需要進(jìn)行簡單的配置,配置過程使用上位機(jī)串口調(diào)試助手發(fā)送AT指令對藍(lán)牙模塊進(jìn)行配置操作。實(shí)際設(shè)計(jì)中,使用IAP15單片機(jī)的串口2(UART2)連接藍(lán)牙模塊進(jìn)行通信,并開啟串口2的接收中斷,實(shí)時(shí)監(jiān)聽并處理藍(lán)牙遙控信號。
表1 四驅(qū)電機(jī)控制麥克納姆輪全向運(yùn)動(dòng)組合情況(↑前轉(zhuǎn)、↓后轉(zhuǎn)、 停止?剎車)左前輪 左后輪 右前輪 右后輪前進(jìn) ↑ ↑ ↑ ↑后退 ↓ ↓ ↓ ↓左平移 ↓ ↑ ↑ ↓右平移 ↑ ↓ ↓ ↑左前移 ↑ ↑右前移 ↑ ↑左后移 ↓ ↓右后移 ↓ ↓原地左旋轉(zhuǎn) ↓ ↓ ↑ ↑原地右旋轉(zhuǎn) ↑ ↑ ↓ ↓左轉(zhuǎn)彎 ↑ ↑右轉(zhuǎn)彎 ↑ ↑停車剎車
PS/2手柄由手柄與接收器兩部分組成,手柄主要負(fù)責(zé)發(fā)送按鍵信息,接收器與單片機(jī)相連,用于接收手柄發(fā)來的信息,并傳遞給單片機(jī),單片機(jī)也可以通過接收器向手柄發(fā)送命令,配置手柄的發(fā)送模式。手柄驅(qū)動(dòng)程序主要包括:手柄初始化程序PS2_Init()、手柄發(fā)送子程序PS2_Cmd()、讀取手柄數(shù)據(jù)子程序PS2_ReadData()、手柄按鍵數(shù)據(jù)處理子程序PS2_DataKey()、獲取搖桿模擬量子程序PS2_AnalogData()、發(fā)送模式設(shè)置PS2_TurnOnAnalogMode()和振動(dòng)模式設(shè)置PS2_VibrationMode()等子程序。單片機(jī)端在主邏輯循環(huán)中不斷讀取手柄接收器數(shù)據(jù)和狀態(tài),如果獲取到手柄遙控指令,則進(jìn)行相應(yīng)的處理和執(zhí)行。
手機(jī)端App通過手機(jī)藍(lán)牙連接智能車的藍(lán)牙模塊,實(shí)現(xiàn)對智能車的遙控功能。手機(jī)端程序采用AppInventor進(jìn)行開發(fā)。App Inventor是一個(gè)在線開發(fā)的Android編程環(huán)境,其程式代碼編寫過程使用積木式的堆疊法,適合快速開發(fā)手機(jī)App程序原型,進(jìn)行產(chǎn)品功能的快速驗(yàn)證。App Inventor在界面美化上會(huì)有一些限制,但是對于簡單的應(yīng)用是足夠的。界面設(shè)計(jì)如圖7所示。
智能車應(yīng)用效果如圖8所示。將智能車上電初始化后,打開手機(jī)端小車遙控程序,通過連接藍(lán)牙按鈕選擇HC-05藍(lán)牙并進(jìn)行連接,待手機(jī)與車載藍(lán)牙連接成功后,就可以通過相應(yīng)的功能按鍵控制小車的運(yùn)動(dòng),并可以通過語音控制按鈕實(shí)現(xiàn)語言遙控。除了藍(lán)牙遙控,智能車還配備了PS/2手柄遙控接收端,通過手柄可以更加靈活方便地遙控智能車全向運(yùn)動(dòng)。前端的車載攝像頭可以查看智能車前方影像。該智能車在實(shí)際應(yīng)用中運(yùn)行穩(wěn)定,響應(yīng)及時(shí),可完成特定范圍內(nèi)的巡檢任務(wù),具有較好的應(yīng)用前景。
本文以增強(qiáng)型51內(nèi)核的IAP15單片機(jī)為主控制器,設(shè)計(jì)了一種具有無線藍(lán)牙遙控、PS/2手柄遙控、WiFi視頻傳輸、麥克納姆輪全向移動(dòng)等功能的巡檢智能車,分別從多路電源模塊、雙路電機(jī)驅(qū)動(dòng)模塊、智能車主控模塊等方面介紹了智能車硬件電路設(shè)計(jì),從全向移動(dòng)控制、無線藍(lán)牙遙控、手機(jī)App程序等方面介紹了智能車固件程序設(shè)計(jì)。整車采用模塊化設(shè)計(jì),其結(jié)構(gòu)簡單,實(shí)現(xiàn)容易。新型的麥克納姆輪車在一些復(fù)雜路段中比傳統(tǒng)輪車更加靈活[4],在智能巡檢、工業(yè)生產(chǎn)、物流運(yùn)輸?shù)阮I(lǐng)域都有很大的實(shí)用價(jià)值。