Motor runs slowly when through 298

Hi all,

I've got a MotoMama (which uses a 298) and it struck me that the motor runs very slowly (judging by the whirring noise) compared to when it's hooked up straight to the battery. The voltage on the MM output compared to the battery is low, and I wonder if there are some losses in the 298 or something.

For this testing I took the Uno and its sketch out of the pictureand used a standalone supply to provide 5v to the MM logic, it measures 5v at the MM input; power side of MM is from its own 4x AA pack. There's no PD between the grounds of the logic and power input to the MM, but just for the heck of it I hooked them together on the breadboard just to make sure. The MM motor channel enable is hardwired to 5v, the 2 direction leads are hardwired to 5v and 0v for this test. (The unused channel enable is hardwired to 0v for the test, to make sure it's out of the equation.)

Here's some figures:

Battery pack (4x AA) by itself, connected to nothing: 5.7

Battery pack under load of motor clipped to its wires: 5.2 and motor whizzes merrily

Battery connected to Vin and ground of MM: Motor channel disabled (pulled to ground):
Vin on MM: 5.6
MM Motor output: 0 (as expected, it's disabled)

Battery connected to Vin and ground of MM: Motor channel enabled (pulled to 5v hardwired):
Vin on MM: 5.6 no motor connected
MM Motor output: 5.2 no motor connected

Vin on MM: 5.1 motor connected and running slowly, no nice whizzing
MM motor output: 3.4 motor connected and running slowly, no nice whizzing

So here's my problem... in both cases of the motor running, the battery drops from just under 6 to just over 5, ie direct connect to motor or into the 298. But the voltage on the output from the 298 drops to not much more than 3 and the motor is verrrrry sluggish.

Anyone have any ideas? Am I destined to having a 6v motor effectively running at what sounds like half speed thru the MM and its 298?

(The MM datasheet says the motor side can run at 3v. When I use 3v and a 3v motor, it doesn't work at all. Terry of YourDuino suggests 6v on the motor side as a rule of thumb... my rig is nominally 6 but actually lower. So maybe it does need to be over 6?)

Jim

Ok, well.... thinking that some volts got chomped up in the 298, I tried putting more in....

I found a PP3, nominally 9v but actually a bit tired at at unloaded 7.5, and used that as the motor source. Still not running full speed I think, but much better.

While running, the MM motor side input is just on 6v, and output is 4.5.

As a rule of thumb seems I need to throw about 3v more into the 298 than I expect out?

Discuss.... 8)

Yes, that's the practical result of its VCE(sat) characteristic.
That VCE(sat) drop is relative to the current drawn, more current = more VCE(sat).

O...k, not sure (read as: have no clue) what that means, but at least I can take from that that "it's not just me", thanks.

I guess there's a scientific way to determine what Vin I need, but for now I'm good just knowing I'll likely be ok if I throw a few extra in just to feed the volt sponge.

Jim

Always worth checking the datasheet. The voltage drop is listed under Electrical Characteristics.

L298.pdf (600 KB)

Thanks.... I had looked at the datasheet but hadn't spotted that row- so the Volt Sponge gobbles a minimum of 1.8, but it would be 5 at 2A which is what I'd get when they both draw their stall current of 1A.

But stalling aside, their data sheet says they're 250mA so I'm in for about 2V loss normally. Practically speaking then I need a fresh 9v to give me 6.

It's just that a transistor isn't a perfect conductor, it's a semiconductor.
The L298N uses bipolar junction transistors, instead of MOSFETs (which have much less equivalent loss - VDS).
On page 3 of that datasheet, there is a table of Electrical Characteristics and the VCE(sat) losses are given there.
There's a Typical figure and a Maximum figure. So, you can use those as a not unscientific, solid working approximation.

Also a nine volt battery is not very good at supplying lots of amps (around 500mAh). You are better off with a battery pack with AA size batteries in it rechargeables easily reach 2000mAh.

Thanks for that tip wortelsoft.

Thanks again guys- looking good.

(This is controlled by the TV remote btw... got various chunks of code doing things depending on which button is pressed. Motors are on my desk so far, not in the chassis which my daughter will assemble soon. So far it speeds up and down, changes between forward and reverse and does a differential speed turn. The exact parameters of the turn (differential speed factor and for how long) will be by trial and error once it's all on the road.)

The real problem is not that the L298 uses bipolar transistors, its that its output stages are darlington pairs, which cannot have a saturation drop less than about 0.9V. For low voltage circuits darlington stages aren't efficient.

Using non-darlington output bipolar transistors means you have to choose the correct level of base drive for the load to get efficient operation (with say an external resistor per channel) - hence MOSFET driver circuits are usually preferred - but not many good ones are available in simple DIP packages alas.

This means people often use the L293D and L298 drivers with their darlington output stages for low-voltage motors, and get this problem. For a 24V or 48V motor the voltage losses of darlington stages are much less important and this is the kind of use the designers of these chips probably intended (not 6V).

Some nice high-performance MOSFET drivers are available on motor shields and breakout boards, but for breadboarding its easier to go with simple DIP chips.