基于STM32f103c8t6的两轮自平衡小车--2(实现自平衡)

实现自平衡才是整个工程的重点;
1:首先,要实现小车自平衡控制,必须先有一个检测小车姿态的传感器,在这里我使用的是Mpu6050六轴加速度陀螺仪传感器,使用的是IIC来传数据;
关于Mpu6050六轴加速度陀螺仪传感器的使用方法,可以去参考原子的教程,在这里说下我遇到的问题;
首先在程序开始的时候要保持Mpu在水平位置初始化,其次关于代码IIC的初始化必须放在DMP初始化的后面,不然会出问题;然后就是移植的代码接口可能和自己所设定的不一致,要改端口;
mpu检测到的只是原始数据,我们要实现数据融合求出三个角Pitch, Roll,Yaw,然后才可以进行小车姿态控制;
实现小车的自平衡需要直立环和速度环来完成;
直立环是PD控制器,速度环是PI控制器,关于PID的调试可以去这个网址:https://wenku.baidu.com/view/3e5fc765bb4cf7ec4bfed00b.html
大概就是折这么个流程吧;

你可能感兴趣的:(嵌入式,平衡小车,stm32)