Maker Pro
Maker Pro

MOSFET and Switching power loss for H Bridge motor driver

As part of a project, I am using a h bridge motor driver ( http://www.mouser.com/ds/2/427/sip2100-519775.pdf ) to drive my magnetorquer, which is essentially a solenoid within a metal coil( The magnetorquer has a resistance of 30Ohms and an inductance of 0.15H). The attached images show my connection.

I am powering the chip with a 5V DC supply ( represented by the batteries in the image ). I also have a digital multimeter(DMM) to measure the current through the magnetorquer, the positive lead of my DMM is connected to the Pin OutA of the motor driver, and the negative lead is connected to the magnetorquer, thus making this a series connection to measure current. I will be controlling the input pins (InA and InB) using PWM signals from my arduino. As a test, I am just using a simple arduino program that varies the duty cycle of the pwm output in Pin 5, and sets Pin 6 to digital low. The bottom left pin of the motor driver is pin 1.

So here's the issue:

The current passing through my magnetorquer is significantly lower than what is expected. Eg, when I set my duty cycle to 50% , the average voltage is 2.5V , so theoretically 2.5/30 = 83mA of current should be going through my magnetorquer, however, I am observing that only 53mA of current goes through the magnetorquer, as measured by my DMM. Also, once the duty cycle is increased past this point, the current seems to have saturated and does not change much, and at certain duty cycles past 50% even goes lower, to about 40+mA.

I tried connected my magnetorquer coil directly to my DC Supply ( Set to 2.5V DC ), and it really does draw around 80mA of current. So I am quite sure that this current drop is due to my motor driver.

What I suspect:

My arduino uno has a pwm frequency of around 800Hz. I'm guessing that this drop is current is probably due to the switching losses by the mosfets in the motor driver. But at 800Hz, I doubt it should be this significant?

Or are there other sources of power losses that I am missing out? And if so is there anyway to reduce these losses to increase the current through my magnetorquer?

Thanks!
 

Attachments

  • MagnetorquerCircuit.jpg
    MagnetorquerCircuit.jpg
    132.5 KB · Views: 146
  • MagnetorquerSchematic.jpg
    MagnetorquerSchematic.jpg
    55.2 KB · Views: 122
At that kind of current there should be no significant drop by a MOSFET driver.

You should get an average current that is very close to the current at 5V multiplied by the PWM duty cycle.

Bob
 
At that kind of current there should be no significant drop by a MOSFET driver.

You should get an average current that is very close to the current at 5V multiplied by the PWM duty cycle.

Bob

I have my multimeter set to measure the DC current through my magnetorquer, that should be the same right? If not, I really do not know how to measure the average current.
 
I seem to have found the issue, but don't know why this is so. I reduced my PWM frequency from 800Hz to 30Hz and everything works smoothly. I'm guessing that it probably has to do with the max switching speed that the MOSFETS in my motor driver can handle?
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
No, it's the inductance.

You will probably see a smooth variation of current with frequency
 
I seem to have found the issue, but don't know why this is so. I reduced my PWM frequency from 800Hz to 30Hz and everything works smoothly. I'm guessing that it probably has to do with the max switching speed that the MOSFETS in my motor driver can handle?
No, it's the inductance.

You will probably see a smooth variation of current with frequency

Do you mean the effect of the reactance due to the inductance?
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Yes. Ignoring the resistance for a moment, the effect of the inductance is to limit di/dt. The current week ramp up and down.

With a constant voltage applied, the maximum current will be inversely related to frequency.

With a series resistance, the peak current is still inversely related to frequency but is also asymptotic to V/R
 
Yes. Ignoring the resistance for a moment, the effect of the inductance is to limit di/dt. The current week ramp up and down.

With a constant voltage applied, the maximum current will be inversely related to frequency.

With a series resistance, the peak current is still inversely related to frequency but is also asymptotic to V/R

Ah, is there any way to reduce the effects of this, apart from lowering the frequency of the PWM signal? I'll upload a screenshot of the oscilloscope signal shortly.
 
Attached is a picture of my oscilloscope signal, the positive lead of the probe is connect to OutA and the negative probe is connected to ground.
 

Attachments

  • MagOsci30Hz.jpg
    MagOsci30Hz.jpg
    265.8 KB · Views: 112
You could increase the voltage from 5V to 50V. That would allow you to operate at 300Hz instead of 30Hz.

Unfortunately I am limited to a 5V supply for my project, this circuit is part of a small cubesat where there is only a 5W bus line available. I've thought about boosting the voltage, but then the current would have to be reduce to compensate, and it doesn't really take care of the losses.

Also, I'm guessing that the slopes at the bottom and top of my waveform are due to the inductance? Are there any work arounds for this?

Also, the motor driver IC can only handle up to 5V dc supply.
 
Last edited:
Yes. Ignoring the resistance for a moment, the effect of the inductance is to limit di/dt. The current week ramp up and down.

With a constant voltage applied, the maximum current will be inversely related to frequency.

With a series resistance, the peak current is still inversely related to frequency but is also asymptotic to V/R

I am still slightly unclear about this portion, as the reactance calculation doesn't add up, assuming my PWM frequency is 400Hz, my reactance would then be 2*pi*400*0.15 = 377Ω , which would then mean that my expected current should be 2.5/(377+30) = 6.14mA at 50% duty cycle, which is evidently not the case.

The slopes observed at the HIGH and LOW points of the PWM signal in the oscilloscope image I am guessing are due to the transient curves of a L-R series circuit. Given in this link: http://www.electronics-tutorials.ws/inductor/lr-circuits.html

But for both cases the current still does eventually reach it's steady state value, unless the issue is that my PWM frequency switches so fast that the current does not have enough time to reach it's maximum value before the transition.
 
dI / dt = V/L

With 5V and 0.15H

dI / dt = 5 / 0.15 = 33V per second

At 800Hz 50% you have 625 usec to build the current in each half cycle. So the current should reach:

33 * 0.000625 = 20mA

At 30 Hz you have 1/60th of a second or 17msec so the current can reach, ignoring the resistance:

33 * 0.017 = 550 mA

Bob
 
Top