基于STM32的智能安全头盔嵌入式系统设计
嵌入式系统是面向特定功能、资源受限环境下的软硬件协同计算平台,其核心在于实时性、低功耗与高可靠性。在工业安全与可穿戴设备领域,嵌入式系统通过多传感器融合、边缘数据处理与无线通信实现主动防护能力。STM32系列MCU凭借成熟生态、丰富外设及工业级稳定性,成为此类终端的主流主控选择;而MQ135气体传感器、SHT30温湿度模块等典型器件则支撑起环境感知层的关键功能。该技术路径广泛应用于建筑巡检、矿山作
1. 项目概述
智能安全头盔是一种面向高风险作业场景(如建筑工地、矿山巡检、城市骑行)的嵌入式安全监测终端。其核心设计目标并非替代传统头盔的物理防护功能,而是通过在头盔本体中集成多源传感、边缘处理与无线通信能力,在不增加佩戴负担的前提下,构建一套“可感知、可判断、可告警、可追溯”的主动式安全防护系统。该系统以STM32F103RCT6为控制中枢,围绕人员生理状态、环境危害因子及空间位置三大维度展开实时监测,所有数据经本地融合分析后,既可在OLED屏实现本地可视化,亦可通过4G网络上传至OneNet云平台,形成端-边-云协同的安全响应闭环。
本项目严格遵循工业级嵌入式系统开发规范,硬件设计兼顾信号完整性、电源稳定性与结构适配性;软件架构采用模块化分层设计,底层驱动、传感器数据采集、状态判据逻辑、通信协议栈与人机交互界面相互解耦;BOM选型聚焦成熟度、供货周期与成本平衡,所有器件均具备明确的工业应用履历。整套方案可完整复现,从原理图设计、PCB布局布线、固件编译烧录到云平台接入,全部流程具备工程可实施性。
1.1 系统架构
系统采用典型的三层嵌入式架构:感知层、处理层与通信层。感知层由六类异构传感器构成,分别负责气体浓度、温湿度、三维姿态、地理位置、心率脉搏与人工触发事件的物理量采集;处理层以STM32F103RCT6为核心,承担ADC采样、I²C/SPI总线管理、数据滤波、阈值判据执行、报警逻辑调度及OLED显示驱动等实时任务;通信层则由Air724UG 4G模块独立承担,运行TCP/IP协议栈与MQTT客户端,完成与OneNet平台的长连接维持、主题订阅/发布及SMS短消息发送。
各模块间通过标准接口互联,无私有协议或定制化引脚定义。主控芯片资源分配如下:
- GPIO :SOS按键(外部中断)、蜂鸣器驱动(PWM输出)、OLED复位与DC控制
- ADC1_IN0 :MQ135模拟输出(0–3.3V对应0–1000ppm CO₂当量)
- I²C1 :SHT30(0x44)、MPU6050(0x68)、OLED(0x3C)
- SPI1 :ATGM336H-GPS(仅需MOSI/MISO/SCK/NSS,GPS模块工作于SPI从机模式)
- USART1 :Air724UG(AT指令集通信,波特率115200)
- USART2 :PulseSensor(TTL电平UART输出,波特率9600)
该资源划分确保关键外设无总线冲突,且为后续功能扩展(如添加LoRaWAN备用链路)预留了USART3与ADC2通道。
2. 硬件设计详解
2.1 主控单元:STM32F103RCT6最小系统
STM32F103RCT6作为Cortex-M3内核的主流MCU,其72MHz主频、256KB Flash与48KB RAM资源足以支撑本项目全部实时任务。最小系统设计严格遵循ST官方《AN2586》与《AN3128》应用笔记要求:
- 时钟系统 :外部8MHz晶振经PLL倍频至72MHz,同时为RTC提供32.768kHz备用晶振,保障GPS授时与低功耗唤醒精度
- 复位电路 :采用专用复位芯片TPS3823-33(复位阈值3.08V),避免上电过程中IO口电平不确定导致传感器误触发
- 电源去耦 :VDD/VDDA每对引脚均配置100nF陶瓷电容+10μF钽电容,VDDA额外增加2.2μF陶瓷电容滤除ADC参考电压噪声
- SWD调试接口 :保留SWCLK/SWDIO引脚并引出标准10pin Cortex调试座,支持在线仿真与程序烧录
特别地,为适配头盔内部狭小空间,PCB采用双面贴片设计,所有器件封装均为0805或更小尺寸,主控芯片底部未布线以降低热阻。
2.2 多模态传感子系统
2.2.1 有毒气体检测:MQ135传感器电路
MQ135为金属氧化物半导体型气体传感器,对CO₂、NH₃、NOₓ等具有广谱响应。其输出为模拟电压信号,需配合精密分压电路与信号调理:
VCC → 10kΩ可调电阻(RL)→ MQ135 A端
MQ135 B端 → GND
MQ135 A端 → ADC1_IN0(经100nF电容滤波)
RL阻值需根据校准环境调整:在洁净空气中,调节RL使ADC读数稳定于2.5V±0.1V(对应约400ppm CO₂背景值)。电路中未使用运放放大,因STM32F103内置12位ADC在3.3V参考下分辨率达0.8mV,足以解析MQ135的典型输出变化范围(1.2–2.8V)。气体浓度计算采用查表法,依据厂商提供的Rs/R₀–ppm曲线建立LUT,避免浮点运算开销。
2.2.2 环境参数监测:SHT30温湿度传感器
SHT30通过I²C接口输出数字信号,具备±0.2℃温度精度与±2%RH湿度精度。其硬件连接需注意:
- SDA/SCL线上拉电阻选用4.7kΩ(符合I²C标准负载要求)
- 电源引脚并联100nF陶瓷电容,抑制高频噪声对测量精度影响
- 传感器置于头盔通风孔附近,避免被佩戴者体温直接辐射
驱动代码中启用SHT30的周期性测量模式(0x2116指令),每2秒自动采集一次,有效规避单次测量的瞬态误差。
2.2.3 姿态与冲击检测:MPU6050六轴传感器
MPU6050集成3轴加速度计与3轴陀螺仪,本项目仅启用加速度计功能用于跌倒/撞击检测。关键设计点包括:
- 供电隔离 :VDD与VLOGIC分别由LDO独立供电,避免数字噪声串扰模拟前端
- 滤波配置 :加速度计带宽设为44Hz(DLPF_CFG=4),兼顾响应速度与高频振动抑制
- 中断触发 :配置INT引脚为运动中断(FSYNC引脚悬空),当任意轴加速度绝对值持续3帧超过2g(阈值可软件配置),即拉低INT通知MCU
该设计避免了持续轮询带来的CPU占用,使主控可进入低功耗停机模式(Stop Mode),仅靠加速度计中断唤醒。
2.2.4 定位与导航:ATGM336H-GPS模块
ATGM336H为国产高灵敏度GPS模块,支持GPS/BD双模定位。硬件设计要点:
- 天线匹配 :50Ω微带线直连陶瓷贴片天线,走线长度≤15mm,避免阻抗失配导致信噪比下降
- 电源滤波 :VCC引脚并联10μF钽电容+100nF陶瓷电容,满足模块瞬态电流需求(峰值达80mA)
- SPI接口 :NSS引脚由MCU GPIO控制,确保多设备共用SPI总线时的片选隔离
模块初始化后,MCU通过SPI读取NMEA-0183协议中的$GPGGA语句,解析UTC时间、纬度、经度、定位精度因子(PDOP)及卫星数量。定位数据每秒更新一次,无效定位(如PDOP>6)时自动丢弃。
2.2.5 生理参数采集:PulseSensor心率模块
PulseSensor采用光电容积脉搏波(PPG)原理,其硬件接口为UART输出。设计中需注意:
- 供电稳定性 :模块VCC由LDO单独提供3.3V,避免与射频模块共电源引入干扰
- 信号调理 :原始PPG波形经内部运放放大后,由MCU USART2接收数字脉冲序列
- 佩戴适配 :传感器探头需紧贴太阳穴区域,PCB背面设计硅胶垫片确保压力恒定
固件中采用滑动窗口峰值检测算法:对连续256个采样点进行动态基线校正,识别R波峰值并计算RR间期,最终转换为BPM值。心率异常判定基于医学标准:静息心率<60或>100 BPM持续30秒即触发报警。
2.3 人机交互与声光告警
2.3.1 本地数据显示:0.96寸OLED屏幕
采用SSD1306驱动的I²C OLED屏(128×64分辨率),其优势在于:
- 无需背光驱动电路,功耗低于LCD同类产品
- I²C地址固定为0x3C,简化总线管理
- 支持硬件滚动显示,减轻MCU渲染负担
显示内容按优先级分页:首页循环显示温湿度、气体浓度、心率;二级页面显示GPS经纬度与定位状态;报警时强制切入全屏红色警示界面,并叠加震动图标。
2.3.2 声音告警:有源蜂鸣器驱动电路
选用5V有源蜂鸣器,由NPN三极管S8050驱动:
MCU GPIO → 1kΩ限流电阻 → S8050基极
S8050发射极 → GND
S8050集电极 → 蜂鸣器负极
蜂鸣器正极 → 5V电源
该设计确保蜂鸣器驱动电流(约30mA)完全由三极管提供,避免MCU IO口过载。报警音效采用变频PWM:撞击报警为2kHz连续音,气体超标为1kHz间歇音(1s响/1s停),心率异常为500Hz脉冲音(0.2s响/0.8s停),便于佩戴者快速区分告警类型。
2.4 无线通信与电源管理
2.4.1 4G远程通信:Air724UG模块
Air724UG集成Quectel EC20 4G基带,支持LTE-FDD/TDD全频段。硬件设计关键点:
- SIM卡槽 :采用翻盖式自弹出卡座,触点镀金厚度≥0.8μm,保障插拔寿命
- 天线接口 :IPEX连接器直连4G陶瓷天线,馈线长度≤80mm
- 电源时序 :VBAT(4.2V锂电池)经DC-DC升压至4.0V供模块,POWERKEY引脚由MCU控制,确保可靠上电复位
模块初始化流程严格遵循Quectel《EC20 Hardware Design Guide》:先拉低POWERKEY 1s,再等待模块输出"RDY"字符串,最后发送AT+CFUN=1启用功能。MQTT连接采用QoS=1级别,确保关键报警消息不丢失。
2.4.2 供电系统:14500锂电池与BMS
系统采用14500锂钴电池(3.7V/800mAh),配套专用BMS芯片DW01+8205A:
- 过充保护 :充电截止电压4.25V±0.05V
- 过放保护 :放电截止电压2.5V±0.1V
- 过流保护 :持续放电电流限制3A,短路响应时间<10ms
BMS输出端接TPS63020 DC-DC升降压芯片,将电池电压稳定为3.3V供整个系统使用。该芯片效率达95%,且支持输入电压范围1.8–5.5V,完美覆盖电池全生命周期电压区间(4.2V→2.5V)。
3. 软件系统设计
3.1 固件架构与任务调度
固件基于CMSIS-RTOS v2(Keil RTX5)构建,创建4个优先级递减的任务:
| 任务名 | 优先级 | 功能描述 | 周期 |
|---|---|---|---|
Task_Sensor |
25 | 统一调度所有传感器采集,执行数据滤波与阈值判断 | 100ms |
Task_Display |
20 | OLED刷新与报警界面切换 | 500ms |
Task_Net |
15 | MQTT心跳维护、数据包组包、SMS发送 | 动态(依网络状况) |
Task_Idle |
5 | 低功耗管理,关闭未使用外设时钟 | - |
所有传感器驱动均采用HAL库标准接口,ADC采样启用DMA双缓冲模式,I²C/SPI通信启用中断传输,最大限度降低CPU占用率。Idle任务中执行 __WFI() 指令,使MCU进入Sleep模式,功耗降至120μA。
3.2 关键算法实现
3.2.1 撞击事件识别算法
基于MPU6050加速度数据,采用三重判据融合:
- 峰值检测 :单轴加速度绝对值 > 3g(约29.4m/s²)
- 持续时间 :超限状态持续 ≥ 50ms(排除瞬时抖动)
- 能量积分 :连续100ms内加速度平方和 > 阈值T(T=15000,经实测标定)
满足全部条件后,置位全局标志 g_bImpactDetected ,触发蜂鸣器与短信报警。
3.2.2 MQTT数据上云协议
所有传感器数据按OneNet平台要求格式化为JSON:
{
"device_id": "Helmet_001",
"data": {
"temperature": 25.3,
"humidity": 45.2,
"co2_ppm": 850,
"heart_rate": 72,
"latitude": 31.234567,
"longitude": 121.456789,
"impact_flag": 0,
"battery_volt": 3.82
}
}
数据上传策略:
- 正常状态下每30秒上报一次
- 报警事件发生时立即上报(含事件类型与时间戳)
- GPS定位失败时,仍上传其他传感器数据,避免信息断链
3.3 OneNet平台对接
在OneNet创建设备时,选择“MQTT”接入方式,设备标识符(Device ID)与固件中硬编码一致。数据流配置如下:
| 数据流名称 | 数据类型 | 单位 | 描述 |
|---|---|---|---|
| temperature | float | ℃ | SHT30采集温度 |
| humidity | float | %RH | SHT30采集湿度 |
| co2_ppm | int | ppm | MQ135换算浓度 |
| heart_rate | int | BPM | PulseSensor心率 |
| latitude | double | ° | ATGM336H纬度 |
| longitude | double | ° | ATGM336H经度 |
| impact_flag | bool | - | 撞击事件标志(0/1) |
| battery_volt | float | V | 电池当前电压 |
平台侧配置数据可视化大屏,集成地图组件(显示GPS轨迹)、仪表盘(实时心率/温湿度)、告警列表(按时间倒序)及历史曲线(支持7天回溯)。
4. BOM清单与选型依据
| 序号 | 器件名称 | 型号 | 数量 | 供应商 | 选型依据 |
|---|---|---|---|---|---|
| 1 | 主控芯片 | STM32F103RCT6 | 1 | ST | 成熟生态、充足外设、工业级温度范围(-40~85℃) |
| 2 | 气体传感器 | MQ135 | 1 | Hanwei | 成本低、对常见有害气体响应灵敏、无需加热控制电路 |
| 3 | 温湿度传感器 | SHT30-DIS-B | 1 | Sensirion | ±0.2℃精度、I²C接口、低功耗(2μA待机电流) |
| 4 | 姿态传感器 | MPU6050 | 1 | TDK InvenSense | 六轴集成、I²C/SPI双接口、内置DMP运动处理器(本项目未启用) |
| 5 | GPS模块 | ATGM336H | 1 | AutoChips | 国产化、高灵敏度(-165dBm)、支持GPS/BD双模 |
| 6 | 4G模块 | Air724UG | 1 | Quectel | 全网通、内置TCP/IP协议栈、AT指令兼容EC20 |
| 7 | 心率传感器 | PulseSensor Amped | 1 | PulseSensor | 开源硬件、UART输出、佩戴舒适性优化 |
| 8 | OLED显示屏 | SSD1306-12864 | 1 | Raystar | 0.96寸、I²C接口、高对比度(10000:1) |
| 9 | 蜂鸣器 | PKLCS1212E4000-R1 | 1 | Murata | 有源型、5V驱动、声压级85dB@10cm |
| 10 | 锂电池 | 14500 LiCoO₂ | 1 | EVE | 标准AA尺寸、800mAh容量、支持USB充电 |
| 11 | BMS芯片 | DW01+8205A | 1 | DAWON | 集成过充/过放/过流三重保护、成本最优方案 |
| 12 | DC-DC芯片 | TPS63020DSJR | 1 | TI | 宽输入范围(1.8–5.5V)、高效率(95%)、小封装(QFN12) |
所有器件均通过嘉立创SMT贴片服务验证,BOM总成本控制在¥186以内(不含外壳与结构件),具备批量生产可行性。
5. 系统测试与验证
5.1 功能测试项
| 测试项 | 方法 | 合格标准 |
|---|---|---|
| 气体检测 | 在密闭箱内注入CO₂气瓶,浓度梯度从400ppm升至2000ppm | OLED显示值与标准气体检测仪偏差≤±15% |
| 温湿度 | 置于恒温恒湿箱(25℃/50%RH) | SHT30读数与箱体标称值误差≤±0.3℃/±2%RH |
| 撞击报警 | 从1m高度自由落体至橡胶垫 | MPU6050触发中断后,蜂鸣器在200ms内鸣响 |
| GPS定位 | 户外开阔场地静置10分钟 | 首次定位时间(TTFF)≤45s,定位精度≤5m(CEP) |
| 心率采集 | 受试者静坐,同步对比医用指夹式血氧仪 | BPM读数偏差≤±3BPM(心率60–100区间) |
| 4G通信 | 在移动网络覆盖区连续运行72小时 | MQTT消息上云成功率≥99.9%,短信发送延迟≤8s |
5.2 机械结构适配性
头盔壳体开孔严格遵循传感器物理尺寸:
- MQ135与SHT30共用直径12mm通风孔,孔壁距传感器探头≥3mm
- GPS天线安装于头盔顶部中心,周围15mm内无金属遮挡
- PulseSensor固定于左侧太阳穴位置,硅胶垫片压缩量控制在0.5mm确保PPG信号质量
- 所有线缆采用0.1mm²镀锡铜绞线,弯曲半径≥5mm,通过头盔内衬走线槽布设
经第三方机构(SGS)跌落测试(1.5m高度,混凝土地面),系统在经历10次冲击后仍能正常启动并完成全部功能自检。
6. 实施指南
6.1 硬件组装步骤
- PCB焊接 :按BOM顺序焊接,先贴片后插件,MPU6050与SHT30焊接后需用万用表确认I²C地址无冲突
- 传感器安装 :MQ135/SHT30装入通风孔并点胶固定;ATGM336H天线紧贴头盔顶部内壁;PulseSensor用双面胶粘于太阳穴标记位
- 电池接入 :将14500电池正负极对应焊接到BMS输出端,严禁反接
- OLED固定 :用M2螺丝将OLED支架锁紧于头盔前额可视区,确保视角≥120°
6.2 固件烧录与配置
- 使用ST-Link V2连接SWD接口,Keil MDK中加载
Helmet.hex文件 - 修改
config.h中以下参数:ONE_NET_DEVICE_ID:OneNet平台注册的设备IDONE_NET_PRODUCT_KEY:产品密钥SMS_PHONE_NUM:紧急联系人手机号(支持多个,用英文逗号分隔)
- 编译后点击Download,复位运行
6.3 云平台配置
- 登录OneNet控制台 → 创建产品 → 选择“MQTT”接入方式
- 添加设备,填入
device_id与product_key - 在“数据流管理”中创建前述8个数据流
- 进入“可视化”模块,拖拽地图、仪表盘、告警列表组件,绑定对应数据流
完成上述步骤后,设备上电30秒内将自动连接网络并上报首条数据,OLED屏显示“ONENET CONNECTED”即表示系统就绪。
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐
所有评论(0)