I have a system that needs to move very fast - or at least what I would consider very fast. It is a press application that the customer wants to at 240 parts per minute (ppm).
This gives a total cycle time of 250msec. Of this 100msec is needed to transfer parts. That leaves 150msec to move a cylinder in and out about 5mm.
So to get an idea of speeds and flows I usually use a trapazoid move with 1/3 of the time accelerating, 1/3 of the time constant and 1/3 of the time decelerating. With this profile I get a max velocity of 100 mm/s and an acceleration of 4000mm/s/s (about 0.4g).
I remember reading about a limit to acceleration time related to 35/natural frequency of a cylinder.
Your calculations are correct. PeakVelocity=\frac { 3\cdot \Delta x }{ 2\cdot \Delta t } AverageAcceleration=\frac { 9\cdot \Delta x }{ 2\cdot \Delta { t }^{ 2 } }
but when using s-curves PeakAcceleration=1.5\cdot AverageAcceleration
So your system will need to accelerate at a high rate.
So why use s-curve instead of linear ramps?
Because linear ramps require the acceleration to change instantly which is impossible because to change the acceleration the pressure must be increased first which requires flow which requires the spool to move.
Norm, do you know the natural frequency of the actuator and load?
Now about the AccelerationTime=35/\omega
This rule of thumb is bogus yet I have seen professor use it in their documents. There is no justification for it.
Bosch Rexroth has a similar rule where they replaced the 35 by 18. I have an old Rexroth book that says how they came up with this rule of thumb but it is still bogus.
Newton did not include natural frequency in his laws of motion.
The rules doesn’t take into account it will take more time to accelerate to higher velocities.
The rule does not take into account that the surface area on the piston is not the same on both sides. Obviously a hydraulic actuator can accelerate faster in the extend direction because the surface area on the cap side of the piston is greater than on the rod side of the piston.
Force accelerate the actuator and load. The key is to have the force required to accelerate faster than the peak acceleration required by the motion planner. In Norm’s case this is 0.6g. The peak acceleration occurs when the velocity is half way between 0 and peak velocity. The worst case occurs when accelerating in the retract direction so… Acceleration=\frac { RodPressure\cdot RodArea-CapPressure\cdot CapArea-Friction }{ mass }
The pressures in the cap and rod side of the cylinder can be calculated using the equations from the VCCM equation thread. PeakAcceleration=\frac { { P }_{ s }\cdot { A }_{ rod } }{ mass } -\frac { \left( { A }_{ cap }^{ 3 }+{ A }_{ rod }^{ 3 } \right) }{ mass } \cdot \left( \frac { { v }_{ mid } }{ { K }_{ v } } \right) ^{ 2 }-g\cdot sin({ 45 }^{ ° })
Here I am assuming the cylinder is pointed down at a 45 degree angle so the retracting motion must lift the actuator and load.
In your example { v }_{ mid }=50\quad mm/sec
I can’t stress too much that thorough knowledge of the VCCM equation is necessary.
I forgot to mention that the cylinder is a double rod cylinder.
I believe the target size right now is 5" bore, 3" rod.
By S-Curve are you talking non-zero jerk or sine motion? I’m having a little trouble visualizing where the 1.5 comes from exactly.
I can probably make a good stab at the natural frequency of the system. The tooling weight will change from part to part but not that much.
Also, I didn’t mention that the cylinder is 45 degrees from vertical. I don’t think this matters for the natural frequency equation too much but i have to look it up again to be sure.
I made pdf that compares a 2nd order ( linear ramp ) with 5th order ( s-curve ) motion generators. The area under the 2nd and 5th order acceleration rectangle and curve must be the same to get to the same velocity at the same time. Mathcad - Compare 2nd 3rd and 5th Order TG.pdf (78.9 KB)
It is easy to see the peak acceleration is 1.5 time the average acceleration and this occurs at on have the maximum velocity.
Back in the 1980 we used linear ramps. In the 1990s we used trig functions which are similar to the 5th order profiles.
Servo motors use the 3rd order motion profiles.
It is impossible to follow a second order motion profile exactly because it takes time to change pressure,force and acceleration but the second order motion profile requires an instantaneous change in pressure, force and acceleration.
The next question should be how does the motion profile affect the acceleration time.
The original 18/\omega or 35/\omega “rule of thumb” is from times when open loop and linear control was used. Feed forwards and s-curves allow for shorter acceleration times provide the hydraulics are properly designed.
Comparing the response of different control methods using high acceleration profiles.
I am assuming the position is changing 5mm in 75 milliseconds so there is 25 milliseconds ramping up, 25 milliseconds at constant velocity and 25 milliseconds ramping down.
I am assuming the natural frequency is 50 Hz, damping factor - 0.33333 and the gain is 1.2 mm/second per % control output so the top speed is 120 mm/second.
Finally I am assuming the valve is fast enough so that its response does not interfere with the motion.
This results in the maximum speed of 100 mm/s and average acceleration of 4000 mm/second^2
The first pdf uses PI control with velocity and acceleration feed forwards and linear ramps Mathcad - T1C1 PI VFF AFF 2nd Order.pdf (62.1 KB)
The second pdf use the same PI control but with velocity, acceleration and jerk feed forwards with 3rd order ramps. Mathcad - T1C1 PI VFF AFF JFF 3rd Order.pdf (64.6 KB)
The third pdf use PID with second derivative gain along with velocity, acceleration and jerk feed forwards and 5th order ramps. Mathcad - T1C1 PID2 VFF AFF JFF 5th Order.pdf (63.9 KB)
The sum of squared error should be compared between the different methods.
The sum of squared error is much lower using PID2 with the 5th order motion profile with than the other two methods.
Notice that the ramp time is 25 milliseconds.
The 18/natural_frequency= 57 millisecond which is too conservative.
The point is that those old rules of thumb were never valid and that new control technology will result in much faster motion profiles.
It looks like the easiest way to get a 5th order move is with a Timed Move Absolute. Is that right. Can I still interrupt that move with a force over-ride like I can a regular Move Absolute?
In the 3 examples above I used a natural frequency of only 50 Hz. You can see the parameters I used at the bottom of each of the position vs time plots.
The only things that are different between the 3 plots are the gains and how many feed forward gains are being used.
The first two plots use exactly the same feed forwards gains. My research has shown there isn’t much difference between PI and PID control. They are both sub optimal.
The PID with second derivative ( PID2) allows for higher closed loop gains so the closed loop poles can be placed more aggressively.
Adding the jerk feed forward helps a lot but the third order feed forwards changes the jerk in steps.
In short, normal motion controllers that only use PID and velocity and acceleration feed forward are not near as good as what a RMC75 or RMC150 can do.
I realized this a long time when we only had the RMC100 with only PID gains with velocity and acceleration feed forwards. The only thing I could say is that
the control will be better with a higher natural frequency. The high natural solution was often very expensive because it requires bigger diameter cylinders, bigger valves, bigger pumps, bigger accumulators.
The Time Move Absolute will generate one 5th order motion segment for the whole move.
A Move Absolute will generate a 5th order motion profile for the ramp up, a constant velocity, and then a 5th order motion profile for the ramp down.
Yes, you can interrupt these moves by entering force control mode.
I will generate a modified cosine move for comparison.
The main point I want to make for this thread is that the 18/nf or 35/nf rules are bogus. There is no justification for them and shame on those that propagated these bogus “rules of thumb”
These “rules of thumb” are too conservative and don’t take advantage of what modern motion controllers can do. In addition, if one where to use this rule of thumb they would over design the hydraulics making them much more expensive than they need to be. This would make motors a better choice only because the hydraulic designers are ignorant what they could do if they only knew.
Mathcad - Modified Cosine Out and Back.pdf (63.9 KB)
I used a cosine wave but I ramped the angle using a 3rd order equation that goes from 0 to 1 ( x 2PI ) as the time goes from 0 to 0.15 seconds
The advantage of this motion profile is that the jerk is low. Profiles with low jerk are good for those systems with slow valves because the rate of change in force ( pressure ) doesn’t need to be high.
Notice that the position, velocity, acceleration and jerk all start and end at 0.
However, the bad point of his profile is that the deceleration and acceleration at 5mm is 10 m/sec^2 compared with the 6m/sec^2 using the fifth or 3rd order ramps from above. The modified cosine would not be good if the system is force limited.
This is a fine point. Often there are different motion profiles that will do what you want to do but some may have higher velocities, accelerations or jerks to achieve their motion profile. You don’t want to chose a motion profile that requires a high velocity if the system is velocity limited. That goes for acceleration and jerk too.
The same motion profiles as above but on a system with a 20Hz natural frequency instead of the 50Hz natural frequency above. Mathcad - T1C1 PI VFF AFF 2nd Order 20Hz.pdf (62.6 KB) Mathcad - T1C1 PI VFF AFF JFF 3rd Order 20Hz.pdf (64.1 KB) Mathcad - T1C1 PID2 VFF AFF JFF 5th Order 20Hz.pdf (63.6 KB)
The second order ( linear ) ramps with PI and acceleration control is unacceptable. Fail.
The third order ramps are marginal. Look at the sum of square error. SSE=0.185571
The fifth order ramps are still good. The fifth order sum of square error is 2 magnitudes lower at 0.001776
The point is that higher order motion control makes a an even more significant difference as the natural frequency of the actuator and load decrease.
Notice that 18/ω=0.14324 secomds is almost as long as the whole move out and back and much longer than the 25 milliseconds that can be achieved with modern motion control.
You application should be easy if the frequency of the valve is high enough and that shouldn’t be too hard too find.
Are you going to try a 4WRPEH? Or does Bosch have something faster. What flow?
I calculate Qdumb to be 63.845 L/min using Mathcad. 100\cdot \frac { mm }{ s } \cdot \frac { \Pi }{ 4 } \cdot \left( { \left( 5\cdot in \right) }^{ 2 }-{ \left( 2\cdot in \right) }^{ 2 } \right) =63.845\cdot \frac { L }{ min }
That is just over the 60 L/min flow of many valves and forces you to the next bigger and slower size.
The size 6 is much faster than the size 10. I don’t think the size 6 is big enough. I don’t think the size 10 will be fast enough.
Yuken has some nice valves too.
The customer would love to use the size 6 4WRPEH because they have standardized on it in their other machines. It is supposed to have a flow limit about 75 LPM. That’s cutting it close and taking all the pressure drop across the valve. I’m probably really going for a consistent kinetic energy in the tooling since I’m doing a staking operation so maybe that doesn’t matter.
The valve I’d like to try is the Rexroth 4WRREH which is almost twice as fast as the 4WRPEH but again only size 6. Flow limit of 80 LPM at 250bar drop.
If I have to go size 10 then I would use the 2 stage 4WRVE with the 55L (nominal at 10 bar) spool. It uses the 4WRREH for a pilot valve and with a consistent 175 bar pilot supply it rivals the speed of the size 6 4WRPEH… even a little faster if I max out the pilot to 250 bar.
Yuken does make some great valves but commercially I’d never be allowed to do that. I could probably get away with using a Moog servo valve but in this plant that is asking for trouble as oil maintenance is something we are constantly harping on them for.
The parts are indexed on a dial and if they can shave some time off that, perhaps the size 6 will work. It would probably be best if I have the RMC control the indexer as well now that I’m counting milliseconds. Right now the PLC is doing coordination through digital I/O with is really fast in the RMC and servo drive but maybe not as much in the PLC. Same with the scan time. I could be losing 20-30 milliseconds in PLC scans to do interlocks in the PLC.
Good, I learned about two faster Bosch valves. I saved the pdfs in my valve library.
I agree those valves are faster but not that much faster.
The largest 4WRR valve is 40 lpm which is not enough.
We both know the flow can be higher than this but I don’t think the valve flow can be increased by over 50%
You need to look at the 100% frequency curves on the Bode plots.
Just got a change from the customer. Previous system was set for 20ton max force but they are now changing this one to 12tons.
It takes down the Natural Frequency a little bit but still, it’s around 600Hz which is awesome.
With a 4" bore and 2" rod, the Qdumb is now about 36.5 L/min which gets me to the size range of the 4WRREH valve.
And, just to make it interesting, they have told us we can’t change the indexer drive right now. Actually, it makes my job a little easier because now I get to say, "the cylinder will move in xx msec and when I prove it with a plot from RMCTools I’m done.
HI, What formula or what method are you using to calculate the natural frequency? I can’t seem to find analytical way to calculate the nat freq of a double acting hydraulic cylinder.
Here is a link to a bunch of equations from Rexroth. The natural frequency calculations are in here
<note to future travelers: This is a link to my dropbox. Who knows how long I will keep it. For now it should be good for at least a year from the posting date of this message since I’m paid up with them>
Thank you! It is very helpful. The only question I have is regarding couple of notations which weren’t identified in the doc. E_o"l (which is set equal to 1400N/mm^2, so assuming oil pressure?) and m_red (which I couldn’t find the definition anywhere).
This is the simple formula { \omega }_{ n }=\sqrt { \frac { 4\cdot \beta \cdot { Area }_{ avg }^{ 2 } }{ Mass\cdot TotalVolume } }
A better formula is { Hz_n}=\frac{\sqrt { \frac { \beta }{ Mass } \cdot \left( \frac { { Area }_{ a }^{ 2 } }{ { Area }_{ a }\cdot \frac { CylLen }{ 2 } +{ DeadVol }_{ a } } +\frac { { Area }_{ b }^{ 2 } }{ { Area }_{ b }\cdot \frac { CylLen }{ 2 } +{ DeadVol }_{ b } } \right) }}{2\pi}
Where: \beta is the bulk modulus o\ oil Mass is the mass of the piston rod and load CylLen is the cylinder length DeadVol is the volume between the valve and the piston when fully extended or retracted$
@ndzied1, this newer forum requires a $ at the beginning and end of a formula or a $$ at the beginning or end of a block of text. I will figure out how to left hand justify the text and edit this.