黃喜軍 陳輝金 張龍 黃佳輝 楊宇
摘 要: 針對停在斜坡上的汽車可能發(fā)生溜車的情況,提出基于LabVIEW的汽車防溜車模擬測試系統(tǒng)。以STM32單片機(jī)為主控的智能小車模擬汽車,由上位機(jī)通過路由器發(fā)送不同的控制指令控制智能小車的移動。小車采用三維角度傳感器檢測坡度傾角,利用AB相編碼器檢測車輪旋轉(zhuǎn)方向,以此判斷汽車是否處于溜車狀態(tài),一旦達(dá)到溜車條件,則自動進(jìn)行剎車。同時攝像頭對汽車后方的圖像進(jìn)行采集,并將圖像和測試數(shù)據(jù)通過路由器無線傳輸至上位機(jī)進(jìn)行顯示。通過實(shí)驗(yàn)測試表明,該系統(tǒng)具有開發(fā)周期短、可靠性高等特點(diǎn),為汽車安全輔助測試提供了參考。
關(guān)鍵詞: LabVIEW; 防溜車系統(tǒng); STM32; 測試系統(tǒng); 控制方式; 無線傳輸
中圖分類號: TN06?34; TP273.5 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2018)11?0091?04
Design of anti?slip vehicle simulation test system based on LabVIEW
HUANG Xijun1, CHEN Huijin2, ZHANG Long1, HUANG Jiahui1, YANG Yu1
(1. College of Electronic Engineering and Automation, Guilin University of Electronic Technology, Guilin 541004, China;
2. Department of Experiential Practice, Guilin University of Electronic Technology, Guilin 541004, China)
Abstract: Since the vehicle parked on the slope may slip, an anti?slip vehicle simulation test system based on LabVIEW is proposed. The intelligent car taking STM32 microcontroller as its main control chip is used to simulate the vehicle, and its movement is controlled with different control commands sent by the host computer through the router. The three?dimensional angle sensor is used to detect the dip angle of the slop, and the AB phase encoder is adopted to detect the rotation direction of the wheel to judge the vehicle whether maintains the slip state. Once the vehicle has slipped, the car will brake automatically. The image in the rear of the vehicle is collected by means of the camera. The image and test data are wirelessly transmitted through the router to the host computer for display. The experimental test results show that the system has the characteristics of short development time and high reliability, and provides a reference for the vehicle safety auxiliary test.
Keywords: LabVIEW; anti?slip vehicle system; STM32; test system; control mode; wireless transmission
汽車的安全設(shè)計關(guān)乎到駕駛員與路人的生命財產(chǎn)安全。近年來,已有部分汽車推出上坡輔助系統(tǒng)以減少安全事故的發(fā)生。該系統(tǒng)能讓駕駛員松開剎車踏板后,汽車仍能持續(xù)制動數(shù)秒,方便駕駛員將腳由剎車踏板轉(zhuǎn)向油門踏板,以防止溜車。但此方法僅僅在汽車正常起步時才能發(fā)揮作用,而許多溜車事故也可能發(fā)生在非起步時刻。本設(shè)計以智能小車模擬汽車,在小車達(dá)到溜車條件時,控制小車進(jìn)行剎車,為防止溜車事故的發(fā)生提供借鑒。LabVIEW是一個在工業(yè)自動化控制方面應(yīng)用廣泛的圖形化編程工具,利用LabVIEW開發(fā)汽車防溜車模擬測試系統(tǒng),具有開發(fā)周期短、人機(jī)界面友好、操作簡單和易維護(hù)的特點(diǎn)[1?4]。
防溜車模擬測試系統(tǒng)應(yīng)在小車發(fā)生溜車時立即控制剎車,并通過攝像頭及時了解小車后方的狀況。系統(tǒng)以STM32F103C8T6單片機(jī)作為主控芯片,采用三維角度傳感器、AB相編碼器檢測坡度傾角和車輪轉(zhuǎn)向等信息來判斷小車是否處于溜車狀態(tài),并通過路由器實(shí)現(xiàn)智能小車與PC端的無線通信,實(shí)現(xiàn)防溜車模擬測試功能。智能小車的移動是通過電機(jī)驅(qū)動模塊驅(qū)動直流電機(jī)實(shí)現(xiàn),通過PWM方式控制來實(shí)現(xiàn)前進(jìn)、后退、轉(zhuǎn)彎或加、減速,并通過給電機(jī)驅(qū)動模塊反向的電壓模擬剎車。使用攝像頭采集小車后方的圖像,經(jīng)路由器將圖像和小車狀態(tài)數(shù)據(jù)發(fā)送給PC端,同時PC端通過路由器向小車發(fā)送控制指令,系統(tǒng)設(shè)計框圖如圖1所示。
整個防溜車模擬測試系統(tǒng)分為6個主要部分:主處理器、傳感器模塊、攝像頭、路由器、電源模塊和電機(jī)驅(qū)動等。
為了使用簡便,縮短開發(fā)周期,系統(tǒng)選用屬于STM32系列的STM32F103C8T6作為控制電路的核心部件,該款單片機(jī)屬于ST意法半導(dǎo)體公司生產(chǎn)的32位高性能、低成本、低功耗的增強(qiáng)型系列單片機(jī),能很好地滿足系統(tǒng)設(shè)計需求。主控電路圖如圖2所示。高速外部時鐘的兩端連接的是12 MHz晶振,經(jīng)過內(nèi)部6倍頻后,系統(tǒng)時鐘可以達(dá)到72 MHz。已知復(fù)位引腳NRST最小[Vih]為2 V,由[T=-ln(1-VihVo)×R2C3],[Vo]為 3.3 V,[T]約為93 μs,系統(tǒng)能穩(wěn)定工作。
由三維角度傳感器能得到可能發(fā)生溜車的方向,輔助判斷溜車是否發(fā)生。系統(tǒng)采用MPU6050作為三維角度傳感器。MPU6050內(nèi)帶3軸陀螺儀和3軸加速度傳感器,利用自帶的數(shù)字運(yùn)動處理器(Digital Motion Processor,DMP)輸出三維角度數(shù)據(jù)。DMP可以很方便地實(shí)現(xiàn)姿態(tài)解算,降低運(yùn)動處理運(yùn)算對操作系統(tǒng)的負(fù)荷,同時大大降低開發(fā)難度。
AB相編碼器能檢測到車輪旋轉(zhuǎn)方向,結(jié)合三維角度傳感器獲得的坡度值及發(fā)動機(jī)是否提供了動力就能判斷溜車是否發(fā)生。電機(jī)尾部自帶13線的磁(霍爾)編碼器,集成了上拉電阻和比較整形功能,可以直接輸出方波。車輪轉(zhuǎn)一圈電機(jī)可以輸出390個脈沖,4倍頻之后是1 560個。通過編碼器輸出的A,B兩路脈沖的相位就能判斷車輪的旋轉(zhuǎn)方向。車輪正轉(zhuǎn)則A相脈沖超前B相90°,車輪反轉(zhuǎn)則A相脈沖滯后B相90°。通過AB相編碼器能檢測到車輪轉(zhuǎn)動(360°/1 560≈0.23°)的微小角度[θ]。并且使用STM32內(nèi)部的定時/計數(shù)器可以得到5 ms內(nèi)接收到的脈沖數(shù)[N],從而可以計算出車輪轉(zhuǎn)速為[(N×1 000×60)(5×1 560) ]r/min。同時,也可以根據(jù)小車轉(zhuǎn)動的角度和車輪的半徑[R]計算出溜車距離。
攝像頭的作用是讓駕駛員迅速看清車子后方的情況,能盡快做出判斷。攝像頭通過USB接口和路由器連接。
路由器是PC端和智能小車互連的橋梁。路由器經(jīng)OpenWrt刷機(jī)后相當(dāng)于一個Linux系統(tǒng),再燒入ser2net和MJPG?STREAMER兩款開源的固件,以實(shí)現(xiàn)智能小車與LabVIEW上位機(jī)的通信和圖像的傳輸。
ser2net即serial port to net,能夠?qū)⒋袛?shù)據(jù)和網(wǎng)絡(luò)數(shù)據(jù)相互轉(zhuǎn)換。系統(tǒng)需要將路由器接收到的來自LabVIEW上位機(jī)的控制數(shù)據(jù)由網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)換至串行數(shù)據(jù),并傳送至單片機(jī),進(jìn)而實(shí)現(xiàn)相應(yīng)的控制。同時,把小車的狀態(tài)由串行數(shù)據(jù)轉(zhuǎn)換至網(wǎng)絡(luò)數(shù)據(jù),由WiFi發(fā)送給LabVIEW上位機(jī),進(jìn)而實(shí)時監(jiān)控小車狀態(tài)[5]。
MJPG?STREAMER可以通過文件或者HTTP方式訪問Linux UVC攝像頭,用戶只需要利用瀏覽器就可以實(shí)現(xiàn)視頻監(jiān)控等工作。由于該固件采用開源的方式開發(fā),因此降低了視頻開發(fā)的成本,提高了開發(fā)效率。
系統(tǒng)采用3節(jié)3.7 V電池分別為主控板和路由器供電,一路通過LM7805穩(wěn)壓至5 V給路由器供電,另一路再通過AMS1117?3.3 V穩(wěn)壓至3.3 V給主控板供電。
為了穩(wěn)定系統(tǒng),縮短開發(fā)周期,電機(jī)驅(qū)動采用L298N驅(qū)動電路。L298N是由ST公司生產(chǎn)的一種高電壓、大電流驅(qū)動芯片,可以通過控制端口電平變化來驅(qū)動直流電機(jī)。由于電機(jī)是感性元件,驅(qū)動電路給它的驅(qū)動脈沖可產(chǎn)生高壓損壞電路,加上4組二極管,電壓就被嵌位在電源的水平上,而且有把能量回饋電源的功能。IN1~I(xiàn)N4接輸入控制電平,控制電機(jī)的正反轉(zhuǎn)。ENA,ENB一般接5 V,使能控制電機(jī),通過PWM控制脈沖寬度可以調(diào)節(jié)電機(jī)轉(zhuǎn)速,電機(jī)驅(qū)動電路如圖3所示。
軟件設(shè)計包括傳感器底層驅(qū)動的編寫和模擬測試軟件的設(shè)計。模擬測試軟件選用LabVIEW作為軟件開發(fā)平臺,設(shè)計編寫測試程序?qū)ο到y(tǒng)進(jìn)行測試和評價,整個系統(tǒng)軟件架構(gòu)如圖4所示。
LabVIEW是一種圖形化編程語言的開發(fā)環(huán)境,能夠快速創(chuàng)建用戶界面。其中IMAQ Vision是基于LabVIEW平臺的軟件包,主要負(fù)責(zé)圖像的處理及開發(fā),能夠完成圖像的采集與讀取,圖像的顯示以及圖像的各種分析處理工作[6?8]。因?yàn)長abVIEW中沒有直接獲取網(wǎng)絡(luò)攝像頭的函數(shù),所以先要將網(wǎng)絡(luò)攝像頭轉(zhuǎn)換為本地攝像頭。使用 IPCamAdapter這款軟件就能很方便地將網(wǎng)絡(luò)攝像頭轉(zhuǎn)換為本地攝像頭。獲取圖像流程圖和程序框圖分別如圖5,圖6所示。
由于汽車防溜車模擬測試系統(tǒng)的下位機(jī)與上位機(jī)之間需要傳送多種數(shù)據(jù),單字符通信方式干擾較大,所以采用數(shù)據(jù)包格式傳送指令[9?10],包頭和包尾用0xFF,無校驗(yàn)位。在下行數(shù)據(jù)協(xié)議中,類型位0x00表示向小車發(fā)送控制指令,不同的命令位代表不同的控制指令,數(shù)據(jù)位代表油門的大小。上行數(shù)據(jù)協(xié)議中,不同的類型位代表小車的各種狀態(tài)數(shù)據(jù),角度值用十六進(jìn)制數(shù)表示,數(shù)據(jù)位1代表角度值的高8位,數(shù)據(jù)位2代表角度值的低8位。轉(zhuǎn)速的數(shù)據(jù)位1中0x00代表車輪反轉(zhuǎn),0x01代表車輪正轉(zhuǎn),數(shù)據(jù)位2表示速度值。
為了使小車模擬測試系統(tǒng)更加直觀、控制小車更加簡易便捷,模擬測試系統(tǒng)添加了按鍵控制小車的功能:按W小車前進(jìn),按空格小車停止,按S小車后退,按A小車左轉(zhuǎn),按D小車右轉(zhuǎn)。
由LabVIEW開發(fā)的汽車模擬測試系統(tǒng)的前面板如圖7所示,可顯示坡度、速度及圖像等信息。在系統(tǒng)運(yùn)行過程中操作方便、簡單,提高了測試效率。
由于實(shí)際情況中小車會在凹凸不平的路面上行駛,難免出現(xiàn)抖動,為了避免誤判,設(shè)置角度閾值為10°。在沒有動力提供給車子的前提下,車身方向上的傾角達(dá)到10°以上,并且車輪在此方向上有轉(zhuǎn)動的趨勢,則判斷為溜車。
基于LabVIEW的汽車防溜車模擬測試系統(tǒng)上電運(yùn)行后,通過上位機(jī)控制智能小車爬行至不同的坡度上進(jìn)行測試。表1為坡度測試結(jié)果,可以看出測量誤差較小,坡度信息正確。同時,上位機(jī)能及時收到傳感器發(fā)回的坡度數(shù)據(jù)和車輪的轉(zhuǎn)數(shù),以及攝像頭獲取的圖像等信息,在LabVIEW界面上實(shí)時顯示。
防溜車測試結(jié)果如表2所示,當(dāng)達(dá)到溜車條件時,小車能迅速進(jìn)行剎車,停在斜坡上不再移動。經(jīng)多次測試檢驗(yàn),小車溜車距離約為0.12 mm,對應(yīng)車輪轉(zhuǎn)動的平均角度約為0.23°,能在較短時間和距離內(nèi)自動剎車,說明防溜車系統(tǒng)性能穩(wěn)定,測試成功率高。
本文針對汽車防溜車的安全性和可靠性要求,建立基于LabVIEW的汽車防溜車模擬測試系統(tǒng),實(shí)驗(yàn)測試結(jié)果表明,在未提供動力時,小車上坡時車輪反轉(zhuǎn)或下坡時車輪正轉(zhuǎn)均能自動剎車,且測試軟件具有良好的人機(jī)交互性,可視化程度較高,能夠勝任數(shù)據(jù)采集、處理、顯示等任務(wù)。該防溜車模擬測試系統(tǒng)能為汽車的安全輔助測試提供有利參考,降低測試成本,提高測試效率,具有一定的應(yīng)用價值。
注:本文通訊作者為陳輝金。
參考文獻(xiàn)
[1] 陳穎峰,王玉紅,王蕾.基于ARM和LabVIEW的網(wǎng)絡(luò)數(shù)據(jù)采集測試系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2016,39(13):88?92.
CHEN Yingfeng, WANG Yuhong, WANG Lei. Design of network data acquisition and test system based on ARM and LabVIEW [J]. Modern electronics technique, 2016, 39(13): 88?92.
[2] 韓承偉,邱浩,賀萍.輪轂電機(jī)再生制動LabVIEW測試平臺設(shè)計[J].計算機(jī)測量與控制,2015,23(6):1919?1921.
HAN Chengwei, QIU Hao, HE Ping. A design of regenerative braking test platform of hub?motor based on LabVIEW [J]. Computer measurement & control, 2015, 23(6): 1919?1921.
[3] 吳青林,周天宏.基于移動終端和LabVIEW的智能家居控制系統(tǒng)研究[J].現(xiàn)代電子技術(shù),2016,39(2):130?132.
WU Qinglin, ZHOU Tianhong. Research on smart home control system based on mobile terminal and LabVIEW [J]. Modern electronics technique, 2016, 39(2): 130?132.
[4] 文垚,陳晶田.基于LabVIEW的虛擬3D駕駛仿真系統(tǒng)[J].實(shí)驗(yàn)室研究與探索,2016,35(11):103?106.
WEN Yao, CHEN Jingtian. Application of LabVIEW in a virtual 3D driving simulation system [J]. Research and exploration in laboratory, 2016, 35(11): 103?106.
[5] 向誠,謝峰粹.基于WiFi和Android的智能探測車設(shè)計[J].電子技術(shù)應(yīng)用,2013,39(12):82?85.
XIANG Cheng, XIE Fengcui. Design of intelligent probe vehicle based on WiFi & Andorid [J]. Application of electronic technique, 2013, 39(12): 82?85.
[6] 杜麗霞,李菲.基于LabVIEW的機(jī)器視覺實(shí)現(xiàn):軌距檢測算法[J].實(shí)驗(yàn)室研究與探索,2015,34(2):122?124.
DU Lixia, LI Fei. Track gauge point inspection algorithm based on computer vision [J]. Research and exploration in laboratory, 2015, 34(2): 122?124.
[7] 金雨,李紅莉.基于LabVIEW和USB攝像頭的圖像采集與處理[J].現(xiàn)代電子技術(shù),2015,38(20):67?70.
JIN Yu, LI Hongli. Image acquisition and processing based on LabVIEW and USB camera [J]. Modern electronics technique, 2015, 38(20): 67?70.
[8] 闞鈺淇,張寧,徐熙平.LabVIEW平臺下USB圖像采集與處理系統(tǒng)設(shè)計[J].工業(yè)儀表與自動化裝置,2013(6):80?82.
KAN Yuqi, ZHANG Ning, XU Xiping. Image acquisition and processing system design based on LabVIEW and USB camera [J]. Industrial instrumentation & automation, 2013(6): 80?82.
[9] 張劍龍,王耀青,楊柳.基于3G和WiFi的無線視頻監(jiān)控系統(tǒng)的設(shè)計[J].電視技術(shù),2015,39(16):57?60.
ZHANG Jianlong, WANG Yaoqing, YANG Liu. Design of wireless video monitoring system based on 3G and WiFi [J]. Video engineering, 2015, 39(16): 57?60.
[10] 姚娟,張志杰,李麗芳.基于LabVIEW和TCP的數(shù)據(jù)采集系統(tǒng)設(shè)計與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2012,38(7):72?74.
YAO Juan, ZHANG Zhijie, LI Lifang. Design and implementation of data acquisition system based on LabVIEW and TCP [J]. Application of electronic technique, 2012, 38(7): 72?74.