Cейчас появился микроконтроллер AT89S51, который легко программируеться.
Собираюсь и себе такой собрать
Цифровой частотомер на однокристальном микроконтроллере КР1830ВЕ31
Хлюпин Николай Петрович.
(КР1816ВЕ31, 8031, 80C31, 87C51, AT89C51).
Диапазон измеряемых частот
1 Гц ... 100 МГц
Диапазон измерения нестабильности
+/-10 МГц
Количество разрядов индикатора
8
Дискретность отсчета
1 Гц
Время измерения
1 секунда
Чувствительность 100 ... 200 mV
Этот частотомер был разработан в далеком 1994 году. Хотя в последующие годы появилось много подобных конструкций, на мой взгляд, и в XXI веке прибор ничуть не устарел, а по некоторым параметрам даже превосходит более поздние разработки. Первый, упрощенный, вариант прибора был опубликован в журнале "Радиолюбитель" №11 за 1994г. После публикации я получил массу откликов, среди которых практически не было нареканий на качество работы прибора и трудности с наладкой.
Для данного частотомера разработана программа "Новогодний сувенир", которая выводит на индикатор динамичные картинки. Так что, кроме всего прочего, он может украсить Вашу радиолабораторию в Новый год. Несерьезно? Но ведь не секрет, что и самые совершенные компьютеры часто используются только как игрушки.
Принцип работы частотомера - классический: измерение количества импульсов входного сигнала за фиксированный интервал времени. Таким интервалом выбрана 1 секунда, что обеспечивает точность отсчета - 1 Герц. Этого вполне достаточно для большинства целей.
Питание +5v на все микросхемы подводится к выводу с максимальным номером. С общим проводом соединяется вывод с вдвое меньшим номером. Между цепями питания необходимо включить 2...3 блокировочных конденсатора 0,01...0,1Мк. Светодиод HL1 используется в качестве стабилитрона с напряжением стабилизации около 1v. Это напряжение обеспечивает надежное запирание ключевых транзисторов. Цепь C4, R1 необходима для сброса при включении сети.
В настоящее время не составляет труда приобрести микроконтроллер с встроенной памятью программ 87C51 или AT89C51. В этом случае схема существенно упрощается, в нее нужно внести следующие изменения: DD5.4 исключается, вывод 11 DD3 подключается к +5v. Между Р0.0 - Р0.7 и +5v желательно включить подтягивающие резисторы 10к, хотя, как показала практика, прибор нормально работает и без них. DD2, DD4 исключаются, DD3 тоже можно исключить, если нагрузочная способность порта достаточна для управления ключами индикатора (вакуумный индикатор). Вывод 31 DD1 отключается от "земли" и подключается к +5v.
Программа для работы с внешним и внутренним ПЗУ имеет некоторые отличия.
Линии dF и F (выводы 12 и 13 DD1) подсоединяются к двум кнопкам на замыкание без фиксации, установленным на лицевой панели. Вторые контакты этих кнопок подсоединяются к общему проводу. При кратковременном нажатии на кнопку dF частотомер переходит в режим измерения нестабильности частоты. При этом на индикатор выводится разность между текущим значением частоты и тем, которое было в момент перехода в этот режим. В старшем разряде индицируется знак отклонения частоты, поэтому диапазон измерения отклонения равен 10 Мгц.
При нажатии на кнопку F прибор возвращается в режим измерения частоты. Этот режим устанавливается и при включении питания.
Линия 1/10 (вывод 14 DD1) подсоединяется к свободному контакту входного разъема. Она предназначена для удобства работы при использовании внешнего СВЧ делителя на 10. На ответной части разъема распаивается перемычка между этим контактом и контактом, соединенным с общим проводом. Таким образом, при подключении внешнего делителя на 10, расширяющего диапазон измеряемых частот до 1000 Мгц эта линия соединяется с общим проводом. При этом соответствующим образом изменяется расположение десятичных точек на индикаторе. При работе без СВЧ делителя, т.е. при измерении частот до 100 Мгц этот контакт должен оставаться свободным. С внешним СВЧ делителем цена младшего разряда - 10 Герц.
Диод VD3 в блоке питания обеспечивает небольшое запирающее напряжение для исключения подсветки ненужных сегментов индикатора. Для обеспечения электромагнитной совместимости поверх первичной обмотки трансформатора желательно проложить электростатический экран из медной фольги.
К частотомеру можно подключить и светодиодные индикаторы практически любого типа у которых справа от цифры есть точка. Лучше, если цвет свечения будет красный, т.к. светодиоды другого цвета потребляют в 1,5-2 раза больший ток. На схемах 1 и 2, приведенных ниже показано подключение индикаторов с общим катодом, а на схемах 3 и 4 - с общим анодом. Необходимость установки диода, показанного пунктиром определяется экспериментально. Он обеспечивает запирание транзисторов и исключает подсветку ненужных сегментов. Рекомендуемый тип - КД105 или любой кремниевый с током не менее 300 ma. Транзисторы VT1-VT8 на схемах 2, 3, 4 типа KT209 или другие кремниевые с током 300 ma, VT9-VT16 типа KT361. На схеме 1 VT1-VT8 также KT361. R2-R9 = 1-2k, R10-R17 подбирают под конкретный тип индикатора в пределах 50 om - 1k для достижения оптимальной яркости свечения сегментов.
Важной особенностью частотомера является то, что в нем можно использовать кварцевый резонатор на любую самую "экзотическую" частоту в диапазоне 5...12 Мгц. Оптимальным, на мой взгляд, является значение 6...8 Мгц. Длительность интервала измерения определяется двумя константами - К1 и К2. Программа построена таким образом, что допускает многократную коррекцию этих значений.
Для наладки крайне желательно иметь возможность воспользоваться заводским поверенным частотомером. Вначале нужно измерить частоту генерации кварца в данной схеме. Для этого образцовый частотомер подключают через конденсатор 2-3 пф к выводу 18 или 19 DD1 (C3 - в среднем положении). Это можно сделать без ПЗУ, т.к. кварцевый генератор запускается при подаче питания независимо от программы. В крайнем случае, при отсутствии образцового прибора, можно принять для расчета значение частоты генерации кварца от 1кгц (для кварца 6мгц) до 5кгц (для кварца 12мгц) выше того, что на нем написано. Например, для кварца 8мгц при расчете следует принять частоту генерации около 8002000гц.
Затем задаемся значением К1 в пределах от 8 до 16 и рассчитываем К2.
К2 = 7 + 65536 * (K1) - f/12 , где f - частота используемого кварца, Гц.
К2 может принимать значение от 0 до 65535, а К1 - от 1 до 255. Если K2 получается отрицательным или больше 65535, задаемся другим значением K1 и повторяем расчет. И так до тех пор, пока не получится значение K2 в пределах от 0 до 65535. Полученные значения K1 и K2 по правилам математики переводим в шестнадцатиричную форму. K2 следует округлить до ближайшего нечетного значения. Именно нечетного!
В авторском варианте для f=6144600 Гц К2= 12245= 2FD5H, К1=8. Константа К1 хранится в ячейке 01B1H, старший байт К2 - в ячейке 01B2H, младший байт К2 - в 01B3H. Увеличение K2 на 1 приведет к уменьшению показаний прибора на 10 - 20 гц для измеряемой частоты около 10 мгц (или на 1 - 2 гц для частоты 1 мгц). После запуска и наладки прибора следует провести измерение частоты какого-либо генератора и сравнить показания с образцовым частотомером. Это измерение следует проводить на частоте не менее 10 мгц. Если не удастся добиться одинаковых показаний вращением C3, придется скорректировать значения констант К1 и К2. При использовании однократно программируемых ПЗУ следует "забить" ячейки 01B1H, 01B2H, 01B3H нулями, а значения К1 и К2 записать, начиная с ячейки 01B4H в последовательности, указанной выше. Эту операцию можно проводить многократно.
Частотомер можно использовать не только по прямому назначению, но и как... Новогодний сувенир. Темп выполнения программы "Новогодний сувенир" определяется константой K3, хранящейся в ячейке 075AH для варианта программы с внешним ПЗУ К573РФ5. В программе для микроконтроллера с встроенным ПЗУ К3 хранится в ячейке 045AH. Она рассчитывается по эмпирической формуле:
K3 = 13,3 * F, где F - частота используемого кварца, МГЦ.
Особой точности здесь не требуется, вычисленное значение следует округлить до целого числа и перевести в шестнадцатиричную форму. Например, для F=12мгц K3=0A0H, для 10мгц - 085H, а для 6,144мгц - 052H. В ячейках 075BH и 075CH для варианта с внешним ПЗУ или 045BH и 045CH для встроенного ПЗУ записан в двоично-десятичной форме наступающий Новый год. Информацию в трех перечисленных ячейках можно корректировать, "забивая" их нулями и записывая новые значения в последующих. Важно только соблюдать порядок - K3, затем 2 старшие цифры года и 2 младшие цифры года. Допустимо корректировать только год, оставляя K3 неизменной.
При использовании частотомера по прямому назначению данная программа никак себя не проявляет и запускается, только если включить питание при нажатой кнопке "dF". На индикаторе в этом случае появляется год, записанный в ПЗУ. Если удерживать кнопку нажатой более 2сек, начинается счет лет - 1997, затем 1998 и т. д. Дождавшись нужной даты следует отпустить кнопку, после этого запускается программа, выводящая на индикатор несколько последовательно сменяющих друг друга динамичных картинок.
Каких? Сделайте - увидите!
610016 Россия, г.Киров-16, а/я 1906 Хлюпин Николай Петрович