Содержание

Технология mTouch(tm). Создание емкостных клавиатур, сенсоров и экранов.

Часть 1. Обзор методов измерения емкости. Аппаратные методы повышения помехоустойчивости, экранирование.

Наверняка каждый из нас хоть раз сталкивался, а многие уже давно пользуются приборами с емкостными сенсорными кнопками и емкостными экранами. Сенсорные панели используются в бытовых приборах (кухонные варочные поверхности и вытяжки, телевизоры), компьютерной технике (Touch Pad ноутбуков), платежных терминалах, планшетных компьютерах, смартфонах и других массовых приборах. Преимущества сенсорных технологий очевидны – увеличение надежности по сравнению с контактными кнопками, улучшение внешнего вида приборов.

Компания Microchip уделяет большое внимание сенсорным технологиям. Сенсорные технологии Microchip, объединенные под общим названием mTouch, предлагают разработчикам различные методы работы с сенсорами, микроконтроллеры поддержанные библиотеками программ, специализированные микросхемы для работы, как с одиночными емкостными сенсорами, так и с емкостными экранами с поддержкой multi Touch, распознавания 2D и 3D жестов. В статье представлен анализ предлагаемых компанией Microchip Technology Inc. технологий под общим наименованием «mTouch™»

Основы работы емкостной кнопки и сенсоров приближения (Proximity)

В основе работы с емкостными сенсорами лежит измерение емкости. Емкость конденсатора описывается формулой:

C = εr ε0 S/d {1}
где
εr – диэлектрическая проницаемость материала,
S – площадь конденсатора,
d – расстояние между обкладками конденсатора.

Обычно емкостной сенсор – это участок металлизации на печатной плате (хотя это не обязательно так – рассмотрим другие варианты позже). Емкость такого сенсора определяется базовой (паразитной) емкостью сенсора (CP) и емкостью CF, вносимой при «касании» сенсора или покрывающего его лицевой панели или при приближении к сенсорной поверхности в случае реализации датчика приближения. Таким образом, задача детектирования касания сенсора, это задача измерения емкости CF, причем нам не нужно знать абсолютное значение вносимой емкости, главное детектировать изменение емкости.

Общая емкость сенсора C_SENSOR определяется как:

CSENSOR = CF + CP {2}
где
CF – емкость, вносимая при «касании» сенсора,
CP – паразитная емкость сенсора.


В зависимости от конфигурации печатной платы величина паразитной емкости может достигать значений 50-100пФ, в то время как вносимая при касании емкость лежит в диапазоне 1-15пФ. Таким образом, задача определения «касания» сенсора состоит в детектировании достаточно малых изменений емкостей.

Методы измерения емкости.

Существует несколько методов измерения емкости, рассмотрим некоторые из них. Самый простой способ измерения емкости, это частотный метод. В данном методе емкостной сенсор является частотозадающим элементом генератора. Для построения такого генератора может использоваться интегрированная в PIC микроконтроллеры периферия – от простого компаратора 1), до связки компараторов с RS-триггером 2) или специализированного периферийного модуля CSM 3).

Простейшую емкостную кнопку или датчик приближения можно сделать на одном 6-и выводном микроконтроллере с интегрированным компаратором PIC10F и двух внешних элементах – диоде и резисторе [1]. Более совершенные схемы для реализации многоканального сенсорного управления могут быть построены с использованием встроенного RS-триггера и двух компараторах или специализированного периферийного модуля CSM – Capacitive Sensing Module (тоже частотный метод измерения, не требует внешних элементов).

mtouch1_3.jpg mtouch1_4.jpg

Рис 1. Пример реализации сенсорной кнопки на встроенных в микроконтроллер RS-триггере и двух компараторах.

mtouch1_5.jpg
Рис. 2. Увеличение числа емкостных кнопок за счет использования встроенного мультиплексора.

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

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

V=I t/C {3}
где
I – ток,
t – время заряда,
C - емкость.


Многие микроконтроллеры семейств PIC18, PIC24 и PIC32 имеют аппаратный модуль измерения времени заряда (CTMU – Charge Time Measurement Unit), который имеет программируемый источник тока. При постоянном токе и заданном времени заряда напряжение на конденсаторе будет зависеть только от емкости конденсатора (см. рис.3).

mtouch1_6.jpg mtouch1_7.jpg

Рис. 3. Измерение емкости с помощью CTMU.

Подробно об измерении емкости с помощью модуля CTMU описано в 5).

Емкостной делитель напряжения.

Более подробно хотелось бы остановиться на методе измерения емкости с помощью емкостного делителя напряжения (Capacitive Voltage Divider). Метод основан на уравнивании зарядов двух емкостей. Например, мы имеем два конденсатора, емкость одного из них постоянна (С1), емкость другого (С2) – может меняться. Если зарядить С1 до напряжения VDD и подключить к разряженному C2, то часть заряда «перетечет» из С1 в С2 и изменится общее напряжение на обоих конденсаторах. Результирующее напряжение будет зависеть от соотношения емкостей С1 и С2 и при изменении одной из емкости так же будет меняться и напряжение. Для применения метода CVD для построения сенсорных клавиатур в качестве С1 используют емкость устройства выборки и хранения – УВХ АЦП (CHOLD), а в качестве С2 – емкость сенсора (CSENSOR = CP + CF). Метод CVD имеет несколько преимуществ:

  • используется только модуль АЦП микроконтроллера, что позволяет использовать этот метод для большинства микроконтроллеров;
  • низкая температурная зависимость: при изменении температуры от -20С до +60С смещения сигнала изменяется лишь на 1-3%;
  • низкое влияние изменения напряжения питания;
  • возможность дифференциального измерения, для увеличения чувствительности и фильтрации низкочастотных помех.

Метод CVD позволяет измерять емкость сенсора относительно емкости устройства выборки и хранения АЦП. Спецификация PIC микроконтроллеров определяет типовое значение емкости УВХ АЦП, однако из-за технологических особенностей производства микроконтроллеров величина емкости в зависимости от экземпляра микроконтроллера может отличаться на величину до 20%. По этой причине метод CVD не рекомендован для измерения абсолютного значения емкости. Емкостные сенсоры приближения и касания не требуют измерения абсолютного значения емкости – главное точно измерить изменение емкости. Именно с этой задачей отлично справляется метод CVD.

Рассмотрим последовательность действий при измерении емкости с помощью метода CVD.

  • Предварительный заряд (рис.4а). Обе емкости заряжаются до фиксированных разнополярных значений напряжений (CHOLD заряжен до напряжения питания VDD, CSENSOR до VSS – вывод МК настроен как выход с уровнем лог. «0»). Тогда заряды на емкостях:

QHOLD = VHOLD CHOLD
QSENSOR = VSENSOR CSENSOR {4}

  • Выравнивание зарядов (рис. 4б). АЦП подключается к входу с сенсором, т.е. емкость УВХ подключается параллельно с емкостью сенсора. Вывод микроконтроллера с сенсором настраивается как вход.

CTOTAL = CHOLD + CSENSOR {5}

  • Измерение результирующего напряжения (рис.4в) VSAMPLE:

VSAMPLE = (VHOLD CHOLD + VSENSOR CSENSOR) / (CHOLD + CSENSOR) {6}

ASCII���Created with GIMP

Рис. 4. Этапы измерения емкости методом CVD. Предварительный заряд емкостей. Уравнивание напряжений. Измерение напряжения.

При дифференциальном CVD методе производятся два последовательных измерения: в первом измерении (А) CHOLD изначально заряжен, а CSENSOR разряжен, а во втором измерении (B) наоборот – CHOLD изначально разряжен, а CSENSOR заряжен (рис. 5).

Рис. 5. Дифференциальный CVD метод измерения.

Тогда измеренные напряжения для каждой стадии А и В:

VA = VSAMPLE {при VHOLD = VDD, VSENSOR = 0} VB = VSAMPLE {при VHOLD = 0, VSENSOR = VDD} {7}

В дифференциальном методе интерес представляет разница полученных напряжений (см. рис. 5), так как такое измерение позволяет фильтровать помехи:

V = | VB - VA | {8}

Тогда для двух состояний сенсора (нажатом и не нажатом) следует:

V∆PRESSED = VDD × (CP + CF - CHOLD) / (CP + CF + CHOLD ) {9}

V∆RELEASED = VDD × (CP - CHOLD) / (CP + CHOLD )

Рис. 6. Диаграммы напряжений при нажатом и не нажатом сенсоре.

Время между измерениями А и В должно быть минимизировано для увеличения полосы и подавления влияния низкочастотных помех.

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

С точки зрения помехоустойчивости и максимальной точности измерения идеальным является вариант, когда установившееся напряжение VSAMPLE при измерении А и В находится около половины напряжения питания. Это обеспечивается если емкости УВХ и сенсора одинаковы. На практике сложно получить такой трассировки печатной платы и конфигурации сенсоров для обеспечения равенства внутренней и внешних емкостей. Если внутренняя емкость будет больше внешней (или наоборот), то установившееся напряжение будет пропорционально смещено в ту или иную сторону относительно VDD/2. Для решения этой проблемы можно повторить стадию выравнивания зарядов для последовательного приближения установившегося напряжения к значению VDD/2 (многоступенчатое накапливание заряда).

Рассмотрим два примера.

  1. Внешняя емкость намного больше чем емкость УВХ. В этом случае перед второй стадией уравнивания повторно подзаряжаем меньшую емкость УВХ (рис. 7а) и переносим заряд в емкость сенсора, тем самым приближая установившееся значение напряжения ближе к уровню VDD/2.
  2. Внешняя емкость намного меньше чем емкость УВХ. В этом случае перед второй стадией уравнивания подзаряжаем меньшую емкость сенсора (рис. 7б).

Рис.7. Двухшаговый дифференциальный CVD.

Влияние длительностей стадий CVD на результат измерений.

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

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

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

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

Замечание. 
При всей видимой простоте метода CVD компания Microchip не рекомендует реализовывать метод самостоятельно.
Компания Microchip предоставляет программные библиотеки mTouch, в которых реализовано автоматическое сканирование каналов.
Библиотеки mTouch отлажены и протестированы для обеспечения высокого уровня подавления шумов.  

Табл. 1. Сравнение методов измерения.

Метод Необходимая периферия Быстродействие (время на канал) Потребление Достоинства и недостатки
Частотный Компаратор, RS-триггер или модуль CSM, таймер Единицы - десятки мс Среднее (-)шумы, (+)возможность работы с емкостными экранами (с модулем CSM)
CVD АЦП или аппаратный модуль CVD десятки мкс Низкое Хорошо работает если величина емкости сенсора меньше или сопоставима с емкостью УВХ АЦП. Применим для измерения относительного изменения емкости. Подавляет НЧ помехи.
CTMU Модуль CTMU Единицы мкс Низкое Больше точность чем у CVD при емкости сенсора больше емкости УВХ. Применим для измерения относительного и абсолютного значения емкости
Замечание. 
Когда начинается разработка системы с емкостными клавиатурами важно знать основное назначение разрабатываемого продукта, 
а именно как будет осуществляться его питание. 
Для приборов с питанием от сети основной проблемой являются наведенные (кондуктивные) помехи и обеспечение устойчивости к ним. 
Для таких устройств более подходят методы измерения емкости на основе CVD и CTMU (измерение напряжения). 
Для приборов с батарейным питанием  важным является наименьшее потребление. 
Для таких приборов подходят как частотный метод, так и измерение напряжения (CVD и CTMU).
Для устройств со смешанным питанием, например приборов которые имеют аккумуляторы и возможность подзаряда их от сети, нужно применять методы на основе измерения напряжения.
Если помехоустойчивость и низкое энергопотребление не являются взаимоисключающими,
сосредоточение внимание на одной проблеме будет означать, что принято компромиссное решение в решении другой.
Например, реализация ограничения скорости нарастания выходного фильтра для снижения чувствительности к шуму потребует увеличения частоты дискретизации системы,
которая приведет к увеличению общего потребления энергии.
Снижение напряжения питания это отличная идея для маломощных приложений, но при этом будет уменьшена восприимчивость к шумам.

Аппаратный модуль CVD.

Некоторые новые PIC микроконтроллеры получили модуль АЦП с возможностью формирования аппаратного измерения CVD. Аппаратный модуль CVD добавляет следующую функциональность 10-и битного АЦП:

  • Автоматическое формирование последовательности стадий дифференциального CVD на любом аналоговом входе,
  • Два набора регистров для хранения результатов преобразования АЦП на стадиях А и В,
  • Программно подключаемый к входу АЦП набор конденсаторов (от 0 до 28пФ с шагом 4пФ),
  • Конфигурируемые времена задержек для стадий предварительного заряда и уравнивания зарядов,
  • Синхронное управление защитным проводником (о влиянии защитного проводника см. в части «Способы увеличения помехоустойчивости»),
  • Опциональное подключение входа АЦП для наблюдения формы сигналов.

Набор внутренних конденсаторов поможет в случае, если емкость сенсора гораздо больше емкости УВХ. Подключение дополнительных внутренних конденсаторов поможет приблизить установившееся напряжение к величине VDD/2.

Табл. 2. Параметры микроконтроллеров с аппаратным модулем CVD.

Микроконтроллер Память 10-р АЦП с CVD EUART I2C™/SPI Число выводов
Программ, кСлов ОЗУ, Байт
PIC12LF1552 2 256 5 - 1 8
PIC16F1512 2 128 17 1 1 28
PIC16F1513 4 256 17 1 1 28

Аппаратные способы увеличения помехоустойчивости. Советы по проектированию.

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

Экранирующая заливка верхнего слоя печатной платы, выполненная с малым зазором до сенсора, увеличит величину емкости CBASE и уменьшит чувствительность (рис. 8б). Рекомендуется заземление верхнего слоя печатной платы выполнять сплошной заливкой (увеличивает вносимую емкость CF) с зазором до сенсора равным не менее 1-2-х толщин лицевой панели.

Экранирование (заземление) нижнего слоя существенно уменьшает чувствительность сенсора (рис. 8в) и увеличивает емкость CP, что в свою очередь еще уменьшает чувствительность системы (меньше соотношение CF/CP – меньше величина полезного сигнала).

mtouch1_13.jpg mtouch1_14.jpg mtouch1_15.jpg

Рис 8. Влияние экранирования на чувствительность емкостного сенсора.

Поэтому сплошное экранирование под сенсором применять не рекомендуется. Экранирующий полигон в виде сетки (см. рис.9), будет иметь меньшую величину базовой емкости, увеличит чувствительность сенсора и сохранит защиту сенсора от помех 6).

mtouch1_15.jpg mtouch1_16.jpg

Рис. 9. Изменение чувствительности сенсора от типа экрана.

Рекомендации по трассировке печатной платы с защитным заземлением:
Защитное заземление на верхнем слое печатной платы выполнять сплошной заливкой на расстоянии от сенсора равном 1-2 толщины лицевой панели.
Защитное заземление на нижнем слое печатной платы не рекомендуется располагать непосредственно под сенсором или,
если экранирование все же необходимо, выполнять в виде сетки.

Существенно повысить чувствительность можно путем введения защитного проводника-кольца (Guard Ring), который, по сути, является тем же низкоимпедансным экраном, но не с потенциалом «земли», а с потенциалом сенсора.

mtouch1_16.jpgmtouch1_17.jpgmtouch1_18.jpgmtouch1_19.jpg
экранирование без защитного кольца экранирование с защитным кольцом вокруг сенсора экранирование защитным кольцом, потенциал экрана равен потенциалу сенсора влияние других проводников и компонентов на защищенный сенсор

Рис. 10. Влияние на чувствительность емкостного сенсора введения Guard Ring.

Защитное кольцо вокруг сенсора экранирует емкостной сенсор от внешних помех. При этом если защитный проводник имеет тот же потенциал что и защищаемый, то емкость между сенсором и экраном будет равна нулю (минимизировано значение CP), минимизированы утечки и сенсор защищен от помех.

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

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

Рис.11а управление защитным кольцом с помощью портов ВВ, схема.
Рис. 11б Рис. 11в Рис. 11г
управление защитным кольцом с помощью одного порта ВВ, диаграмма. управление защитным кольцом с помощью двух портов ВВ, диаграмма. управление защитным кольцом с помощью ЦАП

Емкость CGUARD – емкость защитного кольца на печатной плате. Сопротивление резисторов RA и RB подбираются экспериментально для максимального совпадения профиля напряжения на защитном кольце с профилем измерения емкости. Простым делителем сложно добиться совпадения профилей изменения потенциалов на сенсоре и защитном кольце (см.рис 11в), однако, как показывают практические результаты, такой простой метод дает 50-70% эффективности от случая полного следованию профилю изменения потенциала на сенсоре.

В некоторых новых микроконтроллерах Microchip введен аппаратный модуль CVD с возможностью управления драйвером защитного проводника Guard Ring.

Другой способ управления защитным кольцом – использование ЦАП микроконтроллера. Этот метод позволяет более точно управлять профилем напряжения на защитном проводнике и позволяет достичь 70-90% эффективности от классического метода с буферным усилителем.

Рекомендации по трассировке печатной платы с защитным проводником:
Защитное кольцо рекомендуется располагать на расстоянии 2-3мм от площадки сенсора.
Ширина защитного проводника примерно 1мм.
Связь с защитным слоем на обратной стороне платы осуществлять через ряд переходных отверстий с шагом 3...8мм.
Проводник от сенсорной площадки до вывода PIC-микроконтроллера, а так же защитные проводники рекомендуется выполнять шириной 0.1 – 0.3мм,
расстояние между сенсорным проводником и защитным – менее 0.5мм. 
mtouch1_24.jpg mtouch1_25.jpg
Рис. 12. Емкостная сенсорная кнопка с защитным проводником. Верхний и нижний слой печатной платы.

Часть 2. Программные библиотеки mTouch™.

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

Влияние помех на емкостные сенсоры

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

Основную проблему в сенсорных системах создают кондуктивные и излучаемые помехи, которые могут вызвать ложные срабатывания емкостных клавиатур. Кондуктивные помехи возникают в системах, которые получают внешнее питание по проводам – это приборы с питанием от сетевого напряжения, от USB и др., в которых нет возможности обеспечить разделение «земли» связанных устройств. Излучаемые помехи действуют на все приборы, в не зависимости от типа питания.

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

Естественно, что важным свойством сенсорных емкостных клавиатур является способность разрабатываемого устройства сохранять работоспособность при воздействии помех без ложных срабатываний. В соответствие со стандартом МЭК 61000-4-6 (кондуктивные помехи, наведенные радиочастотными электромагнитными полями) для проверки качества функционирования испытуемого оборудования к нему подводятся тестирующие сигналы с частотой от 150КГц до 80МГц модулированные частотой 1КГц (см. рис.2.1) с амплитудой 3В для коммерческих продуктов и 10В для промышленного оборудования 8). Тестовые сигналы подводятся на все порты испытываемого оборудования, а значит и на подверженные наводкам емкостные площадки емкостных клавиатур.

mtouch2_1.jpg
Рис. 2.1. Параметры тестового сигнала в соответствии с МЭК 61000-4-6. Данное тестирование моделирует эмиссию помех при работе оператора.
mtouch2_2.jpg
Рис. 2.2. Внесение помех при касании сенсора.

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

Для методов детектирования на основе измерения напряжений в зависимости от взаимного соотношения сигнала помехи и момента измерения мы можем получить разный уровень измеренного сигнала (см. рис. 2.3).

mtouch2_3_1.jpg
mtouch2_3_2.jpg
mtouch2_3_3.jpg
Рис. 3.3. Зависимость измеренного напряжения сенсора в зависимости от фазы измерения.

При низких напряжениях питания инжектированные помехи будут вызывать перенапряжения на сенсоре. Поэтому для емкостных клавиатур не рекомендуется использовать низкие напряжения питания микроконтроллера. Однако даже при напряжении питания 5В (в соответствии с МЭК 61000-4-6 промышленное оборудование тестируется с амплитудой помехи 10В) возможно выпрямление наведенных помех на внутренних ESD диодах и инвертирование направления сдвига напряжения при касании (реверс сигнала) сенсора.

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

mtouch2_4_1.jpg mtouch2_4_2.jpg
mtouch2_4_3.jpg mtouch2_4_4.jpg
Рис. 2.4. Введение случайной составляющей в частоту выборок помогает избавиться от гармоник частоты дискретизации в измеренном сигнале.

Для примера, если сенсор сканируется каждые 400мкс (т.е. с частотой 2.5КГц), мы можем внести задержку перед измерением от 0 до 10мкс (величина задержки может подбираться экспериментально) для того, чтобы быть уверенными что мы не поймаем гармоники частоты 2.5КГц в инжектированной помехе. Хотя мы изменяем частоту измерения, но не значительно и это не изменит среднюю частоту выборок сигнала.

Не обязательным, но простым способом стабилизации чтения сенсора является установка последовательного резистора между сенсором и портом микроконтроллера. Обычно применяется резистор 1кОм, но значение можно выбирать в диапазоне 100 Ом – 10кОм. Резистор вместе с емкостью образует фильтр нижних частот и уменьшает влияние высокочастотных промышленных помех (см. рис.2.5). При выборе величины резистора руководствуйтесь документацией на микроконтроллер, а именно значением сопротивления источника сигнала для модуля АЦП. Так при использовании CTMU максимальное входное сопротивление источника – 2.5кОм, то увеличение сопротивления потребует увеличение времени преобразования сигнала.

Рис. 5. Уменьшение помех при помощи введения последовательного резистора.

Библиотеки mTouch™

Как отмечалось в первой части статьи компания Microchip предоставляет программные библиотеки mTouch™, в которых реализовано автоматическое сканирование каналов. Библиотеки mTouch™ отлажены и протестированы для обеспечения высокого уровня подавления шумов.

Программная библиотека «Capacitive mTouch™ Software Library» предоставляет программный интерфейс пользователя (API) для разработки емкостных клавиатур на базе измерения емкости с помощью модулей CVD и CTMU на контроллерах PIC18F, PIC24F, PIC24H, dsPIC33 и PIC32. Библиотека написана на языке Си и может быть скомпилирована с помощью компиляторов Microchip (MPLAB C, XC и Hi-Tech PICC-18). Библиотеки предоставляют возможность интегрирования mTouch™ решений в пользовательскую программу.

Библиотека состоит из трех уровней.

1. Уровень опроса сенсоров абстрагируется от аппаратной части и получает данные с сенсоров для последующей обработки. Библиотека поддерживает два метода измерения: с помощью емкостного делителя (CVD) и с помощью измерения времени заряда (CTMU). В зависимости от выбранного микроконтроллера, выбирается тот или иной метод измерения.

2. Уровень сенсоров позволяет увеличить устойчивость к шумам с помощью фильтрации сигналов. Уровень сенсоров выполняет основные функции обработки сигналов и реализует детектирование состояние простых емкостных кнопок. Вызов функции MTouchGetSensorState(…) возвращает состояние сенсорной кнопки – нажата или отпущена.

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

Рис. 2.6. Состав библиотеки mTouch™

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

Уровень сенсоров содержит две техники фильтрации сигналов.

Передискретизация (Oversampling)

Этот процесс использует несколько измерений сигнала на одно «чтение» сенсора. Например, производятся два измерения и результаты складываются, это приводит к тому, что:

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

Б) составляя результат чтения сенсора из нескольких измерений, мы увеличиваем разрешение измеренного сигнала.

Таким образом, применение передискретизации увеличивает соотношение сигнал/шум.

Фильтрация сигналов

Для выделения сигнала от шума могут используются различные типы фильтров. Компания Microchip рекомендует три типа фильтров с простой алгоритмической реализацией 9) – децимирующий фильтр, скользящее среднее и ФНЧ Баттерворта.

В текущей версии библиотеки mTouch™ используется децимирующий фильтр или фильтр ограничения скорости изменения (Slew Rate Limiter – SLR). Такой фильтр сравнивает значение входного кода с выходным, если входной код выше, то к выходу добавляется 1, если входной код ниже – из выходного кода вычитается 1. Такой простой SLR фильтр позволяет отсечь импульсные помехи, так как каждое измерение вызывает изменение выходного кода только на 1 бит. Однако выходной код изменяется очень медленно, то возможно понадобится увеличение частоты выборки (см. рис. 2.7).

mtouch2_7.jpg
Рис. 2.7. Работа SLR фильтра.

Реализации фильтров скользящего среднего и ФНЧ Баттерворта и быстрые алгоритмы их реализации описаны в заметке по применению AN1334 «Techniques for Robust Touch Sensing Design».

Таким образом, алгоритм mTouch™ при измерении методом дифференциального CVD, может выглядеть как изображено на рис.2.8

mtouch2_8.jpg
Рис. 2.8. Алгоритм mTouch™

Для настройки алгоритмов в прототипах библиотека mTouch™ предоставляет функции по мониторингу и отладки сенсорного решения (см. рис. 6). Для связи с программным обеспечением на компьютере можно использовать RS-232 или анализатор последовательных протоколов PICkit Serial Analyzer.

Оболочка программы позволяет наблюдать форму сигналов для исследуемых сенсоров, взаимное влияние сенсоров друг на друга, изменять параметры настройки алгоритмов mTouch™ (см. рис. 2.9). Описание влияния параметров алгоритмов и рекомендации по оптимальной настройке сенсорных клавиатур приведены файле помощи к библиотеке mTouch™ 10).

mtouch2_9.jpg
mtouch2_10.jpg
Рис. 2.9. Окна программы mTouch GUI для анализа и настройки библиотеки.

Для ознакомления с технологиями построения емкостных кнопок и обработки сигналов компания Microchip предлагает отладочный комплект mTouch Cap Touch Eval Kit (номер для заказа DM183026-2). Комплект содержит 4 процессорных платы с контроллерами семейств PIC16F1xxx, PIC18F, PIC24FJ, PIC32MX, 4 платы сенсоров с различными конфигурациями (отдельные кнопки, матричная клавиатура, 2- и 4-х канальные слайдеры), анализатор последовательных протоколов PICkit Serial Analyzer. Комплект сопровождается множеством примеров для исследования методов измерения на базе CVD и CTMU.

mtouch2_11.jpg
Рис. 2.10. Отладочный комплект mTouch Cap Touch Eval Kit.

Практические результаты применения mTouch™

Как пример одной из разработок с использованием mTouch хотелось бы отметить предпромышленный прототип автомобильной потолочной панели (рис. 2.11).

mtouch2_12.jpg
Рис. 11. Автомобильная потолочная панель.

Панель содержит 11 емкостных сенсоров с индивидуальной RGB подсветкой, два светодиодных светильника для подсветки пассажирского и водительского места. Для обработки сигналов сенсора управления панелью и выдачей данных по интерфейсам LIN и CAN используется недорогой 8-и разрядный микроконтроллер PIC18F66K80. Применение емкостных кнопок упрощает конструкцию и позволяет выполнить искривленную лицевую панель. В дизайне используется всего 2 пластиковых детали: лицевая панель и рамка-световод. Емкостные сенсоры выполнены на гибкой прозрачной пленке, которая приклеивается с обратной стороны лицевой панели и подключается к печатной плате. Прототип автомобильной сенсорной панели удовлетворяет требованиям по электромагнитной совместимости, предъявляемыми к автомобильной продукции и прошел испытания в лаборатории Chrysler на следующие тесты:

  • ALSE (Absorbed Lined, Shielded Environment) with or without a Ground Plane
  • Transient Disturbances Conducted along Supply Lines
  • Fast Transient Disturbances Conducted along I/O Lines
  • Slow Transient Disturbances Conducted along I/O Lines
  • Electrostatic Discharge Handling Test
  • Electrostatic Discharge Operating Test
  • CISPR 25 Radiated RF Emissions
  • Bulk Current Injection

За получением дополнительной информации о данном дизайне обращайтесь к представителям компании Microchip Technology Inc.

Часть 3.

Увеличение количества сенсоров, слайдеры, матрицы.

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

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

mtouch3_1.jpg
Рис. 3.1. Слайдер на двух емкостных каналах.
mtouch3_2.jpg
Рис. 3.2. Сенсорные клавиатуры, реализованные на 4-х измерительных каналах.

Современные микроконтроллеры Microchip имеют внутренние мультиплексоры и позволяют обрабатывать до 32 независимых каналов емкостных сенсоров (Таблица 3.1). Количество сенсоров может быть увеличено за счет разделения обработки сигналов каждого сенсора по времени и/или применения внешнего мультиплексора.

Таблица 3.1. Семейства микроконтроллеров Microchip и количество сенсорных каналов.

Семейство контроллеров Количество выводов Метод измерения Максимальное количество емкостных каналов
PIC10Fxxx 6 Частотный на компараторе 3
PIC12Fxxx 8 CSM 4
PIC16Fxxx, PIC18Fxxx 14/18/20/28/44/64/100 CSM, CVD 8/12/12/17/30/16
PIC12LF1552/PIC16F151x 8/28 Аппаратный CVD + Guard Ring 5/17
PIC18Fxxx 28/44/64 CTMU, CVD 14/28/24
PIC16F707 44 CSM 32
PIC24F 14/20/28/44/64/80/100 CTMU, CVD 7/12/12/14/16/16/24
PIC24H 28/36/44/64/100/144 CTMU, CVD 10/8/13/24/32/32
PIC32 28/36/44/64/100 CTMU, CVD 10/12/13/16/16

Замечания по реализации лицевых панелей

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

Из этого следует, что:

  • большей чувствительностью будет обладать емкостные панели, покрытые материалом с большей диэлектрической проницаемостью (см. Табл. 3.2);

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

Материал ε_r Материал ε_r
Воздух 1 Поливинилхлорид 3,2 – 4,0
Полиэтилен 2,25 Целлулоид 4,1
Полистерол 2,4 – 2,7 Фторопласт 4,8
Органическое стекло 3,5 – 3,9 Стекло 4 – 10
  • для сохранения чувствительности сенсора нужно стараться уменьшать толщину лицевой панели. При этом сенсор, в зависимости от предъявляемых требований к конечному изделию, должен выдерживать воздействие электростатического разряда амплитудой до 15кВ.
mtouch3_3.jpg
Рис. 3.3. Увеличение толщины лицевой панели уменьшает чувствительность.
  • важно избегать воздушных прослоек. Воздушный зазор между сенсором и диэлектриком уменьшает чувствительность (уменьшает вносимую при касании емкость) в 3-10 раз! Для исключения воздушного зазора лицевая панель может быть приклеена к печатной плате или промежуток заполнен составом с высокой диэлектрической проницаемостью (рис. 3.4а). Приклеивание платы сенсоров к лицевой панели имеет еще одно преимущество: исключается прогиб и изменение расстояние между лицевой панелью и сенсорами и, соответственно, влияние прогиба на изменение емкости соседних сенсоров (рис. 3.5).
mtouch3_4.jpg
Рис. 3.4а. Воздушный зазор уменьшает чувствительность емкостного сенсора.
mtouch3_5_1.jpg mtouch3_5_2.jpg
Рис. 3.5. Прогиб лицевой панели за счет воздушного зазора влияет на соседние сенсоры.

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

mtouch3_4_1.jpg
Рис. 3.4б. Заполнение воздушного зазора.
  • для получения бОльшей чувствительности нужно увеличивать площадь сенсора.

Чувствительность емкостного сенсора зависит от способа нажатия/прикосновения (площади касания) и от размера контактной площадки.

mtouch3_6.jpg
Рис. 3.6. Зависимость чувствительности от площади сенсора и типа касания.

При вертикальном касании емкостного сенсора рабочая площадь образует диаметр приблизительно 8мм, а при плоском касании – приблизительно 15мм. Поэтому 8 – 15мм это оптимальный диаметр контактной площадки для емкостной клавиатуры. Уменьшение размера уменьшит чувствительность, а увеличение влечет большую восприимчивость к наводимым помехам и увеличение паразитной емкости CP. Расстояние между чувствительными емкостными площадками желательно иметь, как можно больше. Идеальным расстоянием между сенсорами является величина, в 2 … 3 раза большая, чем толщина лицевой панели. Иначе будет проявляться большее влияние на соседние сенсоры (см. рис. 3.7).

mtouch3_7.jpg
Рис. 3.7. Связь толщины лицевой панели и расстояния между сенсорами.

Применение пластиковых (диэлектрических) лицевых панелей имеет один существенный недостаток – сложность реализации емкостных клавиатур для работы оператору в перчатках (добавляется воздушный зазор и увеличивается расстояние до сенсора), снижение чувствительности и сильное влияние на близко расположенные сенсоры при попадании жидкостей и сильном загрязнении лицевой панели. Выход из подобной ситуации может быть найден, как ни странно, если применить металлическую лицевую панель. Преимущество металлических панелей заключается в устранении недостатков пластиковых панелей: возможности работы в перчатках и исключение чувствительности к загрязнениям, в дополнительном экранировании, вандалозащищенности и возможности нанесения на панель кодов Брайля. Однако с металлической лицевой панелью нельзя реализовать слайдеры и датчики приближения (proximity sensor).

Емкостные кнопки с металлической лицевой панелью.

mtouch3_8_0.jpg

Емкостная кнопка с металлической лицевой панелью (Metal Over Cap – MOC) имеет ту же самую схемотехнику и принцип измерения, что и обычная емкостная кнопка 11). Отличие заключается только в конструкции лицевой панели. У кнопки Metal Over Cap между лицевой панелью и печатной платой с сенсором располагается разделитель (Spacer), позволяющий лицевой панели прогибаться над поверхностью сенсора. Если у кнопки с диэлектрическим покрытием измеряется емкость вносимая пальцем при касании, то у кнопки с металлической лицевой панелью измеряется емкость между лицевой панелью и сенсором, изменяющаяся при надавливании.

mtouch3_8.jpg
Рис. 3.8. Принцип работы емкостной кнопки с металлической лицевой панелью.

Так как механическая прочность конструкции в случае применения металлической лицевой панели будет влиять на изменение емкости, то отсюда вытекают требования к разделителю и расстоянию между кнопками. Деформация поверхности над одной из кнопок не должна вызывать прогиба над рядом расположенными кнопками. Поэтому необходимо разносить кнопки друг относительно друга (расстояние между кнопками желательно иметь не менее 1/3 … 1/2 диаметра одной кнопки). Так же нужно использовать разделитель с достаточной жесткостью и надежно склеивать плату с разделителем и металлической лицевой панелью. В качестве разделителя могут быть применены тонкий стеклотекстолит, фторопласт или самоклеющиеся пленки с двухсторонним клеевым покрытием. Плата с емкостными сенсорами должна быть надежно закреплена в корпусе прибора и иметь опоры и крепление с обратной стороны для обеспечения жесткости конструкции.

Толщину разделителя нужно выбирать так, чтобы прогиб панели вызывал изменение емкости не менее чем на 6% (рис. 3.9), так как паразитные емкости в системе в комбинации с ограничениями по разрешению измерения дополнительно уменьшат точность. Обычно применяется разделитель с толщиной 50 – 150мкм.

mtouch3_9.jpg
Рис. 3.9. Зависимость изменения емкости при прогибе панели на 10мкм от толщины разделителя.

В помощь разработчикам Microchip дает утилиту «mTouch Deflection Tool», с помощью которой по выбранному материалу лицевой панели, его толщины, диаметра кнопки и усилия нажатия позволяет рассчитать прогиб.

mtouch3_9_a.jpg
Рис. 3.9a. Утилита «mTouch Deflection Tool».

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

mtouch3_10_1.jpg mtouch3_10_2.jpg mocaps.jpeg
Рис. 3.10. Примеры металлических лицевых панелей с задней подсветкой. Лицевая панель с тактильным эффектом

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

Для изучения и оценки работы клавиатур с металлической и пластиковой с металлизацией лицевыми панелями компания Microchip предлагает комплект из двух дочерних плат (номер для заказа AC183036), который подключается к отладочному комплекту «mTouch Cap Touch Eval Kit» (номер для заказа DM183026-2) - см.рис 2.10.

mtouch3_10_3.jpg
Рис. 3.10. Metal Over Cap Accessory Kit (AC183036).
Видео-ролик со сравнением трех емкостных клавиатур: клавиатуры с пластиковой лицевой панелью; с металлической лицевой панелью и пластиковой панелью с металлизацией.
http://www.youtube.com/watch?v=AJNU_AcIdKI

Специализированные автономные контроллеры емкостных датчиков

Для тех, кто не желает разбираться с особенностями библиотеки mTouch™ компания Microchip предлагает законченные решения – микросхемы контроллеров емкостных кнопок и датчиков приближения. В 2012 году компания Microchip купила компанию SMSC и владеющую технологией создания емкостных сенсоров RightTouch®.

Контроллеры емкостных клавиатур SMSC серии CAPxxx имеют встроенный фильтр для подавления помех (генерируемых импульсными источниками питания, радиопередающими устройствами Wi-Fi, ZigBee, сотовыми телефонами и др.). Контроллеры конфигурируются и выдают данные по интерфейсам I2C, SMBus, SMSC BC-Link™ или SPI. Контроллеры SMSC имеют лучшие в индустрии параметры по устойчивости к электростатическому разряду (ESD) и обеспечивают защиту до ±8кВ без применения внешних защитных цепей.

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

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

Для уменьшения потребления контроллеры серии CAPххх имеют функции сохранения энергии. Разработчик может запрограммировать какое количество сенсоров должны опрашиваться в энергосберегающем режиме Sleep, частоту их сканирования и тип опрашиваемого сенсора – кнопка или датчик приближения. Эти особенности позволяют, чтобы, например, устройство в микропотребляющем режиме сканировало только датчик приближения, просыпалось при поднесении руки к устройству и после этого включало работу сенсорной клавиатуры и самого устройства. В таких микропотребляющих режимах с опросом одного сенсора контроллеры серии CAPxxx потребляют порядка 50мкА (5мкА в Deep Sleep).

Табл. 3.3. Емкостные контроллеры mTouch™ и RightTouch®

MTCH101 MTCH102 CAP1214 CAP1114 CAP1188 CAP1166 CAP1133 CAP1128 CAP1126 CAP1105/6
Число емкостных входов 1 2 14 14 8 6 3 8 6 5/6
Слайдер - - Да Да - - - - - -
Управление светодиодами - - 11 11 8 6 3 2 2
Proximity Да Да Да Да Да Да Да Да Да Да
Интерфейс Лог.выход Лог.выход, I2C I2C/SMBus I2C/SMBus I2C/SPI/BC-Link I2C/SPI/BC-Link I2C/SPI/BC-Link I2C/SPI/BC-Link I2C/SPI/BC-Link I2C/SPI/BC-Link
Корпуса SOT-23 8-выв. SOIC, 2×3 DFN 32-выв. 5×5 QFN 32-выв. 5×5 QFN 24-выв. 4×4 QFN 20-выв. 4×4 QFN 10-выв. 3×3 QFN 20-выв. 4×4 QFN 16-выв. 4×4 QFN 10-выв. 3×3 QFN

В дополнение к емкостным контроллерам компания Microchip предлагает миниатюрные (6 и 8 выводов) микросхемы контроллеров датчиков приближения (proximity) MTCH10х. Отличительной особенностью proximity контроллеров MTCH101/102 является настраиваемая чувствительность, встроенный фильтр подавления помех, автоматическая компенсация изменения окружающей среды, малые габариты и низкое потребление (до 5мкА в режиме энергосбережения).

Емкостные датчики приближения.

Емкостной датчик приближения (proximity sensor) определяет относительное расстояние до пользователя и позволяет взаимодействовать с прибором без физического контакта. Известно несколько методов реализации датчиков приближения: инфракрасные, оптические, магнитные, основанные на эффекте Доплера, индуктивные и емкостные. Каждый метод имеет свои достоинства и недостатки.

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

mtouch3_11.jpg
Рис. 3.11. Емкостной датчик приближения.

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

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

Дальность действия сенсора приближения зависит от напряжения питания и можно оценить как 3 – 5 диаметра сенсора.

mtouch3_12.jpg
Рис. 3.12. Зависимость детектируемого расстояния от размеров сенсора.

Любой слой заземления или металлическая поверхность рядом с емкостной антенной-сенсором будет снижать дальность датчика приближения из-за экранирования (если металл находится на пути к обнаруживаемому объекту) и из-за увеличения паразитной емкости (когда экран находится за антенной-сенсором). Поэтому непосредственно под емкостным сенсором приближения и в непосредственной близости от него не рекомендуется располагать слой заземления (см. рис. 3.13) 14).

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

mtouch3_13_1.jpg mtouch3_13_2.jpg
Рис. 3.12. Влияние экранирования и защитного проводника на чувствительность сенсоров приближения.

Часть 4. Емкостные сенсоры в задачах измерения уровня, влажности, давления. Емкостные экраны. Распознавание жестов

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

Емкостные сенсоры в задачах измерения уровня, влажности, давления

Измерение уровня жидкостей

Если взять контейнер из диэлектрического материала и прикрепить к нему проводящую пластину, то получим простейший конденсатор. Заполнение контейнера жидкостью будет изменять электрическую емкость такого конденсатора и, в зависимости от типа диэлектрика контейнера, жидкости и размеров сенсора, будут меняться параметры конденсатора (рис.4.1). При реализации измерения уровня жидкости емкостными методами необходимо проводить калибровку системы для каждого типа контейнера и сенсора. При измерении уровня жидкости требуется измерение емкости по одному или двум каналам, то можно применить простейший 8-и выводный микроконтроллер.

mtouch4_1.jpg
Рис.4.1. Изменение электрической емкости от уровня жидкости при разных ширинах сенсора.

Датчик давления и веса

Две проводящие поверхности с зазором между ними образуют воздушный конденсатор. Если при этом одна из обкладок конденсатора жестко зафиксирована, а другая будет изгибаться от приложенного давления, то получится простой емкостной сенсор давления и/или веса 15) Этот же принцип используется в емкостных клавиатурах с металлической лицевой поверхностью (см. часть 3). В соответствие с законом Гука, для малых механических напряжений и деформаций (то есть до предела пропорциональности) сила упругости, возникающая в теле при его деформации, прямо пропорциональна величине этой деформации (см.рис. 4.2) 16). При изменении за счет давления расстояния между обкладками емкость полученного конденсатора будет меняться.

mtouch4_2.jpg
Рис. 4.2. Диаграмма σ — ε для алюминиевых сплавов

В помощь разработчикам емкостных клавиатур с металлическими лицевыми панелями Microchip предоставляет утилиту «mTouch Deflection Tool», с помощью которой, по выбранному материалу лицевой панели, его толщины, диаметра сенсора и приложенного усилия рассчитывается величина прогиба лицевой панели. Эта же утилита поможет рассчитать емкостной датчик давления или веса (рис.4.3).

mtouch3_9_a.jpg
Рис. 4.3. Утилита «mTouch Deflection Tool»

Для датчиков давления или «Metal Over Cap»- клавиатур (с металлической лицевой панелью) важно работать на участке упругой деформации металла (рис 4.2), утилита «mTouch Deflection Tool» поможет выбрать материал и толщину мембраны, размер сенсора для создания датчика давления или веса. При реализации емкостного датчика давления требуется измерение емкости по одному каналу, поэтому для данной задачи можно использовать дешевый 8-и выводный микроконтроллер.

Емкостные сенсоры влажности

Емкостные сенсоры влажности характеризуются относительно высокой величиной емкости (относительно емкости сенсорных кнопок). Так датчик относительной влажности HS1101LF (Humirel) изменяет свою емкость от 162 до 193пФ, а датчики серии HCH-1000 (Honeywell) – от 300 до 360пФ. Для сравнения, емкостные кнопки имеют емкость примерно 5 … 30 пФ. Внутренняя емкость УВХ АЦП микроконтроллеров PIC имеет величину 5 … 25пФ. Поэтому для измерения влажности метод CVD (см. часть 1) будет иметь меньше разрешающую способность, чем измерение емкости с помощью модуля измерения времени заряда (CTMU – Charge Time Measurement Unit). Для задач измерения влажности так же применим метод двухстадийного интегрирования (подробно рассмотрено в 17)). Емкостные датчики влажности имеют сравнительно высокую стоимость, но применение простой схемы измерения на PIC-микроконтроллере позволяет уменьшить общую стоимость цифрового измерителя влажности.

Емкостные экраны, mTouch™ Projected Capacitive

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

Проекционно-емкостные экраны имеют большую популярность, так как:

  • Конструкция стеклянных сенсорных экранов обеспечивает высокую прочность, хорошие оптические свойства и надежное распознавание касания;
  • Возможность распознавания множественного касания (multi touch) и жестов;
  • Возможность реализации на печатной плате – недорогой способ создания сенсорного интерфейса.

Принцип действия проекционно-ёмкостных сенсорных экранов и сенсорных панелей (touch-pad) основан на измерении емкостей сетки электродов X и Y (рис.4.4), нанесенной под лицевой стороной экрана или на слоях печатной платы емкостной панели. Такие сенсоры измеряют незначительные изменения емкости электрода, внесенные при касании пальцем или другим объектом. Следует отметить, что в проекционно-емкостных экранах детектируется очень маленькие, на уровне 0.05%, изменения емкости электродов (собственная паразитная емкость электродов ~100пФ; изменение емкости при «сильном» нажатии 0.5…1.0пФ, при «слабом» касании – 0.05пФ).

mtouch4_4_1.jpg mtouch4_4_2.jpg
Рис. 4.4. Принцип измерения емкости в Projected Capacitive экранах. Возможный вид сетки из Х- и Y- сенсоров.

Точка контакта экрана определяется по изменению емкости X- и Y- проводников. Контроллер экрана сканирует сенсоры и определяет изменение собственной емкости электродов. Такое «Self» измерение призвано быстро распознать возможное касание экрана без указания точного места касания. Затем осуществляется «взаимное» («Mutual») измерение, которое измеряет емкость одного электрода, в то время когда на другом перпендикулярном электроде формируется импульс. Этот тип измерения индицирует место изменения емкости (узел) на пересечении сенсоров (рис. 4.4). Далее методом интерполяции вычисляется точное место касания экрана. Так, например, сетка электродов 9х12 позволяет получить разрешение по определению точки касания сенсора до 1024х1024 или выше.

Некоторые микроконтроллеры PIC имеют два независимых модуля CSM с возможностью подключения до 32 емкостных сенсоров. Такие микроконтроллеры, например PIC16F707, могут работать напрямую с проекционно-емкостными экранами с диагональю до 3,5 дюйма. Программная библиотека реализовывает multiTouch функции (одновременное касание в двух точках), распознавание жестов, разрешение по определению положения касания до 1024х1024 за счет интерполяции.

mtouch4_5.jpg
Рис.4.5. Программная библиотека mTouch для проекционно-емкостных экранов.

Компания Microchip Technology Inc. предлагает так же автономный контроллер проекционно-емкостных экранов. Структурная схема микросхемы MTCH6301 приведена на рис.4.6. Контроллер имеет встроенную обработку сигналов, декодер множественного касания, распознавания жестов, управляющую логику и интерфейс связи I2C, что позволяет использовать любой внешний микроконтроллер для работы с проекционно-емкостными экранами или Touch Pad.

Таблица 4.1. Сравнение контроллеров проекционно-емкостных экранов.

Контроллер Способ обработки данных Multi-Touch Распознавание жестов Разрешение определения координат
PIC16F707 Программная библиотека mTouch 2 Да До 10 бит
MTCH6301 Аппаратная поддержка 10 Да, до 10 различных жестов До 12 бит
Контроллер MTCH6301
Рис. 4.6. Контроллер MTCH6301, структура, способы отладки.

Как отмечалось ранее, проекционно-емкостной экран легко реализуется на печатной плате. При реализации такого touch pad-а рекомендуется использовать 4-х слойную печатную плату (хотя для некоторых случаев допустимо применение 2-х слойной платы), применять лицевую панель толщиной до 3мм (пластик) или до 5мм (стекло), приклеенной к печатной плате, например, с помощью двухсторонней клейкой пленки. Рекомендуется иметь лицевую панель с диэлектрической проницаемостью не менее 3 (акрил, поликарбонат, ABS или стекло). Подробно о проектировании проекционно-емкостного экрана на печатной плате, рекомендации по трассировке, размерам электродов и расположении ЭРИ описано в 18).

Реализация проекционно-емкостного экрана на печатной плате
Рис. 4.7. Проекционно-емкостной экран (touch pad), реализованный на печатной плате.

Для возможности отладки и настройки проекционно-емкостных экранов компания Microchip предоставляет утилиту конфигурации контроллера MTCH6301 – «Projected Capacitive Configuration Utility», работающую совместно с анализатором протоколов PICkit Serial Analyzer. Утилита позволяет указать число применяемых сенсоров, их подключение к контроллеру, откалибровать связку сенсоры – контроллер (рис.4.8).

Окно утилиты «Projected Capacitive Configuration Utility»
Распознавание 2-х одновременных касаний - MultyTouch Распознавание 2-х одновременных касаний - MultyTouch
Рис. 4.8. Окна утилиты «Projected Capacitive Configuration Utility».

Для поддержки разработчиков Microchip предлагает отладочные комплекты «mTouch Projected Capacitive Development Kit» (DM160211) и «PIC32 GUI Development Board with Projected Capacitive Touch» (DM320015).

Комплект разработчика mTouch Projected Capacitive Development Kit
Рис. 4.9. Комплект разработчика mTouch Projected Capacitive Development Kit.

Комплект разработчика «mTouch Projected Capacitive Development Kit» (рис. 4.9) содержит проекционно-емкостной экран диагональю 3.5 дюйма с 21 сенсорами (организация 9х12) и плату с запрограммированным микроконтроллером PIC16F707. Комплект позволяет подключать экраны с числом сенсорных каналов до 24 без модификации исходных кодов программы. Предоставляемая бесплатная библиотека поддерживает подключение экранов с числом сенсоров до 32. Комплект сопровождается программной утилитой, которая позволяет настроить основные параметры программы для работы с емкостным экраном.

Отладочная плата «PIC32 GUI Development Board with Projected Capacitive Touch»
Рис. 4.10. Отладочная плата «PIC32 GUI Development Board with Projected Capacitive Touch»

Отладочная плата «PIC32 GUI Development Board with Projected Capacitive Touch» (рис.10) позволяет разрабатывать графический пользовательский интерфейс (GUI) с multi touch функциями. Этот комплект основан на 32-х разрядном контроллере PIC32MX795F512H c быстродействием 105 DMIPS, 512KБ Flash памяти и 128KБ ОЗУ. Контроллер PIC32 в паре с недорогой параллельной статической памятью служит высокоскоростным графическим контроллером для 4.3” WQVGA TFT дисплея с разрешением 480х272, что позволяет применять недорогие цветные TFT дисплеи без встроенного контроллера. Микроконтроллер PIC32 управляет контроллером сенсорного проекционно-емкостного экрана MTCH6301 и реализует multi touch графический интерфейс с пользователем. Микроконтроллер PIC32 имеет USB host и device интерфейсы для работы с другими USB устройствами, на плате предусмотрены контакты для подключения внешних устройств.

3D жесты, GestIC

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

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

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

Контроллер MGC3130 распознает 3D жесты рукой, определяет положение руки в 3-х координатах x, y и z. Имеет высокое разрешение – до 150dpi, имеет встроенное ядро цифровой обработки сигналов, малошумящие аналоговые блоки, изменение частоты для отстройки от шумов, цифровой интерфейс и встроенную библиотеку распознавания жестов «Colibri». Созданная патентованная сенсорная 3D технология GestIC использует электрическое поле для определения расстояния. Такая технология позволяет создавать пользовательский интерфейс на детектировании, отслеживании и распознавании рук пользователя или движения пальцев в пространстве.

Электрическое поле создается электрическими зарядами и распространяется вокруг поверхности, несущей заряд. Контроллер GestIC подает частоту на передающий (Tx) электрод в диапазоне 100кГц (длинна волны ~3км). Размеры электродов порядка 20см, что существенно меньше длинны волны излучаемого сигнала, поэтому магнитная составляющая поля практически равна нулю. В результате этого создается квазистатическое электрическое ближнее поле, которое можно использовать для детектирования проводящих предметов, таких как человеческое тело.

Электрическое поле у сенсора Искажение электрического поля при внесении руки
Рис. 11. Искажение электрического поля при внесении руки.

Попадание пользователя в область чувствительности сенсора приводит к искажению электрического поля. Линии поля шунтируются проводящим телом. Как показано на рисунке (рис. 11), внесенная рука вызывает искажение эквипотенциальных линий, что детектируется приемными электродами (Rx) контроллера GestIC. Таким образом, контроллер GestIC формирует электрическое поле, с помощью нескольких приемных электродов определяет изменения электрического поля и вычисляет относительное положение руки, её перемещение в трех координатах и определяет жесты по нескольким шаблонам.

Созданная Microchip технология GestIC может использовать электроды из любых проводящих материалов. Передающий и приемные электроды могут быть выполнены на печатной плате, или из фольги, приклеенной на какую либо поверхность, или выполнены в виде ITO (оксид индия-олова) покрытием на стекле или пластике. Все это позволяет применять технологию GestIC в приборах без увеличения размеров конечного изделия.

Для распознавания жестов Microchip использует библиотеку «Colibri Gesture Suite», которая использует Скрытую Марковскую модель (СММ) в отношении векторов изменения координат. Выбранный метод обеспечивает высокую степень распознавания 3D-жестов руки и пальцев вне зависимости от конкретного пользователя. Технология GestIC имеет высокое разрешение отслеживания жестов, достаточное для современных приложений. Контроллер GestIC предоставляет пользователю законченный набор трехмерных жестов рукой и пальцами, например: пробуждение по приближению руки, отслеживание положения руки, постукивание, круг, символы, на основе которых можно осуществлять включение и выключение устройства, запуск приложений, выбор объекта, указание и щелчок, масштабирование, прокрутка и пр. Разработчики могут быстро сделать готовое изделие и снизить риски при разработке, используя отлаженный набор перечисленных возможностей. Помимо этого, возможен анализ «сырых» данных, поступающих непосредственно с сенсоров, расширяющих функциональность библиотеки. Контроллер GestIC имеет программируемую функцию обнаружения приближения: контроллер может периодически просыпаться и сканировать действия пользователя. Если обнаружено взаимодействие с пользователем, система автоматически переключается в режим полного сканирования сенсоров и может вернуться в режим сохранения энергии, как только пользователь покидает область чувствительности. В результате распознавание 3D жестов становится реальностью даже для батарейной продукции.

В помощь разработчику Microchip приготовила оценочный комплект MGC3130 Single Zone Evaluation Kit “Sabrewing“ (DM160217).

Отладочная плата MGC3130 Single Zone Evaluation Kit “Sabrewing“
Рис. 12. Отладочная плата MGC3130 Single Zone Evaluation Kit “Sabrewing“

Законченное решение позволяет изучить GestIC контроллер MGC3130, встроенную библиотеку распознавания жестов и отслеживания положения руки. С сайта компании доступны для скачивания API, предоставляющий программистам возможность создавать свои приложения для работы с GestIC контроллером, и Windows программа Aurea для управления параметрами контроллера MGC3130 и настройки и сохранения параметров.

Видео с возможным применением технологии GestIC:

Обеспечение тактильных эффектов в сенсорных интерфейсах

Сенсорные кнопки обладают одним небольшим недостатком по отношению к механическим кнопкам – отсутствие ярко выраженного тактильного эффекта. Сенсорные клавиатуры с тактильным эффектом можно реализовать на клавиатурах с металлической лицевой панелью или пластиковых со слоем металлизации, так как работа таких клавиатур основана на изменении расстояния (подробнее в предыдущей части статьи). Так же, для получения тактильных эффектов в сенсорных решениях Microchip предлагает использовать контроллер вибромоторв MTCH810. Микросхема MTCH810 помогает добавить тактильные эффекты в конечное изделие.

«тактильный» контроллер MTCH810 в сенсорных решениях
Рис. 4.13. Использование «тактильного» контроллера в сенсорных решениях

При фиксировании касания сенсорной клавиатуры управляющий контроллер может передать команду микросхеме MTCH810 на формирование вибро-эффекта и пользователь может «почувствовать» касание. Управление контроллером осуществляется по интерфейсу I2C. Микросхема MTCH810 позволяет воспроизводить 14 эффектов: различные уровни «нажатия», «щелчка», «касания», двойной «щелчок» и другие.

Заключение

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

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

Специалисты компании Microchip Technology Inc. оказывают всестороннюю техническую поддержку и помогают разработчикам создавать законченные продукты.

Емкостные сенсорные кнопки на микроконтроллерах Microchip используются в таких продуктах, как ноутбуки TOSHIBA серий Portege и Satellite, игровых устройствах Activision и Logitech, ЖК телевизорах LG, роутерах ZyXEL, продуктах JVC, Acoustic Research, Sharp, кодовых панелях доступа, Blue Ray DVD проигрывателях, весах, холодильниках и многих других устройствах.

1) AN1202. «Capacitive Sensing with PIC10F». www.microchip.com
2) AN1101. «Introduction to Capacitive Sensing» www.microchip.com
3) AN1268. «mTouch Solution using the Period CSM Measurement» www.microchip.com
4) , 5) И. Никифоров. «Решения Microchip Technology для реализации сенсорного управления». Компоненты и Технологии №9 за 2008г.
6) AN1334. «Techniques for Robust Touch Sensing Design» www.microchip.com
7) Хоровиц, Хилл. «Искусство схемотехники» т.2. глава 7 «Прецизионные схемы и малошумящая аппаратура».
8) ЭМС для разработчиков продукции/Т. Уильямс. – М.: Издательский Дом «Технологии», 2003г.
9) AN1334 «Techniques for Robust Touch Sensing Design». www.microchip.com
10) Библиотека mTouch™ www.microchip.com/MAL
11) 2. AN1325. mTouch™ Metal Over Cap Technology. www.microchip.com
12) AN1492. Microchip Capacitive Proximity Design Guide. www.microchip.com
13) AN 19-16. Physical Design and LayPhysical Design and Layout Guidelines for Capacitive Sensor Systems out Guidelines for Capacitive Sensor Systems. www.smsc.com
14) AN 24-19. Extended Range Proximity with SMSC RightTouch® Capacitive Sensors. www.smsc.com
15) AN1375. See What You Can Do with the CTMU www.microchip.com
16) AN1325. mTouch™ Metal Over Cap Technology www.microchip.com
17) AN1016. Detecting Small Capacitive Sensors Using the MCP6291 and PIC16F690 Devices www.microchip.com
18) pCAP FAQs – Sensor Design Guidelines www.microchip.com

Дискуссия

pickit2, 18/03/2013.12:00

Тут можно задать вопросы :)

Александр, 23/03/2013.20:21

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

pickit2, 25/03/2013.11:56

Скорее всего дифф.CVD (за счет дифф.измерения автоматом фильтруемся от части помех) или микросхемы SMSC (CAP). «Поверх» можно применить еще металлическую лицевую панель, если это возможно в вашем дизайне. В статье есть пример реализации автомобильного устройства, примененный контроллер имеет CVD и CTMU - в дизайне применен CVD.

Александр, 29/03/2013.16:04

Скажите, а можно подробнее рассмотреть пример реализации автомобильного устройства, приведённый в статье? В идеале- с кодами, прошивкой и схемой с печатной платой.:-)

pickit2, 01/04/2013.15:54

написал вам в почту.

all_articles/mtouch.txt · Последние изменения: 04/06/2014.14:09 — pickit2
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0