查看: 3945|回复: 4

[原创] 自平衡小车--互补滤波+pid+占空比转换

[复制链接]
  • TA的每日心情
    开心
    2025-1-21 08:52
  • 签到天数: 861 天

    连续签到: 1 天

    [LV.10]以坛为家III

    75

    主题

    2523

    帖子

    24

    金牌会员

    Rank: 6Rank: 6

    积分
    5867
    最后登录
    2025-1-22
    发表于 2017-10-31 17:45:51 | 显示全部楼层 |阅读模式
    研究了一下,目前实现了,mpu5060通过互补滤波,pid生成pwm占空比所需要的数据,还需要转换成占空比才可用,有个问题就是mpu6050不动的情况下,会出现数据漂移,会变的越来越大,影响最终的占空比。

    mpu6050计算角速度,和加速度,算法如下图
    1.jpg

    互补滤波,PID,占空比转换,如下图
    2.jpg
    只要来回晃动mpu6050,电机就会反方向转动,响应迅速,7.2v驱动绝对可以的,不上动图了传的速度太慢,这个方式差不多可以控制电机站住了,但是站不了多久,因为开头提到的数据漂移,有2个问题需要大神指点一下,
    1.我用的是24Khz,预分频我用上图中的转换公式updatedDutycycle=(ControlPwm*100)/(sctimerClock/24000)中sctimerClock/24000作为预分频,即ControlPwm不能超过这个数值,这样考虑是否正确
    2.数据漂移好像其他资料一直有提到,但是怎么能有效消除,因为我的dmp是读不到数据的,用的是互补滤波,下一步考虑用卡尔曼滤波试试看,能否消除这种漂移。或者我上边的算法是不是还能更好的改进一下。
    附上串口反馈的数据,
    3.jpg
    上图是我静止mpu6050一段时间,updatedDutycycle占空比从0开始漂移,一会就变到46这么大了,电机自己就开始转动了,此时只好按reset恢复。

    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2018-12-7 09:14
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    1

    主题

    71

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    262
    最后登录
    2019-1-17
    发表于 2017-11-1 15:31:58 | 显示全部楼层
    我用内部dmp处理也有这个漂移的问题。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-1-21 08:52
  • 签到天数: 861 天

    连续签到: 1 天

    [LV.10]以坛为家III

    75

    主题

    2523

    帖子

    24

    金牌会员

    Rank: 6Rank: 6

    积分
    5867
    最后登录
    2025-1-22
     楼主| 发表于 2017-11-1 21:08:37 | 显示全部楼层
    斜阳__ 发表于 2017-11-1 15:31
    我用内部dmp处理也有这个漂移的问题。

    感谢回复,有什么好办法可以修正漂移吗?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2018-12-7 09:14
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    1

    主题

    71

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    262
    最后登录
    2019-1-17
    发表于 2017-11-2 10:25:09 | 显示全部楼层
    leo121_3006061 发表于 2017-11-1 21:08
    感谢回复,有什么好办法可以修正漂移吗?

    我也没有真正解决这个问题。可以设置一个门限,小于这个门限则忽略
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-1-21 08:52
  • 签到天数: 861 天

    连续签到: 1 天

    [LV.10]以坛为家III

    75

    主题

    2523

    帖子

    24

    金牌会员

    Rank: 6Rank: 6

    积分
    5867
    最后登录
    2025-1-22
     楼主| 发表于 2017-11-2 15:15:48 | 显示全部楼层
    斜阳__ 发表于 2017-11-2 10:25
    我也没有真正解决这个问题。可以设置一个门限,小于这个门限则忽略

    感谢,被这个问题折腾了有些日子了,这个方法挺好,我试试。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-23 20:46 , Processed in 0.088577 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表