Site Loader

Содержание

ЧАСТОТОМЕР НА PIC16F628A

   Ещё несколько лет назад измерители частоты делали на отдельных микросхемах с КМОП логикой, но так как вы уже стали PIC-программистами, используем для него микроконтроллер. Предлагаемый частотомер очень прост и вместе с тем показывает надёжную работу схемы. Здесь мы будем использовать 7-сегментный светодиодный дисплей, не ЖК, на котором будет простой частотомер до 1 МГц, который использует 6-разрядов индикатора. Если нужны более высокие частоты измерений — смотрите эти схемы с делителями на входе.

Принципиальная схема частотомера

   Микроконтроллер PIC16F628A служит для того, чтобы выполнить всю работу без каких-либо дополнительных микросхем. На 16F628A 16 I/O выводов, два из которых используются для кварцевого генератора, один предназначен для ввода сигнала, а другой может быть использован только для ввода, что дает нам только 12 полезных I/O контактов. Решение — поставить транзистор, который открывается при выключении всех других цифр.

   Светодиодный 7-сегментный дисплей, используемый здесь, с общим катодом типа BC56-12SRWA. Когда все сигналы находятся на высоком уровне, транзистор Q1 открывается и переключается на первой цифре. Ток для каждого сегмента составляет около 7 мА.

   Вся схема частотомера потребляет тока порядка 30 мА в среднем. Микроконтроллер использует свой внутренний 4 MHz генератор для тактирования CPU. А внешний кварцевый генератор с частотой 32768 Hz нужен для установки 1 второго временного интервала. Tmr0 используется для подсчета входного сигнала на выводе RA4.

   В качестве входного сигнала нужно будет 5 вольт прямоугольного вида. Сам частотомер может измерять до 1 мегагерца, что более чем достаточно для любительских проектов. Это сделано для удобства, так как счетчик может достигать показаний 999999 Гц — и ничего переключать не нужно. Меряем хоть 11 герц, хоть 139,622 килогерц.

   В общем если у кого есть желание повторить этот проект самим, вот файлы. Плата в архиве немного отличается от той, что на фотографии, были позже сделаны некоторые оптимизации. А программный код открыт — можно его при умении оптимизировать.

Originally posted 2019-08-06 03:26:48. Republished by Blog Post Promoter

Цифровая шкала частотомер на pic16f628a. Частотомер на PIC16F628. Радиотехника, электроника и схемы своими руками. Приступаем к сборке

  • 28.09.2014

    Данный приемник работает в диапазоне 64-75 МГц и имеет реальную чувствительность 6 мкВ, выходную мощность 4 Вт, диапазон ЗЧ — 70…10000Гц, КНИ не более 1 %. При этих параметрах приемник имеет размеры 60*70*25 мм. Приемный тракт собран на КС1066ХА1(К174ХА42) по стандартной схеме. Антенна — провод длиной около метра, сигнал от …

  • 29.09.2014

    Схема выполнена на двух микросхемах ТВА1208. В основе лежит схема трансивера, напечатанная в Л,1, но этот тракт работает с промежуточной частотой 500 кГц, что, конечно несколько снижает eгo характеристики, но позволяет использовать готовый, нacтpoeнный на заводе электромеханический фильтр. Микросхемы ТВА1208 предназначены для работы в тракте второй ПЧ3 телевизоров, В них …

  • 20.09.2014

    Классификация магнитных материалов Магнитные материалы находят самое широкое распространение в электротехнике, без них в настоящее время немыслимы электрические машины, трансформаторы, электроизмерительные приборы. В зависимости от применения к магнитным материалам предъявляются различные, подчас противоположные, требования. По признаку применения магнитные материалы классифицируются на две большие группы: магнитомягкие магнитотвердые Рассмотрим кратко их характеристики. …

  • 10.12.2017

    На рисунке показана схема простого высоко чувствительного акустического выключателя, который управляет нагрузкой при помощи реле. В схеме используется электретный микрофон, при использовании ECM микрофона необходимо использовать резистор R1 сопротивление от 2,2 кОм до 10 кОм. Первые два транзистора представляют собой предварительный микрофонный усилитель, R4 С7 в схеме устраняют нестабильность усилителя. …

В этой статье описано как подключить жидкокристаллический индикатор со знакогенератором к микроконтроллеру. Рассмотренные здесь методы и схемы подходят для подключения ЖКИ со встроенными контроллерами HD44780 (Hitachi), KS0070, KS0066 (Samsung), LC7985 (Sanyo), SED1278 (Epson) или с другими аналогичными. Эти, или совместимые с ними, контроллеры используются в большинстве выпускаемых в настоящий момент знакосинтезирующих ЖКИ, например, в таких, как ACM0802, ACM1601, ACM1602, ACM1604, ACM2002, ACM2004, ACM2402, ACM4002, ACM4004 фирмы Displaytronic, MT-10S1, MT-16S2D фирмы МЭЛТ, DV-0802, DV-16100, DV-16110, DV-16120, DV-16210, DV-16230, DV-16235, DV-16236, DV-16244, DV-16252, DV-16257, DV-16275, DV-16276, DV-20100, DV-20200, DV-20210, DV-20211, DV-20220, DV-24200, DV-40200 фирмы Data Vision, AC082A, AC161, AC162, AC164, AC202, AD202, AC204, AC242, AD242, AC402 фирмы Ampire.

Вообще, данная задача сводится к организации обмена данными между подключаемым контроллером и встроенным контроллером ЖКИ, потому что самой матрицей управляет именно встроенный контроллер. В дальнейшем, когда мы будем говорить о подключении к ЖКИ, следует понимать, что речь идет о подключении к встроенному контроллеру. Перечисленные выше контроллеры ЖКИ имеют аналогичные интерфейсы, наборы команд и распределение памяти, хотя размер встроенной ROM-памяти, последовательность команд инициализации, время выполнения команд и некоторые другие параметры могут несколько отличаться.

Итак, для начала, давайте разберемся с работой ЖКИ.

1) Интерфейс .

Обычно ЖКИ имеет 14 или 16 выводов, назначение которых представлено в таблице 1:

ТАБЛИЦА 1

номер контакта наименование описание
1 Vss GND — общий провод (земля)
2
Vdd Power supply — питание +5В
3 Vo контраст
4 RS Register select — выбор регистра
5 R/W Read/write — чтение/запись
6 E Enable — вкл/выкл передачи
7 DB0 Data bit 0
8
DB1
Data bit 1
9 DB2 Data bit 2
10 DB3 Data bit 3
11 DB4 Data bit 4
12 DB5 Data bit 5
13 DB6 Data bit 6
14 DB7 Data bit 7
15 BL+ питание подсветки
16 BL- общий провод подсветки

Таким образом, интерфейс имеет восемь информационных линий: DB7..DB0 и три управляющих: RS, R/W, E.

Линия RS определяет к какому регистру контроллера ЖКИ мы хотим обратиться, то есть какую информацию мы передаем — данные или команды.

Линия R/W определяет направление передачи данных — запись в ЖКИ или чтение из ЖКИ.

Линия E включает (когда на линии высокий уровень) или выключает (когда на линии низкий уровень) передачу информации, сформированной на остальных интерфейсных линиях.

Интерфейс работает следующим образом: сначала на интерфейсных линиях DB7…DB0, RS, R/W формируется информация, которую нужно передать, потом на некоторое время (>500 нс для f 0 =270 кГц) подается высокий уровень на линию E (в это время ЖКИ считывает информацию), после чего сигнал E переводится опять в состояние низкого уровня. f 0 — частота, на которой работает контроллер ЖКИ. Вообще, контроллеры ЖКИ могут работать на разных частотах (у них есть выводы для подключения внешнего резонатора), но обычно используется внутренний генератор на 270 кГц.

После получения каждой порции информации контроллеру ЖКИ требуется некоторое время для ее обработки, поэтому передавать информацию подряд нельзя. После каждой посылки требуется подождать некоторое время, чтобы контроллер ЖКИ освободился. Обычно в даташите указано, какой команде сколько времени требуется для выполнения. Также, в контроллере ЖКИ предусмотрена возможность сообщить внешнему устройству о своем состоянии (BUSY/READY). То есть, при передаче данных, можно либо анализировать состояние контроллера ЖКИ и посылать следующую порцию данных, как только контроллер ЖКИ освободится, либо просто выждать время, большее, чем время выполнения операции по даташиту, после чего посылать следующую порцию данных.

Для уменьшения количества проводов от ЖКИ к внешнему устройству можно использовать не 8, а 4 информационных сигнала (DB7…DB4). Все рассматриваемые контроллеры ЖКИ допускают такую возможность. В этом случае данные передаются в два этапа (кроме первой команды инициализации): 1) передаются управляющие биты и старший полубайт посылки 2) передаются управляющие биты и младший полубайт посылки.

Первое, что нужно сделать после включения ЖКИ — это провести инициализацию. Инициализация заключается в посылке нескольких команд в определенной последовательности. Количество команд инициализации может несколько отличаться у разных контроллеров, но все же базовый набор команд для восьми- и четырехбитного интерфейсов, подходящий для большинства контроллеров, приведен ниже.

Во время инициализации лучше не анализировать флаг BUSY, а тупо ждать положенное время перед посылкой следующей команды, так как флаг начинает выставляться не сразу, а после какой-то команды (смотрите даташит).

Инициализация для восьмибитного интерфейса (f 0 =270 кГц)

1) включение питания

2) пауза >30 мс

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 1 1 N F X X

4) пауза >39 мкс

5) DISPLAY ON/OFF CONTROL

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 1 D C B

6) пауза >39 мкс

7) DISPLAY CLEAR

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 0 0 0 1

8) Пауза >1.53 мс

9) ENTRY MODE SET

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 0 1 I/D SH

Инициализация для четырехбитного интерфейса (f 0 =270 кГц)

1) включение питания

2) пауза >30 мс

RS R/W DB7 DB6 DB5 DB4
0 0 0 0 1 0
0 0 0 0 1 0
0 0 N F X X

N=0 — однострочный дисплей, N=1 — двустрочный дисплей

F=0 — шрифт 5х8, F=1 — шрифт 5х11

4) пауза >39 мкс

5) DISPLAY ON/OFF CONTROL

RS R/W DB7 DB6 DB5 DB4
0 0 0 0 0 0
0 0 1 D C B

D=0 — дисплей выключен, D=1 — дисплей включен

C=0 — курсор выключен, C=1 — курсор включен

B=0 — мерцание выключено, B=1 — мерцание включено

6) пауза >39 мкс

7) DISPLAY CLEAR

RS R/W DB7 DB6 DB5 DB4
0 0 0 0 0 0
0 0 0 0 0 1

8) Пауза >1.53 мс

9) ENTRY MODE SET

Частотомер от 0,1Гц до 75 MГц

Интересный проект частотомера на PIC16f628a.

Изначально это был «экономичный многофункциональный частотомер» описание и схема которого были опубликованы в журнале Радио №10 за 2002 год. Недостатков для повторения было огромное количество. Сложная схема, дорогой PIC16F84A, знакогенератор дисплея обязательно должен содержать кириллицу. Отсутствие исходника, невнятно напечатанный текст файла прошивки, который вероятно предлагалось набирать в текстовом редакторе на компьютере. Затем исходный текст и файл прошивки появились в свободном доступе. Но примененный процессор и обязательно русифицированный дисплей все портили. Энтузиасты собравшие на дисплеях без русификации получали абракадабру на дисплее и бросали эту конструкцию. Совершенно случайно набрел на исходный текст который автор переделал под PIC16f628a. PIC16f628a стоит мало и легко приобретается на aliexpress. Осталось дело за малым. Упростить схему и внести изменения в исходник, для применения самых дешевых LCD1602 продаваемых на aliexpress. Схему я упростил до максимума. И это безобразие работает.

Для тех кто далек от чтения схем, нарисовал то, что подразумевается.

Дальше упрощать схему и показывать все соединения, уже некуда.

Поскольку функционал в прошивке остался полным, желающие могут собрать полноценную, изначально предлагаемую схему.

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

Кстати это наглядный пример того как выглядит точность плюс минус 13 ppm на частоте 10 Mhz. Заводской прибор не настраивался (имеется возможность подстроить до 1ppm). А частотомер настраивался, увы но на кварцах HS-49S это лучшее что удалось получить. Хотя для ардуино поделок этого будет более чем достаточно и по диапазону частот и по точности.

Описание полного функционала с первоначальной схемой вложено в архив. Схемотехнически упрощенный частотомер обладает всеми программными функциями за исключением кнопки включения. Поэтому можно просто прочитать авторскую статью, а повторять не вижу смысла. Так же в архиве вложены все схемы. Прошивка в виде hex файла скомпилированная мной уже с изменениями на английские надписи. Исходный текст с внесенными изменениями и многочисленными авторскими комментариями. Успехов в повторении этого замечательного прибора для домашней мастерской.

 

Частотомер до 150 МГц на PIC

 Этот простой и удобный частотомер может измерять частоты FM диапазона и имеет автономное питание. Большинство аналогичных устройств имеет ЖК дисплеи со встроенным контроллером, что увеличивает общий ток потребления прибора . Также, многие высокочастотные частотомеры используют микросхемы с большим током потребления. Данное же устройство построено на современных экономичных микросхемак, что позволяет питать его от одной батарейки размера АА.

Характеристики частотмера

  • Диапазон частот: 1Гц — 150MГц
  • Диапазон амплитуд входного сигнала: 250mV — 5V
  • Разрешение: до 5 знаков
  • Точность: 4 знака
  • Время измерения: 0.1 сек или 1сек; автоматический выбор
  • Полностью автоматическая работа
  • Работает от одной батарейки AA; потребляемый ток < 15mA

 

О точности измерений

В частотомере использован кварц на частоту f0=100KГц и допуском Δf/f0 = ±30ppm. Это означает, что реальная частота лежит в диапазоне 100KГц·(1 ± 3·10-5). То есть максимальное отклонение от 100KГц составляет 3Гц. Как это влияет на точность измерений?

Частотомер считает количество периодов, прошедших за интервал 0.1 сек. Таким образом, точность определяется точностью измерения этого интервала. В этом частотомере этот интервал устанавливается как скважность ШИМ модуля контроллера. Формула для скважности такова: (CCPR1L:CCP1CON<5:4>)·Tosc·(TMR2 prescale value) = 625·Tosc·16, гдеTosc = 1/f0 = 10-5 сек. Приводя к точности кварца, получаем разброс: 104·10-5(1± 3·10-5)= 0.1± 3·10-6сек. Другими словами, точность отсчета временных интервалов зависит от точности кварцевого резонатора.

Возьмем крайний случай — временной интервал равен 0.1+3·10-6 сек. Пусть входная частота равна N герц (=периодов в секунду). Тогда измеренное значение будет N·(0.1+3·10-6) = N/10 + (N/10)·3·10-5. В 0.1 секундном мы получаем значение частоты N/10 периодов, поэтому разница между измеренным и реальным значением N/10 будет (N/10)·3·10-5. Для частот больше, чем 333 KГц (3.33·105Гц) разница превышает 1, так что для этих частот наш счетчик будет показывать неправильное значение  N/10. Важным следствием этих соображений является то, что можно гарантировать только 4 старших разряда измеренной частоты N/10, иногда 5 разрядов. 

Расчеты показывают, что при использовании кварцев с допуском несколько десятков ppm невозможно гарантировать точность в 6 или более знаков. А так как мы не можем гарантировать точность младших разрядов, то и нет смысла их отображать. Поэтому в частотомере отображается только 5 старших разрядов частоты, игнорируя остальные разряды.

Но на точность измерений влияет не только точность кварца, но и эффект его старения и рабочая температура. Однако, при температурах 10°C — 40°C  влияние температуры на общую точность составляет не более ±10ppm, так что мы все равно можем гарантировать 4 — 5 ти значную точность.

Форматирование вывода

На индикаторе, используемом в частотомере есть только восемь 7-сегментных символов, поэтому применена специальная схема отображения диапазонов частот. Схема показана в таблице ниже. Незначащие нули не отображаются и показаны серым цветом. Диапазон отображается справа в экспоненциальной системе. Где символ E представляет 10 а число — степень 10ти. 

ИндикацияДиапазон измеренийВремя счета
0. 0. 0. 0. 1 0.  E 0 0 — 9 Гц 1 сек
0. 0. 0. 1 2 0.  E 0 10 — 99 Гц 1 сек
0. 0. 1 2 3 0.  E 0 100 — 999 Гц 1 сек
0. 1. 2 3 4 0.  E 3 1 — 9.999 KГц 1 сек
1 2. 3 4 5 0.  E 3 10 — 99.999 KГц 1 сек
1 2 3. 4 5 0.  E 3 100 — 999.99 KГц 0.1 сек
1. 2 3 4 5 0.  E 6 1 — 9.9999 MГц 0.1 сек
1 2. 3 4 5 0.  E 6 10 — 99.999 MГц 0.1 сек
1 2 3. 4 5 0.  E 6 100 — 150 MГц 0.1 сек

Измеренная частота представлена целым числом с 1 до 8 цифр. Значения, имеющие более 5 цифр округляются до ближайшего целого цначения, имеющего 5 ненулевых цифр в старших разрядах. Например, значение 12,345,678 округляется до 12,346,000 ( на дисплее 12.346 E6 ), а 12,345,456 округляется до 12,345,000 (на дисплее 12.345 E6).

Железо

На входе схемы стоит предварительный усилитель, построенный на высокоскоростном компараторе LT1715. Согласно даташиту, он может работать на 150MГц. Входы второго компаратора, находящегося в корпусе микросхемы соединены с землей и шиной +5V для предотвращения его срабатывания и влияния на работающий компаратор. Компаратор — самое медленное устройство в схеме и он определяет верхнюю границу измерений. Резисторы по 10K сдвигают уровень на входах компаратора приблизительно до 2V. Резистор на 100 Ом добавлен для небольшого увеличения напряжения на инвертирующем входе.  Поэтому в спокойном состоянии на выходе всегда 0. Разница во входных напряжениях составляет около 110мВ и определяет чувствительность предусилителя. Входное напряжение для гарантированной работы должно быть 150 мВ.  Резистор 10K на выходе компаратора необязателен.

 

 

Выход компаратора соединен с 4-битным двоичным асинхронным счетчиком SN74LV161A с макимальной рабочей частотой 220MГц при питании от 5 В. Счетчик использован как предделитель для таймера TMR1. Он делит входную частоту на 16, поэтому на вход контроллера попадает максимум 10MГц, что удовлетворяет требованиям минимального периода в 60 нсек,  требуемых для работы таймера TMR1 в асинхронном режиме.  Все 4 выхода счетчика соединены с контроллером и на них образуются 4 старших бита измеряемых импульсов.

Сердце частотомера —  контроллер PIC16F648A ( можно использовать PIC16F628A). 

Контроллер PCF8562 управляет ЖК дисплеем VM-838. На плате микросхема контроллера дисплея расположена под ЖКИ.

Напряжение питания 5 В получается с помощью DC/DC преобразователя NCP1400A. Он обеспечивает 5 вольт от одной батарейки AA. Ток потребления после преобразователя около 10 мA в покое, 9 мA из которых потребляется входным компаратором. Однако ток потребления от самой батарейки будет в 5 — 7 раз больше. Максимальный измеренный ток потребления составляет 70 мА, а средний — 40 мА. От одной батарейки АА емкостью 2000 мА·Ч частотомер может работать около 40 часов.

Прибор собран на одной стороне двусторонней печатной платы, но имеет несколько перемычек на обратной стороне. Медь на другой стороне использыется как дополнительный экран. Обратная сторона имеет олько 4 компонента: входной BNC разъем, держатель батарейки AA, 4 металлические стойки, и выключатель питания AS12AH. Плата разработана под  SMD резисторы и конденсаторы размера 0603, но размер 0805 тоже можно использовать. На плате есть 3 площадки, соединенные с RA0, RA1 и RA5, которые можно использовать, например, для подключения частотомера к компьютеру.

 

 

Микроконтроллер должен быть запрограммирован либо во внешнем программаторе либо на плате, но до припайки счетчика SN74LV161A, так как счетчик блокирует выводы программирования контроллера.

 

Некоторые ошибки разработки…

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

Также из-за тяжелой батарейки плата не очень устойчива на столе и при подсоединенном кабеле норовит перевернуться из-за кручения кабеля.

Несмотря на то, что индикация довольно проста, она все равно трудна для понимания.

Скачать файлы проекта

 

 

 

 

Простой частотомер на PIC16F628A. Измеряет до 920-930 кГц.

 

     Некоторое время назад я сделал аудио генератор со счетчиком частоты, который работал очень хорошо, но я продал его, и теперь я делаю новый. Здесь я покажу модуль частотомера, который я сделал для проекта.

   Поскольку у меня есть программатор PIC, этот проект разработан на микроконтроллере PIC. Как обычно, я искал вдохновения в интернете. Первоначальная идея пришла от проекта: счетчик частоты ЛКД. Я хотел использовать 7-сегментный светодиодный дисплей, а не ЖК-дисплей.

   Прежде всего, я хотел, чтобы микроконтроллер PIC делал всю работу без каких-либо дополнительных микросхем. Также я хотел использовать знакомый PIC16F628A, но поскольку один из выводов port A (RA5) может использоваться только в качестве входа, мне не хватало выходов для выполнения этой работы. Для управления 6-значным 7-сегментным мультиплексированным дисплеем требуется 7 + 6 = 13 выходов. 16F628A имеет 16 выводов ввода-вывода, два из которых используются для кварцевого генератора, один-для ввода сигнала, а другой может использоваться только для ввода, что оставляет нам только 12 полезных выводов ввода-вывода. Решение состояло в том, чтобы привести в действие один из общих катодов с транзистором, который открывается, когда все остальные цифры выключены.

Вот окончательная схема:

 

7-сегментные дисплеи, используемые здесь, являются 3-разрядным мультиплексированным c общим катодом (BC56-12SRWA). Цифры 2..5 включаются, когда соответствующие контакты установлены 0. Когда все эти контакты установлены в 1, транзистор Q1 открывается и включает первую цифру. Ток для каждого этапа около 6-7mA.

   Я должен упомянуть, что ток на контактах, подключенных к общим катодам теоретически могут просаживаться до 50 мА, если все сегменты включены (7x7mA). Это намного выше максимальных спецификаций микроконтроллера. Но так как каждая цифра включается на очень короткий момент Я думаю, что это безопасно. Вообщем схема потребляет около 30-40mA в среднем, и микроконтроллер не нагревается вообще, так что все кажется в порядке.

   Микроконтроллер использует свой внутренний генератор 4MHz для часов C. P. U. Timer1 использует внешний кварцевый генератор с частотой 32768Hz для установки 1 второго временного интервала. Timer0 используется для подсчета входного сигнала на выводе RA4. И, наконец, Timer2 используется для обновления цифр.
При входном сигнале прямоугольной формы 5Vpp нет никаких предусилителей или буфера в усилителе.
Счетчик может измерять до 920-930 кГц, что более чем достаточно для моего проекта. Причина, по которой он не может измерять частоту больше, заключается в том, что увеличение количества цифр требует много циклов процессора. Я полагаю, что код программы может быть оптимизирован или даже написан на ассемблере, и тогда счетчик может достигать 999999 Гц.

   Кварц на 32768Hz продаются в двух размерах: 2x6mm и 3x8mm. я рекомендую 2x6mm, потому что он идеально подходит под левым дисплеем. Другой размер также может быть использован, но он немного поднимет левый дисплей.

В любом случае, это готовый модуль:

 

Итак, если у кого-то есть жгучее желание самому протестировать этот проект, вот файлы проекта: Скачать архив

Используйте их на свой страх и риск!
Печатная плата в архиве немного отличается от изображений выше, потому что я сделал некоторые оптимизации.

   Уточненный PCB, Различный регулятор напряжения тока, немножко уменьшена плата. Архив включает в себя файлы Eagle, HEX и C-файл, а также сжатые файлы Gerber: версия 2

Стрелочный частотомер 5 Гц – 30 мГц на микроконтроллере PIC16F628A


Этот частотомер не требует цифрового индикатора и, из-за отсутствии динамической индикации, намного меньше аналогов шумит в эфир. Прибор может понравиться ретролюбителям.

Содержание / Contents

Я некоторое время назад начал изучать микроконтроллеры PIC. Собирал «азбуку», мигающие светодиоды и т.п. Потом набрался опыта и захотелось самому придумать что-то.

Взгляд упал на «древний» самодельный стрелочный частотомер на микросхеме К155АГ1 и я решил сделать улучшенную версию такого частотомера на PIC-микроконтроллере, не смотря на пару покупных цифровых приборов.


Поиск в Интернете схемы стрелочного частотомера на микроконтроллере результатов не дал. Пришлось самому придумывать.Сделал разбивку на диапазоны, как у частотомера на К155АГ1. В итоге прибавлены ещё два диапазона «1 – 10 мГц» и «10 – 100 мГц» и входной формирователь с чувствительностью 0,75 В.
Удалось убрать внешние настроечные диапазонные резисторы и конденсаторы.

Также программно устранён недостаток прототипа – ложное показание на шкале индикатора при кратном превышении частоты данного диапазона. Например, шкала «1-10 мГц». Если частота на входе 6 мГц, то стрелка на 6 мГц. А если входная частота 12 мГц, то у прототипа опять получалось 6 мГц!


У моего частотомера такого «косяка» нет. Будет зашкаливание индикатора. Причём, перегруз по току при зашкаливании индикатора небольшой, процентов на 20. Индикатору это не повредит, запас у него многократный.

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

Когда меняется в работе длительность периода входной и выходной частоты, то внутри этой выходной длительности периода будет фиксированная длительность положительного импульса. Их начала совпадают, то есть меняется скважность.
Ниже 20 Гц стрелка начинает вибрировать, поэтому нужен конденсатор С5. С ним вибрация проявляется ниже 10 Гц.

Подбором резистора R2 установите напряжение на коллекторе транзистора VT1 около 2 Вольт для наибольшей чувствительности по входу.

В приборе следует применить измерительную головку с максимальным отклонением стрелки на 100 мкА. Для настройки точности показаний нужно выбрать подходящий диапазон и подать максимальную частоту этого диапазона от эталонного генератора. Триммером R4 выставьте стрелку на отметку
«100». Все остальные диапазоны настроятся автоматически.

Применены самые распространенные, «бросовые» детали из тех, что всегда под рукой. Измерительную головка на 100 мкА. Переключатель диапазонов SB1 — любой галетник на 7 позиций, из отечественных — типа П2Г3 или импорт — типа RCL371.
Печатная плата не разрабатывалась, частотомер был собран на куске макетки и помещен в подходящий металлический корпус для уменьшения влияния возможных внешних наводок.

Не обращайте внимания на «лишние» детали – потенциометр и тумблер. Они не включены в итоговую схемуРабота проверена от 1 Гц до 30 мГц. Частоту выше нечем проверить, но по моим прикидкам прибор должен верно работать до 40 — 50 мГц.
Точность моего частотомера около 1-2% при максимуме показаний. Т.е. погрешность показаний составляет 1-2 делениям на шкале из 100 делений.Файл прошивки PIC16F628A:
Добавлен исходник на Ассемблере! 🎁Statya-na-Datagor.7z  2.91 Kb ⇣ 65

Камрад, рассмотри датагорские рекомендации

🌼 Полезные и проверенные железяки, можно брать

Опробовано в лаборатории редакции или читателями.

 

05.12.14 изменил Datagor. Добавлен исходник на Ассемблере

Схемы на pic16f628a контроллерах. Простое GSM охранное устройство на PIC16F628A с электронным ключом типа Touch Memory. Принципиальная схема частотомера

Вот еще один образец лабораторного оборудования — LC метр. Данный режим измерения, особенно замер L практически невозможно найти в дешевых заводских мультиметрах.

Схема данного LС метра на микроконтроллере была взята с сайта www.sites.google.com/site/vk3bhr/home/index2-html. Прибор построен на PIC микроконтроллере 16F628A, и так как я недавно приобрел программатор PIC, я решил испытать его это с помощью этого проекта.

Я убрал регулятор 7805, так как решил использовать зарядное устройство на 5 вольт от сотового телефона.

В схеме подстроичный резистор на 5 кОм, но на самом деле я поставил 10 кОм, согласно datasheet на приобретенный LCD модуль.
Все три конденсаторы 10 мкФ танталовые. Необходимо заметить что конденсатор C7 – 100мкФ на самом деле 1000мкФ.
Два конденсатора по 1000пФ конденсаторы styroflex с допустимым отклонением в 1%, индуктивная катушка 82мкГн.

Общий ток потребления с подсветкой составляет около 30мА.
Резистор R11 ограничивает ток подсветки и должен быть рассчитан в соответствии с фактически используемым LCD-модулем.

Я использовал оригинальный рисунок печатной платы в качестве отправной точки и изменил его под имеющиеся у меня компоненты.
Вот результат:




Последние две фотографии показывают LC метр в действии. На первом из них измерение емкости конденсатора 1нФ с отклонением 1%, а на втором — индуктивность 22мкГн с отклонением в 10%. Устройство очень чувствительно – то есть, с неподключенным конденсатором он показывает емкость порядка 3-5 пФ, но это устраняется путем калибровки.

Описание оригинальной схемы.

Доработка устройства для постановки с снятия сигнализации при помощи ключа — Touch Memory

ОПИСАНИЕ УСТРОЙСТВА

Устройство предназначено для охраны и наблюдения за удаленными объектами. Собрано оно на микроконтроллере PIC16F628A, который отсчитывает необходимые интервалы времени и управляет мобильным телефоном посредством AT команд. Кроме этого, есть функция дозвона до телефонных номеров из списка (не более 3), записанных в EEPROM PIC’a и возможность отправлять SMS. Устройство очень простое в изготовлении и налаживании.
Конструкция не является собственной разработкой — схема, прошивка и программа конфигурирования были взяты из Интернета.

Работает устройство следующим образом: после включения питания проверяется уровень на RA5. Если переключатель «запись конфигурации» замкнут, микроконтроллер переходит в режим установки параметров и ждет прихода информации с ПК.

В случае работы с телефоном, будет произведена инициализация телефона (команды ATE0, AT+CMGF=0, AT+CNMI=1,1,0,0,1) и после временной задержки (конфигурируется) устройство перейдет в дежурный режим — будет контролировать логические уровни на «Вход1» — «Вход4». В случае если они не совпадают с записанными ранее в EEPROM значениями, может быть произведена отправка SMS, дозвон, включение внешних сигнальных устройств (сирена, свет и т. д.). После этого в течение времени, определённого параметром «время восстановления», микроконтроллер не будет реагировать на изменение состояния датчика. Это время может быть установлено в пределах от 10 сек. до 2540 сек. (около 40 мин). Кроме этого, есть возможность настраивать временные задержки: перед процедурой дозвона и отправкой SMS, включением сигналов 1 и 2 (0-255 с).

Автор оригинальной схемы заложил возможность определения в любой момент состояние всех четырех датчиков. Для этого отправляется сообщение с текстом «stat» на номер SIM карты мобильного телефона используемого в составе GSM сигнализации. На практике у меня такого не получилось. Для сброса устройства, возможно, использовать в SMS текст «rst».

Для отображения режима работы служат светодиоды LED1 и LED2. При работе в режиме охраны (основной режим) светодиод D2 мигает с частотой один раз в 4 сек. Оба горящих светодиода обозначают готовность к записи конфигурации с компьютера. Оба немигающих светодиода означают повреждение данных в EEPROM (неверная конфигурация устройства). Вспышки светодиода LED2 с периодом в 0,5 сек говорят о попытке передачи AT команд после включения для конфигурирования мобильного телефона. Мигающий светодиод LED1 говорит о том, что после подачи питания ещё не прошло установленное время. LED2 горит непрерывно при взаимодействии контроллера с телефоном (попытка дозвона и отправка SMS).

В оригинальной схеме стабилитроны D3-D6 защищают входы микросхемы от превышения допустимого уровня напряжения. Ввиду особенностей выводов микроконтроллера, я не стал следовать авторской схеме, применив делители на резисторах.

Как для связи с телефоном, так и для связи с компьютером при установке параметров, служат линии «data rx»(7 вывод PIC) и «data tx” (8 вывод PIC). Скорость порта составляет 19200 бит/с. Напряжение питания микроконтроллера составляет номинальное напряжения питания мобильного телефона (до 4В). В принципе, в нескольких проверенных автором экземплярах устройство нормально работало даже от двух разряженных NiCd аккумуляторов (напряжение около 2В). Схемы разъемов для мобильных телефонов можно найти, например, на сайте www.pinouts.ru. В качестве примера приведем распиновку разъема для телефона Siemens S35, с которым и работает это устройство. Нам нужны только три контакта — (GND) соединяется с «-» источника питания, (DATA OUT) — подключается к «GSM TX» устройства, (DATA IN) к » GSM RX». Возможно возникновение некой путаницы в понятиях «RT, TX”. Если подключение не удаётся, рекомендую взаимно заменить линии RT, TX, это совсем не страшно.

Я подключал эти линии к мобильному телефону через резистор номиналом 1КОм. В некоторых моделях телефонов, работающий по умолчанию через USB, необходимо дополнительно замкнуть некий вывод разъема для перевода интерфейса в режим работы через СОМ-порт. Для подключения к компьютеру необходим преобразователь уровней RS-232 в TTL. Я исконно использую 2 элементарных КТ315 для этих целей, хотя можно, применить микросхему MAX232 или аналогичные. Печатную плату я не сооружал, ввиду элементарности схемы, все компоненты разместил на монтажной плате, соединения с оборотной стороны обычными проводами.

На разъём «Input» подключается: 3 входа контролируемых параметров (в оригинале их 4, 4-й я подключил на внешнее питание), корпус, питание (12В), вход блокирования работы PIC-контроллера — в период снятия с охраны необходимо было блокировать работу ПИК. Ввиду очень малого тока потребления ПИК-контроллера, его работа сохранялась даже от питания по шинам DataRX, DataTX. Я применил оптопару АОТ 101АС, которая своим выходом просто коротила вывод кварца, останавливая генерацию и тем самым блокируя работу МК. Автор в прошивке микроконтроллера использовал WDT (сторожевой таймер), благодаря этому, работа микропроцессора восстанавливалась при «отпускании» ноги кварца, программа микроконтроллера начинает исполняться сначала. Иного способа для остановки работы искать не стал. При подаче +12В на вывод «LOCK» работа микропроцессора останавливается.
Остальные параметры необходимо настроить в программе конфигурирования.

Немного измененный и доработанный вариант охранки предложил участник форума Maratt с форума сайта первоисточника. Суть изменения — улучшить сервисные качества охранного устройства ic develop, автор которого на вопросы не отвечает. Если нельзя изменить программу, попытаемся улучшить аппаратную часть.

Есть только одна версия прошивки контроллера PIC16F628A, так как автор исходники не опубликовал. Если телефон ведет себя не так, как описано, разбираться надо с телефоном. Левая часть схемы осталась без изменений.

Теперь про правую часть.

В сети был найден проект «автосторож с устройством считывания электронных ключей типа DS1990A», и просто добавлен в схему.

Контроллер PIC12F675 обеспечивает считывание кода электронных ключей Touch Memory типа DS1990A фирмы Dallas Semiconductor, сравнение считанного ключа с информацией хранящейся в памяти, и выдачу сигнала управления.

Считывание серийного номера происходит при кратковременном касании электронного ключа к считывающему устройству контроллера. Контроллер снабжен световой индикацией режимов работы.

Количество хранящихся в памяти ключей, не более 20. Тактирование контроллера осуществляется от внутреннего тактового генератора частотой 4 МГц

К порту GPIO5 (вывод 2) микроконтроллера подключен светодиод «Режим», индицирующий работу контроллера электронного замка. Резистор R1 задает ток, протекающий через светодиод.

К порту GPIO4 (вывод 3) микроконтроллера подключен считыватель электронных ключей. Как уже упоминалось, обмен данными и командами между микроконтроллером D1 и электронным ключем, подключенным к считывателю, происходит с помощью однопроводного интерфейса 1-Wire. Резистор 4,7К является нагрузочным резистором для линии интерфейса 1-Wire (Обычный одножильный провод в оплетке). Резистор 150 ом и стабилитрон 4V7 защищают порт микроконтроллера от повышенного напряжения (статического и любого другого).

К порту GPIO3 (вывод 4) микроконтроллера подключена кнопка Прог ключей. С помощью нажатия этой кнопки производится запись ключа в память микроконтроллера, а также стирание всех ключей. Резистор 4,7К формирует напряжение высокого уровня на выводе 4 микроконтроллера. А нажатием на кнопку Прог ключей формируется напряжение низкого уровня.

Порт GPIO2 (вывод 5) микроконтроллера меняет свое состояние в зависимости от режима (снято с охраны -1, на охране -0)

Для записи первого или последующих ключей необходимо после подачи питания коснуться считывателя электронным ключем и нажать на кнопку Прог ключей. После четырех коротких вспышек светодиода «Режим» произойдет запоминание серийного номера в памяти микроконтроллера. Если память микроконтроллера полностью заполнится, то это будет оповещено четырьмя световыми сигналами. Вспышки светодиода будут более медленными, чем при записи ключа в память микроконтроллера.

Для стирания сразу всех ключей, хранящихся в памяти, необходимо выключить питание контроллера электронного замка, нажать на кнопку и подать на устройство питание, удерживая кнопку примерно 4 — 6 секунд, до появления серии коротких вспышек светодиода «Режим». Количество вспышек светодиода определяется количеством записанных в память электронных ключей (на стирание каждого ключа будет четыре коротких вспышки светодиода). После этого можно отпускать кнопку и устройство перейдет в нормальный режим работы. Но при этом перед пользованием необходимо записать в память микроконтроллера серийный номер хотя бы одного ключа.

Описание работы

При подаче питания контроллер после инициализации входит в режим проверки подключения электронного ключа. Светодиод «Режим» после включения питания начинает мигать, указывая на то, что устройство находится в режиме охраны, на выходе контроллера низкий лог уровень который не влияет на работу генератора. При касании считывателя контроллера электронным ключем, серийный номер которого хранится в памяти микроконтроллера, светодиод моргнет два раза. На выходе контроллера появится высокий уровень который заблокирует работу генератора. Светодиод «Режим» при этом будет светится постоянно, указывая о режиме снято с охраны.

При повторном касании электронного ключа считывателя произойдет постановка на охрану, и светодиод перейдет в режим мигания.

Внимание! После выключения питания устройство переходит в режим охраны!

Мой вариант исполнения охранки:

Разумеется, что повторяя данную схему, всегда сталкиваешься с подводными камнями. Были они и у меня. Для начала я определился по какой схеме буду собирать охранку и не прогадал – схема и печатка с дополнительной платой питания оказалась очень практичной конструкцией.

Схема охранного устройства:

Рис. 1 — Принципиальная схема простого GSM охранного устройства на PIC16F628A с электронным ключом типа Touch Memory

Устройство питания и сигнализации для простого охранного устройства.

Схема блока питания для охранного устройства:

Рис. 2 — СХЕМА принципиальная Схема блока питания для охранного устройства

К контактам разъема Х1 подключается вторичная обмотка сетевого трансформатора. На контактах разъема Х2 должно быть напряжение 16-18в.

Разъемы Х2 и Х3 предназначены для подключения узла (выделенного красным цветом) в состав которого входит:

1.Зарядное устройство,

2.аккумулятор 12в.

3. Устройство защиты аккумулятора от полного разряда.

При установке охранного устройства в месте, где нет сетевого напряжения, к разъему Х3 подключается заряженный аккумулятор.

На транзисторе VT1 собран ключ для коммутации звуковой сигнализации- зуммера на 12вольт со встроенным генератором подключенного к разъему Х5. К разъему Х4 (Сигнал1) подключается одноименный выход сигналки. Для более мощного устройства, например автономной сирены, к разъему Х5 можно подключить реле, которое будет коммутировать это устройство.

На транзисторе VT2 собран ключ для коммутации встроенного (паяется на плату) или выносного зуммера (подключается к разъему Х8) с напряжением питания 5в. Разъем Х6 (Сигнал2) подключается к одноименному выходу сигналки. Вход Сигнал3 (разъем Х7) можно подключить к 6 выводу PIC12F675 или использовать по своему усмотрению.

На микросхеме VR1 собран стабилизатор напряжения с выходным напряжением 3,0в. К его выходу Х9 подключаем вход питания сигналки. При этом напряжении контроллеры PIC16F628A и PIC12F675 работают стабильно, а сигналы RX TX согласованны по уровням с телефоном или модемом.

На микросхеме VR2 собран стабилизатор напряжения с выходным напряжением 4,2в. К выходу которого подключается модем или телефон. Это номинальное напряжение питания модуля SIM300D. Для питания телефона нужно снизить это напряжение до 3,7в, уменьшив сопротивление резистора 560*.На выходе стабилизатора есть делитель напряжения, средняя точка которого выведена на разъем Х10. Делитель имитирует сигнал с терморезистора аккумулятора сотового телефона. При подключении контактов Х10 вместо аккумулятора телефон будет работать от стабилизатора. Для некоторых моделей телефонов может потребоваться подбор резисторов делителя.

Изготовление печатной платы показывать не буду, так как это уже тривиально, сразу покажу результат работы.

С монтажом деталей:

Рис.3 — Плата GSM сигнализации своими руками — с монтажом деталей лицевая и обратная сторона.

Рис. 4 — Обратная сторона платы GSM сигнализации

Блок питания для сигнализации в готовом виде:

Рис. 5 — Готовая плата блока питания со стороны деталей

Рис. 6 — Плата блока питания с обратной стороны

Сильно изощряться не стал и использовал корпус от блока питания компьютера. Корпус с вмонтированным трансформатором можно увидеть на рисунках ниже:


Тут не показано, но слева от гнезда питания при помощи болтов и гаек была прикручена клемная полоска.



Рис. 7 — корпус устройства.

Чтобы закрыть дырку от кулера я вырезал из ДСП форменный кусок и смонтировал на него прижимное кольцо от транзистора — «считыватель» для электронного ключа. Вывел пару светодиодов для визуального контроля работы устройства.

Рис. 8 — Закрывающая дырку от вентилятора деталь корпуса устройства.

Вырезанный кусок ДСП я приклеил при помощи термоклея. На задней панели железного корпуса я вывел клемную колодку, к ней подключил выводы датчиков и сисирены. Питания к трансформатору подводится по стандартному кабелю от блока питания.

Телефон Siemens А60 подключил по стандартному разъему

Рис.9 — Штекер для мобильного

Распиновка штекера Совпадает с любым х55/х60/х65. Исключений пока два — ST55/ST60.

1 — +U
2 — Gnd
3 — Tx
4 — Rx
5 — CTS
6 — RTS
7 — DCD
8 — звук левый
9 — звук общий
10 — звук правый
11 — земля микрофона
12 — микрофон

В соответствии с распиновкой необходимо припаять провода к плате и питанию.

Рис. 10 — Соединение двух плат (Блака питания и GSM сигнализации)

Затем все было настроено и помещено в корпус. Устройство было установлено для охраны загородного дома. Дабы исключить возможность отключения сигнализации злоумышленником, я исопльзовал старый бесперебойный блок питания. Это позволило решить проблему работы стройства при отсутствии сетевого питния. В качестве датчиков использовал герконы и датчик разбития стекла.

Рис. 11 — Преобразователь уровней RS-232 в TTL (транзисторно-транзисторная логика)

Готовое устройство выглядит так:

Рис. 12 — Преобразователь уровней RS-232 — TTL на транзисторах

Собственно выводы с коробки — общий , RX , TX , и одиночный (молочного цвета) провод из коробки — «+».

Очень важно!! — После сборки устройства настроить при помощи программы!

Теперь несколько слов о настройке устройства.

Для установки параметров контроллера с ПК автором была написана несложная программа. При работе в режиме программирования, конфигурация записывается в память микроконтроллера. Также можно использовать файл конфигурации для создания двоичного образа EEPROM, который затем записывается при помощи программатора в микросхему.

Для записи параметров используется преобразователь уровней RS-232 — TTL на транзистора. Подключаем преобразователь к COM порту компьютера, выводы RХ и TX к плате соответственно (RX- 7 нога микроконтроллера, TX — 8 нога микроконтроллера) подключаем общий провод преобразователя к общей дорожке платы. Подаем +5в через резисторы к преобразователю, как показано на рис. 11, от источника питания.

Для записи параметров в микроконтроллер следует перед подачей питания на все охранное устройство дополнительно нажать кнопку возле микроконтроллера, она отвечает за начало записи. Держать нажатой в течении всего процесса записи параметров через программу. Процесс записи проходит достаточно быстро, палец не устанет 😉

Подключаем питание платы охранки. Открывает программу, выбираем порт, нажимаем — «ЗАПИСАТЬ» — готово.

Прописывать параметры в соответствующих окнах программы следует до того, как вы решили запрограммировать их, потому как сложно будет держать одним пальцем нажатой кнопку программирования, а другим набирать телефоны, менять время работы и др.

Если кто не знает «Параметры» — это номера телефонов на которые будет звонить сигнализация, также время работы сирены и длительность дозвона и др. В программе все подписано и интуитивно понятно.

Рис. 13 — Интерфейс программы для прошивки конфигурации в контроллер.

Варианты реализации:

Вариант корпуса для сигнализации. Использован корпус для автоматов. Очень удобная и практическая конструкция. Внутрь влезло все, что необходимо.

Сзади есть достаточное количество отверстий для крепления, чтобы смонтировать сигнализацию на любую поверхность.

Внутри щитка видно, что все поместилось очень хорошо. Что касается платы блока питания — ее нет. Все запитывается от 5 вольтового источника питания от зарядки.

Ну вот собственно общий вид сигнализации — лицевая сторона.

Скачать печатную плату:

Печатная плата в.lay и описание для GSM сигнализации с считывателем ключей-

Принципиальная схема частотомера

Микроконтроллер PIC16F628A служит для того, чтобы выполнить всю работу без каких-либо дополнительных микросхем. На 16F628A 16 I/O выводов, два из которых используются для кварцевого генератора, один предназначен для ввода сигнала, а другой может быть использован только для ввода, что дает нам только 12 полезных I/O контактов. Решение — поставить транзистор, который открывается при выключении всех других цифр.

Светодиодный 7-сегментный дисплей, используемый здесь, с общим катодом типа BC56-12SRWA. Когда все сигналы находятся на высоком уровне, транзистор Q1 открывается и переключается на первой цифре. Ток для каждого сегмента составляет около 7 мА.

Вся схема частотомера потребляет тока порядка 30 мА в среднем. Микроконтроллер использует свой внутренний 4 MHz генератор для тактирования CPU. А внешний кварцевый генератор с частотой 32768 Hz нужен для установки 1 второго временного интервала. Tmr0 используется для подсчета входного сигнала на выводе RA4.

В качестве входного сигнала нужно будет 5 вольт прямоугольного вида. Сам частотомер может измерять до 1 мегагерца, что более чем достаточно для любительских проектов. Это сделано для удобства, так как счетчик может достигать показаний 999999 Гц — и ничего переключать не нужно. Меряем хоть 11 герц, хоть 139,622 килогерц.

В общем если у кого есть желание повторить этот проект самим, вот файлы . Плата в архиве немного отличается от той, что на фотографии, были позже сделаны некоторые оптимизации. А программный код открыт — можно его при умении оптимизировать.


Этот вариант часов сделан таким образом, чтобы максимально упростить схему, снизить энергопотребление, и в итоге получить прибор, который легко помещается в кармане. Выбрав миниатюрные аккумуляторы для питания схемы, SMD — монтаж и миниатюрный динамик (например от нерабочего мобильного телефона), Вы можете получить конструкцию, размером чуть больше спичечного коробка.
Применение сверхъяркого индикатора позволяет снизить ток, потребляемый схемой. Снижение тока потребления также достигается в режиме «LoFF» — индикатор погашен, при этом включена только мигающая точка младшего разряда часов.

Индикация
Регулируемая яркость индикаторов позволяет выбрать наиболее комфортное отображение показаний (и опять же снизить энергопотребление).
В часах реализовано 9 режимов индикации. Переход по режимам осуществляется с помощью кнопок «плюс» и «минус». Перед выводом на индикацию самих показаний, на индикаторы выводится короткая подсказка названия режима. Длительность вывода подсказки — одна секунда. Применение кратковременных подсказок позволило достичь хорошей эргономичности часов. При переходах по режимам отображения (которых получилось достаточно много, для такого простого прибора, как обычные часы) не возникает путаницы, и всегда понятно, какие именно показания выведены на индикатор.


Коррекция показаний, выведенных на индикатор включается при нажатии на кнопку «Коррекция». При этом кратковременная подсказка выводится на 1/4 секунды, после чего корректируемое значение начинает мигать с частотой 2 Гц. Корректируются показания кнопками «плюс» и «минус». При длительном нажатии на кнопку, включается режим автоповтора, с заданной частотой. Частоты автоповтора нажатия кнопки составляют: для часов, месяцев и дня недели — 4 Гц; для минут, года и яркости индикатора — 10 Гц; для корректирующего значения — 100 Гц.
Все откорректированные значения, кроме часов, минут и секунд, записываются в EEPROM и восстанавливаются после выключения — включении питания. Секунды при коррекции обнуляются. Из всех режимов, кроме часы-минуты, минуты-секунды и LoFF организован автоматический возврат. Если в течение 10 секунд ни одна из кнопок не нажата, то часы переходят в режим отображения часов — минут.
Нажатием на кнопку «Вкл/Выкл буд.» включается/выключается будильник. Включение будильника подтверждается коротким двухтональным звуком. При включенном будильнике светится точка в младшем разряде индикатора.
В режиме «Corr» на индикатор выведена корректирующая константа, начальное значение которой 5000 микросекунд в секунду. При отставании часов константу увеличиваем на величину отставания, вычисленное в микросекундах за одну секунду. Если часы спешат, то константу уменьшаем по тому же принципу.

Эти электронные часы простейшие. Собраны были за несколько часов. Основа микроконтроллер PIC16F628A, кроме него часы содержат несколько простых и дешевых элементов, информация выводится на 4-х разрядный (часовой) светодиодный индикатор. Схема питается от сети, а также имеет резервное питание. Данную конструкцию можно рекомендовать начинающим, я специально снабдил исходную программу подробными коментариями, чтобы легче было поять, что и как тут работает.

Схема очень простая, простой и алгоритм их работы (см.коментарии в исходнике). Кнопки кн1 и кн2 служат для коррекции времени — часов и минут соответственно. Часы имеют 24 часовой формат отображения. В 1-м разряде часов сделано гашение незначащего нуля. Точность хода часов целиком зависит от частоты кварцевого резонатора. Но даже без специальных подборок кварцев и конденсаторов в тактовом генераторе — часы идут весьма точно.

Часы собраны на 2-х печатных платах, пристыкованных одна к одной под углом 90 градусов. На одной плате размещен целиком индикатор, а все остальное на другой. Элемент резервного питания выломан из китайской зажигалки со светодиодным фонариком. Удаляем светодиод, а держатель батареек устанавливаем на плату. На фотографии видно, что к батарейкам выведены обрезки выводов резисторов — они то и держут всю эту конструкцию. Конечно емкость таких батареек невелика, но когда часы питаются от сети, ток от батареек не потребляется. Они питают схему, только если нет сетевого питания. При этом питается только микроконтроллер, индикатор же от батареек не питается, поэтому гаснет, а часы продолжают ход. Кнопки управление вынесены с платы в любое удобное место корпуса. Конструкция кнопок может быть любой. Для питания от сети использован китайский БП-адаптор, в который добавлена плата с микросхемой 7805 (5-ти вольтовый стабилизатор). Вобще подойдет любой блок питания, с выходным напряжением 5В и током 150мА.

Программа написана таким образом, что ее можно использовать для начального изучения микроконтроллера PIC, прокоментировано действие практически каждой команды. При желании в нее легко можно добавить дополнительные функции, например календарь, таймер, секундометр и др.

Файл:
Размер:
Содержимое:

Частотомер с PIC16F628A — Electronics-Lab.com

Это частотомер на базе PIC16F628A. Первоначальная идея возникла в этом проекте: ЖК-частотомер. Как видите — очень простая и вместе с тем элегантная схема. Но я хотел использовать 7-сегментный светодиодный дисплей, а не ЖК-дисплей, поэтому я нашел второй полезный проект: простой частотомер на 100 МГц, который использует 6-разрядный светодиодный дисплей.

Схема

Объединить два проекта в один было непросто.Прежде всего, я хотел, чтобы микроконтроллер PIC выполнял всю работу без каких-либо дополнительных микросхем. Также я хотел использовать знакомый 16F628A, но поскольку один из контактов portA (RA5) может использоваться только как вход, мне не хватало выходов для выполнения этой работы. Для управления 6-разрядным 7-сегментным мультиплексным дисплеем требуется 7 + 6 = 13 выходов. 16F628A имеет 16 контактов ввода-вывода, два из которых используются для кварцевого генератора, один — для входа сигнала, а другой может использоваться только для входа, что оставляет нам только 12 полезных контактов ввода-вывода.Решение заключалось в том, чтобы управлять одним из обычных катодов с помощью транзистора, который открывается, когда все остальные цифры выключены.

Используемые здесь 7-сегментные дисплеи

представляют собой 3-значные мультиплексированные дисплеи с общим катодом (BC56-12SRWA). Цифры 2..5 включаются, когда соответствующие контакты установлены на низкий уровень. Когда на всех этих выводах высокий уровень, транзистор Q1 открывается и включает первую цифру. Сила тока для каждого сегмента составляет около 6-7 мА.

Я должен упомянуть, что контакты, подключенные к общим катодам, теоретически могут потреблять до 50 мА, если все сегменты горят (7×7 мА).Это намного выше максимальных характеристик микроконтроллера. Но поскольку каждая цифра включается на очень короткое время, я думаю, что это безопасно. Вся схема потребляет в среднем около 30-40 мА, а микроконтроллер вообще не нагревается, так что вроде все в порядке.

Микроконтроллер использует свой внутренний генератор 4 МГц для тактовой частоты процессора. Timer1 использует внешний кварцевый генератор с частотой 32768 Гц для установки временного интервала в 1 секунду. Timer0 используется для подсчета входного сигнала на выводе RA4.И, наконец, Timer2 используется для циклического переключения и обновления цифр. Поскольку входным сигналом будет прямоугольная волна 5Vpp, на передней панели нет предусилителя или буфера.

Счетчик может измерять до 920-930 кГц, что более чем достаточно для моего проекта. Причина, по которой он не может подниматься выше, заключается в том, что управление всеми этими цифрами требует большого количества циклов процессора. Полагаю, программный код можно оптимизировать или даже написать на ассемблере, и тогда счетчик может достигать 999999 Гц.

Кристаллы на 32768 Гц продаются в двух размерах: 2×6 мм и 3×8 мм.Я рекомендую 2×6 мм, потому что он идеально подходит под левым дисплеем. Другой размер также можно использовать, но он немного приподнимет левый дисплей.

Фото

Частотомер 100 МГц с PIC16F628A — ЖК-дисплей

В этом проекте показано, как создать очень простой, но очень полезный инструмент, который должен быть у каждого энтузиаста DIY: частотомер 100 МГц +.

Схема довольно проста и понятна и использует микроконтроллер PIC16F628A для измерения частоты и высокоскоростной компаратор для усиления и преобразования сигнала.

Микроконтроллер использует свой внутренний генератор 4 МГц для тактовой частоты процессора. Timer1 использует внешний кварцевый резонатор (часовой кристалл) с частотой 32768 Гц для установки временной развертки в 1 секунду.

Таймер 0 используется для подсчета входного сигнала на выводе RA4.

Максимальная частота Timer0 составляет 1/4 частоты процессора, что составляет 1 МГц, но есть внутренний предварительный делитель, и его можно установить от 1 до 256. Теоретически это может позволить входному сигналу быть до 256 МГц. С другой стороны, в техническом описании 16F628A есть требование, чтобы входной импульс на RA4 был с минимальной шириной 10 нс, что соответствует частоте 100 МГц.Таким образом, максимальная частота может составлять от 100 до 256 МГц. Я проверил с двумя разными PIC16F628A, и они легко преодолевают барьер 200 МГц.

Для достижения максимально возможного разрешения входной сигнал исследуется в течение 0,125 секунды, и соответствующим образом вычисляется значение предварительного делителя. Таким образом, когда входная частота ниже 1 МГц, разрешение будет 1 Гц.

Наиболее важной частью для точности частотомера является схема установки временной развертки — кварцевый резонатор X1 и конденсаторы C4 и C5.Значения C4 и C5 могут находиться в диапазоне от 33 пФ до 62 пФ, и с их помощью можно точно настроить частоту кристалла.

Вход схемы подается через высокоскоростной компаратор. Для переключения на частоту 100+ МГц компаратор должен иметь задержку распространения менее 5 нс. В этой схеме я использовал Texas Instruments TLV3501 с задержкой 4,5 нс. Это был самый дешевый высокоскоростной компаратор, который мне удалось найти (2,5 евро).

Два входа компаратора настроены примерно на 1/2 напряжения источника питания с разницей между ними 15-25 мВ, поэтому любой сигнал переменного тока с более высоким напряжением начнет переключать компаратор.

Если входной сигнал отсутствует, выход компаратора остается низким. Если мы подключим источник сигнала к положительному входу, когда сигнал превышает +20 мВ, компаратор переключается на высокий уровень (5 В), когда сигнал становится ниже + 20 мВ, компаратор переключается обратно на 0 В. Таким образом, какой бы сигнал мы ни подавали на вход, на выходе будет прямоугольная волна 0–5 В с той же частотой, что и исходный сигнал.

Выход компаратора подается непосредственно на вывод RA4 микроконтроллера.

Вход защищен резистором 1 кОм и двумя диодами, ограничивающими напряжение до ± 0.7 В. Входное сопротивление для низких частот равно R1 — 47 кОм. Для диапазона VHF, возможно, стоит заменить его на значение 50 Ом.

Схема может питаться от батареи 9 В или любого другого постоянного напряжения от 7 В до 15-20 В. LM78L05 или LM2931-5.0 IC используется для регулирования напряжения до 5 В. Существует простая схема мягкого включения / выключения с двойным P- и N-MOS транзистором. Когда кнопка нажата, транзистор P-MOS включается, и микроконтроллер получает питание, и его первая инструкция — установить высокий уровень RB4, который включает транзистор N-MOS, и питание остается включенным.При повторном нажатии кнопки RB5 переходит в низкий уровень, а микроконтроллер устанавливает низкий уровень RB4 и таким образом отключает питание. Микроконтроллер также автоматически отключает питание через определенное время (3 мин 40 сек).

Схема имеет довольно низкое энергопотребление — при отсутствии входного сигнала ток питания составляет 7-8 мА и увеличивается до 20 мА с входным сигналом 200+ МГц. Если дисплей слишком темный, подсветку можно отрегулировать, уменьшив номинал резистора R9. Это, конечно, увеличит потребление тока.

Программа для микроконтроллера написана на C и скомпилирована с MikroC для PIC

Схема

Фото


Артикул:

Лист данных в формате PDF:

Частотомер

от PIC16F628

В этом проекте мы строим базовую и недорогую схему частотомера. Он может измерять сигналы от 16 Гц до 100 Гц с максимальной амплитудой 15 В.Чувствительность высокая, разрешение 0,01 Гц. Входной сигнал может быть синусоидальной, квадратной или треугольной формы. Счетчик может использоваться во многих приложениях. Например, для наблюдения за точностью генератора, для измерения частоты сети или для определения скорости вращения двигателя, подключенного к энкодеру.

Файл печатной платы предоставляется в формате pdf. Нанести его на доску можно методом глажки.

Компоненты перечислены ниже.

1 x PIC16F628 — 04 / P Микроконтроллер
4 x 7-сегментный дисплей с общим катодом
1 x 4N25 Фототранзистор общего назначения Оптопара
5 x BC547 Транзистор NPN
1 x 7805 Регулятор напряжения
7 x 330 Ом Резистор 1/4 Вт
7 x Резистор 1 кОм 1/4 Вт
1 x 470 Ом 1/4 Вт резистор
1 кОм 1 кОм 1/4 резистор
1 x 4.Резистор 7 кОм 1/4 Вт
1 x 1N4148 Диод
2 x 220 нФ Полиэфирный конденсатор
Керамический конденсатор 2 x 22 пФ
2 электролитических конденсатора по 100 мкФ 16 В
Кристаллический осциллятор 1 x 4 МГц


Модуль CCP (Capture / Compare / PWM) микроконтроллера PIC подсчитывает входной сигнал. Используется только функция захвата. Чтобы узнать больше о модуле CCP PIC, посетите www.microchip.com.

Дисплеи представляют собой семисегментные светодиоды с общим катодом 14,2 мм и красным светом.


Перед измерением частоты входного сигнала его необходимо преобразовать в прямоугольную форму. Поэтому для этой цели используется схема оптического изолятора с оптопарой 4N25. Таким образом, входной сигнал надежно изолирован от схемы микроконтроллера и преобразуется в прямоугольную форму. Амплитуда сигнала не должна превышать 15 В. В этом случае может сгореть резистор 1 кОм. Если вы хотите измерить сетевую частоту, вы должны сначала использовать трансформатор 220 В / 9 В.

Напряжение питания должно быть в пределах 8–12 В. Поскольку цепь может быть повреждена, следует соблюдать полярность при подключении источника питания.

Схема счетчика приведена в файле проекта. Есть 4 дисплея, которые управляются методом мультиплексирования. Для измерения вывод RB3 подключается к выходу оптического изолятора. Пронумерованный вывод второго дисплея подключен к источнику питания через резистор 1 кОм, поэтому точка после второго дисплея светится.Это соединение не показано на схеме.


Код C, написанный компилятором Hi-tech PIC C, доступен в загружаемом файле проекта. Также включен шестнадцатеричный код.

Мы использовали дополнительные две розетки. Один (18-контактный, 2-контактный) предназначен для микроконтроллера PIC16F628, а другой (40-контактный, 2-контактный) для семисегментных дисплеев.

Y.ErolFrequency-Counter

СЧЕТЧИК ЧАСТОТ ЭКСПЕРИМЕНТАЛЬНОЙ СЕКЦИИ PIC16F628 (A)

Тема этой страницы — иллюстрация эксперимента с цифровым частотомером с использованием микроконтроллера.Мы уже использовали этот микроконтроллер для других экспериментов, это дешевый PIC16F628 или его последняя версия. заканчивается на A. В эксперименте используется PIC16F628A, но он также должен быть успешным с устаревшим PIC16F628, оба произведены Microchip, и их техническое описание доступно ниже. используются пять общих катодных 7-сегментных дисплеев для отображения измерения, возможно, с высокой эффективностью (используемый тип имеет аббревиатуру SMA4205).

Программа, работающая в PIC, не является работой писателя, она же была найдена в Интернете, и, насколько мне известно, это модификация другой программы.В отличие от многих схем в Интернете, использующих микроконтроллеры, эта версия был протестирован мной и полностью работоспособен, как показано на рисунке. Электрическая схема идентична частотной измеритель представлен в разделе проектов с названием «Цифровой частотомер с PIC16F628 (A)», но для кристалла секции кварцевого тестера. Из программы, которая инструктирует PIC, только файл HEX доступен для загрузки в микроконтроллер соответствующим программистом. То же самое можно скачать по соответствующей ссылке впереди на странице.

Как всегда, показана распиновка компонентов, где вы можете увидеть расположение контактов, с сокращением соответствующей функции, чтобы облегчить реализацию.
Таблицу данных в формате PDF с техническими характеристиками PIC можно загрузить, щелкнув значок ниже. Таблицу данных в формате PDF с техническими характеристиками дисплея можно загрузить, щелкнув значок ниже.

Как правило, частотомер измеряет частоту, приложенную к контакту 3 микроконтроллера, отображаемую на 5 дисплеях. семь сегментов результата. Программа включает в себя систему автоматического считывания диапазона, поэтому с прогрессивным приближением, к точному размеру. Это означает, что точка указывает, в каком кратном значении следует читать отображаемую частоту: при этом точка мигает. это кГц; фиксированная точка указывает значение в МГц. Используемые дисплеи имеют высокую яркость, чтобы ограничить максимальное поглощение схемы, даже если они управляются методом мультиплексирования.Иначе и быть не могло, так как PIC поддерживает максимум 20 мА на порт и 40 мА как сумма портов. Как видно из электрической схемы, семь сегментов 5 дисплеев подключены параллельно друг другу, и каждый сегмент к назначенному контакту (порту) PIC, и то же самое для десятичная точка. Отдельные сегменты 5 дисплеев подключены к портам PIC через ограничительные резисторы. тока. Однако каждый катод из 4 дисплеев наиболее значимых цифр подключен к определенному порту (контакту). того же микроконтроллера, а пятый дисплей (дисплей младшего разряда) управляется транзистором, в конфигурации коммутатора при возникновении состояния, определяемого состоянием другого 4.PIC16F628A работает на частоте 20 МГц то же самое определяется схемой генератора, состоящей из кварцевого кристалла и двух конденсаторов, подключен к контактам 15 и 16 того же. Конечно, один из двух конденсаторов в колебательном контуре должен быть переменный конденсатор для точной калибровки частоты колебаний. При включении в программу входит проверка лампы, при этом все сегменты всех дисплеев загораются одновременно. Таким образом, если есть сигнал вывода 3 PIC, частота отображается показание, в противном случае будет гореть цифра 0 наименее значимого дисплея.Есть функция энергосбережения реализовано, которое, если не фиксирует изменения показаний в течение определенного периода времени, отключает дисплеи, которые сразу же снова включатся при возникновении противоположного состояния.

  • R 1 = 1000 Ом
  • R 2 = 1000 Ом
  • R 3 = 1000 Ом
  • R 4 = 1000 Ом
  • R 5 = 1000 Ом
  • R 6 = 1000 Ом
  • R 7 = 1000 Ом
  • R 8 = 1000 Ом
  • R 9 = 10 кОм
  • R 10 = 10 кОм
  • IC 1 = L7805
  • IC 2 = PIC 16F628A
  • Q 1 = S9014
  • С 1 = 0.1 мкФ
  • C 2 = 22 пФ
  • C 3 = 22 пФ
  • P 1 = Переключатель NO
  • Xt 1 = 20 МГц Кристаллический кварц
  • DS 1 = Дисплей 7 сегментов C.C.
  • DS 2 = Дисплей 7 сегментов C.C.
  • DS 3 = Дисплей 7 сегментов C.C.
  • DS 4 = Дисплей 7 сегментов C.C.
  • DS 5 = Дисплей 7 сегментов C.C.
  • D 1 = 1N4148 Диод
  • D 2 = 1N4148 Диод
  • D 3 = 1N4148 Диод
  • D 4 = 1N4148 Диод

На изображении внизу страницы показано устройство схемы на четырехсекционной макетной плате.Из 4-х секций их используются три, верхний будет содержать дисплеи, второй — соединения между дисплеем и микроконтроллером, а третий — сам микроконтроллер. Приступим к установке дисплеев, которые, как мы помним, являются обычным катодом, в верхней части. раздел макета и ПОС в третьем разделе. Да, они соединяют параллельно сегменты A B C D E F G и Точка. Для простоты конструкции 7 токоограничивающих резисторов расположены рядом и соединяют указанные сегменты. выше в алфавитном порядке, а другой конец — к соответствующему выводу микроконтроллера.На противоположной стороне резисторы, катоды 5 дисплеев подключены в порядке, и четыре из них подключены старшие разряды к соответствующим контактам PIC, тогда цепь создается для последнего дисплея, наименее значимого. Осторожно полярность диодов и для идентификации контактов транзистора, которые, как мы помним, относятся к типу NPN. На данный момент все это Остается — генератор схемы, подключенный к контактам 15 и 16 PIC, затем кнопка сброса (необязательно) и соединение контактов питания запомните 0.Конденсатор 1 мкФ между линиями питания. Если у вас настольный блок питания, установите напряжение на 5В и подать напряжение на схему. Если все было сделано правильно, все сегменты 5 дисплеев загорятся, таким образом при выполнении теста лампы, поэтому будет гореть только младшая значащая цифра, которая будет показывать ноль. Если у вас есть сигнал генератора или другого источника частоты, подключите его к контакту 3 PIC, и вы должны прочитать его измерения.

Примечание: на изображении ниже вы можете увидеть значение частоты 8 МГц, эта частота была сгенерирована небольшим осциллятором. приводится в движение кварцем точно 8 МГц.Схема сделана с транзистором, двумя резисторами и тремя конденсаторами, кроме того к кварцу. Осциллятор типа Colpitt такой же, как и в проекте, указанном в титрах. главу и присутствует в разделе проектов сайта.

Чтобы загрузить файл программирования PIC в формате HEX нажмите здесь! .

ЖК-дисплей счетчика

и PIC16F628A (измеритель частоты 60 МГц)

Это частотомер / счетчик на 60 МГц для измерения частоты от 10 Гц до 60 МГц с разрешением 10 Гц.Это очень полезное стендовое испытательное оборудование для тестирования и определения частоты различных устройств с неизвестной частотой, таких как генераторы, радиоприемники, передатчики, функциональные генераторы, кристаллы и т. Д.

Измеритель обеспечивает очень стабильные показания и отличные характеристики. входная чувствительность благодаря встроенному усилителю и преобразователю TTL, поэтому он может даже измерять слабые сигналы от кварцевых генераторов. С добавлением прескаллера можно измерять частоту 1 ГГц и выше.Диапазон измерения измерителя был недавно обновлен, и теперь он может измерять от 10 Гц до 60 МГц вместо 10 Гц до 50 МГц.

При включении счетчика на ЖК-дисплее должно отображаться сообщение «Счетчик 60 МГц». Через секунду измеритель должен быть готов к измерению входной частоты с отображением на дисплее «0,000000 МГц». Если текст не отображается, отрегулируйте сжатие ЖК-дисплея, подрезав подстроечный резистор 10K против часовой стрелки.

Компоненты

  • ЖК-дисплей 1x 16 × 2 с зеленой подсветкой
  • 1x PIC16F628A Запрограммированный микроконтроллер
  • 1x PCB
  • 1x 18-DIP IC Socket
  • 1x 4.000MHz Crystal
  • 1x LM7805 регулятор напряжения 5V
  • 1x 1 × 16 позолоченный гнездовой разъем (для печатной платы)
  • 1x 1 × 16 позолоченный штекерный разъем (для ЖК-дисплея)
  • 2x 1 × 2 позолоченный штекерный разъем (питание и Частотный вход)
  • 1x BF199
  • 1x 10 мкГн индуктивность (коричневый черный черный серебристый)
  • 1x подстроечный резистор 10 кОм (103)
  • 1x 10 кОм 1% металлопленочный резистор
  • 2x 470 1% металлопленочный резистор
  • 1x 10 1% Металлопленочный резистор
  • Керамический конденсатор 2x 100 нФ (104 / 100n)
  • Керамический конденсатор 2x 33 пФ (33)

Технические характеристики

  • Напряжение питания: 7 В -15 В
  • Потребляемый ток: ~ 80190 мА с подсветкой ЖК-дисплея
  • Частотный вход: 10 Гц — 60 МГц
  • Разрешение измерения: 10 Гц

ЖК-частотомер


10.09.2018 — 15:28
Имя: frans
Комментарий: без комментариев

17.11.2017 — 16:37
Имя: Джованни
Комментарий: хорошо

03.10.2017 — 22:06
Имя: Moty
Комментарий: Спасибо, Massimilaino. Если сказать по-итальянски, проект станет еще лучше.


03.10.2017 — 17:11
Имя: Massimilaino
Комментарий: FANTASTICO, CIRCUTO E PROGRAMMA SEMPLIE E ​​FUNZIONALE. COMPLIMEI, TU SEI UN GRANDE 🙂

02.06.2017 — 17:56
Имя: Андрей
Комментарий: Схема работает отлично, спасибо Moty.Однако работает только до 2 МГц, а не до 10 МГц, как вы предложили. Я знаю, что вы можете тестировать только до 2 МГц, но мой сигнал выходит за рамки 5-10 МГц. Есть идеи, в чем может быть проблема? (тот же результат, использую ли я шестнадцатеричный файл или компилирую прогу C с xc8 btw). Ваше здоровье!

03.04.2017 — 18:21
Имя: phuoc ho
Комментарий: qa

03.04.2017 — 17:22
Имя: Эндрю
Комментарий: Спасибо Moty. Переработанная прошивка работает нормально, но к разрешению 8 Гц после прежней точности сложно привыкнуть! Я попробую эту версию http: // www.electronics-lab.com/project/100mhz-frequency-counter-with-pic16f628a-2/ — они любезно ссылаются на вашу работу ….

03.04.2017 — 16:36
Имя: Эндрю
Комментарий: Схема прекрасно работает, спасибо Moty. Однако работает только до 2 МГц, а не до 10 МГц, как вы предложили. Я знаю, что вы можете тестировать только до 2 МГц, но мой сигнал выходит за рамки 5-10 МГц. Есть идеи, в чем может быть проблема? (тот же результат, использую ли я шестнадцатеричный файл или компилирую прогу C с xc8 btw). Ваше здоровье!

03.04.2017 — 16:35
Имя: Андрей
Комментарий: Схема работает отлично, спасибо Moty.Однако работает только до 2 МГц, а не до 10 МГц, как вы предложили. Я знаю, что вы можете тестировать только до 2 МГц, но мой сигнал выходит за рамки 5-10 МГц. Есть идеи, в чем может быть проблема? (тот же результат, использую ли я шестнадцатеричный файл или компилирую прогу C с xc8 btw). Ваше здоровье!

31.03.2017 — 18:32
Имя: Андрей
Комментарий: Схема работает отлично, спасибо Moty. Однако работает только до 2 МГц, а не до 10 МГц, как вы предложили. Я знаю, что вы можете тестировать только до 2 МГц, но мой сигнал выходит за рамки 5-10 МГц.Есть идеи, в чем может быть проблема? (тот же результат, использую ли я шестнадцатеричный файл или компилирую прогу C с xc8 btw). Ваше здоровье!

31.03.2017 — 01:50
Имя: Moty
Комментарий: Привет, Андрей, ты прав. Я посмотрел таблицу, и таймер 0 всегда синхронизирует вывод предварительного делителя частоты. Это ограничивает входную частоту до предделителя osc / 4 *. Если вы можете терпеть ошибку до 8 Гц, вы можете загрузить http://www.moty22.co.uk/lcd16mhz.zip и попробовать. Я изменил предделитель на 1:16 и умножил измеренную частоту на 8.Я не тестировал код, сделаю это в ближайшее время.


30.03.2017 — 18:19
Имя: Андрей
Комментарий: Схема работает отлично, спасибо Moty. Однако работает только до 2 МГц, а не до 10 МГц, как вы предложили. Я знаю, что вы можете тестировать только до 2 МГц, но мой сигнал выходит за рамки 5-10 МГц. Есть идеи, в чем может быть проблема? (тот же результат, использую ли я шестнадцатеричный файл или компилирую прогу C с xc8 btw). Ваше здоровье!

11.03.2017 — 14:10
Имя: Tien
Комментарий: Привет, Моти. Хотя трасса не работает, но я вам очень благодарен.Я не понимаю, почему код и схема такие же, но все равно не показывают частоту. : ((

09.03.2017 — 21:17
Имя: Moty
Комментарий: Может случиться так, что кристалл 32 кГц не колеблется или амплитуда входного сигнала слишком мала.


09.03.2017 — 04:21
Имя : Tien
Комментарий: Привет, Moty. Вы видите код файла C? Я запустил проект, он запустился, но не подсчитал частоту.

09.03.2017 — 01:12
Имя: Moty
Комментарий: Привет, Тьен, извините, У меня нет протея.


08.03.2017 — 10:04
Имя: Tien
Комментарий: это ссылка на файл Proteus и шестнадцатеричный файл, он не работает. ЖК-дисплей не отображается. Помоги мне, пожалуйста. большое спасибо https://drive.google.com/file/d/0B3eoJDZKqqJtdkZyV3N3NUl0Rmc/view?usp=sharing

08.03.2017 — 09:44
Имя: Tien
Комментарий: это ссылка на файл Proteus и шестнадцатеричный файл, он не работает . ЖК-дисплей не отображается. Помоги мне, пожалуйста. большое спасибо https://drive.google.com/file/d/0B3eoJDZKqqJtdkZyV3N3NUl0Rmc/view?usp=sharing

08.03.2017 — 09:31
Имя: Tien
Комментарий: это ссылка на файл Proteus и шестнадцатеричный файл, он не работает. ЖК-дисплей не отображается. Помоги мне, пожалуйста. большое спасибо https://drive.google.com/file/d/0B3eoJDZKqqJtdkZyV3N3NUl0Rmc/view?usp=sharing

08.03.2017 — 09:31
Имя: Tien
Комментарий: это файл Proteus и шестнадцатеричный файл, он не работает . ЖК-дисплей не отображается. Помоги мне, пожалуйста. большое спасибо

08.03.2017 — 00:13
Имя: Moty
Комментарий: Привет, Тиен, какая часть не работает?


07.03.2017 — 13:40
Имя: Tien
Комментарий: Здравствуйте. Я не веду проект. помогите мне

24.02.2017 — 09:50
Имя: MANI
Комментарий: СКАЧАТЬ

24.02.2017 — 09:50
Имя: MANI
Комментарий: СКАЧАТЬ

24.02.2017 — 09:49
Имя: MANI
Комментарий : OK

09.12.2016 — 15:04
Имя: James
Комментарий: Хорошие четкие строки комментариев упрощают модификацию

14.09.2016 — 22:48
Имя: Fernando
Комментарий: Всегда хорошо иметь такую ​​информацию.Спасибо.

25.06.2016 — 08:55
Имя: SURESH
Комментарий: ПОЖАЛУЙСТА, ОТПРАВИТЕ МНЕ ЭТИ ПРОЕКТЫ

08.04.2016 — 06:06
Имя: aaa
Комментарий: ssss

04.04.2016 — 21:14
Имя: Fernando PU2PLL
Комментарий: Очень полезная схема для настройки прецизионного местного осциллятора моего радиолюбителя FT-857D. Я думаю, что для радиолюбителей будут приветствоваться варианты с термокомпенсированным кристаллическим осциллятором и предусилителем. Спасибо.

07.07.2015 — 12:40
Имя: Энди BG
Комментарий: Здравствуйте! Спасибо! Ну, я попробовал, но это не сработало … однако я не использую компиляторы [C], поэтому я подозреваю, что в первую очередь что-то не так с конфигурацией … Я потрачу еще немного времени чтобы вникнуть в это. С наилучшими пожеланиями, Энди

06.07.2015 — 14:55
Имя: Moty
Комментарий: Привет, Энди. Добро пожаловать на сайт PIC Jurassic. Подойдет большинство ЖК-дисплеев 8×2. Код начинает строку с 2 пустыми символами, поэтому вы должны удалить их из кода, иначе последняя цифра частоты не будет отображаться.


06.07.2015 — 12:05
Имя: Энди BG
Комментарий: Привет, Моти! Очень привлекательный маленький проект, молодец! У меня глупый вопрос … пока я нашел, где положил свой PIC16F628A (кстати, было бы здорово, если бы вы перешли на новую серию PIC16F15xx, они стоят вдвое дешевле 628 года, не говоря уже о старинном 16F84), У меня глупый вопрос … «Частота отображается в строке 1 7 цифрами с удаленными ведущими нулями до 3 цифр». — У меня под рукой небольшой ЖК-дисплей, но он всего 8 символов в строке (2 строки)… вправе ли я ожидать, что с ним будет работать тот же код? С наилучшими пожеланиями, Энди

06.07.2015 — 10:52
Имя: Энди BG
Комментарий: Привет, Моти! Очень привлекательный маленький проект, молодец! У меня глупый вопрос … пока я нашел, где положил свой PIC16F628A (кстати, было бы здорово, если бы вы перешли на новую серию PIC16F15xx, они стоят вдвое дешевле 628 года, не говоря уже о старинном 16F84), У меня глупый вопрос … «Частота отображается в строке 1 7 цифрами с удаленными ведущими нулями до 3 цифр.» — У меня под рукой небольшой ЖК-дисплей, но он всего 8 символов в строке (2 строки) … Право ли я ожидать, что с ним будет работать тот же код? С наилучшими пожеланиями, Энди

06.07.2015 — 03:00
Имя: Moty
Комментарий: Привет, доктор Джоши! Спасибо за комментарии. Кристалл 32K находится на TMR1, чтобы дать временную базу 2 секунды. В микроконтроллере используется внутренний генератор с частотой 4 МГц. 0b1110 совпадает с 0b001110. Я согласен с тем, что в моем коде нет комментариев. По сравнению с некоторыми другими сайтами мой очень слаб в описании.Одна из причин в том, что у меня это плохо получается. Другая причина в том, что мои проекты нацелены на людей, которые имеют некоторый опыт и ищут похожие схемы для сравнения. Поскольку я не инженер-программист и не изучал его в школе, мой код не является подходящим примером для студентов. Студентам придется переписать код в надлежащем формате, если они хотят его представить.


05.07.2015 — 10:08
Имя: Доктор Дж. К. ДЖОШИ
Комментарий: Привет, Моти, я скачал программу и обнаружил, что некоторые вещи вводят в заблуждение.1. На диаграмме кристалл отображается как 3,768 кГц, тогда как в программном обеспечении он записывается как #define_XTAL_FREQ 4000000, что правильно? 2. При настройке предделителя TMR1 два старших бита, т.е. бит 4 и 5, отсутствуют. Должно получиться T1CON = 0b001110. 3. Если этот проект написан для новичков, в нем отсутствуют комментарии.

24.04.2015 — 02:23
Имя: Fabio Alexandre
Комментарий: Привет, Моти, Я пытался установить Hi-tech в MPLAB X, но ничего не вышло. Теперь, когда вы прокомментировали XC8, я загрузил и установил, и он отлично работает !! Спасибо.Еще раз поздравляю с отличным и быстрым кодом и благодарим за ответ. С уважением, Fabio

24.04.2015 — 00:46
Имя: Moty
Комментарий: Привет, Фабио! Загрузите программу еще раз, я добавил в нее файл C для MPLAB X с компилятором XC8.


23.04.2015 — 23:21
Имя: Фабио Александр
Комментарий: Привет, Очень хорошая ваша схема и код. Я хотел бы лучше понять, как это работает, поэтому я безуспешно пытался скомпилировать его более недели! Я пробовал несколько компиляторов и редакторов, например mikroC PRO для PIC, PIC C Compiler, MPLAB X, но безуспешно.Проверено на странице технических советов, что вы используете компилятор HI-TECH C, который больше не производится. Я пробовал несколько более старых версий, считаю неправильные версии, тоже безуспешно. Версии, которые я нашел и попробовал: PICC Standard v9.60 и PICC-Lite v9.50, но редактор не установлен, только компилятор, который зарегистрирован в MPLAB X, но когда вы пытаетесь скомпилировать, я получаю тысячи ошибок. Не могли бы вы сказать мне, какую версию компилятора и редактора используете, поэтому я стараюсь использовать их и могу скомпилировать код.С уважением,

21.04.2015 — 13:36
Имя: Хасан Билгин
Комментарий: Thenks,

17.03.2015 — 16:23
Имя: Moty
Комментарий: Привет, Танвир, компилятору Hi-Tech необходимо знать частоту генератора для цель вычисления __delay_ms ().


17.03.2015 — 13:00
Имя: tanveer
Комментарий: зачем использовать #define _XTAL_FREQ 4000000?

09.01.2015 — 02:40
Имя: s.Ravichandran
Комментарий: Мне нравится этот частотомер, все ок.Отличный проект, ….

31.07.2014 — 17:08
Имя: SHAMMU
Комментарий: хорошая работа.

05.04.2014 — 10:42
Имя: Edba
Комментарий: Привет, Моти, все хорошо. Отличный проект. Подробности напишу позже. Эдба.

05.04.2014 — 10:07
Имя: Edba
Комментарий: Привет, Моти, все хорошо. Отличный проект. Подробности напишу позже. Эдба.

31.03.2014 — 22:13
Имя: Moty
Комментарий: Привет, Эдба. Сообщает ли программист об ошибках? Попробуйте собрать проект с помощью Microchip IDE, используя файл C, скомпилируйте его и используйте расширение.шестнадцатеричный файл, который вы получите. Прикрепил еще одну копию файлов.


31.03.2014 — 18:37
Имя: Edba
Комментарий: Привет, Я пробовал двух программистов (PICKIT2 и PICKIT3) Но у меня проблемы — не могу записать LCD counter.hex в PIC16F628A. Файл в порядке? Спасибо за ваш ответ. Эдба

31.12.2013 — 12:53
Имя: Moty
Комментарий: Привет, Кабир. У меня нет опыта работы с Proteus. В реальной жизни дисплей остается пустым, если потенциометр контрастности установлен неправильно.Попробуйте смоделировать разные уровни контраста.


31.12.2013 — 10:54
Имя: kabeer
Комментарий: Здравствуйте, я знаю, что вы хорошо поработали, но я пытаюсь смоделировать эту схему с помощью Proteus, но на экране нет единого дисплея ….

31.12.2013 — 10 : 29
Имя: kabeer
Комментарий: Здравствуйте, я знаю, что вы хорошо поработали, но я пытаюсь смоделировать эту схему с помощью Proteus, но без единого отображения на экране ….

15.03.2013 — 13:28
Имя: Moty
Комментарий: Привет, Банду. Вы можете редактировать файл c, если у вас установлен HI-TECH для PIC16, он поставляется с Microchip MPLAB.У меня нет этой программы в ASM, я недостаточно хорошо знаю ASM, чтобы писать эту программу.


15.03.2013 — 01:40
Имя: Bandu
Комментарий: Этот файл нельзя использовать с MPLAB, отправьте файл ASM

17.01.2013 — 07:03
Имя: Moty
Комментарий: Привет, Тоху, Прикрепленный шестнадцатеричный файл для ЖК-счетчика на случай, если вы не можете его скачать с сайта. Я никогда не писал asm для этого проекта из-за сложности преобразования двоичного кода в десятичный.

16.01.2013 — 16:56
Имя: tohu
Комментарий: asm или hex для этого проекта спасибо

08.12.2012 — 15:19
Имя:
Комментарий: интерпретация вашего «комментария от 12.10.2011 — 14:44», к счастью, неверна. С уважением

35MHZ Microchip PIC 16F628 / Частотомер

FC1-Rev1011 Частота Счетчик: (Устарело)

Этот проект частотомера основан на PIC16F628 / A Микропроцессорный чип производства Microchip. Практически аналогичен предыдущему проекту FC1, за исключением того, что

1.Проект использует чип PIC16F628 / A

2. Место для батареи 9В

3. RS232 выход для подключения к ПК.

4. Поставляется с металлическими корпусами с порошковым покрытием.

В этом счетчике у нас есть возможность поставить внешний 12 В или внутренняя батарея 9 В, выбираемая на передней панели переключатели.

Микропрограмма счетчика имеет автоматический выбор диапазона и управляет ЖК-дисплей 16×1. Счетчик спроектирован на двухсторонней печатной плате PTH размером 8 х 14 см. я можно было бы сделать эту доску намного меньше, но я предпочел этот размер, сохранив в виду доступные кейсы, сделанные для других проектов !!

Измеренная частота также доступен на уровне RS232 на разъеме D9F на плате. Это можно прочитать запустив простой Win Hyper Terminal.Никакой специальной программы для Windows нет. доступны, и это оставлено на усмотрение пользователя, чтобы решить, какие и как данные можно использовать на ПК.

Небольшое обновление по сравнению с предыдущим конструкция такова, что мы можем запитать входной ВЧ усилитель из трех возможных источники:

  1. из 9 В (может измениться при разрядке аккумулятора)
  2. + 5В и (устойчивый)
  3. 9 В от микросхемы MAX232.

alexxlab

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

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