MAX9744 noise

Moderators: adafruit_support_bill, adafruit

Forum rules
If you're posting code, please make sure your code does not include your Adafruit IO Active Key or WiFi network credentials.
Locked
User avatar
AdrianPW
 
Posts: 21
Joined: Sat Jul 20, 2019 9:38 am

MAX9744 noise

Post by AdrianPW »

Hi. I'm feeding an Adafruit MAX9744 stereo amplifier with a 1Vp-p 50Hz sine wave which is generated by an itsy bitsy (5v) feeding data to an Adafruit i2c 12 bit DAC. The output of the DAC is filtered using a simple 1st order RC passive filter with a 200Hz cut-off. The left input of the MAX9744 is grounded and the left speaker output is not connected to a speaker (or anything else). The right input of the MAX9744 is driven by the signal decribed above. The right speaker output is connected to a JVC 4 Ohm 10W speaker. Everything is OK as long as the mute input of the MAX9744 is active and the speaker output stage is off, but as soon as the mute is deactivated and the speaker emits the 50Hz tone I get serious noise on the MAX9744's 12 Volt supply and also on the 5 Volt logic supply which finds its way onto the 1Vp-p amplifier input signal. The circuits have got resevoir and decoupling capacitors applied as necessary. The noise seems to be feeding back from the MAX9744's output stage. Tried replacing the MAX9744 with a Kinter MA180 amplifier (using the same power supply as used for the MAX9744) and everything works OK. Am I doing something stupid or is the MAX9744's output stage shot ? Any advice appreciated.

User avatar
adafruit_support_mike
 
Posts: 67391
Joined: Thu Feb 11, 2010 2:51 pm

Re: MAX9744 noise

Post by adafruit_support_mike »

It sounds like you're getting feedback through the supply rails, which indicates a heavy current load on the power supply, but shouldn't be fatal.

You may also be seeing noise coupling through shared line impedance. All wire has some amount of resistance, and current flowing through the wire will generate some amount of voltage. If the current for two circuits travels through the same wire, any voltage generated by one circuit will be visible to the other.

The solution to that problem is called the 'star topology': the current that drives the MAX9744 should only meet the current that drives your ItsyBitsy at the terminals of the power supply. Use one set of wire for power to the ItsyBitsy, and a separate run of wire to the MAX9744. No shared current path means no resistive coupling.

Then once you have separate power runs, add a large capacitor between the ItsyBitsy's VCC and GND lines. Put it as close to the board as possible so it can absorb any voltage spikes that make it past the power supply.

The next noise-reduction option is to get a stronger power supply. PSUs are fairly good at maintaining steady voltage under a wide range of operating conditions, but they aren't perfect. If you're pushing the limits of what the PSU can provide, you'll see more voltage fluctuation than you will in a more comfortable operating range.

User avatar
AdrianPW
 
Posts: 21
Joined: Sat Jul 20, 2019 9:38 am

Re: MAX9744 noise

Post by AdrianPW »

Thanks for the input Mike. Tried the star topology for the supplies with no improvement. The 12v supply for the speaker is 25W so should be ok (maybe ?) and the 5v supply is more than adequate for the logic. I'm wondering if the vi2c input of the amp which is connected directly to the 5v supply rail may be a problem. Also, would breaking any ground connexions between the digital and analog side of things and relying on the supply star point ground connexion help ? Will need to butcher the circuit to implement these ideas so any help before doing so appreciated.

User avatar
adafruit_support_mike
 
Posts: 67391
Joined: Thu Feb 11, 2010 2:51 pm

Re: MAX9744 noise

Post by adafruit_support_mike »

AdrianPW wrote: Thu Feb 16, 2023 11:55 am The 12v supply for the speaker is 25W so should be ok (maybe ?)
That gives you a little more than 2A, which should be enough to drive a speaker. At 10W, a 4-Ohm speaker wants about 1.5A.
AdrianPW wrote: Thu Feb 16, 2023 11:55 am I'm wondering if the vi2c input of the amp which is connected directly to the 5v supply rail may be a problem.
That's unlikely. According to the official spec, I2C pull-up resistors should draw 1mA (4.7k on a 5V supply). In practice, they usually draw less (many pull-ups are 10k or more). Compared to the amount of current going to the speakers, the effect of I2C should be negligible.
AdrianPW wrote: Thu Feb 16, 2023 11:55 am Also, would breaking any ground connexions between the digital and analog side of things and relying on the supply star point ground connexion help
Splitting analog GND from digital GND can help in some cases, but isn't guaranteed. In most cases, you just put an inductor between the two GND sections to allow a shared DC signal voltage while blocking high-speed signals.

Let me see if I can draw any clues from the hardware. Post a photo showing your hardware and connections please. 800x600 images usually work best.

User avatar
AdrianPW
 
Posts: 21
Joined: Sat Jul 20, 2019 9:38 am

Re: MAX9744 noise

Post by AdrianPW »

Decided to simplify the power supply setup as follows:
12v (25W) SMPS connects directly to the Amplifer's 12v two way terminal block. VDD from the amplifier is taken to the BAT terminal of itsy bitsy (5v) and the 5v output from the itsy bitsy is used to power the DAC. So only one power supply to worry about. At a volume of 60, significant spikes appear on the 12v supply line and find their way back to the input 1vp-p sine wave (see photo). Not surprisingly (this time) since the 5v power for the DAC is derived from the 12v supply. When muted and the output stages of the amplifier are off the spikes disappear. Exactly the same as before.
The problem seems to be that switching on the output stages of the amplifier causes noise to appear on the 12v supply rail. The bypass capacitor on the PVDD pins of the amplifier are smaller than those specified in the Maxim9744 data sheet - possible problem ? Either way, I've got a new amp which I'm going to put in circuit to check if the old one has developed a fault. Note that the second isy bitsy and the Bluetooth module were removed during testing.
Attachments
Wiring.jpg
Wiring.jpg (46.1 KiB) Viewed 195 times
Noise.jpg
Noise.jpg (41.42 KiB) Viewed 195 times

User avatar
adafruit_support_mike
 
Posts: 67391
Joined: Thu Feb 11, 2010 2:51 pm

Re: MAX9744 noise

Post by adafruit_support_mike »

The filtering on the MAX9744 is only a secondary concern. That uses a lot of current, so noise is pretty much a given there.

What you want is more filtering on the 5V supply for the microcontrollers. The current through those is relatively low, so it's easier to make an effective filter.

Put 1000uF between 5V and GND and see if that helps.

User avatar
AdrianPW
 
Posts: 21
Joined: Sat Jul 20, 2019 9:38 am

Re: MAX9744 noise

Post by AdrianPW »

Adding the extra capacitors has made no difference to the problem.
I've removed the amplifier from the circuit and powered it via its own 12v 5A supply via the on-board barrel jack.
Fitted the volume potentiometer and set other pins as required for manual volume control.
The only direct connexion between the i2c 12 bit DAC and the amplifier is the DAC output and its signal ground. The noise is still evident. I've tried two of the MAX9744 amps now and they both behave in the same way. Tried upping the capacitor value on the power input to the amp but that didn't help either.
I've used one of these amplifiers before in a design of a simple FM receiver for a visually impaired relative with no problem whatsoever - although it was fed with a "real" analog signal directly from the receiver, not a digitally created one. I've decide to ditch the MAX9744 and use an linear amp instead. Won't be able to remotely control the volume though, which is a shame.
Thanks for your help - much appreciated !

User avatar
adafruit_support_mike
 
Posts: 67391
Joined: Thu Feb 11, 2010 2:51 pm

Re: MAX9744 noise

Post by adafruit_support_mike »

Scope each of the remaining connections to see if any of them show noise from the MAX9744 going to another part of the signal chain.

Also try running the microcontroller and DAC from a battery for the sake of testing. Noise that couples in through VCC and GND can be hard to see when your reference is GND.

User avatar
AdrianPW
 
Posts: 21
Joined: Sat Jul 20, 2019 9:38 am

Re: MAX9744 noise

Post by AdrianPW »

Final post on this. Tried using batteries for the controller and DAC but that did not help. The only analog signal path runs from the DAC output to the amplifier input and there is definitely noise there. All the other signal paths are digital. I've sourced a nice linear amp which avoids the main problem. I may also be able to digitally control the gain by replacing the potentiometer volume control with an Adafruit digital pot. Thanks again for suggestions/advice.

Locked
Forum rules
If you're posting code, please make sure your code does not include your Adafruit IO Active Key or WiFi network credentials.

Return to “Internet of Things: Adafruit IO and Wippersnapper”