помощь 🙏
Подскажите, пожалуйста, как в руководстве пользователя описать задержку фиксации срабатывания датчика, что бы исключить эффект дребезга?
Самое противное то, что это аналоговый датчик, а это пороги и его преодоление и вот это вот все
Допустимое время отклика ... с.
уточню задачу: Есть датчик, он отдает силу тока с 4 по 20 мили Ампер (мА) на контроллер. Мы ставим уставку на 10мА, хотим что бы при 10мА и более срабатывал триггер события. Датчик опрашивается 100 раз в секунду. За эту секунду он выдает 100 случайных ответов от 9 до 11 мА. Это так называемый "дребезг". Что бы исключить этот эффект, копим данные в течение N сек, а затем выдаем решение: триггеру быть или не быть.
Так это не частота опроса датчика? Вы в цикле проверяете уровень сигнала.
Нет циклов... Когда контроллер увидел достижение порога, он закрывает глаза на n секунд, а потом открывает и смотрит еще раз. Если порог все еще достигнут, запустить триггер
Ну так а как он проверяет порог? Там наверняка какой-то loop.
я пишу доку для юзеров, а не прогеров поэтому забудем пока про loop юзеру все равно "как", юзеру важно "зачем" постараюсь быть точным: явление дребезга не может быть устранено, но может быть обработано программно. Например, проверить, подождать проверить. Если первый раз - true и второй раз true, запустить триггер. Иначе не запускать, ибо ложное срабатывание
Дребезг — это шум, паразитные скачки, меандра. Вы задерживаете опрос, чтобы не считывать этот шум. То есть по сути мы меняете частоту опроса.
да нет же. у них опрос 100/сек. и каждый раз датчик выдает дискретные значения, которые могут превышать заданный порог. Там снятие происходит мгновенно. Нужна интегральная функция, условно
Да, вы правы, всё наоборот. Это буфер у них.
все верно, но частота опроса не изменяется при достижении 10мА сама программа игнорит данные за оставшиеся 0,99 с, и начинает снова воспринимать их спустя n сек. ИМХО, мы полезли в дебри...
Но при таком подходе как вы описали, есть вероятность, что в оба момента из-за дребезга значение будет выше порога и триггер сработат ложно. Интегральное значение видится более логичным.
вообще, вы правы) сообщу программистам
Обсуждают сегодня