基于DS18B20的室內智能溫度控制系統(tǒng)設計
摘要:對于一些特定的室內農業(yè)和工業(yè)生產,提出了一種DS18B20溫度傳感器和ATmage8單片機結合的智能溫度控制系統(tǒng)。該系統(tǒng)主要可分為上位機系統(tǒng)和下位機系統(tǒng),上位機設定溫度范圍井控制下位機。ATmage8單片機通過DS18B20采集溫度信號,處理后將溫度值與上位機設定閾值作比較。單片機控制加熱模塊的工作,并且通過串口傳給上位機顯示當前溫度。在經過實際的測試,該系統(tǒng)的性能穩(wěn)定,誤差控制在0.5℃,滿足了小面積的室內應用。
關鍵詞:智能調節(jié);ATmage8單片機;溫度傳感器;上位機
溫度在工農業(yè)生產中起著舉足輕重的作用,在冶金、醫(yī)藥、食品制造和化學制造業(yè)等行業(yè)尤其顯得重要。在適當的溫度下生產的產品質量、產量和合格率會大大的提高。有些藥品的生產和存儲要在很低的溫度下進行;石油分餾的過程中在不同的溫度下才能分離出汽油、柴油、煤油、硫化物;食品的制造和存儲也要在特定的溫度下才能保證質量。在農業(yè)大棚蔬菜和室內圈養(yǎng)牲畜對于環(huán)境溫度的要求也很高,大棚蔬菜的溫度基本上要保證在20~30℃。雞舍的育雛期溫度要控制在36℃左右。隨著社會生產力和科學技術的發(fā)展,工農業(yè)生產對于溫度的要求會越來越高,這樣就需要系統(tǒng)不但可以測出室內的實際溫度,還可以通過上位機來進行實時的控制,調整環(huán)境的溫度。
1 系統(tǒng)的整體想路
本系統(tǒng)分為上位機模塊、單片機模塊、溫度采集模塊、加熱模塊。上位機采用的是用VC++6.0的軟件環(huán)境來編寫一個控制界面,用來控制下位機的ATmage8單片機,并且與其通信,傳遞命令和接收信號,上位機和下位機之間利用RS232串口來進行連接;單片機模塊編程來控制和采集DS18B20的溫度信號;ATmage8和DS18B20之間采用單總線的方式來連接。單片機模塊和加熱模塊之間接繼電器,由單片機來控制。上位機設定溫度范圍,發(fā)送給單片機,單片機接收到后采集溫度傳感器的溫度信號,處理后得到的溫度值進行閾值匹配,控制繼電器的閉合,并傳給上位機,顯示在上位機界面。當溫度低于設定最低閾值時,開啟繼電器,加熱模塊開始工作,當到達最高閾值時,閉合繼電器,加熱模塊停止工作。這樣就達到了控制溫度的目的。
2 硬件部分設計
2. 1 ATmage8單片機簡介
ATmage8是一款采用低功耗CMOS工藝生產的基于AVR RISC結構的8位單片機。它承襲了AT90系列所具有的特定,并增加了更多的接口功能,而且在省電性、穩(wěn)定性、抗干擾性及靈活性方面更加的靈活和周全,它所有的寄存器都直接與ALU相連,這樣提高了代碼的效率;含有32個8位通用寄存囂,8k字節(jié)的Flash程序存儲器可擦寫大于10000次;帶有兩個預分頻的8位定時器/計數器、一個帶預分頻的16位定時/計數器;3個PMW通道,可實現任意16位以相位和頻率的可調PMW脈寬調制輸出;一個10位的AD轉換,基本滿足大部分的信息采集;片內自帶的晶振也是非常的方便;I/O口的拉電流能力可以達到40 mA,這樣比51單片機的驅動能力大了很多,在此系統(tǒng)中也就可以直接驅動繼電器。
2.2 溫度傳感器DS18B20
傳統(tǒng)的溫度傳感器往往采用模擬技術進行設計,這樣的話就會遇到線性誤差補償、多點測量中的切換誤差和信號的調理電路的誤差等問題,這些問題都可以造成系統(tǒng)的不穩(wěn)定,所以數字化、集成化的溫度傳感器成為發(fā)展的方向。DS18B20溫度傳感器是DMLLAS公司生產的新一代數字溫度傳感器。該傳感器將地址線、數據線和控制線合為一根雙向串行數據的信號線,并且允許連接多個DS18B20。它具有3引腳的T0-92小體積封裝;測量范圍在-55~+125℃,測量的精度也小于1℃;3引腳分別接在電源、地和一個I/O端口上,十分方便。
2.3 硬件部分
室內智能溫度調節(jié)系統(tǒng)的硬件設計部分主要由單片機模塊、溫度采集模塊和加熱模塊組成,圖1為系統(tǒng)的組成框圖。
其中上位機和單片機之間是互相通信的,上位機發(fā)送溫度閾值和命令給單片機,單片機發(fā)送當前溫度值給上位機;單片機和DS18B20之間也是互相通信,單片機發(fā)送初始化和控制命令給溫度傳感器,溫度傳感器把檢測到的溫度信號傳給單片機處理;單片機控制加熱模塊,經過溫度采集模塊進行反饋。這樣就形成可一個完整的系統(tǒng)。
2.3.1 單片機模塊
整個系統(tǒng)中ATmage8是核心的內容,它不僅負責和上位機之間的通信、處理溫度傳感器的信號,轉化成溫度值,并且控制電子開關繼電器,以此來控制加熱模塊。圖2為ATmage8模塊的電路圖。
其中PC6接的是復位電路,PB6和PB7這連接的是單片機的振蕩電路,PC6口連接的是R1和C3組成的復位電路;PD0和PD1讀寫口,通過MAX232電平轉換芯片和串口連接,和上位機進行通信。
2. 3.2 溫度采集模塊
由于我們要控制的是整個室內的溫度。這樣的話一個DS18B20顯然是不能滿足要求的,本系統(tǒng)采用的是多個溫度傳感器共同來工作,在室內的多點放置傳感器,這樣就形成一個多點的溫度采集系統(tǒng)。每個DS18B20都有一個唯一的序列號,這樣CPU只需要一根端口線就可以和多個DS18B20通信,連接十分的方便,由于考慮功耗,率系統(tǒng)選取了4個溫度傳感器。圖3為DS18B20和單片機之間的連接圖。
DS18B20有兩種電源接法,外部方式供電和寄生電源供電,由于寄生供電方式有可能產生電壓不夠,所以本系統(tǒng)采用外部電源供電,用一個上拉電阻使它的電壓穩(wěn)定。圖中1腳接的是地,3腳接的是電源,2腳和單片機的I/O口連接,為數據線。
2. 3. 3加熱模塊
單片機用一個PBI來控制繼電器的開斷,加熱器隨之開斷。當單片機得到溫度傳感器的信號,經過處理后得到溫度值和設定的溫度范圍比較,如果小于最小值,繼電器打開,加熱器開始工作,當溫度在閾值范圍內或者高于最大值時,繼電器閉合,加熱器隨之關閉。
此模塊也可以在每個溫度傳感器的旁邊設置一個加熱裝置,哪個溫度傳感器區(qū)域溫度較低,則控制哪個區(qū)域加熱。也可以根據實際的需要來調整各個區(qū)域的溫度,將室內分成幾個區(qū)域進行控制,設定不同的閾值進行比較。
3 軟件部分設計
軟件部分主要涉及上位機軟件和下位機ATmage8單片機的程序,上位機的軟件部分只需要編輯一個GUI用戶界面,在里面實現和單片機之間的通信即可,圖4為上位機的GUI界面。
上位機的程序只是起控制溫度閾值和現實當前溫度的功能,在這個界面上,我們就可以很清楚的看出每個傳感器的溫度值,由于傳感器分別分布在室內的4個區(qū)域,則顯示的當前溫度就是室內四個區(qū)域的溫度。這樣工作人員就可以按實際的情況分別修改幾個區(qū)域的溫度閾值,來智能的控制室內的溫度,達到生產要求。
單片機的程序主要和上位機通信,控制傳感器和繼電器,圖5為下位機程序的流程圖。
DS18B20和外部中斷初始化后,系統(tǒng)就開始進入while循環(huán),等待外部中斷的產生,當上位機的閾值發(fā)生改變并且通過串口發(fā)送給單片機,程序開始進入中斷,中斷里面是發(fā)送程序,接收到上位機的指示就發(fā)送當前的溫度給上位機;同時主程序里開始進行溫度的采集和閾值的對比,利用程序來進行判斷,判斷如果不匹配的話,溫度低了就加熱,溫度高了就定制加熱,保證溫度在合適的范圍內。
4 結束語
本系統(tǒng)是采用高性能的ATmage8單片機和高精度的數字溫度傳感器設計的一個室內智能溫度調節(jié)系統(tǒng),采用上位機控制溫度的閾值,傳達給單片機執(zhí)行。實驗驗證,很好的體現了DS18B20很好的精度性能,誤差控制在0.5℃之內,適合小面積的工農業(yè)生產和生活應用,具有很高的使用價值。





