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