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

MrFlanker
Offline
Зарегистрирован: 16.01.2018

Сделал еще проще:

1 резистор на 100 кОм (для ограничения тока 2.2 мА)
1 резистор на 5 кОм (потягиваем вход ардуино к земле)
1 диод 1N4007 (до 1000 В защита оптрона от обратного напряжениня сети 220 В)
1 оптопара 4N35
 
100% значение напряжения считывается за 1/50 секунды 
 
При 220В значение с АЦП пляшет в диапазоне 977-979
 
// Считываем значение напряжения 220В в течении 1/50 секунды = (20 мс)
 int V = 0;  for(int i=0;i<20;i++) { V =  max(V, analogRead(A0));  delay(1); }

Не знаю только хорошо ли это подсоединять 220В к оптопаре через резистор без диода
обратной полярности, но прекрасно работает и без него.

Вернул диод на место


График Ctrl+Shift+L:

 
DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

а у 4N35 какое максимально допустимое обратное напряжение?

MrFlanker
Offline
Зарегистрирован: 16.01.2018


Если я правильно понял табличку то вот:
Обратное напряжение максималка 6 В,.... при токе 1А до 10 микросекунд.
Или другими словами 6В*1А / 1000 = 60мВт <= 70 мВт Power dissipation.

Пологаю что Surge current может относится как к прямому так и к обратному току,
но в целом характеристика Power dissipation дает понять сколько он может рассеять мощности.

Но если Surge current  относится только к прямому току, то наверное превышать 6В нельзя без необратимых последствий для детали ?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

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

Выводы?

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

310 при 220, сейчас уже считают 230 номинальным.

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

MrFlanker
Offline
Зарегистрирован: 16.01.2018

Тоже сейчас посчитал на положительной до 1.5 Вольта,....на отрицательной весь потенциал сети. Верну диод 1N4007 на место. 

MrFlanker
Offline
Зарегистрирован: 16.01.2018

MrFlanker
Offline
Зарегистрирован: 16.01.2018

Вопрос:
Правильно поставил диод? Хотя можно и последовательно оптрону поставить (в одном направлении) ?

sadman41
Offline
Зарегистрирован: 19.10.2016

MrFlanker пишет:

 Хотя можно и последовательно оптрону поставить (в одном направлении) ?

Некоторые даже перпендикулярно ставят...

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Последовательно нельзя.
Получается делитель напряжения с неизвестными параметрами.
И кому больше этих Вольт достанется- одному богу известно.

pastry777
Offline
Зарегистрирован: 16.01.2014

чет я не догоняю,где в реальном скетче применима такая аппаратная схема детекции напряжения....при наличии 220в,у вас на входе ардуино будет частота 50гц,это очевидно...и как с этим работать?как бы на вход ардуины просится малюсенький электролит,чтобы сгладить все это и получать стабильный 0 или 1 ...

MrFlanker
Offline
Зарегистрирован: 16.01.2018

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

pastry777 пишет:
чет я не догоняю,где в реальном скетче применима такая аппаратная схема детекции напряжения

Ну выше писали что мол электролиты сохнут.....и луше програмно детектировать, раз уж у нас целый микроконтроллер под рукой. А в моем проекте вполне можно выделить 20 мс для того чтобы считать всю фазу переменного напряжения и получить 100% значение. Выше я привел код.
Выложил так сказать на суд строгих участников форума. Ибо своего опыта просто нет.

pastry777
Offline
Зарегистрирован: 16.01.2014

согласен,если контроллер практически ничего больше не делает,то решение годное,но если скетч крупный и помимо этого делает еще кучу всего важного,то delay не комильфо...

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Диодный мостик и "маленький электролит" позволят определять наличие сетевого напряжения мгновенно (правда, не мгновенно реагировать на его пропадание).

1SANTER1
1SANTER1 аватар
Offline
Зарегистрирован: 07.03.2015

Как вам такой вариант? Работает уже не один год! Всё собрано на SMD компанентах

(для тех кто любит минимолизьм :))

https://cloud.mail.ru/public/B4p5/m2iYrnKku

void setup() {
  pinMode(5, INPUT);         
  Serial.begin(9600);
}
void loop() {
  Serial.println(digitalRead(5));
  delay(10);
}

MrFlanker
Offline
Зарегистрирован: 16.01.2018

1SANTER1 пишет:
Как вам такой вариант? Работает уже не один год! Всё собрано на SMD компанентах

Уверен что вариант годный. Диод здесь стоит последовательно, но зато есть R2=10к.

Загрузил вашу картинку на форум, для наглядности.

SLKH
Offline
Зарегистрирован: 17.08.2015

MrFlanker пишет:

1SANTER1 пишет:
Как вам такой вариант? Работает уже не один год! Всё собрано на SMD компанентах

Уверен что вариант годный.

Вариант абсолютно непригодный. Напряжение на  r1 может в полтора (и более) раза превышать максимально допустимое. 

 

 

Цитата:
Диод здесь стоит последовательно, но зато есть R2=10к.
ненужное извращение.

Цитата:
Загрузил вашу картинку на форум, для наглядности.
зря.

MrFlanker
Offline
Зарегистрирован: 16.01.2018

SLKH пишет:

Вариант абсолютно непригодный. Напряжение на  r1 может в полтора (и более) раза превышать максимально допустимое.
Цитата:
Диод здесь стоит последовательно, но зато есть R2=10к.
ненужное извращение.

В интересах остальных участников прошу исправить ошибки на схеме. Чтобы закрыть эту бесконечную тему.

p.s. Цитата: "Отвергая предлагай" 

bwn
Offline
Зарегистрирован: 25.08.2014

Лично я, поставил бы диод встречно-параллельно с оптопарой, а еще лучше взял бы оптопару с двумя (кажется PC814), R1 разбил бы на два по 50К в каждую линию, кроме удвоения допустимого напряжения и мощности для 0805, приобретаем дополнительную защиту от попадания под фазу на плате (резисторы размещаем непосредственно у входа). Ну а R2 просто выкинуть за ненадобностью. ИМХО.

kimih
Offline
Зарегистрирован: 08.06.2013

Какие номиналы деталей?

KostqN
Offline
Зарегистрирован: 03.06.2018

День добрый!
А как доработать схему чтоб ток детектировать?
Шунт ставить паралельно с входу?
view.pic

sirota
Offline
Зарегистрирован: 18.08.2015

Повторил схему pastry777. Все рабочее. Сейчас отлаживаю клиент серверное приложение для усыпления win серверов. По путно изучаю материал по поводу wakeonlan на ардуиновских сетевых модулях. ЧТобы эта штука автоматически тушила виртуалки на серверах и сами сервера, а потом поднимала их. Штатное ПО ИБП оказалось диким лагом. Спасибо камрад.

obuhanoe
Offline
Зарегистрирован: 18.05.2016

Добрый день, повторили схему pastry777 или axill.

Не увидел схему pastry777, выложите?

sirota
Offline
Зарегистрирован: 18.08.2015

axill конечно. хз как так получилось )

obuhanoe
Offline
Зарегистрирован: 18.05.2016

А вот это делали?  Желательно вход подтянуть к + питания резистором на 4.7к

И правильно ли я понял - вход это например А0, поднянуть 4,7к к 5V?

 

sirota
Offline
Зарегистрирован: 18.08.2015

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

И да. Аналоги я не юзаю, они потом под конец проекта всегда предательски нужны остаются, по сему D2 и погнали. Кста юзая цифровые пины стараемся сначала выбрать простые, а только потом беремся за пины с PWM. Ну и не забываем что есть всякие I2C и т.д. Это тоже юзаем в последнейший момент.

4.7КОм не есть строго обязательным. Там в плюс минус великой роли не играет.

inostranez
Offline
Зарегистрирован: 10.06.2018

Привет всем, был озадачен подобным вопросом, для себя нашел приемлимым такое решение: 1-Bit AC 220V Optocoupler Isolation Module. На али много вариантов такого исполнения. Может кому пригодится.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

sirota пишет:

4.7КОм не есть строго обязательным. Там в плюс минус великой роли не играет.

Это когда как.

Если в модуль впаяны 2к2, то сколько таких модулей можно включать в параллель?

triac
triac аватар
Offline
Зарегистрирован: 03.05.2018

Маломощный детектор перехода сетевого напряжения через 0. Его можно использовать и для детектирования наличия сети. За время сетевого полупериода конденсатор C8 заряжается до 15В, а в момент перехода через 0 разряжается через оптрон.

В представленном варианте на выходе импульсы частотой 100 Гц длительностью примерно 1.5 мс. Если надо 50 Гц, то диоды D8, D9 можно выбросить, а резисторы R21, R22 подключать напрямую к катоду и аноду D7.

Резисторы R21, R22 обычные выводные, поскольку они держат высокое напряжение. Остальные детали для монтажа на поверхность. Если очень хочется поставить R21, R22 тоже SMD, то надо их ставить размера 1206, в крайнем случае - 0805. Размер 0603 и 0402 не годится.

Наличие двух резисторов R21, R22 на входе и резистора R9 на выходе полностью защищает микроконтроллер от наносекундных помех., т.е. от сбоев.

Осциллограмма варианта без D8,D9, который дает импульсы 50 Гц

ВН
Offline
Зарегистрирован: 25.02.2016

Вроде еще не было,  резистор 62к + оптопара РС814

ELITE
ELITE аватар
Offline
Зарегистрирован: 11.01.2018

актуальна тема

вот только не хочетсярвать цепь питания

думаю на счет индуктивного датчика тока для контроля питания (как это делаю токо измерительные клещи)

не подскажете готовые варианты или схему стабильную и простую?

(сеть 220в, мощность 150Вт , до 1кВт импульсы возможны)

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015
gfx125
Offline
Зарегистрирован: 27.05.2017

ELITE пишет:
не подскажете готовые варианты или схему стабильную и простую?

https://ru.aliexpress.com/item/AC/32840804812.html?spm=a2g0v.search0104....

ELITE
ELITE аватар
Offline
Зарегистрирован: 11.01.2018

ох 500р, дорогой дико, да и слишком крутой, мне достаточно следить в режиме вкл/выкл а не полноценный счетчик )

ratman
Offline
Зарегистрирован: 11.10.2015

gfx125 пишет:

ELITE пишет:
не подскажете готовые варианты или схему стабильную и простую?

https://ru.aliexpress.com/item/AC/32840804812.html?spm=a2g0v.search0104....

Что-то не пойму, как его подключать с силовой стороны.

ELITE
ELITE аватар
Offline
Зарегистрирован: 11.01.2018

ratman пишет:

gfx125 пишет:

ELITE пишет:
не подскажете готовые варианты или схему стабильную и простую?

https://ru.aliexpress.com/item/AC/32840804812.html?spm=a2g0v.search0104....

Что-то не пойму, как его подключать с силовой стороны.

там катушка - силовой провод через неё надо пропустить

romster
Offline
Зарегистрирован: 15.04.2013

Ставок простейший блок питания, их куча валяется у всех дома и платки на Ali валом.

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

ELITE пишет:

ох 500р, дорогой дико, да и слишком крутой, мне достаточно следить в режиме вкл/выкл а не полноценный счетчик )

ну тогда

https://ru.aliexpress.com/item/HMCT103C-5A-5MA-Micro-Current-Transformer-Sensor-Module-Precision/32801018709.html

дешевле и проще некуда.

VampeerCo
Offline
Зарегистрирован: 07.02.2017

Вот: 76,01 руб. Активный однофазного напряжения трансформаторный модуль датчик выходного напряжения переменного тока
https://s.click.aliexpress.com/e/8A3Q2hy

Даже померит вольты в сети

ELITE
ELITE аватар
Offline
Зарегистрирован: 11.01.2018

спс. поступил проще - просто намотал на ферритовое колечко тонким проводом 3 десятка витков и надел на силовой провод - на выходе достаточный уровень для фиксации  нагрузки в сотню Вт

Green
Offline
Зарегистрирован: 01.10.2015

Думаю что резистор последовательно с обмоткой желательно. Что бы входные диоды защитить от перегрузки случай чего.

lazy-fox
Offline
Зарегистрирован: 22.08.2014

В щите 380В (3 фазы по 220В) включена нагрузка 36кВт, инфракрасные лампы накаливания, управляются контактором с термостата. 

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

Для мониторинга термостата можно применить схему с оптопарой или 4N35, диодом, резистором и кондёром, желательно smd? Почему оптопара на низкое напряжение, бывают семисторные до 600В? Оправдано применение мощного резистора 2-5 Вт? Сеть на производстве и скачки напряжения возможны с разных сторон. 

Для управления контактором планирую использовать твердотельное реле. Или лучше использовать обычное реле до 10А на 220В?

Так же будет мониторится потребление (счётчик моточасов и суммы расхода энергии) датчиком тока 100А повешенный на нулевой провод, по схеме системы мониторинга. Или лучше одеть измерительный трансформатор на каждую фазу отдельно и сложить в контроллере? Измерения при напряжении 220В на фазах или 380В на общем нуле влияет на показания тока? При 36кВт это 94А или 163А? Как правильно считать и измерять?

Буду признателен за рекомендации.

Komar
Offline
Зарегистрирован: 20.05.2019

Братцы помогите) спаял всё по схеме axill. 

Нужно например 2 и более канала, с одним работает замечательно, а вот уже с двумя постоянно выдаёт "OFF". Не могу понять, в чём проблема.  Нужно, чтобы при разрыве цепи на одном из каналов выдавал "OFF", а "ON" когда все каналы включены.

int ac_status = 0;
  unsigned long ac_timer = 0;
  int x = 9;
  int y = 10;
 
void setup() {
  pinMode(x, INPUT); 
  pinMode(y, INPUT);            // назначить выводу порт ввода
 
  Serial.begin(9600);


}

uint8_t acCheck() {


  
  if(!digitalRead(x) && !digitalRead(y)){
    ac_timer = millis();
    if(ac_status != 1) {
      // AC ON
      ac_status = 1; 
     return 1;
    }
  }




  if(ac_status && millis() - ac_timer > 100) {
    // AC OFF
    ac_status = 0;
    ac_timer = 0;
    return 1;
  }
  return 0;  
}


void loop() {
acCheck();
if (ac_status != 1) {
Serial.println("Off");
} else {
Serial.println("On");
}
}


 

 
 
sirota
Offline
Зарегистрирован: 18.08.2015

Скорее всего проблема вот тут в условии:

if(!digitalRead(x) && !digitalRead(y)){

&& (логическое И)

Истина, если оба операнда истина (true).

У тебя если X!=true и если Y!=true тогда только выполнится условие ac_status = 1;

Тебе надо:

|| (логическое ИЛИ)

Истина, если хотя бы один операнд истина, например

И тогда на выходе будет так:

if(!digitalRead(x) || !digitalRead(y)){

Komar
Offline
Зарегистрирован: 20.05.2019

Именно) когда у меня ИЛИ то работает "ON", когда ХОТЯБЫ один канал включен, а мне нужно, чтобы оба операнда были истина, но когда я включаю два канала, у меня крутится OFF постоянно. А должно быть "ON"

sirota
Offline
Зарегистрирован: 18.08.2015

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

sirota
Offline
Зарегистрирован: 18.08.2015

С другой стороны ты сам себе противочеришь:

"Нужно, чтобы при разрыве цепи на одном из каналов выдавал "OFF", а "ON" когда все каналы включены."

Komar
Offline
Зарегистрирован: 20.05.2019

Не, думаю тут в коде что то не так, но не могу понять, что конкретно(

Komar
Offline
Зарегистрирован: 20.05.2019

Вот что хочу) включено много каналов. контроллер должен выдавать "ON". Если хотя бы один отключится, то я хочу получить "OFF")

Komar
Offline
Зарегистрирован: 20.05.2019

sirota пишет:

Скорее всего проблема вот тут в условии:

if(!digitalRead(x) && !digitalRead(y)){

&& (логическое И)

Истина, если оба операнда истина (true).

У тебя если X!=true и если Y!=true тогда только выполнится условие ac_status = 1;

Тебе надо:

|| (логическое ИЛИ)

Истина, если хотя бы один операнд истина, например

И тогда на выходе будет так:

if(!digitalRead(x) || !digitalRead(y)){

 

У меня почается не выполняется вот это условие

X!=true и если Y!=true тогда только выполнится условие ac_status = 1;

Не могу понять почему