劉葉楠,陳超波
(西安工業(yè)大學(xué) 電子信息工程學(xué)院,西安 710021)
21世紀(jì)以來(lái),我國(guó)的高速公路運(yùn)輸系統(tǒng)的取得了飛速的發(fā)展,伴隨著其發(fā)展,大量的公路超限運(yùn)輸現(xiàn)象也接踵而至。超限運(yùn)輸現(xiàn)象不僅對(duì)公路、橋梁帶來(lái)嚴(yán)重的影響,而且極大地縮短了高速公路的使用年限,對(duì)交通安全構(gòu)成了極大的威脅。為了加強(qiáng)橋梁及公路的超限運(yùn)輸管理,對(duì)疑似超載車(chē)輛進(jìn)行精確測(cè)量,研發(fā)車(chē)輛動(dòng)態(tài)稱(chēng)重技術(shù)是至關(guān)重要[1]。
目前,車(chē)輛超載檢測(cè)技術(shù)主要分為靜態(tài)檢測(cè)和動(dòng)態(tài)檢測(cè)兩類(lèi)。靜態(tài)檢測(cè)是通過(guò)固定安裝的電子地磅對(duì)經(jīng)過(guò)的車(chē)輛進(jìn)行稱(chēng)重;動(dòng)態(tài)檢測(cè)是在車(chē)輛行駛中獲取其重量。動(dòng)態(tài)檢測(cè)方法不需要車(chē)輛停下來(lái),不會(huì)對(duì)道路交通帶來(lái)干擾,檢測(cè)效率較高,因而動(dòng)態(tài)稱(chēng)重技術(shù)越來(lái)越得到人們的關(guān)注。文獻(xiàn)[2]設(shè)計(jì)了一種基于TMS320F2812的車(chē)輛動(dòng)態(tài)稱(chēng)重系統(tǒng),但其數(shù)據(jù)處理速率較慢,難以滿足實(shí)時(shí)性要求。文獻(xiàn)[3]采用DSP為主控器搭建了硬件平臺(tái),利用平均值濾波和中位值濾波結(jié)合對(duì)數(shù)據(jù)進(jìn)行處理,軟件算法復(fù)雜,難以廣泛應(yīng)用。文獻(xiàn)[4]介紹了一種由石英晶體傳感器和感應(yīng)線圈構(gòu)成的車(chē)輛動(dòng)態(tài)稱(chēng)重儀,但其抗干擾能力較差,在電磁干擾較強(qiáng)的環(huán)境下,難以穩(wěn)定工作。對(duì)此設(shè)計(jì)了以MSP430F6736為核心的,實(shí)現(xiàn)數(shù)據(jù)采集、處理、顯示和通信存儲(chǔ)功能的超載車(chē)輛動(dòng)態(tài)檢測(cè)儀。
車(chē)輛動(dòng)態(tài)檢測(cè)系統(tǒng)主要對(duì)行駛中的車(chē)輛進(jìn)行精確稱(chēng)重,系統(tǒng)的核心是動(dòng)態(tài)稱(chēng)重。當(dāng)車(chē)輛駛?cè)霗z測(cè)系統(tǒng)時(shí),車(chē)輛的前輪首先壓在地感線圈上,同時(shí)光幕也會(huì)被切斷;此時(shí)表示有車(chē)輛到來(lái),系統(tǒng)開(kāi)始采集軸重信號(hào)。當(dāng)?shù)馗芯€圈與光幕由切斷變回連通狀態(tài)時(shí),表示本次軸重采集完畢,之后將采集到的軸重信息發(fā)送至PC。地感線圈發(fā)生的電平跳變會(huì)觸發(fā)車(chē)牌識(shí)別器,車(chē)牌識(shí)別器會(huì)對(duì)現(xiàn)有車(chē)輛的車(chē)牌進(jìn)行采集與抓拍,工作完成后將車(chē)牌信息發(fā)送給PC。系統(tǒng)構(gòu)成如圖1所示。
圖1 動(dòng)態(tài)稱(chēng)重檢測(cè)系統(tǒng)結(jié)構(gòu)Fig.1 Structure of dynamic weighing detection system
基于MSP430F6736動(dòng)態(tài)檢測(cè)系統(tǒng)的硬件設(shè)計(jì)主要包括板傳感器、地感線圈、信號(hào)放大模塊、通信模塊、MSP430F6736核心處理單元等,具體構(gòu)成如圖2所示。
當(dāng)車(chē)輛經(jīng)過(guò)彎板傳感器,傳感器將自身壓力信號(hào)轉(zhuǎn)變?yōu)榕c之對(duì)應(yīng)的電信號(hào),然后經(jīng)過(guò)數(shù)據(jù)采集系統(tǒng)進(jìn)行處理,將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),主要完成對(duì)數(shù)據(jù)的采集、數(shù)據(jù)的預(yù)處理以及與PC之間的通信。
圖2 數(shù)據(jù)采集模塊構(gòu)成方案Fig.2 Data acquisition module scheme
MSP430F6736為美國(guó)TI公司的一款16位超低功耗混合信號(hào)處理器,其16位的精簡(jiǎn)指令集,125nS的命令周期便于操作,由于MSP430F6736自身帶有3個(gè)具有PGA的24位A/D轉(zhuǎn)換器,轉(zhuǎn)換精度足以滿足超限檢測(cè)系統(tǒng)設(shè)計(jì)需求,無(wú)需添加外部電路,可以極大程度地降低電路設(shè)計(jì)難度。對(duì)處理器芯片選擇完畢后即可對(duì)采集板電路各個(gè)部分進(jìn)行設(shè)計(jì)。
由于系統(tǒng)核心處理器MSP430F6736內(nèi)部,具有差分可編程增益放大器(PGA)輸入的24位Σ-Δ模數(shù)轉(zhuǎn)換器(ADC),可以滿足超限檢測(cè)稱(chēng)重系統(tǒng)的轉(zhuǎn)換精度與轉(zhuǎn)換速率,故進(jìn)行外部電路設(shè)計(jì)時(shí),無(wú)需額外采用外接A/D轉(zhuǎn)換芯片,直接利用MSP430F6736內(nèi)部的24位Σ-Δ模數(shù)轉(zhuǎn)換器(ADC)。由于彎板式傳感器將壓力轉(zhuǎn)變的信號(hào)是mV級(jí)別的電壓信號(hào),故需要將mV級(jí)的信號(hào)放大,以便于采集。其放大芯片可選用INA128,傳感器信號(hào)放大電路如圖3所示。
圖3 傳感器信號(hào)放大電路Fig.3 Sensor signal amplifying circuit
TD302D232H為一款雙路高速RS232隔離收發(fā)模塊,主要用于邏輯電平與232協(xié)議電平的轉(zhuǎn)換,可以輕松地實(shí)現(xiàn)RS232協(xié)議網(wǎng)絡(luò)的連接功能。其最大通信波特率可以達(dá)到115200 b/s,具體電路如圖4所示。
圖4 通訊模塊原理Fig.4 Communication module principle
根據(jù)分析,超限檢測(cè)系統(tǒng)的工作流程如下:當(dāng)可疑車(chē)輛經(jīng)過(guò)超限檢測(cè)站時(shí),首先,車(chē)輛前輪壓在地感線圈上,會(huì)啟動(dòng)車(chē)牌識(shí)別儀,車(chē)牌識(shí)別儀通過(guò)網(wǎng)口將車(chē)牌信息發(fā)送至上位機(jī),上位機(jī)接收此信息后會(huì)保存車(chē)輛車(chē)牌信息備用。同時(shí),車(chē)頭觸發(fā)光幕傳感器,這時(shí)候采集板I/O模塊輸出信號(hào)由低電平變?yōu)楦唠娖剑挛粰C(jī)通過(guò)串口向上位機(jī)發(fā)送請(qǐng)求,上位機(jī)接收到請(qǐng)求后開(kāi)始準(zhǔn)備接收采集的軸重信號(hào),此時(shí)采集板開(kāi)始啟動(dòng)對(duì)傳感器信號(hào)進(jìn)行采集與預(yù)處理,待采集結(jié)束后,將軸重信息打包通過(guò)串口發(fā)送至至上位機(jī)。上位機(jī)接收到該信號(hào)后首先對(duì)其進(jìn)行標(biāo)定處理,會(huì)得到車(chē)輛的車(chē)重,與相關(guān)規(guī)定對(duì)比后,會(huì)得到超限率、與罰款金額等信息,最后將所有信息整合存儲(chǔ),并顯示在LED屏幕。整個(gè)系統(tǒng)總的工作流程圖如圖5所示。
圖5 超限檢測(cè)系統(tǒng)的軟件流程Fig.5 Software flow chart of overrun detection system
在軟件設(shè)計(jì)中,利用MFC多線程技術(shù)進(jìn)行設(shè)計(jì),將整個(gè)程序分為2個(gè)線程,主線程與輔助線程。主線程主要用于完成初始化與車(chē)輛軸重?cái)?shù)據(jù)處理2個(gè)部分,其關(guān)鍵部分是稱(chēng)重?cái)?shù)據(jù)處理;輔助線程主要用于完成稱(chēng)重?cái)?shù)據(jù)的接收。當(dāng)車(chē)輛到來(lái)時(shí),下位機(jī)的I/O設(shè)備會(huì)檢測(cè)到光幕的變化,開(kāi)始軸重采集,同時(shí)通過(guò)串口向上位機(jī)發(fā)送請(qǐng)求信號(hào),此時(shí)輔助線程會(huì)對(duì)信息進(jìn)行接收,接收完畢后將信息發(fā)送至主線程進(jìn)行處理。主線程、輔助線程的流程如圖6所示。
圖6 超限檢測(cè)程序流程Fig.6 Overrun detection program flow chart
在Visual Studio 2013中多數(shù)會(huì)利用SerialPort類(lèi)來(lái)完成串口的通信,NET Framework 2.0類(lèi)庫(kù)中包含了一個(gè)SerialPort類(lèi),與MSComm相同,可以簡(jiǎn)單地完成串口的各項(xiàng)操作。
利用SerialPort串口類(lèi)在編寫(xiě)程序時(shí),首先需要手動(dòng)將串口類(lèi)倒入,建立SerialPort.h與SerialPort.cpp文件,并把SerialPort類(lèi)的.h和.cpp文件復(fù)制到工程中區(qū),再把SerialPort.h與SerialPort.cpp添加到項(xiàng)目中,在stdafx.h中引入一個(gè)BOOL變量,用于表示標(biāo)志串口是否打開(kāi),接下來(lái)需要在Dlg類(lèi)的頭文件中注釋宏中間加入消息的宏定義:
可以像操作MSComm控件一樣對(duì)其進(jìn)行操作。先利用成員函數(shù)m_SerialPort.InitPort()去對(duì)設(shè)置通訊端口號(hào)及波特率、數(shù)據(jù)位、停止位和校驗(yàn)位等信息進(jìn)行設(shè)置,仍然利用成員函數(shù)open()去打開(kāi)端口,之后進(jìn)行收發(fā)數(shù)據(jù)操作,待傳輸結(jié)束后繼續(xù)利用最后成員函數(shù)close()去關(guān)閉端口。
該系統(tǒng)主要存儲(chǔ)車(chē)輛的相關(guān)信息:車(chē)輛各軸的重量、車(chē)量的速度、車(chē)輛的軸數(shù)以及車(chē)輛的總重量等。數(shù)據(jù)庫(kù)是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù)。VC++中常用的數(shù)據(jù)庫(kù)主要有Microsoft Office Access,MQL Server。在此采用 Microsoft Office Access作為數(shù)據(jù)庫(kù)的管理系統(tǒng)。使用ADO的方式來(lái)對(duì)Access數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn),步驟如下:
步驟1 將ADO類(lèi)導(dǎo)入至工程項(xiàng)目中,通過(guò)在stdafx.h中添加#include,#import語(yǔ)句實(shí)現(xiàn)。
步驟2 對(duì)COM環(huán)境進(jìn)行初始化操作,完成后即可得到 _ConnectionPtr,_RecordsetPt,_CommandPtr三個(gè)指針:_CommandPtr為要提交的sql查詢(xún)字符串;_RecordsetPtr為查詢(xún)返回的結(jié)果;_ConnectionPtr為連接并分別去定義對(duì)象。即
步驟3 m_Connection對(duì)象中的Open去連接數(shù)據(jù)庫(kù)。
步驟4 利用 m_pConnection,m_pCommand等指針去對(duì)數(shù)據(jù)庫(kù)進(jìn)行增、刪、改、查操作。
步驟5 使用完畢后關(guān)閉連接釋放對(duì)象。
車(chē)輛在檢測(cè)過(guò)程中,以一定的速度通過(guò)彎板傳感器,車(chē)輛的速度、加速度以及車(chē)輛運(yùn)行過(guò)程中自身產(chǎn)生的振動(dòng)、車(chē)輛不規(guī)范過(guò)稱(chēng)以及檢測(cè)系統(tǒng)本身都會(huì)使實(shí)際重量信號(hào)中帶有不同頻率的干擾,另外系統(tǒng)周?chē)墓ぷ鳝h(huán)境等因素也會(huì)帶來(lái)一些偶然性誤差。從混雜有各種干擾的真實(shí)車(chē)輛信號(hào)中濾除干擾,得到車(chē)輛信息的有效信號(hào),是影響整個(gè)系統(tǒng)測(cè)量精度的關(guān)鍵所在,因此有必要對(duì)采集到的信號(hào)進(jìn)行數(shù)字濾波。檢測(cè)儀采用算數(shù)平均濾波算法進(jìn)行數(shù)字濾波。濾波后通過(guò)動(dòng)態(tài)稱(chēng)重算法獲得準(zhǔn)確的軸重。
算數(shù)平均濾波的主要思想是將采樣得到的N個(gè)連續(xù)的采樣值分別相加,然后求其平均值,將該算術(shù)平均值看作此次測(cè)量的濾波結(jié)果。算術(shù)平均值為
假定Si為有效值,ni為隨機(jī)噪聲,則
將式(2)代入式(1),可得
該濾波算法一般用于被測(cè)信號(hào)在一個(gè)平均值小范圍附近變化的系統(tǒng),對(duì)去除周期性的噪聲具有良好的效果。
經(jīng)過(guò)算術(shù)平均濾波后的信號(hào)曲線己經(jīng)比較平穩(wěn)光滑,求出反映實(shí)際車(chē)輛軸重的A/D值有以下步驟:
步驟1 車(chē)速提取。處理數(shù)據(jù)的信號(hào)和車(chē)輛通過(guò)傳感器稱(chēng)臺(tái)的速度有關(guān),因此準(zhǔn)確獲取被檢車(chē)輛的速度也關(guān)鍵步驟之一。具體過(guò)程是:①設(shè)定1個(gè)閾值T,若采樣值x滿足條件x≥T,則說(shuō)明被檢車(chē)輛有軸壓在傳感器稱(chēng)臺(tái)的有效區(qū)內(nèi);若x 可正確計(jì)算出被檢車(chē)輛的各個(gè)軸通過(guò)稱(chēng)臺(tái)的速度。③對(duì)N個(gè)速度值求取算術(shù)平均值,所得結(jié)果v即為被檢車(chē)輛的速度,即 步驟2 軸數(shù)計(jì)算。在軸數(shù)計(jì)算之前,先對(duì)車(chē)輛實(shí)際載荷情況做簡(jiǎn)單的分析。一般來(lái)講,車(chē)輛由車(chē)頭和車(chē)廂構(gòu)成,且都是車(chē)頭載人部分重量較小,車(chē)廂載貨部分重量較大,被檢車(chē)輛的重量信號(hào)如圖7所示。由圖可見(jiàn),車(chē)輛開(kāi)始?jí)哼^(guò)稱(chēng)臺(tái)時(shí),測(cè)得的重量值不斷增加,當(dāng)被測(cè)軸完全壓在稱(chēng)臺(tái)有效區(qū)時(shí),波形到達(dá)一個(gè)峰值并在很短的時(shí)間內(nèi)趨于平穩(wěn);該軸離開(kāi)稱(chēng)臺(tái)時(shí)信號(hào)波形開(kāi)始下降,接著重量又不斷增加,說(shuō)明第2個(gè)軸開(kāi)始經(jīng)過(guò)稱(chēng)臺(tái)。因此,可以采用設(shè)定閾值的方法來(lái)計(jì)算軸數(shù)。 圖7 被檢測(cè)車(chē)輛的重量信號(hào)Fig.7 Weight signal of detected vehicle 步驟3 數(shù)據(jù)處理。結(jié)合檢測(cè)的重量信號(hào),根據(jù)計(jì)算出的車(chē)輛速度,將數(shù)據(jù)的處理分為以下3種情況: 1)被檢車(chē)輛低速通過(guò)稱(chēng)重傳感器,取2個(gè)波峰之間的算術(shù)平均值更貼近于被檢車(chē)輛的真實(shí)軸重; 2)被檢車(chē)輛中速通過(guò)稱(chēng)重傳感器,該段信號(hào)近似為正弦曲線,求其平均值作為被檢車(chē)輛的真實(shí)軸重; 3)被檢車(chē)輛高速通過(guò)稱(chēng)重傳感器,采用波峰為每個(gè)軸重的有效值。 經(jīng)過(guò)多次車(chē)輛重量信息實(shí)際測(cè)量的統(tǒng)計(jì)對(duì)比,設(shè)計(jì)的車(chē)輛動(dòng)態(tài)稱(chēng)重檢測(cè)儀的總體誤差率<5%,可以滿足路政工作人員執(zhí)法檢測(cè)的精確要求。車(chē)輛稱(chēng)重統(tǒng)計(jì)的10次數(shù)據(jù)見(jiàn)表1,實(shí)際的測(cè)試結(jié)果令人滿意。 表1 車(chē)輛的檢測(cè)與實(shí)際重量對(duì)比Tab.1 Comparison of vehicle detection and actual weight 試驗(yàn)結(jié)果表明,該系統(tǒng)具有成本低、使用簡(jiǎn)單、靈活性強(qiáng)等特點(diǎn);為執(zhí)法檢查提供了新的檢測(cè)手段,解決了我國(guó)車(chē)輛運(yùn)輸管理中的一個(gè)問(wèn)題,對(duì)于我國(guó)治理公路超載超限具有很大的實(shí)際意義和廣闊的應(yīng)用前景。 為了驗(yàn)證理論的正確性與可行性,將樣機(jī)在某超限檢測(cè)站進(jìn)行了實(shí)際測(cè)試,在距離超限檢測(cè)站約1 km的公路旁設(shè)立車(chē)輛動(dòng)態(tài)稱(chēng)重系統(tǒng),如圖8所示。圖9和圖10分別給出了超限檢測(cè)稱(chēng)重界面、監(jiān)測(cè)數(shù)據(jù)運(yùn)行界面。 圖8 主機(jī)箱安裝實(shí)景Fig.8 Installation of host box 圖9 超限檢測(cè)稱(chēng)重界面Fig.9 Overlimit test weighing interface 圖10 監(jiān)測(cè)數(shù)據(jù)運(yùn)行界面Fig.10 Monitoring data running interface 由該運(yùn)行界面可見(jiàn),此動(dòng)態(tài)稱(chēng)重系統(tǒng)可以同時(shí)對(duì)3個(gè)車(chē)道進(jìn)行檢測(cè)。數(shù)據(jù)處理完成后,檢測(cè)時(shí)間、車(chē)牌號(hào)等車(chē)輛信息會(huì)顯示在界面中相應(yīng)車(chē)道的左側(cè)區(qū)域,其右側(cè)列表中顯示該車(chē)各軸的重量。 所設(shè)計(jì)的超載車(chē)輛動(dòng)態(tài)檢測(cè)儀,以高性能的單片機(jī)MSP430F6736為核心處理器,并結(jié)合Visual Studio 2013開(kāi)發(fā)工具、Microsoft Access數(shù)據(jù)庫(kù)管理工具,采用了232通訊技術(shù)等,實(shí)現(xiàn)了對(duì)超載車(chē)輛的動(dòng)態(tài)監(jiān)測(cè)。其硬件平臺(tái)簡(jiǎn)單,功耗較低,信息采集識(shí)別精度高,數(shù)據(jù)處理快。實(shí)例測(cè)試驗(yàn)證了所設(shè)計(jì)的系統(tǒng)的有效性和可行性。整個(gè)系統(tǒng)實(shí)現(xiàn)了智能化,降低了人為干預(yù),提高了檢測(cè)效率,同時(shí)緩解了排隊(duì)檢測(cè)帶來(lái)的交通擁堵,具有一定的實(shí)用價(jià)值。 [1]祝文允,王金琳.車(chē)輛超載檢測(cè)技術(shù)的研究進(jìn)展[J].河南科技,2015,31(1):109-111. [2]范愛(ài)民,廖高華,林謀有.公路車(chē)輛動(dòng)態(tài)稱(chēng)重系統(tǒng)的設(shè)計(jì)[J].儀表技術(shù)與傳感器,2010,40(6):62-64. [3]王惠中,張雨默,李春霞.一種新型車(chē)輛動(dòng)態(tài)稱(chēng)重儀的設(shè)計(jì)[J].電氣自動(dòng)化,2010,32(1):71-72. [4]曾華中,徐建閩.基于TMS320F2812的車(chē)輛動(dòng)態(tài)稱(chēng)重系統(tǒng)設(shè)[J].微計(jì)算機(jī)信息,2007,23(17):165-167. [5]劉忠超,殷華文,郭抒穎.基于MSP430單片機(jī)的智能儀表設(shè)計(jì)[J].自動(dòng)化與儀表,2015,30(2):20-24. [6]楊軍,李麗宏,周尚儒.基于自適應(yīng)卡爾曼濾波的動(dòng)態(tài)稱(chēng)重算法的研究[J].自動(dòng)化與儀表,2014,29(8):5-8. [7]陳三風(fēng),劉曉波.基于VB 6.0與單片機(jī)串行通信的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].自動(dòng)化與儀表,2004,19(1):68-70.4.3 實(shí)例驗(yàn)證
5 結(jié)語(yǔ)