Quote:
Originally Posted by MPaulHolmes
power = current*pwmDuty.
But the problem is, 500 amps * 0.01v = 5 watts, and 0.01 amp * 500v = 5watt.
When the rpm is 0, the motor is almost a short circuit. So, to allow very very small pwm (very low power) still allows for big current. I don't see how throttle = power allows for control of current at near 0 rpm.
|
yes but this is a problem no mater what formula you use; you simply can not get the PWM short enough (voltage low enough) to keep the current down. what you need is shorter pulse with finer control of PWM at the lower end of the 0 - 100% PWM range. If I remember correctly you are using a fairly high modulation frequency, so it should be easer for you to get that, but you may be limited by the resolution of the micro-controllers PWM control circuit.
I seem to remember reading that many of these micro-controllers have a multiplier for the clock that the PWM circuit uses, perhaps there is something there that you could work with to get the step resolution, without raising the modulation frequency to excessive levels? I don't know enough about the micro-controllers yet to know if that can be done.
Another possibility might be to stager your pulses to get the effect of virtual fractional steps below the real step of 1. the staggering would be done in code by alternating between step 0 and step 1 in the required proportion to achieve the virtual fractional step requested by the throttle code. the timing of the staggering should coincide with the PWM modulation frequency.