:为减少骑行过程中注意力分散而产生的危险,设计了一个智能头盔,该头盔以ESP32为主控芯片,采用离线式地图设计,使用SD卡对地图瓦片进行保存,利用LVGL框架对瓦片图片进行切换,降低了设备对网络的依赖。在头盔内部设置显示屏幕,展示自身位置与附近的地图,配合离线语音模块,控制地图缩放以及头盔内部温度。
近年来,随着信息业发展迅速,外卖行业的崛起重塑了人们的日常生活,买快餐也成了不愿做饭的年轻人与公司职员的最佳选择,这也促进了各地经济发展,并解决了就业问题。在外卖骑手数量持续增长的同时,外卖兄弟已成为交通事故发生率较高的群体。在近几年,中国一些地方发生了重大交通事故,其中一些是因外卖兄弟不遵守交通规则而丧失性命。
外卖兄弟每天在路上骑电动车,配送外卖。路面车流复杂,尤其在十字路口以及幽僻小路这种复杂或缺乏标识的路口,极易发生交通事故。这些事故的发生可能是因为驾驶员安全意识薄弱,未按照交通规则行驶;另一方面可能是路口复杂,需要手机进行导航,而长时间关注于手机地图不注意路况,就会导致安全事故的发生。而发生事故不及时救援很容易出现生命危险。
由此可见,一个可以进行地图显示的头盔格外重要,尤其是在外卖行业骑手快速增长、路面车辆愈加复杂的大背景下。这不仅有利于保护人们的生命安全,而且可改善骑手的驾驶舒适感,从而使得外卖行业能够持续健康地发展,使得先进的科技成果更好地融入人们生活中。
本设计是由ESP32 单片机系统、温度传感器、心率测量模块、离线语音识别、SD 卡读取、北斗定位模块以及彩色液晶屏显示模块集于一体的智能导航头盔。使骑行者在骑行过程中获得实时地图支持、危险报警与内部保暖功能。其总体设计图如图1 所示。
本设计使用乐鑫科技开发的ESP32 单片机作为主控,其工作频率高达240 MHz,可编程GPIO 丰富、配备4 个SPI、2 个IIC 接口,以及其他的通信协议。性能稳定,可在-40~125 ℃ 工作,并且专为移动设备开发了低功耗性能。
电源采用Li-Po 3s 电池进行12 V 的电压输入,采用MP2315 芯片作为开关电压调节器,将电池的12 V分别转为5 V,而后使用AMS1117 芯片使5 V 转化为3.3 V,从而获得12 V 转5 V、3.3 V 两路输出的电源,并为单片机和传感器进行供电。
电源模块的设计,通过查阅MP2315 芯片数据手册得到相关使用说明,使用式(1)电感计算公式、式(2)输入电容计算公式、式(3)输出电容计算公式,分析出电感应在3.24 μH 到6.48 μH,饱和电流大于4.5 A,输入电容越大越好,但不必过大;输出电容越纹越小,但过大会导致过流保护。其中Fsw 开关频率在计算过程中占主要参数,频率越高其输出纹波越小,但是过高会导致开关损耗增加,可以选择在(500~1 500)K。
本设计选用4.7 μH 电感、输入输出电容都选用22 μF 以实现输入电压从12 V 转为5 V。电源模块原理图如图2 所示。
数据采集模块均采用IIC 通信模式,利用两根双向通信线,数据线SDA,时钟线 作为主机,连接多个外围设备为从机。通过不同从机分配的地址不同,进而获得各个传感器的正确数据,从而实现一对IIC 接口连接多个传感器设备。减少了IO 口的占用,使运行效率更高。
使用的传感器有MLX90614 无接触式温度传感器,集成了红外热电堆检测器、信号处理芯片MLX90302 和强大的数字信号处理芯片,能够准确地获取出环境温度和物体温度。MPU6050 六轴加速度传感器,实时获取加速度,并加以传输;MAX30102 心率测量模块采集用户的心率以及血氧。其连接方式如图3所示。
地图显示模块由北斗+GPS 双模模块、SD 卡读取模块以及ST7789 彩色显示屏构成。
北斗+GPS 模块采用ATGM336H 芯片,其协议是NMEA-0183。有着定位性能高、集成度高、功耗低的特点。ESP32 单片机通过串口获取信息的方式接收北斗模块串口发送的数据,并通过&GNRMC 语句进行格式判定,获取到经纬度信息。通过获取到的经纬度信息选择SD 卡存储的地图,最后通过ST7789 彩色显示屏在头盔内部显示出来,以便在骑行时,了解骑行路线以及实时路况。地图显示模块原理如图4 所示。
离线T 芯片为基础的声控模块,是成本较低、功耗低的离线语音识别模组,兼备多种功能:UART、GPIO、ADC、PWM、I2C 等功能。其最强大的地方在于可以在其平台上自定义词条,进行自定义语音设置,可以通过连接咪头来收取声音信息并且可以连接喇叭进行播报。其平台设置如图5所示。
系统程序设计保证功能的实现,打开设备后系统开始进行初始化,初始化结束后启用多线程模式,对服务功能与报警功能进行隔离,使识别更加迅速。在进行服务功能时,为用户提供实时地图显示服务、温度调控服务、语音交互服务。在报警功能中,实时对传感器的各种状态进行监测,对脉搏传感器数据、加速度数据进行判断,若在发生有脉搏且加速度超过阈值时,而后并未人为取消,将会发出语音报警,向路人寻求救援。程序设计流程图如图6 所示。
LVGL.exe进行地图格式转换,变为RGB二进制文件。将SD 卡的文件格式进行修改变为FAT32 格式,再将下载并转换完的MAP文件放入SD卡的根目录。
SD卡上的路径地址,通过LVGL库采用外部储存模式更新图片,实现对地图的实时更新。地图获取流程图如图7所示,GUI 图像设计如图8。
p用于缩短系统上升时间;Ki用于消除稳态误差;Kd用于降低过冲和动态偏差。对于这个简单的控制系统来说,只需要对比例项P、积分项I 的调节即可,故微分项D 取0。在调整过程中,先进行比例项相对合适的值,再去寻找积分,最后是微分。当曲线波动频繁时,增加比例系数;曲线围绕一个大弯浮动,降低比例系数,将Kp取到合适的值后,进行对Ki的调节,来减小静差,当收敛速度过慢,需要增大Ki值;当收敛速度过快,将产生超调,这时需要降低Ki值,使系统稳定。
当今时代科技迅速发展,科技终将服务百姓,提高百姓生活的舒适度以及日常生活的安全。为日常出行提供便利。外卖也成为寻常百姓生活中不可分割的一部分,智能导航头盔正可以应用在外卖小哥的身上,智能头盔以多线程的设计,不仅可以为骑手的骑行体验进行改善,保证骑手不受严寒的影响,而且可以根据事故发生采取举措,尽可能减小人受到的伤害以及在遭受生命危险时不能及时处理的风险。本文设计的智能导航头盔也为交通安全贡献一份力量,为人们出行更加安全做出一份保障。