Suggestions for BLDC driver?

T ChapT Chap Posts: 3,947
edited 2016-02-05 - 16:57:15 in General Discussion
Any suggestions on this would be greatly appreciated. I have been using the MC33035 BLDC controller which drives an HIP4086. The motor has 3 hall sensors. Output current less than 2 amps peak typical, rare cases of 3.

The voltages are 27VDC. My board has a .1 sense resistor on the low side which allows current sensing back into the MC33035 through a trim pot for limiting. I have followed very closely the circuit provided with the MC33035 and HIP 4086, and the combination was done on the driver module that the supplier for my motor provides as an option. I needed a few more options on the driver so I could not use their off the shelf module. The input to the board is 0 - 3v3 PWM from the Propeller into an H11F1SM-ND whereas the output of the H11F1 controls a dividing circuit so that the output becomes 0 - 6.35VDC into the MC33035 for speed control.

My version has a failure rate, where a mosfet( IRF540) will short on some amount of boards. Maybe 20 - 25 in 250 boards. It is a real pain sending out replacement boards and having end users have to replace the board. I want to keep the same functionality with the output of the Prop controlling speed using the same PWM output. The techs at both companies have looked at the schematics and we can't find a reason for the failures. I really need to start over on the motor driver.


  • The fact that 90% are working without issue suggests that some element is marginal. Let me throw out a few things from my past to see if anything sticks:

    1) Gate drive - ON/OFF voltages? What gate drive resistance (if any) did you add?

    2) Has dead time been validated between the high and low side, to ensure no shoot-through?

    You have something like 2x margin on voltage rating and 10x margin on current rating. Assuming that thermals are ok, then my best guess is that it would take a serious gate drive snafu to destroy the IRF540. Without full schematic, layout, and picture, a best guess is all I can offer. However, you need to know what you intend to fix before determining how you intend to do it.
  • T ChapT Chap Posts: 3,947
    edited 2016-02-05 - 02:50:36
    Thanks for the info. Gate driver resistors are 47ohm according to the previous design I adapted from. The dead time has not been verified on my end, but the MC33035 has programmable dead time and I am not able to determine how it's own method of setting dead time is failing. I forgot to mention earlier that most of the failures appear to be while the motor is idle. I can post the schem and board later, maybe tomorrow.

    I realize trying to build a driver with the Prop too much work to think about.
  • I included some pics of the board, and the schematic as well. I know this is a challenge to sort out at a quick glance, but maybe someone might see something obvious. The basic principal is that the Propeller controls the speed via PWM going to a Opto which acts as voltage divider to create a voltage from 0 - 6.35V on the MC33035 controller input. The MC33035 is the BLDC controller and it's outputs are sent to the HIP4086 3 phase bridge driver. My problems are that on occasion there is a failure of a mosfet ( IRF540 rated almost at 100 amps). The board is fused with a 2 amp slo blow and they rarely blow, usually the .1 sense will pop if there is a dead short on the mosfets. Once in a while the board stop working, and I find a shorted mosfet, occasionally the mosfet shows obvious damage, but mostly it does not show visible. Other occasions I cannot find a mosfet damaged, but the board is not running the motor, which means either the MC33035 or HIP4086 has failed.

    In the past 6 months I have added a 10K pull down on the low side gate inputs. There are schematics for the HIP4086 that show the pull downs and some schematics that do not. It seems that the failures are never when the motor is running, but when it is idle. Possibly a case of floating inputs? But the 10k's should handle floating. The info for the 4086 says the high side does not need pull downs if the low side has them. It seems I have had a failure or 2 with the pulldowns added.

    I need to get this upgraded to near failure proof. Any suggestions highly appreciated.
  • T ChapT Chap Posts: 3,947
    edited 2016-02-06 - 19:21:05
    One observation I made today looking at the HIP4086 is that on their eval board they show a .22uf 0603 non electro type on the 3 bootstrap caps, I am using a 1uf 25V electro. They are using 33ohm to the gates, I use 47ohm.
    852 x 678 - 108K
  • I meant to post this, strange I can't add images to the previous post.
  • T ChapT Chap Posts: 3,947
    edited 2016-02-13 - 22:07:57
    I recently came across the HIP4086 Demo board schematic, seems I have missed this PDF in the past when trying to figure out why I have had mysterious failures on the BLDC driver board. I had thought I copied the basic schematic but it the HIP4086 board added the extra components. I had not included the diodes, caps, and series resistors (marked in the image in red). The HIP4086 Demo user guide states the following regarding the extra diodes, caps, and series resistor on the sense inputs:
    All of the xHS pins have recommended external snubber circuits and negative voltage clamps to ensure that safe operating
    conditions are always maintained over temperature and loading conditions.

    For example, D1 in Figure 9, functions as a negative voltage clamp on the AHS pin. Frequently, circuit designers overlook the
    negative transients on the xHS pins that occur when the high-side bridge FET turns off. This rapid di/dt transition of the current
    from Q1 to Q2 develops a negative voltage transient as a result of the parasitic inductance in the low-side FET power current path
    (see Figure 10). R1 on the AHS pin is necessary to limit the current in D1 during the dead time because without this
    resistor, D1 is essentially in parallel with the body diode of Q1. During the dead-time, the commutating negative current in the body diode results with approximately a -1.5V conduction voltage (with large amplitude motor currents). Because the conduction voltage of D1 (~0.6V) is less than the body diode, R1 limits the current that would flow in D1 during the dead-time to safe levels. Note that when the low-side bridge FET is turned on, the negative voltage across the FET is greatly reduced because the conduction voltage of the FET channel is typically much less than the conduction voltage of the body diode. This results with a negative conduction voltage much less than 0.6V and consequently, significant current flows in D1 only during the dead-time

    C1 in parallel with D1 in Figure 9 is used to reduce the dv/dt on the xHS pin and also filters high frequency oscillations that occur
    on xHS because of parasitic inductance and capacitance on the this node. Clean transitions on xHS ensures fail safe operation of
    the HIP4086 driver.

    I also was using a 1uf Tant for the boot strap caps(in blue), but changed to the .22uf as shown in their schematic.

    After adding the changes, I built some new boards this week and am noticing some different behavior. On my old boards, under no load, when the motor was running and especially when decelerating to stop the Fault LED would flicker, never full on but there was always the noticeable flickering. The fault LED is driven from the MC33035 BDLC controller IC. The fault LED operates as follows:
    This open collector output is active low during one or more of the following
    conditions: Invalid Sensor Input code, Enable Input at logic 0, Current Sense
    Input greater than 100 mV (Pin 9 with respect to Pin 15), Undervoltage Lockout
    activation, and Thermal Shutdown

    The only possible option is the Current Sense input > 100mV. On the new board there is absolutely no flickering at all except if you grab the motor and force the current above the threshold set on the trim pot. Hopefully I have found the culprit of the failures. I was already using the shoot through protection so I don't think that was part of the problem.
    640 x 480 - 142K
    640 x 480 - 132K
  • hi dear
    plase send me pcb file
    best regard ahmad talebi
  • I would suspect the Gate voltages are too low. I build a stepper driver board with mosfets to drive the stepper. The board worked great with the BS2 5 volts from the stamp. So I decided to use the same exact board with the prop. Nothing but problems blowing out the fets. I used my infrared thermometer to read the temp of the board where the leads go into it and it was 300 deg. F. That was the max. Temp. Limit of the fet.
    The bottom line was the 3.3 volts from the prop would not completely turn the fet on. So I redesigned the board with a transistor to drive the gate and the prop to drive the transistor.
    Problem solved.

  • That last schematic looks the one from the AN1829 tech. Note. In that system they are using an IRFS4710. Your board has IRF540's..
  • It's easier to lose clients than to win them.

    I have so many applications where I would love to see my own home-grown, Prop-based controller but reality is that my clients look to me for solutions, not to partake in a development. For the client, reasons are excuses and you can soon lose credibility, along with your posterior.

    Please have a look at the attached. I can't help but believe that this solution would have made a lot of sense, based on what I understand, regarding your recent projects.
    This particular board has an integrated Lmd18200-based driver but the pre-programmed controller chips are available from
    Failure is not an's bundled with the software.
  • DOH! I just realised that the problem was (presumably) resolved, three years ago :D
    Failure is not an's bundled with the software.
  • This is very old stuff in this post. I did have a failure rate due to leaving out a few parts that were recommended in the reference schematics and position of gate resisters. I was getting oscillations that was turning on mosfets. The revisions are 100% rock solid. I use MC33035 bldc controller feeding the HIP4086 lowside mosfet driver. Now I added the INA138 current sense > ADS1015 ADC for setting current trip levels in the Prop. Very happy with the system.
  • Love it! Except for the darned Molex connectors that had me pulling my hair out :swear: :lol:
    Failure is not an's bundled with the software.
  • Love molex!
Sign In or Register to comment.