一.简述
在大学入学期间动手做的第一个小东西就是很大众的平衡车了,平衡车的难度对于新手来说确实难以下手,废话不多说,下面分享关于平衡车的相关资料。
二.外设IO口配置如下
因为我使用的是霍尔编码器进行记录脉冲调PID,上面图中没有给出相应的IO口引脚,这里进行补充:定时器3对应的IO口引脚PA6,PA7,以及定时器4对应的引脚PB6,PB7,对他们四个IO口进行编码器模式的配置,具体配置原理这里就不讲了。
用到了串口一的配置,连接蓝牙设备进行平衡车的二次开发。
三.逻辑概述
这里采用的是5ms一次的外部中断,用的是6050对应的INT引脚,通过外部中断进行定时的读取的6050的欧拉角变化,也就是PITCH,YAW,ROLL三个角,再在进行相应的车体调整,那么车体调整的核心就是PID的控制,这里用的串级PID,流程图很多地方也都有,如果想了解原理的小伙伴可以去找找,内外环,内环速度环,外环角度环。看你平衡车的好与坏最重要的就是看PID调参之后所反应的车体的变化,通过肉眼可见的车体变化角度,来判断你的PID调参是否过关。
以上便是大致的逻辑概述,第一次写文很多缺点,希望大家能共同进步,有不好的地方或者不理解的代码处可以直接评论区留言。
四.参考资料
1.正点原子——MPU6050例程
https://www.bilibili.com/video/BV1j7411z7uX?p=1&vd_source=31f4073707efeb60c65dab2367e1cbf7
2.天下行走——平衡车
https://www.bilibili.com/video/BV1j7411z7uX?p=1&vd_source=31f4073707efeb60c65dab2367e1cbf7
五.源码连接
https://pan.baidu.com/s/1xeYZ9UJyxnp2OJUMEIabPg
提取码:2447