Using an L298 to drive 2 unidirectional and 1 birectional motor simultaniously

arduinobrushless-dc-motorh-bridgel298

First up I am not an EE and am fairly new to this, so please forgive my ignorance.

I have a project that requires me to control 2 unidirectional and 1 bidirectional brushless DC motor at the same time with independent speed control on each motor. From what I can tell the L298 is advertised as being capable of driving 2 bidirectional or 4 unidirectional motors. Hence logic dictates I can hook up one side to my bidirectional and one side to my two unidirectional motors.

Am I correct in my assumption or am I going to burn things out? Also I cannot find a clear answer as to whether I can drive two motors on one side simultaneously (since as far as I understand you digitally toggle a pin to set the direction on one side, and driving two motors on a side seems to just take advantage of the reversing polarity).

If this is not the case, what alternatives could I look at? I do not want to use two bridges because 4 I/O pins is already too much (I have 6 to work with and I still want some sensors). I have considered using an I2C expander, but I cannot seem to find one that supports PWM output. As a last resort I could use an AVR like an ATTiny2313 and use that as an I2C slave, but I'm not really comfortable programming this raw.

One more thing, both size and power are a factor. So I cannot just take one of the few motor shields and be done with it.

Thanks in advance!

Best Answer

Yes, you can drive one bidirectional and two unidirectional brushed DC motors from a single L298. Just connect each unidirectional motor from Vs to one output of the same bridge (eg. OUT3 and OUT4) and you can control it from a single input.

The only limitation is that since there is only one current sense line per bridge, you won't be able to independently monitor each motor's current draw when both are running.