1 系統(tǒng)方案設(shè)計
系統(tǒng)進入溫度零漂測試狀態(tài)時,,由嵌入式微計算機控制,升溫信號通過光電隔離控制固體繼電器組去驅(qū)動油箱里11個功率是kW級的加熱管快速升溫,。到某個測溫點時,,自動輸出經(jīng)D/A轉(zhuǎn)換后的模擬三角波周期信號加在伺服閥的繞組上,驅(qū)動伺服閥工作,,使得閥的兩個負載腔的壓力值隨控制電流大小呈差動變化,。壓力的變化作用在壓力變送器上,經(jīng)A/D不斷采樣比較,,當(dāng)差值為最小時(一個周期出現(xiàn)兩次最小值),,計算機由此計算出對應(yīng)加在伺服閥上的電流零偏值。當(dāng)循環(huán)到最高溫度后,,自動關(guān)閉加熱器,,并控制電磁閥打開水冷散熱器降溫,,然后重復(fù)以上測試過程,直到降溫回到起始溫度點,,結(jié)束測試,。這中間計算機實時顯示、打印當(dāng)前溫度點的溫度和所需要的數(shù)據(jù),,控制系統(tǒng)框圖如圖1所示,。
2 硬件組成
C8051F020是完全集成的混合信號系統(tǒng)級MCU芯片(SoC),單片內(nèi)集成了構(gòu)成一個單片機數(shù)據(jù)采集或控制系統(tǒng)所需要的幾乎所有模擬和數(shù)字外設(shè)及其他功能部件,。這些外設(shè)或功能部件包括:模擬多路選擇器,、ADC、可編程增益放大器,、DAC,、電壓比較器、電壓基準(zhǔn),、溫度傳感器、定時器,、內(nèi)部振蕩器,、RAM、Flash存儲器,、看門狗等,。其以“流水線”結(jié)構(gòu)方式處理指令,運行效率高,,大部分只要1個或2個系統(tǒng)時鐘,。這極大地簡化了硬件設(shè)計,可以很方便地在其外圍擴展相應(yīng)調(diào)理電路組成整個硬件系統(tǒng),。在D/A轉(zhuǎn)換通道電路中,,來自F020內(nèi)部電壓基準(zhǔn)VREF經(jīng)U1緩沖放大,作為U2負端的基準(zhǔn)電壓,,U3正端接F020的DA單級性輸出,,經(jīng)一階低通濾波器、緩沖放大處理后變?yōu)?~±5V輸出信號,。由于偏移電路的存在,,芯片D/A端口初始化設(shè)置前或復(fù)位瞬間,將產(chǎn)生-5mA的瞬間電流,,對伺服閥產(chǎn)生不良的沖擊,。為避免這一情況的發(fā)生,用一路I/O經(jīng)光電隔離后去控制一只OM-RON高響應(yīng)繼電器(約1 ms),,根據(jù)指令接通和斷開與伺服閥的連接,,如圖2所示,。
在A/D采集通道電路中,模擬輸入信號經(jīng)一階低通濾波器,,緩沖倒相后輸出,,如圖3所示,有三路相同的電路,,經(jīng)內(nèi)部模擬開關(guān)切換,。
8位LED顯示、5個軟鍵盤輸入,,采用了專用的CH452數(shù)碼管顯示驅(qū)動和鍵盤掃描控制芯片,,其外圍電路極簡單,接口速度快,、性能穩(wěn)定,,與C8051F020控制器采用4線串行接口,主要是以其硬件來實現(xiàn)其大部分功能,,編程相對簡單,,如圖4所示。
溫度的控制是由光電隔離電路,、G3NA-220B固體繼電器和水閥繼電器等器件所組成的,,分別用來控制油箱的加熱管或水冷散熱器以升溫和降溫。整個電路采取了多種抗干擾措施,,其中在輸入和輸出加有WS系列三端口V/V電壓輸入,、V/I電流輸出型隔離端子。溫度和壓力變送器的輸出信號為0~5 V,。電流輸出為0~±5 mA,,恒流特性,在閥繞組阻抗變化范圍內(nèi),,精度達0.2%,。
電源采用紋波較小、EMI較好的模塊式一體化的線性電源,。采用嵌入式微型打印機打印簡單的漢字和數(shù)據(jù),。
3 數(shù)據(jù)采集處理
系統(tǒng)的D/A模擬輸出Vo=5×(D-2 048)/2 048,D值范圍為0~4 096,,即為0~±5 V輸出,,經(jīng)V/I隔離轉(zhuǎn)換成0~±5 mA的控制電流。隔離器件精度優(yōu)于0.3%,。D/A模擬轉(zhuǎn)換電流分辨率=模擬電流值/D=5/2 048≈2.441 4μA
由于閥的遲滯存在,,要求加在伺服閥控制繞組上的三角波電流信號的頻率要低,其周期T=20 s。將組成周期三角波形的數(shù)字值放在DA中的4 096個緩存器中,。當(dāng)啟動DA自動轉(zhuǎn)換時,,由T3定時器控制,每20/4 096=0.004 882 s中斷一次,,將緩沖區(qū)的波形值送出,。由于采用的是22.118 4 MHz晶振作為時鐘源,C8051F020處理的速度很快,,在程序中斷的4.88 ms時間里完成采集和相關(guān)濾波處理計算是綽綽有余的,。系統(tǒng)同時對1路油溫、1路室溫,、2路壓力信號進行采集,,采樣頻率20 kHz,連續(xù)循環(huán)采集后,,進行去除最大和最小值和數(shù)字平均值濾波法對采集信號進行濾波,。
伺服閥溫度零漂試驗的升溫和降溫周期隨外界氣候而變化,大約1個多小時,,因為在溫度點測試時間相對較短,,即該點實際的溫度變化在約20 s的測試時間里變化不大,故對每個溫度點所采取的溫控相對簡單,,根據(jù)實測外界溫度和油溫,,程序在到某個溫度測試點前稍作控制,就能在20 s的時間里使控制精度不大于±2℃,。
4 系統(tǒng)軟件設(shè)計
本軟件采用C51進行編程。C51是一種專門用于51系列單片機編程的C語言,,繼承了標(biāo)準(zhǔn)C語言的絕大部分的特性,,但同時又在51系列的特定的硬件結(jié)構(gòu)上有所擴展;具有與c語言一樣的在功能上以及結(jié)構(gòu)性,、可讀性,、可維護性上的優(yōu)點,并且生成的目標(biāo)代碼效率非常高,。借助集成開發(fā)環(huán)境(IDE)Keil μVision3-C51,,在PC機上先初步進行各源程序模塊的創(chuàng)建、編輯,、連接后,,通過設(shè)斷點等來完成模擬調(diào)試、仿真,,并根據(jù)Keil μVision3界面上的各種信息找出程序錯誤,,并進行修改。最后將已實施完成好的整個應(yīng)用系統(tǒng)硬件按設(shè)計要求與外部有關(guān)信號和設(shè)備連接好,再通過串口適配器EC3與C8051F020配置的標(biāo)準(zhǔn)JTAG接口,,將生成的HEX目標(biāo)程序下載到芯片的Flash存儲器中,,直接在片對其進行非侵入式、不占用片內(nèi)資源,、全速在線的實時調(diào)試,、修改,直至達到設(shè)計要求,。
為了便于設(shè)計和維護,,采用自頂向下逐步細化的結(jié)構(gòu)化模塊設(shè)計方法,將具有獨立功能的子程序都設(shè)為子程序模塊,,相關(guān)的功能均由相應(yīng)的功能子程序?qū)崿F(xiàn),。主要程序流程如圖5、圖6所示,。
①主程序主要完成C8051F020系統(tǒng)初始化,、設(shè)置系統(tǒng)時鐘,調(diào)按鍵處理和顯示程序以及ADC,、DAC的設(shè)置等,,根據(jù)讀取按鍵所選擇的功能調(diào)用相應(yīng)的子程序。
②標(biāo)定程序用來進行系統(tǒng)測試精度的校準(zhǔn),。程序根據(jù)校準(zhǔn)需要,,將輸入、輸出的信號通過內(nèi)部LED上的顯示與標(biāo)準(zhǔn)信號對比的方式來進行,。
③LED顯示子程序和打印子程序主要完成輸入型號,、編號的顯示和打印,以及數(shù)據(jù)處理后的溫度值零偏電流,、零漂數(shù)值以及標(biāo)定時的輸入電壓,、輸出電流結(jié)果顯示與打印。
④溫度零漂測試程序完成控制加溫,、降溫測溫,,每到一個試驗溫度點上調(diào)用一次零偏測試程序,顯示,、實時打印,。
⑤零偏測試程序是這個系統(tǒng)的核心程序。調(diào)用此程序后,,定時器按設(shè)定的頻率將DAC緩沖區(qū)的數(shù)字三角波形值連續(xù)輸出,,并啟動ADC進行數(shù)據(jù)采集,數(shù)字濾波,、比較,、計算、標(biāo)度轉(zhuǎn)換顯示等。
⑥零偏電流的計算公式如下:
壓差Vp=VP1-VP2 零偏I[i]=(I1+I2)/2
零漂IP=(Imax-Imin) 百分比per=Ip/Ie×100%
Vp1,、Vp2分別是兩個負載腔的壓力值,;I1為電流由正到負時壓差最小時的零點電流值,I1<0為負值,;I2為電流由負到正時壓差最小時的零點電流值,,I2>0為正值;Imax,、Imin是對應(yīng)溫度零偏數(shù)組I[i]中的最大值,、最小值;Ie是額定電流值,。
5 結(jié) 論
該儀器設(shè)計相對簡潔,。人機界面友好,操作容易,,性價比較高,。實際現(xiàn)場應(yīng)用表明,整個系統(tǒng)運行平穩(wěn),,性能可靠,,提高了測試精度和生產(chǎn)效率。已成功應(yīng)用到南京機電液壓中心的伺服閥高溫試驗的測控中,。稍作改進,,可推廣到整個伺服閥的性能試驗的測控系統(tǒng)中去。