Построение систем емкостных датчиков прикосновений На базе MSP430. Датчики касания и звуковые

Емкостной датчик – это один из типов бесконтактных датчиков, принцип работы которого основан на изменении диэлектрической проницаемости среды между двух обкладок конденсатора. Одной обкладкой служит сенсорный датчик схемы в виде металлической пластины или провода, а второй – электропроводящее вещество, например, металл, вода или тело человека.

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

Получился универсальный емкостной сенсорный датчик, который не требует настройки и реагирует на приближающиеся электропроводящие предметы, в том числе и человека, на расстояние до 5 см. Область применения предлагаемого сенсорного датчика не ограничена. Его можно применять, например, для включения освещения, систем охранной сигнализации, определения уровня воды и в многих других случаях.

Электрические принципиальные схемы

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

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

Схема емкостного сенсорного датчика

Основой схемы емкостного сенсорного датчика присутствия является задающий генератор прямоугольных импульсов, выполненный по классической схеме на двух логических элементах микросхемы D1.1 и D1.2. Частота генератора определяется номиналами элементов R1 и C1 и выбрана около 50 кГц. Значение частоты на работу емкостного датчика практически не влияет. Я менял частоту от 20 до 200 кГц и влияния на работу устройства визуально не заметил.

С 4 вывода микросхемы D1.2 сигнал прямоугольной формы через резистор R2 поступает на входы 8, 9 микросхемы D1.3 и через переменный резистор R3 на входы 12,13 D1.4. На вход микросхемы D1.3 сигнал поступает с небольшим изменением наклона фронта импульсов из-за установленного датчика, представляющего собой кусок провода или металлическую пластину. На входе D1.4, из за конденсатора С2, фронт изменяется на время, необходимое для его перезаряда. Благодаря наличию подстроечного резистора R3, есть возможность фронты импульса на входе D1.4, выставить равным фронту импульса на входе D1.3.

Если приблизить к антенне (сенсорному датчику) руку или металлический предмет, то емкость на входе микросхемы DD1.3 увеличится и фронт поступающего импульса задержатся во времени, относительно фронта импульса, поступающего на вход DD1.4. чтобы «уловить» эту задержку про инвертированные импульсы подаются на микросхему DD2.1, представляющую собой D триггер, работающий следующим образом. По положительному фронту импульса, поступающего на вход микросхемы C, на выход триггера передается сигнал, который в тот момент был на входе D. Следовательно, если сигнал на входе D не изменяется, поступающие импульсы на счетный вход C не оказывают влияния на уровень выходного сигнала. Это свойство D триггера и позволило сделать простой емкостной сенсорный датчик.

Когда емкость антенны, из за приближения к ней тела человека, на входе DD1.3 увеличивается, импульс задерживается и это фиксирует D триггер, изменяя свое выходное состояние. Светодиод HL1 служит для индикации наличия питающего напряжения, а HL2 для индикации приближения к сенсорному датчику.

Схема сенсорного включателя

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

Схема емкостного датчика была немного доработана. Для исключения ложных срабатываний, так как человек может подносить и удалять руку медленно, из-за наличия помех датчик может выдавать на счетный вход D триггера несколько импульсов, нарушая необходимый алгоритм работы включателя. Поэтому была добавлена RC цепочка из элементов R4 и C5, которая на небольшое время блокировала возможность переключение D триггера.


Триггер DD2.2 работает так же, как и DD2.1, но сигнал на вход D подается не с других элементов, а с инверсного выхода DD2.2. В результате по положительному фронту импульса, приходящего на вход С сигнал на входе D изменяется на противоположный. Например, если в исходном состоянии на выводе 13 был логический ноль, то поднеся руку к сенсору один раз, триггер переключится и на выводе 13 установится логическая единица. При следующем воздействии на сенсор, на выводе 13 опять установится логический ноль.

Для блокировки включателя при отсутствии человека на унитазе, с сенсора на вход R (установка нуля на выходе триггера вне зависимости от сигналов на всех остальных его входах) микросхемы DD2.2 подается логическая единица. На выходе емкостного выключателя устанавливается логический ноль, который по жгуту подается на базу ключевого транзистора включения электромагнитного клапана в Блоке питания и коммутации.

Резистор R6, при отсутствии блокирующего сигнала с емкостного датчика в случае его отказа или обрыва управляющего провода, блокирует триггер по входу R, тем самым исключает возможность самопроизвольной подачи воды в биде. Конденсатор С6 защищает вход R от помех. Светодиод HL3 служит для индикации подачи воды в биде.

Конструкция и детали емкостных сенсорных датчиков

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

Сенсорного датчика присутствия

По выше опубликованной схеме сделал опытный образец. Детали емкостного датчика собраны на печатной плате, плата размещена в пластмассовой коробке и закрывается крышкой. Для подключения антенны в корпусе установлен одноштырьковый разъем, для подачи питающего напряжения и сигнала установлен четырех контактный разъем РШ2Н. Соединена печатная плата с разъемами пайкой медными проводниками в фторопластовой изоляции.

Сенсорный емкостной датчик собран на двух микросхемах КР561 серии, ЛЕ5 и ТМ2. Вместо микросхемы КР561ЛЕ5 можно применить КР561ЛА7. Подойдут и микросхемы 176 серии, импортные аналоги. Резисторы, конденсаторы и светодиоды подойдут любого типа. Конденсатор С2, для стабильной работы емкостного датчика при эксплуатации в условиях больших колебаниях температуры окружающей среды нужно брать с малым ТКЕ.

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


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

Для настойки чувствительности сенсорного датчика необходимо после его установки на унитаз, изменяя сопротивление подстроечного резистора R3 добиться, чтобы светодиод HL2 погас. Далее положить руку на крышку унитаза над местом нахождения сенсора, светодиод HL2 должен загораться, если руку убрать, потухнуть. Так как бедро человека по массе больше руки, то при эксплуатации сенсорный датчик, после такой настройки, будет работать гарантировано.

Конструкция и детали емкостного сенсорного включателя

Схема емкостного сенсорного включателя имеет больше деталей и для их размещения понадобился корпус большего размера, да и по эстетическим соображениям, внешний вид корпуса, в котором был размещен сенсорный датчик присутствия не очень подходил для установки на видном месте. Внимание на себя обратила настенная розетка rj-11 для подключения телефона. По размерам она подходила и имела хороший внешний вид. Удалив из розетки все лишнее, разместил в ней печатную плату емкостного сенсорного выключателя.


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


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


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


Настройка емкостного выключателя практически не отличается от настройки сенсорного датчика присутствия, описанного выше. Для настойки нужно подать питающее напряжение и резистором отрегулировать, чтобы светодиод HL2 загорался, когда к датчику подносится рука, и гас, при ее удалении. Далее нужно активировать сенсорный датчик и поднести и удалить руку к сенсору выключателя. Должен мигнуть светодиод HL2 и загореться красный светодиод HL3. При удалении руки красный светодиод должен продолжать светиться. При повторном поднесении руки или удалении тела от датчика, светодиод HL3 должен погаснуть, то есть выключить подачу воды в биде.

Универсальная печатная плата

Представленные выше емкостные датчики собраны на печатных платах, несколько отличающихся от печатной платы приведенной ниже на фотографии. Это связано с объединением обеих печатных плат в одну универсальную. Если собирать сенсорный включатель, то необходимо только перерезать дорожку под номером 2. Если собирать сенсорный датчик присутствия, то удаляется дорожка номер 1 и не все элементы устанавливаются.


Не устанавливаются элементы, необходимые для работы сенсорного включателя, но мешающие работе датчика присутствия, R4, С5, R6, С6, HL2 и R4. Вместо R4 и С6 запаиваются проволочные перемычки. Цепочку R4, С5 можно оставить. Она не будет влиять на работу.

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

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

Безотказная работа емкостных датчиков для сенсорной системы управления подачи воды в биде подтверждена на практике в течении трех лет постоянной эксплуатации. Сбоев в работе не зафиксировано.

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

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

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

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

Принципиальная схема датчика прикосновения показана на Рисунке 1.

Схема напоминает автогенератор на транзисторе n-p-n структуры. Один из выводов обмотки L1 подключается непосредственно к входному контакту X1. Полярность включения светодиода VD1 не имеет значения. Резистор R2 ограничивает ток через светодиод и, тем самым, определяет яркость его свечения при срабатывании датчика.

Датчик прикосновения собран на макетной плате размером 40 × 40 мм. Внешний вид конструкции показан на Рисунке 2.

Рисунок 2. Внешний вид датчика прикосновения.

Обмотки L1 и L2 расположены на общем каркасе с двумя секциями для намотки и подстроечным ферритовым сердечником. Наружный диаметр каркаса - 10 мм, длина сердечника - 23 мм, диаметр резьбы у основания сердечника - 6 мм. В конструкции, показанной на Рисунке 2, L1 намотана на верхней секции, L2 - на нижней. Каждая катушка содержит 100 витков провода ПЭЛ 0,2. Обмотки включены согласно. При помощи отвертки сердечник ввинчивается внутрь каркаса. Светодиод VD1 - любой из серии АЛ307 . В качестве Х1 использован лепесток заземления. Прикосновение к нему вызывает зажигание светодиода.

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

Схема не привередлива к выбору элементной базы. К примеру, в первоначальном варианте схемы применялся транзистор КТ815Г , сопротивление резистора R1 составляло 100 кОм. В качестве L1 и L2 использовались две катушки на стержневом ферритовом сердечнике длинноволновой магнитной антенны из радиоприемника. Катушки можно было двигать вдоль сердечника. При перемещении катушек наблюдались явления, не противоречащие закону электромагнитной индукции, в отличие от схемы, предложенной в . При значительном удалении катушек друг от друга и без ферритового сердечника схема работать переставала.

Практическое применение схема может найти не только при конструировании измерителей напряженности поля, но и в устройствах автоматики и сигнализации. Датчик прикосновения можно подключить к микроконтроллеру. Для этого следует выполнить аналого-цифровое преобразование напряжения на светодиоде VD1, возможно, с помощью ресурсов самого микроконтроллера, если он содержит встроенный АЦП.

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

Литература

  1. Бровин В. И. Явление передачи энергии индуктивностей через магнитные моменты вещества, находящегося в окружающем пространстве, и его применение. - М.: МетаСинтез, 2003 - 20 с.
  2. Крылов К. С., Ли Жаехо, Ким Янг Жин, Ким Сеунгхван, Ли Санг-Ха. Патент на изобретение №2395876. Активная магнитная антенна с ферритовым сердечником.

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

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

Описание работы сенсорного датчика прикосновения

Функционирование ниже приведенной схемы сенсора основывается на применении имеющегося в домах электромагнитного поля, которое создает размещенная в стенах электропроводка.

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

Данный сенсорный датчик прикосновения достаточно прост вследствие применения полевого транзистора КП501А (Б, В). Данный транзистор обеспечивает пропускание тока до180 мА при предельном напряжении исток-сток до 240В для буквы А и 200В для букв Б и В. Для защиты от статического электричества на его входе имеется диод.

Полевой транзистор обладает большим входным сопротивлением, и для того чтобы управлять им хватает статического напряжения, которое больше порогового значения. Для данного типа полевого транзистора номинальное пороговое напряжение составляет 1…3 В, а максимально допустимое равно 20 В.

При прикосновении рукой к датчику Е1, степень наведенного потенциала на затворе является достаточной для открывания транзистора. При этом на стоке VT1 будут электрические импульсы продолжительностью 35 мс, и имеющие частоту электрической сети 50 Гц. Для переключения большинства электромагнитных реле необходимо всего 3…25 мс. Для предотвращения дребезга контактов реле, в момент прикосновения, в схему включен конденсатор C2. За счет накопленного заряда на конденсаторе, реле будет включенным даже в тот полупериод сетевого напряжения, когда VT1 будет закрыт. Пока есть прикосновение к датчику сенсора, реле будет во включенном состоянии.

Конденсатор C1 увеличивает помехоустойчивость сенсора к высокочастотным радиопомехам. Менять чувствительность прикосновения к сенсору можно путем изменения емкости C1 и сопротивления R1. Группа контактов К1.1 осуществляет управление внешними электронными устройствами.

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

Емкостной датчик прикосновений

Основным элементом, необходимым для реализации системы емкостных датчиков является конденсатор переменной емкости. Он должен иметь простую конструкцию и чувствительность к прикосновениям. Так как чувствительный элемент построен как «открытый» конденсатор, электрическое поле может взаимодействовать с внешним емкостным объектом, в нашем случае — пальцем. На рисунке 1 показан вид сверху и сбоку емкостного датчика, реализованного непосредственно на плате.

Рис. 1.

Как показано на рисунке 1, конденсатор образуется между проводящим слоем и заземлением. Взаимодействие проводящего слоя и окружающих его проводников создают базовую емкость, величина которой может быть измерена. Базовая емкость такого датчика составляет около 10 пФ. Когда проводник, т.е. палец, приближается к открытому конденсатору, в результате интерференции электрического поля, изменяется емкость конденсатора. Из-за емкости пальца, емкость датчика увеличивается даже без прикосновения. С помощью измерения емкости датчика и сравнивания каждого результата с базовой емкостью, микроконтроллер может определить не только факт нажатия кнопки, но и последовательность включений, что используется для реализации более сложных интерфейсов, таких как слайдеры.

Чувствительность датчика зависит от расстояния между проводящим и заземляющим слоем. Рекомендованное расстояние — 0,5 мм. Кроме этого, общая чувствительность системы зависит от толщины платы: при уменьшении толщины платы уменьшается чувствительность. Рекомендованная толщина платы 1…1,5 мм.

Емкость датчика без емкости пальца составляет около 5…10 пФ.

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

Конструкция датчика и интерфейса с пользователем

Полный интерфейс состоит из самого емкостного датчика (реализованного на плате), а также из диэлектрика между датчиком и пальцем при его прикосновении.

Реализация емкостного датчика на печатной плате

Зависимости емкостного датчика могут быть отображены на примере обычного плоского конденсатора. Рисунок 2 отображает его ключевые элементы.

Рис. 2.

Под термином «базовая емкость» понимается результат измерения емкости датчика, который не был подвержен никакому воздействию. Для простоты в качестве базовой емкости возьмем емкость конденсатора, образованного проводящим слоем в верхней части печатной платы и заземляющим — в нижней (нижняя и верхняя пластины на рисунке 2).

Расстояние d определяется самой печатной платой. Как сказано ранее, при уменьшении d, увеличивается базовая емкость и уменьшается чувствительность. Удельные емкости пространства (e 0) и материала (e r) определяют диэлектрическую постоянную платы.

Площадь датчика A обычно ограничена размерами пальца, рассчитывается как среднее между пальцем ребенка и взрослого. Нужно обратить внимание, что площадь датчика, которую не перекрывает палец, является бесполезной.

Таким образом, в процессе разработки нужно минимизировать базовую емкость датчика. Условием хорошей чувствительности и надежности системы является максимизация изменения емкости при приближении пальца к датчику. Конечно, эти две цели взаимоисключающие: при увеличении площади датчика до размеров пальца увеличивается базовая емкость, так как она пропорциональна А.

Рис. 3.

На рисунке 3 показано расположение кнопок и слайдера, используемое в качестве примера в этом документе.

Рис. 4. Построение слоев (красный — верхний сигнальный слой, синий — нижний заземляющий слой)

На рисунке 4 показаны четыре варианта размещения датчика на печатной плате, отличающиеся по построению заземляющего слоя.

Вверху слева отображен только верхний сигнальный слой: четыре прокладки датчика, окруженные верхним заземляющим слоем; нижний слой не используется. В верхней правой части рисунка показан такой же дизайн платы с заполнением заземляющего слоя 25%. Внизу слева — версия с 50% и справа — 100% заполнением.

Рекомендуется использовать несколько заземляющих слоев под каждым датчиком для изоляции элементов датчика от шума и других внешних изменений, способных вызвать изменение базовой емкости. Очевидно, что 100% заполнение, как показано в левом нижнем углу рисунка 4, обеспечивает максимальную шумовую изоляцию, а также увеличивает базовую емкость. Для получения оптимального соотношения шумовой изоляции и базовой емкости, принято использовать заполнение от 50% до 75%.

Изоляционный слой датчика

В этом типе приложения изоляционный слой датчика выполняется из пластика. Благодаря этому слою, пальцы не контактируют непосредственно с датчиком. Модель, представленная на рисунке 2, может быть использована для визуализации интерфейса взаимодействия пальца и конденсатора. При этом нижняя обкладка выступает в роли датчика, а верхняя — палец пользователя. Становится ясным, что при увеличении площади взаимодействия до размеров пальца, увеличивается А, максимизируется изменение емкости. При увеличении слоя изоляции d, изменение емкости уменьшается обратнопропорционально. Ключевой момент, который нельзя игнорировать, это материал из которого выполняется изоляция. Диэлектрическая постоянная изоляционного материала, а так же его толщина очень сильно влияют на чувствительность и простоту использования емкостного датчика прикосновений. В таблице 1 представлены диэлектрические постоянные некоторых материалов.

Таблица 1. Диэлектрические постоянные материалов

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

Использование MSP430 для измерения емкости датчика прикосновений

Теперь рассмотрим два метода измерения емкости датчика прикосновений.

Метод измерения на основе осциллятора

Первый метод основан на использовании осциллятора. Реализовать этот метод можно на базе MSP430, с использованием его компаратора и емкостного датчика в качестве элемента настройки. Любые изменения емкости датчика приведут к изменению частоты, которая может быть измерена с помощью таймера Timer_A микроконтроллера MSP430. На рисунке 5 показан пример такой системы.

Рис. 5.

Резисторы R создают опору для компаратора, когда на Px.y установлен высокий уровень. Этот сигнал противоположен по полярности сигналу зарядки или разрядки емкости датчика (C sensor), что приводит к длительным осцилляциям. При равных значениях сопротивления R граничные значения составляют 1/3 V cc и 2/3 V cc , частота осцилляций вычисляется по формуле:

f OSC = 1/

Подсчитав число периодов осцилляций в течение заданного промежутка времени, можно вычислить частоту и измерить емкость. В рассматриваемом приложении сопротивление резистора R C составляет 100 кОм. В результате частота осцилляций равна приблизительно 600 кГц при емкости датчика 10 пФ.

В качестве источника тактового сигнала используется интегрированный 12 килогерцовый VLO. Этот сигнал подается на сторожевой таймер WDT. С каждым прерыванием сторожевого таймера ядро анализирует состояние регистра таймера Timer_A, TAR. Вычисляется разница двух последних значений регистра. В реальности абсолютное значение емкости не нужно, интересно только ее изменение.

Возможно построение системы с несколькими емкостными датчиками. Для этого требуется построение мультиплексора на компараторе Comparator_A+ (рисунок 6).

Рис. 6.

Для реализации системы требуется по одному резистору на каждый датчик и три резистора для компаратора.

Метод измерения емкости на основе резистора

Второй метод измерения емкости датчика прикосновений основан на использовании внешнего резистора для зарядки или разрядки емкостного датчика. Для зарядки или разрядки используется один из портов MSP430, время заряда или разряда измеряется с помощью встроенного таймера Timer_A. На рисунке 7 изображен пример системы с использованием микроконтроллера MSP430 для измерения времени разряда конденсатора.

Рис. 7.

При значении емкости C sensor = 10 пФ и R = 5,1 М время разрядки составляет около 250 мкс. Px.y конфигурируется как выход с высоким уровнем для зарядки конденсатора. Он может быть переконфигурирован как вход, для разряда C sensor через R. Максимальный ток через порт MSP430 составляет ±50 нА.

Если порт Px.y поддерживает работу с прерываниями (у MSP430 это порты P1.x и P2.x), внутренний сигнал низкого уровня может использоваться как порог, при достижении которого они генерируются. При получении этого прерывания, ядро анализирует содержимое регистра таймера Timer_A. Таймер может использовать в качестве источника тактового сигнала внутренний DCO. Частота генерируемого сигнала при этом составляет 8 или 16 МГц (в зависимости от семейства MSP430).

Рис. 8.

На рисунке 8 показан один измерительный цикл. Таймер начинает отсчет с нуля и в момент, когда напряжение на датчике достигает порога V IT , значение таймера считывается. Также таймер может работать в режиме постоянного счета, при этом нужно производить считывание его значений в момент начала и конца разряда конденсатора и вычислять их разницу. При увеличении емкости датчика возрастает время разряда конденсатора и увеличивается число циклов таймера за время измерения.

Выше говорилось, что для каждого порта нужен один резистор. Схему можно упростить, если использовать один резистор для двух портов. Во время измерения емкости одного из датчиков порт, подключенный ко второму должен иметь низкий уровень сигнала, т.е. служит заземлением для разрядки емкости. Другое достоинство такой схемы в том, что емкость каждого датчика может быть измерена в двух направлениях: зарядка от нуля до высокого уровня и разрядка от V cc до порога низкого уровня. На рисунке 9 показан этот метод.

Рис. 9.

Подсчет тактов нужно производить два раза: во время заряда и разряда. При этом шум 50/60 МГц оказывает меньше влияния на результат измерения.

Программное обеспечение

После того как результат измерения получен, его нужно программно интерпретировать. Шум источника питания, сдвиг частоты синхронизации, внешние 50/60 МГц шумы могут привести к неправильному принятию решения.

Иногда для эффективности можно отбросить несколько младших битов результата. Это приемлемо, если нужно отслеживать только факт нажатия кнопки. Но если требуется более высокое разрешение, этого себе позволить уже нельзя. Низкочастотная фильтрация и простое усреднение нескольких полученных результатов может помочь сгладить шумы. Но для достижения низкого энергопотребления наличие младших битов результата измерения более критично.

Отслеживание базовой емкости датчика

Без возможности динамически отслеживать изменения емкости датчика, всякого рода нестабильности могут привести к ложному обнаружению нажатия кнопки или ее «залипания». Рассмотрим вариант с простой кнопкой, которая имеет два состояния: включена/выключена. В случае если результат смещается, он может приблизиться к порогу, при достижении которого кнопка считается нажатой, то есть произойдет ложное срабатывание.

Один из методов отслеживания и подстройки базовой емкости показан на рисунке 10.

Нужно обратить внимание на то, что эти действия выполняются для каждого датчика отдельно. Вычисление переменной "Delta" и подстройка "base" производится по-разному в RO- и RC-алгоритмах. В RO измеренное значение уменьшается, когда емкость конденсатора увеличивается; а в RC измеренное значение увеличивается.

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

При увеличении результата измерения емкости рекомендуется подстраивать базовое значение более медленно. Увеличение результата может означать не только сдвиг в результате ошибок, но и в результате движения пальца в направлении датчика. И если базовое значение подстраивается быстро, реальное прикосновение пальца может быть не замечено. Для этого рекомендуется подстраивать базовое значение только на единицу каждый цикл измерения (рисунок 10).

Рис. 10.

Реализация функции обычной кнопки

Построение кнопок является самым распространенным вариантом использования емкостных датчиков. На рисунке 11 дан пример построения системы с четырьмя кнопками.

Рис. 11.

Порог, при котором принимается решение, что кнопка нажата, должен быть выше шумов.

Реализация функции слайдера

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

Самый простой вариант построения слайдера можно организовать, если для каждого датчика определить несколько позиций. В примере, приведенном ниже (рисунок 12), рассматривается система, в которой для каждого датчика определено 16 позиций. В результате получается 64-позиционная система.

Рис. 12.

В качестве DELTAMAX выбирается максимальное значение емкости, которое может быть достигнуто. Затем производится деление диапазона от 0 до DELTAMAX на определенное число шагов Steps. Ноль соответствует случаю, когда кнопка не нажата. По максимальному значению определяется положение пальца. Более линейная передаточная характеристика системы достигается с помощью интерполяции значений всех датчиков.

Мультиплексирование датчиков для построения слайдера

При построении слайдера расширить число датчиков при ограниченном числе портов ввода/вывода можно посредствам мультиплексирования. При этом к одному выводу подключается несколько датчиков. Дополнительный датчик приводит только к увеличению базовой емкости. Однако, при увеличении базовой емкости, в момент воздействия только на один из датчиков, отклик датчика меньше. Поэтому, обычно вместе не соединяют более двух датчиков.

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

Рис. 13.

Заключение

В статье рассмотрены два метода реализации емкостных датчиков прикосновения с использованием MSP430. Каждый из методов имеет свои достоинства и недостатки. Рассмотрим основные из них.

  • Метод на основе осциллятора:

— Требуется микроконтроллер с компаратором Comp_A+;
— Число независимых датчиков ограничено количеством входов Comp_A+;
— Требуется один внешний резистор R на каждый датчик, а также цепь из трех R;
— Чувствительность ограничена потреблением мощности (программируемое время измерения);

  • Метод на основе резистора:

— Может быть реализован на любом микроконтроллере MSP430;
— До 16 независимых датчиков (16 портов ввода/вывода, работающих с прерываниями);
— Один внешний резистор R на каждые два датчика;
— Чувствительность ограничена максимальной частотой микроконтроллера (фиксированное время измерения);
— Минимальное потребление энергии;

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

Полное описание различных примеров применений MSP430, исходные тексты программ, дополнительную информацию можно найти на сайте www.сайт в разделе, посвященном микроконтроллерам.

Получение технической информации, заказ образцов, поставка —
e-mail:

Новое семейство тактовых генераторов

Компания Texas Instruments представила семейство программируемых тактовых генераторов, имеющих от 1 до 4 схем ФАПЧ. ИС позволяют генерировать до 9 тактовых сигналов, синтезируемых из одной входной частоты. Каждый выход поддерживает внутрисистемное программирование частоты до 230 МГц. Перечисленные особенности предоставляют ряд преимуществ. В их числе — пониженное потребление, более быстрый процесс проектирования и простота изменения тактовых частот без необходимости повторного проектирования системы. Эти преимущества позволят существенно снизить стоимость потребительских приложений, в т.ч. IP ТВ-приставок, IP-телефонов, цифровых медиасистем (цифровые телевизоры, устройства с потоковыми медиаданными, принтеры, навигационные системы и портативные устройства).

Новые тактовые генераторы оптимизированы на работу совместно с процессорами DaVinci TM (TI) для генерации тактовых сигналов цифровых процессоров, аудио АЦП или кодеков, а также контроллеров Ethernet или USB. Встроенный кварцевый генератор, управляемый напряжением (VCXO) позволяет выполнить частотную синхронизацию различных потоков данных.

Состав нового семейства тактовых
генераторов
Наименование ФАПЧ Выход, В
CDCE949 4 2,5/3,3
CDCE937 3 2,5/3,3
CDCE925 2 2,5/3,3
CDCE913 1 2,5/3,3
CDCEL949 4 1,8
CDCEL937 3 1,8
CDCEL925 2 1,8
CDCEL913 1 1,8
О компании Texas Instruments

Датчик касания для Arduino

Модуль представляет собой сенсорную кнопку, на его выходе формируется цифровой сигнал, напряжение которого соответствует уровням логических единицы и нуля. Относится к емкостным датчикам касания. С такого рода устройствами ввода данных мы сталкиваемся при работе с дисплеем планшета, айфона или тачскрин монитора. Если на мониторе мы нажимаем на иконку стилусом или пальцем, то здесь для этого используется область поверхности платы размером с иконку Windows касание которой производится только пальцем, стилус исключается. Основа модуля микросхема TTP223-BA6 . Есть индикатор питания.

Управление ритмом воспроизведения мелодии

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

Характеристики

Напряжение питания 2,5 - 5,5 В
Время отклика на касание в различных режимах потребления тока
низкое 220 мс
обычное 60 мс
Выходной сигнал
Напряжение
высокий лог. уровень 0,8 Х напряжение питания
низкий лог. уровень 0,3 Х напряжение питания
Ток при питании 3 В и логических уровнях, мА
низкий 8
высокий -4
Размеры платы 28 x 24 x 8 мм

Контакты и сигнал

Нет касания - выходной сигнал имеет низкий логический уровень, касание - на выходе датчика логическая единица.

Почему это работает или немного теории

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

Режим пониженного потребления

После подачи питания датчик касания находится в режиме пониженного энергопотребления. После срабатывания на 12 секунд модуль переходит в обычный режим. Если далее касание не произошло, то модуль вернется в режим пониженного потребления тока. Скорость реакции модуля на касание в различных режимах приведена в характеристиках выше.

Работа совместно с Arduino UNO

Загрузите в Arduino UNO следующую программу.

#define ctsPin 2 // Контакт подключения линии сигнала датчика касания
int ledPin = 13; // Контакт для светодиода

Void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
pinMode(ctsPin, INPUT);
}

Void loop() {
int ctsValue = digitalRead(ctsPin);
if (ctsValue == HIGH){
digitalWrite(ledPin, HIGH);
Serial.println("TOUCHED");
}
else{
digitalWrite(ledPin,LOW);
Serial.println("not touched");
}
delay(500);
}

Соедините датчик касания и Arduino UNO как показано на рисунке. Схему можно дополнить включающимся при касании датчика светодиодом, подключенным через резистор 430 Ом к контакту 13. Сенсорные кнопки часто оснащают индикатором касания. Так удобней работать оператору. При нажатии на механическую кнопку мы чувствуем щелчок независимо от реакции системы. Здесь новизна технологии немного удивляет из-за нашей моторики сложившейся годами. Индикатор нажатия избавляет нас от излишнего ощущения новизны.

Статьи по теме: