基于C8051F020的伺服閥溫度零漂測控系統(tǒng)
以高性能單片機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所示。
?、僦鞒绦蛑饕瓿蒀8051F020系統(tǒng)初始化、設(shè)置系統(tǒng)時鐘,調(diào)按鍵處理和顯示程序以及ADC、DAC的設(shè)置等,根據(jù)讀取按鍵所選擇的功能調(diào)用相應(yīng)的子程序。
?、跇硕ǔ绦蛴脕磉M行系統(tǒng)測試精度的校準。程序根據(jù)校準需要,將輸入、輸出的信號通過內(nèi)部LED上的顯示與標準信號對比的方式來進行。
③LED顯示子程序和打印子程序主要完成輸入型號、編號的顯示和打印,以及數(shù)據(jù)處理后的溫度值零偏電流、零漂數(shù)值以及標定時的輸入電壓、輸出電流結(jié)果顯示與打印。
④溫度零漂測試程序完成控制加溫、降溫測溫,每到一個試驗溫度點上調(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為電流由正到負時壓差最小時的零點電流值,I10為負值;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)中去。
評論