<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 一種基于單片機的速度測量系統(tǒng)

          一種基于單片機的速度測量系統(tǒng)

          作者: 時間:2010-03-31 來源:網(wǎng)絡 收藏
          1.引言
          在我室研制的某型測控中,遇到一彈丸狀物體的初速測量要求,速度范圍在0~150m/s,要求測速模塊實現(xiàn)成本低、可靠性高,測速數(shù)據(jù)送上位機顯示。
          目前科研生產(chǎn)中采用的方法可分為兩類;直接測量法和間接測量法兩大類。直接測量法是通過某種測量原理或效應直接獲得速度量, 如多普勒測速儀、空間濾波測速等。這種方法的最大優(yōu)點是反應快、可測量瞬時速度,但設備成本高,且受到大氣物理環(huán)境的限制。間接測量法是測量目標的移動距離和時間, 通過計算得到速度量, 如光電測速、光柵測速、磁柵測速和圖像測速等,用于測量小型彈丸的天幕法和光幕法測速、用于車輛測速的激光測速儀,以及用于生產(chǎn)流水線上的光電脈沖測速方法等等。
          根據(jù)本的特點,我室采用了基于光電脈沖的間接測量方法,構建了基于AT89C51測速系統(tǒng),并采用DDE技術、VB和組態(tài)王實現(xiàn)速度信息的上位機顯示,滿足了成本低、可靠性好的測速要求;此外本文提出的與上位機數(shù)據(jù)通信方法為多種工控軟件和非通用性設備的數(shù)據(jù)交換問題提供了思路。
          2.測速模塊的實現(xiàn)
          a)測速原理
          在本系統(tǒng)中,兩對光電對射管布置在彈丸的通過路徑上,光電對射管間距為S,當彈丸經(jīng)過遮蔽光電管1,2時,光電管1,2產(chǎn)生一個上升沿或下降沿,以光電管1的上升沿或下降沿作為單片機計數(shù)器的啟動脈沖,啟動計數(shù)器開始記時,光電管2的上升沿或下降沿作為單片機計數(shù)器的停止脈沖,計數(shù)器停止記時。此時,得到計數(shù)器的記時值n。將值n傳送至上位機,已知單片機的機器周期為T,則,可在上位機內計算出彈丸在定距s內的平均速度V,為V=S/nT。見如下圖1。

          本文引用地址:http://www.ex-cimer.com/article/195469.htm

          b)測速部分硬件實現(xiàn)
          如下圖2硬件原理示意圖,光電對射管Q1和Q2分別接入AT89C51的外部中斷0和1引腳相聯(lián),Q1和Q2均為遮斷式對射管(無遮斷時導通,遮斷時截止)。INT0和INT1均設置為下降沿觸發(fā)。在INT0中斷處理程序中,啟動AT89C51內計數(shù)器T0開始計數(shù),在INT1中斷處理程序中,計數(shù)器T0停止計數(shù)。計數(shù)值暫存于單片機寄存器內。當單片機接收到上位機發(fā)出的取數(shù)指令時,單片機通過串口將寄存器內計數(shù)值發(fā)送至上位機進行處理。

          3.單片機與上位機通信
          本例上位機控制程序采用組態(tài)王組態(tài)軟件(Kingview 6.5版)編寫,但其為數(shù)據(jù)采集和控制提供的底層硬件設備的驅動僅是針對知名廠商的板卡和模塊。因此,針對自行開發(fā)的數(shù)據(jù)采集模塊,需要編寫組態(tài)王與單片機串口通信驅動程序。在本例中,應用DDE方式實現(xiàn)組態(tài)王和VB進行數(shù)據(jù)交換,通過編寫串口通信程序實現(xiàn)VB和單片機的通信,完成整個通信流程。

          測速儀相關文章:測速儀原理



          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();