problem regarding H-bridge: backwards

Discussion in 'The Projects Forum' started by fluffy0213, Apr 8, 2010.

  1. fluffy0213

    Thread Starter New Member

    Apr 8, 2010
    5
    0
    hello can you help me regarding our H-bridge motor? reverse does not work. can you help me figure out the problem? attached our board and schematic here. thank you
     
    Last edited: Apr 8, 2010
  2. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    T2 is a BD649 and T4 is a BD647 - why are they different? If that's all you had, it's OK - one is rated for 100v, the other is rated 120v.

    T1 - can't read what it is, as the 10k pull-up resistor covers it up.
    T3 - BDX54 - is T1 the same part number?

    None of these Darlington transistors have body diodes to take care of the motor's reverse- EMF. If the power to the motor is cut off suddenly, there will be a very high reverse voltage spike across it. This can quickly destroy transistors and MOSFETs.

    You need to add four reverse-EMF diodes to your schematic. They should be fast-recovery types or Schottky diodes.

    For example:
    cathode of a diode connected to Vcc, anode to terminal MOTOR-1.
    Cathode of another diode connected to terminal MOTOR-1, anode to GND.
    Do the same thing with terminal MOTOR-2.
     
  3. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    OK, just looked at your board and that settled the T1 part number question.

    It looks like you used the autorouter on the board. The traces are super-skinny, and you are using some of them for power. I would not be surprised if they got vaporized.

    When you are routing the board, you should use pretty wide traces for the high-power circuits. It's generally OK to use narrow traces for low-speed logic lines.

    There are calculators available to figure out current vs trace width vs copper weight vs temp rise. PCBtemp is pretty good, and free. Google is your friend here.

    I don't like to go below 24 mils (0.024") even for logic traces unless I really have to.

    What version of Eagle did you use? If it's 4.16r2 or earlier, post your .sch and .brd files. If it's later, you're on your own.
     
  4. fluffy0213

    Thread Starter New Member

    Apr 8, 2010
    5
    0
    okay i'll attach those files:)
     
  5. fluffy0213

    Thread Starter New Member

    Apr 8, 2010
    5
    0
    I was just wondering why this ckt worked when we tried it using breadboard. and it won't work when we used this connection and transferred in the pcb
     
  6. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    Well, you're using a version of Eagle that is later than 4.16r2 - so you are on your own.

    I'm glad I wasted my time downloading them. :rolleyes:

    Try using Erc in the schematic, and Drc in the board. If there are any errors you must fix them.
     
  7. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    Well, you're using a version of Eagle that is later than 4.16r2 - so you are on your own.

    I'm glad I wasted my time downloading them. :rolleyes:

    Try using Erc in the schematic, and Drc in the board. If there are any errors you must fix them.
     
  8. fluffy0213

    Thread Starter New Member

    Apr 8, 2010
    5
    0
    oh i'm sorry.. uhm but it worked when we used the breadboard. until now it's running. but how come when we transfered it in the pcb backward doesn't work? only forward is working
     
  9. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    You might have a burned-out trace on the board.

    How much current does the motor draw at stall?
     
  10. fluffy0213

    Thread Starter New Member

    Apr 8, 2010
    5
    0
    uhm.. okay. we're currently cheking if there are any burned out traces. uhm actually and about the current, we do not know how much, haven't measured the current.
     
  11. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    This is odd; before this post (which will be #12) there are 11 posts in the thread, but I can only see posts 1-11.

    [eta]
    More oddity - seems that post #11 really didn't exist. Perhaps there was a duplicate post that was deleted, but the board didn't update the thread post count until I posted.
     
  12. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    OK, you will need to determine what the stall current of your motor is.

    You could figure that out by measuring the resistance between the + and - terminals of the motor, and dividing your Vcc by that resistance.

    For example, if your motor measured 3.5 Ohms, and your Vcc was 12v, then:
    I = E/R
    I = 12v/3.5 Ohms
    I = 3.43 Amperes (rounded up)

    PCBtemp is a freeware calculator that you can download and install on your computer. Google is your friend.

    Just using the example numbers above, a 16 mil (0.016") trace on a 1 Oz copper board with 3.43A flowing through it will have an 83°C temperature rise - that is in addition to the ambient temperature. If your room temperature is 25°C (77°F), then you would wind up with a 108°C temp on the trace. That's "pushing your luck".

    If you increased the trace width to 40 mils (0.040"), then the thermal rise would be under 20°C for the same current.

    The lower the thermal rise, the better off you will be.
     
Loading...