closed-loop with multiple motors?

Can somebody explain the wiring when you have a gearbox driven by multiple motors AND are using closed-loop system with an encoder on the drive shaft?

The issue is that you have to have one motor controller per motor (R34 & R35). But, the encoder only provides information to a single motor controller. So, that controller may know it needs to increase/decrease power to the motor. But, how does the controller connected to the OTHER motor find out?

Let’s say it’s the Talon SRX. Do they talk to each other over the CAN bus?

What you can do is set one Talon SRX as a slave to the other Talon SRX with the encoder attached to it. Just make sure that the motors are spinning the same way.

Like Huskie said, put one Talon SRX as master and one as slave. Note that you have to be using CAN (not PWM) for this to work. Take a look at this for more details.

SRX Manual, S9.1, P62, has some specific language that makes me feel warm and fuzzy:

The “Slave Talon” will then mirror the output of the “Master Talon”.
The “Master Talon” can be in any mode: closed-loop, voltage percent (duty-cycle), motion
profile control mode, or even following yet another Talon SRX.

Note that it mirrors the OUTPUT, not COMMAND, as I have found many people assume. They do get chatty over CANBus.

The output is the only thing you need, is it not?

If you need to reverse the output of one talon in slave mode, you can call slaveTalon.reverseOutput(true).

We use the Talon SRXs like this all the time. But you can also use a ‘Y’ PWM cable and run 2 simpler controllers from a single roboRio PWM output.


Yes? Not sure what you’re getting at…