Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Using 40 low frequency Mics.

Status
Not open for further replies.

Noble

New Member
Hi,
I am working on a device that takes input from 40 microphones and send data to PC via Arduino.
I want to use low frequency microphones (5Hz onwards) with around 200-250Hz sampling for each mic.

For this purpose, my preliminary design is like this...
40 Mics --> 40 PreAmp circuits --> Mux Shield II --> Arduino DUE --> PC

Please suggest me suitable commercial available preAmp circuits and any suggestion on the design is most welcome.

Thanks.
 
Looks like you will be sampling at 10,000/second. (maybe 8,000)
Do you really have microphones that work at 5hz?
Do you want 8 bit or 10 bit data?
Last time I looked at Arduino it could sample at 10,000/second. (9,600)
Arduino to PC; You will probably need two character/data X 10,000/second. (Serial port?)
Because of noise; I would build 40 preamps, then mux 40:1. If the mux is before one pre-amp I think the noise will be too much.
The pre-amp could have a band with of 2hz to 20hz. (not 20khz) Be removing the high frequencies and (60/50hz) you could remove much of the noise.
How strong is the signal from the microphones? How much gain?
 
I am interested in 5Hz to 100Hz band.. Mic model ICS40300. Signal is good.
Depending on arduino loop cycle if it is reading data from 40 mics in a loop then surely sampling will decrease for each mic. I will make it "read 40 mics and send to PC" in 5 milliseconds in each loop. Baudrate with PC will be above 500K .

I am using Arduino DUE, it has 12 bit ADC.
In case there is no electrical interference then Shall I go for 1 preamp after MUX or 40 preamps before Mux? Can you suggest good preAmps?
 
Last edited:
Good, you are using a microphone with a built in amplifier. I could not find the gain.
Because your signal is strong you might be able to use one amplifier.
Microphone maximum output is about 0.8 volts peak to peak.
The ADC input probably has a max peak to peak input of 3.3 volts. (depends on which computer you are using)
The minimum gain is in the range of 4 to 5. (pre-amp) We really need to know what the output of the mic is. Probably much less than the "clipping level" of 0.8V. If your output is 0.08 then you need a gain of 40 to 50.
I think you need to get one mic and connect it to a oscilloscope and see that happens.

Good you are using a new Arduino. The old ones are too slow for this.
Try writing code to measure one input at (40 * 5mS) speed. (and send data) You don't really need the mux working to give this a try. I think you can just pretend there is a mux. Write your loop, make it go for ever and see what happens.
 
Thanks for the reply... right now I just recorded waveform by connecting this mic directly to arduino using 3.3V.
See this picture below. Blue line is 4096 constant (marked by me) because of 12-bit data, while the mic response is yellow line. I've blown a good air in it for a short burst to check response. A gain circuit would be required. What do you say?

upload_2017-5-18_11-25-15.png
 
Blowing in a mic is much louder than most sounds.

Looks like we need to AC couple and reference to 3.3/2 volts. Then we also need a gain of (some amount) I think 10 to 100.

Bed time here. Maybe some one will help from here or I will be back in 8 hours.
 
It is a MEMS microphone. It has an output impedance converter, not an amplifier. Its output level is about the same as dynamic and electret mic but when the sound level is extremely high at 130dB(!!) then its output voltage is a few hundred millivolts.
Many professionals say it is poor practise to blow into a microphone, talk into it instead.

Mic preamps are made for sounds, not the very low vibration frequencies you want. A mic preamp must be modified to pass the very low frequencies and cut the high audio frequencies.
 
One drawback of mux-ing 40 mics into one preamp is that the preamp bandwidth affects the first few samples after a mux step. If one mic is at a negative peak at the moment of a mux switch while the next mic is at a positive peak, the preamp slew rate might distort the true amplitude of the positive peak. 40 preamps or buffers is a pain, but might be necessary even if the mic output is loud enough for direct conversion.

ak
 
Last edited:
The Sparkfun opamp board is wrong:
1) Its opamps have 10 times as much noise as audio opamps have.
2) Its first opamp is inverting with a fairly low input impedance that reduces some of the mic output level. It does not power the mic.

The Sparkfun MEMS board has a low noise audio opamp but again it is inverting with an input impedance much too low.
 
Sparkfun is using an obsolete MEMS mic. Its datasheet says to feed it to a high input impedance gain stage but Sparkfun has a low impedance gain stage. It cuts frequencies below 200Hz.
 
Correct, not enough. C1, C2, C3, R3, and R4 all have to change to shift the low frequency corner, increase the input impedance, and keep the gain. How are your surface mount rework skills?

ak
 
The corner frequency is at 22 Hz. Changing C1 to 47 uF will drop that to 2.2 Hz, so the frequency response will be down by slightly more than 1 dB at 5 Hz. This does not alter the relatively low input impedance and how that loading affects the response of the mic. The datasheet recommends an input impedance of 47K, and mentions CODEC inputs that go down to 2K, still more than the adafruit circuit.

ak
 
Last edited:
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top