Частотомір – це прилад, який вимірює частоту зовнішнього сигналу. Вхідний сигнал може бути як аналоговим, так і цифровим. На рис. 3.38 показана блок-схема частотоміра.

Рис. 3.38. Блок-схема частотоміра

На вхід надходить аналоговий сигнал. Вхідний підсилювач і формувач підсилюють його і задають порогове значення (для перетворення в цифровий сигнал). Пристрій має точний внутрішній тактовий генератор, який управляє комутатором лічильника. Тривалість часу, протягом якого вхідний сигнал надходить через комутатор на лічильник (час відліку), залежить від необхідної точності вимірювання. Наприклад, для вимірювання сигналу з точністю до 1 Гц комутатор повинен включатися на одну секунду. Для вимірювання з точністю в 0,1 Гц час відліку має становити десять секунд. Результат на виході лічильника відображається на світлодіодному індикаторі.

Якщо частота вхідного сигналу дуже низька, то для її вимірювання знадобиться надзвичайно тривалий час відліку. Один із способів вирішення цієї проблеми – використовувати в якості сигналу на комутаторі сам вхідний сигнал і заміряти частоту, що генерується внутрішнім тактовим генератором (рис. 3.39). Однак так ми отримаємо період вхідного сигналу. Для перетворення періоду в частоту потрібно виконати простий математичний розрахунок.

На рис. 3.40 приведена тимчасова діаграма сигналів частотоміра. Сигнали на лічильнику періодів аналогічні.

Рис. 3.39. Принцип вимірювання періоду сигналу

Рис. 3.40. Тимчасова діаграма сигналів частотоміра

Специфікація проекту

Пристрій повинен вимірювати частоту вхідного сигналу і відображати результат на семисегментний дисплеї в два з половиною цифри. Всі блоки, показані на рис. 3.38, маються на самому микроконтроллере, який може також виконати і необхідні обчислення для перетворення періоду в частоту.

Частотомір з автоматичним визначенням діапазону може автоматично вибрати шкалу відліку (по частоті вхідного сигналу). Наш частотомер має дисплей з діапазоном від 0 до 199, діапазони відображуваних частот наведено в табл. 3.3.

Таблиця 3.3. Діапазони частотоміра

Номер діапазону

Інтервал частот, кГц

Час відліку, з

1

0-0,199

1

2

0 – 1,99

0,1

3

0-19,9

0,01

Обраний діапазон виміру вказують десяткові крапки. Для першого діапазону вимірювання включається права десяткова точка; для другого – середня, для третього – ліва.

Опис пристрою

Схема пристрою аналогічна проектам 8 і 9, але вхідний сигнал подається з роз’єму SL1 схеми, показаної на рис. 3.33. D1 – це стабілітрон на 5 В, який обмежує амплітуду сигналу, a R3 – токоогранічительний резистор. Вхідний сигнал повинен бути однополярним (позитивної полярності).

Програмування

Відкомпільований код проекту (разом з файлом MAKEFILE) можна завантажити з адреси: www.avrgenius.com/tinyavrl.

Тактова частота дорівнює 8 МГц. Пояснимо найважливіші фрагменти коду.

Лістинг 3.7

ISR (PCINTO_vect)

{

edgecounter++;

}

Лістинг 3.7 – процедура обробки переривання по зміні стану контакту РВ5. Лічильник edgecounter подвоює частоту в кінці періоду роботи комутатора. Час відліку встановлено рівним одній секунді. В кінці кожного періоду роботи комутатора число імпульсів за секунду підраховується шляхом ділення edgecounter на 2. Потім результат округляється (як у попередніх двох проектах) і відображається на дисплеї.

Робота пристрою

Частота вимірюється шляхом подачі вхідного сигналу на роз’єм SL1. Необхідно відзначити, що свідчення оновлюються тільки раз на секунду.

Джерело: Гадре, Д., Цікаві проекти на базі мікроконтролерів tinyAVR / Дхананья Гадре, Нігула Мелхотра: Пер. з англ. – СПб .: БХВ-Петербург, 2012. – 352 с .: іл. – (Електроніка)