楼主

[其他] 【RM2020 圆桌】第二期 步兵代码的那些问题

[复制链接]
梯队队员Mlekow
2020-1-7 23:53:58 显示全部楼层
本帖最后由 Mlekow 于 2020-1-7 23:55 编辑

关于CAN控制电机的问题我比较好奇,也有些疑惑……希望能够得到解答。

例程在CAN控制电机方面,似乎是使用了中断接收CAN回报的各种信息,如果我没有记错的话是1kHz发送的报文。然后在RTOS中开了一个线程来尽可能快的解析收到的信息并计算PID,向电机发出PID计算出的目标电流值,并且这个线程执行速度应该远快于1kHz。

所以如果说电机回报的速度是1kHz,那么理论上PID的执行频率如果大于1kHz,是否可以说PID计算出来的信息就是重复的呢?如果是重复的,那以1kHz的速度发送控制数据包,是否可以达到同样的控制效果?

另外在我自己实验的时候发现,单纯发送一帧数据哪怕电流给到最大值,电机也不会转动。只有当以一定频率(印象中是100Hz)发送的时候,电机才会转动。但是无论是以100Hz的频率发送数据包还是以1kHz的频率发送数据包,电机的转速都没有显著的变化。

其中电调对CAN控制的处理机制让我很不解,查阅大量资料未果,希望得到一些解答。例如,是否一帧控制帧在电调内有着一定时间的生命周期,每包在下一包到来之前都会维持当前电流环目标值一定的时间?如果能略加指点,不胜感激!


沙发

[其他] 【RM2020 圆桌】第二期 步兵代码的那些问题

[复制链接]
梯队队员Mlekow
2020-1-9 19:36:55 来自手机 显示全部楼层
陈小豪右边童鞋 发表于 2020-1-9 19:35
补充一下: 电调内部是做了CAN消息处理,在一段时间未收到CAN消息后,停止转动
...

非常感谢!另外,可以方便告知一下这个一段时间大约是多久吗
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

触屏版 | 电脑版

Copyright © 2024 RoboMasters 版权所有 备案号 粤ICP备2022092332号

快速回复 返回顶部 返回列表