Ложное срабатывание кнопок
- Войдите на сайт для отправки комментариев
Добрый всем вечер!
Контроллер на базе Arduino nano, для управления (одна группа, диммер на базе триака) и вентиляторами (четыре релюшки).
На стенде все работает нормально.
На объекте: диммер работает, ярковсть регулируется, но если притушить яркость диммера, то через несколько секунд начинаются помехи на входы контроллера (кнопки).
Проявляется как ложные нажатия кнопок. Когда триак полностью (или почти полностью) открыт или закрыт - все нормально. Проблема только в среднем состоянии.
Для управления используются аналовые входы в цифровом режиме, подтянуты к VCC (10kOM).
Что можно сделать?
Приходит в голову:
1. Уменьшить номинал подтягивающих резисторов (до какого значения можно, 4-5 kOm ?)
2. Работать с кнопками в аналоговом режиме, и считать нажатием кнопки когда значение на пине меньше 5 (или 2-3, можно поэксперемниторовать)
Что посоветуете?
Проблема усложняется тем, что в лаборотории баг не проявляется.
Существует ли гальваническая связь между диммером или реле? (если да то надо избавиться)
Есть ли у реле диоды? (поперёк обмотки, палкой к плюсу)
Есть ли конденсаторы? (~100 мкФ электролит, 0.1~1 мкФ керамика)
Куда подтяжка, вниз или вверх? (должна быть вверх, digitalRead(x)=LOW = нажато)
Резюки по 10k нормально, ну всмысле оно должно работать. Глючило бы если были 300k или больше. Вообще встроенные вроде 2k. Включаются так:
pinMode(x,INPUT_PULLUP);
Только вчера столкнулся с такой же проблемой. У меня вылечилось перепрокладной силовых проводов в подразетнике. Сдвинул в сторону буквально на пару сантиметров. Эффект был такой же как у ТС. Подтяжка кнопки тут не причем.
Существует ли гальваническая связь между диммером или реле? (если да то надо избавиться)
Есть ли у реле диоды? (поперёк обмотки, палкой к плюсу)
Есть ли конденсаторы? (~100 мкФ электролит, 0.1~1 мкФ керамика)
Куда подтяжка, вниз или вверх? (должна быть вверх, digitalRead(x)=LOW = нажато)
Резюки по 10k нормально, ну всмысле оно должно работать. Глючило бы если были 300k или больше. Вообще встроенные вроде 2k. Включаются так:
pinMode(x,INPUT_PULLUP);
У реюшек диоды стоят. В этом вряд-ли проблема, помеха появляется когда работает диммер (режется часть синусоиды триаком).
А конденсаторы по питанию имеете ввиду? - стоят только электролиты.
Подтяжка - к VCC, когда кнопка нажата -- состояние пина LOW, внутренняя подтяжка тоже включена (встроенная подтяжка там достаточно большая, поэтому и рекомендуют ставить внешние резюки).
А вообще работает не один такой контроллер но без диммера.
Не понял Вашу мысль про гальваническую связь. Что Вы имеете ввиду?
Связь есть, и релюшки и диммер сидят на одной группе(фазе).
Провода уже не переложить. В подразетниках силы не, только кнопки (коммутация на землю).
Наводка срабатывает когда работает диммер, когда колечим синусоиду - возникают гормоники, которые (как мне кажется) и создают наводки на слаботочые провода (кнопки). Поэтому подтяжка может быть при чем, чем меньше - тем больше должна быть помеха что бы проявилось ложное нажатие.
Тогда да. Попробуйте еще конденсаторы 0.1 мкф на вход повесить у самой платы на землю
При наводках резисторы подтяжки лучше уменьшить до 4К7 и кондёры на входы кнопок до 0.1мкФ.
Кондеры керамика? На землю, то есть паралельно кнопке. Правильно?
Да, правильно, только на входе кнопок на самой плате
Спасибо! По резудьтатам отпишусь