新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 用MAXQ3212微控制設(shè)計數(shù)字溫度監(jiān)控器

用MAXQ3212微控制設(shè)計數(shù)字溫度監(jiān)控器

作者: 時間:2012-03-19 來源:網(wǎng)絡(luò) 收藏
摘要:該應(yīng)用筆記介紹了一款基于微控制器的,這個簡單系統(tǒng)將檢測到的環(huán)境溫度與系統(tǒng)預(yù)先設(shè)定的門限進行比較,并控制繼電器輸出比較結(jié)果。系統(tǒng)同時也包括一個1-Wire溫度計和由8位LED顯示驅(qū)動器驅(qū)動的4位、7段LED顯示器。利用微控制和高度集成的顯示驅(qū)動器,可有效降低外部元件的數(shù)量。

引言

很多應(yīng)用場合需要調(diào)節(jié)、控制溫度,例如,當(dāng)環(huán)境溫度過低時,利用一個燈泡即可提升一個封閉的小空間的溫度或烘干未干的油漆等類似物品。多數(shù)情況下,利用溫度檢測、電源開關(guān)和加熱源即可構(gòu)成一個閉環(huán)溫控系統(tǒng)。

本應(yīng)用筆記說明了如何使用MAXQ微控制器設(shè)計這樣的控制系統(tǒng)或。考慮到所具備的功能及其設(shè)計簡單、價格低廉和隨處可得的低價位開發(fā)環(huán)境,MAXQ3210評估板(MAXQ3210-KIT),我們選擇這款器件作為系統(tǒng)控制器。本文例程所使用的開發(fā)環(huán)境是MAX-IDE 1.0版和MAXQ3210仿真開發(fā)板A版。

系統(tǒng)設(shè)計詳細說明

概述

這個溫度監(jiān)控系統(tǒng)的實施非常簡單,圖1是系統(tǒng)的電路圖。DS18B20 1-Wire?溫度傳感器用來檢測環(huán)境溫度,系統(tǒng)把這個溫度與用戶設(shè)置的溫度門限進行比較,如果溫度低于用戶設(shè)置的門限,繼電器將產(chǎn)生控制信號。通常情況下系統(tǒng)通過4位LED顯示器指示環(huán)境溫度,當(dāng)用戶設(shè)置溫度時,LED用來顯示用戶的設(shè)置值。

用作系統(tǒng)控制器,將兩個按鍵開關(guān)連接到處理器配置為輸入端口的引腳,實現(xiàn)用戶接口功能(設(shè)置上、下調(diào)節(jié))。另外一個微處理器端口用作信號輸出,控制繼電器動作。

用MAXQ3212微控制設(shè)計數(shù)字溫度監(jiān)控器
圖1. 系統(tǒng)電路圖

利用一個4位、7段LED顯示器作為系統(tǒng)顯示,確保其在各種照明環(huán)境下提供有效顯示,不需要額外的系統(tǒng)背光。

為簡化處理器與顯示器之間的接口設(shè)計,提供必要的驅(qū)動電流和多路復(fù)用開關(guān),本系統(tǒng)選用了Maxim的8位LED顯示驅(qū)動器ICM7218AIPI。該器件包含了所有與微控制器、共陽極LED顯示器直接連接的電路。LED驅(qū)動器可以最多驅(qū)動8位數(shù)字,但本系統(tǒng)只使用了4位顯示器。無需使用外部限流電阻即可驅(qū)動7段顯示器的每一段。

系統(tǒng)輸出控制標(biāo)準(zhǔn)電機繼電器,把交流電切換到任意負載,可以按照負載的供電要求進行設(shè)置。系統(tǒng)采用了一個可以切換8A電流、線圈電壓恰好是5V系統(tǒng)供電電壓的繼電器。當(dāng)然,該繼電器可以工作在任何不超過最終驅(qū)動FET (BS170)額定電壓或電流的條件下。

考慮到這個系統(tǒng)實施的可行性,不需要進行精確地系統(tǒng)仿真或優(yōu)化系統(tǒng)的閉環(huán)性能。實際溫度與所要求溫度門限的簡單比較是唯一的輸出切換規(guī)則。為了達到實際系統(tǒng)的要求,可以修改軟件子程序Relay_Switch。

用簡單的DS18B20-PAR測量環(huán)境溫度,在-10°C至+85°C溫度范圍內(nèi)可以提供±0.5°C的測試精度。本系統(tǒng)中,所要求的工作溫度范圍為+12°C至+38°C (+55°F至+100°F)。芯片的溫度測試分辨率是9至12位,可由用戶選擇,關(guān)于分辨率的選擇可參考下述內(nèi)容。其它應(yīng)用中,每個DS18B20所包含的唯一的64位ID可以支持1-Wire網(wǎng)絡(luò)中掛接多個DS18B20。

1-Wire接口

Maxim的1-Wire總線采用獨特的串行通信接口,只需要一條信號線和地線進行通信。這種接口通過微控制器的一個引腳即可實現(xiàn)與1-Wire器件的通信。接口還具有供電功能,稱為寄生電源,利用1-Wire信號線能夠在沒有1-Wire器件本地供電的情況下進行工作。該系統(tǒng)設(shè)計中,接口設(shè)計并不重要,關(guān)鍵在于遠端溫度的測量。

雖然系統(tǒng)中只用到了一個1-Wire器件,但是,1-Wire總線設(shè)計工作在一個主機和多個從機,即多點工作,本應(yīng)用中選用了一片DS18B20進行溫度測量,Maxim還可提供多款具有類似功能的器件。例如,需要檢測多個位置的溫度時,可以使用DS28EA00,它可以簡化1-Wire器件在1-Wire網(wǎng)絡(luò)中的物理位置識別。

在溫度監(jiān)控應(yīng)用中,通過一條口線進行逐位控制,實現(xiàn)1-Wire總線的通信。實現(xiàn)這一功能的軟件請參考應(yīng)用筆記3769,"用MAXQ3210構(gòu)建1-Wire溫度記錄儀"。這個軟件專為MAXQ3210和DS1822 Econo 1-Wire數(shù)字溫度計編寫。本應(yīng)用中只需把原來軟件里的9位分辨率更該成10位,應(yīng)用筆記3769也提供了1-Wire及其應(yīng)用的參考設(shè)計。

MAXQ3212 I/O引腳

MAXQ3212共有15個端口引腳可以使用:端口0有8條口線,端口1有7條口線。與ICM7218顯示驅(qū)動器通信最少需要10條信號線(引腳),4個引腳用于溫度設(shè)置的上、下調(diào)節(jié),繼電器驅(qū)動以及DS18B20的通信,共占用14個引腳。默認情況下,MAXQ3212 15個引腳中的4個用于JTAG接口(P1.0、P1.2、P1.3、P1.4),1個用于做復(fù)位輸入(P1.1)。雖然這5個信號控制調(diào)試功能,但也用作其它功能。在整個調(diào)試過程中需要特別考慮。

將控制位TAP和RSTD設(shè)置到相應(yīng)電平(分別為0和1),這5個引腳的默認調(diào)試功能可以被禁,可作為普通引腳使用,不再用于調(diào)試功能。本設(shè)計中,最終調(diào)試的應(yīng)用程序是顯示部分,因為它們需要大量的I/O引腳,但功能比較簡單,僅需要少量的調(diào)試工作。

匯編程序在指令禁止這五個調(diào)試控制信號之前插入較長的時間延時(大約5秒鐘),這個延時允許調(diào)試板在禁止調(diào)試控制之前仍然具有處理器的控制權(quán)。由此,調(diào)試板能夠在必要時對器件進行控制。

顯示器選擇

對顯示器的選擇主要考慮用于室內(nèi)還是室外,光線的亮暗程度。這樣做的目的是希望在除了強光照射情況(比如陽光直射的室外)以外,在各種光照條件下都能看清LED的顯示結(jié)果。通常采用簡單的彩燈就可以提供必要的顯示對比度和可見性。LED顯示器不再需要額外電路,比如背光電路。

本應(yīng)用中不使用多路復(fù)用器,需驅(qū)動4位、每位7段的LED。不包括小數(shù)點位,共需要28條獨立的信號線(4位 x 7段)。顯然,如果沒有其它電路的話,MAXQ3212無法提供這么多端口信號。所以,我們選用了ICM7218解決這個問題,其內(nèi)部多路復(fù)用器可以提供最多8位顯示,不需要額外的限流電阻可直接驅(qū)動LED顯示。簡單通過8位信號和2路控制(模式、寫操作)就可以與處理器連接。

用戶輸入門限設(shè)置

鑒于MAXQ3212的端口資源,不可能為用戶輸入溫度門限提供一個并行接口。所以,采用簡單的上、下調(diào)節(jié)鍵增大或降低溫度門限。在系統(tǒng)初始上電時,軟件會把溫度默認值設(shè)置為+72.5°F,并把這個值存儲到MAXQ3212 EEPROM內(nèi)。如果用戶增大或降低溫度設(shè)置點,新的溫度值就會存進這個EEPROM。由于EEPROM為非易失存儲器,即使在掉電情況下數(shù)據(jù)也不會丟失。

檢測到按鍵動作時候,LED會顯示當(dāng)前的設(shè)置點。為了幫助指示正在顯示的是溫度門限,微控制器會打開最后一位小數(shù)點 (通常為關(guān)閉狀態(tài))。如果按鍵保持足夠的時間,溫度會以大約每秒0.5°F的速度遞增或遞減。達到所要求的溫度時,用戶可釋放按鍵,立即建立新的溫度門限。顯示器隨后返回到環(huán)境溫度值,最后一位小數(shù)點關(guān)閉。

溫度轉(zhuǎn)換

這個應(yīng)用中,利用軟件把溫度從攝氏度轉(zhuǎn)換到華氏度。執(zhí)行DS18B20的“溫度轉(zhuǎn)換”命令,16位(帶符號位)結(jié)果按照以下方式儲存到溫度傳感器的寄存器中。

溫度高有效位
Bit 15Bit 14Bit 13Bit 12Bit 11Bit 10Bit 9Bit 8
SignSignSignSignSign262524

溫度低有效位
Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
232221202-12-22-32-4

這個溫度傳感器的分辨率可以由用戶配置為9、10、11或12位,對應(yīng)的溫度分辨率為0.5°C、0.25°C、0.125°C、0.0625°C。DS18B20上電時的默認分辨率是12位,本應(yīng)用中被初始化為10位,此時,第1位和第0位(2-3,2-4)沒有意義,可以分辨最小溫度值是0.25°C。

在這個應(yīng)用里,以華氏溫度為單位顯示溫度。利用下列方程進行轉(zhuǎn)換:

華氏溫度 = (攝氏溫度 × 1.8) + 32(式1)

因為溫度以小數(shù)形式表示,而且轉(zhuǎn)換時需要乘以1.8,所以用二進制數(shù)進行計算。進行實數(shù)乘法運算時,需要在不浪費處理器資源的情況下盡量減小計算誤差。DS18B20初始化時,溫度值的分辨率設(shè)置成10位,所以第1位和第0位沒有意義。在溫度小數(shù)部分的其余2位(第3位和第2位)提供

上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉