- 蓄電池溫度監(jiān)測系統的系統組成
- 蓄電池溫度監(jiān)測系統的軟硬件設計
- 電壓、溫濕度采集、溫度采集
- 模塊之間的通信
- 數據顯示
系統組成
蓄電池溫度監(jiān)測系統的原理框圖如圖1所示。主要由電壓、溫濕度采集、溫度采集、89S51單片機、鍵盤控制模塊、顯示電路模塊、通信模塊組成。該系統能完成6組或6組以上通信電池的溫度測量、1路機房環(huán)境測量(溫度、濕度測量)、2路直流電壓和2路交流電壓測量,傳輸數據距離大于200m。
硬件設計
1單片機選擇
該系統單片機選用89S51,該單片機采用0.35新工藝。成本降低,功能提升,與傳統的89C51單片機相比主要具有以下特點:
(1)功能增多,性能有了較大提升,價格基本不變;
(2)ISP在線編程功能;
(3)最高工作頻率為33MHz,計算速度更快;
(4)具有雙工UART串行通道;
(5)內部集成看門狗計時器;
(6)雙數據指示器;
(7)兼容性強,向下完全兼容51全部子系列產品。
2溫度傳感器的選擇及其與單片機的連接
溫度采集選用DS18B20,DS18B20具有獨特的單總線接口方式,通過串行通信接口(I/O)直接輸出被測溫度值接口方式,CPU只需一根端口線就可與DS18820實現雙向通信;在使用中不需要任何外圍元件;內含寄生電源,既可采用寄生電源,也可由VDD直接供電;允許電壓范圍是3.0~5.5V,進行溫度/數字轉換時的工作電流約為1.5mA,待機電流僅為1μA,典型功耗為5mW;溫度測量范圍為-55~125℃,在0~85℃之間,誤差小于0.5℃;支持多點組網功能,多個DS18B20可以掛接在一根總線上,可實現多點測溫;具有負壓特性,當電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。
DS18B20和單片機的連接如圖2所示,由VCC直接供電,連接一個4.7kΩ左右的上拉電阻,DQ直接連到單片機的P1.0口上。
CPU對DS18B20的訪問流程是:對DS18B20初始化即ROM操作命令、存儲器(包括便箋式RAM和E2PROM)操作命令即數據處理。單總線上所有處理都從初始化開始,初始化時序由主機發(fā)出的復位脈沖和一個或多個從機發(fā)出的應答脈沖組成。主機接收到從機的應答脈沖后,說明有單總線器件在線,主機就可以開始對從機進行ROM命令和存儲器操作命令,使DS18B20完成溫度測量并將測量結果存人高速暫存儲器中,然后讀出此結果。[page]
3交、直流電壓以及機房溫濕度的測量
直流電壓、交流電壓以及機房溫濕度的測量選用TLC1543,TLC1543為10位11通道的A/D轉換器,與單片機的連接如圖3所示。機房環(huán)境測量(溫度、濕度)采用JWS溫濕度變送器,輸出信號為標準0~5V直流電壓信號;直流電壓的數據采集經電阻分壓后直接送至A/D轉換器,交流電壓的采集經分壓整流后也直接送至A/D轉換器。
4顯示電路設計
溫度顯示采用6位LED,與單片機的連接如圖4所示。顯示模塊由8279鍵盤、顯示接口芯片和相應的驅動電路組成。8279的掃描線SLA~SLC在掃描過程中,可將芯片內部顯示單元的內容送到輸出數據線OA0~OA3和OB0~OB3掃描線經74HC138譯碼,作為多位LED數碼管的位選線,通過74LS04反相后,再經過位驅動芯片,用于對不同的數碼管進行位驅動。同時,用OA0~OA3和OB0~OB3送出的數據對應地驅動每個數碼管的8個顯示段,使6個數碼管輪流驅動發(fā)光。驅動芯片采用SN75491和SN75492,分別驅動數碼管的段和位顯示,保證6位數碼管都被點亮時需要的最大電流。
5通信模塊設計
為了滿足數據傳輸距離大于200m,通信采用75LBC180全雙工485芯片,單片機通信電平和計算機電平的轉換采用MAX232完成,如圖5所示。MAX232芯片是專為電腦的RS232標準串口設計的接口電路,使用+5V單電源供電。另外。RS232到RS485的轉換可采用專用的轉換器,如BOK-60或ATC-160A無源轉換器。
軟件設計
蓄電池溫度監(jiān)測系統的軟件設計主要包括主程序、外部中斷子程序、顯示子程序等。圖6是該系統的主程序流程圖。用于完成對DS18B20的調用、中斷管理、測量溫度值的計算及溫度值的顯示等功能。主機89S51首先復位脈沖使信號線上所有的DS18B20芯片都被復位,接著發(fā)送跳過ROM操作命令,激活在線的所有DS18B20,然后系統轉人中斷處理流程,完成溫度轉換,讀取等工作。外部中斷子程序完成對溫度測量數據的讀取,顯示子程序完成液晶顯示器的初始化及顯示溫度值。
基于89S51和DS18B20的通信電源蓄電池溫度監(jiān)測系統,接口簡單,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路,與傳統裝置相比,具有結構簡單,成本低,可靠性和測溫精度高,功耗低,應用面廣等優(yōu)點。