Problems with L6203 Motor Control

Discussion in 'The Projects Forum' started by Redstone2, Jan 17, 2012.

  1. Redstone2

    Thread Starter Member

    Oct 21, 2010
    20
    0
    Hello All,

    I started a project that I thought would be easy, but this has not worked out. I have two 24 volt dc brushed motors that require speed and directional control. The L6203 H bridge seemed to fit the requirements, 24 VDC, 2.0 ampere, TTL inputs, low R(ds) resistance.

    The inputs are from an Arduino. The “EN”, enable pin 11, is feed a 30 kHz variable duty PWM. Pins 5 & 7 “flip-flop” high to low based upon a switch that changes the state of another pin.
    The Arduino “sketch” has been compiled, loaded and output pins checked. Input to pin 11 has a variable duty 30kHz PWM and inputs to pins 5 and pin 7 are either high or low, Arduino has +5.0 for high state and 0.0 v for low.

    Assumptions and questions:
    · Pin number 1 is determined from the “face” or front of the IC. Is this correct?
    · In my layout, power grounds and digital grounds were kept separate. But looking at the block diagram they are tied together inside. Am I correct? Should they be tied together?
    · Pin 11, enable, added (not shown on manufacture’s spec sheet) 10K pull down resistor to digital ground (on arduino board). Good idea?
    · Pin 10, sense pin for feedback for motor current control, was not used and not connected. Not really needed, right? I know it is a good idea for current control but plan on fuses.
    · Polyester film capacitors are non-polarized and ok for this 30 KHz PWM motor controller? Got 100 volt rated caps.
    · Pins 5 & 7, IN1 & IN2, do not have a pull-up or pull-down. These are flip-flops , the high and low are the circuit.
    · Figured if I triple checked things I could figure it out. No so.
    · I don’t understand how the BYW98 diode would work in the configuration shown, actually used a 1N5822 instead (thanks SgtWookie for the help subbing).
    · Got the L6203 off of Ebay. Could have gotten rejects.

    Thanks so much for any ideas or pointers.

    Kind Regards,
    Tom
     
  2. mcasale

    Member

    Jul 18, 2011
    210
    12
    Hi. I've worked on a few H-bridge designs, but never used the L6203. I've used Allegro chips to drive stepper motors. Similar thing, but different.

    You don't say what is going wrong? Does it work at all, or do things just get hot?

    Read the spec sheet very carefully. That should show you which is Pin 1.

    Regarding the grounds, sometimes it's good to keep them separate, and sometimes it's not. Eventually, you have to hook them together to have a common reference for all the signals. If you see big voltage spikes due to the PWM switching, you may need a lot more bulk decoupling - like 100uF - so the supply at the chip does not droop too badly. Also, keep all runs/leads as short as possible. Be sure to decouple all your digital chips with 0.1uF per chip. I am slightly familiar with the Arduino things.

    I think polyester caps should work better than ceramics, if the specs are suitable. The diodes are to prevent the outputs from going negative. Your chip is referenced to ground. The diodes need to be rated at the motor current - at least.

    I'd like to hear about your results. Good luck!
     
  3. Redstone2

    Thread Starter Member

    Oct 21, 2010
    20
    0
    Thanks for the reply. No voltage on output pins. Enable pin is seeing PWM, IN1 & IN2 is flip-flopping. The bootstraps are 18nf.
     
  4. bertus

    Administrator

    Apr 5, 2008
    15,646
    2,345
    Hello,

    If you do not use the current sense, the pin must be connected to ground, as it is directly connected to the lower fets.
    There should be a directive for this in the datasheet.

    Bertus
     
  5. Brownout

    Well-Known Member

    Jan 10, 2012
    2,375
    998
    You cannot keep them totally seperate. They must be connected at some point. If they are connected inside the the chip, then it should work. A schematic might help. BTW, you are literally down the road from me. If you can't get it to work with help from here, I might be able to take a look at it sometime.
     
  6. mcasale

    Member

    Jul 18, 2011
    210
    12
    I just re-read your questions.

    The SENSE pin needs to go to GROUND. All current needs to flow through there. That's probably why you get no output.

    Also, be very careful with your digital signals. The spec sheet says it prevents cross-conduction, or shorts from supply to ground. Be wary. Maybe it will work, but maybe not. You may want to separate the IN1 and IN2 lines and run them separately from the Arduino with some added delay. Either way, start with a small resistive load (higher value resistance) in place of the motor and work your way through any problems.
     
    Redstone2 likes this.
  7. Redstone2

    Thread Starter Member

    Oct 21, 2010
    20
    0
    Thank you. This sounds like the root my of problem; the pin is not connected.
     
  8. Redstone2

    Thread Starter Member

    Oct 21, 2010
    20
    0
    Thanks, will tie together with one connection.
    If you know where Zierdt Road is at, you know my neck of the woods.
     
  9. Brownout

    Well-Known Member

    Jan 10, 2012
    2,375
    998
    OH, you live on the hoity-toity side of town :)
     
  10. Redstone2

    Thread Starter Member

    Oct 21, 2010
    20
    0
    No. Further down the road. ;-)
     
  11. Redstone2

    Thread Starter Member

    Oct 21, 2010
    20
    0
    Got it working. Current sense pin to ground and logic and power grounds tied together.
    Thank you for all the input.
    Sincerely,
    Tom
     
Loading...