|
Миниатюрная охранная сигнализация
Статьи публикуются по мере поступления. Для упорядоченного тематического
поиска воспользуйтесь блоком "Карта сайта"
Из всех проектов, над которыми мы работали вместе, «Сверхсекретная невидимая охранная сигнализация» — один из моих любимых ( рис. 1 ). Ориентированная на детей 8–12 лет, она использует несколько обычную систему сигнализации на базе микропроцессора и добавляет значительный элемент секретности, что очень нравится детям в этом возрастном диапазоне. Для любителей, которые уже занимаются программированием микроконтроллеров PIC, этот проект займет всего несколько часов.
РИСУНОК 1. Это фанерный сейф, защищенный сверхсекретной невидимой охранной сигнализацией. Чтобы открыть крышку сейфа, пользователь может вставить небольшой кусок жесткой проволоки в отверстие диаметром 1/6 дюйма на дальней стороне, открыв внутреннюю защелку. Чтобы избежать использования петель, сторона сейфа, противоположная защелке, закрепляется парой небольших дюбелей или гвоздей, вставленных в отверстия в раме. Прежде чем мы углубимся в детали схемы, немного предыстории. Работая над этим проектом, я хотел познакомить своего сына как с инженерными продуктами, так и с общим инженерным процессом, обычно упрощенным в виде шагов: определение, проектирование, сборка и тестирование. Поэтому в первом разделе статьи также будет проиллюстрирован процесс разработки требований, который осознанно или неосознанно присутствует в любом дизайн-проекте. Это логика с точки зрения 10-летнего ребенка, но процесс, которому я пытался научить его, очень похож на тот, который я ежедневно использую в своей инженерной профессии. Читатели, не интересующиеся этой конкретной схемой, все же могут почерпнуть из этой статьи что-то более важное: необходимость познакомить молодежь страны с технологиями. Знакомство — это первый необходимый шаг на пути к карьере в технологической сфере или профессии. Родители должны научить своих детей правильно ухаживать за ценными вещами (которыми для 10-летних детей обычно являются деньги, подаренные на день рождения, любые монеты старше 20 лет и случайный засушенный жук, найденный на заднем дворе). Чтобы научить их защищать эти сокровища, им нужно иметь безопасное и стабильное место для их хранения. В изголовье кровати нашего сына встроен книжный шкаф. Из-за этого сзади остается неиспользуемое пространство. Мы с сыном построили сзади небольшой деревянный вольер, который стал основным местом хранения его ценных вещей. Корпус был построен из того же дерева, что и изголовье, и у него не было видимых петель или защелок — все это помогало ему не выглядеть дополнением к кровати. Чтобы открыть корпус, двухдюймовая жесткая проволока вставляется в маленькое незаметное отверстие, открывающее внутреннюю защелку, позволяющую снять крышку. Это было очень секретно и, следовательно, очень круто. Это было секретное место, но «а что, если кто-нибудь догадается, что оно там?» — рассуждал мой сын. "Хорошая точка зрения. Как еще мы могли бы уберечься от грабителя? — спросил я в ответ, незаметно начав фазу разработки требований, столь важную для разработки любого инженерного проекта. Мы говорили о замке. Это было бы очень легко установить на крышку, но это лишит секретности, поскольку не было бы никакой другой причины для открытого замка. Одним из решений этого может быть скрытие замка, возможно, снизу. Моя цель состояла в том, чтобы заставить его думать об альтернативных решениях (плюс, я надеялся на больше электронных решений), поэтому я отметил, что замки иногда можно взломать. Он подумал еще немного. «Нам нужна сигнализация!» была его следующая концепция дизайна — сверхсекретное хранилище нуждалось в сверхсекретной охранной сигнализации. Это решение, безусловно, будет основано на электронике, поэтому, насколько я понимаю, у нас был победитель. Выбрав основную концепцию дизайна, пришло время поработать над соответствующими требованиями к дизайну сигнализации. Опять же, мне пришлось напомнить себе, что для меня было гораздо важнее, чтобы он изучил процесс инженерного проектирования, а не просто построил схему для защиты Wheat Penny 1942 года от кражи. С точки зрения инженера, я учил своего сына ловить рыбу. Обсуждение перешло к необходимым элементам сигнализации: небольшой концевой выключатель на двери для обнаружения открытия корпуса; зуммер для звукового сигнала, если она была открыта; батарейки для питания; и, наконец, какой-то метод отключения сигнализации, когда он хотел попасть в сейф. Опять же, мы говорили об альтернативах того, как будет работать схема — по крайней мере, настолько глубоко, насколько вы можете рассматривать эти проблемы с точки зрения 10-летнего ребенка. Например, одним из возможных механизмов отключения была клавиатура. С помощью клавиатуры он мог деактивировать цепь, используя четырехзначный код, прежде чем открыть дверь. Открытая клавиатура, однако, снова устранила бы секретную часть проекта, поскольку не было бы другого объяснения наличия клавиатуры в этом месте. Ему нравилась безопасность секретного кода, но он не хотел подвергать опасности скрытый аспект ограждения. Ранее я познакомил его с невидимым миром магнетизма и, в частности, с вездесущим герконом. Он применил эти знания к текущему проекту, одновременно создав интригующее дизайнерское решение и чем очень гордился своим отцом. Первый прототип состоял из нормально замкнутого геркона внутри корпуса, последовательно соединенного с батареей, дверным выключателем и зуммером. Если вы хотите открыть корпус, просто поместите магнит в соответствующее место сбоку коробки, чтобы открыть геркон и отключить сигнализацию. Это была простая схема, которая хорошо работала. Однако на этапе тестирования мой сын понял, что любой, кто знает, где разместить магнит, может победить систему. При таком дизайне система все еще оставалась ненадежной. В ходе этого процесса мой сын осознал базовую инженерную истину: «Ваш первый проект — ваш худший проект». Проектируйте, создавайте и тестируйте свои проекты. Когда вы находите существенные недостатки в каком-либо дизайне, наступает время для еще одной итерации дизайна, где вы уделяете особое внимание устранению недостатков предыдущей итерации. «Хотел бы я иметь секретный код», — сказал он. Бинго! Проект только что превратился из чисто обучающего упражнения в то, с чем папа собирался повеселиться. Секретные коды подразумевают микропроцессоры, что для меня означало PIC. Наша новая концепция заключалась в использовании скрытого геркона в качестве входной линии для микропроцессора. PIC будет подсчитывать магнитные импульсы для каждой цифры кодового числа, и если перед открытием двери сейфа будет введен неправильный код, схема впоследствии подаст сигнал тревоги. Изначально мы планировали использовать несколько стандартный четырехзначный код. После создания второго прототипа стало очевидно, что ввод цифры таким образом занимает значительное время, поэтому длина кода была уменьшена до двух цифр (и желательно младших цифр!). Требуемое количество входов/выходов для микроконтроллера было на трех контактах: два входа для обнаружения геркона и дверных переключателей; и один выход для запуска небольшого зуммера. У меня было много устройств PIC12F629 на складе, поэтому в итоге у меня было всего шесть доступных линий ввода/вывода. Поскольку у нас был запас, я также добавил небольшой кнопочный переключатель на печатной плате, чтобы мой сын мог вводить новый секретный код в любое время, когда он захочет. (Как правило, он менял код после демонстрации сейфа другу. В конце концов, какое удовольствие иметь секрет, если ты никому не рассказываешь?) На рис. 2 показана принципиальная схема. Зуммер потребляет всего около 10 мА, поэтому его ток достаточно мал, чтобы его можно было напрямую подавать на выходной контакт PIC. Оба входа переключателя нормально открыты, но это не имеет большого значения, поскольку вы можете легко изменить логику в коде микроконтроллера.
РИСУНОК 2. Схема цепи сигнализации с несколькими контрольными точками. Первоначально SW2 предназначался для целей отладки, но теперь он стал кнопкой «обучения», позволяющей сбросить код деактивации сигнализации. Питание поступает от трех батареек типа АА, соединенных последовательно, что опять-таки поддерживает скрытый характер конструкции намного лучше, чем если бы настенная бородавка соединялась с корпусом. Три 1,5-вольтовых элемента обеспечивают только около 4,5 вольт для питания схемы; схема перечисляет 5V для простоты. Поскольку PIC12F629 имеет такой широкий рабочий диапазон, схема будет работать только с двумя батареями AA, но громкость будильника будет значительно снижена. Еще одним преимуществом использования батарейного блока является то, что он возложил на моего сына периодическую ответственность за проверку и замену батарей в цепи. (Некоторые родители, вероятно, сочтут, что учить детей ответственности с помощью батареек гораздо дешевле, чем обучать ее с помощью золотых рыбок.) Поскольку концевой выключатель для обнаружения открытия главной двери подключен к печатной плате (PCB), вся печатная плата была смонтирована на стене внутри сейфа. Это позволяет активировать рычаг концевого выключателя при открытии двери. На рис. 3 показана печатная плата с припаянными компонентами.
РИСУНОК 3. Эта схема достаточно проста, чтобы ее можно было собрать на перфорированной плате всего за час или около того. В этой версии использовалась специальная печатная плата, показанная здесь с припаянными компонентами. На печатной плате также есть геркон, но его можно легко установить удаленно, если он не находится в удобном месте для прикосновения к магниту. Мы сохранили геркон на печатной плате, так как магнит, который мы использовали, был более чем достаточно мощным, чтобы пробить фанеру толщиной 3/8 дюйма стенки сейфа. (Примечание: возможно, это первый случай в истории печати, когда слово «фанера» используется для описания конструкции сейфа.)
На рисунках 4 и 5 показаны верхний и нижний слои печатной платы соответственно.
РИСУНОК 4. Это верхний слой печатной платы.
РИСУНОК 5. Это нижний слой печатной платы.
Мне действительно нравится программировать на ассемблере. Однако я не хотел ослаблять энтузиазм моего сына по поводу проекта длительным процессом написания кода, поэтому я использовал уникальный компилятор BASIC. Компилятор выводит версию кода на ассемблере, а также шестнадцатеричную версию, которую можно использовать для непосредственного программирования PIC. Файлы, необходимые для непосредственного программирования вашего собственного микроконтроллера PIC, можно найти в загрузках статьи. Предполагая, что вы запрограммировали свой PIC кодом по умолчанию, включение схемы заставит его просто оставаться там. Пользователю необходимо ввести код через SW2 (на схеме также помечен как DEBUG). Например, если вы хотите, чтобы 21 было комбинацией сейфа, вот последовательность: Нажмите SW2 два раза и подождите. При каждом нажатии U1 будет издавать короткий звуковой сигнал зуммера, информируя вас о получении ввода. Подождите, пока пьезоэлектрический зуммер не издаст два коротких звуковых сигнала, указывая на то, что он готов принять вторую цифру кода. Нажмите переключатель SW2 еще раз, введя вторую цифру кода сейфа. Когда U1 в течение двух секунд не получает больше никаких входных данных, он записывает двузначный код в память EPROM. Таким образом, код будет сохранен, даже если батарейки в цепи удалены. Теперь, когда комбинация сейфа запрограммирована в U1, вы можете начать пользоваться системой. Как только дверь сейфа будет закрыта, это вызовет замыкание переключателя SW3. Схема автоматически активируется и готова к работе. Открытие SW3 в этот момент вызовет звуковой сигнал. Пользователь должен ввести код отключения с помощью геркона, прежде чем открывать дверь сейфа. Во время тестирования мы обнаружили, что схема иногда пропускала движения магнита, скорее всего, из-за смещения магнита над герконом. Это был еще один образовательный момент о преимуществах тестирования спроектированных систем перед их выпуском для общего использования. Версия 2.0 программного обеспечения издает короткий звуковой сигнал всякий раз, когда обнаруживает замыкание геркона при каждом движении магнита. На данный момент код в основном находится в цикле, отслеживая замыкания геркона, следуя точно такому же процессу, который использовался для ввода комбинации через SW2. Каждый раз, когда SW1 на мгновение закрывается магнитным движением, микро одновременно увеличивает счетчик первой цифры и запускает таймер. Если микро увидит еще один свайп, он снова увеличит счетчик цифр и сбросит таймер. Во время этой фазы, если PIC в течение двух секунд не видит свайпа, он предполагает, что пользователь закончил ввод первой цифры, и перейдет ко второй цифре двузначного кода. В этой точке перехода программное обеспечение генерирует еще один звуковой сигнал, информирующий пользователя о завершении ввода первой цифры и готовности к приему второй цифры. Тот же программный алгоритм используется для ввода второй цифры кода сейфа. Как только он перестает видеть замыкания язычков на две секунды, он предполагает, что код был введен полностью. Он сравнивает две введенные цифры с двумя цифрами, сохраненными во флэш-памяти. Если они совпадут, будильник отключится и вы услышите три коротких звуковых сигнала, чтобы вы знали, что код введен правильно. Теперь вы можете открыть дверь сейфа. Первоначальная цель проекта заключалась в том, чтобы дать моему сыну раннее инженерное образование, но я должен сказать, что, вероятно, узнал об этом проекте больше, чем он. Мы никогда не делали еще одну итерацию дизайна будильника, но если бы мы это сделали, я знаю о нескольких изменениях дизайна, которые были бы включены. Будущие версии, безусловно, будут включать некоторую форму схемы проверки батареи, где PIC будет время от времени считывать напряжение батареи и генерировать уникальный звуковой сигнал только в том случае, если батареи необходимо заменить. Аналого-цифровое преобразование в PIC довольно простое, и это небольшое расширение конструкции помешало бы более чем нескольким совершенно исправным батареям отдать свою жизнь для развития естественнонаучного образования. Одним из аспектов проекта, который оказался более сложным, чем я ожидал, была синхронизация последовательности ввода секретного кода. Пока мы учились вводить цифры, потребовалась некоторая практика, чтобы сделать пролистывание достаточно медленным, чтобы геркон мог замкнуться. Во время тестов с ранними версиями программного обеспечения, если мы пропустили свайп из-за смещенного магнита, код не ждал, пока вы сделаете вторую попытку. Он преждевременно перешел на вторую цифру. Поскольку кнопки отмены нет, необходимо дождаться окончания второй цифры, а затем перезапустить процесс ввода цифры с самого начала. Сократить время, необходимое для ввода кодов, можно было бы с помощью двух отдельных герконов (по одному на каждую цифру). При этом программное обеспечение было бы намного проще, потому что ему не нужно было бы использовать таймер для перехода между цифрами. Последнее серьезное изменение, которое я бы внес, касается механизма отпирания сейфа. Как уже отмечалось, конструкция требует, чтобы пользователь поместил короткий кусок проволоки в скрытое отверстие, чтобы открыть сейф. Очевидным расширением проекта было бы использование небольшого соленоида для автоматического открытия дверцы сейфа после того, как пользователь введет правильный кодовый номер. (Однако, принимая во внимание режимы отказа, такие как разряженные батареи, сейф по-прежнему должен открываться через резервное отверстие для доступа.) Если бы все эти изменения были включены, общее количество вводов-выводов для проекта по-прежнему составляло бы всего шесть линий — все еще в пределах восьмиконтактной PIC. Основным преимуществом будет гораздо более простой пользовательский интерфейс; еще один снисходительный для тех, кто учится его использовать. Я предусмотрел дополнительные монтажные отверстия для компонентов на печатной плате для гибкости; см . рисунок 6 .
РИСУНОК 6. Для большей гибкости на плате предусмотрены дополнительные монтажные отверстия для компонентов. Это позволяет использовать печатную плату в других приложениях, требующих простого восьмибитного микроконтроллера PIC. Как я отметил в начале, цель проекта заключалась в том, чтобы повысить интерес моего сына к науке и познакомить его с инженерным процессом. Проект, несомненно, стоил затраченных усилий. Пока я пишу эту статью, мой сын работает над оценкой выпускных проектов для своего класса средней школы по вводному курсу информатики. У этих студентов есть учитель со страстью к обучению и с большим опытом практического использования компьютерного кода, а также с пониманием того, что нужно, чтобы сделать компьютерный код практичным для обычных пользователей. Возможно, некоторые из его навыков восходят к моему руководству во время проекта «Сверхсекретная невидимая охранная сигнализация». Как и у большинства поставщиков печатных плат, у моего поставщика был минимальный заказ; в данном случае пять досок. Мне, скорее всего, не понадобятся дополнительные платы, поэтому я решил дать печатной плате немного больше гибкости для будущего использования в проекте, а также сделать дизайн более гибким для окончательной реализации безопасного проекта. Например, геркон монтируется непосредственно на печатной плате. У меня в корзине запасных частей было несколько разных герконов; оба имели диаметр резистора 1/2 Вт, но имели разную длину: 0,4 дюйма и 0,6 дюйма. Чтобы обеспечить разную длину, я специально разместил две контактные площадки на расстоянии 0,1 дюйма друг от друга как со стороны анода, так и со стороны катода SW1. Таким образом, вы выбираете отверстия в зависимости от длины геркона. Обратите внимание, что третье отверстие на клемме заземления геркона на самом деле должно проходить до реле уровня, используемого для обнаружения открытия двери. Рычажный переключатель физически крепится к печатной плате с помощью винтов, но электрические соединения для переключателя должны быть подключены на месте. В некоторых конфигурациях упаковки пользователь может не иметь возможности использовать запланированные места на печатной плате ни для геркона, ни для дверного выключателя. Таким образом, оба переключателя имеют следы от стандартного 0,1-дюймового двухконтактного разъема на печатной плате, что позволяет быстро и легко подключить удаленный переключатель, если это необходимо. Разъем дверного выключателя (J3) также имеет соединение для удаленного ввода питания, которое можно было бы использовать для подключения к настенной розетке для других приложений или если бы безопасный проект начал потреблять слишком много батарей. Неиспользуемые области платы были заполнены стандартными 0,1-дюймовыми сквозными отверстиями для дополнительных компонентов будущих проектов.
Список деталей
Имя |
Описание |
Примечания |
U1 |
PIC12F629 |
Микроконтроллер, версия DIP с восемью выводами |
SW1 |
Геркон |
нормально открытый |
SW2 |
Кнопка печатной платы |
Нормально открытый, на печатной плате |
SW3 |
Рычажный переключатель |
Нормально открытый, для использования в качестве дверного датчика |
С1 |
1 мкФ Радиальный |
|
Z1 |
5В пьезозуммер |
Монтаж на печатной плате, расстояние между клеммами 0,3 дюйма |
Бат1 |
Аккумуляторная батарея |
Держатель для трех батареек типа АА (всего 4,5 В) |
J1-J2 |
Разъем 0,1 дюйма, двухконтактный |
Дополнительно (см. текст) |
J3 |
Разъем 0,1 дюйма, трехконтактный |
Дополнительно (см. текст) |
Д1 |
светодиод, красный |
Дополнительно (см. текст) |
R1 |
280 Ом, 1/4 Вт |
Дополнительно (см. текст) |
ЗАГРУЗКИ