Electronic – What’s the best way to measure sound at very lower power

low-powersound

I want to implement a sound meter on a very low power wireless system but I've not had to deal with electret microphones before. The system right now draws around 5uA when in sleep mode, and wakes up occasionally to process some data from sensors. My aim is to keep the average current drain below 70uA so that the system can last ~5 years with a 3000mAh battery.

My goal is to be able to determine the sound level after feeding the signal into the microcontroller's (nRF51822) ADC/Low power comparator, which would be set to record the sound if it was above a certain level. I need assistance with finding a low power microphone/analogue front end solution.

What would be the lowest power way to implement a sound measuring feature into my system? Is what I'm looking for even possible at low power?

Best Answer

The input part

Electret microphone usually require a current from 100µA to 800µA (given in their specifications). This is low power, but not low power enough for your application, it seems.

MEMS microphones seem to require about the same amount of current. I found a few, however, that need low current and seem to be relatively easily available:

Another option would be to use a piezo element. Their frequency response is poor, and I am not sure about the sensitivity you'd have, but here, the advantage is obvious: they don't need power at all (it is even used to harvest energy - well, you'd need to knock the device to a table to get some useable power, though).

An option that could be considered, if the sound level to detect is constant (when present), and if you can tolerate some latency when the sound comes, would be to power the microphone bias only 1/10th of a second every second, for example. That would divide the overall consumption by 10. Of course, this depends on your application, and this may affect the mic performance.

The amplification part is less challenging, there are plenty of ultra low power opamps available.

The MCU part

To keep the power usage as low as possible when there is no sound (which is, I suppose, the case most of the time), instead of checking the sound level from the MCU software, I would use a hardware comparator.

Checking the sound level from the MCU means regularily sampling the signal through the ADC, which means the MCU must be awoken, and the ADC powered. This will use significant power, especially considering the fact the sound must be sampled at a relatively high frequency (a few kHz, depending on the maximum sound frequency you want to be able to detect).

On the other hand, a comparator can use very low power (there are some cheap ones that consume only a few µA of current) and will be constantly monitoring the sound level, triggering an interrupt and awaking the MCU only when the required sound level is actually reached. Then, from the MCU, you can sample the waveform through the ADC. So the mic needs to feed both the comparator and the MCU ADC.

In your specific case, you're using nRF51822 which has an internal low-power comparator (LPCOMP). You can use it instead of an external, additional chip. Moreover, you can choose to feed the reference input of the LPCOMP with any multiple of Vdd/8 (up to Vdd*7/8), which is very handy here, if your supply voltage is fixed.

Note that there is no need to rectify+filter the signal. It doesn't matter if you're missing each lower half of the signal wave. If the interrupt can be correctly triggered from the temporary event raised by the comparator when the upper half of the input signal exceeds the reference, it's enough.