Я задавал несколько вопросов здесь, чтобы получить правильный, первоначальные вопросы, которые я задал, связаны в конце. Я использовал 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. Если нет, вот более сложная версия. Нужно ли идти по этому маршруту? Действительно ли для получения желаемого результата от схемы действительно нужны все эти компоненты?
Вот некоторые из прошлых вопросов, которые я задавал, прежде чем я полностью понял, что я пытался сформулировать, для более подробной информации. Вот что «должен» делать детектор огибающей, и я не уверен, как настроить его для выхода электрета:
Ответы:
Хотя все это можно сделать только с помощью усилителя и микроконтроллера (Arduino), насколько я понимаю, вам нужен аналоговый вариант. Я попытался создать схему, которая выводит уровень голоса на микрофон. Диапазон составляет от 0 до 4 В. Тем не менее, вы можете легко обновить его до 0 В до 5 В, просто изменив OP-AMP. Теперь давайте углубимся в это;
Прежде всего я заменил транзисторный усилитель на OP-AMP. Вот то, что я придумал;
Это простой инвертирующий усилитель с коэффициентом усиления 100. Вот формула для расчета коэффициента усиления;
Как видите, U1 принимает входной сигнал, инвертирует его и затем умножает на 100. Вы можете изменить R2 или R3, и вы увидите, что усиление U1 меняется. Инверсия входного сигнала здесь не имеет значения, как вы поймете позже. Давайте посмотрим на выход этого усилителя, и вы увидите, что входной сигнал сильно вырос.
На рисунке выше вы увидите, что выход имеет напряжение смещения постоянного тока 2,5 Вольт. Это из-за виртуальной площадки, которую мы использовали. Если мы создаем виртуальную землю, это означает, что мы переносим землю на другой уровень напряжения. В этом случае мы переместили его на 2,5 В. С новой конфигурацией мы создали нечто похожее на -2,5 В, 0 В и 2,5 В на схему. Чтобы добиться этого, мне пришлось создать новую шину напряжения на 2,5 вольт. Так как эта шина напряжения не будет обеспечивать большую мощность (менее 1 мА), ее легко создать;
После усиления мы должны подать сигнал на «детектор огибающей» или, другими словами, «повторитель огибающей». Это позволит получить уровень сигнала, как вы хотите, и как вы показали на картинке в вашем вопросе. Вот как выглядит базовый последователь конверта:
Выглядит все замечательно, однако, обратите внимание, что здесь D3 - это диод, который сам по себе падает примерно на 0,6 В. Итак, вы теряете напряжение. Чтобы преодолеть это, мы будем использовать то, что называется «супер-диод». Это супер, так как падение напряжения почти 0В! Для этого мы включаем OP-AMP с диодом, и это все! OP-AMP компенсирует падение напряжения на диоде, и у вас будет почти идеальный диод;
Теперь замените D3 в приведенной выше цепи повторителя огибающей с помощью супер-диода, и вы получите лучший повторитель огибающей! Давайте посмотрим на наш результат;
Мы приближаемся. Как вы можете видеть, выход повторителя огибающей, который является красной линией, может изменяться от 2,5 В до 4 В. 2,5 В - без звука, 4 В - с громким звуком и 3,25 В для среднего звука. Чтобы масштабировать это до того, что вы хотели, мы можем вычесть напряжение смещения 2,5 В и масштабировать его. Итак, когда вы вычитаете 2,5 В, оно становится; 0 В для отсутствия звука, 1,5 В для громкого звука и 0,75 В для среднего звука и так далее. После этого, если вы умножите это примерно на 3, вы получите именно то, что вам нужно. 0 В для отсутствия звука, 2,5 В для среднего звука и 5 В для громкого звука. Напомним, что мы хотим это;
Чтобы достичь этого, мы будем использовать дифференциальный усилитель или, другими словами, « вычитатель ».
Когда резисторы R1 = R2 и R3 = R4, передаточная функция для дифференциального усилителя может быть упрощена до следующего выражения:
Если вы установите V1 = 2,5 В и отношение R3 / R1 3, то вы получите желаемый результат.
Вот полная схема, которая будет делать то, что вы хотите:
Я использовал LM324 OP-AMP здесь для целей моделирования. Это ограничит максимальное выходное напряжение до 4 В. Чтобы иметь полный диапазон выходного сигнала, вы должны использовать рельсовый выход OP-AMP. Я бы предложил MCP6004 . Измените R1 и R2, пока не получите желаемый результат. Вот что я получил с помощью симуляции:
Теперь, измеряя эти значения в АЦП, вы не получите линейного смысла , вместо этого звук лучше понять логарифмическим, поскольку наши уши слышат именно так. Итак, вы должны использовать децибелы . Если вы не знакомы с децибелами, вот отличный видеоурок об этом.
Тихая комната, например, измеряется на уровне около 40 дБ. Вечеринка в комнате повысит уровень комнаты до 100 дБ или, может быть, до 110 дБ. В этом веб-сайте вы можете найти отличную информацию о нем, откуда я также разместил изображение ниже. Подумайте об уровнях децибел и поэкспериментируйте с выходным напряжением цепи. Затем рассчитайте разрешение АЦП, которое вам потребуется. Вероятно, вам будет хорошо с 12-разрядным АЦП.
источник
Вы, кажется, на правильном пути. Это делает займет много дискретных компонентов , чтобы сделать такого рода вещи. Вы можете не верить мне, но использование операционных усилителей может сделать все это проще и меньше. Я уверен, что вы можете найти еще более конкретные микросхемы, которые делают больше того, что вам нужно, в меньшем пакете. Могу поспорить, что есть IC, которая делает именно то , что вам нужно. Тем не менее, вы узнаете больше, если вы продолжите без них, даже если только для академической ценности.
Вы также можете сделать это проще, переместив логику в микропроцессор. Обнаружение огибающей легко в программном обеспечении, и в зависимости от того, насколько точной должна быть ваша чувствительность и чувствительность вашего микрофона, вам может даже не потребоваться отключить усилитель после микрофона и поместить его выходной сигнал прямо в АЦП. Это не даст вам 0V-5V, но имеет ли это значение? Вы можете умножить его на константу в программном обеспечении. Что вы теряете, так это точность наличия всего диапазона АЦП, но, возможно, это не так важно, как простота. Вам решать.
источник
Во-первых, вам не понадобится arduino, если вам не нужно больше обрабатывать - все, что вам действительно нужно, это усилитель (операционный усилитель, нагрузка базовых цепей по всем гуглям) для увеличения выходного сигнала микрофона в диапазоне 0-5В. Если вы не слишком беспокоитесь о точности (поскольку это для развлечения, а не для научных измерений), вы можете использовать довольно простую схему отсечения, направить выход в триггер Шмитта или использовать LM3914 для генерации дисплея.
Чуть более изящество можно было бы получить, сделав схему АРУ, чтобы автоматически увеличивать и уменьшать усиление до среднего уровня.
Как бы то ни было, вы получаете большую положительную карму, отказавшись от ардуино и сделав его аналогом, как задумано природой;)
Изменить: Скорее всего, есть множество схем "микрофонный предусилитель" в Интернете, вероятно, чип SOT23 за 0,10 $, чтобы сделать это для вас в эти дни ...
источник