Limiting the amount of air sent to a solenoid

I need to limit the amount of air sent into a solenoid to ‘lightly’ push a frisbee into the shooter. At the moment the solenoid fires the frisbee out and gets it stuck in the middle of the two wheels. I would like to have it slowly move foreword, here is the current solenoid code i have:

inside my extend solenoid function

if (joy1.getRawButton(11)) {
	Arm3.extend();
}
else if (joy1.getRawButton(12) {
	Arm3.retract();
}

extend and recract functions:


public void extend()
{
	sol1.set(false);
	sol2.set(true);
}

public void retract()
{
	sol1.set(true);
	sol2.set(false);
}

I suggest you put regulator valves on both ends of the pneumatic piston itself and mechanically adjust the amount of air going in.

I don’t know of a way to do it via code, but this is the way I think most teams would do it.

Looks like this: http://www.andymark.com/product-p/am-2032.htm
The dial lets you adjust the speed of air coming through the valve

You cannot control the amount of flow to the solenoid as it just opens and closes.

One thing you can do to decrease the speed of the cylinder is to decrease the pressure either using the in-line pressure regulator, or using the regulator on the hose adapters that go on the pneumatic cylinders.

You want to put that valve on the exhaust side of the air cylinder. By doing that you can apply full pressure to utilize the power of the piston and the “cushion valve” controls the speed the piston moves by controlling back pressure. Also, that valve only restricts air flow in 1 direction so when the solenoid reverses the cylinder will retract at full speed.

Also keep in mind that many of the solenoid valves need >35PSI supply to operate. If you reduce the air pressure before the solenoid valve, it may not switch states when commanded.