摘要:随着智能控制技术的快速发展,智能小车作为移动机器人的典型应用,在教育、娱乐和工业领域得到了广泛关注。本文设计并实现了一种基于STM32F10x微控制器的蓝牙控制智能循迹避障小车系统。
项目简介
系统以STM32F103单片机为核心控制器,采用模块化设计思想,集成了蓝牙无线通信、红外循迹、超声波避障、电机PWM调速、编码器测速等多个功能模块。系统具有两种工作模式:自动循迹避障模式和蓝牙手动控制模式,可通过蓝牙指令实现模式切换和运动控制。
在硬件设计方面,采用L298N驱动芯片控制四路直流电机,使用HC-SR04超声波模块实现30-50cm范围的障碍物检测,通过红外对管实现黑线循迹功能,利用光电编码器进行速度和里程测量。在软件设计方面,基于STM32标准外设库开发,使用定时器中断实现PWM软件调速,通过外部中断捕获编码器脉冲,采用温度补偿算法提高超声波测距精度。系统能够实时计算小车速度(km/h)和累计行驶距离(m),并通过串口将数据回传至上位机或手机APP。
实验结果表明,该系统运行稳定可靠,循迹精度高,避障反应灵敏,蓝牙控制响应及时。小车在自动模式下能够准确沿黑线行驶并自主避开障碍物,在手动模式下可实现前进、后退、左转、右转、停止等多种运动控制,速度测量误差小于5%,测距精度达到±2cm。本设计为智能小车控制系统的研究与开发提供了一种实用的解决方案,具有良好的应用价值和推广前景。

图1 智能温室控制系统架构图
主要功能
核心功能
本系统实现了双模式智能运行,支持自动循迹避障和蓝牙手动控制两种工作模式的灵活切换。在自动模式下,通过双红外传感器实时检测黑线轨迹并自动调整行驶方向,同时利用HC-SR04超声波模块进行前方障碍物测距,智能规避障碍;在手动模式下,用户可通过蓝牙发送8种运动控制指令(前进、后退、左转、右转、停止及变速)实现远程遥控。系统集成光电编码器实现实时速度测量(精度±5%)和累计行驶里程统计,并通过串口定时回传速度和里程数据至上位机或手机APP,配合蜂鸣器声音报警和LED状态指示灯提供直观的声光反馈,构成了一套功能完整、交互友好的智能小车控制系统
蓝牙控制指令

表1 蓝牙控制指令表
硬件配置
主控芯片
本系统采用STM32F103RCT6作为主控芯片,该芯片基于ARM Cortex-M3内核,运行主频高达72MHz,内置256KB Flash程序存储空间和48KB RAM数据存储空间,为智能小车的多任务实时控制、传感器数据处理和通信功能提供了充足的计算性能和存储资源。
外设模块

表2 外设模块表
电路连接图
系统硬件接口采用模块化设计,PA0-PA3四路GPIO输出连接电机驱动模块实现四轮独立控制,PB1驱动蜂鸣器提供声音报警,PB12/PB13分别接入左右红外传感器实现循迹检测,PC13控制系统状态指示LED,USART1串口连接HC-05蓝牙模块实现无线通信,TIM2定时器产生PWM波形实现电机软件调速,TIM3定时器配合超声波模块实现微秒级精确测距,EXTI15_10外部中断捕获编码器脉冲信号完成速度测量,各功能模块通过合理的引脚分配实现了高效协同工作。

图2 电路连接图
软件架构
软件核心包含四大算法模块:循迹算法通过双红外传感器差分检测实现左转/右转/直行三态控制,避障算法采用距离分级策略(30cm/50cm双阈值)实现报警和停止,测速算法基于轮式里程计原理将编码器脉冲转换为速度(km/h)和里程(m),通信协议解析8种单字符蓝牙指令映射为运动控制参数,所有算法在10ms主循环中顺序执行,配合中断服务实现毫秒级响应

图3 软件架构图
快速开始
环境准备
必备软件:
– Keil uVision5 (MDK-ARM)
– Proteus 7.8 或更高版本
– STM32 ST-LINK Utility (烧录工具)
– CH340驱动 (串口驱动)
推荐软件:
– Source Insight 4.0 (代码阅读)
– Serial Port Utility (串口调试)
– 蓝牙串口APP (手机控制)
编译程序
– 打开 `4-实物源程序-C语言源码/USER/project.uvprojx`
– 选择目标芯片: STM32F103RC
– 点击 `Project` → `Build Target` (F7)
– 编译成功后生成 `.hex` 文件
仿真运行
– 打开 `10-仿真/1、仿真程序/*.pdsprj` (Proteus 8) 或 `*.DSN` (Proteus 7)
– 双击STM32芯片,加载编译生成的 `.hex` 文件
– 点击运行按钮开始仿真
– 通过虚拟终端发送蓝牙指令测试
硬件烧录
– 连接ST-LINK到STM32开发板
– 打开STM32 ST-LINK Utility
– 选择 `Target` → `Connect`
– 选择 `Target` → `Program & Verify`
– 加载 `.hex` 文件并烧录
实物测试
– 安装CH340驱动,连接蓝牙模块
– 手机安装蓝牙串口APP,配对HC-05 (密码: 1234)
– 将小车放置在黑线赛道上
– 发送指令 `A` 进入自动循迹模式
– 观察小车循迹和避障效果
参数配置

表3 外设模块表
性能指标

表4 性能指标表
硬件设计与仿真
原理图

图4 原理图
PCB图

图5 PCB图
仿真图

图6 仿真图
编译结果

图6 编译结果
配套资源
包括完整的项目源代码、演示视频、运行截图,开箱即用。

项目文档
有偿提供开题材料、系统设计说明书和成果汇报PPT,完整呈现项目的研究依据、设计过程与最终成果。

使用授权
本项目采用AGPL-3.0开源协议,允许个人和组织自由使用、修改和分发代码,但基于本项目的衍生作品必须同样开源,且用于提供网络服务时需向用户提供完整源代码。本项目仅供学习研究使用,作者不对使用本项目产生的任何后果承担责任,使用者应遵守当地法律法规,合理合法使用本项目。如本项目对您的研究或工作有所帮助,欢迎引用并注明出处。
作者联系
作者信息
改进作者:Steven(可提供二次开发有偿技术服务)
项目编号:MCU-8
改进声明:本项目为改进作品
联系方式


评论(0)