- Hardware & Machines
- CNC Machines
- Milling Machines
- A-M-C A12A100 Servo Drive with SouthWestern Ind ProtoTrak Plus
A-M-C A12A100 Servo Drive with SouthWestern Ind ProtoTrak Plus
24 Feb 2021 00:12 - 24 Feb 2021 00:21 #199901
by PCW
Replied by PCW on topic A-M-C A12A100 Servo Drive with SouthWestern Ind ProtoTrak Plus
It does not look like your I term is doing anything, have you tried
large values (say 1000 to 50000)?
To get an idea of the scale for I, with a 50 uinch error for 100 millisecs
(1 division in your plots), a I value of 1 would only result in a 5 uV change
in the PID output. An I value of 10000 would still only result in a 50 mV
change over the same 100 ms.
large values (say 1000 to 50000)?
To get an idea of the scale for I, with a 50 uinch error for 100 millisecs
(1 division in your plots), a I value of 1 would only result in a 5 uV change
in the PID output. An I value of 10000 would still only result in a 50 mV
change over the same 100 ms.
Last edit: 24 Feb 2021 00:21 by PCW.
The following user(s) said Thank You: new2linux
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5007
- Thank you received: 1440
24 Feb 2021 14:15 #199986
by Todd Zuercher
Replied by Todd Zuercher on topic A-M-C A12A100 Servo Drive with SouthWestern Ind ProtoTrak Plus
I agree with what Peter is saying about the I term.
But as to the FF1, that is what I was hoping to alleviate with using the FF1 limit. Try leaving the FF1 about 1.4 and decreasing the FF1 limit until it is close to zero at your fastest feed rate. Then see what it does at slower feeds. Again remember this is all just an experiment. Another possible option for limiting FF1 might be to set FF1= a constant/the commanded velocity. If these ideas don't work, we may just have to give up on using FF1 at all, and try to do all (or as much as we can) of the steady state error correction using the I term.
I did find that setting a value for "pid.N.maxerrorI" was useful when using very large I term values, like you are going to need. There will be a certain maximum error amount that will max out the PID output for a given I setting. Any amount of error beyond that only causes windup in the PID and can/will cause huge overshoot when the error is finally corrected. Setting the max error I for that value helps prevent the I induced overshoot.
What is your servo thread period? Can you PC handle running a faster thread speed? (500000, or 250000)
But as to the FF1, that is what I was hoping to alleviate with using the FF1 limit. Try leaving the FF1 about 1.4 and decreasing the FF1 limit until it is close to zero at your fastest feed rate. Then see what it does at slower feeds. Again remember this is all just an experiment. Another possible option for limiting FF1 might be to set FF1= a constant/the commanded velocity. If these ideas don't work, we may just have to give up on using FF1 at all, and try to do all (or as much as we can) of the steady state error correction using the I term.
I did find that setting a value for "pid.N.maxerrorI" was useful when using very large I term values, like you are going to need. There will be a certain maximum error amount that will max out the PID output for a given I setting. Any amount of error beyond that only causes windup in the PID and can/will cause huge overshoot when the error is finally corrected. Setting the max error I for that value helps prevent the I induced overshoot.
What is your servo thread period? Can you PC handle running a faster thread speed? (500000, or 250000)
The following user(s) said Thank You: new2linux
Please Log in or Create an account to join the conversation.
24 Feb 2021 18:27 #200009
by new2linux
Replied by new2linux on topic A-M-C A12A100 Servo Drive with SouthWestern Ind ProtoTrak Plus
Todd and PCW, Many thanks. The servo thread rate question, the computer is a Intel Pentium 4 HT, there is a pic for this question. I have a better feel for the "I" values and included several pic of the traces (many other to pick from) attached below. As per suggestion feed rate & unit scale is the same in all pics. Some of the "I" goes as high as 89000. many thanks
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5007
- Thank you received: 1440
24 Feb 2021 19:07 #200011
by Todd Zuercher
Replied by Todd Zuercher on topic A-M-C A12A100 Servo Drive with SouthWestern Ind ProtoTrak Plus
Can you change the scale in halscope for the pid.x.output pin, so that we can see what it's peaks are. Change it to something more like 2 instead of 100m. That way we can see if it ever tries to go beyond +/-10.
The following user(s) said Thank You: new2linux
Please Log in or Create an account to join the conversation.
24 Feb 2021 20:01 #200019
by new2linux
Replied by new2linux on topic A-M-C A12A100 Servo Drive with SouthWestern Ind ProtoTrak Plus
Todd Thanks for your help!! Attached is the trace you asked for, I = 10000, in the white trace. many thanks
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5007
- Thank you received: 1440
24 Feb 2021 21:04 #200026
by Todd Zuercher
Replied by Todd Zuercher on topic A-M-C A12A100 Servo Drive with SouthWestern Ind ProtoTrak Plus
I think you have too much FF2, and try decreasing the FF1limit to 3 or 2. Still might be able to use more I.
The following user(s) said Thank You: new2linux
Please Log in or Create an account to join the conversation.
24 Feb 2021 22:23 #200042
by new2linux
Replied by new2linux on topic A-M-C A12A100 Servo Drive with SouthWestern Ind ProtoTrak Plus
Todd, Many thanks for the help!! Attached are some of many pics of the trace. I will only post a few of the best (from my limited knowledge) trace with low error, check the units, they move around!!! The very 1st pic and very last pic are almost identical settings, all are the same feed 29"/min. many thanks!
Please Log in or Create an account to join the conversation.
25 Feb 2021 13:12 - 25 Feb 2021 13:14 #200094
by new2linux
Replied by new2linux on topic A-M-C A12A100 Servo Drive with SouthWestern Ind ProtoTrak Plus
Todd and PCW, Many thanks for your help as per Todd's earlier post that reads: (10 Feb 2021 19:56 #198318)
"You need more FF2 to improve the f-error in the area circled red, and more FF1 to improve the area circled yellow"
The yellow circled area is controlled by FF1, more FF1 is to make the pid x output, get closer to the horizontal line as gain goes up?
In the following pic (at Todd's post) has circled in orange, the area of interest is the 1st area that crossed the horizontal line (between the numbers 4 & 5 at bottom of that screen pic), that shows too much FF2. It should go just up to line, but not cross over?
My plan is to revisit I, FF1, FF2 & FF1 LIMIT. Small up and down at each setting and I want to have clear vision of what success looks like.
In my prior post of pics there is only 1 with the FF1 LIMIT of.84 has gain set at 50/div.
many thanks!!
"You need more FF2 to improve the f-error in the area circled red, and more FF1 to improve the area circled yellow"
The yellow circled area is controlled by FF1, more FF1 is to make the pid x output, get closer to the horizontal line as gain goes up?
In the following pic (at Todd's post) has circled in orange, the area of interest is the 1st area that crossed the horizontal line (between the numbers 4 & 5 at bottom of that screen pic), that shows too much FF2. It should go just up to line, but not cross over?
My plan is to revisit I, FF1, FF2 & FF1 LIMIT. Small up and down at each setting and I want to have clear vision of what success looks like.
In my prior post of pics there is only 1 with the FF1 LIMIT of.84 has gain set at 50/div.
many thanks!!
Last edit: 25 Feb 2021 13:14 by new2linux.
Please Log in or Create an account to join the conversation.
25 Feb 2021 15:26 #200098
by new2linux
Replied by new2linux on topic A-M-C A12A100 Servo Drive with SouthWestern Ind ProtoTrak Plus
Todd and PCW, Many thanks! Attached are pics of how the I effect and the FF1 limit. All same gain units. I think the lower "I" has lower f error. many thanks!
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5007
- Thank you received: 1440
25 Feb 2021 16:20 #200107
by Todd Zuercher
Replied by Todd Zuercher on topic A-M-C A12A100 Servo Drive with SouthWestern Ind ProtoTrak Plus
I don't think ff1limit is going to work. May I suggest trying out a dual PID loop? But it is fairly complicated hal code to set up.
If you post copies of your current hal and ini files I could try to modify them for you to do that. But I am a bit busy today, might not be able to get to it till tomorrow.
If you post copies of your current hal and ini files I could try to modify them for you to do that. But I am a bit busy today, might not be able to get to it till tomorrow.
The following user(s) said Thank You: new2linux
Please Log in or Create an account to join the conversation.
Moderators: piasdom
- Hardware & Machines
- CNC Machines
- Milling Machines
- A-M-C A12A100 Servo Drive with SouthWestern Ind ProtoTrak Plus
Time to create page: 0.099 seconds