VictorSPX using PWM are stuck in Sticky Fault

Hi, our VictorSPX using PWM flash red while we are in idle indicating a sticky fault error, but when we turn teleoperated on they are cleared and go back to normal. We also have the issue that a motor won’t move even if the speed controller is solid green. Also, some motor will only spin in a single direction. Sorry for the stack of problems I just believe they might have a connection.

Thank you

Do you mean that the LEDs blink alternating Red when your robot is Disabled?
That indicates that the SPX is not receiving a PWM signal (which is normal when the robot is disabled).
image

This is more likely an indicator of the real issue you’re having.
If the LEDs are green, that means the motor controller is attempting to drive full output.

As a test, disconnect your motor and use a multimeter to measure the voltage of the output.
If you see a value close to 12V, then there is likely a connector issue with your motor. If you see a value close to 0V, there is likely a connector issue on the motor output wires.

What color are the LEDs when the motor is not moving as expected? If the LEDs are solid orange then it’s a programming issue, if the LEDs are blinking/solid green/red, then it’s likely related to the connector/wiring issue I mentioned above.

Hi, we attempted running the motor and it put out 12v one way but when the other way it gave out 6v in intervals. We also tried placing in a different VictorSPX and the same issue occurred. We believe that that could be a problem with our PWM connections on the roborio. We looked over our code base and we do not believe could be there is because the code goes through the if statement of the button and goes pass the .set() and it prints.
if (input.operator.getRawButton(3)){ ballShooter.shooter.set(.75); System.out.println("inside button"); // intake }else{ ballShooter.shooter.set(0); }

This code is almost the same for the shooting just different set value and button value.

Thank you

This may be at least part of your issue - you have two blocks of code each setting the speed on the same motor. Try moving this to one

if (intake)
   {do_intake}
else if (score)
   {do_score}
else
   {off}

setup.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.