DFPlayer and a transistor

Hey guys :slight_smile: I am trying to active a DFPlayer with a MOSFET for a while already and it simply doesn't work. I am using the configuration in the picture. The problem is the MOSFET because it works perfectly well without it.

The problem is that it stops to play after around ~5 seconds and starts to make that voice which goes like trrr, like a broken television or something. I measured it a bit and saw that the base and the gate are functioning well : the gate stays LOW and the current to the base stays constant on 12mA (also 30mA didn't work well). Both stays like this also when the buzzing start. The gate goes HIGH only when the DFPlayer turns off completely, after the buzzing end. The voltage of the DFPlayer is good at the beginning but around the same time the buzzing start it goes down as low as 2.11V, which is probably the reason why the buzzing happen. Vcc which is usually 4,9V gets down to around 4.25V. Everything else is normal.

I don't think I need to add my sketch because it happen with every sketch I use this MOSFET to high side switch the DFPlayer, even the most basic one.

I am using a pro mini.

Thank you guys so much, I really appreciate your help

Add the wiring for the stuff powering the circuits. 5 seconds of run and then trouble. Powering issue.

Those are all the wiring that is connected to the power source, which is an FTDI that's connected to the computer. I didn't draw all the connection to pins 2-4 and 6-12 because it would've made a mess. It's just buttons and leds. The wiring between the DFPlayer to the Arduino are just like the second picture with an additional resistor between the Tx of the DFPlayer and pin 10 of the Arduino

Thanks.
What stuff is hiding in that FTDI?
Now knowing the DF player I ask: Are there any other connections to it than Vcc and GND?

Being fascinated by the drawings I missed the text....

When the error situation occurs, do You have an oscilloscope to check up all power related points?

Thank you :slight_smile: No unfortunatly I don't have. I am trying to get an access to one through the university but it's not going easy nowdays... I can measure only the voltages and currents

The low voltage, when the trouble has started is bad for the DFP, and the drop of voltage for the Nano is worrying.

Explain what’s hidden behind “FTDI”? What is the nominal Vcc for the Nano and the DFP?
Is any breadboard involved? If so, any poor, intermittent contact there?

As we still search for the reason, can You post the code? Or You can make a test code that just enables the power to the DFP “for ever”.

ohh sorry. I am using a pro mini and powering it up from an FTDI which is basically a USB serial adapter. The nominal voltage for the DFPlayer and the Arduino pro mini is 5V, which is close to what the FTDI gives (around 4.9V). I am using a breadboard and I will not say its quality is the best, yet I tried to play one time while removing the DFPlayer from the board but it still didn’t work. I also tried to move the MOSFET to a different line and it still didn’t work. I didn’t take the MOSFET entirely out, not in this round at least. I have this problem couple of weeks already and in my memory I did it once. I will definitely try to connect the MOSFET with wires the next time.

This code is from the examples of the library, it works great without the MOSFET. With the MOSFET this problem I have comes up :

#include <DFPlayerMini_Fast.h>


#if !defined(UBRR1H)
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
#endif


DFPlayerMini_Fast myMP3;


void setup()
{
  Serial.begin(115200);


#if !defined(UBRR1H)
  mySerial.begin(9600);
  myMP3.begin(mySerial);
#else
  Serial.begin(9600);
  myMP3.begin(Serial1);
#endif
  
  Serial.println("Setting volume to max");
  myMP3.volume(30);
  delay(20);
 
  Serial.println("Looping track 1");
  myMP3.loop(1);
}


void loop()
{
  //do nothing
}

Thank you so much :slight_smile:

Thanks for the code. However "everything" is hidden in the libraries so it doesn't help me.

Can You extract the data sheet for that FTDI? I don't want to be invaded by their cookies.

To me it's clearly a power problem. Either the USB source is not good enough, or the FTDI is coming up short, gets overloaded.

Power down totally for some 5 minutes. Then power up things and, using Your fingers, check for any rising temperature anywhere.

Some computer USB deliver maximum 500 mA. I can't judge if Your rigging needs more. Maybe it does.

I've only used a DF player mini once but I found that it produced some horrible noises unless I had a 1000μF capacitor across the power, close to the DF player.

PerryBebbington:
I've only used a DF player mini once but I found that it produced some horrible noises unless I had a 1000μF capacitor across the power, close to the DF player.

Thanks! Bastard circuits.... like the old dynamic memories.....

External capacitor; 1k resistors in the Tx and Rx wires; and connect BOTH of the GND pins of the DF Player board. That's generally what it takes to make it work well.

Edit:
Ok hold on a sec, everything I said here is irrelevant, I had a disconnected wire while I did all of those experiment. I'm coming back soon

I searched now the datasheet, I couldn't find one for the whole model (they removed it for some reason) but this is the chip it is using. I am pretty sure though that it's definitely not a power problem : it works perfect with the same configuration without the MOSFET which barely consumes a current and it worked pretty well when I low side switched the DFPlayer (so the only difference in hardware was is an additional BJP now). Also, it should consume way less than 500mA, it takes around 70mA-100mA max. It is connected to the MOSFET somehow but I have no idea where my mistake is. Nothing gets warm when I play, it just stops after 2-3 seconds. I also tried now to ground both sides of the DFPlayer, remove the MOSFET from the board and connect a capacitor in there two configuration (which I thought should be good but I am not a capacitors master. Were they ?) and it's still not working

Ok, it works now, connecting the capacitor in the second configuration in the picture made it work. Thank you all :slight_smile:
Just because I want to know, why exactly is it working now ? I suppose the capacitor gets discharged when the voltage drop from whatever reason and it stabilize the DFPlayer and keeping it high. But the capacitor gets discharged very very fast so is it actually the reason ? especially when there's no resistor in series. Which is my second question, how much resistence do you think I need to connect there ? Thank you all

In simple terms your analysis is correct. The capacitor stores electricity and provides it to the player on a short term basis to smooth out changes in the supply.

No resistor, that would defeat the purpose of the capacitor.

Ohh ok I see, thank you. But if I connect a resistor in series the discharging time should be longer and then it will be more stable if the voltage goes down for a longer period no ?

Do you understand that the load takes the electricity it needs from the supply? You don't need to limit the current, the load does that according to Ohm's law.

The load takes from the supply, including the capacitor, what it needs. Putting a resistor in series with the capacitor would prevent that from happening. The capacitor is only dealing with very short term changes. The answer to your point is a bigger capacitor.

Have a look at this, which shows the effect of putting a capacitor across the supply:

arad2456:
Ohh ok I see, thank you. But if I connect a resistor in series the discharging time should be longer and then it will be more stable if the voltage goes down for a longer period no ?

As Terry told, no, no, no. The recovery time is also getting worse and then Your cap is out of work.

Sorry it takes me time to replay, it still makes me some problems and I am experimenting with it. It still gets turned off after a while. Sometimes it plays well, sometimes it gets turned off. My answer is a bigger capacitor ?I am using a 1000µC polar capacitor (two capacitors in parallel didn't change that much).

And thank you for th info, now I understand a bit more about that :slight_smile:

I am just thinking to myself that I am trying to active this DFPlayer with a transistor since October because its sleeping function is not really sleeping and I can't make it work, do you guys have a suggestion for a good MP3 model that can go to sleep via software ? It will save me so much headache....

Can You lower the gain making the DFP need less of energy? Partly joking.
I assume You have a reasonable modern power supply and a current limit average looking okey.
Big bulky capacitors are needed in the low frequency respect. They are "slow". For the high frequency aspect "fast" capacitors, could be keramik of 10 nF, 100 nF. They were usually used next to "spikey" circuits.
An RF transmitter could be "spikey". Apply one such cap near the DFP for test. It never hurts.