Сенсорный выключатель с флуоресцентной подсветкой

Хочу поделиться новым Ардуино проектом. Речь пойдет о сенсорном выключателе на микросхеме TTP223. Выключатель работает на микроконтроллере nRF52832, использован модуль YJ-17103 с печатной антенной и разъёмом для внешней антенны MHF4. Сенсорный выключатель работает от батареек CR2430 или CR2450. Потребление в режиме передачи составляет  ~ 7-8мА, в режиме сна  ~ 5мкА. 
В основе программной реализации устройства использован протокол Mysensors. <cut> Для желающих изучить — Документация, Serial Protocol, API, Parser | для желающих оказать содействие (contributions) в развитии проекта — Документация по Девелоп ветке). 
 
Плата сенсорного выключателя разрабатывалась в программе Диптрейс, с учетом последующего изготовления по методу ЛУТ (Лазерно-Утюжная Технология). Размеры платы 60х60мм (стандартные стеклянные панели продаваемые на Алиэкспресс имеют размеры 80х80мм). Схема была распечатана на страницах журнала Антенна и перенесена утюгом Bosсh на двухстороннюю фольгированную стеклотекстолитовую плату 1.5мм, 35мкм.
Травление производилось раствором хлорного железа, предварительно приготовленном в пропорциях 1.5ч.ложки на 250мл теплой воды. Процесс занял 15 минут.
Сверление отверстий под межслойные переходы и под крепление батарейного держателя выполнялось мини-дрелью DREMEL 3000 установленной на стойке для сверления DREMEL 220. Отверстия под межслойные переходы были просверлены сверлом 0,4мм, отверстия под держатель батареек сверлом 1,1мм. Обрезка по границам платы была выполнена той же мини-дрелью с насадкой DREMEL 540 (Круг отрезной d=32.0мм). Обрезка производилась в  респираторе.
Лужение вытравленной платы было выполнено с помощью сплава Розе, в водном растворе (1 ч.ложка кристаллизованной лимонной кислоты на 300мл воды).
 
Процесс пайки занял около часа, основная часть времени была потрачена на пропайку проволоки(луженая, диаметром 0.4мм) в отверстиях для межслойных переходов.
 
Отмывалась плата аэрозольным очистителем FLUX OFF.

Разработка корпуса устройства была выполнена в трехмерном редакторе. Размеры корпуса 78,5mm Х 78,5mm Х 12mm.

Законченная модель корпуса и крышки батарейного отсека была сохранена в формате STL, далее необходимо было выполнить подготовку этих моделей для печати на SLA принтере(добавление поддержек, ориентация). На этом этапе возникла небольшая проблема, так как область печати у бытовых SLA принтеров небольшая. Модель корпуса устройства в самой оптимальной относительно времени печати положении не вмещалась в размеры области печати. При размещении модели под 45 градусов так же дало неутешительный результат, вес поддержки получался равным весу модели корпуса. Было принято решение печатать модель вертикально, сделав поддержку на одной из лицевых сторон, заранее согласившийся с фактом пост обработки. Печать корпуса заняла 5 часов с настройкой слоя в 50 микрон. Далее была выполнена обработка с помощью очень мелкозернистой наждачной бумаги(номер не напишу, так как не знаю:)). Крышка батарейного отсека печаталась 40 минут.

Стеклянные панели на Алиэкспресс продаются с уже приклеенной пластмассовой рамкой. Снимал рамку предварительно разогрев стеклянную панель обычным феном.

Рассеиватель для led подсветки был сделан из двустороннего скотча c акриловым адгезивом 3M 9088-200. Для флуоресцентной подсветки на выбор было несколько материалов, китайская клеящаяся лента и клеящаяся бумага нарезанная в ленты отечественной компании Люминофор. Выбор был сделан в пользу отечественного производителя, по моим ощущениям светило ярче и дольше. Квадрат из бумаги с флуоресцентным пигментом был наклеен сверху на двусторонний скотч 3M 9088-200.
 
Приклеивание стекла к корпусу выключателя было выполнено с помощью двустороннего скотча с акриловым адгезивом 3M VHB 4910.
 
 
Крышка фиксировалась винтом M 1,4 Х 5мм.
Себестоимость устройства составила 890 руб.
 
Переходим к програмной части. Тут без проблем не обошлось. Оказывается сенсорные микросхемы TTP223 отлично работают при стабилизированном питании в.3.3в и не очень отлично при питании напрямую от хорошо разряженной батарейки. При старте устройства с питанием в районе 2.5v, плюс после дополнительной «просадки» при отработке презентации Mysensors микросхема TTP223(сразу после калибровки) вызывала прерывание МК так как находилась с активным триггером.
 
Была изменена схема подачи питания на микросхему (управлением питанием TTP223 c gpio МК), подведена дополнительная земля, на линиях rgb led (которые проходят по другой стороне платы ёмкостного сенсора) были заменены резисторы с более высоким сопротивлением. Так же в ПО было добавлено: активация питания для ёмкостной микросхемы после старта фреймворка Mysensors и отработке презентации. Увеличена вдвое задержка для автокалибровки микросхемы TTP223 при подаче на нее питания. Все эти изменения полностью устранили данную проблему.
Выключатель имеет сенсорную кнопку и тактовую кнопку на обратной стороне устройства. Данная тактовая кнопка будет использоваться для сервисных режимов, режим привязки по воздуху, обнуление устройства. На кнопке реализован железный анти дребезг. Линия ёмкостного сенсора и линия тактовой кнопки через диоды Шотки соединенны и подключены к аналоговому пину p0.05, так же с ёмкостного сенсора и тактовой кнопки идут линии на пины МК р0.25 и p0.27 для считывания состояний после активации прерывания на пине p0.05. На пине p0.05 активировано прерывание через компаратор (NRF_LPCOMP) по EVENTS_UP. Вдохновение для решения задачи получал тут и тут.
 
Выключатель был добавлен в сеть Mysensors, управляемой контролером умного дома Мажордомо.
PHP код для добавление в метод statusUpdate выключателя

Позже был сделан вариант с повышающим преобразователем, но это не связанно с работой ёмкостной микросхемы TTP223, тут больше желания в хорошей и равномерной подсветке при отработке нажатий на всем сроке работы от батарейки.
Github проекта(исходники, гербер файлы, код ПО) — github.com/smartboxchannel/EFEKTA_WIRELESS_TOUCH_SWITCH
 
Телеграмм чат сообщества это советы, подсказки по протоколу Mysensors, быстрое решение проблем с установкой  плат, с освоением микроконтроллеров atmega328, stm32, nRF5 в среде Arduino IDE — @mysensors_rus
 
нет
0 0 124 0
Автор 106085748011860013519@google Рейтинг 0.00 Сила 0.00
Блог Лайв им. Andrew EfektaSmartBox 0 1 RSS

0 комментариев

Добавить комментарий