Трёхфазный вольтметр переменного тока.

Для оперативного контроля напряжения промышленной сети, в связи с участившимися случаями просадок оного , для световой и звуковой сигнализации колебаний сети, и, наконец, для удобства использования был разработан этот прибор. Собственно идею вольтметра мне подсказала данная статья. Большое спасибо автору — Лукащук Антону Сергеевичу. Из первоисточника я оставил без изменений входные цепи фаз и, в первоначальном варианте — бестрансформаторный блок питания. Индикацию реализовал на семисегментном 4-х разрядном светодиодном индикаторе в котором самый старший 4-й разряд показывает выбранную фазу элементами a, g и d (горизонтальными полосками), а оставшиеся три разряда — непосредственно напряжение на выбранной фазе. При выходе напряжения на любой из фаз за установленные пределы в обе стороны загорается красный светодиод и звучит зуммер.

В первоначальном варианте, как я уже упоминал, питание я реализовал через гасящий конденсатор, но этот вариант мне не понравился, т.к. при изменении тока потребления (включение зуммера, загорание бОльшего числа сегментов индикатора и т.п.)  напряжение «гуляет», что не есть хорошо для точности АЦП. Хотя с таким  питанием прибор честно отработал год круглосуточно  не выключаясь и  без особых проблем. Усовершенствовать мне его захотелось после того как на «блошином» рынке я увидел продающиеся чуть ли не на развес зарядные устройства для мобильных телефонов — в основном, конечно, китайские клоны,  но вполне подходящие. Некоторые из них нерабочие, но как показывает практика, серьёзные неисправности случаются редко — в основном отсутствие контакта, зато их продают вообще за копейки. Прикупив парочку (по 5 ! грн)  я их вскрыл и установил, что лучшего варианта по критерию цена/качество не найти. Миниатюрный блок питания с током до полампера и входным напряжением 90-240 В! Если покупать отдельно комплектующие, то обойдётся однозначно дороже. Некоторые блоки можно доработать, заменив выходной стабилизатор, а некоторые  — использовать сразу в своих конструкциях. Во втором варианте вольтметра я использовал без доработки внутренности зарядного неизвестного производителя и неизвестной фирмы — по размером они влезут в спичечный коробок (у меня таких размеров был гасящий конденсатор в первом варианте).  Родил схему:

Особых разъяснений она не требует — всё стандартно включено: питание, фильтры, индикация, звук. Вообще с портов микроконтроллера удобнее управлять через полевые транзисторы ( я так почти всегда и делаю с помощью 2N7000), но в загашниках осталась куча прекрасных советских транзисторов в металло-стеклянных корпусах с позолоченными ножками — их же нужно куда-то совать?! Входные цепи оставил как в первом варианте, только уменьшил номинал резисторов делителя с которых снимается напряжение на входы АЦП, т.к. питание — 3,3 В. На вход SV1 заводится 5,7 В с зарядного устройства мобильника, о чём я уже упоминал. Развёл и вытравил плату:

Поместил всё это в корпус отслужившего своё 830-го мультиметра.

Конечно с обратной стороны остались неэстетичные отверстия, но ведь никто не запрещает вырезать и подложить подходящих размеров картонку или наклеить прямоугольник из тонкого линолеума. Для работы в промежутках когда отсутствует промсеть я использовал ионистор ёмкостью 1 Ф. Когда он полностью заряжен — этого заряда хватает на работу устройства в течении приблизительно 3  мин (больших промежутков отсутствия сети и не бывает).  Ещё добавил, по сравнению со своей первой схемой узел корректировки коэффициента входных делителей по фазам. Дело в том, что резисторы, диоды имеют разброс параметров, определяемый их допуском. Для того, чтобы при повторении конструкции не пришлось подбирать указанные радиоэлементы, после установки вольтметра в конкретную сеть, к нему в разъём ISP подключается выносной блочок, состоящий из двух кнопок. Перебирая кнопкой «фаза» на вольтметре соответственно фазу, кнопками «+» «-» на выносном блоке подгоняем напряжение ориентируясь на подключенный параллельно образцовый вольтметр. При этом во внутреннюю EEPROM контроллера записывается изменённый коэффициент входного делителя соответствующей фазы. Код написал на С, как обычно в WinAVR.  Залил прошивку, пару дней плясок с бубном и вот уже калибрую входные цепи.

Использовал клаву своего микроконтроллерного конструктора, подсоединившись к разъёму программирования. Фальшпанель и светофильтр сделал по методике описанной в предыдущем посте про паяльную станцию «СОЙКА-936». И вот имеем готовое устройство.

Про железо вроде всё. Пару слов о программе. Как всегда исходник у меня откомментирован и разъяснён, поэтому особо не буду распылятся. Сетевое напряжение измеряется поочерёдно на каждой фазе. Ищется максимум синусоиды (вернее её положительной половинки), вычисляется относительно опорного, делится на коэффициент делителя и выводится на индикацию. Если напряжение выходит за заданные пределы, включается звуковая индикация. От светодиода, как в первом варианте, отказался — не нужен там он. Помучился немного с сохранением коэффициента делителя в EEPROM,  но выход нашёл. Может это решение и не самое лучшее, но чем мудохаться с float в EEPROM — пусть лучше будет так, а там кто-то сделает лучше меня — для того и меняемся опытом, уважаемые коллеги. Фьюзы настроены на работу от внутреннего генератора частотой 8 МГц. Для этого снимем галочку с фьюза CKDIV8. Обязательно включите схему BOD на 2,7 В, чтобы прибор не глючил в отсутствии сети, а то ионистор очень долго разряжается. В архиве схема, исходник, печатка в SL5.

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

Запись опубликована в рубрике Разное с метками , . Добавьте в закладки постоянную ссылку.

38 комментариев: Трёхфазный вольтметр переменного тока.

  1. Сергей говорит:

    Что то мутное все. Схема с печатью не совпадает, на печатке пины 3-5-21 в куче и на корпусе. 4 и 6 тоже. Как и куда подключать «клаву своего микроконтроллерного конструктора, подсоединившись к разъёму программирования» тоже непонятно.

  2. s_black говорит:

    Да, замечания совершенно справедливые. Схема нарисована для корпуса DIP-28, а плата разработана для TQFP-32. Выводы для калибровки: PB3- уменьшение, PB4-увеличение. Это можно было посмотреть в исходнике. К выводам нужно подключаться через разъём программирования — см. на фото.
    Вольтметр работает круглосуточно уже полтора года — ни одного замечания не было. До этого два года отработал первый вариант, также без замечаний. Успехов Вам!

  3. Сергей говорит:

    Ну вытравил плату, буду собирать. Спасибо за оперативное реагирование на вопрос.

  4. Сергей говорит:

    Потихоньку, с перекурами 🙂 собрал устройство. Заработало сразу, калибровку сделал, после выключения-включения помнит введенные значения. Прогнал от 180 вольт до 270 — линейность хорошая, нет завышения или занижения показаний.
    При прошивке меги (STK200/300+CodeVisionAVR ) столкнулся с непонятками. Фузы читает-пишет на раз, а вот с еепромом и флешем CodeVision говорит что не тот камень я ему подсунул. Вылечилось снятием галочки с фьюза CKDIV8. Шо то було, так и не понял.
    Описание устройству хорошее надо. Я чесно говоря думал что контроллер сам переключает фазы на измерение. Ан нет, надо кнопу тыкать.
    Ну ниче, после прошивки — доработаем напильником 😉
    s_black — спасибо за устройство, оно найдет свое место.

  5. s_black говорит:

    Очень приятно осознавать, что разработка оказалась Вам полезной )))
    А фазы контроллер действительно «перебирает» сам, и, при выходе любой из них за выставленные пределы — сигнализирует об этом. Нажатие же на кнопку «перебирает» измеренное значение напряжения фаз для ОТОБРАЖЕНИЯ на индикаторе. Всё это написано в статье.
    Успехов Вам!

  6. Слава говорит:

    Пытаюсь сделать вольтметр для сетевого напряжения на arduino. Вольтметр для батарейки получился без проблем, а вот 220v ни как не получается. Собрал делитель как у вас: диод-1МОм-10КОм Смотрю осциллографом — аккуратные полупериоды амплитудой около 3 вольт. Только цепляю к ноге ADC0 сигнал выпрямляется, как будто его просаживает. Смотрю вольтметром на там 1,25 V Проверил другие входы — примерно так же. Может подскажите в какую сторону глянуть ?

  7. borys говорит:

    Также собрал этот вольтметр. Заработал сразу. Для начала подал на вход не 220,
    а примерно 11 вольт, естественно с измененными номиналами резисторов верхних
    плеч делителя и одно и тоже напряжение на все три фазы. Подбором номиналов
    добился показаний 208 вольт. Все бы хорошо, но почему то генерируется звуковой
    сигнал, то есть признак авариии. Судя по описанию, при 208 вольт этого не долж-
    но быть. Есть еще один существенный вопрос. К проекту приложен исходник, но
    компиляция в WinAVR2010 не проходит, выскакивают 2 ошибки. Необходимость
    переработки исходника вызвана желанием перейти с питания 3,3 В на 5 В и на ин-
    дикаторы с общим анодом, как более распостраненные. Прошу уважаемого автора
    ответить на эти вопросы.

  8. s_black говорит:

    To Слава: Попробуйте заменить микроконтроллер — может битый?
    To borys: что за ошибки-то? Приведите — можно будет более конкретней что-то сказать.

  9. Слава говорит:

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

  10. s_black говорит:

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

  11. borys говорит:

    Для s black.
    При компиляции в WinAVR появляются следующие сообщения об ошибках:
    ADC26.c : 44: error: ‘EEWE’ undeclared (first use in this function)
    ADC26.c : 44: error: (Each undeclared identifier is reported only once
    ADC26.c : 44: error: for each fubction it appears in)
    ADC26.c : 47: error: ‘EEMWE’ udeclared (first use in this function)
    ADC26.c : 44: error: ‘EEWE’ undeclared (first use in this function)

  12. s_black говорит:

    Блин… Проверил у себя — действительно пишет о таких ошибках. Полез в даташит, глянул… Чтобы нормально откомпилировалось, замените EEWE на EEPE, а EEMWE на EEMPE.
    Теперь сижу и чешу репу — как так вышло? Ведь компилировалось же раньше, и вольтметр который год работает! Вероятно в предыдущих версиях WinAVR была или неточность или ошибка в объявлениях, а сейчас её исправили.

  13. borys говорит:

    Спасибо, буду проверять.

  14. borys говорит:

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

  15. Слава говорит:

    Доделал свой вариант на arduino.
    pvv38.livejournal.com/12915.html

  16. borys говорит:

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

  17. s_black говорит:

    Конечно, интересно! Оформляйте в виде статьи — обязательно опубликую!

  18. юрий говорит:

    Дорогой dorus у вас есть законченный НЕХ файл чтобы он работал идеально без глюков и проблем.я хотел бы использовать дип копрусе +5в питанием.если можешь кинь пожалуйста на почту iuryvesterov@yavdex.ru и какие ставить галки для CODE VISION . я бы очень был бы вам благодарен. Спасибо с/у Юра.

  19. s_black говорит:

    Уважаемый Юрий! А Вы к кому обращаетесь7

  20. юрий говорит:

    извините я обращаюсь всем кто может помочь в этом проекте но там просто borys написал что перешел на 5иольт мне хотелось на дипе. я буду очень благодарен кто поможет я сам что либо поправить в прошивках что закрытыми глазами играть футбол. нужен НЕХ для дип

  21. s_black говорит:

    Про 5 Вольт писАл borys, а Вы обращаетесь к dorus! Вот о чём я спрашиваю.

  22. юрий говорит:

    Обращаюсь к автору проекта.у меня к вам есть платная работа на счет вольтметра напишите на почту опишу подробнее и обговорим по цене.завтра работаю если приду до полу ночи напишу если конечно вы ответите.почта iuryvesterov@yavdex.ru

  23. s_black говорит:

    Вы почту проверьте — я уже три письма написАл!!!

  24. s_black говорит:

    Меня терзают смутные сомнения относительно правильности Вашего электронного адреса, поскольку на мои письма Вы не отвечаете. Напишите мне свою проблему на
    chernyako-sergej@yandex.ru

  25. Kruso говорит:

    borys говорит:
    Теперь работает от 5 вольт . Если это кому нибудь интересно, могу поделиться…
    И интересно во что вылилось…? И защиту по входу (от фазы) поставили ?

  26. Andrey говорит:

    Идея с зарядником хорошая до тех пора пока не отгорел 0 и не пошло 2 фазы — 380 вольт. Так что реактивное сопротивление в качестве основы блока питания гораздо более грамотное решение. Поправьте меня если я не прав, но однофазный трансформатор при подаче двух фаз перегорит. Разберите реле контроля напряжения на динрейку, там гасящий конденсатор и параметрический блок питания на стабилитроне, далее все это дело на компаратор для сравнения напряжений и на реле. Думаю, что такая схема питания в этих устройствах не спроста.

  27. s_black говорит:

    Ы… эта, а с чего б ему перегореть?
    Нет, он , конечно перегореть может, но не обязательно и не всегда. Первичка довольно таки высокоомна, и подача на неё 380 В вместо 220 В во многих случаях приведёт лишь к разогреву.
    Да и с чего вместо ноля будет подана фаза, если вольтметр как установлен на штатное место, так и стоит уже почти три года и никто его не трогает и трогать не собирается! Блок питания от зарядки пока не подвёл меня в этой конструкции.

  28. Andrey говорит:

    Вы почему-то так удивились. Я живу в многоквартирном доме. Соседний дом недавно завалил исками электросети как раз по этому поводу. Я не утверждаю, что трансформатор сгорит, хотя и находил такое утверждение на форуме. Да это редкий случай, но разве зарядка со всей обвязкой выдержит такой крайний случай?

  29. Andrey говорит:

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

  30. s_black говорит:

    Не, ну понятное дело, если говорить о квартирах — там ЖЭк может что угодно наподключать. У меня же речь идёт о предприятии и толковой энергослужбе.
    Думаю, что зарядка выдержит (хотя надо бы проверить 🙂 ).

  31. Виталий говорит:

    можете помочь начинающему разобраться как простым образом включить 2ую функцию на МК. 1-я превосходно работает (ацп и управление 2мя силовыми ключами). 2-я ацп(замер напряжение) или 0\1(сигнал через оптопару) и управление силовым ключём (по одному каналу). Буду рад списатся почтой. Заранее благодарен.

  32. Iгар говорит:

    Подскажите, чем будут отличаться прошивки под напряжение 5В и 3,3В?
    Я сделал разводку под ДИП корпус, впаял стабилизатор LM на 5В, вродь всё работает.
    При каком условии сигнализирует баззер?
    Почему при калибровке значения перескакивают с шагом в 100В?

  33. s_black говорит:

    1) Отличаться будут опорным напряжением:
    #define vref 3291 /*Опорное напряжение — напряжение питания (измерить под нагрузкой после сборки прибора)*/
    и резисторами делителя.
    2) Прибор и будет работать, но показания будут искажены.
    3) Буззер сигнализирует, если:
    for(p=0;p Vmax) || (V[p] < Vmin))//проверяем не вышло ли напряжение за установленные пределы
    {
    TCCR2B |= _BV(CS21) | _BV(CS20);//если вышло — гудим не по-детски
    }
    }
    4) Не знаю, почему прыгает по 100 В. Проверьте исходник, резисторы делителя.

  34. ivan rusev говорит:

    eeprom есть библиотека зачем вы создаёте функции по чтению и по записи .

  35. ivan rusev говорит:

    или нужно создавать свою библиотеку

  36. s_black говорит:

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

  37. ivan rusev говорит:

    у вас фазное напряжение меряет а линейное?

  38. ivan rusev говорит:

    вы наверное профи .включая АЦП.и включая в порт5 управляющий электрод защёт дефайна я первый раз такое вижу программно .STM говорят такое можно.Хотя можно его использовать программно.а eeprom-что после оканчания измерения чтоб сохранялись данные?

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

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