Измерительные цепи

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

Выход с датчика может быть трех основных видов (если кто вспомнит еще, добавьте в комментах)
Напряженческий, токовый и резистивный. Как понятно из названия, тут выходная датчик превращает колебания измеренной величины в колебания напряжения, тока или сопротивления, осталось только эти величины привести к виду удобному для запихивания в АЦП микроконтроллера.

Выход по напряжению:
Например, токовый шунт — замеряет ток, а падение напряжения на нем вычисляется по закону Ома U=I*R и его легко измерить.

Тут все просто — АЦП замеряет напряжение, поэтому вроде бы ничего особенно и не надо, достаточно завести напрямую. Но обычно не все так просто. Проблем тут может быть три:

  • Напряжение слишком больше
  • Напряжение слишком маленькое
  • Величина изменения очень мала

Разберем каждый из них.

Напряжение слишком велико.
Самый простой способ — поделить напряжение на резистивном делителе:

Раз и пополам. Или в любом соотношении какое заблагорассудится, все зависит от отношения резисторов верхнего и нижнего плеча делителя.

Напряжение слишком мало.
Некоторые датчики выдают жалкие милливольты. Вот что с ними делать? Правильно! Усиливать! Для этих целей существуют операционные усилители. Эдакие аналоговые калькуляторы, заточенные под математические операции.
Входное сопротивление у операционного усилителя очень велико, близко к бесконечности. А коэффициент усиления составляет десятки тысяч. Чтобы его обуздать применяют отрицательную обратную связь.

Подбором резисторов можно очень гибко задавать коэффициент усиления.

В качестве операционного усилителя я обычно использую OP297, просто потому что они у меня есть, а новые покупать дорого — прецезионные усилки это тебе не микроконтроллер, такая козявка стоит рублей 150.

Но надо помнить, что максимальное и минимальное выходное напряжение его будет ниже чем напряжение питания где то на 1вольт. Так что если запитаешь его от 5 вольт, то получишь максимальный диапазон изменения выходного напряжения от 1 до 3 вольт. Если тебя это не устраивает, то подбери усилитель у которого в характеристиках есть параметр rail-to-rail — это означает что он может работать от минимума до максимума питания, а в идеале еще и с однополярным питанием — так корректней.

Напряжение имеет малую величину изменения.
Простой пример — температурный датчик LM335Z. Это термостабилитрон с характеристикой в 10мВ на градус Кельвина. Учитывая, что ноль по Цельсию это 273 по Кельвину, то напряжение выходящее с него при комнатной температуры будет:
(25+273)*0.01 = 2,98В
Нетрудно заметить, что на каждый градус у нас будет изменение всего на 0.01 вольт. Причем само выходное напряжение измеряется вольтами, так что и напрямую его не подашь — все разряды АЦП будут забиты этими фоновыми 2.9 вольтами и не увеличишь, так как напряжение изначально большое. Остается только одно — вычесть из этого напряжения излишки, а остаток умножить на нужное число. Излишек определяется просто — берем минимальное значение которое нам нужно, скажем -25 градусов и считаем напряжение для этой температуры.
(273-25)*0.01 = 2.48
Вот эти 2.48 нам нужно вычесть.При этом минимальное значение температуры будет для нас показывать 0
Теперь надо определить нужный нам максимум, скажем 100 градусов Цельсия это предел выше которого замерять нет смысла. Вычисляем напряжение на 100 градусах.
(273+100)*0.01 = 3.73
Теперь вычитаем нашу нулевую поправку:
3.73-2.48 = 1.25.
Итак,
-25 градусов = 0 вольт
+100 градусов = 1.25 вольт.

Это уже кое что, но обычно АЦП замеряет от 0 до 5 вольт, глупо было бы забивать на 3/4 шкалы. Так что результат можно смело умножить на четыре и уже в таком виде можно загнать в АЦП.

Во сколько математики, осталось ее воплотить. Первым делом нам потребуется источник напряжения на 2.48 вольт.

Если задача не требует особой точности, то вполне сгодится стабилитрон, скажем на 3.3 вольта. Берем и получаем из пяти вольт наши 3.3, а потом прогоняем их через многооборотный потенциометр которым можно подстроить напряжение с точностью до тысячных долей вольта. Конечно, можно было бы стабилитрон вообще выкинуть и сразу же делить потенциометром 5 вольт для получения 2.48, но это менее точно и наше эталонное напряжение будет зависеть от колебаний питающего напряжения, а это не есть Good. Если хочется большей точности, то вместо стабилитрона можно будет подобрать какой нибудь ИОН (источник опорного напряжения) — специализированная микросхемка, выдающая строго калиброваное напряжение. Я на вскидку модель не назову, но в комментах кто нибудь наверняка добавит пару замечаний на этот счет ;)

А особые извращенцы могут подать эталонное напряжение с R-2R цепи или иного ЦАП, тогда мы получим еще и программно расширяемый диапазон =)

Короче, не важно как мы задали опорное напряжение, гораздо интересней то как его вычесть.
Для этого применим наш операционный усилитель. У него же не зря входы подписаны как плюс и минус. Фишка ОУ в том, что он вначале из напруги положительного входа вычитает отрицательное, а лишь потом все это дело умножает на коэффициент. Так что загоняем на отрицательный вход наше опорное, а на положительный подаем напряжение с датчика.
Осталось только утихомирить буйный коэффициент усиления с диких тысяч до скромных четырех. Нам ведь надо на четыре умножить разность? Вот!
Добавляем обратную связь, а именно вгоняем выход на отрицательный вход. А отношение резисторов дадут нам нужный коэффициент.

Готово! Можно подавать на вход АЦП!

Вариант второй — подать опорное и напряжение с датчика на дифференциальный вход АЦП. Многие контроллеры серии ATMega имеют такую возможность. Там происходит примерно то же самое — из одного вычитается второе и, опционально, умножается на фиксированый коэффициент (х20 и х200, вроде такие). Подробней — в даташите.

Токовый датчик.

Есть типы датчиков у которых выходная величина ток, скажем от 0 до 20мА в зависимости от измеряемого параметра. С ними поступают просто — загоняют их на токовый шунт, а чего церемонится? Дальше по закону Ома вычисляется напряжение и все как было сказано выше.

Резистивный датчик.
На мой взгляд, самый мерзкий вид датчиков. Потому как у них обычно изменения величины бывают ну просто смешные, скажем тензорезистор меняет свое сопротивление на какие то жалкие миллиомы. Многие терморезисторы также не отличаются широким размахом. Как же быть? В делитель (чтобы менялся коэффициент деления эталонного напряжения) вставлять такой датчик не рационально — слишком велика будет погрешность от плавания этого делителя из-за температурных колебаний. Тут применяют мостовое соединение.

Суть в чем. Через два плеча моста идет ток. Падение напряжения на резисторе зависит от сопротивления и тока. Два одинаковых чувствительных резистора ставят по диагоналям моста. Допустим в нормальных условиях Rs=R Считается просто:
I1 = U/(Rs + R)
I2 = U/(Rs + R)
UA = I1*Rs
UB=I2*R
UB-UA=0 — мост сбалансирован.

Скажем что то случилось и два Rs уменьшили свое сопротивление, чуть чуть. При этом изменился I1 и I2 — он стал чуточку выше.
Напряжение на точке А снизилось, так как UA больше зависит от Rs чем от I1
А напряжене на точке B возросло, так как UB зависит от I2, а ток возрос.
Как результат UB-UA>0 — мост разбалансирован и этот дисбаланс будет тем выше чем сильней изменит свое сопротивление Rs. Да, оно может быть и одно, только в одном плече моста, но тогда перекос будет не столь заметным.

На выходе моста у нас дифференциальное напряжение, UA и UB примерно равны половине напряжения U, отличаясь лишь незначительно, в какие то милливольты. Достоинство этой схемы еще в том, что она очень помехоустойчива. Если два провода с UA или UB идут вместе, то внешняя помеха наведется и в том и в другом одинаковое напряжение и будет там UA+Unoise и UB+Unoise, а поскольку нас интересует только разность, то Uout = (UB+Unoise) — (UB+Unoise). Unoise автоматом сокращается и опа — на выходе та же чистая разность что была снята с моста.
В принципе, можно смело применить прием с разностью двух этих величин и последующим умножением на коэффициент, но лучше доверить дело профессионалу — инструментальному усилителю. Например AD627.

Коэффициент усиления в этом случае задается не сочетанием резисторов обратной связи, а навесом резистора на спец вход (суть естественно та же, но нам возни намного меньше). Таблица коэффициентов усиления в зависимости от резистора выглядит примерно так:

Повышение точности токовых шунтов.
Как было уже сказано выше, для превращения тока в напряжение используют токовые шунты. Проще говоря, резистор. Но если токи реально большие? Например десятки ампер. В таком случае надо делать резистор очень малого сопротивления, в десятые доли ома, а то и в сотые или тысячные. Чувствуете где западло? В пайке! На таких мизерных величинах сопротивление паяного контакта уже становится соразмерным сопротивлению самого шунта, а это сильно влияет на точность замера, порой до 50% и более процентов. Как быть?
Проблема в том, что в точке пайки образуется паразитный резистор, поэтому эквивалентная схема выглядит так:

Но если применить резистор с четырьмя выводами, в котором не будет внутри паяных соединений (цельнолитой, например), то будет схема уже вот такой:

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

Раз и готово! Надо только пятак хитрый нарисовать, но это совершенно не проблема!

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

З.Ы.
На хитрый трюк с резистором меня навела статья с сайта www.rusilicon.net Свежий блог, публикующий авторские переводы зарубежных статей по радиоэлектронике, Application notes и прочих интересностей. Пока там еще очень немного материала, но я надеюсь это только начало. Рекомендую!

78 thoughts on “Измерительные цепи”

  1. В принципе, частотный выход еще бывает, но он сюда немного не в кассу, т.к. описанные методики там малоприменимы.

    Еще, как частный случай «напряженческого» выхода стоит упомянуть ратиометрические измерения, когда выход задается соотношением двух напряжений, и можно не трахаться с пересчетом и калибровками абсолютной величины, а просто получить значение сразу «в процентах от максимума».

    С измерением токового сигнала на шунте все тоже хорошо, но только до тех пор, пока не нужна скорость. Да даже если и не нужна — лучше поставить трансимпедансный усилитель.

    ps. За трюк с резистором — спасибо, не знал.

    pps. Не раскрыта тема расширения динамического диапазона, когда приходится городить либо схемы с переменным усилением, либо логарифмические усилители.

    1. Частотный это уже цифра. Его можно замерить банальным таймером.

      А скорость это вообще большая проблема любого интерфейса. Те же ОУ имеют силнейший завал начиная с определенной частоты.

    1. Для переменки прокатит, а вот для постоянки… Мне больше интересует «трансформатор» постоянного тока. Там вроде бы датчик Холла стоит и схема. Ковырял я не так давно LEM датчик тока. Он умел и переменный и постоянный отслеживать

    1. Не, я на USB не заморачивался. Но все софтовые реализации этого протокола имеют глюки. Так что вряд ли найдешь что то лучшее. Разве что на базе OBDEV драйвера можно сделать что нибудь стабильное, но и то не факт.

    2. игорьплаг- лучшее, из тех, что доводилось ковырять, глючит вроде поменьше других, да и интерфейс более- менее. Оптимум, на мой взгляд- дешифратор кода пульта на микроконтроллере+ уарт с компом

  2. Когда у тебя один аналоговый датчик конечно хорошо воспользоваться ОУ. А если у тебя их 32 или больше?

    Я тут делаю устройство в котором используются аналоговые датчики холла. Они обычно могут мерить магнитное поле обоих полярностей, поэтому когда поле на них не действует на выходе у них напряжение грубо говоря равное половине напряжения питания. В моем же приборе необходимо мерить поле только одной полярности, значит половина диапазона сразу идет в топку. Значит надо подгонять уровни- как ты писал вычитать константу и усиливать. Но тока датчик не один, а пока 8 (для испытательного стенда), а потом из может быть и 32 и еще на много больше. Это такой некий магнитный сканер )) Так вот не хочется ставить столько ОУ. Наверняка то же самое можно сделать на одном транзисторе грамотно задав ему положение рабочей точки с помощью резисторов. Было бы отлично если бы ты отсветил этот вопрос ))

    1. На одном транзисторе у тебя все будет гулять туда — сюда в зависимости от изменения температуры, напряжения питания, влияния фазы Луны на котовы яйца, и других трудно предсказуемых явлений. Нужен как минимум дифференциальный каскад для взаимной компенсации ухода параметров транзисторов. Проще операционников не получится, а вот хуже — запросто. Тем более что полно операционников по 2 и по 4 в одном корпусе.

    2. Есть еще такой прикольный микроконтроллер PSOC зовется. У него на борту неплохое 8ми разрядное ядро+небольшая ПЛИС и… Аналоговая плис! С несколькими ОУ и банком возможных сопротивлений для цепей ОУ. И все это можно подключать как угодно в каком угодно порядке, причем программно и на лету. Можешь покопать в этом направлении. Cypress их делает, стоит раза в два дороже чем AVR

      1. Я делал на Cypress PSOC 8 канальный датчик температуры (датчики транзисторы). Мерял одним АЦП поочередно со всех датчиков переключая их через аналоговый мультиплексор поочередно… все в одном кристале, но можно и отдельно, по такому принцыпу.

    3. У нас вот тоже стоит задача ввода с примерно 120 термопар в каждом объекте… Чесали мы репу, и пришли к выводу, что современные 16-входовые 24-битные АЦП с интерфейсом типа I2C — наилучший выход. Что-то там у Аналоговых Девиц высмотрели. Не дешевые, конечно, но по сумме затрат оказываются вполне выгодны. Исключаются лишние коммутаторы, сравнительно легко организуется гальваническая развязка групп каналов, в самих АЦП встроенные цифровые фильтры на 50 или 60 Гц…

  3. Skaf Скажите поалуйста какие датчики холла вы используете? и на сколько гауссов? Мне надо мерить примерно 6000 Гауссов. Вы можте посоветовать какие датчики можно использовать??

  4. Спасибо, как раз во время!)
    Особенно про финт с токовым шунтом. Но тут же вопросы:
    1. Какого порядка сопротиления пайки, о которых упоминалось?
    2. Даже если есть сопротиления пайки, то оно постоянно и вносит систематическую погрешность. Т.е. имеем Rш_реальное=Rш+Rпайки. И это можно уже поправить в коде, исходя из экспериментальных данных.(Наверно, для серийного устройства это проблематично, но для штучных можно.) Или как?

    1. Трудно сказать, не замерял. Думаю сотые доли ома. Тут еще от припоя зависит. Тут еще есть такое западло как температурная зависимость. Если для калиброванного шунта ее можно узнать из даташита, то у паяного соединения оно вычисляется только экспериментально.

  5. Своевременная статья… Имеется такой вопросец. Как можно сделать гальваническую развязку аналогового сигнала? Желательно без использования трансформатора.

    1. Микросемы ISO…. модель точно не вспомню. Делает Burr-Broun. Сразу предупреждаю, дорогие падлы. От 500 до 1000р штучка.

      Второй вариант — АЦП — оптопара — ЦАП

      Третий вариант Напряжение-Частота — оптопара — Частота напряжение.

      1. А можно ли под это дело заюзать линейные оптроны?
        Какие через твои руки проходили U/f f/U конверторы? Я тут поверхностно нагуглил LM2907 и LM331… Не тестил?

        1. Готовый UFFU я вживую не встречал, на дискретке схемы были, довольно громоздкие. Линейные оптроны не тестил. Тут все упирается в характеристики, если они подходят по линейности/частотной и амплитудной характеристикам, то думаю можно. Но тут от задачи зависит.

  6. (Про токовый шунт) Попробовал начертить это хитрое пятно для резистора в корпусе 1206, там зазоры выходят 0.15мм. И зачем отводы делать именно от середины? Сместить отводящий контакт к краю, удобнее было бы.

        1. Зазоры 0.15 мм вполне приемлемо. У меня в платах и вдвое меньше зазоры есть.
          Про «Словами не передать, скинул… » — не понял ничего честно говоря :>
          Почитайте про мост Кельвина где-нибудь (хотя бы здесь http://www.allaboutcircuits.com/vol_1/chpt_8/10.html), там подрообно расписано как это работает и почему из измерений исключается сопротивление контактов.

  7. Я вот не понял немножко. На последнем рисунке. R — пайки — ето припой. Верхние R пайки как их припаять. Точнее желтый проводник к сопротивлению. (Я так понял штриховка — ето наш измерительный резюк.) Выходит Припой будет под сопротивлением?!!

  8. У меня тут идея появилась. В импульсном преобразователе постоянного тока вместо специализированной микросхемы (типа МС34063) использовать в качестве формирователя ШИМ — компаратор (напр. MAX997, http://www.datasheetcatalog.org/datasheet/maxim/MAX961-MAX999.pdf).
    Он будет сравнивать выходное напряжение преобразователя с ИОН и, отсюда, вкл/выкл транзистор. Нормально или ерунда?
    И ещё. Как называется такой параметр компаратора: максимальное превышение «-» над «+», после которого происходит переключение (срабатывание) на выходе компаратора.

  9. Ещё если надо просто вычесть напряжение из входного это можно сделать обычным стабилитроном (от 2.7в до бесконечности) или диодом (0.4-0.5в шоттки, 0.6-1.0в обычный) или светодиодом (зависит от цвета). Просто тупо соединить последовательно с выходом датчика.

  10. Ради интереса посчитал сопротивление медной дорожки длиной 1см и сечением 1мм на 35мкм. Получилось 5мОм (=0.0172*0.01/(0.035*1)). Я в недоумении: интуитивно ожидал значение хотя бы на порядок меньше. При токе 10А на ней будет выделяться пол ватта! Или ошибка в расчёте?

    Выходит, что просто отрезок дорожки можно использовать как шунт для тока. Или не стоит?

  11. В очередной раз хочется поблагодарить автора рубрик — очень полезно для того, чтобы вспомнить забытые истины и уяснить для себя те вещи которые раньше не отложились.
    У меня есть два вопроса:
    Первый по поводу опорного напряжения: насколько я понимаю эта фишка (ИОН) в основном используется в целях борьбы с различными вредными воздействиями на получаемый сигнал. Но в схемах встречал также его использование в цепях внешних задающих устройств (например потенциометрических). Нельзя ли поделиться своим просвещенным мнением по этому поводу.
    Второй вопрос: было бы интересно поподробнее узнать о гальванической развязке токовых, напряженческих входов, какие плюсы оно несет взамен использования общей точки для неск- входов и т.д. — в общем можно накатать на отдельную статью :)

    1. ИОН это просто эталон напряжения. Дело не в помехах, а в том чтобы точно отмерить все до милливольтов и чтобы эта напруга не плавала от температуры, колебаний напряжения питания и прочих параметров (чего, например, обычным делителем не достичь).

      про развязки будет, эта статья давно в планах, просто пока нет времени все собрать и описать.

      1. Спасибо, насчет опорного напряжения усек!
        По поводу обработки сигналов: как я понимаю по сути обработка гальванически связанных входов от токового и напряженческого выходов датчиков отличается только тем, что в датчике выдающем напряжение уже имеется токовый шунт, а от другого датчика токовый вход преобразуется в напряжение уже непосредственно в измерительном модуле?

  12. DiHalt, с наступающим! Ты вот пишешь «максимальное и минимальное выходное напряжение его будет ниже чем напряжение питания где то на 1вольт. Так что если запитаешь его от 5 вольт, то получишь максимальный диапазон изменения выходного напряжения от 1 до 3 вольт.»
    Потом мы имеем 0 и 1,25В, которые собираемся умножать на 4. Чтобы получилось 0 и 5В соответственно для АЦП…
    Что-то я стопарнулся вот на каком моменте: как ОУ выдаст 0 и 5вольт соответственно при однополярном питании +5В?
    Или тут все до банальности просто — мол, никто же не говорил, что ОУ питается от +5В???
    Спасибо

    1. Ну тут я несколько упростил и округил. На самом деле да. Дешевое ОУ не даст 0 и +5 при однополярном. Либо надо давать двуполярное питание и с запасом. Либо ставить rail-2-rail усилок. У него размах сигнала почти достигает границ питания и земли. Но и стоит он заметно дороже, порой в десятки раз.

      1. Так значит получается дилемма: или забивать на добрую половину разрядов АЦП (используя простенький ОУ) или выжимать из АЦП максимум, но и разоряться на ОУ попутно? Видимо так…
        Спасибо

        1. Точная аналоговая техника никогда не была простой и дешевой одновременно. :)

          Тут либо схемотехнические извраты вроде двуполярного питания, либо дорогие микросхемы. Я когда то офигевал от микросхем по 300-400р за какой то сдвоеный усилочек, потом привык :)

  13. С уменьшением напряжения и расширением диапазона все понятно. А вот как можно «оторвать» диапазон от 0? Например, мне нужно сделать из 0-5В сигнал на вход АЦП в диапазоне 1,75 — 3.25В. Сверху ограничить можно через делитель резистивный. А вот как к 0 добавить 1.75В ? Есть мысль использовать подтяжку к питанию, но как ее правильно сделать и рассчитать?

    1. А что мешает собрать сумматор на ОУ?

      Т.е. вначале ты масштабируешь свой сигнал так, чтобы у тебя был 0..5 в 0…(3.25-1.75), а дальше загоняешь в сумматор на втором ОУ и добавляешь эти 1.75 вольта, которые можно сделать на чем угодно (я бы сделал на еще одном ОУ в режиме повторителя и потенциометре). Все, берешь 4х элементный ОУ и на одном корпусе эту бодягу ваяешь. Даже один элемент остаентся.

      1. Кстати, почему получается 3 элемента? 1 — масштабер, 2 — сумматор. А третий? Вообще, думается можно обойтись обычным делителем на резисторах чтобы 1,7 вольта из 5 получить :)

    1. Можно, но работать она будет однобоко. Т.е. А<B она покажет величину, а A>B упрется в землю.

      Как вариант — делается виртуальный ноль. Т.е. обычный потенциометр точно выставляешь его на 50%. Дальше прогоняешь его выход через обычный повторитель на ОУ, дабы обеспечить мощный токовый выход этого виртуального нуля (иначе он будет плавать как говно в проруби) и уже от него пляшешь на инструментальнике. Есть еще прикольный ИОН который тупо делит питающее напряжение пополам. Идеальный виртуальный ноль. Но увы я не запомнил его название :( вроде бы у аналоговых девиц в каталоге, в разделе ионов был.

      1. Забабахал сейчас дифференциальную схему на однополярном питапнии. ОУ взял LM324N. Все пучком работает как мне надо. Виртуальный ноль не делал мне он не нужен. Работает однобоко, то что и планировалось. Сигнал на выходе получал от 0.02 вольта до почти питания самого ОУ. Естественно подавая питанеие на инвертируемый вход, оно отнималось от питания неинвертированного входа и умножалось на коэф. усиления. Как и написано в статье. Так что все THE BEST OF THE BEST.

        Спасибо большое!

  14. А каким образом можно измерить входное напряжение не от нуля, а скажем от -1.5 до +1.5В относительно земли.Я так понимаю что напряжение -1.5 .. +1.5В нужно преобразовать в 0..3В и подать на АЦП, а уже с полученными данными работать программно, внося поправку.
    Но я не знаю как преобразовать правильно входное напряжение.В голову приходит только подать на вход АЦП смещение +1.5В.

    Проще всего это сделать резистивным делителем от опорного на 3В TL431 которые заводятся на Uref АЦП.Но я боюсь что это как-то исказит входной сигнал, хотя мне точность особо и не нужна, ну в пределах 0.1В.Посоветуйте пожалуйста как это можно сделать как можно проще, или необходимо городить всё на ОУ? Устроёство простое и не хочется его усложнять, тем более от него не требуется особой точности.
    Спасибо за внимание.

    1. На АЦП нельзя подавать отрицательное напряжение. Нужно брать ОУ. На одном ОУ делаем повторитель, на втором задаем 1.5 вольта, на третьем суммируем и подаем на вход АЦП. Можно и на одном, но не так кошерно. Обычно в одном корпусе 2-4 ОУ сныкано.

      1. Спасибо за такой молниеносный ответ.
        По ОУ. Для ОУ повторителя необходима (для отрицательных входных значений) двуполярное питание.А это не есть хорошо, так как хотелось бы питать всё от ЮСБ.
        Вообщем хочется сделать АЦП->FT232->USB-PC
        Питать хочу от ЮСБ, и проблем с положительными напряжениями нет, но иногда нужно и отрицательные мерить. Я даже не знаю как это можно сделать, вот и попросил помощи.
        на форуме http://forum.easyelectronics.ru/viewtopic.php?f=4&t=1064&p=16577&hilit=100%D0%92#p16577 Есс писал как он решил подобную проблему использовав 2 последовательно включённых диода и создав каким-то образом смещение 1.2В. Только я так и не понял что он конкретно сделал, тоесть как именно всё подключил.
        Спасибо Вам.

        1. Он сделал виртуальный ноль. Т.е. ноль контроллера подключил не к нулю схемы, а через два диода. НА каждом диоде выпало по 0.6в и в сумме дало 1.2 вольта. Но имхо один хер схема некорректная. Т.к. по ДШ на вход нельзя подавать напряжение больше чем -0.5В
          То что у него работало не значит, что это корректная схема.

          ЧТобы не делать двуполярное питание сигнал можно выпрямить через диод или сделать на ОУ точный выпрямитель. Тогда у тебя будет два варианта развития событий.
          1. Заюзать два канала АЦП и мерять по очереди там и там. Где не ноль, там и есть активный сигнал.
          2. Выпрямить сигнал мостом и загнать на один канал АЦП, а через компаратор сделать сигнал знака, который бы отслеживал, что на вход идет отрицательное значение и ставил свой бит.

        2. О, еще третий вариант. Сделать виртуальный ноль для ОУ. Т.е. ОУ Запитан от 0 до Vcc, но его входы оперируют сигналом относительно виртуального нуля. Который можно сделать любым ИОН ом. Или, на худой конец, Стабилитрон + повторитель на ОУ.

          1. 1 и 2 пункты:
            Я думал испольховать один канал ацп и один пин любого порта настроеного на вход с подтяжкой к Ипит.
            Входной сигнал подавать на неинвертирующий ОУ с ку пару тысяч, а выход данного оу подключить к пину порта.Когда на пине 0-напряжение отрицательное, когда 1-положительное.
            Входной сиграл выпрямлять мостиком и подать на АЦП, но мне кажется что в этой затее есть одно но, дело в том, что из входного сигнала будет вычитаться падение напряжения на диодах, но и это ерунда, а основная проблемка — какая зависимость ДО диода включёного в прямом направлении и ПОСЛЕ него в диапазоне от 0.1-0.6В.Тоесть мы на анод диода подаём входное напряжение 0.1-0.6В а что мы получим на катоде?

                  1. У него тот же самый виртуальный ноль, только его высота задается двумя диодами, а у меня одним ОУ. Диодный способ дешевле, но плавать такой ноль будет весьма ощутимо — у диодов сильная зависимость от темпаратуры. В разы выше чем у резисторов.

                    Самое же кошерное тут сделать виртуальный ноль на ОУ в повторителе + ИОН на 1.2 вольта. Вот это будет самый вертолет.

                    1. Я набросал схемку http://s008.radikal.ru/i303/1010/c0/1881d55f2d5b.jpg
                      Несколько замечаний по схеме:
                      К неинвертирующему входу подключен ИОН обозначенный как батарейка.(Я думаю использовать стабилитрон, скажем на 3.3В и сделать делтьль для получения на его выходе 1В)
                      КУ ОУ равен 1, тоесть на выходе ОУ будет тоже один вольт.Входной сигнал (-1В до 1В) я подаю между входом АЦП и выходом ОУ.Как я понимаю на входе АЦП значения входного напряжения, относительно общего провода будут 0В до 2В.Можно входной сигнал пустить не сразу на вход АЦП, а пропустить через повтортель на ОУ, чтобы увеличить входное сопротивление схемы и уменьшить влияние схемы на входной сигнал, но я думаю что это лишне, поскольку входные сопротивдения АЦП и ОУ примерно одинаковы, да и выход ОУ не сможет опуститься близко к нулю, если использовать дешёвый ОУ, но это можно исправить внеся програмно корекцию, при получения данных с АЦП
                      В качестве ОУ хочу применить LM324 В SMD.Чувствительна ли она к качеству питания?Просто я думаю питать её от ЮСБ.И может ли она работать от 4-4.5В, именно столько у меня на ЮСБ.В Даташите пишут что она работает от 3В.

  15. «Добавляем обратную связь, а именно вгоняем выход на отрицательный вход. А отношение резисторов дадут нам нужный коэффициент.»
    и далее на картинке «Uвых=(Uвх-Uref)*K K=R1/R2»
    а разве не K=(1+R1/R2)? ведь иначе можно задать коэффициент и меньше 1, а такого быть не должно. где правда?

      1. о круть, то есть по данной схеме можно выставить коэффициент усиления меньше 1?
        я думал мне придется после усилка мастерить делитель , ибо после вычитания даже с Ку=1сигнал все равно получается великоват…

  16. Приветствую!
    вопрос, возможно не совсем по теме, да и статья уже не первой свежести), но всё же, может кто да и подскажет чего). Появилась необходимость наблюдать напряжения с нескольких источников одновременно в пределах 0-5В. Сваял небольшой девайс на PIC18 c LCD, использовал 10 каналов АЦП без внешней опорной напруги, (Vref=VCC) а в качестве буферов поставил имеющиеся в наличии LM324D (знаю, что полное «Г», но для задачи не критично) Для получения большей амплитуды запитал операционники от около 6.5В (LM317 c делителем 240 Ом/1 КОм), получалось, вроде, что при подаче 5в на вход, на выходе было тоже 5в. Добавил делители на выходы ОУ 1К/10К для защиты входов АЦП на всякий случай (1К между ОУ и АЦП и 10К на землю от АЦП) и, соответственно, внёс в измерения коэффициент 0.9 чтобы получать те же результаты . И получил неожиданный (для меня)) эффект — при подаче на вход буферов +5В через 1.5К на выходе имею ~4.89В вместо ожидаемых тех же 5в (сопротивление входное ОУ должно было быть достаточно велико, чтобы возникло какое-то падение напряжения, по моему разумению). В чём загвоздка? Может проблема в питании? Или я чего-то недопонимаю в работе ОУ…

    1. Извиняйте за беспокойство, проблема решилась. Дело было вовсе даже и не в ОУ, а в защитных стабилитронах на их входах BZV55-B5V6, кои я установил и забыл, не предполагая, что через них може утекать достаточно большой ток при напряжении, близком к напряжению стабилизации.

Добавить комментарий