- Posts: 31
- Thank you received: 0
Odd velocity mode servo tuning issues
The pid component is designed to use a commanded value and its error to adjust its derivative, such that the error is minimized. In this case the value is the position and the velocity is the derivative. Here is a simplification of the code:
This makes it pretty clear why FF1=1 when scale is normalized to machine units, as cmd_d will be the velocity in correct units and therefore does not need to be scaled. It also makes it clear that even with P=0, the output should still be mostly correct.
And I read through the configuration and in fact x-vel-cmd is not connected with anything, does removing that line matter then?
Please Log in to join the conversation.
thats likely your problem.
If you connect the PID components command_deriv pin
to any net (even an undriven net), the PID component uses that as a source
of the command derivative (velocity in this case), but if the PID components
command_deriv pin is left unconnected, the PID component will calculate
the command derivative itself
Probably the easiest thing is to just comment out the line that connects
the PIDs command derivative pin to the unused signal
Please Log in to join the conversation.
PCW wrote: if the x-vel-cmd signal is unconnected to motions commanded velocity pin,
thats likely your problem.
If you connect the PID components command_deriv pin
to any net(even a undriven net), the PID component uses that as a source
of the command derivative (velocity in this case), but if the PID components
command_deriv pin is left unconnected, the PID component will calculate the command derivative itself
Probablt the easiest thing is to just comment out the line that connects the PIDs command derivative pin to the unused signal
Alright, I'll do that and post again once I have some results. This same issue is present on the Y and Z axes as well, so that will be something to investigate. This has been very informative so far.
Please Log in to join the conversation.
Attachment not found
Attachment not found
As you can see the velocity is quite noisy, which was true during open loop testing too. Should I fine-tune FF1 somehow to make sure it is exactly correct or is it enough to have it almost right?
Now I'm also wondering if you have any good tuning strategies for the rest of the PID terms for velocity mode drives, starting from a correctly set FF1 parameter.
Please Log in to join the conversation.
- tommylight
-
- Offline
- Administrator
-
- Posts: 22012
- Thank you received: 4
Please Log in to join the conversation.
tommylight wrote: Search the forum for "servo tuning detailed howto", plenty of detailed info about tuning servo drives with Mesa 7i77.
Haha well not exactly that.
Attachment not found
And well I did look around the forum before asking and found some stuff, including a detailed guide by you I believe. But the issue is that many of them directly contradict each other, so I thought I would ask for a straight up recommendation.
Please Log in to join the conversation.
- tommylight
-
- Offline
- Administrator
-
- Posts: 22012
- Thank you received: 4
I use that same procedure always, it always works. It is the only procedure to tune drives with no known parameters, and it will always result in a tight tolerance, fast moving, precise working machine.
There is another tutorial by JT that will get you going and it is easier to understand what is going on and what the parameters doo.
As with any tutorial, when people skip parts of it, it will result in all kinds of problems.
Follow it precisely and it will always result in a proper working machine. That also goes for the used parts as using that tutorial to tune drives with no tacho and feedback going to Linuxcnc will not work as is.
Recap, drives with tacho fedback, encoders to Mesa 7i77 OR to drive and then Mesa. This will always work, and after a bit of experience, the tuning is done in maximun 5 minutes per axis.
And please do use a phone or a tablet to check the vibrations during P tuning.
Please Log in to join the conversation.
