Контроллер 8 нагрузок на ATtiny13 с управлением по UART

Данный контроллер имеет 8 каналов для подключения любых нагрузок. Подключённые нагрузки можно включать и выключать по определённой команде. Управление устройством осуществляется посредством UART связи, то есть его можно подключать например к микроконтроллеру или к компьютеру, пользуясь при этом USB-UART или COM-UART переходником. Ядром устройства является микроконтроллер ATtiny13, но по скольку у этого микроконтроллера мало портов ввода/вывода, то ещё в схеме стоит сдвиговый регистр 74HC595, к которому и подключаются нагрузки. Задача микроконтроллера состоит в том чтобы получить и обработать данные приходящие по UART и отправить соответствующие биты в сдвиговый регистр.

Принципиальная схема:

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

Если вам нужно управлять мощными нагрузками, например с напряжением питания 220В и большим током, то вместо светодиодов на схеме устанавливайте транзисторные ключи и электромагнитные реле, рассчитанные на нужный вам ток и напряжение. Общее напряжение питания устройства: 5 вольт, для общения по UART используйте скорость 9600 бод. Управлять устройством посредством UART очень просто: когда придёт буква «P» введите номер порта к которому подключена нагрузка (Например: 1, 2, 3…  По схеме туда подключены светодиоды HL1, HL2, HL3…), после ввода придёт буква «B» — введите состояние порта 1 или 0 (1 — включено, 0 — выключено). Вот собственно и все команды, но если вы планируете управлять устройством посредством своего микроконтроллера, после ввода команд не забывайте про перенос строки (HEX байты A и D, DEC байты 10 и 13).

Прошивку для микроконтроллера устройства я написал в среде программирования BASCOM-AVR, она занимает практически всю Flash память Attiny13. Исходник прошивки прилагается.

Данный контроллер я собрал на своей макетной плате с механическими контактами и управлял им через персональный компьютер, использовав при этом USB-UART переходник и свою программу, которую я написал в Delphi 7. Вот её главное окно: 

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

Фьюз-биты для микроконтроллера:

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
IC1 Микросхема 74HC595 1
IC2 МК AVR 8-бит ATtiny13 1
HL1-HL8 Светодиод Любой 3В 8
R1-R8 Резистор 150 Ом 8
R10, R11 Резистор 1 кОм 2
R9 Резистор 10 кОм 1