Радиоуправляемый выключатель своими руками. Часть 1 — Hardware
Этот пост — первая часть из серии рассказов о том, как можно относительно несложно сделать своими руками радиоуправляемый выключатель полезной нагрузки. Пост ориентирован на новичков, для остальных, думаю, это будет «повторение пройденного».
- Hardware выключателя
- Хочется реализовать удаленное управление светом и вытяжкой.
- Выключатели есть одно- и двух-секционные (свет и свет+вытяжка).
- Выключатели установлены в стене из гипсокартона.
- Вся проводка — трехпроводная (присутствует фаза, нуль, защитное заземление).
Второй пункт в общем-то предполагает, что надо бы сделать две разные схемы (для одно- и двух-канального выключателя), но поступим иначе — сделаем «двухканальный» модуль, но в случае, когда реально требуется только один канал — не будем распаивать часть комплектующих на плате (аналогичный подход реализуем и в коде).
Третий пункт — обуславливает некоторую гибкость в выборе форм-фактора выключателя (реально снимается существующий выключатель, демонтируется монтажная коробка, внутрь стены монтируется готовое устройство, возвращается монтажная коробка и монтируется выключатель назад).
Четвертый пункт — существенно облегчает поиск источника питания (220В есть «под рукой»).
Вводные данные ясны, можно двигаться дальше.
Принципы и элементная базаВыключатель хочется сделать многофункциональным — т.е. должна остаться «тактильная» составляющая (выключатель физически должен остаться и должна сохраниться его обычная функция по включению/выключению нагрузки, но при этом должна появиться возможность управления нагрузкой через радиоканал.
Для этого обычные двухпозиционные (включено-выключено) выключатели заменим на аналогичные по дизайну выключатели без фиксации (кнопки):
Эти выключатели работают примитивно просто: когда клавиша нажата — пара контактов замкнуты, когда клавишу отпускаем — контакты размыкаются. Очевидно, что это обычная «тактовая кнопка» (собственно так ее и будем обрабатывать).
- берем МК (atmega8, atmega168, atmega328 — использую то, что есть «прямо сейчас»), в комплекте с МК добавляем резистор для подтяжки RESET к VCC,
- подключаем две «кнопки» (для минимизации количества навесных элементов — будем использовать встроенные в МК резисторы подтяжки), для коммутации нагрузки воспользуемся реле с подходящими параметрами (у меня как раз были припасены реле 833H-1C-C с 5В управлением и достаточной мощностью коммутируемой нагрузки — 7A 250В
Радиоканал будем организовывать с помощью nRF24L01+:
Модуль, как известно, толерантен к 5В-сигналам на входах, но требует для питания в 3.3В, соответственно, в схему добавим еще линейный стабилизатор L78L33 и пару конденсаторов к нему.
Дополнительно добавим блокировочные конденсаторы по питанию МК.
МК будем программировать через ISP — для этого на плате модуля предусмотрим соответствующий разъем.
Собственно, вся схема описана, осталось только определиться с выводами МК, к которым будем подключать нашу «периферию» (радиомодуль, «кнопки» и выбрать пины для управления реле).
- Радиомодуль подключается на шину SPI (таким образом, подключаем пины колодки с 1 по 8 на GND, 3V3, D10 (CE), D9 (CSN), D13 (SCK), D11 (MOSI), D12 (MISO), D2 (IRQ) — соответственно).
- ISP — вещь стандартная и подключается следующим образом: подключаем пины разъема с 1 по 6 на D12 (MISO), VCC, D13 (SCK), D11 (MOSI), RESET, GND — соответственно).
Теперь следует определиться с тем, какие «корпуса» будем использовать. В этом месте начинает диктовать правила моя природная лень: мне очень не нравится сверлить печатные платы — поэтому выберем по максимуму «поверхностный монтаж» (SMD). С другой стороны, здравый смысл подсказывает, что использование SMD очень существенно сэкономит размер печатной платы.
- микроконтроллер — atmega168 в корпусе TQFP32 — 1 шт.
- транзистор — MMBT2222ALT1 в корпусе SOT23 — 2 шт.
- диод — 1N4148WS в корпусе SOD323 — 2 шт.
- стабилизатор — L78L33 в корпусе SOT89 — 1 шт.
- реле — 833H-1C-C — 2 шт.
- резистор — 10кОм, типоразмер 0805 — 1 шт. (подтяжка RESET к VCC)
- резистор — 1кОм, типоразмер 0805 — 1 шт. (в цепь базы транзистора)
- конденсатор — 0.1мкФ, типоразмер 0805 — 2 шт. (по питанию)
- конденсатор — 0.33мкФ, типоразмер 0805 — 1 шт. (по питанию)
- электролитический конденсатор — 47мкФ, типоразмер 0605 — 1 шт. (по питанию)
Тут я немного хитрю и подглядываю в свои «запасники» (просто выбираю то, что там уже есть в наличии). Вы можете выбирать компоненты по своему усмотрению (выбор конкретных компонентов выходит за пределы этого поста).
Поскольку вся схема уже практически «сформирована» (по крайней мере, в голове), можно приступать к проектированию нашего модуля.
ПроектированиеДля этого воспользуемся замечательной программой — EAGLE.
На мой взгляд — очень простая, но в то же время — очень удобная программа для создания принципиальных схем и печатных плат по ним. Дополнительные «плюсы» в копилку EAGLE: мультиплатформенность (мне приходится работать как на Win-, так и на MAC-компьютерах) и наличие бесплатной версии (с некоторыми ограничениями, которые для большинства «самодельщиков» покажутся совершенно несущественными).
Научить вас пользоваться EAGLE в этом топике не входит в мои планы (в конце статьи есть ссылка на замечательный и очень простой для освоения учебник по пользованию EAGLE), я лишь расскажу, некоторые свои «хитрости» при создании платы.
Мой алгоритм создания схемы и платы был примерно следюущий (ключевая последовательность):
- Создаем новый проект, внутри которого добавляем «схему» (пустой файл).
- Добавляем МК и необходимую «обвеску» (подтягивающий резистор на RESET, блокировочный конденсатор по питанию и т.п.). Обращаем внимание на корпуса (Package) при выборе элементов из библиотеки.
- «Изображаем» ключ на транзисторе, который управляет реле. Копируем этот кусок схемы (для организации «второго канала»). Входы ключей — пока оставляем «болтаться в воздухе».
- Добавляем на схему разъем ISP и колодку для подлючения радиомодуля (делаем соответствующие соединения в схеме).
- Для питания радиомодуля добавляем в схему стабилизатор (с соответствующими конденсаторами).
- Добавляем «разъемы» для подключения «кнопок» (один пин разъема сразу «заземляем», второй — «болтается в воздухе»).
- Размещаю клеммники для подключения силовой нагрузки.
- Правее клеммников — реле.
- Еще правее — элементы транзисторных ключей.
- Стабилизатор питания для радиомодуля (с соответствующими конденсаторами) размещаю рядом с транзисторными ключами (в нижней части платы).
- Размещаю колодку для подключения радиомодуля снизу справа (обращаем внимание на то, в каком положении окажется сам радиомодуль при паравильном подключении к этой колодке — по моей задумке он должен не выступать за пределы основной платы).
- Разъем ISP размещаю рядом с разъемом радиомодуля (поскольку используются одни и те же «пины» МК — чтобы было проще разводить плату).
- В оставшемся пространстве располагаю МК (корпус надо «покрутить», чтобы определить наиболее оптимальное его положение, чтобы обеспечить минимальную длинну дорожек).
- Блокировочные конденсаторы размещаем максимально близко к соответствующим выводам (МК и радиомодуля).
Теперь уже можно определиться с подключением ключей и кнопок (смотрю, какие пины ближе к соответствующим цепям и которые проще будет подключить на плате), для этого хорошо перед глазами иметь следующую картинку:
- Транзисторные ключи подключаем на пины D3, D4.
- Кнопки — на A1, A0.
После этого уже доделываю последние соединения в проекте печатной платы, «набрасываю» полигоны GND (поскольку лазерный принтер плохо печатает сплошные полигоны, делаю его «сеточкой»), добавляю пару-тройку переходов (VIA) с одного слоя платы на другой и проверяю, что не осталось ни одной не разведенной цепи.
У меня получилась платка размером 56х35мм.
Вуаля, можно приступать к изготовлению печатной платы.
Изготовление печатной платыПлату делаю методом ЛУТ (Лазерно-Утюжная Технология). В конце поста есть ссылка на материалы, которые мне очень помогли.
- Печатаю на бумаге Lomond 130 (глянцевая) нижнюю сторону платы.
- Печатаю на такой же бумаге верхнюю сторону платы (зеркально!).
- Складываю полученные распечатки изображениями внутрь и на просвет совмещаю (очень важно получить максимальную точность).
- После этого степлером скрепляю листки бумаги (постоянно контролируя, чтобы совмещение не было нарушено) с трех сторон — получается «конверт».
- Вырезаю подходящего размера кусок двустороннего стеклотекстолита (ножницами по металлу или ножевкой).
- Стеклотекстолит нужно обработать очень мелкой шкуркой (убираем окислы) и обезжирить (я делаю это ацетоном).
- Полученную заготовку (аккуратно, за края, не трогая очищенные поверхности) помещаю в полученный «конверт».
- Разогреваю утюг «на полную» и тщательно утюжу заготовку с двух сторон.
- Оставляю плату остыть (минут 5), после этого можно под струей воды отмачивать бумагу и удалять ее.
Далее плату травлю в растворе хлорного железа (не допуская недо- и пере-травливания).
Тонер смываю ацетоном.
Контроль качестваПосле этого делаю визуальный контроль (требуется хорошее освещение и лупа). Если есть какие-то подозрения, что имеется «залипуха» — контроль тестером «подозрительных» мест.
Для самоуспокоения — контроль тестером всех соседствующих проводников (удобно пользоваться режимом «прозвонка», когда при «коротком замыкании» тестер подает звуковой сигнал).
Если все-таки где-то обнаружен ненужный контакт — исправляю это острым ножом. Дополнительно обращаю внимание на возможные «микротрещины» (пока просто фиксирую их — исправлять буду на этапе лужения платы).
Лужение, сверлениеЯ предпочитаю плату перед сверлением залудить — так мягкий припой позволяет чуть проще сверлить и сверло на «выходе» из платы меньше «рвет» медные проводники.
Сначала изготовленную печатную плату необходимо обезжирить (ацетон или спирт), можно «пройтись» ластиком, чтобы убрать появившиеся окислы. После этого — покрываю плату обычным глицерином и дальше уже паяльником (температура где-то около 300 градусов) с небольшим количеством припоя «вожу» по дорожкам — припой ложится ровно и красиво (блестит). Лудить надо достаточно быстро, чтобы дорожки не поотваливались.
Когда все готово — отмываю плату с обычным жидким мылом.
После этого уже можно сверлить плату. С отверстиями диаметром более 1мм все достаточно просто (просто сверлю и все — надо только вертикальность постараться соблюсти, тогда выходное отверстие попадет в отведенное ему место).
А вот с переходными отверстиями (я их делаю сверлом 0,6мм) несколько сложнее — выходное отверстие, как правило, получается немного «рваным» и это может приводить к нежелательному разрыву проводника. Тут можно посоветовать делать каждое отверстие за два прохода: засверлить сначала с одной стороны (но так, чтобы сверло не вышло с другой стороны платы), а затем — аналогично с другой стороны. При таком подходе «соединение» отверстий произойдет в толще платы (и небольшая несоосность не будет проблемой).
Монтаж элементовСначала распаиваются межслойные перемычки. Там где это просто переходные отверстия — просто вставляю кусочек медной проволоки и запаиваю его с двух сторон. Если «переход» осуществляется через одно из отверстий для выводных элементов (разъемы, реле и т.п.): распускаю многожильный провод на тонкие жилы и аккуратно запаиваю кусочки этой жилы с двух сторон в тех отверстиях, где нужен переход, при этом минимально занимая пространство внутри отверстия. Это позволяет реализовать переход и отверстия остаются достаточно свободными для того, чтобы соответствующие разъемы нормально встали на свои места и были распаяны.
Тут опять следует вернуться к этапу «контроль качества» — прозваниваю тестером все подозрительные ранее и полученные в ходе лужения/сверления/создания переходов новые места. Проверяю, что обнаруженные ранее микротрещины устранены припоем (или устраняю припаивая тонкий проводник поверх трещинки, если после лужения трещинка осталась).
Устраняю все «залипухи», если такие все-таки появились в процессе лужения. Это гораздо проще сделать сейчас, чем в процессе отладки уже полностью собранной платы.
Теперь можно приступать непосредственно к монтажу элементов.
Мой принцип: «снизу вверх» (сначала распаиваю наименее высокие компоненты, потом те, что «повыше» и те, что «высокие»). Такой подход позволяет с меньшими неудобствами разместить все элементы на плате.
Таким образом, сначала распаиваются SMD-компоненты (я начинаю с тех элементов, у которых «больше ног» — МК, транзисторы, диоды, резисторы, конденсаторы), потом дело доходит и до выводных компонентов — разъемов, реле и т.п.