安徽工程大學(xué)電氣工程學(xué)院 水 源 潘 鉞 生 芳
基于模糊PID的無(wú)線(xiàn)溫濕度監(jiān)控系統(tǒng)
安徽工程大學(xué)電氣工程學(xué)院 水 源 潘 鉞 生 芳
為了研究模糊PID控制在無(wú)線(xiàn)溫濕度監(jiān)控系統(tǒng)的實(shí)際運(yùn)用,設(shè)計(jì)了基于模糊PID控制的無(wú)線(xiàn)溫濕度監(jiān)控系統(tǒng)。使用數(shù)字式傳感器SHT11采集溫濕度數(shù)據(jù),通過(guò)無(wú)線(xiàn)收發(fā)器nRF905傳輸數(shù)據(jù),采用模糊PID控制算法進(jìn)行溫濕度控制。通過(guò)原理分析和仿真,表明該系統(tǒng)非常穩(wěn)定并且精確,可廣泛的應(yīng)用于各類(lèi)溫濕度控制場(chǎng)合。
模糊PID控制;nRF905;SHT11;STC89C52RC
在現(xiàn)代社會(huì),生產(chǎn)活動(dòng)對(duì)環(huán)境的溫濕度要求越來(lái)越高,環(huán)境因素直接影響到產(chǎn)品的生產(chǎn)效率、經(jīng)濟(jì)效益。研究人員將數(shù)字式傳感器、無(wú)線(xiàn)通訊、控制算法引入溫濕度控制系統(tǒng),滿(mǎn)足了一定的生產(chǎn)需求。但傳統(tǒng)溫濕度監(jiān)控系統(tǒng)控制性能不高,需花費(fèi)大量精力對(duì)控制系統(tǒng)要進(jìn)行復(fù)雜的參數(shù)整定并維護(hù)系統(tǒng)的穩(wěn)定運(yùn)行,難以適應(yīng)較為復(fù)雜的控制環(huán)境。為此,設(shè)計(jì)一種通過(guò)數(shù)字式傳感器采集現(xiàn)場(chǎng)數(shù)據(jù)并由無(wú)線(xiàn)方式傳輸,采用自適應(yīng)模糊PID控制算法的溫濕度監(jiān)控系統(tǒng)。
本系統(tǒng)由采集節(jié)點(diǎn)和終端節(jié)點(diǎn)組成。采集節(jié)點(diǎn)通過(guò)SHT11溫濕度傳感器采集現(xiàn)場(chǎng)溫濕度,由采集節(jié)點(diǎn)MCU通過(guò)nRF905無(wú)線(xiàn)收發(fā)器傳輸至終端節(jié)點(diǎn)。終端節(jié)點(diǎn)MCU對(duì)采集數(shù)據(jù)進(jìn)行監(jiān)測(cè),并通過(guò)模糊PID控制器啟動(dòng)噴霧器、除濕器、加熱器、冷風(fēng)機(jī)對(duì)溫濕度進(jìn)行控制以達(dá)到溫濕度恒定的要求。當(dāng)溫濕度超過(guò)設(shè)定范圍后,會(huì)觸發(fā)報(bào)警器模塊報(bào)警,通知管理員采取進(jìn)一步措施。本系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
2.1 STC89C52RC
STC89C52RC是兼容8051指令的8位單片機(jī),內(nèi)置8KBFlash程序存儲(chǔ)器、1個(gè)通異步串行口UART、看門(mén)狗電路。性能優(yōu)異,價(jià)格低廉,具有低功耗、抗干擾性和超強(qiáng)穩(wěn)定性等特點(diǎn)。
2.2 溫濕度檢測(cè)與數(shù)據(jù)顯示電路
SHT11是一款數(shù)字式溫濕度傳感器。SHT11傳感器濕度測(cè)量范圍為0-100%RH,測(cè)量精度為±3%RH;溫度測(cè)量范圍為-40~+123.8℃,測(cè)量精度為±0.4℃[1]。在VCC和GND之間接入去耦濾波電容以保證數(shù)據(jù)信號(hào)穩(wěn)定,溫濕度檢測(cè)電路硬件接線(xiàn)圖如圖2所示。LCD1602顯示模塊硬件接線(xiàn)圖如圖3所示。
圖2 SHT11與STC89C52RC硬件接線(xiàn)圖
2.3 無(wú)線(xiàn)傳輸電路
nRF905無(wú)線(xiàn)收發(fā)器工作在免申請(qǐng)ISM頻段,工作電壓范圍為1.9V~3.6V,工作溫度范圍為-40℃~+85℃,頻道切換時(shí)間小于650us,最大數(shù)據(jù)傳輸率為100kbps。最大發(fā)射功率為10dBm,通過(guò)四線(xiàn)制SPI總線(xiàn)與MCU連接,自動(dòng)處理CRC和前導(dǎo)碼。nRF905可以工作在ShockBurst接收模式、ShockBrust發(fā)送模式、掉電模式或空閑模式下,通過(guò)配置TRX_CE、TX_EN和PWR_UP引腳來(lái)選擇工作模式[2]。
硬件接線(xiàn)圖如圖4所示。
圖4 nRF905與STC89C52RC的硬件接線(xiàn)圖
2.4 溫濕度控制硬件電路
當(dāng)溫濕度偏離設(shè)定值后,系統(tǒng)會(huì)啟動(dòng)相應(yīng)的部分電路。其中噴霧器和除濕器控制濕度的增加和減少,加熱器和冷風(fēng)機(jī)控制溫度的升高和降低。當(dāng)溫濕度超過(guò)極限范圍時(shí),報(bào)警器工作,提醒管理員采取措施。這里采用電磁繼電器,將單片機(jī)和市電設(shè)備在電氣上隔離。溫濕度控制硬件電路接線(xiàn)圖如圖5所示。
圖5 溫濕度控制硬件電路接線(xiàn)圖
3.1 溫濕度采集程序設(shè)計(jì)
上電之后等待11ms度過(guò)“休眠”狀態(tài)。當(dāng)MCU發(fā)送“啟動(dòng)傳輸”時(shí)序之后,再發(fā)送溫度測(cè)量命令、濕度測(cè)量命令。MCU在SHT11完成測(cè)量進(jìn)入空閑模式之后按照讀時(shí)序讀出測(cè)量數(shù)據(jù)。
3.2 無(wú)線(xiàn)傳輸程序設(shè)計(jì)
nRF905在收發(fā)數(shù)據(jù)之前需要通過(guò)SPI總線(xiàn)配置有效數(shù)據(jù)寬度、工作頻段、發(fā)射功率、CRC校驗(yàn)位等選項(xiàng)。
當(dāng)MCU發(fā)送數(shù)據(jù)時(shí)通過(guò)SPI總線(xiàn)將接收機(jī)地址和傳輸數(shù)據(jù)送給nRF905無(wú)線(xiàn)收發(fā)器數(shù)據(jù)寄存器。首先MCU將上電引腳PWR_UP、收發(fā)使能引腳TRX_CE和發(fā)送使能引腳TX_EN置高,啟動(dòng)nRF905的ShockBrust發(fā)送模式,開(kāi)始進(jìn)行數(shù)據(jù)打包并發(fā)送數(shù)據(jù)包。數(shù)據(jù)準(zhǔn)備引腳DR在數(shù)據(jù)發(fā)送完成后被置高,當(dāng)自動(dòng)重發(fā)引腳AUTO_RETRAN被置高時(shí)nRF905會(huì)不斷的重新發(fā)送數(shù)據(jù),直至收發(fā)使能引腳TRX_CE被置低。當(dāng)數(shù)據(jù)發(fā)送完成時(shí),自動(dòng)進(jìn)入空閑模式等待下一次數(shù)據(jù)傳輸。
圖6 nRF905發(fā)送模式程序流程圖
圖7 nRF905接收模式程序流程圖
通過(guò)將收發(fā)使能引腳TRX_CE置高,發(fā)送使能引腳TX_EN置低使nRF9005進(jìn)入ShockBrust接收模式。等待650us之后監(jiān)測(cè)是否有接收頻段載波。當(dāng)監(jiān)測(cè)到接收頻段載波后檢測(cè)載波引腳CD置高并進(jìn)行地址匹配。當(dāng)驗(yàn)證接收地址有效時(shí),地址匹配引腳AM被置高。當(dāng)數(shù)據(jù)包接收完畢并通過(guò)CRC校驗(yàn)后,nRF905自動(dòng)移除前導(dǎo)碼、地址和循環(huán)冗余校驗(yàn)位并將數(shù)據(jù)準(zhǔn)備引腳DR置高。之后當(dāng)收發(fā)使能引腳TRX_CE置低時(shí)nRF905進(jìn)入空閑模式,MCU通過(guò)SPI總線(xiàn)從nRF905的寄存器中讀取數(shù)據(jù)。當(dāng)數(shù)據(jù)接收完畢將數(shù)據(jù)準(zhǔn)備引腳DR和地址匹配引腳AM置低準(zhǔn)備下一次數(shù)據(jù)傳輸[3]。
發(fā)送模式和接收模式的程序流程圖分別見(jiàn)圖6和圖7。
3.3 軟件抗干擾
為了提高系統(tǒng)的穩(wěn)定性,采用中位值平均濾波算法對(duì)SHT11溫濕度傳感器采集的數(shù)據(jù)進(jìn)行數(shù)字濾波[4]。首先連續(xù)采樣5次,通過(guò)冒泡排序法取得中位值作為本次采集有效數(shù)據(jù)。重復(fù)多次得到足夠數(shù)量的采集有效數(shù)據(jù)之后,求解算術(shù)平均值作為輸出數(shù)據(jù)。
4.1 模糊PID控制原理
溫濕度控制系統(tǒng)的運(yùn)行結(jié)果直接受控制精度影響,同時(shí)溫度和濕度的變化都是非線(xiàn)性、時(shí)變時(shí)滯的。常規(guī)PID控制精度高,魯棒性好,結(jié)構(gòu)簡(jiǎn)單,但不適用于非線(xiàn)性變化的無(wú)確知模型系統(tǒng),控制參數(shù)無(wú)法跟隨變化的系統(tǒng)。模糊控制適用于非線(xiàn)性變化的無(wú)法精確建模的系統(tǒng),可以適應(yīng)快速響應(yīng)和微超調(diào)量的需求,適合于對(duì)非線(xiàn)性時(shí)變時(shí)滯系統(tǒng)進(jìn)行控制,為此將模糊控制引入常規(guī)PID控制中,以提高控制系統(tǒng)的靜態(tài)和動(dòng)態(tài)性能。由于單片機(jī)控制屬于數(shù)字控制方式,常規(guī)PID控制中的積分項(xiàng)和微分項(xiàng)需要進(jìn)行離散化處理,數(shù)字式PID表達(dá)式如式(1)所示:
式中,e(k)、u(k)為采樣點(diǎn)時(shí)刻誤差量和輸出控制量;T為采樣周期,必須足夠短以保證足夠的精度。
模糊PID控制是根據(jù)不同時(shí)刻控制環(huán)境產(chǎn)生不同的測(cè)量誤差|e|和誤差變化率|de/dt|即|ec|,通過(guò)模糊推理,在線(xiàn)調(diào)整PID控制器的控制參數(shù)以滿(mǎn)足不同環(huán)境下對(duì)控制機(jī)構(gòu)性能的要求。這種方法有效的增強(qiáng)了系統(tǒng)的動(dòng)態(tài)、穩(wěn)態(tài)性能,抑制了溫濕度監(jiān)控系統(tǒng)的時(shí)滯性,提高了系統(tǒng)的靈活性。
模糊PID控制工作原理:首先由測(cè)量機(jī)構(gòu)算出精確量|e|和|ec|,根據(jù)模糊數(shù)學(xué)理論將其模糊化成輸入模糊量,然后模糊推理機(jī)根據(jù)事先制定好的模糊規(guī)則推理出輸出模糊量,將輸出模糊量精確化成精確量,即為PID控制器的控制參數(shù)KP、KI、KD,驅(qū)動(dòng)PID控制器對(duì)被控對(duì)象進(jìn)行控制。
模糊PID控制框圖如圖8所示。
圖8 模糊PID控制框圖
4.2 PID參數(shù)整定規(guī)則
模糊PID控制器的關(guān)鍵在于設(shè)計(jì)一個(gè)合理的模糊推理規(guī)則,該規(guī)則表征系統(tǒng)誤差|e|和誤差變化率|ec|發(fā)生變化時(shí)如何調(diào)整PID控制器的控制參數(shù)。整定規(guī)律歸納如下:
(1)當(dāng)|e|較大時(shí),取較大的KP、KI=0和較小的KD。三者的作用分別是提高系統(tǒng)的響應(yīng)速度,削弱系統(tǒng)時(shí)滯性帶來(lái)的副作用、抑制積分飽和的產(chǎn)生、避免微分飽和使得控制作用超出極限控制范圍。
(2)當(dāng)|e|中等大小時(shí),取較小的KP、適當(dāng)?shù)腒I和KD。前者的作用是避免系統(tǒng)出現(xiàn)劇烈的波動(dòng)、后兩者的作用是保證系統(tǒng)的響應(yīng)速度。此時(shí)系統(tǒng)受KD參數(shù)的影響比較大。
(3)當(dāng)|e|較小時(shí),取較大的KP、較大的KI。兩者的作用是使系統(tǒng)擁有良好的穩(wěn)態(tài)性能,系統(tǒng)殘差小。其中為了抑制系統(tǒng)在目標(biāo)點(diǎn)鄰域出現(xiàn)振蕩并增強(qiáng)抗干擾性能,當(dāng)|ec|較小時(shí),取較大的KD;當(dāng)|ec|較大時(shí),取較小的KD[6]。
4.3 模糊推理規(guī)則
考慮到增加輸入量個(gè)數(shù)會(huì)大大增加推理時(shí)的計(jì)算量,這里模糊控制器選擇二維輸入三維輸出的形式,以|e|和|ec|為輸入,以KP、KI、KD為輸出。|e|和|ec|的論域?yàn)閧0,1.5, 3,4.5},模糊語(yǔ)言變量為{Z,S,N,B},隸屬度函數(shù)分別如圖9、10所示。KP、KI、KD的論域?yàn)閧0,1.5,3,4.5},模糊語(yǔ)言變量為{Z,S,N,B}。各模糊語(yǔ)言變量的隸屬度函數(shù)均取三角形函數(shù)。其隸屬度函數(shù)如圖11所示。
圖9 |e|的隸屬度函數(shù)
圖10 |ec|的隸屬度函數(shù)
圖11 KP、KI、KD的隸屬度函數(shù)
模糊規(guī)則表如表1、2、3所示。
表1 KP的模糊規(guī)則表
表2 KI的模糊規(guī)則表
表3 KD的模糊規(guī)則表
圖12
圖13
圖14
4.4 模糊量的精確化
由于MCU的計(jì)算能力有限且需要在線(xiàn)對(duì)PID控制參數(shù)進(jìn)行整定,所以要求精確化過(guò)程的運(yùn)算量不能過(guò)大,且輸入量的微小噪聲不能引起輸出量的劇烈波動(dòng)。常用的精確化方式有加權(quán)平均法、面積平分法和最大隸屬度法,其中加權(quán)平均法對(duì)于對(duì)稱(chēng)型輸出隸屬度函數(shù)較為適合。這里選擇加權(quán)平均法作為精確化方式,如式 (2)所示:
綜合以上四個(gè)步驟,把輸入變量輸入模糊控制器,經(jīng)過(guò)精確量的模糊化、模糊推理、模糊量的去模糊化,最終得到精確輸出量送給PID控制器。
最后通過(guò)在MATLAB建立本系統(tǒng),得出Kp、Ki、Kd的參數(shù)曲線(xiàn),如圖12、13、14所示。
采用常規(guī)PID控制方式存在局限,需花費(fèi)大量精力整定PID控制器的控制參數(shù)且無(wú)法適應(yīng)復(fù)雜被控對(duì)象,限制了其應(yīng)用范圍。將模糊控制與常規(guī)PID控制結(jié)合組成模糊PID控制,通過(guò)模糊推理在線(xiàn)整定PID控制器的參數(shù),可以提高溫濕度監(jiān)控系統(tǒng)的控制性能,平穩(wěn)、快速的將系統(tǒng)調(diào)整到目標(biāo)狀態(tài),減小了系統(tǒng)的過(guò)調(diào)量,提高了控制系統(tǒng)的穩(wěn)定性和動(dòng)態(tài)性,對(duì)被控對(duì)象實(shí)現(xiàn)穩(wěn)定、快速的控制,提高了溫濕度控制的精度,為工業(yè)、農(nóng)業(yè)生產(chǎn)活動(dòng)提供了良好的生產(chǎn)環(huán)境,提高經(jīng)濟(jì)效益。通過(guò)引入數(shù)字濾波技術(shù)增加系統(tǒng)采集數(shù)據(jù)的穩(wěn)定性,SHT11溫濕度數(shù)字式傳感器降低了系統(tǒng)的維護(hù)難度,采用nRF905無(wú)線(xiàn)傳輸器提高了布置系統(tǒng)的便利性,避免了有線(xiàn)傳輸?shù)木€(xiàn)路故障因素。同時(shí)nRF905無(wú)線(xiàn)收發(fā)器可以實(shí)現(xiàn)一主多從的傳輸方案,故可建立多個(gè)溫濕度測(cè)量節(jié)點(diǎn),組成分布式監(jiān)測(cè)系統(tǒng)。同時(shí)也可將數(shù)據(jù)傳輸?shù)诫娔X等數(shù)據(jù)中心,在上位機(jī)上實(shí)現(xiàn)實(shí)時(shí)監(jiān)控,方便用戶(hù)進(jìn)行操作。
[1]Sensirion Humidity SHT1x Datasheet CN V5[Z] Sensirion,2011.
[2]nRF905 Product Specification[Z] NORDIC,2008.
[3]題原,宋飛,劉樹(shù)東,等.基于nRF905的無(wú)線(xiàn)溫濕度檢測(cè)與傳輸系統(tǒng)設(shè)計(jì)[J].化工自動(dòng)化及儀表,2011,38(4):404-407.
[4]趙蓮維,姜重然,王 鹍.現(xiàn)場(chǎng)總線(xiàn)分布式糧情系統(tǒng)溫濕度測(cè)量數(shù)字濾波器的設(shè)計(jì)[J].農(nóng)機(jī)化研究,2011,(7):129-132.
[5]諸靜.模糊控制理論與系統(tǒng)原理[M].北京:機(jī)械工業(yè)出版社,2005.
[6]趙笑笑.基于模糊理論與常規(guī)PID控制的模糊PID控制方法研究[J].山東電力技術(shù),2009(6):54-63.
潘鉞(1993—),安徽安慶人,大學(xué)本科,從事嵌入式系統(tǒng)控制研究。
生芳(1981—),遼寧營(yíng)口人,碩士,安徽工程大學(xué)講師,研究方向:?jiǎn)纹瑱C(jī)嵌入式系統(tǒng)。
國(guó)家大學(xué)生創(chuàng)新訓(xùn)練項(xiàng)目(201210363127)。
水源(1994—),男,安徽合肥人,大學(xué)本科,從事嵌入式系統(tǒng)控制研究。