Making an Arduino controlled H-bridge

  • Thread starter William123
  • Start date
  • Tags
    Arduino
In summary: The gate drivers alone will cost more than the assembled motor driver so..It is a little sad that having the skills to make something doesn't pay off.
  • #1
William123
39
0
Hello

I'm trying to radio control a 24V 250W DC motor using Arduino. Instead of buying a real RC ESC I thought I might as well build an H-bridge myself and learn something along the way. I was thinking that I can use some logic level MOSFETs like the IRL7833 or something similar (this one is probably overkill but I don't know that much about MOSFETs).

7fbb26f0181e0a41b4bf55ad9ab9b3f5.png

This is my attempt at making one. The alternatives on ebay made me wonder if I missed something though.
http://www.ebay.co.uk/itm/Semicondu...315558?hash=item3f3b267466:g:c9oAAOSwbqpT6a8z
That chip next to the half-bridge acts as an extra enable switch or something as I understand it. Is this correct? What do you reckon that capacitor is for? Do I need these extra components or will the circuit I made work? What do I do about the diodes if I want electrical braking? Any diodes that you can recommend for this?

Answers are appreciated as always! :oldbiggrin:

Edit: If I don't use electrical braking for this I suppose I could just connect 1 with 3 and 2 with 4 so that I only use 2 of the Arduino's PWM pins
 
Engineering news on Phys.org
  • #2
You must have some logic level voltage shifting for the high-side switch transistor gate drive.
You must make sure that the two switches on one side are never still conducting at the same time.
Turn on both low-side switches to get electric braking.

The BTS7960B is an integrated half bridge driver that handles the gate drive level conversion and locks out series switch conduction.
The chip next to the switches is a 74HC244 which is a dual 4 bit line driver – receiver.
The capacitor probably provides for high current peaks and so keeps switching noise from the power supply lines.

http://www.instructables.com/id/Motor-Driver-BTS7960-43A/
https://cdn.instructables.com/ORIG/FYD/V3VU/HUL8W2ZW/FYDV3VUHUL8W2ZW.pdf
 
  • Like
Likes mheslep
  • #3
Baluncore said:
You must have some logic level voltage shifting for the high-side switch transistor gate drive.
Can't the Arduino control a logic level MOSFET on its own?

Baluncore said:
You must make sure that the two switches on one side are never still conducting at the same time.
I could add pull-down resistors and a delay between the forward and reverse state and then just pray that the Arduino doesn't fail. I don't know any other way to do it.

Baluncore said:
The BTS7960B is an integrated half bridge driver that handles the gate drive level conversion and locks out series switch conduction
Okay, that's clever. I could have used these instead but there are no BTS7960B's on ebay, I have to buy an assembled motor driver.

Thanks for the answer btw

Oh and I can't see why the line driver is needed. Won't this circuit work with the adjustments that you pointed out?
 
  • #4
William123 said:
Can't the Arduino control a logic level MOSFET on its own?
The high side switch gate cannot be driven if the positive supply voltage is above the Arduino logic supply.

See; http://www.egr.msu.edu/classes/ece4...e Regarding H Bridge Design and Operation.pdf

William123 said:
Okay, that's clever. I could have used these instead but there are no BTS7960B's on ebay, I have to buy an assembled motor driver.
BTS7960 is now replaced by better version called BTN7960, available on ebay. It is probably still cheaper to buy the built controller.

William123 said:
Oh and I can't see why the line driver is needed.
Tristate line driver probably takes data from arduino on 4 pins and returns status data on the same 4 pins.
 
  • #5
Baluncore said:
The high side switch gate cannot be driven if the positive supply voltage is above the Arduino logic supply.

See; http://www.egr.msu.edu/classes/ece4...e Regarding H Bridge Design and Operation.pdf
Thanks for that pdf! Golden. I don't fully understand the schematic at the end but everything else was clear.

Baluncore said:
It is probably still cheaper to buy the built controller.
It is a little sad that having the skills to make something doesn't pay off

The capacitor and gate driver are added to trigger the high side MOSFETs then.
I don't know if I want to attempt building this right now because it will cost a lot more. The gate drivers alone will cost more than the assembled motor driver so..
For what it's worth I understand now though, so thanks! :D
 
  • #6
Hey again
Can anyone tell me how to determine exactly what MOSFET driver I need? Let's say I had two IRL7833 on the high side and needed a driver to switch these. The voltage threshold is about 2V and that means that the driver must give it about 24 + 2 = 26V. Or is it not really about the driver and more about the bootsrap cap? Can the driver be powered from the same supply as the motor?
 
  • #7
The motor, motor supply and gate drivers are all tied together. It is usual to provide 12V power to the gate driver chip. That makes for a floating 12V supply.

For an inductive motor H-bridge, use 4 identical N-chan mosfets. Make sure they include the Schottky diodes. The IRL7833 is specified to 30V at over 100 amps.

Drive them with two half-bridge drivers. A half-bridge driver will provide the independent floating supply for each high-side mosfet. It will also prevent both high-side and low-side mosfets being turned on at the same time.

The Fig.5. circuit at the end of the application note shows two FRM050 half bridge drivers which are L293 Quadruple Half-H Drivers. The data sheet is a bit hard to understand so instead go for the Infineon BTN7960. The data sheet gives a good example of a motor drive in Fig.14. on Page 22.
http://www.infineon.com/dgdl/Infine...fileId=db3a304316f66ee80117642084e76a7c&ack=t
 
  • Like
Likes William123
  • #8
Baluncore said:
The motor, motor supply and gate drivers are all tied together. It is usual to provide 12V power to the gate driver chip. That makes for a floating 12V supply.

For an inductive motor H-bridge, use 4 identical N-chan mosfets. Make sure they include the Schottky diodes. The IRL7833 is specified to 30V at over 100 amps.

Drive them with two half-bridge drivers. A half-bridge driver will provide the independent floating supply for each high-side mosfet. It will also prevent both high-side and low-side mosfets being turned on at the same time.

The Fig.5. circuit at the end of the application note shows two FRM050 half bridge drivers which are L293 Quadruple Half-H Drivers. The data sheet is a bit hard to understand so instead go for the Infineon BTN7960. The data sheet gives a good example of a motor drive in Fig.14. on Page 22.
http://www.infineon.com/dgdl/Infine...fileId=db3a304316f66ee80117642084e76a7c&ack=t

I found a really good pdf that covers a lot about gate drivers and the bootsrap method: http://www.infineon.com/dgdl/an-978.pdf?fileId=5546d462533600a40153559f7cf21200

I'm not sure where to find the values of Icbs (leak) and VMin, which they use to calculate the appropriate capacitance of the bootstrap cap.

Most drivers that I have found so far are rated for a 20V supply max, which is unfortunate for me because I would have to step down my 24V from the battery or find another driver.

The BTN7960 seems to have built in MOSFETs and drivers so that would certainly make things easier.
If I could calculate the capacitance needed for the bootstrap caps, get the appropriate diodes and use a buck converter or something to step down from 24V to 15V for the driver supply then I could probably make one using a FAN7382.
 
  • #9
William123 said:
... and use a buck converter or something to step down from 24V to 15V for the driver supply ...
You do not need a switching buck converter there. The current requirement is not high so you only need a linear 12V or 15V regulator.

Why calculate the capacitor value when fig 5B test circuit shows 0u47F for C1 and C3. Use 1uF.
 
  • #10
Baluncore said:
You do not need a switching buck converter there. The current requirement is not high so you only need a linear 12V or 15V regulator.

Why calculate the capacitor value when fig 5B test circuit shows 0u47F for C1 and C3. Use 1uF.
You're right. I forgot that the formula gives you the minimum cap value, 1µF should work fine then :)
I think I'll just build it as figure 5B shows, but with a L7812 +12V regulator and 1uF caps.

What I need is basically this:
2x IR2110's
4x 1uF caps
2x -1N2074A- This one is not on ebay so I'll use something else
1x L7812
0.33uF and a 0.1uF cap for the voltage regulator
and 4 MOSFETs. I suppose there are many MOSFETs that would work here now that I have a driver. If the non-logic level MOSFETs are cheaper I might buy that.

And thanks a lot for the help so far. I really appreciate it!
 
Last edited:

1. What is an H-bridge and what does it do?

An H-bridge is an electronic circuit that allows for bidirectional control of a motor. It consists of four switches arranged in a specific pattern that allows for the motor to be driven in both forward and reverse directions.

2. Why would I need to control a motor with an H-bridge using an Arduino?

Using an H-bridge with an Arduino allows for precise and programmable control of a motor. This can be useful in a variety of projects, such as robotics, automation systems, and remote control vehicles.

3. What materials do I need to make an Arduino controlled H-bridge?

To make an Arduino controlled H-bridge, you will need an Arduino board, an H-bridge IC (such as L293D or L298N), a motor, a power supply, and various electronic components such as resistors, capacitors, and jumper wires.

4. How do I connect the H-bridge to the Arduino?

The pins on the H-bridge IC should be connected to the appropriate pins on the Arduino board, as specified in the IC's datasheet. Typically, the H-bridge will require connections to the Arduino's digital output pins, as well as its power and ground pins.

5. Are there any safety precautions I should take when using an Arduino controlled H-bridge?

Yes, it is important to make sure that the H-bridge is properly connected and that the motor is not drawing more current than the H-bridge can handle. It is also recommended to use a separate power supply for the motor to avoid damaging the Arduino. Additionally, always make sure to follow proper electrical safety protocols when working with electronic components.

Similar threads

Replies
8
Views
3K
Replies
5
Views
3K
  • Electrical Engineering
Replies
11
Views
964
  • Electrical Engineering
Replies
10
Views
5K
  • Electrical Engineering
Replies
1
Views
1K
  • Electrical Engineering
Replies
2
Views
2K
  • Electrical Engineering
Replies
5
Views
3K
Replies
7
Views
1K
Replies
4
Views
1K
Replies
6
Views
979
Back
Top