李瑜芳
(福建信息職業(yè)技術(shù)學(xué)院 示范辦公室,福州 350003)
VIATT:一種用于角度傳感器智能測試的虛擬儀器
李瑜芳
(福建信息職業(yè)技術(shù)學(xué)院 示范辦公室,福州 350003)
基于虛擬儀器的概念,利用單片機、步進電機及VB語言等技術(shù)將傳感器測試平臺、傳感器輸出信號采集及傳感器靜態(tài)特性分析相融合,改進并提出了基于Sigmond型函數(shù)的升降速特性曲線用于步進電機的驅(qū)動,以提高系統(tǒng)運行的平穩(wěn)性。設(shè)計并制作了角度傳感器智能測試虛擬儀器(VIATT)以對角度傳感器的靜態(tài)特征進行自動檢測,實驗測試結(jié)果表明,該VIATT能夠?qū)嵌葌鞲衅魈匦赃M行自動化測試,可自動保存并輸出線性度、遲滯和重復(fù)性等特性曲線,驗證了本文設(shè)計的VIATT用于角度傳感器性能測試的可行性,具有重要的工程實際應(yīng)用價值。
角度傳感器;虛擬儀器;智能測試;升降速曲線;人機界面
虛擬儀器(Virtual Instrument,VI)概念最初由美國國家儀器公司(National Instrument,NI公司)提出,由硬件和軟件兩部分組成,是計算機技術(shù)、通信技術(shù)和測試技術(shù)相結(jié)合的產(chǎn)物。集成化的虛擬儀器與現(xiàn)實世界的實用信號相連,利用高效靈活的軟件來完成各種測試及自動化操作,得到了廣泛的應(yīng)用[1-3]。隨著人們對裝備的可靠性及精準(zhǔn)度要求的提高,伺服系統(tǒng)在各領(lǐng)域得到了廣泛的應(yīng)用,作為過程參量獲取的傳感器受到日益的關(guān)注,傳感器產(chǎn)業(yè)也隨之迅猛發(fā)展。發(fā)展高度自動化的傳感器生產(chǎn)及測試平臺,使我國傳感器產(chǎn)業(yè)向著高精化、規(guī)?;l(fā)展,已成為一項亟待解決的關(guān)鍵問題。
角度傳感器作為伺服系統(tǒng)中一種角度反饋方式,已被廣泛應(yīng)用于制造業(yè)、自動化產(chǎn)業(yè)及光電系統(tǒng)等重要領(lǐng)域,以獲取過程控制參量[4-5]。角度傳感器的性能特征直接影響著伺服系統(tǒng)的運行,因此在角度傳感器的研制及應(yīng)用中,都必須進行其相關(guān)性能參數(shù)的測試及標(biāo)定工作[6-7]。目前工業(yè)中廣泛應(yīng)用的測試方法中測試平臺,數(shù)據(jù)采集系統(tǒng)及特性分析系統(tǒng)各部分彼此獨立,需要手動調(diào)節(jié)及繪圖分析,自動化程度低,存在著耗時長,誤差大,且不易進行計算機保存和后續(xù)數(shù)據(jù)分析等缺點[6-]。為克服該缺點,本文設(shè)計了一種新型角度傳感器智能測試虛擬儀器(Virtual Instrument for Angular Transducer Test,以下簡稱為VIATT),并提出了一種控制步進電機升降速的Sigmond函數(shù)型曲線模型。
本文的后續(xù)內(nèi)容主要包括:第二部分給出了VIATT的結(jié)構(gòu)設(shè)計與工作原理,詳細介紹了控制電路,改進的步進電機升降速驅(qū)動方式及人機界面的實現(xiàn);第三部分給出了測試結(jié)果;最后第四部分給出了本文的主要結(jié)論。
常用的角度傳感器主要有感應(yīng)同步器、傾斜開關(guān)和編碼器等,主要作用為將角度信號按一定規(guī)律轉(zhuǎn)換為電信號。在制作及應(yīng)用過程中,需要測試其靜態(tài)特性,主要包括線性度、靈敏度、遲滯性及重復(fù)性。本文設(shè)計的角度傳感器智能測試虛擬儀器的主要作用就是測試其輸出信號對輸入角度的依賴特征,以分析其靜態(tài)性能。
本文所設(shè)計的VIATT由硬件及軟件組成,其結(jié)構(gòu)框圖如圖1(a)所示,所制作樣機的實物圖如圖1(b)所示。硬件主要包括傳感器支架、步進電機、控制電路及計算機四個部分;軟件包括單片機控制程序、傳感器支架角度自動調(diào)節(jié)程序、待測傳感器輸出信號自動采集程序及傳感器特性測試程序四個部分。
傳感器支架用于固定待測傳感器,并在步進電機的驅(qū)動下帶動傳感器按照程序設(shè)定的運動角度運動。步進電機的變向,啟動和停止等操作均由控制電路實現(xiàn),控制電路作為下位機兼有信號采集及驅(qū)動步進電機等功能,并通過1個USB口與上位計算機相連接,實現(xiàn)雙向通信。在上位機中,采用VB語言進行編程,實現(xiàn)信號控制、特性分析及儀器界面顯示等功能。
在工作過程中,上位機通過USB口向下位機發(fā)出傳感器旋轉(zhuǎn)角度的控制指令,控制電路根據(jù)控制指令,促使步進電機驅(qū)動器輸出相應(yīng)的控制電流驅(qū)動步進電機,精確驅(qū)動步進電機轉(zhuǎn)過預(yù)設(shè)角度,從而帶動待測角度傳感器轉(zhuǎn)動該角度。同時,控制電路及時采集該待測角度傳感器輸出的電壓傳感信號,并通過USB口送入上位機數(shù)據(jù)庫存儲。上位機根據(jù)傳感器支架旋轉(zhuǎn)的角度(X軸)和待測角度傳感器的輸出電壓(Y軸)繪制工業(yè)實時數(shù)據(jù)曲線。通過多點測試、正反行程測試及重復(fù)測試等,該VIATT直接給出該待測角度傳感器線性度、靈敏度、遲滯性和重復(fù)性等特性曲線。
圖1 VIATT結(jié)構(gòu)組成示意圖
控制電路要實現(xiàn)采集信號、驅(qū)動步進電機及利用USB接口進行雙向通信等功能,因此核心硬件的選擇至關(guān)重要。本文采用32位單片機STM32PIN100和單軸步進電機驅(qū)動器THB7128 3A作為核心控制元件,實現(xiàn)控制電路的設(shè)計,以滿足功能要求。
所采用的單片機為基于ARM Cortex2M3內(nèi)核的STM32系列32位閃存微控制器,STM32具有自己獨特 的 優(yōu) 點,非 常 適 用 于 實 時 控 制[10-11]。STM32在Cortex2M3架構(gòu)上進行了多項改進,可以選擇睡眠及待機模式,7個TIM可以產(chǎn)生最多28個精準(zhǔn)的PWM信號,同時豐富的通信模塊便于與上位機進行通信。相對于ARM系列其他芯片,STM32具有運行速度快,功耗低及功能全等優(yōu)點,可極為方便的用于步進電機的控制。
圖2 控制電路主要電路圖
工作過程中,當(dāng)主控芯片STM32接收到上位機發(fā)送的控制指令后,將其轉(zhuǎn)化為用于控制步進電機的PWM信號和方向控制信號,光電耦合隔離后經(jīng)三極管放大輸出。通過步進電機驅(qū)動器對步進電機進行細分驅(qū)動,以增加步進電機運行的平穩(wěn)性。通過光電耦合隔離,控制電路具有良好的電絕緣能力和抗干擾能力,由于光耦合器的輸入端屬于電流型工作的低阻元件,具有很強的共模抑制能力。三極管放大器采用開漏輸出,以方便邏輯功能的實現(xiàn),同時通過外接不同上拉電阻以增強外圍的驅(qū)動能力??刂齐娐凡糠种饕娐穲D如圖2所示。
步進電機是一種將電脈沖信號轉(zhuǎn)換成相應(yīng)的角位移或直線位移的變換器,具有誤差不累積的優(yōu)勢,是用于精確控制傳感器旋轉(zhuǎn)角度的很好選擇。而解決步進電機的平穩(wěn)運行問題,即合理選擇步進電機的升降速運行曲線使之不失步且不發(fā)生過沖,為其關(guān)鍵技術(shù)。常見的三種步進電機升降速運行曲線:階梯升降速方式,直線升降速方式及定時常數(shù)方式均具有不可避免的缺陷:階梯升降速方式下步進電機的轉(zhuǎn)速躍升至臺階后將恒速運轉(zhuǎn),未能充分利用步進電機的加速性能,且在高頻段躍遷時,易于發(fā)生失步現(xiàn)象;直線升降速下加速度恒定,未充分考慮步進電機輸出力矩隨速度變化的特性,且在高速運動時將發(fā)生失步;定時常數(shù)遞減(遞加)升(降)速方式下,每遞減一個常數(shù),升速曲線呈下凹型,在低頻時升速太慢,而高速時升速又太快[12]。
步進電機的驅(qū)動脈沖的頻率與轉(zhuǎn)子的角加速度成正比關(guān)系,穩(wěn)定工作階段,轉(zhuǎn)子的角加速度α正比于驅(qū)動頻率f對時間t的微分。
式中K為系統(tǒng)常數(shù),A和B為待定常數(shù)。
對1式進行Laplace變化,可解得驅(qū)動頻率f(t)的頻域解F(s)為:
考慮變速以初值頻率f0開始,對方程式(2)進行逆拉氏變換及整理后得到:
由(4)式可知,常數(shù)τ決定驅(qū)動脈沖頻率f隨t的變化規(guī)律,其值的大小由具體的驅(qū)動系統(tǒng)所決定。為了充分發(fā)揮電機的快速性能,通常使電機在低于啟動頻率下啟動,然后逐步增加脈沖頻率直到所希望的速度,所選擇的變化速率要保證電機不發(fā)生失步,并盡量縮短啟動加速時間。為了保證電機的定位精度,在停止以前必須使電機從最高速度逐步減小脈沖頻率降到能夠停止的速度(等于或稍大于啟動速度)。
由以上分析可知,最優(yōu)矩頻特性的升速曲線應(yīng)為Sigmond函數(shù)類型。升速過程應(yīng)該分為三個階段,如圖3所示。0-t1階段是升速加速度曲線的第一段,速度曲線下凹;t1–t2階段是升速加速度曲線的第二段,速度曲線為直線;t2–t3階段是升速加速度曲線的第三段,速度曲線上凸。這種S型函數(shù)加減速在不同階段的加速度不同,且保證速度連續(xù)變化,使步進電機平穩(wěn)性及運動精度更高。
工作過程中,步進電機驅(qū)動器將按式(4)產(chǎn)生序列驅(qū)動脈沖,脈沖方波由定時器產(chǎn)生,加速和減速過程通過計算機不斷修改定時器初值實現(xiàn)。假設(shè)以啟動瞬時為時間零點開始計算脈沖數(shù),加速階段0-t1的脈沖數(shù)為n,定時器初值為D1,f0為晶振頻率,f1為啟動頻率,定時器初值減量為△。從加速階段的物理過程可知,第一個脈沖周期的啟動頻率為f1=f0/D1,脈沖周期為T1=1/f1,定時寬度t1=0。由于定時器初值的修改,第二個脈沖周期為T2=(D1-△)/f0=T1-△/f0,脈沖定時t2=T1。在0-t1階段第n個脈沖的周期為
圖3 步進電機最優(yōu)升速曲線示意圖
t1–t2階段和t2–t3階段的△將做相應(yīng)改變,在電機加速階段,從啟動瞬時開始,每產(chǎn)生一個脈沖,定時器初值減小某一定值,則相應(yīng)的脈沖周期減小,即脈沖頻率增加,加速度以指數(shù)增加,以保證啟動時加速度平緩,隨之快速增加,這樣一方面使加速度平穩(wěn)過渡,有利于提高機器的運行平穩(wěn)性及定位精度,另一方面可以縮短加速過程,提高動態(tài)響應(yīng)特性。在減速階段,定時器初值不斷增加,則相應(yīng)的脈沖周期增大,脈沖頻率減小,且加速度為負,類似的加速度絕對值指數(shù)形式減小。采用這種S型函數(shù)的步進電機升降速曲線能充分利用步進電機的有效轉(zhuǎn)矩,縮短升降速響應(yīng)時間,提高機器的運行平穩(wěn)性及定位精度。
本文采用VB語言編寫軟件實現(xiàn)測試結(jié)果的可視化,該軟件適用性較強,適合于各種特性的分析。采用VB中Picture Box繪制實時數(shù)據(jù)曲線,并將繪制的統(tǒng)計圖以Bmp格式保存。筆者認為在編寫過程中,正確使用Picture Box控件必須注意以下幾點:
(1)Auto Redraw屬性需要設(shè)置成True;
(2)Back Color屬性可以設(shè)置統(tǒng)計圖的圖紙顏色,本例中選擇白色;
(3)Picture的坐標(biāo)原點默認為在圖象的左上角,水平X軸向右為正,垂直Y軸向下為正。
以下給出了顯示坐標(biāo)系的程序部分:
Picture6.Scale(-40,540)-(950,-40)
Picture6.Line(0,0)-(900,0) '畫出 X軸直線
Picture6.Line(0,0)-(0,500) '畫出 Y軸直線
Picture6.CurrentX=890
Picture6.CurrentY=10
Picture6.Print"角度(度)"
Picture6.CurrentX=0
Picture6.CurrentY=520
Picture6.Print"電壓(伏)"
Fori=1 To 16
Picture6.Line(0,0+i* 25) -(10,0+i* 25)
Picture1.DrawStyle=2
Picture6.Line(0,0+i* 50) -(900,0+i* 50)
Picture6.DrawStyle=1
Picture6.CurrentX= -30
Picture6.CurrentY=10+i* 50
s=Str$(i* 0.5)
Picture6.Print Format$(s,"0.00")
Nexti
For k=1 To 27
Picture6.Line(0+k* 30,0) -(k* 30,10)
Picture6.DrawStyle=2
Picture6.Line(0+k* 60,0) -(k* 60,500)
Picture6.DrawStyle=1
Picture6.CurrentX=k* 60 - 10
Picture6.CurrentY= -10
s=Str$(k* 6)Tn=T1-(n-1)△/f0,脈沖定時為:
Picture6.Print s
Next k
本文設(shè)計制作了VIATT樣機,其技術(shù)指標(biāo)如下為:(1)角度測量范圍為0°<γ<90°;(2)測試系統(tǒng)分辨率為ρ≤0.012°;(3)精度為ζ≤0.0007°。圖4(a)和圖4(b)分別示出了該VIATT數(shù)據(jù)測量可視化主界面及數(shù)據(jù)庫操作界面。針對某一角度傳感器,本文對其進行了自動測試,其線性度,遲滯特征及重復(fù)性測試結(jié)果分別如圖5(a),圖5(b)及圖5(c)所示。測試結(jié)果驗證了本文設(shè)計的VIATT用于角度傳感器性能自動測試系統(tǒng)的正確性及可行性。
為驗證VIATT測試結(jié)果的精確性,本文采用一系列已知特性的角度傳感器作為被測對象進行測試,并將采用該VIATT獲得的測試結(jié)果與廠家給定的出廠測試參數(shù)進行對比。限于篇幅,本文僅以線性度作為測試指標(biāo)進行驗證,測試結(jié)果如表1所示。由表1可知,測試結(jié)果均與廠家給定的參數(shù)值相符,說明該VIATT測試系統(tǒng)可以準(zhǔn)確的用于角度傳感器性能的測試。
在測試過程中,從0-90°中每2o測量一次,采用VIATT測量,上述45個點的測試過程為1.5分鐘。如果采用傳統(tǒng)的手工測試方法,其所需完成的步驟為:第一步需手動調(diào)節(jié)測試臺角度;第二步傳感器信號采樣;第三步用儀器測試傳感器在該角度下的輸出;第四步記錄并手工繪出特性圖中的一個點。經(jīng)過以上4步完成一個點的測試,如此反復(fù)。若完成上述45個點的測試工作,需重復(fù)測取45次,一個熟練工通常需要225分鐘。由此可見,采用該VIATT測試系統(tǒng),極大的提高了檢測的自動化程度,同時明顯提高了工作效率,降低了人力成本。
值得指出的是,在樣機制作中,采用的是低性能的廉價步進電機,且為128細分驅(qū)動,若采用256細分的步進電機驅(qū)動,并選擇精度更高的步進電機,則可進一步提高測試分辨率和測試精度。
圖4 VIATT可視化界面
圖5 VIATT測試結(jié)果
表1 角度傳感器線性度測試
基于虛擬儀器的概念,設(shè)計并制作了角度傳感器智能測試虛擬儀器(VIATT),將傳感器測試平臺、傳感器輸出信號采集及傳感器靜態(tài)特性分析相融合,具有高度的自動化程度。采用步進電機驅(qū)動被測傳感器,為獲得平穩(wěn)及高精度的運動特征,改進并提出了一種Sigmond函數(shù)型升降速曲線用于步進電機的驅(qū)動。采用32位單片機STM32PIN100設(shè)計了主控電路,并借助USB接口實現(xiàn)了其與上位機間的雙向通信,使用VB語言編寫軟件實現(xiàn)測試結(jié)果的可視化。最后進行了測試實驗,實驗結(jié)果表明該VIATT能夠?qū)嵌葌鞲衅魈匦赃M行自動化測試,可自動保存并輸出線性度、遲滯和重復(fù)性等特性曲線,驗證了本文設(shè)計的VIATT用于角度傳感器性能測試的可行性,具有重要的工程實際應(yīng)用價值。
[1] J.Jayapandian,O.K.Sheela,A.Thiruarul,S.Kalavathi,Embedded Design and Virtual Instrument Simplifies X -Ray Diffractometer Setup Automation[J].Journal of the Association for Laboratory Automation,2006,115(5):304-308.
[2] J.Jayapandian,K.Gururaj,S.Abhaya,J.Parimala,et al.Embedded design based virtual instrument program for positron beam automation[J].Applied Surface Science,2008,255(1):104 -107.
[3] 馬軍山,王向朝,方祖捷等,精密角度傳感器及其標(biāo)定技術(shù)的研究[J].光學(xué)學(xué)報,2001,21(2):232-235.
[4] 李瑜芳.基于關(guān)聯(lián)數(shù)據(jù)融合的地表移動傳感器節(jié)點研究[J].福建農(nóng)林大學(xué)學(xué)報,2011(3):322-327.
[5] 李瑜芳.傳感器原理及其應(yīng)用[M].成都:電子科技大學(xué)出版社,2008.
[6] 黃法恒,劉利.基于單片機的步進電機升降速及精度控制研究[J].微電機,2010(3):95-97.
VIATT:A Virtual Instrument for the Intelligent Testing of Angular Transducer
LI Yu-fang
(Normal Department,F(xiàn)ujian Polytechnic of Information Technology,F(xiàn)uzhou 350003,China)
Based on the concept of virtual instruments,this paper integrates the testing platform,output data acquisition and static character analysis of sensors by using the technologies of MCU,stepper motor and VB language and presents the method for improving the driving of a Sigmond function-based acceleration and deceleration curve to improve system running stability.It designs and makes the virtual instrument for intelligent testing of angular transducer(VIATT)to automatically detect the static character.The experiment results indicate that VIATT can automatically test the performances of angular sensors,and can also automatically output and save the characteristic curves such as the linearity,hysteresis and repeatability of the output,which verifies the feasibility of VIATT in testing performances of angular sensors,and it has significant values for engineering applications.
angular sensor;virtual instrument;intelligent testing;acceleration and deceleration curve;human-computer interface
TP333.96
A
1009-3907(2011)12-0036-05
2011-10-26
福建省教育廳科技A類資助項目(JA10286)
李瑜芳(1963-),女,福建龍巖人,副教授,主要從事電子技術(shù)應(yīng)用,傳感器應(yīng)用技術(shù)方面研究。
責(zé)任編輯:吳旭云