Гальваническая развязка аналогового сигнала

Порой приходится делать гальваническое разделение аналогового сигнала. Например, чтобы отделить АЦП контроллера от высоковольтной части. И если с передачей дискретных сигналов все более менее понятно, там можно обойтись обычным оптроном, работающим в режиме вкл-выкл, то что делать с аналоговым сигналом?

Первое что приходит на ум, так это взять какую-нибудь оптопару и попробовать питать ее светодиод не номинальным напряжением, а нашим аналоговым сигналом. Ведь если напряжение на входе меньше, то светодиод горит тусклее и у фотодиода или фототранзистора на выходе будет совсем другое открытие. Если посмотреть даташит на какую-нибудь оптрон, вроде дешевого и популярного LTV817, то да, можно увидеть вполне характерную зависимость тока выхода (IC от тока входящего в светодиод (IF):

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

Будь то фотодиод, фототранзистор или фоторезистор. Для сколь-нибудь точной передачи сигнала подходит так себе. Но это можно исправить и поможет нам наш старый дружок… Операционный усилитель! :))))

Первым делом он поможет нам линеаризовать сигнал. Т.е. можно будет смело забыть про эти кривые передаточные характеристики оптического канала и все что влезло вылезет в том же виде. А это существенно все упрощает.

Делаем обратную связь через оптический канал. Как это работает. Допустим, в начальном состоянии, фототранзистор затемнен, закрыт и точка А подтянута к +V, пусть там будет вольт 15. А на точку В подали, скажем, 3 вольта входного сигнала. На выходе будет (15-3) * дохрена = напряжение которое зажжет светодиод оптопары и начнет открывать фототранзистор. А он, в свою очередь, просадит напряжение подтяжки в точке А до тех пор, пока оно не сравняется с напряжением на точке В и ОУ не успокоится, замерев в этом устойчивом положении.

Если промоделировать, то увидим, что напряжения идентичные.

Желтый луч это входной с генератора, а синий с обратной связи.

Почти… у выходного (Сигнал В) сигнала есть небольшая плоскость внизу. Это связано с тем, что транзистор оптопары не может придавить сигнал совсем в ноль. Чтобы от нее избавиться надо чуток приподнять входной сигнал, добавив к нему смещение в пол вольта-вольт. Например, сделав сумматор из ОУ. Но это уже не большая проблема, сумматор можно собрать на другом ОУ из той же микросхемы.

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

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

На модели все также:

Если делать смещение, то тут же, на принимающем ОУ, его можно и отрезать.

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

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

Если промоделировать, то все работает идентично.

Но уже нет площадки на выходе. А если она у вас появляется сверху, значит фотодиод не может выдать нужный ток, чтобы обеспечить падение напряжения и надо увеличить сопротивление резистора который тянет вниз.

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

Вот такой вот способ передачи аналогового сигнала с гальванической развязкой. В следующий раз я наброшу еще несколько способов.

Спасибо!!! Вы потрясающие! Всего за месяц мы собрали нужную сумму в 500000 на хоккейную коробку для детского дома Аистенок. Из которых 125000+ было от вас, читателей EasyElectronics!!! Были даже переводы на 25000+ и просто поток платежей на 251 рубль. Это невероятно круто!!! Сейчас идет заключение договора и подготовка к строительству!

А я встрял на три года, как минимум, ежемесячной пахоты над статьями :)))))))))))) Спасибо вам за такой мощный пинок!!!

22 thoughts on “Гальваническая развязка аналогового сигнала”

  1. За пинок пожалуйста. Но я никак не догоняю — чем плох привычный трансформатор. Вроде именно для аналогового сигнала это первостатейный вариант?

    1. Ну… например, вам надо перегнать постоянный сигнал. Будете инвертировать -трансформировать- выпрямлять? Плюс транс это дорого, транс это громоздко. У него несомненно полно положительных качеств и это один из неплохих вариантов, но не везде применимый.

      1. Согласен. Низкочастотные сигналы для транса плохо подходят. Но, справедливости ради, для низкочастотных сигналов и оптрон (по сути эмитерный повторитель) так себе решение. Та же температурная стабилизация, да и линейность коэффициента передачи что у диода, что у транзистора (а по факту их произведение)…. Безусловное, любое решение имеет право на жизнь если понимать его ограничения. А решения требующие гальванической развязки, как правило, простыми не бывают.

        Спасибо за статью. Тема безусловно полезная.

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

          1. Наверно надо было начать статью не с

            «Порой приходится делать гальваническое разделение аналогового сигнала…»

            , а с описания конкретной задачи, для которой этот метод подходит — диапазон частот, точность АЦП, и так далее.

            Вот, например, следующие две задачи походят друг на друга, но решаются совершенно разными способами.

            Первая задача. Нужно изготовить однофазный счётчик электроэнергии для сети 220В/50 Гц. Мощность приборов не более 2 КВт.

            Вторая задача. Нужно изготовить прибор, который отслеживает работу фекального насоса. (У меня, реально был такой заказ.) Насос работает в сети 220В. Предполагаемая мощность насоса 300-1000 Вт. Насос сам может включаться и выключаться согласно своего датчика уровня. Проблема в том, что насос может «закиснуть» или забиться твёрдым мусором. В этом случае его лучше отключить, а не давать ему многократно пытаться запускаться. (У моего заказчика так когда-то он так и вышел из строя.)

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

            Случаи-то они разные бывают. Тебе какую задачу-то нужно было решать описанным в статье методом? А читатели — они о чём подумали? Отсюда и вопросы у них.

    1. Ну да, можно. Будет НАМНОГО быстрей, точнее… Лучше по всем показателям и… дороже раз так в 20 :) А если пофигу на точность, хватит той что есть. А если пофигу на быстродействие? Скорость высокая не нужна. То зачем платить больше?

      1. Ну, все не настолько плохо. На digikey ACPL-7900 стоит в районе $7.5, а hcnr200 $3.50, так что только в два раза, но с меньшим количеством возни. Иногда оно того стоит.
        Впрочем, деталь довольно экзотическая, фиг знает сколько она стоит вне штатов. Может и впрямь в 20 раз больше.

        1. всё равно дороже пары каких-нибудь msp430fr2553 (12битный АЦП и ЦАП) и цифрового изолятора между ними, ISO6721.

    1. Блин! Пропала цитата.
      Ладно. Оформлю по другому.

      ЦИТАТА
      А если она у вас появляется сверху, значит фотодиод не может выдать нужный ток, чтобы обеспечить падение напряжения и надо увеличить сопротивление резистора который тянет вниз.
      КОНЕЦ ЦИТАТЫ

  2. Заглавный график выглядит очень мило … но это не важно.
    Для передачи AC нужно лишь сместить «0» на уровень (тока)Ю существенно выше его девиации. Запаса в 2 раза достаточно (+/-), чтобы на экране наблюдать сигнал без заметных искажений.
    Если применить простое правило, описанное выше, то все рассуждения в статье можно пропустить сквозь пальцы. Т.к. GAIN у оптопары неплохо так детерминирован, достаточно будет один раз подстроить и забитью Останется вопрос — как вычесть настолько большой постоянный ток (по сравнению к AC) — видимо, следует ждать во второй части обзора. ))

  3. Зашёл на главную страницу и тут на тебе, аналоговая гальваническая развязка! Как раз та тема которая сейчас меня очень интересует. Ну. думаю, почитаю, что умные люди пишут. Избавлюсь наконец-то от HCNR200 :). Wait, oh shi~

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

Ваш e-mail не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.