南昌航空大學(xué)測試與光電工程學(xué)院 林奇盛
南昌航空大學(xué)信息工程學(xué)院 熊 器
南昌航空大學(xué)測試與光電工程學(xué)院 彭偉強(qiáng)
基于單片機(jī)的飲水機(jī)溫控系統(tǒng)的設(shè)計(jì)
南昌航空大學(xué)測試與光電工程學(xué)院 林奇盛
南昌航空大學(xué)信息工程學(xué)院 熊 器
南昌航空大學(xué)測試與光電工程學(xué)院 彭偉強(qiáng)
介紹一種飲水機(jī)的溫度控制系統(tǒng)。該系統(tǒng)利用軟件編程實(shí)現(xiàn)飲水機(jī)的智能溫控,在保溫階段采用雙位調(diào)節(jié)進(jìn)行溫度控制,控制精度為±2℃,采用該溫控系統(tǒng)可以使得飲水機(jī)在使用過程不產(chǎn)生“千滾水”。保溫溫度、保溫時間和預(yù)加熱時間可以自由設(shè)定,使得飲水機(jī)使用起來更加方便。
單片機(jī);溫度控制;節(jié)能減排
隨著我國經(jīng)濟(jì)發(fā)展和國際能源緊張局勢的加劇,人們環(huán)保意識的提高,越來越多的人在購買家電產(chǎn)品時都把節(jié)能當(dāng)做重要的衡量指標(biāo)。飲水機(jī)作為一種常用的家用電器,給我們的日常生活帶來了極大方便。目前市場上大部分飲水機(jī)采用熱敏電阻進(jìn)行溫控,飲水機(jī)將水從室溫加熱到沸騰,溫控開關(guān)斷開,停止加熱;之后溫度緩緩下降,當(dāng)溫度下降到一定時,溫控開關(guān)閉合,然后又繼續(xù)加熱到沸騰,如此周而復(fù)始。如果用戶在喝完水之后忘記切斷電源,就會使水反復(fù)燒開,不僅浪費(fèi)能源,而且容易形成含有重金屬、砷化物等有害物質(zhì)的“千滾水”。本文主要討論如何應(yīng)用單片機(jī),為飲水機(jī)設(shè)計(jì)一個節(jié)能環(huán)保的溫控系統(tǒng),彌補(bǔ)飲水機(jī)的這些缺點(diǎn)。實(shí)驗(yàn)結(jié)果表明該溫控系統(tǒng)具有穩(wěn)定性好、易于操作、性價比高的特點(diǎn),將會有廣泛的發(fā)展前景。
系統(tǒng)主要實(shí)現(xiàn)時間顯示,溫度顯示,保溫階段防止水反復(fù)燒開,保溫溫度、保溫時間和預(yù)加熱時間可自由設(shè)定的功能。系統(tǒng)硬件框圖如圖1所示,以STC89C516RD單片機(jī)為核心,擴(kuò)展外部存儲器構(gòu)成系統(tǒng)的主控模塊[1]。STC89C516RD單片機(jī)具有超強(qiáng)抗干擾/高速/低功耗的特點(diǎn),工作電壓為3.4V~5.5V,工作頻率0~40MHZ,其指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時鐘/機(jī)器周期和6時鐘/機(jī)器周期可以任意選擇,內(nèi)部自帶看門狗。
飲水機(jī)加熱膽中的水溫由DS18B20溫度傳感器檢測并轉(zhuǎn)換成數(shù)字量通過串行方式傳送給單片機(jī)。DS18B20采用單總線接口方式,僅需要一個引腳來發(fā)送或接受數(shù)據(jù),單片機(jī)與DS18B20之間僅需要一條數(shù)據(jù)線。該溫度傳感器測溫范圍為-55℃~+125℃,固有測溫分辨率為0.5℃,工作電壓為3~5.5V/DC,在使用時不需要任何外圍元件,它能夠采集被測物的溫度并通過串行方式傳送給單片機(jī)。當(dāng)單片機(jī)給DS18B20發(fā)送溫度轉(zhuǎn)換命令后,DS18B20開始進(jìn)行溫度轉(zhuǎn)換,轉(zhuǎn)換時間與設(shè)定的分辨率有關(guān),當(dāng)設(shè)置為9位時,最大轉(zhuǎn)換時間為3.75ms;10位時轉(zhuǎn)換時間為187.5ms;11位時為375ms;12位時為750ms。當(dāng)分辨率設(shè)置為9位時,溫度轉(zhuǎn)換時間短,但是測量精度不高,采用12位分辨率時轉(zhuǎn)換時間太長,綜合轉(zhuǎn)換時間和測量精度考慮,本系統(tǒng)在軟件編程時將其設(shè)置為11位。該器件具有體積小、質(zhì)量輕、性能穩(wěn)定等優(yōu)點(diǎn),其各方面都滿足系統(tǒng)的設(shè)計(jì)要求。在硬件電路上,DS18B20可以用3~5.5V的外部電源供電方式工作,也可以采用寄生電源供電方式工作。當(dāng)采用外部電源供電時,DS18B20的VDD引腳接外部電源正極,GND引腳接電源負(fù)極,DQ引腳通過一個4.7KΩ的上拉電阻與單片機(jī)相連;當(dāng)采用寄生電源供電時,DS18B20的VDD引腳必須接地,DS18B20從單總線上汲取能量,在信號線處于高電平期間把能量存儲在內(nèi)部電容里,在信號線處于低電平期間由內(nèi)部電容提供能量,直到高電平到來再給寄生電容充電。當(dāng)溫度高于100℃時,DS18B20漏電流比較大,采用寄生電源供電可能導(dǎo)致其無法與單片機(jī)進(jìn)行通訊。由于飲水機(jī)中的水在飲用之前都要燒開,為了確保系統(tǒng)的可靠性,本系統(tǒng)采用外部電源供電方式,電路原理圖如圖2所示,DS18B20的DQ腳與單片機(jī)的P1.3引腳相連,R1為上拉電阻。由于要對飲水機(jī)加熱膽中的水進(jìn)行測溫,先將DS18B20放置在Φ6mm的不銹鋼保護(hù)管中,然后填充硅膠增強(qiáng)導(dǎo)熱性,再放入加熱膽中,這樣測量效果比較好。
圖1 系統(tǒng)結(jié)構(gòu)框圖
圖2 DS18B20測溫電路
圖3 DS1302時鐘電路
圖4 EEPROM接口電路
圖5 鍵盤接口電路
圖6 繼電器模塊電路
圖8 漢字字模的提取原理
為了增強(qiáng)系統(tǒng)的使用靈活性,使其具備定時加熱的功能,需要增加一個時鐘電路。本設(shè)計(jì)采用串行接口實(shí)時時鐘芯片DS1302為系統(tǒng)提供實(shí)時時鐘,它可以對年、月、日、周、時、分和秒進(jìn)行計(jì)時,具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V,芯片本身具備對備份電池進(jìn)行涓細(xì)流充電的功能,可以延長備份電池的壽命。時鐘電路原理圖如圖3所示,DS1302實(shí)時時鐘電路采用32.768KHZ的晶振,與單片機(jī)的P2.0~P2.2引腳相連,采用串行數(shù)據(jù)傳輸。DS1302的VCC1外接3V的紐扣電池,保證在掉電的情況下DS1302也能正常工作。
當(dāng)由于某些外界因素如斷電導(dǎo)致系統(tǒng)停止工作時,系統(tǒng)里面如保溫溫度、保溫時間等用戶設(shè)定的參數(shù)將會丟失,在系統(tǒng)重啟之后需要重新設(shè)定,從而造成使用的不方便。所以在用戶完成這些參數(shù)的設(shè)置之后需要對這些參數(shù)進(jìn)行備份,防止掉電丟失。本設(shè)計(jì)采用AT24C01芯片,它提供128字節(jié)的EEPROM存儲空間,采用IIC總線通信,每次用戶進(jìn)行按鍵設(shè)置之后,將改變的數(shù)據(jù)復(fù)制到AT24C01中,這樣系統(tǒng)每次重啟時直接從AT24C01中讀取相關(guān)參數(shù),免去了重復(fù)設(shè)置帶來的麻煩。EEPROM接口電路原理圖如圖4所示。
當(dāng)飲水機(jī)的使用環(huán)境改變時,用戶可能需要對系統(tǒng)的保溫溫度、保溫時間和預(yù)加熱時間進(jìn)行相應(yīng)的修改或者系統(tǒng)的時鐘因外界因素而導(dǎo)致時間顯示錯誤時也需要人為進(jìn)行修正。本系統(tǒng)通過5個獨(dú)立按鍵來實(shí)現(xiàn)此功能。由于系統(tǒng)的按鍵個數(shù)不是很多,采用獨(dú)立按鍵連接方式,單片機(jī)的P3.0~P3.4口通過上拉電阻與5個按鍵相連構(gòu)成系統(tǒng)的鍵盤輸入部分。鍵盤輸入電路原理圖如圖5所示。在軟件設(shè)計(jì)時采用電平檢測來判斷按鍵是否按下,當(dāng)檢測到低電平時,說明按鍵被按下,否則,未按下。
系統(tǒng)可以采用可控硅、繼電器等作為輸出單元。由于本設(shè)計(jì)的溫控系統(tǒng)的控制對象為飲水機(jī),其控制精度要求不是很高,采用繼電器作為輸出單元即可滿足設(shè)計(jì)要求。單片機(jī)的P1.2引腳通過電阻R2與三極管S8550基極相連控制繼電器的通斷。由于繼電器線圈在切斷瞬間會產(chǎn)生一個感應(yīng)電動勢,與電源電壓相加直接加到三級管集電極,容易導(dǎo)致三極管擊穿,所以在繼電器線圈兩端接上一個二極管1N4148抑制感應(yīng)電動勢。繼電器模塊電路原理圖如圖6所示。
2.6.1 TFT彩屏色彩模式簡介
在TFT彩屏中,一個黑白或單色像素點(diǎn)用一位二進(jìn)制數(shù)表示,一個彩色像素用多位二進(jìn)制數(shù)表示。表示彩色像素的二進(jìn)制數(shù)的位數(shù)稱為顏色質(zhì)量。TFT彩屏顯示的顏色質(zhì)量可以選擇1位色、8位色、16位色、24位色和32位色。由于系統(tǒng)采用的是8位單片機(jī),其對大批量數(shù)據(jù)傳輸速度不是很快,再根據(jù)飲水機(jī)的使用環(huán)境對顏色要求不是特別高,所以本設(shè)計(jì)采用16位色表示一個彩色點(diǎn)。圖7為用1個16位二進(jìn)制數(shù)表示一個彩色點(diǎn)的示意圖,高5位表示紅色所占比例,低5位表示藍(lán)色所占比例,其余位表示綠色所占比例,即R5G6B5格式[2],這樣一共可以組合出65536種顏色。例如,利用該表示方法紅色可表示為1111 1000 0000 0000 B,高5位全1,中間6位和低5位全0,表示紅色部分占100%,綠色和藍(lán)色占0%,用十六進(jìn)制表示為f800H。同理可知黑色可用0000H表示,藍(lán)色可用001fH表示。所以只要合理搭配紅綠藍(lán)三基色的比例,就可以調(diào)出想要的顏色。
2.6.2 TFT彩屏顯示原理及漢字字模的獲取
了解了TFT彩屏像素點(diǎn)顏色的表示方法之后,要把一個漢字顯示在TFT彩屏上,還需要獲取需要顯示的漢字的字模。在UCDOS中文宋體字庫中,每個漢字均由16行16列的點(diǎn)陣組成,即每個字均由256個點(diǎn)來表示[3]。如果把每個點(diǎn)理解為一個像素,把每個漢字的形狀理解為一幅圖像,那么TFT彩屏就可以顯示出任意形狀的字符,通過更改像素點(diǎn)的顏色就可顯示出彩色圖像。利用行掃描的方法,可以獲取任意一個漢字的字模。例如,把“南”字看成一幅圖像,逐行掃描,有筆畫的地方為1,沒有筆畫的地方為0,則“南”字的第一行可用0100H表示,第二行可用0104H表示,第三行可用FFFEH表示,……,示意圖如圖8所示。利用這種方法可用得到任意漢字的字模,依靠人工提取漢字字模比較繁瑣,漢字字??梢酝ㄟ^字模提取軟件來提取。
獲取漢字字模之后,當(dāng)要把某個漢字顯示在彩屏的某個區(qū)域時,只需要通過程序設(shè)計(jì)對該區(qū)域逐行掃描,每掃描一個點(diǎn),向彩屏發(fā)送一次顏色碼,有筆畫的區(qū)域發(fā)送字體顏色,沒有筆畫的區(qū)域發(fā)送字體背景顏色,這樣把該區(qū)域掃描完之后,就可以把一個漢字顯示出來了。利用該方法,可用將中英文字符、彩色圖像顯示在彩屏的任意區(qū)域。
2.6.3 TFT彩屏接口電路
本系統(tǒng)采用的TFT彩屏主控芯片為ILI9325,分辨率為128×160,TFT彩屏電路原理圖如圖9所示。利用該彩屏,通過軟件編程可以設(shè)置出一個友好程度很高的界面。TFT彩屏主要顯示當(dāng)前時間、當(dāng)前水溫、保溫溫度、保溫時間、預(yù)加熱時間和飲水機(jī)當(dāng)前的狀態(tài)等內(nèi)容;在用戶進(jìn)行按鍵設(shè)置時,顯示設(shè)置提示。
在一定的控制系統(tǒng)中,首先將需要控制的參數(shù)由傳感器轉(zhuǎn)換成一定的信號后再與預(yù)設(shè)定的值進(jìn)行比較,把比較得到的差值信號經(jīng)過一定規(guī)律的計(jì)算后得到相應(yīng)的控制值,將控制量送給控制系統(tǒng)進(jìn)行相應(yīng)的控制,不停的進(jìn)行上述工作,從而達(dá)到自動調(diào)節(jié)的目的[4]。在本系統(tǒng)中可以采用PID控制等控制方法對水溫進(jìn)行控制,由于本系統(tǒng)的控制精度要求不是很高,考慮到生產(chǎn)成本,本系統(tǒng)在保溫階段采用雙位調(diào)節(jié)控制對水溫進(jìn)行控制。雙位調(diào)節(jié)控制規(guī)律是較常用的位置式控制,其作用是不連續(xù)的,調(diào)節(jié)機(jī)構(gòu)只有開和關(guān)兩個位置[5],該控制方法具有簡單易行、成本低廉的特點(diǎn),在控制精度要求不是很高的場合廣泛應(yīng)用。
本設(shè)計(jì)希望通過以STC89C516RD單片機(jī)為核心的系統(tǒng),采用軟件編程,防止飲水機(jī)形成“千滾水”,達(dá)到節(jié)能環(huán)保的目的。
圖9 TFT彩屏接口電路
圖10 主程序流程圖
圖11 雙位調(diào)節(jié)控制子程序流程圖
圖12 環(huán)境溫度為22℃,保溫溫度設(shè)定為60℃的溫控結(jié)果
圖13 自動保溫階段溫控結(jié)果
在系統(tǒng)處于保溫狀態(tài)時,通過雙位調(diào)節(jié)控制使得水溫在保溫溫度上下小范圍內(nèi)波動,如果檢測到水溫低于保溫溫度2℃,閉合繼電器,進(jìn)行加熱;如果檢測到水溫大于或等于保溫溫度,斷開繼電器,停止加熱。雙位調(diào)節(jié)控制子程序流程圖如圖11所示,ttest為當(dāng)前水溫,tset為用戶設(shè)定的保溫溫度。
在本設(shè)計(jì)中,通過STC89C516RD單片機(jī)的外部中斷0進(jìn)入按鍵掃描程序,當(dāng)系統(tǒng)的按鍵K3被按下后進(jìn)入按鍵掃描子程序,再次被下后則退出按鍵設(shè)置,在退出按鍵設(shè)置時,需要將用戶更改的參數(shù)更新到AT24C01中,防止掉電丟失。系統(tǒng)按鍵包括進(jìn)入/退出設(shè)置、左移、右移、加1和減1五個按鍵。通過按鍵用戶可以進(jìn)行保溫溫度設(shè)置、保溫時間設(shè)置、預(yù)加熱時間設(shè)置和系統(tǒng)時鐘設(shè)置。在用戶進(jìn)行按鍵設(shè)置時,通過軟件編程讓TFT彩屏顯示設(shè)置提示,這樣使得飲水機(jī)使用起來更加方便。
當(dāng)系統(tǒng)的使用過程中受到干擾而失控,引起程序亂飛,或者程序陷入“死循環(huán)”,這時需要采用“看門狗”使系統(tǒng)脫離這種狀態(tài)。STC89C5 16RD單片機(jī)內(nèi)部自帶一個14位看門狗定時器,當(dāng)采用12時鐘模式時,由于采用了“預(yù)分頻技術(shù)”,它的溢出時間=(N*Prescale*32768)/晶振頻率,其中N是單片機(jī)的時鐘周期,Prescale時預(yù)分頻數(shù),如果采用12MHZ的晶振,通過設(shè)置相關(guān)寄存器,看門狗溢出時間范圍可設(shè)定為65.5ms~8.38s。系統(tǒng)采用12時鐘周期模式,晶振頻率為12MHZ,如果系統(tǒng)在執(zhí)行過程中不停地喂狗,是比較浪費(fèi)時間的,為了節(jié)省單片機(jī)資源,本設(shè)計(jì)將看門狗溢出時間設(shè)定為8.38s。
圖12和圖13為室溫22℃下,保溫溫度設(shè)定為60℃時,根據(jù)系統(tǒng)溫控結(jié)果所繪制的曲線。圖中橫坐標(biāo)為采樣時間(單位:分鐘),縱坐標(biāo)為溫度(單位:℃)。
實(shí)驗(yàn)結(jié)果表明,該溫度控制系統(tǒng)實(shí)現(xiàn)了預(yù)期設(shè)計(jì)的目的。在保溫階段,系統(tǒng)采用雙位調(diào)節(jié)控制,溫度控制精度達(dá)到±2℃,防止飲水機(jī)在使用過程中形成“千滾水”。
本設(shè)計(jì)的飲水機(jī)溫控系統(tǒng)主要根據(jù)目前節(jié)能環(huán)保的發(fā)展趨勢和實(shí)際應(yīng)用的特點(diǎn)和要求,對現(xiàn)行飲水機(jī)進(jìn)行改進(jìn),采用單片機(jī),利用軟件編程實(shí)現(xiàn)飲水機(jī)的智能保溫節(jié)電。在保溫階段系統(tǒng)采用雙位調(diào)節(jié)進(jìn)行溫度控制,當(dāng)溫度高于保溫溫度時,停止加熱,當(dāng)溫度下降到保溫溫度下2℃時,開始加熱,控制水溫在保溫溫度上下小范圍內(nèi)波動。雙位調(diào)節(jié)是一種簡單易行的控制方式,具有成本低廉、可靠性強(qiáng)的特點(diǎn),在控制精度要求不是很高的場合廣泛應(yīng)用。通過實(shí)驗(yàn)證明該控制方法完全可以滿足系統(tǒng)的使用要求。系統(tǒng)采用1.8寸的TFT彩屏作為顯示部分,利用軟件編程設(shè)置了一個友好的界面將飲水機(jī)的各項(xiàng)參數(shù)顯示出來,使得用戶可以根據(jù)彩屏上的提示很方便的通過按鍵對相關(guān)參數(shù)進(jìn)行設(shè)定,這樣該系統(tǒng)可以滿足不同環(huán)境下用戶的使用要求。
本文設(shè)計(jì)的溫控系統(tǒng)具有穩(wěn)定性好、易于操作、性價比高的特點(diǎn),將其稍加改裝即可應(yīng)用于其他家用電器的控制系統(tǒng)中。
[1]張毅剛,彭喜元,姜守達(dá),喬立巖.新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱工業(yè)大學(xué)出版社,2008.
[2]毛學(xué)軍,沙祥.液晶模塊應(yīng)用[M].電子工業(yè)出版社,2010.
[3]靳桅,鄔芝權(quán),李騏,劉全.基于51系列單片機(jī)的LED顯示屏開發(fā)技術(shù)(第2版)[M].北京航空航天大學(xué)出版社,2011,4.
[4]汪孝國,王婉麗,祁雙喜.高精度PID溫度控制器[J].電子與自動化,2000(5).
[5]劉春蕾.溫度雙位調(diào)節(jié)實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)[J].河北建筑工程學(xué)院學(xué)報,1999(02).
[6]8051系列單片機(jī)C程序設(shè)計(jì)完全手冊[M].人民郵電出版社,2006.
[7]余永權(quán),汪明慧,黃英.單片機(jī)在控制系統(tǒng)中的應(yīng)用[M].電子工業(yè)出版社,2003.
林奇盛(1992—),男,江西贛州人,現(xiàn)就讀于南昌航空大學(xué)測試與光電工程學(xué)院,主要研究方向:單片機(jī)開發(fā)與應(yīng)用。