Once again I revisited the Victor non linearity phenomenon and tried to convince myself with some math and excel analyses that PWM and motor inductance/resistance and motor commutator characteristics are the cause. In the Sensorless BackEMF speed control thread I conjectured that the JAG linearity was due to its 15khz pwm. This was putting about 15 pulses per commutator segment (we think there are 10 segments) at max motor speed whereas the 120hz and 2khz victors were putting an 1/8 and 2 pulses respectively. I dedicated a day to a more detailed analysis to verify that this was the reason for the JAG linearity.
Well… all I did was show that the results are the same for all three controllers … but I finally was able to reproduce the nonlinear speed vs duty cycle curve that we all see with victors. This is a big discovery and represents a paradigm shift in getting me off of the pure resistive motor model when using a pwm drive.
The analysis computes a normalized motor current i_norm which results from an assumed L/R for a CIM01 and a given controller PWM Hz. Instead of assuming steady state without commutator segments, I let the pulses accumulate from a zero coil current for the number of PWM pulses that the commutator segment would see. This normalized current is then multiplied by the max current and set equal to the i_free current.
So i_free = (12 - Vemf)/R * i_norm
This leads to an equation for w/w_free=(1-i_free/i_stall/i_norm)/(1-i_free/i_stall).
i_norm does fall off with speed when the L=230uh (from an old thread) is used because of commutator effects. I ran a case with L=23uh and the falloff was negligible.
But the surprising result is that the 15khz doesn’t seem to enter into the nonlinearity. So… I have replaced a nonlinear problem with a why linear problem:)
Enclosed is my Excel and if anyone wants to discuss it , I’d love to find a hole in my assumptions!!
POST NOTE:
If the L/R of the motor is small with respect to the the pwm period (like the 120hz Victor) or if the pwm period is small (like the JAG) and the commutator segment time is large with respect to L/R then
i_norm = duty is a good approximation.
So for the inductive motor model: i_free = ((12-Vemf)/R) *duty
Inductive model -> Vemf = 12 - i_free*R/duty (This holds for Vemf >0 else Vemf = 0 .)
So we have an inverse relationship with duty cycle.
The pure resistive model assumes that the motor input is a dc voltage = duty12
i_free = (duty12 - Vemf)/R
Resistive model-> Vemf = duty12 - i_freeR
and we have a linear relationship to duty cycle.
Motor commutator effects.xls (97 KB)
Motor commutator effects.xls (97 KB)