Just take one piece of wire, strip both ends, and insert each end into each port of the pressure switch. This simulates the switch reading < 120psi so it should start compressor.
by eahc port of the pressure switch do you mean the ports on the pressure switch it self or the ones it connects to on the pcm? we did it to where the wires connect to the pressure switch and nothing happened.
The ones in the pcm itself
We just had this problem yesterday, fixed the can IDs then it worked. Obviously check mechanical/electrical for starters
so i jumped the switch and the compressor came on. so does that mean there is a problem in my programming?
what was wrong with yallâs IDS?
If you jump the switch and your compressor runs, your code is good. That means you have a bad pressure switch. Replace it.
ok we are going to order a new pressure switch
i appreciate the help from you guys!
PCM (Device ID 0) | CAN ID is 0
PCM IS NOT ENABLED! If robot is enabled maybe the ID is wrong?
Close-Looping is ON, but PCM is DISABLED.
Comp Is Off
Pressure is not full
i forget to send you that from phoenix tuner.
No problem, Youâve been busy
The jumper test told us what the problem and fix is.
So I am a first year programmer for our team and I am having some trouble with the pneumatics in our system. We program using FRC vscode and I have written the code using resources available to me and my limited knowledge of coding. Problem: Our pcm status light is on but the compressor will never kick on. I declared a double solenoid in our programming and declared the right can ports (0,1).
Robotmap:
public static final int THEARM_PITCH_SOLENOID_DEPLOY = 0;
public static final int THEARM_PITCH_SOLENOID_RETRACT =1;
My subsystem named âThearmâ
DoubleSolenoid pitchsolenoid = null;
public Thearm() {
pitchsolenoid = new DoubleSolenoid(RobotMap.THEARM_PITCH_SOLENOID_DEPLOY, RobotMap.THEARM_PITCH_SOLENOID_RETRACT);
}
public void pitchup() {
pitchsolenoid.set(Value.kForward);
}
public void pitchdown() {
pitchsolenoid.set(Value.kForward);
}
public void shiftlow() {
pitchsolenoid.set(Value.kReverse);
}
Armdown command:
public class armdown extends InstantCommand {
public armdown() {
super();
requires(Robot.m_Thearm);
}
@Override
protected void initialize() {
Robot.m_Thearm.pitchdown();
}
}
armup command:
public class armup extends InstantCommand {
public armup() {
super();
requires(Robot.m_Thearm);
}
@Override
protected void initialize() {
Robot.m_Thearm.pitchup();
and then I mapped the commands to my joystick:
public OI() {
D1.whenPressed(new armup());
D2.whenPressed(new armdown());
}
I also declared my subsystem here:
@Override
public void robotInit() {
m_Thearm = new Thearm();
m_oi = new OI();
If you guys have and advice as to what the problem is please let me know. Any help is greatly appreciated.
pitchup and pitchdown are both calling
pitchSolenoid.set(Value.kForward);
one of them should be set to
pitchSolenoid.set(Value.kReverse);
Do you have a Compressor c
and call c.start()
somewhere?
Iâm not familiar with command based, but the above code looks okay with the above proposed change.
As of 2019, simply declaring any type of solenoid ought to enable the compressor in closed loop mode. My experience with 2020 software is that that behavior did not change.
OP, what is the state of the Compressor LED?
From the manual:
If it is green, it implies bad wiring between the PCM and the compressor itself, or the compressor itself has failed. If it is dark, the problem lies elsewhere.
Note the compressor pressure switch switch wiring is designed for safety - if unplugged or not wired, the PCM assumes top-pressure has been reached, and will not attempt to enable the compressor.
there is no compressor light on
ok i changed that the compressor still isnt kicking on. should the compressor just come on automatically or do i need to press the buttons for it to come on?
If there is a solenoid object in the code it should just start as soon as the code is enabled. If there pressure switch detects that the system is not >120psi.
It should turn on automatically. However, unlike what most people are saying I have never been able to get the compressor to start on its own. Make sure the pressure switch is wired correctly and as is the compressor. It could possibly be the compressor is broken, we had this during off season and the electricians had to take it apart.
No compressor light means itâs either the pressure switch or wiring to it, or code.
To rule out the pressure switch and itâs wiring, you can short the 2 pressure switch pins on the PCM (just donât bend them). If the light turns on, itâs the wiring or switch. You can repeat the process by shorting the screw terminals on the switch together (after plugging the wires back into the PCM). If it works there, itâs the switch. Alternatively, you can check resistance/continuity end-to-end on the switch wires.
Assuming the light still doesnât turn on, we can look further into code. I would recommend opening up the Phoenix Tuner application while connected to the robot and run a self-test for the PCM. If you get to this point, please post the output.