Our robot has two motors driving each drive transmission, one pair of motors on each side. This is a very common setup for drive systems.
With PWM control, one can use a Y adapter on the PWM cable to connect from one PWM output to both speed controllers.
Is something like this similar with CAN? Can two speed controllers be programmed to stay in synchronization?
And as a bonus question. We have an encoder on this transmission. We would like to use this encoder connected directly to the speed controllers and us position control and possibly speed control.
How would something like this be done?
A couple of possible solutions I can imagine:
- Use some CAN commands to synchronize two speed controllers (I can imagine that this is wishful thinking)
- Split the encoder connection and connect it to both speed controllers.
Thanks for tips and ideas.
We have a similar need, so we just split the encoder lines, and had 1 encoder feed the 2 jags that were linked. With this we hope that the speed control will keep them more or less moving the same speed.
How did this approach work out for you?
Well, one way is to bring the encoders lines back to the Crio, which has PID loops on it, then you can send both motors the same voltage value.
Another really cool way is to add a CAN command to sync a group of jaguars. The source code is available.
You could splice the encoder lines, but I could see some weird things happening, you will probably want a lower P value.
Can you point me to example source for sending sync-mode commands to the jaguars via CAN? I assume that you need to set the jaguars to be a member of a group, and then send the group-encoded command followed by a sync command. But, a working example to look at would really help clarify the process.