Перейти к содержанию
    

Подсчет частоты на ATtiny85

А скакой точностью измерить?

Если входную частоту просто поделить - будет потеря точности.

Если при этом тупо считать импульсы на выходе делителя - то да. А если измерить их период, используя, скажем, ICP - то разрешение по частоте определяется опорником таймера и временем счета, а от коэффициента деления прескалера не зависит, даже если из прескалера нельзя извлечь остаток...

 

Чем?

Очевидно тем, что у контроллеров от Microchip есть обычно асинхронный прескалер с паспортной частотой до 50-60 MHz (реально больше 80).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Точность измерения частоты не зависит от длительности измерения

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

 

Думаю, это будет интересно не только ТС. Поделитесь методом с общественностью, плиз

Поделиться не проблема, решение-то очевидное, но детали могут существенно повлиять на реализацию предполагаемого варианта, поэтому давайте подождём ответов автора.

 

А что за аббревиатура такая ТС?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Поделиться не проблема, решение-то очевидное, но детали могут существенно повлиять на реализацию предполагаемого варианта, поэтому давайте подождём ответов автора.

но все равно интересно и полезно будет :)

 

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

 

 

А что за аббревиатура такая ТС?

 

ТС - ТопикСтартер ;)

 

(да, банальная лень... ;) )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поделиться не проблема, решение-то очевидное, но детали могут существенно повлиять на реализацию предполагаемого варианта, поэтому давайте подождём ответов автора.

GM! Сказали "а" - говорите "б", народ заинтригован, ёрзает на стуле, шепчет "а как это?", работа побоку. :biggrin: Намекните хоть. :santa2:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чего сложного-то? делим сигнал тупо на N внешней микрухой- счетчиком, и подаем в T0. В Tiny суем прерывание на T0OVF. Каждый раз увеличиваем 4-байтную переменную на 1. Прескалер 1:1.

 

Отдельное прерывание на другой таймер (или внешний сигнал) - чтобы отмерить 1 секунду.

Каждую секунду: частота сигнала = (Счетчик *256 + TCNT0)*N Гц.

Погрешность в среднем +- 0.5*N Гц.

 

Затем сбрасываем счетчик, очищаем Tcnt0 и - по новой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чего сложного-то?

GM пообещал рассказать как измерить частоту выше тактовой БЕЗ переделки схемы ( то есть без внешнего счетчика). Потратив на это всего один дополнительный вывод порта. Про деление внешним счетчиком и так понятно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

GM пообещал рассказать как измерить частоту выше тактовой БЕЗ переделки схемы (то есть, без внешнего счетчика). Потратив на это всего один дополнительный вывод порта

Ну вы придумщики, это где это я такое обещал? Кстати, в аврку можно ввести сигналы с частотой НЕ БОЛЕЕ половины тактовой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вы придумщики, это где это я такое обещал? Кстати, в аврку можно ввести сигналы с частотой НЕ БОЛЕЕ половины тактовой.

В 13-м сообщении. Черным по белому написано - "Если нужна точность порядка ±1 Гц, то вроде бы есть один вариантик, можно и без переделки обойтись. Ноги свободные есть?". То есть кроме свободных ног ничего е нужно. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 13-м сообщении. Черным по белому написано - "Если нужна точность порядка ±1 Гц, то вроде бы есть один вариантик, можно и без переделки обойтись. Ноги свободные есть?". То есть кроме свободных ног ничего не нужно. :)

Не, свободные ноги нужны, чтобы получить точность порядка ±1 Гц. Прошу прощения, если кто-то не так понял мой пост, плату можно не переделывать, тонкость в том, что на неё подавать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не, свободные ноги нужны, чтобы получить точность порядка ±1 Гц. Прошу прощения, если кто-то не так понял мой пост, плату можно не переделывать, тонкость в том, что на неё подавать.

Чтобы получить _точность_ 1 Hz для входной частоты 33 MHz, в первую очередь надо озаботиться опорником соответствующей точности (3E-8 - это не ширпотреб). А уж как получить _разрешение_ 1 Hz - зависит от аппаратной части. Да, окном счета как-то надо управлять, и внешние довески с управлением нужны...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не, свободные ноги нужны, чтобы получить точность порядка ±1 Гц. Прошу прощения, если кто-то не так понял мой пост, плату можно не переделывать, тонкость в том, что на неё подавать.

 

хех. так это-же совсем другое дело! вопрос всего-лишь в том, ЧТО подавать на вход...

 

я практически разочарован. :(

 

а ожидали-то все чуда и "серебряной пули"... :)

 

ПЫСЫ: на вход можно подать и вообще уартом частоту, намерянную внешним счетчиком на более серьезном контроллере... ;) (или даже внешней россыпью... ;) )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а ожидали-то все чуда и "серебряной пули"... :)

Ха, чуда...кина не будет, кинщик спился(:-). Я вот недавно придумал способ измерения временных интервалов с точностью ±2нс на МК с небольшой обвязкой, причём частот выше частоты клока в системе нет, вот это чудо! До сих пор не могу придти в себя от изумления. Относительная погрешность одиночного измерения частоты таким методом на 1с интервале составляет примерно 3Е-9, что сопоставимо с кратковременной нестабильностью опорного кварцевого генератора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

GM, не поделитесь чудом? заинтриговали, теперь работа встанет точно!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ха, чуда...кина не будет, кинщик спился(:-). Я вот недавно придумал способ измерения временных интервалов с точностью ±2нс на МК с небольшой обвязкой, причём частот выше частоты клока в системе нет, вот это чудо! До сих пор не могу придти в себя от изумления. Относительная погрешность одиночного измерения частоты таким методом на 1с интервале составляет примерно 3Е-9, что сопоставимо с кратковременной нестабильностью опорного кварцевого генератора.

Попробую угадать - разность фаз преобразовывается в напряжение и измеряется ADC ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

GM, не поделитесь чудом? заинтриговали, теперь работа встанет точно!

Ну я не знаю... Хотелось бы продать разработку, патентовать идею смысла нет, поскольку слышал, что устройство, работающее на подобном принципе, существует и, думаю, запатентовано. Сам я ни устройства, ни патента не видел.

Попробую угадать - разность фаз преобразовывается в напряжение и измеряется ADC?

По-другому.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...