Hi.
I'm trying to operate a MP3 module by switching it on/off by a transistor on its vcc terminal.
This module uses a 3.7v battery and 250 mA aprox. and it turns on when connected to the battery.
I have selected a BD139 transistor and connected it as follows:
Base connected to arduino GND/3.3v through a 220 ohm resistor
Collector connected to MP3 module ground
Emitter connected to arduino ground and battery ground
MP3 module VCC connected to battery +3.7v
When Base is connected to arduino 3.3v, module leds lights up, but it doesn't work.
Same if Base is connected to 5v.
It seems that the system doesn't get enough power but BD139 can manage more than one amp.
Use a logic-level MOSFET, or a better BJT (one designed for switching which has a lower Vsat,
such as ZTX851).
For 3.3V operation you could try changing that 220 ohm resistor to 100 ohms though, 220 is
not going to allow much base current (only 12mA, you want as much as is safe to drive a BJT as
a switch, 25 to 30mA - remember output pins already have about 40 ohms in internal resistance
in your calculations)
A BJT as a switch needs about 10% of the load current supplied to the base to saturate properly.
Your MOSFET isn't logic-level unfortunately, and some logic level MOSFETs are only good for 5V anyway.
ZTX851 is the best BJT I know for switching.
You don't have a 2N2222A ? That's the common switching transistor - only good for say 0.6A when
driven from an Arduino pin due to the need for 5 to 10% base current of course.
logic-level MOSFETs are the thing to use for higher currents.
I can't work out from the description whether this 3 volt module is being switched on the high side or low side.
Collector connected to MP3 module ground.
Can you supply a diagram ?
Ideally you'd switch it on the high side and use a pnp transistor (or p channel logic level mosfet ) and connect it like this if your Arduino is a 5 volt device:
This circuit is suitable only if the voltage you are switching is lower than than that of the Arduino. It is also inverted so a LOW on the arduino pin switches the module ON.
You should not attempt to switch a module in its path to ground. That is OK with a relay or led etc. but not a module which may have multiple paths to ground.
Connect the grounds of the MP3 player and the Arduino together and make the transistor switch the path between the battery positive and the modules vcc.
Can't do that.
An emitter follower will drop >=0.65volt (from 3.3volt), and more with higher current draw.
And the player could still be powered throught the (TX/RX ?) signal pins.
Post#9
I assume a DFplayer (don't have one).
Did you try the module's sleep mode?
Leo..
OK. Post a link to your player so it is clear what the minimum voltage is.
Also, it appears that your circuit is also dependent on the Arduino Uno being powered (by something) to give you 3.3 volts to drive the switching transistor. So it is not completely clear what role the 3.7volt battery has. Or are you intending at some stage to make the MP3 player into a stand-alone device ?
If power saving is an issue, then you should also focus on the Arduino Uno which, also when doing nothing, happily takes c. 50 mA.
The player needs 270mA and uses a 3.7v battery. I will check the minimum voltage needed.
It will be operated by a 3v3 "timer". This "timer" needs to be powered with, at least, 4.5V. And it uses a internal LDO regulator. It needs about 8mA.
The whole thing needs to be energy efficient. That is the reason I use the step-up regulator only to feed the "timer". I can use the step-up to provide 4.5 volts to the transistor but the system will be less efficient.