張憲陽(yáng) 謝邵春 丁黎明 舒薇 張宇凡
(懷化學(xué)院 湖南省懷化市 418000)
現(xiàn)階段的菜園信息管理技術(shù)還很不完善,特別是溫度控制上普遍采用位置式的非連續(xù)調(diào)節(jié)。為發(fā)掘更優(yōu)質(zhì)的溫度控制系統(tǒng),我們研發(fā)了一套成本低、小巧、平穩(wěn)的基于單片機(jī)的溫室大棚溫度控制系統(tǒng),此系統(tǒng)采用了增量式PID 連續(xù)控制設(shè)備功率的方法,克服了傳統(tǒng)溫控以時(shí)間為變量的溫控時(shí)間滯后性,完成了溫控的在標(biāo)準(zhǔn)誤差下的溫度連續(xù)穩(wěn)定動(dòng)態(tài)調(diào)節(jié)[2]。
(1)超調(diào)量小于等于10%;
(2)溫度連續(xù)柔性可調(diào),范圍為20~30 攝氏度;
(3)穩(wěn)定時(shí)溫度誤差小于等于±3%;
(4)上升時(shí)間20s;
(5)調(diào)節(jié)時(shí)間40s。
圖1:控制系統(tǒng)總體設(shè)計(jì)結(jié)構(gòu)圖
控制系統(tǒng)總體設(shè)計(jì)本設(shè)計(jì)如圖1 分為三個(gè)部分:?jiǎn)纹瑱C(jī)處理單元,可控硅功率控制單元,溫度傳感器單元。單片機(jī)處理單元主要進(jìn)行對(duì)輸入與輸出量進(jìn)行處理,包括溫度讀取,增量式PID 數(shù)據(jù)處理,升降溫度模式轉(zhuǎn)換??煽毓韫β士刂茊卧邮軄?lái)自單片機(jī)計(jì)算出的PWM 波控制信號(hào),通過(guò)交流斬波調(diào)節(jié)220V 市電,進(jìn)而控制加熱器或降溫器的輸出功率。溫度傳感器單元,將環(huán)境中的實(shí)際溫度通過(guò)熱電偶采集到傳感器中進(jìn)行溫度冷端補(bǔ)償,將溫度模擬量轉(zhuǎn)換成數(shù)字量以便單片機(jī)讀取[3]。同時(shí)與設(shè)置溫度值作偏差運(yùn)算,不但完成了通過(guò)判斷偏差計(jì)算值的正負(fù)轉(zhuǎn)換加熱或降溫模式的過(guò)程,又將偏差值裝載,完成了PID 算法。做到了實(shí)時(shí)采集計(jì)算溫差來(lái)動(dòng)態(tài)控制設(shè)備功率,最終使環(huán)境中的溫度保持在規(guī)定的溫度范圍內(nèi)。
控制系統(tǒng)硬件結(jié)構(gòu)如圖 2所示,通過(guò)按鍵設(shè)置好恒定溫度值,當(dāng)前環(huán)境溫度通過(guò)具有補(bǔ)償導(dǎo)線(xiàn)的K 型熱電偶采集到MAX6675 芯片。將環(huán)境的模擬量,進(jìn)行校正并轉(zhuǎn)換為12 位數(shù)字量傳輸?shù)絾纹瑱C(jī)進(jìn)行處理得到一個(gè)穩(wěn)定的當(dāng)前溫度值。同時(shí)將當(dāng)前溫度值顯示到12864 液晶屏上。接下來(lái),24C02 芯片上存儲(chǔ)的PID 整定值,經(jīng)過(guò)IIC 傳輸?shù)絾纹瑱C(jī)并與定時(shí)器4 上得來(lái)的環(huán)境溫度數(shù)字量進(jìn)行增量式PID 處理,來(lái)判斷是開(kāi)啟加熱模式還是降溫模式。再通過(guò)PID算法控制定時(shí)器3 產(chǎn)生一個(gè)合適的PWM 占空比的信號(hào),進(jìn)而用PWM 波控制可控硅斬波電路最終控制加熱器或是降溫器的運(yùn)行平均功率,輸出值越大,占空比越大,功率就越高。通過(guò)以上過(guò)程,進(jìn)行實(shí)時(shí)采集實(shí)時(shí)控制,柔性地進(jìn)行恒溫控制[4]。
主程序如圖3所示,初始化部分包括標(biāo)志位清零、顯示部分的初始化、溫度傳感器的初始化、定時(shí)器的初始化、PID 初始化等內(nèi)容。系統(tǒng)通過(guò)K 型熱電偶采集大棚內(nèi)的溫度,將采集到的模擬量傳遞至MAX6675 模塊,MAX6675 模塊將采集到的模擬量轉(zhuǎn)化為12 位數(shù)字量通過(guò)PD2 串口傳送至單片機(jī)系統(tǒng),單片機(jī)采用定時(shí)器4 定時(shí),每200ms 將得到的數(shù)據(jù)進(jìn)行處理得到當(dāng)前溫度值。將采集到的結(jié)果與初始化的PID 各參數(shù)進(jìn)行PID 的運(yùn)算,判斷PID 的運(yùn)算結(jié)果是否大于0,若大于零,單片機(jī)通過(guò)PB9 串口打開(kāi)升溫設(shè)備,否則通過(guò)PB8 打開(kāi)降溫設(shè)備,同一時(shí)間采用定時(shí)器3 輸出占空比為PID的輸出值與PID 的周期的比值、頻率50Hz 的PWM 波,通過(guò)雙向可控硅控制執(zhí)行設(shè)備的功率。
PID 算法基本原理如圖4所示,在本系統(tǒng)中,由于用在電路系統(tǒng)中,單片機(jī)在進(jìn)行運(yùn)算時(shí)傳遞的都是數(shù)字離散量,于是離散式的數(shù)字PID 算法才是溫度控制的核心,以下為PID 的離散式表達(dá)公式:
圖2:硬件設(shè)計(jì)圖
圖3:主程序流程圖
圖4:PID 算法基本原理
PID 算法中處理的變量為當(dāng)前溫度值PV 與用戶(hù)設(shè)定溫度值SV的偏差值,也就是當(dāng)前溫度差值Ek,用于比例運(yùn)算;∑Ek為歷史的溫度差值,用于積分運(yùn)算;Ek-Ek-1為近期溫度差值,用于微分運(yùn)算。T 代表系統(tǒng)的采樣周期,Ti代表積分時(shí)間即比例與積分同時(shí)作用時(shí)間,TD 代表微分時(shí)間也就是微分與比例共同作用時(shí)間。這種常規(guī)位置式的數(shù)字離散式PID 由于積分運(yùn)算是累加的,會(huì)導(dǎo)致PID 輸出中出現(xiàn)大量歷史偏差值不僅會(huì)使初次升溫達(dá)標(biāo)時(shí)產(chǎn)生較大過(guò)沖,還使原本就具有滯后性的溫控環(huán)境更加滯后,還占用了大量的計(jì)算資源[5]。同時(shí)根據(jù)本系統(tǒng)由單片機(jī)根據(jù)PID 輸出值,調(diào)節(jié)脈沖寬度進(jìn)而控制雙向可控硅斬波,改變電器功率而且在脈寬不變時(shí)功率也不發(fā)生改變的特性。
表1:臨界比例度法整定PID 參數(shù)
圖5:溫度控制仿真曲線(xiàn)
本系統(tǒng)采用增量式PID 算法。
當(dāng)前采集溫度后PID 輸出值為[7]:
前一次采集溫度后PID 輸出值為:
Ek:本次的偏差;
Ek-1:上次的偏差
Ek-2:上上次的偏差
Kp:算法增益調(diào)節(jié)
Ti:積分時(shí)間
Td:微分時(shí)間常數(shù)
增量式PID 的計(jì)算只需要最近3 次的偏差(本次偏差,上次偏差,上上次偏差),不需要處理器存儲(chǔ)大量的歷史偏差值,計(jì)算量也相對(duì)較少,容易實(shí)現(xiàn)。而且在單片機(jī)中計(jì)算時(shí),會(huì)出現(xiàn)差值小于零的情況,因?yàn)镺UT 是一個(gè)增量,當(dāng)由于此增量使得最后的PWM值小于零,也就意味著環(huán)境溫度遠(yuǎn)高于設(shè)置的恒溫可以采取降溫模式。
系統(tǒng)的傳遞函數(shù)為:
為了驗(yàn)證溫度控制系統(tǒng)的運(yùn)行效果,本文以MATLAB 作為仿真平臺(tái),將增量式PID 算法分進(jìn)行仿真調(diào)試,并對(duì)Kp、Ki、Kd三個(gè)控制參數(shù)進(jìn)行參數(shù)調(diào)節(jié),采用臨界比例整定公式法進(jìn)行參數(shù)初步整定,整定步驟如下[6]。
(1)先采用比例控制,從較大的比例度δ 開(kāi)始,逐漸減小比例度,使系統(tǒng)對(duì)階躍輸入的響應(yīng)達(dá)到臨界振蕩狀態(tài)[7]。將此時(shí)的比例度記作δr,臨界振蕩周期記作Tr。
(2)根據(jù)Ziegler-Nichols 提供的臨界比例度法經(jīng)驗(yàn)公式確定PID 控制器參數(shù),見(jiàn)表1。
溫度控制仿真曲線(xiàn)如圖5所示,上升時(shí)間(響應(yīng)從穩(wěn)態(tài)值10%到達(dá)穩(wěn)態(tài)值90%)為2.95s,峰值時(shí)間為4.44s,超調(diào)量為6.43%,調(diào)節(jié)時(shí)間為5s??刂菩Ч己茫_(dá)到了系統(tǒng)控制要求。
本文設(shè)計(jì)了一種基于單片機(jī)的溫室大棚溫度控制系統(tǒng)。通過(guò)硬件設(shè)計(jì)完成控制系統(tǒng)的主控電路、溫度控制系統(tǒng)的實(shí)現(xiàn),并通過(guò)PID 控制器設(shè)計(jì)使系統(tǒng)能夠基本實(shí)現(xiàn)柔性地進(jìn)行恒溫控制,達(dá)到了緩解農(nóng)業(yè)土地的壓力的目標(biāo)。