本文介绍了一种基于STM32单片机的双轮自平衡小车系统的设计方法,该小车可以实现直立行走和循迹功能。小车的控制系统主要包括姿态感知、控制算法、驱动电机控制和循迹模块等部分。下面详细阐述本文所涉及的关键技术点:
1. 姿态感知系统:本文采用MPU6050三轴陀螺仪加速计作为姿态感知系统的核心传感器。MPU6050内置了数字运动处理引擎,可以用于测量和报告加速度和角速度,这些数据用于计算小车的姿态和运动状态。为了提高姿态感知的准确性,通常会采用卡尔曼滤波算法对传感器数据进行滤波融合。
2. 控制算法:小车的平衡控制是通过PID控制算法来实现的。PID算法(比例-积分-微分)是一种常用的反馈控制算法,通过调节比例(P)、积分(I)和微分(D)三个参数,控制小车快速准确地达到平衡状态。在本文的实践中,通过实验确定了PID算法中的P和D参数的最佳值,以实现小车的平稳直立行走。
3. 驱动电机控制:TB6612电机驱动模块被用于控制小车的驱动电机,以实现小车的行走和转向功能。TB6612是一个双通道电机驱动模块,可以控制两个直流电机的正反转和速度。
4. 循迹功能:小车通过蓝宙线性CCD实现循迹功能。线性CCD是一种能够检测直线信息的图像传感器,它可以根据道路的白线进行精确的跟踪,从而引导小车沿预定路径行走。
在电路设计方面,本文分别绘制了MPU6050三轴陀螺仪加速计模块子系统框图、TB6612电机驱动模块子系统框图和线性CCD模块子系统框图,这些框图有助于理解各模块的功能和它们在系统中的相互关系。
在程序设计方面,程序需要具备平衡控制、速度控制和转向控制功能。主程序流程图清晰地描述了程序的执行顺序,包括初始化程序、平衡控制模块、速度控制模块和转向控制模块。
测试分析与结论部分提供了对小车直立控制和速度控制调试过程的详细记录,通过表1和表2给出了对P和D参数调整的实验结果。在速度控制方面,表3展示了速度控制P和I参数的理想值,这些测试数据帮助确定了最佳的PID控制参数。
此外,文章还提及了客车在加速过程和带档滑行过程中异响噪声信号和振动信号的采集与分析,利用瀑布图分析噪声信号和振动信号,确定了客车异响源头在于主从动锥齿轮,这表明了信号分析在故障诊断中的重要性。
总体而言,本文详细介绍了基于STM32单片机的双轮自平衡小车系统的设计、实现和测试,不仅涉及了硬件设计和软件编程,还包含了控制理论和信号分析,是一篇集理论研究与实践应用于一体的科技论文。