tastynoob
Articles58
Tags18
Categories7
平衡小车制作

平衡小车制作

emmmm,学校工作室寒假答辩作品设计

老规矩,不废话

  • 材料:

    • 2个编码电机
    • 纯手工打磨(雾)木板一块
    • stm32f1核心板一块
    • ESP8266-1s一块
    • GY521一块
    • 锂电池2个
    • 稳压模块一个
    • 驱动模块一个
  • 算法需求:

    • PID控制
    • ESP8266通信
    • MPU6050读取

平衡小车的原理实际上很简单
无非就一个道理:你前倾我就往前加速,后倾就往后加速
电机控制使用PWM控制

平衡小车需要使用到3个控制环:分别是平衡环,速度环,转向换
接下来介绍PID算法
此处只介绍算法的简便形式,可以在此基础上做改进

首先3个控制环负责联合控制平衡车的左右两个轮子
3个控制换可得到3个值:
dc_balance,dc_speed,dc_turn

左右2个电机PWM占空比
dc_left=dc_balance+dc_speed+dc_turn
dc_right=dc_balance+dc_speed-dc_turn

  • 平衡环:

    1
    2
    3
    4
    error = angle_this-angle_balance
    error_integral+=error
    gyro = getGyro(tilt)
    dc_balance=kp*error+ki*error_integral+kd*gyro
  • 速度环环:

    1
    2
    3
    error = (speed_left+speed_right)-speed_point
    error_integral+=error
    dc_speed=kp*error+ki*error_integral
  • 转向环:

    1
    2
    3
    turn = turn_point
    gyro = getGyro(turn)
    dc_bturn=kp*turn+kd*gyro
Author:tastynoob
Link:https://tastynoob.github.io/1970/01/01/%E5%B9%B3%E8%A1%A1%E5%B0%8F%E8%BD%A6%E5%88%B6%E4%BD%9C/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可
×