Цифровой частотомер на микроконтроллере PIC16F84
Главная особенность частотомера – простота и экономичность. Основные характеристики частотомера: диапазон измерения частоты – от 0,1 Гц до 60 МГц ; порог чувствительности по входному напряжению – от 0,08 до 0,15 В (значение амплитуды); минимальная фиксируемая частотомером величина частоты синусоидального сигнала – 2 Гц (амплитудой 0,15 В); максимальная амплитуда входного сигнала – 3 В.
В качестве источника питания применена батарея «Крона» либо внешний источника питания с напряжением от 7 до 16 В, ток потребления составляет 10…12 мА. В частотомере есть возможность изменения времени измерения (0,1; 1 и 10 с), умножение показаний на 1000 (при применении внешнего делителя частоты), удержание показаний, запись предыдущего значения частоты в энергонезависимую память и возможность последующего считывания.
Рис. Принципиальная схема частотомера
Основа частотомера – микроконтроллер 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 мин после нажатия на любую кнопку независимо от показаний индикатора. После выключения питания в энергонезависимой памяти сохраняются последние параметры измерения (время измерения и множитель).
В качестве VT1, VT2 в частотомере можно использовать произвольные транзисторы указанных на схеме серий. Стабилизатор 78L05 заменим на КР1157ЕН502А, LM2931Z.
Прошивка для микроконтроллера (1.1 Мб, скачено - 6,396 )

Схема самая удачная которую мог найти в нете.
Есть проблема ни как не проходит прошивка для пика. Я использую программатор екстрапис и програму винпик800 и PIC16F84A
Помогите пожалуйста запрограмировать.
У меня эта штука не заработала.
Собрал данную схемку,отлично работает.Запустилась с первого раза ,никаких проблем не возникло.Спасибо автору!!!!
А печатная плата есть?Поделитесь….
Печатная плата в Радио 2007г №7, в разделе «наши консультации»
Если кому нужна печатная плата в Sprint-Layout то пишите на мыло redheaven@rambler.ru Самый лучший частотомер
Разбежка показаний при измерении 16Мгц и времени счета 0.1/1сек почти 3Кгц. Это как то многовато. У частотомера на дискретных элементах разбежка не более 500Гц. Надо бы доработать алгоритм счета, а в остальном все хорошо.
отправте мне пожалуйста печатную плату для этого частотомера на адрес sparco-zvuk@mail.ru
И мне пожайлуста печатную плату.
geliznyk@rambler.ru
Собрал, заработало с первого раза.Добавил разъем питания и регулировку контрастности индикатора.Проблема:измерения примерно до 500 кГц, если частота больше то показывал 1Гц. Решение: Заменил резистор R9 c 220 кОм на 200 Ом, все стало ОК!
Подскажите все таки какой номинал этого резистора?
Есть плата в Формате DipTrace c учетом описаных добавлений и разводкой кнопок.
Кому надо вышлю/
Собрал, заработало с первого раза.Добавил разъем питания и регулировку контрастности индикатора.Проблема:измерения примерно до 500 кГц, если частота больше то показывал 1Гц. Решение: Заменил резистор R9 c 220 кОм на 200 Ом, все стало ОК!
Подскажите все таки какой номинал этого резистора?
Есть плата в Формате DipTrace c учетом описаных добавлений и разводкой кнопок.
Кому надо вышлю на E-Mail
Добрый вечер может кто поделиться текстом программы в txt формате и печатку в спирит лейте. (DulikDS@gmail.com)
отправте мне пожалуйста печатную плату для этого частотомера на адрес
sachapugowkin@rambler.ru