Wiring Multiple PCMs

Our team is using lots of pneumatics this year, enough that we need 2 PCMs on the robot. There was not enough room on the power distribution board to wire 2 PCMs and a VRM, so we split the wires for one to power both of the PCMs, which may be problematic considering most people say that each PCM has to be on its own circuit.

However, even if we can power them both, we do not know how we would wire the CAN wires to the power distribution board, considering there are only two spots to connect CAN wires (one for the roboRIO and another free one). We can’t split those wires because we need to talk to each PCM individually with the code.

If any of you guys have been able to pull this off, could you let us know how you wired it? Worst case scenario we can always get rid of two of our solenoids and split the air instead (bringing us back down to 1 PCM), but we would really like to have 2. Thanks!

CAN is wired in series, you just put the additional PCM in the chain…it has two places to put pairs of wires.

Make sure that each PCM has its own CAN ID.
https://wpilib.screenstepslive.com/s/4485/m/24166/l/216217-updating-and-configuring-pneumatics-control-module-and-power-distribution-panel

The solenoids on the second PCM need to use the second CAN ID.

As a team that’s using two PCMs, I can tell you that powering them on seperate circuits is required by the rules (on mobile so I can’t quote the specific one but trust me.) We’re wiring the second PCM to one of the smaller wago ports on the PDP with a 20 amp breaker, which I believe is the only legal way to do it.

As for CAN, it’s a bus. Wire from the roboRIO to the first pair of ports on 1 PCM, use the second pair of ports to wire to the second PCM, which then goes to the PDP.

But don’t you need a spot to wire the roboRIO as well? Or is there somewhere else it can go?

Roborio has its own spot. Pcm2 attaches to a regular wago port like your motors

If your question is about canbus:
Roborio -> pcm1 -> pcm2 -> pdp

Got it thank you so much!

The order does not matter for CAN. You can also put the PCMs after the PDP on a bus as short as an FRC robot.

True, but then you would have to remove the terminating resistor on the PDP (jumper), and then put on a terminating resistor on the last item in the link. I don’t know what the specs are for the terminating resistor, hence put the PDP at the other end from the roborio.

On a can bus as short as the FRC robot, you could get away from best practices. But, they make it easy for a team to be compliant, so why not?

At high speed (1mbps), the recommended max bus length for CAN is 40 m. At this length, the actual electrical design is important and two 120 ohm resistors (one at each end) are a must.

CAN also allows for unterminated stubs from the bus, at 1mbps the recommended length without any electrical design thought is 0.3m. With careful design this can be increased, on a full-length bus.

A FRC CAN bus with only a roboRIO, two PCM’s and a PDP could be below the recommended length for an unterminated stub. You definitely need at least one resistor to pull the bus to a recessive state, but the entire bus should be below the length where reflections are significant (~2m). It’s also likely that the length after the PDP could be less than 0.3m and be within the spec for an unterminated stub.

tl;dr CAN is very tolerant of non-ideal bus layout if the wires are relatively short.