Сенсорная кнопка на Attiny13

Схема входной части сенсора очень проста —  от ножки микроконтроллера на плюс питания подключается резистор большого сопротивления (подтяжка в 1мОм), к этой же ножке подключена токопроводящая площадка (фольга), которая изолируется от прямого прикосновения диэлектриком вот и вся конструкция. Фольгу можно брать любую – лишь бы токопроводящей была. Размер 20х30мм, можно и меньше, но чуствительность в этом случае ухудшается. Диэлектрик любой, толщиной не более 5мм. У меня в качестве диэлектрика выступала крышка выключателя. Что касается деталей устройства и их замена, то здесь всё просто. Микроконтроллер Attiny13 можно применять с любым буквенными индексами и любом корпусе, сопротивление R1 может иметь разброс от -25% до +50. Все резисторы и канденсаторы в SMD корпусе.

Программный алгоритм не сложнее схемы:

1.Порт ножки переводится на вывод (DDRB.0=1) и сбрасывается в ноль (PORTB.0=0);

2. Порт ножки переводится на ввод, в Z-состояние (DDRB.0=0). Так как до этого на ножке был ноль, то начинается процесс заряда паразитной  емкости через внешний резистор подтяжки;

3. С момента переключения ножки на ввод начинается отсчет времени с контролем состояния ножки (PINB.0), как только на ножке появилась единица (PINB.0 = =1) – останавливается счетчик;

4. Полученное значение счетчика и есть емкость ножки в относительных единицах (в зайцах/на километр).

5. Выше изложенный алгоритм повторяется 100 раз, потом      складывается и усреднённое значение выводится в результат.

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

Схема питается от 8-12В, но можно исключить стабилизатор на 5В и питать от 5В.

shema_bp

Выход сенсора можно подключить к нагрузке постоянного тока не более 20мА, для более мощной нагрузки следует использовать транзисторы, силовые ключи или тиристоры, а если нужно управлять нагрузкой переменного тока, то выход сенсора соединяется с опто-симисторной сборкой (с детектором перехода через ноль) который в свою очередь подключается к симистору.

shem_silov

Работа с сенсором.

Работа с устройством очень проста. Настройка схемы не требуется, всё настраивается автоматически микроконтроллером. При включении сенсор калибруется и подстраивается под условия – в течение этого времени не стоит его трогать, чтобы не ввести ложные значения в настройки. Через пару секунд сенсор готов к работе. При касании сенсора загорается светодиод LED_OUT. После 10 срабатываний включается автокалибровка, о чём сигнализирует светодиод LED_CALIBR – в течение калибровки не стоит трогать сенсор (чтоб не внести ложную ёмкость). После того как светодиод LED_CALIBR погас – выход переключится в ноль и сенсор снова будет  готов к работе. В схеме имеется две кнопки (ставить их не обязательно), думаю из названия понятно для чего они – кнопка CALIBR  запускает калибровку, а кнопка UPRAV – меняет состояние выхода на противоположное, т.е. «ручное» управление нагрузкой в обход сенсора.

Сенсорная кнопка на Attiny13: 16 комментариев

  1. Помогите пожалуйста подправить пошивку.
    Нужно отключить авто калибровку в версии с фиксацией кнопки.
    Своими силами не получилось.

  2. У меня схема начала работать только после того как подобрал резистор R1.
    Заметил не стабильность в работе и не большую заторможенность в реакции.
    Собрал в итоге свою схему на операционнике и триггере.

  3. 4 и 8 нога не указаны на схеме! Исправьте! Если с минусом на 4 ноге понятно то почему оставлена без внимания 8 нога являющаяся входом для питания?

    1. Да тут как бы и понятно по логике, и по даташиту, и по печатной плате если её открыть! К тому же на схеме приведена модель из симулятора, а неполная схема. Как минимум ещё нужны канденсаторы по питанию, но человеку знакомому с микроконтроллерами это и так понятно.

  4. А можно к нему подключить электромагнитный излучатель, т.е. чтобы прикосновение к сенсору сопровождалось звуком? Если можно, то каким образом это сделать. Заранее СПАСИБО.

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

      1. А ты сможешь сделать прошивку? У меня имеются вот такие излучатели (HCM1212X), я их хочу подключить к ATtiny13. Хотелось бы ка вот в этой статье http://cxem.net/house/1-168.php , ну или что-то типа этого.

        1. Ваш излучатель можно подключить через транзюк — для этого ненужно менять прошивку.
          А вот по поводу ссылки — это уже другое устройство и на тини13 код не вместится(в плане регулировки яркости и пульта)

  5. Отличное устройство. Проект больше не дорабатывается? Ищу подобную схемку для регулировки яркости светододного светильника. Короткое касание — вкл/выкл, длинное — регулировка яркости мин/макс по кругу.

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

  6. Доходчиво, спасибо! Скажите а в Вашем алгоритме подсчета времени учтен тот факт что логический ноль в схеме это 0.5В, т.е. ведется разряд к 0,0В или отсчет начинается с 0.5В?

    1. Отсчёт начинается с логического «0» и заряжается до логической «1», — тоесть не с нуля. Для справки: диапазон напряжения 0…0,4 В соответствует логическому нулю, а диапазон 2,4…5 В — логической единице.

  7. Спасибо, собрал все работает на обоих прошивках! Вопросик есть, сенсор должен быть определенного размера? Если у меня это 10х15 мм. на текстолите фольга, то чувствительность ам..но:( Как увеличить её если у меня ограничена площадь?

    Спасибо,
    Андрей

    1. по размерам не заморачивался — у меня была площадка порядка 25х25мм (пробывал и другие размеры), дело в том что алгоритм построен так что чувствительность настраивается при первом включении максимально + отстройка от помех и каждое 10-е вклчючение если прошивка с авто-калибровкой. Если чувствительность маловато то можно попробывать залудить площадку — это увеличит её паразитную ёмкость. Можно конешно попробывать увеличить чувствительность в ущерб отстройки от помех, — но тогда возможны ложные срабатывания..

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

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