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

Датчики определения расстояния и касания

Ультразвуковой датчик

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

Показания ультразвукового датчика измеряется в сантиметрах и дюймах. Он может измерять расстояние от 0 до 255 сантиметров с точностью +/-3 см. Ультразвуковой сенсор работает по тому же принципу, что и локатор летучей мыши: он измеряет расстояние путем расчета времени, которое потребовалось звуковой волне для возвращения после отражения от объекта, подобно эху.

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

Следует помнить, что два и более ультразвуковых датчика, работающих в одном помещении, могут интерферировать и снижать точность результатов

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

Рис.1

В основе ультразвукового принципа обнаружения препятствий лежит принцип эха. В состав датчика входят два преобразователя: один преобразователь излучает ультразвуковые волны, а отраженные волны обнаруживаются другим, одним или более, преобразователем. Тот же самый преобразователь, который передает ультразвуковые волны, может быть использован и для обнаружения отраженной волны. Основное назначение датчиков -- обнаруживать присутствие или отсутствие препятствия, но данный принцип (time of flight) позволяет также по времени возвращения эха при известной скорости распространения звука рассчитывать расстояние до объекта.

Ультразвук представляет собой не что иное, как вибрацию на частоте > 20 кГц. Большинство коммерчески доступных преобразователей работает на частотах в диапазоне 40-250 кГц.

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

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

Важно, что скорость звука является функцией состава и температуры среды (воздуха) и влияет на точность и разрешение датчика. Точность измерений расстояния прямо пропорциональна точности значения скорости звука, используемого в вычислениях, и варьируется в реальных условиях от 345 м/c при комнатной температуре до более чем 380 м/c при температуре порядка 70 °C. Длина звуковой волны

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

Затухание звука является функцией частоты и влажности, что влияет на максимальное расстояние, детектируемое датчиком. Длинные волны (с меньшей частотой) характеризуются меньшим затуханием. На частотах свыше 125 кГц максимальное затухание случается при относительной влажности 100%, на частотах 40 кГц -- уже при влажности в 50%. Так как датчик должен работать при любых значениях влажности, в расчетах используется максимальное затухание для каждой частоты.

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

Датчик касания

Датчик касания это кнопка, у которой возможно два состояния - нажато и отжато. Программно датчик распознает еще одно состояние Касание.

Увидеть на экране дисплея реакцию датчика касания можно в режиме Просмотра. При не нажатой кнопке датчика на дисплее появляется 0, а при нажатой - 1.

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

Датчик касания является одним из органов осязания для роботов, что делает его необходимым там где требуется реакция робота на объекты.

Датчик касания позволяет роботу осуществлять прикосновения.

Сенсор нажатия может определить момент нажатия на него чего-либо, а так же момент освобождения.

Датчик касания представлен на рис.2.

Рис.2 Датчик касания

Используемые образцовые приборы и дополнительное оборудование

Микрометр

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

ИЧ-25 предназначен для измерения линейных размеров абсолютным и относительным методами, определения величины отклонений от заданной геометрической формы и взаимного расположения поверхностей.

На рис.3 представлены несколько видов индикаторов.


Рис.3.

Параметры микрометра ИЧ 25:

Диапазон измерений 0-25 мм.

Цена деления 0.01 мм.

Габариты 159х85х51 мм.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

О том, как прикрутить к микроконтроллеру ёмкостный сенсор прикосновения. Эта идея показалась мне довольно перспективной, некоторым приборам сенсорные клавиши подошли бы куда лучше механических. В этой статье я расскажу о своей реализации этой полезной технологии на основе отладочной платы STM32 Discovery.

Итак, только начав осваивать STM32, я решил в качестве упражнения добавить устройству способность определять прикосновения. Начав разбираться с теорией и практикой по вышеупомянутой статье, я повторил схему товарища "a. Она работала идеально, но мне, любителю минимализма, захотелось её упростить, избавившись от лишних элементов. Лишними на мой взгляд оказались внешний резистор и дорожка к питанию. Всё это уже есть в большинстве микроконтроллеров, в том числе в AVR и в STM32. Я имею в виду подтягивающие резисторы портов ввода/вывода. Почему бы не заряжать пластинку и наши пальцы через них? В ожидании подвоха я собрал на макетке схему, которая, к моему удивлению, заработала с первого же раза. Собственно говоря, схемой это называть даже смешно, ведь всё что нам нужно - это просто подсоединить контактную пластинку к ножке отладочной платы. Всю работу на себя возьмёт микроконтроллер.

Что же из себя представляет программа? Во первых две функции:
Первая выводит на ножку сенсора (нулевой пин регистра C) логический «0»

Void Sensor_Ground (void) { GPIOC->CRL = 0x1; GPIOC->BRR |= 0x1; }

Вторая настраивает тот же вывод на вход, с подтяжкой к питанию.

Void Sensor_InPullUp (void) { GPIOC->CRL = 0x8; GPIOC->BSRR |= 0x1; }

Теперь в начале цикла опроса вызовем Sensor_Ground(), и подождём некоторое время чтобы разрядить на землю весь остаточный заряд на сенсоре. Затем обнулим переменную count, которой будем считать время зарядки сенсора и вызовем Sensor_InPullUp().

Sensor_Ground(); Delay(0xFF); //простой пустой счётчик count = 0; Sensor_InPullUp();

Теперь сенсор начинает заряжаться через внутренний подтягивающий резистор номиналом порядка десятков КОм (30..50КОм у STM32). Постоянная времени такой цепи будет равняться считанным тактам, поэтому я поменял кварцевый резонатор на отладочной плате на более быстрый, 20МГц (кстати, я не сразу заметил, что оказывается на STM32 Discovery кварц меняется без пайки). Итак считаем такты процессора, пока на входе не появится логическая единица:

While(!(GPIOC->IDR & 0x1)) { count++; }

После выхода из этого цикла в переменной count будет храниться число, пропорциональное ёмкости сенсорной пластинки. В моём случае с чипом на 20МГц значение count равняется 1 при отсутствии нажатия, 7-10 при самом лёгком касании, 15-20 при нормальном прикосновении. Остаётся лишь сравнить её с пороговым значением и не забыть снова вызвать Sensor_Ground(), чтобы к следующему циклу опроса сенсор уже был разряжен.
Полученной чувствительности хватает для уверенного определения прикосновений к голым металлическим площадкам. При прикрытии сенсора листом бумаги или пластика чувствительность падает в три - четыре раза, хорошо определяются только уверенные нажатия. Чтобы увеличить чувствительность в случае, когда сенсор необходимо прикрыть защитным материалом, можно повысить тактовую частоту микроконтроллера. С чипом серии STM32F103, способном работать на частотах до 72МГц, помехой не будут и миллиметровые преграды между пальцем и сенсором.
По сравнению с реализацией "a, мой подход работает гораздо быстрее (порядка десятка тактов на опрос одного сенсора), поэтому я не стал усложнять программу, настраивая прерывания по таймеру.

Напоследок видео с демонстрацией работы сенсора.

Main.c тестовой программы.

На микроконтроллер

Cпасибо пользователю за очень полезную статью ARM-микроконтроллеры STM32F. Быстрый старт c STM32-Discovery , пользователю за идею и доходчивое теоретическое описание.

UPD. После комментариев "a я решил разобраться с тактированием и обнаружил, что по умолчанию STM32 Discovery настроен на тактовую частоту
(HSE / 2) * 6 = 24 MHz, где HSE - частота внешнего кварца. Соответственно поменяв кварц с 8 на 20 МГц, я заставил бедную STM"ку работать на 60 МГц. Так что во-первых, некоторые из выводов очевидно не совсем верны, во-вторых то чем я занимался может привести к сбоям чипа. На случай таких сбоев в микроконтроллере есть HardFault прерывание, воспользовавшись им, я проверил более высокие частоты. Так вот, сбоить чип начинает только на 70 МГц. Но хотя эту конкретную программу контроллер переваривает на 60МГц, при использовании периферии или работе с Flash памятью он может повести себя непредсказуемо. Вывод: относитесь к данному топику как к эксперименту, повторяйте только на свой страх и риск.

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

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

Рис. 1.

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

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

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

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

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

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

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

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

Рис. 2.

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

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

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

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

Рис. 3.

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 5.

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

f OSC = 1/

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

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

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

Рис. 6.

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

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

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

Рис. 7.

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

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

Рис. 8.

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

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

Рис. 9.

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

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

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

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

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

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

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

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

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

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

Рис. 10.

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

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

Рис. 11.

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

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

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

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

Рис. 12.

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

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

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

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

Рис. 13.

Заключение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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