Могу ли я использовать транзистор PNP с электретным микрофоном, чтобы получить неинвертирующий выход для моего Arduino?

Я хочу просто прочитать общий уровень звука с электретного микрофона. Я видел несколько схем с NPN-транзисторами, которые обеспечивают инвертированный выход (~ 5 В, когда тихо, ~ 0 В, когда громко, линейная работа между ними).

Вот пример:

Простой аудио предусилитель

Тем не менее, я хотел бы неинвертированный выход (линейная работа, сверхтихий вход дает ~ 0 В, супер громкий вход дает ~ 5 В). Я понимаю, что мог бы легко исправить это в программном обеспечении, но мне это кажется обратным, и я не могу найти примеров неинвертирующего выхода с транзистором PNP.

Есть ли причина для этого помимо того, что это редкость? Если возможно, может ли кто-нибудь предоставить схему электретного микрофона и PNP-транзистора, который будет давать ~ 0 В в тихом режиме и ~ 5 В в громком?

Кроме того, есть ли какая-то причина, почему это так редко или нежелательно? Кажется, что NPN используются гораздо чаще, чем PNP, почему это так?

Редактировать

Кажется, я был довольно смущен тем, что я получу на выходе предусилителя NPN, что будет 0 В для тишины и +/- Vin / 2. Вот что я хочу вместо этого:

0 В при отсутствии звука, ~ 2,5 В при среднем уровне звука, ~ 5 В при максимальном уровне звука. Это может быть легко прочитано АЦП в «уровень звука» без особых усилий. Однако я не могу подать напряжение < 0 В или > 5 В на аналоговый компаратор. Похоже, мне нужно то же самое с детектором огибающей, однако это даст мне только от 0 В до 2,5 В. Как заставить его изменять полный диапазон от 0 В до 5 В, при этом 0 В будет «тихим», а 5 В «громким», а все промежуточное будет линейным?

К сожалению, эта схема не будет генерировать постоянное напряжение, если вывод находится на правой стороне C2. Он будет генерировать переменное напряжение. Это из-за конденсаторов. Конденсаторы не пропускают через себя постоянное напряжение.
Arduino имеет 6 аналоговых входов, которые считывают 0-1023 для 0V-5V. AC - это то, что я бы искал там, верно? Возможно, мне понадобится диод, чтобы не передавать отрицательное напряжение на аналоговый компаратор?
Да, но на диоде падает 0,6В. Может стоит попробовать сделать напряжение питания 5В. Напряжение питания указано «от +3 до 9 вольт». Затем удалите C2. Затем считайте аналоговое значение на коллекторе Q1. Поэкспериментируйте с разными уровнями звука, например, хлопайте, говорите, кричите, молчите, шепните и наблюдайте, как меняется аналоговое чтение. Однако это будет синусоида, дополненная значением постоянного тока.
Читая ваш вопрос и комментарии, кажется, что в вашем вопросе четко не указано, чего вы хотите. Кажется, что вам нужен уровень переменного тока, величина которого уменьшается по мере увеличения входного напряжения. Если это так, вам нужно четко заявить об этом. Если это не так, не могли бы вы объяснить «я не ищу логику 0-1, аналоговые входы Arduino имеют 10-битный АЦП, который дает 0-1023 для 0В-5В соответственно» в этом контексте. || ...
... ЕСЛИ вы говорите об уровнях постоянного тока, вопрос все еще не ясен. Сигнал переменного тока будет сосредоточен в точке смещения постоянного тока. Это относительно фиксировано с силой сигнала. Можете ли вы очень четко и простыми словами объяснить ТОЧНО, что вы хотите, чтобы выход делал, когда входной сигнал изменяется от 0VAC до Max Vin AC.
Транзисторы NPN чаще используются для таких схем, вероятно, отчасти из-за традиции (в 60-х годах транзисторы NPN созрели раньше, чем транзисторы PNP), а отчасти потому, что В Б Е и входное напряжение хорошо привязано к земле. Цепи PNP используются, когда нагрузка должна быть заземлена. Транзисторы PNP иногда используются для входов усилителя. Например, некоторые операционные усилители имеют входы PNP.
Вход представляет собой аналоговый вывод, который будет регистрировать 0 при 0 В, 1023 при 5 В и линейно между ними (511 при 2,5 В и т. д.). Кажется, что NPN в приведенной выше конфигурации даст мне линейный сигнал переменного тока, ~ 5 В в тихом режиме, приближаясь к ~ 0 В, когда он становится громким. Я хочу наоборот: ~ 0 В, когда тихо, ~ 5 В, когда громко, и линейное поведение между ними.
Как свидетельствуют длинные цепочки комментариев и подтверждается вашим редактированием, этот вопрос выявил еще несколько основных проблем. Не бойтесь закрывать этот вопрос и задавать новые вопросы, специально нацеленные на основы, которых вы не понимаете. Это приведет к более целенаправленному и полезному ответу, чем попытка охватить все это в этом вопросе.
@Ehryk - я только что посмотрел на ваш вопрос, и кажется, вы одобрили ответ Абдуллы как «принятый» ответ. К сожалению, схема и модификация с диодом, которые дал вам Абдулла, не будут работать так, как вы ожидаете. Выход будет смещен при половинном напряжении, и вы не получите 0 В постоянного тока для тихих звуков и 5 В постоянного тока для громких звуков. Я думаю, вы могли бы снова открыть его (каким-то образом) и в следующий раз проявить немного терпения, принимая ответ, пока не убедитесь, что это то, что вы хотите. Есть ответы на этот вопрос, которые работают нормально.
@Andyaka Я ничего не сказал, что это даст то, что он хочет, я просто немного изменил схему, объяснил ее и сказал ему сделать обработку сигнала в цифровом виде. Проверьте мои комментарии к моему ответу ниже. Кроме того, я написал здесь еще один ответ на его проблему, который показывает аналоговый подход.
@abdullahkahraman Я не хочу проявлять к вам неуважение, хотя в ретроспективе может показаться, что мои слова кажутся такими. Я видел, что он принял схему, но я чувствовал, что она не сработает, как он ожидал, и не хотел, чтобы он думал, что этот сайт его подвел. Извините за любое оскорбление, которое вы, возможно, почувствовали, что я дал. Никто не собирался.
@Andyaka, лол, без обид :) Я пытаюсь сказать тебе то же самое. Поскольку его вопрос был поставлен неправильно, на него было трудно ответить, однако я думаю, что он удовлетворен после другого вопроса и ответов на него.

Ответы (4)

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

Давайте разорвем эту цепь. Прежде всего часть с микрофоном.

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

R1 предназначен для подачи питания, необходимого микрофону, и это называется смещением микрофона. Микрофон генерирует переменное напряжение, иногда отрицательное, иногда положительное, и большую часть времени меняющееся. Представьте себе синусоиду . Но помните, у нас было некоторое смещение, которое представляет собой постоянное напряжение. Мы должны убрать это и подать на усилитель только переменное напряжение. И сделать это легко с помощью простого одиночного конденсатора. Конденсатор не пропускает постоянный ток, но легко пропускает переменный ток. Мы заблокировали постоянную часть напряжения на электретном микрофоне.

Теперь давайте посмотрим на сам усилитель. Представьте, что нет ничего другого, кроме приведенной ниже схемы:

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

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

Когда он сконфигурирован таким образом, если вы прикоснетесь (не буквально) к его основанию, создав небольшое изменение, вывод будет сильно меняться. Это то, что называется усилением. Вы можете запросить у Google более подробную информацию.

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

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

Обратите внимание, что я изменил C1 на 1 мкФ. Вы можете использовать значения до 100 мкФ. Вам, вероятно, понадобятся электролитические конденсаторы. Также обратите внимание, что выходного конденсатора больше нет. Это означает, что у вас будет выходное напряжение где-то между 0 и 5 В, в зависимости от уровня звука. Если у вас есть осциллограф, просмотрите сигнал на выходе. Если нет, попробуйте зажечь светодиод, если аналоговое считывание выше, например, 750. Поэкспериментируйте со значениями, отличными от 750, а затем сообщите мне о результатах.

Я понимаю большую часть этого, спасибо. Теперь, поскольку он использует NPN-транзистор, выходное напряжение будет около ~ 5 В, когда тихая / входная амплитуда низкая, и ~ 0 В, когда громкая / входная амплитуда высока. Это кажется отсталым. Есть ли способ изменить его так, чтобы он вел себя точно так же, как указано выше, в линейной области, где ~ 0 В означает «тихо», а ~ 5 В означает «громко»?
@Ehryk Нет, выходное напряжение будет где-то между 0 и 5 В. Если вы возьмете автомобильную сирену и поставите ее возле электретного микрофона, то это будет синусоида с размахом 5Vpp с частотой около 300Гц. 5Vpp означает, что оно перейдет к 5 В и вернется к 0 В с синусоидальной формой. Взгляните на это . Когда есть шепот, размах амплитуды будет около 1Vpp с изменением частоты из-за речи. Это означает, что он пойдет к 1 В и вернется к 0 В.
Однако мой комментарий выше игнорирует смещение постоянного тока.
Есть ли способ сделать ~ 0 В для тихого, ~ 5 В для громкого? Разве конденсатор не сделал бы именно это, если бы я каким-то образом перевернул отрицательную часть волны, а затем немного сгладил ее? Возможно, с мостовым выпрямителем/диодным мостом? ( en.wikipedia.org/wiki/Diode_bridge )
@Ehryk Да, вы можете добавить выходной конденсатор и детектор огибающей. При правильных значениях компонентов вы сможете получить уровень аналогового напряжения в зависимости от амплитуды звука. Однако я не уверен в этом. Вы должны экспериментировать. После получения результатов просто создайте условие if-else в программном обеспечении в зависимости от значения ADC, которое вы прочитали.
Как будет выглядеть электрическая схема? (Сейчас я помещаю его на печатные платы, позже я смогу выбрать и поиграть со значениями компонентов). Могу ли я заставить его варьироваться от 0 В до 5 В, или я смогу получить только от 0 В до 2,5 В?
@Ehryk удалите выходной конденсатор и добавьте его к выходу.
Разве мне не понадобится выходной конденсатор, чтобы сместить его обратно к 0 В? В противном случае детектор огибающей был бы 2,5–5 В, верно? Я хочу использовать весь диапазон моего АЦП.
Нет, подумайте об этом так; добавьте переменный ток к смещению постоянного тока. Допустим, смещение постоянного тока составляет 2,5 В. Добавление переменного тока 4Vpp заставит его перейти от 0,5 В до 4,5 В. Простой; (2,5 В-2 В) до (2,5 В + 2 В).
Я все еще не думаю, что это то, чего я хочу. Я пытаюсь получить показания 0 (0 В) для тишины, 1023 (+5 В) для очень громких вещей, 511 (+2,5 В) для средних звуков, а затем постоянно сэмплирую их, когда хочу знать, насколько они громкие. Как я могу это сделать?
Я предполагаю, что это 10Vpp при смещении постоянного тока 0V, пропущенном через детектор огибающей. Как это достигается с 5V?
@Ehryk, пожалуйста, отредактируйте свой вопрос, чтобы вас лучше поняли. Возможно, другие могут помочь вам в этом. Удалите детали с PNP и полярностью. Упомяните, что вам нужен выход 5 В для самого высокого уровня звука, 0 В для самого низкого уровня и 2,5 В для среднего уровня звука. Это означает, что вам нужен аналоговый выход напряжения по отношению к уровню звука. Сформулируйте это в своем вопросе четко и подробно.

Усилитель класса А с общим эмиттером всегда инвертирует, даже если вы используете PNP, единственная разница заключается в том, что вы инвертируете полярность источника питания. Если вы используете звуковой трансформатор вместо конденсатора, вы можете изменить фазу сигнала по своему усмотрению. Но это, вероятно, будет стоить дороже, чем использование двух BJT. В любом случае, чтобы решить ваш последний вопрос, вы должны выпрямить (даже с одним диодом) выход и применить результат к нагрузке (подойдет резистор) и подать его на аналоговый вход Arduino. Нет причин инвертировать сигнал вообще.

Тогда какой самый простой неинвертирующий усилитель без ИС (независимо от класса или с общим эмиттером)?
Общий коллектор, но думаю не правильно использовать в данном случае, так как нужен коэффициент усиления по напряжению
Общая база, если вам нужен коэффициент усиления по напряжению (но его коэффициент усиления по току = 1). Обратите внимание, что в этом случае вы можете добавить вторую инверсию, просто поменяв местами R1 и микрофон. ПНП не требуется. Однако инвертирование или нет НЕ решит заявленную проблему - создание логической 1 или 0 в зависимости от громкости.
Я не ищу логику 0-1, аналоговые входы Ардуино имеют 10-битный АЦП, который выдает 0-1023 для 0В-5В соответственно. Можете ли вы дать схему для этого?

Этот усилитель инвертирует сигнал, но вам не нужен звуковой сигнал. На выходе у вас будет переменный ток, конденсатор блокирует постоянный ток. Таким образом, вы не можете сказать ~ 0 В для тихого шума и ~ 5 В для громкого. Если вам нужен датчик уровня звука, одним из простых способов является добавление после выходного колпачка схемы, называемой «демодулятором» или «пиковым детектором», которую легко реализовать на основе диода и нескольких пассивных компонентов.

Можете ли вы добавить схему этого? Кроме того, не будет ли пиковый детектор варьироваться между -2,5 В и 2,5 В? Я бы хотел, чтобы ~ 0 В было тихим, а ~ 5 В - самым громким, как это сделать?

Просто инвертируйте выходной сигнал во второй раз, используя двухкаскадный усилитель. ( Дополнительную информацию о двухступенчатом и неинвертирующем транзисторном усилении см. на этой странице. Очень познавательно )

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

Резисторы и конденсаторы того же номинала, тот же транзистор 2n3094, добавленные к выходу вашей существующей схемы, обеспечат вторую инверсию.

Но кто-нибудь поправит меня, если я ошибаюсь, но ваша схема показывает простой усилитель со смещением, поэтому у вас действительно будет 2,5 В в качестве тихого диапазона, а форма волны становится больше с большим количеством звука? У вас будет ± 2,5 В от пика до пика. У вас будет 1v/3v в качестве средней громкости.