Устройство управления на 10 команд через обычные или сенсорные кнопки

Некоторые пользователи сообщества радиолюбителей Меандр писали мне с просьбой разработать устройство управления на микроконтроллере с помощью которого можно реализовать два способа выходного сигнала: фиксированный и без фиксации после нажатия кнопки .

В качестве основы такого несложного устройства был выбран микроконтроллер фирмы AVR Atmega8. На данном микроконтроллере без лишних усложнений схемы было реализовано 10 выходов при 11 кнопках управления (См. схему).

Входы 0-9 подают сигнал для включения светодиодов на выходах D0-D9 соответственно. При нажатии кнопки "TUCH" переходим в режим залипания клавиш (один раз нажали и светодиод горит постоянно, повторное нажатие гасит светодиод). Если опять нажать "TUCH" перейдем в обычный режим (пока держим кнопку - горит светодиод).

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

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

Для включения электрических устройств бытовой сети переменного тока необходимо использовать переход от цифровой (процессорной) части к силовой через гальваническую развязку. В данном случае это выполнено через оптосемистор MOC3061 (см. рис), управляющий светодиод которой включается на место соответствующих диодов D0-9, или параллельно им..

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

Сигнал той же частоты генерирующая микроконтроллер подается через оптопару на управляющий электрод семистора BT138-600. Резисторы R2, R3 ограничивают силу тока через оптопару. Их мощность должна быть не менее 0,5 Вт. Резистор R1 является ограничивающим для светодиода. Если в схеме  установлены опоры R 10-19, то в ниже представленной схеме  R1 не нужен.

На место лампы накаливания можно включать любой другой потребитель, подобрав симистор Т1 необходимой мощности. Для коммутации больших токов, симистор необходимо установить на радиатор охлаждения.

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

Таким образом на входы микроконтроллера Atmega8 подключены 11 медных панелей покрытых изолирующей пленкой (не обязательно), с подтягивающими резисторами 1МОм. Суть работы состоит в том, что каждая медная пластина как часть конденсатора с емкостью 1пФ. При касании пальцем образуется «конденсатор», емкость которого меняется в пределах от 1пФ до 10пФ. Это очень маленькая величина, но вполне достаточно для изменения электрического заряда на входе МК и обнаружения «нажатия» на панель. Человек даже если изолирован от земли, обладает собственной «емкостью» около 100пФ (при ESD-тестах) и является как «заземление».

А — нет нажатия,
В — нажатие на сенсор

Изменение емкости регистрируется методом интеграции: с некоторой частотой микроконтроллером производится заряд сенсорных пластин (участок Tcs). Заряд на сенсорах через подтягивающие резисторы будет автоматически разряжаться. При касании пальцем изменяется емкость сенсора Cs в большую сторону. Соответственно, на зарядку такого конденсатора требуется большее время, но через определенный период микроконтроллер зафиксирует значение напряжение на сенсоре. Заряд когда пластина «не нажата» принимают за точку отсчёта — кривая A (видимо это выполняется при включении контроллера).

Видео работы устройства:

Прошивка и печатная плата:

Чтобы увидеть ссылку войдите или зарегистрируйтесь

При программировании микроконтроллера фьюзы  выставляем так:

Автор: С. Киричик

Постоянная ссылка на это сообщение: http://meandr.org/archives/8322

21 комментарий

Перейти полю для комментария

  1. Привет всем!
    Сенсорные кнопки - очень хороший и нужный прибор.
    Планировал изготовить однокнопочный включтель на NE555 и 561ТМ2,
    т.е. кнопка без дребезга и с предустановкой выходного логического уровня
    (RC - цепь для ТМ2).
    Спасибо автору. По возможности повторю этот проект.

  2. Здраствуйте не подскажите с помощью какой проги Вы выстовляли фьюзы и какой заливали прошивку

  3. Я заливал через программу AVRDUDE. Такие же фьюзы можете смело выставлять через PonyProg.
    Для других программ надо сравнивать с этими программами, чтобы не были инверсными.

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

  4. Но в PonyProg больше фьюзов чем на фото что с ними делать снимать птички или что?

  5. Да, снимать птички.

  6. а не поможете разобраться , не пашет ни родная прошивка ни ваша, зажигается один светодиод и не гаснет примерно как и тут http://www.mikrocontroller.net/topic/298199, http://www.engbedded.com/fusecalc/ фьюз калькулятор показывает что у вас 4 мгц , правильно? можно ваш исходник глянуть для самообразования

  7. Всем привет!!! Нашёл применение сенсорной панели, сделал на ней управление мр3 плеером. Получилось довольно не плохо.
    Большое спасибо автору статьи за данное изобретение

  8. Здравствуйте подскажите пожалуйста как выставить FUSE в Uniprof ??

  9. скажите а фьюзы в AVRDUDE вы выставляли инверсно или без инверсии.
    Если можно выложите скриншот выставленных фьюзов полностью программы просто не понятно

    1. Инверсно.

  10. у меня почему то наработает функция фиксированный когда жмёшь на кнопу Tush устройство вобше не Реагирует приходится обесточивать но когда свнова подаеш питания оно работает только без фиксации
    пробовал прошивать несколько контролеров везде одинаково
    Просто хотел зделать 4 кнопки с фиксацией для управления реле
    Может подскажите в чем проблема

    1. Попробуй фьюзы выставить так:

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

  12. Фьюзы выставил так

  13. просто странно может я вообще что то нет делаю
    микроконтроллер Atmega 8A

    1. У Вас микроконтроллер в корпусе TQFP, а на схеме DIP. Посмотрите внимательно, соответствуют ли назначение выводов.

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

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

  16. Если честно, бредовый проект, работает крайне не стабильно и зачем использовать Atmega для создания подобного управления ?

  17. привет .я зараннее благодарю за проект .очень вас прошу мне помочь я пользуюсь этот проект но у мнея на проекта нужна режим залипания клавиш один раз нажали и светодиод горит постоянно, повторное нажатие гасит светодиод .надо убрать кнопки "TUCH" прашу мне помочь
    master474@mail.ru

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