I think that was the same thing.
A change I just made that actually worked really well was to only update the new PWM when Vd and Vq clamp difference is zero. I mean, why change the 3 pwms if you know they will change Id and Iq in a discontinuous way in the wrong direction? it didnt work to use zero when updating PWMs regardless of clamping value. I was able to go as low as -25 instead of -100 after each violation. much below 25 caused overcurrent trips.
Your 'let the motor run' and see how fast it goes or change direction thing worked perfectly for finding what must be the rotor time constant. there is a global maximum for rpm at the rotor time constant when you allow possible time constants to vary across the range.
So, what we can do is,, in a test mode, lock the rotor, tune the PI loops for Id and Iq (ebrake on), and then in neutral, let it run through all rotor time constants for a sec each or so and the highest rpm candidate wins. the time can be so short that the rpms are very small. like less than 100. Then we have every characteristic we need. easy peasy! save those values, and you are done.
Last edited by MPaulHolmes; 10-14-2014 at 02:59 PM..
|