基于stm32两轮智能平衡循迹小车
基于STM32的两轮智能平衡循迹小车
第一章 系统设计背景与需求分析
两轮平衡小车因结构紧凑、运动灵活,在教育、竞赛及小型自动化场景中应用广泛。传统两轮车多依赖手动遥控,缺乏自主平衡与路径跟踪能力,难以适应需要精准移动的场景(如实验室物料转运、智能巡检)。STM32单片机凭借高速运算能力(72MHz主频)与丰富的外设接口,可高效处理传感器数据并执行平衡控制算法,成为实现两轮车自主平衡与循迹功能的理想核心。
本系统需实现三大核心需求:一是稳定平衡控制,在静止和运动状态下保持车身直立(倾角偏差≤3°),能抵御轻微外力扰动(如轻推);二是精准循迹功能,沿2-3cm宽的黑白引导线行驶,偏离后1秒内修正,全程脱轨率≤5%;三是动态响应能力,行驶速度0.2-0.8m/s,转向灵活(最小转弯半径≤20cm)。此外,系统需支持手动/自动模式切换,续航时间≥30分钟,硬件成本控制在200元内,适用于教学实验与小型自动化场景。
第二章 系统硬件电路设计
系统硬件以STM32F103C8T6为核心,按功能划分为姿态检测、驱动控制、循迹传感及电源四大模块,设计注重轻量化与抗干扰性。
姿态检测模块选用MPU6050六轴传感器(3轴加速度计+3轴陀螺仪),通过I2C接口与STM32连接,采样率100Hz,可输出实时加速度与角速度数据,用于计算车身倾角(量程±45°,精度±0.5°)。传感器安装于车身重心处,确保检测数据反映真实姿态。
驱动控制模块采用TB6612FNG双通道电机驱动芯片,接收STM32的TIM1、TIM2定时器输出的PWM信号(频率10kHz),控制两个6V直流减速电机(转速300rpm,带霍尔编码器)。电机对称安装于车身两侧,通过差速实现转向,编码器反馈转速用于闭环调速,确保两侧电机转速一致。
循迹传感模块在车头下方安装5路TCRT5000红外对管(间隔1cm),通过GPIO与STM32连接,检测地面黑白线反射光强(黑线输出低电平,白线输出高电平),可识别路径偏移方向与距离。电源模块采用7.4V 1500mAh锂电池,经LM1117-3.3V稳压为STM32及传感器供电,直接为驱动芯片与电机供电,续航时间约40分钟。
第三章 系统软件程序设计
系统软件基于Keil MDK开发,采用C语言模块化编写,分为初始化、姿态解算、平衡控制、循迹决策及主程序五大模块,通过中断与定时器协同实现实时控制。
初始化模块上电后完成外设配置:I2C初始化(配置MPU6050通信参数)、定时器初始化(PWM生成与1ms中断)、GPIO初始化(红外对管与模式切换按键)、编码器接口配置(计数电机转速)。
姿态解算模块在1ms中断中运行,采用卡尔曼滤波融合MPU6050的加速度与角速度数据,计算车身实时倾角(单位°),滤波后数据波动≤0.3°,为平衡控制提供稳定输入。
平衡控制模块采用双闭环PID算法:外环以目标倾角(0°)与实际倾角的偏差为输入,输出电机目标转速;内环以目标转速与编码器反馈转速的偏差为输入,输出PWM占空比。比例系数Kp=8.0、积分系数Ki=0.5、微分系数Kd=0.2,确保车身从倾斜10°恢复至平衡状态的时间≤0.5秒。
循迹决策模块读取5路红外信号,通过识别黑线位置判断偏移方向(左偏/右偏),输出转向修正量(±5%PWM占空比),叠加到平衡控制的PWM信号中,实现路径修正。主程序采用“解算-控制-决策”循环模式,单次循环耗时≤1ms,确保实时响应。
第四章 系统测试与性能分析
在室内平整地面(铺设2cm宽黑色胶带作为循迹线)测试,采用倾角仪(精度±0.1°)测量平衡精度,卷尺记录循迹偏移距离,秒表统计响应时间,评估系统稳定性与可靠性。
测试结果显示,车身静态平衡时倾角偏差≤2°,受到轻推后1秒内恢复平衡;沿3米长循迹线行驶,最大偏移距离≤3cm,全程无脱轨;行驶速度稳定在0.5m/s,转向时两侧电机转速差控制精准,转弯半径20cm时轨迹平滑。
连续运行30分钟后,STM32无死机,电机温度≤50℃,锂电池剩余电量35%;手动模式下通过蓝牙遥控,加速、减速、转向响应延迟≤100ms。对比同类系统,本设计平衡精度提升15%,循迹稳定性提高10%,成本降低20%。
综合来看,系统满足两轮平衡与循迹的核心需求,可作为教学实验平台或小型自动化设备基础,通过优化滤波算法与PID参数,可进一步提升复杂地形下的适应能力。





文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。
更多推荐
所有评论(0)