于光普, 黎東升, 尤傳富
(長春工業大學電氣與電子工程學院,吉林長春 130012)
目前,水溫控制被廣泛應用于食品、醫藥、化工、家電等領域。水溫控制系統性能的好壞直接影響產品的品質。因此,研究水溫控制技術具有十分重要的意義。
文中所介紹的水溫控制系統的控制對象為格來德WKF-9301電熱水器(功率1 000 W,容量1.2 L),溫度設定范圍:水溫初值≤99℃,最小區分刻度為1℃;定時加熱時間設定范圍:2~99 min。溫差≤±1℃;時差≤±0.5min。
智能水溫控制系統的控制器設計主要包括定時加熱設計和恒溫保持設計兩部分。由于水溫控制具有一定的滯后特性,且引起這種滯后效應的因素較多,例如加熱材料的物理特性、加熱過程中水體與外界環境的熱能交換以及水體自身受熱蒸發所導致的質量變化等,這些因素具有不確定性,因此,水溫控制系統的精確數學模型很難建立起來,為了避開這類復雜問題,定時加熱控制器以一個近似數學模型為基礎,通過采用逐次修正輸出校正因子的方法迫使實際輸出逐步逼近理論輸出。具體控制算法如下。
由能量守恒定律和水體熱量公式可知存在如下數學關系:

式中:Q1——水體熱量;
Q2——損失熱量;
P——電熱器的電功率;
T——實際加熱時間;
C——水的比熱容;
M——水體質量;
etem p——溫差。
室溫條件下,在加熱過程中,水體的受熱速率大于水體熱損速率。因此在一個微小時間區域內,忽略損失熱量,則水體熱量近似等于電功能量,即:

式中:T1——近似加熱時間。
當C=4.2×103J/(kg?℃),P=1 000W,M=1.2 kg時,有如下近似關系(若實際控制過程中質量損失嚴重則需引入質量監測):

又由于

式中:setime——設定時間;
setem p——設定溫度;
wok time——電熱器工作時間;
rtemp——實時水溫;
etime——時差。
記etime與T1比率為K,則有如下數學關系:

取1/K作為輸出校正因子,若加熱方式采用PWM調制交流電壓輸出周期個數,則PWM的占空比為 100/K。通過不斷采樣 w oktime和rtem p修正K值,最終迫使T1逐步逼近T。
水溫控制的另一個特性是具有記憶效應,因此,恒溫過程的數字PID控制算法宜采用增量式。與位置式算法相比,增量式算法消去了積分項,因而可消除控制器的積分飽和,在精度不足時,計算誤差對控制量的影響較小,易取得較好的控制效果[1]。增量式數字PID公式如下:

為了便于計算機編程,簡化計算,提高計算速度,將上式整理為[1]:

式中:K p——比例系數;
K i——積分系數;
Kd——微分系數;
E(k)——當前采樣時刻偏差;
E(k-1)——上一次采樣時刻偏差;
E(k-2)——上兩次采樣時刻偏差。
過渡平滑處理過程可分為兩種情況討論:
1)當設定時間與全功率狀態下達到設定溫度所用的時間相接近時,為了獲得較好的時間-溫度同步性,選擇以下方式:當溫度小于某一閾值時停止加熱,然后切換到PID控制。一般是將全程溫度分成若干檔位,每段檔位對應合適的閾值和PID參數,按照設定值選擇合適的檔位即可。
2)當設定時間大于兩倍(或者兩倍以上)全功率狀態下達到設定溫度所用的時間時,輸出校正因子K隨著時間逐漸由大變小,當 K≤2時,PWM的占空比≥50%。這種較大的占空比有利于獲得較好的同步性,但是它同樣也給后續恒溫保持環節帶來較大的溫度超調。在兼顧同步性的前提下,有效地抑制超調,采取如下平滑處理:
①限幅輸出,當溫差etemp=2℃且K≤1時,PWM的占空比預取60;
②切換到PID控制,調整參數;
③觀察同步性,若不理想,修改占空比,繼續調整參數。
智能水溫控制系統的控制器選擇89C52單片機;溫度傳感器選擇DS18B20;時鐘芯片選擇DS12C887+;鍵盤芯片選擇MAX 6955;顯示器選擇青云LCM 128645ZK型液晶。采用串行方式將液晶屏與單片機連接;MAX 6955的P4引腳與單片機的P3.3引腳相連接;單片機的P1.6引腳作為輸出口,經過非門后與固態繼電器相連接。
軟件整體主要由3部分構成,即一個主程序和兩個中斷程序。其中主程序負責解決芯片初始化、溫度和時間采樣顯示以及計算分析等問題,其中合理性判別主要分析時間、溫度的設置是否合理,即設定時間在1~90倍全功率加熱狀態下上升到設定溫度所需時間之間。定時器 T0每20ms中斷一次,通過計數完成周期為2 000 m s的PWM數字脈沖;MAX 6955外部中斷函數主要用于按鍵識別及處理,軟件流程如圖1所示。

圖1 軟件流程總圖
測試時,溫度傳感器DS18B20在工作過程中選擇9位數字輸出,轉換后的溫度值只保留整數位,采樣時間小于1 s,在溫度發生跳變時記錄時間數據。
設定溫度為45℃,設定時間為15min,初始水溫為12℃,室溫為17℃,實驗數據見表1。

表1 實驗數據
根據上述數據,應用M ATLAB軟件繪制實時水溫曲線,如圖2所示。

圖2 水溫實時曲線
從初始水溫開始,上升1℃所用的時間與后續升溫過程中每升高1℃所用時間相比,具有一定的差異。引起這種差異的因素較多,而且比較復雜,但是其影響只在初始水溫升高1℃這段時間內表現較為明顯,對后續加熱過程影響較為微小。因此,這段時間可以作為后續升溫的一個參考點。實驗數據中存在時間相同而溫度值不同的數據對,這主要是由于采樣時間較小以及處于溫度臨界點造成。從初始水溫+1℃開始到定時加熱結束這段區間,曲線逼近效果較好。通過多次測試發現,當設定時間介于3~10倍的全功率狀態下達到設定溫度所用時間之間時,可以達到最佳逼近效果。在此范圍之外,雖然同步性效果很好,但失真較大。過渡過程中,溫度超調為1℃。恒溫過程中,穩態誤差≤1℃。
通過理論分析和實驗驗證,基于89C52單片機的采用逐次逼近算法和增量式PID算法設計的智能水溫控制系統能夠獲得較好的控制效果,在實際生產過程中具有一定的應用價值。
[1] 張德江.計算機控制系統[M].北京:機械工業出版社,2007.
[2] 張毅剛,彭喜元,董繼成.單片機原理及應用[M].北京:高等教育出版社,2010.
[3] 胡偉,季曉衡.單片機C程序設計及應用實例[M].北京:人民郵電出版社,2003.
[4] 范立南,李雪飛,尹授遠.單片微型計算機控制系統設計[M].北京:人民郵電出版社,2004.
[5] 李震,洪添勝.基于AVR單片機和PID算法的水溫控制器[J].國外電子測量技術,2006,25(1):47-50.
[6] 張越,張炎,趙延軍.基于單片機和模糊控制的水溫自動控制系統[J].儀表技術與傳感器,2007(4):71-72.
[7] 李鐵.基于單片機的溫度控制系統的設計[J].微型機與應用,2010,29(24):29-30.
[8] 劉敏.基于A T89S53單片機的電阻爐溫度控制系統設計[J].寧夏機械,2008(4):11-13.