arduino -- помехи при перепадах напряжения

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

Модератор: immortal

Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

arduino -- помехи при перепадах напряжения

Сообщение sergejey » Пн фев 17, 2014 12:11 pm

привет!

Ребята, посоветуйте как решить проблему. Есть у меня Arduino, в которой к одному пину подключено реле, к другому кнопка (сухой контакт) через подтягивающий на землю резистор на 10К. По нажатию на кнопку включается реле, при отпускании выключается. В общем, даже схему приводить не буду -- всё как в букваре и в лабораторных условиях работает идеально. Так вот есть проблема -- при небольших перепадах напряжения в сети (холодильник включился) случаются ложные срабатывания, которые выражаются в моргании лампочки, подключенной через реле. Контроллер питается от обычного бюджетного блока питания на 9В. Думаю, что надо куда-то копать в сторону стабилизации питания контроллера. Можно ещё программно исключить "дребезг", но придётся вводить задержку срабатывания в полсекунды, что не очень хотелось бы.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: arduino -- помехи при перепадах напряжения

Сообщение Ivan » Пн фев 17, 2014 1:02 pm

Сам не использовал. Но есть вот такой материал (аппаратный дребезг, это елси в кнопке проблема) http://wiki.amperka.ru/%D0%BA%D0%BE%D0% ... 0%B7%D0%B3

Вообще на этом сайте много описано мелочей и подключений. Особо интересен раздел видеоуроки. Думаю в библиотеку на Ардуино можно поместить ссылку на сей ресурс
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: arduino -- помехи при перепадах напряжения

Сообщение sergejey » Пн фев 17, 2014 2:01 pm

Спасибо, интересная ссылка. Но тут боюсь не аппаратный дребезг кнопки -- кнопка не нажимается вовсе при моргании нагрузки, т.е. тут 100%-ая связь с перепадом напряжения в сети.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Евгений
Сообщения: 42
Зарегистрирован: Пн авг 26, 2013 11:34 am
Благодарил (а): 0
Поблагодарили: 2 раза

Re: arduino -- помехи при перепадах напряжения

Сообщение Евгений » Пн фев 17, 2014 2:22 pm

Можно попробовать подключить через стабилизатор КРЕН http://tehnodoka.ru/spravka/ctabm-sh.php Хороший бюджетный вариант. Если напряжение сильно не падает.
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

Re: arduino -- помехи при перепадах напряжения

Сообщение MaksMS82 » Пн фев 17, 2014 3:25 pm

Не обязательно вводить задержку в полсекунды ,можно на несколько миллисекунд ,например используя библиотеку Bounce .
Помеха может ловится как на входе кнопки,так и по питанию.
Насколько далеко кнопка от м/к ? Может стоить уменьшить резистор до 1 кОм ?
По питанию обязательно как можно ближе к м/к необходима установка ёмкостей электролита 100мкф и 0.1мкф керамики (хотя в заводской ,даже китайской ардуине они есть,но все же..)
Pooh
Сообщения: 74
Зарегистрирован: Вт дек 31, 2013 2:03 pm
Откуда: Самара
Благодарил (а): 25 раз
Поблагодарили: 5 раз

Re: arduino -- помехи при перепадах напряжения

Сообщение Pooh » Пн фев 17, 2014 3:36 pm

Можно попробовать наоборот, кнопкой замыкать пин на землю, при этом в разомкнутом состоянии сам пин подтянуть к плюсу, (даже не обязательно внешним резистором, можно встроенный подключить - pinMode(13, INPUT_PULLUP);)
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: arduino -- помехи при перепадах напряжения

Сообщение sergejey » Пн фев 17, 2014 4:37 pm

Спасибо всем за идеи! Для начала попробую добавить задержку в несколько миллисекунд при проверки на изменение состояния -- самое простое решение для начала :)

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
shemnik69
Сообщения: 590
Зарегистрирован: Пн дек 24, 2012 3:01 pm
Откуда: Саратов Saratov
Благодарил (а): 67 раз
Поблагодарили: 63 раза

Re: arduino -- помехи при перепадах напряжения

Сообщение shemnik69 » Пн фев 17, 2014 9:43 pm

Доброе время суток! Это классическое попадание импульсных помех. Как с ними бороться?
1.Причины. Да действительно низкое качество напряжения в блоке питания (он видимо на пределе мощности).
2. Видимо длинные соединительные провода. Если более 50-60 см то обязательно!!! либо витая пара и лучше еще экранировка.
3. Кнопка должна быть подтянута до напряжения резистором не более 1-2 ком. Если больше то малый ток и емкость провода может искажать сигнал, Ардуина его воспринимает как многократный.
4. Идеальный вариант это когда кнопка переключаемая а не замыкаемая т.е. тогда упрощается коммутация и снижаются импульсы.
5. При опросе состояния (Статус) обязательно добавить в цикл опроса ( например на предмет наличия замкнутого /разомкнутого состояния временную постоянную с интервалом более 100 мс т.н если замкнуто на время более 100 мс то считаем это уже замыкание а так игнорируем) как написать такой цикл думаю мне советы давать не стоит... :D
И самое главное необходимо улучшить качество питающего напряжения от него зависит на 90%.
azh122
Сообщения: 113
Зарегистрирован: Вт янв 28, 2014 5:33 pm
Благодарил (а): 1 раз
Поблагодарили: 6 раз

Re: arduino -- помехи при перепадах напряжения

Сообщение azh122 » Пн фев 17, 2014 10:47 pm

ох, боролся я тут похожей проблемой. Вывод из борьбы - начать с БП!
Не поможет - подключить "криво" кнопку. на две ноги через конденсаторы. Входные ноги (ну или ногу) притянуть резистором к нулю. И раз с в сколко времени считываем состояние.
digitalWrite(checkPin, HIGH); //посылаем +3v на общий электрод
....(тут задержку возможно придется подобрать, по крайней мере на 10 метровом кабеле от охранки это потребовалось)
inreg = P2IN; // считываем состояние
digitalWrite(checkPin, LOW); //снимаем +3
Далее обработка - типа считал скажем 5 раз, через сколько то времени одно и то же значение - значит это значение и принимаеться. По моей практике - это надежнее чем по времени отвекать
И еще плюс такого решения - можно по кнопке хоть проводом проводом с фазой поводить - ничего не будет.
Не поможет - релюшку от контроллера подальше убрать.
Не поможет - строжевой таймер все же взвести.
.. можно еще и доп. конденсаторы конечно повесить

PS Я шел по пунктам снизу вверх(кстати, каждый пунк давал улучшение). А надо было наоборот - просто заменить БП что бы избавиться от всех глюков.
правда была не ардуина, а msp430 c резисторами под 1мом - с ардуиной должно быть проще.
Pooh
Сообщения: 74
Зарегистрирован: Вт дек 31, 2013 2:03 pm
Откуда: Самара
Благодарил (а): 25 раз
Поблагодарили: 5 раз

Re: arduino -- помехи при перепадах напряжения

Сообщение Pooh » Вт фев 18, 2014 10:17 am

shemnik69 писал(а): 4. Идеальный вариант это когда кнопка переключаемая а не замыкаемая т.е. тогда упрощается коммутация и снижаются импульсы.
в момент переключения пин будет висеть в воздухе
Ответить