查看: 663|回复: 0

[经验] 牛人用单片机系统开发两轮平衡车

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

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2020-2-21 09:15:31 | 显示全部楼层 |阅读模式
    分享到:
    在国外,两轮载人平衡车早已被用于一些公共场合了,如今很多机场、火车站、汽车站等公共场所都运用了两轮载人平衡车。研究两轮平衡车小车有利于研究两轮载人平衡车。
    本作品主要由一块IAP15F2K61S2单片机开发板做主控板,一个电源和传感器模块来采集角度数据并为系统供电,一个测速模块来测得电机的速度信息,最后把角度信息转化成PWM输出给一个电机驱动模块来控制两个空心杯电机。
    本设计是基于IAP15F2K61S2单片机系统开发的两轮平衡车,采用IAP15F2K61S2单片机开发板做主控板,用MPU6050 陀螺仪和加速度传感器采集加速度和角速度,通过计算得出角度以确定小车姿态,再通过光电门传感器测出小车电机转速,以计算出车速,运用PID算法再根据传感器测得数据处理后对电机驱动进行PWM输出,调节合适的PID参数使小车能稳定直立起来。
    本作品使用简单,打开总开关小车即可直立。两轮载人平衡车在一些公共场合有一定的优势,研究两轮平衡小车对开发两轮载人平衡车有一定的帮助,本作品具有结构简单清晰,使用方便等特点。
    设计特色:
    小车底盘是我们用游标卡尺量出电机支架的孔径和位置,用Altium Designer 软件画出底盘模型,再用雕刻机和亚克力板雕刻出底盘。车上面传感器模块和电池盒的安装具有对称性,使小车重心在电机上方,传感器安装比电机稍微高点,大概在重心处,这样有助于小车的平衡和稳定性。在算法上我们采用精简PID算法和卡尔曼滤波算法来控制电机,使系统更稳定可靠。
    平台选型说明:
    本系统采用IAP15F2K61S2单片机开发板做主控板,IAP15F2K60S2是1T的8051单片机。是真正意义上的单片微机,宽工作电压,不 需要外部复位电路和外部晶振,内部晶振5—33.1776M可选。片上外设丰富,具有3通道捕获比较单元(CCP/PCA/PWM),8通道10位高速 AD,3个定时器/计数器,双串口,高速串行通信ISP接口,大容量片内EEPROM。电机驱动采用LM298N,测速采用透射式光电门,信号经反向器输 出稳定脉冲,电机采用空心杯,频率可达十几千赫兹。
    本作品用到IAP15F2K61S2单片机的内部资源有定时器1、定时器2、串口1、ADC、外部中断0、外部中断1、PWM等这些资源。定时器1以10ms的周期处理数据,定时器2作为串口1的波特率发生器,串口1用于调试时与上位机软件通讯,ADC是采集电位器可调端的电压用于调试 PID参数,外部中断0、1用于计数测速模块的脉冲,PWM作为使能电机驱动输入信号。
    MPU6050采用IIC通讯传输数据,电源模块采用LM7805($0.2053)做稳压芯片给单片机和传感器供电。
    每个电机尾部都有两个光电门用以测速,光电门输出信号经反向器输出后更稳定可靠。电机接线用转接板转接有利于保护电机接线。
    keep out层画边框、顶层画辅助线,用雕刻机先打孔再割边。
    设计说明:
    本设计在IAP15F2K61S2单片机开发板的基础上,利用陀螺仪和加速度传感器以周期为10ms测出角度信息,经卡尔曼滤波算法滤波处理后再经PD算法处理输出,测速模块以周期为100ms测出速度信息,在经互补滤波算法滤波后再经PI算法处理输出,将角度环的输出量与速度环的输出量融合作为PWM的设定值对电机驱动输入从而控制电机。

    回复

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-5-1 02:48 , Processed in 0.109326 second(s), 15 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.