Сенсорный выключатель на attiny2313 – Препарирование сенсорного выключателя LIVOLO. / Схемотехника / Сообщество EasyElectronics.ru

«Волшебная кнопка» для LED на ATtiny4 / Habr

СЕЗАМ

Был у меня когда-то давно сенсорный чудо-выключатель СЕЗАМ. Очень он мне нравился. Но времена меняются, перестал вписываться в интерьер, а потом и вовсе оказался не рассчитан на работу со всякими модными энергосберегающими лампами. Нравился мне в нём принцип управления. Короткое касание сенсора включало/выключало свет, а длительное регулировало яркость. Кому интересно — сердцем выключателя была микросхема К145АП2, аналог Siemens S576B (К145АП2 до сих пор продаются).

Под катом мой вариант эмуляции работы этой микросхемы.

Не так давно соорудил я себе над столом подсветку из светодиодной ленты в алюминиевом профиле с рассеивателем и встал вопрос о выключателе. Ставить готовое как то громоздко. Чтоб на проводе болталось — не красиво, обычный выключатель ставить — портит вид, да и особо некуда.

Решил я встроить выключатель, а за одно и регулятор яркости, в торец ДСП 16мм. Сделать его сенсорным, прикрыть наклейкой, которыми мебельщики болты маскируют.


Железо

Начал с сенсора. Попробовал на принципе переноса заряда на ATtiny13A. Вариант рабочий, но мне стало лень заморачиваться с автоподстройкой параметров и тд. Брать готовое тоже не стал.

Далее решил попробовать реализовать сенсор на библиотеке QTouch. В качестве сенсора ATtiny10. Есть готовая утилита, которая превращает ATtiny10 в сенсорную кнопку со всеми плюшками. Но на выходе бинарник и добавить свой код туда сложно. Думал что делать, бороздил просторы Internet и тут мне попалось упоминание о TTP223 — контроллере одной сенсорной кнопки. Этот вариант меня вполне устроил.

В качестве МК выбор пал на ATtiny4. Такая же мелкая как и TTP223, 16-ти битный таймер. Да и давно хотел сделать на этих тиньках что-то полезное.

В качестве ключа — P3055LD со старой материнки.


Печатная плата

При разработке печатной платы исходил из того, что отверстия в торце ДСП нужно минимально возможное, решил что диаметром 7мм будет вполне достаточно. Плата получилась 7х28мм, два слоя.

Уже потом, когда плата была спаяна, стало понятно, что в 7мм отверстие плата не влезет, минимум 9мм — не учёл высоту элементов. Идея с наклейкой как-то тоже перестала нравится. И тут на глаза попалась мебельная заглушка! Рассчитана на отверстие 10мм, а внутренний диаметр ровно 7мм! Всё совпало!

Сам пятачок сенсора на отдельной платке которая паяется в торец основной. На картинках видно.



Программа

Управляющая программа написана на ассемблере. Каждые 32мс (Watchdog Timer) происходит опрос сенсора. В зависимости от текущего состояния и длительности нажатия выполняются те или иные действия. Логика работы немного отличается от прототипа К145АП2

Если свет выключен (состояние после подачи питания):


  • Короткое нажатие включает освещение на том же уровне, на котором оно было выключено. При первом включении на максимальной яркости
  • Длинное нажатие включает свет на максимальном уровне

Если свет включен:


  • Короткое нажатие выключает освещение
  • Длинное нажатие изменяет яркость. Направление изменения яркости меняется повторным длительным нажатием

Слишком короткие нажатия (помехи) программой игнорируются. Яркость задаётся коэффициентом ШИМ (16 бит). Частота ШИМ около 122 Гц (8000000 Гц / 216 ≈ 122 Гц)

Для компенсации психофизиологического восприятия яркости освещения от реальной яркости, изменение последней происходит по участку кубической параболы

. Обычно для этого применяют таблицы, но в моём варианте коэффициент вычисляется. Коэффициент меняется с частотой ШИМ, то есть при изменении яркости каждый импульс получается своей длительности. Минимальное значение ШИМ ограничено программно.

Основное время МК спит и вместе с TTP223 потребляет около 16 микроампер. То есть схема вполне пригодна для устройств с автономным питанием.

У ATtiny4 шесть выводов. Два на питание, один по умолчанию на сброс. Два я уже задействовал. Остался один свободный. Думал как можно задействовать и его. И тут мне вспомнился новый ноут друга с трекпадом Force Touch. В качестве эксперимента решил сделать нечто подобное. Особой достоверности отклика мне не нужно, а вибромоторов от старых телефонов валяется много. В результате реализовал в программе такую функцию, что на свободном выводе, при достижении границы регулировки, появляется короткий импульс. В

К145АП2 при достижении границы регулировки происходит смена направления регулировки. Поэтому нужна была определённая сноровка, что бы убрать руку от сенсора на максимуме или минимуме. В моей реализации при достижении границы регулировка прекращается. Полное время регулировки от одной границы до другой около 4 секунд.

Код доступен на GitHub


TPI через Ардуину

Отдельно отмечу программирование МК. Мой JTAGICE3 не поддерживает интерфейс программирования TPI. Но, к счастью, добрые люди написали скетч на Ардуину для программирования этой мелочи. Не сразу но у меня всё получилось, прошивка залилась и всё заработало. Кроме ардуины нужно 4 резистора. Весь процесс расписан в скетче.


Итог

Волшебная кнопка установлена и работает как задумано. Потребляемый ток и габариты позволяют встраивать её в устройства с автономным питанием.

Ожидаемого эффекта от вибры я не получил. Тут видимо нужны эксперименты с местом установки.

В прототипе К145АП2 и аналоге Siemens S576B есть вывод «Sleep». Это такой режим, при котором яркость очень медленно падает до полного выключения. По задумке производителя, для этого дополнительный сенсор устанавливается около изголовья кровати. 16 бит таймера ШИМ позволяют реализовать такой режим.

Это из идей на будущее.


Кнопка на месте

Вроде всё.

Всем спасибо!

UPD: Как и обещал, поднял частоту ШИМ почти до 1kHz. Код на GitHub

Разработка сенсорного Z-Wave выключателя на аккумуляторе со светящимися кнопками

Второй год я разрабатываю свой уникальный Z-Wave выключатель с сенсорными кнопками, который удовлетворит меня по функционалу, дизайну и стоимости изготовления.

С самого начала была цель сделать 4-х кнопочный выключатель на аккумуляторе размера 80х80 мм максимально тонким, сенсорные кнопки должны быть большие и при касании светиться целиком, а не только небольшой кружочек, как у всех. В итоге получился стильный тонкий выключатель, способный управлять любыми устройствами умного дома.

Во время разработки я решал множество задач по схемотехнике, дизайну корпуса и выбору материалов. Особенно интересным является создание самой сенсорной кнопки, которая светится целиком, но обо всем по порядку.

  • Функционал
  • Дизайн корпуса
  • Разработка печатной платы
  • Изучение рассеивателей света
  • Подбор материалов рассеивателя
  • Использование

Видео работы сенсорного выключателя в конце.

Функционал


Требовались следующие возможности выключателя:
  • Включать/выключать свет
  • Регулировать яркость освещения

4 кнопки управляют 2-мя группами освещения. Верхние кнопки при удержании плавно увеличивают яркость, при коротком нажатии включают свет. Нижние кнопки при удержании плавно уменьшают яркость, при коротком нажатии выключают свет.

TODO

Сделать, чтобы каждая кнопка работала в режиме переключения, нажал — вкл, нажал — выкл. Это позволит управлять 4-мя группами освещения.

Дизайн корпуса


Мне понравилась идея с 4-мя большими сенсорными кнопками компании Basalte, и я решил развить её в своем направлении.


Рис. 1 — KNX выключатель Basalte

Я хотел, чтобы при касании кнопка светилась сама целиком, а не отдельный светодиод. Поэтому корпус представляет из себя узкую рамку с вырезами для 4-х сенсорных кнопок. Продуманы замочки для крепления задней крышки и углубления для установки магнитов. Крепежная пластинка приклеивается к стене на двухстороннюю клейкую ленту и к ней уже крепится сам выключатель с помощью магнитов. Удобно использовать выключатель как переносной пульт и удобно заряжать аккумулятор.


Рис. 2 — Корпус сенсорного выключателя

Все детали корпуса разработаны в Blender и распечатаны на 3D принтере белым ABS пластиком.


Рис. 3 — Разработка корпуса сенсорного выключателя в Blender

Разработка печатной платы


Печатная плата разработана в Proteus. Это вторая версия, в ней используется одна сенсорная микросхема TTP224 на 4 канала. В первой версии использовалось 4 шт. одноканальных TTP223, разницы в работе никакой, но при использовании TTP224 меньше компонентов паять.


Рис. 4 — Разработка печатной платы сенсорного выключателя в Proteus

Главными компонентами на плате являются:

  1. Z-Wave радио чип
  2. Аккумулятор Robiton 800мАч
  3. 3.3V Step-Up/Step-Down Voltage Regulator S7V8F3
  4. Микросхема заряда аккумулятора TP4056
  5. Схема переключения питания с аккумулятора на USB
  6. Кнопка калибровки
  7. Микросхема сенсорных кнопок TTP224

Z-Wave чип работает в диапазоне 2.7В — 3.6В, аккумулятор выдает до 4.7В, поэтому я использовал повышающе-понижающий преобразователь 3.3В Pololu S7V8F3. Для заряда аккумулятора использовал дешевую и многим известную микросхему TP4056, ток заряда настроил на половину емкости аккумулятора 400мА. При подключении зарядки, питание устройства переключается на USB и аккумулятор спокойно заряжается, схема переключения питания реализована на одном транзисторе и диоде. Кнопка при нажатии сбрасывает питание регулятора и вся схема перезагружается, это нужно для калибровки TTP224. На лицевой части платы находятся 4 площадки сенсорных кнопок размером 40х40 мм и 4 светодиода. Производство заказано в Seeedstudio, качеством и ценой очень доволен.


Рис. 5 — Плата сенсорного выключателя

Самым главным компонентом в сенсорном выключателе является контроллер сенсорной кнопки. Я провел тестирование 3-х контроллеров и у каждого оказались, как плюсы, так и минусы. Результаты тестирования 3-х контроллеров сенсорных кнопок:

TTP224

Плюсы: Дешевый, на текстолите с одной стороны могут быть площадки сенсоров, на обратной стороне другие компоненты, но при этом сильно снижается чувствительность. Настройка выходного сигнала: высокий/низкий уровень, настройка режима кнопки: переключение/включение. 4 канала.

Минусы: Если с обратной стороны сенсорной площадки находятся дорожки, то плохо работает сквозь оргстекло более 3 мм и еще хуже если на стекло наклеена пленка, не реагирует на небольшое касание, только нажатие всей подушечкой пальца, даже с настроенной максимальной чувствительностью (Cs = 1pF, диапазон 0-50pF, чем меньше, тем чувствительнее).


Рис. 6 — TTP224 на готовой плате

AT42QT1011

Плюсы: Реагирует на небольшое касания сквозь 3 мм (и больше) оргстекло, если настроить чувствительность на среднем уровне (Cs = 22nF, диапазон 2-50nF, чем больше, тем чувствительнее). Автоматически подстраивается под толщину стекла.

Минусы: Под сенсорной площадкой не должно быть никаких дорожек, ни питания, ни земли, иначе снижается чувствительность. Выход только высокий уровень. 1 канал только.


Рис. 7 — Тестовая плата AT42QT1011

MTCh205

Плюсы: Реагирует на небольшое касания сквозь 3 мм (и больше) оргстекло. Защита от помех с помощью земли вокруг и под площадкой сенсоров, автоматически подстраивается под толщину стекла. 5 каналов.

Минусы: Долго реагирует на нажатие и долго понимает, что палец отпустили, порядка 0.5 секунд. Если удерживать палец на площадке сенсора, то через 9 секунд выключается светодиод, происходит калибровка. Сенсорную площадку требуется закрывать землей со всех сторон, в том числе и под площадкой, иначе срабатывает в любой точке касания текстолита.


Рис. 8 — MTCh205 на макетной плате

Выбрал TTP224 (4 канала), потому что на одном текстолите с одной стороны можно разместить все компоненты, а на другой стороне — площадки сенсоров. Пожертвовал чувствительностью, через 3 мм оргстекло срабатывает если коснуться целиком подушечкой пальца, хотя это можно трактовать, как защита от случайного касания :). Если под площадкой сенсора нет дорожек, то реагирует сквозь 4 мм оргстекло при малейшем касании.

TODO

Изготовить сенсорный выключатель с двумя текстолитами, первый — для сенсорных площадок, второй — для всех компонентов. Добавить вибромотор и бузер. Реализовать функцию слабой подсветки при срабатывании встроенного датчика движения.

Изучение рассеивателей света


Стояла задача — равномерно засветить площадку размером 40х40мм, которой касается палец. Из-за ограничений размера корпуса, получилось впихнуть только по одному светодиоду для каждой площадки.

Я изучил устройство нескольких сенсорных выключателей: Livolo, Vitrum, HTTM touch button. В каждом использовался свой подход к равномерному рассеиванию света.

Vitrum

Итальянский Z-Wave выключатель с дорогим декоративным стеклом. Отражатель-рассеиватель реализован следующим образом: на прозрачном оргстекле нарисован обод светоотражающей краской, сбоку подсвеченный одним светодиодом. Со стороны светодиода краски меньше нанесено, тем самым достигается равномерное свечение по всему ободу. Сверху устанавливается декоративное стекло.


Рис. 9 — Рисунок светоотражающего обода на оргстекле

Livolo

Бюджетный китайский сенсорный выключатель. На плате располагается 2 светодиода: красный и синий, светодиоды светят внутрь замутненного полупрозрачного пластика, из-за частых преломлений света внутри получается равномерное свечение всей поверхности, на текстолит нанесена светоотражающая краска.


Рис. 10 — Сенсорная часть выключателя Livolo

HTTM — HelTec Touch Model

Готовый сенсорный модуль с Noname микросхемой. Отражатель-рассеиватель состоит из 3-х частей: текстолит с луженой площадкой, оргстекло для торцевой подсветки с множеством микроямок, белая мутная пленка.


Рис. 10 — Разобранный сенсорный модуль HTTM

Подбор материалов рассеивателя


Рассеиватель из матового оргстекла

Обычное прозрачное 3 мм оргстекло обработал мелкой шкуркой с двух сторон для придания матовости. Такое оргстекло равномерно рассеивает свет по всей поверхности. Толщина материала позволяет комфортно работать с любой сенсорной микросхемой. Но на поверхности видны мелкие царапины, что влияет на эстетический вид.


Рис. 11 — Матированное оргстекло

Рассеиватель из оргстекла для торцевой подсветки (LGP) и молочного оргстекла
Использовал 2 разных оргстекла толщиной по 2 мм, бутерброд из двух элементов получился 4 мм. Нижнее оргстекло для торцевой подсветки, благодаря нанесенным белым точкам, равномерно рассеивает свет по всей поверхности. Верхнее молочное оргстекло дает мягкое свечение и красивый вид, при этом яркость заметно ниже и увеличивается вес выключателя.


Рис. 12 — Оргстекло для торцевой подсветки и опаловое оргстекло

Панель лайтбокса от компании Ledison
Российская компания Ledison предоставила на тест панель от лайтбокса состоящую из 3-х компонентов: светоотражающая подложка, специальное светорассеивающее 3 мм оргстекло (на вид прозрачное, но внутри видна зернистая структура), прозрачная защитная пленка. Верхнюю пленку я заменил на матовую Oracal 8500 и получилось хорошее рассеивание. Но при работе с выключателем пленка выглядит не солидно, может поцарапаться и её трудно приклеить без пузырьков.


Рис. 13 — Бутерброд для лайтбокса от Ledison

После всех тестов в выключателе применил светоотражающую подложку от Ledison, а их оргстекло сделал матовым. На данный момент это лучший вариант для меня, и равномерно рассеивает, и яркость не снижена, и толщина подходящая.


Рис. 14 — Корпус, плата и рассеиватель

Использование


Первые тестовые версии выключателей я изготовил 2 года назад и имею уже опыт их использования, один установлен около санузла на высоте 120 см и удобен для детей, второй располагается около кровати и управляет ночником, люстрой и LED подсветкой. Т.к. все кнопки разделены перекрестием их легко нащупать в темноте и нажать нужную. Световой фидбэк точно говорит какая кнопка нажата. По сравнению с кнопочными выключателями минусов не обнаружил.


Рис. 15 — Сенсорный выключатель на аккумуляторе в деле

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


P.S.


На данный момент в Z-Wave чипе используется прошивка от 4-x кнопочного брелока Z-Wave.Me Key Fob, удобно, что она уже есть готовая и хорошо работающая, неудобно, что не все функции есть, которые хочется. Единственным нерешенным вопросом осталась засветка уголков в центре, нужно закрывать фольгированной пленкой, но пока думаю куда лучше лепить фольгу, на корпус внутри или на оргстекло.

Далее в планах перейти на свободно программируемый Z-Uno Module для реализации всех программных хотелок.

Сенсорная клавиатура — Проекты — AVR project.ru

 Принцип работы сенсорной клавиатуры заключается в измерении паразитной ёмкости сенсора. Сенсор имеет определённую ёмкость, которая заряжается через высокоомный резистор. Прикасаясь к «сенсору». Мы меняем его емкость, и время заряда немного увеличивается. Для того, что бы «засечь» нажатие, необходимо просто измерять время заряда «сенсора» и сравнивать его с эталонным. Получается всё просто!


Разница времени заряда (Т2 и T1) дает возможность определить наличие прикосновения к сенсору

Тогда пробуем!

Итак, алгоритм работы известен и описан на просторах интернета:

 
  • первым делом разряжаем «сенсор» подключая его к минусу питания. Для этого переводим порт на выход и подаём на него «0»
  • далее, переводим порт на вход и запускаем таймер. «Сенсор» заряжается через резистор 1Мом, а таймер считает время заряда
  • после того на PINe появилась лог «1», останавливаем таймер


Родился такой код:

Config Portd.0 = Output
Waitms 5
Config Pind.0 = Input                        ‘переводим ряд в состояние приёма
Start Timer0
Bitwait Pind.0 , Set                         ‘ждём, когда зарядится ёмкость кнопки
Stop Timer0                                                                


 Теперь нам осталось только сравнивать время заряда с начальным, и если оно заметно превышает, то отреагировать на это:

S = S + 10                                    ‘время заряда пустого сенсора
If T > S Then …                            ‘реагируем на прикосновение

 Т.е. при замере пустого сенсора , время заряда присваиваем переменной S. Увеличиваем на 10. При этом числе, сенсор устойчиво срабатывал через довольно толстую плёнку от канцелярской папки. Уменьшая это число повышаем чувствительность, но естественно уменьшаем помехоустойчивость., поэтому в зависимости от лицевой панели, нужно стремиться к увеличению!

 После удачных экспериментов на Attiny 2313, я решил пойти дальше, и реализовать полноценный драйвер сенсорный клавиатуры. 

Итак задача:

  1. драйвер должен обрабатывать не менее 10 сенсоров (а лучше 12, как на всех клавиатурах)
  2. индикация прикосновения каждого сенсора
  3. передача кода сработавшего сенсора 
 Да , но у Attiny 2313 можно использовать 7+8+2=17 ног, а необходимо 12 сенсоров + 12 индикаторов + хотя бы 2 на вывод информации, и ещё попищать бы!

 Будем прибегать к хитростям. Индикацию сделаем по стандартной схеме чарлиплексинга. Для этого нам понадобится всего четыре ноги. Всё равно не хватает. Значит, будем придумывать матрицу «сенсор». Из 12 сенсоров нам нужно 3 столбца и 4 строки. Принцип также известен:  заряжаем сначала первые четыре сенсора, подключая резистор 1Мом и замеряем их время заряда, Потом второй ряд, и третий. 
 И того на одном порте остаётся четыре свободные ноги, через которые будем выводить информацию. Кому как удобно, я просто вывел двоичный код кнопки.

Получился такой драйвер.


Код программы:


$regfile = «attiny2313.dat»
$crystal = 8000000                                     ‘работаем на частоте 8 мГц
Dim E As Byte , S(3) As Byte , T(3) As Byte , A As Byte , F As Byte
Config Porta = Output

Config Timer0 = Timer , Prescale = 1

Stop Timer0
Timer0 = 0
$include «подсветка 2.bas»                              ‘подключаем приветствие
Portb = 0
Ddrb = &B00000000                                       ‘отключаем порт В
‘#############################################
‘ в начале программы замеряем ёмкость  кнопок и запоминаем
Portd = &B0001
For A = 1 To 3                                   ‘проверяем поочереди все кнопки в ряду
S(a) = 0
For E = 0 To 50                                  ‘количество проверок
Gosub Sensor
If S(a) < T(a) Then S(a) = T(a)                  ‘и запоминаем максимальное значение
Next E
S(a) = S(a) + 10                                  ‘определяем порогсрабатывания
Next A
Sound Porta.1 , 1000 , 200
‘#############################################
‘ ОСНОВНОЙ ЦИКЛ
‘#############################################

Do
For E = 0 To 3                                   ‘поочерёдно подключаем ряды
Portd = Lookup(e , Dta)
For A = 1 To 3                                   ‘в каждом ряду проверяем строки
Gosub Sensor
If T(a) > S(a) Then                              ‘и если сработала
F = E * 3                                         ‘вычисляем номер кнопки
F = F + A
Gosub Knopka
End If
Next A
Next E
Loop

‘*****************************************
‘замер состояния кнопок
Sensor:
Ddrd = &B1111111                                  ‘PortD на выход,
Waitms 5                                         ‘и разряжаем ёмкость сенсоров
Ddrd = &B0001111                                  ‘переводим строки в состояние приёма

 Start Timer0
Select Case A
Case 1 : Bitwait Pind.6 , Set                   ‘ждём, когда зарядится ёмкость кнопки
Case 2 : Bitwait Pind.5 , Set
Case 3 : Bitwait Pind.4 , Set
End Select
Stop Timer0
T(a) = Timer0                                    ‘запоминаем ёмкость кнопки
Timer0 = 0                                       ‘переводим входы на выход
Ddrd = &B1111111
Portd.4 = 0
Portd.5 = 0
Portd.6 = 0                                       ‘разряжаем ёмкость кнопок

Return
‘******************************************
Knopka:

Waitms 50
Gosub Sensor                                     ‘ещё раз перепроверяем
If T(a) > S(a) Then                              ‘через время
Select Case F                                   ‘и выдаём код
Case 1:
 Ddrb = &B11110011
 Portb = &B00110010
Case 2:
 Ddrb = &B11110110
 Portb = &B00100100
Case 3:
 Ddrb = &B11111100
 Portb = &B00011000
Case 4:
 Ddrb = &B11110011
 Portb = &B01100001
Case 5:
 Ddrb = &B11110110
 Portb = &B01010010
Case 6 :
 Ddrb = &B11111100
 Portb = &B01000100
Case 7:
 Ddrb = &B11111010
 Portb = &B10011000
Case 8:
 Ddrb = &B11110101
 Portb = &B10000001
Case 9:
 Ddrb = &B11111001
 Portb = &B01110001
Case 10:
 Ddrb = &B11111010
 Portb = &B11000010
Case 11:
 Ddrb = &B11110101
 Portb = &B10110100
Case 12:
 Ddrb = &B11111001
 Portb = &B10101100
End Select
Sound Porta.1 , 200 , 200
Waitms 100
End If
Ddrb = &B11110000
Return

Dta:
Data &B0001 , &B0010 , &B0100 , &B1000

Программа отрабатывает довольно чётко, каждое нажатие.

 Основной критерий – это комплектующие и печатная плата. (Всё-таки сенсор!) Резисторы и диоды, желательно новые и с одной линейки, (партии).

 Памяти, код, занимает не много, поэтому драйвер вполне можно реализовать в составе другой программы, а можно использовать и отдельно.

 На вывод кода отведено четыре вывода, что вполне достаточно для любых способов. 

 Ну и преимущества сенсорной клавиатуры очевидны! Кроме «вечности», она облегчает изготовление лицевых панелей устройств!


 фото плат:

                                               Основная плата                                                                                      Плата сенсоров        

  Еще одним плюсом будет служить то, что дизайн клавиатуры будет ограничен только вашей фантазией:

Файлы к проекту:

Материалы статьи любезно предоставлены товарищем kip96

Недорогие сенсорные выключатели

Очень часто при изготовлении или модернизации осветительных приборов и подсветки встает вопрос об их включении/отключении

Сперва покупал обычные выключатели для бра на провод. Затем накупил миниатюрных выключателей на ТАО

И вот случайно мне попался обзор про копеечный сенсорный выключатель

Сделав анализ предлагаемой в китайшопах продукции и заказав несколько штук на пробу, произвел небольшую классификацию сенсорных устройств

Типы недорогих сенсорных выключателей

«1-WAY» выключатели. Имеют два состояния: отключено/включено. Работают на микросхеме TT6061B или каком то ее китайском аналоге.

«3-WAY» выключатели. Имеют четыре состояния отключено/низкая мощность/средняя мощность/полная мощность переключаемые последовательно. Работаю на микросхеме TT8486A/TT6061A, представляющей собой симисторный диммер. Естественно, что работать диммер будет только с лампами накаливания. Светодиодным драйверам, нормально работающим при пониженном напряжении, вполне хватает для работы и малой мощности, но отключения света происходит в «три клика».

По мощности выпускаемые устройства бывают «1A 60Вт» и «3A 100Вт». Амперы там китайские, а вот максимальная нагрузка ближе к истине.

В 1А модели стоит маломощный симистор MAC97 в корпусе TO-92 и максимальным током коммутации 600мА

 

В «3-х амперном» собрате стоит более мощный симистор BT134 600E. Этот симистор хоть и рассчитан на максимальный ток 4A, но в корпусе SOT82 без радиатора вряд ли сможет управлять нагрузкой более 1А

Заказ в интернете

Почему то в большинстве китайских магазинов представлены более мощные модели только «3-WAY», которые не имеет смысла ставить на светодиодные светильники.

Но это не беда. Покупаем модель «1-WAY 1A». Я взял на АЛИ менее $4 за 5 шт 

Про странный трек от продавца на данный товар я написал в своем обзоре  покупки на миське

 

Модернизация

На платах таких выключателей предусмотрены отверстия установки как маломощных, так и мощных симисторов. Причем, судя по надписям на плате — вполне «взрослому» BT136 в корпусе TO-220

 

Не так давно для силовой коммутации в контроллере управления вентилятором и люстрой  покупал на EBAY симисторы BT137 600E 

Замена симистора — минутное дело:

И вот результат — имеем выключатель «1-WAY 5A» по китайской классификации 🙂

 

Пришлось по другому загнуть электролитические конденсаторы, чтобы они не задевали корпус симистора, на котором, увы, сетевой напряжение

 

 

Подключаю. Все работает. Симистор на 20 Вт не греется. Если нужна большая мощность, можно посадить симистор на радиатор. 25см2 позволит управлять примерно 800Вт нагрузки. Правда корпус придется искать другой. А чтобы радиатор изолировать от силовой нагрузки нужно, при креплении к симистору использовать специальные изолирующие шайбы и прокладки для корпуса TO-220

 

Я их тоже покупал на EBAY

Пластиковые шайбы — изоляторы — $1.42/100
Силиконовые изолирующие прокладки — $0.99/100

Результат

Использовал устройство в выключателе подсветки полочки/зеркала. Сенсор вывел на вертикальную металлическую штангу.

Использовал в настольной лампе. Сенсор соединил прямо с радиатором

Поставил на управление подсветкой раковины с сенсором на алюминиевом профиле подсветки.

Во всех случаях был достигнут «ВАУ эффект». Некоторые гости подолгу баловались и говорили «О магия» не смотря на наличие сенсорных телефонов в кармане.

На кота сенсор не реагирует. Видимо шерсть мешает Носом кота нажимать не пробовал. Он итак был недоволен

Литература

 

 

 

 

со своего сайта.

Сенсорный выключатель на модуле TTP223

Ввиду мелкого размера микросхем TTR223 (datasheet), данный сенсорный модуль является довольно удобным выходом для тех, кто не хочет связываться с распайкой детали в корпусе SOT-23. О модуле и примере его практического применения можно прочитать ниже.

Предыстория:
пару лет назад на у китайцев был приобретен настенный двухрожковый светильник, в данный момент он не продается. Подобных изделий на Али предлагается огромное количество. Так и лежал он, так сказать про запас, до тех пор, пока не решил использовать его при ремонте ванной комнаты. Провод для светильника, перед укладкой плитки, в стену заложил, но затем встал вопрос как включать светильник? Работать он должен отдельно от основного света на потолке, т.к. там стоят яркие лампы, а когда лежишь в ванной хотелось бы мягкий рассеяный свет. В коридоре стоит трехклавишный выключатель (туалет, коридор и верхний свет в ванной), городить туда еще один отдельный выключатель для светильника смешно. Сначала думал вставить в корпус светильника выключатель на шнурке, но размеры не позволили этого сделать. Решение стало очевидным — подавать на светильник 12В с вынесенного блока питания, установить светодиодные лампы DC12 и сделать сенсорное включение прикосновением по корпусу, для чего и был приобретен описываемый модуль.

Саму микросхему уже здесь описывал koltinov, поэтому я опишу только сам модуль. Модуль представляет собой распаяную микросхему с минимальной обвязкой из конденсатора и светодиода с резистором, извещающего о срабатывании сенсора.
Так же на модуле есть пары выводов под запайку А и В. Пара А — служит для выбора уровня на выходе модуля при срабатывании — по умолчанию высокий уровень, в запаянном состоянии — низкий. Пара В — для управления типом срабатывания — по умолчанию кнопка, в запаяном состоянии триггер. Кроме того, рядом с микросхемой TTP223 имеется место под установку конденсатора от 0 до 50 пФ для снижения чувствительности сенсора, сюда же подпаивается проводок для выносного сенсора.

Таким образом, я запаял пару В (нужен высокий уровень для открытия N-канального мосфета), поставил конденсатор 0805 на 30пФ и сначала сделал вывод на корпус светильника. Не тут то было, из за размера корпуса нет четкого срабатывания, включение происходит крайне не стабильно, в том числе в зависимости от того, раскрыта кисть или вытянут один палец — может сработать при положении руки за 20 см от светильника, а может не сработать при прямом прикосновении. Установка конденсаторов различных номиналов ничего не дала, чувствительность менялась, но нестабильноть работы так и оставалась. Пришлось винтик и декоративную шишечку, с помощью которых светильник крепиться к внутреннему кронштейну (а тот соответственно к стене) изолировать от основного корпуса с помощью прокладки из текстолитовой шайбы, силиконовой резинки (от какого то винчестера) и кусочка термоусадки.

Вывод на сенсор подпоял к этому винтику. Модуль срабатывает четко, только от прикосновения к маленькой шишечке (человек со стороны и не поймет как лампу включить). Т.е. при его использовании не следует стремиться к сенсору большой площади. Платка легко помещается внутрь корпуса, туда же сунул 7805 для запитки модуля и мосфет 60N03L в качестве реле для светодиодных ламп, все оголенные проводки и выводы покрыл цапон-лаком и приклеил изнутри к корпусу на термоклей.

Найти подходящую лампу оказалось не так просто, абажуры устанавливаются на лампы и держатся за счет ее формы, а ламп на DC12В с цоколем Е14 в форме капли можно сказать и нет. Хотел уж было лампочку на 220 В переделывать, но потом нашел эти, взял на 3Вт, 4000К. При 12В потребляет 0,26 мА, что соответствует заявленной мощности.

Судя по коробочке, производитель изготавливает лампочки всеразличных цветов, мощностей, на разные цоколи и напряжения

В качестве источника питания применил блок питания на 12В 1А, его описывал Kirich в своем обзоре.


Заодно сделал подсветку под тумбой с умывальником. Я как то описывал микроволновый датчик движения, применял его тогда для скрытой установки за пластиковой дверцей. Но в данном случае из под тумбы есть прямая видимость, поэтому использовал всем известные ультразвуковой датчик SRF-05, Ардуино Nano и тот же мосфет 60N03L, что получается в два раза дешевле. В качестве источника света использовал такой светодиодный модуль

Я его не покупал, а взял с рекламного проспекта, с выставки

Для точечной скрытой подсветки такие модули самое то, мне понравилось. На Али наверняка есть что то подобное.

По настоящему свет гораздо мягче чем на фото, при этом видно все помещение, если зашел что то взять или положить — основой свет можно не включать. На ощупь он греется слегка, сзади металлическая пластина, приклеил к холодной плитке на стену и никакого перегрева. Подобные модули рекомендую всем, гораздо удобнее лены + гидроизоляция.

Схема в светильнике:

Переделка кнопочного радио выключателя в сенсорный / Z-Wave.Me corporate blog / Habr

Давно мечтал дома установить сенсорный выключатель, мечта сбылась, когда мне подарили недорогой сенсорный выключатель FD Electronics. Выглядит красиво, работает отлично. Но это просто выключатель, а у меня умный дом на базе Z-Wave и конечно я захотел интегрировать его в свою систему.

У FD Electronics, Livolo и DeLumo есть радио выключатели работающие на частотах 433МГц и 868МГц соответственно, но интегрировать их в умный дом не получится. Эти выключатели работают только с пультами этих же производителей, управления с компьютера нет, обратной связи нет, т.е. если кто-то включит свет я об этом не узнаю.

Было принято решение скрестить ежа с ужом мой кнопочный радио выключатель Z-Wave.Me Dimmer с сенсорным выключателем FD Electronics. Изучив схемы обоих выключателей, я решил выкинуть силовую часть сенсорного выключателя и использовать только корпус и сенсорную панель, а от своего Z-Wave выключателя взять силовую и радио часть. Суть переделки заключается в замене механических кнопок на сенсорные, этот способ подходит к выключателю любой технологии.


Самой популярной микросхемой для создания сенсорной кнопки является TTP-223. Главной особенностью TTP-223 является способность автокалиброваться. При подаче питания микросхема измеряет емкость на ножке сенсора I и принимает её за 0, это удобно так как не нужно ничего настраивать. При касании к сенсору, на ножке Q появляется напряжение, туда подключаем нагрузку (LED, реле, оптопара).

С помощью ножек TOG и AHLB настраивается реакция на касание к сенсору. Я настроил режим включения, соединив TOG и AHLB с землей, это означает, что когда я касаюсь сенсора на ножке Q появляется напряжение, когда отпускаю сенсор, напряжение пропадает. Еще можно настроить режим переключения, тогда каждое касание переводит ножку Q в противоположное состояние.
Для теста TTP-223 на макетке собрал схему по управлению реля для Arduino. Прекрасно работает.

Чтобы имитировать нажатия физических кнопок, я использовал оптопару PC817C. Оптопары я припаял вместо кнопок на мой диммер. При подаче напряжения на оптопару, она замыкается, для диммера это как будто нажали кнопку. С помощью ЛУТ была сделана плата-переходник, с одной стороны схема сенсора, с другой оптопары.

Соединив весь этот бутерброд у меня получился сенсорный Z-Wave диммер. На все тесты и сборку ушло 2 вечера. Выключатель установил в коридоре, где им управляет датчик движения, а если нужно принудительно выключить или включить на определенный уровень яркости, то можно легонько прикоснуться к прекрасному!

PS. Полученный опыт я решил использовать для создания сенсорного выключателя на батарейках, и уже заказал с aliexpress сенсорную панель от выключателя Livolo, но об этом позже.

Препарирование сенсорного выключателя LIVOLO. / Схемотехника / Сообщество EasyElectronics.ru

От большинства подобных устройств эти выключатели отличает одна интересная особенность — они включаются в сеть по двухпроводной схеме, просто в разрыв цепи. При этом независимо от того замкнута цепь или нет его схема обеспечивает питанием микроконтроллер, радиомодуль, светодиоды и реле. Посмотрим как он устроен.

В качестве подопытного возьмём самую простую модель — с одной кнопкой и без радиомодуля.

Разбираем и видим такой бутерброд:

В середине верхней платы собственно площадка сенсора накрытая рассеивателем света от двух светодиодов.

Заправляет всем этим PIC16F690:

А вот и силовая часть:
(фото кликабельны)

Как видим сама плата рассчитана на полный фарш, но второе реле с обвязкой и радиомодуль не распаяны.

Теперь берём и заносим в таблицу позиционные обозначения элементов, типы корпусов, номиналы, маркировку. Выпаиваем и измеряем ёмкость smd конденсаторов. Далее вооружившись гуглом и знанием страны происхождения девайса пытаемся расшифровать маркировку активных элементов.
Чтобы проследить топологию платы выпаиваем все детали которые в этом мешают и вооружившись мультиметром в режиме прозвонки восстанавливаем схему по плате. Вопреки опасениям заняло это всего пару часов.

Схема получилась вот такая:
(схема в полном размере в прикреплённом файле)

Тут только нижняя плата и только те элементы которые распаяны на конкретном экземпляре.

Цветами отмечены:
красный — схема питания в режиме «ВЫКЛЮЧЕНО»
зелёный — схема питания в режиме «ВКЛЮЧЕНО»
желтый — линейный стабилизатор на 3 вольта для питания МК, радиомодуля и пищалки
синий — реле и его обвязка
серый — управление пищалкой
фиолетовым отмечены делители с помощью которых МК измеряет напряжения в разных участках схемы

Клеммы L, L1 те что выходят наружу, JP1 — разъём стыковки с верхней платой.

UPD:
Рассмотрим работу схемы питания при включеyной нагрузке, этот участок обозначен зелёным цветом. Обозначим напряжение на выходе этой схемы как V2.
Основным элементом в этой цепи является ОУ LM321, но в данном случае он работает как компаратор. На положительный вход ОУ поступает напряжение V2 за вычетом 12 вольт, которые падают на стабилитроне D17. На отрицательный вход поступает напряжение с выхода интегрального стабилизатора U1 через делитель R18, R30, этот делитель может быть включен или выключен транзистором Q3.
Работает схема так:
Предположим что напряжение V2 = 13 вольт. В этом случае на положительном входе ОУ напряжение 13В — 12В = 1В, на отрицательный врод через резистор R18 поступает 3В, т.к.на выходе ОУ низкий потенциал, Q3 закрыт и делитель не работает. Так как напряжение на положительном входе ОУ меньше чем на отрицательном, на выходе ОУ будет низкий уровень, Q4 при этом открыт и конденсатор С3 заряжается через диод D5.
Как только V2 превысит 15В напряжение на положительном входе ОУ также станет больше чем на орицательном, на выходе ОУ появится высокий уровень, который откроет транзистор Q3, в работу включится делитель R18, R30, напряжение на отрицательном входе ОУ при этом уменьшится с 3В до 2.1В. При этом также откроется Q4 и весь ток нагрузки потечёт через него.
Так как на отрицательном входе ОУ теперь 2.1В, то схема останется в таком состоянии до тех пор пока напряжение V2 не снизится до 14.1В, после чего весь цикл повторится.
При этом схема никак не синхронизируется с частотой сети и может вообще работать на постоянном токе, при соблюдении полярности.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *