Вопрос по прерываниям

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
servo
Встал на лапы
Сообщения: 88
Зарегистрирован: Вс окт 30, 2011 22:52:51

Вопрос по прерываниям

Сообщение servo »

Потребовался мне частотомер для измерения частоты от 0 до 1000Hz, долго копался в интернете нашел кучу вариантов. Взял первый понравившийся с схемой в proteus и исходником на cvavr. Одна лишь проблема он мерит низкий диапазон, округляя до сотен hz. Непойму как его поправить, чтобы точно измерял нужный мне диапазон :)

помогите , с прерываниями не пробовал пока ничего делать никак не воткнусь как их правильно "готовить" :)



Перенёс в подходящий раздел
ploop
Вложения
проект_частотомер.rar
(58.08 КБ) 161 скачивание
Реклама
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Вопрос по прерываниям

Сообщение Jack_A »

Вообще-то прерывания - это в раздел по микроконтроллерам.
Такие низкие частоты необходимо измереть "обратным" методом - через период , иначе для приемлемой точночти понадобится слишком большое время измерения. А так задача элементарна : по нулевому импульсу запустил счет микросекунд, по десятому ( сотому и т.д. ) остановил и по букварю : F = 1 / T .
А частоту 0 Гц никак не измеришь - это постоянный ток ...
Реклама
Аватара пользователя
servo
Встал на лапы
Сообщения: 88
Зарегистрирован: Вс окт 30, 2011 22:52:51

Re: Вопрос по прерываниям

Сообщение servo »

Jack_A писал(а):Вообще-то прерывания - это в раздел по микроконтроллерам.
Такие низкие частоты необходимо измереть "обратным" методом - через период , иначе для приемлемой точночти понадобится слишком большое время измерения. А так задача элементарна : по нулевому импульсу запустил счет микросекунд, по десятому ( сотому и т.д. ) остановил и по букварю : F = 1 / T .
А частоту 0 Гц никак не измеришь - это постоянный ток ...
Спасибо за подробный ответ :) буду пробовать :)
Аватара пользователя
servo
Встал на лапы
Сообщения: 88
Зарегистрирован: Вс окт 30, 2011 22:52:51

Re: Вопрос по прерываниям

Сообщение servo »

Jack_A
т.е по сути наверно можно прицепить к МК часовой кварц на 32768 и по нему делать прерывание точно раз в секунду и выводить частоту на индикатор .. за период между прерыванием можно подсчитать кол-во импульсов.(частоту в Hz)
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Вопрос по прерываниям

Сообщение Jack_A »

Нет, Вы не вникли в суть моего поста. В таком случае если будете измерять, скажем, 2Гц, то в зависимости от времени начала и конца отсчета будете иметь мелькающие 1Гц - 2Гц, т.е.погрешность 50%.Суть - измерять период между импульсами.
Сейчас на сон клонит, а завтра, если не лень, накропаю схему алгоритма.
А кварц часовой ни к чему. Интервал 1с мы запросто могем отсчитать и с 8MHz-вым кварцем. :)
Реклама
Аватара пользователя
servo
Встал на лапы
Сообщения: 88
Зарегистрирован: Вс окт 30, 2011 22:52:51

Re: Вопрос по прерываниям

Сообщение servo »

Jack_A писал(а):Нет, Вы не вникли в суть моего поста. В таком случае если будете измерять, скажем, 2Гц, то в зависимости от времени начала и конца отсчета будете иметь мелькающие 1Гц - 2Гц, т.е.погрешность 50%.Суть - измерять период между импульсами.
Сейчас на сон клонит, а завтра, если не лень, накропаю схему алгоритма.
А кварц часовой ни к чему. Интервал 1с мы запросто могем отсчитать и с 8MHz-вым кварцем. :)
да Вы были правы ошибка очень большая :) помойму даже больше чем 50% ..
как измерить период между импульсами пока не понимаю :)
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»