魏明哲
(唐山學院智能與信息工程學院,河北 唐山063000)
在智能車輛系統(tǒng)中,智能車輛的智能控制平臺最能從根本上反映整個車的狀況,是駕駛員和智能車輛進行信息交流的主要渠道,這對智能車輛整體控制有著極其重要的作用。因此本論文運用.NET平臺結(jié)合C#語言編程,建立智能車輛的速度控制平臺,實時監(jiān)測電機的轉(zhuǎn)動并顯示車輛的速度數(shù)據(jù),通過實驗數(shù)據(jù)收集與分析,智能車輛控制平臺功能達到設(shè)計要求。
智能車輛行駛速度監(jiān)控系統(tǒng)由智能車輛系統(tǒng)和地面控制站系統(tǒng),包括C#虛擬儀表模塊、無線發(fā)射和接收模塊、單片機控制模塊、光電技術(shù)模塊及電機驅(qū)動模塊組成。系統(tǒng)結(jié)構(gòu)圖如圖1和2所示。
圖1 智能車輛設(shè)計
圖2 地面控制站
C#儀表模塊用于實現(xiàn)上位機向下位機數(shù)據(jù)傳輸,在窗口化的程序中,改變虛擬儀表界面中數(shù)據(jù)的大小,并通過RS-232串口將用戶輸入信息發(fā)送給無線發(fā)射模塊;或者將無線接收模塊接收的信息通過串口,將數(shù)據(jù)形象化、數(shù)據(jù)化,呈現(xiàn)在虛擬儀表的界面里。無線發(fā)射模塊和無線接收模塊則是通過NRF24L01芯片進行數(shù)據(jù)傳輸,NRF24L01支持多塊芯片接收方式,接收與自己地址匹配的數(shù)據(jù)。單片機控制模塊接收經(jīng)由CP發(fā)送到串口到的數(shù)據(jù),并將數(shù)據(jù)送往無線發(fā)送模塊,或者接收無線接收模塊收到的數(shù)據(jù),并將數(shù)據(jù)進行PWM運算,通過控制占空比從而控制電機的轉(zhuǎn)速。
無線數(shù)據(jù)傳輸部分采用NRF24L01模塊,該模塊工作在2.4GHz全球開放ISM頻段,最大20dBm發(fā)射功率,免許可證使用支持六路通道的數(shù)據(jù)接收。低工作電壓為1.9~3.6V,支持125頻點的多頻點控制,滿足多點通信和跳頻通信需要。具有自動重發(fā)功能,能夠自動檢測和重發(fā)丟失的數(shù)據(jù)包,重發(fā)時間及重發(fā)次數(shù)可軟件控制自動存儲未收到應答信號的數(shù)據(jù)包自動應答功能,在收到有效數(shù)據(jù)后,模塊自動發(fā)送應答信號,無須另行編程載波檢測。
發(fā)送端模塊采用STC89C52單片機進行控制,單片機接收上位機發(fā)送的數(shù)據(jù),并通過位于上位的NRF24L01送給位于下位的NRF24L01。NRF24L01的數(shù)據(jù)讀寫使用的是標準的SPI接口,采用單片機上IO口進行連接與控制。
本文系統(tǒng)測量直流電機的速度的基本核心主要是利用的是STC89C52單片機,本文選用光電傳感器來進行測速。光電傳感器的主控單元時通過單片機的IO口把脈沖輸入單片機,用定時用定時計數(shù)器T0和定時計數(shù)器T1對脈沖信號進行計數(shù),每一次中斷的產(chǎn)生間隔是5ms,在50個中斷之后(即0.5s)進行一次對轉(zhuǎn)速的處理,在51單片機對T1的脈沖數(shù)運算進行轉(zhuǎn)化之后,將計算得到的電機轉(zhuǎn)速通過無線發(fā)送模塊發(fā)送出去,發(fā)送到與cp連接的另一塊單片機上,然后通過與cp連接的串口最終發(fā)送到cp上,之后通過用C#語言編寫的智能儀表顯示出來。
因為PWM在控制領(lǐng)域以及調(diào)速方面都應用非常廣泛,本系統(tǒng)就是利用PWM控制占空比以此來改變電機速度。在馬達控制方面采用用的脈寬調(diào)速(PWM)是利用一個固定的頻率進行控制電源的斷開或接通,并通過一個周期內(nèi)斷開和接通時間的長短的改變,即改變電機兩端電壓的占空比以此改變電機兩端的平均電壓,用這種方法來控制電機的轉(zhuǎn)速。因此PWM還被稱之為直流電機的開關(guān)驅(qū)動裝置,用來控制直流電機的運行。
地面控制站的設(shè)計是本文最主要的部分,控制站使用C#高級語言編寫,具有極高的效率。尤其是SerialPort串口控件,必須設(shè)置正確的波特率,并且有開啟命令和關(guān)閉命令。設(shè)計的儀表是以控件的形式存在的,所以在開始之前要計算GDI+中角度的問題。
該儀表中主要分為兩部分:一部分為背景即刻度,精度,外框等一些基本不需要變化的部分,一部分為前景即指針部分,所以為了達到兩個圖層互不影響的功能,將背景設(shè)置在控件的背景屬性上,而指針部分則需要一個pictrueBox控件作為載體。首先描繪背景,在制作背景時,又分為刻度、外框、指針的固定中心等等。最終繪制結(jié)果如圖3所示。
圖3 用C#繪制完成的儀表
程序開始,對無線模塊NRF24L01+進行初始化,設(shè)置CE=0,無線模塊進入TX模式,設(shè)置TX地址,寫TX數(shù)據(jù)寬度,設(shè)置RX自動應答的地址,填充TX發(fā)送數(shù)據(jù),選擇RF頻道,波特率和LNAHCURR。然后對串口進行初始化,單片機接收上位機傳輸數(shù)據(jù),當按下開關(guān)控制鍵,接口為1,此時啟動發(fā)送模式,將數(shù)據(jù)發(fā)送出去。
本設(shè)計主要有兩大部分組成,地面控制站和智能車輛,地面控制站部分由單片機控制模塊和無線模塊構(gòu)成發(fā)射平臺,通過串口連接PC,接收由PC通過RS-232發(fā)送的數(shù)據(jù),然后通過NRF24L01+無線模塊發(fā)送。智能車輛部分由單片機控制的光電測速器模塊、無線模塊和車輛馬達模塊構(gòu)成,終端無線模塊接收由地面控制站部分發(fā)送過來的數(shù)據(jù),經(jīng)過單片機處理并進行控制馬達速度。系統(tǒng)經(jīng)實驗反復驗證,達到設(shè)計要求。
[1]王光.基于C#的監(jiān)控組態(tài)軟件開發(fā)[D].哈爾濱:哈爾濱工業(yè)大學,2012.
[2]張武,顧凱.基于51單片機的車用儀表設(shè)計與實現(xiàn)[J].今日電子,2005,(1).
[3]王世勛.遠程無線數(shù)據(jù)采集系統(tǒng)的研究與設(shè)計[D].武漢:武漢理工大學,2006.
[4]李培樂,鄭心武.基于51單片機的測速裝置的設(shè)計[J].信息技術(shù)與信息化,2014,(6).