Ложные прервания Ардуино!!!!
- Войдите на сайт для отправки комментариев
Пнд, 23/05/2016 - 14:00
Друзья, просто беда. SOS!! Буду краток,
Хочу использовать внешение прерывание Ардуино RISSING.
Почему при касании любым оголенным проводом к питанию ардуиино, срабатывает прерывание!!!! ПОЧЕМУ!!!!! ну просто беда....
Все делал как надо, подключал с начала кнопку через RC цепи, ставил кондеры по питанию....все проходил!!!
Любая наводка на общей земле приводит к вызову обработчика прерывания!!! ЧТО ДЕЛАТЬ!!!
Ну не могу я без кнопок и связью с внешним миром. А любое срабаытванеи реле, или все сто связано с общей землей приводит к смене состояния!!!!!
zvr_84, а нам стало быть нужно гадать, как вы кнопку включили, есть ли стягивающий или подтягивающий резистор..
Добрый день. Спасибо, что откликнулись.
Кнопка обыкновенная, двухконтактная. Подключена на +5В через RC цепь, номинал 1кОМ и 10мкФ. Когда замкнута кнопка, то она замыкается на землю (все как в литературе) Вход на прерывание считываем через триггер Шмитта(для инвресии и ровных фронтов).
Конпка нужна для того, чтобы я выбирал какая часть программы выбиралась (включен ли ручной или атоматический режим работы моего "умного дома"). Так вот, впринципе все хорошо, но до тех пор, пока у меня не происходит комутация элетромагнитного клапана (12В) через Реле SRD-05VDC-SL-C(же готовый шилд c обвязкой и т.п.). Полчуается, что во время комутации реле, (как я уже потом выяснял упытным путем) "нормально общий контакт" видимо как-то связан с общей землей схемы....И как раз во время касания общей земли происходит "срабатывание" прывания и моя программа уходит по другому пути. Я потом уже просто собирал отдельно схему и "тыкал" просто оголенным проводком по массе....Так вот - тыкну, тыкну, и вызывается обработчик в программе (сработал переход с низкого на высокий фронт). МОЖЕТ Я ЧЕГО НЕПОНИМАЮ с прерываниями.
Да, вход 3 (с него читаю прерывания) уе пробывал как вход указывать pinMode (3, INPUT)....просто я ниге не нашел четкой мысли, что в случае прерывания его как вход нужно определять, хотя у нас же апартано подтягивающие резистр включен.
Я не великий спец, но читаю, учусь....КОРОЧЕ БЕДА,,,,,,,,
рисуй схему. какой блок питания. какой триггер шмидта и т.д.
Попробуйте конденсатор 100пф с максимально короткими ногами прямо на ножку с прерыванием и землю. Резистор 1к как можно ближе к ножке с прерыванием. Сигнал на прерывание через резистор. Обычно помогает.
Да, вход 3 (с него читаю прерывания) уе пробывал как вход указывать pinMode (3, INPUT)....просто я ниге не нашел четкой мысли, что в случае прерывания его как вход нужно определять, хотя у нас же апартано подтягивающие резистр включен.
Я не великий спец, но читаю, учусь....КОРОЧЕ БЕДА,,,,,,,,
Я тоже не великий спец. Вывод МК не надо устанавливать на вход, он по умолчанию так установлен.
А вот перед моментом ожидаемой помехи его можно установить на выход в LOW и тогда импульс не проидет, что равносильно отключению прерывания.
Обработчик можно вызывать программно, переключая выход из 0 в 1.
Но это всё грабли, всё-равно надо устранять помеху.
Добрый день. Спасибо, что откликнулись.
Кнопка обыкновенная, двухконтактная. Подключена на +5В через RC цепь, номинал 1кОМ и 10мкФ. Когда замкнута кнопка, то она замыкается на землю (все как в литературе) Вход на прерывание считываем через триггер Шмитта(для инвресии и ровных фронтов).
Частота среза вашего фильтра 16 Герц.
http://vt-tech.eu/articles/calculators/165-simple-rc-filters.html
Ниже некуда.
С таким фильтром вообще не может быть никаких помех.
Да ещё и с триггером Шмитта...
А как вы подаёте на эту кнопку привязку к 5-ти Вольтам?
Спасибо Всем! Вчера сдуру спалил андрюху! Ездил за новым! Поэтому не отвечал! Питание беру с него же! Просто вешаю +5В на кнопку через RC фильтр.
Тыкаешь в землю или же срабатывает Реле - такая вот песня, срабатывает прерывание! Причем интересно заметил, что если просто реле щелкает или же управляет слабой нагрузкой, например диодами, то такого не происходит! А вот если я комутирую 12 В клапана - происходит срабатывание! Чую, что тут что-то с возникающей разностью потенциалов, между плюсом питания и землей! Грешил на наводки от клапана, его катушки! Пох....тыкаешь просто в любое место пакетной платы в землю - срабатывает обработчик на тип прерывания rissing. Схему начерчу, позже выложу! Учень нужна помощь! Может кто-нидь схему предложит?! Рабочую!!!!! У себя проверит???? Нужны пару кнопок и пару реле для управления эл.клапанами!
В правильную сторону чуете. С этой проблемой сталкивается очень много любителей использовать INT0/INT1. Я даже картинки как-то раз приводил, от чего такое происходит.
........Просто вешаю +5В на кнопку через RC фильтр.
А вот с этого места поподробнее, пожалуйста.
А то у меня в голове ваша схема не складывается.
Что такое " просто вешаю 5 Вольт на кнопку" ?
А потом " просто" замыкаете 5 Вольт на землю?
Нет, все как в книжке! Через резистр на 5в. Параллельно кнопке кондер!
А про землю, я имел ввиду что даже когда кнопку не трогаем, ничего не нажимаем, а просто торгуем любым замкнутым проводком землю схемы в макетной плате, срабатывает прерывание!
Нет, все как в книжке! Через резистр на 5в. Параллельно кнопке кондер!
А про землю, я имел ввиду что даже когда кнопку не трогаем, ничего не нажимаем, а просто торгуем любым замкнутым проводком землю схемы в макетной плате, срабатывает прерывание!
Чего делать-то?! Посмотрю Ваши картинки! Просто с телефона пишу... Как быть, ума не приложу!!!
Даааа, именно так, все и происходит!!!! Касаюсь земли, срабатывает прерывание!!!!! Помогите!!!! Или воообще отказаться от них? Dimax, HELP!!!
zvr_84, ну если вы прочли ту заметку, то наверное уже догадываетесь, что ни кнопка, что висит на прерывании ни резисторы на ней и прочее -никаких боком не относятся к проблеме. Ваша помеха скорее всего приходит на другие входы/выходы. Она может прийти даже по питанию. Нам неизвестно что и как вы включали, т.к. схем вы не рисовали, фотографий изделия не присылали. Так что советовать конкретнее нечего..
Хорошая книжица у меня есть, хоть и старая - 1990г: Дж.Барнс Электронное конструирование: методы борьбы с помехами.
В инете тоже видел.
ОК, друзья нарисую схему! Она безумно проста!
это только кажется....
Еще с эры пояния Синклеров помню - чем больше керамики по питанию, тем лучше, плюс все не используемые выводы на +пит или -пит, в зависимости от логики, далее на кнопочку повесить не один кондей, а пару(а то и три) на 1мкф, 0,1 и 100пФ., а про максимально короткие выводы, еще раньше было сказано.
Друзья, а есть в моем случае принципиальное отличие между керамикой и электролитическими кондерами! Где какие вешать? Схему сегодня нарисую!
Ещё раз. Повесте керамический конденсатор 100-1000 пикофарад между ножкой прерывания и землёй. Максимально короткими ногами, особенно в сторону INT ноги. К ноге INT припаяйте резистор 1К и все подключения через него. Включить внутреннюю подтяжку или зашунтировать конденсатор резистором 10к (либо подключить 10к между + и INT, если логика отрицательная). Проверить срабатывание прерывания от помех. Если срабатывания происходят, то проблемы через другие ноги. Все не использованные надо запрограмировать в режим ВЫХОД. Если прерывания от помехи всё ещё происходят, напаять керамических конденсаторов как можно ближе к вводам питания процессора. Если прерывания от помехи ещё происходят - искать ошибки программы.
ОК....спасибо огромное!!!! Но схему все равно кину сегодня! Вечером буду пробовать!
Как тут фото вставить?
Друзья, сделал как советовали. Поставил 1 кОМ к входу INT, и все через него теперь подсоединяю. Поставил кремику на 1000пкФ на этот же вход (вход - земля). Вроде бы все получилось. Нет помех...СПАСИБО!!!!
НО!!! Земетил такой прикол интересный....смотрите. Ессли я цепляю реле-шилд....и комутирую +12В, то в том случае, если у меня "по умолчанию" питание клапана замкнуто, т.е. на "нормально замкунтый" вход подулючено питание +12В, а зетем я коммутирую, и как бы "разрываю птание", то появляется ложное прерывания опять!!!! А ВОТ ЕСЛИ НАОБОРОТ, "нормально разомкунтый" - питание клапана, и я его разрываю, подавая на реле LOW, то все СУПЕР!!! Никаких ложных наводок нет...ПОЧЕМ ТАК? Кто как думает?
Кстатит, теперь "тыкаю" в птание GND - все ОК!!!!
ЧЕГО-ТО ТУТ НЕ ТАК....ВСЕ РАВНО ЖОПА!!!! ЛОЖНЫЕ ПРЕРЫВАНИЯ!!!! ((((((((((((((((
КАК ТОЛЬКО ЦЕПЛЯЮ РЕЛЕ-ШИЛД - ТАКАЯ ВОТ ПРОБЛЕМА ВЫСКАКИВАЕТ!!!!
Вот тут еще парадокс, получается, что почему-то в этом реле шилде все таки есть общая землся между силовой частью и питанием самого реле. Я делаю по другому, и вот что получается. Если у меня есть общая земля между моим клапаном и моей схемой, то как только происходит как-то дрребезг или касание земли любым метлическим преметом, возникает ЛОЖНОЕ ПРЕРЫВАНИЕ!!!!
zvr_84, у вас наверняка то, о чём я писал в #9. У вас 3 провода связывает реле и ардуино. И по любому из 3х может пролезть микросекундная помеха. Без хорошего осциллографа вы не сможете узнать откуда она, а значит подобрать "лекарство". Единственный вариант обхода проблемы -полная 100% опторазвязка платы ардуины и реле.
Добрый день! Я это пробывал через шилды с опторнами встроенными! Чего-то ума не дал!
Тут другой вопрос интересный! Я не очень силен в электротехнике, но вот выходит! Вся эта петрушка с-прерыванием вощниает тогда, когда я просто соединяю землю двух источников! 5 и 12 ведь они же оба постоянны! Это же допустимо! И вот именно если их соеденить, и и в этот момент и возникают помехи! Сам понимаю, что только развязать земли! Но как-то глупо выходит! Типовые схемы, а так себя ведут!
ЧЕГО-ТО ТУТ НЕ ТАК....ВСЕ РАВНО ЖОПА!!!! ЛОЖНЫЕ ПРЕРЫВАНИЯ!!!! ((((((((((((((((
Попробуйте поставить импульсный диод параллельно клапану, у самого клапана, в обратном включении.
Ставил! Все ставил! Никак....видимо только как-то развязать земли!!!!
А на самой дуне по питанию ставили 0.01-0.1 мкф непосредственно к ногам МК?
Дуня от USB питаю пока....куда именно ставить кондеры?
На МК atmega328 8 и 22 выводы-земля, а 7 и 20 питание, поможет-нет не знаю, попытка не пытка...
Спасибо!!!!! Но все таки наверно буду покупать твердотельное реле! Надеюсь забыть о помехах! Ототзывы положительны!