Log in

View Full Version : Problem with Robot Status Light


Team 4939
23-10-2014, 18:20
From all of us here at Team 4939 we hope everybody had a wonderful summer vacation.

Here in the GTA there is a off season event(fall fiesta) and for some reason our Robot Status light (the big bulb that blinks yellow) has stopped blinked. We have looked into the programming aspect, the wiring aspect and everything else we can think. When we turn on the robot and everything gets power except for the Robot Status light. We have tried multiple things but at this point have no clue what is going. When we turn the driver station on all the lights are green but when we actually try to control the robot nothing happens (there is also no voltage spike which I found odd).

Here is the code: package edu.wpi.first.wpilibj.templates;

import edu.wpi.first.wpilibj.Jaguar;
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.RobotDrive;
import edu.wpi.first.wpilibj.SimpleRobot;
import edu.wpi.first.wpilibj.Timer;

public class RobotTemplate extends SimpleRobot {

RobotDrive chassis = new RobotDrive(1,2);
Joystick mainStick = new Joystick(1);
Jaguar jaguar = new Jaguar(3);
Jaguar jag = new Jaguar(4);


public void autonomous(){
chassis.setSafetyEnabled(false);
chassis.drive (-0.5, 0.08);
Timer.delay(2.0);
chassis.drive (0, 0.0);
}

public void operatorControl() {
chassis.setSafetyEnabled(true);
while (isOperatorControl() && isEnabled()) {
double speed;
double rot;
speed = mainStick.getY();
rot = -mainStick.getX();
chassis.arcadeDrive (speed, rot);
if (mainStick.getRawButton(3)){
jag.set(1);
jaguar.set(-1);
}
else if (mainStick.getRawButton(4)){
jaguar.set(-1);
jag.set(1);
}
else{
jaguar.set(0);
jag.set(0);
}
}
}

public void test() {

}
}

The off season event is in a little over a week and we are hoping to have this fixed by tomorrow afternoon because we are a rookie team and we are still looking into getting some practise.

Our team will be meeting from 2:30 - 4:30 tomorrow evening and we will stay online so that we can go back and worth with anybody who can suggest anything.

If you have any ideas or questions before tomorrow and will happily answer them.

Thank you in Advance.

MrBasse
23-10-2014, 18:22
Do you have lights on the digital side car? What are they doing and where are they? This sounds oddly familiar to one of our smoked side car issues of 2013.

Alan Anderson
23-10-2014, 18:24
There are four lights on the Digital Sidecar that are relevant here. Three indicate that the DS is getting power: BAT, +5, and +6 volts. Are they all brightly lit? The fourth is a small LED adjacent to the RSL connector. Is it blinking in the pattern you expect the big orange light to be showing?

lucas.alvarez96
23-10-2014, 18:24
The RSL isn't controlled by user-programmed code, so you'd do best to check your electrical connections again. Try checking if your DSC is outputting voltage through the RSL pins using a multimeter or oscilloscope. You should double check your wiring and continuity.

Alan Anderson
23-10-2014, 18:33
If I'm reading your code correctly, the chassis.arcadeDrive (speed, rot); line will have no effect. Unless button 3 or 4 is pressed, the if statement immediately after it will turn off both speed controllers. Pressing one of those buttons will cause your robot to drive full speed forward or full speed reverse (or perhaps spin in place, depending on your wiring).

If you do want the "full speed" button functionality to remain, I think you should move the arcadeDrive function call into the final else case, replacing the jag.set(0); and jaguar.set(0); lines.

Team 4939
23-10-2014, 18:47
The lights are all lite up on the sidecar though I am unsure of of the small led adjacent to the RSL connector.

Team 4939
23-10-2014, 18:48
Do you think that the code may be the problem?

MrBasse
23-10-2014, 18:56
When we cooked our sidecar we were stumped too, the RSL light didn't flash on the sidecar. We landed a nut on the exposed contacts right by where the RSL plugs in. There were no signs or indications that the sidecar was not functioning aside from the lack of a blinking LED. When the sidecar was opened up here was a component burned out that shut the whole robot down. Take a look inside your sidecar and see if anything is fried, it only takes five minutes to remove the case and it eliminates the "try everything else" method of fixing it.

Jon Stratis
23-10-2014, 18:57
Look very closely at the lights on the sidecar. If one is out, there can be some "bleed through" from an adjacent one that makes it look like it's lot, just dim. This can happen especially if the sidecar isn't getting 12V (check with a multimeter at the sidecar power plug!)- It gets enough over the ribbon cable from the crio to light up some, but not all, LEDs. Also, it's possible to get some metal shavings in there that can short out on of the power rails, most often causing the 5V light to go out.

The RSL should do exactly what the LED next to the RSL plug does. If that led isn't coming in at all, then the problem isn't in the RSL.

Check and double check the power wiring into the sidecar. Check and try replacing the ribbon cable from the crio to the sidecar. Try unplugging everything but one item from the sidecar, and see if you can get that one working. Try replacing the sidecar.

Lastly, take pictures/video and post them here so we can look. It's hard to diagnose what you can't see!

Team 4939
23-10-2014, 19:24
Unfortunately we won't be able to post pictures till at least tomorrow morning, so we can hopefully continue trouble shooting after some visuals are up so that can help you guys to better help us.

If anyone has any other ideas please let us know.

Could somebody also post a step to step on how to check if the sidecar is burned out so that it is easier for us, all the way from the LED to opening up the sidecar.

Thanks

seg9585
23-10-2014, 19:31
You may run into a problem if your code causes an unhandled exception. Check your Netbeans log to see if you are causing an Exception (it will say something like "Robots don't quit! Unhandled Exception")

This has happened for things as simple as SmartDashboard IO, which is why I put all SmartDashboard inputs into try{} statements now.

Something to try if you don't see RSL blinking LED: create a new instance of robot code (new SimpleRobot project, for example), and just load that directly. The robot won't do anything, but the RSL should still work if the code is valid.

microman1934
23-10-2014, 20:09
You may run into a problem if your code causes an unhandled exception. Check your Netbeans log to see if you are causing an Exception (it will say something like "Robots don't quit! Unhandled Exception")

This has happened for things as simple as SmartDashboard IO, which is why I put all SmartDashboard inputs into try{} statements now.

Something to try if you don't see RSL blinking LED: create a new instance of robot code (new SimpleRobot project, for example), and just load that directly. The robot won't do anything, but the RSL should still work if the code is valid.

Netbeans doesn't give any errors while compiling or running, so it shouldn't be the code

NotInControl
23-10-2014, 22:34
The robot status light is not controlled by the code. It will indicate different statuses based on what mode the robot is in... however if you are not getting a solid orange or flashing orange light at all, then it is a mechanical problem..

1. Use a multimeter to check that you get 12v at the light when the robot is powered on and in disabled mode. It may show 12V then 0 then 12 on your meter.

If you dont have 12v check your wireing and polarity... if you are positive the wireing is correct, unplug the connect from the DSC and check that you are getting 12v from the pins.

If you are the DSC is good but your wireing is bad,
If you dont get 12v from the RSL pins on DSC make sure the ribbon cable from cRio is seated properly, or just replace the DSC.

2. If you are getting 12v but the light is off, then the light is bad, could be a blown bulb or bad contact. Just relace the light with another known working light.

Hope this helps,
Kevin

Anthony4939
24-10-2014, 07:55
Here is picture of the sidecar.

Alan Anderson
24-10-2014, 08:29
All of the power LEDs are bright, so the Digital Sidecar appears to be powered correctly. That's good.

I can't tell from a still picture whether the small RSL LED is blinking. It looks off in the photo. Is it staying off?

The big clue in the picture is that there are Relay LEDs lit. Was the robot enabled when this photo was taken? If those outputs are active but the robot is disabled, you probably have a broken Digital Sidecar. (It is also possible that the 37-pin cable from the DIO module in the cRIO is either faulty or not properly connected, but I wouldn't expect that to result in Relay outputs being active when the robot is disabled.)

protoserge
24-10-2014, 08:44
Let's go through some troubleshooting steps (in no particular order):


Did it work all season with the same code that you have on the robot? If yes, the code is unlikely to be related.

Have you checked wiring for continuity? Pull the WAGO out of the digital sidecar and check the continuity from the WAGO to the light's terminals with a multimeter.

Is the RSL WAGO plug firmly connected? Are the pins inside the WAGO properly seated? Are they properly crimped?

Is the RSL wired according to the diagram in the electrical rule R63 (http://frc-manual.usfirst.org/upload/images/2014/1/Figure4-13.jpg)?

Do you have voltage/current on the wiring? If there is no voltage and the wiring has continuity between the Digital Sidecar WAGO and the RSL terminals, there is an issue on the Digital Sidecar. Try reading voltage across the WAGO terminal on the Digital Sidecar. If you read 0V, then the digital sidecar or something upstream would be the issue.


Good luck!

Anthony4939
24-10-2014, 08:58
The RSL LED is not doing anything, when the robot is enabled and disabled, those LEDs are lit.

microman1934
24-10-2014, 09:02
The code used is the exact same as the one used during the season, it worked throughout.

Jon Stratis
24-10-2014, 09:12
The RSL LED is not doing anything, when the robot is enabled and disabled, those LEDs are lit.

In that case, I would try replacing the following, one at a time until the problem is fixed: ribbon cable, sidecar, digital module in the crio, and finally the crio if all that fails. It's sounding more and more like a hardware failure in one of those components, most likely the sidecar.

Tem1514 Mentor
24-10-2014, 09:27
1)A big clue is all those relay outputs on. So are you able to Enable and Disable the cRIO via the drivers station? If you answer yes then you should see the relay outputs turn OFF when the cRIO is disabled, if this does not happen then possible causes are;
2) bad ribbon cable. Is one of those ones that was made with a half twist? Try removing the ribbon cable and turn on the BOT, do the relay outputs stay OFF? If they don't suspect the side car and replace it. If the relay outputs go off try a different ribbon cable.

If you can't enable/disable the the BOT from (1) above then you have some problem with the cRIO, software or comms.

With all the teams going to Vic park on Nov 1 we will figure out what is wrong.

cgmv123
24-10-2014, 10:25
Is one of those ones that was made with a half twist?

I think you're on to something. That is the type of cable that came assembled backwards.

OP, check both ends of the cable. The red side of the ribbon cable should connect to Pin 1 on both ends. (The pin numbers are tiny, but they should be next to the pin and hole on the respective connector.) If it's inverted, the procedure to fix it is attached.

Joe Ross
24-10-2014, 11:12
What slot in the cRIO is the digital module (with the db37 cable) plugged into?

Anthony4939
24-10-2014, 11:41
The pins and holes line up fine with the ribbon. Swapped it just in case, nothing.

Swapped the module, same issue.

We don't have access to another crio and sidecar until Wednesday.

See attached for the ports.

Update: when I removed the ribbon and turned it on, the LEDs on the relays remain lit.

Joe Ross
24-10-2014, 11:49
See attached for the ports.

The modules are in the wrong slots. The analog module is supposed to be in the slot closest to the ethernet port. The digital module should be in the the second slot.

Anthony4939
24-10-2014, 12:21
Awesome! The LEDs on the relay are now off, but the indicator light is still off.

microman1934
24-10-2014, 15:25
Here I'd the photo of the rsl and the robot.

mklinker
24-10-2014, 15:37
In this picture the analog and digital modules are still plugged into the wrong ports on the crio.

cgmv123
24-10-2014, 17:32
In this picture the analog and digital modules are still plugged into the wrong ports on the crio.

More accurately, they're swapped from where they should be.

weaversam8
27-10-2014, 17:02
If the indicator on the Sidecar is not blinking (the one next to the RSL connector) then something is wrong with the sidecar.

Unless you have corrupted cRIO firmware, code could never be an issue.

Finally, if the RSL indicator is blinking, but the RSL itself is not, try replacing the wires and ensuring that they are firmly, but not too tightly attached. We have damaged wires in the RSL by overtightening before. Make sure that the jumper is between the two outside pins.

Alan Anderson
28-10-2014, 00:43
If the indicator on the Sidecar is not blinking (the one next to the RSL connector) then something is wrong with the sidecar.

Or something could be wrong the 37-pin cable. Or the cRIO image. Or the cRIO 24v power. Or the cRIO hardware itself. Or, as we've pretty clearly identified in this case, the placement of the DIO module in the cRIO.

Al Skierkiewicz
28-10-2014, 08:32
Once you move the Crio modules into the right slots, (analog in slot one and digital in slot two)...
The LED for the RSL that is on the DSC is in parallel with with the connector. Try removing the RSL connector on the DSC and see if the LED comes on. It is possible that you have a wiring error going to the RSL or the RSL has shorted.

protoserge
28-10-2014, 09:10
Or something could be wrong the 37-pin cable. Or the cRIO image. Or the cRIO 24v power. Or the cRIO hardware itself. Or, as we've pretty clearly identified in this case, the placement of the DIO module in the cRIO.

That's a good point, Alan. One thing we should all remember when troubleshooting is that the source of a failure or fault may not be the root cause. When isolating an issue, look at the component and its upstream mechanical and electrical path and continue troubleshooting on every component until the source of the fault is found.

Just last weekend at GirlPOWER, we had a drive issue where the robot was veering to the right. We looked for signs of mechanical interference/dragging and found 2/3 CIMs to be hotter on the right side. We then traced the wiring and found a poorly crimped connection on a motor controller. At this time, we inspected all of the other motor controllers and found one more wire which was poorly crimped (always pull-test!).