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