Например TDA7294

Форум РадиоКот • Просмотр темы - Определение 220В с помощью arduino
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пт дек 19, 2025 18:12:06

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Определение 220В с помощью arduino
СообщениеДобавлено: Вс окт 10, 2021 19:58:00 
Родился

Зарегистрирован: Ср май 05, 2021 00:34:11
Сообщений: 17
Рейтинг сообщения: 0
Здравствуйте.
необходимо с помощью Arduino определять наличие 220В в сети.
вот кусок схемы, с помощью которого это выполняется:

Изображение

в качестве оптопар используются mid400:

Изображение

выходы AC_TEST и AC_TEST2 подключаются к цифровым выходам ардуино.

пины я настраиваю как

Код:
pinMode(acTestPin1, INPUT_PULLUP);
pinMode(acTestPin2, INPUT_PULLUP);


в моем понимании, когда напряжение отсутствует на пинах будет +5В т.е. логический уровень HIGH, когда напряжение появится, должен быть уровень LOW.
определяю я следующим образом:

Код:
    int acTestValue1 = 1;
    int acTestValue2 = 1;
    unsigned long startMeasuring = millis();

    do {

        if (acTestValue1 && !digitalRead(acTestPin1)) {
            acTestValue1 = 0;
        }

        if (acTestValue2 && !digitalRead(acTestPin2)) {
            acTestValue2 = 0;
        }

    } while ((acTestValue1 && acTestValue2) && ((millis() - startMeasuring) < 20));

    return acTestValue1 && acTestValue2;



20 - это 20мс, т.е. за этот интервал времени, если напряжение есть, оно точно будет замечено.

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

подскажите, в чем я тут ошибаюсь)) почему не работает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Определение 220В с помощью arduino
СообщениеДобавлено: Вс окт 10, 2021 23:33:03 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1493
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15301
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Обычного электромагнитного реле вполне достаточно.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Определение 220В с помощью arduino
СообщениеДобавлено: Вс окт 10, 2021 23:54:49 
Родился

Зарегистрирован: Ср май 05, 2021 00:34:11
Сообщений: 17
Рейтинг сообщения: 0
Обычного электромагнитного реле вполне достаточно.
8)

я, может, не до конца описал)
такая плата уже есть и надо работать с ней.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Определение 220В с помощью arduino
СообщениеДобавлено: Пн окт 11, 2021 00:13:28 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1493
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15301
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Иногда надо отказаться от недостаточно верного выбора схемного решения.
Любое электромагнитное реле под переменное напряжение 220 вольт даст гораздо более корректный результат.
И лишние проводки к заземлению тащить не потребуется.
Кстати... на те "токи утечки" при Вашей схеме вполне можно неприятность от окружающих огрести за внеплановые отключения электропитания, ежли у потребителя УЗО в электрощите установлено.
:roll:


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
В сети
 Заголовок сообщения: Re: Определение 220В с помощью arduino
СообщениеДобавлено: Пн окт 11, 2021 00:14:21 
Друг Кота
Аватар пользователя

Карма: 31
Рейтинг сообщений: 883
Зарегистрирован: Пт сен 10, 2021 15:19:36
Сообщений: 6113
Откуда: Протвино
Рейтинг сообщения: 0
интересно зачем применены оптроны если они все равно не дают гальванической развяззки при таком включении... ;)

я правильно понял что не нужно измерять напряжение а только наличие некоего напряжения с довольно грубым порогом ?
скажем считать что все ок если хотябы на 1 из полюсов вилки появляются импульсы хтябы 100V да?

1. смотрел осциллоскопом на выходах оптоусилителей?

2. на входах mcu куда приходят VO (pin6) обязательно должны быть пуллап резисторы (либо запрогрраммированные в gpio конфигурации, либо физические)



зы без гальваноразвязки (как и у тебя) это делается 2мя резисторными делителями 1M-15k на 2 gpio pin в режиме входа, без pull up/down. входной резистор 1M делителя вместе с диодами внутри mcu образуют защиту входа. это надежный проверенный и совершенно безопасный метод. есть только спец требования к трассировке и выбору входных резисторов.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Определение 220В с помощью arduino
СообщениеДобавлено: Пн окт 11, 2021 00:24:26 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1493
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15301
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Присмотрись к схеме - там ведь не кольцо "фаза-нуль", а две веточки "фаза - заземление" и "нуль-заземление"...
:facepalm:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Определение 220В с помощью arduino
СообщениеДобавлено: Пн окт 11, 2021 00:47:16 
Родился

Зарегистрирован: Ср май 05, 2021 00:34:11
Сообщений: 17
Рейтинг сообщения: 0
Цитата:
Иногда надо отказаться от недостаточно верного выбора схемного решения.
Любое электромагнитное реле под переменное напряжение 220 вольт даст гораздо более корректный результат.


Отказаться пока нельзя, надо работать с тем, что уже есть. Идея с электромагнитным реле мне кажется хорошей, но пока имеем то, что имеем.
Есть плата, она работает, но надо функционал немного расширить. Тех, кто писал прошивку уже не найти, поэтому решено было переписать с нуля. Поэтому буду очень признателен за помощь)

Цитата:
я правильно понял что не нужно измерять напряжение а только наличие некоего напряжения с довольно грубым порогом ?
скажем считать что все ок если хотябы на 1 из полюсов вилки появляются импульсы хтябы 100V да?

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

Цитата:
1. смотрел осциллоскопом на выходах оптоусилителей?

нет, не смотрел.. посмотрю, напишу.
Цитата:
2. на входах mcu куда приходят VO (pin6) обязательно должны быть пуллап резисторы (либо запрогрраммированные в gpio конфигурации, либо физические)

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

Цитата:
Присмотрись к схеме - там ведь не кольцо "фаза-нуль", а две веточки "фаза - заземление" и "нуль-заземление"...

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


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Определение 220В с помощью arduino
СообщениеДобавлено: Пн окт 11, 2021 00:55:22 
Друг Кота
Аватар пользователя

Карма: 31
Рейтинг сообщений: 883
Зарегистрирован: Пт сен 10, 2021 15:19:36
Сообщений: 6113
Откуда: Протвино
Рейтинг сообщения: 0
внешние последовательные диоды вдвое уменьшают рассеиваемую резисторами мощность. тоже полезное дело )).
еще они вероятно превращает 1 импульс -ok в пачку импульсов (зависит от задержки внутри усилителя оптрона)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Определение 220В с помощью arduino
СообщениеДобавлено: Пн окт 11, 2021 01:09:13 
Друг Кота
Аватар пользователя

Карма: 197
Рейтинг сообщений: 8593
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Сообщений: 43118
Откуда: Нерезиновая
Рейтинг сообщения: 4
А чем, собственно, вам даташитовская схема не понравилась? Там всё "коротко и ясно" описано:
https://www.mouser.com/datasheet/2/149/MID400-68116.pdf
на шестой странице даташита?
Есть напряжение на входе- на выходе высокий уровень, есть напряжение на входе- на выходе низкий уровень.. :dont_know:
Конденсатор между выводом 7 и "землёй" определяет время реакции на появление/пропадание напряжения на входе..
Если вам так нужно использовать именно ваш вариант- сделайте вот так:
СпойлерИзображение


Вложения:
010101.png [128.82 KiB]
Скачиваний: 879
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Определение 220В с помощью arduino
СообщениеДобавлено: Пн окт 11, 2021 10:32:33 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1493
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15301
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Это не так просто, как кажется.
В данном случае делалась или "тупая оптопара" с большой инерционностью (1mS на отключение/включение) или в схеме обработки вутри оптрона ставится "расширитель импульсов с перезапуском".
А у нас сикоки при 50 Гц? - 0,02S период / 0,01S полупериод.
Да и токоограничитель явно с амплитудой (скоростью наростания напряжения) связан по допустимому номиналу.
Отклонения как по частоте так и по амплитуде входого напрядения (не говоря уже о форме) может дать непредсказунмые последствия.
Ну и скорость реакции в N полупериодов также не лучший вариант.
Может схему контроля перехода через 0 фазы и дополнительный обработчик "отсутствия переходов" будет удачнее применить?
8)
Пы.Сы.
Исходный вариант топикстартера будет работать только в том случае, если шина GND контроллера соединена с заземлением всей электроустановки.
(За возможный "ЁКоТОК" в данном случае .... уомолчамс....)
:tea:


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y