I’ve looked into it and it seems that the maximum speed of a piston is proportional to the incoming flow rate, the bore area, the pressure, and the load ratio. I found some data sheetsbacking this up made by SMC Pneumatics, but on my team we use Bimba pistons and solenoids not made by SMC, so the data sheets don’t directly apply. I cannot find this sort of data on Bimba’s website.

How would I go about calculating or at least getting a good approximation of a piston’s maximum speed?

Adding complication to this is that the resistance to motion in the piston depends on what it’s attached to, and for almost any linkage will vary at different points of travel. This resistance, especially if you are going over-center, will cause motion to slow, allowing more pressure to build than an ideal unconstrained piston would allow for.

In the most extreme example that easily comes to mind, you could pre-charge a piston by firing the solenoid while the output is mechanically constrained, and then release that constraint in order to produce a stored energy release with very high speed.

I’ve heard a lot of tips on how to make the piston faster, but is there any good way to *approximate *how fast the piston will go? Even if it’s through experimentation in one setting, and then applying that information to another setting.

It’s understandable if there is no good way to estimate, I would just like to know if someone out there has a good method of estimating a piston’s maximum speed.

There are a LOT of factors. If you want to go by best-case scenario (no load), you can do a little physics.

Force = (Pressure)*(bore area)

Acceleration = Force/(piston mass)

Vmax = sqrt(2acceleration(stroke length))

This assumes there is no decrease in system pressure as the cylinder fills with air, there is no friction in the cylinder, there is no load on the rod, etc.

This is what I used to think was the maximum velocity of the piston, but the charts I linked above indicate that the flow rate and bore diameter also have a significant impact on the piston’s max speed (greater than what would arise from the increase in time to be fully pressurized initially). I believe it has something to do with how the piston would not “want” to speed up faster than some scalar multiple of the flow rate/bore area because if it extends faster than that, there just isn’t that much “push”? This seems kind of handwavy, and I wish to make it less so, but I believe there is something along those lines happening.

It depends on the upstream pressure drops. You’ll lose pressure the longer the line is, any corners where the air has to turn, and any diameter changes. Once you have the effective area of the feed figured out (the big constraint in this question) you can apply Bernoulli principles. The compressible nature of air will complicate things, non compressible hydraulics are easier to calculate.

I did actually model this for a pneumatic boulder launcher in 2016. I never did reduce this to a repeatable process, but essentially we had shortened up all of our tubing so that it was a very short run from (~60psi) tank to solenoid valve to cylinder. IIRC, the solenoid valve was directly plumbed to the tank, and there was about a 2" piece of tubing to the cylinder. The airflow rate was modeled using a single round orifice with an online calculator. I then figured out an equivalent mass (inertia) and weight (steady back force) for the piston/rod/arm/boulder and tweaked until I found the initial acceleration, then stepped the whole thing forward in time using the amount of air that had already flowed, calculating pressure, accelerating and moving the boulder, letting more air in, and around the cycle for steps of a few milliseconds*. Once I used the correct hole size (the size of the ports into/out of the valve), I was able to predict launch ranges to within about 20%. There’s probably an easier way to do this using Cv rather than the orifice diameter.

I started with about 2 or 3 ms steps, but gradually lengthened them as the pressure’s rate of change in the cylinder went down.

Edit: One thing I took away from the exercise was that your pressure in the cylinder will be much less than your supply. In the cases I looked at, maximum power and speed came when the pressure in the cylinder was about 10-13psi. This means that (for the sizes I was looking at) I needed a cylinder of at least twice the diameter of that which would lift the load slowly in order to maximize the speed.

Everyone,
The speed at which the piston will move is dependent on the volume of air moving into the space behind the piston. This is limited by the size of the tubing feeding the actuator. Larger diameter actuators will naturally move slower than smaller diameters. While the volume changes as the piston moves, you can calculate the incremental movement. For instance, if an actuator had a 1 sq inch piston surface area, and the tubing allowed 1 CFM flowrate, it would take 1/1728 (the volume in inches)= .000578 minutes or about 10 micro seconds to move the piston 12 inches. This calculation does not take into account the air being forced out in front of the piston nor does it account for external forces or the friction of the piston rod or piston seal(s). It also does not compensate for the change in pressure through the tubing, the flowrate for the pressure regulator, etc.

These variables are what you’ll need to match a particular application, but if you just want free state results, what Al calculated will get you close.

Edit:
Example, what will move faster, a cylinder with 60 psi and no load with 3/8" tubing, or the same cylinder with 40 psi with a 30 pound load and fed with 1/4" tubing? Flow rate changes depending on multiple factors, you can’t assume the same flow rate for everything.

In 2016 we made a catapult launcher. We wanted to find the ideal geometry for the catapult, but to model it we had to know the flow rate of our solenoid valves. To find this flow rate, we set up a test where we bolted a large cylinder (2" bore, 24" stroke - a common size!) to a table, plumbed the pneumatics, and recorded the extension in high speed to see how fast it moved.

The solenoid we used was this one, and it was attached directly to the cylinder. Several air tanks at 60 psi were plumbed in line right before the solenoid to allow the air to travel the shortest path possible.

Here is the footage we recorded. Doing the math, it worked out to 470 cubic inches per second of air flow. If you know the volume of the cylinder you want to fill up (in cubic inches), divide by 470 and you will get approximately how long it will take to extend (assuming you use the same solenoid valve and pneumatics layout).

This is only true under no-load or loads essentially proportional to the piston area, not with a defined load. A defined load will slow down a small cylinder much more than a large one - if the load is too heavy, the actuator will not move at all. After optimizing air flow, the key is to find the optimum cylinder diameter for your particular application. Note that if you can make your prototype with adjustable mount points, this will allow you to use the same cylinder as though it were multiple ones (of the same volume). If you want the cylinder to move quickly, the volume times the working pressure should be several times (4-6 in my calculations) the energy you need to move the load slowly. (My application/example had essentially no counterweight; my calculations indicated that a counterweight would actually decrease the terminal velocity because you need to accelerate it, too.)
As Al noted, you must be able to fill the actuator in the desired duration of your stroke. If you cannot get one actuator to deliver the punch you need, use two (or more) solenoid valves and actuators in parallel.

So when I make a pneumatic-powered mechanism like a catapult, I should first put enough force worth of cylinders to exert 4-6x as much force as is needed to get the load moving, then optimize the flow, then measure that flow and see if I need to swap out cylinders for multiple smaller cylinders exerting a similar force and give each new cylinder as much flow as possible?

Also, about flow rate - does the flow rate (Cv) change depending on the load on the cylinder, or does the flow rate remain the same and the load has its own unique impact on the cylinder’s speed? Basically, does having a load slow down how fast air comes in, or just how fast the cylinder gets moving?

Approaching catapults after what we learned in 2014 and 2016, I would look at it in terms of energy instead. You can roughly estimate how much energy the gamepiece will have if you launch it (1/2 m*v^2) and you can roughly estimate how much energy a cylinder can expend (force * distance, at 60psi).

Note that this assumes your cylinder is pushing with 60psi of force! If the cylinder is able to fill much faster than the mechanism will actually move when launching, then this is an ok assumption. If the cylinder has a large enough volume that it will fill at about the same speed that it takes to launch the gamepiece, then this assumption is way off. The cylinder will not exert a full 60psi worth of force, since it is limited by the speed of the air flowing in. Calculating the exact force that the cylinder would exert is very hard to do.

The gamepiece in 2014 weighed about 1.25kg, and the gamepiece in 2016 weighed about 0.25kg. They flew on similar arcs, but the 2014 trackball was 5x times more massive than the 2016 boulder. In terms of energy, it would need 5x as much volume in the cylinders to propel the ball. When the volume gets big, the flow rate starts to matter, and a lot of teams had to use multiple cylinders in 2014 to flow enough air to successfully launch the ball.

We went into 2016 with leftover hardware from 2014, and since we only needed 1/5th as much energy, flow rate was not a very big factor, since we had much smaller cylinders.