help with servo tuning
- Eric282000
- Offline
- New Member
Less
More
- Posts: 10
- Thank you received: 3
19 Jan 2017 02:45 #86123
by Eric282000
help with servo tuning was created by Eric282000
I have a slant bed lathe that came with a Fanuc 3t control.
I have retrofitted with Linuxcnc 2.78 , mesa7177, mesa 5i25.
I am using the Fanuc servos, encoder and drives.
the encoders are 2000 cpr with a 2 to 1 belt drive to the ball screws which are .200 per revolution.
80000 pulses per inch.
I have the servos tuned to fairly well around 0.00015 following error in a long cruse.
my problem is steady state fowling error. my ferror when the axis is stationary is right at .0002.
what is happening is when I home the machine and set the dro to 0 they read .0002. if I zero either axis they read .0002
if I manually punch in -0.0002 the dro will read 0.
if I do a x1 z1 the lathe go s to x1.0002 and z 1.0002.
I have made sure to issue 92.1 checked all offsets to make sure they are 0.
the only thing that changes the .0002 offset is running the proportional way up which brings the steady state error down to .0001.
now when I zero the machine the dro will read .0001.
my pid settings are
P =80
FF1 = 1.97
FF2 = .003
ALL OTHERS = 0
I'm at a loos here so any help is appreciated.
I have retrofitted with Linuxcnc 2.78 , mesa7177, mesa 5i25.
I am using the Fanuc servos, encoder and drives.
the encoders are 2000 cpr with a 2 to 1 belt drive to the ball screws which are .200 per revolution.
80000 pulses per inch.
I have the servos tuned to fairly well around 0.00015 following error in a long cruse.
my problem is steady state fowling error. my ferror when the axis is stationary is right at .0002.
what is happening is when I home the machine and set the dro to 0 they read .0002. if I zero either axis they read .0002
if I manually punch in -0.0002 the dro will read 0.
if I do a x1 z1 the lathe go s to x1.0002 and z 1.0002.
I have made sure to issue 92.1 checked all offsets to make sure they are 0.
the only thing that changes the .0002 offset is running the proportional way up which brings the steady state error down to .0001.
now when I zero the machine the dro will read .0001.
my pid settings are
P =80
FF1 = 1.97
FF2 = .003
ALL OTHERS = 0
I'm at a loos here so any help is appreciated.
Please Log in or Create an account to join the conversation.
19 Jan 2017 03:23 - 19 Jan 2017 03:24 #86124
by PCW
Replied by PCW on topic help with servo tuning
The standard way to reduce the static error is to add I term
The greater the I term, the faster the residual error will be corrected
Too much I term will lead to instability however
The greater the I term, the faster the residual error will be corrected
Too much I term will lead to instability however
Last edit: 19 Jan 2017 03:24 by PCW.
Please Log in or Create an account to join the conversation.
- Eric282000
- Offline
- New Member
Less
More
- Posts: 10
- Thank you received: 3
19 Jan 2017 03:39 #86125
by Eric282000
Replied by Eric282000 on topic help with servo tuning
I had tried adding i.
I started at .5 and went up to 3 without much change. I will try going a little higher tomorow
Thanks
I started at .5 and went up to 3 without much change. I will try going a little higher tomorow
Thanks
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5008
- Thank you received: 1440
19 Jan 2017 13:55 #86147
by Todd Zuercher
Replied by Todd Zuercher on topic help with servo tuning
Do your drives have any velocity feedback? If they don't, your running in torque mode, and you will likely need quite a lot of I. Add I until it becomes unstable then back it off about 20-30%. When tuning torque mode servo's I have observed some odd behavior tuning the I-term. Such as the following error becoming much worse at intermediate lower I-term levels then coming back in line as the I-term becomes more influential. I have used I-term settings as high as 3-5k on an inch configured machine with marginally weak servos.
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5008
- Thank you received: 1440
19 Jan 2017 14:07 #86149
by Todd Zuercher
Replied by Todd Zuercher on topic help with servo tuning
Also when using large I-term settings, it can be very helpful to set a value for pid.N.maxerrorI to help prevent windup of the I-term.
Please Log in or Create an account to join the conversation.
19 Jan 2017 15:07 #86151
by PCW
Replied by PCW on topic help with servo tuning
Also I think its its helpful to think of what the I term value means numerically
With your I=3 and 0.0002" error, this means the PID output slews
at 0.0006V per second to correct the 0.0002 error
or 0.000012 IPS at 0.0002" error so its going to take a long time to correct the error
(guessing your velocity scaling from your FF1 term)
With your I=3 and 0.0002" error, this means the PID output slews
at 0.0006V per second to correct the 0.0002 error
or 0.000012 IPS at 0.0002" error so its going to take a long time to correct the error
(guessing your velocity scaling from your FF1 term)
Please Log in or Create an account to join the conversation.
- Eric282000
- Offline
- New Member
Less
More
- Posts: 10
- Thank you received: 3
19 Jan 2017 17:53 #86180
by Eric282000
Replied by Eric282000 on topic help with servo tuning
The servo Motors are FANUC Yellow Cap Motors. The servo drives are Velocity mode drives with tachometer feedback. I am generating the tach signal from the mesa 7177 analog outputs. The FANUC drives required 3 volts per 1000 rpm. I have calibrated the Mesa 7177 to output 6 volts at 2000 RPM. I had read on the form where other people had used this setup for the Fauc Drive.
When I get home tonight I will try increasing i and see how it behaves
When I get home tonight I will try increasing i and see how it behaves
Please Log in or Create an account to join the conversation.
- Eric282000
- Offline
- New Member
Less
More
- Posts: 10
- Thank you received: 3
20 Jan 2017 02:41 #86221
by Eric282000
Replied by Eric282000 on topic help with servo tuning
I played around with adding I to my pid loop. I tried from 3 to 1000 and nothing seemed to make much difference.
purely by luck I noticed every time I hit the power button and enabled the drives .0002 was added to my dro,s.
I started watching the pid.output and found every time I enabled the drives the output went from 0 to -0.0004*****
I adjusted the offset on the drives until I got the pid output as close to 0 as I could when I enabled the drives.
this corrected 95% of my steady state error. I will do more testing this weekend.
thanks for all the suggestions.
purely by luck I noticed every time I hit the power button and enabled the drives .0002 was added to my dro,s.
I started watching the pid.output and found every time I enabled the drives the output went from 0 to -0.0004*****
I adjusted the offset on the drives until I got the pid output as close to 0 as I could when I enabled the drives.
this corrected 95% of my steady state error. I will do more testing this weekend.
thanks for all the suggestions.
Please Log in or Create an account to join the conversation.
22 Jan 2017 21:07 #86424
by andypugh
What setting did you have for maxerrorI ?
Replied by andypugh on topic help with servo tuning
I played around with adding I to my pid loop. I tried from 3 to 1000 and nothing seemed to make much difference.
What setting did you have for maxerrorI ?
Please Log in or Create an account to join the conversation.
- Eric282000
- Offline
- New Member
Less
More
- Posts: 10
- Thank you received: 3
22 Jan 2017 21:28 #86427
by Eric282000
Replied by Eric282000 on topic help with servo tuning
My maxerror is 0.00002
Please Log in or Create an account to join the conversation.
Time to create page: 0.088 seconds