|
In lugnet.robotics.rcx, Juergen Stuber wrote:
> Hi Mark,
>
> "Mark Bellis" <mark.bellis@tiscali.co.uk> writes:
> >
> > could say that the power of the motor is proportional to the square of the
> > proportion of time for which power is applied.
>
> is it really true that there is a square law for PWM?
> Can you explain the reason why this is so?
>
> I understand that this is true if you change the voltage
> (half the voltage gives half the current so a quarter of the power).
> But I always thought that this was different for PWM,
> where you have full voltage, full current and full power
> for part of the time, and zero voltage, zero current and zero power
> for the rest.
> But then this might be too naive, as I'm not an expert
> on electrical motors, especially not the dynamical properties.
>
>
> Greetings
>
> Jürgen
I couldn't call myself an expert either!
In your second way of looking at it, the full voltage and full current are
already multiplied to give full power for part of the time.
I=(Vcc-Eb)/R Current I, Voltage Vcc, Back EMF Eb and motor resistance R.
Eb is the voltage that would be measured if the motor were acting as a
generator. This back EMF is generated for the part of the PWM cycle that the
motor is floating.
Motors driven by PWM get hotter, the power dissipated as heat being I*I*R, where
I comes from the above equation. When Eb is small at low speed, heating is
proportional to the square of the supply voltage. As speed increases and Eb
rises, current consumption is reduced, and the heat power reduces as the square
of the current.
The load has a lot to do with the speed. A motor will try to approach the speed
where I*R = Eb, which is the most efficient speed. As the load increases,
current increases, so I*R increases, so Eb decreases (Eb = Vcc-I*R), but Eb is
proportional to speed, so the speed decreases as well as the heat losses
increasing.
An advanced type of PWM model train controller measures the back EMF Eb and
raises the output voltage Vcc to keep Eb constant and compensate for the higher
I*R, in order to maintain constant motor speed.
Another type of controller could increase the pulse width rather than the output
voltage. Perhaps this method is more suitable for RCX operation since the
voltage can't increase beyond the battery voltage. The amount of spare pulse
width available reduces as you approach full speed.
In a previous project, I had trouble with the motors being heavily loaded, such
that my robot wouldn't go in a straight line. At the time I was using the old
4.5V sensors with counting discs to measure the motor speed on each axle, with
the software slowing down the motor that was ahead. Unfortunately this ended up
with overall positive feedback of speed reduction so that both motors slowed
down!
If I do another tank-drive robot I would be tempted to use a differential
mechanical method, with one motor driving both axles forward and another driving
them in opposite directions with differential gears. I believe a robot called
Firestorm, which competed in UK robot wars, used this kind of drive, as do some
good line following robots.
Mark
|
|
Message is in Reply To:
9 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|