I have the Digital sidecar wired through the wago connections to the power distribution board and the say the 5v, 6v, battery power lights are lit. The programmers have been having trouble getting the relay to work so I checked the power supply to the relay ports on the sidecar and found that there was no power to the relay. How do you fix this?
How are you measuring ‘power’? The pin closest to the edge of the sidecar is ground, the middle pin is “reverse” and the inner pin is “forward”. measure between the ground pin and the other pins (one at a time) on DC Volts. Of course, the software must be commanding that relay output “on” for there to be any voltage.
Note that these outputs are expected to drive Spike relays, not a mechanical relay.
How exactly are the programmers telling a relay output to do whatever it’s supposed to do? be specific for the best help.
I am doing that and it reads 0.00 volts. I checked the sidecar on our robot from last year and it has the same issue. we didn’t realize it last year since we didn’t use any spike relays.
If you didn’t use any relays last year then last year’s Sidecar will read 0 volts on all of the relay connections.
The relay red wire is not +5V like the PWM connectors. The relay pins are ground, reverse and forward as Don detailed in his post.
You will only read a voltage between either Forward and Ground or Reverse and Ground if the cRIO is properly commanding the relay on that port in that direction.
Just a bit of troubleshooting:
When you connect a Jaguar or Victor (both power, and signal to PWM output), do you see flashing lights on the Jag/Victor, or do you see a solid light? If flashing, nothing is working. That could indicate a few things; some things to check:
What does the Drivers Station tell you? You need to have the communications up, stop button connected but not activated, robot code running, and robot enabled (you initiate this through the drivers station; you need to turn on teleop). If everything is go on the Drivers Station side, then you need to start looking at other things:
Is the sidecar connected firmly? Try reseating (unplugging and plugging back in) the card in the cRIO, the cable going from the cRIO to the sidecar, and the breakout board on the cRIO.
I hope this helps. Let us know what happens.
EDIT: Also, as others in this thread have mentioned, the code must be commanding the specific relay to turn on. We can delve into how to do that; just let us know and we will help.
The relays now reading 0.00 volts makes perfect sense. Thank you for the help. Now can you tell me where to find out the c++ coding on Windriver for the relays.
From page 39 of the WPI Robotics Library Users’ Guide, available here (this page should be the apple of your programmer’s eye for the next several weeks):
Relay m_relay(1);
m_relay.SetDirection(Relay::kReverseOnly);
m_relay.Set(Relay::kOn);
(trimmed for my purposes here; see the original document for the entire example)
This code commands a relay on port 1 to drive in reverse. To turn it off, you’d do a
m_relay.Set(Relay::kOff);
Does that work out for you?
EDIT: You’ll really want to read page 38 of that manual. It does a much better job of detailing how to command a relay than I just did.