0

SPW2430 MEMS MIC Taking time in returning to base Voltage
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

SPW2430 MEMS MIC Taking time in returning to base Voltage

by manveen_singh on Fri Sep 07, 2018 3:47 am

I am trying to create project using ESP 32 with arduino IDE which turns on when a snap is detected. I will be using using spw2430 mems mic datasheet here :https://www.knowles.com/docs/default-source/model-downloads/spw2430hr5h-b.pdf

Right now I using the Adafruit SPW2430 mems mic breakout board for testing purpose product site here

https://www.adafruit.com/product/2716

100 to 10kHz frequency resp VPP= 200mV Dc bias= 700mV Zout=450 Ohm

The problem I am facing is whenever i snap my fingers or clap my hand the output voltage goes up (as expected) BUT it takes a 4-5 seconds to come back to normal reading . Ideally it should not take that much amount of time to come back to normal reading. It should take 10 ms to come back to normal readings.

I am polling every 500 microseconds and the attenuation of the ESP32 has been set to 0 db so that the REF voltage scale is in 0 - 1V. this similar problem is happening with arduino uno (with same set of test conditions) . The input of adc is connected to the DC pin of the Breakout Board. (Which does NOT have any capacitor in between the o/p of mic and I/p of adc.)

I also have a voltmeter. I connected one probe to GND and Other one to DC pin output of MEMS Mic. The voltage reading is 700mV. When I snap my finger it reaches 800mV immediately But It takes 4-5 seconds to come back to 700mV.

this happens with both ac and dc pins . my only problem is why the output of the mems mic itself is taking time to reach the bias voltage? whether i snap loudly or quietly. It itself is acting like a slowly discharging capacitor.

Here is the code I am using
Code: Select all | TOGGLE FULL SIZE
#include<esp32-hal-adc.h>
#define ANALOG_PIN 4

void setup()
{

  pinMode(ANALOG_PIN,INPUT);
  Serial.begin(115200);
  /*
   * typedef enum
   {
    ADC_0db,      // 0 to 1 v
    ADC_2_5db,  // 0 to 1.27 v
    ADC_6db,     // 0 to 1.75 v
    ADC_11db     // 0 to 3.3 v
   } adc_attenuation_t; // changes Ref Voltage Scale
   */

  analogSetPinAttenuation(ANALOG_PIN,ADC_0db);
 // Set the attenuation for particular pin currently 0-1 v

}

void loop()
{
  int raw_value = 0; // to store raw value of mic

  raw_value = analogRead(ANALOG_PIN); // Reading the op voltage of mic

  Serial.print("Raw value is : ");
  Serial.println(raw_value);

  delayMicroseconds(500); // Sampling every 500 uSec
}
Attachments
mems ckt.png
Circuit I am using
mems ckt.png (8.03 KiB) Viewed 432 times

manveen_singh
 
Posts: 4
Joined: Thu Sep 06, 2018 6:46 am

Re: SPW2430 MEMS MIC Taking time in returning to base Voltag

by adafruit_support_mike on Fri Sep 07, 2018 10:56 pm

Other people have seen the SPW2430 do the same thing. There seems to be an RC filter or running-average logic filter with a time constant of about 1 second inside the chip.

I'm afraid that's a built-in limit of its impulse response.

adafruit_support_mike
 
Posts: 59421
Joined: Thu Feb 11, 2010 2:51 pm

Re: SPW2430 MEMS MIC Taking time in returning to base Voltag

by manveen_singh on Sat Sep 08, 2018 1:41 am

adafruit_support_mike wrote:I'm afraid that's a built-in limit of its impulse response.


Cant we do anything about it ??
adafruit_support_mike wrote:Other people have seen the SPW2430 do the same thing.


I was not able to find anyone else having this problem on the internet


Does this problem lies with specifically with SPW2430 mems mic ?? or It happens with every other mems mic of other manufacturers also.

manveen_singh
 
Posts: 4
Joined: Thu Sep 06, 2018 6:46 am

Re: SPW2430 MEMS MIC Taking time in returning to base Voltag

by adafruit_support_mike on Sat Sep 08, 2018 1:29 pm

No, you can’t do anything about it. The behavior is a side effect of the way that sensor is made.

That doesn’t necessarily mean all MEMS microphones behave the same way, but it’s possible. There are only so many ways to make an audio frequency amplifier.

adafruit_support_mike
 
Posts: 59421
Joined: Thu Feb 11, 2010 2:51 pm

Please be positive and constructive with your questions and comments.