Pop-free startup/shutdown

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Disabled Account
Joined 2010
Although the reset circuits worked fine in suppressing pop-noise on power-up and power down, I was looking for some way to automatically reset global error flag of TPA3255 as well and so I choosed a 8-pin AVR Attiny25/45/85. The micro-program now incorporates a 1sec turn-on delay and VPP is monitored by one AVR-input connected through a voltage divider to VPP. When VPP drops to a critical value (set to 18V here) the AVR pulls TPA-reset low thus muting the whole amp.
With this configuration VPP supply voltage can be hotswapped without plopps on power-up or power down.
Even mains disruptions are inaudible.
It should be noted that excessive big TPA input coupling capacitors will spoil turn-on plop suppression.
 
220k might work, 330k probably wouldn't, as it would drop the current below the 0.18mA activation threshold for the CPC1333. But it depends on your input voltage, or the range of input voltages you expect to use. Some folks use 36V, I use 51V.

The resistance calculation is the same calculation you would do for an LED. You should be able to find an LED resistance calculator online.

The CPC1333 datasheet indicates voltage drop of 1.26V, and activation current of 0.18-2mA. For efficiency, and to make it more sensitive to power drop, aim for low current, around 0.2mA.

Also, RESET+ goes to pin 10 and GND goes to pin 4 of the onboard interface block.
 
Last edited:
In addition to power-off pop, you can use a second XYSX CPC1333 to control power-on pop too. All it takes is the addition of a capacitor to add a small delay.

I decided to run the 2nd CPC1333 from the onboard 3.3V rail, because it starts after the 15V supply. Runnnig from 3.3V, I used a series 10k resistor and a 220uF polarized cap parallel to the CPC133. This adds enough delay to eliminate the (very small) power-on noise.

The outputs from both CPC1333 are paralleled to control RESET, so if either relay is unpowered, RESET stays engaged.

Altogether, power consumption is just a few mW.

See attached image
 

Attachments

  • onoffpopcontrol.png
    onoffpopcontrol.png
    156.1 KB · Views: 508
After reading this thread I have ordered the following to stop pops on shutdown:

1x One channel relay (WINGONEER 5V One 1 Channel Relay Module Board Shield with optocoupler Support High and Low Level Trigger: Amazon.com.au: Electronics)
1x Arduino nano (I will pick one up at a local Jaycar store)
1x 15W DC 12/24/36/48V to 5V Step Down Power Converter w/ 2 USB (15W DC 12/24/36/48V to 5V Step Down Power Converter w/ 2 USB - Black 4894644424140 | eBay)

The step down is to power the Arduino from the Meanwell 350-48 PS. The question will be whether the Arduino will shutdown and trigger the relay when powered from the Meanwell before the TPA3255 powers down. This will be my first Ardunio project.
 
After reading this thread I have ordered the following to stop pops on shutdown:

1x One channel relay (WINGONEER 5V One 1 Channel Relay Module Board Shield with optocoupler Support High and Low Level Trigger: Amazon.com.au: Electronics)
1x Arduino nano (I will pick one up at a local Jaycar store)
1x 15W DC 12/24/36/48V to 5V Step Down Power Converter w/ 2 USB (15W DC 12/24/36/48V to 5V Step Down Power Converter w/ 2 USB - Black 4894644424140 | eBay)

The step down is to power the Arduino from the Meanwell 350-48 PS. The question will be whether the Arduino will shutdown and trigger the relay when powered from the Meanwell before the TPA3255 powers down. This will be my first Ardunio project.

I have decided to use my spare Raspberry Pi 2 instead of the Arduino. This offered an additional issue with powering down the Pi before the power cuts out. I have ordered a RemotePi Board to remotely shutdown the Pi and trigger the relay for the TPA3255 reset, before power loss to the amp.
 
For my 3255 EVM board, these are the parts I used with a 1 amp 5v USB power supply hooked to mains switch:

Arduino Nano V3.0
Amazon.com: For Arduino Nano V3.0, Elegoo Nano board CH340/ATmega328P without USB cable, compatible with Arduino Nano V3.0 (Nano x 3 without cable): Computers & Accessories

1 Channel Relay Module Board
Amazon.com: DAOKI 5PCS 5V One 1 Channel Relay Module Board Shield with optocoupler Support High and Low Level Trigger: Car Electronics

On the 3255 I hooked pins 10 to NC and pin 4 to Common on the amp Audio Interface Header. Write a simple 7 second delay on the Nano and which ever pin you choose to the relay, and the relay will stay closed, and after 7 seconds, opens the relay and breaks the connection. When you turn off the mains switch, the USB power supply turns off the NANO and the relay, and the amp mutes again before the Amp power supply finally ramps down.

Works well. I can post a code if your not familiar with Arduinos.


I tried to follow your process Bearman and I am getting the opposite effect. When I boot the Arduino, the relay is off (amp is normal mode), at which point I can hear music on startup. However, if I turn on the relay I enter reset mode. In other words, I need the relay in HIGH to be in reset mode. If I power off the Arduino it goes back to normal and I get a pop. What am I doing wrong?
 
I tried to follow your process Bearman and I am getting the opposite effect. When I boot the Arduino, the relay is off (amp is normal mode), at which point I can hear music on startup. However, if I turn on the relay I enter reset mode. In other words, I need the relay in HIGH to be in reset mode. If I power off the Arduino it goes back to normal and I get a pop. What am I doing wrong?

Solved. I can now reset on startup and shutdown via my Harmony remote. I added the infrared receiver module to the Arduino and set high and low relay based on my AVR 1 and 2 buttons (which never get used) in the Arduino code. I set delays in the Harmony software for the startup/shutdown sequences.

This was my first Arduino project... I think I am hooked!
 
Sorry, I just saw this post Zanlation. I should have posted my code. I use the Arduino programming software and is easier for me.
I have made all kinds of stuff with these modules from our communities water system operation to solar panel tracking... They are a ton of fun and I do it to make machines do what I want them to do... not the opposite :)

Nice implementation with the IR !
 
Your relay may be different. Try putting the pin10 wire to NO on the relay. With it wired to NC, the relay will hold it in reset for the delay period, then open(breaking the connection to reset) and the amp should play like normal.
Remember the delay in Arduino's is in milliseconds so 7 seconds is 7000 etc.
 
Last edited:
I did something like this....

int sigPin = 3; // signal pin to relay use what you want

void setup()
{
pinMode(sigPin, OUTPUT); // sets the digital pin as output
digitalWrite(sigPin, LOW); //puts the amp in reset
delay(7000); // waits for 7 seconds
}

void loop()
{

digitalWrite(sigPin, HIGH); // breaks connection amp resumes

}
 
Hi CCSS,

I tried your circuit to stop shut down pops on my TPA3255EVM.
(only thing i did different was using a 2W resistor instead of a 1/4W resistor).
When i connect it to the main voltage and the reset position (10) nothing happens yet, but as soon as I connect it to the GND as well, the sound dissapears and does not come back. not even when I do a full power cycle or manual reset.

Is this something that can be optimized by playing with the resistor value?
And if so, what would you recommend in regards to the values?

My smps is currently set to 51VDC

I ordered some DC speaker protection boards as well (one that can operate with 12VDC from the amp board, maybe this is another solution that works)

Any other ideas are also welcome (I'm not that good with soldering, so smd mods are a no go for me :p )

regards, Coen


I've been studying the schematics trying to determine why the onboard voltage supervisor doesn't engage RESET in time to eliminate shut-down pops. Here's how it works (this is all on pages 18-19 in the evm manual):

Main voltage PVDD comes into the board and there are some filter caps.
PVDD then goes to a LM5010ASD step-down converter that outputs 15V.
15V then goes into a LM2940IMP-12 voltage regulator to create the 12V rail.
15V goes into a TLV1117 LDO to create the 3.3V rail.

The voltage supervisor is a TPS3802K33DCKR which draws from both the PVDD supply and the 15V supply.

This part resets at 2.93V, and that is where the problem comes from - it takes too long to drain PVDD and LM5010ASD before dropping to 2.93V to TPS3802K33DCKR.

Perhaps it was done this way because the board supports a pretty wide voltage input of 18V to 51V.

To address the issue, 2 strategies to speed response time:
1. Move voltage detection before the 15V DC converter
2. Tune the circuit to respond to voltage drop at higher voltage

So today I proof-of-concepted this using an opto-isolated relay, the IXYS CPC1333. This is a combined opto-coupler with *normally closed* MOS relay in a single package. It is very power efficient at around 0.25mW.

Pulling from 51V PVDD through a 300K resistor to the CPC1333 allows the part to switch RESET in before the shutdown pop. It works perfectly, and I have no power-off POP. You can tune the sensitivity of the circuit by adjusting the resistor value.

Here's a pic of the simple p2p circuit:

EDIT: Note that I'm pulling power from the PVDD (DC) power line, not AC power. This is necessary in my case because I use an external power supply, and there's no AC going into the amp box. Should also add that the circuit is incredibly simple because driving an optocoupler is pretty much exactly the same as driving a LED - no extra components required. And having the optocoupler and relay switch in the same package helps too.
 

Attachments

  • 86264842_2866546846702207_371239239146274816_o.jpg
    86264842_2866546846702207_371239239146274816_o.jpg
    102 KB · Views: 184
Last edited:
hi coen, unfortunately it is likely you've blown out the optocoupler, so hopefully you bought some spares. it looks like you soldered directly to the IC pins and this may have caused the issue...as with any LED, these can't take much heat. anyway, you should be able to check that with a multimeter. with this "normally open" part, power is required to close the circuit. To avoid heating the part, use a DIP socket (on mouser, Preci-dip 110-87-304-41-001101) and solder to the socket instead of the IC pins.
 
Hi All, today I tried again this circuit, but now with sockets. And for some reason my amp keeps switching to reset mode when the circuit is connected. I used original parts from mouser. Orientation of the octocoupler was the same as in previous pictures (the small dent was in the back if you look at the schematic from ccss, my picture is upside down)
I measured with a multimeter and everything seems to check. So i have no idea why this happens!
 

Attachments

  • USER_SCOPED_TEMP_DATA_MSGR_PHOTO_FOR_UPLOAD_1602617946838_6721866864897837772.jpeg
    USER_SCOPED_TEMP_DATA_MSGR_PHOTO_FOR_UPLOAD_1602617946838_6721866864897837772.jpeg
    299.4 KB · Views: 165
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.