Всех приветствую, пикабу)
Сегодня речь пойдет о сенсорном управлении. Я расскажу, как в домашних условиях можно сделать сенсорную кнопку и датчик приближения очень достойного качества.
С уверенностью говорю, что освоить этот материал сможет абсолютно каждый. Буду объяснять максимально понятно и подробно, чтобы разобрался даже новичок.
Сам я не профессионал в этом деле, но увлекаюсь электроникой давненько.
За основу возьмем емкостные контроллер от компании Atmel AT42QT таких серий как 1010 1011 и 1012.
Я довольно долго использовал его в своих проектах, поэтому мне есть что рассказать.
Контроллер представляет собой сравнительно маленький чип, имеющий 6 выводов, заключенный в корпус SOТ23-6
Сейчас я расскажу, как он подключается и принцип его работы
На питание подается от 1.8 до 5.5 вольт, но по моим наблюдениям, максимально стабильно он ведет себя в диапазоне от 3 до 3.5 вольт.
Плюс питания подается на 5 контакт VDD, а общий, он же минус на 2 контакт VSS.
Далее подключается конденсатор от 2 до 50 нанофарад одной ногой к 3 контакту SNSK, а другой к четвертому SNS. Использовать желательно неполярные конденсаторы.
К выводу 3 SNSK через резистор на 10-15 кОм подключается сенсорная площадка
Емкость конденсатора и площадь сенсорной площадки напрямую влияет на расстояние, на котором сработает датчик при приближении, допустим, вашего пальца.
Чем емкость конденсатора меньше – тем меньше расстояние, чем больше емкость – тем на большем расстоянии произойдет срабатывание.
Аналогично и с сенсором. Чем меньше площадь – тем меньше расстояние, чем больше площадь – тем больше расстояние.
Именно эти два показателя и определяют в каком режиме будет работать контроллер – в режиме кнопки или в режиме датчика приближения.
Резистор нужен для защиты от внешних помех, таких как статическое напряжение на вашем теле и прочих.
Чтобы свести к минимуму все помехи, сенсорную площадку можно соединить с минусом источника питания через конденсатор от 2 до 50 пикофарад. Но такое решение больше подходит для кнопок нежели для датчиков приближения, т.к. уменьшает расстояние срабатывания.
Для понимания сути вещей, расскажу, как устроен емкостный датчик. Не хочу вводить вас в заблуждение, поэтому предупреждаю, данная информация взята из сети, с англоязычных сайтов, посвященных емкостным датчикам.
Согласно информации, данный контроллер работает по технологии переноса заряда Qtouch. В ходе работы конденсатор Cs периодически заряжается, а затем разряжается (переносит свой заряд) на другой конденсатор – измерительный. Контроллер считывает время заряда измерительного конденсатора до определенного значения напряжения. Этот процесс цикличен и постоянно повторяется. При первичной подаче питания на контроллер, происходит его калибровка – установление эталонного времени заряда конденсатора, занимает она примерно 0,5 секунды. В дальнейшем время цикла каждого заряда/разряда сравнивается с эталонным временем.
Все объекты, и мы в том числе, имеют электрическую емкость. При касании сенсора или приближении к нему объекта – емкость изменяется, а следовательно, изменяется и время заряда конденсатора. При достижении определенной разницы между эталонным временем и фактическим, контроллер определяет наличие предмета возле сенсора и дает команду на срабатывание. При этом на выходе 1 OUT появляется логическая единица, то есть положительное напряжение. Если мы подключим между минусовым контактом, он же общий и контактом OUT, к примеру, светодиод, то при срабатывании сенсора, он будет светить.
А для чего же нужен контакт под номером 6 SYNC/MODE, спросите вы?
Этот контакт многие не замечают, но он очень важен для правильной работы сенсора. Если оставить его, никуда не подключая, контроллер будет работать в экономичном режиме, опрос (измерение времени заряда и разряда конденсатора) будет происходить 1 раз в 80 миллисекунд. А если подать на него напряжение (поставить перемычку между 5 и 6 контактами), то опрос будет происходить 1 раз в 1 миллисекунду, согласно информации из даташита (тех. документации). Это увеличивает его энергопотребление, но в то же время датчик работает в разы стабильнее. Для сравнения, если очень часто нажимать на кнопку 100 раз подряд в экономичном режиме, то 7 – 15 нажатий не будут распознаны. Проверено лично и я скажу, что это такой себе показатель.
Но если перевести его в режим Fast, то все 100 нажатий из 100 в моём случае были распознаны.
Можно сделать вывод, что если датчик используется для быстрых нажатий, например, кнопка, то его следует использовать в режиме Fast, а если датчик используется, например, для определения наполнения емкости водой, т.е. вода будет медленно подниматься до сенсора, можно оставить его в режиме экономии.
Так же заметил, что по мере увеличения напряжения питания, увеличивается дальность срабатывания сенсора. Так, например, при питании от 3 вольт, датчик приближения регистрировал срабатывание на расстоянии 4 см, а при питании 5 вольт на расстоянии около 6 см. Но при питании 5 вольт случались ложные срабатывания и наблюдалась нестабильность в работе.
Кстати, датчик совсем неприхотлив к питанию. Рекомендуют поставить конденсатор 100 мкФ на входе, но я последнее время обходился без него.
Еще одна очень важная особенность это то, что такой датчик не работает через металлические предметы, а полигоны с заземлением вблизи сенсора вызывают уменьшение дальности его срабатывания.
Серия 1010 и 1011 максимально похожа на обычную кнопку на примере со светодиодом, нажал – светодиод горит, отпустил – гаснет.
Единственное отличие 1010 от 1011 серии это то, что в 1010 предусмотрена автоматическая перекалибровка эталонного значения. Таким образом, если удерживать датчик в состоянии, когда вы касаетесь сенсора, то через определенное время датчик перекалибруется и ваш палец будет распознан как часть сенсора и срабатывание не произойдет. Но так же в режиме реального времени происходит обратная калибровка на всех сериях контроллера. Если после описанного выше убрать палец на некоторое время, контроллер перекалибруется на уменьшение емкости и ваш палец вновь будет распознан. В экономичном режиме перекалибровка происходит через 60 секунд, а в режиме Fast она зависит от конденсатора Sc и чего-то еще, неведомого мне и составляет от 15 до 30 секунд при емкости 4,7 Нанофарада.
А серия 1012 работает как переключатель, нажимаешь – активен, еще раз нажимаешь – неактивен.
Кстати, оптимальным нашел для сенсорной кнопки следующее соотношение: В качестве конденсатора использовал керамический SMD типоразмера 1206 на 4,7 нанофарад, резистор на 15 кОм, сенсорную площадку диаметром 9 миллиметров, подключенную на минус питания через конденсатор 2 пикофарада
Так же было замечено, что при емкости выше 20 нанофарад контроллер залипал в активном положении, даже если убрать палец от сенсора. Исправить это никак не удавалось.
Итак, подытожим:
Из плюсов:
- Надежность
- Простота в применении
- Низкое энергопотребление
- Невосприимчивость к наводкам от сети 50 Гц
- Хорошая помехозащищенность
- Широкая область применения
- В самый раз новичкам
- Легко монтируется на печатную плату
Недостатки:
- Дороговизна, один контроллер стоит в районе 50 рублей. Если в устройстве будет использоваться множество сенсоров, советовал бы присмотреться к другим моделям, н-р AT42QT1040
- При, казалось бы, крошечных размерах, для некоторых проектов может оказаться слишком велик.
- Отсутствие тактильных нажатий, но об этом даже не заморачивайтесь
В интернете очень популярен китайский контроллер TTP223, я им тоже пользовался и могу сказать, что это небо и земля. Рассмотренный чип в разы превосходит своего китайского друга по всем параметрам, а в частности, AT42QT101* практически не имеет ложных срабатываний при правильном подборе питания и защите от помех, а так же на личном опыте показал 100% распознавание в режиме Fast, состоящего из 400 разнообразных нажатий на сенсор. Эксперимент проводился при съемке замедленного видео с последующим просмотром и анализом.
Фото летнего проекта, 6 выносных сенсорных кнопок. Полигоны не использовались. SMD 1206
Всем спасибо за внимание и всегда соблюдайте ТЕХНИКУ БЕЗОПАСНОСТИ во всём! Удачи и успехов!)