Hi there i am new to this so please bare with me. First i am trying to build a hi current H-Bridge (40A+) to power some large wheel chair motors and control it from an arduino. I was able to get eight irf1010n mosfet's and build the circuit. The problem i am having is when one side goes hi the motor just buzzes. Now if i take the gate wires from one side and connect them to a 9v+ everything runs at full speed. so from this am i to understand that i am not getting enough power from the arduino? if so how do i change pwm 0v-5v+ to lets say 4v+ to 10v+? In short how do you control mosfets that are not logic level with an arduino? Thanks!
Arduino can only switch logic mosfets.
Mosfet drivers.
http://www.micrel.com/_PDF/mic4421-22.pdf
Leo..
First i am trying to build a hi current H-Bridge (40A+)
That is not a beginners project. Most H-bridge circuits you find on the net are lacking in safety features to prevent shoot through.
You can drive the higher voltage gate requirements by first putting the Arduino output through a transistor, emitter to ground, collector to FET gate, also collector to a 510R resistor with the other end to the H-bridge positive supply. Then base to a 1K resistor and the other end to the Arduino output pin.
Some information, only to help you to understand better ;):
Thatoneguyokc:
i am not getting enough power from the arduino?
It's not exactly power, but voltage that you need.
Why? Because Mosfet are controlled by the voltage applied at the gate.
Thatoneguyokc:
how do i change pwm 0v-5v+ to lets say 4v+ to 10v+?
Ok... probably you have to learn something about pwm first! You can search pwm on google!
What can I say is: pwm doesn't change voltage.
It produces a square wave (search on internet, again )
And, finally, listen what Grumpy_Mike said!
paofanello:
Some information, only to help you to understand better ;): It's not exactly power, but voltage that you need.
Why? Because Mosfet are controlled by the voltage applied at the gate.
So we can ignore switching losses?
Leo..
Wawa:
So we can ignore switching losses?
Excuse me... I don't know this phenomenon you are talking about (or probably it's a problem of language, I hope you can excuse me for my english), and I am so glad if you can explain it to me, or send me a link, page, document that can explain it for you...
Meanwhile what can I say is:
without appropriate voltage you can't control a Mosfet (or i am wrong?), and Arduino can provide enough power, but not enough voltage for this application (or i am wrong again?)
Wawa:
So we can ignore switching losses?
Leo..
Yes we can, that just adds extra heat to dissipate in the FET.
@paofanello - Switching loss is the extra heat dissipated in the FET due to the fact that the transition between on and off is not instantaneous. The FET spends some time in the linear region when it is only part on. In this small amount of time the FET dissapates a lot of power because the product of voltage across it and current through it is higher than when the FET is off - lots of voltage little current, and when the FET is on, not much voltage but lots of current.
Thanks for the answer
paofanello:
Some information, only to help you to understand better ;): It's not exactly power, but voltage that you need.
Why? Because Mosfet are controlled by the voltage applied at the gate.Ok... probably you have to learn something about pwm first! You can search pwm on google!
What can I say is: pwm doesn't change voltage.
It produces a square wave (search on internet, again)
And, finally, listen what Grumpy_Mike said!
Sorry to differ, but PWM does not produce a "square wave". It produces pulses, with different widths, that you can define. A square wave, has pulses that are equal width ( high and low).
Just to clarify.
@ paofanello.
You need current (and so power) to charge /discharge the gate capacitance during switching.
Medium power mosfets, like we commonly use with Arduino, could be ~1nF. But large mosfets that OP should use for his 40+Amp wheelchair motor could be 10nF or more. They need proper high current drivers.
Try to calculate the current needed to charge (or discharge) a 10nF cap in 500nsec (1Mhz).
As Grumpy_Mike explained, if you linger too long in the lineair region, things can get hot with high switching currents.
@jack wp.
In my book any wave that is square is a square wave. So to me, PWM is a square wave.
Maybe we should call it a rectangular wave.
Leo..
Wawa:
In my book any wave that is square is a square wave. So to me, PWM is a square wave.
Maybe we should call it a rectangular wave.
Leo..
Just for kicks;
Yes if it is square, I agree it is a square wave.
But, would you call a rectangle a square, if it's width was 4 times more than it heidt?
A square wave is one that produces an equal duration of high, and low signal.
Maybe we should call it a digital signal with variable pulse width modulation.
I know you understand it, just in the terminology.
To be technically accurate, a square wave is indeed a 50% duty cycle.
Colloquially, however, many people say "square wave" when we mean a digital on-off signal with pretty much any duty cycle.
Wawa:
You need current (and so power) to charge /discharge the gate capacitance during switching.
I know... and mosfet drivers are every time the right choise, but if the question is: why it doesn't work properly? the answer (I think) is 99% for the voltage. probably you are burning your Arduino, or you are cut the bandwidth of the mosfet, but these are other problem.
But if the question is: what is the right method to do this? I agree with you, you need more power (and voltage).
paofanello:
I know... and mosfet drivers are every time the right choise, but if the question is: why it doesn't work properly? the answer (I think) is 99% for the voltage. probably you are burning your Arduino, or you are cut the bandwidth of the mosfet, but these are other problem.
But if the question is: what is the right method to do this? I agree with you, you need more power (and voltage).
Sorry, I don't understand that.
I see no reason to suspect burning your Arduino, if you put a resistor on the arduion output.
You can get lots of power from a fet, that you could never get from the Arduion alone.
OP has a voltage problem. He could use logic fets that are fully at a lower gate voltage.
Or Grumpy_Mike's solution from post#2.
But for 40+ Amp it is better to use normal mosfets and a driver chip that runs on 12volt.
So the mosfet gets enough switch current and enough "on" voltage.
Mosfet drivers also eliminate the problem of the motor turning on when the Arduino has a fit.
Not cool if you happen to be in the wheelchair.
Leo..
Thatoneguyokc:
In short how do you control mosfets that are not logic level with an arduino? Thanks!
You drive MOSFETs with MOSFET drivers, the clue is in the name...
"You drive MOSFETs with MOSFET drivers, the clue is in the name..."
I beg to differ. You can drive MOSFETs from an arduino output (put in a resistor).
A MOSFET driver is a MOSFET that can drive a heavy load.
Just my opinion.
A Mosfet driver apart from having a high current drive capability also has a shoot thru protector in it
which you must have if you are driving any combination of Mosfets which are connected directly across
a high current capable supply .
Yes we can, that just adds extra heat to dissipate in the FET.
@paofanello - Switching loss is the extra heat dissipated in the FET due to the fact that the transition between on and off is not instantaneous. The FET spends some time in the linear region when it is only part on. In this small amount of time the FET dissapates a lot of power because the product of voltage across it and current through it is higher than when the FET is off - lots of voltage little current, and when the FET is on, not much voltage but lots of current.
Thanks for the help. I connected a p2n2222a transistor as instructed and not even a buzz. will this transistor work or do i need to get a different one?
Thanks again everyone!
Did you do what Grumpy_Mike said.
2N2222. Emitter to source/ground. 1K resistor from base to Arduino output pin. Collector to gate and ~470ohm resistor.
And the other side of the resistor to the +12volt supply.
Don't forget the kickback diode across the motor.
Leo..