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