Частотомер — цифровая шкала с динамической индикацией на микроконтроллере PIC16F628A (PIC16F84A)

Простая цифровая шкала-частотомер на микроконтроллере PIC16F84 (PIC16F628) с индикацией на семисегментном светодиодном индикаторе типа АЛС318 или аналогичном. Позволяет мерить до 30 МГц с разрешением 10 Гц. Есть возможность прибавлять или отнимать значение ПЧ.

view_digiscal

Технические характеристики:

  • Максимальная измеряемая частота .………………30 мгц,
  • Максимальное разрешение измеряемой частоты…10 Гц,
  • Чувствительность по входу…………………………250 мВ
  • Напряжение питания ……………………………… 8…12 В,
  • Потребляемый ток………………………………… 35 мА.

Принципиальная схема частотомера — цифровой шкалы приведена ниже. Она состоит из:

  • формирователя входного сигнала, выполненного на транзисторе VT1. Сигнал измеряемой частоты, поданный на вход, ограничивается, усиливается и подается на вход PIC процессора для измерения;
  • центрального процессора DD2, выполняющего функции измерения, расчета, преобразования, управления динамической индикацией и динамического опроса входных сигналов. Кнопки SB1 и SB2 используются для выбора режима цифровой шкалы. Тактовая частота процессора определяется кварцевым резонатором ZQ1 и может изменяться в небольших пределах конденсаторами C1 и C2.
  • светодиодного индикатора HG1 для отображения частоты.
  • микросхемы DD1 – дешифратора позиции отображаемой цифры.

shm_digiscal

Работа устройства в режиме частотомера

При включении питания, устройство автоматически переходит в тот режим, в котором оно работало ранее (до последнего выключения питания). Если это был режим частотомера, то в крайнем левом разряде индикатора высветится признак режима частотомера «F.». В младшем разряде индикатора высветится «0», а остальные разряды будут погашены. Частотомер автоматически перейдет в режим измерения частоты с временем измерения 1 сек. (по умолчанию) и после этого, будет находиться в режиме ожидания.

При подаче на вход частотомера сигнала с измеряемой частотой, признак режима частотомера «F.» гасится (при этом 8-й разряд включается в работу по отображению значения измеряемой частоты), и индикатор отобразит значение измеряемой частоты в килогерцах (относительно десятичной точки). При этом будет отображаться только полезная информация, а разряды, которые ее не содержат, будут погашены.

Если на момент включения питания, на входе частотомера присутствует измеряемый сигнал, то, после включения питания, признак работы частотомера «F.», высветится в течение 1-й секунды, а затем погаснет.

Для того чтобы перейти на время измерения 0,1 сек. или 10 сек., необходимо нажать либо кнопку № 1, либо одновременно нажать кнопку № 1 и кнопку № 2 соответственно (см. раскладку клавиатуры для режима частотомера), затем дождаться изменения положения десятичной точки, после его отпустить кнопку (кнопки).

Если после этого необходимо вернуться к времени измерения 1 сек., то необходимо нажать кнопку № 2 и дождаться изменения положения десятичной точки, после чего отпустить кнопку.

Для любого времени измерения десятичная точка отмечает килогерцы.

Если перед выключением питания происходила работа в режиме частотомера, то при следующем включении питания установится этот же режим, а время измерения установится по умолчанию (1 сек.).

Раскладка клавиатуры режима частотомера

Кнопки Время. измерения Пояснения
SB1 0,1 сек. Переход на время измерения 0,1 сек.
SB2 1 сек. Переход на время измерения 1 сек.
SB1 + SB2 10 сек. Переход на время измерения 10 сек. (кнопки нажимаются одновременно)

Работа устройства в режиме цифровой шкалы

Если перед выключением питания происходила работа в режиме цифровой шкалы, то при следующем включении питания будет установлен именно этот режим, а внутри режима цифровой шкалы будет установлен именно тот подрежим («минус ПЧ» или «плюс ПЧ»), в котором происходила работа до последнего выключения питания.

Признаки подрежимов цифровой шкалы («L.» или «H.» соответственно) будут постоянно высвечиваться в левом (старшем) разряде индикатора.

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

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

В режиме цифровой шкалы, время измерения (подсчета импульсов) составляет 0,1 сек. (погрешность измерения 10 Гц.) и изменить его нельзя.

При использовании времени измерения 0,1 сек. (это относится также и к работе в режиме частотомера с временем измерения 0,1 сек.), для облегчения визуального восприятия показаний прибора, негативный эффект мерцаний показаний индикатора ослабляется.

Режим цифровой шкалы имеет 4 подрежима (см. раскладку клавиатуры режима цифровой шкалы). При нажатии на кнопку № 1 происходит переход в подрежим «минус ПЧ». При этом, в левом разряде индикатора, высветится признак подрежима «L.». При нажатии на кнопку № 2 происходит переход в подрежим «плюс ПЧ». При этом, в левом разряде индикатора, высветится признак подрежима «H.».

В процессе «прошивки» PIC контроллера, в его энергонезависимую память записывается значение промежуточной частоты = 5,5 мГц., но впоследствии, пользователь может самостоятельно записать в нее любое значение частоты (в пределах рабочего диапазона частот) и использовать ее в качестве промежуточной. Для выполнения этой процедуры необходимо подать на вход цифровой шкалы внешний сигнал (например, от генератора стандартных сигналов) с частотой, которая далее будет использоваться в качестве промежуточной. Проконтролировать значение этой частоты можно, перейдя в режим частотомера (переходы между режимами будут описаны ниже).

Убедившись в том, что на вход устройства поступает сигнал с требуемой частотой, необходимо перейти в режим цифровой шкалы, затем одновременно нажать кнопку № 1 и кнопку № 2 и держать их в нажатом состоянии до тех пор, пока все разряды индикатора не окажутся погашенными. После этого кнопки нужно отпустить. В индикаторе высветится значение будущей промежуточной частоты, заложенное в оперативную память при помощи одномоментной записи. По этой причине, значение будущей промежуточной частоты в разрядах индикатора фиксируется (не меняется), и можно не спеша сравнить его с тем значением частоты, которое требуется записать в энергонезависимую память в качестве промежуточной.

Примечание: так как процедура записи значения промежуточной частоты, в энергонезависимую память PIC контроллера, будет использоваться достаточно редко, автор не стал перегружать программу командами процедуры гашения незначащих нулей в разрядах оперативной памяти, и поэтому, при индикации содержимого оперативной памяти будут высвечиваться все разряды индикатора  (незначащие нули не гасятся).

Если значение содержимого оперативной памяти (будущая ПЧ) Вас устраивает, то можно записать его в энергонезависимую память PIC контроллера. Для этого еще раз нажимаются обе кнопки. Их необходимо держать в нажатом состоянии до появления признака окончания записи в энергонезависимую память («F» в младшем разряде индикатора), а затем отпустить.

В зависимости от того, какая кнопка была отпущена последней, в старшем разряде индикатора высветится признак подрежима цифровой шкалы «L.» или «H.», незначащие разряды будут погашены, а в остальных разрядах будет индицироваться результат вычитания или сложения установленной промежуточной частоты и измеряемой частоты. Если установившийся подрежим не тот, который нужен, ничто не мешает переключиться на другой подрежим.

Остается только подключить вход цифровой шкалы к выходу гетеродина или синтезатора частот.

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

После появления признаков подрежимов «L.» или «H.», необходимо перейти в режим частотомера, скорректировать в этом режиме значение будущей промежуточной частоты, вернуться в режим цифровой шкалы и повторить процедуру записи значения промежуточной частоты в энергонезависимую память PIC контроллера (см. выше). Количество такого рода манипуляций не ограничено.

Раскладка клавиатуры режима цифровой шкалы

Кнопки Действие Пояснение
SB1 – ПЧ Промежуточная частота вычитается из измеряемой частоты
SB2 + ПЧ Промежуточная частота прибавляется к из измеряемой частоте
SB1 + SB2 Установка ПЧ Запись в оперативную память значения измеряемой частоты для дальнейшей записи и использования в качестве значения ПЧ
SB1 + SB2 повторно Запись ПЧ Копирование значения измеряемой частоты из оперативной памяти в энергонезависимую для использования в качестве промежуточной

Переключение режимов «частотомер» — «цифровая шкала»

Режимы работы переключаются кнопкой № 1.

При смене режима работы, меняется раскладка клавиатуры (см. выше).

Если кнопка № 1 находится в нажатом состоянии меньше определенного времени, то переключения в другой режим не происходит и кнопка № 1 может либо устанавливать время измерения 0,1 сек. (в режиме частотомера), либо включать подрежим «минус ПЧ» (в режиме цифровой шкалы).

Если этот порог превышен, происходит переключение в другой режим. Величина этого порога — около 4 сек., и этот интервал времени отсчитывается с момента окончания цикла счета, приходящегося на момент нажатия кнопки № 1. Следовательно, пока этот цикл счета не закончится, отсчет 4-х секундного интервала времени производиться не будет. Таким образом, быстрее всего переключение режимов будет производиться при установке времени измерения 0,1 сек.

Так как в режиме цифровой шкалы используется только это время измерения, то переход из режима цифровой шкалы в режим частотомера или переход из режима частотомера (установлено время измерения 0,1 сек.) в режим цифровой шкалы займет не более 4,1 сек..

При установке других пределов измерения, время перехода из режима частотомера к режиму цифровой шкалы займет:

  • если установлено время измерения 1 сек. — не более 5 сек.,
  • если установлено время измерения 10 сек. — не более 14 сек.

Если время измерения составляет 10 сек., то в худшем случае придется подождать 14 сек., а в лучшем случае — 4 сек.  Это будет зависеть от того, на какой момент времени, внутри текущего цикла измерения, приходится момент замыкания контактов кнопки № 1.

На практике процесс переключения режимов работы выглядит так:

Если необходимо перейти в другой режим работы, кнопка № 1 нажимается и удерживается до тех пор, пока не произойдет смена режима работы, после чего отпускается.

Определение факта переключения производится по признакам режимов.

Если после включения питания установился ранее запрограммированный режим частотомера и первой операцией, после включения питания, является переход в режим цифровой шкалы, то переход осуществлен не будет до тех пор, пока не будет произведена одна (любая) операция с клавиатурой (кнопками). Это означает то, что, в этом случае, необходимо кратковременно нажать и отжать любую из кнопок и только после этого переходить в режим цифровой шкалы. Если этого не знать, то переход произойдет только после второго нажатия кнопки № 1, а в течение первого нажатия просто ничего происходить не будет и можно напрасно прождать. После перехода в режим цифровой шкалы по двойному нажатию, дальнейшие переходы между режимами, вплоть до выключения питания, происходят в одно нажатие. Если после включения питания установился ранее запрограммированный режим цифровой шкалы, все переходы между режимами (и во всех случаях) происходят в одно нажатие. Таким образом, переход между режимами по двойному нажатию происходит только в единственном случае (см. выше) и не более чем 1 раз за одно включение питания.

Схема входного формирователя частотомера — цифровой шкалы приведена на рисунке:

input_digiscalДополнительные замечания по схеме

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

Что касается индикатора, то указанный в схеме А. Денисова индикатор АЛС318 применять вряд ли стоит: размер цифр маленький и вообще ему место в музее.

Можно использовать любой 9-разрядный светодиодный индикатор с общим катодом.

Конструкция выполнена на односторонней печатной плате размерами 57 х 67 мм. Эскиз печатной платы приведен ниже, однако предельная простота конструкции позволяет легко повторить ее даже на макетнице.

pcb_digiscal
Правильно собранный частотомер — цифровая шкала с правильно запрограммированным PIC процессором почти не требует настройки. Минимальная настройка заключается в подаче на вход частотомера эталонной частоты и подстройки конденсатора C2 до получения правильных показаний на индикаторе. При этом возможно потребуется корректировка емкости конденсатора C1.

Прошивки для микроконтроллера в каталоге PIC16F84A архива

  • в HEX формате: 16F84.HEX, 16F84_1.HEX
  • в формате программы ProgCode: 16F84.sfr, 16F84_1.sfr

Для микроконтроллера в каталоге PIC16F628A архива

  • в HEX формате: 16F628.HEX, 16F628_1.HEX
  • в формате программы ProgCode: 16F628.sfr, 16F628_1.sfr

Это варианты «на все случаи жизни».
При отсутствии сигнала, должен индицироваться 0.
Пример: Вы собрали ЧМ/ЦШ с прошивкой 16F84.hex, и при отсутствии сигнала, индицируется число 255, а не 0.
Действие: меняете прошивку 16F84.hex на 16F84.hex.
Еще один пример: Вы собрали ЧМ/ЦШ с прошивкой 16F84_1.hex, и при отсутствии сигнала, индицируется число 1, а не 0.
Действие: меняете прошивку 16F84_1.hex на 16F84.hex.
То же самое относится и к программам 16F628.hex и 16F628_1.hex.

Также имеется прошивка от  А. Денисова (RA3RBE), г.Тамбов. Но она проще, и в ней нет некоторых функций. Предназначена для микроконтроллера PIC16А84, имеется исходный код на ассемблере. При использовании этой прошивки изменения в схему вносить не нужно.

5 Comments on “Частотомер — цифровая шкала с динамической индикацией на микроконтроллере PIC16F628A (PIC16F84A)”

  1. Собрал схему, запрограммировал контроллер. включил.Переключение режимов (время измерения ,режим шкалы) работают нормально.При выполнении измерений обнаружилось: 1.На частоте выше 17 -17.5 Мгч перестаёт работать. Сигнал от формирователя импульсов на вход
    контроллера приходит нормальный и по форме и по амплитуде.Попытка
    заменить контроллер (3шт) дали тот же Эффект. МОЖЕТ КТО ТО С ЭТИМ
    СТАЛКИВАЛСЯ?? 2. Очень низкое входное сопротивление — сильно подсаживает источник сигнала. 3. При измерении частоты ниже 100Гц
    из-за роста сопротивления входного конденсатора (100нф) работап не устойчиво- заменил на 4.7 мкф.

    1. Наверное входной конденсатор С1 надо пленочный ставить, который лучше работает на высокой частоте.

  2. Собрал такую штуку. До 30 мгц точно меряет. Индикатор не менял. алс318 прикольный.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *