|
我采用了zlstone大大发布的自平衡小车代码,试做了一台自平衡小车.
我使用了arduino168.在制作过程中发现小车前后摇晃幅度较大.
我怀疑是电机问题,但我换过了3种电机,有便宜的玩具电机,以及不错的减速电机,我发现问题依旧.
根据公式Torque = AngleError * Kangle + AngularRate * Krate + VelocityError * Kvel + IntegratedVelocityError * Kivel
我使用单轴加速度计和单轴陀螺仪来计算AngleError 和AngularRate ,使用霍尔元件来计算速度和位移.
在调节过程中,我发现随着Kangle的增大,小车会变得"坚挺",不会轻易地前后摇摆, 但Kangle 的增大也会让小车出现剧烈的自激震动
随着 Krate 的增大,小车的自激震动会得到一定程度的缓解,但怎么也调整不到很稳定的水平.
我试过100Hz\200Hz\500Hz的计算/调节pwm频率,但效果不明显.
究竟是我的加速度计\陀螺仪不够好,还是我在计算AngleError 和AngularRate 的时候因为参数不对导致无法调节平稳?
请各位大大帮我解惑! |
|