汽车无人驾驶系统中的防撞设计

发布于:2025-03-03 ⋅ 阅读:(19) ⋅ 点赞:(0)

 一、系统方案介绍  

无人驾驶汽车的防撞系统是保障行车安全的核心模块,本文设计的系统以STM32F103C8T6单片机为主控制器,结合超声波测距、WiFi通信、人机交互等模块,实现障碍物实时检测、动态阈值设置、多级报警和数据可视化功能。系统通过软硬件协同设计,具备高实时性、低延迟和强扩展性,可应用于低速自动驾驶场景(如园区物流车、AGV等)。

 二、系统架构图  

 

 三、实现方法  

1. 多级检测机制:超声波模块以10Hz频率发射检测信号,实时计算与障碍物距离。  

2. 动态阈值管理:用户可通过矩阵按键设置安全距离阈值,数据存储于单片机EEPROM。  

3. 分级报警策略:  

   - 距离 ≤ 阈值:触发蜂鸣器高频报警,OLED显示红色警告;  

   - 距离 > 阈值但快速接近:蜂鸣器低频提示,OLED显示黄色预警。  

4. 数据可视化与远程监控:通过WiFi模块将实时数据上传至云端,支持PC端或移动端查看。

 四、功能描述  

| 功能模块            | 描述                                                                 |

|---------------------|--------------------------------------------------------------------|

| 超声波测距          | 检测0.2m~4.5m范围内障碍物,精度±1cm                                |

| OLED动态显示        | 实时显示距离、系统状态及阈值,支持中英文界面切换                   |

| 用户阈值设置        | 通过矩阵按键实现阈值设置(默认1.5m),支持断电保存                 |

| WiFi数据透传        | 基于ESP8266模块,通过MQTT协议上传数据至云平台                      |

| 多级声光报警        | 蜂鸣器频率随危险等级变化,OLED同步显示颜色标识                     |

 五、硬件架构  

1. 核心控制器  

- STM32F103C8T6:采用72MHz主频的Cortex-M3内核,内置PWM、ADC、UART等外设,负责协调各模块工作。  

2. 传感器模块  

- HC-SR04超声波模块:  

  - 工作原理:发射40kHz超声波,通过回波时间计算距离(公式:`距离(cm) = 回波时间(μs)/58`) 

  - 优势:成本低、抗干扰能力强,适合短距离检测。  

3. 人机交互模块  

- 0.96寸OLED显示屏:I2C接口,128x64分辨率,实现低功耗实时数据显示。  

- 按键:用于模式切换、阈值设置等操作。  

4. 通信模块  

- ESP8266 WiFi模块:支持AT指令,透传模式下功耗仅80mA,最大传输速率115200bps。  

 

 六、软件架构  

void main() {
  硬件初始化();  // 初始化外设驱动
  while(1) {
    距离 = 超声波测距_获取数据();  
    OLED_刷新显示(距离, 阈值);  
    if (距离 <= 阈值) 报警_触发();  
    if (按键_检测到设置()) 进入阈值设置模式();  
    WiFi_发送数据(距离);  
  }
}

 七、关键代码展示  

1. 超声波测距核心逻辑  

float Get_Distance() {
  Trig = 1;  
  delay_us(20);  
  Trig = 0;  
  while (!Echo);  // 等待回波信号
  uint32_t start = TIM2->CNT;  
  while (Echo);  
  uint32_t duration = TIM2->CNT - start;  
  return duration / 58.0;  // 单位:cm
}

2. 动态阈值设置(EEPROM存储)  

void Save_Threshold(uint16_t threshold) {
  HAL_FLASH_Unlock();  
  __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_PGERR);  
  FLASH_ErasePage(0x0800FC00);  // 擦除指定页
  HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, 0x0800FC00, threshold);  
  HAL_FLASH_Lock();  
}

 八、设计亮点  

1. 双模交互设计:同时支持本地OLED显示和远程云端监控,适应复杂场景需求。  

2. 低功耗优化:STM32动态调整主频,空闲时进入Stop模式,整体功耗<50mW。  

3. 抗干扰算法:对超声波信号进行滑动均值滤波,有效抑制环境噪声。  

4. 模块化扩展:预留CAN总线接口,可扩展毫米波雷达或摄像头融合方案。  

九、资料获取

请评论区留言或者私信作者。