Electronic – arduino – Electret Microphone preamplification – will it work for dynamic type microphone

amplifierarduinoaudiomicrophone

I'd like to use this diagram to pre-amplify a microphone signal in order to activate the analog input of my arduino

schematic
(source: reconnsworld.com)

Will it work with a dynamic microphone in place of an electret microphone?

Best Answer

The circuit is okay (not ideal for quality but it will work), but there's one small issue if you want to feed the output to your Arduino. As shown, the output will swing below ground (i.e. it will be biased at 0V) and your Arduinos analog input will only accept positive voltages.

The output with the above circuit will be something like this:

Cap Couple No Bias

If your supply is 5V, you need to bias the output to 2.5V to get the maximum swing from your input signal.

Adding a voltage divider after the capacitor will do this:

Cap Couple circuit with divider

The voltage divider is made from R2 and R4, and it biases (read "holds") the TO_ADC node at 2.5V so the ADC pin sees the full swing of the signal. Without it the ADC would only see the positive half of the signal, because we have no negative power supply present.
The formula for a voltage divider is:

Voltage divider formula

Voltage Divider example

So for the voltage divider formed from R2 and R4, with the 5V supply we get:

5V * (R4 / (R2 + R4) which equals:

5V * (100kΩ / (100kΩ + 100kΩ) = 5V / 0.5 = 2.5V at the middle (Vout in the above example diagram, which is the TO_ADC node in our circuit)

Then the output will be more like this (depending on your ADCs input impedance it may not work well though - this is the bit that is simulated by Radc and Cadc, I'll check this shortly):

Cap Couple with Bias

There are other options also, I will try and post an improved circuit shortly.

Okay, here's an option which controls the transistor gain properly (using the emitter resistor with AC bypass) and outputs a lower impedance signal that swings around ~2.5V (V+ is 5V - the capacitors do not have to be as large as 10uF, you can still use 100nF if you wish for your input capacitor):

Improved option

Radc and Cadc
Radc and Cadc are not components you need to add (so you can ignore them if/when you make the circuit), they represent your microcontrollers analogue input pin characteristics. Some microcontroller ADCs can have quite low input impedances which can load your signal and attenuate it (so basically you end up with a lower reading than you expected)
So when we simulate, it's good to add this simulated loading to make sure the signal will not be affected too badly.

Simulation (note simulated ADC loading also):

Improved option simulation

We can see this handles a 20mV input pretty well, if we input 20mV to the original circuit (even without any loading), we get some distortion due to the uneven gain (note flattened edges on negative swing):

original output

There are still better options and variations (the above may need the values tweaking a little) A simple opamp circuit would be one, but it depends on how concerned you are about the sound quality whether you would want to bother. If you're happy with a bit of distortion, then the first circuit with a suitable method of biasing will be fine.