![]() |
![]() |
|||||||||||||||
Укрощение домофона Цифрал
Автор: SSMix В статье описан способ изготовления дешёвого дубликата ключа для домофона Цифрал на микроконтроллере с возможностью прошивки любого кода. Особенностью конструкции является питание ключа от самого домофона. Как-то, придя домой, я не смог попасть в подъезд, оборудованный домофоном Цифрал. Ключ-таблетка, прослуживший добрый десяток лет, отказался открывать замок. Домофон на него вообще никак не реагировал. Пришлось звонить знакомому, чтобы тот открыл дверь. Взяв дома запасной ключ, я убедился, что сам домофон исправен, после чего приступил к изучению его принципа работы. Внутри ключа Цифрала установлена бескорпусная микросхема К1233КТ1, в которую на заводе зашит персональный код из восьми 4-разрядных слов + стартовое слово 0001. При подключении к источнику питания через ограничительный резистор ключ непрерывно циклически выдаёт этот код в линию, как показано на рисунке из datasheet: Логические нули и единицы домофоном определяются по перепадам напряжения и длительностям импульсов. Всего выходит 65536 комбинаций кода. В каждом подъезде в домофон прописываются коды ключей всех его жильцов. Так что причина неработоспособности ключа осталась не до конца выясненной. Возможно, цифральщики просто периодически выписывают из домофона старые ключи, чтобы заработать на продаже новых – не зря в то время висели объявления на подъезде о возможности заказать комплект из 2 новых ключей. В Интернете есть разработки имитаторов ключей для домофонов, но все они требуют отдельного источника питания. Это довольно неудобно, т.к. батарейка или аккумулятор могут разрядиться в самый неподходящий момент. Поэтому было решено обойтись питанием от самого домофона, тем более, что минимальное гарантируемое рабочее напряжение ATtiny10 по datasheet составляет 1,8В, а реальное ещё меньше. При этом ток потребления на частоте 1МГц всего 200 мкА. Транзисторы – 2N7000, резисторы в их стоках по 820 Ом (их нужно замерить точнее и внести в текст программы в строки 19-21), резисторы делителя напряжения на 12: 900кОм и 82кОм или 1,1Мом и 100кОм. Собрана схема навесным монтажом прямо на платке Ардуино: Дисплей зафиксирован с обратной стороны термоклеем: Пробник измеряет напряжение холостого хода в лузе домофона, напряжение под двумя разными нагрузками 820 Ом и 410 Ом с запоминанием результатов в EEPROM, а затем выдаёт циклический код рабочего ключа в домофон для открытия двери. Со стороны весь процесс выглядит как обычное открывание двери ключом-таблеткой. Результат измеренных напряжений и двух вычисленных сопротивлений внутреннего резистора при разных нагрузках выводится на несколько секунд после подачи питания на OLED дисплей SSD1306 (32х128, I2C), а также в терминал на компьютер. Питание - от Кроны. Подключив рабочий ключ к блоку питания 12 В через резистор 3,3 кОм была снята осциллограмма передаваемого кода. Нижний уровень сигнала составил 1,6В, верхний 2,48В, размах 0,88В. Также были сняты временные интервалы логических нуля и единицы. Питание микроконтроллера DD1 осуществляется через ограничительный резистор R1 и диод VD1. Накопительные конденсаторы C1, C2 сглаживают пульсации, стабилитрон VD2 на 5,6 В выполняет защитную функцию на случай нештатной ситуации. Транзистор VT1 коммутирует нагрузочный резистор R2. Резистор R7 совместно с потребляющим некоторый ток ATtiny10, задаёт верхний уровень сигнала, а добавленный в параллель резистор R2 в момент коммутации – нижний уровень. Резистор R6 не позволяет из-за наводок открываться транзистору VT1, иначе в момент подачи питания микроконтроллеру может не хватить напряжения для запуска. R6 подключен к затвору VT1 через резистор R5 из-за удобства разводки платы. Резисторы R3…R5 – ограничительные для программирования микроконтроллера. Программирование этой серии осуществляется по интерфейсу TPI (Tiny Programming Interface). Для этого используется три вывода микроконтроллера: На верхней стороне платы расположен миниатюрный разъём для программирования с шагом 1,25 мм, на нижней – SMD-элементы. Перечень элементов: C1 = 4,7 (0603) DD1 = ATtiny10 (SOT23-6) R1 = 22 (0603) VD1 = MBR0540 (SOD-123) VT1 = IRLML6346 (SOT-23) X1 = NX 1,25-6 (Шаг 1,25мм) Программа для микроконтроллера создавалась на Си в среде CodeVisionAVR V2.05.0. Код рабочего ключа необходимо считать либо каким-нибудь считывателем, например «Крутой дубликатор домофонных ключей на Arduino» (https://mexatrondiy.ru/rfiddublicatoroled), либо осциллографом (подключив рабочий ключ к БП через ограничительный резистор), найдя стартовое слово 0001. Этот код необходимо внести в текст программы (строка 27), после чего перекомпилировать проект. Данный код хранится в flash-памяти, т.к. EEPROM у данной серии нет, да и так надёжнее. Прошивка заняла 270 байт, или 26,4% FLASH-памяти, так что можно использовать любой микроконтроллер из серии ATtiny4/5/9/10, тем более что АЦП в данной схеме не используется. Фьюзы следует оставить по умолчанию: После прошивки контроллера плата укладывается в корпус и ключ защёлкивается в пластиковый держатель. По внешнему виду ключ никак не отличим от оригинального. Для прошивки любого другого кода необходимо просто выдвинуть ключ из пластикового корпуса, приподнять плату, подключиться программатором к разъёму, и залить новую прошивку.
Файлы: Все вопросы в Форум.
|
|
|||||||||||||||
![]() |
![]() |


![]() |
![]() |
|||
|
||||
![]() |
![]() |