Использование Microchip PICkit 2 Debug Express для создания емкостного сенсорного переключателя на основе технологии mTouch

№ 5’2009
PDF версия
Microchip PICkit 2 Debug Express — это комплект из программатора-отладчика PICkit 2 и демонстрационной платы. Комплект содержит все необходимое для разработки небольших проектов с нуля. В статье описывается разработка емкостного сенсорного переключателя, построенного всего лишь на нескольких пассивных компонентах. При создании переключателя использована технология mTouch. Компания Microchip предлагает ряд решений построения сенсорных датчиков, пригодных для разных применений, начиная от реализации одной сенсорной кнопки на 6-выводном микроконтроллере PIC10F и заканчивая специализированной периферией микроконтроллеров среднего семейства PIC16 и 16-разрядных PIC24FJ. Предлагаемый пример реализован на микроконтроллере PIC16F887, установленном на плате PICkit 2 Debug Express.

Принцип работы
технологии mTouch

Разработанная компанией Microchip технология определения прикосновения mTouch
основывается на измерении изменения емкости. Многие компании интегрируют в свои
приборы емкостное управление для обеспечения эстетичного вида их продукции. На рис. 1
представлен основной принцип работы емкостного датчика. Если пользователь подносит
палец к емкостному датчику, то он вносит
в схему дополнительную емкость. Это изменение емкости детектируется PIC-микроконтроллером с помощью встроенной периферии и программы. Обзор различных вариантов применения технологии mTouch был
опубликован в [1].

Рис. 1. Принцип действия емкостного сенсора

Микроконтроллер PIC16F887, помимо прочего, содержит компаратор и RS-триггер. Технология измерения емкости mTouch использует емкость сенсора как частотозадающий
элемент генератора. Микроконтроллер измеряет частоту генератора, и программное обеспечение обнаруживает и проверяет любое
смещение частоты, которое происходит при
прикосновении пользователя. На рис. 1 показана схема генератора для реализации емкостного сенсора.

RC-генератор реализован на двух компараторах и RS-триггере, которые управляют
зарядом/разрядом емкости сенсора. Конденсатор будет заряжаться и разряжаться со скоростью, определяемой постоянной времени
RC-цепочки. Амплитуда генерации ограничивается установленными верхним и нижним
порогами компараторов. Верхний порог задается внутренним делителем, а нижний —
внешним делителем напряжения. Дополнительный конденсатор в цепи делителя подавляет высокочастотные шумы источника питания и стабилизирует напряжение питания
нижнего порога. Емкость сенсора будет заряжаться и разряжаться до напряжений, ограниченных порогами. Когда значение напряжения на емкости сенсора меньше нижнего
порога, выход компаратора C2OUT находится в состоянии логической «1», и система заряжает емкость. При заряде напряжение на
емкости сенсора растет, и при достижении
верхнего порога выход компаратора меняет
свое состояние на логическом «0», что, в свою
очередь, приведет к началу разряда конденсатора. При достижении нижнего порога компаратор сработает вновь, и емкость начнет
заряжаться. Когда напряжение на емкости
сенсора находится между порогами, то система помнит последнее состояние (заряд или
разряд). Повторяющийся процесс заряда
и разряда изображен на рис. 2.

Рис. 2. Диаграмма напряжения на емкости сенсора

Построение схемы

На основе отладочной платы из комплекта PICkit 2 Debug Express можно собрать емкостной датчик за считанные минуты. Автор
использовал два SMD-резистора и конденсатор для создания делителя напряжения. Компоненты могут быть припаяны к контактным
площадкам на макетном поле (рис. 3). Кусок
провода соединяет среднюю точку делителя
с выводом RA2 PIC-контроллера.

Рис. 3. Делитель напряжения

Форма емкостной кнопки не очень важна.
Размер кнопки определяется проектируемым
прибором. Чем больше площадь контактной
площадки, тем больше чувствительность датчика. В данном примере используется небольшая монета, но пригодна любая проводящая
поверхность (рис. 4). Используемый резистор (150 кОм) определяет частоту переключения генератора. Подойдет любая частота
в диапазоне от 100 до 400 кГц. Точное значение частоты не важно, но более высокая частота даст бóльшую точность измерения.

Рис. 4. Сенсорная площадка

Затем нужно подключить выходную частоту генератора к таймеру “Timer 1”, для того чтобы программа микроконтроллера могла измерять частоту генератора. Также необходимо подсоединить вывод RA5/C2OUT
к выводу RC0/T1CKI микроконтроллера.
Последнее, что необходимо, это соединить
модуль компаратора с сенсором и резистором
и убрать перемычку R3 с платы Debug Express
(отключает потенциометр от вывода RA0).

Программа
для микроконтроллера

Теперь, когда схема собрана, остается сделать последний шаг — написать программу.
Программа написана на ассемблере и может
быть откомпилирована с использованием
бесплатной среды разработки MPLAB IDE
(рис. 5).

Рис. 5. Среда разработки MPLAB IDE

Сначала нужно инициализировать компараторы. Необходимые регистры инициализируются в соответствующей подпрограмме
(init). Когда генератор запущен, должна измеряться его частота для детектирования изменения частоты при касании сенсора. Каждое
изменение состояния выхода компаратора
C2OUT с «0» в «1» будет увеличивать значение
таймера “Timer 1” на единицу. Число переключений таймера накапливается за фиксированный временной интервал, для формирования окна накопления используется таймер “Timer 0”. В начале измерения таймер обнуляется и начинает считать до 255, после чего происходит его переполнение и выставляется флаг запроса прерывания (вызывается
подпрограмма прерывания). В прерывании
фиксируется значение “Timer 1” (регистр
TMR1), которое сравнивается с предыдущим.
Если новое значение “Timer 1” существенно
меньше предыдущего, то есть увеличилась емкость сенсора, то детектируется факт касания
сенсора. Программа зажигает светодиоды, подключенные к порту PORTD. Новое значение
“Timer 1” усредняется с бегущим средним значением, которое используется как база для
сравнения с измеренным значением в текущем периоде. В конце подпрограммы обработки прерывания, когда все процедуры измерения закончили свою работу, оба таймера
(“Timer 0” и “Timer 1”) обнуляются.

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

Окончание следует

Литература

  1. Никифоров И. Решения Microchip Technology
    для реализации сенсорного управления // Компоненты и технологии. 2008. № 9.
  2. http://www.kit-e.ru/assets/files/code-part2.zip

Дополнительная информация

Более подробно технология mTouch описана на сайте компании Microchip: www.microchip.com/mtouch.

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

Материалы на русском языке о решениях для построения сенсорных клавиатур и датчиков Microchip
находятся на сайте www.gamma.spb.ru.

Доступны три отладочных средства с различными вариантами реализации технологии mTouch.

Вместе с демонстрационными комплектами PICDEM Touch Sense поставляется бесплатное программное обеспечение mTouch Diagnostic tool, которое предоставляет графический интерфейс для анализа
и настройки сенсорных решений в реальном времени.

Демонстрационный комплект PICDEM Touch Sense 1 Development Kit (номер для заказа — DM164125)

Этот комплект демонстрирует технологию mTouch, реализующую клавиатуру и слайдер с использованием 8-разрядных микроконтроллеров PIC16F с компараторами и RS-триггером. В комплекте также
поставляется анализатор последовательных протоколов PICkit Serial Analyzer.

Демонстрационный комплект PICDEM Touch Sense 2 Development Kit (номер для заказа — DM164128)

Этот комплект демонстрирует технологию mTouch на базе 16-разрядных микроконтроллеров PIC24F
с интегрированным модулем измерения времени заряда (Charge Time Measurements Unit — CTMU).

Демонстрационный комплект PIC24F Starter Kit (номер для заказа — DM240011)

Этот комплект включает демонстрационную плату, среду разработки MPLAB, студенческую версию
Си1компилятора MPLAB C30 C и все, что необходимо для начала разработки приложений с емкостными сенсорными элементами.

Недорогая плата из этого комплекта содержит интегрированный внутрисхемный отладчик и программатор, разъемы для использования функций USB-host и USB-device контроллера PIC24FJ, трехцветный светодиод, сенсорные площадки и OLED графический дисплей. Пример программного обеспечения для PIC24F реализует графическое управление элементами схемы через меню, поддерживаются
функции работы с USB-Flash накопителями для записи лога данных.

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

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