以高性能單片機C8051F020為核心控制芯片的自動測控系統(tǒng),能自動測溫,,到測溫點自動輸出線性電流,、自動采集負載壓力等,并進行計算,、顯示及打印測試數(shù)據(jù),,其可靠性、精度,、效率都大大提高,。
1 系統(tǒng)方案設(shè)計
系統(tǒng)進入溫度零漂測試狀態(tài)時,由嵌入式微計算機控制,,升溫信號通過光電隔離控制固體繼電器組去驅(qū)動油箱里11個功率是kW級的加熱管快速升溫,。到某個測溫點時,自動輸出經(jīng)D/A轉(zhuǎn)換后的模擬三角波周期信號加在伺服閥的繞組上,,驅(qū)動伺服閥工作,,使得閥的兩個負載腔的壓力值隨控制電流大小呈差動變化,。壓力的變化作用在壓力變送器上,,經(jīng)A/D不斷采樣比較,當差值為最小時(一個周期出現(xiàn)兩次最小值),,計算機由此計算出對應(yīng)加在伺服閥上的電流零偏值,。當循環(huán)到最高溫度后,自動關(guān)閉加熱器,,并控制電磁閥打開水冷散熱器降溫,,然后重復(fù)以上測試過程,,直到降溫回到起始溫度點,結(jié)束測試,。這中間計算機實時顯示,、打印當前溫度點的溫度和所需要的數(shù)據(jù),控制系統(tǒng)框圖如圖1所示,。
2 硬件組成
C8051F020是完全集成的混合信號系統(tǒng)級MCU芯片(SoC),,單片內(nèi)集成了構(gòu)成一個單片機數(shù)據(jù)采集或控制系統(tǒng)所需要的幾乎所有模擬和數(shù)字外設(shè)及其他功能部件。這些外設(shè)或功能部件包括:模擬多路選擇器,、ADC,、可編程增益放大器、DAC,、電壓比較器,、電壓基準、溫度傳感器,、定時器,、內(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)部電壓基準VREF經(jīng)U1緩沖放大,,作為U2負端的基準電壓,,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個緩存器中,。當啟動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語言,,繼承了標準C語言的絕大部分的特性,但同時又在51系列的特定的硬件結(jié)構(gòu)上有所擴展,;具有與c語言一樣的在功能上以及結(jié)構(gòu)性,、可讀性、可維護性上的優(yōu)點,,并且生成的目標代碼效率非常高,。借助集成開發(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配置的標準JTAG接口,將生成的HEX目標程序下載到芯片的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)的子程序,。
②標定程序用來進行系統(tǒng)測試精度的校準,。程序根據(jù)校準需要,,將輸入、輸出的信號通過內(nèi)部LED上的顯示與標準信號對比的方式來進行,。
?、跮ED顯示子程序和打印子程序主要完成輸入型號、編號的顯示和打印,,以及數(shù)據(jù)處理后的溫度值零偏電流,、零漂數(shù)值以及標定時的輸入電壓、輸出電流結(jié)果顯示與打印,。
?、軠囟攘闫瘻y試程序完成控制加溫、降溫測溫,,每到一個試驗溫度點上調(diào)用一次零偏測試程序,,顯示、實時打印,。
?、萘闫珳y試程序是這個系統(tǒng)的核心程序。調(diào)用此程序后,,定時器按設(shè)定的頻率將DAC緩沖區(qū)的數(shù)字三角波形值連續(xù)輸出,,并啟動ADC進行數(shù)據(jù)采集,,數(shù)字濾波、比較,、計算,、標度轉(zhuǎn)換顯示等。
?、蘖闫娏鞯挠嬎愎饺缦拢?/p>
壓差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)中去,。