- Posts: 126
- Thank you received: 0
Lagunmatic 3516-SX Retrofit
With the PID values below, which seem odd, I can reliably orient the spindle but it will sometimes take 10+ seconds because as the commanded velocity creeps up to ~70RPM which is about the minimum for my spindle to move.
So the PID works in theory, but the responsiveness is abysmal.
Please Log in to join the conversation.
giz wrote: commanded velocity creeps up to ~70RPM which is about the minimum for my spindle to move.
So the PID works in theory, but the responsiveness is abysmal.
You could look at using the inverse-deadband component, but lincurve might be more adaptable.
A transfer curve where 0 = 0, 1rpm = 70 rpm and 100rpm = 100 rpm, for example, would help a lot with responsiveness without I-gain windup getting out of hand before the spindle starts to move.
So, X = -100, 1, 0, 1 100 and Y = -100, -70, 0, 70, 100 as a first attempt:
linuxcnc.org/docs/devel/html/man/man9/lincurve.9.html
(I wrote lincurve after seeing exactly this sort of problem solved many times with a lookup table in my day job)
Please Log in to join the conversation.
I have a pretty good handle on halscope now and I have been using it to plot spindle command, feedback, and error (and adjusting PID values based on my observations). It's been extremely difficult to get a PID response that does not oscillate forever. I've found some numbers that seem to work but take quite awhile to converge:
P= 0.125
I= 0.3
0.003I know these are arbitrary but you can see I have lowered them drastically since implemented lincurve.
I'm at the point now where I'm starting to wonder if braking with the VFD or a mechanical brake is the only way I'll be able to get fast response out of this. Seems bizarre this hasn't been handled already in the past????
Please Log in to join the conversation.
Please Log in to join the conversation.
andypugh wrote: I think you might be seeing I-term windup if it oscillates. Does it still oscillate with an I-term of zero?
My methodology was to start with all zeros and first determine an appropriate P value. P=0.125 (everything else zero) will oscillate and the error curve is essentially a stable sine wave. It will never converge in this condition.
If I remember correctly, lowering the P from there would mean sometimes the spindle wouldn't move at all.
I didn't see any convergence until I started adding an I value.
Please Log in to join the conversation.
For a velocity command input, velocity PID output loop FF0 =1 means you start with the PID output just following the command. If all other PID parameters are 0, this is open loop but it should be close. Next the P and I term values can be added to correct any deviations in the open loop control
Please Log in to join the conversation.
PCW wrote: I think for spindles you should always start with FF0=1 only
For a velocity command input, velocity PID output loop FF0 =1 means you start with the PID output just following the command. If all other PID parameters are 0, this is open loop but it should be close. Next the P and I term values can be added to correct any deviations in the open loop control
Does this still apply if I am trying to control the position of the spindle instead of the velocity?
I experimented with the FF0 values in the .90 to 1.0 range and didn't see much of a benefit
Please Log in to join the conversation.
Please Log in to join the conversation.
PCW wrote: No, for position control but velocity PID output (to VFD in this case), you want FF1 = 1.0 and typically FF0 =0
I'll add these tonight and see how it affects the performance. Thanks!
Please Log in to join the conversation.
Have to admit - the struggles with the orient have really discouraged me as well. This has been a long journey and I naively thought I was close to finishing :laugh:
Right now I'm mostly thinking about how I am going to move this damn thing. I don't have a budget for a real rigger so right now I'm thinking about hiring a tow truck to winch the machine up while rolling on pipes. And at my new place, using my truck to winch it into the garage the same way.
Please Log in to join the conversation.
