Частотомер - цифровая шкала с динамической индикацией на микроконтроллере 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, имеется исходный код на ассемблере. При использовании этой прошивки изменения в схему вносить не нужно.

1 Комментарий

  1. ПОДЛЕСОВ оЛЕГ

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

Оставить комментарий

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