湯健,趙鳴,徐振國,趙光晶,張友浩
摘? 要: 設計了一款基于STC89C52單片機的蓄電池無線監(jiān)測系統(tǒng),能夠同時監(jiān)測多組蓄電池。使用DS2438智能監(jiān)測芯片實時監(jiān)測蓄電池工作狀態(tài)參數,如溫度、電壓、電流和容量等,單片機讀取數據,通過JDY-40無線通訊傳輸數據到接收端,當數值超出所設上下限時,系統(tǒng)就報警。通過對蓄電池工作狀態(tài)的實時監(jiān)控,實現(xiàn)對蓄電池的健康維護,延長蓄電池的使用壽命,確保用電設備能夠安全、連續(xù)地運行。
關鍵詞: 單片機; 蓄電池; DS2438; JDY-40
中圖分類號:TP27? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2022)01-28-04
Battery wireless monitoring system using STC89C52 single-chip microcomputer
Tang Jian, Zhao Ming, Xu Zhenguo, Zhao Guangjing, Zhang Youhao
(School of Air Transport, Shanghai University of Engineering Science, Shanghai 201620, China)
Abstract: This paper designs a battery wireless monitoring system using STC89C52 MCU, which can monitor multiple groups of batteries at the same time. DS2438 intelligent monitoring chip is used to monitor the working state parameters of batteries in real time, such as temperature, voltage, current and capacity. The data is read by MCU and transmitted to the receiving end through JDY-40 wireless communication. When the value exceeds the set upper or lower limit, the system will alarm. Through the real-time monitoring of the working state of the battery, the healthy maintenance of the battery is realized, the service life of the battery is extended, and the safe and continuous operation of the electrical equipment is ensured.
Key words: single-chip microcomputer; battery; DS2438; JDY-40
0 引言
蓄電池組作為儲能元件,是電氣系統(tǒng)極其重要的組成部分,它的工作狀態(tài)直接關系到整個系統(tǒng)的可靠性,然而蓄電池卻是整個系統(tǒng)中平均無故障時間最短的器件之一。
目前,蓄電池使用過程中存在的主要問題是:蓄電池過熱得不到控制,虧損電池長期與較好的電池串聯(lián)使用,加劇了虧損蓄電池使用壽命的減少,同時也影響其他蓄電池的使用壽命[1],導致電氣系統(tǒng)無法正常運作。
為了及時準確地反映蓄電池當前電壓、電流、溫度和容量的變化,能利用有關參數對蓄電池實現(xiàn)全方面的性能監(jiān)控,使得電氣系統(tǒng)工作穩(wěn)定可靠,防止蓄電池因工作故障而降低其使用壽命,本文設計了蓄電池無線監(jiān)測系統(tǒng),通過DS2438智能監(jiān)測芯片來實現(xiàn)對多組蓄電池的監(jiān)測,采用STC89C52為控制單元完成信號處理。
1 蓄電池無線監(jiān)測系統(tǒng)設計
蓄電池無線監(jiān)測系統(tǒng)由監(jiān)測端與接收端兩部分組成(圖1)[2]。系統(tǒng)包含了STC89C52單片機、蓄電池組、信號采集電路(DS2438),無線通訊發(fā)送端、無線通訊接收端、鍵盤電路、顯示電路以及報警電路。
在監(jiān)測端,由信號采集電路(DS2438)監(jiān)測蓄電池的電壓、電流、溫度和容量等[3],同時監(jiān)測三組蓄電池,然后數據打包發(fā)送給STC89C52單片機,單片機將數據高速化處理后發(fā)送至無線通訊發(fā)送端,無線通訊由JDY-40實現(xiàn)。
在接收端,無線通訊接收端采集到發(fā)送端的數據后,發(fā)送給接收端單片機,數據處理后,由顯示電路中LCD顯示屏顯示被測蓄電池的電壓、電流和溫度等,并通過四個LED燈顯示蓄電池的剩余容量。在鍵盤電路中,不僅可以設置上下限報警值和復位,還可以按鍵切換顯示不同組蓄電池的各項參數。在監(jiān)測參數值超出所設定閾值時,系統(tǒng)將由蜂鳴器提示報警。
2 主電路硬件設計
2.1 STC89C52單片機
本設計使用了兩塊STC89C52單片機,以監(jiān)測端上的STC89C52RC單片機與其他芯片等硬件的連接為例,其引腳具體連接如圖2所示。RST引腳接復位電路;第18、19引腳分別外接晶振電路,即時鐘電路;第20引腳直接接地;第31引腳EA端接電源高電平,單片機從片內的程序存儲器中讀指令[4]。第40引腳接電源高電平,再通過一個節(jié)點接一個小電容接地,起到了濾波、去耦、緩沖電壓、消除高頻噪聲的作用,從而得到更加完整的信號。
2.2 信號采集電路
本設計采用DS2438實現(xiàn)信號采集。DS2438是單總線器件,一個控制電路上可以接多個DS2438芯片,從而,可以對多個蓄電池進行監(jiān)測[5]。以其中一路蓄電池監(jiān)測電路為例,信號采集電路(DS2438)如圖3所示,其余兩路相同。DS2438的電壓測量大小為0~10V,而蓄電池中的端電壓一般高于10V,充滿電后電壓更高,所以采用兩個電阻R9與R10對蓄電池電壓進行分壓,而后連接到 DS2438的VAD端進行測量。本設計中,取[R9=R10=10kΩ]。
DS2438內部有電流A/D轉換器,采用電路電流負反饋來保證所測電流的準確性,使用7個0.33Ω電阻并聯(lián)得到0.05Ω的電阻。電池電流監(jiān)視器輸入(+)接蓄電池負極,電池電流監(jiān)視器輸入(-)接一個電阻和一個電容,起到濾波,解決尖峰電流的作用,其中電阻[R8=100kΩ](使用兩個50kΩ電阻串聯(lián)),貼片電容[C6=100nF]。DQ端接單片機的P2.0進行數據輸入/輸出,引出一個節(jié)點通過電阻R11接+5V電源,[ R11=4.7kΩ]。
2.3 無線通訊電路
無線通訊電路如圖4所示。在通訊電路中,采用了三個1N4007二極管串聯(lián),利用其正向壓降降壓后,再把電壓給予JDY-40無線通信的電源端。串聯(lián)一個10uF的電容C1,起到濾波作用。當低頻時,有用信號可以順利發(fā)送給VCC。使用串口直通信即JDY-40的RXD端接單片機的TXD端P3.1,JDY-40的TXD端接單片機的RXD端P3.0[6]。SET端接單片機P3.2來實現(xiàn)高電平透傳,低電平AT指令的功能。
本設計中,利用無線傳感器JDY-40雙向透傳(只負責傳輸數據,不負責處理)收發(fā)一體的功能,采用串口半雙工方式,來實現(xiàn)串口連續(xù)寫入與接收數據。JDY-40默認為串口透傳模式。
2.4 鍵盤電路
鍵盤電路如圖5所示,本設計設置了五個按鍵,分別是增加鍵、減小鍵、設置鍵、切換測量鍵、報警復位鍵[7]。增加鍵、減小鍵、設置鍵是用來設置報警限值,按下設置鍵即可修改限值。在監(jiān)測過程中,只監(jiān)測其中一路蓄電池的工作情況,通過切換測量鍵來監(jiān)測其余兩路蓄電池。當蓄電池工作中有關參數超過限值報警時,按下報警復位鍵給予復位。
2.5 顯示電路
顯示電路有LCD1602顯示電路和LED顯示電路兩部分。
LCD1602顯示電路如圖6所示。引腳1 VSS端接地;引腳2 VCC端接+5V電源;引腳3 V0是對比度調整端,直接接地對比度最高,影響清晰度,需接一個500Ω的電阻調整清晰度;引腳4寄存器選擇端接單片機P3.5;引腳5讀寫端接單片機P3.6;引腳6使能端接單片機P3.7,讀取令液晶模塊工作的指令;引腳7~14接單片機P2.0~P2.7,進行數據傳輸;引腳15 BLA背光正極;引腳16 BLK背光負極。
LED顯示電路如圖7所示。將四個LED發(fā)光二極管分別串聯(lián)一個1kΩ的電阻后并聯(lián),滿足單向導電性,正極一端共同接+5V電源高電平,另一端分別接向單片機P0.1~P0.4。
2.6 報警電路
報警電路如圖8所示。報警電路中使用了一個PNP型三極管S8550來放大電流,確保蜂鳴器正常工作。三極管發(fā)射極接電源,基極通過一個電阻接單片機P0.0以接收信號,該電阻起到了降低單片機輸出給三極管基極電流的作用,從而減少工作時的功耗。
3 系統(tǒng)軟件設計
本系統(tǒng)軟件包括主程序、監(jiān)測子程序、無線通訊子程序、鍵盤子程序、顯示模塊子程序等。主程序流程如圖9所示。系統(tǒng)啟動后,程序中的相關數值進行復位,在復位的過程中對標志位和定時器進行設定,并且需要設定一個限值,將串口通信協(xié)議恢復到初始狀態(tài)。在系統(tǒng)開始執(zhí)行程序后,開始掃描鍵盤,直到定時器停止工作。
本設計應達到對蓄電池的實時監(jiān)測,為滿足這一要求就要讓單片機不斷地訪問監(jiān)測芯片 DS2438。監(jiān)測子程序流程如圖10所示。在進行程序設計時,應先對定時/計數器進行設置,包括定時器的工作狀態(tài),然后單片機執(zhí)行下一步程序,直到定時器的中斷,執(zhí)行中斷之后調用 DS2438 子程序,通過芯片 DS2438 來收集蓄電池的電流電壓和溫度等參數,然后由單片機通過無線通訊模塊傳輸到接收端,由接收端的顯示模塊進行數據顯示,最后重新初始化,定時中斷結束。
4 系統(tǒng)調試
當系統(tǒng)進入工作狀態(tài)后,監(jiān)測端由監(jiān)測芯片DS2438監(jiān)測蓄電池的電壓、電流和溫度等參數,然后數據打包發(fā)送給監(jiān)測端單片機,再由監(jiān)測端單片機通過無線傳輸模塊發(fā)送給接收端單片機,參數處理后由顯示屏顯示被測電池的溫度、電壓和電流,再通過一組LED燈直觀顯示電池電量。利用鍵盤來設置閾值,能切換顯示不同蓄電池的各項參數。在超過或低于限值時,系統(tǒng)蜂鳴器給出相應的報警。
調試時,首先在通電前利用萬用表檢查硬件線路,特別注意電源的走線,防止電源之間的短路和極性錯誤;通電后,執(zhí)行讀寫指令,對存儲器、輸入/輸出端口進行讀寫和邏輯檢查,對各模塊子程序分別調試。監(jiān)測第一組蓄電池時,LCD顯示出現(xiàn)混亂,此時先檢查硬件電路,排除硬件電路問題,后檢查軟件程序,發(fā)現(xiàn)引腳設定出現(xiàn)錯誤,致使LCD顯示錯誤;在監(jiān)測第二組蓄電池時,電壓值不穩(wěn)定,經過檢查硬件電路,發(fā)現(xiàn)零件電路存在虛焊,導致電壓不穩(wěn)定,出現(xiàn)了較大的差距;監(jiān)測第三組時,電流較大,硬件電路未發(fā)現(xiàn)問題,檢查軟件程序,發(fā)現(xiàn)顯示子程編寫錯誤,致使在顯示電流時,只顯示小數部分。
5 結束語
本設計采用STC89C52單片機、DS2438監(jiān)測芯片和JDY-40模塊相結合,使得系統(tǒng)功耗低,延遲小,監(jiān)測精準。在保證蓄電池工作完好性的前提下,系統(tǒng)能實時監(jiān)測出蓄電池的電壓、電流、溫度和容量等狀態(tài)參數,實現(xiàn)對蓄電池的維護;能提前發(fā)現(xiàn)虧損電池,確保電池組供電系統(tǒng)安全運行,延長蓄電池的使用壽命。通過軟硬件的實踐驗證,本蓄電池監(jiān)測系統(tǒng)運行安全、功能豐富、操作簡單,有著廣泛的應用空間。
參考文獻(References):
[1] 侯波,劉俊偉.一種電動車鉛酸蓄電池SOC預測模型及檢測系統(tǒng)的設計[J].電測與儀表,2010(11):47-50
[2] 任璐,李文石,錢敏.基于nRF24L01的無線電子記分系統(tǒng)設計[J].微型機與應用,2017(4)
[3] 蘭成榮.蓄電池實時監(jiān)測系統(tǒng)的研究與設計[D]. 湖南大學,2014
[4] 陳亞萍.FDM溫度控制系統(tǒng)的硬件結構設計[D]. 華中科技大學,2007
[5] 郭克友,郭曉麗,王藝偉.基于DS2438的車載電池管理系統(tǒng)設計[J].電源技術,2016(7):1416-1418
[6]周燕艷,海深.單片機原理及應用課程教學改革與實踐[J].福建電腦,2018,34(1):81-82
[7] 王佳.循環(huán)流化床鍋爐燃燒過程控制策略的研究[D].河北科技大學,2011