基于STM32的停放车辆安全预警系统研究

2021-01-25 08:10刘树臣任宁宁
山东商业职业技术学院学报 2020年6期
关键词:车主蓄电池通讯

张 迎,刘树臣,任宁宁

(山东商业职业技术学院,山东 济南 250103)

1.引言

据公安部交管局统计,截至2020年6月底,全国汽车保有量达2.7亿辆。汽车给人们的生活带来了越来越多的便利,同时人们也需要对汽车的行车状态实时关注和定期维护,否则,汽车可能会出现不可预知的异常,给车主带来损失和不便。

为了保障车辆的正常行驶,不同品牌的汽车均设计了警告电路,当某系统出现异常时,会以警告灯的形式显示在仪表板上,便于及时发现维修。然而对于停放后的车辆的状态却不能很好地监控反馈。以某合资品牌某地区的汽车故障维修类型进行统计分析,各类故障的统计比例如图1所示。

图1 某合资品牌维修统计比例

从图1中可以看到,停放汽车的故障主要有汽车电瓶电量低造成无法启动、停放的车辆被外物碰撞或刮蹭、线路老化车辆自燃及部分轮胎故障等,约占维修统计数的一半以上,因此,停放车辆的安全实时监控非常有必要。当前,停放车辆的监控形式主要以汽车行驶记录仪为主,而记录仪也只能拍摄车辆振动时的正面图像,一段时间后该图像还会被自动覆盖,全面性、时效性非常受限。

针对市场现状及需求,本文设计了一种停放车辆的安全实时监控系统,有效地实现对蓄电池电瓶电压、车辆碰撞、是否自燃进行实时监控并及时通知车主,避免出现车辆亏电无法启动、碰撞后逃逸等情况,实时预防减少不必要的麻烦和损失。

2.总体设计

本系统实现对汽车停放状态下有可能出现的汽车蓄电池异常、汽车刮蹭碰撞、自燃等情况,进行实时监控预警,监控的数据信息由中央处理器MCU进行分析处理,并通过通讯模块发送给车主进行预警,如图2所示。

图2 总体设计框图

2.1 通讯方式

实现车辆状态和车主间的通讯有两种不同的方式,4G网络下的无线数据传输及短信息方式。4G无限网络具有传输速率快、大数据量传输等特点,但需架设单独服务器,投入成本高、实现复杂,不适合本系统。短信息通讯方式传输数据小、成本低廉、实现方便、部署简单;本系统正常监控时,也只是在监控数据异常时才进行短信息通讯,传输频次很低、信息内容较小,较符合本系统所需的通讯方式。通讯方式如图3所示。

图3 短信息通讯路径

2.2实现方式

相对于传统单片机,ARM处理器价格同样不高,但它主频更高、外设和资源更丰富,以STM32为例,Cortex-M3内核,最高工作频率72MHz,同样具备开发简单、快速开发的优点,结合系统功能、兼顾成本功耗,本系统采用STM32系列作为系统MCU。

3.硬件设计

根据系统设计的功能,硬件部分包括中央处理器MCU、停放车辆安全监控模块、短消息通讯模块及电源电路[1]。

3.1MCU模块

STM32系列单片机是由意法半导体公司开发的内核为Cortex-M3的应用型MCU[2],由于其拥有强可操作性和高性能的特点,在MCU市场上极受欢迎。STM32包含增强型、基本型、互联型三个系列,STM32F103RB属于增强型MCU,功耗低,仅有35mA,最高工作频率72MHz,另外STM32F103RB资源丰富,拥有256KB的FLASH,3个SPI接口、5个串口、3个12位ADC、48个通用IO接口等。

由于系统需要控制多个模块,需要的接口较多,为了稳定有效地控制外围电路,采用STM32F103RB作为系统MCU[3]。

3.2车辆碰撞监测模块

正常情况下,车辆处于静止状态,而当车辆被碰撞时,车辆会发生振动,故采用振动传感器模块实现碰撞的实时监测[4]。

本系统采用震动传感器模块SW-18010P,如图4所示,SW-18010P的内部是一个电阻应变片,当振动达到一定程度后,电阻应变片阻值改变,从而改变输出电压,超过域值后实现报警,SW-18010P通过GPIO与MCU进行连接,采用中断方式进行工作。

图4 震动传感器模块SW-18010P

3.3 温度传感器模块

温度传感器模块用于监测判断车辆是否发生了自燃,正常情况下车内最高温度在夏天可以达到60-70摄氏度,系统将温度预警值设置为80摄氏度,如果高于此温度,可判定车辆高温异常,可能发生了自燃。温度传感器模块采用DS18B20测温模块,如图5所示,DS18B20测温模块是美国DALLAS公司生产的单总线数字温度传感器,测温范围-50度~+200度,内配存储器,掉电后数据不会消失。DS18B20与MCU通过通用的I/O接口连接,由MCU的ADC端口进行数据采集和监测。

图5 DS18B20测温模块

3.4蓄电池电压监测单元

汽车停放后,仍会有部分用电器在工作耗电,正常情况下耗电不大,但随着车辆一些功能部件的老化,电阻变大,耗电增多,俗称“漏电”。漏电不仅会降低蓄电池的正常使用寿命,还可能会使车辆无法启动,特别是冬天这种现象更加明显。

为解决上述问题,系统设置蓄电池监测单元对蓄电池的电压进行实时监测,汽车蓄电池正常使用时的电压大约为11.5V-13.5V,当低于11.5V时,属于欠压状态,需要及时充电,当低于10.6V时,会损坏蓄电池且影响车辆正常启动,当低于该电压时进行电压预警。

蓄电池电压被蓄电池监测单元中设置的电阻分压后,连接到MCU的ADC端口,由MCU对电瓶电压进行监测[5]。

3.5 GSM通讯模块

GSM通讯模块通过UART与MCU相连。MCU控制GSM模块将汽车碰撞、电压预警、温度预警信息以短消息的方式发送到车主手机,及时提醒车主。考虑到价格、体积、性能等因素,模块采用SIMCOM公司的SIM900模块如图6所示。SIM900模块采用标准AT指令控制工作方式,实现发送短信和语音通话。

图6 SIM900模块

4.软件设计

4.1主程序设计

为了降低功耗,系统设定了停用模式和定时RTC唤醒工作方式,唤醒触发后,进行一次系统监测[6]。同时,报警功能也进行了重复报警的设置,如短信发出后,车主未作处理,将重复短信报警,时间间隔为1小时。如图7所示。

图7 主程序流程图

4.2蓄电池监测程序设计

系统在RTC唤醒或中断唤醒后进入蓄电池电压监测程序,系统通过ADC计数多次采样取平均测量值[7],判断蓄电池电压是否正常。如图8所示。

图8 蓄电池电压监测程序流程图

4.3车内温度监测程序设计

系统在RTC唤醒或中断唤醒后进入车内温度监测程序,系统通过ADC计数多次采样取平均测量值,判断车内温度是否正常。如图9所示。

图9 车内温度监测程序流程图

4.4碰撞监测程序设计

碰撞监测程序和主程序同时完成初始化,程序在中断进入时开始执行,当车辆停放后,一旦发生碰撞刮蹭,震动模块将触发中断。如图10所示。

图10 碰撞监测程序流程图

4.5通讯子程序设计

STM32F103通过AT指令控制SIM900模块读取车主手机号码和发送短信,为了降低系统功耗,当短信发送完成后,应及时将SIM900设置进入睡眠模式。如图11所示。

图11 通讯子程序设计流程图

5.结语

为了有效地对停放车辆进行安全监控,本文提出了一种停放车辆的安全预警系统,填补了市场空白;同时兼顾市场、成本等因素,对本系统的硬件和软件进行了设计开发,为后续进一步的开发应用提供了方向依据。

猜你喜欢
车主蓄电池通讯
《茶叶通讯》简介
《茶叶通讯》简介
通讯报道
听伴:抓住车主的耳朵
聊聊蓄电池的那点事儿(1) 汽车蓄电池的前世
通讯简史
汽车车主的移动应用
蓄电池去哪儿了
蓄电池去哪儿了?VOL12.雷克萨斯RX450h
蓄电池去哪儿了?