Help with pneumatics

How would you use pneumatics to control a cylinder. I already know how to start a compressor, but now what do we do.

Well depends what you are doing. Do you mean a piston or accumulator? A piston you need a solenoid to control it. An accumulator is storage and will shut off when filled by the pressure switch.

i work with ja3 so i’ll answer for him…I’m assuming we need both (it wouldn’t hurt to know both). It would be a piston because we are going to use a solenoid, but don’t knwo if we need the accumulator

you will most likely need the accumulator unless you are using a very small piston or actuator to hold enough air in the system to completely move your piston. I dont know the code but you basically just tell the robot that when the pressure reaches 120psi (i think that is the max for everything before your working system i.e before your pressure regulator) that the compressor needs to turn off. you get the pressure from the pressure switch connected to the digital sidecar. For the solenoids all i now is that by sending electricity to one side versus the other it actuates it…you do this with the solenoid breakout on the cRio

The compressor increases the pressure of air, so it can perform work. You need to pipe this air to a Pneumatic Cylinder, so that it can move the Piston inside the cylinder, creating a mechanical motion of some sort.

Between those two things is a bunch of hardware.

First off, right out of the compressor is called the “high pressure side”, because the air pressure is higher than allowed for Cylinders. You use the Primary (all black) Regulator to lower the pressure to a maximum of 60 PSI. (The regulator must be connected a very specific way for in and out - look it up.) You can see the pressure because you MUST install one Pressure Gauge in the “low side” after the regulator. The Low Side pressure is then distributed to one or more Solenoid Valves, which are switches to change where the air goes to make the Piston inside the Cylinder move.

On the High Side, you MUST install several components - read the rules. These include a pressure Gauge to see the high side pressure, a Pressure Switch to signal the cRio when to turn the compressor on and off, a Pressure Release Valve to vent all air pressure from the system, and a Pressure Relief (safety) valve, which you MUST calibrate to pop off (release pressure) at 120 PSI before using it.

Also on the high side, it is recommended to install one or more Accumulator Tanks. Your compressor can’t move a lot of air quickly, so accumulators help by storing high-pressure air for later use. Not a lot, but 2 or 3 tanks is typical. The more air you use, the more tanks you will want. Note that there are accumulators made of plastic that are FRC legal, as well as the metal one you got in the kit.

There is a TON more info you need to build an effective pneumatic system, but this is the basic idea. FIRST has lots of info on their site that will help.

i need help with the programming part of it

What you do in software is going to depend on what you do electrically. You have several choices to make. You can either wire your solenoids to the solenoid breakout on a solenoid module in your cRIO, or you can use Spike Relays. A cRIO solenoid module can power either 12V or 24V solenoids, but not both at once. You need to pick one or the other and make every solenoid you connect to it is expecting that voltage ::safety::.

I’m going to talk you through the simplest method to code, which uses the solenoid module.

Assume you have a piston that extends (forward) and retracts (reverse). You will need to connect a solenoid to each direction to control the airflow. For our purposes, you’ll generally want the solenoid on the forward end to be set to the opposite of the reverse end. That is, if you’re applying pressure on the forward end, you’ll want the reverse end to be open to exhaust and vice versa. You may mechanically use a double solenoid or two single solenoids, but either option will use two solenoid ports on your solenoid breakout and they can both be coded the same way.

In Labview, start by defining the solenoid ports in Begin.VI. You’ll use a Solenoid Open, and a Solenoid Set Reference. The easiest method is to call it a double solenoid (even if it really is two singles), and assign the correct Solenoid Port to each end. Give it a better name than in my example (attached) - you want something that describes what it does and that you can spell consistently.

Then when you want to use it, use the Solenoid Set VI (other example). Note that it’s been two years since we used pneumatics, so I may have the following settings exactly backwards - test with care ::ouch::. Forward sets the Extend end to pressure and the Retract end to exhaust, Reverse does exactly the opposite. (Off and On, while present, are generally not settings you want. Off sets both to exhaust. On sets both to pressure.)

Compressor and Solenoid in Begin.png
Use Solenoid.png

Compressor and Solenoid in Begin.png
Use Solenoid.png

Take a look at the provided examples. From the main LabVIEW FRC 2012 screen, click the Support tab, then click “Find FRC Examples…” In the “FRC Robotics” folder, you will see several examples in the “Pneumatics” subfolder. One or more of them should help you.

i’m not sure, but it doesn’t seem like you understand the task that we want to do. We have this catapult mechanism that we want to launch with a pneumatic system, so a quick burst of air, as opposed to a slow, strong air pressure.

Here ( is a great resource for a beginner learning pneumatics. It explains the mechanical side of things and should give you an insight on what you need to do. If you need clarification on some of the points made in the slideshow, just ask :slight_smile:

That can’t be solved in programming, that problem is purely physical. We are limited in terms of valve orifice size and working pressure as well as the number of valves we can use per cylinder port (one, max). The only remaining way to do what you want to do would be either to use a spring assist, at which point the cylinder would actually slow you down, which isn’t good, or you could use multiple small cylinders each fed off of its own solenoid valve.

we have a solenoid that worked last year and doesnt this year but in a weird way. when programmed as a double solenoid, the double solenoid does not work on any of the plug-ins. but programed as singles, only one side works. you switch the plug-ins of the two sides and the opposite side is the only one that works. is this a programming, wiring, or some other problem and any ideas on how to fix it? help would be appriciated