Algorithm for Hydraulic Cylinder Synchronization

tommy3678

Member
Join Date
Aug 2009
Location
Madison, WI
Posts
3
Hello,

I have an application that I know I can accomplish with PLC motion control hardware, but I've also been told I can accomplish it with an integrator or similar in the software. Problem is, I'm not quite sure where to start.

The application requires that I maintain the same position over time (velocity) of two hydraulic cylinders as they extend and retract (+/- 0.5"). The stroke is 18ft and they will be pulling a very heavy load, very slowly. Absolute feedback will be via MTS Temposonic linear transducers.

A mechanical solution (such as a rotary flow divider) will not maintain our tolerance.

My next solution is to use a motion control card (and it's associated motion logic) along with the feedback from the transducers. However, these cards are typically designed for high speed applications, and I feel it would be overkill for this app.

Finally, I could write the logic that will compare the two velocities and adjust one based on the error between the two. My first question is, what would this equation look like? Second, would this approach work for this application?

Thanks for any help!

Tom
 
A simple PID loop should keep you within 1/2" no problem. Use two proportional flow valves - one for each cylinder. Give the master cyclinder a speed and the slave cylinder Master speed +PID trim.

For the PID, use Master position as setpoint and slave position as feedback.

It would be easy to do in a PLC or you could do it with a few op-amps, some resistors and a few capacitors. Or... you could spend a lot of cash on a motion controller.

Nick
 
yeah, I thought about that approach as well, but wasn't sure how the PID would respond with a continually changing setpoint. Although I suppose it wouldn't matter much as the PV will be changing at a relatively close rate and error won't run away.
 
As you would be feeding the same speed request to both valve controllers then the PID only has to cope with any difference between the two. If you can get both cyclinders to move at approximately the same velocity for any given setpoint then the PID loop will do very little work to keep then synchronised.

Nick
 
Wait for Peter Natchtwey, he is the man.

The other day I designed a control system for a flying cut off, I used a 1756-Hyd02 board from Allen bradley and used a MTS (magnetostrictive) transducer inside the cylinder with good results and a servo valve.
Peter Nachtwey can give you more explanation on that than me, he is the one.
 
I conditionally agree with Manglemender about the cost. If you don't need to add analog input and output modules to your plc to accomplish this then the cost will be lower with the plc solution. If you do need to add the hardware things get a little closer.

Also, unless you have nothing else to do and you're about to be laid off, your time has a value also that cannot be dismissed. Motion controllers have built-in tools to provide for axis synchronisation. You will very likely be able to get this up and going more quickly with a motion controller.

And then there is the dynamics question. You have a 'heavy' load on an 18 foot cylinder. So you have a large mass on the end of a long spring and you want to push it around from the far end of the spring. You also want to do it slowly, which may or may not put you into the realm of cylinder stick-slip. These are dynamis that MAY make things very difficult to control. If you need the damping that derivative gain brings to the table you won't be doing this in a plc.

If you are controlling to position you will need a position profiler. As you stated in your initial post this could be something as simple as a summer (a digital integrator). However, depending on the speed and the dynamics you may need to do a limited double integration so you can accelerate the load as opposed ot just imposing an instantaneous velocity.

If this all seems a little crazy, contact these guys and see what they can do for you. They specialize in hydraulic motion

Keith
 
However, these cards are typically designed for high speed applications, and I feel it would be overkill for this app.
Perhaps, but they take into consideration things that haven't been mentioned yet whereas you are going to need to discover these things on your own. For instance the gains extending are different from the gains retracting.

Finally, I could write the logic that will compare the two velocities and adjust one based on the error between the two. My first question is, what would this equation look like? Second, would this approach work for this application?
I wouldn't do it that way. I would move a SP the desired speed from one set point to another. This SP would be use for both PIDs. Both axes would be slaves to this virtual master position.

Calculating velocities is a hassle. Slaving one axis to another axis is not a good idea because the master axis position and velocity will be noisy.

There are gotchas when moving large loads long distances. The natural frequency of these systems is typically low and prone to a slip stick motion.

Give it a shot. If you run into trouble there are good hydraulic/control people in WI.
 
Thanks for the input. Currently, I have the system quoted using a Siemens S7-300 PLC, their technology CPU & software(comes bundled with FB for hydraulic motion and axis synchronizing), and their new IM174 card for hydraulics.

The load is 30 Tons riding on train rails, pulled by two cylinders. The cylinders will be controlled via pressure compensating pumps as opposed to servo valves (pumps were recommended per Parker). Each pump supplies a manifold that feeds three other cylinders (lift, rotate, and locking cylinders). Each "move" is done individually, not concurrently. I will have a separate PID for each move since they will need to be tuned differently.
 
Each pump supplies a manifold that feeds three other cylinders (lift, rotate, and locking cylinders). Each "move" is done individually, not concurrently. I will have a separate PID for each move since they will need to be tuned differently.
Then you need to move a SP for each axis. If you are moving, AND ACCELERATING slowly then it doesn't need to be a work of art.

A motion controller would need to have the ability to switch its feedback depending on what actuator you want to move at the time. The motion controller commands can't simply be issue. The plumbing must be configured first before each command is sent.

There is a good chance you will run into a lot of problems with this system. The hydraulics are not optimal. You may think you are getting away cheap but you will pay for skimping on the hydraulics and controls by spending your time re-inventing the wheel and getting the control you want.

I would do things much differently starting with the hydraulics. The problem with most of these projects is that the hydraulic people design kludges without regards to how easy it is for the control person to get the system going if ever. If the control person needs to work 14 hour days they don't care. If the system doesn't go they will simply blame the control person. The other problem is that the control people are just as clueless and don't realize that they will be working extra hours get the kludge to work because hydraulic people wanted to save a buck up front. I see this way too often.

Let us know how it works out. I had one customer twitter about his start up. That was a first as far a I know.
 
Hello,

I have an application that I know I can accomplish with PLC motion control hardware, but I've also been told I can accomplish it with an integrator or similar in the software. Problem is, I'm not quite sure where to start.

The application requires that I maintain the same position over time (velocity) of two hydraulic cylinders as they extend and retract (+/- 0.5"). The stroke is 18ft and they will be pulling a very heavy load, very slowly. Absolute feedback will be via MTS Temposonic linear transducers.

Tom

How slow is "slow". I have done pseudo-synchronization of multiple cylinders to this tolerance with bang bang valves but the speed was on the order of 1 ft. per minute (0.2" / sec). The application also has to be tolerant of cylinders going on and off throughout the motion.

Much faster than that, or if your structure is stiff and can't tolerate the on/off pulses I wouldn't try it.
 

Similar Topics

Hello all, We have a log oven with aluminium logs of 6m . I am trying to understand the program . THe log oven cuts the log according to the set...
Replies
4
Views
1,943
Hello, I need to implement sorting algorithm in STL. I was thinking about using Shell sort, but I don't know how to do this with such a low...
Replies
10
Views
2,459
Hi just wondering if anyone can help me out with the type of algorithm Omron PLCs use? Ideal, Series, or Parallel? I'm running through a tuning...
Replies
4
Views
1,907
Have a new project and I'd like to get my simulation logic a bit more realistic, as such I'd like to add noise to the simulated analog feedback...
Replies
6
Views
2,202
I currently have a PLC based scale controlled packaging machine that fills large 1,000-2,000lb containers. Depending on the material's density...
Replies
5
Views
2,700
Back
Top Bottom