@SymbiSoft
Инженер наладчик станков с ЧПУ, в душе программист

Как подсчитать количество импульсов за единицу времени?

Доброго времени суток.
Встал вопрос по поводу подсчёта количества импульсов со счётчика Гейгера-Мюллера с помощью ардуины.
На вход цифрового пина подключен вывод транзистора, который при пробое трубки подает +3.3В(логическую единицу).
Как подсчитать количество импульсов - тут проще простого. А как сделать подсчет за определенный промежуток(1сек, 10сек, 100...)?дабы сделать разные режимы подсчёта и точности.
  • Вопрос задан
  • 2008 просмотров
Решения вопроса 1
@d-stream
Готовые решения - не подаю, но...
Инкрементим по каждому импульсу переменную, а по таймеру с нужным интервалом читаем и обнуляем эту переменную.

То бишь "в лоб" читаем-обнуляем каждую минуту => число импульсов в минуту

Понятное дело что будет неблагодарным занятием читать-обнулять этот счетчик каждую секунду, если импульсы приходят раз в минуту (то бишь чаще чем прилетают импульсы).
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Как мне кажется, проще всего считать за секунду и складывать в массив, длину которого выбрать по максимальному времени подчета. Нужно за 10 секунд? Складываешь 10 последних элементов. К тому же по массиву можно график во времени нарисовать, а это очень наглядно.
Ответ написан
ProgrammerForever
@ProgrammerForever
Учитель, автоэлектрик, программист, музыкант
Как вариант - измерять не частоту, а период следования импульсов. И считать по скользящему среднему за N щелчков. Фон будет считаться медленно, потому что щелчков мало, но если данных будет много - то показания будут изменяться быстрее. Но в любом случае, точность будет предсказуема и примерно одинакова на любой скорости щелчков.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы