摘要:為了遠程監(jiān)控實時溫度數(shù)據(jù),,利用溫度傳感器DS18B20的特點,,與AT89C51單片機構成實時溫度檢測系統(tǒng),并通過LED數(shù)碼管顯示,。利用無線傳輸模塊SRWF-1的特點,,與單片機構成數(shù)據(jù)傳輸部分,將所測量的溫度無線傳輸發(fā)送給上位機,。給出了DS18B20,,SRWF-1分別和AT89-C51所構成系統(tǒng)的應用電路和部分程序。通過無線模塊的引入,,能較好地實現(xiàn)遠程溫度檢測系統(tǒng),。
關鍵詞:8051單片機;DS18B20,;溫度采集,;SRWF-1無線模塊
0 引言
隨著數(shù)字化腳步的加快,越來越多的數(shù)字化產(chǎn)品取代了原有的機械式儀表,,從而大大提高了數(shù)據(jù)的準確率,。然而,多數(shù)情況下,,溫度的采集過程只在現(xiàn)場實時顯示,,在增加了工作量的同時,也可能會造成很多不便,,如進入危險區(qū)域,。因此,將無線網(wǎng)絡應用在工業(yè)生產(chǎn)中,,不僅能大大提高工作效率,,同時也在一定程度上降低了勞動強度。
本設計基于以上兩點,,將工業(yè)生產(chǎn)中常用到的溫度進行數(shù)字化,,并通過無線模塊將數(shù)據(jù)發(fā)送出去,在接收方利用無線接收設備接收實時的數(shù)據(jù),,從而大大降低勞動強度,。
1 系統(tǒng)組成
系統(tǒng)由單片機,、溫度傳感器、串口通信模塊和無線傳輸模塊等幾部分組成,。測溫系統(tǒng)將測得的溫度通過單片機在數(shù)碼管上實時顯示,,同時,通過串口通信部分和無線模塊將數(shù)據(jù)發(fā)送給上位機,。系統(tǒng)結構如圖1所示,。
該設計以Atmel公司生產(chǎn)的單片機AT89C51為核心,以數(shù)字溫度傳感器DS18B20作為溫度采集,,以SRWF-1無線模塊作為無線數(shù)據(jù)傳輸,,從而構成整體系統(tǒng)。
1.1 單片機系統(tǒng)
系統(tǒng)采用AT89C51作為核心控制,,配備4位共陰極數(shù)碼管顯示電路,。AT89C51是Atmel公司推出的一種低功耗、高性能CMOS 8位微處理器,,具有8 KB系統(tǒng)可編程FLASH存儲器,;256 B RAM;32個I/O引腳,,分為4個8位控制端口,;看門狗定時器;2個數(shù)據(jù)指針,;3個16位定時器/計數(shù)器,;兩級中斷優(yōu)先等級;可編程全雙工串行傳輸端口,;片內晶振及時鐘電路,;8個中斷源。其性能完全能夠滿足系統(tǒng)要求,。數(shù)碼顯示采用Ytt-410391K四位7段8線數(shù)碼管,,作為溫度顯示部分,并用最末一位顯示小數(shù),。
1.2 數(shù)字溫度傳感器DS18B20
DS18B20是美國Dallas公司生產(chǎn)的一款可編程1-Wire數(shù)字溫度計,。具有精度高,全數(shù)字化,,連線少等諸多優(yōu)點。其可直接將采集到的溫度轉換成數(shù)字信號,,通過單條數(shù)據(jù)線串行發(fā)送出去,,只要嚴格遵循規(guī)定時序邏輯和脈沖間隔,就能舍去同步時鐘信號線,,做到通信期間引腳最少化,,達到溫度采集目的,。
1.2.1 內部結構及外部管腳
數(shù)字式溫度傳感器DS18B20的內部結構如圖2所示,其主要由四部分組成:64位ROM和單總線接口,、溫度傳感器,、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器,。
DS18B20 64位閃存ROM的開始8位是產(chǎn)品類型的編號,,接著的48位為每個器件的惟一序號,最后8位是CRC校驗碼,。用于存儲用戶設定溫度上下限值的非易失性溫度報警觸發(fā)器TH和TL,,使用時可通過軟件寫入、設定報警上下限值,。DS18B20內部配有一個電可擦除的E2PROM,,用于存儲TH、TL值,,數(shù)據(jù)先寫入內部的高速暫存RAM,,經(jīng)校驗后在傳給E2PROM。RAM中的第5個字節(jié)為配置寄存器,,用于確定溫度值的數(shù)字轉化分辨率,。工作時按此寄存器中的分辨率將溫度轉化為相應精度的溫度值。
DS18B20具有三引腳To-92小體積封裝形式,,如圖3所示,;溫度測量范圍為-55~+125℃,其工作電源既可在遠端引入,,也可使用寄生電源方式產(chǎn)生,;CPU只需一根端口線就能與諸多DS18B20通信,由于其占用微處理器的端口較少,,因此可節(jié)省大量的引線和邏輯電路,。
DSB18B20各引腳介紹如下:GND為地;DQ為數(shù)據(jù)輸入/輸出端,;VDD為外接供電電源輸入端(在寄生電源接線方式時接地),;NC為SOIC封裝的,NC為空引腳,。
1.2.2 工作原理
DS18B20內部的低溫度系數(shù)振蕩器能產(chǎn)生穩(wěn)定的頻率信號f0,,而高溫度系數(shù)振蕩器則將被測溫度轉化成頻率信號f。當計數(shù)器打開時,,DS 18B20則對f0計數(shù),,計數(shù)器開通時間由高溫度系數(shù)振蕩器決定。芯片內部還有斜率累加器,,可對頻率的非線性給予補償,。其測量的結果將暫存在溫度寄存器中,,可使單片機方便的將溫度讀出。
DS18B20的核心是一個直接的數(shù)字化溫度傳感器,,可將溫度值按9 b,,10 b,11 b,,12 b分辨率進行量化,,默認分辨率為12 b,對應的溫度最小增量分別為0.5℃,,0.25℃,,0.125℃和0.062 5℃。當主機向DS18B20發(fā)出溫度轉化命令后,,開始溫度轉換,,檢測的溫度結果將存放在兩個字節(jié)中,最低位LSB在前,,最高位MSB為符號位,。其數(shù)據(jù)格式如下:
其中,高位字節(jié)MSB的高5位為溫度的符號位,,當溫度為正時,,該5位為0,溫度為負時,,統(tǒng)一為1,。高位字節(jié)MSB的低3位和低位字節(jié)LSB的高4位共同組成溫度值的整數(shù)部分,低位字節(jié)LSB的低4位為小數(shù)位,,采用二進制補碼方式存儲溫度數(shù)據(jù),。例如,當溫度為+125℃時,,輸出溫度為07D0h,;當溫度為+85℃時,輸出溫度為0550h,;當溫度為+25.062 5℃時,,輸出溫度為0191h;當溫度為-10.125℃時,,輸出溫度為FF5Eh,;當溫度為-55℃時,輸出溫度為FC90h,。
1.2.3 硬件設計
將DS18B20的數(shù)據(jù)輸入/輸出端與單片機AT89C51的P3.7端口相連,,并將溫度值通過P1端口顯示出來。硬件原理圖如圖4所示,。
1.3 SRWF-1型無線數(shù)據(jù)模塊
SRWF-1型微功率無線數(shù)傳模塊是上海桑銳電子科技有限公司自主開發(fā)的智能型產(chǎn)品,,該產(chǎn)品支持1 200 b/s,2 400 b/s,,4 800 b/s,,9 600 b/s,19 200 b/s等多種接口波特率,,也可根據(jù)需要提供其他非標準接口波特率,。
SRWF-1型微功率無線數(shù)傳模塊具有最大10 dBm(10 mW)的微發(fā)射功率;可提供多種載頻頻率,;高抗干擾能力和低誤碼率,,可得到實際誤碼率為10-5~10-6;傳輸距離遠,,在視距下,,可靠傳輸距離大于300 m;支持多信道,,多速率,,可根據(jù)需要擴展到16/32信道;雙串口,,三種接口方式,;智能數(shù)據(jù)控制,無需編制多余程序,,較大的數(shù)據(jù)緩沖區(qū),,可一次傳輸無限長度的數(shù)據(jù);低功耗,,接收電流小于20 mA,,發(fā)射電流小于40 mA,休眠時電流僅為20μA,;高可靠性,,體積小,重量輕,;兩種接口收發(fā)等待時間,,既能用于高速設備(如DSP系統(tǒng))也可適用低速系統(tǒng)(如51系統(tǒng));看門狗實時監(jiān)控,,使設備永不死機,。
1.3.1 外形尺寸結構圖
SRWF-1的外形結構如圖5所示。
1.3.2 接口定義
SRWF-1提供1個9針的連接器(CON1),,其定義基于終端的連接方法如表1所示,。
1.3.3 接口參數(shù)
SRWF-1的左下角有一組5位的短路跳線(J1),分別定義為ABCDE,,設跳線開路(不插短路器)為狀態(tài)0,,跳線短路(插入短路器)為狀態(tài)1,。其配置方法為:
(1)信道頻率
J1的ABC三位跳線提供8種選擇,可通過設置ABC的短接狀態(tài)確定使用0~7號信道,,只要在通信網(wǎng)中,,ABC的跳線方式相同,就可以相互通信,,其對應的頻道如表2所示,。
(2)接口方式選擇
SRWF-1提供兩個串口,COM1(CON1的Pin3,,Pin4)固定為TTL電平的UART串行口,;COM2(CON1的Pin6,Pin7)可通過J1的D位來選擇接口方式:
D=1(不接短路器)
COM2=RS 485,,RS 485的A/B口
D=0(接短路器)
COM2=RS 232,,RS 232的TXD/RXD
J1的E位是用來選擇校驗方式的:
E=0(不插短路器)8E1/801 帶一位校驗位
E=1(插短路器)8N1 不帶校驗位
(3)波特率設定
SRWF-1模塊提供1 200/2 400/4 800/9 600 b/s等接口波特率,波特率的設定可通過改變模塊反面的焊盤跳線(J2~J4)的狀態(tài)來確定,。假設焊盤斷開為0,,短路為1,焊盤跳線J4~J2的狀態(tài)和波特率對應關系如表3所示,。
(4)接口方式選擇
本設計與單片機串口相連,,采用標準RS232接口方式連接,將短路跳線D短接,其示意圖如圖6所示,。其他引腳可懸空不接,以免引入干擾,。
選取3號信道,將短路跳線B,,C短接,,信號發(fā)送和接收頻率為431.4588MHz,將兩個SRWF-1模塊均選取此設置,,則兩個無線模塊即可相互通信,。
根據(jù)本設計的需要,將SRWF-1的焊盤跳線J3,,J2短接,,從而得到波特率為9 600 b/s。
2 軟件設計
2.1 程序流程圖
系統(tǒng)的程序流程圖如圖7所示,。
2.2 部分程序
DS18B20初始化程序:
3 結語
DS18B20以其簡單,、精度高、測溫范圍廣而被廣泛應用,;8051單片機以其抗干擾強,、可靠性強、容易上手等優(yōu)點而廣泛使用;加上SRWF-1的使用,,使在溫度采集過程中,,可通過無線發(fā)送數(shù)據(jù),方便使用,,減少工作量,。