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