3
\$\begingroup\$

I've designed a circuit for detecting peak levels of a electret microphone. enter image description here

I've tested the circuit before manufacturing 100 units and it worked nice. After testing the 100 PCB I've received, only 32 of them works as it's supposed to.

The units than worked perfectly shows 0 when it's not sound and 3.3 V when a loud sound is adquired by the microphone. The other units has noise at "SOUND_LEVEL" output when no sound is on the microphone. The noise is variable, some units have few millivots of noise, others have almost 1 V.

I'm sure that I had a mistake with this circuit and, depending on, maybe, the noise of the 3.3 V rail op amps oscillate or something like this.

Please, can someone help me?

Thank you in advance

Update: I've attached switching converter schematic. enter image description here

Update 2: I've added some oscilloscope capture of SOUND_LEVEL signal when there is no sound on the microphone.

enter image description here enter image description here

Update 3: Today I've received a new design of this circuit. As analogsystemsrf, electret microphones have no PSRR rejection, so I've change it to a MEMS microphone (SPH1642HT5H-1) to try if it helps. SOUND_LEVEL signal has more or less the same level of noise that with electret microphone.

enter image description here

I think there is some kind of problem with operational amplifier stability, but I've been able to find it out.

May someone help me please?

Thanks!

Update 4: I've replaced 3.3 Mohms resistor with a 150 Kohms one. enter image description here enter image description here The signal is with almost no noise but sound pressure should be quite high in order to produce something on SOUND_LEVEL.

What do you think about TLV9062 and TLV6742 as a replacement of TLV9002?

Really, I can't understand why in some units there is dc offset on the output (apart ot the ripple). On 30% of my units, there is no noise on SOUND_LEVEL. The main problem, for me, it's dc offset on the output.

Thank for you help!

\$\endgroup\$
7
  • 2
    \$\begingroup\$ Do you have oscilloscope shots of the MIC+ and Sound Level nodes? \$\endgroup\$ – Voltage Spike Nov 20 '20 at 21:02
  • \$\begingroup\$ Hi, until monday I can't capture any image with oscilloscope.Units with noise has sawtooth form on SOUND_LEVEL. I suppose there are some voltage peak that cause this... But I'm really lost. \$\endgroup\$ – Alpha Nov 20 '20 at 21:15
  • \$\begingroup\$ The oscilloscope is your friend here. I think you have a marginal design. I'm gonna guess you'll find the opamps aren't stable - I only see 0.1uF across their power supply - Probably should be MUCH higher. And that cap has to be 'in the right place'. i.e. positioned very near the opamp with short traces leading to it. \$\endgroup\$ – Kyle B Nov 20 '20 at 21:24
  • 2
    \$\begingroup\$ Another possible explanation is that microphones (often) have a very large tolerance on their efficiency - i.e. how much sound pressure produces how much signal. You have no AGC or any sort of trimming method here. You may have just learned one of the fundamental rules of electronics engineering (that they don't tell you in college).... It's pretty easy to get a single circuit working in the lab. It's a far far different matter when you need to make thousands of copies.... \$\endgroup\$ – Kyle B Nov 20 '20 at 21:26
  • \$\begingroup\$ I'll try to hang a bigger capacitor in parallel across power supply. Thanks! \$\endgroup\$ – Alpha Nov 21 '20 at 9:56
2
\$\begingroup\$

This opamp has 45 degree phase margin, with Cload of 150 pF.

Assume the Fring is 1MHz (near the UGBW).

To ring at this frequency, with 150pF Cload, the equivalent output inductance is about 150 microHenries.

However, in your circuit you have 10,000,000 pF Cload or 10uF.

150uH and 10uF resonate at 4,000 Hertz.

Is that 100 ohm into the 10UF adequate dampening?

Z(10uF at 4,000 Hz) = 4 ohms, so that 100 ohm should be good dampening.

On the other hand, this is a VERY NOISY opamp. Figure 17 of datasheet shows 3 microVolts PP in 0.1 to 10Hz region.

And the KT (Nyquist, Boltzmann, Johnson, thermal) noise density is about 30 nanovolts/rtHz. {the internal Rnoise is huge, tho not the worst I've seen; about 50,000 ohms to produce 30 nanoVolts RMS}

In 1MHz, with 30nanoVolts scaled by sqrt(bandwidth), that becomes 30 microVolts RMS, or 200 microVolts PP for 6.2 sigma (aka RMS).

And then a gain of 10. So 2,000 microvolt output PeakPeak (at 1ppm occurrence). And these diodes cause dead_zone. And the capacitive load.

So I offer this: hang a 1MegOHM from VDD to the Vin-, causing a 3.3 millivolt deadband.

==================================================

After eyeballing your circuit, I realized a certain polarity of Input Offset Voltage would put the opamp into constant ON operation, and the random noise would be amplified.

You can use 3.3 MegOhm, and have only 1 millivolt deadband. That is rather larger than what the datasheet shows for TYPICAL Voffset.

=============================================

Also the electret microphone will have random noise.

And Electret Microphones, usually using a common_source (FET) amplifier with load resistor tied to VDD, HAVE NO PSRR REJECTION.

Make that 2.2K Ohm resistor into two resistors, each 1Kohm, and hang a 100uF from the midpoint of the 2 series resistors.

======================================

Now lets change that 1Mohm/3.3Mohm to 100Kohm, which biases the first_stage input to 30 millivolt, setting the output of the first_stage to 300 millivolt DC.

With that biasing, we should see a nice broadband noise display, with some popcorn or 1/F low frequency spiking superimposed.

How much current is required to abruptly charge a 10uF capacitor by ANY amount of voltage?

=============================

There are FOUR noise sources here

  • the power supply (we'll ignore that)

  • the microphone (we'll ignore that)

  • the broadband noise of the rectifier (amplified 100X [10 * 10])

  • the broadband noise of the 2nd opamp (amplified only 10X)

If we examine the noise waveforms, we see a

  • standard symmetric_swing random noise waveform, with PLUS and MINUS peaks, that is a few milliVolts in peak_peak, because only receives gain from the 2nd stage; this waveform is broadband (there is no bandwidth limitation on this)

and we see

  • the rectified and Peak Held waveform, decaying with 0.1 second (10uF and 10ohm) time constant, that is about 10X larger than the symmetric_swing waveform; this waveform is highly limited in the bandwidth, because of the large capacitive load.

So what is going on? These are VERY NOISE OPAMPS. Their Rnoise (my long-time thinking tool for designing at a particular node: identify all the local contributors, model as resistors, and ADD UP THEIR VALUES) is about 50,000 ohms which produces a 30 nanoVolt/rtHz noise density.

As discussed before, 30nV/rtHz in 1,000,000Hz bandwidth becomes 30 microVolts RMS broadband. (I am ignoring how the Gain = 10 will reduce the bandwidth).

And 30 microVolts RMS, in a Gaussian process, becomes 6.2X larger at the 1ppm level, to tell us to expect about 190 microVolts Peak.

Now........... amplify 190 microVolts by (10 * 10) and we expect 19 milliVolts output deviation.

(notice I've not even included the very low frequency noise content of opamps)

\$\endgroup\$
3
  • \$\begingroup\$ I must admit that I have not done an analysis like this; thanks for the lesson, I will learn from this. \$\endgroup\$ – Alpha Nov 21 '20 at 9:45
  • \$\begingroup\$ I will try to attach that resistor between VDD and Vin-. I have a question, with this resistor attached, does the microphone output have to be greater than 3.3 mV in order to have "something" in SOUND_LEVEL? Assuming this works, why 30% of my units work perfectly? Tolerances of components? I've updated OP to attach my switching converter, maybe it helps to discover what it's happening. Thank you very much for your help! \$\endgroup\$ – Alpha Nov 21 '20 at 9:53
  • \$\begingroup\$ I've just hanged a 3.3 MOhm resitor between VDD and Vin-. Output noise has been reduced but not removed completly. I do think so that there is something wrong with my design, it's like op amps are in stability limit, so that, some units work perfectly but some other have "tolerances" on some parts that make op amps oscillate. I've updated OP with SOUND_LEVEL signal with no sound on the microphone. \$\endgroup\$ – Alpha Nov 23 '20 at 10:22

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.