范福玲 孫建民
摘 要:為了解決原有杭州賽特公司生產(chǎn)的CSY型傳感器實驗臺功能單一、專用性強的缺點,提高實驗儀器的使用率,將傳感器實驗臺輸出的標準電壓信號通過PCI1711數(shù)據(jù)采集卡送入PC機進行數(shù)據(jù)顯示與數(shù)據(jù)處理,從而實現(xiàn)信號的自動檢測。主要介紹數(shù)據(jù)采集系統(tǒng)的硬件組成及在VB環(huán)境下數(shù)據(jù)采集系統(tǒng)的程序設(shè)計。該系統(tǒng)人機界面友好,操作簡單方便,已成功應(yīng)用于實驗教學(xué)中,效果良好。
關(guān)鍵詞:傳感器;數(shù)據(jù)采集;數(shù)據(jù)顯示;線性化處理
中圖分類號:TP273 文獻標識碼:B 文章編號:1004-373X(2009)04-189-03
Design of Data Acquisition System Based on Sensor Experiment Platform
FAN Fuling1,SUN Jianmin2
(1.Zhongyuan Institute of Technology,Zhenzhou,450007,China;2.Shanghai Meishan Iron & Steel Co.Ltd.,Nanjing,210039,China)
Abstract:To overcome the drawbacks of CSY sensor experiment platform made in Hangzhou Saite Company which are functional singleness and monopoly used,and to improve using ratio of the experiment instrument,the standard voltage signal of the sensor experiment platform outputs to computer by the PCI1711 data acquisition card,then computer implements data display and processing,thus realizing automatic checkout with signal.The hardware structure and program design under the visual basic environment are described.It has a friendly interface and can be easily operated.It has been used in experiment teaching successfully,and it has been proved a good performance.
Keywords:sensor;data acquisition;data display;linear processing
0 引 言
傳感器原理實驗臺由一些分立元件組成的電路和指針式儀表構(gòu)成,實驗結(jié)果往往不是很穩(wěn)定,而且以電流、電壓形式顯示的結(jié)果不是很直觀。為了提高實驗教學(xué)質(zhì)量,將傳感器實驗臺的輸出送入計算機進行顯示與數(shù)據(jù)處理。該系統(tǒng)人機界面友好,操作簡單方便,已成功地應(yīng)用于實驗教學(xué)中,且效果良好。
1 總體設(shè)計
數(shù)據(jù)采集系統(tǒng)原理圖如圖1所示[1,2]。
圖1 數(shù)據(jù)采集系統(tǒng)框圖
該系統(tǒng)采用PCI1711數(shù)據(jù)采集卡作為PC機與傳感器實驗臺之間的接口。
2 系統(tǒng)介紹
數(shù)據(jù)采集系統(tǒng)采用Visual Basic 6.0實現(xiàn),該系統(tǒng)能夠?qū)SY傳感器實驗臺的實驗數(shù)據(jù)進行采集存儲、處理以及圖形顯示等操作。參數(shù)設(shè)定設(shè)置實驗名稱、操作學(xué)生信息。數(shù)據(jù)采集分單次采集,連續(xù)采集2種[3]。數(shù)據(jù)顯示分簡單顯示和線性擬合顯示2種。其他有數(shù)據(jù)打印、存儲等。系統(tǒng)軟件結(jié)構(gòu)圖如圖2所示。
圖2 系統(tǒng)軟件結(jié)構(gòu)
3 信號采集程序設(shè)計
選中“數(shù)據(jù)采集”,將出現(xiàn)如圖3所示窗體。窗體提示將要選擇采集數(shù)據(jù)的方式[4-6],是單次數(shù)據(jù)采集或是連續(xù)數(shù)據(jù)采集。單次數(shù)據(jù)采集窗體功能實現(xiàn)的流程圖如圖4所示。連續(xù)數(shù)據(jù)采集方式和單次數(shù)據(jù)采集基本相似,只是在單次數(shù)據(jù)采集程序的基礎(chǔ)上加上一個FOR循環(huán)。
圖3 數(shù)據(jù)采集
圖4 單次數(shù)據(jù)采集窗體功能實現(xiàn)的流程圖
4 數(shù)據(jù)顯示
數(shù)據(jù)顯示有2種:一是將數(shù)據(jù)顯示在文本框中;二是將數(shù)據(jù)顯示在坐標中,并進行線性化處理。
4.1 數(shù)據(jù)在文本框中顯示
數(shù)據(jù)在文本框[7]中是一個個以順序的形式顯示的。要實現(xiàn)數(shù)據(jù)在文本框中顯示比較簡單,但是要解決的問題是如何將文本框中的數(shù)據(jù)的每一行讀取出來。 Windows API 提供有讀取 TextBox 第N行的功能,在實現(xiàn)文本框中的每一行數(shù)據(jù)的讀取后,再把每一行的值賦給MSFlexGrid控件的TextMatrix屬性,做一個FOR循環(huán),這樣就可以實現(xiàn)采集卡數(shù)據(jù)的圖表顯示。
4.2 數(shù)據(jù)顯示在坐標中[3]
繪制實時采集數(shù)據(jù)曲線是為了實時觀測,以便掌握實時采集數(shù)據(jù)變動的趨勢,使曲線顯示效果達到最佳。繪制曲線前要將需要的繪圖范圍及坐標軸的尺寸刻度設(shè)定好,然后根據(jù)速度測量結(jié)果及采集時間繪制實時測量曲線。
首先設(shè)置坐標軸與網(wǎng)格。新建Form,將屬性name設(shè)為 lanxu,在窗體上添加控件Picturebox作為趨勢圖的顯示容器,在Picturebox上繪制坐標軸(在后面的坐標第繪制部分將講到),橫坐標軸是位移量,利用控件將x軸分為20格,每格代表移動0.5 mm,將y軸分為10格,每格代表電壓1 V。
在做好上述步驟的基礎(chǔ)上,利用Picturebox的Line方法得到如圖5所示的較為理想的實時曲線繪制效果。
5 數(shù)據(jù)線性化處理
根據(jù)一組測量數(shù)據(jù)求回歸方程的具體做法主要包括以下2個方面:首先確定數(shù)學(xué)表達式即回歸方程的類型;其次,確定回歸方程的及常數(shù)項α,β等數(shù)值。這里采用最小二乘法進行曲線擬和。
圖5 連續(xù)數(shù)據(jù)采集曲線
根據(jù)最小二乘法原理[8-10],解下面的聯(lián)立方程就可以求出α,β等的估計值。
怠苖j=1[yj-f(xj;α,β,…)]2鄲=0
怠苖j=1[yj-f(xj;α,β,…)]2鄲=0
由于在實踐中大量存在線性關(guān)系,在小范圍內(nèi)非線性關(guān)系又可以近似為線性關(guān)系,所以用正規(guī)方程求待定參數(shù)的一個常見的特例就是回歸為線性,即求出關(guān)系式:y=α+βx中α,β的情況。解下式:
怠苖j=1[yj-(α+βxj)]2鄲=0
怠苖j=1[yj-(α+βxj)]2鄲=0
解得:
β=m∑xjyj-∑xj∑yjm∑x2j-∑xj2=∑xjyj-m?∑x2j-m2
α=∑yj/m-∑xj/mβ=-β
其擬合功能實現(xiàn)如下:
Dim a1 As SingleDim a2 As Single,Dim a3 As Single,Dim a4 As Single,Dim a5 As Single,Dim a6 As Single,Dim a7 As Single,Dim af As Single,Dim ab As Single,Dim N As Single,Dim i As Integer,N=20
For i = 1 To 20
a1 = a1 + x(i) * y(i)
a5 = a5 + y(i)
a6 = a6 + x(i)
a3 = a3 + x(i) ^ 2
Next
a2 = a5 * a6
a4 = a6 ^ 2
ab = (N * a1 - a2) / (N * a3 - a4)
af = a5 / N - a6 * ab / N
For i = 1 To 30
Picture2.PSet (x(i),y(i)),vbYellow
Next i
Picture2.DrawWidth = 1
Picture2.Line (2,af + 2 * ab)-(6,af + 6*ab),vbBlue
經(jīng)過擬合后的圖形如圖6所示。
圖6 擬合后的圖形
6 結(jié) 語
基于傳感器實驗臺的數(shù)據(jù)采集系統(tǒng)將傳感器實驗過程清晰地展現(xiàn)在學(xué)生面前,使學(xué)生能夠了解數(shù)據(jù)的變化趨勢和浮動范圍等。在對數(shù)據(jù)處理顯示的同時也可以將數(shù)據(jù)存儲起來。系統(tǒng)不僅可以完成傳感器的靜態(tài)實驗,還可以完成簡單的動態(tài)實驗,提高了實驗的可靠性和精確性。通過學(xué)生使用證明,它可以很好地對實驗數(shù)據(jù)進行采集處理以及顯示等功能的實現(xiàn),可以很好地完成多門課程的實驗。
參 考 文 獻
[1]何瑾,張燁軍,于彤彥.基于PCI總線的數(shù)據(jù)采集卡的設(shè)計[J].現(xiàn)代電子技術(shù),2006,29(17):109-110.
[2]張麗,闊永紅,傅豐林.基于PCI9054的數(shù)據(jù)采集系統(tǒng)的實現(xiàn)[J].現(xiàn)代電子技術(shù),2007,30(6):144-146.
[3]潘雪濤.基于CSY型傳感器實驗臺的位移測量特性分析與研究[J].自動化與儀器儀表,2005(4):64-68.
[4]李湘江,彭建.基于VB的實時數(shù)據(jù)采集程序設(shè)計[J].微計算機信息,2003(10):41-42,68.
[5]謝勤嵐,劉松齡.手指壓力數(shù)據(jù)采集系統(tǒng)[J].現(xiàn)代電子技術(shù),2006,29(23):77-78.
[6]網(wǎng)冠科技.Visual Basic 6.0控件時尚編程百例[M].北京:機械工業(yè)出版社,2002.
[7]王福杰,潘宏俠.基于VB的二維實時曲線顯示設(shè)計[J].電腦開發(fā)與應(yīng)用,2005,18(11):30-32.
[8]費業(yè)泰.誤差理論與數(shù)據(jù)處理[M].北京:機械工業(yè)出版社,2004.
[9]李飛,王江萍,孫志英.基于VB的數(shù)據(jù)采集與處理系統(tǒng)的研究[J].北京:計量技術(shù),2004(16):24-27.
[10]王新和,程世洲.曲線擬合的最小二乘法[J].新疆職業(yè)大學(xué)學(xué)報,2004,12(12):84-86.
作者簡介
范福玲 1965年出生,河南溫縣人,副教授。研究方向為測控技術(shù)與儀器。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。