一種基于單片機的速度測量系統
在我室研制的某型測控系統中,遇到一彈丸狀物體的初速測量要求,速度范圍在0~150m/s,要求測速模塊實現成本低、可靠性高,測速數據送上位機顯示。
目前科研生產中采用的速度測量方法可分為兩類;直接測量法和間接測量法兩大類。直接測量法是通過某種測量原理或效應直接獲得速度量, 如多普勒測速儀、空間濾波測速等。這種方法的最大優點是反應快、可測量瞬時速度,但設備成本高,且受到大氣物理環境的限制。間接測量法是測量目標的移動距離和時間, 通過計算得到速度量, 如光電測速、光柵測速、磁柵測速和圖像測速等,用于測量小型彈丸的天幕法和光幕法測速系統、用于車輛測速的激光測速儀,以及用于生產流水線上的光電脈沖測速方法等等。
根據本系統的特點,我室采用了基于光電脈沖的間接測量方法,構建了基于AT89C51單片機測速系統,并采用DDE技術、VB和組態王實現速度信息的上位機顯示,滿足了成本低、可靠性好的測速要求;此外本文提出的單片機與上位機數據通信方法為多種工控軟件和非通用性設備的數據交換問題提供了思路。
2.單片機測速模塊的實現
a)測速原理
在本系統中,兩對光電對射管布置在彈丸的通過路徑上,光電對射管間距為S,當彈丸經過遮蔽光電管1,2時,光電管1,2產生一個上升沿或下降沿,以光電管1的上升沿或下降沿作為單片機計數器的啟動脈沖,啟動計數器開始記時,光電管2的上升沿或下降沿作為單片機計數器的停止脈沖,計數器停止記時。此時,得到計數器的記時值n。將值n傳送至上位機,已知單片機的機器周期為T,則,可在上位機內計算出彈丸在定距s內的平均速度V,為V=S/nT。見如下圖1。
b)測速部分硬件實現
如下圖2硬件原理示意圖,光電對射管Q1和Q2分別接入AT89C51的外部中斷0和1引腳相聯,Q1和Q2均為遮斷式對射管(無遮斷時導通,遮斷時截止)。INT0和INT1均設置為下降沿觸發。在INT0中斷處理程序中,啟動AT89C51內計數器T0開始計數,在INT1中斷處理程序中,計數器T0停止計數。計數值暫存于單片機寄存器內。當單片機接收到上位機發出的取數指令時,單片機通過串口將寄存器內計數值發送至上位機進行處理。
3.單片機與上位機通信
本例上位機控制程序采用組態王組態軟件(Kingview 6.5版)編寫,但其為數據采集和控制提供的底層硬件設備的驅動僅是針對知名廠商的板卡和模塊。因此,針對自行開發的數據采集模塊,需要編寫組態王與單片機串口通信驅動程序。在本例中,應用DDE方式實現組態王和VB進行數據交換,通過編寫串口通信程序實現VB和單片機的通信,完成整個通信流程。
測速儀相關文章:測速儀原理
評論