Цель проекта
Цель проекта - разработка любительской системы автоматизации жилья. За основу возьмем системы, о которых говорилось выше. Если не вдаваться в тонкости реализации разных концепций, на первом этапе будущую систему можно представить в виде центрального управляющего устройства и набора модулей, выполняющих разные функции, но подчиненных одной задаче - следить за состоянием датчиков и устройств управления, чтобы на основе их состояния включать, выключать и переключать бытовую технику (рис. 1.28).
Рис. 1.28. Структура простейшей системы с базовыми модулями |
В качестве средств управления в системе промышленного производства используются сенсорные панели и универсальные ИК-пульты с запоминанием кодов.
Не готов утверждать, что любительская разработка подобного рода устройств управления столкнется с непреодолимыми трудностями, но если серийно производимое устройство оценивается в продаже в тысячу (и несколько тысяч) долларов, то и в любительской разработке оно может стоить не дешевле. По этой причине разработку средств управления подобного типа лучше пока оставить за профессионалами. Мы постараемся реализовать простую систему, в которой компьютер буцет играть роль центрального управляющего устройства (и, в какой-то мере, устройства управления), и которая будет иметь несколько базовых модулей: релейный модуль, модуль приема системных ИК-команд, модуль излучения ИК-кодов и модуль цифровых вводов.
Каково назначение каждого из этих модулей?
Релейный модуль. Получая команды центрального управляющего устройства, он включает и выключает соответствующее реле. С помощью контактов реле можно включать и выключать настольную лампу, торшер (и свет в комнате, установив модуль на место обычного выключателя, но я не советую делать это, если вы не профессиональный электрик), телевизор или музыкальный центр. Контактами реле может включаться и выключаться электрический чайник и утюг (возможно, понадобится добавить более мощный контактор). С его же помощью можно «перемещать музыку», подключая к музыкальному центру громкоговорители, установленные в разных помещениях. Одним словом, с помощью контактов реле можно включать и выключать все, что можно включать и выключать в принципе.
Модуль приема системных ИК-команд. Системой хочется покомандовать. И не только с компьютера. Используем старый пульт управления от видеомагнитофона или телевизора, который завалялся на полке, и применим его коды для управления системой.
Модуль излучения ИК-кодов. Чтобы управлять с помощью системы телевизором или видеомагнитофоном необходимо иметь устройство, которое излучает ИК-коды управления ими.
Модуль цифровых вводов - будет соединяться с датчиками, например, герконовыми и по запросу центрального управляющего устройства будет передавать состояние датчиков.
В качестве сетевого интерфейса (дверка, за которой начинается дорога ко всем модулям системы) используем двухпро - водный интерфейс RS485. Длина линии может достигать 1000 м, все системные устройства включаются параллельно, линия мало подвержена влиянию наводок и сама не наводит шумов на другие линии. Если для экспериментов применить четырехжильный провод, то по двум оставшимся проводам можно передавать напряжение питания для всех системных устройств. Этого достаточно для наших целей. Тем более что в плане деталей, которые нужны для создания интерфейса, это одна микросхема и один резистор.
Какие схемы нам потребуется собрать до начала работы?
Программатор, работающий с программой PonyProg2000 (упрощенная схема, более полная схема для РІС контроллеров будет приведена в Приложении), показан на рис. 1.29.
В оригинальной версии есть примечание - микросхему стабилизатора напряжения LM2936-Z5 не советуют менять на стабилизаторы серии 7805. Поскольку рекомендуемая микросхема есть в продаже, я не стал пренебрегать советом, хотя, по отзывам многих, собиравших программатор, этим советом можно пренебречь. Список необходимых для сборки программатора составляющих приведен в табл. 1.1.
Таблица 1.1. Спецификация программатора
|
Q1 BC557 |
BT1 9v-BAT |
D1 1N4148 |
PC Serial port J1 |
Рис. 1.29. Программатор для работы с микроконтроллером PIC16F628A |
DB9 FEMALE |
СО
Ориентировочная стоимость элементов - 186 руб., макетная плата 100 руб. Всего 286 руб.
Программатор подключается к СОМ-порту (я подключал его к COM2, отведя СОМІ для конвертера). При точной и аккуратной сборке схема работает сразу.
В качестве соединительного кабеля между программатором и компьютером я использовал несколько проводов плоского кабеля, которые были «под рукой». Думаю, подойдет кабель от старой «мышки» или отрезок с витыми парами для компьютерной сети. Длину этого отрезка лучше сделать небольшой, чтобы с программатором было удобно работать.
Если купить макетную плату достаточных размеров, часть ее можно использовать для программатора, а часть пригодится для конвертера RS232-RS485. Остатка же хватит на макетную плату для прототипов всех модулей. У меня программатор свободно разместился на плате 90x40 мм.
Конвертер RS232-RS485 - нужен для общения компьютера со всеми модулями системы. Он также несложен в сборке, поскольку представляет собой пару микросхем с небольшим количеством дополнительных элементов. Я использовал только один резистор 120 Ом в линии. При длинной линии (в сотни метров) такой же резистор желательно поставить на конце линии, выполнив ее витой парой (рис. 1.30).
Необходимые элементы конвертера приведены в табл. 1.2.
Таблица 1.2. Спецификация конвертера
|
Рис. 1.30. Схема конвертера RS232-RS485 |
Ориентировочная стоимость изделий - 290 руб.
Клеммник я использовал для подключения линии, внешнего (и общего для всех модулей) источника питания 12 В и проводов передачи питания на макетную плату, куда установлен 4-контактный клеммник. Таким же образом можно подключать все модули, соединяя их последовательно. При этом следует учитывать, что по мере удаления от общего источника питания напряжение может понижаться за счет падения напряжения на проводах. Это сказывается на работе удаленных релейных модулей. Реле с рабочим напряжением 12 В может потреблять ток порядка 50 мА. Обе микросхемы конвертера подключены к источнику питания 12 В через микросхему стабилизатора 7805 так же, как микросхемы модулей. Некоторые параметры микросхемы МАХ1483 и цоко - левка показаны на рис. 1.31 и 1.32.
МАХ3082/МАХ3085/МАХ3088
|
RESEIVING |
|||
INPUTS |
OUTPUT |
||
RE |
DE |
A-B |
RO |
0 |
X |
> 0.05V |
1 |
0 |
X |
< 7 0.02V |
0 |
0 |
X |
Open/shorted |
1 |
1 |
1 |
X |
High-Z |
1 |
0 |
X |
Shutdown |
Рис. 1.31. Таблица состояний микросхемы МАХ1483 |
На этом приготовления к началу работы можно считать законченными, если вы установили на компьютере программы MPLAB и PonyProg2000.
:0,1mF MAX3082 MAX3085 MAX3088
JQvcc
Top view |
De |
•^zr |
R n |
P1 |
T]vcc 7] в T] A T]gnd |
Roq re|t de[t Di[7 |
Roq Re[7 de[T |
R h |
7B_______ В
XZZX____ l^s^i
И
GND '
Dip/so |
Ri |
Dip/so
Рис. 1.32. Типовая схема включения микросхем МАХ3082 (МАХ1483)
Первую разработку проведем «на бумаге», точнее в редакторе программы MPLAB. После программирования контроллера «на бумаге» перейдем к его налаживанию в программе MPLAB.