19年秋季学期做过智能平衡车项目,是由一个团队一起完成的,起初信心满满,最终却有很多功能并没有实现。只实现了一些基础的功能,也算是完成了。在学校,每个项目经验都很重要,对于出去实习而言。在此,进行一些总结,并会不断更新。以下大部分是个人自己的理解,如有错误,请批评指正。
本文参考了以下链接:
https://blog.csdn.net/a568713197/article/details/82845959?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1
https://blog.csdn.net/ReCclay/article/details/84789455?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-4&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-4
MPU6050
MPU6050模块是六轴姿态传感器,3轴加速度传感器、3轴陀螺仪传感器。也成为加速度陀螺仪传感器。模块引脚连接如下:
其中SCL、SDA引脚连接开发板IIC总线的时钟线SCL、数据线SDA,如图所示,只需将模块的4个引脚与开发板进行连接,便可以让模块进行工作。
原理
两轮小车在静止状态下,由于重力的作用,是会倾倒的。平衡车是如何实现不倒的呢?在给小车一个外力,这时有一个倾角,通过陀螺仪和加速度传感器测量这个倾角和倾角速度控制小车车轮的加速度来消除这个倾角,从而保持平衡。这里有一个重点,之前不是很明白。六轴姿态传感器怎么控制小车车轮加速度。MPU6050将采集的角度、角速度通过串口传到主控板。通过主控板的PID算法计算出PWM,将PWM输出至电机驱动,从而控制小车倾角。周期性读取小车倾角,改变经过受力分析,可以计算出加速度a=kgsinθcosθ,而加速度可以由传感器测得,可以以此得到小车倾角。k为加速度传感器灵敏度系数。再对角度进行微分,可以得到角速度。看了一些文献,小车倾角是有误差的,由陀螺仪测到的角速度积分得到的角度和重力加速度得到的角度是有误差的,可以通过卡尔曼滤波算法进行数据融合处理。陀螺仪和加速度传感
智能平衡车项目总结
于 2020-04-18 19:00:20 首次发布
本文是关于智能平衡车项目的总结,重点介绍了MPU6050六轴传感器在平衡控制中的作用,以及如何通过PID算法实现直立控制和速度控制。项目中采用了直立环PD算法和速度环PI算法,详细探讨了参数调整过程,并提供了项目代码链接。
摘要由CSDN通过智能技术生成