查看: 16679|回复: 112

【MCU实战经验】+基于stm32两轮平衡车制作

  [复制链接]
  • TA的每日心情
    开心
    2019-11-4 13:48
  • 签到天数: 14 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2020-4-28 17:13:35 | 显示全部楼层 |阅读模式
    分享到:
    在此贴上以前做过的平衡小车资料,一来供众网友学习交流,二来申请stm32f429探索套件。。。
    先上图

    原材料清单:
    ——————————————————————————————————————————
    主控:stm32f103rct6
    传感器:mpu6050(带陀螺仪和加速度)
    电机驱动芯片:l298n
    电机:冯哈伯2224
    编码器:电机自带16线
    电池:两节18650
    轮子架子:淘宝店购买,减速比1:5
    ——————————————————————————————————————————
    处理过程:
    ——————————————————————————————————————————
    其实程序过程很简单,先是采集传感器MPU6050的数据,并进行加工,获得当前小车倾斜角,然后根据此角度做PID调节,得到小车两个电机的PWM脉宽,调整轮子速度,使之回到倾角为0的状态,即保持平衡。然后就不停地重复采集->处理->调节->处理这一过程。
    在此基础上,附加两电机的PWM值,即可实现前进,倒退,左转,右转动作
    ——————————————————————————————————————————
    难点分析:
    ——————————————————————————————————————————
    有两个难点
    1.传感器的数据处理是小车的最大难点。一是传感器受震动影响很大,很容易超量程;二是传感器数据漂移比较厉害。而关键的小车倾角就来源于此传感器数据。为此,参考网上数据滤波处理方式,采用卡尔曼滤波算法,融合陀螺仪和加速度传感器数据得出小车倾角。
    2.PID,比例系数的调节不用多讲,需要耐心的测试和调节。我要说的是,单纯靠倾角做PID不能使小车平衡,因为当小车倾角接近0度时,改变的PWM值无法使小车越过平衡点,造成小车朝一边加速前进,所以要将速度也添加至PID调节中,做积分
    ——————————————————————————————————————————
    制作心得:
    ——————————————————————————————————————————
    关于平衡小车,大多数网友应该都曾做过或者想过要做。于是百度搜资料,其中最多的应该是飞思卡尔直立车的资料,当初我也看下下,平衡车的原理都懂了,但那时还没搞过PID调节和数据滤波,所以具体怎么写程序并不知道。至于平衡车的程序资料也非常少。后来在网上参考相关数据滤波,PID调节后,才渐渐掌握。在此我也就贴上我的程序代码,供大家学习交流,少走弯路。有什么问题,欢迎回帖。当然也希望大家多支持此贴,祝我申请F429套件成功!哈哈


    wifi0s0-1287192638IMG_20140412_203903.jpg (61.5 KB, 下载次数: 197)


    wifi0s0-1379330287IMG_20140412_204252.jpg (89.41 KB, 下载次数: 140)


    wifi0s0690935772IMG_20140412_204349.jpg (47.56 KB, 下载次数: 130)



    游客,如果您要查看本帖隐藏内容请回复



    回复

    使用道具 举报

    该用户从未签到

    发表于 2020-5-6 10:24:48 | 显示全部楼层
    想知道更多的信息
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-3-29 23:45 , Processed in 0.220621 second(s), 36 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.