摘" 要:动力电池具有易燃、燃烧气体有毒、电压高等特点,为保护动力电池实训场地设备及人身安全,设计动力电池安防系统。系统采用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.