roboforum.ru

Технический форум по робототехнике.

Таймеры, прерывания,счетчики.

Таймеры, прерывания,счетчики.

Alim » 04 май 2012, 12:21

И снова всем привет.
Необходимо посчитать частоту
переключения кнопки за определенное время.
Пытаюсь подключить анемометр к микроконтроллеру,
но так с таймерами не знаком
не понятно как и с чего начать.
Посоветуйте кто чем...

Re: Таймеры, прерывания,счетчики.

elmot » 04 май 2012, 12:53

Контроллер какой?

Re: Таймеры, прерывания,счетчики.

Alim » 04 май 2012, 13:05

atmega8535

Re: Таймеры, прерывания,счетчики.

elmot » 04 май 2012, 13:36

Не, тада не ко мне.

Re: Таймеры, прерывания,счетчики.

Alim » 04 май 2012, 15:37

на любую другую мегу :Bravo: :Bravo: :Bravo: :Bravo:

Re: Таймеры, прерывания,счетчики.

Madf » 04 май 2012, 16:59

А что за "анемометр" пытаетесь подключать? И вообще в чем суть идеи? А то как бы название темы "Таймеры, прерывания,счетчики" - не о чем. :P

Re: Таймеры, прерывания,счетчики.

mikkey finn » 04 май 2012, 19:46

Название неверное, а по сути вопроса - мега с аснхронным режимом таймера вполне подойдет для ТОЧНОГО определения. Для неточного тоже. Алгоритм такой:
0. Проводим расчеты, источник частоты должен быть стабилен, то есть кварцевый резонатор. Для асинхронного таймера - 32768Гц, другие таймеры - выбрать подходящий предделитель по даташиту. В результате расчета надо получить количество переполнений таймера, на заданный временной интервал, например для кварца 32768Гц 8-ми разрядный таймер за секунду переполнится 128 раз без делителя частоты.
1. запускаем таймер при запуске устройства, датчик, с которого снимаем частоту надо подключить к ноге "внешнее прерывание", например INT0, ногу настраиваем, например, на высокий уровень срабатывания
2. По прерыванию INT0 увеличиваем переменную импульсов датчика.
3. по прерыванию "переполнение таймера" уменьшаем переменную переполнений. Если переменная переполнений стала отрицательной при очередном уменьшении - ставим ей исходное значение, смотрим переменную импульсов датчика. В ней будет число импульсов(оборотов или чего-то еще) за заданный интервал времени - частота оборотов/импульсов.
4. по желанию - выдаем частоту в UART или на индикатор.
Это если софтово. Если аппаратно - задействуем два таймера - один в режиме счетчика внешних импульсов, другой в режиме измерителя. Переменная счетчика импульсов не нужна. Будет два прерывания все-равно - прерывание по переполнению таймера-измерителя времени, прерывание по переполнению таймера-счетчика импульсов(вдруг слишком быстро крутится?). Это уже на домашнее раскуривание. Примеры работы с таймерами есть у ДиХальта на easyelectronics.ru , рекомендую.

Re: Таймеры, прерывания,счетчики.

Alim » 05 май 2012, 15:23

Огромное спасибо всё предельно ясно объяснили :good: :good: .

Re: Таймеры, прерывания,счетчики.

elmot » 05 май 2012, 20:27

Герконы будут или датчики холла?

Re: Таймеры, прерывания,счетчики.

Madf » 06 май 2012, 10:52

я так полагаю, можно сделать проще в алгоритме (судя из поста "mikkey finn"), но как бы входных данных мало..

Re: Таймеры, прерывания,счетчики.

mikkey finn » 06 май 2012, 20:21

это был алгоритм "в лоб". Можно поизвращаться, но зачем?

Re: Таймеры, прерывания,счетчики.

Alim » 08 май 2012, 20:15

будут герконы.
компоненты взяты с вышедшей из строя
метеостанции Ambient WS-1090.

Добавлено спустя 48 минут 20 секунд:
В осадкометры и анемометре по одному геркону а во флюгере 6.
Вложения
s_pic_12347_2_1.jpg
s_pic_12347_2_1.jpg (23.54 КиБ) Просмотров: 2272


Rambler\'s Top100 Mail.ru counter