Просмотр полной версии : Первые программы. Управление светом и вентилятором .
Прошу критики и оценки.
Планируемое реле ПР100.
Задача 1. Управление вентиляцией 1 кнопкой, расположенной внутри ванной комнаты. Короткое нажатие - запуск нагрузки на 5мин. Длинное нажатие (2 сек.) - отключение нагрузки.
Каждое короткое нажатие на кнопку при включенной нагрузке - сброс таймера и новое начало отсчета времени работы 5мин.
Задача 2. Управление освещением в 2 разных комнатах кнопочными выключателями. Короткое нажатие кнопки (для каждой комнаты - своя) - вкл/выкл. освещение.
Длительное нажатие ЛЮБОЙ кнопки в ЛЮБОМ состоянии освещения в ЛЮБОЙ комнате - ОБЩЕЕ ОТКЛЮЧЕНИЕ света.
Можно было использовать управление одной кнопкой из макроса на исключающем ИЛИ с обратной связью, но нужен вход R для принудительного сброса, поэтому "извратился" на счетчике, анализируя нулевой бит.
И еще вопрос: нужно ли делать задержки на 200мс при использовании кнопки без фиксации для "нейтрализации" дребезга контактов?
фильтр для дискретных входов ставить не нужно - все и так нормально работает, даже на промышленных объектах, не то что в тепличных домашних. ну будут проблемы - всегда дорисуете, да и 200 мс это где такую лошадь то раздобыть?
Могбы и програмку саму выложить, в эмуляторе погонять)))))
Могбы и програмку саму выложить, в эмуляторе погонять)))))
На что влияет не оптимальное, но корректно рабочее решение? (быстродействие, потребляемоя мощность.....)?
быстродействие по моему только)))
Чот у меня в эмуляторе вентилятор при коротком нажатии включается на 5 сек, но это просто время поменять, а так реализация прикольная.
для отладки проги ставил 5сек. Возможно, залил предыдущую версию.
Сергей0308
07.12.2019, 17:57
Прошу критики и оценки.
Планируемое реле ПР100.
Задача 1. Управление вентиляцией 1 кнопкой, расположенной внутри ванной комнаты. Короткое нажатие - запуск нагрузки на 5мин. Длинное нажатие (2 сек.) - отключение нагрузки.
Каждое короткое нажатие на кнопку при включенной нагрузке - сброс таймера и новое начало отсчета времени работы 5мин.
Задача 2. Управление освещением в 2 разных комнатах кнопочными выключателями. Короткое нажатие кнопки (для каждой комнаты - своя) - вкл/выкл. освещение.
Длительное нажатие ЛЮБОЙ кнопки в ЛЮБОМ состоянии освещения в ЛЮБОЙ комнате - ОБЩЕЕ ОТКЛЮЧЕНИЕ света.
Можно было использовать управление одной кнопкой из макроса на исключающем ИЛИ с обратной связью, но нужен вход R для принудительного сброса, поэтому "извратился" на счетчике, анализируя нулевой бит.
И еще вопрос: нужно ли делать задержки на 200мс при использовании кнопки без фиксации для "нейтрализации" дребезга контактов?
По свету: можно как-то так сделать:
46040
И никто не запрещает в макрос Т-триггера добавить вход сброса, мне кажется это всё равно будет в несколько раз проще вашей конструкции!
46041
По свету: можно как-то так сделать:
46040
И никто не запрещает в макрос Т-триггера добавить вход сброса, мне кажется это всё равно будет в несколько раз проще вашей конструкции!
46041
Спасибо огромное. Т триггер - это то, что было нужно. Просто не знал, как его из D триггера делать. Теперь решение простое и красивое.
По свету: можно как-то так сделать:
46040
То же самое хотел сказать. Отвлёкся на тот момент, что ежели уж автору охота поиграться со счётчиками, то делал бы он это на инкрементных тогда уж. Ибо битовые операции в выключателе света -- это переборцЪ, имхо:)
Сергей0308
07.12.2019, 19:25
Спасибо огромное. Т триггер - это то, что было нужно. Просто не знал, как его из D триггера делать. Теперь решение простое и красивое.
Да не за что, а по вентилятору можно так сделать:
46043
46044
То же самое хотел сказать. Отвлёкся на тот момент, что ежели уж автору охота поиграться со счётчиками, то делал бы он это на инкрементных тогда уж. Ибо битовые операции в выключателе света -- это переборцЪ, имхо:)
Но, ведь, работало бы, хоть и через одно место. :-)
Да не за что, а по вентилятору можно так сделать:
46043
46044
Ну, раз пошла такая пьянка....
Навеяно Вашим примером:
Идея:
Первое короткое включение кнопки- старт вентилятора на время t.
Повторное короткое нажатие - добавляет время t к оставшемуся времени до отключения, т.е. два коротких нажатия - 2t.
Реализация через write to FB, но с операцией сложения. Вопрос: как узнать оставшееся время? Ставить счетчик и вычитать из первоначального?
Только еще проверка нужна , чтобы больше двух раз не добавлялось
Сергей0308
07.12.2019, 22:02
Ну, раз пошла такая пьянка....
Навеяно Вашим примером:
Идея:
Первое короткое включение кнопки- старт вентилятора на время t.
Повторное короткое нажатие - добавляет время t к оставшемуся времени до отключения, т.е. два коротких нажатия - 2t.
Реализация через write to FB, но с операцией сложения. Вопрос: как узнать оставшееся время? Ставить счетчик и вычитать из первоначального?
Только еще проверка нужна , чтобы больше двух раз не добавлялось
Можно и добавлять к уставке по каждому нажатию время t, не вижу здесь проблем!
У меня имеется макрос сумматор:
46046
46047
А зачем тут оставшееся время? Ежели поменять уставку во время работы TOF, то он в любом случае отработает 2t.
А зачем тут оставшееся время? Ежели поменять уставку во время работы TOF, то он в любом случае отработает 2t.
просто поменять уставку на 2t - скучновато. Интереснее ДОБАВИТЬ еще время t, если одного t не хватило.
Это моя первая программа. Ремонт на стадии планирования электрики. Дате пофантазировать :-) и поучиться.
Сергей0308
07.12.2019, 22:32
Наверно как-то так:
46048
46049
Немного поправил:
46053
46054
С ограничением, не более 3t:
46058
46059
просто поменять уставку на 2t - скучновато. Интереснее ДОБАВИТЬ еще время t, если одного t не хватило.
Это моя первая программа. Ремонт на стадии планирования электрики. Дате пофантазировать :-) и поучиться.
Получится то ж на то ж. Ну смотрите: допустим при нашей уставке 8с вентилятор 5с отработал, мы нажимаем кнопку, добавляем ещё 8с, т.е. после нажатия кнопки вентилятор отработает 8+3=11с. Но 5-то он уже отработал, в итоге всё равно 16, т.е. 2t.
Короче, меня тоже понесло куда-то в счётчики:), зато есть контроль, что 3е и последующие нажатия не изменят уставку.
особо не смотрел, потому что хочу увидеть другое, как человек будет выпрыгивать из ванны, чтобы продлить время :)
Вентилятор в ванной надо включать
1. по превышению влажности
2. после выхода из ванной для проветривания
особо не смотрел, потому что хочу увидеть другое, как человек будет выпрыгивать из ванны, чтобы продлить время :)
А мыльницу в выключатель метнуть слабо? Это ведь всего-навсего вентилятор. Вот ежели бы наш таймер отключал свет, квест с повторным включением был куда интереснее.
знакомый делал такое на ардуино с двумя датчиками "шторами" на входе и выходе в помещение.
з.ы. на самом деле зависит от вытяжки, но вообще не комфортно находиться в ванном помещении голым с работающим вентилятором... особенно если ты не морж
Сергей0308
08.12.2019, 00:30
Получится то ж на то ж. Ну смотрите: допустим при нашей уставке 8с вентилятор 5с отработал, мы нажимаем кнопку, добавляем ещё 8с, т.е. после нажатия кнопки вентилятор отработает 8+3=11с. Но 5-то он уже отработал, в итоге всё равно 16, т.е. 2t.
Короче, меня тоже понесло куда-то в счётчики:), зато есть контроль, что 3е и последующие нажатия не изменят уставку.
Вот Ваш вариант "причесал":
46063
46064
знакомый делал такое на ардуино с двумя датчиками "шторами" на входе и выходе в помещение.
з.ы. на самом деле зависит от вытяжки, но вообще не комфортно находиться в ванном помещении голым с работающим вентилятором... особенно если ты не морж
все зависит от скорости потока, тем более вкл.чать можно тогда, когда человек вышел. Ванная без вентиляции тоже ни чего хорошего.
Спасибо, народ, что накидали столько идей. Многие решения возьму в загашник. Сам склоняюсь к решению со счетчиком нажатий (не больше 3).
А логика использования проста (подсмотрел такое решение в Европе). Душевая открытого типа, т.е. без кабинки. Пар от принятия горячего душа стоит по всей ванной. Во время принятия душа вентиляцию не включают, а перед выходом или в процессе одевания, оценив масштаб ущерба (т.е. насколько много пара) принимается решение о времени работы вытяжки.
Во время купания маленького ребенка вытяжка выключена, т.к. сквозняк не нужен. Поэтому тупо заводить на датчик влажности нельзя.
А вот если развешивается белье для сушки - можно включать сразу.
Можно, конечно, и датчик влажности через элемент И с кнопкой засунуть, чтобы время не считать, а тупо по влажности срабатывать, но если необходимо просто вонь от туалета удалить при нормальной влажности?
Без датчика влажности мне принцип работы кажется более гибким.
Схему буду рисовать сам, используя ваши идеи, чтобы своими руками прощупать.
bobaru, вы не поняли смысл моего поста когда я писал когда включается вытяжка.
Вот Ваш вариант "причесал":
Намного лучше, да.
bobaru, вы не поняли смысл моего поста когда я писал когда включается вытяжка.
я просто уже весь мозг сломал,пытаясь придумать оптимальный алгоритм управления. :-) и, скорее всего, это еще не финал.
Вот Ваш вариант "причесал":
46063
46064
Ни убавить, ни прибавить. Еще раз благодарю.
Чтобы не создавать новую тему, спрошу здесь.
Управление вытяжкой в подвале по датчику влажности планирую по следующему алгоритму:
Периодический опрос датчика влажности (1 раз в t минут). Если влажность больше х, включить вентилятор на 20 минут. После этого опрос датчика влажности продолжить.Во время работы вентилятора показания датчика влажности значения не имеют.Если цикл включения вентилятора включался Y раз подряд, выдавать сигнал тревоги.
Возможно, к кого-то есть более адекватный алгоритм для контроля влажности подвала частного дома.
Была мысль поставить реле влажности с aliexpress, но т.к. дома все равно будет ПР100 и есть еще свободные выходы... Только вот какой датчик влажности использовать? смотрю в сторону датчиков для ардуино (дают 0-5 в), но им надо питание 5в. Может кто делал что-то подобное?
Про приточку не забывайте, а то ни какого толку не будет.
bobaru если датчик с сухим контактом, настраивается на самом датчике, вы можете собрать на транзисторном ключе повторитель, который вам подаст 24В.
Если выход 0-5 вольт аналоговый, то вообще проблем не вижу, используйте вход 0-10В и масштабируйте сигнал как вам нравится.
Спасибо, народ, что накидали столько идей. Многие решения возьму в загашник. Сам склоняюсь к решению со счетчиком нажатий (не больше 3).
А логика использования проста (подсмотрел такое решение в Европе). Душевая открытого типа, т.е. без кабинки. Пар от принятия горячего душа стоит по всей ванной. Во время принятия душа вентиляцию не включают, а перед выходом или в процессе одевания, оценив масштаб ущерба (т.е. насколько много пара) принимается решение о времени работы вытяжки.
Во время купания маленького ребенка вытяжка выключена, т.к. сквозняк не нужен. Поэтому тупо заводить на датчик влажности нельзя.
А вот если развешивается белье для сушки - можно включать сразу.
Можно, конечно, и датчик влажности через элемент И с кнопкой засунуть, чтобы время не считать, а тупо по влажности срабатывать, но если необходимо просто вонь от туалета удалить при нормальной влажности?
Без датчика влажности мне принцип работы кажется более гибким.
Схему буду рисовать сам, используя ваши идеи, чтобы своими руками прощупать.
Лично у меня есть вентилятор с датчиком влажности и таймером, и я считаю, что это вполне себе удовлетворительный вариант безо всяких программных реле. С/у совмещённый. При включении света напряжение подаётся на управляющий контакт, вентилятор включается, можно пукать в туалете, сколько хошь. После гашения света работает таймер от 2х мин до получаса. Порог срабатывания датчика влажности тоже регулируемый. Ну а когда надобно принять душ, можно просто отдельным выключателем рвать питание.
Лично у меня есть вентилятор с датчиком влажности и таймером, и я считаю, что это вполне себе удовлетворительный вариант безо всяких программных реле..
А кстати да!!!!! Мы тут пытаемся изобрести влосипед)))))))))))))))))))))))
А кстати да!!!!! Мы тут пытаемся изобрести влосипед)))))))))))))))))))))))
Ну, спорить не стану. Но, зато какой велосипед получиться! И если есть возможность сделать удобно и функционально, то почему-бы не сделать.
melky, спасибо за комментарий. Именно этим путем и планирую идти (аналоговый вход и масштабирование)
Ревака Юрий
09.12.2019, 13:27
Для дома, я бы сразу ПР200 брал бы, чуть дороже но легче расширить систему в случае чего.
Да никакой велосипед не получится, через пол года все забудут что означает короткое нажатие, что двойное нажатие, что длинное :)
Сергей0308
10.12.2019, 11:53
Да никакой велосипед не получится, через пол года все забудут что означает короткое нажатие, что двойное нажатие, что длинное :)
Боюсь на велосипеде не возможно разучится ездить!
Если у Вас такое получается, боюсь проблемма не в велосипеде!
Сергей0308 не путайте, велосипед это координация, которая кстати тоже не вечная. А вот по опыту многократных нажатий и их длительностей у людей точно проблема. Ставил я кнопочные выключатели людям под ПР, знаю. Должно быть просто - нажал - заработало, а не нажал-нажал-нажал - какого х не работает ? :)
Сергей0308
10.12.2019, 12:36
Сергей0308 не путайте, велосипед это координация, которая кстати тоже не вечная. А вот по опыту многократных нажатий и их длительностей у людей точно проблема. Ставил я кнопочные выключатели людям под ПР, знаю. Должно быть просто - нажал - заработало, а не нажал-нажал-нажал - какого х не работает ? :)
Я не исключаю, может и есть такие неадекваты, а нормальный человек не может попутать кратковременное нажатие(нажал и тут же отпустил) с удержанием кнопки свыше 2 секунд(можно увеличить для вашего опыта до 5-10 с)!
Таким людям нужно под круглосуточным присмотром пилюли глотать, а не светом управлять!
Да тут ситуация иная, зять придумал и пользуется, зато теперь он у тещи как беспроводной пульт ��
О! Вспомнил прикол на предмет нажал нажал нажал...
В прошлом году получаю на работу в автосалоне Лифан Х60, себе под 5 точку. Тачка простая, инструкцию внимательно нафиг читать (Я так думал).
После 20 км/час блокируются все двери.
Если остановился, но двигатель не заглушил, двери остаются блокированными, ни кто не выйдет, если только повернуть язычек.
Двери отперает водитель, первое нажатие на кнопку только водительская, второе все остальные.
И вот тут наступает самый главный секрет!!!!!!!
Просто нажать нажать ни чего не даст, пауза не менее секунды!!!!!!!!!
)))))))))
А вы нажал нажал нажал)))))
Как ТС хочу внести ясность и прекратить флуд :-)
Данный алгоритм управления вытяжкой и был придуман с учетом простоты пользования для возрастных членов семьи. Планируется работа по принципу "нажал и забыл" (выключится само).
А для членов семьи помоложе есть вариант расширенного функционала.
Более того, данный алгоритм реализован в стандартных приблудах у чехов http://www.elkoep.ru/fileadmin/produkty/Elko/SMR-B/RU/Datasheet_SMR-KTHB.pdf (функция а)
У немцев есть тоже, что-то в этом духе, но ссылку не нашел.
И если уж данный алгоритм востребован в массовом производстве, то, наверное, спрос есть.
Ну, а вообще, на вкус и цвет ... :-)
Еще раз всем огромное спасибо за участие в обсуждении. Узнал действительно много ценного и интересного.
А вот мой вопрос про алгоритм работы вытяжки в подвале остался незамеченным.
Godlike_S
11.12.2019, 10:46
Чтобы не создавать новую тему, спрошу здесь.
Управление вытяжкой в подвале по датчику влажности планирую по следующему алгоритму:
Периодический опрос датчика влажности (1 раз в t минут). Если влажность больше х, включить вентилятор на 20 минут. После этого опрос датчика влажности продолжить.Во время работы вентилятора показания датчика влажности значения не имеют.Если цикл включения вентилятора включался Y раз подряд, выдавать сигнал тревоги.
Возможно, к кого-то есть более адекватный алгоритм для контроля влажности подвала частного дома.
Была мысль поставить реле влажности с aliexpress, но т.к. дома все равно будет ПР100 и есть еще свободные выходы... Только вот какой датчик влажности использовать? смотрю в сторону датчиков для ардуино (дают 0-5 в), но им надо питание 5в. Может кто делал что-то подобное?
А какой смысл контролировать влажность через какой то интервал? Мне кажется постоянный мониторинг будет предпочтительнее. А что если за 20 минут вентилятор не справился? Почему во время работы вентилятора показания датчика не имеют значения? Алгоритм больше похож на "угадал не угадал". Наверное предпочтительнее будет постоянный мониторинг и включение выключение по гистерезису, а вот если превышено определенное время работы вентилятора (например больше часа), то выдается сигнал "Авария".
P.S. Под Ваши задачи вполне подойдет датчик ПВТ10, но стоит он явно дороже датчика от Ардуино.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot