I always model my robots whenever I can. The modeling takes three times longer to do than the building of the actual robot it seems , particularly when dealing with Vex. I model for one main reason: Do I understand the physics? If I get a good match then yes…. but more often than not nature doesn’t give up its secrets easily. This is where the sweat and frustration comes in since many ideas must be tried to get the model to match. But this is where I learn the most since it requires dealing with new areas of understanding and challenges the mind.
Newtonian force equations only go so far and often there is a “factor of two” discrepancy. I have experienced this at many levels of simulation. At Lockheed while developing the Yaw stability augmentation system, many millions of dollars were spent with pilots in a full cab airplane simulation tuning rate feedback gains. When we got to flight test, the gains had to be doubled to match actual performance.
When developing my pendulum Vex robot, I spent time doing a matlab model to apply optimal control theory to derive the feedback gains to stabilize the robot. Again, the gains were off by a factor of two.
Once again nature has proved elusive. My model of the vex pneumatic catapult predicts projectile release speeds that are twice what the catapult is delivering. This has forced me to study the engineering of pneumatic systems and review fluid dynamics and thermodynamics, stuff I haven’t thought about for many years. Usually, friction or some type of heat loss is the culprit or I’ve made a mistake in my implementation of the equations. I’ve done my best to check my work, but sometimes blind spots exist.
I included effects of piping pressure losses, tried constant temperature assumption, adiabatic (no heat loss) assumption but to no avail. I looked at about 10 different references for mass flow rate (all are slightly different) but the percentage differences are not significant so I just chose one. These assume a coefficient of flow Cv to characterize the standard cubic feet per minute (SCFPM) flow rate of pneumatic valves. The vex solenoid valve has a Cv= .05. To match the catapult distances and also other lab results , a reduction multiplier of .3 had to be assumed or Cv = .015. My model doesn’t include the effect of fittings. If these were added, the system Cv would be expected to drops to .028. See later post https://vamfun.wordpress.com/2010/01/05/finding-the-vex-pneumatic-system-cv/ .
So I am content to live with this…since it achieves my purpose of having a simple model that does a good job of predicting results….even if includes a fudge factor for things not included in the model.
Assuming my equations are ok, then I suspect there still needs to be some added pressure losses due to system components. It is possible that the natural gas law which assumes quasi equilibrium states is the source of error. There is a rapid expansion of the compressed air and on the surface, one would think the natural gas law would not apply. The only reason I am trying to get it to work is because many papers use the natural gas law in piston analysis and claim it works. A more accurate model would calculate the effects of the pressure wave using diffusion equations , include drag of the projectile, piston friction effects and thermal conduction in the cylinder, but this would defeat my purpose in generating a simple model for kids to use.
Perhaps someone will develop an independent model and see what they get. Test reference data was posted on vex forum at http://www.vexforum.com/showthread.php?t=19042
I plan to post some equations but until then:
Here is a good reference for valve flow rate: http://www.swagelok.com/downloads/webcatalogs/EN/MS-06-84.PDF
This paper has a piston model (reference: Section 2.1) that is similar to the one I developed and can serve as documentation of the pressure equations.
All one needs now are the following parameters:
Piston area : pull .1 sq in, push .12 sq in.
Max Pressure 40 to 100 psig for source tanks.
Piston stroke: 2 in
An assumption for dead volume of the cylinder: I assumed about .8 in of stroke or .8*.12= .096 cuin.
Step pull against gravity of a 1.1 lb weight achieves full stroke in .093 sec and a final speed of 33 in/second (as per blog post https://vamfun.wordpress.com/2009/12/01/piston-rates-for-vex-pneumatics-and-elastic-force-coefficient/)
So if anyone wants a little matlab or Labview project here is a nice one. I’d be happy if someone could find where the discrepancy lies.