Как получить + 5В для громкого шума, 0В для тишины от электретного микрофона (или других компонентов)?

12

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

В основном у меня есть Arduino, который имеет 6 аналоговых входов. Он использует 10-разрядный АЦП для считывания напряжения на любом из аналоговых выводов, поэтому 0 = 0 В, 511 = 2,5 В, 1023 = 5 В и все значения между ними. Это делает ЛИНЕЙНОЕ чтение DC, поэтому я не ищу логику 1-0 здесь.

У меня это подключено к светодиодным светильникам, и я хочу, чтобы они реагировали на музыку. Мне нужно максимальное разрешение с минимальным количеством компонентов, и я думаю, что я использую слишком много компонентов и делаю этот путь слишком сложным. Возможно, электретные микрофоны не то, что я хочу здесь, я открыт для чего-то другого. Я бы предпочел не использовать операционные усилители для экономии места на моей печатной плате.

Что я хочу, так это простой датчик уровня шума. Я не собираюсь воспроизводить звук, или иметь ясность или что-то еще, но я хотел бы, как можно ближе:

  • Идеальная тишина = как можно ближе к 0 В постоянного тока (стабильный, а не переменный ток), насколько это возможно
  • Средний шум = около 2,5 В постоянного тока (стабильный, не переменный ток)
  • Громкий шум = как можно ближе к 5 В постоянного тока (стабильный, не переменный ток), насколько это возможно

Я понимаю с BJT, что лучшее, что я могу получить, будет от 0,6 В до 4,4 В, но этого достаточно. Что не является, однако, половина волны, от 0,6 до 2,5 В. Кажется, это напрасно тратит половину моего доступного разрешения без причины. Однако, если есть другие установки, кроме BJT, которые могут приблизить меня к 0v-5v, мне было бы интересно дать им шанс; пока они простые.

Вот более простое, я надеюсь, что это возможно, но для этого требуется, чтобы электретный сигнал имел достаточную амплитуду для возбуждения цепи детектора огибающей (диод, резистор и конденсатор), чтобы получить только положительную половину. Я не думаю, что это возможно из-за падения диода вперед, но, возможно, это можно переставить или сделать до выхода крышки? Какими должны быть значения детектора огибающей и резисторов усилителя? Должен ли потенциометр чувствительности быть помещен в сигнал, или RE, или RL, и каково его значение? Линейный или логарифмический?

просто

Однако, возможно, выход электрета не может пережить детектор огибающей, шунт чувствительности и все еще управлять транзистором NPN. Если нет, вот более сложная версия. Нужно ли идти по этому маршруту? Действительно ли для получения желаемого результата от схемы действительно нужны все эти компоненты?

Сложный

Вот некоторые из прошлых вопросов, которые я задавал, прежде чем я полностью понял, что я пытался сформулировать, для более подробной информации. Вот что «должен» делать детектор огибающей, и я не уверен, как настроить его для выхода электрета:

Детектор конвертов Принципиальная электрическая схема

Ehryk
источник
Я думаю, что это все еще довольно широко. Вопрос, который вы должны задать себе: «Что означает громкий звук?» Человеческое восприятие громкости является сложным и может зависеть от частоты, продолжительности звука, настроения, потребления кофе и т. Д. Человеческое восприятие «тишины» также сильно зависит от окружающей среды и окружающего шума. Вам нужно будет перевести эти субъективные восприятия в более объективные определения, прежде чем вы сможете реализовать электрическую цепь для их измерения.
Фил Фрост
Вот некоторые поисковые термины, которые помогут: «пиковый детектор», «RC-цепь», «постоянная времени», «угловая частота», «фильтр нижних частот», «дБ УЗД»
Фил Фрост,
У меня есть этот потенциометр чувствительности в дизайне, чтобы учесть это (он должен быть достаточно широким, чтобы он мог быть «эффективно все тихим» или «всегда громким», и я могу оттуда настроиться). Я не знаю, должно ли это быть вместо RL, RE (контроль усиления или чего-то еще) или шунтирования сигнала. Я не знаю, как еще я могу быть более конкретным, не могли бы вы уточнить, что еще нужно?
Эрик
1
При изменении опорного напряжения АЦП контроллера к 2V56 запрещенной зоны, вам не требуется 0-5В выходного напряжения. Вы достигнете полного разрешения от 0 до 2.56V. В зависимости от точного контроллера у вас есть различные напряжения запрещенной зоны, чтобы использовать в качестве справки.
Джиппи
1
Найдите «активный выпрямитель с малым сигналом» и найдите схему, подобную techonlineindia.com/Libraries/tol/Signal3.sflb.ashx, которая берет пороговое напряжение диода из уравнения.
Джиппи

Ответы:

27

Хотя все это можно сделать только с помощью усилителя и микроконтроллера (Arduino), насколько я понимаю, вам нужен аналоговый вариант. Я попытался создать схему, которая выводит уровень голоса на микрофон. Диапазон составляет от 0 до 4 В. Тем не менее, вы можете легко обновить его до 0 В до 5 В, просто изменив OP-AMP. Теперь давайте углубимся в это;

Прежде всего я заменил транзисторный усилитель на OP-AMP. Вот то, что я придумал;

введите описание изображения здесь

Это простой инвертирующий усилитель с коэффициентом усиления 100. Вот формула для расчета коэффициента усиления;

Vout=RfRinVin=100kRinVin=100Vin

Как видите, U1 принимает входной сигнал, инвертирует его и затем умножает на 100. Вы можете изменить R2 или R3, и вы увидите, что усиление U1 меняется. Инверсия входного сигнала здесь не имеет значения, как вы поймете позже. Давайте посмотрим на выход этого усилителя, и вы увидите, что входной сигнал сильно вырос.

введите описание изображения здесь

На рисунке выше вы увидите, что выход имеет напряжение смещения постоянного тока 2,5 Вольт. Это из-за виртуальной площадки, которую мы использовали. Если мы создаем виртуальную землю, это означает, что мы переносим землю на другой уровень напряжения. В этом случае мы переместили его на 2,5 В. С новой конфигурацией мы создали нечто похожее на -2,5 В, 0 В и 2,5 В на схему. Чтобы добиться этого, мне пришлось создать новую шину напряжения на 2,5 вольт. Так как эта шина напряжения не будет обеспечивать большую мощность (менее 1 мА), ее легко создать;

введите описание изображения здесь

V+=V

После усиления мы должны подать сигнал на «детектор огибающей» или, другими словами, «повторитель огибающей». Это позволит получить уровень сигнала, как вы хотите, и как вы показали на картинке в вашем вопросе. Вот как выглядит базовый последователь конверта:

введите описание изображения здесь

Выглядит все замечательно, однако, обратите внимание, что здесь D3 - это диод, который сам по себе падает примерно на 0,6 В. Итак, вы теряете напряжение. Чтобы преодолеть это, мы будем использовать то, что называется «супер-диод». Это супер, так как падение напряжения почти 0В! Для этого мы включаем OP-AMP с диодом, и это все! OP-AMP компенсирует падение напряжения на диоде, и у вас будет почти идеальный диод;

введите описание изображения здесь

V+=VVVV+

Теперь замените D3 в приведенной выше цепи повторителя огибающей с помощью супер-диода, и вы получите лучший повторитель огибающей! Давайте посмотрим на наш результат;

введите описание изображения здесь

Мы приближаемся. Как вы можете видеть, выход повторителя огибающей, который является красной линией, может изменяться от 2,5 В до 4 В. 2,5 В - без звука, 4 В - с громким звуком и 3,25 В для среднего звука. Чтобы масштабировать это до того, что вы хотели, мы можем вычесть напряжение смещения 2,5 В и масштабировать его. Итак, когда вы вычитаете 2,5 В, оно становится; 0 В для отсутствия звука, 1,5 В для громкого звука и 0,75 В для среднего звука и так далее. После этого, если вы умножите это примерно на 3, вы получите именно то, что вам нужно. 0 В для отсутствия звука, 2,5 В для среднего звука и 5 В для громкого звука. Напомним, что мы хотим это;

Vout=(Vin2.5V)3

Чтобы достичь этого, мы будем использовать дифференциальный усилитель или, другими словами, « вычитатель ».

введите описание изображения здесь

Когда резисторы R1 = R2 и R3 = R4, передаточная функция для дифференциального усилителя может быть упрощена до следующего выражения:

Vout=R3R1(V2V1)

Если вы установите V1 = 2,5 В и отношение R3 / R1 3, то вы получите желаемый результат.

Вот полная схема, которая будет делать то, что вы хотите:

введите описание изображения здесь

Я использовал LM324 OP-AMP здесь для целей моделирования. Это ограничит максимальное выходное напряжение до 4 В. Чтобы иметь полный диапазон выходного сигнала, вы должны использовать рельсовый выход OP-AMP. Я бы предложил MCP6004 . Измените R1 и R2, пока не получите желаемый результат. Вот что я получил с помощью симуляции:

введите описание изображения здесь

Теперь, измеряя эти значения в АЦП, вы не получите линейного смысла , вместо этого звук лучше понять логарифмическим, поскольку наши уши слышат именно так. Итак, вы должны использовать децибелы . Если вы не знакомы с децибелами, вот отличный видеоурок об этом.

Тихая комната, например, измеряется на уровне около 40 дБ. Вечеринка в комнате повысит уровень комнаты до 100 дБ или, может быть, до 110 дБ. В этом веб-сайте вы можете найти отличную информацию о нем, откуда я также разместил изображение ниже. Подумайте об уровнях децибел и поэкспериментируйте с выходным напряжением цепи. Затем рассчитайте разрешение АЦП, которое вам потребуется. Вероятно, вам будет хорошо с 12-разрядным АЦП.

введите описание изображения здесь

Абдулла Кахраман
источник
5
Это феноменальный ответ; если бы у SE был зал славы, я бы назначил это. Спасибо за то, что были очень точными и объяснительными! Как вы генерируете эти снимки, снимок с осциллографа, программное обеспечение для ПК или алгоритм решения?
Эрик
1
@Ehryk Спасибо, но вы преувеличиваете :). Это LTSpice, который я использую.
Абдулла Кахраман
@Ehryk Я обновил свой ответ и добавил больше информации об измерении звука.
Абдулла Кахраман
Используйте Circulab, чтобы иметь возможность делиться и заставлять людей сразу же запускать симуляции! Я дам вам 50 повторений за это.
Кортук
1
@Kortuk Я не мог смоделировать это должным образом. Ссылка CircuitLab
Абдулла Кахраман
7

Вы, кажется, на правильном пути. Это делает займет много дискретных компонентов , чтобы сделать такого рода вещи. Вы можете не верить мне, но использование операционных усилителей может сделать все это проще и меньше. Я уверен, что вы можете найти еще более конкретные микросхемы, которые делают больше того, что вам нужно, в меньшем пакете. Могу поспорить, что есть IC, которая делает именно то , что вам нужно. Тем не менее, вы узнаете больше, если вы продолжите без них, даже если только для академической ценности.

Вы также можете сделать это проще, переместив логику в микропроцессор. Обнаружение огибающей легко в программном обеспечении, и в зависимости от того, насколько точной должна быть ваша чувствительность и чувствительность вашего микрофона, вам может даже не потребоваться отключить усилитель после микрофона и поместить его выходной сигнал прямо в АЦП. Это не даст вам 0V-5V, но имеет ли это значение? Вы можете умножить его на константу в программном обеспечении. Что вы теряете, так это точность наличия всего диапазона АЦП, но, возможно, это не так важно, как простота. Вам решать.

Фил Фрост
источник
Я не верю, что операционные усилители могут сделать это проще, я пытался минимизировать недвижимость на печатных платах. Однако становится все более очевидным, что 8-контактный провал LM358 будет ОЧЕНЬ проще. Мне также интересно, является ли электретный микрофон плохим выбором; кажется смешным, что такое простое желание (чувство громкости, 0 В-5 В) бессмысленно сложно.
Эрик
Электрет сам по себе дает пиковый пик ~ 20 мВ. При использовании АЦП Arduino это примерно различие от двух: от абсолютно тихого до максимально громкого (разрешение 4,9 мВ, если 511 в беззвучном режиме, от 513 до 509 при полном взрыве). Мне нужны хорошие диапазоны чувствительности, а не «Тихий / Средний / Громкий» как единственные градиенты, и это предполагает, что линия была совершенно стабильной.
Эрик
@Ehryk, если вы просто хотите уменьшить размер, я уверен, что вы можете найти LM358 (или любой другой обычный операционный усилитель) в большом корпусе для монтажа на поверхность, таком как SOIC . Много легко припаять вручную с хорошими инструментами, и вам не нужно сверлить отверстия. За исключением покупки датчика, который уже делает именно то, что вам нужно, я сомневаюсь, что вы сделаете это проще, чем электретный микрофон, и перенесете все, кроме смещения и усиления, в микроконтроллер.
Фил Фрост
4

Во-первых, вам не понадобится arduino, если вам не нужно больше обрабатывать - все, что вам действительно нужно, это усилитель (операционный усилитель, нагрузка базовых цепей по всем гуглям) для увеличения выходного сигнала микрофона в диапазоне 0-5В. Если вы не слишком беспокоитесь о точности (поскольку это для развлечения, а не для научных измерений), вы можете использовать довольно простую схему отсечения, направить выход в триггер Шмитта или использовать LM3914 для генерации дисплея.

Чуть более изящество можно было бы получить, сделав схему АРУ, чтобы автоматически увеличивать и уменьшать усиление до среднего уровня.

Как бы то ни было, вы получаете большую положительную карму, отказавшись от ардуино и сделав его аналогом, как задумано природой;)

Изменить: Скорее всего, есть множество схем "микрофонный предусилитель" в Интернете, вероятно, чип SOT23 за 0,10 $, чтобы сделать это для вас в эти дни ...

Джон У
источник
Arduino управляет светодиодной матрицей с 5-ю шинами PWM, и у меня будет мигать разные буквы / паттерны при яркости различных долей входного шума. Итак, arduino требуется, и мне нужно как-то сказать, с хорошим разрешением, насколько он громкий, чтобы он мог PWM-паттерн с разной степенью яркости для музыки. Я действительно не знаю, что ты делаешь без принципиальной схемы.
Эрик
Не зацикливайтесь на схемах, я описываю схемы, которые являются базовыми строительными блоками, описанными в каждом учебнике, быстрый Google должен включить основные схемы для различных функций (предусилитель, AGC, Clipper и т. Д.), А также больше диско-материалов (схемы графического эквалайзера, драйверы дисплеев, световые приборы и т. д.), которые были предметом хобби-электроники с момента изобретения Диско.
Джон U,
Проблема заключается в том, что существует слишком много примеров с различными компонентами и «функциями», которые смутно описаны или не описаны вообще. Конкретные диаграммы с некоторым объяснением того, почему были выбраны определенные компоненты и были достигнуты значения, - это то, что я считаю наиболее полезным, и то, что я обычно спрашиваю в своих вопросах. Этот ответ был феноменальным и чрезвычайно полезным, например.
Эрик
Вы просите Lego, я предлагаю кусок пластика и скальпель, это просто другой подход.
Джон U,
2
... и я отвечаю тем фактом, что у меня уже есть 10 кусков пластика и мой собственный скальпель, и я могу получить еще сотни за счет поиска. Кроме того, я специально спросил в этом вопросе лего, а вы говорите «не ожидайте легос».
Эрик