陸孟雄,呂成緒
(1.常州信息職業(yè)技術(shù)學院電子與電氣工程學院,江蘇 常州213164;2.南京農(nóng)業(yè)大學工學院,江蘇 南京210031)
智能車也叫 “自動汽車”,是一種集成了多種高新技術(shù)的車輛,是組成智能交通系統(tǒng)的一種重要車輛產(chǎn)品,也是極具信息化的汽車產(chǎn)品.普通車輛需要部分或完全靠駕駛員操縱車輛行駛,智能車輛則可以通過應用現(xiàn)代科技技術(shù),不需要人工即可實現(xiàn)車輛行駛.目前通信技術(shù)得到了很大的發(fā)展,上位機技術(shù)也逐漸成熟,通過無線通信實現(xiàn)上位機對智能車輛的控制,也是現(xiàn)在科技發(fā)展的一個新興熱點.
智能車可以完成多項任務(wù)操作,其中包括在提前指定的路線上行駛在正確的車道位置,和其他的車輛保持安全距離;正確地根據(jù)現(xiàn)場情況選擇停車位置及相應的停車操作;在智能交通網(wǎng)絡(luò)環(huán)境下,車載輔助駕駛系統(tǒng)可以在到達目的地的多個路徑中選擇最佳路徑,并能及時應對多種突發(fā)情況.在傳統(tǒng)的汽車基礎(chǔ)上,智能車輛的開發(fā)很大程度依賴于增加新設(shè)備,如車載計算機及數(shù)據(jù)庫、機動車IC卡、車載通信裝置、多媒體情報輸入輸出裝置等,來適應各種復雜的道路環(huán)境,增強車輛的機動性,把發(fā)生事故的概率降到最低,減少乘客在道路上的行駛時間,最大程度地節(jié)能減排.同時,通過監(jiān)測控制行駛路線來提高運輸效率,改善商務(wù)車和工業(yè)用車在固定路線行駛的道路狀況,綜合輔助駕駛系統(tǒng)以及動態(tài)車輛駕駛系統(tǒng)將會大大減少制造和運行成本[1].
本系統(tǒng)是一個對智能小車行駛的實時監(jiān)測、控制系統(tǒng).整個系統(tǒng)分為上位機系統(tǒng)和下位機系統(tǒng)兩部分.上位機系統(tǒng)用Matlab的界面設(shè)計工程完成,由單片機作為控制芯片的智能小車作為下位機系統(tǒng)主體.通過紅外測速把小車的行進速度測量出來,而后通過無線通信和串口通信把數(shù)據(jù)傳遞給上位機.上位機根據(jù)小車的行進情況和需要,通過無線通信和串口通信發(fā)送指令給小車.
系統(tǒng)通過紅外光電管測速傳感器,每隔0.5s對智能小車的車速檢測一次.檢測數(shù)據(jù)在兩個單片機之間通過NRF905無線傳感器進行傳遞,之后通過串口傳輸從單片機2傳遞給Matlab_GUI設(shè)計的上位機界面.之后根據(jù)檢測結(jié)果在上位機進行操作,通過串口及無線傳感器反向調(diào)整小車的行駛情況,手動通過發(fā)送方向指令改變小車的運行方向,發(fā)送調(diào)速指令改變PWM的占空比調(diào)節(jié)車速.其中方向指令分為前后左右四個方向和停止,調(diào)速指令分為高速、中速、低速共三檔.系統(tǒng)整體結(jié)構(gòu)框圖見圖1.
硬件電路主要分為以下4個模塊:電源管理模塊,L298電機驅(qū)動模塊,紅外光電管測速模塊,NRF905無線通信模塊.系統(tǒng)硬件組成如圖2.
電源模塊為智能車系統(tǒng)的其他電路模塊提供穩(wěn)定的直流電源,關(guān)系到整個系統(tǒng)是否能夠正常工作,因此電源模塊的設(shè)計十分重要.系統(tǒng)采用12.6V1800mAh CS-168電池進行供電,用5V供電給紅外光電管測速模塊,5V供電給L298電機驅(qū)動模塊,3.3V供電給NRF905無線模塊.故需將12.6V電壓轉(zhuǎn)換成5V和3.3V.系統(tǒng)選用7805穩(wěn)壓芯片將電壓轉(zhuǎn)換成5V給紅外光電管測速模塊、L298電機驅(qū)動模塊和STC89C51單片機模塊供電,NRF905無線模塊的電源由LM1117穩(wěn)壓芯片串聯(lián)提供,直流電機直接由CS-168 12.6V電池供電[2].
在本系統(tǒng)設(shè)計中,L298驅(qū)動模塊VSS端直接連接CS-168(12.6V/1800mA)電池的正極,L298驅(qū)動模塊的VC引腳連接L7805穩(wěn)壓電路的輸出的5V段,GND與整個電路的接地端相連接,IN1、IN2分別與單片機P0口P0.0、P0.1相連,IN3、IN4分別與單片機P0口P0.2、P0.3相連,ENA、ENB置于高電平的情況下,IN1、IN2、IN3、IN4才可以由單片機設(shè)置電平的高低.所以在本系統(tǒng)中,把ENA、ENB直接與VCC端連接.OUT1、OUT2分別與直流電機1的兩端相連接,OUT3、OUT4分別與直流電機2的兩端相連接.當IN口置高或置低時,對應的OUT口會置高或置低.4個OUT口與4個IN口的電平同步變化,電機根據(jù)兩端是否有壓差轉(zhuǎn)動或者不轉(zhuǎn)動.
在系統(tǒng)中,每隔0.5s測量一次小車速度.當碼盤跟著小車的輪子一起轉(zhuǎn)動時,光電管的接受端會依次收到、收不到光電管發(fā)射端發(fā)射的光,光電管的輸出脈沖也呈現(xiàn)周期性變化.光電管的輸出端連接STC89C51單片機的外部中斷接口,單片機中下載的程序可以捕捉該端口連接的光電管輸出端產(chǎn)生的電脈沖的升降變化.在一個速度測量周期內(nèi),單片機會記錄電脈沖變化的次數(shù),可以得到小車行駛的距離,進而得到小車在本周期內(nèi)行駛的平均速度[3].
在本設(shè)計中,NRF905無線模塊VCC端連接串聯(lián)LM1117穩(wěn)壓模塊的輸出端.經(jīng)測量和穩(wěn)壓,第一塊7805輸出端的輸出電壓為5V,第二塊LM1117輸出端的輸出電壓為3.3V左右,正好給NRF905供電.NRF905無線模塊GND端與系統(tǒng)的地線相連接.
系統(tǒng)軟件設(shè)計分兩部分:第一部分是對控制電機工作的單片機編程;第二部分是使用Matlab_GUI在上位機進行界面設(shè)計.使用C語言編寫單片機內(nèi)部程序,使小車正常運行,使各個傳感器正常工作.使用Matlab語言進行上位機界面的程序編寫,主要工作是編寫callback函數(shù),使上位機很好地完成顯示和與下位機之間的通信工作.
小車速度的調(diào)節(jié),系統(tǒng)采用的是調(diào)節(jié)PWM脈沖寬度的方法.把每一脈沖寬度均相等的脈沖列做成PWM波形,通過改變脈沖列的周期可以調(diào)頻,改變脈沖的寬度或占空比可以調(diào)壓,采用適當控制方法即可使電壓與頻率協(xié)調(diào)變化.使用PWM控制電壓的方式主要有兩種,包括調(diào)整PWM脈沖的周期和占空比[4].
用STC系列51單片機產(chǎn)生占空比可變的矩形波.當產(chǎn)生此矩形波的I/O與電機驅(qū)動電路相連接后,由于程序一個周期內(nèi)不斷改變輸出矩形波的占空比,有一部分時間電機驅(qū)動電路導通,其余時間不導通,從整體來看有一個平均電壓,因為PWM信號頻率周期很高,因此通過平均電壓的方式來決定小車速度的快慢.隨著波形占空比的變化,小車的速度也產(chǎn)生快慢改變.如圖3是單片機通過PWM調(diào)節(jié)小車速度的基本原理圖.
基本思想:
(1)啟動小車后,紅外對管測速傳感器開始采集小車的車速.
(2)單片機1通過NRF905無線傳感器將小車車速數(shù)據(jù)傳遞給單片機2.
(3)運用串口通信,另一塊單片機將小車速度傳送給GUI界面.
(4)根據(jù)需要及小車車速數(shù)據(jù),用上位機發(fā)送指令,調(diào)節(jié)小車的運行方向及速度.
算法流程圖見圖4.
該項目使用單片機制作下位機,使用Matlab_GUI設(shè)計上位機,在上位機手動控制智能車的工作.系統(tǒng)聯(lián)機調(diào)試順利,下位機系統(tǒng)響應快,上位機與下位機協(xié)同工作良好.友好的上位機操作界面非常適合初學者學習控制智能車.系統(tǒng)擴展性好,可進一步增加位置感知傳感器,實現(xiàn)方向自動控制.