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

На рис. 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 "
Описание: Исходный проект, файлы прошивок для PIC16F873/876
Размер файла: 8.63 KB Количество загрузок: 1 552 Скачать

Комментарии  

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 для лічби вхідних імпульсів?
Сообщить модератору