轮腿平衡步兵总结 - 电路设计篇


轮腿平衡步兵总结 - 电路设计篇

RS485 接口设计

最初版的 485 电路接口长这样

修改之后的 485 电路接口长这样

最初版的电路存在以下几个问题:

  1. 原 RS485 通信只包含一个芯片,但宇树 A1 电机只允许同时串联 0-3 个电机,轮腿平衡步兵一共有四个关节电机,故至少需要两路 485 通信接口才可。

  2. 最初版的 RS485 通信电路只适合于较低的波特率(例如 115200),在波特率较高时无法正常通信,故驱动不了波特率为 4.8M 的宇树 A1 电机。

电流电压采样接口

经常性存在 INA260 读不到数据的情况,由于 INA260 反馈信息在功率控制算法中起到至关重要的作用,故若嵌软反馈收不到电流计数据,可以考虑更换一下 INA260 芯片。

双向电源选择电路

该电路中,若 MOS 管损坏,则会存在若当前处于电容供电状态(因为 23 赛季平衡步兵使用的是伪被动电容),因为机器人死亡出现底盘板以及裁判系统供电断电,底盘板对双路电源选择的控制消失,则会出现机器人死亡时仍有电容向轮毂电机供电的情况。这种情况会导致很多问题的发生,比如低电容电压给轮毂电机供电会使其进入低电压保护状态,再比如若死亡时给轮子的力矩不为 0,则在机器人死亡后,由于底盘板控制作用的消失,轮子将会保持原控制力矩而导致机器人“发疯”的情况。赛场上出现了多次 MOS 管损坏的情况,原因未知。

电容充电模块

该电路尚存在两个问题

  1. 电容电压采样比不够准确,按照该原理图,采样电压*6.8 应该就是电容的实际电压,但实际上会存在很大误差,必须通过万用表测量电压以及观测实际反馈电压来拟合一个较为准确的比例系数,否则反馈电压与实际电压将会存在较大误差。

  2. 最大充电电流的未知性,芯片最大充电电流为 10A,但若实际以 10A 电流充电,可能会存在较大的安全隐患(比如起火),目前使用的是最大 5A 充电,尚不知道实际充电电流上限是多少,而且充电电流上限可能会根据板子焊接的不同而不同,故如何压榨干该电容的性能成了一个很大的问题。

TF 卡电路

因为驱动 SPI 的代码过于复杂而导致很难判断是代码有问题还是电路存在问题,当前代码已调试通过的情况下,若存在问题,可以通过检查焊接情况来判断哪个引脚可能存在虚焊(或者全部重焊)。

CAN 通信电路

若同一路 CAN 的负载变大了之后,丢帧问题开始变得十分严重,控制不得不通过降低通信频率来减轻同一路的负载。未来可以考虑更换 CAN 芯片来看看是否能有效增加电路的稳定性。(即使使用屏蔽线之后感觉效果甚微)

IMU 电路(CAN 版本)

  1. 目前该 IMU 电路的主要思路是通过 SPI 读取 IMU 的信息,然后通过 CAN 发送到底盘控制板完成控制,这实际上存在一个问题就是,这会使 CAN 通信的负载加大,从而影响其它电机之类的稳定性。可以考虑将该 CAN 通信改为串口通信等其它通信方式,或者直接利用底盘板的 SPI 来读取 IMU 的信息(类似 C 板)。

  2. 为了保证 IMU 的零漂基本不变,需要进行温度控制,但该温度控制尚存在一定问题,例如在将机器人断电之后急剧上电,可能会存在 IMU 温度急剧升高而很难降低的情况(缺乏降温手段),该问题原因未知,暂时是通过提高 IMU 控制温度的手段来一定情况下缓解该问题。

  3. 经常性存在读取不到 IMU 芯片信息(ID)的情况,原因未知。

  4. 不同的 IMU 板子温控效果不一样,有的可以让温度在$\pm 0.1 ℃$上下浮动,有的则只能让温度在$\pm 0.5 ℃$上下浮动;有的 PWM 输出给到最大,温度也升不上去,有的即使不控制温度,温度也升得很快。变化的温度将会使陀螺仪零漂不能准确地估计,控制变得困难。

IMU 电路(串口版本)

  1. 该串口陀螺仪可能存在“间歇性”出现问题,即可能突然串口就收不到数据了这种情况,十分不稳定,后续还需要对电路进行分析并改进。

文章作者: 闲梦溪
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 闲梦溪 !