一種開關量控制的水浴恒溫控制器設計
電加熱水浴恒溫控制具有升溫單向性、大慣性、大滯后、時變性、依靠環(huán)境自然冷卻降溫的特點,難以用數(shù)學方法建立精確的模型[1]。傳統(tǒng)的控制方法是溫度低于設定值時,持續(xù)加熱;高于設定值時,停止加熱。這種方法容易使加熱過程溫度有很大的過沖,在其恒溫過程中,溫度波動也較大。
本設計采用的溫控方法為:溫度較低時,持續(xù)加熱;溫度接近時,斷續(xù)加熱;溫度高于設定值時,停止加熱。本控制器設定參數(shù)具有掉電保持功能,下次開機不用重新設定,方便連續(xù)作業(yè);除了數(shù)字顯示當前溫度外,更能顯示溫度曲線,使其變化趨勢一目了然,具有傳統(tǒng)數(shù)碼管顯示無法比擬的優(yōu)點。溫度傳感器采用數(shù)字溫度傳感器,硬件設計簡單,大大減小了由信號轉換引起的誤差。
本控制器可當作“水浴鍋”、“水溫箱”、“煮沸消毒箱”的控制器使用,其溫控效果可用于蒸餾、干燥、濃縮及恒溫加熱、化學藥品、生物發(fā)酵制品、檢查血清和生化實驗、恒溫培養(yǎng)等。
1 控制器硬件組成
如圖1所示,控制器由實時時鐘、數(shù)字溫度傳感器、單片機、TFT液晶屏、輸出繼電器、按鍵等部分組成。
本控制器采用宏晶公司STC89C52RC型單片機作為核心控制器,其Flash程序存儲器容量為8 KB,數(shù)據(jù)存儲器RAM為512 B,內(nèi)部具有2 KB容量的E2PROM,可用作參數(shù)設置時掉電保存參數(shù)用,這樣就不需要設計外部存儲器,精減了硬件電路設計。該芯片加密性強,抗干擾能力強,功耗低,滿足本控制器設計要求。內(nèi)部E2PROM讀寫的3個基本命令為字節(jié)讀、字節(jié)編程、扇區(qū)擦除。同一個地址的數(shù)據(jù)可以反復讀出,但要寫入數(shù)據(jù),必須先將其擦除,而數(shù)據(jù)擦除是按扇區(qū)(每個扇區(qū)512 B)進行的[2]。
數(shù)據(jù)顯示部分采用的是1.8英寸TFT液晶屏,型號為GYTF018LB35B0M,由于沒有自帶漢字字庫,所以需要自行取漢字字模,存入程序存儲空間,通過函數(shù)調(diào)用實現(xiàn)字符顯示。使用時需自行設定字符顯示的大小,針對不同的顯示要求,本系統(tǒng)使用了32×32、16×16、8×8三種大小字符顯示效果。
實時時鐘芯片用于顯示當前系統(tǒng)運行時間和控制溫度均勻采樣。本控制器采用DS1302作為時鐘控制芯片。DS1302是美國DALLAS公司推出的一種高性能、低功耗的實時時鐘芯片,采用SPI三線接口與CPU進行同步通信,可采用突發(fā)方式一次傳送多個字節(jié)的數(shù)據(jù)。實時時鐘提供秒、分、時、日、星期、月和年記錄,且具有閏年補償功能,工作電壓寬達2.5 V~5.5 V,采用雙電源供電(主電源與備用電源)。DS1302能實現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時間同時記錄,因此廣泛用于測量系統(tǒng)中??刂破鞯臅r鐘電路如圖2所示。
2.1 初始化模塊
初始化模塊由以下函數(shù)組成:(1)讀取上一次存儲在E2PROM中的兩個設定值,即設定溫度值,時間間隔值;(2)配置數(shù)字溫度傳感器18B20;(3)配置LCD,清屏LCD為黑色,并顯示一些在整個控制過程中不變的字符和曲線,如“g”、“℃”等。本模塊在程序開始運行后,只執(zhí)行一次。
2.4 獲取當前時鐘模塊
通過函數(shù)Read_RTC(unsigned char *pdate_r),將DS1302當前時鐘數(shù)據(jù)讀入到date_r[7]數(shù)組中,調(diào)用方式為:Read_RTC(date_r)。其中date_r[7]數(shù)組中每位依次表示為秒、分、時、日、月、年、周,且均為BCD碼。所以date_r[0]代表了當前的秒數(shù),date_r[3]位表示了當前代表的天數(shù)。獲取了當前的時鐘信息后,通過函數(shù)date2string(unsigned char *pdate_dispstr)轉換為相應的字符串,然后調(diào)用字符串顯示函數(shù)在液晶屏上顯示。本系統(tǒng)為了方便記錄當前系統(tǒng)已運行的時間,需設置相應按鍵,用于時鐘清零[4]。
評論