DPRG List

 [DPRG] PWM vs. voltage motor control Message index sorted by: [ date ] [ thread ] [ subject ] [ author ] Previous message: [DPRG] PWM vs. voltage motor control Next message: [DPRG] hacked servos responding differently Subject: [DPRG] PWM vs. voltage motor control From: Mike McCarty jmccarty at ssd.usa.alcatel.com Date: Thu Jun 14 10:26:52 CDT 2001 ```I have so far remained silent on this, because I did not have anything I thought would contribute. I generally just lurk here, because I don't want to use bandwidth which doesn't contribute to the general group, especially given some of the reactions my earlier messages have evoked. Also, you all know much more about robots in general, and that isn't really my interest, anyway. However, I believe I may have something to contribute to this discussion. On Wed, 13 Jun 2001, Kipton Moravec wrote: > I was thinking around the same thing, but for a slightly different reason. > > At the lower PWM percentages you need to get the current flowing. > > I have been wondering if some of the problem is the battery. The chemical > reaction for producing electricity is not instantaneous. Perhaps if he had > a large capacitor to help provide the current for the short "on" times, it > might fix the problem. > > This is another reason to have very low resistance devices for your > H-bridge. > > Kip It seems to me that the cause of low torque at low speeds with PWM relates more to the physics of the electronic system. The motor can be modelled as an inductor, and the H bridge can be modelled as a switch in series with a resistor of a few tenths of an ohm. As we all know, when one places a resistor and inductor in series, and switches on the voltage, the current is I(t) = (V / R){1 - exp[-t/(RL)]} where t = time since switch on in seconds I(t) = current through the inductor in Amps V = supply voltage in Volts R = resistance of the series resistor in Ohms L = inductance of the series inductor in Henrys exp() = exponential function with base ~ 2.71828 This describes a current which approaches V / R asymptotically. The so-called time constant is RL, which, as one can see, sets the time scale. The current reaches 63% of the asymptotically approached maximum in the first time constant, and 63% of the remaining 37% in the next, and so one, eating up 63% of the remaining in each time constant. [For the purists, the 63% is actually 1-1/e = 1-1/2.718281828459045... = 0.632120558... ] This is a brief table of the current in percent of maximum achieved in the first few time constants: t/RL %Imax 0 0 1 63 2 86 3 95 4 98 When the pulses are wide, then the time constant RL is small relative to the pulse width, and results in essentially the full current flowing all the time, the inductance of the motor being in this case negligible. But when the pulses are narrow, then the current never approaches closely to the maximum V / R, because the pulse ends during the first few time constants, and the inductance of the motor windings has an effect which is not negligible. To put it another way, the rise time of the current pulse is not zero, and when it becomes a significant percentage of the total on time, then the current does not rise very far. To put it yet another way, the current becomes slew rate limited. Having very low resistance H bridge components causes the time constant RL to be smaller, resulting in a more rapid rise of the current through the inductance of the windings. Since torque is an increasing function of current (proportional?) it also increases the available torque at low duty cycles. This is also a good reason not to use too high a frequency of pulses, even when running at relatively high duty cycles. This all presupposes that the input capacitance of the components of the H bridge, and hence its switching speed, is negligible. I suspect that with available components and the pulse rates used this is a reasonable assumption, but if not, then the switching times of the control components of the H bridge (their bandwidth, effectively) are also a factor, which contribute in a similar manner to the RL time constant of the H bridge components and the motor windings. It would be an interesting exercise to measure the inductance of the windings of some of the motors on the robots around here, measure the equivalent resistances of the circuitry controlling them, and then use a 'scope to compare the predictions of my supposition with the actual currents achieved at various pulse widths. Another interesting experiment would be to replace the motor windings with a resistance equal to the DC resistance of the windings, and observing the difference in the shape of the current pulses through them, as compared with those passing through the motor windings. Mike -- char *p="char *p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);} This message made from 100% recycled bits. I can explain it for you, but I can't understand it for you. I don't speak for Alcatel <- They make me say that. ``` Previous message: [DPRG] PWM vs. voltage motor control Next message: [DPRG] hacked servos responding differently Message index sorted by: [ date ] [ thread ] [ subject ] [ author ] More information about the DPRG mailing list