【MCU实战经验】基于STM32F103的二轮平衡车(6轴上位机 源代..
前段时间搞了个平衡车,涉及stm32F3步进电机驱动 陀螺仪mpu3050 加速度计adxl345(也可以用6轴mpu6050)无线NRF24L01当初最大问题是卡尔曼滤波(进行陀螺仪与加速度计的数据融合)和pid调节
对于卡尔曼滤波,经过自己不断深究,其实也不是很复杂,核心是五大公式,涉及矩阵运算,思想是预测值 最优估计值 噪声协方差的概念,难点:一些参数选择
http://www.stmcu.org.cn/module/forum/data/attachment/forum/201404/07/b6c31d01d41c9e1714958f9c56d01d8f.png
说下用卡尔曼滤波的出发点,陀螺仪 加速度计都可以得到角度,而陀螺仪是先得到角速度再经积分才得到角度, 陀螺仪相比加速度计短时间内动态性能好,得到角度精准,但本身有小漂移,随着时间变长,不断积分,误差会越来越大,那就需要用加速度计进行校正
对于pid算法,里面涉及二级pid,首先要明白小车速度跟给步进电机的频率是成正比的,就把频率等效为速度
第一个pid,角度pid,通过测角度反馈给stm32f3产生频率(速度)来进行平衡调节(即调节角度)
第二个pid,速度pid,由于角度调节产生了速度变化,而为了不改变设定的速度,需要进行速度调节,它的反馈来自不断角度pid的结果(由于速度跟频率成正比,不需要测速反馈)
难点:pid整定参数
http://www.stmcu.org.cn/module/forum/data/attachment/forum/201404/07/dced2f010c1ef04643993a5e26c68477.jpg
http://www.stmcu.org.cn/module/forum/data/attachment/forum/201404/07/eed39bb1a85277ac150f8872704f0a55.jpg
http://www.stmcu.org.cn/module/forum/data/attachment/forum/201404/07/a7b8f3f8fde79ff6a9df96b46007ce63.jpg**** Hidden Message *****
学习一下 感谢分享 是有刷电机吗 是有刷电机吗 多谢分享, 666666666666 very gooooooood 感谢分享 :):):):):):):):):)