Главная » Измерение и контроль, Микроконтроллеры » Цифровой частотомер на микроконтроллере PIC16F84

Цифровой частотомер на микроконтроллере PIC16F84

Главная особенность частотомер на микроконтроллере — простота и экономичность. Основные характеристики частотомера: диапазон измерения частоты — от 0,1 Гц до 60 МГц ; порог чувствительности по входному напряжению — от 0,08 до 0,15 В (значение амплитуды); минимальная фиксируемая частотомером величина частоты синусоидального сигнала — 2 Гц (амплитудой 0,15 В); максимальная амплитуда входного сигнала — 3 В.

В качестве источника питания применена батарея «Крона» либо внешний источника стабилизированного питания с напряжением от 7 до 16 В. Таким вариантом источника питания может послужить простой стабилизатор на LM317.

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

Цифровой частотомер на микроконтроллере PIC16F84

Основа частотомера — микроконтроллер PIC16F84A, который осуществляет счет импульсов внешнего сигнала, обработку полученных значений и вывод результатов измерения на LCD. В функции микроконтроллера также входят опрос кнопок (SB1-SB4) и управление питанием частотомера.

Кнопка SB1 предназначена для включения и выключения частотомера. После подключения батареи питания частотомер находится  в выключенном состоянии. При нажатии на кнопку SB1 напряжение питания через диод VD1 поступает на интегральный стабилизатор напряжения DA1, а с его выхода — на входной каскад: транзистор VT3, микроконтроллер DА2 и индикатор LCD.

Потом на выводе 1 (A2) микроконтроллера возникает высокий логический уровень, что приводит к открыванию транзисторов VT1 и VT2. Затем микроконтроллер ждет отпускания кнопки SB1 (контролируя сигнал на выводе 6). После размыкания кнопки SB1, напряжение питания подается на вход стабилизатора DA1 через открытый транзистор VT1 и начинается измерение частоты.

Во время удержания SB1 на экране индикатора  отображается надписи «ЧАСТОТОМЕР» и «ВЕРСИЯ: 1.00». При вторичном нажатии на кнопку SB1, напряжение питания поступает на вывод 6 (B0) микроконтроллера, который после этого ожидает размыкания кнопки SB1, и когда это произойдет, устанавливает низкий логический уровень на выводе 1 (A2). В итоге транзисторы VT1, VT2 закрываются,  частотомер обесточивается. Если в режиме замера на индикаторе появляются  нулевые показания в течение приблизительно 3 мин, микроконтроллер устанавливает низкий логический уровень на выводе 1 (A2), таким образом, отключая   от источника питания.

Время измерения, выбранное кнопкой SB2 (0,1; 1 или 10 с), показывается  в правой части нижней строки индикатора. Цена младшего разряда — 10, 1 или 0,1 Гц соответственно. При времени измерения 0,1; 1 и 10 с максимально на LCD может отображаться семь, восемь или девять разрядов, т. е. наибольшее отображаемое значение равно соответственно 99,999.99, 99,999.999 или 99,999.999.9 МГц.

Нажатием кнопки SB3 показания частоты умножают на 1000. Это необходимо  для считывания показаний при использовании внешнего делителя на 1000. Этот коэффициент умножения («х1» или «х1000») отображается в середине нижней строки. Для удержания  показания, нажимают кнопку SB4 («Память»). При этом на LCD фиксируется значение той частоты, которое было в момент нажатия кнопки. Его можно сохранить в энергонезависимой памяти микроконтроллера, воспользовавшись кнопкой SB2, функция которой в этом случае — «Запомнить».

Прежнее значение при этом стирается. Для того чтобы почитать частоту из памяти, необходимо нажать на кнопку  SB3. Для выхода из режима работы с памятью используют кнопку SB4. В режиме работы с памятью, частотомер автоматически выключается примерно через 3 мин после нажатия на любую кнопку независимо от показаний индикатора. После выключения питания в энергонезависимой памяти сохраняются последние параметры измерения (время измерения и множитель).

Приведенную ниже прошивку для микроконтроллера можно запрограммировать простым и надежным программатором для PIC микроконтроллеров. В качестве VT1, VT2 в частотомере можно использовать произвольные транзисторы указанных на схеме серий. Стабилизатор 78L05  заменим на КР1157ЕН502А, LM2931Z.

Файлы к данной схеме (28,2 KiB, скачано: 12 265)






40 комментариев

  1. Схема самая удачная которую мог найти в нете.

    Есть проблема ни как не проходит прошивка для пика. Я использую программатор екстрапис и програму винпик800 и PIC16F84A

    Помогите пожалуйста запрограмировать.

    Ответить
  2. У меня эта штука не заработала.

    Ответить
  3. Собрал данную схемку,отлично работает.Запустилась с первого раза ,никаких проблем не возникло.Спасибо автору!!!!

    Ответить
  4. А печатная плата есть?Поделитесь….

    Ответить
  5. Печатная плата в Радио 2007г №7, в разделе «наши консультации»

    Ответить
  6. Если кому нужна печатная плата в Sprint-Layout то пишите на мыло redheaven@rambler.ru Самый лучший частотомер

    Ответить
  7. отправте мне пожалуйста печатную плату для этого частотомера на адрес sparco-zvuk@mail.ru

    Ответить
  8. Собрал, заработало с первого раза.Добавил разъем питания и регулировку контрастности индикатора.Проблема:измерения примерно до 500 кГц, если частота больше то показывал 1Гц. Решение: Заменил резистор R9 c 220 кОм на 200 Ом, все стало ОК!
    Подскажите все таки какой номинал этого резистора?
    Есть плата в Формате DipTrace c учетом описаных добавлений и разводкой кнопок.
    Кому надо вышлю/

    Ответить
  9. Собрал, заработало с первого раза.Добавил разъем питания и регулировку контрастности индикатора.Проблема:измерения примерно до 500 кГц, если частота больше то показывал 1Гц. Решение: Заменил резистор R9 c 220 кОм на 200 Ом, все стало ОК!
    Подскажите все таки какой номинал этого резистора?
    Есть плата в Формате DipTrace c учетом описаных добавлений и разводкой кнопок.
    Кому надо вышлю на E-Mail

    Ответить
  10. Добрый вечер может кто поделиться текстом программы в txt формате и печатку в спирит лейте. (DulikDS@gmail.com)

    Ответить
  11. Отправте мне пожалуйста печатную плату для этого частотомера на адрес
    vavadimov@yandex.ru

    Ответить
  12. при каком напряжении можно измерять частоту?

    Ответить
  13. Печатку в лай вышлите пожалуйста.
    Спасибо! olu2005@i.ua

    Ответить
  14. и мне Печатку в лай вышлите пожалуйста.

    Ответить
  15. Игорь! Вышлите мне пожалуйста печатку в формате Sprint-Layout… на адрес
    kilowat@mail.ru
    Заранее спасибо!

    Ответить
  16. Отправте мне пожалуйста печатную плату для этого частотомера на адрес ksayfutdinov@mail.ru заранее спасибо

    Ответить
  17. Печатку в лай вышлите пожалуйста.

    Ответить
  18. Вышлите мне пожалуйста печатку в формате Sprint-Layout 5.0 на адрес:artem.vinogradov.1990@mail.ru

    Ответить
  19. @gurvit60
    Вышлите мне пожалуйста :artem.vinogradov.1990@mail.ru

    Ответить
  20. Доброго дня,и здоровья!
    Хочу заказать сделать прибор в режиме Частотомера.
    В пределах 30-50 Мгц.
    Может кто то отзовется….
    Пишите: lun@bk.ru

    Ответить
  21. Сбрал этот частотомер, зарботал с первого раза, в печатке ошибок нет, если делать все по схеме то работает с полпинка, один вопрос только есть, я в программировании не силен, подскажите где в тексте программы можно сменить множитель х1000 на х100 или х10 чтобы можно было использовать любые другие прескалеры

    Ответить
  22. Ну и конечно х8 или х64

    Ответить
  23. А можно за место транзистора в цепи питания pnp проводимости поставить npn? Зарание спасибо!

    Ответить
  24. Здравствуйте ! Поделитесь пожалуйста печаткой в формате Sprint-Layout
    на адрес: vlakar@ukr.net

    Cпасибо!

    Ответить
  25. Пришлите пожалуйста картинку платы для этого частотомера на адрес mishajlo@mail.ru

    Ответить
  26. Здравствуйте ! Поделитесь пожалуйста печаткой в формате Sprint-Layout
    на адрес:tadi@topmail.kz
    Заранее блогодарен.

    Ответить
  27. Если можно скинуть печатку в .lay Схема заработала
    на макетке сразу Спасибо

    Ответить
  28. Здравствуйте поделитесь пожалуйста печаткой спринт лояут и прошивкой.
    danil.akhmetov.1998@mail.ru почта
    Заранее благодарен

    Ответить
  29. Здравствуйте ! Поделитесь пожалуйста печаткой в формате Sprint-Layout на адрес sivanushkov@bk.ru.
    Спасибо.

    Ответить
  30. Доброго времени суток сбросьте пожалуйста печатку в формате Sprint-Layout на адрес yureckrm@mail.ru

    Ответить

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