Изготовление электрозамка ANTAR SL21 собственными силами.
Краткое описание
Представленное устройство позволяет осуществлять электронную блокировку и разблокировку замка, предварительно механически запирая его, либо последующим механическим отпиранием, и относится к категории электромеханических замков. В таких замках главное движение засова или задвижки осуществляется механически, однако блокировка их передвижения осуществляется с помощью электронных средств. Если вас интересует создание подобного устройства самостоятельно, то «электрозамок своими руками» может стать важной задачей.
Такая система широко применяется в промышленных электромеханических замках, где миниатюрный электродвигатель передвигает небольшой блокиратор механизма, а само открывание замка, а затем и двери, происходит с помощью мускульной энергии, опусканием дверной ручки. Такие замки повсеместно используются в больших и малых гостиницах, а также организациях, где происходит коллективное использование входов и выходов.
Именно такое применение концепции несёт некоторую опасность при использовании в быту, где отсутствует централизованная система контроля и управления для возможности открывания замка при забывании ключа внутри комнаты или кабинета, так как механизм таких замков имеет защёлки, и при активной блокировке дверь свободно открывается изнутри, но захлопнув её снаружи и забыв электронный ключ в самом помещении, доступ внутрь этого помещения блокируется и его можно заполучить специальным программатором, открыв им замок, или изготовив новый электронный ключ.
В бытовых же условиях такое почти невозможно, поэтому в рассматриваемой конструкции было решено применить механизм электронной блокировки, без задействования системы защёлок, автоматически активирующей блокиратор после закрывания дверей. Для конечной версии замка была заимствована идея червячной передачи движения от электродвигателя к блокиратору, но до этого было испробовано много других способов, о которых речь будет идти в небольшом вступлении непосредственно перед рассмотрением самой конструкции устройства:
Внешний вид электромеханического замка «ANTAR SL21»
Электромеханическая часть полностью поместилась внутрь конструкции обычного врезного замка, а электронная часть представляет собой наружное устройство в виде платы контроля и управления с батарейным питанием, обеспечивающее следующие функции:
- Получение и обработку входящей информации;
- Считывание состояния подключённых датчиков;
- Логику работы в соответствии с полученными данными;
- Реверсивное управление электродвигателем;
- Измерение напряжения питания в активном режиме;
- Индикацию состояния световыми и звуковыми сигналами;
- Предупреждение при попытке несанкционированного проникновения.
Отличительной особенностью всей конструкции, по сравнению с многочисленными подобными, является возможность долговременной работы в автономном режиме от электрохимических батарей питания, и повышенная надёжность и безопасность. Надёжность заключается в том, что приняты меры по устранению возможной неприятной ситуации «остаться за дверью», а уровень безопасности увеличен путём применения определённых принципов и алгоритмов.
Предыстория
С позволения читателя, в данном разделе немного позволю себе отклониться от научного стиля изложения, и от первого лица рассказать как и с чего всё начиналось, и какие этапы пришлось пройти, что бы добраться до этого, пока ещё даже не финального варианта устройства. Если кому то не интересна повествовательная часть, то смело может пропустить её, не упустив деталей и аспектов технического понимания материала, но если кому то придётся использовать отдельные наработки конструкции, или переделывать/дорабатывать существующую, то всё же лучше прочитать этот небольшой рассказ и постараться прочувствовать весь ход событий и представить постановку задачи, её решение, и все трудности, возникающие при этом.
Началась эта история ещё в эпоху кризиса после 2008 года, когда несколько повысился уровень преступности и люди без дела набрались храбрости начиная проникать в чужие дома и квартиры. Сначала было замечено, что замок на парадной двери стал открываться даже с наполовину вставленным ключом. После смены замка, ситуация скоро вновь повторилась, и если в первый раз всё было списано на произвольный выход замка из строя, то теперь уже пало подозрение на преступную деятельность, и было решено установить более дорогой замок с хитрым двусторонним ключом, но и это не остановило ещё более хитрых взломщиков. Люди мы небогатые, да и особых пропаж замечено не было, но не оставляло в покое неприятное чувство присутствия посторонних лиц, во время покидания квартиры всеми членами семьи, что случалось нередко и на продолжительные промежутки времени.
Тогда я занимался чистой электроникой и представления не имел как работают микроконтроллеры. Тем не менее появилась задумка осуществить идею препятствовать, или предупреждать проникновение посторонних лиц на частную собственность, электронными средствами, коли имелась элементная база, некоторые теоретические знания и довольно большие амбиции. В связи с этим были куплены и использовались разнообразные дистанционные детекторы движения и проникновения, радиопередающие устройства и миниатюрные видеокамеры. Но всё это не оправдало своих надежд в полной мере, и главным вопросом оставалась превенция самого факта проникновения, для чего решительно начались работы по этому поводу, а именно разработки и созданию преграждающего механизма, управляемого электронными средствами. В качестве экспериментов был использован старый повреждённый замок, который применялся для запирания двери сарая, и который было не жалко разобрать и испортить.
Задумка сразу же была разделена на чисто электронную и электромеханическую части. Предвиделось, что с электронной частью проблем не будет, а главные сложности возникнут с механической частью конструкции. Отчасти это так и было, пока электромеханическая сторона устройства не была оттёсана и доведена до идеала, насколько это возможно, но обо всём по порядку. Исходный механизм представлял собой самый обычный стандартный врезной замок, устанавливаемый на парадные двери и имеющий выдвижной язычок с двумя оборотами ключа, и пирамидальную защёлку для удержания двери в прикрытом состоянии без выдвижения запирающего язычка. Механизм этой защёлки был повреждён и полностью удалён из корпуса, а в прикрытом состоянии дверь удерживалась предварительно установленным шариком, никак не связанным с ручкой или механизмом замка.
С самого начало планировалось полностью электронное управление механизмом, предполагающее выдвижение запирающего язычка без применения мускульной силы, средствами встроенного электродвигателя. Для этой цели, на самом ригеле была сделана неширокая прорезь, глубиной примерно 13 мм, и собран редукторный механизм на трёх зубчатых передачах, установленный затем в свободном пространстве шириной 65 мм в верхней части замка, позволяющий поступательно передвигать этот ригель взад/вперёд посредством металлического рычажка, приделанного к конечному колесу редуктора и входящего в зацепление с прорезью:
Проделанная прорезь на ригеле замка и конечное колесо редуктора с рычажком
Но силы используемого электродвигателя, который ещё помещался в оставшееся пространство, явно не хватало для выполнения такой работы, и при механических тестах язычок иногда заклинивало и дальнейшее его передвижение было возможно только с помощью внешних физических усилий. При всём этом на миниатюрный электродвигатель приходилось подавать сильно превышенное для него напряжение, что приводило к большим перегрузкам как самого двигателя, так и управляющей электроники, включая батарею питания, а одним из предъявляемых к конечному устройству главных критериев являлась его высокая надёжность и автономность.
На этом этапе закралось чувство, что разработка и воплощение механической части конструкции будет более сложным, чем электронной начинки для неё. И в какой то мере это оказалось правдой, но по времени всё же заняло меньшую часть всего периода проектирования и изготовления всего устройства в целом. Но об этом поговорим немного позже, при рассмотрении электронной части. Здесь же было решено отказаться от прямого передвижения ригеля замка электродвигателем, и даже была предпринята попытка отказаться от электродвигателя вообще и использовать соленоид, двигающий дополнительную пластину-блокиратор язычка замка. Все имеющиеся в наличии готовые варианты соленоидов не подходили по размерам и никак не влезали в узкое пространство коробки замка — его половинки просто не стягивались вместе.
С учётом данного обстоятельства был разработан чертёж собственного соленоида. Для его сборки была использована железная полоса толщиной около 1 мм, просверленная в трёх местах, и согнутая в четырёх местах по штриховым линиям, согласно чертежу. Катушка индуктивности была намотана тонким медным проводом на тонкостенном полом бронзовом стержне-трубке, с приклеенными на концах щёчками из стеклотекстолита. Весь каркас с намотанной катушкой вставлялся в отведённое для него место на согнутой полосе и удерживался стальным винтом, закручиваемым в трубку с нерабочей стороны соленоида. В качестве подвижной части был использован стальной гвоздь подходящего диаметра, после необходимой обработки свободно скользящий внутри трубки. Обработка гвоздя заключалась в его укорочении до необходимой длины, нарезании резьбы на наружном конце для закрепления блокиратора язычка, и протачивании неглубокой насечки для установки в неё полукольца, удерживающего пружину:
Чертёж разработанного соленоида
Рабочий ход собранного таким образом соленоида составил не менее 10 мм, и свободно втягивал гвоздь с привинченным блокиратором при подаче на катушку индуктивности напряжения 12 Вольт. Но после установки этого соленоида в корпус замка, сила трения подвижной части увеличилась настолько, что его тоже стало заклинивать, и всё то немалое время, потраченное на сборку редукторного механизма на шестерёнках, а затем и на разработку и изготовление соленоида, оказалось потраченным впустую, и не привело к ожидаемому результату:
Миниатюрный самодельный соленоид
После этого был сделан большой перерыв, и проектные работы были приостановлены до одного удачного момента, который подсказал ход дальнейших действий для сборки механической части устройства. Как-то раз, пересматривая старые неработающие магнитофоны, в механизме одного из них был замечен миниатюрный электродвигатель с пластиковым червячным валиком на его оси, который посредством пружинящего рычажка передвигал некоторую защёлку. Не вдаваясь в подробности идея была подхвачена и электродвигатель вместе с червячным валиком был извлечён из механизма магнитофона. По определённым причинам использовать пружину и другие детали исходного механизма не представлялось возможным, но по их подобию собственноручно был собран другой механизм.
Управляющий механизм
В качестве основания была взята металлическая пластина толщиной 1 мм, из которой должным образом была вырезана платформа. С двух противоположных сторон края этой платформы были загнуты, а в образовавшихся бортиках сделаны прорези друг против друга, для удержания и скольжения в этих прорезях блокирующей задвижки, вырезанной и изготовленной из того же материала, что и платформа. С одного конца эта задвижка была загнута для ограничения её хода, а по середине на ней была сделана небольшая петелька, служащая двум целям, но об этом попозже. Со стороны загнутого конца пластины-блокиратора на платформе был установлен ранее извлечённый из механизма магнитофона миниатюрный электродвигатель, напротив рабочей части которого из платформы был сформирован третий бортик, загнутый внутрь примерно посередине будущего механизма. Конец этого бортика служит дополнительной направляющей подвижного блокиратора, благодаря чему увеличивается его устойчивость, а к средней части бортика крепится штырь с надетыми на него пружинами и шайбами. Расположение этого штыря коллинеарное с осью электродвигателя, а второй его конец продет в отверстие на бортике, где установлен сам электродвигатель.
Между шайбами на этом штыре, зажатыми двумя спиральными пружинами, продет пружинящий рычажок, средняя часть которого проходит через червячный вал электродвигателя, а его конец закреплён на петельке в средней части блокиратора, при вращении вала осуществляя его поступательное передвижение. Упомянутая петелька при закрывании задвижки так же нажимает на миниатюрный включатель, служащий датчиком конца хода блокиратора. Такая схема позволила уверенно передвигать блокирующую пластину, при подаче на мотор напряжения в 5 Вольт, и исключить люфт и заклинивание в конце прямого или обратного хода. После достижения управляющего рычажка конца вала электродвигателя, последний может крутится сколь угодно долго почти на холостом ходу, без причинения вреда себе или деталям механизма. Далее в углу платформы было просверлено отверстие, через которое пропускалась стойка замка при установке механизма в его коробку. После помещения в корпус замка платформа плотно удерживается между его неподвижными компонентами и наглухо зажимается между крышками после окончательной сборки:
Механизм управления блокирующей задвижкой
Кроме этого в корпусе замка в определённых местах были установлены датчик поворота ключа и микро-выключатель для определения положения ригеля, так как при не выдвинутом ригеле блокирующая задвижка упрётся в препятствие, и таким образом возможно повреждение управляющего механизма. Что бы избежать этого, на небольшую плату из фольгированного стеклотекстолита был припаян микро-выключатель, а если точнее то изначально он был микро-ВКлючателем, но подгибанием его контактов он был переделан в микро-ВЫКлючатель, так как по задумке должен был подавать сигнал только при выдвинутом ригеле, но в итоге это не имеет большого значения, и по логике использование ВКлючателя в некотором случае даже предпочтительней. Датчик поворота ключа представляет собой пружинящую пластину, также припаянную к небольшому кусочку платы, которая во время открывания/закрывания замка соприкасается с толкателем ригеля и замыкает сигнал на корпус, к которому подсоединён общий провод системы. Указанные стеклотекстолитовые платки были надёжно закреплены на неподвижных стойках механизма замка. На самом ригеле, кроме проделанной ранее, была сделана дополнительная прорезь для прохождения блокирующей задвижки — в одну задвижка будет входить в случае одного поворота ключа, а в другую в случае двойного. К электродвигателю и к датчикам были припаяны разноцветные многожильные проводники, и выведены наружу в виде двух кабелей от телефонной линии: один — двухжильный с низким удельным сопротивлением для двигателя, второй — четырёхжильный от датчиков вместе с общим проводом. На платах, кроме пайки, соединения были дополнительно укреплены нанесением термоклея:
Полный механизм доработанного замка изнутри
И на последок, после успешной проверки механической части, замок был установлен на дверь, в которой предварительно было просверлено отверстие в месте выхода кабелей из замка. После выведения данных кабелей наружу, на один из них был установлен стандартный разъём RJ-4P4C, применяемый обычно для подключения телефонных трубок к аппарату, а на второй — миниатюрный разъём с двумя контактами. Для исключения повреждения кабелей в месте их вывода наружу, оба кабеля были прикреплены к корпусу двери металлическим полу-хомутиком:
Установка замка в дверь и выведение кабелей наружу
Это в основном всё, что относилось к механической части устройства, и реализация чего на первый взгляд казалась сложнее разработки и сборки управляющей электроники, но это лишь отчасти, так как продумывание остального хотя и не потребовало таких физических усилий, но заняло гораздо большее время по сравнению со сборкой действующего и надёжно работающего механизма.
Структура системы
Изначально задумывалось всю электронику собрать на логических элементах с применением силовых ключей там, где это было бы необходимо. Эта идея не казалась сложной и неосуществимой — на входе планировалось установить модуль радиоприёмника для управления замком небольшим пультом в виде брелока, как в автомобиле, ну а на выходе имеется электродвигатель, вал которого нужно вращать в одну сторону при закрывании, и в обратную сторону при открывании блокирующей задвижки. Так как используется обычный двигатель постоянного тока, то для управления его вращением необходимо просто менять полярность подаваемого на него напряжения, с чем прекрасно справляется обычный драйвер в виде H-моста, собранный на дискретных транзисторах, или с использованием специализированной микросхемы.
Для наглядности и свободной ориентации, с учётом изготовленной механической конструкции была разработана схема наличия и расположения основных её узлов, на которой обозначена полярность подачи напряжения на электродвигатель для открывания/закрывания и цвета изоляции подключённых проводников к датчикам, которые так же отмечены на схеме какие из них нормально замкнутые, а какие нормально разомкнутые:
Структурная схема замка
Казалось бы весь алгоритм работы получившегося замка можно построить на обычных стандартных логических элементах и таймерах. Но во время разработки схемы и проектирования электронной части, к конечному устройству, кроме обычного передвижения блокиратора, были предъявлены дополнительные требования, для осуществления которых на дискретной логике нужно было приложить неоправданно большие усилия. Что бы воплотить в реальность дополнительные функции и возможности, было решено взглянуть в сторону микроконтроллеров, где на одном чипе с низким энергопотреблением можно построить всю логику работы и гибко модернизировать систему в случае необходимости. В дальнейшем на будущее хотелось бы иметь возможность использования и других средств идентификации кроме радиопульта дистанционного управления, а также произвести интеграцию в центральную систему умного дома посредством панели ввода/вывода и дополнительных коммуникационных интерфейсов связи.
На основе этой идеи была начерчена блок-схема умной системы контроля и управления доступом под названием «ANTAR Smart Lock-21», в состав которой и был включён разрабатываемый электромеханический замок. Главным центральным и обязательным узлом системы является одноимённый контроллер замка вместе с исполнительным механизмом, а другие узлы, кроме панели управления, представляют собой периферию для этого контроллера, и могут использоваться по мере необходимости. Так на месте полноценного модуля бесперебойного питания может находиться обычная батарея из гальванических элементов, а в качестве блока считывания и авторизации можно использовать разнообразные считыватели контактных и бесконтактных средств идентификации, таких как чипы iButton, радиочастотные метки Em-Marine или MIFARE, устройства Bluetooth и даже смартфоны, а так же панели кодовой или биометрической идентификации. Панель ввода/вывода является опциональным узлом и может использоваться как для настройки устройства, так и для вывода информации с него, а так же выступать в роли шлюза для связи с внешним миром и центральной системой умного дома:
Блок-схема системы управления доступом «ANTAR Smart Lock-21»
Электронная часть замка
Для простоты сборки и удобства отладки прототип устройства изначально собирался с применением платы Arduino и совместимых с ней модулей, подключаемых к ней напрямую, без использования фильтров и развязывающих цепей. Двигателем замка управлял универсальный драйвер L9110S небольшой мощности, из которого использовался только один H-мост. На плате драйвера предварительно были удалены подтягивающие резисторы, так как с ними потребление тока драйвера было слишком большим, что связано с особенностью самой микросхемы драйвера. Удалён был также и токоограничивающий резистор светодиода индикации наличия питания. Напряжение одного из выходных плеч драйвера через резистивный делитель подавалось на вывод платы Ардуино для измерения уровня заряда источника питания.
Сам источник питания был составлен из четырёх гальванических элементов типа AA, что при полном заряде давало напряжение 6 Вольт, а нормальная работоспособность всего устройства сохранялась при снижении напряжения батареи питания до 4,5 Вольт.
В качестве индикации использовался модуль пищалки с активацией по высокому входному уровню, и двухцветный светодиод красного/зелёного цветов с токоограничивающим резистором по общему катоду:
Электрическая блок-схема замка «ANTAR Smart Lock-21»
Интерфейсы I2C и UART можно использовать при модернизации и доработке для дальнейшей интеграции устройства в центральную систему умного дома или добавлении дополнительных считывателей идентификатора пользователя.
Для управления замком были использованы кнопка «Выход» и радиочастотный пульт дистанционного управления от сигнализации автомобиля. Само управление организовано на прерываниях и меняет состояние замка на противоположное при каждом поступлении управляющего сигнала:
Радиочастотный приёмник и пульт дистанционного управления
Данный прототип полностью рабочий и его вполне можно использовать для готового устройства, но платы Ардуино всё же являются отладочными и не отвечают всем требования проекта, в частности по энерго-эффективности, так как потребляют немалый ток даже в режиме глубокого сна микроконтроллера. Далее была разработана схема устройства полностью на дискретных элементах с применением микроконтроллера ATmega88P.
Главным изменением, по сравнению с модульной схемой, здесь стало применение интегрального стабилизатора с низким собственным потреблением тока. и добавление резистивно-конденсаторных фильтров на нескольких входах микроконтроллера. Предусмотрены некоторые моменты по организации дополнительного питания и будущему расширению возможностей устройства при модернизации и интеграции с другими системами умного дома.
Основное батарейное питание на устройство поступает через диод Шоттки D2 с вывода 3 разъёма «Power IN», а на первый вывод этого же разъёма можно подавать дополнительное питание с сетевого адаптера. На выходной драйвер двигателя и звуковой индикатор питание поступает напрямую, а на микроконтроллер оно попадает через специализированный стабилизатор AP2127R-3.3 с напряжением стабилизации соответственно 3,3 В. Оба питания — и непосредственное, и стабилизированное — выведены на разъём «Power OUT».
На данном этапе управление замком осуществляется пока что кнопкой «Выход» и радиочастотным пультом дистанционного управления, модуль которого подключается к разъёму «Remote». Дополнительно на контактные площадки подключены некоторые выводы микроконтроллера, которые могут понадобиться в дальнейшем при модернизации устройства. Микроконтроллер тактируется от внутреннего генератора, настроенного на частоту 8 МГц, но на схеме предусмотрено подключение внешнего так называемого часового кварца для реализации учёта реального времени в случае добавления функции ведения журнала отчётов:
Электрическая принципиальная схема замка «ANTAR Smart Lock-21»
Логика работы и программное обеспечение
По своей природе Я являюсь электронщиком, и на момент начала разработки был плохо знаком с микроконтроллерами, а о том, как их программировать не имел представления вообще. Знакомый коллега по профессии сантехник, подсказал что на Ардуино можно собирать всякие умные устройства и посоветовал попробовать. Честно говоря Я немного побаивался связываться с микроконтроллерной техникой, но посмотрев что сантехник, плохо разбирающийся в электронике и совсем не умеющий программировать, играется с платами Arduino используя чужие наработки и примеры программ, решил поискать подробную информацию, а заодно и выписать плату для себя.
Почитав и изучив статьи и документацию насобирал некоторое количество интересующих программ, так называемых «Скетчей». Когда получил плату и стал с ней экспериментировать, выяснилось что большинство программ не работают так, как мне надо, а некоторые скетчи и вообще содержат ошибки, которые не получалось исправить даже после многочасового чтения форумов, где притом оказывается находятся гики, готовые помочь только за деньги и обсмеивающие каждого новичка, задавающего любые вопросы. Дело не продвигалось и в какой-то момент было решено отложить его, и досконально изучить «язык программирования» Ардуино.
Но оказалось что никакого языка Ардуино нет, а вся платформа основана на так называемом Wiring-Processing, который в свою очередь основан на C/C++. Впрочем довольно длинная и запутанная история, но эта связка помогает легко начать работу с платформой и абстрагироваться от чистого языка набором готовых конструкций и названий, а ещё много чем, скрытым под оболочкой платформы. Например такая конструкция помогает очень просто переходить от одного микроконтроллера к другому, просто выбирая нужную плату из списка и почти ничего не меняя в самом проекте. А при задействовании АЦП или UART нет необходимости в их ручной настройке для каждой платы в отдельности — просто используешь готовую функцию и всё работает как надо. Конечно у такого подхода есть и свои недостатки в виде некоторой потери быстродействия и увеличении исполняемого кода, но это плата за простоту изучения и использования, а лексемы чистого языка C/C++, или даже ассемблерные вставки, можно использовать в любой момент по мере необходимости и профессионализма программиста.
Поэтому пробежавшись по составу используемых в среде Ардуино функций, операторов и типов данных, было решено в некоторой мере изучить основы языка C/C++ для программирования микроконтроллеров. Было прочитано много материала и просмотрено много видео-уроков на эту тему, но теория теорией, а без практики всё это быстро забывается. В начале пути были сделаны некоторые наброски будущей программы, но по мере изучения её текст постоянно изменялся и совершенствовался. С тех пор прошло довольно много времени, и вот теперь, смотря на синтаксис и семантику языка программирования, всё это выглядит как очень простое и само-собой разумеющееся. Если в самом начале Я мог просто изменить какие-то значения в чужом скетче, то теперь появилась возможность проанализировать его и произвести доработку, а так же написать программу собственноручно. Прежде чем дойти до этого момента, был проделан долгий путь проб и ошибок, но программирование оказалось очень интересным занятием, радикально меняющим мышление.
И вот настал момент применить все полученные знания и сделать то, ради чего было начато изучение не только платформы Arduino, но и языка программирования C/C++. Весь текст написанной программы, вместе с комментариями и пояснениями, не превышает 500 строк, и смотря на него сейчас, он кажется очень простым и компактным, хотя и реализует весь задуманный функционал в полной мере
Основное тело программы состоит из блоков инициализации, после которого микроконтроллер засыпает глубоким сном «Power Down» находясь в энергосберегающем режиме и потребляя при этом ток не более нескольких микроампер. Основное потребление тока в таком режиме приходится на устройство управления. Пробуждение происходит по сигналу от датчика поворота ключа, или по управляющему сигналу нажатием кнопки «ВЫХОД» или кнопки открывания/закрывания на пульте дистанционного управления. В зависимости от сигнала пробуждения происходит смена состояния замка, если это возможно, или индикация поворота ключа.
Смена состояния замка будет происходить только тогда, когда удовлетворяются некоторые условия, такие как достаточный уровень заряда батареи питания и отсутствие заклинивания блокиратора, а так же должно выполнятся условие, что ригель замка находится в выдвинутом состоянии. При заблокированном замке поворот ключа будет воспринят как попытка несанкционированного проникновения, и произойдёт тревожное оповещение продолжительными свето-звуковыми сигналами в течении установленного времени. Если же блокиратор не активирован, то каждый поворот ключа будет просто сопровождаться коротким звуковым сигналом. Далее микроконтроллер снова засыпает, и так продолжается по кругу:
Блок-схема программы «ANTAR SL21»
Все вспомогательные функции и косвенные процедуры программы, а так же настройки и задаваемые параметры упрятаны в библиотеку, а в скетче происходит инициализация этой библиотеки и вызов основных функций, связанных с непосредственным управлением главными бизнес-процессами засыпания, передачи состояния и переход в режим тревоги. При закрывании передвижение блокиратора происходит до замыкания контактов датчика закрытого состояния в течении установленного максимального времени закрывания. При этом замеряется реальное время движения блокиратора, и по нему с определённым коэффициентом рассчитывается и устанавливается время для последующего открывания. Перед каждым закрыванием кратковременно измеряется уровень заряда батареи питания, и если он ниже критичного, то закрывание блокиратора не осуществляется. Во время же самого процесса открывания измерение уровня заряда батареи питания происходит периодически. В конце процессов закрывания/открывания в случае их успешного завершения выдаются соответствующие оповещающие светозвуковые сигналы. В случае же неудачи раздаётся продолжительный прерывистый сигнал, обращающий внимание пользователя на возникшую проблему.:
// Подключение библиотек #include <EEPROM.h> // библиотека для работы с памятью #include <avr/sleep.h> // библиотека засыпания микроконтроллера #include <avr/power.h> // библиотека энергосбережения // Подключение дополнительных файлов #include «parameters.h» // определение выводов и установка параметров #include «ANTARSmartLock.h» // определение используемых внешних функций // Процедура начальной настройки микроконтроллера void setup() { // Процедура начальной инициализации устройства initLock(); } // Основной цикл программы: void loop() { // Разрешение засыпания микроконтроллера: sleepEnable = !toAlarm(lockState); // Изменение состояния замка: toLock(remoteState, lockState); // Переход в энергосберегающий режим: toSleep(sleepEnable); }
Для компилирования, а также загрузки программы в микроконтроллер использовалась среда разработки «Arduino IDE 1.8.13» с интегрированным ядром «MiniCore». Текст компилировался для варианта контроллера с буквенным индексом «P» на конце, так как с этим вариантом контроллера можно добиться более низкого энергопотребления в режиме сна и у него программно можно отключить «BOD» в этом режиме, по сравнению с чипами без такого буквенного индекса. Все настройки при первом запуске устанавливаются по умолчанию и записываются в энергонезависимую память микроконтроллера. При дальнейшем запуске эти настройки каждый раз будут считываться из этой памяти. По желанию эти данные можно перезаписать переведя устройство в режим настройки, но делать это следует только полностью осознавая необходимые для этого действия. Так как прошивка чипа осуществлялась через интерфейс внутрисхемного программирования «ICSP», то загрузчик (Bootloader) не использовался:
Настройки платы и микроконтроллера в среде Arduino IDE с использованием MiniCore
Изначально же планировалось создавать не очередную игрушку, работоспособную только на макете, а полноценное рабочее и надёжное устройство, и осуществить это вполне удалось. Проект будет развиваться и дальше, так как в дальнейших планах обязательная модернизация и максимальная оптимизация по всем параметрам и компонентам, а так же работа в направлении определённой стандартизации и соответствия некоторым требованиям рынка подобных устройств. Планируется так же некоторая универсализация, что бы разработанную систему можно было использовать с различными видами замков и наборов датчиков, и даже в сейфах или воротах с прямым приводом.
Первая версия встроенного программного обеспечения находится на этапе тестирования и в скором будущем будут добавлены исправления. Кому будет нужно, могу скомпилировать программу для других Arduino-совместимых микроконтроллеров и плат с отличающейся тактовой частотой и расположением выводов подключаемой периферии. На весь проект были потрачены мягко говоря немалые усилия, и имеются надежды, что настоящие знатоки-практиканты по достоинству оценят его, а так же дадут ценные советы и наставления. Буду рад любым добрым намерениям, всем спасибо, кто потратил своё драгоценное время на прочтение хотя бы одного раздела этой статьи, желаю всем добра и здоровья.
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
Микросхемы | ||||||
U1 | МК AVR 8-бит |
ATmega88P |
1 | Главный чип | Поиск в магазине Отрон | В блокнот |
U2 | Интегральный стабилизатор | AP2127R-3.3 | 1 | LDO | Поиск в магазине Отрон | В блокнот |
U3 | Драйвер двигателя | L9110 | 1 | Мостовой H-типа | Поиск в магазине Отрон | В блокнот |
Полупроводники | ||||||
T1 | Биполярный транзистор |
S9013-H |
1 | Поиск в магазине Отрон | В блокнот | |
LED1 | Светодиод | Зелёный | 1 | Индикаторный | Поиск в магазине Отрон | В блокнот |
LED2 | Светодиод | Красный | 1 | Индикаторный | Поиск в магазине Отрон | В блокнот |
D1, D3 | Выпрямительный диод | 2 | Поиск в магазине Отрон | В блокнот | ||
D2 | Диод Шоттки | 1 | Поиск в магазине Отрон | В блокнот | ||
Конденсаторы | ||||||
C1, C2, C3 | Конденсатор | 100 пФ | 3 | Поиск в магазине Отрон | В блокнот | |
C4, C5, C6, C9, C10, C14 | Конденсатор | 1 нФ | 6 | Поиск в магазине Отрон | В блокнот | |
C7, C13 | Конденсатор | 220µ 16V | 2 | Поиск в магазине Отрон | В блокнот | |
C8 | Конденсатор | 10µ | 1 | Поиск в магазине Отрон | В блокнот | |
C11, C12 | Конденсатор | 30 пФ | 2 | Поиск в магазине Отрон | В блокнот | |
C15, C16, C17 | Конденсатор | 1µ | 3 | Поиск в магазине Отрон | В блокнот | |
C18 | Конденсатор | 220µ 6V | 1 | Поиск в магазине Отрон | В блокнот | |
Резисторы | ||||||
R1, R6, R15 | Резистор |
6.2 кОм |
3 | Поиск в магазине Отрон | В блокнот | |
R2, R7 | Резистор |
3.6 кОм |
2 | Поиск в магазине Отрон | В блокнот | |
R3, R4, R5, R10, R11, R14 | Резистор |
100 Ом |
6 | Поиск в магазине Отрон | В блокнот | |
R8 | Резистор |
47 кОм |
1 | Поиск в магазине Отрон | В блокнот | |
R9 | Резистор |
10 Ом |
1 | Поиск в магазине Отрон | В блокнот | |
R12 | Резистор |
2.2 МОм |
1 | Поиск в магазине Отрон | В блокнот | |
R13, R16 | Резистор |
220 Ом |
2 | Поиск в магазине Отрон | В блокнот | |
R17 | Резистор |
680 Ом |
1 | Поиск в магазине Отрон | В блокнот | |
Прочее | ||||||
BZ1 | Звуковой излучатель | HCM1206A | 1 | Электродинамический | Поиск в магазине Отрон | В блокнот |
But1, S1, S3 | Включатели | Нормально разомкнутые | 1 | Поиск в магазине Отрон | В блокнот | |
S2 | Выключатель | Нормально замкнутый | 1 | Поиск в магазине Отрон | В блокнот | |
Y1 | Кварцевый резонатор | 32768 Hz | 1 | Поиск в магазине Отрон | В блокнот | |
Добавить все |
Скачать список элементов (PDF)
Теги:
Как обустроить гардеробную своими руками?
Обустройство гардеробной своими руками может показаться непростой задачей, но с правильным планированием и подходом, вы сможете создать удобное и функциональное пространство для хранения одежды и аксессуаров.
Вот несколько шагов, которые помогут вам обустроить гардеробную:
-
Планирование. Определите размеры комнаты и сделайте план. Разместите штанги, полки, ящики и другие элементы хранения в соответствии с вашими потребностями и предпочтениями.
-
Материалы. Выберите качественные материалы для создания элементов хранения, таких как МДФ, ДВП, пластиковые ящики и металлические штанги.
-
Штанги для одежды. Разместите штанги для одежды на нужной высоте и сделайте их достаточно длинными для вашей одежды. Штанги могут быть съемными или стационарными, их можно крепить к стене или использовать специальные крепления.
-
Полки и ящики. Разместите полки и ящики на нужной высоте и ширине. Используйте ящики для хранения мелочей, как мелких аксессуаров, головных уборов и т.д.
-
Двери. Если в вашей гардеробной будет дверь, выберите подходящие для вас варианты. Можно использовать раздвижные двери, открывающиеся наружу, или двери-купе.
-
Освещение. Обеспечьте достаточное освещение в гардеробной. Используйте настенные светильники или подсветку для полок и штанг.
Важно учитывать, что обустройство гардеробной своими руками может требовать определенных навыков и инструментов, таких как дрель, отвертки, пилы и т.д. Если вы не уверены в своих способностях, лучше обратиться к профессионалам.