馬麗萍
(江蘇聯合職業技術學院無錫機電分院,江蘇無錫214028)
在儀表的整個系統中,溫度控制系統的準確性直接影響檢測結果的精度和準確度[1]。本文介紹了食品安全中快速檢測的恒溫控制設備,通過對加熱絲上的加熱功率控制,使測試樣本溫度得到相對應的控制,同時為了減小硬件電路中對恒溫控制的一些不利因素,這里選用了相對精密的電器元件和更為準確高效的c程序來實現最終的要求。可以精確地把儀器設定的溫度恒定控制,很好地滿足食品行業上溫度的苛刻要求,對食品的安全和生產會有很大的幫助,同時也符合我國當前發展的需求[2]。
本儀表利用按鍵設定所需的溫度,采用溫度傳感器pt100進行采集溫度數據,通過1602液晶屏實時顯示,同時該儀表采用了轉換精度為24位的ADS1256芯片,將采集到的電信號通過A/D傳遞到微處理器上進行PID運算處理,微處理器通過端口輸出相應的控制信號,對加熱電路上的加熱絲進行加熱控制,最終實現對食品反應液上的恒溫控制[3]。
本系統由五個模塊組成,分別為按鍵設定溫度模塊、LCD顯示溫度模塊、溫度數據檢測模塊、溫度控制模塊、微控制器數據處理模塊。本溫度控制系統的設計框圖如圖1所示。

圖1 系統整體設計框圖
按鍵設定溫度模塊由三個獨立按鍵組成,分別是上調、下調、設置三個按鍵。通過針對檢測中所需的溫度要求,可以使用三個按鍵來設置所需的溫度值。溫度數據檢測模塊采用了鉑電阻pt100進行溫度測量,通過精度為24位的ADS1256芯片將電路中采集到的電壓信號轉換為數字信號傳送到微控制器上,提高了在溫度檢測中的測量精度。微處理器接收到溫度采集模塊送入的數據后,將信號處理后送到外接顯示電路的LCD上進行溫度實時監控。同時微處理器將處理后的數據送入溫度控制電路,通過輸出端口,將已處理的數據對光耦隔離器進行開關觸發,從而實現對電路中加熱絲功率的控制,最終實現恒溫的要求。微控制器數據處理主要通過軟件編程對各個模塊的參數進行設定和檢測。這些參數有按鍵設定目標溫度、溫度檢測電路中的采集到的溫度、PID運算數據等。通過微處理器進行PWM波輸出實現對溫控電路的恒溫加熱控制[4]。

圖2 溫度檢測電路圖
圖2中主要由ADS1256芯片、鉑電阻Pt100、運放器構成了溫度檢測電路。
圖2中選用了A級精度pt100作為采集溫度的傳感器,同時為了防止放大電路中單級放大倍數過高帶來的非線性誤差,此電路采用兩級放大,電路選用了兩片LM358集成運算放大器對pt100上的點電位進行電信號放大,電路中的運放倍數前一級約為10倍,后一級約為3倍。在隨著溫度不斷變化時,若溫度上升,Pt100阻值變大,輸入放大電路的差分信號變大,放大電路的輸出電壓對應升高。OUT端口輸出的信號通過A/D芯片將信號數據送入單片機中進行數據處理。

圖3 溫度控制電路圖
在如圖3的溫度控制電路中,單片機收到溫度檢測模塊采集到的數據信息,數據經過其內部運算處理后,端口輸出PWM波至溫度控制電路,通過觸發光耦隔離器件的開關來控制溫控電路中加熱絲的功率。其中單片機在控制輸出PWM波中,通過系統中閉環內部自校正的PID控制程序,將測量到的溫度數據進行運算處理,控制PID的輸出,最終來控制溫度控制電路中輸入PWM波的占空比,來實現對溫度的動態控制。該控溫電路中為了防止控制電路部分的沖擊電流對單片機造成損壞,電路中選用了光耦隔離器,來進行保護。同時選用了兩片MOSFETS,進行控制電壓信號的接通,若光耦開關一端接收到高電平信號,則將接入電壓接通R2,U1和U2的S和G端口接到公共地,把加熱電阻R1短路,斷開加熱。若光耦開關一端接入低電平,則分別接通R2,U1和U2的S和D端口接到加熱電阻R1上進行加熱,光耦一端如此交替的接收到單片機上送入的PWM波來進行控溫。該溫控電路如圖3所示。
在整個系統設計中單片機控制部分同時接入了按鍵和1602液晶顯示器,溫控系統中溫度值的設定需要通過按鍵與單片機之間進行人機交互,因此在單片機最小系統上的并行IO口增加按鍵,通過按鍵來實現人機之間的交互信息。而1602液晶顯示器經過單片機內部編寫好的驅動程序驅動,能夠對系統中整體的控制情況進行實時的監控,把人機交互變得更加友好。

圖4 主程序設計流程圖
在設計單片機的主程序中,主要包含了系統的各個部分初始化程序、按鍵掃描程序、采集溫度程序、顯示溫度程序、溫度數據的增量式PID處理程序、PWM控制輸出程序等其他程序。程序主要的設計流程圖如圖4所示。
流程圖中的各個部分初始化包括了按鍵初始化、定時器初始化、A/D轉換芯片初始化、顯示部分初始化。這個部分使得程序中的參數初始化完成。按鍵掃描程序進行循環掃描,判斷按鍵按下的次數,得到所要設定的溫度值。采集溫度程序可以將ADS1256芯片的外部輸入端口采集到的模擬信號進行數字信號處理,通過顯示溫度程序控制單片機的外部LCD的顯示。而程序中最重要是PID程序,該部分采用了增量式PID算法,將采集到的溫度數據加入到PID內部參數,再進行PID處理并輸出運算后的結果。同時將結果傳送到PWM控制輸出程序中,控制溫控電路中的加熱功率,進而使溫度達到設定的要求。
在本單片機控制系統中,針對溫度偏差進行了溫度上的累加,因此不需要給出控制量的具體數值,只需要給出一個增量值就可以完成所要的要求。本設計中選用了增量式PID控制算法,可以完成運算控制,相對其他控制算法簡單又不失精確。增量式PID控制器系統結構如圖5所示。

圖5 PID算法控制結構圖
其標準公式[5]為:

PID算法進一步改進后:

算法中參數的確定:公式中的PID參數為采樣周期T、比例系數Kp、積分時間系數Ti、微分時間系數Td,這些參數的整定采用的是試湊法[6-8]。根據各個參數的調節規律,首先對Kp進行選取,通過調節Kp來加快系統的快速性,在有靜差的情況下有利于減小靜差,Kp也不宜過大,若選取較大時,會使系統出現較大的超調量,并且產生震蕩,使得系統的穩定性變壞。接著對采樣周期T進行選取,先粗選一個采樣周期T,通過在單片機上的多次調試,直到選取到一個滿意的周期T。增大積分時間參數Ti有利于減小超調,減小震蕩,使系統的靜差慢慢減小,系統變得更加的穩定。而增大微分時間參數Td有利于加快系統響應,使超調量減少,但同時會使系統抑制能力減弱,因此本文中的軟件設計中沒有用到微分時間參數Td,這里選取Td=0。經過多次的選取、觀察和調試,得到了相應參數值。
根據設計程序中PID運算已經得出相應靜差值Δu(k),因為PWM只能在開度范圍中動態的變化,因此需要給運算結果設定限制條件。由程序中設定的定時器進行計數與PID得出靜差值進行比較,可以算出對應的占空比,這樣恒溫電路中加熱絲的加熱功率大小就會根隨程序中的PID運算結果動態變化而將控制的溫度逐漸的逼近設定的溫度,最終實現恒溫控制。

圖6 實驗數據的結果圖
根據對設計電路中的PID算法的要求,要對增量式PID公式中的各個參數進行選取。為了準確快速的對溫度進行控制,要首先對Kp進行選取,其他的Ki,Kd均為0。對控制后的溫度進行觀察檢查是否實現溫度控制的快速性;接著對Ti上進行選取,判斷系統是否能夠在快速性的基礎上減小超調。通過了多次的測量數據和多次的仿真繪圖,得出了 Kp=100、Ki=0.1、Kd=0。即可完成所需要的功能,對于控制效果相對理想。經過多次測量的出多組測量數據(設定的參考溫度為34℃,室內溫度選取為13℃)。
在實驗測量結果中任意選取4組測量數據作為比較,其溫度變化的曲線如圖6所示,通過圖6可以顯示出溫度控制系統的工作特性。
從圖6中不難看出四次測量的溫度變化較為平滑,說明該系統的控溫相對穩定,并且最終能夠實現設定的溫度動態穩定,圖6中前6分鐘加熱部分呈現線性最大加熱功率,6~10分鐘呈現出PWM波控制加熱功率,曲線上10分鐘后的部分,溫度相對穩定在所設定的溫度上,誤差為±0.1℃,說明該系統控溫可以相對準確的實現。
筆者對本文中的溫度控制系統進行了實驗研究,在環境溫度13℃時,可將溫度控制在34℃。如果對于實際應用上對快速性的高要求,接下來還可以對溫控模塊上的電路進行改善和優化,使電路能夠接入更大的輸入功率,使加熱絲加熱功率增大,減少加熱時所用的時間,以此滿足實際中的應用。
本文中的溫控系統具有測量速度快、抗干擾能力強、測量精準、功耗低。電路配上功能強大的單片機系統,很好的實現了智能的恒溫功能,使系統穩定,并對測量后的結果能夠及時的監控顯示,實時性很好。對于多數的溫控場合,此系統是完全可以被應用到所需要的地方,也可以作為其他溫度控制借鑒的實例。
[1] 周良,黎海文,吳一輝.具有溫度補償的小型生化分析儀溫度控制系統的研究[J].傳感技術學報,2008,21(11):1831-1834.
[2] 王大輝.生化分析儀溫度控制系統研究[D].長春:長春理工大學,2008.
[3] 盧思祺.MCS-51單片機溫度控制系統的設計[J].科技向導,2013(17):25-30.
[4] 郭天祥.新概念51單片機C語言教程[M].北京:電子工業出版社,2010.
[5] 劉艷春,趙立雙.基于增量式PID控制算法的恒溫控制系統[J].信息技術,2014(2):167-169.
[6] 葉巍翔,徐凱,劉佳卓,馬丁,國華.用于生化傳感檢測的自適應增量恒溫控制系統[J].南開大學學報(自然科學版),2014,47(2):18-23.
[7] Xu G Q,Yung SP.The exponential decay rate for a Timo shenko beam with boundary damping[J].Journal of Optimization Theory and Applications,2004,123(3):669-693.
[8] Dey C,Mudi R K,Lee PK,etal.A PID controller with dynamic set-point weighting[C/OL]//IEEE International Conference on Industrial Technology,Mumbai,India,December11-13,2006.[2013-04-06].http://ieeex-plore:ieee.org/xpls/abs_all.jsp?arnumber=4237628.