Схемы на pic16f873 своими руками

Добавил пользователь Alex
Обновлено: 04.10.2024

Этот восьмиразрядный прибор может измерять частоту синусоидального и импульсного сигнала от 1 Гц до 50 МГц. Время измерения — 1 и 10 с. Дисплей частотомера выполнен на семисегментных светодиодных индикаторах с общим катодом. Особенностью данного частотомера является то, что в нем может быть использован любой кварцевый резонатор на частоту в диапазоне 10. 20 МГц.

В разработанном частотомере применен микроконтроллер PIC16F873, который имеет 28 выводов. Это позволило использовать 16 выходов для непосредственного управления сегментами и разрядами светодиодных индикаторов. Кроме того, этот микроконтроллер имеет три таймера с предделителями. Восьмиразрядный таймер TMR0 и его восьмиразрядный предделитель вместе с двумя дополнительными регистрами используются для подсчета измеряемой частоты. Извлечение значения предделителя выполняется известным способом, заключающимся в досчитывании до нуля с одновременным подсчетом числа импульсов досчета. Таким образом, максимальная разрешающая способность счетчика составляет 32 двоичных разряда.

Таймер TMR1 имеет 16 разрядов и трехразрядный предделитель. Этот таймер используется для формирования интервалов времени 0,1 с, а два последующих регистра-делителя на 10 формируют время измерения в 1 и 10 с. При использовании кварцевых резонаторов на любую частоту достаточно сделать программную предварительную установку двух регистров таймера TMR1. При этом отпадает необходимость в точной подстройке частоты самого резонатора.

Поскольку эти два таймера могут работать одновременно без участия АЛУ микроконтроллера, появилась возможность обеспечить динамический запуск индикаторов. На время прерываний по переполнению таймеров программа прекращает индикацию. Время, за которое выполняется прерывание, незначительно, поэтому визуально не отслеживается (видно только при частотах резонатора ниже 5 МГц).

Частотомер на PIC16F873 и семисегментных индикаторах

Для превращения этого частотомера в полноценный измерительный прибор его необходимо снабдить широкополосным формирователем импульсов. В частотомере применены две матрицы семисегментных индикаторов с общим катодом фирмы Kingbright CC56-12GMR. Каждая матрица содержит четыре индикатора, их одноименные сегменты соединены между собой внутри блока. Первый вывод матрицы маркируется единичкой, которую видно под слоем герметика. Эти индикаторы желто-зеленого цвета свечения имеют большие размеры цифр (высота цифры 15 мм) и малый ток потребления, что обеспечивает потребляемый частотомером ток менее 50 мА. Естественно, можно использовать любые цифровые индикаторы с общим катодом, но тогда, возможно, потребуется подстройка яркости свечения подбором резисторов R8—R15.

CLRF KATOD ;обнуляем регистр катодов
BSF KATOD, 0 ;устанавливаем нулевой бит

В метке INDZIKL перед сдвигом регистра KATOD необходимо установить нулевой бит переноса/заема:

BCF STATUS, 0 ;установим в 0 бит заема
RLF KATOD, 1

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

Микроконтроллер PIC16F873 можно заменить на PIC16F876, который также имеет 28 выводов и отличается увеличенной до 8 К памятью программ. При этом, если вы пользуетесь программатором PonyProg, необходимо правильно установить тип микроконтроллера. В программе никаких изменений делать не нужно. Следует заметить, что микроконтроллер PIC16F873 требует более аккуратного обращения, чем PIC16F84. Вставлять и вынимать микроконтроллер в программатор и плату частотомера необходимо при выключенном питании. При плохом контакте с микросхемной панелькой микроконтроллер тоже может выйти из строя. Для того, чтобы легче было вставлять и вынимать микросхему в программатор, необходимо удалить неиспользуемые контакты микросхемной панельки.

Частотомер задумывался для работы с резонатором частотой 20 МГц, но мне не удалось раскачать отечественные резонаторы, все они возбуждались на низких частотах. В фирменной документации при использовании высокочастотных резонаторов (HS) рекомендуется установка последовательно с резонатором от вывода OSC2 резистора номиналом до 10 кОм. Но отечественные резонаторы возбуждаться на собственной частоте не хотели. Аналогичный результат был получен и при подключении высокоомного (10. 30 МОм) резистора параллельно входам OSC1 и OSC2. Естественно, при более высокой частоте резонатора частота будет измеряться точнее, но импортный резонатор мне достать не удалось. Для проведения подобного рода экспериментов по возбуждению резонатора на печатной плате имеются дополнительные отверстия.

После изготовления частотомера необходимо выполнить его калибровку. Для этого необходимо в шестом блоке подпрограмм установить значения младшего (TMR1L) и старшего (TMR1H) регистров таймера TMR1, величина которых будет зависеть от значения частоты используемого кварцевого резонатора. Увеличение значений регистров уменьшает время измерения, следовательно, уменьшает значение измеряемой частоты.

CEKO
MONLW 0x54 ;предустановка регистров
MOVWF TMR1H ;Таймера до значения 0,1 сек.(500000 при 20МГц)
MOVLW 0x07 ;при точном резонаторе 14МГц
MOVWF TMR1L ;установка должна быть 55 45
RETURN

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

CEKX
; NOP
; MOVLW 1 ;эти 4 строчки нужны для точной подгонки времени измерения
; ADDLW -1
; BTFSS STATUS.2 ;для 1 с.
; GOTO $-2

Если измерить частоту собственного резонатора через конденсатор 68. 200пФ, как это показано на рис. 1 штриховой линией, то при любом резонаторе (в авторском варианте программы) получится частота 14007 кГц. Это связано с тем, что на вход пройдет столько импульсов, сколько поместится в сформированном интервале. При резонаторе на большую частоту время измерения будет меньше, значит и импульсов пройдет меньше. Вернее столько, сколько и при резонаторе с частотой в 14 МГц. Изменение частоты в любую сторону вызовет обратно пропорциональное изменение времени измерения, но показания не изменятся. Становится понятным, что измерять частоту собственного резонатора можно только после окончания калибровки, да и то с целью определения точной частоты вашего резонатора.

Валерий Тетерюк -->

Итак, схема прибора (это первый вариант, новый - второй вариант отличается схемой подключения индикатора 1602 и программами прошивки):


Прибор имеет два диапазона измерений, например: 120/1200 Вт, 180/1800 Вт, 200/2000 Вт, выбор которых определяется номером прошивки и положением перемычки (джампера) на плате - 1:1 или 1:10.

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

Один из вариантов печатной платы прибора, для немного отличающейся, упрощённой схемы, с одним пределом измерений, приведён ниже и нужно учесть, что на плате есть ошибка - 8 вывод PIC нужно соединить с "землёй". Электролиты на столь большие ёмкости, установленные после стабилизаторов напряжения 5В и 2.5В - не нужны, там достаточно электролитов ёмкостью до 100 мкФ, так как в момент включения прибора могут выйти из строя маломощные стабилизаторы. Если будете использовать микросхему LM336, то нужно помнить, что цоколёвка LM336 отличается от цоколёвки TL431, которая стоит на печатной плате. TL431 предпочтительней, так как имеет в четыре раза больший ток регулирования:

Автомобильный сигнализатор скорости, напряжения, температуры и открытия дверей на микроконтроллере PIC16F873A

Автомобильный сигнализатор скорости, напряжения, температуры
и открытия дверей на микроконтроллере PIC16F873A

Представленное устройство является сигнализатором (измерителем) с цифровым индикатором скорости - км/ч:



температуры -55…+99 гр. Цельсия:



напряжения 0. 25,5 в:

Три светодиода показывают мгновенный расход топлива, сигнальный провод подключен к одной из форсунок (программно задействован модуль ССР).
Индикация светодиодов осуществляется по следующему алгоритму: длина отрицательного импульса до 1,5 мсек, все светодиоды выключены, от 1,6 до 3,5 - зелёный светодиод,
от 3,6 до 6 - жёлтый, от 6,1 до 25мсек - красный светодиод.


При скорости более 10 км/ч и неплотно закрытых дверях, на индикаторах появляется надпись:

Крайний правый индикатор установлен для удобства "вверх ногами".
При выключении зажигания на индикаторах появляется примерно на секунду температура, затем напряжение бортсети, после чего индикация отключается (ток потребления в этом случае около 10 мА).
На лицевую панель выведен также тумблер питания, для отключения всего устройства (показатель яркости индикаторов сохраняется в EEPROM).

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

Внешний вид собранного прибора показан на рисунке:



Настройка вольтметра сигнализатора заключается в следующем:
При вытащенном из панельки микроконтроллере включается питание и с помощью подстроечного резистора R10, на контакте 20 панельки МК выставляется 5в. Затем после установки контроллера (при установке/снятии МК не забудьте выключить устройство) плавной . регулировкой R10 добиваются совпадения напряжения питания самого устройства (+12в) и вольтметра сигнализатора. О настройке сигнализатора мгновенного расхода топлива сказано выше.

Сигнализатор устанавливается на панели, а для этого надо сделать корпус с козырьком (защита от засветок)

продаётся раскрученный сайт недорого обращаться в личку


alt


Этот простой и дешёвый USB осциллограф был придуман и сделан просто ради развлечения. Давным давно довелось чинить какой-то мутный видеопроцессор, в котором спалили вход вплоть до АЦП. АЦП оказались доступными и недорогими, я купил на всякий случай парочку, один пошёл на замену, а другой остался.



С наступающим вас дорогие пользователи. И к предстоящему празднику решил порадовать вас схемой- новогодняя гирлянда на микроконтроллере pic.

И прошу к просмотру подробнее данной статьи.



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


Часы - будильник на микроконтроллере PIC16F628A


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


USB программатор PIC-контроллеров (клон PICkit 2)


PICkit 2 - недорогой программатор/отладчик предназначенный для работы с микроконтроллерами фирмы Microchip: программирование, разработка и отладка устройств на основе маловыводных микроконтроллеров PIC.


Схема часов на микроконтроллере PIC16F628A

Предлогаю вашему вниманию схему электронных часов своими руками на микроконтроллере PIC 16F628A



Часов на микроконтроллерах создано великое множество [Л1, Л2]. Это устройство придумывалось из принципа доступности и минимума радиодеталей . Для изготовления были применены такие детали как микроконтроллер ATtiny2313 (D1) , буферный регистр (D2) для управления знакоместами индикатора , сверхяркие индикаторы с общим анодом


Печатная плата измерителя

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




Бывает что нам нужно изготовить ключ от всех домофонов,но в интернете есть не всех

Радиодед

Схемы на микроконтроллерах

Принципиальная схема БП с микроконтроллерным управлением

Блок питания 0…25 вольт с микроконтроллерным управлением

Собран на микроконтроллере PIC16F628A, регулировка напряжения от 0 до 25 вольт с шагом 0.1 вольт при помощи энкодера. Индикация на дисплей 16*2. Защита от короткого замыкания.

Измеритель интервалов времени на микроконтроллере ATmega8515

Измеритель интервалов времени собран на микроконтроллере ATmega8515 с выводом информации на 16х2 строчный LCD с…

принципиальная схема, для авто: напоминалка выключения фар

Схема выключателя фар для автомобиля

Данную схему попросил сделать мой приятель, который постоянно забывал выключать фары на стоянках. Эта простенькая…

Принципиальная схема измерителя ёмкости на цифровых микросхемах

Измеритель емкости

Принцип измерения (стар как мир) – генератор импульсов на 555м таймере,длительность которых меряет несложный 3х-разрядный…

Цифровая шкала генератора НЧ

Схема собрана на микроконтроллере MSP430F1121A (можно MSP430F1111A) и LCD TIC5231.Автоматически переключаемые диапазоны измерения: 1 диапазон…

Генератор синусоиды на микроконтроллере ATtiny13

Этот простой проект демонстрирует возможности ШИМ микроконтроллера ATtiny13 для генерации синусоиды. Данная разработка может быть…

Измеритель ускорения на микроконтроллере

Новомодная тенденция использования акселерометров в мобильных гаджетах, будь то iPhone или Nintendo Wii, даёт толчок…

Портативный осциллограф на микроконтроллере ATmega32

Портативный осциллограф на микроконтроллере ATmega32

Осциллограф выполнен на микроконтроллере ATmega32. Индикатор графический ЖКИ 128 х 64 точек. Схема данного устройства…

цифровой измеритель ёмкости на микроконтроллере

Цифровой измеритель ёмкости

С помощью данного измерителя ёмкости можно легко измерить любую ёмкость от единиц пФ до сотен…

Генератор видеосигнала на микроконтроллере PIC16F84

Для генерации видеосигнала достаточно всего одного микроконтроллера и двух резисторов. То есть можно сделать буквально…

Читайте также: