Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Issue with controlling sensored BLDC motor

Status
Not open for further replies.

RenesasT

Member
Hello All,

I have developed 12V and 24V BLDC motor driver with max current upto 20A

The driver is working fine. The efficiency is good.

Sometimes it is giving the issue. Sometimes once I turned on the power then suddenly blast happens and current reaches 70-80A.

Please suggest me remedy over this issue. My design is still not getting approved just because of this issue.

Please let me know if you will need more information on it.
 
Without a circuit diagram it's hard to say but I would guess that your μC pins are initially inputs and therefore floating. Noise on these pins can cause unpredictable results. Use tie up/down resistors to define the initial level of these pins.

Mike.
 
Hello alec_t,

The current through the power supply.

On field , the current source can be anything like battery or power supply or solar.
 
I am assuming you have taken care of shoot through with your controller. Do you have pull down resistors on the gates? A controller I made years ago did not, and occasionally on start up I got a current blast because one or more gates were floating high. I put a resistor from the gates to ground. Don't remember the exact value, but it was something like 10K to 100K.

John
 
Hello Jpanhalt,

Exactly, I did the care about the same.

Still I am facing issue of getting blast at sometimes power on (not all the time but happens some time only).
 
Hello Jpanhalt,

Exactly, I did the care about the same.

Still I am facing issue of getting blast at sometimes power on (not all the time but happens some time only).
About the same? What did you do exactly? Are these changes not on the schematic?

Because your schematic shows that all six MOSFETs have a pull-up gate resistors (R11, R12, R13 and R17, R18, R19) which default the MOSFETs to turn on. This is the opposite of the pull-down resistors everyone has suggested. I'm surprised you only get a current spike some of the time and not all of the time when you power-up.

What is the reason for those those pull-up resistors? What component us U2? It almost looks like U2 has open-drain ouputs or is otherwise unable to produce signals at your gate drive voltage so you are using these pull-ups to do that. Because those pull-ups are the problem. With pull-ups, your MOSFET will always default to turn on when there is no command signal present (like when the MCU is powering up).

Normally you would use pull-down resistors on your MOSFET gates (high-side MOSFETs would have a gate-source resistor instad which does the same thing) so that they default to an OFF state. You would drive the MOSFET gates with a transistor totem pole. The totem-pole drive for the high side FETs would be floating and a level shifter is needed for the microcontroller to switch the floating totem pole (probably a pull-up resistor and a pull-down transistor that is driven from the MCU),

Some solutions:

1. redo your gate-drive without pull-ups so you can use pull-downs...

2. put discharge resistors across the output capacitors of both your ground-referened and floating gate drive supplies so they discharge to zero when powered down. Then put a delay on your the startup of your gate-drive supplies so it only starts up after the microcontroller has started up. This can be a time delay or an switch MOSFET directly controlled by the MCU through an enable signal.

3. Add depletion mode transistors like JFETs as toggling pull-down switches son the gates and have them all be driven by the MCU to open when you are ready to drive the motor. Depletion mode devices are closed switches when power is removed, the opposite of most transistors which are enhancement mode devices. This is the fastest easiest way with minimal circuit changes but you need to get JFETs.
 
Last edited:
Could it be that B,D,and F are pulled high at the start before U2 pulls them low (off)? What if their static state is off and U2 were to pull them high?

EDIT:
Is U5 a 555 chip?
 
Last edited:
Hello dknguyen,

Hope you are doing well,

The U2 IC is the negative buffer IC which is having part number UL2003. This IC is just to avoid the voltages at MOSFET's not to reach at the controller.

U2 is open drain o/p and unable to produce signals at gate drive voltage.

How I can resolve the issue in same circuitry.

Please help me with the same. Awaiting for your reply.
 
See the solution #3 that I already listed.

It requires a JFET on each gate to pull the gate low by default. Once the MCU is booted up, the MCU will drive the JFET gate which will cause the JFET to become open switches.
 
Last edited:
Hello dknguyen,

As per the circuit diagram, I had posted earlier.
What I think the circuit can not be changed. One thing is observable here.
If I pull up the upper MOSFET lines with 5V in between micro controller and ULN2003 IC (U2). Does this will work for me?
 
Hello dknguyen,

As per the circuit diagram, I had posted earlier.
What I think the circuit can not be changed. One thing is observable here.
If I pull up the upper MOSFET lines with 5V in between micro controller and ULN2003 IC (U2). Does this will work for me?

Why do you keep wanting to pull things up? Pulling things up is what is causing your problem in the first place. You could try pull-down resistors on U2 pins 1, 2, 3, 4, 5, 6. That might resolve the issue
 
Hello dknguyen,

Pull down all 1,2,3,4,5,6 means they all will turn ON. The IC which I used is ULN2003 which is negative buffer IC.

Suppose I wanted to turn Mosfet 1 i.e Q1 ON. Then I should have send logic 0 i.e 0V from controller.

This is why I said, Shall I put pin 1,3,5 as pulled high. So that initially the MOSFETs will be in off state.

Please suggest on this first point.

Now second point is, If power is turned ON, then powering up of MCU and power goes to MOSFETS is different.

My point is, if power on of MCU and the power to the MOSFET is same instance or different.

If that is at the same instance, then I will give logic signals from controller during power ON. Then there is no need to pull up the things.
 
When I said pull-up or pull-down, that was with reference to the mosfet gate, not the driver input. I suspect dknguyen was using the same point of reference.

All of the mosfets shown are N-channel. I assume that is correct.

The 555 is providing a 50% duty cycle square wave to the gates of Q1-Q3 and also to buffer pins A,C,E. My assumption was that the intent was for the buffer to invert those signals to drive the lower mosfets. Does that buffer insert a delay? How much?

Finally, is the 555 level shifted high enough to keep the mosfets Q1-Q3 turned on given the voltage at the drains of those mosfets.
 
All of the mosfets shown are N-channel,

Yes you are correct. All the MOSFETS are N channel .

Does that buffer insert a delay?

No buffer does not have a delay. In software part, I have given some delay before MCU start its operation.

Finally, is the 555 level shifted high enough to keep the mosfets Q1-Q3 turned on given the voltage at the drains of those MOSFET's.

Yes it is.
 
Does that buffer insert a delay?
No buffer does not have a delay. In software part, I have given some delay before MCU start its operation.

When I mentioned shoot through (i.e., both top and bottom mosfets on at the same time), I don't think we understood each other. Delaying the start of the MCU will probably not accomplish that -- at least it is not intuitive from your schematic.

Dedicated mosfet drivers that I have used insert a delay between turning off the top mosfet and turning on the bottom and visa versa. Shoot through can kill a mosfet as it is effectively a short circuit.
 
Hello jpanhalt,

What can be done over this. I don't want to change the circuit.

Please let me know one more point.

I am testing it on dynamo meter.I have main switch for power and the dynamometer has its power switch.

main switch on- gives directly the set voltage.
main switch off- gives directly the 0V.

dynamo meter switch on- voltage is increasing and reached to set voltage after 3 sec.
dynamo meter switch off- voltage is decreasing and reached to 0V after 3 sec.

If I am using main switch then blast happens randomly.
If I am using dynamo meter switch then blast happens all the time at start.

Please suggest
 
I notice you started another similar thread. Is that a different controller?

As for this thread, your original symptom was a "blast" of current sometimes when you turn it on. As I mentioned early on, that symptom can be due to shoot through when opposing mosfets (i.e., a top and bottom pair) are on at the same time. We have discussed some causes and cures for that.

However, you seem to have concluded that the circuit cannot be changed and you recently clarified (at least to my understanding) that the MCU does not control the timing of the top and bottom mosfet pairs.

About the only thing I can suggest is to live with the blast, and if mosfets are occasionally destroyed by it, buy a big supply of them.

If I were designing that circuit from scratch I would toss the 555 and generate both the PWM and control of opposing mosfets by the MCU. Alternatively, depending on your needs, I would use dedicated drivers for the mosfets that take care of the shoot through issue.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top