Category: Basic Configuration
Hi all,
Looking for some help with my closed loop spindle. It's a no-name "AT4" chinesium VFD driving a 3kW motor and a 2.2:1 belt drive to a BT30 spindle. Control is 0-5V from a 7i76e, encoder feedback from the motor shaft. The encoder is a 2500ppr unit I had left over so I'm only using the index pulse and have the encoder in counter mode because the A/B pulses were too fast. Encoder feedback into a 7i89.
Anyway, with P only control, I see the motor hunting a lot, a slow oscillation a few hundred rpm triangular wave, but I don't think it's as a result of too high P : there still a significant offset error so the oscillation is maintained even though the error is always a negative value (spindle slower than target). Lowering the P more increases the offset but doesn't change the amplitude or frequency of the oscillation, increasing P moves the speed closer to the setpoint but again no change in the oscillations. No screenshot but I can get one later on. Because it "hunts" even though the error is large and always one side of the setpoint makes me think it's not true hunting like a system with overly high P gain? The oscillation doesn't decay over time.. same behaviour with P anywhere from 0.8 to 10.
I reduced P way down (to 0.5) and tried to get it working by using D to stop the oscillation and I to actually hit the setpoint, but it's still a bit shit so I think it could be much improved. I added a ramp constraint to the speed command to stop the vfd erroring out. There's an accel limit on the VFD side too so maybe that's affecting the control loop?
It's getting to it's setpoint now but there's an over-acceleration initially, then a ramp that doesn't quite keep up, and then a weird over/undershoot/dip when the ramp ends and the I term seems to take over to slowly creep the speed to the setpoint.
Can anyone who knows controls better than me suggest a methodology to follow to improve this?