Arduino-metr. Часть 2. Частота.

Если с АВО-метрами (Ампер-Вольт-Ом-метр) все было достаточно просто, то  с измерением частоты в прошлом веке было немного сложнее. Частотомеры представляли собой большие и дорогие устройства. Далеко не у каждого радиолюбителя было такое устройство в домашней лаборатории.

Но у нас есть мощь 16-мегагерцевого процессора, которая позволит заменить несколько килограмм железа прошлого века.

Для самой простой реализации частотомера нам понадобится любой вариант Arduino и любой индикатор, способный отображать цифры. Я взял для демонстрации Arduino Nano и 16х02 LCD, подключаемый по шине I2C, для экономии используемых контактов. На экране видна частота наводимого на входе напряжения.

Благодаря написанной еще 5 лет назад библиотеке FreqCount, мы можем реализовывать на Arduino системы измерения частоты. Код такой программы не отличается сложностью.

Собственно для измерения частоты использовано всего 2 команды. А максимально измеряемая частота зависит от частоты процессора и равняется ее половине. Так, для платы Arduino, с установленным кварцевым резонатором на 16 МГц, максимально измеряемая частота равняется 8 МГц. В случае работы от внутреннего тактового генератора (8 МГц), измеряемая частота снижается. Но согласно паспорта от производителя, штатной частотой для Atmega328 является так же и 20 МГц, а некоторые умельцы разгоняют микроконтроллер и до 27 МГц.

Однако у данной библиотеки есть одно ограничение, которое необходимо учитывать при проектировании устройств с ее использованием. Подсчет происходит за счет прерывания TIMER1, которое аппаратно привязано  к цифровому контакту D5. К сожалению переназначить данный контакт никак не получится, как и реализовать подобный алгоритм с использованием других двух аппаратных таймеров микропроцессора.

Для проверки работы данного устройства был использован DDS-генератор из китайского набора для сборки. Он вполне справляется с выдачей сигналов различной формы. Вот мы и посмотрим как наш частотомер сможет их распознать.

Первым был синусоидальный сигнал. Разные частоты определялись довольно таки точно.

А дальше смотрим, будет ли на какой либо из форм сигнала, отличной от синусоиды, вести себя прибор как-то не так.

Треугольник.

Пила.

Меандр.

Так как наш DDS работает на частотах только до 65 кГц, у генератора есть отдельный выход ВЧ сигнала. С распознаванием которого наш частотомер справился отлично.

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

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