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