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

 

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

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

 

 

a) 系統(tǒng)數(shù)據(jù)流程
動態(tài)數(shù)據(jù)交換(dynamic data exchange ,簡稱DDE),它是Windows 提供的一種基于消息的進程間通信技術(shù)協(xié)議[2]。其實質(zhì)是在兩個應(yīng)用程序之間建立一個數(shù)據(jù)通道(channel),通過特定的會話過程,由windows作中介,實現(xiàn)數(shù)據(jù)的雙向傳輸。DDE應(yīng)用程序以對話(conversations)的方式實現(xiàn)數(shù)據(jù)共享,會話采用客戶/ 服務(wù)器模式,啟動會話并要求接收數(shù)據(jù)的進程是客戶進程(client),而響應(yīng)客戶請求提供數(shù)據(jù)的進程是服務(wù)器進程( server)。組態(tài)王采用DDE方式和VB進行數(shù)據(jù)交換,同時通過編寫串口通信程序?qū)崿F(xiàn)VB和單片機的通信。整個系統(tǒng)的數(shù)據(jù)交換流程如圖3所示。

 


b) 系統(tǒng)實現(xiàn)
系統(tǒng)實現(xiàn)分為兩個部分:VB與組態(tài)王的數(shù)據(jù)交換以及單片機與VB的數(shù)據(jù)交換。
i. VB與組態(tài)王通過DDE鏈接的數(shù)據(jù)交換
DDE對話的內(nèi)容是通過應(yīng)用程序名(application)、主題( topic)和項目(item) 3 個標(biāo)示名來約定的。其中,應(yīng)用程序名是進行DDE對話的雙方的名稱,組態(tài)王運行系統(tǒng)的程序名是“VIEW”,VB程序使用的是可執(zhí)行文件的名稱。主題是指被討論的數(shù)據(jù)域(domain)。對于組態(tài)王來說,主題規(guī)定為“tagname”,VB程序的主題由窗體的LinkTopic屬性值指定。項目是指被討論的特定數(shù)據(jù)對象,在組態(tài)王的數(shù)據(jù)辭典中定義I/O變量的同時,也定義項目名稱。對VB程序而言,項目是具有文本屬性控件的名稱[3]。
VB作為客戶端程序從組態(tài)王中得到數(shù)據(jù)時,首先需要在組態(tài)王中定義DDE設(shè)備,然后在組態(tài)王的數(shù)據(jù)庫(數(shù)據(jù)辭典)中按照預(yù)先需要通訊的變量點數(shù)和變量類型建立I/O變量,定義變量的初始值、最大值、連接設(shè)備和項目名,還需要在VB中定義控件的屬性和方法。一般的設(shè)置如下:
Control.LinkTopic=服務(wù)器程序名|主題名
Control.LinkItem=項目名
Control.LinkMode=0,1,2,3 (其中0=關(guān)閉DDE,1=熱鏈接,2=冷鏈接,3=通告鏈接)
Control為VB應(yīng)用程序中特定的文本框、標(biāo)簽框或圖片框的名稱。
VB作為服務(wù)器程序向組態(tài)王提供數(shù)據(jù)時,首先要在組態(tài)王中設(shè)置服務(wù)器程序的3個標(biāo)志名,然后把VB 應(yīng)用程序中提供數(shù)據(jù)的窗體的LinkMode屬性設(shè)置為1。例如,將VB中的txt to Speed 文本框控件中的數(shù)據(jù)傳給組態(tài)王中的I/O變量Speed ,其實現(xiàn)方法如下:
在組態(tài)王中建立一個名為VBDDE的DDE設(shè)備,服務(wù)程序名為vbdde,話題名為FormTopic,數(shù)據(jù)交換方式為標(biāo)準(zhǔn)Windows DDE交換。新建一個I/O變量Speed,將其連接設(shè)備名定義為VBDDE,項目名設(shè)為txt to Speed。在VB中,將窗體VBDDE的LinkMode屬性設(shè)置為1(source),LinkTopic屬性設(shè)置為FormTopic,然后編譯為可執(zhí)行文件vbdde.exe,即可實現(xiàn)與組態(tài)王的通信。
ii. VB與單片機的數(shù)據(jù)交換
本例采用MSComm控件實現(xiàn)VB與單片機之間的數(shù)據(jù)交換,具有程序?qū)崿F(xiàn)簡便、程序模塊化、工作可靠等優(yōu)點,并能滿足多數(shù)情況下的工控要求。使用MSComm控件主要是通過事件來處理串行口的交互??丶腛nComm事件負責(zé)捕獲或處理這些通訊事件和通訊錯誤。在實際應(yīng)用中,一個MSComm控件和一個串行口一一對應(yīng),所以如果要處理多個串行口的話,必須有相應(yīng)數(shù)量的控件與之對應(yīng)。
利用MSComm控件進行串口通信的具體操作和具體的程序代碼已經(jīng)有很多論述,在這里強調(diào)兩點:
1. 無論發(fā)送或者接收,都需要用一個Variant變量作中介;
2. 使用MSComm控件的Input及Output屬性來接收或者傳輸文本數(shù)據(jù)或二進制數(shù)據(jù)的方法不同:如果發(fā)送一個ANSI字符串到串口,可以以文本數(shù)據(jù)的形式發(fā)送;當(dāng)要傳輸二進制數(shù)據(jù)時,由于Output屬性支持的變量類型為Variant類型,所以發(fā)送二進制數(shù)據(jù)時必須傳遞一個包含字節(jié)數(shù)組的Variant到Output屬性。使用MSComm控件的Input屬性讀取數(shù)據(jù)時,如果接收的數(shù)據(jù)類型為文本數(shù)據(jù),Input屬性通過一個Variant返回文本數(shù)據(jù);如果接收的數(shù)據(jù)模式采用二進制形式,用Input屬性讀取數(shù)據(jù)時,不能直接賦值給Byte類型變量,只能通過先賦值給一個Variant類型變量,返回一個二進制數(shù)據(jù)的數(shù)組,再轉(zhuǎn)換保存到Byte類型數(shù)組變量中。
4. 結(jié)束語
本文論述的基于單片機的速度測量方法已在工程測控系統(tǒng)中得到了應(yīng)用,適用于中低速物體的測量,具有良好的使用效果,具有實現(xiàn)成本低、可靠性好、精度良好的優(yōu)點。此外,本文提出的單片機與上位機數(shù)據(jù)通信方法為多種工控軟件和非通用性設(shè)備的數(shù)據(jù)交換問題提供了思路。還需注意的一點是:通過控件MSCOMM控件的input和out2put屬性可以很方便地接受和發(fā)送串口緩沖區(qū)的數(shù)據(jù),但要編制比較完善的通訊應(yīng)用程序,還需要進行更深入的研究,比如通過使用“握手”的機制來增強通訊的安全性和穩(wěn)定性,另外通過數(shù)據(jù)的重復(fù)發(fā)送達到收發(fā)數(shù)據(jù)的準(zhǔn)確性等等.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
免费在线成人| 欧美三区在线视频| 亚洲精品资源| 亚洲成色999久久网站| 久久精品国内一区二区三区| 亚洲视频第一页| 99精品久久免费看蜜臀剧情介绍| 亚洲国产经典视频| 久久精品官网| 久久精品成人一区二区三区| 欧美在线日韩| 久久精品一区二区三区不卡牛牛 | 欧美日韩一区二区三区高清| 欧美久久久久久久久久| 欧美激情视频网站| 欧美精品999| 欧美人在线观看| 欧美日韩一区二区三区四区五区| 欧美日韩一区二区三区四区五区 | 久久久噜噜噜久久久| 久久久久国产精品厨房| 久久久久久夜精品精品免费| 久久精品国产欧美亚洲人人爽| 久久久国产精品一区| 久久综合精品一区| 欧美国产极速在线| 欧美日韩日日骚| 国产精品观看| 国产农村妇女精品一区二区| 国产日本亚洲高清| 韩日欧美一区二区三区| 在线日韩av片| 亚洲精品一区二区三区樱花| 亚洲视频999| 午夜精品一区二区三区四区 | 伊人婷婷欧美激情| 亚洲国产清纯| 一区二区三区www| 西瓜成人精品人成网站| 亚洲国产一区二区三区a毛片| 99re在线精品| 午夜一区二区三区在线观看 | 男人插女人欧美| 欧美日韩日日骚| 国产欧美69| 在线精品国产欧美| 日韩写真在线| 欧美一区二区三区免费观看| 亚洲黄色成人| 亚洲一区二区成人| 久久久久高清| 欧美日韩亚洲另类| 国产人久久人人人人爽| 久久国产精品亚洲va麻豆| 在线免费一区三区| 一级日韩一区在线观看| 欧美一区在线看| 亚洲美女精品久久| 欧美一区二区三区喷汁尤物| 老司机精品福利视频| 国产精品高潮粉嫩av| 韩日精品视频| 亚洲手机视频| 亚洲人成在线观看一区二区| 亚洲欧美欧美一区二区三区| 美女久久一区| 国产精品久久久一区麻豆最新章节| 国内成人精品一区| 夜夜爽www精品| 亚洲国产精品黑人久久久| 亚洲在线视频观看| 女女同性精品视频| 国产麻豆9l精品三级站| 亚洲国产高潮在线观看| 亚洲综合色自拍一区| 日韩视频国产视频| 久久精品视频网| 国产精品igao视频网网址不卡日韩| 国产一区二区视频在线观看| 99精品久久久| 91久久久久久国产精品| 羞羞漫画18久久大片| 欧美巨乳波霸| 一区一区视频| 欧美一级播放| 亚洲午夜精品福利| 欧美电影免费观看高清完整版| 国产欧美精品xxxx另类| 一区二区三区免费看| 亚洲精品午夜精品| 久久一区二区三区av| 国产伦精品一区二区| 99精品福利视频| 日韩一区二区电影网| 久久久人成影片一区二区三区观看 | 亚洲免费黄色| 亚洲精品精选| 免费成人性网站| 国产综合欧美| 午夜精品久久久久久| 先锋影音久久| 国产精品久久久久久久久久免费 | 亚洲高清色综合| 久久狠狠婷婷| 国产精品视频久久| 一区二区三区精品在线| 这里只有精品在线播放| 欧美剧在线免费观看网站| 亚洲高清123| 亚洲高清视频的网址| 久久只精品国产| 国产亚洲精品激情久久| 午夜在线a亚洲v天堂网2018| 小嫩嫩精品导航| 国产精品中文字幕在线观看| 亚洲午夜伦理| 亚洲欧美日韩国产中文在线| 国产精品盗摄一区二区三区| 一级日韩一区在线观看| 亚洲香蕉在线观看| 欧美视频在线观看| 亚洲视频香蕉人妖| 亚洲综合第一| 国产精品一区毛片| 亚洲少妇中出一区| 99国产精品久久久久久久| 欧美经典一区二区三区| 亚洲精品一区二区网址| 亚洲特黄一级片| 国产精品第一页第二页第三页| 一个人看的www久久| 午夜视频一区在线观看| 国产一区二区三区电影在线观看| 欧美一区二区三区四区在线观看| 久久久久久久久久久久久久一区 | 久久综合一区| 亚洲国产清纯| 亚洲一区二区三区中文字幕| 国产精品美女久久久久aⅴ国产馆| 亚洲在线中文字幕| 欧美一区二区在线| 一区在线播放视频| 99国产精品久久| 国产精品久久久91| 欧美一级播放| 牛牛国产精品| 日韩一二三在线视频播| 亚洲欧洲99久久| 国产亚洲视频在线| 亚洲级视频在线观看免费1级| 欧美激情一区二区久久久| 一本色道婷婷久久欧美| 欧美一区二视频| 亚洲电影在线观看| 亚洲已满18点击进入久久| 国产亚洲女人久久久久毛片| 亚洲国产欧美精品| 欧美日韩中文字幕在线| 亚洲欧美国产精品va在线观看| 久久久国际精品| 亚洲人成亚洲人成在线观看| 亚洲欧美影院| 在线免费高清一区二区三区| 亚洲网站视频福利| 国产亚洲二区| 99视频有精品| 国产欧美一区二区三区沐欲| 国产一区二区三区四区| 巨胸喷奶水www久久久免费动漫| 精品99一区二区三区| 一本一本大道香蕉久在线精品| 国产精品腿扒开做爽爽爽挤奶网站| 欧美在线视频导航| 欧美日韩18| 欧美在线观看一区二区三区| 欧美日韩精品是欧美日韩精品| 午夜精品久久久| 欧美精品 国产精品| 亚久久调教视频| 欧美色精品在线视频| 亚洲第一精品影视| 国产精品国产三级欧美二区| 亚洲激情视频在线播放| 国产精品三区www17con| 亚洲免费观看高清完整版在线观看| 国产乱码精品1区2区3区| 日韩视频免费观看高清在线视频 | 最新成人av在线| 亚洲一区二区视频在线观看| 久久精品日韩欧美| 欧美电影打屁股sp| 欧美亚洲午夜视频在线观看| 欧美乱大交xxxxx| 久久精品av麻豆的观看方式| 国产精品久久一区主播| 亚洲美女av在线播放| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美日韩精品在线观看| 亚洲国产日韩欧美在线99| 国产精品永久免费在线|