Hydraulic Linear Motion Precision Controll

More
17 Aug 2022 22:00 #249975 by andypugh
Replied by andypugh on topic Hydraulic Linear Motion Precision Controll

As far as I understand there is a velocity control mode on LinuxCNC which is used to control old servos with  Analog +-10V. And proportional valves also control the velocity of the Hydraulic cylinder.
So what do you think, is there a way of converting a +-10V signal into Step/Dir Pulses to let the stepper deviate from the zero position?
How is it possible to implement in software, or is it simpler to do in hardware, for example, to have an external microcontroller to convert the signals?
 

I think that it is easier to do it in software, but it isn't really a special velocity control mode. It's all just numbers and the controller has no idea what they really mean, that's up to you. 

But you can certainly have a PID controller take a position as command and feedback and output a value that you use as the velocity control input of a stepper motor, if that is what you want to do. 
 
The following user(s) said Thank You: vanhalen90

Please Log in or Create an account to join the conversation.

More
18 Aug 2022 12:31 #250014 by Todd Zuercher
Replied by Todd Zuercher on topic Hydraulic Linear Motion Precision Controll
I think for this you would actually be commanding the stepper motor with position commands, but those position commands would correlate with the velocity command of the hydraulic servo. So you'd command the stepper to move to X number of steps to move the control arm to Y angle resulting in opening the valve to move the hydraulics at N velocity. So in essence the position of the steeper would be the velocity command.

But in then end like Andy said, it's all just numbers, and the control doesn't know what the numbers really mean, It is up to you to scale and plug them in where they need to go to work. And I see no reason this couldn't work the same as any ordinary analog servo system. Where in a servo you have your +/-10v analog signal will be connected to your step generators position command (and scaled appropriately) instead of to a drive's analog velocity command input.
The following user(s) said Thank You: vanhalen90

Please Log in or Create an account to join the conversation.

More
18 Aug 2022 12:54 #250016 by Todd Zuercher
Replied by Todd Zuercher on topic Hydraulic Linear Motion Precision Controll
Start with an ordinary analog servo config, Then where the pid's output would be connected to the analog output command. You would connect that instead to your stepgen's position command. If you are using a Mesa hardware stepgen I wouldn't bother with using the usual PID to stepgen velocity command setup. I think i'd just connect directly to the stepgen's position command input.

You might find that the existing screws and other intermediate hardware between the stepper and the control valve are nessisary to have the required resolution to adequately control the valve with the stepper motor. (This is just a guess not having seen how it is really set up.) If that isn't the case simpler is almost always better.
The following user(s) said Thank You: vanhalen90

Please Log in or Create an account to join the conversation.

More
12 Apr 2025 10:41 #326157 by vanhalen90
Replied by vanhalen90 on topic Hydraulic Linear Motion Precision Controll
Hi Guys,
It's been a long time since the last update. At least 5 versions of linuxcnc ;)
I have done some interesting modifications to the machine.
I have attached the valve shaft to a lead screw with backlash compensated nut. 
Later, I am going to replace that with the Ball Screw.
Then, the valve is moved via a timing belt connected to the stepper motor.
With a 2mm screw pitch It is possible to locate valve shaft with decent acuracy.
Please see the attached picture.
For the past couple of weeks, I've been trying to tune the PID for that setup. But it is hard.
It oscillates a lot, or it is not compensating the steady state error.
I would love to hear your advice on a couple of points:

1) What is the typical following error for an axis with a linear scale of 0.001mm resolution(1 micron)? In steady state it is able to position the axis within +-0.005 accuracy. Do you think it is possible to get more from that scale resolution?
During acceleration and deceleration, an error jumps up to 0.1mm at 1500mm/min speed. What is a typical result for well well-tuned PID loop?
2) Do you think I should set up a two-stage PID control loop? One stage is to control the position of the valve shaft based on the velocity feedback from the scale. And that another loop to control the position and give a commanded velocity as an output?

Thank you!

PS. I do have some videos that I can share in case you are interested.


 
Attachments:
The following user(s) said Thank You: jpg

Please Log in or Create an account to join the conversation.

More
12 Apr 2025 11:43 #326161 by jpg
Hello, yes your editing is very interesting, don't hesitate to share the videos and share, I didn't know this operating principle, thank you

Please Log in or Create an account to join the conversation.

More
12 Apr 2025 20:50 #326194 by PCW
1) What is the typical following error for an axis with a linear scale of 0.001mm resolution(1 micron)? In steady state it is able to position the axis within +-0.005 accuracy. Do you think it is possible to get more from that scale resolution?

Typically, some I term is added to reduce the static error.

During acceleration and deceleration, an error jumps up to 0.1mm at 1500mm/min speed. What is a typical result for well well-tuned PID loop?

That mostly depends on the characteristics of the controlled device (delays, linearity etc)

Can you post a Halscope plot of following error and velocity?
 

Please Log in or Create an account to join the conversation.

Time to create page: 0.212 seconds
Powered by Kunena Forum