2. 我们的步兵云台有pitch轴电机、摩擦轮电机,拨弹盘电机四个电机,全都用的can控制,但是每次运行时要么只有pitch动要么只有摩擦轮和拨弹盘动,代码里谁的输出在前面谁动,每个电机都有反馈,都有输出,id也没有问题,不动的电机的输出一直显示最大(pitch电机单独一个can发送,两个摩擦轮和拨弹电机一个can发送)。有人说是can发送队列太多,导致发送错误,我们云台一共两个电机的can发送、两个给底盘数据的can发送,四个应该不多吧,底盘的can队列比云台还要多也没有问题。如果确实是队列太多,应该怎么解决,每个can发送最多几个队列。我们尝试过在两个电机can发送之间加了1ms的延时,几个电机都可以动了,但是延时不应该在程序里留着,不是长久之策。几个电机、电调、电路板都是好的,全都单独测试过,也更换过,一直出现同样的错误。
A: CAN带宽应该是够的,应该是程序或者硬件问题, 试着使用一些demo例程进行检查 |