引言
以C8051F020單片機(jī)為核心的智能氣動(dòng)泵控制系統(tǒng),能很好地解決在火炮身管氣動(dòng)擦拭過程中遇到的氣體計(jì)量問題,因?yàn)镃8051F020單片機(jī)在模擬信號(hào)的采集和模數(shù)、數(shù)模轉(zhuǎn)換及模擬信號(hào)的輸出等功能方面作出了許多的完善,非常適合于軍工業(yè)控制系統(tǒng)的自動(dòng)化和智能化發(fā)展。
1 C8051F020單片機(jī)功能簡(jiǎn)介
C8051F020器件是完全集成的混合信號(hào)系統(tǒng)級(jí)MCU芯片,具有64個(gè)數(shù)字I/O引腳。其主要特性:1)高速、流水線結(jié)構(gòu)的8051兼容的CIP-51內(nèi)核(可達(dá)25MIPS);2)全速、非侵入式的在系統(tǒng)調(diào)試接口(片內(nèi));3)真正12位、100ks/s的8通道ADC,帶PGA和模擬多路開關(guān);4)真正8位500ks/s的ADC,帶PGA和8通道模擬多路開關(guān);5)兩個(gè)12位DAC,具有可編程數(shù)據(jù)更新方式;6)64KB可在系統(tǒng)編程的FLASH存儲(chǔ)器;7)4352(4096+256)B的片內(nèi)RAM;8)可尋址64KB地址空間的外部數(shù)據(jù)存儲(chǔ)器接口;9)硬件實(shí)現(xiàn)的SPI、SMBus/I2C和兩個(gè)UART串行接口;10)5個(gè)通用的16位定時(shí)器;11)具有5個(gè)捕捉/比較模塊的可編程計(jì)數(shù)器/定時(shí)器陣列;12)片內(nèi)看門狗定時(shí)器、VDD監(jiān)視器和溫度傳感器。
具有片內(nèi)VDD監(jiān)視器、看門狗定時(shí)器和時(shí)鐘振蕩器的C8051F020是真正能獨(dú)立工作的片上系統(tǒng)。所有模擬和數(shù)字外設(shè)均可由用戶固件使能/禁止和配置。FLASH存儲(chǔ)器還具有在系統(tǒng)重新編程能力,可用于非易失性數(shù)據(jù)存儲(chǔ),并允許現(xiàn)場(chǎng)更新8051固件。片內(nèi)JTAG調(diào)試電路允許使用安裝在最終應(yīng)用系統(tǒng)上的產(chǎn)品MCU進(jìn)行非侵入式(不占用片內(nèi)資源)、全速、在系統(tǒng)調(diào)試。在使用JTAG調(diào)試時(shí),所有的模擬和數(shù)字外設(shè)都可全功能運(yùn)行。每個(gè)MCU都可在工業(yè)溫度范圍(-45~+85℃)內(nèi)用2.7~3.6V的電壓工作。端口I/O、/RST和JTAG引腳都容許5V的輸入信號(hào)電壓。
2 系統(tǒng)工作原理及結(jié)構(gòu)設(shè)計(jì)
氣動(dòng)泵控制系統(tǒng)要實(shí)現(xiàn)對(duì)氣體流量進(jìn)行有效控制,包括采集氣體流量信息和實(shí)時(shí)控制氣體流量??刂葡到y(tǒng)是以單片機(jī)為核心的監(jiān)測(cè)與調(diào)控,可以獨(dú)立地完成氣體流量信息的采集、處理和顯示,還可通過標(biāo)準(zhǔn)的RS-485接口與上位機(jī)實(shí)現(xiàn)通信。系統(tǒng)原理結(jié)構(gòu)框圖如圖1所示,它是一個(gè)小型的分布式數(shù)據(jù)采集與控制系統(tǒng),主要由微控制器、氣體流量傳感器及其補(bǔ)償電橋、鍵盤和液晶顯示模塊、動(dòng)作執(zhí)行機(jī)構(gòu)和上位機(jī)組成。
圖1 系統(tǒng)工作原理圖
系統(tǒng)選用C8051F020作為系統(tǒng)的微控制器。它的主要作用是:1)通過設(shè)置其內(nèi)部的差分電路對(duì)氣體流量進(jìn)行采樣;2)根據(jù)給定的兩個(gè)流量限值(上限和下限)進(jìn)行判斷,給出動(dòng)作執(zhí)行機(jī)構(gòu)相應(yīng)指令;3)將處理后的采樣流量通過I/O口輸送給液晶顯示器,同時(shí)經(jīng)485總線輸送給上位機(jī)。
上位機(jī)將接收到的采樣氣體流量、兩個(gè)流量限值實(shí)時(shí)顯示,實(shí)現(xiàn)對(duì)流量的實(shí)時(shí)監(jiān)測(cè)。系統(tǒng)還允許從上位機(jī)修改流量上下限值。
鍵盤和液晶顯示模塊主要完成的功能為:通過鍵盤可以修改兩個(gè)流量限值;液晶顯示器將采樣流量、上下限流量顯示,顯示氣體流量調(diào)節(jié)過程。
采用氣體流量傳感器測(cè)得的流量模擬信號(hào),經(jīng)平衡電橋?qū)ζ溥M(jìn)行線性補(bǔ)償,再經(jīng)多路開關(guān)分時(shí)送入A/D轉(zhuǎn)換器變成數(shù)字量傳給C8051F020單片機(jī)。
執(zhí)行機(jī)構(gòu)主要通過接受單片機(jī)發(fā)出的命令,對(duì)系統(tǒng)的負(fù)載提供信號(hào),控制調(diào)節(jié)閥開啟的大小,使實(shí)際流量逐漸接近,到達(dá)到給定流量,完成自動(dòng)調(diào)節(jié)過程。例如,當(dāng)采樣流量比上限值低時(shí),輸出一個(gè)信號(hào)給執(zhí)行機(jī)構(gòu)1;當(dāng)高于上限值時(shí),輸出一個(gè)控制信號(hào)給執(zhí)行機(jī)構(gòu)2。
3 系統(tǒng)的硬件設(shè)計(jì)
系統(tǒng)的硬件設(shè)計(jì)采用模塊式結(jié)構(gòu),結(jié)構(gòu)緊湊,有利于調(diào)試和維護(hù)。系統(tǒng)硬件電路設(shè)計(jì)包括四大部分:?jiǎn)纹瑱C(jī)核心控制模塊、氣體流量檢測(cè)模塊、液晶顯示模塊、控制執(zhí)行模塊和通信模塊。
3.1 單片機(jī)核心控制模塊
單片機(jī)核心控制模塊的設(shè)計(jì)主要包括C8051F020單片機(jī)的最小系統(tǒng)、鍵盤及液晶顯示電路的設(shè)計(jì)。其中,AIN0.0和AIN0.1作為氣體流量采樣的輸入端;P0.0和P0.1為通信提供輸入/輸出信號(hào);P1口作為鍵盤引出端;P6口和P5口的部分引腳作為液晶的數(shù)據(jù)口和控制口;P2.4和P2.5分別作為可執(zhí)行機(jī)構(gòu)1和2的控制信號(hào)輸出端。CGM12864B點(diǎn)陣液晶顯示屏是由2片帶控制器的列驅(qū)動(dòng)電路KS0108和1片行驅(qū)動(dòng)電路KS0107組成主要的硬件電路。顯示方面由1片128×64像素的液晶片組成。KS0108將顯示區(qū)分為左右半屏,整個(gè)屏從上到下64行分為8頁(yè),每頁(yè)8行。其液晶顯示電路如圖2所示。
圖2 液晶顯示電路圖
3.2 氣體流量檢測(cè)模塊
該模塊主要由氣體流量傳感器、整形放大電路、多路開關(guān)和A/D轉(zhuǎn)換器轉(zhuǎn)換電路等組成。主要完成將傳感器檢測(cè)到的與氣體流量相對(duì)應(yīng)的模擬量作整形放大,變成C8051F020單片機(jī)能接收的數(shù)字量。
被測(cè)氣體在規(guī)定的流量、壓力范圍內(nèi)通過流量計(jì)時(shí),其瞬時(shí)容積流量Qi為
Qi=N/ξi (1)
式中,N為1s內(nèi)輸出的脈沖數(shù);ξi為流量計(jì)系數(shù)。
檢測(cè)氣體流量時(shí),CPU內(nèi)部定時(shí)器/計(jì)數(shù)器CTC1不斷采樣流量計(jì)輸出的脈沖數(shù),并通過硬件中斷每秒對(duì)測(cè)得的流量運(yùn)算一次,求得被測(cè)氣體的瞬時(shí)容積流量Qi和累計(jì)容積流量Qv。
3.3 控制執(zhí)行模塊
控制執(zhí)行模塊主要作用是對(duì)外部輔助設(shè)備進(jìn)行控制,如空氣壓縮機(jī)。本系統(tǒng)的外部電路接口,通過一個(gè)三極管電路,可以方便的與外部電路連接,單片機(jī)控制外部繼電器電路圖如圖3所示。
圖3 繼電器電路圖
3.4 通信模塊
為實(shí)現(xiàn)單片機(jī)與上位機(jī)之間長(zhǎng)距離有效數(shù)據(jù)通信,通信模塊采用MAX485芯片,利用RS485標(biāo)準(zhǔn)設(shè)計(jì),配置P0口的P0.0和P0.1為TX0和RX0引腳,與MAX485的RO和DI相連,由于微機(jī)串口利用RS232標(biāo)準(zhǔn),單片機(jī)串口輸出為TTL標(biāo)準(zhǔn),必須實(shí)現(xiàn)標(biāo)準(zhǔn)信號(hào)間的轉(zhuǎn)換。電路設(shè)計(jì)如圖4所示。
圖4 RS485通信電路圖
4 氣體流量控制
在氣體流量測(cè)量的基礎(chǔ)上,給定值和實(shí)際測(cè)得的瞬時(shí)流量進(jìn)行比較后算出偏差,然后對(duì)氣體流量進(jìn)行調(diào)節(jié)。由于氣體流量系統(tǒng)的精確數(shù)學(xué)模型很難獲得,而模糊控制算法具有人的智能思維、適應(yīng)性好、魯棒性強(qiáng)等特點(diǎn),正適用于這類系統(tǒng)。因此,采用模糊控制算法對(duì)氣體流量進(jìn)行自動(dòng)控制,可取得良好的控制特性,其模糊控制器框圖如圖5所示。
圖5 糊控制器框圖
模糊控制器采用雙輸入、單輸出的二維結(jié)構(gòu)。輸入變量為瞬時(shí)流量偏差e和偏差變化c,輸出變量為控制量u。其模糊子集分別為
E={NL, NM, NS, NO, PO, PS, PM, PL}
C={NL, NM, NS, O, PS, PM, PL}
U={NL, NM, NS, O, PS, PM, PL}
它們的論域分別為
E={-6,-5,-4,-3,-2,-1,-0, +0, 1, 2, 3, 4, 5, 6}
C={-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6}
U={-7,-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6, 7}
當(dāng)瞬時(shí)流量變化時(shí),通過驅(qū)動(dòng)調(diào)節(jié)閥,控制其開啟的大小及變化規(guī)律,使偏差趨近于零。根據(jù)氣體流量的參數(shù)特點(diǎn)和現(xiàn)場(chǎng)實(shí)際操作經(jīng)驗(yàn)及專家的知識(shí)理論,總結(jié)出模糊控制規(guī)則表,如表1所示。
選擇模糊控制規(guī)則是模糊控制器的關(guān)鍵問題。為了更好地提高控制精度,本系統(tǒng)采用帶有4個(gè)調(diào)整因子的控制規(guī)則:
其中,0<α1<α2<α3<α4<1,本系統(tǒng)選擇:α1=0.26,α2=0.58,α3=0.76,α4=0.86。代入上式運(yùn)算后經(jīng)反復(fù)修改和實(shí)際調(diào)試,得到了實(shí)用的模糊控制查詢表,如表2所示。
5 系統(tǒng)的軟件設(shè)計(jì)及抗干擾措施
軟件的設(shè)計(jì)包括系統(tǒng)下位機(jī)和上位機(jī)的設(shè)計(jì)。
5.1 下位機(jī)程序設(shè)計(jì)
下位機(jī)程序主要進(jìn)行C8051F020單片機(jī)系統(tǒng)的初始化、端口配置、A/D初始化、液晶以及鍵盤掃描初始化。為防止誤動(dòng)作,無意中改變系統(tǒng)的有關(guān)參數(shù),造成人為計(jì)量誤差,系統(tǒng)可設(shè)置“密碼”,保證測(cè)量的可靠性和準(zhǔn)確性,具體流程如圖6所示。
圖6 流程圖
模糊控制中的控制算法由程序?qū)崿F(xiàn)。包括兩部分,一是離線計(jì)算模糊控制查詢表,二是在實(shí)時(shí)控制過程中在線輸入變量,并將它們作模糊量化處理,然后查找模糊控制查詢表后進(jìn)行輸出,去控制調(diào)節(jié)閥的開啟角度,來實(shí)現(xiàn)對(duì)氣體流量的控制。
5.2 上位機(jī)部分
上位機(jī)程序采用Lab Windows/CVI設(shè)計(jì),主要實(shí)現(xiàn)對(duì)采樣氣體流量、兩個(gè)流量限值的接收和顯示,還可對(duì)流量限值進(jìn)行修改和發(fā)送給下位機(jī)。
5.3 抗干擾措施
為提高控制系統(tǒng)的穩(wěn)定性,加強(qiáng)抗干擾能力,可采用隔離電源變壓器,信號(hào)通道采用光電隔離和濾波技術(shù);可使用Watchdog技術(shù)和軟件陷阱防止程序跑飛,實(shí)現(xiàn)任務(wù)的恢復(fù);采取電源抗干擾措施。