DC Motor Driver Circuit Using Power MOSFETs [PWM Controlled, 30A Half Bridge]
Вставка
- Опубліковано 1 сер 2024
- DC Motor Driver Circuit using Power Mosfets [PWM Controlled, 30A Half Bridge]
======================================
Altium Designer: www.altium.com/yt/myvanitar
======================================
Article: bit.ly/2LRBYXH
======================================
Check other videos: bit.ly/2N9OlPa
======================================
DC motors are everywhere, from hobby applications to robotics and industrial areas. Therefore there is wide usage and request for suitable and powerful DC motor drivers. In this article, we will learn to build one. You can control it using a Microcontroller, an Arduino, a Raspberry Pi, or even a standalone PWM generator chip. By using proper heatsink and cooling methods, this circuit can handle currents up to 30A.
Welcome!
I’m sure you are curious to know about this circuit and you want to build it. So let me start to explain it first by schematic analysis.
As you can see the heart of this circuit is this MOSFET driver chip. I’ve selected a popular chip which is IR2104. It can drive almost any MOSFET, especially power MOSFETs which are known to have big input capacitance.
That’s actually the main reason why we have to use a MOSFET driver.
The IR2104 is a Half-Bridge driver. The Half-Bridge configuration can deliver more current to the load, besides the load is ground referenced. This is important for some applications.
The capacitors C1 and C2 are used to reduce the noise. I’ve selected minimum 100V rated capacitors because I assumed the worst conditions. 100V is equal with the maximum MOSFET Vds tolerable voltage.
If you are sure that your load voltage is low (For example a 12V DC motor), then you can increase the capacitance and reduce the rated voltages to for example 25V (for instance 1000uf-25V).
There is enough space on the PCB which allows you to use a variety of capacitors. What I used here are 100nF-250V and 220uF-100V.
The last remaining point from this schematic is the input pins of the MOSFET driver. I have pulled down the SD Pin with a 4.7K resistor. Therefore if you apply a steady-state Logic level voltage to the SD pin, you can enable the chip. Otherwise, the chip is disabled and it will not transfer the PWM signal to the MOSFETs. We can say the SD pin acts as a switch.
You will inject your PWM pulse to the IN pin. You can use a Microcontroller, Arduino, Raspberry Pi or another chip such as TL494 to build and control the PWM duty cycle.
I used SamacSys schematic symbols and PCB footprints for the IR2104 driver and IRFP150 MOSFETs. Because at least I will not waste my time to design them from scratch which sometimes accompanies mistakes. All SamacSys services are free of charge.
Don’t forget to follow the description to get more information and see the reference links.
If we briefly look at the IR2104 datasheet, we can see it introduces a few nice features such as input logic compatibility and separate chip and load supply injection capability. It means the power supply for the MOSFET driver and the load’s supply do not need to be identical, but both supplies are certainly ground referenced.
As it is stated, the load supply voltage can reach up to 600V, if the MOSFETs are rated similarly.
The above picture shows the designed PCB layout. The bottom pictures show the assembled circuit board and it is ready for a test. This is just a fast semi-homemade PCB board to test the circuit and to make sure about its true operation.
But you should choose a professional PCB fabrication company because now you are sure the circuit works flawlessly. I suggest you PCBWay.
As it is clear, I have excluded some tracks to not to be covered by the solder mask. The reason is that these tracks might carry a high amount of current, but the PCB track itself cannot tolerate high current flows and will burn out. Therefore you must solder a bare solid copper wire on these uncovered areas to enhance the track’s current transmission capability. For my initial tests, it wasn’t necessary because my selected load consumes less than 3A.
If you want to use the circuit for high current loads, never forget to mount the MOSFETs on a proper heatsink and please make the isolation between each MOSFET and the heatsink using a silicone insulation pad. These pads block the electricity but transfer the heat to the heatsink flawlessly.
#dc_motor_driver
#brushed_motor_driver
#mosfet_driver
#pwm_driver
#motor_driver - Наука та технологія
Excellent work!
Glad you like it!
Neet little project. Thanks ! :)
You're welcome. Please support me through subscription and Patreon
Master job pcb design
Thanks man
Amazing
Thanks
Thanks
You're welcome
Hello, great video! I was wondering the benefits of the half bridge over using a singular mosfet (with gate driver) which is opening and closing the motor's connection to ground. Any recommended reading would be appreciated. Thanks!
Good question. This method or the H-bridge driver (I will publish it soon later) is much more efficient, especially this phenomenon gets more clear in driving high power loads (Motors, transformers ...) at high frequencies. A higher efficiency means lower power loss. it means less power waste and less risk for the Mosfet blow up
This circuit is a High side single transistor control topology.
The other transistor is working as an ideal diode for back EMF. The advantage is that transistor (instead of a diode) dissipate less heat for big power motor. For a small or medium power one could use just one transistor and a diode. BTW that schematic is terrible.
Great videos! I hope you continue to bring more content like this. Great to learn more about how to work with important circuit designs! Is there a reason you have a 737 engine spinning up in the intro? Maybe a homecockpit? :)
No, it's just for an introduction :-) I have 2 more driver designs on my channel, don't forget to watch those. This was my first UA-cam video
High there first of all a huge thanks for making such a tutorial and could you please make a separate video on mosfet bootstrapping with all descriptions and i/p & o/p parameters included with charging and discharging of bootstrapping capacitor along with gate driver IC's thanks in advance ☺
hahaha, sure if I find some free time, I'll cover it
Well please make pretty sure you make this happen
@@amansingh-ct8ie I can not guarantee the time my friend, because making a video need lots of time and energy, but I put a note on your request
@@MyVanitar well thanks for that atleast giving it a try.......
Really enjoyed teh video,especially with multidevice hook up when testing. Was the freq of the driven signal causing the non-motor noise?
No, that noise is because of the wires. There are more designs similar to this on the channel. watch them all
@@MyVanitar Will do. Thanks
can i use 2 relays to change direction for this circuit. I've seen your full bridge circuit video but i want to use this circuit for my project.
You can but that is not an efficient method, you can not control motor speed using relays and PWM
Hi thank you for sharing very nice circuit. Can i ask would this circuit be able to handle 24v input for the motors and 30A continous load with proper heatsink on the FET'S
Hi Paul, Yes you can run 24V motors with these Mosfets, as I mentioned in the video and article, you can set any voltage (up t0 600V) and current, but you have to select suitable Mosfets for your desired voltage and current. Also be careful about the capacitors voltages (I set to 100V in this circuit). in your described condition, 24V is okay with these Mosfets and capacitors. 30A continues is okay according to the Mosfet datasheets but the key is that you must keep the temperature down, therefore yes I suggest proper heat-sink and even a fan. I suggest a CPU heatsink which comes with a FAN. it's cheap. Be careful about the Mosfet isolation and use thermal pad, I noted this in the video and article. Good Luck.
@@MyVanitar Thank you Sir for your reply and detailed instruction. Would this circuit require much modification to enable Forward/Reverse control of the motor
@@electro3976 for that purpose, You would need a H-Bridge driver. I'll try to cover that sometime in future. As you can see designing and building a board gets time, energy and money. probably I have to open a Patron account for support.
@@MyVanitar That would be great if you can find the time thanks again
Thank you for the great video...!!! Is the logic GND and power GND same??
Yes, it is, you can power the load from a different supply, but as I said both should share the same ground
@@MyVanitar Thanks mate :)
Did you try to connect GNDS?
@@kamuranpeker132 Hi, Yes. anyway I couldn't achieve this. As I remember upper switch didn't work. However, I've used some different components. That may be the reason.
Instead I used TLP250 to isolate signal and power side and implemented software based complementary switching.
Hello sir, do you inject pwm at SD pin? or just inject steady state logic 5v? thanks.
if you check the datasheet, the SD pin is active-low, it means if you connect it to the ground, it will turn off the chip. In the circuit, I have pulled-it down with a resistor to avoid unwanted triggers. So whenever you want to turn-on the chip, you will connect it to the 5V for example (minimum is 3V). Also, you will inject your PWM pulse to the IN pin.
Can you please tell how can we use this for full bridge circuit to control speed in both directions.
I have designed a full bridge motor driver and I will show it as soon as I receive the PCB
Is it possible to use a lower frequency PWM to drive this circuit. The controller I am using is only able to do up to a 500Hz PWM at 12V(high sided) and I am looking at a way to use that to drive a 90VDC 5 amp motor with a source voltage of 120VDC. I plan to have the duty cycle never exceed 75% to keep the average voltage in line with the specs of the motor but my main concern is if the controller is fast enough to be able switch this motor.
Thanks I had been hitting my head agents a wall trying to figure out if this is possible and you have given me hope to make this work very easily.
Your motor should do reverse rotation as well?
✨
can you drive a flyback transformer with that?
Yes, however you must suppress the transients also. Flyback has its own calculations and considerations, however generally yes, a half bridge can drive it with some external circuits
can please feature on your video on how to make a circuit like that in a 3 phase bldc motor with high input voltage? shall we say 300vdc input...thanks
Sure, as soon as I find time, but BLDC motor controlling is much harder than DC motors, anyway where do you want to use these high voltage motors?
@@MyVanitar in washing machine motor to drive a generator
@@noelmelo3460 I think the washing machine motor works with AC voltage, this circuit is for DC motors
Thanks for the circuit. I built a 6A pump driver with proper gate driver and MOSFET, but the flyback diode blows up very quickly. I'd like to know how this IC manages back-EMF. I imagine it has to do with having two FETs.
6A is nothing. However, you can strengthen the MOSFET diode by adding another parallel reverse shotkey diode. I'll also publish a Full H-bridge driver soon. Subscribe to get notified.
@@MyVanitar Thanks for replying. I remember reading about using a Zener to clip at a higher voltage, but I'm not sure how this affects the current. I've done more reading and thinking a half bridge IC is a good option. I need it to be compact, with SMT FETs like I'm using now. I'm also considering full bridge to get coasting, but not sure how much that reduces the MOSFET heat. Happy to subscribe.
@@MyVanitar Also, I noticed that most half bridge drivers are much lower current (200-500mA), where my current MOSFET drivers are rated 6A. I'm using a 10 Ohm resistor on the gate and getting around 200ns switching. If I can only do 250mA, I imagine the FET will get much hotter.
@@ChristieNel if your MOSFETs are getting very hot, it is better to not to use SMD MOSFETs, because it is a bit harder to dissipate the heat. The advantage of an H bridge is ease of changing the rotation direction (right-left). I have tested this half bridge. if your DC motors only needs to rotate in one direction, just go for it. with 3A, I don't even feel the warm up on these MOSFETs!
@@MyVanitar That's encouraging! My MOSFET measured over 100 degrees before it popped, but I'm pretty sure it was a more complicated sequence of events. Diode dies, MOSFET goes avalanche, goes hot and pops. I tested it first to drive a 1A heater and that worked flawlessly without any MOSFET heat. It's based on a previous precision heater circuit I made that does 6A without MOSFET getting hot, but quite slow switching. I only need one direction and it sounds like half bridge would work just fine. However, I'd like to know how this slow decay method compares with full bridge fast decay in terms of overall power efficiency. I'm using a Cytron full bridge board for the drive stage temporarily and that works great.
I thought breadboard max current can't be 30A. So which board should I try for 30A high power motor driver circuit
i can not offer any advice or suggestion when the circuit is being tested on a breadboard. it may work or not
great project, let me ask you, can i replace the irfp150n with irfp250n, sorry for my english isn't my native language.
Yes, you can. any mosfet with identical footprint size and identical pinout, and N channel will work
@@MyVanitar thanks!
@@TheRonaldo1809 You're welcome
Good circuit and explanation video but I can't see it lasting long without some flywheel diodes on the FET's. Al
Thanks. Didoes are embedded inside the MOSFETs, no need to use external ones
@@MyVanitar Hi, I know most FET's have an internal diode but the back EMF from a Motor or Coil can be many times what the internals can cope with. for the sake of a few pence it is worth using externals to add to the safety, after all most FET's fail short circuit leaving a runaway motor. Just my opinion. :) Al
@@alanwilliams5999 hahahaha, generally I am agree with you, Alan. Actually I kick the customers who count pennies. A good heatsink with Fan is also the "Must" for high currents otherwise the MOSFET or its diode will burn.
can we change the capacitor C1 & C2 with other value capacitor? sorry for my bad English....!
I'm using IRF3205 MOSFET
@@ishikatagore6296 Yes you can use other values for C1 and C2, but be careful about the rated voltages. IR3205 has a different footprint, however the circuit is identical
Hi am need some help on pwm generator I made a 555 circuit I use a 1 uf capacitor and to pin 7 $”$”& 8 is 1k resistor but the mosfet is getting really hot when turn on in seconds so I need your info on which capacitor valve is best and easy valve to 7&8 is best to get the mosfet to work cool I use a 1 amp load the circuit get smoking hot I need to get the capacitor valve right
Do you use my circuit? You can generate PWM with anything you like, such as 555, Arduino, MCU, … etc. This circuit works flawlessly
Hey I can see that there is voltage spikes on the PWM signal to the load. Do you know how to reduce that spikes?
Your load is a DC motor? spikes are natural, however, you can install some capacitors on the load. the capacitor's voltages should be at least 25% higher than your load voltage. besides the ground lead of the oscilloscope probe also absorbs noise and shows as spikes, which are not there truly
@@MyVanitar thanks
Hello sir. First of all a very nice project and equally good presentation. Thanks for it.. I want to generate 8 - 10KHz (i.e switch MOSFETs at 8-10KHz) and supply the output to high frequency transformer then. Is this circuit suitable for that..??
Thanks in advance.
You're welcome. I think yes you can. this is actually a half bridge driver.
@@MyVanitar Thanks.. 👍
Hi. I am facing an issue.. the capacitor are getting heated up and MOSFET are damaged after few minutes of operation. Working frequency is 1.5khz.
Bicuase i need the power full pwm for water eiectrolise thank you for answer me
No problem
What is Driver Motor use the NRF24l01?
I did not get your question, could you explain it more?
Hey
Here you have given two outputs for two motors which are dependent by only one PWM pin...? Is it correct...? And if so what components should I remove to drive only one motor
Thank you
Hi, No. there are 4 power connections (right side) right? two for the motor supply (VIN, GND) and two for the motor itself (OUT, GND). left side is for the logic.VCC is 12V. Don't be hurry, Just watch the video and read the article
@@MyVanitar thanks a lot....yeah... lovely work bro.....
Now I get it....
Hey bro.....can I get your mail ID so that I can contact you....I have several doubts....
Reason being I reached the verge of making Gerber file but issues with the size (pitch basically...)
Hi...
when we connect load with dc motor, that time this driver can be supply constant voltage and current to dc motor?
here attached power supply is big enough but is this arrangement worth for constant supply voltage to dc motor when load connected?
When you control something with PWM, it means you both change the voltage and current by the duty cycle. In this circuit, the driver supply and motor supply are different, however, they share the same ground. so you can simply connect your CC supply to the motor supply and see how the motor behaves. the advantage of the half-bridge is much lower EMI noise and higher current for the load.
@@MyVanitar Thanks for the quick Reply,
Okay, let me give 1 example,
at a specific PWM value, I will get output from the driver is 10 V where my connected V in is 24 V, which means, I set PWM duty cycle at that value when I will get output circuit is 10V, but when I will connect output point on load dc motor, that time, V will not 10, and it's showing like 6-8 V fluctuation constant, so my connected dc motor can not give a right performance where actually if we connect that loaded dc motor to direct power supply of 10v, it will give a great performance.
so at the end, if I need the exact 10v load performance of my dc motor by PWM controlling (by the microcontroller) then is this given circuit works? or I have to change the system of controlling my motor.
@@madhulieximpvtltd4352 You must make the measurements when your load is connected, besides, you must make sure that your supply can handle the full current. also make sure your wirings are good, bad wires act like resistor and introduce voltage drop
@@MyVanitar Finally Today I tested and now all solve my issue, full-time perfect voltage and current at the output.
thanks a lot, very very thankful to you.... so happy.
Hi Sir, I have a question. Can I build a boost converter with the IR2104 mosfet driver and IRFZ44N mosfets? If so, how would the configuration be like? What would the Vs of IR2104 be connected to? I am a student and this is part of my project. I would be thankful if you can give some advice.
Yes, you can. IRFZ44 introduces a low RDSon resistance which is good for this purpose. But you can not use them with this PCB because Mosfet footprint sizes are different. Configuration is identical, the same as Vs. The circuit has a common ground, but the power of the MOSFETs (your motor, load ....) does not need to be identical with IR2104 Power which is 12V. You can run 24V motors, but power the IR2104 with 12V always. This is also good for noise immunity. As a result, powers are isolated but Grounds are common.
I will publish a H bridge design in future as soon as I receive the PCB. Subscribe to get notified
if you are looking for a boost converter, this circuit is not useful and Yes generally you can use IR2104 for a boost or buck converter. Please contact me directly if you need a specific project
@@MyVanitar Thank you Sir ! Would you mind to give me your email address?
@@JY-yr7hv Check the UA-cam ABOUT page, contact if you want to propose a project to be designed for you, otherwise if you have a general question, I reply in comments
Hi brother. Why don't you use snubber circuit?
This is not a SMPS design
@@MyVanitar It doesn't need to be an SMPS design. Since there is no snubber circuit, this circuit will be very inefficient at high currents. It looks very likely to be corrupted.
@@elektrik-elektronikmuhendi6985 Thank you for sharing your opinion, however I'm not agree. one of the the major advantage of a half bridge is its immunity, otherwise we can easily driver everything using a single Mosfet. However I used some caps there.
I want to drive 7.4v 5a motor so can i use this circuit? Or i need different mosfet driver
As you can see the Motor's supply is NOT identical with driver's supply, however, you need to supply the driver side with 12V, because driver needs this supply to Turn-ON your Mosfets
@@MyVanitar Yeah that is reason why i ask. So driver need 10 to 20v to drive mosfet?
@@MyVanitar Also i want to use IRFZ44N so can i use 50V 500uF capacitor. Can i change this 250v capacitor?
@@BalkanFilm Yes, I don't remember the exact voltage range, however, if you check the driver's Datasheet, you can consider the range.
@@BalkanFilm The capacitor is not a critical component, it is used to reduce the noise, but pay attention to the rated voltage that should be higher than your motor's or load's voltage, also pay attention to the capacitor's footprint dimension and sizes
how can one control/adjust the current
There is no feedback loop to examine the current, however as you decrease the PWM cycle, naturally, you decrease both the voltage and current consumption of the load. In the future, I may design a circuit with a current feedback loop
@@MyVanitar thanks, I need it for torque control
@@more2much696 Then feedback is necessary. I will design this in the future, but I can not guarantee the time
I noticed the mosfet or in series
No, it's a half bridge configuration.
@@MyVanitar ok
Hi this majol power is 30 amp or lower than?
30A can be if you keep it cool
@@MyVanitar ok thanks
I have a solar panel (Voc=4.8V, Isc=13.7A) but IR2104 datasheet says that "Gate drive supply range from 10 to 20V". Can you suggest me another Mosfet Driver IC or do something else. Thanks
You want to control the output voltage of the solar panel or you want to use it to power this circuit?
@@MyVanitar I use it to charge the battery in the morning when my solar panel works, at night my battery will power my LED
@@tienleminh8129 what is the battery? lithium 4.2V?
@@MyVanitar Sorry, I don't really know, that is a block of 5 batteries parallel, each battery has approximately 3.4V measurement. I can't see any parameters on it
@@tienleminh8129 They are lithium-ion batteries. when they are fully charged, the voltage rate is 4.2V for each, when they are packed or if the intention is to keep them without use, the best voltage is around 3.7V. What you need is a switching power supply with 4.2V output voltage and constant current feature, depending on the capacity of the batteries. usually, 500mA current limit is okay.
.
Hi
How to Change Motor Rotation Direction ???
use 2 relay???
Sorry for the late reply, I got no notification regarding your comment. You should use a Full H bridge configuration for that. I'll make a project about that in future
do you have arduino code for this?
no, but it's easy to write such code, besides I have two other projects on the channel as well. check them all
Great video sir...but unfortunately my circuit is not working properly....i'm not getting what should be done with the SD pin and IN pin...I'm using Arduino nano...with Arduino i'm generating a pwm of 5V with 50% duty cycle. and SD is high (5V logic). but the circuit output is not generating voltage according to the pwm signal...plz resolve the issue sir...i've struggling with the circuit for quiet e time now
Did you use my PCB? What's the Load?
@@MyVanitar my load is a dc motor 12V 500 RPM Johnson motor. I've tested the exact same circuit
No I've used the breadboard for initial testing
And really thank you for replying....plz sort out the issue sir, it's really becoming painful for me
this circuit is simple. SD pin also can be connected to 12V (supply of the IR2104), but the IN pin must be logic compatible. make sure the power of the Ir2104 is 12V regulated. the ground of the motor supply and the IR2104 should be common. Grounds are not isolated. did you check? if you checked all of these, most likely you made a mistake somewhere
And where ıs project file?
check the video description
very confusing what needs to be connected where. on your board you label "in" but the chip in is pwm. should have labeled it as "sd" to be consistant. you also never explain if the vcc and sd inputs can be the same source.
The circuit is pretty simple, everything shouldn't be an easy to eat candy. By the way this is my first video on this channel, you can check others as well. I have introduced two H bridge circuits as well.