Вопросы к инженеру по применению: емкостные датчики для интерфейсов ввода

№ 1’2007
Емкостный датчик обнаруживает изменение емкости, когда какой-либо объект приближается к датчику. Данный принцип уже много лет широко применяется в промышленности, например, для измерения уровня жидкости, влажности, состава материалов.

Что представляет собой этот емкостный датчик?

Емкостный датчик обнаруживает изменение емкости, когда какой-либо объект приближается к датчику. Данный принцип уже много лет широко применяется в промышленности, например, для измерения уровня жидкости, влажности, состава материалов. Новая область применения, которая становится все более популярной, — это пользовательские интерфейсы для электронных систем. Здесь много лет применялись механические кнопки, переключатели и ручки настройки. Однако разработчики интерфейсов настойчиво пытаются найти более надежные решения. Емкостные датчики могут использоваться в качестве кнопок, но эти датчики могут обеспечивать гораздо более сложные функции, например, колеса прокрутки. Сейчас фирмой Analog Devices разработаны специализированные интегральные микросхемы, предназначенные для реализации интерфейса пользователя. Например, на микросхемах AD7142 и AD7143 можно реализовать соответственно 14 и 8 емкостных датчиков системы ручного ввода информации. Эти ИС обеспечивают возбуждение датчиков переменным током, обнаруживают изменение емкости и генерируют выходной сигнал.

Как работает датчик емкости?

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

Рис. 1. Принцип работы емкостного датчика с сигма-дельта преобразователем

В общем виде система ввода (рис. 2) состоит из трех частей:

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

Какие преимущества дает емкостная система ввода?

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

Как работают микросхемы преобразователей емкости AD714x?

Эти микросхемы разработаны специально для реализации пользовательского интерфейса ввода. Сердце микросхемы — это сигмадельта преобразователь емкости в код (CDC), который обрабатывает ряд входных сигналов, коммутируемых с помощью матрицы ключей (рис. 3). Код, полученный в результате преобразования, сохраняется во внутренних регистрах микросхемы. Также в микросхеме есть источник сигнала возбуждения — он вырабатывает прямоугольные импульсы с частотой 250 кГц.

Рис. 3. Структурная схема преобразователя

Хост-микроконтроллер считывает код через последовательный интерфейс. AD7142 поставляется с интерфейсами SPI или I2C и имеет 14 входов датчиков. AD7143 имеет интерфейс I2C и только 8 входов датчиков. Последовательный интерфейс вместе с выходом прерывания обеспечивает простое и удобное соединение с хост-микроконтроллером в любой системе.

К одной микросхеме может быть подключено до 14 емкостных датчиков в виде кнопок, полос, колес, а также комбинации датчиков. Внешние датчики представляют собой электроды на 2- или 4-слойной печатной плате, подключенные непосредственно к микросхеме CDC. Конфигурация датчиков прописывается во внутренние регистры микросхемы. Также в регистрах задаются такие свойства, как усреднение и уровень смещения для каждого входа. Встроенный секвенсор управляет процессом сканирования датчиков. В AD714x также имеется логика и ОЗУ, предназначенные для реализации алгоритма компенсации изменений окружающих условий. Температура, влажность и другие факторы влияют на емкость датчиков. Без участия пользователя преобразователь постоянно осуществляет калибровку с целью компенсировать влияние этих факторов и таким образом устраняет возможные погрешности и предотвращает сбои.

Одно из достоинств AD714x — это возможность установить чувствительность для каждого датчика отдельно. Независимая установка порогов срабатывания важна для устройств с разными размерами датчиков. Например, в устройстве есть большие и маленькие «кнопки», диаметром 10 и 5 мм. Пользователь вправе ожидать, что срабатывать они должны при одинаковом усилии, но емкость зависит от размера датчика, и, таким образом, маленькая «кнопка» потребует большего усилия нажатия. Независимая установка чувствительности для каждого датчика снимает эту проблему.

Каким образом учитывается изменение условий окружения?

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

Рис. 4. Принцип работы датчика

На рис. 4 показана идеальная ситуация, когда емкость, определяемая условиями окружения, не меняется. В реальных условиях емкость датчика меняется постоянно и непредсказуемо из-за изменений влажности, температуры и т. д. Если емкость изменяется быстро, это приводит к активации сигнала срабатывания. На рис. 5 емкость увеличивается. Датчик 1 срабатывает корректно, но когда пользователь пытается активировать датчик 2, возникает сбой. Емкость увеличилась, и в этом случае пользователь не может активировать вход так, чтобы емкость уменьшилась ниже порога срабатывания. Также плохо, если емкость увеличилась настолько, что превысила верхний порог срабатывания. В этом случае произойдет случайное срабатывание, причем датчик останется активным и «залипнет» до тех пор, пока емкость датчика не уменьшится.

Рис. 5. Сбой работы датчика из-за ухода фоновой емкости

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

Рис. 6. Компенсация ухода фоновой емкости

Как выглядит сам емкостный датчик?

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

Рис. 7. Образцы (паттерны) емкостных датчиков

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

Для разных типов устройств ввода требуется задействовать разное количество входов. В ИС AD7142 имеется 14 входов и 12 каналов преобразования, в AD7143 — 8 входов и 8 каналов. В таблице показано, сколько входов требуется для каждого типа датчика. Датчики можно сочетать любым образом, ограничения накладывает только число входов и каналов.

Таблица. Требуемое количество входов для каждого типа датчика

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

Что вы можете предложить для начального ознакомления с этими микросхемами?

Analog Devices предоставляет ряд возможностей для разработчика, пожелавшего использовать описанные датчики. Сначала нужно решить, какой тип датчика требуется. Нужны ли средства, например, чтобы выбирать файлы из списка вmp3-плеере? Если да, то потребуется полоса или колесо прокрутки. Можно реализовать также двухкоординатный манипулятор наподобие джойстика. После того как решено, какие будут устройства ввода, можно приступать к разработке платы, пользуясь библиотекой Mentor Graphics PADs layout library. В этой библиотеке есть много подходящих датчиков разных размеров и форм. Она доступна на сайте Analog Devices. Также рекомендуем руководство по применению AN-854, в котором содержатся рекомендации по конструированию датчиков.

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

Если важна экономия места, нужно использовать 4-слойную плату, иначе можно обойтись и 2-слойной.

Расстояние от преобразователя CDC до датчиков не должно превышать 10 см. Но датчики могут располагаться по разные стороны преобразователя, так что между датчиками может быть до 20 см.

Итак, конструкция готова. Что дальше?

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

Для каждого датчика необходимо:

  • Сконфигурировать внутреннее соединение от входа до преобразователя.
  • Установить величину смещения емкости CBULK. Это неизменяемая часть емкости датчика, определяемая конструкцией.
  • Установить начальные величины порогов срабатывания.

Наиболее простой путь подбора параметров — подключение платы с датчиками к оценочной плате AD7142/AD7143, которая поставляется фирмой Analog Devices. На плате имеется также микроконтроллер с соответствующим программным обеспечением.

Как реагирует преобразователь на манипуляции?

Преобразователь выдает сигнал, когда емкость датчика выходит за пределы порогов срабатывания. Величина изменения емкости зависит от формы и размера датчика, а также от толщины материала покрытия. При толщине 4 мм и больше изменения емкости будут очень малы. На рис. 8 показаны типичные сигналы преобразователя. На этом рисунке видно, что в данном случае величина кода меняется примерно на 250 LSB.

Рис. 8. Типичные формы сигналов преобразователя

Вы говорили о программном обеспечении?

Взаимодействие между CDC преобразователем и микропроцессором происходит за счет прерывания. Хост-микроконтроллер подключен через последовательный интерфейс SPI или I2C. ИС AD7142/AD7143 вырабатывают сигнал прерывания, когда к датчику прикасаются. Хост-микроконтроллер считывает данные из регистров преобразователя. Если датчики — это просто кнопки, то микроконтроллер просто считывает сигнал срабатывания. Если датчик — полоса или колесо прокрутки с высоким разрешением, требуется обработка данных.

Код поставляется заказчику бесплатно при подписании лицензионного соглашения с Analog Devices. Для полосы прокрутки программа занимает около 500 байт памяти данных и 8 кбайт кода. Для колеса прокрутки соответственно 600 байт и 10 кбайт.

Analog Devices поставляет примеры драйверов, написанные на языке C, для основных конфигураций, кнопок и ключей на 8 направлений.

Что еще по поводу конструкции вы можете добавить?

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

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

Толщина пластиковой панели должна быть порядка 2 мм. Если датчики большие, то панель может быть толще, но не более 4 мм.

Заключение

Преобразователи CDC — это очень удобная технология для интерфейсов ручного ввода. Она стремительно становится все более популярной в разных областях, устройствах и системах. Такие устройства ввода просты в разработке, создаются на основе обычных печатных плат и более надежны, чем механические переключатели. Емкостные преобразователи обеспечивают бульшую свободу разработчику. Фирма Analog Devices предоставляет специализированные микросхемы для таких систем, а также средства разработки и программное обеспечение, что в совокупности обеспечивает простую и быструю разработку системы ручного ввода.

Литература
  1. Преобразователи емкость/код на основе сигмадельта модулятора Михаль Брихта // Компоненты и технологии. 2006. № 1.
  2. http://www.analog.com AN829-Environmental Compensation
  3. http://www.analog.com AN830-Factors affecting Sensor Response
  4. http://www.analog.com AN833-Digital Camera Push Button Design
  5. http://www.analog.com Sensor Configuration Guidelines
  6. http://www.analog.com.ru/distr.htm

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

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