p-channel mosfet switching circuit

Hi all,

As part of a bigger surface mount project, i need to use transistor/ mosfets to switch 5 LEDs in parallel on or off. I am not totally familiar with transistor/ mosfets.

The 5 LEDs peak at 400mA and are powered by 3.7V lipo battery. I will use a single Arduino pin to turn the LEDs on or off.

The mosfet is http://www.ti.com.cn/cn/lit/ds/symlink/tps1110.pdf
The transistor is BC547 http://www.fairchildsemi.com/ds/BC/BC547.pdf

Does the attached circuit look ok?

Thanks

circuit.bmp (262 KB)

Looks OK to me.

There's no problem driving the gate direct from the Arduino pin (perhaps a 150 ohm
resistor in series). That MOSFET works from 2.7V drive up so having the
gate at 0V and the source at 3.7V will be adequate drive. Pulling the gate voltage
above the source will simply turn it even more off.

Of course that configuration is active low from the Arduino's perspective.

A downside is that the MOSFET will be ON if the Arduino is powered down
And the LiPo is still connected.

I attached a version with the gate driven from the Arduino pin with a 150ohm resistor.

A downside is that the MOSFET will be ON if the Arduino is powered down
And the LiPo is still connected.

I intend to always keep power on the Arduino and Load, but just put the Arduino in sleep mode. Is there any problems with doing it this way? Do i need to add other components to make it safer?

Thanks

circuit2.bmp (262 KB)

Forgot to mention, it would be good if the LEDs had close to the lipo battery voltage- 3.7V

PedroA:
Forgot to mention, it would be good if the LEDs had close to the lipo battery voltage- 3.7V

Why? It makes it much harder to control the LED current when the two voltages are close to each other.

Because you waste less power? Perceived brightness is unaffected by +/-10% actual
current in practice, so you can have a fairly small drop across the resistor, so long
as you do the calculations for worst case in either direction, allowing for temperature
variation of LED forward voltage and full range of battery voltage. Forward voltage
depends on the particular LED and datasheet should quote the worst case limits, but
its easy to measure.

This can burn the LEDs. => Add 47..100 Ohm i series with each LED

Would the second circuit (please see attached) still work fine if a load such as a camera PCB (like the HackHD camera PCB, http://www.hackhd.com/index.php) was the load, knowing that it runs at 3.7V and about 400mA? Can the Arduino successfully turn it on or off via the mosfet without any issues?

Thanks

circuit2.bmp (262 KB)

PedroA:
Can the Arduino successfully turn it on or off via the mosfet without any issues?

Yes.

PedroA:
Would the second circuit (please see attached) still work fine if a load such as a camera PCB (like the HackHD camera PCB, http://www.hackhd.com/index.php) was the load, knowing that it runs at 3.7V and about 400mA? Can the Arduino successfully turn it on or off via the mosfet without any issues?

Thanks

Absolutely, that MOSFET has an on resistance of 65mOhm, 0.4A will drop only 25mV
or so. Start to worry about thermal issues from 1.5A upwards.

Thanks for your responses.

Could there be any issues with setting the arduino pin high so the load was off and then putting the arduino to sleep?

Cheers

PedroA:
Thanks for your responses.

Could there be any issues with setting the arduino pin high so the load was off and then putting the arduino to sleep?

The port pins keep their state when the Arduino is sleeping.

(Output pins...input pins are disabled)

PedroA… siempre me han recomendado utilizar opto-acopladores para hacer controles HIGH-SIDE ( mosfet antes de la carga). Seguramente para tensiones tan pequeñas no den problema. DE todas formas puedes hacer un control LOW-SIDE (mosfet N después de la carga) y así sabes que al menos la Fuente está a GND.

Yo utilizo el sistema LOW-SIDE para hacer dimming con tiras LED. Los MOS que utilizo son los CSD18532KCS de TI y sin problema.

Por cierto, estos MOS se pueden pedir como SAMPLES. :wink:

If the Arduino is powered down, zero volts goes to the BJT base. The BJT is off, so the gate of the MOSFET is at 3.7V, same as the Source pin. Therefore the MOSFET is Off when the Arduino does not have power.