Как избавиться от ложных срабатываний при наводках?

Тема в разделе "Микроконтроллеры AVR", создана пользователем Tomasina, 17 окт 2015.

  1. Tomasina

    Tomasina Сушитель лампочек Модератор

    Схема сейчас такая:
    [​IMG]
    Между выключателем и МК расстояние 17 метров, причем кое-где проложено параллельно сети освещения 220 В (по-другому никак, стены 30 см бетона). Часто при включении света МК считает, что выключатель сработал, и отрабатывает свою программу.
    Подскажите простейший способ аппаратной фильтрации ложных срабатываний.
    P.S. это не кнопка, а именно выключатель, т.е. после замыкания он минимум несколько минут остается в этом положении, т.е. может программно достаточно трижды опрашивать состояние пина с небольшой задержкой?
     
  2. Megakoteyka

    Megakoteyka Оракул Модератор

    Именно аппаратная фильтрация нужна?
    Программно можно попробовать использовать bounce с большим интервалом.
    У вас там 50 Гц на сигнал не накладывается случаем?
     
  3. Tomasina

    Tomasina Сушитель лампочек Модератор

    Любая подойдёт. Лучше и аппаратная, и программная, почитав вчера это, понимаю, что сейчас ведь никакой защиты по броскам "вверх" нету.
     
  4. Airbus

    Airbus Радиохулиган Модератор

    А радиоканал?
     
  5. DrProg

    DrProg Вечный нерд

    Притянуть к VCC резистором 10КОм не пробовали?
     
    ИгорьК нравится это.
  6. Radius

    Radius Гик

    Вход Ардуины очень высокоомный, поэтому может навестись все что угодно. Обязательно резистор 1...10Ком на Vcc. Для защиты можно поставить два диода - один на землю, другой на питание, среднюю точку на вход Ардуино. В этом случае все что больше Vcc уйдет на цепь "питание", а все что меньше GND уйдет на цепь "земли", на входе Ардуино сигнал всегда будет в диапазоне от GND до Vcc. Можно на всякий случай поставить на вход Ардуино резистор 100 Ом, вроде бы защитные диоды уже встроены в микроконтроллер. Резистор ограничит ток проходящий через защитные диоды.
     
  7. Tomasina

    Tomasina Сушитель лампочек Модератор

    резистор на Vcc и диоды не помогли. Может оптрон поставить?
     
  8. DrProg

    DrProg Вечный нерд

    Тоже в теории надо будет бороться с подобной проблемой. Думаю делать это программно, по типу антидребезга. Хорошо бы заранее знать какова максимальная продолжительность ложных срабатываний. Опыт подсказывает, что 50мс, но не факт, что всегда так. В любом случае попробуйте старый добрый delay(50) с повторным опросом.

    PS: RC цепь не пробовали? Я про нее думаю, но не хотелось бы усложнять схему.
     
    ИгорьК нравится это.
  9. Radius

    Radius Гик

    Уменьшите сопротивление резистора на Vcc до 510 Ом и поставте еще конденсатор между входом Ардуино и цепью GND (0,1 мкф). При такой длине (17м) должно работать. Если это не будет работать то и оптрон не поможет.