Quote:
Originally Posted by ajlapp
Does using this strategy prevent the controller from requesting max duty cycle when starting from zero?
What I'm currently seeing is my FF go to the requested value and stay there until near the target speed....the P term does not seem to boost the duty cycle request to max at startup as I initially expected.
|
It depends on your P and D terms and ramp rates. P works off the error in velocity, so is P is small, P*error might not be large enough to get 100% throttle. D works from change in error per cycle. It typically works against P. If your error is decreasing rapidly, D*err/time is negative, which reduces your throttle command from what P + FF would set. Too big a D term could limit how fast you come up to speed because of this. Finally, voltage ramp rate and closed loop ramp rate limit how fast the output can change. Your ramp rate has to be faster than the physical acceleration of the system, or by the time 100% output is allowed by the ramping, the error is too low for 100% output to be required.
What are your FF P and D terms, and target speed in encoder counts per second? (srx mag encoder is 4096 counts per rev, other encoders are 4 x CPR counts per rev)