APP下载

基于51单片机的多功能安全头盔设计

2021-09-23李沛泽

电子技术与软件工程 2021年12期
关键词:子程序测距串口

李沛泽

(郑州大学国际学院 河南省郑州市 450000)

本文采用STC89C52作为多功能安全头盔的主控制器,STC89C52属于增强型51单片机。51系列单片机是一款应用广泛的8位单片机,它提供了一套完整的按位操作系统,同时具有乘法和除法指令,操作简单,容易上手。STC89C52相比于51单片机,拥有更大的RAM和ROM存储空间,增加了定时器数量和相应的特殊功能寄存器和中断功能更强大。

1 多功能安全头盔功能描述

1.1 功能概述

1.1.1 接听功能

配置蓝牙外耳机,避免骑手以为佩戴入耳式耳机,对周围声音丧失基本的判断,减少意外情况的发生,且不影响骑手对基本语音通话的使用。

1.1.2 测距功能

先用MPU6050测得行驶的加速度,通过算法测得速度,当速度达到15km/h以上触发左后方和右后方超声波测距模块,当超声波模块测距距离为2m以内发出提示音提醒左后方或右后方有车,请注意安全。

1.1.3 事故报警功能

板子正常情况下是水平,一旦MPU6050检测到板子不再水平即摔倒,蜂鸣器发出提示音,且摔倒的时间持续超过15秒后GSM模块开始工作,向有关人员发送求救信息和GPS模块得到的位置信息。

1.2 功能框图

功能框图如图1所示。

2 多功能安全头盔硬件设计

2.1 功能单元划分

(1)主控制器:STC89C52。

(2)测距功能:MPU6050,两个HC_SR04,报警电路。

(3)事故报警功能:MPU6050,SIM800模块,GPS模块,报警电路。

(4)接听功能:蓝牙外耳机。

2.2 模块性能指标

2.2.1 STC89C52

(1)属于增强型8051单片机,相比于传统的8051单片机,其功能更加强大。

(2)工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)。

(3)STC89C52共有32个I/O口,大多为弱上拉型,本系统需要两个I/O口进行IIC通信,3个I/O口分别连接指示灯和控制按键以及蜂鸣器,4个I/O口分别连接两个HC-SR04,同时还需要若干I/O口连接LCD1602液晶显示屏。

(4)STC89C52有一个串口,我们需要用串口实现与GSM/GPS模块的通信。

(5)共3个16位定时器/计数器。即定时器T0、T1、T2,我们用到了T0和T1定时器,T1定时器进行定时,T0定时器用于测距模块。

图1:功能框图

2.2.2 HC-SR04超声波测距模块

(1)使用电压:DC—5V。

(2)静态电流:小于2mA。

(3)电平输出:高电平5V。

(4)电平输出:低电平0V。

(5)感应角度:不大于15度。

(6)探测距离:2cm-450cm。

(7)高精度可达0.2cm。

2.2.3 MPU6050

(1)尺寸:4*4*0.9mm。

(2)封装:QFN。

(3)支持电压:2.5v 5%,3.0v 5%,3.3v 5%。

(4)陀螺仪可测范围:250,500,1000,2000 /秒。

(5)加速度计可测范围:2,4,8,16g。

2.2.4 SIM800模块

(1)尺寸:24*24*3mm。

(2)重量:3.1g。

(3)通过AT命令控制(GSM 07.07,07.05 and SIMCOM增

强AT命令集)。

(4)供应电压范围:3.4~4.4V。

(5)操作温度范围:-40℃~85℃。

2.2.5 GPS模块

(1)5Hz定位更新速率。

(2)精确度:定位2.5MCEP,SBAS:2.0mCEP。

(3)捕获冷启动29s。

(4)温启动27s。

(5)辅助启动<3s。

(6)热启动<1s。

(7)支持AssistNow Online及AssistNow Oラine。

(8)速度515m/s(1000节)。

(9)模块输入电压:5V。

2.3 系统工作原理

图2:原理图

图3:主程序流程图

2.3.1 mpu6050陀螺仪/六轴加速度传感器

电路板位于头盔的顶端,水平放置,正常情况下倾角为0度。MPU6050用于测量x方向和y方向的加速度以及电路板的倾角,正常情况下,mpu6050测得的倾角为0,同时两个方向的加速度在正常的范围内。当加速度的绝对值出现特别大的值(发生碰撞),之后倾角不为0(摔倒)且十五秒后不恢复0值,便触发GSM模块和报警模块工作。

2.3.2 GSM/GPS模块

GSM模块采用SIM800A,其接收端与单片机串口的发送端相连用于接收单片机发送的信息并发送给对应的手机。GPS模块用于测量经纬度信息并发送给单片机,在事故发生后,单片机将求救信息以及事故发生的经纬度信息通过串口发送给GSM模块,GSM模块发送给相应的手机。

2.3.3 由加速度计算速度的算法设计

假设y方向为正前方,由MPU6050测得y方向的加速度a,用定时器1做定时,以每100ms为间隔,读取每个间隔的中间值作为a的值,然后累加10次,则 得到速度的值。

2.3.4 HC-SR04超声波测距模块

超声波测距模块用于测量在电动车高速运动时距离后方车辆的距离,当速度超过15km/h,启动左后方和右后方的超声波测距模块,当测的距离小于两米时,启动提醒/报警电路进行提醒。

2.3.5 报警/提醒电路

该电路由蜂鸣器和二极管电路组成,当高速状态下测距小于两米时,电路发出间隔为1s的滴答声进行提醒,当检测到事故发生时,发出长时间的报警声。

2.3.6 LCD1602液晶显示屏

LCD1602用于显示mpu6050测得的加速度和倾角的数值以及通过算法计算出的速度值以及左后方和右后方两个HC-SR04测得的距离。用于进行调试,可以去掉。

2.4 单元详细设计

2.4.1 引脚设计

(1)MPU6050的SCL时钟线接单片机P21引脚,SDA数据线接单片机P20引脚,实现与单片机的IIC通信。

(2)单片机P22引脚通过三极管接蜂鸣器。

图4:GSM模块、GPS模块子程序流程图

图5:定时器1、串口接收中断服务函数流程图

(3)GPS模板TXD输出引脚连接单片机RXD串口输入引脚RXD,向单片机发送位置信息。

(4)单片机TXD串口输出引脚连接GSM模块RXD输入引脚TXD,控制GSM模块向手机发送短信。

(5)两个超声波测距模块的TX发送引脚分别接P10,P16引脚,接收引脚RX接单片机P11,P17引脚。

(6)LCD1602数据端接单片机P00到P07引脚,使能端接P27引脚,读写端接P26引脚,使能端P25引脚。

2.4.2 引脚设计特色

由于STC89C52只有一个串口,而GSM和GPS模块都需要与串口进行通信,我们可以将单片机串口的接收端与GPS模块的发送端相连,同时单片机串口的发送端与GSM模块的接收端相连,实现了一个串口与两个模块的通信。

2.4.3 原理图

原理图如图2所示。

3 软件详细设计

3.1 开发环境

本产品采用的开发环境为Keil5_C51,Keil集编辑、编译、到连接、调试为一体,提供了一套完整的软件开发流程。用Keil软件对程序进行编译形成HEX文件,将HEX文件用STC-ISP软件和CH340通过串口烧录到STC89C52,从而对整个系统实现控制。

3.2 主程序设计

主程序主要分为两个部分,测距功能和事故报警功能。首先通过MPU6050和HC-SR04以及各种算法得到行驶时加速度,速度,倾角,距离等状态。然后通过这些状态判断是否处于危险状态或是否有事故发生,进而打开或关闭报警/提醒电路。报警电路可以通过按键进行取消。具体流程图如图3。

3.3 子程序设计

3.3.1 GSM模块子程序(GSM_PROC())

GSM模块用于向手机发送求救信息和GPS模块测得的经纬度信息,使用GSM模块首先需要单片机通过串口向GSM模块发送相关的协议,之后才可以发送对应的手机电话号码以及求救信息和位置信息,GSM模块接收到单片机发送的这些信息之后,进而通过短信形式发送到相应的手机。

3.3.2 GPS模块子程序(GPS_PROC())

GPS模块用于获取驾驶员的经纬度信息,GPS模块的原始信息通过串口接收中断函数获得,GPS模块的子程序主要用于处理GPS获得的原始信息进而转化成位置信息,及经纬度信息。之后通过串口把经纬度信息发送给GSM模块。

GSM模块、GPS模块子程序流程图如图4所示。

3.3.3 超声波测距模块子程序(Wave_PROC())

超声波测距模块用到了两个HC-SR04,用于同时测量左后方和右后方的距离。超声波测距子程序用到了定时器0,通过定时器0完成了波的发送以及距离的测量,最终返回两个模块较小的距离。

3.4 中断程序设计

3.4.1 定时器1中断服务函数(Timer1_Routine()interrupt 3)

定时器1的周期为1ms,定时器1中断服务函数用于对各个模块进行一定周期的扫描,同时在中断服务函数中含有速度的算法,用于通过加速度计算速度。是一个比较重要的中断服务函数。

3.4.2 串口接收中断服务函数(USART_Routine()interrupt 4)

单片机串口的接收端连接GPS模块的发送端,GPS模块所得到的原始信息通过单片机的串口接收中断服务函数获得,我们通过GPS模块发送的协议获取相应的原始信息,具体通过接收到的逗号次数判断接收数据的类型,进而将原始信息放在相应的数组中。

定时器1、串口接收中断服务函数流程图如图5所示。

4 结语

基于51单片机的多功能安全头盔可以在现代交通行业得到广泛的应用,可以进一步提高摩托车、电动车骑乘人员和驾乘人员的安全防护水平。多功能安全头盔拥有接听、测距、事故报警三大功能,结构简单,功能强大,成本低廉,可靠性强,具备较大的应用空间。

猜你喜欢

子程序测距串口
浅谈AB PLC串口跟RFID传感器的通讯应用
类星体的精准测距
浅谈超声波测距
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
基于PSOC超声测距系统设计
子程序在数控车加工槽中的应用探索
相对差分单项测距△DOR
基于并行控制的FPGA多串口拓展实现
简化编程与子程序嵌套的应用