基于DS18B20的MOA溫度遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)
當(dāng)一線制總線上僅有一個DS18B20器件時(shí), 可以用sk ip ROM 操作(即跳過ROM 匹配)命令來代替64位序列號的匹配過程, 省掉煩瑣的總線上器件序列號的查詢操作。在本設(shè)計(jì)中, 每個監(jiān)測站僅用4個DS18B20器件, 因此在硬件滿足要求的條件下可以設(shè)計(jì)成單片機(jī)的每個端口僅連接一個DS18B20, 即利用單片機(jī)的并行端口同時(shí)對多個DS18B20進(jìn)行統(tǒng)一的操作。
圖5 DS l8B20的多點(diǎn)測溫電路原理圖
2. 3 串口通信電路
本設(shè)計(jì)選用的單片機(jī)AT89S52 具有一個全雙工的串行口, 可以通過編程設(shè)定為4種工作方式, 完全滿足系統(tǒng)的串口通信要求。由于實(shí)際的溫度測量系統(tǒng)離PC機(jī)的監(jiān)控地點(diǎn)較遠(yuǎn), 如采用常用的RS-232串行通信接口在傳輸距離短, 信號易受干擾等缺點(diǎn), 因此本設(shè)計(jì)選用了RS- 485總線進(jìn)行遠(yuǎn)程通信。RS - 485是美國電氣工業(yè)聯(lián)合會制定的通信標(biāo)準(zhǔn), 其采用差分信號進(jìn)行傳輸, 最大傳輸距離約為1219 m, 最大的傳輸速率可達(dá)10Mbit/ s, 能夠滿足長距離和高速率的串行異步通信, 得到了廣泛的應(yīng)用。在系統(tǒng)實(shí)現(xiàn)中, 單片機(jī)端使用MAX485芯片將TTL 電平轉(zhuǎn)換成RS - 485的電平輸出, 并在PC端連接RS232 /485轉(zhuǎn)換器, 從而實(shí)現(xiàn)了遠(yuǎn)程監(jiān)控。RS- 485總線接口電路如圖6所示。
圖6 RS- 485總線接口電路
2. 4 人機(jī)通信
監(jiān)測系統(tǒng)可采用數(shù)碼管和鍵盤作為人機(jī)交互界面, 通過鍵盤按鍵來顯示三相MOA 的當(dāng)前工作溫度和與環(huán)境的溫差, 鍵盤設(shè)定或修改兩個回路的上下限溫度報(bào)警值, 且一經(jīng)設(shè)定完成后即用新的參數(shù)值進(jìn)行監(jiān)控并發(fā)往PC 機(jī)更新數(shù)據(jù), 同時(shí)把新參數(shù)送入E2ROM中保存, 以防止系統(tǒng)掉電后參數(shù)的丟失。在溫度測量中, 系統(tǒng)用當(dāng)前測量值與設(shè)定的上下溫限值比較, 從而控制是否需要聲光報(bào)警。當(dāng)系統(tǒng)的運(yùn)行發(fā)生了偏差, 可以通過復(fù)位按鍵使系統(tǒng)重新開始運(yùn)作。
3 軟件編程設(shè)計(jì)
3. 1 DS18B20時(shí)序圖
由于DS18B20采用的是1-W ire總線協(xié)議方式,即用一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸, 單線通信功能是分時(shí)完成的, 有嚴(yán)格的時(shí)序概念, 因此讀寫時(shí)序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為: 初始化DS18B20(發(fā)復(fù)位脈沖)-發(fā)ROM 操作命令-發(fā)存儲器操作命令-處理數(shù)據(jù)。
評論