• Главная
  • Устройства
  • Microchip
  • Двухканальный таймер на микроконтроллере PIC16F873

Двухканальный таймер на микроконтроллере PIC16F873

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

На рис. 1 представлена принципиальная схема двухканального таймера. Таймер выполнен на микроконтроллере PIC16F873 фирмы Microchip, который имеет достаточное число портов для подключения клавиатуры и управления многими нагрузками. К порту А подключена кнопочная матрица 3x3, в которой при двухканальном варианте использовано только семь кнопок. Обнуление таймеров обоих каналов производится посредством сброса микроконтроллера кнопкой «Reset».

Двухканальный таймер на микроконтроллере PIC16F873 - схема

Рисунок 1

Порт В управляет однострочным шестнадцатиразрядным ЖК-индикатором HG1 (АС-161), который отображает два независимых числа по шесть символов каждое, разделенных двумя пробелами. Программа для данного устройства написана с секундной дискретизацией, но при необходимости ее можно сделать минутной и даже часовой. Максимальное время отсчета составляет 999999 с = 16667 мин = 278 час = 11,6 суток. Порт С управляет нагрузками и элементами индикации, причем приоритетный канал снабжен дополнительной прерывистой световой и звуковой сигнализацией об окончании времени отсчета. К выводам 11 и 12 порта С подключен резонатор ZQ2 на 32768 Гц. Свободные выводы 17 и 18 порта RC можно использовать и под другие функции, например, секундную звуковую сигнализацию работы таймера. В качестве ZQ1 можно использовать любой резонатор на 4... 10 МГц.

Силовая часть выполнена на оптосимисторах фирмы Sharp S201S05V с напряжением коммутации 600 В и током 3 А. Без изменения печатной платы можно использовать оптосимисторы S202 или S216 на токи 8 и 16 А соответственно, но в этом случае их необходимо установить на радиаторы размером 50x50 мм от микропроцессоров и сверху поставить общий вентилятор. Для защиты симисторов используются RC-цепочки C8R13 и C9R14 и варисторы RU1 и RU2 на 300 В.

Нагрузки и сетевое напряжение на печатной плате подключены с помощью винтовых зажимов. Также на плате предусмотрено место под стабилизатор 78L05 в типовом включении, который на рис. 1 не показан. Светодиоды HL2 и HL3 предназначены для контроля работы оптосимисторов, что удобно при налаживании устройства. Также их можно использовать для индикации включения нагрузки. Пьезоизлучатель ВА1 — любой со встроенным генератором на напряжение 5 В.

Индикатор и кнопки подключены с помощью компьютерных шлейфов длиной не более 30 см (при большей длине начинают сильно влиять наводки, что приводит к искажению информации, выводимой на индикатор и ложному срабатыванию микроконтроллера). При необходимости удлинить шлейфы надо использовать кварцевый резонатор ZQ1 на меньшую частоту и установить конденсаторы емкостью несколько десятков нанофарад между общим проводом и выводами 5, 6, 7 микроконтроллера.

Для набора времени в каждом канале используется кнопка «Набор при нажатии на которую циклически увеличивается цифра текущего разряда на единицу — 1, 2, 9, 0, для перехода к другому разряду используется кнопка «Разряд» соответствующего канала. После каждого нажатия на эту кнопку мигающий разряд перемещается влево (также циклически, после последнего разряда в первый) и набор в следующем разряде можно продолжить. Кнопка «Пуск/Останов» изменяет свое функциональное назначение пocле каждого нажатия. С ее помощью можно остановить или запустить таймер каждого канала независимо. Для синхронного управления обоими каналами используют общую кнопку «Общий пуск/Останов», для обнуления микроконтроллера и остановки таймеров обоих каналов — кнопку «Reset».

При использовании деталей, показанных на принципиальной схеме, к каждому каналу можно подключать нагрузку мощностью до 0,5 кВт. В случае необходимости мощность каждого канала можно увеличить до 2...3 кВт без корректировки принципиальной схемы и печатной платы путем замены оптосимистора на аналогичный более мощный.

ЖК-индикатор можно заменить на восьмисимвольный  с двумя строками без изменения программы.

Установка битов конфугирации в программе IC-Prog:

Фото готового устройства. Автор Rozario


Архив для статьи "Двухканальный таймер на микроконтроллере PIC16F873 " HOT
Исходный проект, файлы прошивок для PIC16F873/876
File Size 8.63 KB Download 1 247 Download

Печать E-mail

Комментарии  

0 #1 rozario 28.01.2014 13:47
Што то в протеусе не хочет запускаться.
Решотки на экране.
Буду на макетной плате строить.
Подскажите какие биты конфигурации.
rozario.
Сообщить модератору
0 #2 AntonChip 28.01.2014 19:37
Фьюзы добавил в статью
Сообщить модератору
0 #3 rozario 28.01.2014 23:04
Спасиба.
С этой прошивки циклический таймер можна зделать? Или нужно всё по новому писать?
rozario.
Сообщить модератору
0 #4 rozario 29.01.2014 11:19
Цитирую rozario:
Спасиба.
С этой прошивки циклический таймер можна зделать? Или нужно всё по новому писать?
rozario.

Контроллер нашёл только с буквой "А"
PIC16F873A и такой PIC16F876A
Подойдут?
Сообщить модератору
0 #5 AntonChip 29.01.2014 13:53
PIC16F873A/PIC1 6F876A отличаются от PIC16F873/PIC16 F876 тем, что имеют встроенный компаратор, по идее должен подойти
Сообщить модератору
0 #6 Ostap 31.05.2014 10:52
Скажіть будь ласка, чи можна ОДНОЧАСНО використовувати timer0 і timer1 в мікроконтролері PIC18f4550 для лічби вхідних імпульсів?
Сообщить модератору

Похожие материалы

Советуем посмотреть...

Авторизация