General Help

More
09 May 2018 10:20 #110415 by tjd
Replied by tjd on topic General Help
Can anyone offer advice on PID servo tuning?
Read a previous thread from last year here but not sure it was relevant.
When I activate X axis servo it jumps (rapid acceleration??) then levels out. Is this to be expected?
I've raised P until oscillation then increased I to remove it but to be honest am floundering around in the dark here!!
What are the best pins to monitor for Halscope?

5i25 + 7i77 (single)
Hurco KM3 CNC (1995) with Servomate Drives

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

More
09 May 2018 10:27 #110416 by andypugh
Replied by andypugh on topic General Help
Can you link to the instructions you followed? I haven't seen any guides that say to tune P to oscillation then increase _I_ to remove oscillation.

Is the jump due to FF0 or FF1 perhaps? What numbers do you have there?

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

More
09 May 2018 10:46 #110417 by tjd
Replied by tjd on topic General Help
Linuxcnc Documentation: Chapter 16 PID Tuning: 16.1.3. Loop Tuning Simple Method.
linuxcnc.org/docs/2.7/html/motion/pid-theory.html#_loop_tuning

To be fair I could well have read it wrong - as said above, I'm floundering around in the dark here!!

For FF0/FF1 I have the defaults which I think (I'm not currently at CNC PC) has FF0 at 0 and FF1 at 1

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

More
09 May 2018 11:05 #110418 by andypugh
Replied by andypugh on topic General Help
The bump could be FF1 if overall scaling is wrong. Try an FF1 of zero and see if the bump disappears.

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

More
09 May 2018 11:07 #110420 by tjd
Replied by tjd on topic General Help
Thanks very much, I'll give that a go.

At the risk of being a complete rookie here - can you explain what you mean by scaling?

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

More
09 May 2018 11:32 #110421 by andypugh
Replied by andypugh on topic General Help

can you explain what you mean by scaling?


Assuming a velocity-mode servo drive, if a velocity command of 10 units/sec into the 7i77 analogue stage gives 10 units/sec at the motor, then the scaling is correct.

So, then, if an input of 10 units/sec into the PID from the cmd-deriv input (or internally calculated) when mutiplied by the FF1 Gain (of 1) you should get exactly what is requested as the output velocity.

The PID output is just the sum of 6 terms:
FF0 * position command
FF1 * velocity command
FF2 * acceleration command
PGain * position error
IGain * integral of position error
DGain * derivative of position error.

P, I and D do have units, but you never really know what they are, so they always need tweaking. But FF0, FF1 and FF2 have the same units as the machine, so a gain of 1 is only correct if the output scaling gives the same units.

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

More
09 May 2018 11:44 #110422 by tjd
Replied by tjd on topic General Help
Thanks very much for that, that makes things a little clearer.

So with that in mind, should I continue with the 'Increase P till oscillation' then increase I to stop oscillation.....' method to tune the axis?

On another HAL PID Tutorial it uses Halscope to get the axis tuned correctly - is this something you're familiar with?
gnipsel.com/linuxcnc/tuning/servo.html

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

More
09 May 2018 11:55 #110424 by andypugh
Replied by andypugh on topic General Help

So with that in mind, should I continue with the 'Increase P till oscillation' then increase I to stop oscillation.....' method to tune the axis?

No, because nothing ever says to do that :-)
Some guides say to increase _D_ to kill the oscillation, but none ever say to use I, as far as I know.

On another HAL PID Tutorial it uses Halscope to get the axis tuned correctly - is this something you're familiar with?
gnipsel.com/linuxcnc/tuning/servo.html

I think this is the best way. It lests you see exactly what effect each parameter is having.

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

More
09 May 2018 11:57 #110425 by andypugh
Replied by andypugh on topic General Help

So with that in mind, should I continue with the 'Increase P till oscillation' then increase I to stop oscillation.....' method to tune the axis?

No, because nothing ever says to do that :-){edit} Actually, it does say that, doesn't it? I have never heard of that approach, and I would be surprised if it worked well.
Some guides say to increase _D_ to kill the oscillation, but none ever say to use I, as far as I know.

On another HAL PID Tutorial it uses Halscope to get the axis tuned correctly - is this something you're familiar with?
gnipsel.com/linuxcnc/tuning/servo.html

I think this is the best way. It lests you see exactly what effect each parameter is having.

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

More
09 May 2018 12:01 #110426 by tjd
Replied by tjd on topic General Help
Cool!!

With the halscope method, what are the pins/signals/parameters I need on the scope? my setup didn't reflect quite the same pin names.
I'm using 5i25 + 7i77

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

Time to create page: 0.178 seconds
Powered by Kunena Forum