水溫調(diào)節(jié)控制器
摘要
單片機是20世紀(jì)中期發(fā)展起來的一種面向控制的大規(guī)模集成電路模塊,具有功能強、體積小、可靠性高、價格低廉等特點,在工業(yè)控制、數(shù)據(jù)采集、智能儀表、機電一體化、家用電器等領(lǐng)域得到了廣泛的應(yīng)用,極大的提高了這些領(lǐng)域的技術(shù)水平和自動化程度。
51系列單片機是國內(nèi)目前應(yīng)用最廣泛的一種8位單片機之一,隨著嵌入式系統(tǒng)、片上系統(tǒng)等概念的提出和普遍接受及應(yīng)用。51系列及其衍生單片機還會在繼后很長一段時間占據(jù)嵌入式系統(tǒng)產(chǎn)品的低端市場,因此,作為新世紀(jì)的大學(xué)生,在信息產(chǎn)業(yè)高速發(fā)展的今天,掌握單片機的基本結(jié)構(gòu)、原理和使用是非常重要的。
本次課程設(shè)計的內(nèi)容是使用AT89C51單片機最小系統(tǒng)設(shè)計溫度控制系統(tǒng),系統(tǒng)以單片機為主控單元,主要用于對溫度信號的采集。
通過對水溫值得設(shè)定進(jìn)行檢測和報警系統(tǒng)。
利用單片機AT89C51控制DS18B20溫度傳感器對水溫的控制,當(dāng)水溫低于預(yù)設(shè)的溫度值時系統(tǒng)開始加熱(點亮紅色發(fā)光二極管表示加熱狀態(tài)),當(dāng)溫度達(dá)到預(yù)設(shè)溫度值時自動停止加熱。預(yù)設(shè)溫度值和實測溫度值分別由3位數(shù)碼管顯示,范圍為0-99攝氏度。
二、要求(1)控制密閉容器內(nèi)空氣溫度
(2)測溫和控溫范圍:0℃~99℃
(3)控溫精度±1℃
(4)掌握DS18B20的工作原理及使用方法。
三、實驗內(nèi)容 3.1 基本設(shè)計思路根據(jù)系統(tǒng)的要求,本次設(shè)計可分為溫度溫度采集模塊、溫度顯示 和溫度信號控制3個模塊。具體框架圖如圖1所示:

溫度傳感器 DS18B20 從設(shè)備環(huán)境的不同位置采集溫度,51單片機獲取采集的溫度值,經(jīng)處理后得到當(dāng)前環(huán)境中一個比較穩(wěn)定的溫度值,再根據(jù)當(dāng)前設(shè)定的溫度上下限值,通過加熱和降溫對當(dāng)前溫度進(jìn)行調(diào)整。通過按鈕來控制,使電路中的溫度控制在預(yù)設(shè)值范圍內(nèi)。當(dāng)LED燈亮?xí)r表示該硬件系統(tǒng)正在進(jìn)行加熱,當(dāng)達(dá)到預(yù)設(shè)值則停止加熱。
a溫度傳感器熱電偶測溫基本原理
將兩種不同材料的導(dǎo)體或半導(dǎo)體A和B焊接起來,構(gòu)成一個閉合回路,如圖2所示。當(dāng)導(dǎo)體A和B的兩個執(zhí)著點1和2之間存在溫差時,兩者之間便產(chǎn)生電動勢,因而在回路中形成一個大小的電流,這種現(xiàn)象稱為熱電效應(yīng)。溫度傳感器熱電偶就是利用這一效應(yīng)來工作的。
b溫度傳感器熱電阻測溫原理
溫度傳感器熱電阻測溫是基于金屬導(dǎo)體的電阻值隨溫度的增加而增加這一特性來進(jìn)行溫度測量的。
c數(shù)字化溫度傳感器的工作原理
將溫度信號轉(zhuǎn)化為串行數(shù)字信號供微處理機處理
3.4 各模塊基本功能與設(shè)計方案選擇和論述溫度傳感器從使用的角度大致可分為接觸式和非接觸式兩大類,前者是讓溫度傳感器直接與待測物體接觸,而后者是使溫度傳感器與待測物體離開一定的距離,檢測從待測物體放射出的紅外線,達(dá)到測溫的目的。在接觸式和非接觸式兩大類溫度傳感器中,相比運用多的是接觸式傳感器,非接觸式傳感器一般在比較特殊的場合才使用,早期得到廣泛使用的接觸式溫度傳感器主要有熱電式傳感器,其中將溫度變化轉(zhuǎn)換為電阻變化的稱為熱電阻傳感器,將溫度變化轉(zhuǎn)換為熱電勢變化的稱為熱電偶傳感器。現(xiàn)在的溫度傳感器已經(jīng)走向數(shù)字化,集成化,外形小,接口簡單,廣泛用于生活中的各個領(lǐng)域。
方案一:采用熱敏電阻
可以用熱敏電阻對溫度感應(yīng)程度來實現(xiàn)對輸入信號的改變,價格比較便宜,但是其靈敏度不高。
方案二:采用熱電偶
熱電偶是目前接觸式測溫中應(yīng)用也十分廣泛的熱電式傳感器,它具有結(jié)構(gòu)簡單、制造方便、測溫范圍寬、熱慣性小、準(zhǔn)確度高、輸出信號便于遠(yuǎn)傳等優(yōu)點。但是,由于熱電偶來采集溫度的話會用到運放的比較器電路,信號放大電路,譯碼器電路來將模擬信號轉(zhuǎn)化為數(shù)字信號繼而在數(shù)碼管上顯示出來,電路結(jié)構(gòu)過于復(fù)雜。
方案三:采用二極管
二極管在正向?qū)〞r由于少子的存在和導(dǎo)電性,所以導(dǎo)通電壓會受溫度影響,優(yōu)點是價格便宜,對電路要求低,但缺點是精度不高。
方案四:采用數(shù)字化溫度傳感器DS18B20
DS18B20是美國半導(dǎo)體公司推出的第一片支持一線總線的溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強、易配微處理器的優(yōu)點,可以直接將溫度轉(zhuǎn)化成串行數(shù)字供微處理器處理。用此前器件后續(xù)電路只需要用單片機控制,電路簡單而且精確度高。
綜上所述:由于本次課設(shè)的要求是對一個較范圍內(nèi)的溫度進(jìn)行采集,所以對精度的要求較高,考慮到成本問題,并且保證電路結(jié)構(gòu)簡明,本次試驗采用方案三進(jìn)行溫度采集。
本次設(shè)計要求對所檢測的溫度信號進(jìn)行測量顯示,并且精確度至少為1攝氏度。
方案一:用數(shù)碼管顯示
通過51單片機這個微處理器得到轉(zhuǎn)化后的溫度數(shù)值后,通過程序設(shè)定,是可以精確到小數(shù)點后兩位的,所以本次實驗中用4位數(shù)碼管就可以了,接口較少。并且數(shù)碼管消耗的電力比液晶顯示更加清晰,適合在白天等強光下顯示。缺點是只能夠顯示數(shù)字,不能夠顯示出其他有用信息。
方案二:用1602液晶屏顯示
也可以利用1602來對轉(zhuǎn)換后的溫度進(jìn)行顯示進(jìn)行控制,但是由于液晶是反光式的,在外界光線很明亮?xí)r容易看不清楚。它的優(yōu)點是可以顯示出文字信息,很明了。另外,其價格比數(shù)碼管要貴得多。
綜上所述:本次設(shè)計中主要是顯示出已經(jīng)測到的溫度值,并不需要顯示其他文字信息,考慮到價格及可見清晰度問題,決定采用方案一。
四、系統(tǒng)軟件設(shè)計整個溫度系統(tǒng)是硬件電路配合軟件電路的設(shè)計來完成的。當(dāng)硬件的功能確定以后,軟件的功能也就確定了。
主程序分為4大模塊,分別為:
(1)DS18B20內(nèi)的溫度轉(zhuǎn)換部分
(2)讀出轉(zhuǎn)換后的溫度數(shù)值
(3)在七段數(shù)碼管上的顯示模塊
(4)溫度處理即控制模塊
4.2實驗原理AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃速存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。


特性:
• 獨特的單線接口僅需一個端口引腳進(jìn)行通訊
• 簡單的多點分布應(yīng)用
• 無需外部器件
• 可通過數(shù)據(jù)線供電
• 零待機功耗
• 測溫范圍-55~+125℃,以0.5℃遞增。華氏器件-67~+2570F,以0.90F 遞增
• 溫度以9 位數(shù)字量讀出
• 溫度數(shù)字量轉(zhuǎn)換時間200ms(典型值)
• 用戶可定義的非易失性溫度報警設(shè)置
• 報警搜索命令識別并標(biāo)志超過程序限定溫度(溫度報警條件)的器件
• 應(yīng)用包括溫度控制、工業(yè)系統(tǒng)、消費品、溫度計或任何熱感測系統(tǒng)。
DS18B20的工作原理:
DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s 減為750ms。高溫度系數(shù)晶振 隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預(yù)置在-55℃所對應(yīng)的一個基數(shù)值。計數(shù)器1對 低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計數(shù),當(dāng)計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,計數(shù)器1的預(yù)置將重新被裝入,計數(shù)器1重 新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即 為所測溫度。圖3中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預(yù)置值。
4.2.3基于74HC245的緩沖模塊
總線收發(fā)器(bus transceiver),典型的CMOS型三態(tài)緩沖門電路。由于單片機或CPU的數(shù)據(jù)/地址/控制總線端口都有一定的負(fù)載能力,如果負(fù)載超過其負(fù)載能力,一般應(yīng)加驅(qū)動器。
245是方向可控的八路緩沖器,主要用于實現(xiàn)數(shù)據(jù)總線的雙向異步通信。為了保護(hù)脆弱的主控芯片,通常在主控芯片的并行接口與外部受控設(shè)備的并行接口間添加緩沖器。當(dāng)主控芯片與受控設(shè)備之間需要實現(xiàn)雙向異步通信時,自然就得選用雙向的八路緩沖器了,245就是面向這種需求的。常見于同并口液晶屏、并口打印機、并口傳感器或通訊模塊等設(shè)備的接口上。
五、 原理電路圖運用電容、51單片機、七段數(shù)碼管、LED、電解電容 、DS18B20、電阻、74HC245構(gòu)成實驗整體原理圖。
運用單片機處理溫度轉(zhuǎn)化成的串行數(shù)字信號,實現(xiàn)信號處理。將獲得的結(jié)果通過輸出裝置輸出顯示在七段數(shù)碼管上,并且在最后的處理部分也借用了P2口的三個引腳,來點亮所需要點亮的LED燈。
89C52單片機組成結(jié)構(gòu)中包含運算器、控制器、片內(nèi)存儲器、并行I/O口、串行I/O口、定時/計數(shù)器、中斷系統(tǒng)、振蕩器等功能部件。
運用一個DS18B20溫度傳感器作為外部溫度的檢測部分,并將采集好的串行數(shù)字信號供單片機處理。如圖。

7seg-mpx4-ca是4位共陽極7段式數(shù)碼顯示管7seg-mpx4-blue是藍(lán)色的4位7段式數(shù)碼顯示管
該7段數(shù)碼管分別接于AT89C51單片機和74HC245上,顯示初始的預(yù)設(shè)值和后期溫度傳感器的返回值。


運用單擊DS18B20上的+或-號來實現(xiàn)溫度的調(diào)節(jié):
1、當(dāng)溫度高于預(yù)設(shè)值時,單片機控制系統(tǒng)進(jìn)行加熱。LED燈亮。
2、當(dāng)溫度低于預(yù)設(shè)值時,LED燈不亮。
OVEN:
用于該水溫控制的加熱,當(dāng)紅燈亮?xí)r,表示在加熱。
六、仿真結(jié)果溫度信號模擬,加載目標(biāo)代碼程序文件,進(jìn)入調(diào)試環(huán)境,執(zhí)行程序,在Proteus ISIS界面中,分別調(diào)試十位設(shè)置按鍵和個位設(shè)置按鍵來預(yù)設(shè)水溫,當(dāng)DS18B20的溫度低于預(yù)設(shè)值時,紅色發(fā)光二極管點亮表示進(jìn)入熱狀態(tài),反之,發(fā)光二極管滅,則表示停止加熱。仿真結(jié)果如圖所示:


水溫控制.rar
(312.48 KB, 下載次數(shù): 175)
luo1429181965 發(fā)表于 2017-12-28 23:11
好資料,51黑有你更精彩!!!
| 歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |