065-Четырехканальный сенсорный переключатель нагрузок.

Автор: | 21.02.2011

Титл После статьи о сенсорной клавиатуре меня неоднократно просили сделать сенсорные клавиши, дрыгающие напрямую ножками микроконтроллера. Вот, выполняю обещание, тем более подвернулся хороший повод – рыбки! Ну, не совсем рыбки, а скорей аквариум. Давно хотел сделать на работе пульт для аквариума, при помощи которого можно было бы включать/отключать свет, компрессор, обогреватель, еще чего-нибудь…, а то замучался дергать вилки из розеток удлинителя. Этим устройством я убиваю сразу двух зайцев (или рыбок :)) – Вам будет готовое устройство для включения/выключения различных нагрузок, а мне удобный пульт для аквариума.

1 Начнем со схемы ….

Схема проста и реализовать ее не составит труда.

065-4switcher-schematic.spl7 - Схема сенсорного переключателя

Сенсорные площадки-клавиши подключаются к «Touch Line»

Нагрузки управляются четырьмя линиями «Switch Line»:
— на линии ‘1’ (5 вольт) — нагрузка включена; 
— на линии ‘0’ (0 вольт) — нагрузка выключена.

Как Вы видите, на схеме нет индикаторов текущего состояния нагрузок. Это по причине того, что все мои нагрузки будут «перед носом» — все и так будет видно. Если в Вашем случае это не так, то индикацию добавить не составит труда.

Индикаторі

а – простая схема (светодиод светится – нагрузка включена); б, в – более продвинутые варианты (светится зеленый – включено, красный – выключено). Схемы индикации вешаются прямо на выходы управления нагрузкой.

Схема почти полностью повторяет схему сенсорного драйвера, а значит если Вы уже собрали плату сенсорного драйвера, то она сгодится и для этого переключателя, потребуется лишь незначительная доделка – в качестве выходов для управления нагрузкой нужно задействовать оба УАРТ выхода + два выхода на индикаторные светодиоды.


2 Плата.
Плата переключателя сделана под SMD компоненты (это для компактности), содержит как драйвер, так и сами сенсорные площадки-клавиши.

Плата устройства

065-4switcher-PCB.lay - Печатная плата для сенсорного переключателя


3 Сборка.
Тут без особенностей. На плате предусмотрены площадки разъема, на которые выведены линии питания устройства, управления нагрузкой и программирования. По вашему желанию можно припаять к ним разъем или сразу шлейф.

Спаянная плата


4 Принцип работы
На панели переключателя есть 12 сенсорных кнопок:
— по две не каждую из четырех нагрузок (включение и выключение отдельно);
— кнопка включить все (включаются сразу все четыре нагрузки) и кнопка выключить все (соответственно, все нагрузки выключаются);
— кнопка запоминания текущего состояния нагрузок и кнопка восстановления сохраненного состояния нагрузок.
При работе устройства меняется уровень сигнала четырех линий (выходов) для управления нагрузкой:  5В – устройство включено; 0В – устройство выключено.

Хотя сам принцип замера емкости сенсорных площадок остался прежний (версия 2 сенсорного драйвера), я немного модифицировал прошивку:
— добавил автоматическую подстройку чувствительности сенсорных каналов во время работы (в предыдущей версии она производилась только при старте программы);
— добавил сигналы сообщения об ошибках инициализации сенсорных каналов при старте:

— два коротких щелчка – параметры каналов в норме

— непрерывные одиночные щелчки – какой либо канал не заряжается.
Причины: какой либо канал имеет утечку на «землю» (грязная плата, перемычка на землю …), резистор на 1МОм в обрыве, проблемы с портом микроконтроллера;

— непрерывные щелчки сериями по два – какой либо канал постоянно заряжен.
Причины: утечка питания на какой либо канал (грязная плата, перемычка на плате …) или закорочен резистор на 1МОм, проблемы с портом микроконтроллера.

— в программе осталась защита от мультитача и убран, за ненадобностью, автоповтор.


5 Прошивка.
Устройство работает от внутреннего задающего генератора на 8МГц.
На разъем платы выведены все необходимые линии для программирования. Подключаем программатор, заливаем прошивку.
065-Touch_Switch.hex - Прошивка сенсорного переключателя
Не забываем про фьюзбиты
065-Touch_Switch_Fuse - Фьюзы для сенсорного переключателя


6 Облицовка.
Плата собрана, микроконтроллер прошит, осталось самое креативное – оформление сенсорных площадок. В общем случае технология облицовки сенсоров выгладит следующим образом:
— рисуем картинку кнопок на компьютере (естественно, они по размерам должны совпадать с сенсорными площадками на плате);
— распечатываем их на самоклеющейся бумаге (для лазерных принтеров есть специальная, для струйников подойдет любая);
— приклеиваем распечатанный рисунок на нашу плату, поверх самоклейки клеим защитную пленку (это может быть или скотч, или прозрачная самоклейка, или еще что…).

Облицовка

Выше описанная технология не единственная. Еще можно ламинировать распечатанный рисунок и после клеить его к плате на двусторонний скотч или можно по простому — приклеить к плате клеем обычную бумагу и покрыть скотчем. Есть еще куча способов – включайте фантазию …

В данной реализации платы часть с драйвером желательно закрыть перед облицовкой кусочком пластика, для того, чтобы компоненты платы не выпячивались из-под самоклейки. И еще, очень мешает облицовке торчащий бузер. Если у Вас есть плоский бузер, который спрячется под пластинку будет вообще айс! К сожалению, у меня такого, под рукой не оказалось — ну да ладно.

Пластиковая защита

Чтобы Вам немного упростить работу я набросал несколько вариантов оформления клавиш. На выбор есть 4 стиля оформления: специально для аквариума (делал для себя); строгий для серьезных применений; веселый для НЕ серьезных применений 🙂 и футуристический. Выбирайте!

Панели кнопок
065-goriz-front-panel.jpg - Рисунок клавиш горизонтальный. Формат А4, 180dpi

Сенсорную панель можно разместить как вертикально, так и горизонтально. Это зависит от условий применения. Соответственно и рисунки должны быть нужной ориентации. Вот те-же варианты оформления кнопок, только в вертикальном исполнении (для аквариума я выбрал именно такое исполнение).
065-vert-front-panel.jpg - Рисунок клавиш вертикальный. Формат А4, 180dpi


7 Силовая часть
Силовая часть устройства вынесена отдельно от пульта. Схема исполнительного устройства будет зависеть от типа коммутируемой нагрузки. Для ознакомления с возможными вариантами читайте статью «Подключение нагрузки к микроконтроллеру» — там все описано.
Касательно моего случая (управления гаджетами аквариума) – решил применить обычные реле которые будут коммутировать 4 розетки, в которые будут подключатся сами гаджеты.

Подключение силы


8 Демонстрация работы
После сборки и облицовки получилось вот такое симпатичное устройство.

Готовое устройство

Делал на тонком стеклотекстолите, поэтому после наклейки на аквариум (на двухсторонний скотч) воспринимается органично.
Силовая часть еще в сборке. Поэтому решил выложить видео чуть позже. Покажу в работе прямо с рыбками 🙂 …


Файлы:
065-4switcher-schematic.spl7 - Схема сенсорного переключателя
065-4switcher-PCB.lay - Печатная плата для сенсорного переключателя
065-Touch_Switch.hex - Прошивка сенсорного переключателя
065-Touch_Switch_Fuse - Фьюзы для сенсорного переключателя
065-touch_switch_source - Исходник сенсорного переключателя
065-goriz-front-panel.jpg - Рисунок клавиш горизонтальный. Формат А4, 180dpi
065-vert-front-panel.jpg - Рисунок клавиш вертикальный. Формат А4, 180dpi


Ссылки:
Универсальный драйвер для сенсорных устройств
Подключение нагрузки к микроконтроллеру


МОДИФИКАЦИИ.
(Изменение некоторых аспектов работы устройства. Общая логика работы остается прежней)

Модификация №1.
Изменен алгоритм работы устройства: При нажатии на сенсоры 1On, 2On, 3On, 4On на соответствующих управляющих линиях появляется высокий уровень. При отпускании сенсоров — уровень возвращается в ноль. У остальных сенсоров остается прежняя функциональность, но с учетом того, что нет «защелкивания» уровней на выходных линиях, они теряют смысл.

Touch_Switch-Mod1.hex - Модификация №1 прошивки переключателя
065-Touch_Switch_Fuse - Фьюзы для сенсорного переключателя
Как правильно прошить AVR фьюзы 
065-touch_switch-Mod1.zip - Исходник модификации №1

Модификация может пригодиться в тех условиях, где необходимо управления без «защелкивания» .


(Visited 4 365 times, 7 visits today)

065-Четырехканальный сенсорный переключатель нагрузок.: 118 комментариев

  1. Hryam

    Очень красиво и качественно всё получилось. Но мне кажется что слишком избыточно управлять 4-мя портами используя аж 12 портов I/O! Оптимальнее было бы сделать 8 кнопок и 8 управляемых портов. Т.е. использовать для управления одного порта одну кнопку.

  2. Hryam

    Ещё можно было бы убрать зумер и использовать ресет для получения ещё одной линии IO. Если есть желание, можете допилить прошивки под оба этих варианта. Народ будет весьма рад, а печатку уже сами допилим.

  3. MrMishin

    Вышло как всегда аккуратно и презентабельно)

  4. ratser

    Ребят, а не подскажете где можно зачитать про работу(подключение) бузера к МК?

  5. svr007

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

  6. Zver666

    А таймер на 7/9 нагрузок кто нибудь хочет? 🙂 Есть два варианта один на пике (вроде как рабочий), второй на АВР только там авторы признаются что сыроват контроллер.
    Выключатель клас можно подвесить управление клапоном на СО2, компресор, свет и дополнительную помпу для сифонки.

  7. Ghjuhfvvf

    Я думаю, что кнопкой, которой включают, надо и выключать (т.е. вкл и выкл одной и той же кнопкой)… и линии освободятся

  8. Ghjuhfvvf

    А вкл или выкл — индикация (б, в)

  9. GetChiper Автор записи

    Hryam :

    …было бы сделать 8 кнопок и 8 управляемых портов…

    Помните фразу Карлсона (который живет на крыше) про торт и восемь свечек? 🙂
    Но, в принципе, это не проблема, даже нет необходимости менять плату сенсорного драйвера — можно задействовать линии программирования — они то-же выведены на разъем. Вот только нужно ли столько переключателей?

    Зумер желательно не трогать, так как он играет стратегическую роль: сенсоры не имеют ни механического щелчка, ни «проседания» при нажатии и для того, чтобы «чувствовать» нажатие на сенсор нужно его озвучивать. В противном случае работа с сенсорами будет не комфортная (нажал/ненажал непонятно).

    @ratser
    Бузер (имеется в виду пьезоизлучатель) подключается прямо на ножку микроконтроллера (или через небольшой резистор до 300 Ом). У него большое внутреннее сопротивление, поэтому на порт нагрузка минимальна.

    svr007 :

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

    Запросто! Можно даже выдавать двоичный код (4х линий как раз хватает для 12ти кнопок) нажатой клавиши или еще какой вариант … Закиньте свои пожелания в закладку меню «В разработке» там есть раздел сенсорных клавиш, чтоб я не забыл — позже сделаю (пока жду отзывов по переключателю — мож где накосячил)

    Zver666 :

    А таймер на 7/9 нагрузок кто нибудь хочет?.

    Кстати о таймере. Уже на плате заранее предусмотрено подключение IR-приемника — в следующей версии прикручу управление при помощи IR пульта (параллельно с сенсорами). На обслуживание IR-приемника придется пожертвовать одной линией, а значит освободится 2 сенсора. Планирую повесить на них включение/отключение нагрузок через определенное время. Как мне сделать этот таймер?

  10. GetChiper Автор записи

    Создать тему «В разработке» по таймеру? Будем делать?

  11. Zver666

    Я «ЗА», таймер для много может пригодится 🙂

  12. uu9jag

    Добрый вечер!
    А исходник можно глянуть..хочу приспособить для управления разными устройствами.Например в темноте не искать выключатель,а рукой провёл -свет включился..так-что нужна порой одна сенсорная кнопка..
    А выложенный Вами исходник видимо от другого устройства.

  13. uu9jag

    Извиняюсь!
    Не разобрался сразу и открывал не тот проект 🙁
    Спасибо ,пытаюсь разобраться..

  14. vuln

    uu9jag :
    Добрый вечер!
    А исходник можно глянуть..хочу приспособить для управления разными устройствами.Например в темноте не искать выключатель,а рукой провёл -свет включился..так-что нужна порой одна сенсорная кнопка..

    могу скинуть проект на tinny13a я переделывал со статьи (061-Простая сенсорная панель) принципе ничего сложного единственное пришлось кое-че изменить в алгоритме измерения т.к размеры контактной площадки 70х70мм (размер бытового выключателя)

  15. GetChiper Автор записи

    … т.к размеры контактной площадки 70х70мм (размер бытового выключателя)…

    Сам выключатель получился? Работает?

  16. lpa

    Очень красиво и аккуратно!

  17. vuln

    GetChiper :

    … т.к размеры контактной площадки 70х70мм (размер бытового выключателя)…

    Сам выключатель получился? Работает?

    выключатель получился работает четко без ложных срабатывании (спасибо вам большое)

  18. RATSER.RU

    GetChiper :
    Бузер (имеется в виду пьезоизлучатель) подключается прямо на ножку микроконтроллера (или через небольшой резистор до 300 Ом). У него большое внутреннее сопротивление, поэтому на порт нагрузка минимальна.

    Т.е. на него только питание подать нужно?
    Я думал у них существует разная тональность\писклявость )))

  19. Hryam

    Ещё можно было прям на этой плате поставить ULN2003, чтоб на второй плате только релюшки разместить и тогда не придётся туда тянуть низковольтное напряжение, а только управляющее с ULNки.

  20. GetChiper Автор записи

    RATSER.RU :

    Т.е. на него только питание подать нужно?
    Я думал у них существует разная тональность\писклявость )))

    Есть разные варианты — со встроенным генераторов (подаеш питание и он пищит с заданной частотой); и без генератора (на него нужно подавать сигнал нужной частоты. В данном случае стоит самый дешевый, без генератора.

    Hryam :

    Ещё можно было прям на этой плате поставить ULN2003

    Хороший вариант. И даже в случае если ставить не на пульту, а в силовой части.

  21. uu9jag

    vuln :

    uu9jag :Добрый вечер!А исходник можно глянуть..хочу приспособить для управления разными устройствами.Например в темноте не искать выключатель,а рукой провёл -свет включился..так-что нужна порой одна сенсорная кнопка..

    могу скинуть проект на tinny13a я переделывал со статьи (061-Простая сенсорная панель) принципе ничего сложного единственное пришлось кое-че изменить в алгоритме измерения т.к размеры контактной площадки 70х70мм (размер бытового выключателя)

    Заранее,премного благодарен.
    Скиньте пожалуйста исходник на Tiny13.
    И схему если не трудно.

  22. phantom lord

    Можно вопрос не в тему.
    Можете, пожалуйста, в двух словах написать, как Вы наносите разметку на текстолит. ЛУТ, фоторезист? Если ЛУТ, то какой принтер, бумага, картридж? Как гладите?

    У меня так тонко не получается 🙁
    Тонер то расплывается, то наоборот плохо переводится и остаются разрывы.

  23. alexfick

    Если будет время и желание хотелось бы увидеть даную конструкцию в качестве 12уровневого регулятора громкости для усилителя. Провел пальцем в одну сторону громкость увеличилась обратно уменьшилась. Нажал на определённый сенсор установился определенный уровень. Сайт супер, слежу постоянно. Спасибо автору проэктов.

  24. GetChiper Автор записи

    Спасибо — заношу в планы.

  25. Ghjuhfvvf

    @phantom lord
    У меня сначала тоже плохо получалось … Основные моменты ЛУТ (на своих ошибках): зачистить плату шкуркой нулевкой, обезжирить (спирт, растворитель …), распечатать на принтере (установки по максимуму использования тонера) на глянцевой бумаге (любой хороший журнал, но не обложка), отутюжить утюгом на максимальной температуре (особенно края, через два слоя бумаги). Вот и все. По времени глажки — практика. Я особо не рассусоливаю

  26. Ghjuhfvvf

    Ну и снять бумагу под струей воды, конечно …

  27. r-sekret

    Вот бы еще сделать подсветку кнопок. Хочу взять этот принцип за основу. Мне по диплому надо пульт управления сделать. Принцип в том: нажал на кнопку (включилась команда) – она загорелась, второй раз нажал (команда выключилась), кнопка перестает гореть. Как это можно реализовать? Какие Ваши предложения? Может проще взять обычные кнопки?
    Жду ответов с нетерпением. (Защита диплома на носу).

  28. GetChiper Автор записи

    Сделаю и так — не проблема. Вот доделаю текущий проект.

  29. Zver666

    @vuln
    а мне можно скинуть проектик выключателя?

  30. vuln

    можно, но луче чуть подождать,с помощью автора блога (GetChiper)проект доведем до ума, добавим пару полезных функции , и будет вам статья …

  31. rec22

    Всем здравствуйте, подскажите как определить дохлая микросхема или нет?

  32. Ewgeny

    Собрал я сие устройство. Сначала UART-версию, затем эту. Спасибо, интересный девайс 🙂
    К работе претензий никаких, всё хорошо.
    Покурил исходники (алг. буилдер мне также знаком), вроде разобрался с алгоритмом.
    Осталось придумать применение этому устройству.

  33. GetChiper Автор записи

    Думайте! Делитесь с нами — будем реализовывать.

  34. sidya

    Удобная штука,уже знаю куда прикрутить,вот только почемуто иногда зависает если несколько раз дотронуться до 1ON 19 нога?

  35. GetChiper Автор записи

    Интересно — буду разбираться.

  36. kruvasil

    Ему еще бы uart приделать, чтобы по нему нагрузками управлять.

  37. GetChiper Автор записи

    Так это не проблема! Только ног не хватает 🙂

  38. kruvasil

    Тогда бы просто сделать управление нагрузками по UART.

  39. GetChiper Автор записи

    Есть такое в планах, но не просто управление по UART, а плюс всякие плюшки. Работа в этом направлении уже ведется.

  40. kruvasil

    А на счет плюшек, можно подключить какой нибудь блютуз модуль (типа bm-222) и можно управлять дистанционно, не только с компа, но и телефона, кпк.

  41. GetChiper Автор записи

    btm-222, конечно, штука прикольная и стоит (как для блютуз модулей) приемлемо, но в данном случае это как из пушки по воробьям — стоимость модуля в разы превышает стоимость самого устройства. Кроме того btm-222 можно поставить с одной микросхемой сдвигового регистра и получить дистанционный переключатель.
    А вообще думаю добавить IR управление — дешево и сердито…

    Если есть какие предложения для апдейта устройства — кидайте все на форум http://www.forum.getchip.net/viewtopic.php?f=7&t=9
    обещаю учесть.

  42. winzewul

    а как выставить фьюзы в авр студио

  43. GetChiper Автор записи

    Ставятся инверсно

  44. winzewul

    спасибо я не то имел в виду какие именно фьюзы ставить в авр студии там они ставяться подругому так как если полизоваться калькулятором фьюзов то пулочаеться что кварц внешний
    http://avr.roboforum.ru/calc.html?part=ATtiny2313 а это калькулятор можно любым там всёравно видно что кварц внешний

  45. winzewul

    ау здесь вообше есть кто???

  46. winzewul

    я работаю в авр студии там фьюзы ставяться подругому

  47. GetChiper Автор записи

    Посмотри статью — там есть и про АВР студию.

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