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