MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Yashalta
Сообщения: 315
Зарегистрирован: Вс май 20, 2018 9:27 am
Благодарил (а): 160 раз
Поблагодарили: 29 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Yashalta » Пн янв 14, 2019 8:44 pm

Pacific писал(а):
Пн янв 14, 2019 4:05 pm
Yashalta писал(а):
Пн янв 14, 2019 12:30 pm
Эта схема правильная?
НЕправильная.
Работать будет, но есть риск спалить вход Меги. Чтобы этот риск минимизировать, между выключателем и входом Меги нужен резистор эдак 510 Ом..2кОм (при условии, что остается подтяжка к земле 10кОм, как на рисунке). Получится что-то типа http://forklg.ru/download/file.php?id=950&t=1. Я понимаю, что мы не все схемотехники, но вообще я неприятно удивлен, что большинство "учителей" по Ардуине предлагают подводить питание непосредственно ко входу микроконтроллера.
Так?
Изображение

Сейчас пока на коленке у меня все, я в смысле ArduinoMega и выключатель то провода из разряда витая пара длинна не более 10 см...
Но, в доме в котором я буду реализовывать после того как во всем разберусь у меня проложены медные провода до выключателей в диаметре 1,5мм. А расстояние от выключателя до щитка варьируется от 1,5 метра до 17м медный провод диаметр 1,5мм.
Вопрос: Мне нужно будет подбирать до каждого выключателя свое сопротивление?
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение olehs » Пн янв 14, 2019 10:11 pm

Было у нас уже похожее обсуждение. Почитайте - довольно интересно :)
http://majordomo.smartliving.ru/forum/v ... f=8&t=3413
За это сообщение автора olehs поблагодарил:
Yashalta (Пн янв 14, 2019 10:43 pm)
Рейтинг: 1.16%
Yashalta
Сообщения: 315
Зарегистрирован: Вс май 20, 2018 9:27 am
Благодарил (а): 160 раз
Поблагодарили: 29 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Yashalta » Пн янв 14, 2019 10:56 pm

Всем спасибо за советы!!! Всем "Спасибки" по нажимал!
olehs писал(а):
Пн янв 14, 2019 10:11 pm
Было у нас уже похожее обсуждение. Почитайте - довольно интересно :)
http://majordomo.smartliving.ru/forum/v ... f=8&t=3413
По указанной ссылке выше я нашел для себя два коменнта которые мне свет пролили, а именно
akouz писал(а):
Чт дек 08, 2016 1:36 am
Victor_S писал(а): Каким образом рассчитываются номиналы подтягивающих резисторов. От чего они зависят.
У пина, настроенного на ввод, очень высокое входное сопротивление, обычно токи утечки менее 1 мкА. Для самого пина и высокоомного подтягивающего резистора хватило бы, например, 1 МОм. Однако где-то рядом есть всякие мешающие сигналы и помехи, которые норовят на пин навестись. Чем длиннеее соединенные к пину провода, тем сильнее наводки, тем меньше должно быть сопротивление подтяжки. Даже на "голый" пин нежелательно ставить подтяжку больше чем 100 кОм. А снизу ограничений особых нет, хоть 0 Ом резистор ставьте. Однако если захочется использовать пин, то 0 Ом резистор придется выпаивать, тогда как 10 кОм, вполне возможно, ничему мешать не будет. Если на кристалле есть внутренняя подтяжка пинов, то чаще всего она где-то в районе 20...100 кОм.

Теперь про сопротивление пoследовательно с пином.

Для цифрового входа макс. сопротивление как правило используется не более 100к...330к, причем соображения те же, что и для подтяжки. Минимальное - не менее 100 Ом, иначе от него становится совсем мало толку.

Для аналогового входа это сопротивление добавляется к сопротивлению источника сигнала, а на макс. величину сопротивления источника сигнала для АЦП есть ограничения, описанные в даташите на каждое конкретное устройство. Чаше всего это 5...10 кОм, не более.
Victor_S писал(а): Опять же каков принцип выбора номинала последовательного резистора на выходе?
Сколько не жалко. Скажем, Ом 100 хотя бы. Но от увеличения более 10 кОм уже никакой пользы не будет.
akouz писал(а):
Вт ноя 29, 2016 3:17 pm
Для систем с питанием от 5В - как показано на рисунке. А оптроны ставить - это просто танцы с бубном, ставят их от незнания. Кстати, потому и эти схемы оптронные все кривые, смешно смотреть.
На стенде буду делать так а в реале буду мерить сопротивление проводов и подбирать резисторы. Было бы здорово послушать тех у кого это реализовано в реале! Узнать бы у них длину проводов, какие у них резисторы и как долго они этим польются без поломок?!?!
Вложения
Sw_input.png
Sw_input.png (4.3 КБ) 3770 просмотров
Pacific
Сообщения: 116
Зарегистрирован: Чт май 28, 2015 9:40 pm
Откуда: Вёска пад Мiнскам
Благодарил (а): 60 раз
Поблагодарили: 7 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Pacific » Пн янв 14, 2019 11:03 pm

Yashalta писал(а):
Пн янв 14, 2019 8:44 pm
Так?
...
Вопрос: Мне нужно будет подбирать до каждого выключателя свое сопротивление?
Да, этот вариант не позволит сгореть порту. Но он некрасивый, имхо.
Вообще, вариантов может быть много, но суть их достичь двух целей: 1) обеспечить необходимые напряжения для положений вкл и выкл выключателя и 2) ограничить ток через вход контроллера.
Пункт 2 это на случай, если если программа контроллера задействовала ножку контроллера как выход, а вы решили использовать ее как вход. Причины для такой ситуации могут быть самые разные.
olehs привел действительно интересную ветку. На первой же странице вариант, который предпочитаю я, и который посоветую для вашего случая.
http://majordomo.smartliving.ru/forum/d ... hp?id=4495
Сопротивление для каждого выключателя подбирать не придется, но линия 17 метров потенциально опасна с точки зрения наводок. Но пока насчет этого не парьтесь. Будут ложняки - победим и их.

upd пока я писал, вы и сами выбрали нужный вариант
За это сообщение автора Pacific поблагодарили (всего 2):
Yashalta (Пн янв 14, 2019 11:25 pm) • Molostov (Ср янв 16, 2019 10:06 pm)
Рейтинг: 2.33%
россыпь датчиков и серв <-> 20+ ESP8266(WiFi-IoT) <-> Malinka Pi3 :)
Yashalta
Сообщения: 315
Зарегистрирован: Вс май 20, 2018 9:27 am
Благодарил (а): 160 раз
Поблагодарили: 29 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Yashalta » Ср янв 16, 2019 5:44 pm

Вариант A:
Изображение
При таком варианте схемы реле постоянно включено! И не реагирует на нажатие кнопки выключателя! Питание от компа по USB кабелю. Вместо "COM" я подключаю "GND" от ArduinoMega Может я, что не так делаю?!?!
Вариант B:
Изображение
При таком варианте схемы т.е. когда резистор установлен сразу после +5v (пробовал 2,2Ком, 1Ком, 56Ом, 670Ом других вариантов резисторов у меня пока нет), реле постоянно выключено и не реагирует на нажатие кнопки выключателя! Питание от компа по USB кабелю.
Вариант С:
Изображение
При таком варианте схемы т.е. когда резистора нет на входе питания +5v, все работает! Питание от компа по USB кабелю.
Реле послушно отрабатывает нажатие кнопки выключателя!
Вопрос про пинги, это только у меня они так "скачут", может я что не так залил?

Код: Выделить всё

64 bytes from 192.168.18.21: icmp_seq=1790 ttl=128 time=4.77 ms
64 bytes from 192.168.18.21: icmp_seq=1791 ttl=128 time=2.28 ms
64 bytes from 192.168.18.21: icmp_seq=1792 ttl=128 time=2.35 ms
64 bytes from 192.168.18.21: icmp_seq=1793 ttl=128 time=1.91 ms
64 bytes from 192.168.18.21: icmp_seq=1794 ttl=128 time=4.86 ms
64 bytes from 192.168.18.21: icmp_seq=1795 ttl=128 time=14.3 ms
64 bytes from 192.168.18.21: icmp_seq=1796 ttl=128 time=158 ms
64 bytes from 192.168.18.21: icmp_seq=1797 ttl=128 time=1.83 ms
64 bytes from 192.168.18.21: icmp_seq=1798 ttl=128 time=48.2 ms
64 bytes from 192.168.18.21: icmp_seq=1799 ttl=128 time=72.1 ms
64 bytes from 192.168.18.21: icmp_seq=1800 ttl=128 time=96.9 ms
64 bytes from 192.168.18.21: icmp_seq=1801 ttl=128 time=121 ms
64 bytes from 192.168.18.21: icmp_seq=1802 ttl=128 time=1.89 ms
64 bytes from 192.168.18.21: icmp_seq=1803 ttl=128 time=1.86 ms
64 bytes from 192.168.18.21: icmp_seq=1804 ttl=128 time=4.84 ms
64 bytes from 192.168.18.21: icmp_seq=1805 ttl=128 time=1.93 ms
Иногда реле сработало, а вот сигнал на веб морду не приходит о состоянии реле, думаю это пинги виновны?!?!! Может кто сталкивался с подобным?
Так же покажите пожалуйста как выключать реле со сцен? С настенного выключателя все прекрасно работает но, хочется так же выключать удаленно с MajorDomo!
Я в сцене устанавливаю глобальное значение статуса лампы =1/0 для включения/выключения реле со сцены, статус меняется но, реле не реагирует на изменение статуса лампы со сцены! Ниже код, которым я пытаюсь упаралвять со сцены.

Код: Выделить всё

setGlobal("Lamp1.status", "1");
say("Свет на кухне выключен с планшета!");
PS - Может мне в какой другой ветке спрашивать, что бы эту не засорять?
Pacific
Сообщения: 116
Зарегистрирован: Чт май 28, 2015 9:40 pm
Откуда: Вёска пад Мiнскам
Благодарил (а): 60 раз
Поблагодарили: 7 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Pacific » Чт янв 17, 2019 9:45 am

Я не знаком близко с Мегалайтом, поэтому ответ начну с вопроса: а разве Мегалайт не позволяет настраивать уровень (высокий или низкий) для реакции по входу? Если да, то с вариантом А нужно изменить этот уровень реакции. Если нет, то вариант А нужно модифицировать - ногу резистора перекинуть с земли на питание. И всё будет работать.
Странно, что В не заработал. Тут всё просто как грабли и номиналы резисторов даны с запасом. Поможет измерение вольтметром напряжение на входе контроллера при замкнутом выключателе.
Вариант С рабочий, но, как уже говорилось, небезопасный.

upd. Сорри, по варианту А я утренний бред написал в части модификации. Нужно просто поменять местами R1 и выключатель. Но лучше программно изменить настройку входа и реакцию реле.
Последний раз редактировалось Pacific Чт янв 17, 2019 10:28 am, всего редактировалось 2 раза.
россыпь датчиков и серв <-> 20+ ESP8266(WiFi-IoT) <-> Malinka Pi3 :)
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение olehs » Чт янв 17, 2019 9:48 am

Настраивается и сам вход, там есть 3 варианта:
EXTERNAL_PULLDOWN - подтяжка внешним резистором к Gnd
INTERNAL_PULLUP - подтяжка внутренним резистором к Vcc (вход инвертирован)
EXTERNAL_PULLUP - подтяжка внешним резистором к Vcc (вход инвертирован)

и реакцию реле можно настроить как хочешь
Yashalta
Сообщения: 315
Зарегистрирован: Вс май 20, 2018 9:27 am
Благодарил (а): 160 раз
Поблагодарили: 29 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Yashalta » Чт янв 17, 2019 2:52 pm

Pacific писал(а):
Чт янв 17, 2019 9:45 am
upd. Сорри, по варианту А я утренний бред написал в части модификации. Нужно просто поменять местами R1 и выключатель. Но лучше программно изменить настройку входа и реакцию реле.
Попробовал такую схему
Изображение
В итоге:
На управляющем пине 5v и не реагирует на нажатие кнопки!
В настройках указано св-во pullup=extdown т.к. по схеме соединяю резистор на землю!
Pacific писал(а):
Чт янв 17, 2019 9:45 am
Странно, что В не заработал. Тут всё просто как грабли и номиналы резисторов даны с запасом. Поможет измерение вольтметром напряжение на входе контроллера при замкнутом выключателе.
Я делал замеры напряжения в точках 1 и 2 и нажимал на кнопку выключателя!
Изображение
Ниже данные моих замеров!
56(Om)
На управляющем пине 5v при нажатие кнопки напряжение проседает до 3,4v!
В настройках указано св-во pullup=extup т.к. по схеме соединяю резистор на 5v!
670(Om)
На управляющем пине 5v при нажатие кнопки напряжение проседает до 4,8v!
В настройках указано св-во pullup=extup т.к. по схеме соединяю резистор на 5v!
2,2(KOm)
На рис 1.png на управляющем пине 5v при нажатие кнопки напряжение проседает до 4,95v!
В настройках указано св-во pullup=extup т.к. по схеме соединяю резистор на 5v!

Те же измерения проделал только в свойствах указал pullup=intup
Записывать не стал т.к. значение напряжения один в один, что и выше только свойствах указанно pullup=extup
Pacific писал(а):
Чт янв 17, 2019 9:45 am
Вариант С рабочий, но, как уже говорилось, небезопасный.
Я так же сделал замеры "Варианта С" в т.1 и т.2 напряжение, что бы понять когда срабатывает реле... Реле срабатывает когда в указанных точка при нажатии кнопки выключателя напряжение падает с 5v до нуля!

Как я понял! "Вариант В" рабочий! только, нужно подобрать значение резисторов такое, что бы при нажатии кнопки выключателя значение на управляющем пине подало до нуля! (Это мое мнение и оно приравнивается к мнению блондинки т.к. впервые делаю подобное!)
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение olehs » Чт янв 17, 2019 3:00 pm

У вас вторая картинка не соответствует первой схеме. Резисторы 10к не там. У вас получился делитеть напряжения
Yashalta
Сообщения: 315
Зарегистрирован: Вс май 20, 2018 9:27 am
Благодарил (а): 160 раз
Поблагодарили: 29 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Сообщение Yashalta » Чт янв 17, 2019 3:27 pm

olehs писал(а):
Чт янв 17, 2019 3:00 pm
У вас вторая картинка не соответствует первой схеме. Резисторы 10к не там. У вас получился делитеть напряжения
Да, я знаю! Это две разные схемы и делал замеры с учетом того, что они разные т.е. собрал первую схему провел замеры, после собрал 2-ю....
В этой ветке не помню где было сказано было, что не важно какая схема главное, что бы удовлетворяла требованиям... Вот я пытаюсь найти правильную...
А какую вы схему используете?
Ответить