Использование Microchip PICkit 2 Debug Express
для создания емкостного сенсорного переключателя на основе технологии mTouch
Microchip PICkit 2 Debug Express — это комплект из программатора-отладчика PICkit 2 и демонстрационной платы. Комплект содержит все необходимое для разработки небольших проектов с нуля. В статье описывается разработка емкостного сенсорного переключателя, построенного всего лишь на нескольких пассивных компонентах. При создании переключателя использована технология mTouch. Компания Microchip предлагает ряд решений построения сенсорных датчиков, пригодных для разных применений, начиная от реализации одной сенсорной кнопки на 6-вы-водном микроконтроллере PIC10F и заканчивая специализированной периферией контроллеров среднего семейства PIC16 и 16-разрядных PIC24FJ. Предлагаемый пример реализован на контроллере PIC16F887, установленном на плате PICkit 2 Debug Express.
Марсель ФЛИПСЕ (Marcel FLIPSE)
Принцип работы технологии mTouch
Разработанная компанией Microchip технология определения прикосновения mTouch основывается на измерении изменения емкости. Многие компании интегрируют в свои приборы емкостное управление для обеспечения эстетичного вида их продукции. Нарис. 1 представлен основной принцип работы емкостного датчика. Если пользователь подносит палец к емкостному датчику, то он вносит в схему дополнительную емкость. Это изменение емкости детектируется PIC-микроконтроллером с помощью встроенной периферии и программы. Обзор различных вариантов применения технологии mTouch был опубликован в [1].
Микроконтроллер PIC16F887, помимо прочего, содержит компаратор и RS-триггер. Технология измерения емкости mTouch использует емкость сенсора как частотозадающий элемент генератора. Микроконтроллер измеряет частоту генератора, и программное обеспечение обнаруживает и проверяет любое смещение частоты, которое происходит при прикосновении пользователя. На рис. 1 показана схема генератора для реализации емкостного сенсора.
RC-генератор реализован на двух компараторах и RS-триггере, которые управляют зарядом/разрядом емкости сенсора. Конден-
сатор будет заряжаться и разряжаться со скоростью, определяемой постоянной времени ИС-цепочки. Амплитуда генерации ограничивается установленными верхним и нижним порогами компараторов. Верхний порог за-
дается внутренним делителем, а нижний — внешним делителем напряжения. Дополнительный конденсатор в цепи делителя подавляет высокочастотные шумы источника питания и стабилизирует напряжение питания
Напряжение на 2/3 VDD = С1+ 1/4Vdd = C2+ конденсаторе, В
/\y;';\y""V
/ I I I I I I г>
♦ © I ® I ® I I I рсмя Питание включено
Рис. 2. Диаграмма напряжения на емкости сенсора
нижнего порога. Емкость сенсора будет заряжаться и разряжаться до напряжений, ограниченных порогами. Когда значение напряжения на емкости сенсора меньше нижнего порога, выход компаратора C2OUT находится в состоянии логической «1», и система заряжает емкость. При заряде напряжение на емкости сенсора растет, и при достижении верхнего порога выход компаратора меняет свое состояние на логическом «0», что, в свою очередь, приведет к началу разряда конденсатора. При достижении нижнего порога компаратор сработает вновь, и емкость начнет заряжаться. Когда напряжение на емкости сенсора находится между порогами, то система помнит последнее состояние (заряд или разряд). Повторяющийся процесс заряда и разряда изображен на рис. 2.
Построение схемы
На основе отладочной платы из комплекта PICkit 2 Debug Express можно собрать емкостной датчик за считанные минуты. Автор использовал два SMD-резистора и конденсатор для создания делителя напряжения. Компоненты могут быть припаяны к контактным площадкам на макетном поле (рис. 3). Кусок провода соединяет среднюю точку делителя с выводом RA2 PIC-контроллера.
Форма емкостной кнопки не очень важна. Размер кнопки определяется проектируемым прибором. Чем больше площадь контактной площадки, тем больше чувствительность датчика. В данном примере используется небольшая монета, но пригодна любая проводящая поверхность (рис. 4). Используемый резистор (150 кОм) определяет частоту переключения генератора. Подойдет любая частота
Рис. 3. Делитель напряжения
в диапазоне от 100 до 400 кГц. Точное значение частоты не важно, но более высокая частота даст большую точность измерения.
Затем нужно подключить выходную частоту генератора к таймеру “Timer 1”, для того чтобы программа микроконтроллера могла измерять частоту генератора. Также необходимо подсоединить вывод RA5/C2OUT к выводу RC0/T1CKI микроконтроллера. Последнее, что необходимо, это соединить модуль компаратора с сенсором и резистором
и убрать перемычку R3 с платы Debug Express (отключает потенциометр от вывода RA0).
Программа для микроконтроллера
Теперь, когда схема собрана, остается сделать последний шаг — написать программу. Программа написана на ассемблере и может быть откомпилирована с использованием бесплатной среды разработки MPLAB IDE (рис. 5).
Сначала нужно инициализировать компараторы. Необходимые регистры инициализируются в соответствующей подпрограмме (init). Когда генератор запущен, должна измеряться его частота для детектирования изменения частоты при касании сенсора. Каждое изменение состояния выхода компаратора C2OUT с «0» в «1» будет увеличивать значение таймера “Timer 1” на единицу. Число переключений таймера накапливается за фиксированный временной интервал, для формирования окна накопления используется тай-
Рис. 4. Сенсорная площадка
. .
Рис. 5. Среда разработки MPLAB IDE
Дополнительная информация
Более подробно технология 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, студенческую версию Си-компилятора MPLAB C30 C и все, что необходимо для начала разработки приложений с емкостными сенсорными элементами.
Недорогая плата из этого комплекта содержит интегрированный внутрисхемный отладчик и программатор, разъемы для использования функций USB-host и USB-device контроллера PIC24FJ, трехцветный светодиод, сенсорные площадки и OLED графический дисплей. Пример программного обеспечения для PIC24F реализует графическое управление элементами схемы через меню, поддерживаются функции работы с USB-Flash накопителями для записи лога данных.
мер “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