0
\$\begingroup\$

I'm looking for some advice on how I might protect an electret mic amplifier from picking up noise from 25mA current bursts that will be happening on the same power rail.

My setup involves 3 major components:

  • ATTiny1614 mcu
  • W25Q32JV flash IC
  • Electret mic w/MAX6644 amp (schematic)

The issue is that whenever I execute a write command to the W25Q32JV module, the temporary higher current draw (~25mA) is being picked up and amplified by the electret mic amp, creating a noticeable "tick" in the mic output.

I've tried adding various bypass caps (0.1u - 100uF) at the VCC/GND pins of each of the components, but it hasn't created a noticeable difference. The mcu only has a single GND pin (no AGND) unfortunately.

Using a separate power supply for the W25Q32JV and the mic/amp isn't an option, although in testing this does significantly improve the mic output.

Does anyone have any suggestions (general or specific) that I might consider?

I'm happy to provide a detailed schematic if it would be helpful, but it's basically just the 3 components listed above with a 0.1uF bypass cap on the ATTiny.

Thank you!

[EDIT 1/1/20] Thanks for the comments everyone!

@Brian Drummond do you mean placing a low pass RC filter on the VCC input of the mic/preamp board? Do you have any recommendations for RC values to try?

@skvery the flash writes need to occur at the same time as the mic input unfortunately.

@JRE I am using the Adafruit module for the time being. Just using breakouts I have around but I'll be putting together a custom PCB soon.

@Drew agreed, although I'm trying to keep the cost really low so this might not be an option. Just out of curiosity, I tried powering from another 3.3v source I have that uses a AP2112-3.3 and it produced less noise. I may have to play around with a few different regulators.

@Andy aka are you referring to the two 1K resistors (R1, R2) pulling up the mic output?

\$\endgroup\$
  • 1
    \$\begingroup\$ R-C filter (not just C) to power the preamp and bias the mic. Separate regulator would be better though. Also, pay very careful attention to where that current spike flows in the ground, and ground the mic + micamp accordingly. \$\endgroup\$ – Brian Drummond Apr 1 at 19:26
  • \$\begingroup\$ Why not mute the microphone if you need to write to the flash? \$\endgroup\$ – skvery Apr 1 at 19:39
  • \$\begingroup\$ Are you using the MAX6644, or are you using the Adafruit module? \$\endgroup\$ – JRE Apr 1 at 19:48
  • \$\begingroup\$ I would try working on the amplifier circuit to reduce the dependence on VCC. Also come to think of it, I've had this exact problem in the past and I solved it by switching to a different voltage regulator (still only 1 regulator, just a different part). \$\endgroup\$ – Drew Apr 1 at 20:00
  • \$\begingroup\$ Show the circuit. \$\endgroup\$ – Andy aka Apr 1 at 20:06
1
\$\begingroup\$

As a kid, building 4/5/6 stage bipolar AC-coupled amplifiers thst ---eventually --- were thermal-noise limited once I learned to halt the oscillation (motorboating PUTT PUTT PUTT) caused by feedback via the power rail (high Rout of large 9volt batteries), I share this method.

I call it "local battery".

For your case, have a large capacitor shunting the mike/amplifier.

And bring in the spiky trashy VDD using a 10 ohm or 22 ohm or 47 ohm or 68 ohm or 100 ohm resistor.

Plan to operate both the mike and the amplifier IC on this RC_filtered VDD; with 100UF and 100 ohms, the time constant is 0.01 second, the F3dB corner is 16 Hertz, and trash at 16,000 Hz will be down 1,000X. Trash at 16,000,000 Hz may not be properly attenuated because of inductance in your Cap or Gnd, etc.

Use as high a resistor value as you can, based on the DC supply headroom you are eating up. I'd plan on at least 0.5 volts across the resistor.

A key to success is where to tie the gnd lead of the large cap.

I'd tie it to the gnd pin of the amplifier IC.

The limit on spike attenuation will be the ESR of the cap. If is 0.01 ohm, and the R is 100 ohm, you can expect 100/0.01 = 10,000X attenuation at high frequencies.

If you have headroom problems, and have low-value Rs, then simply cascade 2 of the RC filters. But don't share exactly the same gnd point.

| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ Perfect. I used a 100ohm resistor and a 0.1uF and 100uF cap and the spikes are pretty much non-existent now. Thanks so much! \$\endgroup\$ – AngryPeaches Apr 2 at 21:22
0
\$\begingroup\$

Let C1 be 100uF elko and 100nF in parallel. Let the preamp IC have the same size capacitors between its Vcc and GND. Feed the Vcc to the preamp through a substantial inductor, say 10uH or separate regulator.

If that doesn't make difference some of your digital parts get its ground side current through those wires which connect your preamp ground points named AGND and ends to the final part which uses the output signal of your preamp IC. (=ADC, I guess). That wire must be 100% free of any supply current of the digital parts. Otherwise the case is hopeless.

| improve this answer | |
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.