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В к оптопаре через резистор без диода
обратной полярности, но прекрасно работает и без него. Вернул диод на место
Если я правильно понял табличку то вот:
Обратное напряжение максималка 6 В,.... при токе 1А до 10 микросекунд.
Или другими словами 6В*1А / 1000 = 60мВт <= 70 мВт Power dissipation.
Пологаю что Surge current может относится как к прямому так и к обратному току,
но в целом характеристика Power dissipation дает понять сколько он может рассеять мощности.
Но если Surge current относится только к прямому току, то наверное превышать 6В нельзя без необратимых последствий для детали ?
теперь смотрим. На положительной полуволне диод оптопары проводит, на нем падает 1.5 Вольта, все норм. На отрицательной полуволне к этому же диоду прикладывается в пике 310 Вольт обратного напряжения, при максимально допустимых 6. Не знаю, как он терпит, наерна, с выпученными глазами, но я думаю, хватит его ненадолго.
Допустимое 6 Вольт обратного абсолютно не говорит о том
что это стабилитрон с напряжением 6 Вольт.
Там намного больше, но всё равно нужно ограничивать обратным диодом.
Так надо.
Так должно быть.
Нельзя по другому.
Если вам понятен смысл этих слов.
чет я не догоняю,где в реальном скетче применима такая аппаратная схема детекции напряжения....при наличии 220в,у вас на входе ардуино будет частота 50гц,это очевидно...и как с этим работать?как бы на вход ардуины просится малюсенький электролит,чтобы сгладить все это и получать стабильный 0 или 1 ...
Спасибо, последовательно не буду - аргументы весьма убедительны.
pastry777 пишет:
чет я не догоняю,где в реальном скетче применима такая аппаратная схема детекции напряжения
Ну выше писали что мол электролиты сохнут.....и луше програмно детектировать, раз уж у нас целый микроконтроллер под рукой. А в моем проекте вполне можно выделить 20 мс для того чтобы считать всю фазу переменного напряжения и получить 100% значение. Выше я привел код.
Выложил так сказать на суд строгих участников форума. Ибо своего опыта просто нет.
согласен,если контроллер практически ничего больше не делает,то решение годное,но если скетч крупный и помимо этого делает еще кучу всего важного,то delay не комильфо...
Диодный мостик и "маленький электролит" позволят определять наличие сетевого напряжения мгновенно (правда, не мгновенно реагировать на его пропадание).
Лично я, поставил бы диод встречно-параллельно с оптопарой, а еще лучше взял бы оптопару с двумя (кажется PC814), R1 разбил бы на два по 50К в каждую линию, кроме удвоения допустимого напряжения и мощности для 0805, приобретаем дополнительную защиту от попадания под фазу на плате (резисторы размещаем непосредственно у входа). Ну а R2 просто выкинуть за ненадобностью. ИМХО.
Повторил схему pastry777. Все рабочее. Сейчас отлаживаю клиент серверное приложение для усыпления win серверов. По путно изучаю материал по поводу wakeonlan на ардуиновских сетевых модулях. ЧТобы эта штука автоматически тушила виртуалки на серверах и сами сервера, а потом поднимала их. Штатное ПО ИБП оказалось диким лагом. Спасибо камрад.
Да конечно делал. Встроенными подтяжками не пользуюсь априори.
И да. Аналоги я не юзаю, они потом под конец проекта всегда предательски нужны остаются, по сему D2 и погнали. Кста юзая цифровые пины стараемся сначала выбрать простые, а только потом беремся за пины с PWM. Ну и не забываем что есть всякие I2C и т.д. Это тоже юзаем в последнейший момент.
4.7КОм не есть строго обязательным. Там в плюс минус великой роли не играет.
Привет всем, был озадачен подобным вопросом, для себя нашел приемлимым такое решение: 1-Bit AC 220V Optocoupler Isolation Module. На али много вариантов такого исполнения. Может кому пригодится.
Маломощный детектор перехода сетевого напряжения через 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 Гц
спс. поступил проще - просто намотал на ферритовое колечко тонким проводом 3 десятка витков и надел на силовой провод - на выходе достаточный уровень для фиксации нагрузки в сотню Вт
В щите 380В (3 фазы по 220В) включена нагрузка 36кВт, инфракрасные лампы накаливания, управляются контактором с термостата.
Задача между термостатом и контактором включить микроконтроллер, который будет мониторить термостаты и включать контроллер. Кроме температуры в схему добавляются другие условия (время и влажность) и микроконтроллер будет работать по программе.
Для мониторинга термостата можно применить схему с оптопарой или 4N35, диодом, резистором и кондёром, желательно smd? Почему оптопара на низкое напряжение, бывают семисторные до 600В? Оправдано применение мощного резистора 2-5 Вт? Сеть на производстве и скачки напряжения возможны с разных сторон.
Для управления контактором планирую использовать твердотельное реле. Или лучше использовать обычное реле до 10А на 220В?
Так же будет мониторится потребление (счётчик моточасов и суммы расхода энергии) датчиком тока 100А повешенный на нулевой провод, по схеме системы мониторинга. Или лучше одеть измерительный трансформатор на каждую фазу отдельно и сложить в контроллере? Измерения при напряжении 220В на фазах или 380В на общем нуле влияет на показания тока? При 36кВт это 94А или 163А? Как правильно считать и измерять?
Нужно например 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");
}
}
Именно) когда у меня ИЛИ то работает "ON", когда ХОТЯБЫ один канал включен, а мне нужно, чтобы оба операнда были истина, но когда я включаю два канала, у меня крутится OFF постоянно. А должно быть "ON"
Ммм... тогда только один вариант остается - т.к. у тебя ловится только один полупериод, то ты всегда попадаешь на отсутствующий полупериод. Ставь на выходе кондер. Точнее одним кондером дело не обойдется, нужно будет ставить скорее всего еще ключ, кондер для того чтобы он какое-то время держал заряд и на линии было напряджение и конечо же резистор чтобы этот кондернсатор разряжать.
Сделал еще проще:
1 диод 1N4007 (до 1000 В защита оптрона от обратного напряжениня сети 220 В)
1 оптопара 4N35
Не знаю только хорошо ли это подсоединять 220В к оптопаре через резистор без диода
обратной полярности, но прекрасно работает и без него.
Вернул диод на место
График Ctrl+Shift+L:
а у 4N35 какое максимально допустимое обратное напряжение?
Если я правильно понял табличку то вот:
Обратное напряжение максималка 6 В,.... при токе 1А до 10 микросекунд.
Или другими словами 6В*1А / 1000 = 60мВт <= 70 мВт Power dissipation.
Пологаю что Surge current может относится как к прямому так и к обратному току,
но в целом характеристика Power dissipation дает понять сколько он может рассеять мощности.
Но если Surge current относится только к прямому току, то наверное превышать 6В нельзя без необратимых последствий для детали ?
теперь смотрим. На положительной полуволне диод оптопары проводит, на нем падает 1.5 Вольта, все норм. На отрицательной полуволне к этому же диоду прикладывается в пике 310 Вольт обратного напряжения, при максимально допустимых 6. Не знаю, как он терпит, наерна, с выпученными глазами, но я думаю, хватит его ненадолго.
Выводы?
310 при 220, сейчас уже считают 230 номинальным.
Допустимое 6 Вольт обратного абсолютно не говорит о том
что это стабилитрон с напряжением 6 Вольт.
Там намного больше, но всё равно нужно ограничивать обратным диодом.
Так надо.
Так должно быть.
Нельзя по другому.
Если вам понятен смысл этих слов.
Тоже сейчас посчитал на положительной до 1.5 Вольта,....на отрицательной весь потенциал сети. Верну диод 1N4007 на место.
Вопрос:
Правильно поставил диод? Хотя можно и последовательно оптрону поставить (в одном направлении) ?
Хотя можно и последовательно оптрону поставить (в одном направлении) ?
Некоторые даже перпендикулярно ставят...
Последовательно нельзя.
Получается делитель напряжения с неизвестными параметрами.
И кому больше этих Вольт достанется- одному богу известно.
чет я не догоняю,где в реальном скетче применима такая аппаратная схема детекции напряжения....при наличии 220в,у вас на входе ардуино будет частота 50гц,это очевидно...и как с этим работать?как бы на вход ардуины просится малюсенький электролит,чтобы сгладить все это и получать стабильный 0 или 1 ...
Спасибо, последовательно не буду - аргументы весьма убедительны.
Ну выше писали что мол электролиты сохнут.....и луше програмно детектировать, раз уж у нас целый микроконтроллер под рукой. А в моем проекте вполне можно выделить 20 мс для того чтобы считать всю фазу переменного напряжения и получить 100% значение. Выше я привел код.
Выложил так сказать на суд строгих участников форума. Ибо своего опыта просто нет.
согласен,если контроллер практически ничего больше не делает,то решение годное,но если скетч крупный и помимо этого делает еще кучу всего важного,то delay не комильфо...
Диодный мостик и "маленький электролит" позволят определять наличие сетевого напряжения мгновенно (правда, не мгновенно реагировать на его пропадание).
Как вам такой вариант? Работает уже не один год! Всё собрано на SMD компанентах
(для тех кто любит минимолизьм :))
https://cloud.mail.ru/public/B4p5/m2iYrnKku
Уверен что вариант годный. Диод здесь стоит последовательно, но зато есть R2=10к.
Загрузил вашу картинку на форум, для наглядности.
Уверен что вариант годный.
Вариант абсолютно непригодный. Напряжение на r1 может в полтора (и более) раза превышать максимально допустимое.
В интересах остальных участников прошу исправить ошибки на схеме. Чтобы закрыть эту бесконечную тему.
p.s. Цитата: "Отвергая предлагай"
Лично я, поставил бы диод встречно-параллельно с оптопарой, а еще лучше взял бы оптопару с двумя (кажется PC814), R1 разбил бы на два по 50К в каждую линию, кроме удвоения допустимого напряжения и мощности для 0805, приобретаем дополнительную защиту от попадания под фазу на плате (резисторы размещаем непосредственно у входа). Ну а R2 просто выкинуть за ненадобностью. ИМХО.
Какие номиналы деталей?
День добрый!
А как доработать схему чтоб ток детектировать?
Шунт ставить паралельно с входу?
Повторил схему pastry777. Все рабочее. Сейчас отлаживаю клиент серверное приложение для усыпления win серверов. По путно изучаю материал по поводу wakeonlan на ардуиновских сетевых модулях. ЧТобы эта штука автоматически тушила виртуалки на серверах и сами сервера, а потом поднимала их. Штатное ПО ИБП оказалось диким лагом. Спасибо камрад.
Добрый день, повторили схему pastry777 или axill.
Не увидел схему pastry777, выложите?
axill конечно. хз как так получилось )
А вот это делали? Желательно вход подтянуть к + питания резистором на 4.7к
И правильно ли я понял - вход это например А0, поднянуть 4,7к к 5V?
Да конечно делал. Встроенными подтяжками не пользуюсь априори.
И да. Аналоги я не юзаю, они потом под конец проекта всегда предательски нужны остаются, по сему D2 и погнали. Кста юзая цифровые пины стараемся сначала выбрать простые, а только потом беремся за пины с PWM. Ну и не забываем что есть всякие I2C и т.д. Это тоже юзаем в последнейший момент.
4.7КОм не есть строго обязательным. Там в плюс минус великой роли не играет.
Привет всем, был озадачен подобным вопросом, для себя нашел приемлимым такое решение: 1-Bit AC 220V Optocoupler Isolation Module. На али много вариантов такого исполнения. Может кому пригодится.
4.7КОм не есть строго обязательным. Там в плюс минус великой роли не играет.
Это когда как.
Если в модуль впаяны 2к2, то сколько таких модулей можно включать в параллель?
Маломощный детектор перехода сетевого напряжения через 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 Гц
Вроде еще не было, резистор 62к + оптопара РС814
актуальна тема
вот только не хочетсярвать цепь питания
думаю на счет индуктивного датчика тока для контроля питания (как это делаю токо измерительные клещи)
не подскажете готовые варианты или схему стабильную и простую?
(сеть 220в, мощность 150Вт , до 1кВт импульсы возможны)
http://arduino.ru/forum/apparatnye-voprosy/nuzhno-otslezhivat-nalichie-220-volt-na-linii?page=4#comment-311452
https://ru.aliexpress.com/item/AC/32840804812.html?spm=a2g0v.search0104....
ох 500р, дорогой дико, да и слишком крутой, мне достаточно следить в режиме вкл/выкл а не полноценный счетчик )
https://ru.aliexpress.com/item/AC/32840804812.html?spm=a2g0v.search0104....
https://ru.aliexpress.com/item/AC/32840804812.html?spm=a2g0v.search0104....
там катушка - силовой провод через неё надо пропустить
Ставок простейший блок питания, их куча валяется у всех дома и платки на Ali валом.
ох 500р, дорогой дико, да и слишком крутой, мне достаточно следить в режиме вкл/выкл а не полноценный счетчик )
ну тогда
https://ru.aliexpress.com/item/HMCT103C-5A-5MA-Micro-Current-Transformer-Sensor-Module-Precision/32801018709.html
дешевле и проще некуда.
Вот: 76,01 руб. Активный однофазного напряжения трансформаторный модуль датчик выходного напряжения переменного тока
https://s.click.aliexpress.com/e/8A3Q2hy
Даже померит вольты в сети
спс. поступил проще - просто намотал на ферритовое колечко тонким проводом 3 десятка витков и надел на силовой провод - на выходе достаточный уровень для фиксации нагрузки в сотню Вт
Думаю что резистор последовательно с обмоткой желательно. Что бы входные диоды защитить от перегрузки случай чего.
В щите 380В (3 фазы по 220В) включена нагрузка 36кВт, инфракрасные лампы накаливания, управляются контактором с термостата.
Задача между термостатом и контактором включить микроконтроллер, который будет мониторить термостаты и включать контроллер. Кроме температуры в схему добавляются другие условия (время и влажность) и микроконтроллер будет работать по программе.
Для мониторинга термостата можно применить схему с оптопарой или 4N35, диодом, резистором и кондёром, желательно smd? Почему оптопара на низкое напряжение, бывают семисторные до 600В? Оправдано применение мощного резистора 2-5 Вт? Сеть на производстве и скачки напряжения возможны с разных сторон.
Для управления контактором планирую использовать твердотельное реле. Или лучше использовать обычное реле до 10А на 220В?
Так же будет мониторится потребление (счётчик моточасов и суммы расхода энергии) датчиком тока 100А повешенный на нулевой провод, по схеме системы мониторинга. Или лучше одеть измерительный трансформатор на каждую фазу отдельно и сложить в контроллере? Измерения при напряжении 220В на фазах или 380В на общем нуле влияет на показания тока? При 36кВт это 94А или 163А? Как правильно считать и измерять?
Буду признателен за рекомендации.
Братцы помогите) спаял всё по схеме axill.
Нужно например 2 и более канала, с одним работает замечательно, а вот уже с двумя постоянно выдаёт "OFF". Не могу понять, в чём проблема. Нужно, чтобы при разрыве цепи на одном из каналов выдавал "OFF", а "ON" когда все каналы включены.
Скорее всего проблема вот тут в условии:
if
(!digitalRead(x) && !digitalRead(y)){
&& (логическое И)
Истина, если оба операнда истина (true).
У тебя если X!=true и если Y!=true тогда только выполнится условие ac_status = 1;
Тебе надо:
|| (логическое ИЛИ)
Истина, если хотя бы один операнд истина, например
И тогда на выходе будет так:
if
(!digitalRead(x) || !digitalRead(y)){
Именно) когда у меня ИЛИ то работает "ON", когда ХОТЯБЫ один канал включен, а мне нужно, чтобы оба операнда были истина, но когда я включаю два канала, у меня крутится OFF постоянно. А должно быть "ON"
Ммм... тогда только один вариант остается - т.к. у тебя ловится только один полупериод, то ты всегда попадаешь на отсутствующий полупериод. Ставь на выходе кондер. Точнее одним кондером дело не обойдется, нужно будет ставить скорее всего еще ключ, кондер для того чтобы он какое-то время держал заряд и на линии было напряджение и конечо же резистор чтобы этот кондернсатор разряжать.
С другой стороны ты сам себе противочеришь:
"Нужно, чтобы при разрыве цепи на одном из каналов выдавал "OFF", а "ON" когда все каналы включены."
Не, думаю тут в коде что то не так, но не могу понять, что конкретно(
Вот что хочу) включено много каналов. контроллер должен выдавать "ON". Если хотя бы один отключится, то я хочу получить "OFF")
Скорее всего проблема вот тут в условии:
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;
Не могу понять почему