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