60 МГц частотомер на микроконтроллере PIC18F84

Представленный в данной статье частотомер позволяет измерять частоту от 10 Гц до 60 МГц с точностью 10 Гц. Это позволяет использовать данный прибор для самого широкого применения, например измерять частоту задающего генератора, радио приёмника и передатчика, функционального генератора, кварцевого резонатора и др. Частотомер обеспечивает хорошие параметры и обладает хорошей входной чувствительностью, благодаря наличию усилителя и TTL-преобразователя. Это позволяет измерять частоту кварцевых резонаторов. Если использовать дополнительный делитель частоты, максимальная частота измерения может достигать 1 ГГц и выше.



Идея частотомера на микроконтроллере PIC, возникла у меня после прочтения апнота AN592 фирмы Microchip, где описывается измерение частоты на PIC и представлена программа. Я разработал схему и написал программу, в которой улучшил точность измерения, а значение частоты отображается на LCD-экранчике. Получился довольно простой и эффективный частотомер.

Схема частотомера довольно простая, большинство функций выполняет микроконтроллер. Единственное, для микроконтроллера необходим усилительный каскад, чтобы увеличить входное напряжения с 200-300 мВ до 3 В. Транзистор, включенный по схеме с общим эмиттером, обеспечивает псевдо-TTL сигнал, поступающий на вход микроконтроллера.



В качестве транзистора необходим какой-нибудь "быстрый" транзистор, я применил BFR91 (отечественный аналог КТ3198В).

60 МГц частотомер на микроконтроллере PIC18F84


Напряжение Vкэ устанавливается на уровне 1.8-2.2 вольта резистором R3* на схеме. У меня это 10 кОм, однако может потребоваться корректировка. Напряжение с коллектора транзистора прикладывается к входу счетчика/таймера микроконтроллера PIC, через последовательное сопротивление 470 Ом. Для выключения измерения, в PIC задействываются встроенные pull-down резисторы.



В PIC реализован 32-битный счетчик, частично аппаратно, частично софтово. Подсчет начинается после того, как выключаются встроенные pull-down резисторы микроконтроллера, продолжительность составляет точно 0.4 секунды. По истечении этого времени, PIC делит полученное число на 4, после чего прибавляет или отнимает соответствующую промежуточную частоту, для получения реальной частоты. Полученная частота конвертируется для отображения на дисплее.







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

Если данный метод не подходит, то можно воспользоваться "грубой калибровкой". Для этого, выключите питание прибора, а 10 ножку микроконтроллера подсоедините на GND. Затем, включите питание. МК будет измерять и отображать внутреннюю частоту. Если вы не можете подстроить отображаемую частоту (путем подстройки конденсатора 33 пФ), то кратковременно подсоедините вывод 12 или 13 МК к GND. Возможно, что это нужно будет сделать несколько раз, т.к. программа проверяет эти выводы только один раз за каждое измерение (0.4 сек). После калибровки, отключите 10 ногу микроконтроллера от GND, не выключая при этом питания прибора, чтобы сохранить данные в энергонезависимой памяти МК.

Скачать прошивку:
У вас нет доступа к скачиванию файлов с нашего сервера

4 комментария

reper 6 января 2014 21:34
Кварц на какую частоту?
penzet 9 января 2014 12:56
Кварц на 4 Mgz
swat5 24 мая 2014 12:41
В протеусе не работает.
baa 17 января 2015 11:42
Судя по фото это не PIC18F84 а PIC16F84! У PIC18F84 80 и в ДИП корпусе не выпускается! Будет хохма если кто не обратит внимания и закажет PIC18F84 для этого девайса!!!
--------------------
Теория: Всем всё ясно, но ничего не работает. Практика: всё работает, но никто не понимает как.
Ваше имя: *
Ваш e-mail: *
Войти через
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Введите два слова, показанных на изображении:
© 2010-2017 Все права соблюдены.