FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Суббота, 03.12.2016, 18:37
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Замер низкой частоты
Замер низкой частоты
dj_gold
Дата: Четверг, 10.03.2016, 20:36 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 8
Награды: 0
Репутация: 0
Статус: Offline
Всем привет.
Подскажите как сделать замер частоты 2000 Гц за короткое время с точностью 0,01 Гц.
Или лучше замерить период ?
 
Airis Дата: Четверг, 10.03.2016, 22:51 | Сообщение # 2
Майор
Группа: Проверенные
Сообщений: 135
Награды: 4
Репутация: 10
Статус: Offline
Скоростным счетчиком можно измерить количество импульсов за определенный период времени, или длительность импульса - паузы. Но разрядность этих измерений целое количество импульсов и минимальный период в 1 µs.
Если мерить количество импульсов, то для такой большей точности надо мерить очень длительный время (как минимум 100 секунд). При маленькой длительности измерение ошибка будет +- 1Hz.
А если мерить период (длительность импульса - паузы), то при минимальным квантом измерении 1 µs ошибка будет как минимум 3-4 Hz.
Для таких точных изменений надо что то, что способна мерить время хотя бы в ns.

Добавлено (10.03.2016, 22:51)
---------------------------------------------
P.S. Уточнение.
Если мерить период (длительность импульса - паузы), то ошибка будет 8 Hz. Например, диапазон 2005-2012Hz будет давать одинаковое длительность периода = 498 µs.

 
dj_gold Дата: Четверг, 10.03.2016, 23:32 | Сообщение # 3
Рядовой
Группа: Проверенные
Сообщений: 8
Награды: 0
Репутация: 0
Статус: Offline
Если мерить период сигнала за определенное время точность еще больше реальна ...Просто не пойму как это реализовать в этой программе.С помощью 2х таймеров что ли...
А вообще реально видел замер 2200Гц с точностью 6 знаков после запятой.За время 200 мс.


Сообщение отредактировал dj_gold - Четверг, 10.03.2016, 23:47
 
Airis Дата: Пятница, 11.03.2016, 00:40 | Сообщение # 4
Майор
Группа: Проверенные
Сообщений: 135
Награды: 4
Репутация: 10
Статус: Offline
Цитата dj_gold ()
С помощью 2х таймеров что ли...

Для этого в программе блок есть "Скоростной счетчик".

Цитата dj_gold ()
А вообще реально видел замер 2200Гц с точностью 6 знаков после запятой.За время 200 мс.

Не знаю каким способом можно измерить частоту с такой точностью. Если просто мерить количество импульсов за 200 ms, то при 2200 Hz будет насчитано 440 импульсов, но такое же количество будет и при частоте 2198 - 2202 Hz. Счетчик может считать только целое количество импульсов.
Возможно это как то можно сделать используя принцип аналогово цифрового преобразование с большей частотой дискретизации. Но фиг его знает ка это можно сделать на Arduino.
 
Airis Дата: Пятница, 11.03.2016, 01:26 | Сообщение # 5
Майор
Группа: Проверенные
Сообщений: 135
Награды: 4
Репутация: 10
Статус: Offline
Вот такая идея.

Но это только нерабочий пример, как можно посчитать частоту с боле высокой точностью. В реальном проекте для этого надо использовать аппаратный счетчик и генератор.
Прикрепления: 6192285.png(7Kb)
 
DWD Дата: Пятница, 11.03.2016, 09:35 | Сообщение # 6
Подполковник
Группа: Проверенные
Сообщений: 279
Награды: 12
Репутация: 5
Статус: Offline
Широко известны два способа:
1) измеряется количество импульсов неизвестной частоты за заданный период времени.
2) измеряется количество импульсов эталонной (высокой) частоты за один период неизвестной частоты.

Первый подходит только для измерения относительно высоких частот, так как при низких требуется долго ждать результат:
измерение 1 сек - минимальная частота 1 Гц,
измерение 10 сек - минимальная частота 0,1 Гц.

Второй, наоборот, позволяет уменьшить время измерения  низкочастотных сигналов или увеличить точность измерения.
При любом времени измерения точность целиком зависит от эталонной частоты - чем она выше, тем точнее.

При измеряемой частоте 2000Гц минимальное время измерения будет 500мс или пол секунды. Меньше - ни как.

Для получения точности до 0,01 Гц требуется соответственно увличивать эталонную измерительную частоту:
2000Гц/0,01Гц=200 000Гц =200КГц.

Если МК выработает такую частоту с соответсвующей точностью и стабильностью, то все измерения можно будет произвести программно. Иначе придётся ставить дополнительный кварцованый генератор с делителем для получения требуемой частоты 200КГц.

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




Сообщение отредактировал DWD - Пятница, 11.03.2016, 09:38
 
dj_gold Дата: Суббота, 19.03.2016, 16:35 | Сообщение # 7
Рядовой
Группа: Проверенные
Сообщений: 8
Награды: 0
Репутация: 0
Статус: Offline
А если делать замер 100 периодов?У меня сделан магнитометр там прямая частота 2000 Гц после компаратора считается примерно за 100 мс с точностью 0.01 Гц .Там считается 100 периодов сигнала.
Как то с помощью 2х счетчиков один считает входной сигнал второй тактовые импульсы как то так .Просто не сображу как описать...(Умножить сигнал можно хоть в 1000 раз но не хочется городить лишний огород...  Частота входного сигнала измеряется методом временных ворот. Суть метода заключается в подсчете количества
импульсов измеряемого и опорного сигналов за определенный промежуток
времени. 
   Для подсчета количества импульсов измеряемого сигнала используется счетный вход аппаратного таймера. В
качестве опорного сигнала используется тактовый сигнал микроконтроллера.
     Интервал времени, в течение которого выполняются подсчеты импульсов, отмеряется с помощью схемы
захвата аппаратного таймера Т1 и программной задержки. Как то так наверное)

Добавлено (19.03.2016, 16:35)
---------------------------------------------
Как посчитать допустим 100 периодов входного сигнала ?И как можно получить генератор с тактовой частотой процессора ?

Сообщение отредактировал dj_gold - Пятница, 11.03.2016, 17:44
 
rw6cm Дата: Вторник, 05.04.2016, 07:53 | Сообщение # 8
Генерал-майор
Группа: Проверенные
Сообщений: 473
Награды: 43
Репутация: 31
Статус: Offline
Цитата dj_gold ()
Подскажите как сделать замер частоты 2000 Гц за короткое время с точностью 0,01 Гц.
Как вариант можно с помощью этого.


PC, E8400, 3.5Gb, Win7-32, ver.FLP(portable)
 
dj_gold Дата: Вторник, 05.04.2016, 17:18 | Сообщение # 9
Рядовой
Группа: Проверенные
Сообщений: 8
Награды: 0
Репутация: 0
Статус: Offline
Да умножить я могу хоть в 1000 раз а смысл? Мерить нечем все равно. Максимум у счетчика 130 кГц.И считать надо максимум за 0.2 секунды вряд ли такая точность получится...

Сообщение отредактировал dj_gold - Вторник, 05.04.2016, 17:19
 
rw6cm Дата: Среда, 06.04.2016, 08:41 | Сообщение # 10
Генерал-майор
Группа: Проверенные
Сообщений: 473
Награды: 43
Репутация: 31
Статус: Offline
Подсказка была как за короткое время получить высокую точность.
Считывать PIC-ом с хорошим опорным генератором. Получится не плохая альтернатива дорогим приборам.
С ардуиной врятли это возможно, ее частотно задающие характеристики не блещут высокой точностью  и стабильностью.


PC, E8400, 3.5Gb, Win7-32, ver.FLP(portable)
 
Форум » Основной » Спросить у знатоков » Замер низкой частоты
Страница 1 из 11
Поиск:

FLProg © 2016
Яндекс.Метрика