In 2008 I did some calculations for 1726 regarding the optimal precharged length of a pneumatic cylinder. As many teams are considering the same approach this year I figured it would be helpful to post the math here.
If you just want the answer see the bold portion of the post.
Note: Precharging a cylinder refers to locking the piston of a pneumatic cylinder extended some distance d and then allowing the piston to fill with air before removing the latch.
Warning: This process requires a little calculus!
Variables:
P: The pressure as the system kicks.
P_int: The initial pressure.
l: The position of the piston as the system kicks (ranges from d to L)
L: The length of the cylinder
d: The amount by which the piston is extended before the system is latched
A: The cross sectional area of your cylinder.
F: The force exerted by the cylinder as it expands
W: The work done on the ball (This is what we want to maximize).
The math:
We assume the kick is an Isothermal process and that the amount of air entering the cylinder during the kick is negligible.
so
P_intAd=constant
This implies that as the cylinder expands
P=P_int*d/l (The cross sectional area cancels)
The force exerted by the cylinder is given by PA
so
F=P_intAd/l
The total work done by the system on the soccer ball is given by integrating the force with respect to distance
So
W=P_intAd the integral with respect to l of 1/l from d to L
W=P_intAd*ln(L/d)
where ln is the natural logarithm
At this point anyone with a graphing calculator can find the maximum of the function (d=1/e*L), but it is much more fun to derive.
dw/dd=P_intA(ln(L/d)-1)
which is zero when
ln(L/d)=1
which implies
L/d=e
so
d=L/e~=.368*L
Note we determine that this is a maxima using the first derivative sign test (or by realizing that if d=L the cylinder doesn’t move so W=0 and if d=0 there is no air in the cylinder so W=0)
In short a precharged cylinder will do the most work for you when the cylinder is latched at .368 or about one third of its total length.
Remember that other design consideration may trump this optimization and that variables other than energy (such as size) may be more important to you.
If you have any questions about the math feel free to ask.
I wonder if that is a valid assumption. The kick happens so fast I would think adiabatic would be a better approximation than isothermal. The explosive expansion cools the air and it takes time to absorb heat from the cylinder walls.
I love it when theory and practice come together. Our team (inspired by 1726’s success with a pneumatic trackball launcher, and my traumatic memories of Thermodynamics 350, or whatever the course was) went the empirical route to determine an optimal “precharge” volume. We settled on 15" cylinders precharged to about 5".
Not to say that this was the result of exhaustive research, but we were pleased with the results.
And that’s within about 10% of the calculated value. Cool! Why didn’t they let me do that on my exams?
This is only true if you are not using a reservoir of any sort, therefore the only way to charge this would be to have the compressor run until the pressure inside the cylinder is at 60 psi and then shut off. Not only is this a bad idea because the compressor would run for such short periods of time, but its a big waste of weight. If you’re going to put a 5 lb compressor on your robot, why not add at least one 1 lb air tank which you can charge up to 120 psi.
Assuming you are using air tanks, the pressure will stay constant throughout the extension of the piston and as such, there would be no need to “pre-charge”. This significantly decreases the size of the piston (by .368).
However, the math is absolutely correct, and very insightful. If you do not plan on using air tanks for whatever reason, pre-charge your piston 1/3 of the way.
This is probably a fairly valid assumption so I’ll give the new calculation a try!
For this we have to introduce the new constant y the adiabatic index (note it’s really supposed to be a gamma, but until CD offers support for Greek letters I’ll take what I can get.)
In air y=7/5
For an ideal adiabatic process
PV^y=constant
which implies
P=P_intd^(7/5)/(l^(7/5)) As above A cancels
so
P=P_int*(d/l)^(7/5)
Now as before
F=P_intA(d/l)^(7/5)
W=the integral over l of P_intA(d/l)^(7/5) from d to L
or in a simplified notation
W=P_intAd^(7/5)*the integral over l of l^(-7/5) from d to L
which gives
W=(5/2)P_intA*(d^(7/5))*(d^(-2/5)-l^(-2/5))
**Because it is late the graphing calculator method shows that the energy output is maximized when d=.431*L.
**
The true answer probably lies somewhere between the two answers.
A note:
The assumption that no additional air flows into the cylinder during the process probably isn’t justified. This will lower the optimal precharged length because it slightly increases the pressure as the cylinder expands.
A solution to the problem which takes this into account become exceedingly complicated very quickly (i.e. I don’t think I can do it). If anyone would like to try it using Bernoulli’s equation and a .32 cv I would love to see that worked out.
This is not correct because the Solenoid valves are a bottle neck in the system. With a CV* of .32 (max) the rate at which air reaches the cylinders it not enough to make up for the Boyle’s law decrease in pressure. Precharged cylinders almost always have more “power” than regular cylinders for this reason.
*the flow of water through a valve at 60 oF in US gallon/minute at a pressure drop of 1 lb/in^2
Definition taken from Flow Coefficient Cv vs. Flow Factor Kv
I absolutely love this thread, thank you Matt! Gotta love theoretical computations which derive real world solutions, awesome application of fluids for students to comprehend. Great job!
Any one have simulation modeling experience and access to Simulink/Matlab (or some other modern simulation tool) ? Give the computer the right equations and let it do numerical integration.
I took on the task a few months ago for the Vex pneumatic system (both excel and Simulink model) and later modified the excel model for FRC components. The model lacks FRC lab validation but has a few check results from Vex.
Here are some conclusions I drew from the model:
a) The Cv for the SMC and Festo are sized to keep a .75 in bore from flow limiting the valve most of the time. The larger bores push the valve into sonic conditions and limit the power to the cylinder. (I spoke of this in http://www.chiefdelphi.com/forums/showthread.php?t=80134)
b) Precharging a .75 and 1.06 in bore cylinders actually degrades the performance. With a 0% and 40% stroke precharge the .75 in bore energy went from 9.7 to 6 ftlbs and the 1.06 in bore went from 12.5 to 10.1 ftlbs.
c) Precarging the 1.5 in bore gave a peak near 40% stroke as expected and increased the energy output from 9.4 ftlbs to 14.2 ftlbs.
d) Precharging the 2 in bore gave a peak of 18 ft lbs between 40 and 50%. Without the precharge, it was essentially unusable.
I ran the cases under the following assumptions:
Stroke: 6 in
Pressure:60psig
Cylinder load: near 50% of max force. (eg around 10 lbs for a .75 in bore)
Two way adiabatic piston model: Exhaust chamber fights pressure chamber.
System Cv = 50% of solenoid Cv to account for piping and fitting effects.
Cv was same for input and exhaust ports. (I am a little uncomfortable with this since I suspect the exhaust port is not as restricted. If anyone has knowledge of this please chime in. I emailed SMC on this but haven’t heard back).
I define Energy as the integral of net force on load*piston speed.
If the valve is able to keep the pressure high then it pays to have a longer stroke since the force is higher. The gain in energy due to longer stroke outweighs the gain from precharging with a reduced stroke.
Precharging makes use of potential energy which is limited by the %initial_stroke*area of piston. The input energy is negligible relative to the large area pistons. When the pistons get small enough, the input energy becomes significant and is like a power supply so you don’t have to rely on potential energy to deliver the goods.
In the limiting case… if you had a huge valve or infinite flow to the cylinder, then the pressure drop would be negligible and the work done would be PsupplyAreastroke which is the best the piston can deliver.
From reading through this thread and the conclusions of preloading the cylinder 1/3 (or so) - does this mean 1/3 of the stroke is deployed (having approx. 1/3 of compressed air in cylinder) OR …
Does this mean 2/3 of the stroke is deployed (having 2/3 compressed air in cylinder)?
Does anyone know if it is illegal to use a cylinder where you are not utilizing the full stroke distance? For instance using a cylinder with 10" stroke to unlock something where the movement distance is only 2" or so.