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.

Mysterious current flow

Status
Not open for further replies.

chris414

New Member
I am living a nightmare trying to get my wheelchair motor controller to work reliably. My latest problem is with resistors - i'll try and be brief with my scenario:

I am using a mosfet H-bridge. The mosfets are being driven by an IR2113 high side mosfet driver. A PWM signal is generated by my microcontroller which is sent to the h-bridge to control the speed of my DC wheelchair motor. The mosfets are rated to 50amps, and my motor draws 7amps continuous (and not more than 15amps).

I have blown my mosfets too many times to count and so in desperation to prevent it happening again (at least while testing everything) I put 0.7ohms of resistance in series with my 24V battery. Very inefficient I know, but I would rather have a slightly slower motor than a repeatedly broken one. The reasoning behind this resistor was that even if my h-bridge shortcircuited through a fault in my code or whatever, the current would still be limited to 35amps which the mosfets could still handle. I also put a 15amp fuse in series with the resistors so that the fuse would still trip if there was a short circuit.

Now for the problem: I was working on something else for a few minutes when my resistors suddenly exploded. My microprocessor and motor controller were connected to power, but the motor was not running. I have an enable button and a line of code that prevents the motors from drawing current unless I am pushing that button - and that button was not pressed. The resistors which blew were rated to carry 10 amps continuously, so I am sure there must have been some short circuit which caused the resistors to blow. The weird thing is is that my 15 amp fuse did not blow - how could a short circuit not draw more than 15amps?

The above has now happened to me twice and I cannot think of any reason for it. The first time it happened I just replaced the resistors with higher power ratings and everything worked perfectly for a few days until now again. It makes no sense to me.

I will try to post a schematic of my set up as soon as I can, but in the mean time has anyone else experienced something like this?

Thanks!:)
 

Attachments

  • Motor controller schematic.gif
    Motor controller schematic.gif
    21.9 KB · Views: 269
Last edited:
Man! You need to go back to the drawing board. I mean start over. What is the voltage rating on the MOSFET? Can you post a schematic?
 
You apparently have something that is drawing less than 15A when just sitting, not enough to blow the fuse.

What are the resistor power ratings? For example 10A through a 0.7 ohm resistor will dissipate 70W.
 
Or it's bypassing your fuse somehow.. Why are you testing circuits you don't even know if they function properly on fully loaded high current DC? You should be testing them on something like 100ma DC motors verifying they work properly and then using them on the full sized motor/setup. Something has to be VERY wrong with the way things are currently hooked up. The motors may draw 7 amps continuous but what about at startup?
 
Could it be something in your driving circuit that is allowing two MOSFETS to turn on at the same time and these MOSFETS are connected directly across the supply?
 
Thanks for the replies. I have attached a schematic of my set up - I only drew one of the high side drivers as things were getting cluttered and the two drivers are identical.

@Space Varmint: The mosfets are rated to 55A and 60V. Here is the datasheet (https://www.electro-tech-online.com/custompdfs/2010/01/FDP55N06.pdf)

@Crutschow: I have three resistors in parallel, each with 25W ratings - together that should give me 75W to play with. A few days ago I ran the motors for about 15min continuously (changing speed and direction often) and had no problems. I am using an offcut of 10mm aluminium as the heatsink (with heatsink paste) and after this testing the aluminium was a little warmer, but definitely not "hot". When the resistors blew yesterday I had only run the motor for a few seconds, and then had left it sitting while I worked on something else.

@Sceadwian: I did do that kind of test prior to hooking it all up to high current DC. Everything was running smoothly before and after running the real current. I just cannot figure out why it would suddenly draw current when it was just sitting. (Btw, I have left the motors sitting for hours while testing other parts of the project without incident).

The resistance of my motor measured with a multimeter (not a cheapo bought at the supermarket) is 1.2ohms. The resistor combination is 0.7ohms. Therefore the max current that can be drawn if the motor is not short circuited is about 13A.


------------
Some things I'm not sure about there effect on the system:

- I am using 1uF bootstrap caps in my driver circuit. I'm fairly sure that this is more than I need for the PWM, but would it cause any problems?

- I am using 390ohm resistors between the output on the driver circuit and the gate of the mosfet. Is this correct?

- I have laid a towel down on my desk to stop my tools and whatnot scratching my desk when I have to work on the code for my microcontroller. While I seriously doubt it, is there any way static charge can build up on a towel and maybe turn the gates of the mosfets on somehow?:confused:
 

Attachments

  • Motor controller schematic.gif
    Motor controller schematic.gif
    21.9 KB · Views: 223
Last edited:
I am using 390ohm resistors between the output on the driver circuit and the gate of the mosfet. Is this correct?

Way too high a value and places your MOSFET into linear mode for too long. If at this moment the other MOSFET turns ON, you risk a short circuit.

You should use 22R, which is commonly seen on many PWM circuits in which MOSFET are being driven.
 
Way too high a value and places your MOSFET into linear mode for too long. If at this moment the other MOSFET turns ON, you risk a short circuit.

You should use 22R, which is commonly seen on many PWM circuits in which MOSFET are being driven.

Thanks! You say this could be the cause of a short circuit - do you think this could be the cause of a seemingly random short circuit? Ie. the motor was not running but all the power lines were connected, as happened to me.
 
Thanks! You say this could be the cause of a short circuit - do you think this could be the cause of a seemingly random short circuit? Ie. the motor was not running but all the power lines were connected, as happened to me.

A short circuit occurs only if both MOSFETs of the same leg are ON. However, it can not happen unless the MOSFETs are being driven, not being idle as both MOSFETs are OFF, or should be OFF.

I can offer explanation on a high current path so large as to cause your resistor to heat up and exploded but NOT why it occurred, which as you have said occurred randomly. Is your software controlling the IR2113 running in all these cases?

Anyway, are you aware of terms like "dead time" and "current shot through"? As I know you have to write your program code to make allowance for these conditions. The IR2113 won't insulate you from them.
 
A short circuit occurs only if both MOSFETs of the same leg are ON. However, it can not happen unless the MOSFETs are being driven, not being idle as both MOSFETs are OFF, or should be OFF.

I can offer explanation on a high current path so large as to cause your resistor to heat up and exploded but NOT why it occurred, which as you have said occurred randomly. Is your software controlling the IR2113 running in all these cases?

Anyway, are you aware of terms like "dead time" and "current shot through"? As I know you have to write your program code to make allowance for these conditions. The IR2113 won't insulate you from them.

I think "should be off" is the operative phrase - i just can't find any reason for them turning on. My microcontroller is controlling the PWM signal to the IR2113 and was left running when the resistors exploded. What does "dead time" and "current shot through" mean?
 
What does "dead time" and "current shot through" mean?

Dead time is the time between turning OFF one MOSFET and that of turning ON another MOSFET on the same leg in the H-Bridge. In real life situation, there is a certain time elapsed when the MOSFET is requested to turn ON by the MCU output pin before it actually fully turns ON, same for turning OFF. In the program code the programmer must be fully aware of this requirement so that the turning ON of another MOSFET only happens when he or she is absolutely sure that previous MOSFET has been fully OFF. Failure to observe this would result in large current flowing from V+ to 0V in both MOSFETs. This current is often termed current shot through.

After you turn OFF one MOSFET in your code, have you waited sufficient time before turning another MOSFET to ON?

Your original 390Ω gate resistor makes matter worse by lengthening turn ON turn OFF requirement, which translates to high dead time requirement in your control code. It is also helpful to place a 1N4148 diode across the 22R gate resistor to discharge the gate charge even faster in most circuits I have seen.
 
Thanks for the info. I have incorporated some sort of a time delay as that had been a problem earlier on. Basically I put in a couple milliseconds delay between changing direction. Unfortunately though the random high current came when the motors weren't running, so again am still not sure what is causing that...

I will implement the lower value resistor and diode as you suggest.
 
Last edited:
Basically I put in a couple milliseconds delay between changing direction.

Why would you want to change the motor direction within a couple millisecond, especially on a wheelchair with a person on it?

I would understand you want to stop the motor fast but that's different to changing motor direction of rotation.

The motor is still rotating and doing so would cause tremendous stress on both the motor and the semiconductors.
 
Why would you want to change the motor direction within a couple millisecond, especially on a wheelchair with a person on it?

I would understand you want to stop the motor fast but that's different to changing motor direction of rotation.

The motor is still rotating and doing so would cause tremendous stress on both the motor and the semiconductors.

The project I'm working on is a segway - so when standing upright there will small amounts of power applied forwards, backwards, forwards, etc to keep you upright. The motors won't be going from full speed forwards to full speed backwards
 
Right. That explains the short timing.

I think you should also request some information from experienced users in the robotic section of this forum on how much dead time to incorporate into the code.
 
Are you really leaving the gates of the other two MOSFETs floating, or did you simply post an incomplete schematic? If they are floating, that will cause your problem.
 
You're not trying to PWM both the high and low side of the H-bridge for speed control are you? Generally it's best to only switch the high side FETs when you need to change directions and then only PWM the low side FET, this can decrease your switching loses by huge amounts and may save the high side fets.
 
You're not trying to PWM both the high and low side of the H-bridge for speed control are you? Generally it's best to only switch the high side FETs when you need to change directions and then only PWM the low side FET, this can decrease your switching loses by huge amounts and may save the high side fets.

I'm not sure what you mean? On the IR2113 there is a "high input" and "low input" - i just tied the two together and fed my PWM signal to both of them. Are you saying when i want to go forwards I should turn the two respective mosfets on, but then only send a PWM signal to the lower one? How will the bootstrap cap be refreshed if it's not being PWM-ed?
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top