Схемы металлоискателей MD4U
http://md4u.ru/

Частотомер на Arduino
http://md4u.ru/viewtopic.php?f=98&t=10401
Страница 1 из 1

Автор:  Buldakov [ Сб: 27 авг 2016 17:46 ]
Заголовок сообщения:  Частотомер на Arduino

Предлагаю создать тему про измерение частоты с использованием Arduino плат и ЖК индикатора типа 1602.
Достоинства данного проекта прибора:
-Возможность купить готовые платы с микроконтроллером и индикатором.
-Невысокая стоимость покупки плат от 5 до 10 долларов.
-Возможность изменения технических характеристик только путем изменения программы.
-Открытый исходный код.
Планируется использовать плату Arduino Uno имеющую в своем составе контроллер Atmega328 работающий на частоте 16 мГц.

Предварительные технические характеристики которые планируется получить:
-Входная измеряемая частота от 2 до 65000 Гц.
-Уровень сигналов входной частоты - стандартные для ТТЛ логики.
-Точность измерения частоты в диапазоне до 10000 Гц составляет 0.001 Гц
в диапазоне от 10000 до 65000 Гц составляет 0.01 Гц.
-Время измерения входной частоты - 1 секунда.

Все замечания и дополнения принимаются.

Автор:  Victorio_s [ Сб: 27 авг 2016 18:45 ]
Заголовок сообщения:  Re: Частотомер на Arduino

Вопрос по точности... Зачем 0,001Гц? Какая практическая польза? Для большинства измерительных приборов класс точности 2,5 выше крыши. 0,5 уже используются для поверки первых. А в данном случае??? Зачем?
Точности в герцы уже будет выше крыши.
А готовые варианты в сети искали? Кто скетч будет писать?

Автор:  Buldakov [ Сб: 27 авг 2016 19:11 ]
Заголовок сообщения:  Re: Частотомер на Arduino

Как скажите.
Можно просто выкинуть 3 знака после запятой и все.
Частотомеры в сети искал. Код буду писать сам.
А практическая польза - измерить как и насколько меняется частота LC генератора при подносе к катушке различных видов металлов при частотах генерации около 6000 Гц.

Теперь для вас вопрос:
Если мы измеряем частоту с классом точности 2.5 процента и измеряемая частота 10 мГц. а частотомер
вместо 10.000.000 Гц покажет 10.249.999 Гц. с точностью до 1 Гц вас этот вариант точности устроит?
Или например часы будут убегать на 30 минут в день? вас этот вариант тоже устроит?

Автор:  Victorio_s [ Вс: 28 авг 2016 6:52 ]
Заголовок сообщения:  Re: Частотомер на Arduino

Я спросил зачем? А ваш пример другая крайность. Если мне надо узнать, есть ли 10 МГц ,меня устроит и 9...11 на шкале прибора. Если надо настроиться на радиочастоту 10 МГц, я захочу погрешность в 0.01МГц.
А сами думаете как: при измерении 10кГц с ценой деления в одну тысячную герца, с какого знака можно будет верить ардуино?

Автор:  Buldakov [ Вс: 28 авг 2016 7:29 ]
Заголовок сообщения:  Re: Частотомер на Arduino

Я уже писал, что при измерении частоты в 10 кГц можно верить третьему знаку после запятой. Вся стабильность будет определяться кварцем Arduino. Речь идет об относительной погрешности. Это при отсутствии эталонного генератора частоты. Если нужна абсолютная точность здесь уже нужен будет эталонный генератор частоты. Но в данном случае нужно измерение относительно малых изменений частоты и эталонных генераторов не надо.

Краткий принцип работы частотомера:
С приходом первого счетного импульса запускается счетчик тактовой частоты(который считает количество импульсов тактового генератора Arduino = 16 мГц). После истечении времени измерения (1 секунда) и с приходом фронта первого следующего счетного импульса счетчик тактовой частоты останавливается и происходит операция деления.
Например: Время измерения = 1 сек. Количество счетных импульсов = 64002. Число тактов = 16000168. Полученная частота = 64001.33 Гц.
Кратковременная стабильность определяется кварцем и программным кодом и составляет +/- 2 ед. младшего разряда от 16000000.

Автор:  Sergey_P [ Вс: 28 авг 2016 9:10 ]
Заголовок сообщения:  Re: Частотомер на Arduino

Buldakov писал(а):
Кратковременная стабильность определяется кварцем
голый - 10-6...10-7, термокомпенсированные - 10-7...10-8, термостатированные - 10-8...10-9

Автор:  Buldakov [ Вс: 28 авг 2016 11:19 ]
Заголовок сообщения:  Re: Частотомер на Arduino

Примерный код того, что есть сейчас.
Входная частота подается на вход PD2. (вход прерывания INT0 платы)
Индикатор LCD 1602 подключенный по шине i2c (выводы SDA и SCL)
Работает пока только при наличии входной частоты. Если входной частоты нет - то ноль не показывает. Поэтому измеряет только частоту от 2 Гц.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/