Распродажа

Электронные компоненты со склада по низким ценам, подробнее >>>

Журнал Компел

2010: 
1, 2, 3, 4, 5, 6, 7, 8, 9
2009: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
13, 14, 15, 16
2008: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
13, 14, 15, 16
2007: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
13, 14, 15, 16, 17, 18, 19, 20
2005: 
1, 2, 3

Новости электроники

Мне нравится

Комментарии

дима пишет в теме Параметры биполярных транзисторов серии КТ827:

люди куплю транзистар кт 827А 0688759652

тамара плохова пишет в теме Журнал Радио 9 номер 1971 год. :

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

Ивашка пишет в теме Параметры отечественных излучающих диодов ИК диапазона:

Светодиод - это диод который излучает свет. А если диод имеет ИК излучение, то это ИК диод, а не "ИК светодиод" и "Светодиод инфракрасный", как указано на сайте.

Владимир пишет в теме 2Т963А-2 (RUS) со склада в Москве. Транзистор биполярный отечественный:

Подскажите 2т963а-2 гарантийный срок

Владимир II пишет... пишет в теме Параметры биполярных транзисторов серии КТ372:

Спасибо!

Журнал "Новости Электроники", номер 12, 2007 год.

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

Алексей Пантелейчук
Продолжаем цикл статей по применению микроконтроллеров MSP430 производства компании Texas Instruments. В новом материале обсуждаются вопросы построения емкостных датчиков прикосновений и дается представление об основных компонентах и методологиях. Практический материал будет полезен разработчикам сенсорной клавиатуры для различных приборов, устройств контроля доступа и информационных систем.

 

 

 

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

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

Открытый конденсатор, работающий как датчик

Рис. 1. Открытый конденсатор, работающий как датчик

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

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

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

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

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

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

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

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

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

Параметры конденсатора

Рис. 2. Параметры конденсатора

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

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

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

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

Расположение кнопок и слайдера

Рис. 3. Расположение кнопок и слайдера

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

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

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

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

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

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

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

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

Таблица 1. Диэлектрические постоянные материалов   
Материал Диэлектрическая
постоянная
Вакуум 1 (по определению)
Воздух 1,00054
Полиэтилен 2,25
Бумага 3,5
Пирекс 4,7
Резина 7
Кремний 11,68

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

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

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

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

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

Пример системы на основе осциллятора

Рис. 5. Пример системы на основе осциллятора

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

fOSC = 1/[1,386 ╢ RC ╢ CSENSOR]

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

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

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

Система с несколькими датчиками на основе Comparator_A

Рис. 6. Система с несколькими датчиками на основе Comparator_A

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

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

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

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

Рис. 7. Измерение времени разряда конденсатора

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

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

Измерение емкости с использованием портов GPIO и таймера Timer_A

Рис. 8. Измерение емкости с использованием портов GPIO и таймера Timer_A

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

Выше говорилось, что для каждого порта нужен один резистор. Схему можно упростить, если использовать один резистор для двух портов. Во время измерения емкости одного из датчиков порт, подключенный ко второму должен иметь низкий уровень сигнала, т.е. служит заземлением для разрядки емкости. Другое достоинство такой схемы в том, что емкость каждого датчика может быть измерена в двух направлениях: зарядка от нуля до высокого уровня и разрядка от Vcc до порога низкого уровня. На рисунке 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.

Пример мультиплексирования 12 емкостных элементов датчиков

Рис. 13. Пример мультиплексирования 12 емкостных элементов датчиков

Заключение

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

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

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

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

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

Вернуться к содержанию номера







Ваш комментарий к статье
Журнал "Новости Электроники", номер 12, 2007 год. :
Ваше имя:
Отзыв: Разрешено использование тэгов:
<b>жирный текст</b>
<i>курсив</i>
<a href="http://site.ru"> ссылка</a>