Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Есть сигнал +3В...+2,990В, как выделить и усилить эти 10мВ до диап. 0...2,048В?
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Вопросы аналоговой техники
invertor79
Сам я микроконтролллерщик, в аналоге не особо шарю, мож для таких случаев есть какие-то известные схемы.
Alexsys
Если полезный малый сигнал достаточно высокочастотный (хотябы кГц), то надо сначала через разделительный кондер пропустить. Если сотни или десятки герц, то можно использовать усилитель на ОУ развязаный по постоянному току. Подбные схемы есть в datasheet-ах на ОУ и инструментальные усилители фмрмы Texas instruments, например INA118. В последнем случае правда переходные процессы могут очень длинными получиться.

Если же сигнал очень медленно меняется, то использовать придется либо АЦП с большой разрядностью (сигма-делта 16-24разр), что довольно сложно, либо с помощью дифференциального усилителя вычитать из основного сигнала 3В а потом результат инвертировать и усиливать до нужного значения.

Если возможно напишите подробнее, откуда берется сигнал.
invertor79
Сигнал меняется оч. медленно (доли герц), точность его оцифровки не нужна более 8 бит (нужно просто отследить что он изменился, и примерно оценить его уровень). А по поводу дифференциального усилителя можно поподробнее (как с ним выловить эти 10мВ)?
handy
Цитата(invertor79 @ Aug 14 2006, 15:48) *
Сигнал меняется оч. медленно (доли герц), точность его оцифровки не нужна более 8 бит (нужно просто отследить что он изменился, и примерно оценить его уровень). А по поводу дифференциального усилителя можно поподробнее (как с ним выловить эти 10мВ)?


Дифференциальный усилитель и сдвиг уровня на 0. А поскольку сигнал маловат, то лучше использовать операционные усилители с автокоррекцией нуля (AD8551..)
lks
Цитата(invertor79 @ Aug 14 2006, 15:48) *
Сигнал меняется оч. медленно (доли герц), точность его оцифровки не нужна более 8 бит (нужно просто отследить что он изменился, и примерно оценить его уровень). А по поводу дифференциального усилителя можно поподробнее (как с ним выловить эти 10мВ)?


Ставите инструментальный усилитель AD623, у него есть возможность сигнал усилить (от 1 до 1000).
Выход у него очень удобно сделан - напряжение на входе устанавливается относительно вывода Vref, к этому выводу прицепляете ИОН AD780 - к этому же выводу отрицательный вывод диф. входа АЦП и вход внешнего ИОН АЦП, положительный вывод диф. входа АЦП к выводу Vout - AD623. Питание аналоговое должно быть качественным, с блокировочными конденсаторами и т.д.
_artem_
Может, если цена позволяет, поставить 18 битвый ацп и все дела ?

10mV/ 256 = 39 uV
3V / 0x3ffff = 11 uV
invertor79
Цитата(_artem_ @ Aug 15 2006, 05:51) *
Может, если цена позволяет, поставить 18 битвый ацп и все дела ?

10mV/ 256 = 39 uV
3V / 0x3ffff = 11 uV


Нет, АЦП есть только тот, что в мегу32 встроен.

Цитата(lks @ Aug 14 2006, 19:38) *
Ставите инструментальный усилитель AD623, у него есть возможность сигнал усилить (от 1 до 1000).
Выход у него очень удобно сделан - напряжение на входе устанавливается относительно вывода Vref, к этому выводу прицепляете ИОН AD780 - к этому же выводу отрицательный вывод диф. входа АЦП и вход внешнего ИОН АЦП, положительный вывод диф. входа АЦП к выводу Vout - AD623. Питание аналоговое должно быть качественным, с блокировочными конденсаторами и т.д.


Да, красивый вариант, не знаете, у TI какое-нибудь подобие AD623 есть?
invertor79
Цитата(handy @ Aug 14 2006, 16:47) *
Дифференциальный усилитель и сдвиг уровня на 0. А поскольку сигнал маловат, то лучше использовать операционные усилители с автокоррекцией нуля (AD8551..)


Я не могу понять как мне включать дифф. усилитель, в даташитах примеры для дифф. сигналов, у меня-же земля у источника сигнала и у схемы измерения общая... Или я туплю что-то...
CDT
Цитата(invertor79 @ Aug 14 2006, 14:07) *
Сам я микроконтролллерщик, в аналоге не особо шарю, мож для таких случаев есть какие-то известные схемы.

Поскольку такие скромные запросы к точности - внутри AVR (AtTiny26, например) имеется 7шт 10-и битных АЦП с дифференциальными входами и управляемым (вкл/выкл) предусилителем х20. Они ацепируют разницу напряжений между входами умноженную на 20 (т.е. 0.2В) с шагом Uопорное/1024.
Подобные штуки есть и в более мощных контроллерах.
handy
Цитата(invertor79 @ Aug 15 2006, 11:27) *
Цитата(handy @ Aug 14 2006, 16:47) *

Дифференциальный усилитель и сдвиг уровня на 0. А поскольку сигнал маловат, то лучше использовать операционные усилители с автокоррекцией нуля (AD8551..)


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



Вот нарисовал. Естественно необходима опора, подозреваю, что она у вас уже есть.
lks
Цитата(invertor79 @ Aug 15 2006, 09:22) *
Да, красивый вариант, не знаете, у TI какое-нибудь подобие AD623 есть?


К сожалению не подскажу.
Я по причине собственной лени ограничился использованием аналоговой элементной базой только AD.
( не потому что у других хуже - мне так удобней).
invertor79
Цитата(handy @ Aug 15 2006, 14:23) *
Вот нарисовал. Естественно необходима опора, подозреваю, что она у вас уже есть.

Спасибо! Буду пробовать.
rod
Цитата(handy @ Aug 15 2006, 14:23) *
...Вот нарисовал. ...

Зелененькое, вроде, лишнее... (?)Нажмите для просмотра прикрепленного файла
handy
Цитата(rod @ Aug 16 2006, 15:35) *
Цитата(handy @ Aug 15 2006, 14:23) *
...Вот нарисовал. ...

Зелененькое, вроде, лишнее... (?)Нажмите для просмотра прикрепленного файла


Согласен. Оформляйте рацпредложение.
rod
Цитата(handy @ Aug 16 2006, 17:25) *
Согласен. Оформляйте рацпредложение.
huh.gif wacko.gif blink.gif unsure.gif
Валентиныч
Можно попробовать реализовать это на простом операционнике.
На положительный вход подать входной сигнал через ФНЧ (простая RC цепочка) с частотой среза раз в 10 ниже частоты изменения сигнала, и тот же сигнал подать напрямую на отрицательный вход через R1=~ 5 кОм. Ессно, потребуется еще и цепь ООС с выхода операционника на его отрицательный вход (R2=~1 МОм). При указанных номиналах R1 и R2 и амплитуде флуктуации входного сигнала 10 мВ, К операционника будет равен 200, т.е. на выходе получите разностный сигнал, усиленный до величины 2 вольта.
По такой схеме удавалось "вытягивать" и более слабые сигналы. Правда, выходной сигнал будет инвертирован. Для того, чтобы получить неинвертированный сигнал, следует ФНЧ реализовать по инверсному входу, но это, в принципе, однотактно... smile.gif
Да, забыл заметить, что питание операционника следует иметь двуполярное.
lks
Цитата(Валентиныч @ Aug 17 2006, 20:21) *
Можно попробовать реализовать это на простом операционнике.


Я сам конечно может тоже что не так понял, но похоже тут сигнал постоянный и ни о какой частоте речь не идет.
Сигнал +2.990 В должен соответствовать 0 на выходе, а сигнал +3 В соответственно +2.048 В.
Или как будет?
Валентиныч
Цитата(lks @ Aug 18 2006, 01:47) *
Я сам конечно может тоже что не так понял, но похоже тут сигнал постоянный и ни о какой частоте речь не идет.

Если уровень напряжения изменяется, пусть даже очень медленно, то значит есть переменная составляющая, которую можно выделить. Я предложил один из простых вариантов.
rat
Была похожая проблема, только не вычитать а прибавлять напряжение надо было. Сделал на 623, вроде работало. Что касается точности, по моему опыту, то при точностях лучше 50мкВ изменения температуры сказываются фатально, а если делать это на простых операционниках, то требования к внешним резисторам - вообще будь здоров, так что, ИМХО, на инструментальнике и про термокомпенсацию (программную) я бы подумал...
invertor79
Цитата(Валентиныч @ Aug 17 2006, 20:21) *
... Для того, чтобы получить неинвертированный сигнал, следует ФНЧ реализовать по инверсному входу, но это, в принципе, однотактно... smile.gif
Да, забыл заметить, что питание операционника следует иметь двуполярное.

А если в случае "ФНЧ реализовать по инверсному входу" использовать Rail-to-Rail операционник (не хотелось бы двуполярное питание городить)?
Валентиныч
Цитата(invertor79 @ Aug 18 2006, 11:41) *
А если в случае "ФНЧ реализовать по инверсному входу" использовать Rail-to-Rail операционник (не хотелось бы двуполярное питание городить)?

Двуполярку для питания в любом случае придется использовать - задача стоит получить сигнал на выходе от нуля до 2 вольт. Ни один операционник, даже инструментальный, при однополярном питании этого обеспечить не сможет.
Что касается термостабильности, то эта проблема, разумеется имеет место быть, но при К=200 она еще не настолько остра. Но это уже другая задача...
Нужно еще выяснить целесообразность выходного диапазона - 0-2,048 вольта. Конечно, это позволит использовать последующий АЦП "на полную", но насколько это целесообразно? Сильно подозреваю, что эти требования несколько завышены.
invertor79
Цитата(Валентиныч @ Aug 18 2006, 10:18) *
Двуполярку для питания в любом случае придется использовать - задача стоит получить сигнал на выходе от нуля до 2 вольт. Ни один операционник, даже инструментальный, при однополярном питании этого обеспечить не сможет.
Что касается термостабильности, то эта проблема, разумеется имеет место быть, но при К=200 она еще не настолько остра. Но это уже другая задача...
Нужно еще выяснить целесообразность выходного диапазона - 0-2,048 вольта. Конечно, это позволит использовать последующий АЦП "на полную", но насколько это целесообразно? Сильно подозреваю, что эти требования несколько завышены.


Вы правы, диапазон 0...2,048В это в идеале конечно, реально устраивает верхний предел в 2...3В.
upc2
Используйте LM324 (наш аналог К1401УД1). 1 корпус 4 ОУ.
В конце даташита построение инструментального усилителя с дифференциальным входом.
rat
Цитата(upc2 @ Aug 18 2006, 15:14) *
Используйте LM324 (наш аналог К1401УД1). 1 корпус 4 ОУ.
В конце даташита построение инструментального усилителя с дифференциальным входом.


Если не смущает нужный класс точности резисторов, то оно конечно можно biggrin.gif
invertor79
Цитата(upc2 @ Aug 18 2006, 12:14) *
Используйте LM324 (наш аналог К1401УД1). 1 корпус 4 ОУ.
В конце даташита построение инструментального усилителя с дифференциальным входом.

Спасибо, но я пока ограничусь экспериментами с INA126, которых пару штук имеется....
EvgenyNik
Вот простая схемка, которая в идеале выдаст Вам (2.990..3.000) => (примерно 0..1.70).
На практике разброс TL431 таков, что запросто перекроет измеряемый диапазон, но попытаться можно.
Alexsys
А вместо TL431 ведь можно и более навороченный ИОН поставить.

Да, скажите пожалуйста, а зачем резистор R5 нужен? Насколько я понимаю то, что подано на концы резисторов R4 и R5 просто сложится и выйдет на выход с инверсией и соответствующими усилениями. На R4 подано напряжение смещения, которое вычитается из сигнала подаваемого на неинвертирующий вход, а на R5 подан просто ноль от прибавления которого к напряжению смещения ничего не поменяется.
EvgenyNik
Alexsys, так было проще выйти на распространённые номиналы, обеспечив необходимые усиление и смещение.
Сможете без R5 - напишите при каких номиналах.
invertor79
Всем спасибо за советы/ответы! Но как выяснилось, источник выдающий эти +3В может выдавать в качестве начального значения от 2,9 до 3,3В при том что надо отслеживать изменения все тех же 10мВ. Так что пока остановился на следующей схеме - поставлю DAC 16 битный (DAC8571) со стабильным опорником (REF3240 - 4.096 В, 7ppm/°C), и с его помощью контроллер будет при начальной самокалибровке прибора задавать напряжение смещения на дифф. усилитель чтоб получить ноль на выходе. Все это нехило удорожит схему конечно, но другого выхода, что бы избавиться от всяческих подстроечников и ручной настройки пока не вижу.
EvgenyNik
invertor79, а в чём состоит ваша задача вообще? Зачем измерять милливольты от 2990 до 3000?
Alexsys
2 Евгений Николаевич

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

А какое напряжение управляемый стабилитрон выдает??? Может я просто не правильно принцип работы схемы понимаю???
invertor79
Цитата(Евгений Николаев @ Aug 23 2006, 14:39) *
invertor79, а в чём состоит ваша задача вообще? Зачем измерять милливольты от 2990 до 3000?


В общем дело обстоит так: мне дали емкостную клавиатуру, начальный выходной сигнал которой зависит от того, какой материал находится поверх контактных площадок (например стекло толщиной от 2 до 6 мм изменяет выходной сигнал примерно на 200мВ, а лицевую панель предполагается изготавливать не только из стекла, но и из разнообразных пластиков и пленок) при поднесении пальца сигнал изменяется не более чем на 10 мВ. Клавиатуру предполагается использовать в большом кол-ве разнообразных устройств, и необходимо сделать так, чтоб исключить ручную настройку, то-есть моя цель сделать универсальный контроллер для этой байды. Вроде все.
EvgenyNik
2Invertor79
А разве не проще было бы измерять сдвиг фазы опорной частоты?
Раз датчик емкостной, то его надо соединить с резистивным сопротивлением и подать опорную частоту. А с выхода цепочки снимать смещёный по фазе сигнал. Емкость меняется - фаза меняется.

Alexsys, ну вот формула для расчета выходного напряжения без R5 :-)
Uвых=(1+a)*k*Uвх-a*Uоп
Uвых - выходное напряжение ОУ
Uвх - измеряемое напряжение (2.99-3)
Uоп - опорное напряжение (2.5 номинал для TL431)
a - отношение R6/R4
k - коэффициент деления R2/(R1+R2)
Для обеспечения 0В при подаче Uвх.мин, надо выдержать соотношение:
a=Uвх.мин*k/(Uоп-Uвх.мин*k)
Так вот, для того, чтобы убрать R5 и добиться выхода 0-2.035В, надо обеспечить:
a=243.451
k=0.8327
Так что без R5 можно, это и не отрицалось. Просто циферьки были проще :-)
invertor79
Цитата(Евгений Николаев @ Aug 23 2006, 15:50) *
А разве не проще было бы измерять сдвиг фазы опорной частоты?
Раз датчик емкостной, то его надо соединить с резистивным сопротивлением и подать опорную частоту. А с выхода цепочки снимать смещёный по фазе сигнал. Емкость меняется - фаза меняется.

Нет, вы не совсем поняли - емкостная клавиатура построена на специализированной микросхемке от Freescale, mc33794, от ее выходного сигнала и приходится плясать.
EvgenyNik
А эту клавиатуру можно закрывать вообще?
Или если можно, то наверняка есть в даташите рекомендуемые материалы и их параметры.
Просто 10 мВ от 3 Вольт - это такая маленькая величина, особенно для клавиатуры, на которую и вода и жир попасть могут. Температурный уход, наверняка, будет. И получится, что через пару лет вам кнопки мухи топтать смогуть :-)
Я надеюсь, что 10мВ это когда палец через 6мм стекло подносишь?
А если непосредственно к клавиатуре без посредников?
И ещё: вы случайно питание не дали меньше требуемого?
invertor79
Цитата(Евгений Николаев @ Aug 24 2006, 09:28) *
А эту клавиатуру можно закрывать вообще?
Или если можно, то наверняка есть в даташите рекомендуемые материалы и их параметры.
Просто 10 мВ от 3 Вольт - это такая маленькая величина, особенно для клавиатуры, на которую и вода и жир попасть могут. Температурный уход, наверняка, будет. И получится, что через пару лет вам кнопки мухи топтать смогуть :-)
Я надеюсь, что 10мВ это когда палец через 6мм стекло подносишь?
А если непосредственно к клавиатуре без посредников?
И ещё: вы случайно питание не дали меньше требуемого?


Да, ее можно закрывать вообще, я даже сверху накладывал лист двустороннего текстолита - все равно работает. В даташите нет даже параметров выходного сигнала микросхемы sad.gif .
Да, 10мВ это когда палец через толстенное стекло подносится, если через пленку, то больше 1В изменение, но необходимо, чтоб именно через толстое стекло работало. Питание (+9...18В) и схема включения строго по даташиту и App. notes.
У микросхемы есть немаловажный для меня плюс - возможность мультиплексирования емкостных датчиков.
Температурный уход, грязь и т.п. я собираюсь програмно компенсировать, время от времени опрашивая все кнопки, и при обнаружении отсутствия сигнала (касания) выставлять нулевой уровень на выходе дифф. усилителя.
Что значит "А если непосредственно к клавиатуре без посредников"?
Валентиныч
Прочитайте еще раз внимательно мой первый пост в этой теме. В вашем случае - плавающее опорное лучший и наипростейший выход.
invertor79
Цитата(Валентиныч @ Aug 24 2006, 12:58) *
Прочитайте еще раз внимательно мой первый пост в этой теме. В вашем случае - плавающее опорное лучший и наипростейший выход.


Ваша схемка мне очень понравилась, но необходимо отслеживать длительные нажатия кнопок (порядка 10 сек), в этом случае время выхода усройства в рабочий режим слишком большое получается (пока RC зарядится) или это можно как то обойти?
Валентиныч
Цитата(invertor79 @ Aug 24 2006, 15:26) *
Ваша схемка мне очень понравилась, но необходимо отслеживать длительные нажатия кнопок (порядка 10 сек), в этом случае время выхода усройства в рабочий режим слишком большое получается (пока RC зарядится) или это можно как то обойти?

Вы же сами сказали, что частота пульсаций напряжения ДОЛИ герца. А это уже как раз и есть близко к 10 секундам.
Какой вопрос - такой ответ.
И потом, мне до сих пор не очевидна необходимость "вытаскивания" этих 10 милливольт в аналоговом виде. Может проще поставить компаратор, и работать по порогу?
invertor79
Цитата(Валентиныч @ Aug 24 2006, 13:31) *
...И потом, мне до сих пор не очевидна необходимость "вытаскивания" этих 10 милливольт в аналоговом виде. Может проще поставить компаратор, и работать по порогу?

Счас расскажу: вы iPod видели например? Там при движении пальца по поверхности отслеживается направление движения. Здесь такое тоже возможно (рисунок) при движении слева направо (или наоборот) емкость одного электрода уменьшается, а другого увеличивается, что и позволяет делать всякие ползунки например, эта фича заложена в Т.З...
EvgenyNik
Цитата
Да, 10мВ это когда палец через толстенное стекло подносится, если через пленку, то больше 1В изменение

Цитата
Что значит "А если непосредственно к клавиатуре без посредников"?

Стекло и является "посредником".
Если уж без стекла изменяется более, чем на 1В от 3-ёх Вольт, то сразу же возникают сомнения, что работа через такое стекло допустима.
Вы хотите влезть в диапазон 0.33%, да ещё и измерять его. Как говориться, этот проект ненадёжен ещё на этапе замысла :-)
Кстати, стекло обычное или органическое? В обычном содержаться соли металлов, ухудшающие емкостные свойства.
invertor79
Цитата(Евгений Николаев @ Aug 25 2006, 09:44) *
Если уж без стекла изменяется более, чем на 1В от 3-ёх Вольт, то сразу же возникают сомнения, что работа через такое стекло допустима.
Вы хотите влезть в диапазон 0.33%, да ещё и измерять его. Как говориться, этот проект ненадёжен ещё на этапе замысла :-)


Не надо только мне рассказывать о ненадежности проекта smile.gif Все отлично работает при плавающем опорном, просто чтоб отслеживать не только "есть касание/нет касания" придется использовать DAC (или, возможно PWM) и програмную коррекцию нуля... Просто хотелось все сделать подешевле и попроще.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.