平衡车 pid simulink_基于STM32F103的二轮平衡车

前段时间搞了个平衡车,涉及stm32F3 步进电机驱动 陀螺仪mpu3050 加速度计adxl345(也可以用6轴mpu6050) 无线NRF24L01 当初最大问题是卡尔曼滤波(进行陀螺仪与加速度计的数据融合)和pid调节 对于卡尔曼滤波,经过自己不断深究,其实也不是很复杂,核心是五大公式,涉及矩阵运算,思想是预测值 最优估计值 噪声 协方差的概念,难点:一些参数选择

efd3ea848766188f61d666f9bb101b6b.png

说下用卡尔曼滤波的出发点,陀螺仪 加速度计都可以得到角度,而陀螺仪是先得到角速度再经积分才得到角度, 陀螺仪相比加速度计短时间内动态性能好,得到角度精准,但本身有小漂移,随着时间变长,不断积分,误差会越来越大,那就需要用加速度计进行校正

对于pid算法,里面涉及二级pid,首先要明白小车速度跟给步进电机的频率是成正比的,就把频率等效为速度

第一个pid,角度pid,通过测角度反馈给stm32f3产生频率(速度)来进行平衡调节(即调节角度)

第二个pid,速度pid,由于角度调节产生了速度变化,而为了不改变设定的速度,需要进行速度调节,它的反馈来自不断角度pid的结果(由于速度跟频率成正比,不需要测速反馈)

难点:pid整定参数

3f6c58b686350d55e5b8b8409452e16f.png

93540ab980fbb26ea0340b4b3cb7bc69.png

095eacf69d804d34a2a6ac07a7bcc74d.png

文件源代码下载地址:http://www.cirmall.com/bbs/thread-166027-1-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值