【導讀】針對采用熱敏電阻測溫和有線溫度測量系統的不足,提出了采用單總線數字溫度傳感器DS18B20、單片機和無線收發模塊等組成智能無線溫度監測系統。DS18B20具有體積小,精度高,采用一線總線,可組網等優點,短距離無線通信技術應用到多點溫度測量中,實現了溫度數據無線傳輸,該系統擴展維護方便、成本低、高可靠性等特點,具有一定的實用性。
蓄電池作為一種供電方便、安全可靠的直流電源,在電力、通信、軍事等領域中得到了廣泛的應用。溫度是蓄電池的一個重要參數,它可以間接地反映電池的性能狀況,并且根據此溫度參數可以對電池進行智能化管理,以延長電池的壽命。在蓄電池組充放電維護及工作工程中,電池內部產生的熱量會引起電池的溫度發生變化,尤其是蓄電池過充電、電池內部電解液發生異常變化等原因均可能造成電池溫度過高而造成電池損壞。
傳統上用人工定時測量的方法,勞動強度大、測量精度差,工作環境惡劣,尤其是不能及時發現異常單體電池,容易導致單體電池損壞,甚至導致整組電池故障或損壞;基于總線結構的有線多點溫度監測系統,能夠實現溫度的智能化測量,但存在布線繁多復雜、維護擴展困難等不足。鑒于此,設計了一種基于單總線溫度傳感器和無線收發模塊的電池溫度無線監測系統,能夠有效地克服熱敏電阻測溫和總線結構控制系統的不足,有利于提高蓄電池性能監測的智能化水平。
單總線溫度傳感器DS18B20
DS18B20芯片特性
DS18B20數字溫度傳感器是美國DALLAS半導體公司生產的新一代適配微處理器的智能溫度傳感器,它將溫度傳感器、A/D轉換器、寄存器及接口電路集成在一個芯片中,采用1-wire總線協議,可直接數字化輸出、測試。與其他溫度傳感器相比,具有以下主要特性:
采用獨特的單線接口技術,與微處理器相連僅需一根端口線即可實現雙向通信,占用微處理器的端口較少,可接收大量的引線和邏輯電路;使用中不需要任何外圍電路,全部傳感元件及轉換電路都集成在形如一只三極管的集成電路內;測溫范圍- 55~ +125℃,精度可達±0.5℃,可編程9~12位A/D轉換精度,測溫分辨率可達0.0625℃,可實現高精度測溫;測量結果直接輸出數字溫度信號,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力;支持多點組網功能,多個DS18B20可掛在總線上,實現組網多點測溫。適應電壓范圍寬:3.0~5.5V,在寄電源方式下可由數據線供電;DS18B20與單片機連接如圖1所示,單總線器件只有一根數據線,系統中的數據交換、控制都在這根線上完成,單總線上外接一個4.7Ω的上拉電阻,以保證總線空閑時,狀態為高電平。
圖1:DS18B20與單片機硬件連接圖
DS18B20的控制時序
DS18B20與微處理器間采用的是串行數據傳送,在對其進行讀寫編程時,必須嚴格保證讀寫時序,否則將無法讀取測溫結果。DS18B20控制時序主要包括初始化時序、讀操作時序和寫操作時序,如圖2所示。
圖2:DS18B20控制時序
(1)初始化時序。時序見圖2(a),主機總線t0時刻發送一復位脈沖(最短為480s的低電平信號)接著在t1時刻釋放總線并進入接收狀態,DS18B20在檢測到總線的上升沿之后等待15~60μs,接著DS18B20在t2時刻發出存在脈沖(低電平持續60~240s),如圖中虛線所示。
(2)寫操作時序。當主機總線t0時刻從高拉至低電平時,就產生寫時間隙。從t0時刻開始15μs之內應將所需寫的位送到總線上,DS18B20在t0后15~60μs間對總線采樣,若低電平寫入的位是0,若高電平寫入的位是1,連續寫2位的間隙應大于1μs,見圖2(b)。
(3)讀操作時序。當主機總線t0時刻從高拉至低電平時,總線只需保持低電平6~10μs之后,在t1時刻將總線拉高,產生讀時間隙,讀時間隙在t1時刻后到t2時刻前有效,t2~t0為15μs,也就是說,在t2時刻前主機必須完成讀位,并在t0后的60~120μs內釋放總線,見圖2(c)。
系統硬件結構
監測系統主要由溫度監測節點、主控單元和上位機等3部分組成,系統結構如圖3所示。溫度監測節點分布在蓄電池組的各個單體電池上,采集各單體電池的溫度信息,通過無線網絡傳輸給主控單元;主控單元與所有監測節點進行通信,接收上位機的命令和來自監測節點的溫度信息,并將溫度信息上報上位機;上位機實時顯示蓄電池的溫度信息,并對數據進行分析處理,根據設定的報警門限啟動告警程序,及時發現異常電池。
圖3:系統總體結構
溫度監測節點設計
溫度監測節點的功能是完成對單體電池的溫度信息采集、處理和無線數據傳輸。采用單片機控制無線收發芯片nRF2401和單總線數字溫度傳感器DS18B20來實現溫度的智能測量,主要包括單片機系統、溫度采集電路、無線收發電路、顯示電路、告警電路和電源等組成,其硬件結構如圖4所示。
圖4:溫度監測節點硬件結構
DS18B20測溫電路如圖1所示,用熱傳導的粘合劑將DS18B20粘附在蓄電池的表明,管芯溫度與表面溫度之差大約在0.2℃之內。利用nRf2401無線收發芯片實現無線傳輸,nRF2401是一個單片集成接收、發射器的芯片,工作頻率范圍為全球開放的2.4GHz頻段。它內置了先入先出堆棧區、地址解碼器、解調處理器、GFSK濾波器、時鐘處理器、頻率合成器,低噪聲放大器、功率放大器等功能模塊,需要很少的外圍元件,使用起來非常方便。在本系統中nRf2401通過P2口與單片機進行通信,AT89S51的P2.0和P2.1口分別與nRF2401的CLK1,DATA相連接。nRf2401的CS是片選端,CE是發送或接收控制端,PWR_UP是電源控制端,分別由單片機的P2.3,P2.4和P2.5引腳控制。nRF2401的DR1為高時表明在接收緩沖區有數據,接單片機的P2.2。
由于nRF2401的供電電壓范圍為1.9~3.6V,而AT89S51單片機的供電電壓是5V,為了使芯片正常工作,需要進行電平轉換和分壓處理,設計采用MAXIM公司的MAX884芯片進行5V到3.3V 電平轉換,如圖5所示。
圖5:5V到3.3V轉換電路
主控單元設計
主控單元和監測節點組成無線網路,通過主控單元實現上位機和監測單元的數據通信。主控單元的基本結構和監測單元類似,主要由單片機系統、無線收發模塊、顯示電路、串行通信電路及電源等組成。
串口是計算機上一種非常通用設備通信的協議,大多數計算機包含2個基于RS232的串口,PC的串行口是RS232C電平,而單片機的串行口是TTL電平,兩者之間通過串口通信時,必須進行電平轉換,設計運用MAX232A芯片完成單片機與PC之間的數據傳輸,硬件連接電路如圖6所示。
圖6:單片機與MAX232A硬件連接電路
控制程序設計
系統控制程序主要由單總線測溫控制程序、無線收發控制程序和上位機監測程序等組成。單總線測溫程序負責單總線設備初始化、采集電池溫度并傳送給nRF2401模塊;無線收發控制程序主要功能是負責無線網絡的組建和數據信息的無線傳送;上位機監測程序的主要功能是通過串口和主控單元進行數據通信,實時顯示并存儲數據信息。以監測節點為例,圖7是監測單元的程序流程圖,監測單元首先進行初始化,主要包括單片機系統的通信、中斷及定時的初始化等,然后采集單體電池的溫度信息、保存并用數碼管顯示,實時監測主控單元的數據傳送命令,如果有就將電池的溫度數據通過無線模塊發送出去。
圖7:監測節點程序流程
試驗結果
設計了試驗樣機,監測節點試驗電路實物如圖8所示,在室內進行了溫度測試,采用4個監測節點,分別在距離主控單元4m,8m,12m的距離進行了試驗,試驗數據如表1所示。
從表1可以看出,溫度的測量精度可達±0.3℃,無線傳輸的準確率較高,能夠滿足無線溫度監測的需要。
圖8:監測節點試驗電路
表1:測溫試驗數據
本文針對蓄電池組中單體電池的溫度監測問題,設計了基于DS18B20數字溫度傳感器和無線收發芯片組成的遠程無線監測系統。系統由上位機、主控單元和多個監測單節點組成,主控單元通過串口與上位機進行通信。與傳統的有線多點溫度測量系統相比,具有布設、擴展、維護及更新方便等特點,有一定工程實際應用價值。