Некоторые пользователи сообщества радиолюбителей Меандр писали мне с просьбой разработать устройство управления на микроконтроллере с помощью которого можно реализовать два способа выходного сигнала: фиксированный и без фиксации после нажатия кнопки .
В качестве основы такого несложного устройства был выбран микроконтроллер фирмы 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 (видимо это выполняется при включении контроллера).
Видео работы устройства:
Прошивка и печатная плата:
[hidepost] Скачать прошивку для микроконтроллера
Скачать печатную плату [/hidepost]
При программировании микроконтроллера фьюзы выставляем так:
Автор: С. Киричик
Привет всем!
Сенсорные кнопки — очень хороший и нужный прибор.
Планировал изготовить однокнопочный включтель на NE555 и 561ТМ2,
т.е. кнопка без дребезга и с предустановкой выходного логического уровня
(RC — цепь для ТМ2).
Спасибо автору. По возможности повторю этот проект.
Ошибка базы данных WordPress: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (668) ORDER BY umeta_id ASC