基于LabVIEW虛擬儀器技術的分布式速度檢測系統(tǒng)
0 引 言
在實際生產生活中,經常需要檢測物體的運動速度。目前對一般常速運動物體的測速方式主要有2種:一種是測平均速度,如公路交通系統(tǒng)中通過相鄰站點IC卡確定兩個站點之間所用時間求得平均速度;一種是測即時速度,所用方法一般為多普勒雷達測速,即利用移動物體的多普勒效應實現(xiàn)測速。這些測速方法都有比較廣泛的應用,但也有一些缺點,例如造價較高,或檢測精度較低,尤其是不便于遠程分布式監(jiān)控。在此設計的以單片機和LabVIEW虛擬儀器技術為基礎的分布式檢測系統(tǒng)較好地解決了這些問題。
1 分布式速度檢測系統(tǒng)的總體構成
在此設計并實現(xiàn)的基于分布式汽車速度檢測系統(tǒng)總體結構框圖如圖1所示。即以單片機作為測速數(shù)據(jù)采集電路的核心部件,通過RS 485總線接口把各測試點速度數(shù)據(jù)發(fā)送給計算機,利用LabVIEW軟件編程實現(xiàn)各監(jiān)控點車速數(shù)據(jù)的處理存儲顯示等功能。并以該計算機為服務器,利用LabVIEw中的Datasocket技術實現(xiàn)網絡化的遠程控制。計算機的串行口采用的是RS 232標準,若采用RS 485標準必須進行電平轉換,該設計使用RS 232一RS 485轉換器完成從RS 232到RS 485的電平轉換。系統(tǒng)中51單片機芯片發(fā)出的串行數(shù)據(jù)為TTL電平,同時也只能接收TTL電平。在采用RS 485標準時,也必須進行電平轉換。該設計中使用MAX485實現(xiàn)TTL與RS 485標準之間的相互轉換。
2 上位機編程實現(xiàn)
系統(tǒng)上位機程序均采用LabVIEW 7.1編程實現(xiàn)。LabVIEW是美國NI公司利用虛擬儀器技術開發(fā)的32位面向計算機測控領域的軟件開發(fā)平臺,具有直觀易學,編程效率高的特點,且可以在多操作系統(tǒng)下運行。LabVIEW功能強大,日益被測控技術領域人員所關注。
從功能上講,上位機程序主要分為串口通信模塊和網絡通信模塊。串口通信很簡單,即在程序運行后按照既定通信協(xié)議判斷接收到的信息屬于哪個測試點,并將其存儲到相應文本文件中,程序流程如圖2所示。為提高系統(tǒng)速度,數(shù)據(jù)直接存儲,不做實時顯示。若要查看各檢測點數(shù)據(jù),可在菜單中選擇觸發(fā)速度數(shù)據(jù)顯示。
另外,為了方便對各點數(shù)據(jù)的遠程網絡監(jiān)控,將負責接收速度數(shù)據(jù)的上位機作為服務器,使網絡上的客戶機可以遠程查看測速數(shù)據(jù)。此即網絡通信模塊,通過使用LabVIEW 7.1中的Datasocket技術實現(xiàn)。遠程監(jiān)控的基本工作過程是:首先客戶端選擇要查看的測試點并發(fā)送給服務器端,服務器在接收到客戶端準備查看的測試點代碼信息后打開相應文件并將數(shù)據(jù)顯示在一個waveform Graph控件中。由于在創(chuàng)建服務器端軟件時,已對Waveform Graph控件的Datasocket connec-tion屬性配置對話框做了設置,因此創(chuàng)建客戶端軟件不需要復雜的編程,只需要將服務器端waveform Graph控件復制到客戶端程序中即可??紤]到該系統(tǒng)只是對速度數(shù)據(jù)的遠程分享,所以在客戶機程序中沒做額外的編程。Datasocket:通信服務器端框圖程序和客戶機框圖程序分別如圖3,圖4所示。
3 各測試點的速度檢測
多普勒方式測速應用廣泛,但技術較復雜,成本較高。而遠距離測平均速度又使得所測速度過于模糊,限制了它的應用。因此在設計中另辟蹊徑,以短距離內的平均速度近似作單點速度。即利用間隔一定距離s的2套紅外線激光發(fā)射接收模塊分別給單片機產生中斷信號,由單片機對2次中斷的時間差t進行計時,根據(jù)公式v=s/t即可獲取速度值。距離s可以提前準確測量,而目前單片機的計時精度相當高,足以保證速度數(shù)據(jù)有很高的精確度。速度檢測硬件電路主要包括電源、晶振、復位、顯示、485收發(fā)電路及激光發(fā)射接收模塊。其中485收發(fā)電路及激光發(fā)射接收模塊是測速和通信的主要電路,下面分別做簡要介紹。
激光發(fā)射接收模塊由紅外激光發(fā)射器件和探測器組成,它們分別被安放在待測物體兩側。當沒有物體經過時探測器中有恒定的信號,不觸發(fā)單片機中斷。當有物體阻斷其光路時產生有效信號進入單片機觸發(fā)中斷。設計中為了有效濾除雜散光影響,選用980 nm紅外半導體激光器作為發(fā)光器件,并以單片機產生38 kHz的方波信號對其進行調制,接收電路則采用紅外敏感的38 kHz專用光電探測器HS0038B。圖5顯示其中一路紅外激光發(fā)射、接收信號處理電路原理圖。
485收發(fā)電路模塊的作用是實現(xiàn)單片機的TTL電平與RS 485標準之間的相互轉換,采用MAX485芯片實現(xiàn)。MAX485芯片內部分別有收發(fā)兩部分。圖6為RS 485中A,B線與單片機連接的硬件電路原理圖。
速度檢測部分單片機程序主要有計時處理模塊、測速處理模塊和串行通信模塊。模塊化的編程方式使整個設計、調試非常簡單。值得一提的是,考慮到具體的測試物體形狀不一,還在程序中加了中斷延時去抖程序,防止中斷瞬間的多個尖峰波刺不斷產生中斷信號使單片機發(fā)生誤觸發(fā)操作。
4 實驗結果
這里來用一輛速度可控的遙控模型車對該系統(tǒng)進行了測試,使其在一個封閉的跑道上變速行進,跑道中設置了5個觀測點。圖7為客戶端采集到的第二個測試點的速度波形。試驗顯示,整個系統(tǒng)工作正常。
該系統(tǒng)采用LabVIEW軟件平臺配合簡單外圍硬件電路實現(xiàn)了分布式的速度采集、存儲及遠程監(jiān)控顯示等功能。系統(tǒng)充分借鑒虛擬儀器思想,采用常見器件,使系統(tǒng)整體造價低、測速精度較高、升級維護方便,具有良好的實用性。