Масштабуюча напруга для аналогових вводів Arduino, виходячи за межі дільників напруги


16

Нещодавно я побудував декілька волоконно-оптичних датчиків вигину і хочу прочитати отримані від них значення в комп'ютер через Arduino. Я вимірюю світло за допомогою цього фотодіоду від оптичної волоконної оптики . В даний час я даю світлодіод на іншому кінці, а також фотодіод 2.2V. Моє запитання пов'язане з тим, що коливання напруги, виміряні багатометровим фотодіодом, лінійні, але досить малі, оскільки волокно деформується, навіть досить радикально. Якщо волокно пряме, залежно від волокна (його важко оцінити однаково), напруга коливається, наприклад, біля 1,92 В, а при згинанні воно підніметься, скажімо, до 1,93-1,94В. Я не переживаю за те, щоб напруги були однаковими, наскільки я можу масштабувати програмне забезпечення.

Мене хвилює те, що я втрачаю дозвіл, коли роблю A / D з Arduino. Якщо мої коливання напруги будуть в порядку 10мВ, чи не 10-бітний A / D Arduino квантизує пекло з нього, навіть якщо я посилю напругу до 5 В за допомогою дільника напруги? Що я шукаю - це аналоговий скалер. Як я можу розтягнути цей діапазон між 1,92 та 1,94, щоб охопити весь діапазон, від 0В до 5В, щоб я міг скористатися повним діапазоном Arduino A / D?

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

(Ви, можливо, думаєте, як це було: "чому ви використовуєте волоконну оптику для зондування згину? Чому ви очікували б зміни напруги, коли волокно зігнуте?" Підступка полягає в тому, щоб зняти обшивку з одного боку волоконно-оптичного кабелю. . Це дозволяє випромінювати світло. Коли кабель відігнутий від балів, ще більше світла випускається з кабелю, спричиняючи падіння напруги в приймачі, і навпаки.)


Ви були б настільки добрі, щоб показати схему свого приймача? Ви постачаєте напругу зміщення 1,9 В?
ендоліт

Якщо ви маєте на увазі схему самого приймача, я пов’язаний з таблицею даних вище. Ось знову: i-fiberoptics.com/pdf/IFD91.pdf Якщо ви маєте на увазі, як я це підключив, ви можете побачити на фотографії. Приймач - чорний. Я даю це 2,2 В (хоча на фото це літій-іонний акумулятор) через червоний провід в сторону приймача з помаранчевою крапкою, і я вимірюю напругу через резистор, який йде на землю з іншого боку.
тераса

Відповіді:


11

Тож якщо я правильно розумію, ви хочете мати можливість "прочитати" 10 мВ на вершині сигналу 1,9 В?

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

Другий етап буде підсилювачем інструментації, таким як сімейство INA від Texas Instruments (найкраще, але також може бути дорогим). Це допоможе видалити сигнал "загального режиму", який у цьому випадку становить 1,9 В. Ви також можете додати посилення в підсилювач приладу або по черзі додати простий підсилювач в неінвертуючій конфігурації в кінці, щоб допомогти посилити ваш сигнал до необхідних 5 В.

Я не кажу, що це буде ідеально, але я думаю, що це вдалий початок.

На завершення мені подобається ідея Девіда про затискачі, навіть якщо вони можуть спричинити деякі помилки вимірювання на A / D перетворювачі. Що важливіше, якщо ви можете розмахувати ним, спробуйте кращий підсилювач, ніж 741. Вони є загальними, але характеристики жахливі. 3 або 4 мВ напруги зміщення на вхідних клемах дійсно можуть зіпсувати невеликий сигнал, як ви намагаєтеся виміряти.

~ Кріс Гаммелл


1
Вам не потрібен підсилювач приладів. Простий диференціальний підсилювач зробить. Хоча вам потрібно постійне джерело 1,9 В, щоб використовувати його в якості довідника. Я здогадуюсь, що щось подібне вже існує в ланцюзі, як ухил датчика. Це допомогло б скласти схему. Крім того, вилучивши зміщення, вам потрібно знову додати ще одне зміщення, щоб отримати його між діапазоном 0 і 5 В АЦП.
ендоліт

1
Я погоджуюся, що вам НЕ ТРЕБУВАТИ жодного, але це гарна ідея. Підсилювальний пристрій - це лише розрізний підсилювач з буферами перед ним (іноді з доданими резисторами для посилення). Якщо ви просто використовуєте різний підсилювач, ви знаходитесь на волі резисторів у вашому диференціальному підсилювачі; іноді до 1К. Якщо він намагається щось виміряти, то високий опір (від буферів iAmp) справді може допомогти (тобто відсутність потоку потоку в вимірювальний прилад).
Кріс Гаммелл

12

Кондиціонування сигналу в цьому сенсі надзвичайно поширене. Ви хочете використовувати підсилювач для того, щоб зробити цей проміжок 10 мВ (наприклад) весь діапазон ардуїно 0-5 В. Це можна зробити за допомогою підсилювачів типу LM741. Ви, ймовірно, також захочете використовувати "затискач напруги" (напр .: два стабілітрони) на виході вашого кондиціонера / входу сигналу в АЦП, щоб переконатися, що значення не перевищує 5В. Якщо ви оглядаєтеся в Інтернеті на опис-таблицях даних та / або схемах кондиціонування сигналу, ви повинні знайти керівництва щодо того, що саме ви шукаєте.


4

Запропонуйте переглянути комбінацію диференціального PGA (програмованого підсилювача посилення) та ЦАП, при цьому вихід датчика переходить на вхід "+", а ЦАП - на вхід "-". (Або щось інтегроване, що дає вам еквівалентну функціональність.) В основному, подивіться на сигнал з низьким коефіцієнтом посилення, з’ясуйте, яке його зміщення, поставте цю напругу на ЦАП і підкрутіть посилення.

PGA308 TI виглядає, що це може бути гарним рішенням.

Якщо ви хочете менш дороге рішення, використовуйте диференціальний підсилювач з фіксованим посиленням (стандартний 4-резисторний + підсилювач) + стабільний, тихий 8-бітний ЦАП (стабільність / шумові характеристики важливіші за точність), знову поставте вихід датчика на вході "+" на розсилювач та вихід DAC на вхід "-".

Вправа для читача: покажіть, що ви можете вивести діф-амперний вихід із насичення та в лінійний діапазон, використовуючи двійкову техніку пошуку за допомогою ЦАП, і переконайтесь, що посилення не більше G1 = вхідна напруга повномасштабного АЦП, ділиться на суму номінального розміру кроку ЦАП та його DNL (диференціальна нелінійність). Ймовірно, я б використовував менший (G1 / 2) і G2, де G2 = вхідна напруга повномасштабного АЦП, поділене на діапазон вихідної напруги датчика, який вам цікавий.


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

Для чого потрібен ЦАП? Ви просто генеруєте з ним компенсацію постійного струму? Це здається непосильним.
ендоліт

Так. ЦАП грунтувався на припущенні про необхідність зміни зміщення постійного струму в широкому діапазоні. Якщо у вас система з напругою, що охоплює лише вузький діапазон (якщо припустити, що ви зробили правильний аналіз толерантності), то для поділу напруги може бути достатньо резисторний подільник і опорний показник. Або для трохи більшої складності - резисторна мережа + мультиплексори (що таке деякі ЦАПі). ЦАП насправді не такий складний або дорогий пристрій, якщо вам не потрібна надшвидкісна або надто точна роздільна здатність.
Джейсон S

3

Використання волоконної оптики в якості датчика вигину може бути поганим вибором, чи не вся суть волоконної оптики дозволяє легко згорнути світло по кутах з мінімальними втратами?


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

2

Вам потрібно дві речі: використовувати диференціальний вхід для порівняння зі стандартом 1,9 В (або близько до нього) та підсилювач для збільшення роздільної здатності цієї різниці.

Для найкращих результатів слід використовувати зовнішні високоякісні підсилювачі для вимірювальних приладів або підсилювачі. Але ви можете спробувати використовувати засоби, вбудовані в мікроконтролер. Мега Arduino Mega (ATMega2560) і Arduino Leonardo включають опцію для диференціальних, посилених входів в АЦП праворуч на мікросхемі. (У Uno цього немає). ATMega2560 міг би зробити кілька каналів (мультиплексованих) посиленого диференціального АЦП для декількох датчиків - прочитайте таблицю даних, щоб побачити, які комбінації контактів можливі. Він має 200-кратну можливість посилення, яка дозволить покласти повну роздільну здатність 1024 кроків через 25 мв. Вам просто потрібно розташувати це вікно 25 мВ там, де вам це потрібно!

Це може бути або не бути достатньо шумовим для ваших цілей - це не настільки висока якість, як ви могли б будувати зовні для отримання $$.

Важча частина може отримати стабільну та точну 1,9 В посилання для порівняння.


Сюди прийшов сказати це. +1!
Нік Джонсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.