一、功能概述
项目名称:基于单片机的校车安全检测系统设计
项目编号:dz-910
主控芯片:STM32F103C8T6
本系统集成了多种传感器与控制模块,实现对校车运行状态及车内环境的实时监测与智能提醒。具体功能如下:
- 利用GPS模块采集车辆当前的经纬度信息;
- 采用MX1508驱动直流电机,并结合霍尔传感器检测车速,当速度超过设定上限时,启动语音提示功能(通过两个按键调节速度阈值);
- 使用超声波传感器测量车辆与前方障碍物之间的距离,若距离过近,则触发语音报警;
- 通过MQ-135传感器监测车内空气质量,一旦有害气体浓度超标,自动开启风扇进行通风换气;
- 配备独立按键,支持用户自定义设置各项参数阈值;
- OLED显示屏用于实时展示经纬度、车速、障碍距离、空气质量等数据;
- 内置WIFI模块,可将采集到的信息上传至手机端,同时支持在手机端远程设置各项阈值。
二、系统结构框图
设计工具:VISIO
本系统以STM32F103C8T6为核心控制器,整体架构划分为输入、中控和输出三大模块。
输入部分包含六个子模块:
- GPS检测模块:获取车辆实时地理位置(经纬度);
- 空气质量检测模块:采集车内空气中有害气体浓度数据;
- 霍尔传感器模块:配合电机运转检测转速,进而计算行驶速度;
- 超声波测距模块:测量车辆与障碍物间的实际距离;
- 独立按键模块:实现界面切换、参数设置及电机档位调控;
- 供电电路模块:为整个系统提供稳定电源支持。
输出部分由以下三个模块组成:
- 显示模块:通过OLED屏显示经纬度、速度、距离、空气质量等关键信息;
- 语音播报模块:在距离过近或超速等异常情况下发出语音警告;
- 直流电机驱动模块:由MX1508驱动电机运行,配合霍尔传感器完成测速反馈。
此外,WIFI模块兼具输入与输出功能,既可上传当前车辆状态数据(如位置、速度、空气质量、档位等),也可接收来自手机端的配置指令。
三、实物展示
单片机型号:STM32F103C8T6
PCB板为绿色双层设计,板厚1.2mm,上下层均覆铜并接地处理,提升抗干扰能力。大部分元器件采用插针式封装,仅个别降压芯片使用贴片形式以节省空间。
供电接口:Type-C 接口,便于连接与充电。
四、电路原理图说明
设计软件:Altium Designer 2013
电路连接方式采用网络标号进行连线,提高可读性与布线效率。需注意的是,所绘制的原理图为各功能模块的外部引脚连接示意图,并未展示模块内部详细电路结构。
五、PCB布局图说明
PCB图由原理图导出,经过合理布局与布线生成。大部分元器件封装由设计者自行绘制,不对外提供封装库文件,仅提供完整连接的源工程文件。
采用双层板设计,顶层与底层均进行覆铜接地处理,增强系统稳定性。PCB中央设有项目编号标识,位于单片机底座下方,安装单片机后该编号将被遮挡不可见。
六、程序代码展示
开发环境:Keil uVision5
软件架构上将逻辑控制代码与硬件驱动代码分离,分别存放于main.c与其他对应的.c源文件中,提升代码可维护性与模块化程度。
**********************************
函数名:串口错误回调函数
传参值:huart:串口号
返回值:无
**********************************/
void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
{
HAL_UART_DeInit(huart);
HAL_UART_Init(huart);
if(huart->Instance == huart1.Instance)
{
HAL_UART_Receive_IT(&huart1, &huart1_rx_data, 1);
}
if(huart->Instance == huart3.Instance)
{
HAL_UARTEx_ReceiveToIdle_IT(&huart3, huart3_rx_buf, HUART3_RX_SIZE);
}
}

雷达卡


京公网安备 11010802022788号







