《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于C8051F020的伺服閥溫度零漂測控系統(tǒng)
基于C8051F020的伺服閥溫度零漂測控系統(tǒng)
摘要: 以高性能單片機(jī)C8051F020為核心控制芯片的自動(dòng)測控系統(tǒng),,能自動(dòng)測溫,,到測溫點(diǎn)自動(dòng)輸出線性電流,、自動(dòng)采集負(fù)載壓力等,并進(jìn)行計(jì)算,、顯示及打印測試數(shù)據(jù),,其可靠性、精度,、效率都大大提高,。
Abstract:
Key words :

 

      以高性能單片機(jī)C8051F020為核心控制芯片的自動(dòng)測控系統(tǒng),能自動(dòng)測溫,,到測溫點(diǎn)自動(dòng)輸出線性電流,、自動(dòng)采集負(fù)載壓力等,并進(jìn)行計(jì)算,、顯示及打印測試數(shù)據(jù),,其可靠性、精度,、效率都大大提高,。

  1 系統(tǒng)方案設(shè)計(jì)

  系統(tǒng)進(jìn)入溫度零漂測試狀態(tài)時(shí),,由嵌入式微計(jì)算機(jī)控制,,升溫信號(hào)通過光電隔離控制固體繼電器組去驅(qū)動(dòng)油箱里11個(gè)功率是kW級(jí)的加熱管快速升溫。到某個(gè)測溫點(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ù)以上測試過程,,直到降溫回到起始溫度點(diǎn),結(jié)束測試,。這中間計(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所示,。

  溫度的控制是由光電隔離電路,、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)測試時(shí)間相對(duì)較短,,即該點(diǎn)實(shí)際的溫度變化在約20 s的測試時(shí)間里變化不大,,故對(duì)每個(gè)溫度點(diǎn)所采取的溫控相對(duì)簡單,根據(jù)實(shí)測外界溫度和油溫,,程序在到某個(gè)溫度測試點(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ì)要求,。

  為了便于設(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)測試精度的校準(zhǔn),。程序根據(jù)校準(zhǔn)需要,,將輸入、輸出的信號(hào)通過內(nèi)部LED上的顯示與標(biāo)準(zhǔn)信號(hào)對(duì)比的方式來進(jìn)行,。

 ?、跮ED顯示子程序和打印子程序主要完成輸入型號(hào)、編號(hào)的顯示和打印,,以及數(shù)據(jù)處理后的溫度值零偏電流,、零漂數(shù)值以及標(biāo)定時(shí)的輸入電壓、輸出電流結(jié)果顯示與打印,。

 ?、軠囟攘闫瘻y試程序完成控制加溫、降溫測溫,,每到一個(gè)試驗(yàn)溫度點(diǎn)上調(diào)用一次零偏測試程序,,顯示、實(shí)時(shí)打印。

 ?、萘闫珳y試程序是這個(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)場應(yīng)用表明,,整個(gè)系統(tǒng)運(yùn)行平穩(wěn),性能可靠,,提高了測試精度和生產(chǎn)效率,。已成功應(yīng)用到南京機(jī)電液壓中心的伺服閥高溫試驗(yàn)的測控中。稍作改進(jìn),,可推廣到整個(gè)伺服閥的性能試驗(yàn)的測控系統(tǒng)中去,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。