Меню

Датчик напряжения сети 220 arduino

Определяем наличие сети 220В при помощи оптопары для Arduino

Задача проверки наличия 220в появилась для диспетчеризации работы теплого пола.

Необходимо определять — подано ли напряжение на сервоприводы клапанов коллектора теплого пола.

Определив моменты открытия/закрытия направлений отопления водяным теплым полом, можно уже вести статистику и передавать значения на сервер.

Выбор платы для контроля 220В.

Существуют в продаже специальные платы.

На вход подается исследуемая на наличие 220В линия, а на выходе будет 0 или +5В.

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

Бывают три вида плат с разным количеством измеряемых каналов: 1, 3, 8 — по цене 120, 320 и 622р соответственно.

Мне нужно контролировать наличие 220В нескольких направлений, поэтому заказал плату на 8 каналов.

Как работают изолированные оптопары.

Для начала необходимо выяснить — как же работает плата AC 220V 8 Channel MCU TTL Level 8 Ch Optocoupler Isolation Test Board Isolated Detection Tester Module PLC Processors.

Подключим ее к контроллеру Arduino Uno WiFi и посмотрим что будет на аналоговом входе при подаче 220В.

Пока на соответствующем контролируемом направлении сетевое питание отсутствует, на аналоговом входе Arduino мы наблюдаем значение 1023:

После подачи напряжения значение на аналоговом входе фиксируется на уровне 17-20:

Конечно имеет место переходный процесс:

Как использовать плату для контроля 220В при помощи Arduino.

Нам не нужно аналоговое значение, а нужно бинарное значение: ВКЛ/ВЫКЛ.

Получить это значение можно при помощи такого кода:

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

Возможно нужно добавить область неопределенности

Но в моем случае это лишне усложнит код, а работает и так.

Проблемы.

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

Там я контролировал питание 4-х головок-актуаторов направлений и питание насоса.

В зависимости от ситуации бывали моменты, когда плата зависала.

Исследования показали, что плата не зависала, а прекращался обмен по Serial, если включались направления, висящие на 4 и 5 аналоговых входах Arduino.

Помогла выяснить причину смена полярности подключения VSS,GND платы с оптронами к Arduino UNO.

Раньше подключение было: VSS-5.0V, GND-GND.

Теперь подключил наоборот: GND-VSS, 5.0V-GND.

После этой смены значения аналоговых входов A1-A3 стали таки зависеть от сигнала:

Значения же A4,A5 не менялись и не зависели от сигнала.

Вот листинг вывода значений A1-A5, иллюстрирующий ситуацию:

В последних показаниях все направления включены, но выходы A4,A5 показывают иные значения, чем A1-A3.

В первых строчках направления для A4,A5 и направление A1 выключены, но показания A4,A5 постоянны.

Причем причина была не в плате с оптронами, а именно в Arduino — перестановка пина A3 на направления с пинов A4,A5 показывало, что каналы платы с оптронами работают одинаково.

Причем так же вела себя и совсем другая Arduino, что, вероятно, означает что тут я делаю что-то не так, а не Arduino такая.

Решать проблему не стал и обошёлся нормальными входами A0-A3.

В экспериментах я использовал входы A1-A4 для контроля направлений и вход A5 для контроля насоса.

Перенес контроль направлений на входы A0-A3, а от контроля насоса отказался.

Читайте также:  Sg3525 схема преобразователя напряжения

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

Источник

Arduino.ru

Нужно отслеживать наличие 220 вольт на линии

вот и думаю, может реле какое на 220, желетаельно развязать хай вольтаж с ардуиной.Какие будут идеи ?

оптопара PC817, резитор, диод , контроль ардуиной наличия/отсутствия пульсаций.
но будет определяться наличие/отсутствие напряжения только более 65 V, например.
( это зависит от резистора в цепи фотодиода оптопары )
. или надо измерять именно напряжение в линии ?

понижающий транс до 3 V , выпрямление , сглаживание , резистор для разрядки — контроль ардуиной наличия/отсутствия постоянного напряжения 4,2 V

нужно просто проверять наличие 220 на линии.

щас объясню, вобщем задача: включать музыку по включению света, будет подаваться питание на мп3 радио модуль, модуль маломощный. Интересует самый простой бюджетный вариант, за всем этим будет следить контроллер на атмеле (возможно какой нить ардуино, хотя это избыточно) контроллер будет 24\7 следить за протечкой и параллельно коммутировать музыку в помещении через реле какое нить Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

В таком случае не проще контролировать изменение освещения?

Любая самая ненужная зарядка от старого ненужного телефона = лучший бюджетный вариант в роли датчика 220в

щас объясню, вобщем задача: включать музыку по включению света, .

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

так скажем комнаты 2, ладно походу пора тему закрывать, а то обвинят в сексуальных домогательствах )))

решил наверное на реле(управление 5v) делать через китайскую зарядку для сотиков. 2 зарядки будут каждая со своей стороны включать плеер.

Мне тоже нужно определить наличие 220 вольт, но вот с китайскими зарядками есть один минус — при прекращении подачи 220 вольт еще примерно 4-5 секунд зарядка дает 5 вольт. Подскажите как решить этот вопрос?

есть же готовые модули «датчик тока» для ардуины, стоят копейки. чувствительный элемент — датчик Холла.

принцип действия — обнаружение магнитной составляющей электрического тока.

вот любите вы изобретать лисапет.

Мне тоже нужно определить наличие 220 вольт, но вот с китайскими зарядками есть один минус — при прекращении подачи 220 вольт еще примерно 4-5 секунд зарядка дает 5 вольт. Подскажите как решить этот вопрос?

Неонка с резистором — к 220В, фоторезистор с делителем — к Ардуино. Четыре копеечные детальки.

можно наверное и через простое реле, но я чета таких не нашел чтоб управление 220 было.

есть же готовые модули «датчик тока» для ардуины, стоят копейки. чувствительный элемент — датчик Холла.

есть же готовые модули «датчик тока» для ардуины, стоят копейки. чувствительный элемент — датчик Холла.

А я уже почти заказал такие модули. но как я понял он будет работать в случае если через него идет нагрузка. А если к нему просто подключить фазу и ноль то он ни чего не определит. ?

А если к нему просто подключить фазу и ноль то он ни чего не определит. ?

Не успеет. 🙂 Будет коротыш и все натурально разнесет.

Не успеет. 🙂 Будет коротыш и все натурально разнесет.

Читайте также:  Напряжение теория упругости это

А может есть готовые модули для моего случая?

А может есть готовые модули для моего случая?

Если нужно отслеживать факт наличия напряжения — взять промежуточное реле с катушкой на 220 В переменки. Одна деталь.

Три резистора + 1 814 оптопара

а точно, модуль напряжения, не тока.

выглядит почти так же, стоит еще дешевле

а точно, модуль напряжения, не тока.

выглядит почти так же, стоит еще дешевле

«Он был совсем почти как настоящий, только не работал.» 🙂 Экстрасенсировать насчет схемы я затрудняюсь, только вижу слева клемму «Vcc» а рядом вдоль борта надпись «Vcc Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Не успеет. 🙂 Будет коротыш и все натурально разнесет.

А может есть готовые модули для моего случая?

нету , слишком простовато для модуля

#16
или
http://www.chipdip.ru/product/pc817a/ + резистор + диод = выход на пин с подтяжкой к VCC

R 22 kOm 2 W + VD 1N4007 + PC817

В итого я взял реле которое от 220 вольт срабатывает

А как можно применить идею индикаторной отвертки для того что бы Arduino получала данные есть фаза или нет?

нет ничего проще. вот вчера за 15 минут сделал

PC817 + резистор 130к + диод 1N4007 — все

по хорошему надо пин с прерыванием, но на поверку и так работает:

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

1. Для конктроля напряжения 220в планирую купить вот такие трансформаторы https://ru.aliexpress.com/item/5V-700mA-3-5W-AC-DC-Precision-Buck-Conver.

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

Может я гед ошибаюсь. Направте на путь истиный.

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

1. Для конктроля напряжения 220в планирую купить вот такие трансформаторы https://ru.aliexpress.com/item/5V-700mA-3-5W-AC-DC-Precision-Buck-Conver.

вообще то это не трансформаторы. это импульсные acd-dc преобразователи, в народе называются модуль питания. Вам само наличие напряжения нужно или замер вольтажа? Если первое — сделайте как я выше написал, проще не придумать. Если второе тогда варианта три:

— трансформатор (именно трансформатор в котором нет электроники) — никакой нагрузки на вторичку не вешаем и прямо оттуда снимаем напряжение после чего калибруем замер (определяем коэффициент между замером и напряжением сети)

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

— почти как в первом случае, но нужно два МК.Один замеряет напряжение напрямую, а потом через оптопару передает данные на вторую ардуину которая уже к сети никак не подключена

Читайте также:  Приборы для измерения напряжения тока мощности сопротивления изоляции

Может я гед ошибаюсь. Направте на путь истиный.

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

Источник

Датчик напряжения сети 220 arduino

Сообщение BATONS » Вс июл 08, 2012 9:06 am

В этой ветке хочу поделится своим проектом по замеру напряжения и тока в домашней электросети на базе платформы Arduino.
начало «поползновений» в этой ветке: http://smartliving.ru/forum/viewtopic.php?f=4&t=63
В Москве платки arduino дороговаты. поэтому все заказывал в китайских магазинах.

Если будете брать, что-то другое, то берите на ATmega328, иначе памяти для кода может не хватить.

Чтобы было удобно подключать датчики купил Arduino Prototype Shield

Датчик напряжения:
Использовал миниатюрный трансформатор. попался мне 220/18.
Схема подключения:

Вывод цепляю к 0 контакту ардуино (цифровой)

схема подключения:

Вывод цепляю к 1 контакту ардуино (цифровой)
На схеме конденсатор 10 мкф — я ставил полярный (+ верхний в схеме).

LCD дисплей для отображения параметров

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

Вот вроде и все.
К стати, купил себе недавно всем известные DS18B20 — в Москве они у нас стоят от 80 руб за штучку. в китае — за 10 штук просят 6 баксов включая уже доставку
http://www.aliexpress.com/product-fm/41 . alers.html

Re: POWER MONITOR на Arduino

Сообщение BATONS » Вс июл 08, 2012 9:10 am

/*
Код мониторинга электропотребления и трансляции
данных на сервер majordomo
настроены коэфф под эту прошиву 5 июля 2012г

Схема подключения:
* LCD RS пин к цифр. выходу 12
* LCD Enable пин к цифр. выходу 11
* LCD R/W к Общему
* LCD VO пин (пин 3) к ШИМ-выходу 9
* LCD D4 пин к цифр. выходу 5
* LCD D5 пин к цифр. выходу 4
* LCD D6 пин к цифр. выходу 3
* LCD D7 пин к цифр. выходу 2
*/
#include
#include

byte mac[] = < 0x00, 0x2A, 0xF6, 0x12, 0x69, 0xDU >; // MAC-адрес устройства
byte ip[] = < 192, 168, 8, 10 >; // ip-адрес устройства
byte server[] = < 192, 168, 8, 3 >; // IP компьютера на котором установлен сервер majordomo
byte gateway[] = < 192, 168, 8, 1 >;
byte subnet[] = < 255, 255, 255, 0 >;
char buf[80];
Client rclient(server, 80); // 80-порт

// Функция отправки HTTP-запроса на сервер
void sendHTTPRequest()
<
//Serial.println(buf);
if (rclient.connect())
<
//Serial.println(«OK»);
rclient.println(buf);
rclient.println(«Host: 192.168.8.3»); // IP компьютера на котором установлен сервер majordomo
rclient.println();
delay(2000);
rclient.stop();
>

int numberOfSamples = 3000;

//Установка датчиков тока и напряжения
int inPinV = 0;
int inPinI = 1;

// Коэффициенты для калибровки выводимых значений
// Подбираются опытным путем сверяясь с эталонным прибором
double VCAL = 27.00; // для напряжения
double ICAL = 2.21; // для тока
double PHASECAL = 2.3; // для мощности

double V_RATIO = 50.5 / 1024 * VCAL;
double I_RATIO = (long double) 15.15 * 5 / 1024 * ICAL;

//Образцы переменных
int lastSampleV,lastSampleI,sampleV,sampleI;

//Переменные для фильтров
double lastFilteredV, lastFilteredI, filteredV, filteredI;
double filterTemp;

//Сюда сохраняем калибровочное значение фазы мгновенного напряжения
double shiftedV;

//Расчет переменной для мощности
double sqI,sqV,instP,sumI,sumV,sumP;

//Полезные значения переменных
double realPower,
apparentPower,
apparentPower1,
powerFactor,
Vrms,
Irms;

// подключаем библиотеку дисплея:
#include

// инициализация библиотеки с перечнем задействованных выводов
LiquidCrystal lcd (8, 7, 6, 5, 3, 2);

Источник

Adblock
detector