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

три частоты на АТмегу 128 с использованием таймеров

Берем Ваш метод 1000 измерений, для простоты 4 измерения, складываем измеренные частоты но делим не на 4 а на 2, получая тем самым дополнительные знаки до или после запятой. Так это работает для АЦП в частности. Шум здесь действительно имеет значение, именно он "размазывает" измерения, позволяя извлечь дополнительную точность

 

1) Если сложить 4 измерения, а поделить на 2, как вы предлагаете, то получите не дополнительные знаки, а чудовищную ошибку. Например, 4 измерения 1000, 1002, 1004, 1006, среднее даст 1003, а ваше деление 2006. Ваш подход никуда не годится.

 

2) Прочитал статью по вашей ссылке из поста #222, в первом приближении оверсамплинг работает так, как я описал выше. Чтобы получить дополнительные знаки, придётся сильно потрудиться, в частности, фильтровать сигнал после ацп в более узкой полосе.

 

3) Если просто суммировать N значений с ацп, и сумму поделить на N, то вы получите матожидание, или попросту говоря, среднее значение. Конечно, среднее значение будет меньше телепаться, чем одиночное измерение, но точность его будет не лучше. И вообще, для оценки качества обработки серии измерений лучше следить за стандартным отклонением, оно более показательно.

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


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

=GM= 1) Если сложить 4 измерения, а поделить на 2, как вы предлагаете, то получите не дополнительные знаки, а чудовищную ошибку. Например, 4 измерения 1000, 1002, 1004, 1006, среднее даст 1003, а ваше деление 2006. Ваш подход никуда не годится.

 

Да, я по дороге с работы по морозцу это осознал - механизмы разные. Значения АЦП еще и масшабируются по новой шкале под референс. А у нас референса нет.

Изменено пользователем Kabron

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


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

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

Fundamentals_of_the_Electronic_Counters.pdf

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


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

Не, не надо. Частная беседа - это частная беседа по определению. Как модифицировать метод - расскажите здесь, если только кратко и вдумчиво, если длинно и непонятно - лучше не надо.
Ну собственно просто скопирую этот кусок(тока кусок..) из нашего обсуждения:

singlskv:
я вот чего совсем не понимаю, зачем в данном случае придумывать самому себе сложности ?
зачем для этого алгоритма выбирать именно 1мс интервалы начала нового интервала(для частот порядка Мгц) ?
кто собственно мешает сделать эти интервалы действительно независимыми ?

ну вот возмем к примеру длительность начала очередного измерения как некое случайное число 
от 10000(500мкс) до 30000(1,5мс) тактов (пойдут даже псевдослучайные с нормальным распределением)

тогда и средняя длительность всех 1000 измерений будет ~2сек
и каждый интервал будет действительно независимым относительно той точности которую мы можем получить за 1000 измерений
и проц с такими интервалами точно справится

зачем все усложнять и пытаться доказывать возможность перехода от случайных начал преобразований к переодическим,
тем более это не так, по крайней мере на всем множестве входных частот ?

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


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

Извините за новый пост в "забытой" ветке, но тема "три частоты на ATmega128 с использованием таймеров" меня очень интересует. Почитав ветку я значительно повысил свои знания по точности измерения частоты, но ответа про "три частоты на ATmega128...", к сожалению не увидел. В ветке вскользь описывалась схема измерения нескольких частот с использованием компаратора, но это, по-сути, одноканальный частотомер. Если уважаемых членов форума не затруднит, то хотелось бы услышать ответ на вопрос - можно ли измерять 3 (а лучше 5) частот одновременно. Если "да", то на какие ноги МК следует подводить сигналы измеряемых частот (AVR только начал изучать - задача заставила).

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


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

1) Можно, читайте пост #28

2) Не компаратор, а мультиплексер, читайте пост #28, там всё написано

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


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

Прошу прощенья за описку. Конечно я имел ввиду мультиплексер, а не компаратор. С мультиплексером все более или менее понятно. Насколько я понимаю, каналы всех СТА частот мультиплексируются и подаются на МК по одному каналу. Пост 28 я читал.

 

ещё один метод измерения придумался, и не одной, не трёх, а десятков частот. После получения стартовых Мнач и Nнач и завершающих пар Мкон и Nкон для одной частоты подключаете к МК мультиплексором другую частоту и получаете новую пару стартовых М и N. И так для десятка-другого частот, насколько мультиплексора хватит и в зависимости от требуемой точности. В течение одной секунды можно измерить СТО частот, поскольку для достижения точности ±1 Гц предлагаемым методом потребное время измерения составляет 10 мс (для максимальной частоты 170 кГц)

 

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

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


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

Что вы имеете в виду, говоря "одновременно"? Разные частоты дадут фронты входных сигналов с разбросом во времени, так что строго говоря измерение трёх частот не может быть осуществлено одновременно. Если допусается некий разброс в "одновременности", то можно поставить МК с несколькими схемами захвата. Например, МК АТмега1280 имеет четыре схемы захвата, значит, можно измерить четыре частоты "одновременно". Но лучше пмсм поставить три самых дешёвых МК с одной схемой захвата в каждом.

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


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

Спасибо, понял. Я опять выразился некорректно. Одновременно, это означает независимо и параллельно. Для измерения 3-х частот я предполагал выбрать ATmega32, который, если я не ошибаюсь, имеет три схемы захвата.

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


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

Зачем с первого? Читайте описание на конкретный МК. МК может иметь несколько таймеров, каждый таймер в своём составе может иметь модуль захвата (а может и не иметь). ATmega32 имеет три таймера, но только таймер1 имеет схему захвата.

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


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

Реализация описанного алгоритма для AVR

http://chipenable.ru/index.php/programming...mer-na-avr.html

 

К сожалению не удалось добиться заявленной точности

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


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

К сожалению не удалось добиться заявленной точности

мне тоже не удалось обычным счетчиком за 1 сек добится заявленной точности 1гц(молчу что я подавал на вход и как), были расхождения с китайским частотомером несколько гц при частоте ~1000гц :)

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

за метод спасибо, какраз задачка простая стоит в измерении нексольких частот, благо на конкретном контроллере дох таймеров ;)

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


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

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

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

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

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

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

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

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

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

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