Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Making an Arduino controlled H-bridge

  1. Mar 1, 2017 #1
    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 aswell 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
     
  2. jcsd
  3. Mar 4, 2017 #2

    Baluncore

    User Avatar
    Science Advisor

    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
     
  4. Mar 5, 2017 #3
    Can't the Arduino control a logic level MOSFET on its own?

    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.

    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?
     
  5. Mar 5, 2017 #4

    Baluncore

    User Avatar
    Science Advisor

    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

    BTS7960 is now replaced by better version called BTN7960, available on ebay. It is probably still cheaper to buy the built controller.

    Tristate line driver probably takes data from arduino on 4 pins and returns status data on the same 4 pins.
     
  6. Mar 5, 2017 #5
    Thanks for that pdf! Golden. I don't fully understand the schematic at the end but everything else was clear.

    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
     
  7. Mar 6, 2017 #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?
     
  8. Mar 6, 2017 #7

    Baluncore

    User Avatar
    Science Advisor

    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
     
  9. Mar 7, 2017 #8
    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.
     
  10. Mar 7, 2017 #9

    Baluncore

    User Avatar
    Science Advisor

    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.
     
  11. Mar 8, 2017 #10
    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: Mar 8, 2017
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted



Similar Discussions: Making an Arduino controlled H-bridge
  1. H bridge Inverter (Replies: 1)

  2. L293D H-Bridge (Replies: 1)

  3. H-Bridge Circuit (Replies: 10)

Loading...