Як зробити чистий посилений мікрофонний аналог цифрового перетворення?


12

Я задав пару питань, пов'язаних з цим проектом, за останні кілька днів, але я, здається, не можу це зробити разом.

Я підключив електронний мікрофон до підсилювача і дав вихід моєму мікроконтролеру arduino. АЦП на мікроконтролері перетворює діапазон від 0 до 5 vV до 10-бітного числа (0 до 1023).

Я спробував 3 різних підсилювальних мікросхема:

  • LM386 - Я отримав відгуки, цей чіп не був корисним для цієї мети, оскільки він не підключався, і він не працював правильно, як очікувалося.
  • LM358 - працює
  • UA741 - працює, підсилює більше, ніж LM358

Я точно дотримувався цієї схеми (за винятком того, що я переплутався зі значеннями резистора, щоб отримати хороший приріст): я використав 50k Ом для R5 і 10 Ом для R2. введіть тут опис зображення

Проблема полягає в тому, що вихід з двох останніх чіпів не є "чистим". AnaRead () на Arduino завжди читає ненульове значення, навіть коли я не шуму в мікрофоні. Читання реагує належним чином, коли я шуму, але значення "нуль" - не нульове. Іноді значення "нуль" навіть мерехтить, викидаючи читання весь час. Сподіваємось, це мало сенс.

Ви можете мені допомогти розібратися?

Не менш важлива, додаткова інформація: я намагаюся зробити щось подібне , врешті-решт.


Ви впевнені, що у вас є С2? Яка тиха напруга постійного струму після С2?
Majenko

Так, у мене є С2. Це близько 2 вольт. Я не знаю, чи це має сенс: чи може це бути, що в петлі між штифтом 2 і 6 є вихідний і інвертуючий вхід?
Shubham

Як щодо мовчазної напруги постійного струму після С2 з відключеним від вхідного штифта Arduino?
Majenko

Наявність С2 означає, що вихід підсилювача буде коливатися навколо 0 В - не 2,5 В, який він працює на внутрішньому рівні.
Majenko

Ще одне - ви, можливо, захочете просунути між собою підсилювальний діод C2 та вхід Arduino невеликим діодом - відкиньте ті негативні напруги, які вас насправді не хвилюють. Ще одне, що я зробив, це додати ще один конденсатор між аналоговим входом і землею, щоб трохи згладити сигнал. Робить метр ВУ трохи меншим.
Majenko

Відповіді:


17

Позбутися вихідного конденсатора. Ця схема, ймовірно, мала на меті видавати сигнал навколо нуля, тому конденсатор є там, щоб блокувати зміщення 1/2 Vdd. Однак мікроконтролер хоче бачити сигнал, зосереджений навколо 1/2 Vdd, тому просто позбудьтесь від конденсатора.

Мікрофони дійсно потребують значного посилення. Електрети можуть бути чутливими, але вам все одно може знадобитися посилення напруги 1000. Коефіцієнт посилення у вашій схемі - це відношення R5 до R2, але це працює лише в межах, що може зробити операційний підсилювач.

Значення, про які ви згадали вище, принесуть вам прибуток у 5000. Це набагато більше, ніж ви повинні намагатися отримати з одного етапу оперативної операції. Не тільки напруга зміщення буде помножено на цей коефіцієнт посилення, але й оппамп не зможе забезпечити це протягом повного діапазону частот. При ширині смуги посилення 1 МГц ви отримаєте лише цей коефіцієнт дещо нижче 200 Гц. Навіть зміщення входу на 1 мВ стає 5 В після посилення на 5000.

R2 - це також імпеданс, який мікрофон бачить після вхідного конденсатора. Потрібно, щоб це було дещо більше, ніж опір мікрофона з його підтягуванням та вхідним конденсатором на найменшій цікавій частоті. 10 Ом - це занадто мало для цього. 10 кОм було б кращим значенням.

Спробуйте два етапи з коефіцієнтом підсилення 30 або більше для початку і подивіться, куди це потрапляє. Це виграш, який він може обробляти на розумних частотах, залишаючи достатньо місця для роботи зворотного зв'язку. Вам також потрібно ємнісно з'єднати два етапи, щоб напруга зміщення входу не накопичувалося через усі етапи.

Правка: додана схема

Я не встиг намалювати схему вчора ввечері, коли написав відповідь вище. Ось схема, яка повинна це зробити:

При цьому посилення напруги становить приблизно 1000, що повинно бути достатньо для розумного електронного мікрофона. Я, можливо, трохи забагато, але його легко додати трохи ослаблення.

Топологія сильно відрізняється від вашої схеми. Найголовніше, що слід зазначити, це те, що він не намагається виробляти весь прибуток за один етап. Кожен етап має коефіцієнт підсилення приблизно 31. Це залишає велику кількість посилення на максимальній звуковій частоті 20 кГц для зворотного зв'язку, тому коефіцієнт посилення буде добре передбачуваним і рівним у межах частотного діапазону звуку, оскільки MCP6022 має типову пропускну здатність посилення продукт 10 МГц. Обмежуючим фактором, швидше за все, стане мікрофон.

На відміну від того, що я говорив раніше, два етапи не повинні бути ємнісно з'єднані, щоб запобігти накопиченню напруги разом із посиленням. Це тому, що в цьому ланцюзі кожен етап має лише коефіцієнт посилення постійного струму 1, тому остаточне зміщення становить лише вдвічі більше зміщення ОПАМП. Ці оппамп мають лише 500 мкВ зміщення, тому остаточне зміщення становить лише 1 мВ за рахунок операційних підсилювачів. Буде більше через невідповідність R3 та R4. У будь-якому випадку вихідний постійний струм буде достатньо близьким до 1/2 живлення, щоб не поїсти в діапазон A / D змістовно.

Коефіцієнт посилення постійного струму 1 на етап досягається за рахунок ємнісного зв’язку шляху дільника зворотного зв'язку з землею. Конденсатор блокує постійний струм, тому кожен етап є лише послідовником єдності для постійного струму. Повний змінений коефіцієнт змінного струму реалізується, коли імпеданс конденсатора (С3 на першому етапі) стає малим порівняно з резистором нижнього дільника (R7 на першій стадії). Це починає відбуватися близько 16 Гц. Одним із недоліків такого підходу є те, що константа часу для врегулювання становить C3 рази R7 + R5, а не лише R7. Цей ланцюг знадобиться пару секунд, щоб стабілізуватись після ввімкнення.


Коли я виймаю кришку з виходу, ардуїно бачить вхід близько 3 вольт. Вибачте, але чи можете ви пояснити, що ви маєте на увазі зміщення напруги? Щоб отримати коефіцієнт виграшу в 1000, при R2 10к Ом, мені потрібно 10М Ом для R5? Ви впевнені в цьому? Коефіцієнт посилення - це співвідношення між R5 і R2?
Shubham

@Shubham: Ваша схема намагається помножити напругу зміщення ОПУ на 5000, тому не дивно, що вихід прив’язаний до однієї рейки. Жоден оппам не ідеальний. Вхідна зміна напруги - це напруга між двома входами, коли вихід є середнім діапазоном. Теоретично два входи тоді були б рівними. Специфікація напруги зміщення вхідного сигналу говорить вам, наскільки це далеко від цього ідеалу.
Олін Латроп

@Shubham: Вам знадобиться 10 МОм для резистора зворотного зв’язку, якщо ви намагаєтеся на одному етапі виробляти весь прибуток. Як я вже сказав, це погана ідея.
Олін Латроп

Дякую за всю допомогу, тут багато чого навчився. Так що два етапи по 30 виграшів на кожному дають мені загальний приріст 900, правда? Я спробую це, використовуючи LM358 (ось що я лежу навколо), і звітуватиму про це
Shubham

Нарешті це спрацювало! Дякую, що ви дали мені схематично! Але я отримую лише діапазон АЦП приблизно 200. Беззвучне значення АЦП буде трохи вище середньої точки (512), але незалежно від того, скільки шуму я створюю в мікрофоні, значення АЦП не буде перевищувати 200 вище мовчазне значення. Мабуть, це обмежує моє встановлення кришок та резисторів.
Shubham

5

Як ви кажете, цифрове значення буде від 0 до 1023. Середина цього діапазону не дорівнює 0, це 512 (що відповідає напрузі близько 2,5). Для тиші ви повинні побачити щось середнє, як це. Це не повинно бути точно 512, але воно повинно бути близько. Це називається "зміщення постійного струму". Сигнал зміщений вгору і зосереджений навколо 2,5 В.

Якщо ви вимірюєте 2 В і бачите значення АЦП приблизно 400, то це в основному добре.

Звукові хвилі переходять від негативного до позитивного тиску. Якби центральна точка була 0, а сигнал можна було виміряти лише між 0 і 1023, тоді негативні значення тиску (-1023) будуть відрізані.

Крім того, він завжди буде трохи коливатися за рахунок шумової підлоги АЦП. (І в кімнаті завжди буде звуковий шум, незалежно від того, наскільки тихо ти будеш.)


Ох, що пояснює "зміщення постійного струму", я не бачив інших відповідей. Чи є спосіб зняти зміщення постійного струму, але десь поставити кришку?
Шубхем

@Shubham: Ви хочете зміщення постійного струму. Процес АЦП не працюватиме без одного. Кришка С2 - це те, що забезпечує його у вас. Однак у цьому випадку різниці, мабуть, не так багато, тому що вихід U1 вже зміщений. Чи можете ви виміряти значення постійного струму на кожній стороні С2?
ендоліт

@Shubham: Якщо ви хочете сказати, що ви хочете, щоб ваші цифрові вимірювання були орієнтовані на 0, а не на 512, ви можете просто відняти зміщення у вашому програмному забезпеченні, а ще краще - застосувати цифровий фільтр високих частот у програмному забезпеченні.
ендоліт

3

Чи можете ви розмістити аркуш специфікації на цьому мікрофоні? Немає ніяких причин, коли вам знадобиться коефіцієнт підсилення в 5000 з електронним мікрофоном, якщо у вас немає голого блоку без внутрішнього БНТ. У такому випадку передпідсилювач повинен виглядати набагато інакше.

Крім того, використовуваний вами ланцюг не дуже сприятливий для використання в якості підсилювача для електронного мікрофона.

Я рекомендую:

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

R5 / R4 встановлює коефіцієнт підсилення і може бути відрегульований без вкручування з вхідним опором ланцюга. R3 може бути від 2k -> 10k ish. 10k буде, як правило, покращувати продуктивність спотворень, якщо ви регулюєте це занадто низько, вам слід переосмислити значення R1 і R2, щоб виправити вхідний опір.

Також дуже важливо, щоб джерело живлення було належним чином відключене, оскільки будь-який шум буде надходити в мікрофон.

Як згадували інші відповіді, ваша "нульова" точка складе ~ 512, коли ви прочитаєте АЦП і трохи коливатиметься незалежно від того, чим займаєтесь.

Якщо ваша мета блимає вогнями у відповідь на рівень, ви все одно не повинні приймати миттєві показання ардуїно, оскільки я сумніваюся, що ви зможете зробити вибірку досить швидко, щоб змусити її добре реагувати. Натомість виконайте виявлення пікового або середнього рівня в аналоговій області та встановіть період усереднення пропорційно тому, який буде ваш показник вибірки.

EDIT: Детальніше про це з піковим детектором

Проблема, яка у вас виникне тут, полягає в тому, що ардуїно має відносно обмежену частоту дискретизації, я думаю, що ваш максимум буде приблизно 10 кГц, а це означає, що ви можете вирішити лише 5 кГц звукового сигналу макс. Це означає, що ардуїно робить дуже мало, за винятком запуску АЦП, якщо вам потрібно виконати якусь реальну роботу (і ви зробите якусь роботу, щоб досягти рівня), частота вибірки буде нижчою.

Пам'ятайте, що ви берете дискретні зразки необробленого сигналу, тільки тому, що у вас є синусова хвиля повного діапазону, що подається в АЦП, це не означає, що ви не отримаєте показання 0 від АЦП, ви отримаєте зразки в різних точках хвилі. . З реальною музикою отриманий сигнал буде досить складним, і ви будете мати зразки всюди.

Тепер, якщо все, що ви намагаєтеся виміряти, це рівень вхідного сигналу, і вам не байдуже, чи справді отримуєте цифрове зображення сигналу, тоді ви можете використовувати простий піковий детектор після цього попереднього підсилювача для цього.

Що це робить, це перетворює ваш аудіосигнал у напругу, що представляє його піковий рівень. При вимірюванні цієї напруги за допомогою АЦП у вас буде негайне значення, що представляє рівень сигналу в момент зчитування. У вас все ще буде трохи хитання, оскільки звук - це складна, завжди змінюється форма хвилі, але це має бути легко вирішити в програмному забезпеченні.

Піковий детектор без утримування насправді є просто випрямлячем з фільтром на виході. У цьому випадку нам потрібно мати справу зі сигналами низького рівня та підтримувати точність, тому нам потрібно зробити трохи більше, ніж те, що було б зроблено для вашої середньої схеми випрямлячів. Це сімейство схем називається "точними випрямлячами".

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

Існує близько мільярда різних способів зробити це, але я б пішов з цією схемою, вона, здається, найкраще працює при використанні одного джерела живлення. Це піде після вже обговорюваної схеми попереднього підсилювача, і вхід може бути зміненим змінного струму чи ні, незважаючи на те, що він працює від одного джерела живлення, він фактично спрацює нормально з негативними вхідними напругами, доки ви не перевищите доступний пік, до пікової напруги від змінного струму.

OP1 виступає як (майже) ідеальний діод, який обходить звичайне питання падіння напруги на діоді при випрямленні. Практично будь-який невеликий діод сигналу буде працювати для D1, щось із меншим падінням напруги вперед може збільшити точність, але я сумніваюся, це буде мати значення для вашого використання.

C1 і R4 діють як фільтр низьких частот, щоб згладити вихід, ви можете грати з їх значеннями, щоб відповідати продуктивності тому, що намагаєтесь зробити (і ваш показник вибірки).

Ви, ймовірно, можете використовувати ту саму модель підсилювача, яку ви використовуєте в попередньому підсилювачі, але залізниця до залізниці та висока швидкість ходу ідеальні для цієї схеми. Якщо у вас є проблеми зі стабільністю, збільште R1, R2 і R3 до 100 ккм.


Мікрофон - це стандартний електретний конденсаторний мікрофон. Я зроблю R3 10K, мій Vcc 5,9 В, так чи буде добре, якщо R1 і R2 теж 10K? Який opamp ви б порекомендували: LM358 або 741? Чи є спосіб я знизити "нульову" точку до 0 або близько 0? "Замість цього виконайте виявлення пікового або середнього рівня в аналоговій області та встановіть період усереднення пропорційно тому, який буде ваш показник вибірки." - Чи можете ви мені детальніше розповісти про це? це звучить цікаво, і мені дуже хочеться заглянути в це. Вибачте, що у мене є багато запитань ... Я студент EE у коледжі, який ще навчається.
Шубхем

Я спробував вашу рекомендовану схему (це набагато чистіше, ніж те, що я використовував, менше випадковості у виході). Я використовував 1 М Ом для R5 і 1 К Ом для R4, даючи посилення 1000. Коли я робив кілька вимірювань за допомогою ДММ, підсилювач дає безшумний вихід близько 3 вольт, а С3 зменшує його приблизно до 1,5 вольт. Крім того, коли я видаляю R5, це не має ніякого значення для виходу ... Ви впевнені, що посилення R4 / R5?
Шубхем

1
R3 встановлює точку зміщення FET всередині мікрофона, (R1 || R2) || R3 встановлює вхідний імпеданс змінного струму, який бачить мікрофон. Встановлення "нульової" точки в 0 не може бути вирішено нічим в аналоговій області, це функція АЦП в ардуїно, що має єдине джерело живлення. Все, що вам потрібно зробити - це відняти ~ 512 з кожного зразка, якщо ви не хочете, щоб звук був нульовим (переконайтеся, що ви використовуєте підписаний тип даних, оскільки це означає, що можливі негативні значення)
Марк

R4 / R5 - коефіцієнт посилення, проте коефіцієнт посилення в 1000 може перевищувати межі операційного підсилювача на частоті, яку ви протестували. C2 в ланцюзі якраз там, щоб допомогти зменшити будь-яке зміщення постійного струму на виході від подачі назад і не впливає на посилення.
Марк

Позначка, С1 проти R1 // R2 має частоту перекидання фільтру високої частоти 1,3 кГц. Це набагато вище хорошої частки голосових частот і на 6 октав вище нижньої межі "HiFi". Це може бути добре, якщо він просто хоче зробити звуковий сигнал, що активується, але не добре, якщо він хоче нормальний оцифрований звук.
Олін Латроп
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.