Електронний замок своїми руками
Якось одного разу мені набрид замок на вхідних дверях моєї оселі. Тому я вирішив зробити електронний кодовий замок своїми руками, не дивлячись на те, що механічний дверний замок поки є найбільш популярним, мені захотілося чогось - небудь більш "розумного" - такого, щоб саме закривалося, відкривалося, щоб не потрібно було завжди тягати з собою ключі від дому.
Для початку розглянемо деякі рішення, які може пропонує нам цей сучасний і божевільний світ.
Touch memory - електронні картки та ключі. Цей варіант у мене відразу відпав, так як вище сказано, що мені не хотілося тягати з собою нічого такого, що можна втратити або забути. А проблема ця для мене дуже актуальна, оскільки моя неуважність прямує до нескінченності.
Кодова панель. Набрав код і зайшов - що може бути простіше? Хіба тільки пам'ятати код - але це в принципі не складно, запам'ятати 6 або 9 цифр.
Сканери сітківки ока. Досить дорогі прилади, мені не по кишені.
Зчитувачі відбитків пальців. Ось це вже інша справа, і за ціною, і за властивостями. Нічого забувати або втрачати необов'язково, адже пальці завжди з собою, хоча.
Отже, з розглянутих вище заходів мені більше сподобалися зчитувачі відбитків і кодова панель. З цих двох варіантів я вибрав кодову панель. Чому - важко сказати, можливо тому, що панель все-таки дешевше, ніж цей зчитувач.
Зробити панель самому - ця думка відразу відпала. Природно, в домашніх умовах вкрай важко зробити красиву і міцну панель. Так що, придбана мною безглузда пластмасова пародія залишилася не при справах, але нічого - може, для налагоджування плати в нагоді.

Тому була придбана КБД-10В. Це врізна кодова панель. Я тут же встановив її на двері.

Всередині у неї, до речі, виявився наш старий знайомий мікроконтролер Attiny 2313.
Між штовхачами кнопок і самими кнопками - прокадка з гуми і металева пластинка з отворами. Напевно, щоб вода не проникала.
А так практично нічого цікавого - плата з кнопками, реле, контролер і все.

Два слова з приводу установки - в двері вирізається відповідний прямокутний отвір, в яке пролазить внутрішня частина панелі. Кріпиться вона за допомогою двох гвинтів, у яких доцільно спиляти насічку. Я купив два смушкових гвинта і спиляв у них все зайве.
Алгоритм роботи вкрай простий - записується 6 значний майстер-код, потім код входу, потім час відкривання замка. Є нормально замкнуті і розімкнуті контакти для різних видів замків. Харчується вона від 12 вольт, струм споживання в режимі очікування близько 5 мА. Код входу також шестизначний. Є вихід на кнопку виходу, вибачте за тавтологію.
Отже, тепер є привід задуматися про замок. Такий, як на домофон - електромагнітний, не підійде, так як споживає немаленький струм. Так що якщо мережа раптом пропаде, двері буде відкрита. Потрібен замок або з двигуном, або з магнітом, який висуває ригель на час відкриття. Як би там не було, я знайшов в інтернеті рішення - взяти привід для відкривання дверей автомобіля і з'єднати його з шпінгалетом, при цьому за допомогою пружини забезпечивши його зворотний хід. До речі, зусилля у цього приводу просто жахливе - я пальцями втримати не міг. Але, як говориться, краще один раз побачити.


Ніяких додаткових схем не треба було, як я писав уже, в панелі є реле, тому я думаю що цілком очевидно, як вдалося подружити ці два агрегати.
Отже, все в зборі:

Для живлення цієї кавалькади також був зібраний блок живлення з імпульсного блоку, акумулятора і схеми, яка підключає акумулятор при пропажі напруги з блоку.


Може хтось поставить питання, чому, мовляв, я, такий витівник, не міг спаяти сам блок живлення? По-перше, тому, що в корпусі від комп'ютерного бп місця мало для трансформатора на 50 гц, а по-друге, потрібен б бп мінімум на 2 А і 12 В, і щоб без просадок. Куплена китайська Халтуріна забезпечувала такі параметри.
Завіса. Антракт. Друга частина.
Цей замок у мене працював безвідмовно протягом 3 місяців, і працював би собі далі, якби мені не захотілося, щоб замок ще й притискав б сам двері до одвірка, і двері б закривалася не по таймеру, а відразу ж після того, як я її закрию (датчик на двері). Для цього нам потрібно не шпінгалет, а хороший, гладкий прямокутний ригель, заточений під кутом на тій стороні, якій він дивиться назовні, в під'їзд. Коротше, щоб у процесі входження ригеля в отвір в косяку, двері б щільніше прилягала до оному. Для цього ригель потрібно штовхати з великим зусиллям.
Отже, переді мною раптом вискочили двоє зі скриньки. Одним б старий дверний замок, а іншим - кроковий двигун від старого принтера, вже з редуктором. Я впевнений, що якби я надав їм можливість самостійно з'єднатися, то нічого б з цього не вийшло, тому я сам взявся до роботи. Думаю, фото краще розкажуть і покажуть:



Спробую описати процес з'єднання: я видалив все зайве із замку, залишивши тільки ригель. Потім я подовжив вал шестерні, і прикріпив до нього щось типу викрутки. Ця викрутка грала ту ж роль, що і викрутка у замкової щілини, яка обертається і відкриває / закриває замок. Різниця була лише в тому, що у замкової щілини викрутка входить в замок зовні, а у нас викрутка від шестерінки заходить зсередини. На верхній фотографії замок показаний без кришки. На цій кришці розташовується обертається втулка з деталькою, яка повертає ригель, і в цій втулці є проріз для викрутки. Забавно було б, якби цей двигун стояв би зовні, тоді взомщік б напевно довго б думав, і так і не зміг би зламати такий замок. Як сказано у Крилова - «а скринька просто відкривався».
Не знаю, чи зрозуміло я пояснив, але наступний знімок, можливо, внесе більшу ясність.

Загалом, новий електрозамок практично зібраний, залишилося тільки поставити його на двері і підключити. Для цього будуть потрібні дві схеми - драйвер для крокової двигуна (у мене це парочка L297 і L298), а також контролер, що задає логіку роботи замку.
Я вибрав Attiny2313. Схему самого драйвера я малювати не буду, її можна легко знайти в інтернеті, скажу тільки, що драйвер працює у мене в полушаговом режимі. Впринципі, різниці тут особливої немає, просто в полношаговом режимі мій мотор видає якісь - то неприємні звуки.

Логіка роботи така: В режимі очікування блимає зелений світлодіод. При натисканні на кнопку виходу, або наборі коду, на контролер надходить сигнал з кодової панелі (нормально замкнуті контакти розмикаються, на нозі виникає 5 вольт), відбувається переривання по фронту імпульсу. Функція цього переривання задає відповідні логічні рівні на входах драйвера:
1) скидає драйвер, короткочасно подає лог. 0 на вихід RESET
2) виставляє на виході DIRECTION лог. 0 (направеніе обертання двигуна)
3) дозволяє обертання (лог. 1 на виході ENABLE)
4) подає періодичні імпульси на вихід CLOCK до тих пір, поки не замкнеться кінцевий вимикач, встановлений в замку (на фотографії)
5) забороняє обертання (лог. 0 на виході ENABLE)
Після того як двері відкриті, контролер переходить в режим очікування зачинення дверей.
Пищить зумер і блимає червоний світлодіод до тих пір, поки не спрацює дверний датчик (на фото нижче). Відбувається переривання, і контролер закриває замок. Те ж саме діяння, що і при відкритті дверей, з тією лише різницею, що DIRECTION змінюється на лог.1, а обертання припиняється при спрацьовуванні вже іншого кінцевого вимикача.
Напрошується питання: навіщо було використовувати точний кроковий двигун, якщо в конструкції все одно використовуються кінцеві вимикачі?
Спочатку я хотів обійтися без них, розрахував точне число кроків, яке потрібно на відкриття, і все працювало, але мені здалося це ненадійним, оскільки якщо буде якесь перешкода для руху ригеля (сидить комар, потоки повітря і т. Д.), то контролер кроки-то відлічить, але деяка їх частина буде пропущена, і ригель не дійде до кінцевої точки. Останній, до речі, сточен як я і хотів спочатку. Двері притискається міцно, ригель йде з титанічним зусиллям. Однак всяке буває, тому краще перебдеть і трохи ускладнити конструкцію.
Нижче на фото - плати контролера і драйвера, встановлені в кожух, який вже фігурував на фотографії на початку статті.


Резистор тут потрібен для приводу для шпінгалета, який включається послідовно з ним для зниження потужності. Плата драйвера зроблена лутом, контролер розміщений на макетке.
Далі - дверний датчик і замок з мотором, встановлений на двері.


Розводка проводів під кожухом.

Ну і нарешті, загальний вигляд готової конструкції. Шпінгалет я від'єднав від приводу. Згодом можна буде взагалі від нього відмовитися.

Поки все працює безвідмовно. Так, забув сказати: Утворену дірку в дверях на місці свердловини я закрив товстим листом заліза, за допомогою вкручених зсередини саморізів. Попередньо до цього листа я прикріпив трохи спиляну замкову щілину, так що зовні все виглядає точно так само, як і раніше.
Трохи пізніше я змінив схему управління замком, трохи її вдосконаливши.
Зміни торкнулися всієї схеми, замку, ну і зовнішнього вигляду природно.
Всі елементи були поміщені в два металевих кожуха, приварених безпосередньо до дверей.

Керуюча електроніка розташовується в колишній металевої розподільній коробці з кришкою, що.


Під великим кожухом знаходиться замок КЕМЗ, який я також забезпечив тим же самим двигуном.

Більш докладно про нові схеми, а також про переробку нового замка можна почитати тут.