A-M-C A12A100 Servo Drive with SouthWestern Ind ProtoTrak Plus

More
09 Feb 2021 16:36 #198160 by Todd Zuercher
Changing FF2 doesn't seem to be doing much. Try larger values still, 0.1, 1, more if there isn't any change. We are trying to tame the large f-error during the acceleration phase, and hopefully improve the cruising error.

Could you add the hal pin "pid.x.error" to the hal scope trace? (This is to make sure that the error meaured by the PID agrees with the axis.0.f-error. For tuning purposes it may be better to use the pid error. (especially if it doesn't agree with the axis f-error. It is possible we may need the error previous target setting (but I doubt it will help and may make it worse.) The reason is because of processing orders can result in a servo thread period error in the error calculation giving you a velocity dependent error reading that you can't tune out because the PID isn't actually seeing that error.
The following user(s) said Thank You: new2linux

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

More
09 Feb 2021 17:16 #198165 by new2linux
Todd, Thanks. The "pid.x.error" and the axis.0.f-error look to be exactly like each other. The FF2 values are on the file name. I pondered the "pid.x.error" and the axis.0.f-error and it could be the difference is very small, should I use different scale?

many thanks
Attachments:

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

More
09 Feb 2021 19:27 - 09 Feb 2021 19:43 #198188 by new2linux
Many thanks!!
The resistance to moving the table was not so great so I started again with high settings, good resistance to motion, not so good feed rate. Attached are pics of the most recent. The file (p5000i60d33ff2_.0147feed10) p5000 i60 d33 ff2_.0147 feed10"/min has all the traces on, 3 look to be all most identical.

thanks

Edit: Trace was replaced. New pic
Attachments:
Last edit: 09 Feb 2021 19:43 by new2linux. Reason: add pic

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

More
09 Feb 2021 20:31 #198197 by Todd Zuercher
I thought I had replied to your last post.

FF2=.5 is definitely too much and .146 looked like it was still too little. The idea is to bracket the response and shoot for the middle. Try FF2= about 2 then depending what that looks like adjust it up or down as needed.

You may need to add some FF1 to help with the cruise error.

It is better to tune the feed forwards before getting too aggressive with tuning the P and I terms.

For your 2nd post P=5000 is much too much, and P=4500 still looks a bit rough, try P=4000, and then maybe a bit more D to try to help with the over shoot. You may find that a lower P value (such as half the value you want to use) makes tuning some of the others easier. (because the responses from the others will be larger and easier to see the change.)

I still think you could benefit from more I-term. I still don't think you have found the I instability point.

Becarefull of changing more than one thing at a time. If you do you won't know what changes you made the improvement (or worse) and you can quickly become lost and not know what is doing what.
The following user(s) said Thank You: new2linux

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

More
10 Feb 2021 19:19 #198313 by new2linux
Todd, Many thanks!! I have attached 4 pic, only 3 different settings (the 1 pic has big and small trace) as per your suggestions. I have tried many settings other than what is pictured. The 1 thing that if not careful when changing values is, if the motor has any vibration, seems like it will f error every time, need to cycle F2 and then start the trace to record accurate trace. When P is at 4000 range, motor seems to have better resistance to motion.

many thanks!
Attachments:

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

More
10 Feb 2021 19:56 #198318 by Todd Zuercher
I don't think you are going to get anywhere messing arround with P until you get the other tuning values set better.

You need to concentrate on dialing in the feed forward values first.

You need more FF2 to improve the f-error in the area circled red, and more FF1 to improve the area circled yellow


When you added too much FF2 (0.5) the trace looked like this. The f-error went negative because too much FF2 caused the movement to actually move/accelerate faster than it should have. like in the orange circled area below.


It may also be smart to shorten the length of your move so that you can see both the acceleration and deceleration on the halscope plot.

Having the feed forwards properly tuned helps with tuning the other terms because then they do not have to deal with large steps in error and movement, all they need to do is make it stiff.
Attachments:
The following user(s) said Thank You: new2linux

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

More
11 Feb 2021 17:38 - 11 Feb 2021 19:50 #198421 by new2linux
Todd, many thanks for your help. Attached is most recent trace, the units differ between the traces, so read close. The setting are the file name, including feed rate.

many thanks!

Edit: This additional pics show the D, 85 vs. 83; feed rate 22"/min. Read file name for settings. Units scaled to show best view.

Edit: new pic, ff1 & ff2 tweaked.
Attachments:
Last edit: 11 Feb 2021 19:50 by new2linux. Reason: new pic, 2nd time

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

More
12 Feb 2021 16:57 #198546 by new2linux
Todd, thanks for the help!! The trace I=855 vs. the trace with I=483. The I=855 is the preferred trace? Given all other setting are the same. I can get the "axis x f-error", a jagged horizontal w/o spike at the beginning using FF2, as to get the jagged horizontal closer to the "axis joint-vel-cmd"-trace. This is what I should be tuning towards? The other pic is about the feed rate, this is only thing changed as in reference to I=483. Read file name for settings, all units are uniform in relationship to each other.

many thanks!!
Attachments:

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

More
12 Feb 2021 17:45 - 12 Feb 2021 18:35 #198554 by PCW
You need to tune FF1 and FF2 (with I and D=0 and P = low, say 20)
first.

Both FF1 and FF2 are way out of tune

If the following error during constant speed motion is in the same direction as the velocity, FF1 is too low.

If the following error during acceleration is positive when the velocity is increasing (becoming more positive), FF2 is too low.

These are both true in your plots
Last edit: 12 Feb 2021 18:35 by PCW.
The following user(s) said Thank You: new2linux

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

More
12 Feb 2021 18:39 - 12 Feb 2021 18:54 #198560 by new2linux
PCW, Many thanks!! I have a several trace with FF1 & FF2 tweaked. Please read file name for settings. The units are not uniform! I will ponder the traces with the low P of 20. The green trace is the most noticeable change. No order to the pics.

many thanks!

PCW, Just read your "If the following error during constant speed motion is in the same direction as the velocity, FF1 is too low.

If the following error during acceleration is positive when the velocity is increasing (becoming more positive), FF2 is too low."

I will work this in. many thanks!

PCW, I have read this (calculating FF1) several times, can I work with? This is from this link, tommylight as written: forum.linuxcnc.org/10-advanced-configura...ning-detailed-how-to


"Added 22.08.2019
-PCW mentioned several times that the FF1 value can be:

You either calculate FF1 (10/velocity@10V)
or
scale the analog output in velocity in which case FF1 = 1.0"

many thanks!
Last edit: 12 Feb 2021 18:54 by new2linux. Reason: pics, question

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

Moderators: piasdom
Time to create page: 0.139 seconds
Powered by Kunena Forum