Цифрова шкала на pic16f628a. Схема частотоміра на мікроконтролер з PIC16F628A. Опис Напруга на висновках мікроконтролера


Є одним з найбільш важливих вимірювальних інструментів у лабораторії радіоаматора та ремонтника електроустаткування, природно після вольтметра та тестера. Більшість схем працюють дуже добре, але верхня межа вимірюваних частот іноді виявляється заслабкий. Сучасна приймально-передавальна електроніка вимагає частотомір, здатний брати більше гігагерця. Про такий прилад ми зараз поговоримо. Клік за схемою її збільшення.

Електрична схема частотоміра на МК PIC16F870

Цей цифровий РК частотомір має дуже високу швидкість вимірювання, його дуже легко зібрати і використовувати. Лічильник чисел виконаний на основі РК-дисплея на 2 рядки по 16 символів. Був використаний HD44780 на основі дуже розповсюдженого дисплея. На мікроконтролері PIC16F870 зібрані ланцюги управління підрахунку та відображення результату.

Частотомір може вимірювати частоту аж до 2,5 ГГц. Це стало можливим завдяки ділу на LMX2322 . Дана спеціалізована мікросхема за датаситом бере 2,5 ГГц з високою чутливістю.

Якийсь час тому я зробив аудіо-генератор з частотоміром, який працював дуже добре, але я його продав, і тепер я роблю новий. Частотомір попередньої конструкції був зроблений на мікросхемах КМОП логіки, але оскільки на даний момент у мене є програматор PIC мікроконтролерів - частотомір побудований саме на мікроконтролері.

Як завжди ідею для майбутньої конструкції я шукав в інтернеті. Оригінальна ідея прийшла від цього проекту: Частотомір на PIC16F628A та ЖК індикаторі. Як ви можете помітити - схема дуже проста і водночас елегантна. Але я хотів використовувати 7-сегментний світлодіодний дисплей, а не рідкокристалічний, так що я знайшов ще один цікавий проект: Простий 100MHz лічильник частоти, в якому застосований 6-розрядний світлодіодний дисплей.

Опис частотоміра

Звичайно ж, об'єднання двох проектів в одне не просте завдання. Перш за все, я хотів, щоб це був частотомір на мікроконтролері, і не мав додаткових мікросхем. Крім цього я вибрав 16F628A, і тому один із висновків (порту RA5) може бути використаний тільки як вход.

Для мультиплексного керування 6 цифрами 7-сегментного дисплея потрібно 7+6=13 виходів. Мікроконтролер16F628A має 16 висновків, два з яких використовуються для кварцового генератора, один для вхідного сигналу та ще один може бути використаний тільки для входу. Тож у нас залишається лише 12 вільних висновків. Рішення — керування одним із загальних катодів за допомогою транзистора, який відкривається, коли всі інші цифри вимкнені.

У схемі частотоміра застосовано два 3-розрядні 7-сегментні дисплеї із загальним катодом типу BC56-12SRWA. Цифри 2.5 включаються, коли відповідні висновки встановлюються на низькому рівні. Коли на всіх цих висновках є високий рівень, транзистор Q1 відкривається і загоряється перша цифра. Струм споживання кожного сегмента становить близько 6-7mA.

Слід зазначити, що висновки, пов'язані із загальними катодами, теоретично можуть споживати до 50 мА, якщо всі сегменти світяться. Це, звичайно, трохи вище характеристик мікроконтролера. Але оскільки кожна цифра включається на дуже короткий час, це безпечно. Уся схема частотоміра споживає в середньому близько 30-40 мА.

Мікроконтролер тактується від внутрішнього 4 МГц генератора. Таймер1 використовує зовнішній кварцовий генератор із частотою 32768Hz для встановлення односекундного інтервалу. Timer0 використовується для підрахунку вхідного сигналу на виводі RA4. І, нарешті, Таймер2 використовується для оновлення цифр. Частотомір може вимірювати частоту від 920 до 930 кГц, що для аматорських цілей цілком достатньо. Як джерело живлення використовується стабілізатор напруги 78L05.

(завантажено: 1 182)

Цей цифровий частотомір розроблений на основі моєї старої конструкції Частотомір - цифрова шкала з LCD (РКІ). Прототип був виготовлений у далекому 2001 р., відтоді його повторили і досі використовують багато радіоаматорів. Незважаючи на те, що за минулі роки з'явилося багато нових розробок, прилад не застарів і за сукупністю параметрів цілком може конкурувати з будь-яким сучасним частотоміром свого класу.

А повернувся я до нього з однієї простої причини. Справа в тому, що LCD індикатор KO-4B, який я використав, зараз знято з виробництва і придбати його дуже складно. А в мене виникла потреба виготовити ще один екземпляр цього частотоміра. Можна, звичайно, зібрати аналог індикатора на LED і AVR, але це якось дуже нераціонально.

Загалом з'явилася нова технологія. У частотомірі я використовував найпоширеніший в даний час символьний індикатор WH1601A - 16 символів у 1 рядку виробництва фірми Winstar, але можна використовувати і LCD індикатор 16 символів у 2 рядки. Графічні можливості цього індикатора набагато більші, ніж у KO-4B, було б нерозумно їх не використовувати.

Крім того, за минулі роки радіотехніка суттєво просунулась у бік високих частот. Тому я збільшив розрядність математики у програмі, що дозволило підняти верхню межу вимірюваних частот до апаратної межі, що визначається швидкодією PIC та зовнішнього НВЧ дільника. Швидкодія PIC, до речі, також зросла. Якщо внутрішній лічильник PIC16F84 працював до частот, трохи більше 40...45 МГц, то сучасному PIC16F628A він впевнено вважає до 90...95 МГц. Якщо використовувати зовнішній НВЧ дільник на 256, то верхня вимірювана частота може бути більше 20 ГГц!

Як і прототип, цей частотомір може бути використаний як універсальний вимірювальний прилад або як цифрова шкала зв'язкової та радіоприймачної апаратури всіх типів. З приладом можна використовувати до трьох зовнішніх дільників із різними коефіцієнтами поділу в межах 2...256. Номер підключеного дільника визначається автоматично.

При використанні частотоміра як цифрова шкала в його енергонезалежну пам'ять можна записати до 3 значень проміжних частот в діапазоні від 0 до 1 ГГц. Їхні значення вводяться з точністю до 10 Гц і в будь-який момент можуть бути змінені користувачем за допомогою 3-х кнопок, розташованих на передній панелі приладу.

У частотомірі передбачена можливість програмного калібрування, що дозволяє використовувати будь-які кварцові резонатори в діапазоні 2...20 МГц. Значення всіх проміжних частот, коефіцієнти поділу зовнішніх дільників, що використовуються, а також калібрувальні константи можуть змінюватися користувачем без застосування будь-яких додаткових пристроїв. Принцип дії частотоміра класичний: Вимірювання кількості імпульсів вхідного сигналу за певний інтервал часу.

Принципова схема пристрою показана на рис.1. При використанні зазначених на схемі деталей вхідний формувач має смугу пропускання 1 Гц...100 МГц, вхідний опір 500 кому і чутливість близько 100 МВ.

Управління частотоміром – цифровою шкалою здійснюється за допомогою 3-х кнопок SB1...SB3, розміщених на передній панелі. Вони служать для перемикання часу виміру. При натисканні на SB1 включається межа 0,1 сек, а при натисканні на SB2 або SB3 - 1 сек або 10 сек відповідно.

За допомогою цих же кнопок можна ввести коефіцієнти розподілу до трьох використовуваних з приладом дільників. Це може бути корисним під час проведення вимірювань у широкому діапазоні частот. Наприклад, перший дільник працює у діапазоні 500 МГц...2 ГГц, а другий - 30 МГц...500 МГц і вони мають різний коефіцієнт поділу. При зміні дільника пристрій автоматично враховуватиме зміну його коефіцієнта поділу при розрахунку показань.

Для калібрування приладу досить просто запровадити справжню частоту генерації кварцу. У аматорських умовах найбільшої точності можна досягти, якщо виміряти її за допомогою приймача SDR . Достатньо піднести антену приймача до кварцу. При цьому вплив на частоту генерації кварцу мінімальний, і точність вимірювання може досягати +/- 1 Гц, якщо приймач попередньо відкалібрувати сигналів радіостанцій, що ведуть мовлення на еталонних частотах.

Довготривала точність і стабільність показань визначатиметься стабільністю частоти кварцового генератора. Звичайно, не можна вимагати від внутрішнього генератора PIC контролера "суперпараметрів". Але для аматорських цілей вони найчастіше і не потрібні. Однак, якщо необхідна висока точність вимірювань і довготривала стабільність, як опорне краще використовувати зовнішній термостатований генератор.

Більш детально особливості налагодження та роботи з приладом, а також методика калібрування описані у докладному описі.

Принципова схема частотоміра

Мікроконтролер PIC16F628A служить для того, щоб виконати всю роботу без будь-яких додаткових мікросхем. На 16F628A 16 I/O висновків, два з яких використовуються для кварцового генератора, один призначений для введення сигналу, а інший може бути використаний тільки для введення, що дає нам лише 12 корисних I/O контактів. Рішення - встановити транзистор, який відкривається при вимкненні всіх інших цифр.

Світлодіодний 7-сегментний дисплей, що використовується тут із загальним катодом типу BC56-12SRWA. Коли всі сигнали знаходяться на високому рівні, транзистор Q1 відкривається та перемикається на першій цифрі. Струм для кожного сегмента становить близько 7 мА.

Вся схема частотоміра споживає струму близько 30 мА у середньому. Мікроконтролер використовує свій внутрішній 4MHz генератор для тактування CPU. А зовнішній кварцовий генератор із частотою 32768 Hz потрібен для встановлення 1 другого часового інтервалу. Tmr0 використовується для підрахунку вхідного сигналу на виводі RA4.

Як вхідний сигнал потрібно буде 5 вольт прямокутного вигляду. Сам частотомір може вимірювати до 1 мегагерца, що більш ніж достатньо для аматорських проектів. Це зроблено для зручності, тому що лічильник може досягати показань 999 999 Гц - і нічого перемикати не потрібно. Міруємо хоч 11 герц, хоч 139,622 кілогерц.

Загалом, якщо у кого є бажання повторити цей проект самим, ось файли . Плата в архіві трохи відрізняється від тієї, що на фотографії, пізніше були зроблені деякі оптимізації. А програмний код відкритий – можна його за вміння оптимізувати.

Цей простий та зручний частотомір може вимірювати частоти FM діапазону та має автономне живлення. Більшість аналогічних пристроїв мають РК-дисплеї з вбудованим контролером, що збільшує загальний струм споживання приладу. Також, багато високочастотних частотомірів використовують мікросхеми з великим струмом споживання. Даний пристрій побудований на сучасних економічних мікросхемак, що дозволяє живити його від однієї батарейки розміру АА.

Характеристики частотміру

  • Діапазон частот: 1Гц – 150MГц
  • Діапазон амплітуд вхідного сигналу: 250mV – 5V
  • Роздільна здатність: до 5 знаків
  • Точність: 4 знаки
  • Час виміру: 0.1 сек або 1сек; автоматичний вибір
  • Повністю автоматична робота
  • Працює від однієї батареї AA; споживаний струм< 15mA

Про точність вимірювань

У частотомірі використаний кварц частоту f 0 =100KГц і допуском Δf/f 0 = ±30ppm. Це означає, що реальна частота лежить у діапазоні 100KГц · (1 ± 3 · 10 -5). Тобто, максимальне відхилення від 100KГц становить 3Гц. Як це впливає на точність вимірів?

Частотомір вважає кількість періодів, які пройшли за інтервал 0,1 сек. Таким чином, точність визначається точністю виміру цього інтервалу. У цьому частотомірі цей інтервал встановлюється як шпаруватість ШІМ модуля контролера. Формула для шпаруватості така: (CCPR1L:CCP1CON<5:4>) · T osc · (TMR2 prescale value) = 625 · T osc · 16, де T osc = 1/f 0 = 10 -5 сек. Приводячи до точності кварцу, отримуємо розкид: 10 4 · 10 -5 (1 ± 3 · 10 -5) = 0.1 ± 3 · 10 -6 сек. Інакше кажучи, точність відліку часових інтервалів залежить від точності кварцового резонатора.

Візьмемо крайній випадок – часовий інтервал дорівнює 0.1+3·10 -6 сек. Нехай вхідна частота дорівнює N герц (= періодів за секунду). Тоді виміряне значення буде N·(0.1+3·10 -6) = N/10 + (N/10)·3·10 -5 . У 0.1 секундному ми отримуємо значення частоти N/10 періодів, тому різниця між виміряним та реальним значенням N/10 буде (N/10) · 3 · 10 -5 . Для частот більше, ніж 333 KГц (3.33 10 5 Гц) різниця перевищує 1, так що для цих частот наш лічильник буде показувати неправильне значення N/10. Важливим наслідком цих міркувань є те, що можна гарантувати лише 4 старші розряди виміряної частоти N/10, іноді 5 розрядів.

Розрахунки показують, що при використанні кварців з допуском кілька десятків ppm неможливо гарантувати точність 6 або більше знаків. Оскільки ми не можемо гарантувати точність молодших розрядів, то немає сенсу їх відображати. Тому в частотомірі відображається лише 5 старших розрядів частоти, ігноруючи інші розряди.

Але на точність вимірів впливає як точність кварцу, а й ефект його старіння і робоча температура. Однак, при температурах 10°C - 40°C вплив температури на загальну точність становить не більше ±10ppm, тому ми все одно можемо гарантувати 4 - 5 ти значну точність.

Форматування висновку

На індикаторі, що використовується в частотомірі, є лише вісім 7-сегментних символів, тому застосована спеціальна схема відображення діапазонів частот. Схема показана у таблиці нижче. Незначні нулі не відображаються і показані сірим кольором. Діапазон відображається праворуч у експоненційній системі. Де символ E представляє 10, а число - ступінь 10ти.

ІндикаціяДіапазон вимірюваньЧас рахунку
0. 0. 0. 0. 1 0. E 0 0 - 9 Гц 1 сек
0. 0. 0. 1 2 0. E 0 10 – 99 Гц 1 сек
0. 0. 1 2 3 0. E 0 100 – 999 Гц 1 сек
0. 1. 2 3 4 0. E 3 1 - 9.999 KГц 1 сек
1 2. 3 4 5 0. E 3 10 – 99.999 KГц 1 сек
1 2 3. 4 5 0. E 3 100 – 999.99 KГц 0.1 сек
1. 2 3 4 5 0. E 6 1 - 9.9999 МГц 0.1 сек
1 2. 3 4 5 0. E 6 10 – 99.999 MГц 0.1 сек
1 2 3. 4 5 0. E 6 100 - 150 МГц 0.1 сек

Виміряна частота представлена ​​цілим числом із 1 до 8 цифр. Значення, що мають більше 5 цифр, округляються до найближчого цілого цінування, що має 5 ненульових цифр у старших розрядах. Наприклад, значення 12,345,678 округляється до 12,346,000 (на дисплеї 12.346 E6), а 12,345,456 округляється до 12,345,000 (на дисплеї 12.345 E6).

Залізо

На вході схеми стоїть попередній підсилювач, побудований на високошвидкісному компараторі LT1715. Згідно з датасітом, він може працювати на 150MГц. Входи другого компаратора, що у корпусі мікросхеми з'єднані із землею і шиною +5V для запобігання його спрацьовування та впливу на працюючий компаратор. Компаратор - найповільніший пристрій у схемі і він визначає верхню межу вимірів. Резистори по 10K зсувають рівень на входах компаратора приблизно 2V. Резистор на 100 Ом доданий для невеликого збільшення напруги на вході, що інвертує. Тому в спокійному стані на виході завжди 0. Різниця у вхідних напругах становить близько 110мВ і визначає чутливість передпідсилювача. Вхідна напруга для гарантованої роботи має бути 150 мВ. Резистор 10K на виході компаратора є необов'язковим.

Вихід компаратора з'єднаний з 4-бітовим двійковим асинхронним лічильником SN74LV161A з максимальною робочою частотою 220MГц при живленні від 5 В. Лічильник використаний як таймер для TMR1. Він ділить вхідну частоту на 16, тому на вхід контролера потрапляє максимум 10MГц, що відповідає вимогам мінімального періоду в 60 нсек, необхідних для роботи таймера TMR1 в асинхронному режимі. Усі 4 виходи лічильника з'єднані з контролером і на них утворюються 4 старші біти вимірюваних імпульсів.

Серце частотоміра - контролер PIC16F648A (можна використовувати PIC16F628A).

Контролер PCF8562 управляє РК-дисплеєм VM-838. На платі мікросхема контролера дисплея розташована під РКІ.

Напруга живлення 5 виходить за допомогою DC/DC перетворювача NCP1400A. Він забезпечує 5 вольт від однієї батареї AA. Струм споживання після перетворювача близько 10 мA у спокої, 9 мA з яких споживається вхідним компаратором. Однак струм споживання від самої батареї буде в 5 - 7 разів більшим. Максимальний виміряний струм споживання становить 70 мА, а середній – 40 мА. Від однієї батареї АА ємністю 2000 мА·год частотомір може працювати близько 40 годин.

Прилад зібраний на одній стороні двосторонньої друкованої плати, але має кілька перемичок на звороті. Мідь з іншого боку використовується як додатковий екран. Зворотний бік має тільки 4 компоненти: вхідний BNC роз'єм, тримач батарейки AA, 4 металеві стійки, і вимикач живлення AS12AH. Плата розроблена під SMD резистори та конденсатори розміру 0603, але розмір 0805 також можна використовувати. На платі є 3 майданчики, з'єднані з RA0, RA1 та RA5, які можна використовувати, наприклад, для підключення частотоміра до комп'ютера.

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

Деякі помилки розробки...

Утримувач батарейки, вимикач живлення та вхідний роз'єм змонтовані дуже білзко один до одного, тому тримач батарейки довелося трохи підточити.

Також через важку батарею плата не дуже стійка на столі і при під'єднаному кабелі норовить перевернутися через кручення кабелю.

Незважаючи на те, що індикація є досить простою, вона все одно важка для розуміння.