






摘" 要:動力電池具有易燃、燃燒氣體有毒、電壓高等特點,為保護動力電池實訓場地設備及人身安全,設計動力電池安防系統。系統采用STM32微控制器,配備傳感器、聲光報警等裝置,該系統能實時、遠程監測動力電池狀態及周邊情況,及時、有效防止動力電池事故發生,保護資產和人身安全。
關鍵詞:STM32微控制器;動力電池;安防系統;監控;軟件設計
中圖分類號:U469.72" " " 文獻標志碼:A" " " " " 文章編號:2095-2945(2024)36-0118-04
Abstract: Power batteries are characterized by flammability, toxic combustion gases, and high voltage. In order to protect the safety of equipment and personal safety in power battery training sites, a power battery security system is designed. The system adopts STM32 microcontroller and is equipped with sensors, sound and light alarms and other devices. The system can monitor the status of the power battery and surrounding conditions in real time and remotely, prevent power battery accidents in a timely and effective manner, and protect assets and personal safety.
Keywords: STM32 microcontroller; power battery; security system; monitoring; software design
隨著汽車行業向新能源方向快速轉型,高職等各類學校,紛紛設置新能源汽車相關專業,動力電池是新能源汽車專業基礎實訓設備,學校都存放有動力電池,當環境溫度過高或動力電池自身溫度過高時,可能會引發熱失控現象,引發火災。動力電池電壓都在220 V以上,誤操作觸電,將有生命危險。本文設計動力電池安防系統,用于監測動力電池的工作狀態。
1" 總體方案
動力電池安防系統,主要由監控傳感器系統、中央微控制器、報警提示系統組成。
監控傳感器系統: 動力電池自身溫度監控和防止學生意外觸電是動力電池安防中重要的環節,也是動力電池安全事故中損失最嚴重的情況。系統配置傳感器探測電池自身溫度、人員靠近、 煙霧濃度等,根據探測結果,發出警報,降低動力電池安全事故損失。
中央微控制器采用STM32微控制器,實時分析監測傳感器輸入的數據,根據算法,控制報警提示系統工作(圖1)。
報警提示系統由音響模塊、警示燈、遠程通信模塊3部分組成。
2" 系統硬件設計
2.1" 微控制器采用STM32芯片
根據系統功能需求,微控制器采用STM32F103ZE T6芯片,STM32F103ZET6是意法半導體公司生產的高性能、低成本的32位微控制器,基于ARM Cortex-M3內核[1]。STM32F103ZET6還配備了豐富的定時器資源和ADC(模數轉換器),使其非常適合于工業自動化、消費電子和汽車應用等多個領域。該微控制器采用了節能設計,可在多種電源電壓范圍內工作,具備低功耗模式,有助于延長電池供電設備的工作時間。
2.2" 煙霧傳感器
根據系統功能需求,選用MQ-2煙霧傳感器,感應元件由微型三氧化二鋁陶瓷管、氧化錫敏感層組成,感應原件配備加熱器,保證敏感層處于正常工作溫度。傳感器有6個針腳,4個針腳輸出信號,2個針腳用于加熱,敏感原件工作條件見表1。
MQ-2煙霧傳感器在氣敏元件基礎上設計了電位器、運算放大器、發光二極管,原理圖如圖2所示。傳感器電源為5 V,TTL針腳輸出數字信號有效值為低電平,該信號可直接輸入到微控制器,RP電位器可以調節TTL輸出靈敏度順時。模擬量輸出電壓0~5 V,濃度與電壓成正比。
2.3" 紅外溫度傳感器
MLX90615ESG-DAA(以下簡稱MLX90615)是一款高精度、小尺寸、數字式紅外溫度傳感器。該傳感器集成了紅外熱電堆探測器和信號處理ASIC(專用集成電路),并封裝在標準的TO-46密封罐內,傳感器結構框圖如圖3所示。
MLX90615ESG-DAA在寬溫度范圍內(-40~115 ℃)具有高精度,特別是在0~50 ℃范圍內,其精度可達0.5 ℃。該傳感器支持SMBUS兼容的數字接口,便于與STM32微控制器或處理器集成,實現快速溫度讀數。傳感器有PWM(脈沖寬度調制)模式,可以實現連續讀數。傳感器出廠校準的環境溫度范圍為-40~85 ℃,物體溫度范圍為-40~115 ℃,滿足應用場景的需求。發射率可以簡單地定制為0.1到1之間,且無需使用黑體進行重新校準,提高了使用的靈活性和便利性。
2.3.1" 數據讀取方法
1)初始化SMBus連接:將SDA(數據線)和SCL(時鐘線)正確連接MLX90615上。將SDA和SCL引腳配置為弱上拉電阻。
2)啟動SMBus通信:主機(Master Device, MD)通過發送起始條件來啟動數據傳輸。發送從機地址(Slave Address, SA),MLX90615的默認從機地址是0x5B(十六進制)。
3)發送命令:主機根據需要發送讀取命令(如讀取RAM或EEPROM中的數據)。MLX90615響應命令,并準備發送數據。
4)讀取數據:主機通過SMBus接口從MLX90615讀取數據。數據通常從指定的RAM或EEPROM地址開始讀取。
5)關鍵寄存器地址。RAM寄存器,0x06(十六進制):環境(周圍)溫度T_A;0x07(十六進制):對象溫度T_O;0x05(十六進制):原始紅外數據。EEPROM寄存器,包含了配置信息、PWM設置、發射率等,修改這些寄存器需要謹慎,以免破壞設備的出廠校準。
2.3.2" 讀取溫度數據示例
1)發送起始條件。
2)發送從機地址0x5B及寫命令(因為要先設置要讀取的RAM地址)。
3)發送RAM地址0x06(讀取環境溫度)或0x07(讀取對象溫度)。
4)發送重起始條件。
5)再次發送從機地址0x5B及讀命令。
6)從MLX90615讀取16位數據(注意:溫度數據以0.02 °C為分辨率存儲)。
處理數據:將讀取的數據(以K為單位)轉換為℃,公式為To[℃]=RAM(7h)×0.02-273.15。
2.4" 毫米波雷達
根據系統需求,選用HLK-LD303-24G毫米波雷達[2-3]。該雷達模塊采用24 GHz頻段,具有高精度(5 cm)和長探測距離(10~350 cm)的特點,支持TTL串口通信,默認波特率為115 200,參數見表2,對外有4個引腳功能見表3。
通過發送固定查詢命令,模塊可上報目標距離、信號強度及微動狀態等信息。雷達可通過指令設置最大檢測距離、靈敏度、延遲時間等參數。
HLK-LD303-24G測距雷達模塊安裝簡便,接線方式靈活,可通過串口小板與電腦連接進行調試和測試。測試時,需注意模塊與串口小板的TX/RX交叉連接,避免接錯導致通信失敗。
2.5" 語音報警器
語音報警器選用ISD1820芯片,芯片集成的8~20 s單段語音錄放電路[4]。能實現語音錄放功能,原理圖如圖4所示。
ISD1820芯片將信號輸入LM386功率放大器,放大后驅動揚聲器。信號由SP+或 SP-輸出,單線輸出時不用的針腳必須懸空。
2.6" SIM900A通信模塊
SIM900A通信模塊是一款功能強大、性能卓越的GSM/GPRS通信模塊,廣泛應用于物聯網等多個領域[5]。該模塊不僅支持GSM網絡的語音通話和短信收發功能,還具備GPRS數據傳輸能力,能夠實現數據的遠程高速傳輸。
SIM900A模塊支持多頻段網絡,覆蓋全球主要GSM頻段,確保在全球各地都能實現穩定的通信和數據傳輸。模塊功耗低,能自動搜索連接最佳網絡。
SIM900A模塊具備一系列特色功能,如串口通信、SIM卡熱插拔、支持外部存儲設備和GPIO接口等,這些功能使得模塊能夠輕松與各種微控制器、單片機等設備集成,滿足多樣化的應用需求。模塊還支持固件在線升級,用戶可以隨時獲取最新功能和修復bug,提升系統的穩定性和兼容性。
3" 軟件設計
軟件設計是實現系統監測、運算、傳輸的關鍵。根據STM32F103ZET6的處理能力,設計軟件主循環程序為不斷讀取各類傳感器的數據,包括動力電池的溫度、煙霧濃度、人員靠近情況等。通過內置的ADC和通信接口,實時接收并處理這些信息。
中斷服務程序設計,設置中斷服務程序,以便在緊急情況下能夠迅速響應。例如,當煙霧傳感器檢測到煙霧濃度超過設定閾值時,立即觸發中斷,進入緊急處理流程,啟動聲光報警,并通過SIM900A通信模塊發送短信至預設的緊急聯系人手機,實現遠程報警。
軟件設計還需考慮數據的存儲與分析。利用STM32F103ZET6的閃存和SRAM,存儲歷史數據,便于后續分析動力電池的使用情況和安防系統的性能。同時,可以設計簡單的數據分析算法,對動力電池的狀態進行預測,提前預警潛在的安全隱患。
3.1" 數據采集
在軟件系統的數據采集中,采用輪詢與中斷相結合的方式以提高系統的實時性和效率。為所有傳感器(如煙霧傳感器、紅外溫度傳感器、毫米波雷達等)配置定時器中斷,設定合理的采樣周期,每100 ms采集一次數據。中斷服務程序中,STM32F103ZET6微控制器通過相應的USART等通信接口讀取傳感器的最新數據,并存儲到SRAM中的指定緩沖區。
主循環程序中,微控制器按規定間隔檢查緩沖區中的數據,并進行處理。檢測到任何異常數據(如溫度超過安全閾值、煙霧濃度超標、毫米波雷達檢測到人員違規接近等),則立即觸發相應的處理函數。處理函數負責啟動聲光報警系統,通過語音報警器播放預設的警報語音,并控制警示燈閃爍。函數還會通過SIM900A通信模塊發送短信至預設的緊急聯系人手機,報告異常情況,確保遠程監控人員能夠及時獲取并處理警報信息。
讀取毫米波雷達數據關鍵代碼如下。
void Radar_SendQueryCommand(void)
{
uint8_t queryCommand[] = {0xXX, 0xYY}; // 替換為實際的查詢命令,XX和YY為示例值
HAL_UART_Transmit(amp;huart1, queryCommand, sizeof(queryCommand), HAL_MAX_DELAY);
}
3.2" 數據處理
在數據處理過程中,系統對采集到的毫米波雷達數據進行處理,以提高數據的準確性和可靠性。微控制器對接收到的雷達數據進行解析,提取出目標距離、速度、角度等關鍵信息。解析得到的數據,采用中值濾波方法,進行處理,以減少噪聲和干擾對測量結果的影響。
軟件對連續采集到的數據進行趨勢分析,判斷動力電池周圍環境的變化趨勢。例如,雷達連續檢測到有物體快速接近動力電池,系統會認為存在潛在的安全隱患,并提前預警。系統需要將處理后的數據與歷史數據進行比對分析,識別出異常或突變的情況,如溫度急劇上升、煙霧濃度驟增等,以便及時采取應對措施。
3.3" 執行部分
在數據處理過程中,系統會根據預設的安全閾值進行判斷。一旦檢測到任何超過安全閾值,如煙霧濃度超標等,系統會立即啟動聲光報警系統,并通過SIM900A通信模塊向遠程監控人員發送警報信息,及時采取相關措施。
SIM900A通信模塊發送警報信息,關鍵代碼如下。
void OnPersonApproachDetected(void)
{
char phoneNum[] = \"13800000000\";" // 緊急聯系人手機號
char alertMsg[] = \"警告:有人員違規接近動力電池區域!\";
SendAlertSMS(phoneNum, alertMsg);
}
4" 結論
本文設計動力電池安防系統,配置多種傳感器和報警設備,實現了對動力電池的實時監控和警示處理。通過煙霧傳感器、紅外溫度傳感器、毫米波雷達等傳感器,系統能夠實時監測動力電池的溫度、煙霧濃度及人員接近情況,及時發現潛在的安全隱患。采用STM32F103ZET6微控制器進行數據處理和邏輯控制,確保了系統的穩定性和高效性。通過聲光報警和SIM900A通信模塊的遠程報警功能,系統能夠在緊急情況下,迅速通知相關人員,有效避免動力電池安全事故的發生,保護資產和人身安全。
參考文獻:
[1] 周金芝,楊明.基于雙人指紋識別的家用保險柜控制系統設計[J].西昌學院學報(自然科學版),2019,33(4):61-65.
[2] 李鵬飛,康洪波,李曉凡,等.礦區車載毫米波雷達數據采集過程設計[J].內蒙古煤炭經濟,2021(19):42-43.
[3] 深圳市海凌科電子有限公司.HLK-LD303-24G測距雷達模塊 [EB/OL].http://www.hlktech.com/.
[4] 王佳.基于MLX90615和STM32的多點紅外溫度測量系統設計[J].現代電子技術,2013,36(14):146-148,151.
[5] 蔡金洋,牟亦龍,顏林江,等.基于STM32的老人防跌倒腰帶設計[J].電子制作,2024,32(15):11-14.