Конфликт реле и датчика освещённости

env
Offline
Зарегистрирован: 25.02.2018

Всем привет, подскажите пожалуйста, столкнулся с проблемой, которую не удалось нагуглить:

К UNO подключены часы, дисплей на 16 символов, потенциометр для контраста дисплея, датчик освещенности и реле. Так вот. Заливаю скетч, в котором код только для реле и датчика освещённости, типа если данные с датчика меньше значения, то включить реле, если больше - выключить. Параллельно дисплей выводит эти значения.

проблема в том, что, как только света мало, программа включает реле, датчик освещенности тут же показывает другие цифры (больше), и реле соостветственно, снова выключается. Таким образом начинает щёлкать в цикле.

датчик подключён обычный (меняет сопротивление) - через сопротивление в 10кОм.

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

1) Гистерезис

2) датчик освещенности направить в другую сторону от дисплея

vvadim
Offline
Зарегистрирован: 23.05.2012

дык никто видно пока не достал хрустальные шары и не увидел ни схемы подключения ни кода)))))

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Лампа освещает датчик? Вот он её и вырубает.

env
Offline
Зарегистрирован: 25.02.2018

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

env
Offline
Зарегистрирован: 25.02.2018

При включении реле сильно проседает сопротивление в фоторезисторе. Разница такая - реле включено - значение 225, выключено - значение 330

void setup()
{
pinMode(Relay, OUTPUT);
time.begin(); 
//time.settime(0,1,19,27,02,18,2);
lcd.begin(8, 2);
lcd.clear();
}

void loop()
{
 lcd.clear();
 float svet = analogRead(sensorPin);
 int rsu = svet * 5.0;
 //lcd.setCursor(0, 0);
 //lcd.print(rsu);

 if (rsu < 300)
 {
  digitalWrite(Relay, HIGH);
  lcd.setCursor(0, 1);
  lcd.print(rsu);
 }
 else
 {
  digitalWrite(Relay, LOW);
  lcd.setCursor(0, 1);
  lcd.print(rsu);
 }
 delay(1000);

}

 

nik182
Offline
Зарегистрирован: 04.05.2015

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

env
Offline
Зарегистрирован: 25.02.2018

nik182, я начинающий в arduino. Не подскажите, что Вы имели в виду по поводу перевернуть резисторы в делителе? поставить 10кОм на плюс фоторезистора вместо минуса? Заранее спасибо, а то не вьезжаю в терминологию до конца. И второе, странно, что реле является сильной нагрузкой.

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

env, если Вы питаете реле от Ардуино, ав не от отдельного источника питания, то для Ардуино реле - это действительно большая нагрузка.

И еще: Вы написали, как работает скетч (кстати, работает он именно так, как написан), но не написали, как бы Вы хотели, чтобы он работал. 

env
Offline
Зарегистрирован: 25.02.2018

Спасибо за совет, не задумывался об отдельном источнике для реле. Сегодня попробую запитать от кроны, хотя.. придётся искать где-то 5В. То есть, если я решу сделать готовый проект с реле, мне нужно будет два источника питания для него (ардуино + реле)? Не проверял, кстати, как схема работает от питания 1А зарядки от айфона, может там не будет такой просадки, как при тесте скетча от ноута.

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

Только не от кроны...  Иначе опять сюда придете.

nik182
Offline
Зарегистрирован: 04.05.2015

Резистор и фоторезистор дают делитель напряжения, средняя точка которого подключена к аналоговому входу. Если их поменять местами или поменять замлю и питание в этой цепи, то судя по реакции вашей схемы у вас получится автоматический гистерезис.  

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

env пишет:

Спасибо за совет, не задумывался об отдельном источнике для реле. Сегодня попробую запитать от кроны, хотя.. придётся искать где-то 5В. То есть, если я решу сделать готовый проект с реле, мне нужно будет два источника питания для него (ардуино + реле)? Не проверял, кстати, как схема работает от питания 1А зарядки от айфона, может там не будет такой просадки, как при тесте скетча от ноута.

Самое главное - запомните, чего нельзя делать: нельзя подавать на Ардуино9-12 Вольт, а 5 Вольт для питания реле снимать с контакта Ардуино 5V. У Ардуино маломощный стабилизатор напряжения, который не рассчитан на токи нагрузки типа реле, электромотора и пр.

Можно питать от внешнего источника питания 5В, если он обеспечивает запас по току. (к Ардуино, естественно, подключается к контакту 5V)

Еще можно питать от внешнего источника 9-12В (но не Кроны!), но при этом реле нужно будет питать от отдельного стабилизатора на 5 Вольт.

Т.е. два отдельных источника - не обязательно, главное - не пытаться снять большой ток со стабилизатора Ардуино.

 

PS. Ну и вопрос о том, какого поведения Вы ожидаете от схемы, остается в силе.

env
Offline
Зарегистрирован: 25.02.2018

Спасибо!

это просто первый опыт с реле. Хочу, чтоб цепь от степени освещения зависела. Написал самый простой скетч. Сейчас перечитал, не хватает проверки состояния реле в блоках if и else, и ещё бы сделал, чтобы не было пограничного значения. Например  вкл при <200, а выкл при >300.

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

env пишет:

 

проблема в том, что, как только света мало, программа включает реле,

правильно.

после этого света становится много, в результате

Цитата:
датчик освещенности тут же показывает другие цифры (больше),
правильно делает

Цитата:
и реле соответственно, снова выключается. Таким образом начинает щёлкать в цикле.
и это правильно.

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

env
Offline
Зарегистрирован: 25.02.2018

SLKH пишет:

env пишет:

 

проблема в том, что, как только света мало, программа включает реле,

правильно.

после этого света становится много, в результате

Цитата:
датчик освещенности тут же показывает другие цифры (больше),
правильно делает

Цитата:
и реле соответственно, снова выключается. Таким образом начинает щёлкать в цикле.
и это правильно.

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

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

Иван_123
Offline
Зарегистрирован: 17.01.2018

andriano пишет:

Можно питать от внешнего источника питания 5В, если он обеспечивает запас по току. (к Ардуино, естественно, подключается к контакту 5V)

А для чего тогда нужен Vin? Или можно так и так?

Иван_123
Offline
Зарегистрирован: 17.01.2018

Я подключаю RTC, и просто задаю время выключения освещения. А включается автоматически фоторезистором. Так лучше мне кажется. Плюс ко всему можно настроить время включения освещения, допустим, не раньше стольки то часов. Так не будет нештатных включений от того, что просто мимо прошел и затенил фоторезистор. Удобно 

Иван_123
Offline
Зарегистрирован: 17.01.2018

Вопрос насчет Vin тупой. Извините(

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

env пишет:

SLKH пишет:

env пишет:

 

проблема в том, что, как только света мало, программа включает реле,

правильно.

после этого света становится много, в результате

Цитата:
датчик освещенности тут же показывает другие цифры (больше),
правильно делает

Цитата:
и реле соответственно, снова выключается. Таким образом начинает щёлкать в цикле.
и это правильно.

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

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

а какой {censored} писал про лампу? вот это: "Естественно лампа и датчик не конфликтуют" ?

 

 

env
Offline
Зарегистрирован: 25.02.2018

SLKH пишет:

env пишет:

SLKH пишет:

env пишет:

 

проблема в том, что, как только света мало, программа включает реле,

правильно.

после этого света становится много, в результате

Цитата:
датчик освещенности тут же показывает другие цифры (больше),
правильно делает

Цитата:
и реле соответственно, снова выключается. Таким образом начинает щёлкать в цикле.
и это правильно.

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

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

а какой {censored} писал про лампу? вот это: "Естественно лампа и датчик не конфликтуют" ?

 

 

 

Та фраза, которую Вы процитировали, даёт понять, что дело не в том, что датчик ловит больше света после включения лампы/светодиода/источника освещения и прочие синонимы могу написать.

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

Иван_123 пишет:

Вопрос насчет Vin тупой. Извините(

Я поступил ещё тупее купив готовый астротаймер.
За десятку.
Совсем не боится засветки.
Стоит внутри дома в щитке.
И поставил всем соседям.
И так десять раз.

Сейчас идут ещё три на освещение улиц.

Единственный нюанс, предупреждаю, широта местности не выставляется больше 60

https://m.aliexpress.com/item/32823009386.html

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

env пишет:

Та фраза, которую Вы процитировали, даёт понять, что дело не в том, что датчик ловит больше света после включения лампы/светодиода/источника освещения и прочие синонимы могу написать.

Та фраза, которую я процитировал, дает понять: в устройстве есть лампа. Иначе за каким хером она вообще упоминалась? 

b707
Offline
Зарегистрирован: 26.05.2017

trembo пишет:
Иван_123 пишет:

Вопрос насчет Vin тупой. Извините(

Я поступил ещё тупее купив готовый астротаймер. За десятку. Совсем не боится засветки. Стоит внутри дома в щитке. И поставил всем соседям. И так десять раз. Сейчас идут ещё три на освещение улиц. Единственный нюанс, предупреждаю, широта местности не выставляется больше 60 https://m.aliexpress.com/item/32823009386.html

За десятку это неспортивно. Реле на 20А + дисплейчик за 200р + ардуина = могли бы сами собрать рублей за 500-700 всем соседям :)