How to hook up Nason pressure switch

How do I hook up the pressure switch? Do I cut a PWM cable and connect the 2 terminals on the switch together then plug the cable into the digital IO negative pin?

Just doesn’t seem right to me so I want to make sure.

The pressure switch is a digital “On / Off” switch. Really, it’s just a mechanical contact internally that completes a circuit, but since it’s only two states are either “On” or “Off” we (my team) call it digital.

I’m not sure what you mean by connecting the two terminals together.

You do attach a wire to each and then run them back to the digital I/O on your bot.

The third page of the pneumatics manual explains this in slightly more detail.

So one side goes to signal and one to ground or one side to positive and one to ground?

I would make sure you are correct before powering on the robot, we wired ours incorrectly and the pwm became very hot, we could not drive our robot until we removed it from the Digital I/O and at that point the Sidecar was also hot.

One side goes to signal, for certain, otherwise there’d be nothing for the cRio to ‘see’.

Traditionally the other side is connected to ground.

You connect the signal (white) and ground (black). You can just put a piece of electrical tape on the positive wire because it is not needed.

Thank you, hopefully I get this working tomorrow.

You must put insulation on the center/red/positive wire.

I can’t seem to get the compressor to turn on with the relay. I put in the code (C++)

#include “WPILib.h”
#include “vxWorks.h”
#include “Vision/AxisCamera2010.h”
#include “PCVideoServer.h”
#include “Compressor.h”
#include “Utility.h”

#include “DriverStationLCD.h”

class RobotDemo : public SimpleRobot
{
RobotDrive myRobot; // robot drive system
Joystick stick;
public:
RobotDemo(void):
myRobot(1, 2), // these must be initialized in the same order
stick(1) // as they are declared above.
{

    GetWatchdog().SetExpiration(1.0);
    GetWatchdog().SetEnabled(false);
    AxisCamera &camera = AxisCamera::getInstance();
    camera.writeResolution(k640x480);
    camera.writeBrightness(10);
    camera.writeCompression(25);

    Compressor *airc = new Compressor (1,1);
    airc->Start();
   
}

void Autonomous(void)
{
    GetWatchdog().SetEnabled(false);
    myRobot.Drive(0.5, 0.0);     // drive forwards half speed
    Wait(2.0);                 //    for 2 seconds
    myRobot.Drive(0.0, 0.0);     // stop robot
}

void OperatorControl(void)
{
    GetWatchdog().SetEnabled(true);
   
    while (IsOperatorControl())
    {
        GetWatchdog().Feed();
        myRobot.ArcadeDrive(stick);
        Wait(0.005);                // wait for a motor update time
    }
}

};

START_ROBOT_CLASS(RobotDemo);

Describe how you have the switch and compressor wired. We might notice something that doesn’t match the code you posted.

Also, manually fire up the compressor and take your system up to pressure. Have a digital multimeter across the ears of the pressure switch and measure resistance to ensure that it is, indeed, actuating.

I just got this and the solenoids to work.

Thanks for your help anyways.

When hooking it up, as far as I can understand it goes in a digital I/O port on the digital sidecar, but is there a difference as to which wire (signal or ground) you connect to which terminal (NC or C) ?

Craig,
It is a simple switch so there is no polarity issues. There is no active circuitry inside.

Electrically it makes no difference.

If you want to be a stickler for convention, however, the “C” stands for Common and ought to be wired to ground. The “NC” or Normally Closed contact ought to be wired to the signal input pin.

Alan,
In this case “common” refers to a physical part of a switch rather than power supply. Is it rarely used in a single pole single throw switch but may appear on switch bodies that are used for many different products. Depending on the designer and the circuit used, the “common” terminal could be connected to the power supply rail.

Ah, thanks a lot everyone!