1
\$\begingroup\$

I'm building a device which is powered with a small 3.7 v lipo battery. It is regulated down to 3.3 volts and powering an arduino mini. The arduino has to switch an inductive load on for about half a second. The inductor has only 5 ohms of resistance. The lipo battery provides enough current when connected directly. I have attempted to make a simple NPN transistor switch to activate the load with the arduino signal. I use direct unregulated power from the battery, through the load into the BJT collector, but so far most transistors have failed to allow necessary current to be switched. Few components is a requirement because this device has to be small

\$\endgroup\$
  • 3
    \$\begingroup\$ Probably better off using a digital (low gate voltage) MOSFET \$\endgroup\$ – JIm Dearden Dec 2 '16 at 17:52
  • \$\begingroup\$ You are on the right track it seems but you need a MOSFET as mentioned by Jim. \$\endgroup\$ – Andy aka Dec 2 '16 at 18:01
1
\$\begingroup\$

I'll agree that the Arduino will more likely be able to drive a MOSFET transistor into saturation, but I don't think that's the only problem. Once you do get the transistor to turn on, the large current draw will cause the battery voltage to drop below the 3.3V needed by the Arduino. This will cause the Arduino to let the transistor turn off. Then the battery voltage will recover, the Arduino will reset and the whole process will repeat over and over and over ...

Measure the actual voltage across the battery when connected to the inductive load. If it stays high enough (3.3V + dropout of voltage regulator) then replace the NPN with a MOSFET and live a long and happy life. If not, then you have more work to do.

You didn't say what the inductive load is but I'll guess that it's something mechanical like a relay or solenoid, all of which have similar electrical behavior. The first thing to understand about them is that they require some minimum amount of current to operate them. The full battery voltage might not be required to push that minimum amount of current through them.

The most obvious solution is a series resistor. As it stands the current (following the inductive transient) is limited only by the 5 ohm resistance of the load. Add more resistance to lower the current. If you're lucky there will be some value of added resistance that still allows enough current to flow to operate the load, but not so much to drop battery voltage below what's needed to keep the Arduino alive.

The more sophisticated solution is to use the Arduino to PWM the transistor to maintain the necessary current. For this you will need to add a freewheeling diode across the load. These are sometimes called clamp or flyback diodes, but I called it a freewheeling diode in this case because it allows the inductor to continue conducting after the transistor is turned off. It let's the transistor freewheel as in the figure on the right.

enter image description here

So the idea is, you use the Arduino to turn the transistor on and off at something like 10kHz (PWM) and adjust the duty cycle so that the current is only as high as it needs to be through the the relay or solenoid or whatever the inductive load is.

The next step up in sophistication is to implement a so-called peak-and-hold controller. This takes advantage of the fact that relays and solenoids typically require a large current to actuate them, but then comparatively less current to hold them. In your case you need to keep the load actuated for about half a second, but depending on the device, you can probably reduce the current after some small fraction of that time. With the PWM controller you simply reduce the duty cycle after, say 100 ms, to reduce the current.

The actual currents and times will need to be determined from datasheets or experimentation or both.

\$\endgroup\$
0
\$\begingroup\$

You need a FET with low gate threshold for this sort of application. If you select from the 'Logic Level FET' range then you won't be far off.
For example here's the datasheet for a PHP32N06LT: http://www.nxp.com/documents/data_sheet/PHP_PHB_32N06LT.pdf

The VGS (threshold) for this device is guaranteed less than 2.5 V and this can be seen on Figure 6. It shows that you will be able to get your required ID current with a direct logic drive from either 3.3 or 5 V microprocessor I/O ports.

Don't forget to put a Diode clamp across your inductive load.

\$\endgroup\$
0
\$\begingroup\$

You only have 3.7 V available, and the load wants to draw 740 mA. In this case it is better to use a FET. A good example that can be directly driven from either a 5 V or 3.3 V logic output is the IRLML2502. Here is the circuit:

There are a number of FETs that have suitably low Rdson with 3.3 V gate drive. This example has a maximum of 80 mΩ at 2.5 V gate drive. At 740 mA, that only drops 59 mV, or 1.6% of the total voltage. It will dissipate 44 mW max.

Note the diode. It is not optional. It's purpose is to give the inductor current a place to go immediately after the FET is shut off. Otherwise, the inductor would make whatever voltage it takes to keep the current going in the short term. That would be enough to fry the FET.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.