Микрофон, МК и ничего лишнего.

Тема в разделе "Глядите, что я сделал", создана пользователем parovoZZ, 15 дек 2018.

  1. parovoZZ

    parovoZZ Гуру

    Есть такая задача - подключить микрофон к МК. Обычно городится целая схема, которая что-то там усиливает и согласовывает. Я пойду совсем простым путем. У меня нашелся в закромах МЕМС микрофон с абсолютно унылым даташитом (СТМ, йопрст) MP23AB02BTR, который я и подключил сразу к МК:
    mic_scheme.png
    Резистор для того, чтобы случайно чего не спалить при экспериментах. На мое счастье, на выходе микрофона при 3.3 v питания висит потенциал в 0.48 v, а это значит, что этот потенциал мы можем скомпенсировать смещением входного напряжения. Что и было сделано с помощью потенциометра.
    Переводим АЦП в дифф. режим, выбираем наши входы с усилением 20х и смотрим пару веселых картинок.
    2khz.png
    Это 2 килогерца.
    7rhz.png
    А это 7 кГц. Частота дискретизации 15 кГц и видно, что на таких граничных частотах уже возникают биения из-за малого количества выборок.
    В зарисовке о дифференциальном режиме работы АЦП я писал, что ширина канала всего 4 кГц. Но толи атмеловцы перебдели, то ли ещё что - но какого-то ограниения амплитуды выше 4 кГц я не заметил. А жаль, ибо придется городить ФНЧ для исключения обратной свертки сигнала при его оцифровке.
    Синус генерировал динамиками ноута с помощью онлайн генератора.
    Но именно так (считай на шальную) подключать абы какой микрофон я не рекомендую, ибо не ясна стабильность постоянного смещения на выходе микрофона. Поэтому лучше поставить делитель напряжения на вход МК, а сигнал с микрофона подавать через конденсатор.
     
    Последнее редактирование: 15 дек 2018
  2. mcureenab

    mcureenab Гуру

    Частота выборок определяется программой. Так что "обратная свёртка сигнала" может случиться на любой частоте. ФНЧ, если он требуется для конкретной задачи, придётся городить под программу, а не под контроллер.

    В применении дифференциального усилителя тут не видно смысла. Напряжение измеряемого сигнала должно быть больше Vgnd и меньше Vcc. Программной калибровки 0 в МК нет. Размах оцифрованного сигнала определяется опорным напряжением Vref, которое можно выбирать из 1.1 V, Vcc и AREF. Включить gain 20x можно, если нет опорного напряжения 0.055 V = 1.1V/20 или 0.25 V = 5V/20.
     
  3. parovoZZ

    parovoZZ Гуру

    Дашик утверждает, что полоса пропускания - 4 кГц. Если бы это было так, то ставить ФНЧ для частоты дискретизации в 15 кГц нет смысла. Но по факту это не так.

    и как же усилить сигнал с микрофона амплитудой 25-30 мВ?

    Она и не нужна. Если хочется измерить смещение нуля, то оба входа замыкаются на один и тот же пин.

    В каком-то AN или ещё где читал, что так лучше не делать. Ну т.е. вообще не падать ниже вольта.
     
  4. mcureenab

    mcureenab Гуру

    В даташите AREF MIN 2 V. Пусть опорным 1.1 V будет.

    Тогда получаем LSB = 1.1/1024 = 0.001. Опорное напряжение может плавать от 1 до 1.2 Вольт, что даёт погрешность ~ 20%.

    Для одноканального режима имеем ADC точность 2 LSB, это 2 мВ. Т.е. это ~ 12 шагов значения от 25 мВ с микрофона.

    Для дифференциального режима ADC точность 15 LSB, это 15 мВ. Это < 2 шагов значения от 25 мВ. С такой точностью можно говорить только о наличии сигнала и качественно оценить его форму. Даже получив 300 "оттенков серого".
     
  5. parovoZZ

    parovoZZ Гуру