This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LM48310SDBD_NOPB: LM48310 Breaking at high volumes [Continued]

Part Number: LM48310SDBD_NOPB

Not sure why the other thread was closed as my issue hasn't been resolved.

Previous Thread:  e2e.ti.com/support/amplifiers/f/14/t/844884

My thread on PJRC Forum: https://forum.pjrc.com/threads/57863-Diy-Prop-shield-LM48310-Amplifier-Shorting-at-higher-volumes?p=217735#post217735

I'll copy and paste my latest post from the PJRC forum here:



So i got my new board revision, make a test circuit on it consisting of only the Audio amplifier, input caps, and the resistors that connect to AGND, DAC, and Pin 5, to which i then connected a Teensy 3.2. Both my pcb and the Teensy 3.2 were powered by a Sparkfun 5v/1A board connected to a 3.7v Lipo. The full circuit was like this: Lipo -> 5v1/A -> Teensy -> My pcb with Audio amp.

This time I was able to go up to 0.9 gain outputting a saw wave, but still when I went to full volume (gain 1.0) the speaker makes a pop sound and the amplifier dies.


For reference this is the code i'm using. when i test the board i increment the mixer gain by 0.1 each time.

#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include <SerialFlash.h>

// GUItool: begin automatically generated code
AudioSynthWaveform waveform1; //xy=232,229.00000381469727
AudioMixer4 mixer1; //xy=391,324
AudioOutputAnalog dac1; //xy=545.0000076293945,245.00000381469727
AudioConnection patchCord1(waveform1, 0, mixer1, 0);
AudioConnection patchCord2(mixer1, dac1);
// GUItool: end automatically generated code

void setup() {
// Turn on amp
AudioMemory(60);
dac1.analogReference(EXTERNAL); // much louder!
delay(50); // time for DAC voltage stable
pinMode(5, OUTPUT);
digitalWrite(5, HIGH); // turn on the amplifier
delay(10); // allow time to wake up

waveform1.begin(WAVEFORM_SAWTOOTH);
waveform1.frequency(160);
waveform1.amplitude(1);

mixer1.gain(0, 0.1);
}

void loop() {
}

Note that if i replace my audio Amp board with the Pjrc prop shield this code works up to a gain of 1.0 with no issues.

Here's the layout of my current board:



Honestly i'm not sure what to do at this point, Other than trying a new amplifier. I was looking at the TPA2013D1 as an alternative since it has an inbuilt 5v regulator which would lower my part count and also reduce the chance that my 5v regulator is causing the issue. (which I believe it is not).

  • Update:

    I found that the problem was the main capacitor, it was of low quality and only rated for 10v, which wasn't enough.

    Replaced with a higher quality capacitor and it works correctly now.

    I'm sure the layout change helped too