- Posts: 394
- Thank you received: 95
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
emcPT wrote: 0-2500 rpm is the objective that I can achieve with 0 to 10VDC on the VFD. This is done.
I have encoder feedback that is also working and connected to the PID (I think).
Please Log in or Create an account to join the conversation.
PCW wrote: What is the PID output when it runs away?
This one I really did not expected, and it is for sure not my case.andypugh wrote: In fact I am not all that convinced that closed-loop is even necessary with a VFD.
Please Log in or Create an account to join the conversation.
emcPT wrote:
This one I really did not expected, and it is for sure not my case.andypugh wrote: In fact I am not all that convinced that closed-loop is even necessary with a VFD.
In all of my parts I use constant surface speed, so it is necessary to have the spindle at the speed required by the controller.
The servo PIDs are controlling motor speed (or torque) to achieve a position. When the position is correct, the motor can turn off and the position stays correct. (that is, zero position error -> zero P-term -> zero PID output)It is allowed to have a bit of variation, but as my test showed the PID is not working as expected. The rest of the PID's in my system for the servos are working ok, and I only have the P=1 set up.
Please Log in or Create an account to join the conversation.
My lathe only has a 1kW motor, and I don't run PID. I get constant surface speed, and no real problem with the spindle slowing under cuts.
This is with the "standard" setup where the pwmgen.scale is set to 1500 (rpm) and the 10V speed of the VFD is set to 100Hz.
So, M3 S750 = 50% PWM = 5V = 50Hz. And that is the speed that the motor runs at.
Very good info there. Will test extensily and will post the results.The servo PIDs are controlling motor speed (or torque) to achieve a position. When the position is correct, the motor can turn off and the position stays correct. (that is, zero position error -> zero P-term -> zero PID output)
For the spindle you have velocity in and velocity out. It is _not_ correct to turn the motor off when the speed is correct, because the motor will then slow down. So, the "P" term is not the most important part of your spindle PID controller.
So, as I said, first get the speed control as good as you can using _only_ the FF0 term, with everything else at zero. This is equivalent to the open-loop spindle control that I use on my lathe. You probably then need just a bit of I-gain to compensate for the errors. You may not want any P-gain at all.
But I think that PCW is on the right track when he says that your runaway is due to the "abs" functions.
Consider the situation when you have only a P-term and you command a spindle speed that is lower than the current speed. The PID output is negative, because the error is negative. But the abs-function converts the negative PID output to a positive voltage to the VFD. The motor speeds up. The error is now bigger, so the PID calculates an even bigger negative value, which the abs function makes in to an even bigger voltage command to the vfd…
If The P-term is small and the FF0 term is large, you won't see this, because (FF0 + (negative)P ) will still be a positive number.
But for a VFD-controlled spindle I am fairly sure that what you want is just FF0 and I, no P or D.
Please Log in or Create an account to join the conversation.