Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.


Hydraulic motor control

Hydraulic motor control

I've been asked to build a system that uses a hydraulic motor to drive it. I've worked out the torque and rpm required at various times throughout the drive phase of motion. I'm not sure what is required from the power pack to give the required flow and pressure to turn the motor and how it would be controlled. Is the rpm and torque controlled only by the control valve or is it a combination of the control valve and the pump speed?

RE: Hydraulic motor control

The motor will only generate enough torque to overcome the resistance it sees.

The maximum amount of torque is a function of the maximum pressure available.

The speed of the motor is a function of the flow rate of oil to the motor.

The power is a function of the speed and the torque.

The flow rate is dictated by the control valves and the maximum pressure is set by a relief valve.

There is a great deal to be said about system efficiency losses and the best way to match the flow and pressure to the demand. There are plenty of descriptions of load sensing valves. The above is the very basic description.



RE: Hydraulic motor control

power=τ*ω where ω is the rotation rate in radians per second and τ is the torque.

Quote (HPost)

The motor will only generate enough torque to overcome the resistance it sees.
Not so! If true then how would a hydraulic motor accelerate?
You comment only applies to stead speed operation.
ΔP is the pressure drop across the hydraulic motor.

Quote (garycvv)

I'm not sure what is required from the power pack to give the required flow and pressure to turn the motor and how it would be controlled.
Most rotational applications don't have a dwell time where an accumulator can reduce the size of the HPU by significant amounts.
I need to know what the hydraulic motor is doing. If the hydraulic motor is running continuously an accumulator will only help if precision moves or velocity control is required.

If you need precision control of the hydraulic motor then you need to have a feed back device like an incremental encoder or SSI absolute encoder. You would also need a hydraulic motion controller. A PLC may be able to do the job if only the speed must be controlled and it doesn't change quickly. A hydraulic motion controller can provide precise motion and the ability to control torque or limit power etc.

Peter Nachtwey
Delta Computer Systems

RE: Hydraulic motor control

Thanks for the replies. The hydraulic motor is being used to move a door. The door is mounted on a linear guide and is attached to a ball screw to convert the rotary motion to linear motion. The motion profile will be a standard trapezoidal profile, ramp from 0 at a constant acceleration until the flat top speed is reached, then move at a constant velocity until it reaches the ramp down point where a constant deceleration is applied to get it back down to 0.
From the first iteration of the ball screw selection I've found that:
4.7Nm is needed for the acceleration
.12Nm is needed for the constant velocity
2200rpm is the maximum shaft speed.
Assuming that 90% efficiency can be achieved I've calculated that the following pressures and flows would be required:
4.7Nm - 55 bar
.12Nm - 1.4 bar
2200rpm - 14 litres per minute maximum, 0 minimum

Does the power pack need to supply 14 litres per minute at 55 bar, and then a valve is used to control the flow? Or is the pump in the power pack varied in conjunction with the valve to control the flow and the pressure?

RE: Hydraulic motor control

In its simplest form, switch on the hydraulic pump drive and run at 14lpm. Sense end of travel and switch off hydraulic pump drive. Maybe set the relief valve to 70bar so it does not open every time the cycle is started.
It can be more complicated. How quickly do you want to accelerate to constant speed? At rate do you want to reduce speed to zero? How do you know when the door has reached end of travel? How precise do you need the constant speed? Do you need to detect an obstruction? How often will the open/close cycle be run to determine whether or not you need any system cooling? Is your cycle really trapezoidal or do you expect soft start and stop?


RE: Hydraulic motor control


On what planet is acceleration the same as resistance to rotation?


You have identified the boundary conditions for your application. How you control the power to reduce losses and keep it safe are up to you.

Ted raises a few good points, in particular the detection of an will the door slow or stop in the event that something or someone is in the way???

Adrian Wright CEng MIMechE
Engineering Specialist
Hydraulic Systems Team
Caterpillar (UK) Ltd

RE: Hydraulic motor control

HPost, I don't see where Peter equated rotational friction to acceleration. Did you misread his post?

You could certainly equate friction to -acceleration in the absence of a driving force.


RE: Hydraulic motor control


It's where he quoted me, then says "not so! If so, how would a hydraulic motor accelerate?

I was explicit in referencing resistance, not angular acceleration. Also going on to explain that what I quoted was then most basic explanation.

It is always better to a) Read the text properly and b) perhaps query the context before jumping with such bold statements.

Of course, we are all free to express our opinions, but it is not professional to dispute the facts, especially when he didn't actually read what the text.

As an example, I feel it splitting hairs somewhat where you relate deceleration to friction without a driving force. It's a little out of context as we are talking about something quite different. I don't disagree with you though.

RE: Hydraulic motor control

HPost, my misdirection. I incorrectly translated rotational resistance to rotational friction. Like you say, understand what you read.


RE: Hydraulic motor control

Thanks for the responses. The door will be used open and close access for an industrial process and will be in a hard to access location. The door has ~1m of travel. It should take 1.5 seconds. At the moment it's been assumed to reach the constant speed after .5 seconds and to stay at a constant speed for 0.5s. Each stage (ramp up, constant velocity, ramp down) is assumed to take 1/3 of the total drive time.
As the door will be in a hard to reach location, we're not worried about it hurting someone when it closes. There is a small chance of something else obstructing the door, but at the moment it's thought to be very unlikely so no obstacle detection is planned.
It's planned to have limit switches so we know it's at either end of it's travel. Ideally we'd like to know the speed and the position throughout the motion profile. And these could be included in a control system to give feedback.
Would an encoder on the motor shaft be adequate to give speed and position feedback?
Assuming that the speed and position are known what type of controller would be required and how would it control the door motion?
Many thanks

RE: Hydraulic motor control

You will need a feedback loop that looks at either the speed of the ball screw with a speed sensor or the position of the ball screw with an absolute encoder. There are devices that can do both, but it is often better to have them separate. It's your call.

Likewise, it is your call on how you control it. The level of control you need depends on how quickly you want to accelerate, what sort of overshoot you can live with and how quickly you need it to settle to a steady state. How big is the door(mass)? Getting it up to speed quickly will mean it will overshoot the target speed and that is where you could need full PID control to achieve the target speed as quickly as possible. Like wise ramping the speed down so that you don't slam the door, or apply too much stress when the door is closed. A heavy door will have high inertia and will require a higher level of control to keep it steady and reliable in operation.

A high level of control cost money, as does the software. So it's important to get these thing right.

RE: Hydraulic motor control

Hi HPost,
Thanks for the reply. For the time being I'm assuming that a high level of control is needed with the minimum overshoot. So a PID controller would probably be required. What I'm not entirely clear on is exactly what needs to be controlled, is it just the mass flow through the valve or does the pressure drop through the motor need to be varied too? Or can I just ignore the pressure drop and ensure that it is high enough to give the required maximum torque at all times?
Many thanks

RE: Hydraulic motor control


You will ultimately be controlling the speed of the motor via a proportional directional control valve.

By giving the valve some current, via the controller, it will begin to open and oil will flow to the motor. As the motor begins to turn, it will see some resistance and the torque will begin to rise, until there is enough torque to start the door moving. As discussed previously, you will also need to apply additional torque to accelerate the door. How quickly this all happens is dependent on the ramp rate that you set and the ramp rate is how quickly the current increases to move the spool.

This is where you need to careful with the amount of power you make available and what pressure you limit the system to. A high rate of torque rise will create a proportional increase in pressure. You need to ensure that the pressure control is close to the motor. If it is at the pump, the relief may open before the motor reaches full torque during acceleration and the door may slow or even stop. A slower rate of torque rise will be easier to handle in terms of pressure. Again, as discussed, power is a function of pressure and flow. So the slower they rise, the better. That said, if the system needs to have a high torque rise to work properly, so be it...just make sure you have enough power available and position the pressure control correctly.

While this is all going on, the controller will be looking at the motor speed and the door position and based on the parameters in the control algorithm, will being to modulate the command signal to achieve the steady state condition. The success of the attempted modulation will be largely dictated by the type of control.

In terms of pressure, you need to make sure you have enough to achieve the required max torque + the full system pressure drop between the outlet of the pump and the fluid reservoir. It is all additive. The maximum speed of the motor should be a function of the pump displacement x motor angular velocity. If you limit flow at the top speed, you will be wasting money and energy. I'd suggest setting the system up to give full spool stroke for max speed and just let the pump do the rest.

Max flow (M^3/sec) x Max Pressure (Pa) = Max hydraulic power
Add at least 15% for mechanical and volumetric efficiency losses to get the max system power requirement.

If you provide enough pressure and flow to be able to achieve the required results, you just need to work out the control. The control theory is a completely different story. Let us know if you need further details on exactly how PID (Proportional Intergral Differential) works.

Hesitate to ask further questions, there is much more to this than we have covered above (all posts).



RE: Hydraulic motor control

garycvv, you should use an SSI multi turn absolute encoder either or on the ball screw. You could use an encoder but then you would need to re-home the system each time power went off.

It isn't clear if you have done the math but if accelerating 1/3, at constant velocity 1/3 and decelerating 1/3 of the time the peak speed will be 1 m/s and the average acceleration will be 2 m/s^2. Here is where a decision needs to be made. You could use a trapezoid motion profile but that requires the acceleration to go from 0 to 2 m/s^2 instantly. This really isn't possible because it takes a few milliseconds to ramp up pressure. You should use s-curves where the acceleration starts and ends at 0 but the peak is about 50% higher than the average acceleration. This will result in smoother starts and stops. You should count on 3m/s^2 peak acceleration. 9.8 m/s^ is 1 g.

Since this system is moving fairly quickly you should consider using feed forward gains. These gains a multiplied the target velocity, acceleration and maybe even the jerk to anticipate what the control output needs to be for velocity, acceleration and jerk. The problem with using PIDs alone is that they respond to error. There must be error for a PID to generate an control signal. When using feed forwards the control output can be estimated to within about 5% of the actual control output so the PID only needs to make the last 5% correction instead of generating the whole control output. Feed forward gains reduce error and integrator windup and therefore over shoot. If the system is well designed the feed forward gains can estimate the control output almost perfectly.

When using closed loop control it is best to keep the system pressure constant. If the system pressure changes the closed loop tuning will need to change. To keep the system pressure relatively constant an accumulator should be used. Accumulators also supply the oil when starting because it takes a while for the hydraulic pump to start to supply oil. The motion controller should know exactly where the door is and where it should be every millisecond. If there is a difference that exceeds a user settable limit then the motor controller can fault or execute some error routine like move to a safe position.

If a torque limit is desired then pressure sensors should be added to the A and B ports of the motor so the ΔP and torque can be monitored or limited.

The closed loop controller should get its feed back from the multi turn SSI absolute encoder. The controller will output either +/- 10volts or +/- current to the valve. This depends on the valve being used. I recommend getting a valve with a servo quality spool with little or no over lap for best control. Mount the valve as close to the hydraulic motor as possible and use solid piping only between the valve and the motor.

Peter Nachtwey
Delta Computer Systems

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close