基于ATmega16與DS18B20的智能溫控系統(tǒng)的設計
0 引言
在工農業(yè)生產和日常生活中,溫度的測量及控制越來越重要。傳統(tǒng)的溫度控制系統(tǒng)采用熱敏電阻器或熱電偶測量溫度,但是由于模擬溫度傳感器輸出的是模擬信號,必須經過A/D轉換等環(huán)節(jié)才能獲得數字信號,再加上這種溫度采集電路有時需要冷端補償電路,這樣增加了電路的復雜性,且電路易受干擾,使采集到的數據準確性不高。隨著技術的發(fā)展,目前國際上新型溫度傳感器已從模擬式向數字式,從集成化向智能化、網絡化的方向飛速發(fā)展。智能化溫度傳感器DS18B20將溫度傳感器、寄存器、接口電路集成在一個芯片中,能直接輸出數字信號。本論文設計了以ATmega16單片機和DS18B20為主構成的智能溫控系統(tǒng),該系統(tǒng)的溫度啟控點可以根據用戶需要而自行設定。
1 系統(tǒng)控制原理及總體構成
1.1 系統(tǒng)總體構成
溫控系統(tǒng)主要有2大任務;采集溫度信息和能對溫度實時控制。為完成控制要求,本智能溫控系統(tǒng)的總體構成如圖1所示。
1.2 系統(tǒng)控制原理
智能溫控系統(tǒng)通過DS18B20采集溫度信息并將其傳送到ATmega16單片機中,單片機再將采集的溫度信息與用戶設定的溫度值進行比較,從而控制加熱/通風執(zhí)行機構是否需要加熱或降溫。用戶可通過鍵盤輸入來設置溫度值,LCD顯示用戶設定的溫度值、當前采集溫度值。如果發(fā)生故障時,系統(tǒng)發(fā)出聲、光報警。
2 系統(tǒng)的硬件設計
系統(tǒng)硬件電路的設計主要包括4大部分:單片機核心部分、DS18B20溫度采集模塊、加熱/通風執(zhí)行機構、報警電路。
2.1 單片機核心部分
ATmegal6單片機采用Harvard結構,內置WDT,具有高速、低功耗,可直接驅動LED、SSR或繼電器等特點,因此本系統(tǒng)采用該單片機作為微處理器中。單片機核心部分的設計主要包括ATmega16單片機的最小系統(tǒng)、4×4鍵盤、漢字式LCD(SMG12864)液晶顯示、電壓檢測和報警電路的設計。其中,PB2,PB3作為電壓檢測輸入端,若系統(tǒng)發(fā)生欠壓、失壓或過壓時可產生報警信號;PB6、PB7與報警電路連接,控制聲、光報警;PC端8個引腳與SMG12864A連接,控制漢字式LCD顯示;PC端8個引腳外接4×4鍵盤,使用戶進行溫度設定;PD4、PD5分別作為加熱執(zhí)行機構和通風執(zhí)行機構的控制信號輸出端;PA0與DS18B20的DQ進行連接,作為溫度采集信號輸入端。
2.2 DS18B20溫度采集模塊
在眾多應用于溫度監(jiān)測的溫敏元件中,雖然溫敏電阻成本低,但后續(xù)電路復雜,且需要進行溫度標定,因此本系統(tǒng)采用DS18B20進行溫度采集。DS18B20是美國Dallas半導體公司生產的新一代1-wire總線的數字式溫度傳感器,測量范圍在-55~+125℃,最大分辨可達0.062 5℃。
DS18B20的TO-92封裝有3個引腳:GND、DQ和VDD。DS18B20可采用2種方式供電:一種是采用電源供電方式(即GND與地線連接,DQ與ATme-ga16的PA0連接,VDD與5V電源連接);另一種是寄生電源供電方式(即VDD和GND接地,DQ與ATmega16的PA0連接)。由于外部電源供電方式,工作穩(wěn)定可靠,抗干擾能力強,電路簡單,因此本系統(tǒng)采用外部電源供電方式。外部電源供電方式的I/O線可不需要接強上拉,不存在電源電流不足的問題。
DS18B20內部自帶A/D轉換器,通過內部的溫度采集、A/D數據轉換等過程,以形成與溫度相對應的數字值,最后將該數字值由DS18B20的DQ端經PA0送給ATmega16單片機。測溫原理如圖2所示。
2.3 加熱/通風執(zhí)行機構
加熱/通風主要是通過控制風扇轉動以達到降溫的目的,或者通過控制加熱器加熱達到升溫的目的。溫度的上升或下降具有一定的慣性,因此要想達到精度較高的溫控效果必須要設計相應的控制電路。傳統(tǒng)的加熱/通風執(zhí)行機構可能采用電磁繼電器作為開關元件,其缺點是壽命短、開關速度慢、溫度變化慣性大,難以滿足工藝要求。本系統(tǒng)采用固態(tài)繼電器(Solid State Relay,SSR)作為加熱/通用執(zhí)行機構的開關元件,它具有壽命長、可靠性高、開關速度快、電磁干擾小、無噪聲、無火花等特點。
要達到較好的溫控效果,風扇的轉速和通過加熱器的電流大小應能發(fā)生改變,即功率可調。采用可控硅實現交流調功時通常有2種方法:一種是改變負載電壓波形的導通角,即調相;另一種是負載電壓波形不變而改變其電壓波形在時間段內的出現次數,即PWM脈沖調功。調相調功采用移相觸發(fā),PWM脈沖調功采用過零觸發(fā)。由于過零觸發(fā)方式不對電網造成嚴重污染和干擾其它用電設備,是應用較為廣泛的一種方法,因此本系統(tǒng)采用PWM調功??梢酝ㄟ^軟件編程方式由ATmega16的PD4(OC1B)和PD5(OC1A)直接輸出PWM波形來控制風扇的轉速和加熱器電流的大小。
加熱/通風執(zhí)行機構的開關元件選用交流過零觸發(fā)型SSR,控制方法采用過零觸發(fā),當控制信號輸入后,SSR在交流電源為零電壓附近導通。通風執(zhí)行機構的電路如圖3所示,加熱執(zhí)行機構的電路與此電路類似。
2.4 報警電路
本系統(tǒng)采用蜂鳴器作為聲音報警電路,它由晶體管和蜂鳴器組成。采用發(fā)光二極管作為系統(tǒng)異常顯示,它由紅、綠發(fā)光二極管及限流電阻構成。單片機工作在正常情況下時,綠色發(fā)光二極管點亮,蜂鳴器不發(fā)聲。當溫度測量值超出給定的上、下限或者系統(tǒng)出現低電壓時,由ATmega16單片機的PB6控制蜂鳴器發(fā)聲,PB7控制綠色發(fā)光二極管熄滅,而紅色發(fā)光二極管點亮??刂品澍Q器輸出不同聲音而區(qū)分系統(tǒng)是電壓異常還是測量值超出異常。
3 系統(tǒng)的軟件設計
本系統(tǒng)采用ATmega16作為核心處理器件,上電時首先通過PB2、PB3檢測系統(tǒng)電壓是否異常,若異常發(fā)出報警信號。在電壓正常情況下將經過DS18B20現場實時采集到的溫度值存入ATmega16的內部數據存儲器,并送SMG12864A顯示,同時與設定的溫度值進行比較,然后由ATme-ga16輸出控制信號去控制加熱/通風執(zhí)行機構。進行溫度控制程序設計時還應考慮越限報警。當采集到的溫度值與設定的溫度值進行比較后,若發(fā)現當前溫度值越限,則產生報警信號。因此,本系統(tǒng)的軟件設計主要包括:系統(tǒng)初始化,鍵盤掃描、溫度讀取、溫度顯示、報警、加熱控制和通風控制等,這些操作分別由相應子程序模塊完成。其軟件設計流程如圖4所示。
4 結語
該智能溫控系統(tǒng)在Proteus上仿真成功后,進行了電路實物的制作,并成功完成了整機調試。整機在實際運行中完全達到設計要求,并具有較高的可靠性。若將該系統(tǒng)加以適當的擴展,可以組成功能更加強大的溫控系統(tǒng),能形成多點、無線傳輸的溫度遠程監(jiān)控網絡。