Страница 1 из 2
arduino -- помехи при перепадах напряжения
Добавлено: Пн фев 17, 2014 12:11 pm
sergejey
привет!
Ребята, посоветуйте как решить проблему. Есть у меня Arduino, в которой к одному пину подключено реле, к другому кнопка (сухой контакт) через подтягивающий на землю резистор на 10К. По нажатию на кнопку включается реле, при отпускании выключается. В общем, даже схему приводить не буду -- всё как в букваре и в лабораторных условиях работает идеально. Так вот есть проблема -- при небольших перепадах напряжения в сети (холодильник включился) случаются ложные срабатывания, которые выражаются в моргании лампочки, подключенной через реле. Контроллер питается от обычного бюджетного блока питания на 9В. Думаю, что надо куда-то копать в сторону стабилизации питания контроллера. Можно ещё программно исключить "дребезг", но придётся вводить задержку срабатывания в полсекунды, что не очень хотелось бы.
Re: arduino -- помехи при перепадах напряжения
Добавлено: Пн фев 17, 2014 1:02 pm
Ivan
Сам не использовал. Но есть вот такой материал (аппаратный дребезг, это елси в кнопке проблема)
http://wiki.amperka.ru/%D0%BA%D0%BE%D0% ... 0%B7%D0%B3
Вообще на этом сайте много описано мелочей и подключений. Особо интересен раздел видеоуроки. Думаю в библиотеку на Ардуино можно поместить ссылку на сей ресурс
Re: arduino -- помехи при перепадах напряжения
Добавлено: Пн фев 17, 2014 2:01 pm
sergejey
Спасибо, интересная ссылка. Но тут боюсь не аппаратный дребезг кнопки -- кнопка не нажимается вовсе при моргании нагрузки, т.е. тут 100%-ая связь с перепадом напряжения в сети.
Re: arduino -- помехи при перепадах напряжения
Добавлено: Пн фев 17, 2014 2:22 pm
Евгений
Можно попробовать подключить через стабилизатор КРЕН
http://tehnodoka.ru/spravka/ctabm-sh.php Хороший бюджетный вариант. Если напряжение сильно не падает.
Re: arduino -- помехи при перепадах напряжения
Добавлено: Пн фев 17, 2014 3:25 pm
MaksMS82
Не обязательно вводить задержку в полсекунды ,можно на несколько миллисекунд ,например используя библиотеку Bounce .
Помеха может ловится как на входе кнопки,так и по питанию.
Насколько далеко кнопка от м/к ? Может стоить уменьшить резистор до 1 кОм ?
По питанию обязательно как можно ближе к м/к необходима установка ёмкостей электролита 100мкф и 0.1мкф керамики (хотя в заводской ,даже китайской ардуине они есть,но все же..)
Re: arduino -- помехи при перепадах напряжения
Добавлено: Пн фев 17, 2014 3:36 pm
Pooh
Можно попробовать наоборот, кнопкой замыкать пин на землю, при этом в разомкнутом состоянии сам пин подтянуть к плюсу, (даже не обязательно внешним резистором, можно встроенный подключить - pinMode(13, INPUT_PULLUP);)
Re: arduino -- помехи при перепадах напряжения
Добавлено: Пн фев 17, 2014 4:37 pm
sergejey
Спасибо всем за идеи! Для начала попробую добавить задержку в несколько миллисекунд при проверки на изменение состояния -- самое простое решение для начала

Re: arduino -- помехи при перепадах напряжения
Добавлено: Пн фев 17, 2014 9:43 pm
shemnik69
Доброе время суток! Это классическое попадание импульсных помех. Как с ними бороться?
1.Причины. Да действительно низкое качество напряжения в блоке питания (он видимо на пределе мощности).
2. Видимо длинные соединительные провода. Если более 50-60 см то обязательно!!! либо витая пара и лучше еще экранировка.
3. Кнопка должна быть подтянута до напряжения резистором не более 1-2 ком. Если больше то малый ток и емкость провода может искажать сигнал, Ардуина его воспринимает как многократный.
4. Идеальный вариант это когда кнопка переключаемая а не замыкаемая т.е. тогда упрощается коммутация и снижаются импульсы.
5. При опросе состояния (Статус) обязательно добавить в цикл опроса ( например на предмет наличия замкнутого /разомкнутого состояния временную постоянную с интервалом более 100 мс т.н если замкнуто на время более 100 мс то считаем это уже замыкание а так игнорируем) как написать такой цикл думаю мне советы давать не стоит...

И самое главное необходимо улучшить качество питающего напряжения от него зависит на 90%.
Re: arduino -- помехи при перепадах напряжения
Добавлено: Пн фев 17, 2014 10:47 pm
azh122
ох, боролся я тут похожей проблемой. Вывод из борьбы - начать с БП!
Не поможет - подключить "криво" кнопку. на две ноги через конденсаторы. Входные ноги (ну или ногу) притянуть резистором к нулю. И раз с в сколко времени считываем состояние.
digitalWrite(checkPin, HIGH); //посылаем +3v на общий электрод
....(тут задержку возможно придется подобрать, по крайней мере на 10 метровом кабеле от охранки это потребовалось)
inreg = P2IN; // считываем состояние
digitalWrite(checkPin, LOW); //снимаем +3
Далее обработка - типа считал скажем 5 раз, через сколько то времени одно и то же значение - значит это значение и принимаеться. По моей практике - это надежнее чем по времени отвекать
И еще плюс такого решения - можно по кнопке хоть проводом проводом с фазой поводить - ничего не будет.
Не поможет - релюшку от контроллера подальше убрать.
Не поможет - строжевой таймер все же взвести.
.. можно еще и доп. конденсаторы конечно повесить
PS Я шел по пунктам снизу вверх(кстати, каждый пунк давал улучшение). А надо было наоборот - просто заменить БП что бы избавиться от всех глюков.
правда была не ардуина, а msp430 c резисторами под 1мом - с ардуиной должно быть проще.
Re: arduino -- помехи при перепадах напряжения
Добавлено: Вт фев 18, 2014 10:17 am
Pooh
shemnik69 писал(а):
4. Идеальный вариант это когда кнопка переключаемая а не замыкаемая т.е. тогда упрощается коммутация и снижаются импульсы.
в момент переключения пин будет висеть в воздухе