|
|
  |
Подсчет частоты на ATtiny85 |
|
|
|
Aug 26 2008, 16:36
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(domowoj @ Aug 26 2008, 18:04)  А скакой точностью измерить? Если входную частоту просто поделить - будет потеря точности. Если при этом тупо считать импульсы на выходе делителя - то да. А если измерить их период, используя, скажем, ICP - то разрешение по частоте определяется опорником таймера и временем счета, а от коэффициента деления прескалера не зависит, даже если из прескалера нельзя извлечь остаток... Цитата(defunct @ Aug 26 2008, 17:07)  Чем? Очевидно тем, что у контроллеров от Microchip есть обычно асинхронный прескалер с паспортной частотой до 50-60 MHz (реально больше 80).
|
|
|
|
|
Aug 26 2008, 21:49
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(zhevak @ Aug 26 2008, 15:15)  Точность измерения частоты не зависит от длительности измерения Ну положим, относительная погрешность измерения частоты имеет несколько слагаемых, но в первом приближении, она обратно пропорциональна времени измерения при прочих равных условиях. Цитата(garlands @ Aug 26 2008, 15:26)  Думаю, это будет интересно не только ТС. Поделитесь методом с общественностью, плиз Поделиться не проблема, решение-то очевидное, но детали могут существенно повлиять на реализацию предполагаемого варианта, поэтому давайте подождём ответов автора. А что за аббревиатура такая ТС?
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Aug 26 2008, 22:00
|
Местный
  
Группа: Свой
Сообщений: 364
Регистрация: 15-04-08
Из: UA
Пользователь №: 36 798

|
Цитата(=GM= @ Aug 27 2008, 00:49)  Ну положим, относительная погрешность измерения частоты имеет несколько слагаемых, но в первом приближении, она обратно пропорциональна времени измерения при прочих равных условиях.
Поделиться не проблема, решение-то очевидное, но детали могут существенно повлиять на реализацию предполагаемого варианта, поэтому давайте подождём ответов автора. но все равно интересно и полезно будет  а как можно вывернуться, чтобы обойтись без внешнего делителя при условии, что счетчик не может считать при частоте, превышающей тактовую?... Цитата А что за аббревиатура такая ТС? ТС - ТопикСтартер  (да, банальная лень...  )
|
|
|
|
|
Aug 27 2008, 08:31
|
Участник

Группа: Свой
Сообщений: 68
Регистрация: 29-12-06
Из: Омск
Пользователь №: 23 999

|
Чего сложного-то? делим сигнал тупо на N внешней микрухой- счетчиком, и подаем в T0. В Tiny суем прерывание на T0OVF. Каждый раз увеличиваем 4-байтную переменную на 1. Прескалер 1:1.
Отдельное прерывание на другой таймер (или внешний сигнал) - чтобы отмерить 1 секунду. Каждую секунду: частота сигнала = (Счетчик *256 + TCNT0)*N Гц. Погрешность в среднем +- 0.5*N Гц.
Затем сбрасываем счетчик, очищаем Tcnt0 и - по новой.
|
|
|
|
|
Aug 27 2008, 10:45
|
Местный
  
Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527

|
Цитата(Syberian @ Aug 27 2008, 12:31)  Чего сложного-то? GM пообещал рассказать как измерить частоту выше тактовой БЕЗ переделки схемы ( то есть без внешнего счетчика). Потратив на это всего один дополнительный вывод порта. Про деление внешним счетчиком и так понятно.
|
|
|
|
|
Aug 27 2008, 16:27
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(Qwertty @ Aug 27 2008, 13:41)  В 13-м сообщении. Черным по белому написано - "Если нужна точность порядка ±1 Гц, то вроде бы есть один вариантик, можно и без переделки обойтись. Ноги свободные есть?". То есть кроме свободных ног ничего не нужно.  Не, свободные ноги нужны, чтобы получить точность порядка ±1 Гц. Прошу прощения, если кто-то не так понял мой пост, плату можно не переделывать, тонкость в том, что на неё подавать.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Aug 27 2008, 16:34
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(=GM= @ Aug 27 2008, 20:27)  Не, свободные ноги нужны, чтобы получить точность порядка ±1 Гц. Прошу прощения, если кто-то не так понял мой пост, плату можно не переделывать, тонкость в том, что на неё подавать. Чтобы получить _точность_ 1 Hz для входной частоты 33 MHz, в первую очередь надо озаботиться опорником соответствующей точности (3E-8 - это не ширпотреб). А уж как получить _разрешение_ 1 Hz - зависит от аппаратной части. Да, окном счета как-то надо управлять, и внешние довески с управлением нужны...
|
|
|
|
|
Aug 27 2008, 19:15
|
Местный
  
Группа: Свой
Сообщений: 364
Регистрация: 15-04-08
Из: UA
Пользователь №: 36 798

|
Цитата(=GM= @ Aug 27 2008, 19:27)  Не, свободные ноги нужны, чтобы получить точность порядка ±1 Гц. Прошу прощения, если кто-то не так понял мой пост, плату можно не переделывать, тонкость в том, что на неё подавать. хех. так это-же совсем другое дело! вопрос всего-лишь в том, ЧТО подавать на вход... я практически разочарован.  а ожидали-то все чуда и "серебряной пули"...  ПЫСЫ: на вход можно подать и вообще уартом частоту, намерянную внешним счетчиком на более серьезном контроллере...  (или даже внешней россыпью...  )
|
|
|
|
|
Aug 28 2008, 08:41
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(kamil yaminov @ Aug 28 2008, 02:31)  GM, не поделитесь чудом? заинтриговали, теперь работа встанет точно! Ну я не знаю... Хотелось бы продать разработку, патентовать идею смысла нет, поскольку слышал, что устройство, работающее на подобном принципе, существует и, думаю, запатентовано. Сам я ни устройства, ни патента не видел. Цитата(rx3apf @ Aug 28 2008, 05:31)  Попробую угадать - разность фаз преобразовывается в напряжение и измеряется ADC? По-другому.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|