Let's Make Robots!

Relay vs H-bridge question

most of the time I use an L298D motor driver IC for controling motors. However i find that the 1+ voltage drop is anoying. Some motors just dont go fast enough. 

Using a 7.2V power supply, leaves about 6V going to the motors and, as I understand it, the L298D is not designed to take in higher voltages. Although I think it can handle quite a bit if you cool it properly.

One option would be to use a mosfet to provide the current, as shown in the picaxe manual example circuits. Another pin can then control a relay to reverse the polarity to the motor. The idea is to use the full voltage of the batteries to the motors. I've tried to sketch the circuit here with 9.6V, but 12V could be an option too.

Can anyone tell me whether this will work OK and what the pitfalls and downsides are?

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

No thanks, that's what LMR is for :) The L9110 is a great little driver for small motors.

I set up a small motor and ran it through the L9110 to compare input and output voltages. I ran the test at 7.2V 10V and 12V letting the motor run free and also putting some load on it by stopping the spinning wheel with my hand.

The L9110 drops about 0.6V - 0.7V running free with 80-100mA current. Straining the motor the current goes up to 600mA (at7.2V) to 1A (at 12v) which results in the voltage dropping another 0.2V

I did the same test using a IRF530 Power mosfet and got results that are comparable. Off course at these small loads, temperature is not an issue.

I conclude that a setup with my MOSFET and a relay, will not beat the L9110 so I'll go with that one. (thanks for the tip Bajdi!)

 

I'm a fan of the SN754410NE. I made this motor shield awhile back, pumped in 12v, got out ~11v. I ran a burnout test and kept the motors going for a solid hour before one burned a hole. I can't swear to the current flow, but I think it was around 300-700mA per IC. And I'm still guessing the burnout was due to my poor pcb design, not the IC. Not to mention they have internal fly-back diodes (although weaker than I'd use). http://letsmakerobots.com/node/36608

I find the L9110 works great for small low power motors i.e. yellow and white gear motors and the like. I get @2v drop in my usage.


But...


If you have a L293D hole, you could fill it with a SN754410NE.  It's pin and drop in compatable with the L293D and has higher current and voltage ratings.

I have a base I put together that uses one of the cheap (5$US) opto isolated 4 relay boards from China for driving two gear motors. It works fine and the motors get all the happy electrons they can take :)  It was very easy to set up with a few jumpers.

Not saying this is best for all applications though.

 

Thanks guys. I will check out those fet based h-bridges. Sorry for the confusion with the relay drawing. I realise i didn't draw it correctly, but you obviously got the idea. The reason for this settup is that in R2D2 I want to place a motor controler in each foot: close to the motor and i have mosfets and relays laying around somewhere.

You don't seem to have drawn the relay in a way I completely understand but as long as you use a DPDT then it will work. My only suggestion with relays is that you turn off the FET before switching direction to increase the life of the switching contacts.

Considering the cost of many motor drivers these days it might be worth you looking at buying a Mini Driver from Chris.

For $16 you get a dual FET "H" bridge rated at 2.5A per motor.The total resistance of the FETs is about 0.1Ω so even with a 2A load you only get a voltage drop of 0.2V

As a bonus you get an ATmega8A with an Arduino NG bootloader, USB interface and a servo controller. When your not using it as a motor driver or an Arduino or a servo controller you can use it to burn bootloaders or upload code directly via the ISP socket.

 

The L293 and L298 are uber old technology, the only benefit they have is that they are dirt cheap. Why not use some more modern H-bridges instead of relays? To say it simple those old h-bridges are based on transistor technology and have a big voltage drop. More modern h-bridge chips are based on mosfet technology and are much more efficient.

Some examples:

For small motors you could use a L9110 h-bridge, only costs 3-4$ for a dual motor module on ebay. I tested one and it had a 0,5V voltage drop. http://www.bajdi.com/l9110-h-bridge-module/

For bigger motors (up to 5A) you can find boards based on the MC33886 on ebay for less then 20$.

My order of L9110 drivers (12 pcs for $12 including shipping!) arrived today so i dug up the datasheet to figure out the pin configuration. The datasheet shows under test conditions with 750mA load and 9V input, it drops to 7.6V. 

I'll test them out for myself to see how they perform.