РадиоКот :: Электронный замок на ИК-лучах с шифрованием.
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Защита и контроль >

Теги статьи: Добавить тег

Электронный замок на ИК-лучах с шифрованием.

Автор: Алексей, не указан
Опубликовано 19.09.2010
Создано при помощи КотоРед.
2010

Давно в моей голове витала мысль поставить на входную дверь электронный замок, так как надоело каждый раз при входе и выходе из квартиры вставлять и вертеть ключ, да и неразрушающий взлом такого замка труднее. Промышленные изделия не устраивали, так как замок с нормальным ригелем дороговат, да и найти сложно, а со-леноидные защелки, по моему мнению, какие то неполноценные (слишком короткий ригель и хлипкие они), поэтому я решил изготовить электронный замок самостоятель-но.
Затем я обдумал некие требования к такому замку: должно быть питание от сетевого блока и аккумулятора (на случай пропадания питания электросети), моторный привод для управления длинным ригелем, высокая секретность, простая процедура смены, до-бавления или стирания ключа, самодиагностика, процедура тестирования АКБ, визу-альные и звуковые сигналы о нарушениях в работе замка. Впоследствии был разрабо-тан замок, в котором в качестве ключей можно использовать либо таблетки с индиви-дуальным номером от "далласа", работающих по протоколу 1-Wire, либо ключ-брелок собственной разработки с ИК каналом связи, который будет описан ниже. Последний более предпочтителен, так как нет надобности в наружном считывателе и передавае-мый код имеет 128 битное шифрование.
Вначале рассмотрим электронную составляющую замка.

Она состоит из четырёх модулей: центрального, ик-фотоприемника, питания, силового (для управления двигателем), которые физически также собраны, на четырех печатных платах.

Центральный модуль выполнен на микроконтроллер (МК) ATmega8535, который имеет стандартную обвеску, тактируется от кварцевого резонатора на 4 MГц., питается от стабилизированного напряжения 5В, формируемого стабилизатором U3. R26, R27 предназначены для снижения входного напряжения на U3, чтобы последний меньше нагревался. D21, D22 - диодная развязка. Трёхразрядный цифровой индикатор HG1 выводит необходимую информацию, дискретные светодиоды красного цвета предна-значены для визуального определения нештатных ситуаций при работе замка, желтый - зарезервирован, зеленый загорается при просмотре уровня напряжения АКБ. Q1-Q4 усилители тока для катодов D6-D12 и HG1, а R16:..R23 - их токоограничительные резисторы. Для управления служат четыре местные кнопки и выносной блок с ещё од-ной многофункциональной кнопкой и тремя концевыми выключателями. Звукоизлуча-тель BA1 выдаёт сигналы тревоги и сообщает о выполнении некоторых команд. U2 - драйвер интерфейса RS485. В замке реализован протокол "Modbus" , и в дальнейшем планируется написать приложение для управления замком с ПК. Выход интерфейса осуществляется на девятипиновый разъём J2. Элементы R5-R6, D2-D4 - цепочка для обеспечения считывания далласовских ключей - таблеток DS1990 и им подобных и защиты от перенапряжения. Цепочки элементов R11-R13, C8 и R8-R10, C7 предназна-чены для нормирования при измерении напряжений соответственно с БП (R12 - под-стройка) и АКБ (R9 - подстройка). Контроль напряжений необходим, чтобы инфор-мировать о неисправностях питания. При пропадании внешнего питания яркость ин-дикатора снижается до минимума для экономного расхода емкости АКБ. Если же про-изводятся какие-либо манипуляции с кнопками управления, то яркость возвращается на прежний уровень и сохраняется ещё на 40 секунд после окончания этих манипуля-ций, после чего вновь устанавливается на минимум. При восстановлении внешнего питания яркость так же возвращается на прежний уровень.

Модуль ИК-фотоприемника. Цепочка R29, С13 предназначена для уменьшения по-мех по питанию фотоприёмника. Данный модуль соединяется с основным экраниро-ванным кабелем длиной 1 метр, и устанавливается напротив дверного глазка изнутри. ключ-брелок подносится к глазку снаружи и таким считывается код.

Модуль питания. Преобразует переменное напряжение от сетевого трансформатора в постоянное на D25, содержит ключ на Q7,Q5 который по сигналу с МК снимает пита-ние замка от сетевого выпрямителя во время теста АКБ, а ключ на Q8, Q6 при этом от-ключает подзарядку АКБ, зажигается светодиод D12. Тест АКБ производится при от-крытой двери, лучше не реже 1ого раза в месяц. Во время теста двигатель открывает и закрывает замок, при этом измеряется напряжение АКБ. Сразу после теста на индика-торе в течении одной секунды показывается измеренное напряжение. Если оно ниже нормы (10,5В), то раздастся прерывистый звуковой сигнал и загорится D6. В осталь-ное время АКБ подзаряжается малым током (0,005:..0,01С. где С - емкость АКБ). Как запустить тест, сказано в прилагаемой в инструкции по эксплуатации. D23, D24 - диодная развязка по питанию.

Модуль управления двигателем. В данном варианте для перемещения ригеля замка используется двухфазный шаговый двигатель (ШД) от принтера (также существует вариант с 4х фазным ШД и двигателем постоянного тока). U4 - драйвер ШД, приме-нен L293D (КР1128КТ3А). Его так же можно использовать для управления 4х фазным ШД, изменив подключение (схема ниже). Прошивки в приложении для обоих вариан-тов. D28-D34 - защитные диоды, предотвращающие пробой выходных ключей драй-вера U4.

Конструкция и детали. Все модули соединяются при помощи кабеля на разъемах. МК ATmega8535 в ДИП корпусе может быть с любыми индексом на конце. Вместо HG1 можно поставить аналогичный цифровой семисегментный индикатор с общим катодом, но придется изменить рисунок печатной платы. Звукоизлучатель ВА1 со встроенным генератором на 5В можно заменить аналогичным электромагнитным или пьезоэлектрическим. Вместо указанного фотоприемника можно применить TSOP4836 (именно такой у меня и установлен) или аналогичный в таком же корпусе и такой же цоколевкой (печатная плата ИК модуля разведена под оба типа). J1 - стандартный шестиконтактный разъем для внутрисхемного программирования МК AVR. В качестве концевых выключателей положения ригеля применены герконы, а магнит установлен на подвижной части замка. Датчиком закрытой двери я использовал герконовую кла-вишу от древней ЭВМ (износу ей нет). Трансформатор должен иметь мощность, дос-таточную для питания электроники и ШД, на его вторичной обмотке должно быть 12,5В...14В.

Механическая часть замка.

За основу использовал такой же замок, какой стоит у меня на двери, чтобы можно бы-ло просто переставить его с минимальными трудозатратами. С него я снял защелку и цилиндровый секрет. Вместо защелки поставил датчик закрытой двери (на фото1 и 4 в нижней части корпуса), а вместо цилиндра - ШД. Таким образом, дверь обычным клю-чом снаружи не открыть, а вот изнутри открывается как вручную, так и электроприво-дом. В верхней части замка на текстолитовой плате установлены герконы (концевики положения ригеля), а на подвижной части, где находимся буква "M", с обратной сто-роны установлен магнит. Плата приклеена к корпусу. На вал ШД надет шестигранник. Специально по него расточено соответствующее отверстие в колесе, которое вращает-ся с шаговиком и перемещает ригели. От концевиков выведен кабель через просвер-ленное отверстие в задней части корпуса замка. На датчике закрытой двери (герконо-вой кнопке) вместо бывшего там толкателя установлена половина от копеечной моне-ты (фото 4). Когда дверь закрывают, за счет скругления кнопка плавно нажимается от дверной коробки, замок выжидает ещё 1 секунду (убеждается в том, что дверь хотят закрыть) и закрывается. Поэтому при выходе из квартиры даже ключ не нужно доста-вать.

ИК ключ - брелок
Как уже говорилось, данный тип ключа является более совершенным, так как обеспе-чивает лучшую секретность. Его принципиальная схема приведена ниже.

Собственно схема простая, использован МК ATtiny13 в корпусе SOIC, тактируется частотой 1,2 МГц от внутреннего RС осциллятора, имеется всего одна кнопка для от-крывания замка. Изначально МК находится в режиме сна и ток потребления составля-ет до 1 мкА. При нажатии на кнопку высокий уровень на выводе PB2 сменяется низ-ким, МК просыпается, производит шифрование и выдает сформированный шифр в ви-де последовательности битов манчестерского типа (двухфазный, как наиболее помехо-защищённый), промодулированных частотой 36 кГц (для используемого в замке фо-топриемника TSOP4836) на вывод PB1, сигнал усиливается Q1 и отправляется замку через D1. При этом в течение передачи ИК посылки загорается красный светодиод D2. Посылка длится около 150 мс. Реализован контроль напряжения батареи для своевре-менной её замены, чтобы не оказаться перед дверью с нефункционирующим ключом. Измерение напряжения батареи осуществляется АЦП при нажатой кнопке, также на выводе PB2 через резистивный делитель R1-R2. Если после завершения ИК посылки D2 светится ещё в течение одной секунды, значит батарейку нужно менять. В ячейках EEPROM (файл IR_key.eep) по адресам $0D(младший байт) и $0E(старший) хранится коэффициент, определяющий, при каком напряжении будет сигнал о его низком зна-чении (по умолчанию установлен $333(819), что соответствует примерно 2.4V). Так как внутренний источник опорного напряжения у разных экземпляров МК варьируется (номинальное значение для ATtiny13 составляет 1,1B), то его возможно придется скорректировать. На плате имеется разъём для внутрисхемного программирования МК. На время прошивки необходимо снять перемычку JP1 во избежании большого то-ка потребления ИК диодом, а после восстановить. Фото платы, корпуса для неё, и ключа в сборе показано ниже. Вместо данного типа ключей можно использовать клю-чи таблетки типа DS1990, подключив контактное гнездо считывателя к разъему J3 замка.

Немного о используемом методе шифрования.

Для идентификации замком ключа используется 64 битное число, которое состоит из индивидуального 40 битного номера ключа и 24 битного счетчика синхронизации, увеличивающийся при каждом нажатии кнопки ключа. Счетчик синхронизации определяет количество возможных шифрованных комбинаций (более 16 млн.). В течении жизни человека шифр никогда не повторяется. Помимо этого после отправки шифра ключом происходит отложенный (через 15 секунд) инкремент счетчика на несколько единиц как в ключе, так и в замке. Таким образом, возможно перехваченные ранее по-сылки будут бесполезны, так как счетчик уже ушел вперёд. Этот метод защиты очень хорош для радиоканала и метод взлома как перехват/подмена теряет всякий смысл. Так что если использовать в данном случае вместо ИК-лучей радиоканал, то защищён-ность замка не ухудшится. Если же у замка и ключа произошла рассинхронизация счётчиков (из-за многократного нажатия кнопки брелка в отсутствии замка) то её мож-но восстановить двойным нажатием кнопки в течение не более 4 сек. Замок при этом откроется после второй посылки шифра. Каждая ИК-посылка ключа состоит из 10 байт: стартовый байт, 8 байт данных (идентифицируют ключ), зашифрованных 128 битным числом, и последний байт - контрольная сумма CRC8. Замок принимает по-сылку, расшифровывает её, проверяет есть ли у него в памяти принятый индивидуаль-ный 40 битный номер ключа. При его наличии сверяет свой счетчик синхронизации для данного ключа с принятым, и если всё в порядке, то ригель открывается. 40 бит-ный номер ключа и 128 битное число шифрования для надежности размещены во флеш памяти. Далее приводится байтовая адресация.
В ключе-брелке (файл IR_key.hex). Начиная с адреса 03E0h расположены 5 байт инди-видуального номера, а с адреса 03E8h - 16 байт числа шифрования (должно быть оди-наковым во всех ключах и в замке). В замке (файл lock_ir.hex) число шифрования находится, начиная с адреса 1FE8h.

После прошивки выставляем фьюз-биты как показано ниже (в понипрог)
для замка:

для ключа:

Общий вид замка без корпуса для электроники показан ниже. Первый вариант замка с двигателем постоянного тока эксплуатируется почти год, никаких претензий у меня к нему нет, но его нельзя открыть изнутри вручную. В прилагаемых в файлах есть инструкция пользователя.


Файлы:
Печатная плата в формате SL5.0.
Прошивка МК.
Юзергад (PDF).


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

26 0 0
1 1 0