Измерение времени дребезга контактов

А разве не пропустим несколько тактов, сохраняя некоторые значения в стек?
(Это не спор - это вопрос)

Число тактов будет известно и его можно добавить к общему результату …

У таймеров есть специальный механизм для этого и не надо реагировать на каждый чих - только считаем переполнения, если они будут …

Через пол секунды считываем значение из регистра захвата и с учетом переполнений высчитываем длительность …

Я о том случае, если регистрируемое событие закончится раньше, чем войдём в прерывание.

Такты аппаратные, срать они хотели на прерывания.

Для переосмысления сущности.

Аппаратные, значит выполненные в “железе”, в данном случае в недрах МК, но имеющие при этом независимые от МК регистры. МК может только настроить их режим работы, считать(сбросить) значение счета. Остальное таймер-счётчик делает сам.

1 лайк

По этому я и говорю - пусть таймер САМ захватывает своё состояние по импульсам на input capture

1 лайк

Kaktyc, в принципе вы почти описали мой вариант с небольшими поправками, я понял что других вариантов наверно не будет. Я надеялся “а вдруг….”. По поводу написать в коде, спасибо я уж сам как нибудь разберусь. Осталось дождаться моего ослика и промерять дребезги на релюшках.

а реле то есть?

Komandir, а можно поподробнее про таймер?

xDriver, да с релюхами проблем нет, есть в наличии.

вы лучше про конечную цель данного мероприятия расскажите, а то создается впечатление, что вы комплементарную пару хотите подобрать.

Это мне как раз понятно. Захват происходит без прерывания.
Я не понял, как @Kakmyc задумал , с помощью прерываний.
Надо будет ещё подумать, разобраться.

В прерывании по первому импульсу или по питанию реле - стартуем обнулённый таймер.

Ловить остальные импульсы через прерывания считаю ошибкой - можно прозевать крайний импульс уже находясь в прерывании от предпоследнего…

Перечитал тему, возможно я неправильно понял @Kakmyc-a. То что он употребляет слова RISING и FILLING не значит, что речь о прерываниях.
Сбили с толку слова ТС

Если что, приношу извинения за невнимательность.

Komandir, жаль пока не могу ориентироваться по времени дребезга. Почему считаете ошибкой по прерыванию, я ведь буду забивать по прерыванию в переменную данные с таймера по рисинг и последняя запись будет истина, ее я буду считывать скажем через 10 миллисекунд после последнего инта. Или я чегойто не понимаю? Для чего я тут зарядил тему, ребята, есть такое понятие как отсев брака, есть жесткие ГОСТы, подробности пожалуй лишни.

Воотт и пятница))
Лахматить бабушку нам тут не надо, есле реле соотв.гост остальное не ваши проблемы, если только это не академический интерес.
Не?

2 лайка

В ГОСТе есть понятие дребезг контактов?

Из госта: Время от момента, когда входная воздействующая величина электрического реле, находящегося в начальном состоянии, принимает в заданных условиях определенное значение, до момента, когда замкнется в первый раз замыкающий контакт.

Про дребезг ни слова. Первый раз замкнулся - время срабатывания.

скорее всего планируется закупка у китайцев за горсть пятаков, а потом провести “отсев брака” и отобрать те, что укладываются в Гост :slight_smile:

1 лайк

Потому что прерывание - вещь относительно медленная. Пока вы сидите в одном прерывании, могут пролететь еще несколько фронтов и спадов

Дык я и спрашивал про “конечную цель”, партизаны мать их..

Так кто ж о таком напишет :slight_smile: