» » Измерение переменного напряжения микроконтроллером схема. Многофункциональный ваттметр с гальванической развязкой. Преодоление своих недочетов и упущений

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

Как известно многие современные микроконтроллеры имеют встроенный многоканальный АЦП, как правило, физически АЦП всего один, а многоканальность обеспечивается с помощью мультиплексирования. Диапазон напряжений с которыми может работать АЦП определяют уровни опорных напряжений(+VREF и -VREF ), они не должны выходить за диапазон питания микроконтроллера. Диапазон напряжений, питающих микроконтроллер, может быть от 0 до 3.3, либо от 0 до 5 вольт. Отсюда становится понятно что измерять отрицательные напряжения АЦП не может, а это бывает необходимо.

Для измерения отрицательных напряжений с помощью АЦП существует несколько способов, во всех примерах будем считать что -VREF = 0 , а +VREF = 5 вольт.

Необходимо измерять только отрицательные напряжения, например, от -5 до 0.
В таком случае можно применить инвертирующий усилитель, построенный на операционном усилителе(ОУ), с коэффициентом усиления равным -1.

Когда на вход схемы будет приходить -1 вольт, на вход АЦП будет поступать +1 вольт. Если же сигнал, который хотим измерить нужно усилить, достаточно изменить номиналы резисторов R1 и R2.

Необходимо измерять только отрицательные напряжения, например, от -15 до 0.
В таком случае можно применить сумматор построенный на ОУ


Номиналы резисторов R1 и R2 рассчитываются следующим образом, когда Uвх = -15 вольт, суммарное падение напряжение на резисторах R1 и R2 равно 20 вольт. В этом случае на прямом входе ОУ должно быть 0 вольт, отсюда становится понятно, что на R1 упадёт 5 вольт, а на R2 упадёт 15 вольт, из этого следует, что номиналы резисторов должны соотносится как R2/R1 = 3/1. С другой стороны, так как резисторы соединены последовательно и через них течёт один и тот же ток, можно записать формулу.


Идём дальше, так как в схеме присутствует отрицательная обратная связь, напряжение на прямом и инверсном выводе должны быть равны. Когда Uвх = 0 на выходе ОУ будет 5 вольт(в данном случае ноль на входе - максимальное значение, значит на выходе должно быть максимальное значение равное 5 вольтам). В это же время на прямом входе ОУ будет 3.75 вольта, и эти же 3.75 будут на инверсном входе. Так как на выходе ОУ 5 вольт, а на инверсном входе 3.75, легко рассчитать соотношение R3 к R4(обычный делитель напряжения).


Предположив, что R1 и R4 равны 10К, получаем


R1 = 10К

R2 = 30К

R3 = 30К

R4 = 10К

Необходимо измерить напряжение, которое может изменяться от -10 до 10 вольт.

Сделать это очень просто, для этого надо создать смещение, чтобы при подаче -10 вольт на вход схемы на входе АЦП было 0 вольт, тогда при подаче 10 вольт на входе АЦП будет 5 вольт.

Реализовать это можно несколькими способами:

  • на резисторах


Номиналы резисторов рассчитываются очень просто, когда мы подаём на левый вход R2 -10 вольт на его правом выводе должно быть 0 вольт, в таком случае ток через R3 не течёт, так как на его концах отсутствует разность потенциалов.

Ток, протекающий через R2, равен


Ток, протекающий через R1, равен


Так как резисторы R1 и R2 соединены последовательно, то и токи, протекающие через них равны.


Предположим R2 равен 10K, тогда R1 равен 5K.

Ток через R2 равен току через R3, получаем


получаем

R1 = 5К

R2 = 10К

R3 = 10К

Минус схемы на резисторах, это то что R2 ограничивает ток, поступающий на вход АЦП и то что любой шум в цепи питания будет попадать на вход АЦП. Хотелось бы обратить внимание на то, что у АЦП есть такой параметр, как входное сопротивление, которое, как правило, зависит от частоты сэмплирования , ниже изображена таблица в которой показано как зависит сопротивление входа от периода преобразования АЦП для STM32


сопротивление источника сигнала должно быть меньше этого значения, а последовательно включеный резистор R2 явно его не уменьшает. Говоря простыми словами за короткий промежуток времени АЦП должно получить достаточный заряд чтобы работать с ним, а резистор, включённый последовательно с входом, не даёт этого сделать.

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

  • сумматор на операционном усилителе


И снова нам поможет сумматор на операционном усилителе, как рассчитываются номиналы резисторов описано выше, но суть одна, надо взять два крайних значения, поступающего напряжения, при минимальном значении на выходе ОУ должен быть ноль, при максимальном должно быть 5 вольт(не забываем, что -VREF = 0 , а +VREF = 5 вольт). Если необходимо измерять положительное и отрицательное напряжение, в качестве смещения удобно использовать половину опорного напряжения, то есть 2.5 вольта.
Вот что получилось в микрокапе, картинку можно увеличить кликнув по ней.


Схема на ОУ обладает низким выходным сопротивлением, то есть может отдавать большой ток и может быть пересчитана для измерения других напряжений, например, ±2.5 вольта.
мы рассмотрим ещё несколько способов измерения отрицательного напряжения с помощью АЦП.

Довольно простой прибор измеряющий напряжение, ток и показывающий полную мощность потребляемую нагрузкой на частоте 50 Гц.

При ремонтных работах или при проверке и испытаниях новых устройств часто требуется подавать напряжение от ЛАТР’а, при этом необходимо контролировать напряжение и ток. Для этих целей был разработан и собран вольтметр-амперметр на микроконтроллере с LCD индикатором. Поскольку, напряжение и ток измеряются, то легко вычисляется и полная мощность. В результате получился весьма компактный измеритель.
Технические характеристики
1. Пределы изменения измеряемого напряжения 0 – 255 Вольт, дискретность 0,5 вольта. Показания отображаются с шагом 1вольт.
2. Пределы изменения измеряемого тока 0 – 10 Ампер, дискретность 20 ма. Показания отображаются с шагом 10 ма.
3. Полная мощность вычисляется, как произведение величины тока на напряжение и отображается только целочисленное значение в Вольт-амперах.

Принципиальная схема

Исключён фрагмент. Наш журнал существует на пожертвования читателей. Полный вариант этой статьи доступен только


В схеме применено прямое измерение переменного напряжения и тока микроконтроллером.
Измеряемое напряжение через делитель R7, R9, R12 и C12 поступает на вход микроконтроллера через конденсатор C10. Конденсатор C12 совместно с делителем входного напряжения образует интегрирующую цепь, которая препятствует проникновению импульсных помех.

Измеряемый ток протекает по шунту R1, напряжение, снимаемое с него, усиливается операционным усилителем и через цепочку R8 и C8 поступает на вход микроконтроллера. Первый каскад на OP1 представляет собой инвертирующий усилитель с интегрирующим конденсатором C3 в цепи обратной связи. В связи с тем, что размах напряжения, снимаемого с OP1 должен быть около 5 Вольт, на микросхему усилителя поступает повышенное питание (9-15 Вольт). Второй каскад на OP2 включен повторителем и особенностей не имеет. Конденсатор C3 служит для уменьшения помех при работе АЦП микроконтроллера.

На измерительные входы RA0 и RA1 поступает постоянное стабилизированное смещение 2,5 вольта через резисторы R11 и R13. Это напряжение позволяет правильно измерять положительный и отрицательный полупериоды входных напряжений.
К микроконтроллеру PIC16F690 подключен LCD дисплей, с отображением 2-х строк по 16 символов. Резистор R14 служит для установки оптимальной контрастности дисплея. Резистор R15 определяет ток подсветки дисплея.
Питание прибора осуществляется от отдельного трансформатора на 9 – 12 Вольт. Стабилизатор питания +5 Вольт собран на микросхеме 78L05 и особенностей не имеет.


Я запитал прибор от телефонного адаптера. В связи с тем, что на плате есть свой мост Br1, полярность подключения не имеет значения. Важно, чтобы на конденсаторе C4 было напряжение в пределах 10 – 15 Вольт.

--
Спасибо за внимание!


🕗 20/08/12 ⚖️ 18,04 Kb ⇣ 442 Здравствуй, читатель!

--
Спасибо за внимание!
Игорь Котов, главный редактор журнала «Датагор»


🕗 20/08/12 ⚖️ 6,41 Kb ⇣ 457 Здравствуй, читатель! Меня зовут Игорь, мне 45, я сибиряк и заядлый электронщик-любитель. Я придумал, создал и содержу этот замечательный сайт с 2006 года.
Уже более 10 лет наш журнал существует только на мои средства.

Хорош! Халява кончилась. Хочешь файлы и полезные статьи - помоги мне!

Дистанционный вольтметр на микроконтроллере AVR - устройство, позволяющее удалённо измерять уровень переменных напряжений от нескольких источников (в данном исполнении - 6 каналов) и отображать полученные данные на шести дисплеях, каждый из которых это трёхразрядный семисегментный индикатор. Цифровой вольтметр на AVR обеспечивает постоянный контроль энергоснабжения оборудования, которое расположено на некотором расстоянии от рабочего места оператора. Сейчас устройство используется для измерения напряжения трех фаз на входе и на выходе промышленного нормализатора напряжения – трехфазного стабилизатора. Место оператора удалено от стабилизатора на расстояние около 800м.

Конструкция цифрового вольтметра представляет собой два модуля:

  • модуль измерения и передачи, расположенного непосредственно в месте измерения;
  • модуль приёма и отображения, установлен на рабочем месте оператора.

Соединение частей вольтметра выполнено обычной телефонной парой (лапшой). Для повышения устойчивости канала связи к радиопомехам может быть использована витая пара. Линия связи имеет гальваническую развязку от других элементов устройства, которые находятся под высоким напряжением, данные по каналу связи передаются токовым сигналом, величиной до 30мА.

Характеристики устройства:

  • Диапазон измеряемых напряжений: 100 – 330В переменного тока;
  • Частота измеряемых напряжений: 50Гц;
  • Частота измерений: 0,5 сек. (частота обновления измеряемых значений по 6 каналам);
  • Напряжение оперативного питания модуля приёма и отображения: 7 - 25В постоянного тока;
  • Уровень гальванической развязки модулей: 5,0кВ;
  • Погрешность измерения напряжения: ±1,5%.

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

Оперативное питание модуля измерения и передачи цифрового вольтметра обеспечивается бестрансформаторным блоком питания от одного из каналов измеряемого напряжения, в данной схеме от первого канала. Уровень напряжения в канале должен быть не менее 90В – минимальный уровень напряжения, при котором сохраняется работоспособность модуля.

Индикация работы линии связи между модулями устройства обеспечивается светодиодом HL1, расположенным в модуле измерения.

Принципиальная схема модуля приёма и индикации цифрового вольтметра:

Оперативное питание модуля приёма и отображения обеспечивается внешним источником 7-25В постоянного тока. При нормальном функционировании вольтметра на AVR индикаторы отображают значения измеряемых напряжений. При нарушении канала связи или неисправности модуля измерения и передачи, то есть при отсутствии поступления данных от измерительного модуля в течении более 2-х периодов обновления данных (около 1,4 сек.) на индикаторах отображается - “Err”. При восстановлении связи индикация восстанавливается автоматически. Падение уровня напряжения на любом из каналов, за исключением первого, ниже 100В, вызывает отображение на соответствующем индикаторе прочерков “---”, а на остальных индикаторах выводятся измеряемые значения напряжений, соответственно.4.08 (12 Голосов)

Простой вольтметр переменного напряжения с частотой 50 Гц, выполнен в виде встраиваемого модуля, который может использоваться как отдельно, так и быть встроен в готовое устройство.
Вольтметр собран на микроконтроллере PIC16F676 и 3-разрядном индикаторе и содержит не очень много деталей.

Основные характеристики вольтметра:
Форма измеряемого напряжения - синусоидальная
Максимальное значение измеряемого напряжения - 250 В;
Частота измеряемого напряжения - 40…60 Гц;
Дискретность отображения результата измерения - 1 В;
Напряжение питание вольтметра - 7…15 В.
Средний ток потребления - 20 мА
Два варианта конструкции: с БП на борту и без
Односторонняя печатная плата
Компактная конструкция
Отображение измеряемых величин на 3-разрядном LED-индикаторе

Принципиальная схема вольтметра для измерения переменного напряжения


Реализовано прямое измерение переменного напряжения с последующим вычислением его значения и вывода на индикатор. Измеряемое напряжение поступает на входной делитель, выполненный на R3, R4, R5 и через разделительный конденсатор C4 поступает на вход АЦП микроконтроллера.

Резисторы R6 и R7 создают на входе АЦП напряжение 2,5 вольта (половина питания). Конденсатор C5, относительно малой ёмкости, шунтирует вход АЦП и способствует уменьшению ошибки измерения. Микроконтроллер организует работу индикатора в динамическом режиме по прерываниям от таймера.

--
Спасибо за внимание!
Игорь Котов, главный редактор журнала «Датагор»


🕗 01/07/14 ⚖️ 19,18 Kb ⇣ 239 Здравствуй, читатель! Меня зовут Игорь, мне 45, я сибиряк и заядлый электронщик-любитель. Я придумал, создал и содержу этот замечательный сайт с 2006 года.
Уже более 10 лет наш журнал существует только на мои средства.

Хорош! Халява кончилась. Хочешь файлы и полезные статьи - помоги мне!

Иногда нужно измерять амплитуду сетевого напряжения, или частоту или еще какие параметры. Вот как у меня тут — перед включением компрессорной установки надо убедиться, что напряжение в сети не ниже номинальной. Иначе движок не стартанет, а вентили могут не встать в нужное положение. Главная сложность тут в том, что крайне желательно иметь гальваническую развязку от сетевого напряжения. Т.е. напрямую измерять сетевую напругу через простой делитель может быть черевато.

▌Измерить толщину сиськи
Изначально в проекте было заложено вот такое решение:

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

Ну, а дальше все просто. У оптопары H11L1M внутри стоит триггер Шмитта, т.е. есть некоторый гистерезис на включение и выключение. Включается он при токе через его светодиод примерно в 1мА, а выключается на токе 0.8мА.

Если посмотреть осциллограмму тока на светодиоде, сняв ее с резистора R35, то увидим такую картину для 220 вольт:


Разрешение 50мВ на деление, триггер стоит на 80мВ по спаду.

Включаться он должен на 100мВ, а выключаться на 80мВ, что будет 1мА и 0.8мА соответственно. Курсорами выделены моменты включения и выключения. Разница по времени, dx = 8.38ms

Если снизить напряжение до 110 вольт, то:

dx уменьшится до 6.94ms т.е. А что такое миллисекунда для микроконтроллера тикающего на мегагерцовых частотах? Да колоссальная величина! Замерить ее точно таймером в режие захвата не составляет проблем. Дальше сунуть в память таблицу соответствия и, казалось бы, все круто? Да, но не совсем…

Решение дешевое, простое. Но не слишком точное. А в ряде случаев его вообще не получится применить.

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

Вроде всяких там, сварочников, инверторов, мощных приводов и прочего. Что искажает форму синуса. Делая его вообще каким-то непотребным. А если это не синус, а херня какая-то, то все эти наши красивые построения основанные на таймингах пролетают. Во-первых, точность падает катастрофически, а она изначально была так себе. Во-вторых, калибровать придется каждый раз под новую сеть, раз и навсегда таблицы в память не забить. Ну и форма синуса зависит вовсе не от вас, а от ООО «Сварщик каннибал» расположенную в соседнем цехе.

Так что 220 вольт от 110 вы еще отличите, а вот о точности хотя бы до 5 вольт можно позабыть. Но в некоторых случаях большего и не требуется.

Мне же внезапно потребовалось. Поэтому начинаем переделывать исходный проект, доставшийся мне от предшественника.

Первая мысль была поставить на горячей стороне преобразователь напряжения в частоту, просунув его через ту же оптопару. Но его надо было чем то питать на горячей стороне. Ставить конденсаторный источник вообще не хотелось. Можно было бы, конечно, сунуть мелкий модуль 220AC-5DC на обратноходовике, вроде TSP-05. Есть на Али, стоит недорого.

Надо на этот модуль обзор не полениться сделать. Классная штука для питания всякой маломощной шняги от 220 вольт. Но получалось бы довольно громоздко. Считай питальник, потом ПНЧ, оптика…

▌Трансформатор
Второй мыслью был обычный трансформатор. Купить самый маленький силовой транс какой можно найти и на вторичке измерять напряжение. Спросил у Элемента, что у них есть такого рода — подобрали ТПК-2.

В принципе пригодно, но нашлось решение лучше.

Крошечная фитюлька размером с бульонный кубик. Держит до 3кВ на пробой, соотношение витков 1:1, но это трансформатор тока 2мА:2мА. То есть мы подаем ему на вход ток и снимаем ток. Ток на входе задается просто резистором последовательно, а для получения напряжения на выходе тоже применяется резистор, параллельно.

Т.е. схема примерно выглядит так:

R1 подбирается таким, чтобы ток через обмотку не превысил 2мА, максимум он держит 10мА, но после 2мА теряется линейность и на выходе будет невесть что. Напряжение у нас 220-250 вольт, берем по верхней планке. Но это действующее, а нам нужно амплитудное. Т.е. умножаем 250 на корень из 2, чтобы получить амплитудное. 250*1.41 = 353,5 вольта. Получаем, что первое сопротивление должно быть 180 кОм.

Напряжение микроконтроллера у меня 5 вольт, поэтому резистор R2 нужен такой, чтобы на 2мА на нем было примерно 4.5 вольта, пол вольта оставляем еще в запас. Это будет примерно 2.2кОм.

Все, на выходе амплитуда теперь в районе 5 вольт, но вот засада. Она переменная. А нам нужны измерения 0…5 вольт. Что делать? Выпрямлять.

▌Дайте мне диод!

Можно поставить диод, он срежет отрицательную полуволну. Но тут есть одна тонкость. Если просто в лоб поставить диод перед нагрузочным резистором:

То на обратной полуволне получается, что мы будем обрывать трансформатор тока, а что получается при обрыве источника тока ? Правильно — бешеное напряжение. Ведь он будет изо всех сил пытаться продавить свои 2мА через ОГРОМНОЕ обратное сопротивление диода. В результате на диоде D1 высадится такое напряжение, что и пробить недолго. В таком включении ставить только мост или обратный диод D2, чтобы у тока всегда были пути на обратной полуволне.

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

Чтобы система работала, нужен еще один резистор. Дело в том, что у АЦП входное сопротивление ну очень большое, сравнимое с обратным включением диода, так что диод работать не будет, ему надо чтобы ток шел. Поэтому ставим второй резюк на 100кОм и с него уже снимаем наш сигнал.

Есть тут правда пара недостатков. Дело в том, что у нас у диода есть свое собственное падение, так что часть амплитуды мы на нем потеряем. Но это ерунда, мы же ее всегда можем скорректировать резистором, чуток приподняв. Хуже то, что у диода характеристика нелинейная, что вносит искажения.

Смотрите внимательней, синий это исходный синус с транса, а желтый это положительная полуволна с диода. От нулевой точки синус идет как и положено синусу, а вот диодная полуволна нарастает с заметной такой экспоненциальной кривизной и не доходит на величину падения на диоде (0.7 вольт примерно для 1N4148, что стоит у меня).

Экспонента берется из ВАХ диода

Мне, в моем проекте, это не сильно критично. НУ будет там возле нуля какая то кривуля, не важно.

▌Ваш диод говно, вы за кого меня принимаете? Дайте мне идеальный диод!
Но если бы было критично, то я бы сгородил идеальный диод. Делается он из диода и операционника. Схем много разных, первая что пришла в голову была такой.

Работает она просто.

Усилитель с отрицательной обратной связью, так что считаем что его входы закорочены между собой (виртуальное КЗ).

На положительной полуволне ток I in =U вх /R3 со входа как бы течет в землю через резистор R3. Но поскольку на самом деле никакого КЗ там нет, более того через входы ОУ ничего не втекает и не вытекает (ну почти, там ничтожный мизер в реале). То ток текущий через R3 равный I in будет совершенно равен I out который из выхода ОУ течет через R3 в землю. Образуя падение напряжения U вых прямо пропорционально этому току через резистор. Т.е. U вых = I in *R3 = U вх Без каких либо искажений.

На отрицательной полуволне ОУ попытается через обратную связь просадить свой инверсный выход ниже нуля, чтобы сравнять его с прямым. Но диод забитый туда не даст ему это сделать. Через R3 не потечет ток, а нет тока нет и напряжения. На выходе 0.

Вот такая вот незатейливая схема. Работает на двуполярном и однополярном питании.

Единственное, что для однополярного питания нужно брать усилок во-первых, строго однополярного питания (Single-supply) при этом способный принимать отрицательные значения на входах (Input Common-Mode Voltage Range), а во-вторых, с rail-2-rail выходом, иначе посрезает верхушки.

Т.е. ширпотреб вроде LM358 не прокатит, а что то вроде AD823 в самый раз. Для двуполярного питания же подойдет любой ширпотреб, ну может rail-2-rail будет не лишним, но опять же от напряжения питания зависит и требуемых уровней. Если не нужен полный размах от плюса до минуса питания, то ставим любое говно за три копейки и не паримся.

▌Нет! Засуньте вы этот диод знаете куда…

Второй вариант включения, немного получше, нет диода:

Тут включается напрямую в операционник. Соотношение резисторов точно такое же как и в первом варианте. Трансформатор закорачивается на виртуальную землю, а ток который там течет течет через резистор ОС. Но так как у нас питание однополярное, то нижняя полуволна просто зарывается в грунт. Требования к операционнику те же самые, что и в прошлой схеме. Rail-2-Rail и Single Supply.

▌Эй эй, зачем столько негатива? Будь на позитиве, бро!
Ну и третий вариант включения. Тут даже операционник не нужен, мы не выпрямляем и не срезаем нижнюю полуволну, а добавляем к ней постоянную составляющую. Закинув наш транс на середину делителя напряжения. Резистор на вторичке надо подобрать так, чтобы амплитуда не вылезала за напряжение питания и не проваливалась ниже его.

Результат выглядит примерно так:

Первый канал с выхода схемы, а второй канал зацеплен на середину делителя. Там будет точно ноль нашего сигнала.

▌А что Титов Китай?
Ну и для всяких ардуинщиков, не умеющих паять, есть готовый модуль.

Вот такие вот относительно простые варианты замерить сеть и не потерять гальваническую развязку.