» » Цифровая шкала частотомер на pic16f628a. Частотомер на PIC16F628

Цифровая шкала частотомер на pic16f628a. Частотомер на PIC16F628

Этот простой и удобный частотомер может измерять частоты 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 MГц 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 MГц 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, так как счетчик блокирует выводы программирования контроллера.

Некоторые ошибки разработки...

Держатель батарейки, выключатель питания и входной разъем смонтированы очень билзко друг к другу, поэтому держатель батарейки пришлось немного подточить.

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

Несмотря на то, что индикация довольно проста, она все равно трудна для понимания.

Идея сделать этот частотомер возникла после приобретения в магазине радиодеталей радиолюбительского набора, состоящего из пластмассового корпуса размерами примерно 120x80x30 мм с отсеком для «Кроны», окном для индикатора и установленной в него макетной печатной платой «решето». Вот на этой основе и был собран этот прибор.

Частотомер измеряет частоту до 100 МГц, чувствительность входа 30 мВ, входное сопротивление 500 кОм. Построен он на основе микроконтроллера PIC16F628A и жидкокристаллического модуля типа 1601.

Сигнал, частоту которого нужно измерить, поступает на входной разъем Х1. Конденсатор С1 служит для удаления из постоянной составляющей общего поступающего на вход. Резисторы R2 и диоды VD1-VD2 создают ограничитель, который ограничивает величину амплитуды входного сигнала и поэтому частотомер без переключений входа может измерить частоты сигналов от 0,03 до 50V.

Входной усилитель двухкаскадный на транзисторах VT1 и VT2. Полевой транзистор на входе позволяет получить высокое входное сопротивление.

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

Оптимальный режим работы усилителя устанавливается экспериментально подбором сопротивления резистора R4 по наилучшей работе (измеряя частоту сигналов разной формы с выхода функционального генератора нужно выбрать оптимальный режим).

Тактируется микроконтроллер кварцевым генератором на резонаторе Q1 (4 МГц).

На выходе жидкокристаллический модуль типа 1601. Резистором R7 можно регулировать контрастность знаков. Питается схема напряжением 5V, поступающим с интегрального стабилизатора А1. S1-выключатель питания, источник питания гальваническая батарея G1 напряжением 9V.

В этой статье описано как подключить жидкокристаллический индикатор со знакогенератором к микроконтроллеру. Рассмотренные здесь методы и схемы подходят для подключения ЖКИ со встроенными контроллерами HD44780 (Hitachi), KS0070, KS0066 (Samsung), LC7985 (Sanyo), SED1278 (Epson) или с другими аналогичными. Эти, или совместимые с ними, контроллеры используются в большинстве выпускаемых в настоящий момент знакосинтезирующих ЖКИ, например, в таких, как ACM0802, ACM1601, ACM1602, ACM1604, ACM2002, ACM2004, ACM2402, ACM4002, ACM4004 фирмы Displaytronic, MT-10S1, MT-16S2D фирмы МЭЛТ, DV-0802, DV-16100, DV-16110, DV-16120, DV-16210, DV-16230, DV-16235, DV-16236, DV-16244, DV-16252, DV-16257, DV-16275, DV-16276, DV-20100, DV-20200, DV-20210, DV-20211, DV-20220, DV-24200, DV-40200 фирмы Data Vision, AC082A, AC161, AC162, AC164, AC202, AD202, AC204, AC242, AD242, AC402 фирмы Ampire.

Вообще, данная задача сводится к организации обмена данными между подключаемым контроллером и встроенным контроллером ЖКИ, потому что самой матрицей управляет именно встроенный контроллер. В дальнейшем, когда мы будем говорить о подключении к ЖКИ, следует понимать, что речь идет о подключении к встроенному контроллеру. Перечисленные выше контроллеры ЖКИ имеют аналогичные интерфейсы, наборы команд и распределение памяти, хотя размер встроенной ROM-памяти, последовательность команд инициализации, время выполнения команд и некоторые другие параметры могут несколько отличаться.

Итак, для начала, давайте разберемся с работой ЖКИ.

1) Интерфейс .

Обычно ЖКИ имеет 14 или 16 выводов, назначение которых представлено в таблице 1:

ТАБЛИЦА 1

номер контакта наименование описание
1 Vss GND — общий провод (земля)
2 Vdd Power supply — питание +5В
3 Vo контраст
4 RS Register select — выбор регистра
5 R/W Read/write — чтение/запись
6 E Enable — вкл/выкл передачи
7 DB0 Data bit 0
8 DB1 Data bit 1
9 DB2 Data bit 2
10 DB3 Data bit 3
11 DB4 Data bit 4
12 DB5 Data bit 5
13 DB6 Data bit 6
14 DB7 Data bit 7
15 BL+ питание подсветки
16 BL- общий провод подсветки

Таким образом, интерфейс имеет восемь информационных линий: DB7..DB0 и три управляющих: RS, R/W, E.

Линия RS определяет к какому регистру контроллера ЖКИ мы хотим обратиться, то есть какую информацию мы передаем — данные или команды.

Линия R/W определяет направление передачи данных — запись в ЖКИ или чтение из ЖКИ.

Линия E включает (когда на линии высокий уровень) или выключает (когда на линии низкий уровень) передачу информации, сформированной на остальных интерфейсных линиях.

Интерфейс работает следующим образом: сначала на интерфейсных линиях DB7…DB0, RS, R/W формируется информация, которую нужно передать, потом на некоторое время (>500 нс для f 0 =270 кГц) подается высокий уровень на линию E (в это время ЖКИ считывает информацию), после чего сигнал E переводится опять в состояние низкого уровня. f 0 — частота, на которой работает контроллер ЖКИ. Вообще, контроллеры ЖКИ могут работать на разных частотах (у них есть выводы для подключения внешнего резонатора), но обычно используется внутренний генератор на 270 кГц.

После получения каждой порции информации контроллеру ЖКИ требуется некоторое время для ее обработки, поэтому передавать информацию подряд нельзя. После каждой посылки требуется подождать некоторое время, чтобы контроллер ЖКИ освободился. Обычно в даташите указано, какой команде сколько времени требуется для выполнения. Также, в контроллере ЖКИ предусмотрена возможность сообщить внешнему устройству о своем состоянии (BUSY/READY). То есть, при передаче данных, можно либо анализировать состояние контроллера ЖКИ и посылать следующую порцию данных, как только контроллер ЖКИ освободится, либо просто выждать время, большее, чем время выполнения операции по даташиту, после чего посылать следующую порцию данных.

Для уменьшения количества проводов от ЖКИ к внешнему устройству можно использовать не 8, а 4 информационных сигнала (DB7…DB4). Все рассматриваемые контроллеры ЖКИ допускают такую возможность. В этом случае данные передаются в два этапа (кроме первой команды инициализации): 1) передаются управляющие биты и старший полубайт посылки 2) передаются управляющие биты и младший полубайт посылки.

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

Во время инициализации лучше не анализировать флаг BUSY, а тупо ждать положенное время перед посылкой следующей команды, так как флаг начинает выставляться не сразу, а после какой-то команды (смотрите даташит).

Инициализация для восьмибитного интерфейса (f 0 =270 кГц)

1) включение питания

2) пауза >30 мс

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 1 1 N F X X

4) пауза >39 мкс

5) DISPLAY ON/OFF CONTROL

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 1 D C B

6) пауза >39 мкс

7) DISPLAY CLEAR

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 0 0 0 1

8) Пауза >1.53 мс

9) ENTRY MODE SET

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 0 1 I/D SH

Инициализация для четырехбитного интерфейса (f 0 =270 кГц)

1) включение питания

2) пауза >30 мс

RS R/W DB7 DB6 DB5 DB4
0 0 0 0 1 0
0 0 0 0 1 0
0 0 N F X X

N=0 — однострочный дисплей, N=1 — двустрочный дисплей

F=0 — шрифт 5х8, F=1 — шрифт 5х11

4) пауза >39 мкс

5) DISPLAY ON/OFF CONTROL

RS R/W DB7 DB6 DB5 DB4
0 0 0 0 0 0
0 0 1 D C B

D=0 — дисплей выключен, D=1 — дисплей включен

C=0 — курсор выключен, C=1 — курсор включен

B=0 — мерцание выключено, B=1 — мерцание включено

6) пауза >39 мкс

7) DISPLAY CLEAR

RS R/W DB7 DB6 DB5 DB4
0 0 0 0 0 0
0 0 0 0 0 1

8) Пауза >1.53 мс

9) ENTRY MODE SET

RS R/W DB7 DB6 DB5 DB4
0 0 0 0 0 0
0 0 0 1 I/D SH

I/D=0 — уменьшение указателя при операции с памятью, I/D=1 — увеличение указателя при операции с памятью

SH=0 — сдвигание дисплея выключено, SH=1 — сдвигание дисплея включено

2) Память

В ЖКИ есть 2 вида памяти: DDRAM, CGRAM (CGROM).

DDRAM — display data RAM (память дисплея) — то, что записано в этой памяти, — непосредственно отображается на дисплее. Эта память имеет следующее адресное пространство и соответственное отображение на дисплее (для дисплея 24х2):

Первая строка

Display position 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
DDRAM address 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0Ah 0Bh 0Ch 0Dh 0Eh 0Fh 10h 11h 12h 13h 14h 15h 16h 17h

Вторая строка

Display position 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
DDRAM address 40h 41h 42h 43h 44h 45h 46h 47h 48h 49h 4Ah 4Bh 4Ch 4Dh 4Eh 4Fh 50h 51h 52h 53h 54h 55h 56h 57h

То есть, то, что записано в DDRAM по адресу, например, 42h, будет отображаться в третьей позиции на второй строке дисплея. Для дисплеев других размеров доступное адресное пространство DDRAM будет другим (обычно первые 40h адресов — первая строка, вторые 40h адресов — вторая строка и т.д.)

CGRAM (CGROM) — character generator RAM (ROM) — память знакогенератора. Память знакогенератора разделена на CGRAM — доступна для записи/чтения, сюда можно залить 8 своих собственных символов и CGROM — доступна только для чтения, заранее прошитые шрифты. В разных ЖКИ могут быть прошиты разные шрифты, это надо смотреть по доке или можно определить самому, организовав вывод на дисплей последовательно всех прошитых символов.

При обращении к первым шестнадцати символам знакогенератора происходит обращение к CGRAM, при обращении к символам, с номерами старше шестнадцатого — обращение к CGROM. Причем, пользовательских символов ведь всего 8, поэтому первые восемь символов знакогенератора указывают на те же области CGRAM, что и вторые восемь символов.

Иногда, в CGROM могут быть прошиты не все символы, начиная с семнадцатого, а, например, начиная с номера 21h, а при обращении к символам от 10h до 21h на дисплей выводится всякий мусор. Это зависит от прошивки.

Для вывода на экран какого-либо символа, необходимо выполнить следующие действия:

1) установить курсор командой "set DDRAM address" в ту позицию, куда мы хотели бы вывести символ (информационные биты указывают адрес DDRAM, соответствующий выбранной позиции)

SET DDRAM ADDRESS (AC6…AC0 — адрес устанавливаемой позиции курсора в памяти дисплея)

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 1 AC6 AC5 AC4 AC3 AC2 AC1 AC0

2) вывести символ на экран командой "write data to RAM", при этом информационные биты указывают на номер символа, выводимого из CGRAM/CGROM.

WRITE DATA TO RAM (A7..A0 — номер символа, выводимого из памяти знакогенератора)

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
1 0 A7 A6 A5 A4 A3 A2 A1 A0

Полный список команд для работы с ЖКИ и время их выполнения можно узнать, скачав даташит на любой из рассматриваемых ЖКИ-контроллеров (все они имеют одинаковые наборы команд).

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

Вот и всё! Для того, чтобы схемы заработали, осталось только залить в микроконтроллер программу, реализующую обмен данными с ЖК-индикатором.

Пример готового девайса (8-битный интерфейс, ЖКИ — PM1623):

Примеры программ и готовые прошивки:

Скачать печатную плату (AutoCAD2000i) Эта плата разведена под использование SMD компонентов. Если вы будете использовать другие компоненты, то плату придется переделывать.

Частотомер на PIC16F84A , с изменением времени измерения (0,1; 1 и 10 с),

После собранного мной простого частотомера на PIC 16F628A . Попалась мне на глаза схема еще одного частотомера на PIC16F84A (спасибо пользователю Seal с радиокота) . По своим параметрам этот частотомер гораздо интересней, при этом он также очень простой.

Основные технические характеристи-ки частотомера следую-щие: диапазон измерения частоты - 0,1 Гц.. .60 МГц (реально верхняя граница выше); порог чувствительности по вход-ному напряжению - 0,08...0,15 В (амп-литудное значение); минимальное на-дежно фиксируемое прибором значение частоты синусоидального сигнала - 2 Гц (амплитудой 0,15 В); максимальная амп-литуда входного сигнала - 3 В. Питается прибор от батареи типа "Крона" (воз-можно использование внешнего источ-ника напряжением 7... 16 В), потребляе-мый ток - 10...12 мА. Предусмотрено изменение времени измерения (0,1; 1 и 10 с), умножение показаний на 1000 (при применении внешнего делителя ча-стоты), удержание показаний, запись од-ного значения частоты в энергонезави-симую память и возможность последую-щего считывания.

Цена младшего разряда - 10,1 или 0,1 Гц соответственно. При вре-мени измерения 0,1; 1 и 10 с макси-мально на ЖКИ может отображаться семь, восемь или девять разрядов, т. е. максимальное отображаемое значение равно соответственно 99,999.99, 99,999.999 или 99,999.999.9 МГц.

После сборки схемы остается только откалибровать по образцовому генератору, частоту кварцевого генератора конденсатором С10 (рис.1)

Входной формирователь имеет низкое входное сопротивление, что является его небольшим недостатком.
Для повышения входного сопротивления частотомера, между входом частотомера и входом формирователя, необходимо включить некое буферное устройство с высоким входным и низким выходным сопротивлением.
На транзисторах VT1 и VT2 собрано буферное устройство, а на транзисторе VT3 - входной формирователь. Входное сопротивление буферного устройства - около 500 ком .
Схема буферного устройства приведена на рисунке:(подробней на http://progcode.narod.ru )


Соедините правый по схеме вывод резистора R11 с точкой соединения 2-го и 3-го выводов ПИКа, и Вы получите ЧМ/ЦШ с входным сопротивлением около 500 ком.

Источник материала Радио, 2002, №10,

Печатная плата с буферным устройством без автоотключения.

Печатная плата от пользователя Seal с автоотключением.

От пользователя Bobruska , архив файлов , в котором имеется прошивка с латинскими буквами для этого частотомера.

В архив добавлены: Правленные Исходник (ASM) и Прошивка (HEX), комилятор (PIC-MPASM), кодовые таблицы контроллеров HD44780 (En-Ru) и ST7066U (En-Jp), фото дисплея с английским шрифтом.
Размер архива ~1.3M

Этот цифровой частотомер разработан на основе моей старой конструкции Частотомер - цифровая шкала с 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 cек или 10 сек соответственно.

С помощью этих же кнопок можно ввести коэффициенты деления до 3-х используемых с прибором делителей. Это может оказаться полезным при проведении измерений в широком диапазоне частот. Например, первый делитель работает в диапазоне 500 МГц...2 ГГц, а второй - 30 МГц...500 МГц и они имеют разный коэффициент деления. При смене делителя прибор автоматически будет учитывать смену его коэффициента деления при расчете показаний.

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

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

Более подробно особенности наладки и работы с прибором, а также методика калибровки описаны в подробном описании.