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