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