Использование Microchip PICkit 2 Debug Express для создания емкостного сенсорного переключателя на основе технологии mTouch
Принцип работы
технологии mTouch
Разработанная компанией Microchip технология определения прикосновения mTouch
основывается на измерении изменения емкости. Многие компании интегрируют в свои
приборы емкостное управление для обеспечения эстетичного вида их продукции. На рис. 1
представлен основной принцип работы емкостного датчика. Если пользователь подносит
палец к емкостному датчику, то он вносит
в схему дополнительную емкость. Это изменение емкости детектируется PIC-микроконтроллером с помощью встроенной периферии и программы. Обзор различных вариантов применения технологии mTouch был
опубликован в [1].
Микроконтроллер PIC16F887, помимо прочего, содержит компаратор и RS-триггер. Технология измерения емкости mTouch использует емкость сенсора как частотозадающий
элемент генератора. Микроконтроллер измеряет частоту генератора, и программное обеспечение обнаруживает и проверяет любое
смещение частоты, которое происходит при
прикосновении пользователя. На рис. 1 показана схема генератора для реализации емкостного сенсора.
RC-генератор реализован на двух компараторах и RS-триггере, которые управляют
зарядом/разрядом емкости сенсора. Конденсатор будет заряжаться и разряжаться со скоростью, определяемой постоянной времени
RC-цепочки. Амплитуда генерации ограничивается установленными верхним и нижним
порогами компараторов. Верхний порог задается внутренним делителем, а нижний —
внешним делителем напряжения. Дополнительный конденсатор в цепи делителя подавляет высокочастотные шумы источника питания и стабилизирует напряжение питания
нижнего порога. Емкость сенсора будет заряжаться и разряжаться до напряжений, ограниченных порогами. Когда значение напряжения на емкости сенсора меньше нижнего
порога, выход компаратора C2OUT находится в состоянии логической «1», и система заряжает емкость. При заряде напряжение на
емкости сенсора растет, и при достижении
верхнего порога выход компаратора меняет
свое состояние на логическом «0», что, в свою
очередь, приведет к началу разряда конденсатора. При достижении нижнего порога компаратор сработает вновь, и емкость начнет
заряжаться. Когда напряжение на емкости
сенсора находится между порогами, то система помнит последнее состояние (заряд или
разряд). Повторяющийся процесс заряда
и разряда изображен на рис. 2.
Построение схемы
На основе отладочной платы из комплекта PICkit 2 Debug Express можно собрать емкостной датчик за считанные минуты. Автор
использовал два SMD-резистора и конденсатор для создания делителя напряжения. Компоненты могут быть припаяны к контактным
площадкам на макетном поле (рис. 3). Кусок
провода соединяет среднюю точку делителя
с выводом RA2 PIC-контроллера.
Форма емкостной кнопки не очень важна.
Размер кнопки определяется проектируемым
прибором. Чем больше площадь контактной
площадки, тем больше чувствительность датчика. В данном примере используется небольшая монета, но пригодна любая проводящая
поверхность (рис. 4). Используемый резистор (150 кОм) определяет частоту переключения генератора. Подойдет любая частота
в диапазоне от 100 до 400 кГц. Точное значение частоты не важно, но более высокая частота даст бóльшую точность измерения.
Затем нужно подключить выходную частоту генератора к таймеру “Timer 1”, для того чтобы программа микроконтроллера могла измерять частоту генератора. Также необходимо подсоединить вывод RA5/C2OUT
к выводу RC0/T1CKI микроконтроллера.
Последнее, что необходимо, это соединить
модуль компаратора с сенсором и резистором
и убрать перемычку R3 с платы Debug Express
(отключает потенциометр от вывода RA0).
Программа
для микроконтроллера
Теперь, когда схема собрана, остается сделать последний шаг — написать программу.
Программа написана на ассемблере и может
быть откомпилирована с использованием
бесплатной среды разработки MPLAB IDE
(рис. 5).
Сначала нужно инициализировать компараторы. Необходимые регистры инициализируются в соответствующей подпрограмме
(init). Когда генератор запущен, должна измеряться его частота для детектирования изменения частоты при касании сенсора. Каждое
изменение состояния выхода компаратора
C2OUT с «0» в «1» будет увеличивать значение
таймера “Timer 1” на единицу. Число переключений таймера накапливается за фиксированный временной интервал, для формирования окна накопления используется таймер “Timer 0”. В начале измерения таймер обнуляется и начинает считать до 255, после чего происходит его переполнение и выставляется флаг запроса прерывания (вызывается
подпрограмма прерывания). В прерывании
фиксируется значение “Timer 1” (регистр
TMR1), которое сравнивается с предыдущим.
Если новое значение “Timer 1” существенно
меньше предыдущего, то есть увеличилась емкость сенсора, то детектируется факт касания
сенсора. Программа зажигает светодиоды, подключенные к порту PORTD. Новое значение
“Timer 1” усредняется с бегущим средним значением, которое используется как база для
сравнения с измеренным значением в текущем периоде. В конце подпрограммы обработки прерывания, когда все процедуры измерения закончили свою работу, оба таймера
(“Timer 0” и “Timer 1”) обнуляются.
Для создания емкостного сенсорного переключателя на основе технологии mTouch или другого сопутствующего проекта, посмотрите дополнительное специальное предложение от компании Microchip на следующей странице.
Окончание следует
Литература
- Никифоров И. Решения Microchip Technology
для реализации сенсорного управления // Компоненты и технологии. 2008. № 9. - http://www.kit-e.ru/assets/files/code-part2.zip
Дополнительная информацияБолее подробно технология mTouch описана на сайте компании Microchip: www.microchip.com/mtouch. Здесь приведены примеры схем, заметки по применению, руководства, web-семинары и презентации, Материалы на русском языке о решениях для построения сенсорных клавиатур и датчиков Microchip Доступны три отладочных средства с различными вариантами реализации технологии mTouch. Вместе с демонстрационными комплектами PICDEM Touch Sense поставляется бесплатное программное обеспечение mTouch Diagnostic tool, которое предоставляет графический интерфейс для анализа Демонстрационный комплект PICDEM Touch Sense 1 Development Kit (номер для заказа — DM164125) Этот комплект демонстрирует технологию mTouch, реализующую клавиатуру и слайдер с использованием 8-разрядных микроконтроллеров PIC16F с компараторами и RS-триггером. В комплекте также Демонстрационный комплект PICDEM Touch Sense 2 Development Kit (номер для заказа — DM164128) Этот комплект демонстрирует технологию mTouch на базе 16-разрядных микроконтроллеров PIC24F Демонстрационный комплект PIC24F Starter Kit (номер для заказа — DM240011) Этот комплект включает демонстрационную плату, среду разработки MPLAB, студенческую версию Недорогая плата из этого комплекта содержит интегрированный внутрисхемный отладчик и программатор, разъемы для использования функций USB-host и USB-device контроллера PIC24FJ, трехцветный светодиод, сенсорные площадки и OLED графический дисплей. Пример программного обеспечения для PIC24F реализует графическое управление элементами схемы через меню, поддерживаются |