楊明 楊華 王洋
摘? 要:文章介紹了基于STC15F2K60S2單片機的恒溫箱控制系統(tǒng)設(shè)計及其模型建立。由溫度傳感器DS18B20采集溫度信號,傳送給單片機對信號進行處理,把數(shù)據(jù)傳送給LCD1602顯示,采用PWM方式的PID控制算法,調(diào)節(jié)風扇轉(zhuǎn)速來散熱從而達到恒溫的目的。實物恒溫箱模型主要用于本院學生實驗教學。
關(guān)鍵詞:恒溫箱;溫度傳感器;PID;PWM
中圖分類號:TP273 文獻標志碼:A? ? ? ?文章編號:2095-2945(2019)34-0037-03
Abstract: This paper introduces the design of the constant temperature box control system based on STC15F2K60S2 microcontroller and its model establishment. Temperature signal is collected by temperature sensor DS18B20 and transmitted to single chip microcomputer to process the signal. The data is transmitted to LCD1602 for display. PID control algorithm in PWM mode is adopted to adjust the fan speed to dissipate heat so as to achieve the purpose of constant temperature. The constant temperature box model is used in the experimental teaching of the students in our college.
Keywords: constant temperature box; temperature sensor; PID; PWM
1 概述
計算機控制技術(shù)是我院自動化專業(yè)和測控技術(shù)與儀器專業(yè)的一門專業(yè)核心課程,課程的特點是實踐性強、與專業(yè)基礎(chǔ)課密切相關(guān),涉及的基礎(chǔ)理論和知識面比較廣,包括自動控制技術(shù)、計算機技術(shù)、網(wǎng)絡(luò)與通信技術(shù)、檢測與傳感器技術(shù)、顯示技術(shù)、電子技術(shù)等[1-3],故該課程的學習難度較大。為了提高教學質(zhì)量,使學生更好的掌握計算機控制系統(tǒng)的硬件和軟件的基礎(chǔ)知識及其應(yīng)用技術(shù),進行教學改革,提出了項目式教學方法[4,5]。故設(shè)計此恒溫箱控制系統(tǒng),并以此為例,將其分解進行模塊化授課,并建立其數(shù)學模型,以此為基礎(chǔ)來驗證學生自己編寫的控制算法。
2 恒溫箱控制系統(tǒng)硬件設(shè)計
恒溫箱控制系統(tǒng)硬件主要由控制器、溫度檢測電路、按鍵電路、顯示電路、聲光報警電路和加散熱模塊等組成,其系統(tǒng)框圖如圖1所示。
2.1 主控電路設(shè)計
核心器件主控制器采用的是中國深圳宏晶STC15F2K60S2單片機,是一種增強型的8051單片機,是新型的FLASH單片機,與傳統(tǒng)的8051系列單片機兼容,在片內(nèi)資源、操作性能和運行速度上做了很大的改進,同時還具有集成度高,系統(tǒng)結(jié)構(gòu)簡單,體積小,可靠性高,處理能力強,速度快,具有超低功耗等特點[6]。溫度采集采用的是數(shù)字溫度傳感器DS18B20,采用單總線協(xié)議,即與單片機接口僅需占用一個I/O端口,其內(nèi)部集成A/D轉(zhuǎn)換器,無需任何外接元件,可直接將溫度轉(zhuǎn)化成串行數(shù)字信號供處理器處理,達到溫度采集的目的[7-9]。按鍵電路采用4個獨立按鍵,用來設(shè)置被控溫度給定值和PID參數(shù)。顯示電路采用液晶顯示屏LCD1602,顯示當前溫度、設(shè)定溫度以及PID參數(shù)和恒溫箱開機運行時間等。恒溫箱控制系統(tǒng)的主控電路如圖2所示。
2.2 風扇電機驅(qū)動電路設(shè)計
加熱裝置由4個白熾燈組成,分成2組分別控制通斷,來實現(xiàn)對恒溫箱的恒定加熱。散熱裝置由4個風扇組成,分別裝在恒溫箱的4個箱壁上,通過PWM(脈寬調(diào)制)技術(shù)來調(diào)節(jié)風扇轉(zhuǎn)速,達到恒溫的目的。IR2104是一種高性能的半橋驅(qū)動芯片,該芯片內(nèi)部是采用被動式泵荷升壓原理,其內(nèi)部自帶死區(qū)時間設(shè)置[10]。在電路的應(yīng)用過程中,利用單片機輸出PWM信號,用于控制上下MOS管的導通與截止,當PWM信號翻轉(zhuǎn)時,芯片輸出電平發(fā)生翻轉(zhuǎn),上下MOS輪流導通。其風扇電機驅(qū)動電路設(shè)計如圖3所示。
3 恒溫箱控制系統(tǒng)軟件設(shè)計
恒溫箱溫度計算機控制系統(tǒng)在完成硬件設(shè)計之后,以此為基礎(chǔ)開始軟件設(shè)計,軟件設(shè)計將主要是對各個模塊進行全面的使用與合理的配置,進而保證系統(tǒng)的實效性。系統(tǒng)主程序流程圖如圖4所示。系統(tǒng)上電后處于待機狀態(tài),按開機鍵后首先進行系統(tǒng)初始化,其包括設(shè)置RTC實時時鐘、LCD1602顯示初始化、按鍵初始化、PID參數(shù)初始化、PWM參數(shù)初始化等。此后進行按鍵掃描和液晶屏顯示,采用中斷方式來實現(xiàn)每隔1秒對溫度的實時采集、偏差計算、PID控制算法計算、PWM輸出控制電風扇轉(zhuǎn)速。
4 實物實現(xiàn)
根據(jù)設(shè)計思想,制作出實物,恒溫箱主體及主控制器如圖5所示。
使用時當接通電源,顯示屏就會顯示出設(shè)定溫度和當前箱內(nèi)的溫度,通過功能鍵和上升、下降兩個按鍵,可以來設(shè)置給定溫度和PID控制參數(shù)。根據(jù)設(shè)定溫度與當前溫度的偏差大小,采用PID控制算法、通過PWM調(diào)制、控制電風扇的轉(zhuǎn)速,從而達到恒溫的目的。表1列出了恒溫箱在工作了15分鐘后恒溫箱在3分鐘內(nèi)的溫度波動情況,10秒鐘測量一個數(shù)據(jù)??梢娺@3分鐘內(nèi)其溫度波動極值為0.3℃,此恒溫箱控制系統(tǒng)控制精度可達±0.2℃。
5 數(shù)學模型的建立