Analog DC servo very big response delay

More
12 Nov 2019 17:34 #150233 by Glite
Well, jerk feedforward does help!






I've used values between 2e-06 to 4e-06 for axes. Increasing this further does reduce start undershoot, but increases end overshoot/undershoot.
I think P gain scheduling based on velocity should help too with start undershoot, but that will be another day.
I'm glad that it reduced by some degree almost all overshoots/undershoots, so I definitely think this should be added to PID component.
I attached modified pid.c
The following user(s) said Thank You: akb1212, tommylight, Benb

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

More
12 Nov 2019 18:14 #150236 by andypugh
Do you feel like adding the new pin description to the docs and comments in pid.c and submitting a pull request on Git?

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

More
12 Nov 2019 19:04 #150240 by Glite
Sure, I will check that.

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

More
12 Nov 2019 20:30 #150246 by Glite
That's interesting, but this paper suggests to use derivative of jerk instead, do you think it's worth to try? Maybe even both can be used, I've seen that in a different paper too,

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

More
12 Nov 2019 20:44 #150249 by andypugh
Sometimes called "Jounce", if you want to Google for it.

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

More
12 Nov 2019 21:30 - 12 Nov 2019 21:30 #150254 by Glite
Did a quick test in servo sim:

Not sure about usability of this one(values are ridiculous). If used alone it will just make two spikes in different directions and in my opinion this will cause more troubles than help. If used with jerk, it will increase starting amplitude, but decrease it's duration. Looks like it is not usable with trapezoidal motion profile.
Attachments:
Last edit: 12 Nov 2019 21:30 by Glite.

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

More
12 Nov 2019 21:55 #150256 by andypugh
I suspect that once you are doing discrete differentiation on a real system twice you really can't trust the numbers.

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

More
14 Nov 2019 08:57 #150351 by Glite
Have some results on jerk feedforward in work, X axis is a bit too tight and FF3 value used for it was too big. I had to reduce it by half, because machine became too jerky on engraving work. But in overall it did a bit better with one problem on Z axis.
Also I did a check of snap(jounce) feedforward, values for it were 10^-9, but it didn't help in any way, increasing it only did worse.

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

More
16 Apr 2021 07:50 #206089 by myval
Hi,
I am going similar path with WF 31 CH. Can you share your setup, please?
Did you get it all sorted?

thanks
Josef

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

More
16 Apr 2021 09:41 #206098 by Glite
Hi Josef,
This is mostly a mechanical problem with a friction in hard linear slides. You have to overcome sticking which translates into this following error. I firstly though that this can be some issue with analog input filter inside the BOSCH regulator card, so i reduced the time constant of this RC filter, but it didn't help. Adding another feed forward term again doesn't help much, but makes machine more jerkier. With those machines the only viable way to reduce this error is to reduce acceleration. Other possible way is to integrate some low friction polymers into the slide, this was done on our machine on Y axis due to mechanical wear. This did reduce the following error by really small value.
Also you should check the ball screw, those machines are old and very likely you may need to replace the balls and re tighten the ball screw

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

Time to create page: 0.199 seconds
Powered by Kunena Forum