В [1, 2] были описаны
схема, принцип работы и методика настройки и управления сигнализации
GSM на основе микроконтроллера ATmega168 и модуля GSM SIM300D(Z).
Управление устройством осуществляется при помощи «секретной» кнопки
(схема, описанная в [1]) или при помощи пульта дистанционного
управления на ИК-лучах (схема [2]). Но в настоящее время приобрели
широкую известность ключи iButton, которые в последнее время широко
используются для управления различными устройствами (например,
домофонами). Попробуем и мы применить данное устройство для
управления сигнализацией GSM.
Должен заметить, что, к великому сожалению, при подготовке к печати
статей [1,2] были допущены ошибки в чертеже схемы, а также, в
процессе развития и модернизации устройства схема, по сравнению с
опубликованной, изменилась. Со всеми изменениями можно ознакомиться
на сайте автора [5].
Немного теории...
Контактная память (от
англ. touch memory, иногда встречается англ. contact
memory, или англ. iButton) – класс электронных устройств,
имеющих двухпроводный протокол обмена информацией с ними (1-Wire), и
помещённых в стандартный металлический корпус (обычно имеющий вид
«таблетки»). Термин «контактная память» недостаточно устоялся
в русском языке. В зависимости от местности и ситуации используются
различные эквиваленты названия: ключ от домофона, «магнитный ключ»,
«контактный ключ», «таблетка», кнопка и т. д. Однако, всё это
относится лишь к одному устройству, использующему технологию
контактной памяти – контактному ключу. Количество кодовых комбинаций
– более 280 трлн. Технология принадлежит корпорации
Dallas Semiconductor [3].
iButton – это просто микросхема, заключённая в стандартный
круглый корпус из нержавеющей стали, диаметром 16,3 мм. Прочный
корпус очень устойчив к воздействию ударов, грязи и влажности.
iButton MicroCan (название стандарта корпуса) имеет диаметр 16.3 мм.
Имеется две стандартные толщины: 3.1 мм (версия F3) и 5.9 мм (версия
F5). Устройства, получающие питание от «мастера» через линию данных,
поставляются в обоих типах корпусов. Все другие устройства
поставляются только в корпусах MicroCan толщиной 5.9 мм. На рис. 1
показаны чертежи корпусов обоих версий, а на рис. 2 – внешний вид
ключа. Поскольку крышки у всех версий одинаковы, то для всех
применяется одна и та же считывающая чашка. Кромка корпуса MicroCan
позволяет удобно его закреплять в держателях. Небольшой размер
позволяет прикреплять контактную память практически на любом
носителе — изделии, карточке, брелоке.
Рисунок 1. – Чертежи корпусов контактной памяти iButton
Внутри может
использоваться достаточно разнообразная электроника от
однократно-записываемой и флэш-памяти, до всевозможных контроллеров,
таймеров, датчиков температуры и т. п. В простейшем случае это
просто энергонезависимая память, размещаемая в металлическом
корпусе.
Устройство активизируется в момент контакта со считывателем.
Операции чтения и записи осуществляются практически мгновенно во
время контакта [3, 4].
Рисунок 2. – Внешний вид ключа iButton
Описание схемы
электрической принципиальной
Принципиальная схема основного блока достаточно хорошо отличается от
приведенной в [1], хотя прошивка для обоих вариантов исполнения одна
и та же. Схема претерпела значительные изменения, в основном это
касается узла связи с компьютером – модулем. В частности, исключен
блок преобразователя UART-RS232 на ИМС MAX232, это обусловлено тем,
что в настоящее время всё меньшее число компьютеров имеет встроенный
порт RS232 (а большинство ноутбуков его совсем не имеют). Потому
выведен лишь разъем UART, а пользователь уже сам решает, с помощью
каких средств ему программировать устройство, будь то модуль
USB-UART, или RS232-UART. Как показала практика, плохо
зарекомендовал себя и блок переключателя модуль – ПК на ИМС 74257.
Неизвестно, каковы причины нестабильной работы, то ли просчеты при
проектировании, то ли особенности микросхемы, но для надежности этот
блок был заменен на обычный джампер. Для удобства чтения и сравнения
настоящей и предыдущей схем, нумерация комплектующих осталась
прежняя, поэтому возможны пропуски в нумерации элементов схемы.
Так же используется дополнительный блок для подключения ключа,
состоящий из минимума деталей: 4R1, 4R2, 4D1 (рис. 3). Приемник
ключей iButton подключается к тому же разъему, к которому в схеме
[2] подключался приемник пульта ДУ (контакты INPUT_IR, POW_IR,
GND_IR).
Рисунок 3. – Схема электрическая принципиальная устройства
Длина соединительной
линии от основной платы до приёмника ключа может достигать 7 м при
указанных номиналах. Если длина соединительной линии более 7 м
(максимальная длина, при которой испытывалась работоспособность
устройства – 15 м), или замечена нестабильность работы устройства,
проявляющаяся в нулевой реакции на приказания ключа, то
рекомендуется подбирать опытным путём сопротивление резистора 4R2 в
сторону уменьшения сопротивления.
Схему приемника ключа можно разместить как в самом приемнике, так и
в корпусе основной платы. А если расстояние от предполагаемого места
установки приемника до основного блока достаточно велико, и есть
некоторые сомнения в стабильности работы устройства, то можно
поэкспериментировать: например расположить схему приемника отдельно
от самого приемника и от основного блока где-то посередине
соединительной линии, единственное условие: схема не должна
находится слишком далеко от основного блока (максимальное расстояние
– 3 м)
Несколько слов об используемом модуле GSM. Прогресс не стоит на
месте, и модуль, использовавшийся в предыдущих версиях, SIM300D,
снят с производства. Конечно, в продаже он еще имеется, но это уже
остатки, так сказать. Вместо него возможно использование модулей
новой серии – SIM900D. И по выводам, и по размерам эти модули
идентичны, поэтому замена практически «безболезненна». Единственное,
что было замечено в процессе работы: микроконтроллер не включал
модуль. Как оказалось, причина в том, что диод 2D10 не обеспечивал
нужный уровень напряжения, поэтому его с обычного импульсного
заменили на маломощный диод Шоттки.
Печатные платы основного блока приведены в [1], а на рис. 4
изображены печатные платы приемника ключа iButton.
Рисунок 4. – Приемник ключей iButton. Плата печатная
Приемник ключей
желательно разместить в отдельном корпусе, благо сейчас его можно
найти в любом радиомагазине в любом исполнении и количестве, то же
мастеркитовский подойдет как нельзя лучше. Один из вариантов
исполнения, реализованный автором, изображен на рис. 5. Здесь
применен приемник с контрольным светодиодом «на борту», светодиод
тоже задействован в качестве контрольного светодиода состояния
системы (на схеме – LED_SYS). Также, ввиду того, что в моём случае
считыватель расположен вне охраняемого объекта, внутри считывателя
установлен геркон с магнитом, который включен в один из шлейфов
прибора, для сигнализации случая взлома считывателя, и оповещения об
этом.
Рисунок 5. – Вариант исполнения считывателя
Месторасположение
считывателя не имеет значение, и зависит от желаний пользователя.
Только необходимо не забывать, что при расположении внутри
охраняемого помещения нужно в установках программирования выставлять
такое время на вход-выход, чтобы пользователь успел войти на объект
и до перехода устройства в режим «Тревога» коснуться ключом
считывателя, или, при выходе, успеть выйти до того, как устройство и
все датчики перейдут в дежурный режим. Если же считыватель
располагается за пределами помещения, то временные параметры
значения не имеют, и устанавливаются равными нулю.
Самую последнюю версию прошивки микроконтроллера основного блока,
предназначенную для работы с ключами iButton, можно скачать с сайта
автора [5]. Следует помнить, что прошивки микроконтроллеров для
работы с различными устройствами управления (как то: пульт ИК, ключ
iButton, клавиатурный блок управления и т.д.), отличаются между
собой, и, например, прошивка, предназначенная для работы с ключами
iButton, работать с пультами ДУ, описанными в предыдущей статье [2]
не будет.
Руководство по программированию
Для программирования устройства применяется программа Lite
Programmer версией 1.16 и выше, версии ниже указанно просто не
поддерживают функцию программирования ключей iButton. В настоящей
статье рассматривается только методика программирования ключей
iButton, программирование прочих параметров и функций подробно
рассмотрено в [1]. Единственное изменение, которое появилось с
модернизацией схемы: при программировании параметров джампер JM
должен быть разомкнут. Хотя, при благоприятном стечении
обстоятельств (на модуль GSM подано питание, и при этом отсутствуют
входные звонки, сообщения и прочие события), он процессу
программирования не мешает ...
Следует заметить, что используемый алгоритм программирования ключей
несовершенен, но это был единственный путь, который можно было
реализовать на основе подобной схемы. Основная причина – малое
количество выводов микроконтроллера. Если у кого будут идеи по
усовершенствованию алгоритма, автор готов рассмотреть их для
дальнейшего использования. Все идеи можно присылать на электронную
почту [6].
Предложенная автором прошивка микроконтроллера поддерживает
программирование только трёх ключей iButton. То есть, работать будут
только первые три ключа. Максимальное же количество ключей, которое
можно «забить» равно девяти, а при применении прошивки,
поддерживающей подключение внешней памяти EEPROM по интерфейсу I2C –
до 256.
Для осуществления программирования ключей iButton в память EEPROM
микроконтроллера, необходимо запустить программу Lite Programmer, и
в окне таблицы кликнуть мышкой по строке 37 – «Устройство
управления». В ниспадающем меню выбрать пункт «iButton» (рис. 6а).
При этом в окне «Код устройства управления» (строка 38) появится
запись «Click for set ibutton key» (рис. 6б). Кликаем по этой
строке.
Рисунок 6.
Появляется форма
программирования ключей iButton (рис. 7). В настоящее время
отсутствует возможность считывания комбинации кодов ключей, поэтому
пользователь должен сам знать, какой ключ под каким номером записан
в устройство. Для записи кода ключа необходимо в режиме
программирования прибора нажать на кнопку «Set key» и в течении 5-8
секунд, до того, как прибор издаст три кратковременных звуковых
сигнала, коснуться ключом, код которого нужно записать, считывателя.
Для индикации режима программирования кода ключа также выводится
форма, изображенная на рис. 8. Если в указанный промежуток времени
контакта не было, в памяти устройства остается предыдущая запись
комбинации кода ключа.
Рисунок 7.
Рисунок 8.
Для удаления из
памяти микроконтроллера кода ключа необходимо лишь нажать на кнопку
«Delete key», и запись, при корректном подключении, будет сразу же
удалена.
Источники и ссылки
1. Дмитренко Д.
Охранная GSM-сигнализация для дома, дачи, гаража // Радиолюбитель,
№№7-9, 2010
2. Дмитренко Д. Пульт управления сигнализацией GSM // Радиолюбитель,
№10, 2010
3.
http://www.maxim-ic.com/products/ibutton/ibuttons
4. http://wikipedia.org
5. http://ddn.radioliga.com
6. E-Mail:
ddn-research@yandex.ru
Дополнения к статье [то, что не вошло в журнал]
1. Напоминаем, что
вход в режим программирования возможен только в том случае, если
прибор снят с охраны. В других случаях в данный режим вход
невозможен, и программа микроконтроллер в режим программирования не
переведет.
2. С помощью программы Lite Programmer, кроме всего прочего, можно
просматривать данные всех записанных ключей тоучмемори.
3. Представленная прошивка микроконтроллера является частично
демонстрационной, и имеет одно ограничение на максимальное
количество программируемых ключей, равное трём.
Все
материалы для скачивания к этой статье Вы можете найти
здесь
|