This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LM5109A: BLDC motor controller problem

Part Number: LM5109A
Other Parts Discussed in Thread: LM5109

I am using LM5109A to drive IRFU3607(power MOSFET) in a BLDC motor controller. The PWM is generated through a microcontroller. The motor is a rewind motor that takes up the excess liner. The system gets a trigger and motor starts running and then stops. 

The problem is that at high throughput (motor start and stops at faster speeds and more frequent)  LM5901A and the top MOSFETs die very randomly. I can't find out what is causing this to happen. 

I appreciate your help. 

  • Hello Sarira,
    Thank you for the interest in the LM5109A. I am an applications engineer with the TI High Power Driver group and will work to help resolve your concerns.
    I will have to ask some questions on the details of the application to be able to make suggestions to resolve the concerns.
    To confirm if the LM5109A is operating within the recommended operating range can you confirm some application details.
    What is the VDD voltage to the LM5109A? What is the VIN to the power MOSFET half bridge stage, high side FET drain voltage? Input amplitude of the LM5109A LI and HI inputs?
    Can you provide the component details, a schematic of the driver components and motor drive MOSFETs will be preferred.
    Value of the capacitor on LM5109A VDD to VSS? Value of capacitor from HB to HS of LM5109A? Resistor value of driver output to FET gate? Bootstrap diode part number? Resistor value in series with boot diode?
    Do you have waveforms of the motor drive half bridge in operation?
    Can you provide waveforms of LM5109 HS to ground, HI to ground, HO to ground, and LO to ground on the same graph. Also LI to ground LO to gorund, HI to ground, and HO to ground on the same graph. Take on a time scale to see several cycles, and be able to see dead time between HO and LO outputs.
    There are a number of issues that may cause the MOSFET to fail which can lead to driver failure, or the driver to not respond correctly which can lead to MOSFET failure.
    Be sure and review if the peak voltage waveforms and VDD, LI and HI are within the driver ratings, and if the MOSFET Vds peak voltages are within the ratings. It is possible that at the higher operation frequencies, and reverse directions, that the power train peak voltages are increasing. There also may be a timing conflict of the driver inputs (not enough dead time) that only occurs in the conditions you mention.

    Regards,
    Richard Herring
  • Hello Richard,

    Thank you for your quick response.

    Attached please see my motor controller circuit.

    Here are answers to your questions:

    What is the VDD voltage to the LM5109A? 12v

    What is the VIN to the power MOSFET half bridge stage, high side FET drain voltage? 24v

    Input amplitude of the LM5109A LI and HI inputs? 5v
    Value of the capacitor on LM5109A VDD to VSS? 10uF

    Value of capacitor from HB to HS of LM5109A? 10uF

    Resistor value of driver output to FET gate? 22 ohms

    Bootstrap diode part number? 1N4148

    Resistor value in series with boot diode? No resistors

    The MOSFETs are IRFU3706 from International Rectifier. 

    The dead time is no issue. I’ve looked at the waveforms and there is not problem in that regard.

    I just had another driver damaged. The MOSFETs are ok. high side of a driver failed. 

    BLDC motor control.docx

     

     

     

     

     

     

  • Hi Sarira,

    Thanks your update. I work with Richard and will fill in for him to answer your questions with this thread.

    Since the highside of one of the half bridge drivers is failing and the bootstrap value you are using is not optimized according to the datasheet it may mean that the HB – HS node ratings are being exceeded in some way.

    At what point in testing does the HS driver fail exactly?

    How is the HS driver failing, output hard short to GND?

    Is the boot diode damaged as well?

    Whats the switching frequency?

    I see that your VDD and HB cap values are the same at 10u. If this is true then, (with no VDD supply and just a 12V charged VDD cap) as the HB cap charges to VDD from 0V it would only reach only about 6V, because that same charging voltage on HB pin from the inrush current of VDD cap manifests itself as an equal dip on the VDD cap. Therefore, the voltage dip on VDD cap and the voltage seen by the HB pin would be half the VDD voltage. There is also the scenario of having too large a bootcap and there-by forcing the commutation of your boot diode if not charging your bootstrap in one cycle.

    On page 11 of the LM5109a datasheet, section 8.2.2.1 guides you though how to select the bootcap and VDD cap.

    It uses the approach of finding the total charge needed per switching cycle that the boot strap needs to supply and finding the minimum allowable drop which the bootstrap is to experience. (only total gate charge is considered since bootstrap leakage and quiescent charge is only about 1nC)

    With a max gate charge of 35nC (with Vgs of 4.5V) => with Vgs of 12V the max gate charge is 93.3nC with IRFU3706. The boot capacitance should be the total charge divided by the ripple threshold voltage or {VDD – Vf – V_HB_falling_UVLO_threshold} . Using a VDD of 12V and ~93nC of max gate charge in your case the minimum Cboot needed is 93.3nC/4.3 = 21.7nF

    A more conservative value reveals that the boot cap should not dip in voltage more than the user defined ripple should allow, where 0.5V is a conservative boot ripple value. Therefore 93.3nC/0.5V yields ~200nF Cboot. The recommended Cboot in the datasheet of 100nF will suffice.

    Thanks

  • Hi Jeff,

    Thanks for your reply. I understand your point about not having an optimized Cboot and looked at the datasheet where it talks about Hs negative voltage. However, I have a question where is says that HB -HS voltage should be kept at 15vdc. Does this mean that it should not exceed 15v even if both voltages of HB and HS are above zero volts? The reason for this question is that when my Cboot is charging during Low side on time the voltage difference between HB and HS can get up to 18V. This happens with Cboot at 10uf and 100nF. I have used both values.

    here are the answers to your questions:

    At what point in testing does the HS driver fail exactly? The failure is very random. It happens when motor is running faster (maximum duty cycle is 17%, so it not very fast) and it strats and stops at higher rate. the nature of this application is that the motor starts running to take extra liner off a label roll when a label is feeding through and stops when label is finished feeding. The failure happens when the motor is triggered to start at higher rate e.g every 400 ms.

    How is the HS driver failing, output hard short to GND? NO, it is not a hard short to GND. It starts to fail by not having enough voltage at HO and then leads to shorting between HO and HS.

    Is the boot diode damaged as well? No, sometimes the corresponding MOSFET gets damaged.

    Whats the switching frequency? Switching frequency is 23KHz and maximum duty cycle is 17%.

    If I use 100 nF for bootstrap capacitor, do you recommend to use 1 uF for VDD bypass capacitor?

  • Hi Sarira,

    Thanks for sharing your findings!

    General Rule of Thumb is that Cboot is 10xQ_gate_total/VDD and the VDD cap is 10xCboot. The datasheet values are good to follow.

    I have a few questions as well,

    I would love to see what you are seeing. Can I see HS-VSS, LO-VSS, and HO-HS?

    Can you tell me what the voltage on HO is at the time of failure? If HO dips during time of failure (highside turn on only – during highside turn off HO is brought to HS and assumes the voltage of HS) then this could mean of course slow rise time. It seems also possible that a negative HS transient could cause the highside turn on Vgs miller transition to lengthen causing more work for the highside driver.

     From my understanding HO has low voltage and HB-HS = 18V are concurrent failures?

     As soon as the HS switch is turned off the SW node will be forced to ground through commutation of LS body diode and the bootstrap begins to charge. It will charge back up quickly. This immediate fast action of sending the switch node to ground gets a reaction from the switch node inductance and when it is brought to ground after the HS turns off, the stored (CCM) current during deadtime begins to freewheel through the LS body diode. There is an unfortunate way for board inductance from the HS FET source and LS FET drain to pull the switch node lower than the forward drop of the LS body diode and can be affected by di(or v)/dt on HS.

    For the LM5109A:

    HB - HS differential voltage rating is limited by 18V max at all times.

    HS is limited by VDD – 15V for negative transients -> for 12V VDD HS cannot exceed -3V

     (and also <50V/ns slewrate)

    Since you said HB – HS rises to be about 18V. This could be because the HS node briefly dips to -3V and overcharges the bootstrap during this time in which the charge has nowhere to go until HS switch turns on.

    The boot cap voltage can be clamped by adding a Zener in parallel with the boot cap to limit the over voltage when charging. In the case of the FET being damaged as well - this HB overcharging voltage could sometimes be small enough (<18V) for LM5109A to drive however too large for the FET gate to handle in long durations.

    Something I also noticed was that the FETs you are using (IRFR3706) which has the datasheet ratings of +-12Vgs and Vds is 20V. This is assuming your using VDD=12V and Vdrain=24V.

    Thanks

  • Hi Jeff, 

    thanks for your reply. 

    I can't tell you what is HO voltage at the time of failure because I can't make the failure happen intentionally and I can't record it. 

    please see my answer to your questions in red:

    From my understanding HO has low voltage and HB-HS = 18V are concurrent failures? I don't know that, but after the failure happens I can see that HO signals stays the same as HS.

    while I was trying to get the waveforms you asked for, I noticed something which I think relates to the point you mentioned about voltage across Cboot rising above 18V. I've attached an image below (Cboot). As you can see in this image Cboot voltage is about 20.8v. At this point there is zero voltages on HO, or HS on that pole. This happens when the motor is powered but can't move. When motor can't move and LS MOSFET of one pole is on and HS MOFET of another pole  is PWM  the Cboot voltage of the pole where LS MOSFET is on charges to this voltage. it drops to 10V when the PWM to HS is off. As a side note, in my H bridge PWM is applied to Hi and 5VDC is applied to LI (no PWM).

    do you think this cause the failure? this situation can happen very often (after each label is fed) Can putting a Zener diode fix this issue? can you recommend a part number?

    Also please see the signals you asked sure. I wasn't sure what part of HS or LO signal you needed to see. 

    I did not fully understand your comment about FET I am using. Per datasheet Vgs is rated at +-20v and Vds is 75V.

    Cboot.docx

  •  Hi Sarira,

    So its confirmed that HB-HS is over 18V since HS is 0V, that’s a great first place we need to start our solution. The wave form of HB is concerning, it has 40V spikes lasting tens of ms before charging to ~21V. This is the issue that appears to be causing the failure.

    When you say: “when the motor is powered but cant move” – does this mean that the one of the highside FET’s of the half bridge is PWM’ing voltage to the motor while one of the lowside FET’s would be dissipating all the motor energy (while the motor performs a sudden stop)?

    One thing I would like to find out is why we are seeing such high/long oscillations on HB.

    The Bootstrap might be seeing coupled oscillations from the switch node inductance due to it being in the same charging path as the pole current right when the motor stops and the switch node experiences a high dv/dt from HO turning off and LO turning on. The freewheeling current continues when LO turns on and is interfering with the bootstrap charging current path right after the motor stops moving.

    So to prevent overcharging the bootstrap we need to limit the current into the bootstrap when it first begins to be charged. Easiest and cheapest way to do this is with a boot resistor, however there are better methods to solve this issue. If a bootstrap resistor solves the issue then the value of this resistor should be small enough (5-10ohms) so as not to increase the bootcap charging time constant. The placement of this resistor will vary depending on whether or not you will also want a Zener.

    If a TVS diode or Zener is required then you can add it in two places and since you only care about the undershoot or the overshoot and not both on the switch node we only need one Zener for unidirectional protection.

    Either in parallel with the boot cap to take care of overshoots or you can put the Zener from HS pin to GND to shunt the undershoot current. If the latter is used then relocating the gate resistor between the HS-pin and HS node would serve a dual purpose – rise/fall time delay as well as bootstrap charge current limit and even a limiter for the undershoot current. We are looking for a Zener with about an adequate breakdown voltage above 24V and sharp knee at low currents (low value capacitance at high frequency) to quickly shunt the negative transient currents bringing the switch node back to GND.

    Let me get back with you tomorrow on a better recommendation zener. From a first glance on digikey there are lots of different options out there I included a link of how I narrowed my search -> digikey-link-click-here

     

     Thanks

  • Jeff,

    I apologize for not explaining it right. I should've mentioned that the spikes you see on HB are actually PWM signals when the motor is running (the resolution of the scope was not catching the hole signal). Although  HB is 40v but HB-HS is about10V so HB-HS stays within the range. Please see the attached for waveforms. I think the problem is when HS is zero and HB is about 21V.

    To answer your question about the motor application: yes, for the amount of time that the HB is charging to 21V one HS MOSFET is PWM'ing and another LS MOSFET is on. The application that the motor is used is as follows: the motor starts to run when there is extra liner then it runs for a fixed amount if time. The liner tension can become tight half way through the time but the motor is still running, so it is not possible for the shaft to rotate (kind of like a motor stall) 

    Now that the oscillation at 40v is not a problem, do you still think that 21V on HB is causing the failure? 

    I read through your recommendation and this what I understand. I have to limit the current into Cboot to fix the problem. I have three ways to do that:

    1. Add a  boot resistor: boot resistor 5-10 ohms. 
    2. Add a Zener diode parallel to Cboot: Zener breakdown voltage above 12V VDD
    3. Add a Zener Diode to HS pin to GND. Then move gate resistor (22 ohm in my schematic) from HO-gate to HS-source: Zener breakdown voltage above 24

    Is any of these methods better than the other. For me the easiest way is to add a Zener diode parallel to Cboot. I added a 12V Zener add looks like it clamps HB-HS to12v. 

    I am also concerned about the negative transients on HS pin. As you can see in my previous images it gets to about -10V in a very short amount of time (a few ns). The question is if I put the Zender parallel to Cboot would it prevent the undershoot? or should I use the 3rd method to over come that as well. 

    This circuit is currently used in our production units and I need to resolve this as quickly as possible. Is there anyway that I can contact you directly via phone or email? I appreciate your help.

    Cboot_2.docx

  • Hi Sarira,

    Thank you for helping me understand how your application works like a motor stall with your PWM signals being coupled when this occurs. Thanks for clearing up my understanding, let me try as well. If whenever possible, I like to keep threads online because it allows future e2e’ers, searching for a similar issue to come across this thread. Taking this thread offline prevents this from happening, I will make a quick effort to reply asap..This post should answer your question however.

    There are a few points from last time I wanted to clear up. Since we now know the two issues that are occurring, >18V on HB-HS as well as undershoot on SWnode (which one is causing the other) we need to get rid of both as you assumed.

    The typical fix for overcharging the bootstrap is a boot resistor as previously mentioned, the Zener on the bootstrap is more expensive. The typical fix for undershoot on the switch node is a schottky on HS-GND (previously I called it a zener). The reason a schottky is used instead of a Zener is because of the faster turn on reaction time is required to eliminate some of the reverse recovery current from the LS body diode as well as lower forward voltage drop. Essentially the schottky is put in parallel with the LS body diode and is used to turn on the bodydiode on faster.

    So in order fix the issue you need to fix both overcharging Cboot and undershoot of SW.
    1. Put low value Rboot in series with Dboot to see where Cboot stops overcharging
    2. Put schottky on HS-GND to turn on when the SWnode is biased with a negative voltage greater than the forward voltage drop of ~0.5.

    These two fixes should reduce Vboot to acceptable limits and help out with clamping SWnode a schottky diode drop below GND to reduce undershoots which is the main factor is contributing to the problem. Please let me know the results to testing this fix, and any other questions you may also have.

    Thanks
  • Jeff,

    Thanks for your reply.
    I'll will do what you recommended and test it tomorrow.
    I understand your thoughts on using resistor to stop Cboot from overcharging, but considering reworking all boards that we already have using Zener diode parallel to Cboot is less expensive for us. we can easily piggyback the diode on Cboot vs. adding resistor which I have to make cuts and jumps. Would it be ok if I use a 12v Zener diode instead of Rboot to stop Cboot from over charging?
    and I also will put the Schottky diode on HS-GND and test it. I'll let you know how this goes.
  • Hi Sarira,

    Sounds good, a zener in lieu of Rboot will work as well, the differences might even work in your favor since a boot resistor adds to power dissipation. I only suggested Rboot because its less expensive however in your case the rework needed amounts to it being more expensive. Use the zener and schottky fixes and let me know what happens!

    Thanks,
  • Hi Jeff,

    I put the Schottky on HS_GND and my motor is not moving. if I take them out motor works as usual. Attached please see my circuit.

    My Zener is 12v and Schottky PN is 1N5819HW.

    please let me where I went wrong.

    Thanks,

    Sarira

    motor circuit reworked.docx

  • Hi Sarira,

    Thanks for your update, sorry to hear that both solutions are not working for us.

    You confirmed that the 12V Zener was clamping the boot voltage without overcharging it which is a fix for the overcharging. Although this is not the optimal solution we have to run with this approach. Then you added on the Schottky and it was not working at all. The reason for this was not apparent to me before and is not apparent to me now.

    If HS has negative voltage then current is flowing from GND and up the current sense resistor. Is the positive side of the sense resistor able to go negative? Placing a Schottky will not prevent the source of the LS FET or positive side of the current sense resistor from going negative. Placing the Schottky directly across the LS drain and source will still show negative voltage on the positive side of the current sense resistor.

    It appears that these fixes together do not like to work, however from my understanding each fix works separately? Does the Schottky eliminate the undershoot without the Zener there? If so is it possible/easy to place the boot charging resistor in another place (HS path or HB path) to make the rework simpler?

    I think we need to figure out what issue is the worst and go from there. Will fixing the undershoot help with the overcharging? What about vice versa? What ever fix works the best lets keep it then find the other fix around that one. If both fixes work fine separately then, which fix helps the other issue more?

    One possible fix I have not mentioned is placing a snubber on HS-GND. Which will not eliminate the undershoot however dampen the oscillations enough to possibly mitigate the issue. Maybe this is worth a try if the Zener is a must have on Cboot.

    Do you think this issue is related to back EMF?
    Can you tell me more about the PWMing technique you are implementing?
    How much current does the motor use?

    Thanks
  • Hi Jeff,

    Sorry for replying so late. I was figuring out what was wrong with my circuit all day Friday.

    When I added the Schottky diode as I mentioned my motor did not turn. Turns out that the current sense circuit voltage increased after adding Schottky diode, and my PWM was shutting down thinking a short circuit happened. Current sense circuit is connected to my micro and based on the readings which is compared to a ref value my PWM kills the output. If I increase the ref value the motor runs ok, but I can't explain why would the current sense voltage increase by adding the Schottky diode. I have also tried moving RGate to HS pin and it does the same thing. 

    Another problem I am facing is that when I use 1N5819W (1 amp) the diode dies. As if current rating is low. It even dies after moving RGate to HS pin. Which I thought limits  that current rush to the diode. I only had a 3amps diode that I tried next and that one does not die. 

    I am very confused and can't explain why these things happen. I still think the Schottky and Zener diode are needed, but I can figure what is happening in my circuit. The Schottky diode gets ride of undershoots on HS.

    Thanks,

    Sarira

  • Hi Sarira,

    Thanks your reply, thanks for your diligence!

    You bring up a good question, intuition says the only way the current sense resistor has more positive voltage is if current is going down to GND creating the larger drop. If this is true, we also know that a negative voltage on SWnode will forward bias Schottky and create a current from GND. Since Schottky and the current sense resistor are in parallel (with the LS turned on) an upward/forward current on Schottky means a downward current through current sense and a higher current sense voltage.

    Another way to say this, when the undershoot on SWnode occurs and the LS is being turned on and the basic circuit that exists on SWnode which the parasitic current path follows is…GND->Schottky->LS->current sense->GND…

    Now the 1A schottky dies after extended use, so you had to switch to a 3A one. Since i=Cdv/dt, and, in order to source 1A from GND (with current being sourced from FET input capactiance as well as parasitic inductances from load and freewheeling current; if Ciss=~8nF and -10 dV) you see a dt of ~<100ns to reach the peak undershoot to yeild 1A.

    Rgate on the HS pin (Rhs) is useful because it allows you to combine the effects of a boot resistor and turn on/off resistor into one resistor located in the path of all 3 current charge/discharge paths. However it has possible unforseen negative effects that create a difference in voltage between the HS pin and HS node. If placing a resistor on HS is not limiting this undershoot current making it large increases this risk.

    Maybe if we can find the optimal combination of Rgate (only for ON/OFF time), and Rhs (only to limit undershoot current as well as boot charge) or at least until we start to see an effect from this HS resistor. We can then add on either the Zener or Schottky depending on if overcharge or undershoot is worse. And then worry about the other last. I imagine that the Zener wont be needed if we optimize Rhs…in which case if we add the Schottky with no Zener do we still get a higher voltage on current sense?

    Thanks,
  • Hi Jeff,

    Sorry for delayed response. I was busy testing my circuit.

    To give you an update, I believe I was wrong that moving Rgate to HS pin does not help with Schottky current. It actually does. I reworked a board and put a 40v, 1A Schottky on HS-GND and moved 22ohm Rgate to HS pin. Everything is working now. Current sense voltage is even the same as before.  I don't need the Zener either. My voltages are all within the range and no undershoot. HS pin is kept 0.5v below ground at all times. I have been testing my application since yesterday and so far no problems. I still need to do more testing. 

    Thanks for your help.

    Sarira

  • Hi Sarira,

    I was just starting to miss you :)

    I am so glad to hear your good news update. Thanks for that, it makes me happy to hear our hard work resulted in some good. If you are not satisfied with your voltages (-10 to 0.5 is just about amazing) or have any other question after more testing please let me know so I can further advise!

    Thanks!
  • Hi Sarira,

    It's great that we were able to get your application up and running!

    If you believe you problem is now solved, can you log into the forum and mark this thread with the Green button to let us know it's been resolved?

    If you have future issues, please let us know, and we'll help you with those. Thanks for your interest in TI products!