Introduction: HIGH CURRENT MOTOR DRIVER ( V 1.0 )

Want to drive some low turn - high current motors ? well you can make your own high current motor driver with some MOSFETs.

PART LIST :
2 x IRF540N
2 x IRF9540N
2 x 10k resistors
1 x diode
3 x male headers
2 x MCT2E ( or equivalent optoisolators / optocouplers )
4 x Heat Sinks
1 x DC fan ( optional )
1 x 2 pin terminal blocks

Step 1: Layout and Schematic

The schematic looks pretty simple.  It has been labelled with every part and their value .  The output headers have a ground pin  and 2 input pins which can work on PWM too. 

Step 2: Using and Basic Working

The circuit can work with or without a micro-controller. Micro-controllers can be used to give PWM inputs to the driver and control the motor speed.  The first pin on the header is for input , the second is ground on micro-controller and the third is input 2 . 

FAQ :

Why optocouplers / optoisolators ?
- Because they "isolate" the HIGH current circuit optically from the microcontroller board.

Why these heatsinks and fans ?
- The low turn motors use more than 10 amps which can create heating issues which could reduce the performance and also sometimes damage the components .

Happy tinkering !

Comments

author
MuhammadS297 (author)2016-12-05

i am using stepper motor of rating 4.7amp and of 2 volts..which driver will be best for it?

author
Sajid_Hasan_Sj (author)2016-04-22

In my country i couldn't find "mct2e".

is there any think else that i can use...?

author
electro18 (author)Sajid_Hasan_Sj2016-04-22

Instead of MCT2E you may use any other optoisolator ( optocoupler ) rated with nearly the same operation frequency.

author
Sajid_Hasan_Sj (author)electro182016-04-23

can u give me some example..?

author
RomitA1 (author)2016-03-08

At max how much current this driver can deliver?

author
RajanV (author)2016-02-27

can i drive 24v motor with this by 13A current.

or can you tell me an alternative

thanks in advance.

author
nqtronix (author)2014-05-08

I don't want to dissappoint you, but I highly doubt that this circuit can deliver 30A continuously. Reasons why:

1. Even thou the irf540n is rated 33A the irf9540n supports 23A max.

2. FETs do not switch instantly, they need some time to "charge up". While charging they change from infinite resistance (open switch) to low resistance (closed swich) so the resistance passes "medium" values which dissapate much power. Since you're using a 10k resistor to charge the gates it takes a long (0.5ms?) to switch the low-side on and the high-side off.

3. Since switching takes some time, there will be a short time when both, the high and the low side, are switched on. This will result in a so called "shot-through", basicly a short circuit, resulting in a massiv power disappation (depending on how much your power supply can deliver).

If you want to get out 30A you might want to try these modifications:

1. Simply choose different FETs which are capable of handling 30A, preferable with a low on-resistance (will result in less heat).

2. For an easy solution you might want to decrease R1 and R2 to 1k. This will increase the "no load" power consumtion from 14mW to 140mW but the faster switching speed should have a much higher impact. A better attempt is a "push-pull" unit made auf two small transistors and a resistor.

3. What you need is a "deadtime generator" which ensures that the first mosfet is comletely switched off before turning the second on. However these things aren't easy to build with a few parts, but there are ICs out there for just that job.

I've attached a simluation with the improved circuit. The programm didn't offer the parts you've chosen so I used simliar instead. All availabe optocoupplers resulted in poor results, so I replaced it with a simple transistor. It should be replaceable by your optocoupler whatsover since it's speed is above average. The 3 1ohm resistors on the left act as a dummy load.

The diagramm shows the current flowing through the FETs (red: lowside/ N-channel; green: highside/ P-channel). You can see very nicely that the switching is done within 500ns. However shot-throughs still happen as my circuit doesn't include a deadtime generator. The spikes are as high as 20A! I would use this design for anything which requires reliability, but it performs waaaay better than yours. Adding the push pull unit will cost you just a few cents and shows a great performance so you might want to consider adding it into your design.

member.eletro18 MOTOR-DRIVER-30Amp 01.png
author
SamiulH (author)nqtronix2015-01-19

[ x ] Arduino/ Code [ none ] High current/ power [ x ] Ohms Law [ x] Tansistor (and its various functions) [ ] FETs time spend on electronics (aprx.) [ ] 10h+ [ ] 30h+ [ x ] 100h+

I am basically more of a maker/software kinda guy with not much formal knowledge on electronics. :/
But i do try a lot though :)

author
nqtronix (author)SamiulH2015-01-19

That's a great starting point and way more than I expected. :D Don't worry, the rest isn't nearly as complicated as it seems. :)

I just typed like half a page before I accidently reloded this page, but its gettin' late, so please don't mind that I won't re-type that.

I assume you are able to write code which does what you want, and that "timers" and "PWM" is a familiar topic to you. So you probably want to know what the circuit does with your signals and what kind of signals you have to send in first place, right? (The more specific you question is, the better I can help ;) )

author
SamiulH (author)nqtronix2015-01-17

Could you please give a more newbie friendly explanation of the circuit you suggest?

author
nqtronix (author)SamiulH2015-01-17

Sure, I'll help whereever I can. But you have to specify your question.

If you're just confused about my circuit it would also help to describe you're state of knowledge (just tick the boxes of topics you know something about/ have worked with, like [ x ] ):

[   ] Arduino/ Code
[   ] High current/ power
[   ] Ohms Law
[   ] Tansistor (and its various functions)
[   ] FETs

time spend on electronics (aprx.)
[   ] 10h+ [   ] 30h+ [   ] 100h+

author
electro18 (author)nqtronix2014-06-14

Thanks for pointing it out ! I'll be sure to edit my instructable and also make a new driver based on your points + give you the credits for devoting your time to improve my design. Thanks again ! :)

author
amandeo (author)2015-01-15

Hi sir,

Where to connect the diode?

author
electro18 (author)amandeo2015-01-15

The diode has to be connected from the circuit's ground to the ground pin on the headers.

P.S: I do not recommend you to make this particular driver currently ( until I revise the design ) due to the inefficiency and some major flaws. Rather I'd recommend you to use L293D or L298 ( as per the requirement of your motors )

author
amandeo (author)electro182015-01-15

i use 150 rpm 12v motor for the gesture controlled rover project. can i use L293D or L298

author
electro18 (author)amandeo2015-01-15

L298 should do the job ( though you'd probably require a heat sink )

author
amandeo (author)electro182015-01-15

Will there be much change in rover code if i use L298. The driver can control 2 motors. So I am confused about connections and code . Can you please help. I am making it for my final project , in fact making a robot for the first time. Can you give me the details about the necessary changes.

author
electro18 (author)amandeo2015-01-15

You just have to imagine the L298 as a combination of two such drivers. The code will remain same just the circuit will have slight modifications. Just google "L298 and arduino".

author
amandeo (author)2015-01-08

can you pls share how to fix these components (heat sink..!).I dnt knw much about this.Sorry if i am too ignorant.

author
electro18 (author)amandeo2015-01-08

Do you want the board layouts ?

author
amandeo (author)electro182015-01-09

I thought of having a image of how to connect the components(fan,heat sink).thanks for replying.

author
robobot3112 (author)2014-06-15

i agree with nqtroniX. anyway i was checking out another of your cool instructables on how to make a servo motor . any suggestions on which motor driver ic should i use? pls answer quickly

author
electro18 (author)robobot31122014-06-15

If you're using one of those plastic-gear "BO motors" then an L293D would work fine but if you're using some other motors then you might wanna use L298 instead.

author
robobot3112 (author)electro182014-06-18

yup i am using "bo motors"

author
mmagdy7 (author)2014-03-13

Can I use this to build a 15/20 Amp brushless motor controller for my quadcopter?

Thanks for the awesome project! =]

author
electro18 (author)mmagdy72014-03-16

This motor driver is quite heavy and it can be used only with Brushed motor , But you can make your own Brushless ESC using SMD MOSFETS. In this motor driver , we have to give signals using an external microcontroller. A Brushless motor controller ( ESC ) is basically a three phase motor driver with an onboard microcontroller unit. Good luck with you project :) and thanks ! :)

author
pfred2 (author)2014-03-04

Optocouplers also stop motor noise from propagating throughout electronics too. That is why I use them with my stepper motor drives.

About This Instructable

19,322views

72favorites

License:

Bio: Hey there ! I'm Tanay , a hobbyist interested in making robots and sharing stuff. I hope that my instructables help you in solving your problems ... More »
More by electro18:USB Chameleon Lamp ( Color replicating )Your Own Color Sensor using LEDsMeasure RPM - Optical Tachometer
Add instructable to: