servo PID tuning
02 May 2017 11:51 #92512
by BramVH
servo PID tuning was created by BramVH
Hi all,
I have some troubles getting the servos tuned
the hardware i have is: mesa 5i25 + 7i77, attached to that are some very large servo drives 3, 3 and 5 KW (the machine is a Biesse Rover 342)
I am able to run the machine, but the servos make an extreme loud oscillating noise, and the drives go in to error sometimes
the only way i can "tune" this setup so it doesn't immediately errors out is P = 1 and all the other parameters set to 0, the minute i change any parameter it oscillates violently and stops working
when above settings are in the pid, the follow error is less than 0.08 mm, so very acceptable, but the noise worries me, any ideas?
and a second question I have is how fast should I be able to run the axis? with the original controller the x moved at speeds of up to 80 000 mm/min, right now I get 2000 mm/min (encoder has 1000 ppr)
Thanks,
Bram
I have some troubles getting the servos tuned
the hardware i have is: mesa 5i25 + 7i77, attached to that are some very large servo drives 3, 3 and 5 KW (the machine is a Biesse Rover 342)
I am able to run the machine, but the servos make an extreme loud oscillating noise, and the drives go in to error sometimes
the only way i can "tune" this setup so it doesn't immediately errors out is P = 1 and all the other parameters set to 0, the minute i change any parameter it oscillates violently and stops working
when above settings are in the pid, the follow error is less than 0.08 mm, so very acceptable, but the noise worries me, any ideas?
and a second question I have is how fast should I be able to run the axis? with the original controller the x moved at speeds of up to 80 000 mm/min, right now I get 2000 mm/min (encoder has 1000 ppr)
Thanks,
Bram
Please Log in or Create an account to join the conversation.
- Todd Zuercher
-
- Away
- Platinum Member
-
Less
More
- Posts: 4978
- Thank you received: 1377
02 May 2017 12:24 #92514
by Todd Zuercher
Replied by Todd Zuercher on topic servo PID tuning
It should be able to run just as fast as (or faster than) the old system.
PID parameters do not have to be whole numbers, Values greater than 0 but less than 1 are perfectly valid.
One setting that may help a lot, is having FF1 set to something close to 1 (assuming velocity input drives, and that every thing else is set up right.)
PID parameters do not have to be whole numbers, Values greater than 0 but less than 1 are perfectly valid.
One setting that may help a lot, is having FF1 set to something close to 1 (assuming velocity input drives, and that every thing else is set up right.)
Please Log in or Create an account to join the conversation.
02 May 2017 12:31 #92516
by BramVH
Replied by BramVH on topic servo PID tuning
If I Set FF1 to 1 then there is a violent overshoot at start and stop that triggers drive to go into fault. only when at 0 I am able to run the axis.
I have also assumed the drives were velocity input drives, maybe this is wrong
I have also assumed the drives were velocity input drives, maybe this is wrong
Please Log in or Create an account to join the conversation.
- Todd Zuercher
-
- Away
- Platinum Member
-
Less
More
- Posts: 4978
- Thank you received: 1377
02 May 2017 12:59 #92518
by Todd Zuercher
Replied by Todd Zuercher on topic servo PID tuning
Lets start by examining your ini file for all the axis' (joint's) scale and pid settings. Could you post a copy of your ini file?
What happens when you apply a small constant voltage to the the drives analog input (say for example that from a half dead AA battery)? Does the motor turn at a constant velocity regardless of load? (This might be best tested with the motor disconnected from the machine.)
What happens when you apply a small constant voltage to the the drives analog input (say for example that from a half dead AA battery)? Does the motor turn at a constant velocity regardless of load? (This might be best tested with the motor disconnected from the machine.)
Please Log in or Create an account to join the conversation.
02 May 2017 15:33 #92521
by BramVH
Replied by BramVH on topic servo PID tuning
Yes, I will post the ini file, but can only do that after a visit to the worksop, probably tomorrow.
What I can tell you is when I set P = 0 and all other parameters set to 0 the motor does not oscillate, and runs away slowly about 0.1 mm per second until max follow error is reached, so this gave me the impression that it was in velocity mode and my 0 reference is not exact 0
What I can tell you is when I set P = 0 and all other parameters set to 0 the motor does not oscillate, and runs away slowly about 0.1 mm per second until max follow error is reached, so this gave me the impression that it was in velocity mode and my 0 reference is not exact 0
Please Log in or Create an account to join the conversation.
- Todd Zuercher
-
- Away
- Platinum Member
-
Less
More
- Posts: 4978
- Thank you received: 1377
02 May 2017 16:09 #92523
by Todd Zuercher
Replied by Todd Zuercher on topic servo PID tuning
If it is running away (slow, fast, any speed) with any amount of P, something isn't right. Because as the error increases the command input by the P term will increase and should eventually cause the error to return to zero.
Please Log in or Create an account to join the conversation.
02 May 2017 16:13 #92524
by BramVH
Replied by BramVH on topic servo PID tuning
when p = 0 the error gets multiplied by 0 so no change is made on the output right? or am I wrong here?
Please Log in or Create an account to join the conversation.
- Todd Zuercher
-
- Away
- Platinum Member
-
Less
More
- Posts: 4978
- Thank you received: 1377
02 May 2017 16:16 #92525
by Todd Zuercher
Replied by Todd Zuercher on topic servo PID tuning
A slow drift like that with No P term, would not be unusual, infact it would be expected. But if P is large enough to influence movement (you can jog some) then there should be no drifting.
Please Log in or Create an account to join the conversation.
- Todd Zuercher
-
- Away
- Platinum Member
-
Less
More
- Posts: 4978
- Thank you received: 1377
02 May 2017 16:17 #92526
by Todd Zuercher
There should be no output period. (if all of your other terms are 0.)
Replied by Todd Zuercher on topic servo PID tuning
when p = 0 the error gets multiplied by 0 so no change is made on the output right? or am I wrong here?
There should be no output period. (if all of your other terms are 0.)
Please Log in or Create an account to join the conversation.
02 May 2017 16:22 - 02 May 2017 16:24 #92527
by PCW
Replied by PCW on topic servo PID tuning
With all PID loop feedback settings at 0 a slow runaway is what you would expect from a velocity mode drive so
that sounds good.
Velocity mode drives are tuned mainly with FF1 and P. Setting a low value of P thats stable should allow you to
dial in FF1 so that at a constant velocity, the actual (feedback) position does not lead or lag the commanded position
FF1 will only be 1 if the output scaling is setup so that the velocity commands to the drives are
in machine units per second (that is the PID loop is using normalized parameters, velocities instead of volts)
So for example on a mm machine if the X axis moves at 300 mm/sec with a 10V command you
would need the output scale set to 300 to have FF!=1
that sounds good.
Velocity mode drives are tuned mainly with FF1 and P. Setting a low value of P thats stable should allow you to
dial in FF1 so that at a constant velocity, the actual (feedback) position does not lead or lag the commanded position
FF1 will only be 1 if the output scaling is setup so that the velocity commands to the drives are
in machine units per second (that is the PID loop is using normalized parameters, velocities instead of volts)
So for example on a mm machine if the X axis moves at 300 mm/sec with a 10V command you
would need the output scale set to 300 to have FF!=1
Last edit: 02 May 2017 16:24 by PCW.
Please Log in or Create an account to join the conversation.
Time to create page: 0.238 seconds