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 8 238 times, 1 visits today)

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

  1. winzewul

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

  2. winzewul

    блин всё разобрался галки наоборот

  3. musik57

    А «onn» — это на каком языке?

  4. winzewul

    да да тупанул, а чем ты рисовал наклейки????

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

    musik57 :

    А «onn» – это на каком языке?

    Есть варианты: русский, украинский, немецкий, английский, албанский … выбирайте! 🙂

    winzewul :

    да да тупанул, а чем ты рисовал наклейки????

    MicrosoftWord.

  6. winzewul

    да всё таки проблема при подключении резюков 1м на плюс на управляющих чёткий «0» и тишина нет управления вообще никакого

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

    Там так и должно быть. Заряд происходит настолько быстро, что иголки полученные при этом трудно посмотреть и осциллографом.

  8. winzewul

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

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

    Нужно влключить все. При включении есть отладочные сигналы в пищалке? В статье описано их назначение.

  10. winzewul

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

  11. Zalognik

    Хотелось бы уточнить: возможно ли питание от батареек или только от блока питания (делал сенсор на NE555 — от батареек отказался работать и ни в какую). И воще хотелось услышать ваши мысли начет подключение данного устросйства к IR удлинителю, а другой конец через FT232R преобразовать єто дело в USB чтобы получить полноценную клаву (ну типа связать парочку tiny) на ик лучах. Заранее спасибо за ответ.

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

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

  13. Zalognik

    Спасибо. Просто я какраз занимаюсь этим вопросом. Соорудил себе медиа центр с плазмы 40″ и старого компа. Допилил к 7 медиа пару приставок (типа почта и скайп (пока биги убираю)) вот как-раз хочу сделать такой пульт. Потому и подбирал кнопки, так и попал на вш сайт. Стравил плату для пробы скоро все напаяю. Короче спасибо за труд!!! Ура! Ура! Ура! =)

  14. Zalognik

    Если вдруг сделаю — пришлю фотки и работу (ну типа в рекламу сайта). Удачи в дальнейших разработках. =)

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

    Шлите — будет интересно.

  16. Zalognik

    В какой програме вы показываете фюзы для прошивки? В Sina Prog не встречал такой закладки. Получаетса что фюзы не надо трогать? (сужу по фото).

  17. winzewul

    фьюзы надо показано в алгоритм булдер я вот шил в авр студии там как писал многоуважаемый GetChiper фьюзы ставятся инвертно и не каких проблем всё работает идеально почитай форум

  18. Zalognik

    Спасибо большое. Работает =) Приступаю к модернизации. Удачи.

  19. Zalognik

    А как вы так согнули плексиглас?

  20. Zalognik

    А воще реально выбросить две линии питания устройств и перекинуть их на функцию кнопки а по двух каналах пустить UART на отправку определенного символа? Заранее спасибо.

  21. Zalognik

    Спасибо. Извините за такую наглость, но можно ли консультацию по исходникам прошивки и совет как изменить прошивку данного изделия для отправки символов и где задавать эти символы (без шыфт режима). Заранее спасибо.

  22. Zalognik

    И воще появилась идея прицепить вместо бузера ексцентрик с телефона (получилось купить в виде отдельной детали, а не выпаевать со старого телефона) получилось прикольно =) только поставил диод на 3.7V чтоб не спалить ненароком. Класный ефект получился.

  23. Zalognik

    Я имел ввиду где задавать значение передаваемого сигнала в програме (1 там или А) чтоб их изменить на нужный. (Имелось введу в прошивке по ссылке на пост который вы дали) и возможно ли отпилить шыфт режим. Спасибо за ваш сайт — по нему и учусь (сам просто любитель).

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

    Преобразование номера нажатой клавиши в код символа происходит в процедуре «Get_Char». На входе r16 содержит порядковый номер нажатой клавиши а на выходе в r16 должен быть код символа. Там все можно и поменять.

  25. Zalognik

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

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

    Автоподстройка сама все сделает.

  27. Zalognik

    А есть ли какаято минимальная величина площадки, или в принцыпе без разницы?

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

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

  29. viga5

    Сайт СУПЕР!!!
    А нет случайно разводки платы на 4 клавиши(модифицированная прошивка), только в DIP корпусе. Делаю освещение комнаты от 12в, на мощных 3вт светодиодах. Как раз нужны кнопки-сенсоры. Спасибо

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

    К сожалению нет, но подправить уже готовую не составит особых сложностей.

  31. and_lk

    Для логического завершения — «065-Четырехканальный сенсорный переключатель нагрузок» не хватает «Модификации №2» где реализован принцип: нажал кнопку — нагрузка включилась, нажал еще раз -выключилась. Сейчас приходится обрабатывать сигнал с помощью другого микроконтроллера (к сожалению в Algorithm Builder не силен чтоб самому поправить, програмирую контроллеры на BASCOM-AVR. При возможности, большая просьба, добавить модификацию.

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

    Допишу новую статью — сделаю.

  33. and_lk

    Что-то совсем забросил автор сенсорную тему! Подскажите, а можно ли задействовать все 12 линий? По принципу: дотронулся до кнопки — нагрузка включилась, дотронулся еще раз — выключилась. Хватит ли ресурсов микроконтроллера? А то при модификации №1, практически 7 ножек остаются в воздухе.

  34. yuzd

    Присоединяюсь к просьбе, по прошивке, в которой нажал кнопку нагрузка включилась, нажал нажал еще раз нагрузка выключилась, а также кнопка включения, выклычения всех нагрузок сразу. Зарание спасибо!

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

    Можно конечно, только вот не хватает ножек для управления нагрузками. Можно выдавать по UART (или SPI).

    P.S. Тему не забросил. Просто пока отложил — двигаю другие интересные проекты. Накопятся идеи буду апдейтить данный девайс.

  36. ssql

    А чем отличаются 2313А от 2313. Может скажете где про контроллеры почитать)

  37. Zalognik

    2313А от 2313 отличаютса допусками по питанию. Раньше были 2313 (2.7 – 5.5В и тактовая до 20МГц) и 2313 (1.8 – 5.5В но тактовая до 10МГц), а потом придумали новую фишку и сделали 2313А которая полностью соответствует двум предведущим но питать ее можна 1,8-5,5В и при этом нет ограничений по тактовой частоте.

  38. ssql

    О… Спасибо! Понял)

  39. ssql

    Аналогичная проблемка. Уважаемый Евгений, Вы не разобрались?:-)

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

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

    Дойдут руки — буду разбираться. Заразом может и чего улучшу в сенсорах.

  41. ssql

    Спасибо, буду ждать! Очень интересное устройство.

  42. nikolyan

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

  43. nikolyan

    А IR предусмотренный на плате планируете задействовать? Было бы круто если б схема обучалась работать и с пультами.Не знаю ресурс процессора, но как идея-разработать на основе этой платы управление rgb светодиодной лентой.Три пары кнопок использовать для регулировки яркости каждого цвета, кнопка вкл-выкл эффект, причем повторное нажатие на вкл-включает следующий эффект.Кнопка сохранить-выключить.В выключенном состоянии нажатие сохранить-включает последнее сохранение.Последнюю пару контактов можно использовать для регулировки скорости эффекта или для включения белого цвета.

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

    Блииин, где взять время! 🙂

  45. nikolyan

    Здравствуйте.Можно как нибудь повысить чувствительность устройства?Хочу применить деревянный шпон пропитанный лаком, лутом нанести маркировку, следом лак и полировка.Толщина около миллиметра.Конечно это много, и может даже вопрос бы не задавал, но недавно обратил внимание на сенсоры домофона.Они срабатывают, даже когда палец не касается поля кнопки.А сенсоры там очень толстые.

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

    В принципе можно, но могут случайно срабатывать от помех кнопки.

  47. nikolyan

    Давайте попробуем, отпишусь о результатах.

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

    Хорошо, на днях подкорректирую.

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