基于神經(jīng)網(wǎng)絡(luò)的恒壓供水系統(tǒng)設(shè)計
掃描二維碼
隨時隨地手機(jī)看文章
摘要:本設(shè)計基于中小樓房管道供水系統(tǒng),采用AT80C51單片機(jī)、壓力傳感器、變頻器、A/D轉(zhuǎn)換、D/A轉(zhuǎn)換電路等設(shè)備和元器件,結(jié)合工業(yè)智能控制技術(shù),采用BP算法的神經(jīng)網(wǎng)絡(luò)PID調(diào)節(jié)器,利用自身的在線學(xué)習(xí)功能,實現(xiàn)自動調(diào)節(jié)連接權(quán)重,減小系統(tǒng)因變參數(shù)與非線性等因素的影響,從而提高系統(tǒng)的魯棒性,達(dá)到恒壓供水的目的。
關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò);恒壓;供水;AT89C51;PID
本設(shè)計是征對樓房自來水管道供水系統(tǒng),主要研究的是基于AT89C51微處理器的壓力參數(shù)的控制和調(diào)節(jié),也就是以AT89C51單片機(jī)為處理器,通過A/D、D/A轉(zhuǎn)換單元與電路,通過基于BP算法的神經(jīng)網(wǎng)絡(luò)PID調(diào)節(jié)器,從而控制變頻器,通過變頻器驅(qū)動交流電機(jī),然后控制執(zhí)行對象齒輪泵,使得供水系統(tǒng)管道的壓力無論在用水的高峰期或者低峰期基本保持不變,達(dá)到恒壓供水目的。
1 系統(tǒng)總體方案設(shè)計
1.1 恒壓供水系統(tǒng)基本模型
恒壓供水系統(tǒng)模型如圖1所示。該系統(tǒng)是一個單閉環(huán)控制系統(tǒng),控制的主要任務(wù)是讓供水系統(tǒng)管道的壓力等于某個固定的值,從而減少或者消除應(yīng)用水量的大小等內(nèi)部和外部因素的影響。
單閉環(huán)控制系統(tǒng)因其結(jié)構(gòu)簡單、投資小、操作簡單,并能夠滿足一般生產(chǎn)過程的要求,所以被廣泛應(yīng)用。在控制系統(tǒng)中,調(diào)節(jié)器參數(shù)的選擇直接影響控制系統(tǒng)的質(zhì)量。在工業(yè)控制中通過數(shù)字改造,可以提高設(shè)計的效率,但是由于電動機(jī)參數(shù)的非線性和時變性,具體實施還是比較困難。因此考慮到以上問題的存在,對常規(guī)模擬系統(tǒng)進(jìn)行數(shù)字化改造,引入神經(jīng)網(wǎng)絡(luò)控制,通過它具有的在線學(xué)習(xí)能力,自動調(diào)節(jié)權(quán)重系數(shù),實現(xiàn)對復(fù)雜系統(tǒng)的控制。
1.2 恒壓供水系統(tǒng)的作用與功能
該系統(tǒng)是一個基于AT89C51單片機(jī)的恒壓供水系統(tǒng),其系統(tǒng)結(jié)構(gòu)如圖2所示。
主要組成單元有管道壓力檢測單元、A/D轉(zhuǎn)換單元、基于單片機(jī)的控制單元和基于神經(jīng)網(wǎng)絡(luò)PID調(diào)節(jié)器組成的管道壓力的變頻調(diào)速單元。具體工作過程是:給定恒壓供水系統(tǒng)的值,通過壓力傳感器獲取當(dāng)前管道的壓力值,通過A/D轉(zhuǎn)換器將模擬信號變換成數(shù)字信號,然后輸送到AT89C51和給定值進(jìn)行比較,得到偏差信號,該偏差信號通過基于神經(jīng)網(wǎng)絡(luò)BP算法的數(shù)字PID調(diào)解后,輸出一個轉(zhuǎn)速控制信號,通過D/A轉(zhuǎn)換,控制變頻器的轉(zhuǎn)算,達(dá)到自動調(diào)節(jié)供水系統(tǒng)的壓力達(dá)到一個穩(wěn)定的值。
1.3 數(shù)字式PID原理
因在連續(xù)控制系統(tǒng)中,PID控制具有典型的結(jié)構(gòu),參數(shù)整定方便,同時伴隨計算機(jī)技術(shù)的發(fā)展,在線測量速度加快,所以PID控制器被很廣泛應(yīng)用。模擬控制系統(tǒng)中,PID的控制規(guī)律為:
K-比例系數(shù);Ti-積分時間常數(shù);Td-微分時間常數(shù)
輸出控制量取決于輸入與輸出的偏差、偏差積分和偏差微分3個因素,對連續(xù)的PID控制算法進(jìn)行離散處理,如采樣周期T很小,則可得到離散PID表達(dá)式:
式中,u(k)為控制器在K時刻的輸出,Ki=Ip/Ti,Kd=KpTd,T為采樣周期,K為采樣序號,K=1,2,…,e(k-1)和e(k)分別為第(K-1)和第K時刻所得的偏差信號。上式可以看出,想要計算u(k),要本次與上次偏差信號e(k和e(k-1),而且還要在積分項中把歷次偏差信號e(j)進(jìn)行相加,即求取累加信號,因此在具體實踐中需要占用很大的存儲空間,使用起來非常不方便。為了減少計算的工作量,節(jié)約存儲空間,經(jīng)常采用增量式控制算法,上式,用u(k)-u(k-1),并進(jìn)行一些變換,可得到增量式PID控制的表達(dá)式:
△u(k)=Kp(e(kT)-e(kT-T))+Kie(kT)+Kd(e(kT)-2e(kT-T)+e(kT-2T))
Kp-比例系數(shù);Ti-調(diào)節(jié)器的積分時間;Td-調(diào)節(jié)器的微分時間
調(diào)節(jié)器改造成數(shù)字PID調(diào)節(jié)器對于工業(yè)控制過程來說,經(jīng)常系統(tǒng)屬于非線性系統(tǒng),并且有時候系統(tǒng)的準(zhǔn)確模型是無法可知的,同時,在實際的生產(chǎn)過程當(dāng)中,經(jīng)常受到系統(tǒng)參數(shù)不穩(wěn)定等多種因素的影響,系統(tǒng)調(diào)試比較繁瑣,并且性能欠佳,因此,人們尋求能夠自學(xué)習(xí)、自整定的技術(shù),以適應(yīng)復(fù)雜的控制系統(tǒng),而神經(jīng)網(wǎng)絡(luò)技術(shù)的發(fā)展將這種設(shè)想變成現(xiàn)實。
神經(jīng)網(wǎng)絡(luò)根據(jù)系統(tǒng)的運(yùn)行狀態(tài)調(diào)節(jié)PID控制器的參數(shù),從而達(dá)到控制系統(tǒng)性能的最優(yōu)化,使輸出層神經(jīng)元的輸出狀態(tài)對應(yīng)于PID控制器的3個可調(diào)整參數(shù)kp,ki,kd通過神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí),權(quán)系數(shù)調(diào)整,使神經(jīng)網(wǎng)絡(luò)輸出對應(yīng)于某種最優(yōu)控制規(guī)律下的PID控制器參數(shù)。
1.4 基于BP神經(jīng)網(wǎng)絡(luò)的PID調(diào)節(jié)器整定原理
根據(jù)數(shù)字式PID的表達(dá)式可以看出,PID調(diào)節(jié)器參數(shù)調(diào)優(yōu)就是確定比例系數(shù)kp,積分時間常數(shù)ki,微分時間常數(shù)kd,使得系統(tǒng)滿足某些性能指標(biāo),因此,PID參數(shù)優(yōu)化問題就是(kp,ki,kd)三維參數(shù)的目標(biāo)優(yōu)化問題。
根據(jù)系統(tǒng)需求,采用三層BP網(wǎng)絡(luò),其結(jié)構(gòu)如圖3所示。
為反映輸入PID控制器信號的特性,其輸入層神經(jīng)元個數(shù)選為3:x1(k)=e(k)為誤差量,,反映誤差的累計效果,類似連續(xù)系統(tǒng)中的積分效果,x3(k)=e(k)-e(k-1),反映誤差變化快慢,相當(dāng)于連續(xù)系統(tǒng)中的微分效果。x1(k),x2(k)和x3(k)作為輸入,能夠比較全面的反映誤差量的狀態(tài),因此用它們來作為網(wǎng)絡(luò)輸入層的3個輸入量。輸出層輸出節(jié)點分別對應(yīng)3個可調(diào)參數(shù)kp,ki,kd,故輸出層神經(jīng)元個數(shù)為3。由于控制參數(shù)kp,ki,kd不能為負(fù)值,所以輸出層神經(jīng)元的激發(fā)函數(shù)取非負(fù)的Sigmoid函數(shù)。
隱層的神經(jīng)元個數(shù)可由以下經(jīng)驗公式確定式中:n,q,m分別為輸入層、隱層和輸出層神經(jīng)元個數(shù),由上式計算可得,n+m取值在2~3之間,并且公式中f可取1~10,由于網(wǎng)絡(luò)節(jié)點數(shù)過多會增加計算量,個數(shù)太少則不能很好地逼近給定函數(shù),綜合考慮,此處q取5隱層神經(jīng)元的激發(fā)函數(shù)取正負(fù)對稱的Sigmoid函數(shù)。
輸出層輸出節(jié)點分別對應(yīng)3個可調(diào)參數(shù)kp,ki,kd。
按照梯度下降法修正網(wǎng)絡(luò)的權(quán)系數(shù),即按照E(k)對權(quán)系數(shù)的負(fù)梯度方向搜索調(diào)整,并附加一個使搜索快速收斂全局極小慣性項:
由此帶來的誤差影響可以通過調(diào)整學(xué)習(xí)效率來進(jìn)行補(bǔ)償。由此可以得到:
1.5 數(shù)據(jù)采集與處理系統(tǒng)
恒壓供水系統(tǒng)設(shè)計中,數(shù)據(jù)采集與處理的主要任務(wù)是將檢測單元獲取的當(dāng)前供水系統(tǒng)的管內(nèi)壓力轉(zhuǎn)換成相應(yīng)的電壓值,以便單片機(jī)將該電壓與給定的電壓值進(jìn)行比較,從而按照所得到的偏差進(jìn)行PID算法控制。在本系統(tǒng)設(shè)計中,對于管道內(nèi)壓力緩慢變化的信號,通過AT89C51微處理器,并利用少量的接口電路,輔助A/D轉(zhuǎn)換電路來實現(xiàn)。
AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含有4K bytes的可反復(fù)擦寫的只讀程序存儲器和128的隨機(jī)存取數(shù)據(jù)存儲器,器件采用AEMEL公司的高密度,非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和FLASH存儲單元,功能強(qiáng)大、結(jié)構(gòu)簡單,同時和51系列指令兼容,可靈活應(yīng)用于各種控制領(lǐng)域。
A/D轉(zhuǎn)換電路采用通用的AD574,AD574,是一種快速的12位逐次比較式AD轉(zhuǎn)換芯片,片內(nèi)有時鐘,無須外加時鐘信號,電路采用單極性輸入方式,可對0~10 V或0~20 V模擬信號進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換結(jié)果的高8位從D11~D4輸出,低4位從輸出,并且直接與單片機(jī)的數(shù)據(jù)總線連接。
D/A轉(zhuǎn)換電路選用美國NS(National Semiconductor)公司生產(chǎn)的12位D/A轉(zhuǎn)換器DAC1208,該芯片的控制精度可以達(dá)到0.012%,使用簡單靈活。
管道水壓傳感器可選用PT504高精度壓力變送器,該傳感器量程范圍0~100 MPa;輸出信號4~20 mA;0~5 V;1~5 V;0~10 V;采用螺紋連接,通用M20x15,接線類型為緊線螺母型,整體安裝和調(diào)試都比較方便。
1.6 其他電路設(shè)計
其他電路的設(shè)計基本上遵循單片機(jī)最小系統(tǒng)的設(shè)計,也是相當(dāng)成熟的電路,鑒于篇幅不再詳述。如要實現(xiàn)雙機(jī)或多機(jī)通訊,可以采用RS232串行通訊來實現(xiàn)。
2 結(jié)束語
基于AT89C51單片機(jī)恒壓供水控制系統(tǒng)在樓宇給水、鍋爐給水等控制中應(yīng)用比較廣泛,在本系統(tǒng)設(shè)計中,硬件系統(tǒng)設(shè)計在力求結(jié)構(gòu)簡單,功能全面可靠的同時,充分考慮系統(tǒng)的抗干擾性能,采用基于BP算法神經(jīng)網(wǎng)絡(luò)PID控制器,大大提高了系統(tǒng)的抗干擾能力。