Научная статья на тему 'Решения Microchip Technology для реализации сенсорного управления'

Решения Microchip Technology для реализации сенсорного управления Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
345
100
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Никифиров Илья

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Решения Microchip Technology для реализации сенсорного управления»

Решения Microchip Technology

для реализации сенсорного управления

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

Илья НИКИФОРОВ

[email protected]

Строятся такие кнопки, как правило, на емкостных сенсорах (рис. 1), принцип действия которых основан на изменении емкости при касании поверхности над токопроводящим покрытием [1].

Компания Microchip Technology Inc. предлагает ряд решений для реализации сенсорных элементов управления (кнопки, слайдеры, тачпады) на базе следующих периферийных модулей [2]:

• один компаратор и таймер;

• сдвоенный компаратор с RS-триггером и 2 таймера;

• блок емкостных датчиков

(CSM — capacitive sensing module);

• блок измерения времени заряда (CTMU — charge time measurement unit).

Решение на базе микроконтроллера с одним компаратором и таймером

Если стоит задача внедрения в устройство одной сенсорной кнопки, то Microchip предлагает реализовать ее на одном компараторе с таймером на простейших микроконтроллерах Microchip со встроенным компаратором, например на 6-выводных PIC10F204/6 (рис. 2) [3].

На интегрированном в микроконтроллер компараторе и внешней RC-цепочке построен генератор. Частота генератора определяется постоянной времени RC-цепочки, образованной резистором и суммарной емкостью сенсора, которая, в свою очередь, определяется емкостью сенсорной кнопки Ср (рис. 1) и емкостью Cf, вносимой при касании сенсора.

Касание кнопки можно рассматривать как подключение параллельно еще одной емкости Cf (рис. 2), что ведет к изменению частоты генератора. Именно это изменение фиксируется микроконтроллером.

Выход компаратора используется в качестве счетного входа таймера Timer 0, приращение таймера производится по перепаду из 0 в 1 на выходе компаратора. Зная емкость Cp и сопротивление резистора, можно вычислить ожидаемое значение таймера TMR0 за фиксированное время. Время измерения выбирается из соображений, чтобы прошло достаточно много циклов для обеспечения требуемой точности, но не произошло переполнение TMR0, из этих же соображений удобно установить делитель частоты TMR0

в максимальное значение 1:256. Касание кнопки приводит к снижению частоты генерации и, соответственно, частоты переключения компаратора. Таким образом, считывая по циклу значение TMR0 через заданное фиксированное время и сравнивая его с ранее вычисленным, можно сделать вывод о касании кнопки.

Компания Microchip предлагает схему реализации сенсорной кнопки и пример исходного кода модуля на базе дешевых 6-вывод-ных микроконтроллеров PIC10F204/6 с подробным описанием принципа работы [3].

Решение на базе микроконтроллера со сдвоенным компаратором с RS-триггером и двумя таймерами

Для организации до четырех сенсорных кнопок Microchip предлагает решение на сдвоенном компараторе с двумя таймерами, которое реализуется на 8-битных микроконтроллерах семейств PIC16F887/690/616 (рис. 3) [4].

В данном примере Timer 0 задает частоту детектирования касания кнопки, а Timer 1 ис-

Р1С-микроконтроллер

Рис. 2. Организация емкостного датчика на базе одного компаратора и таймера

ТМРО задает фиксированное время измерения

ТМР1Н:ТМР11_ инкрементируется по нарастанию фронта на выходе компаратора

TMR0 | О—»0xFF ,

Переполнение таймера TMR0

Время

Время

ТМРО задает фиксированное время измерения

ТМР1Н:ТМ1%11- инкрементируется по нарастанию фронта на выходе компаратора

Время

таймера TMR0 таймера TMR0

Рис. 3. Организация емкостного датчика на базе сдвоенного компаратора и двух таймеров

пользуется для обнаружения касания, аналогично Timer 0 в первом примере.

Следует отметить, что PIC-микроконтроллеры имеют мультиплексор на входе сдвоенных компараторов, что позволяет обрабатывать большее количество кнопок.

Полную схему для реализации сенсорных кнопок на базе PIC16F887/690/616 с примером исходного кода и подробным описанием принципа работы можно скопировать с сайта www.microchip.com/mtouch [4].

Решение на базе микроконтроллера с блоком емкостных датчиков (CSM)

Ввиду быстро растущего интереса разработчиков к сенсорному управлению Microchip выпустила микроконтроллеры PIC16F со специальным модулем для создания емкостных датчиков — блоком CSM (рис. 4) [З].

Что дает применение блока емкостных датчиков (CSM):

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

• интегрированный мультиплексор для подключения до 16 емкостных сенсоров;

• работу в режиме Sleep для снижения энергопотребления.

Детектирование касания при помощи блока емкостных датчиков CSM сходно с предыдущими методами, но не требует внешних элементов кроме самой кнопки. В качестве счетчика тактов, вырабатываемой генератором частоты, используется Timer 1. В качестве источника запуска и останова счетчика Timer 1 может использоваться Timer 0, Timer 2 или сторожевой таймер WDT. Алгоритм вычисления частоты и детектирования касания кнопки тот же. Возможность использования WDT позволяет определять наличие касания в режиме Sleep. При этом генератор CSM переводится в энергосберегающий режим, а при обнаружении касания кнопки микроконтроллер выходит из режима Sleep и обрабатывает событие нажатия в нормальном режиме.

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

Решение на базе микроконтроллера с блоком измерения времени заряда (CTMU)

В новых 16-битных микроконтроллерах семейств PIC24FJ256GA110 (контроллер общего назначения — 4 UART, 3 SPI, 3 I2C) и PIC24FJ256GB106 (контроллер с USB OTG) добавлен блок измерения времени заряда (CTMU — Charge Time Measurement Unit) (рис. 5) [6].

Анализ состояния емкостного сенсора в CTMU принципиально отличается от ранее описанных методов, так как производится измерение не частоты, а напряжения, до которого зарядилась емкость за фиксированное время (рис. 6). Принцип действия заключается в следующем: разряженная до 0 В суммарная емкость схемы сенсора начинает заряжаться источником тока и заряжается в течение фиксированного времени; далее при помощи АЦП измеряется уровень напряжения, до которого зарядилась емкость CA^ (рис. 7).

CTMU отличается значительно большей функциональностью, детектирование сенсорных кнопок — лишь одно из ее возможных применений. Как вариант — микроконтроллер с CTMU может быть использован для управления емкостной тач-панелью дисплея. В совокупности с бесплатной графической QVGA-библиотекой Microchip это позволяет быстро разработать и внедрить в проектируемое устройство наглядный пользовательский интерфейс. Другие применения CTMU:

Р1С-микроконтроллер

До 16 J

каналов<1)(2) '

Емкостной модуль

Емкостной

датчик

Сторожевой Таймер0 Таймер! Таймер2 таймер

Примечание: (1) 16 каналов в PIC16F724/727/PIC16LF724/727 (2) 8 каналов в РІС 16F722/723/PICLF722/723/726

Рис. 4. Организация емкостных датчиков на базе модуля CSM

Модуль АЦП PIC-микроконтроллера с CTMU

Кнопка О

Кнопка 15

I

Источник тока

CTMU

L ___ ___ ___

Триггер АЦП

I

1

I

'АЦП

АЦП

Рис. 5. Организация емкостных сенсоров на базе модуля CTMU

• измерение абсолютного и относительного изменения заряда, причем относительное не требует калибровки (для детектирования касания сенсорной кнопки);

• измерение временных промежутков (динамический рефлектометр, измерение длины кабеля);

• высокоскоростной ШИМ;

• ЦАП;

• измерение температуры при помощи одного диода.

Преимуществами данного метода являются возможность работы в режиме энергосбе-

режения Sleep, отсутствие внешних элементов и существенно большая скорость реакции на касание кнопок.

Средства разработки и другие варианты применения

Для ознакомления и быстрого освоения работы с емкостными сенсорами на базе микроконтроллеров PIC16 со встроенными компараторами компания Microchip предлагает стартовый набор PICDEM Touch Sense 1 Development Kit (рис. 8) [7]. В него входят:

Рис. 8. Стартовый набор

PICDEM Touch Sense 1 Development Kit

• демонстрационная плата с полной поддержкой сенсорного управления mTouch;

• графический пользовательский интерфейс для экспериментальных разработок;

• управление типа «кнопка» и типа «слайдер».

Для ознакомления и быстрого освоения работы с клавиатурами на основе модуля CTMU Microchip предлагает стартовый набор MPLAB Starter Kit for PIC24F (рис. 9) [8]. Его основные особенности:

• интерактивное меню, выведенное на дисплей при помощи параллельного порта PMP;

• управление емкостными сенсорами, реализованное при помощи CTMU;

Рис. 9. Стартовый набор MPLAB Starter Kit for PIC24F

Время, с Время, с

Рис. 7. Временные диаграммы работы модуля CTMU

• отображение времени и даты с использованием модуля часов реального времени RTCC;

• использование ШИМ и программного переназначения выводов (PPS) для управления RGB светодиодами;

• встроенный USB host;

• отображение данных в реальном времени в режиме multitasking (мультизадачность) — АЦП и PMP;

• захват данных в реальном времени (multitasking — USB).

Компания Microchip Technology Inc. предоставляет ряд готовых схемотехнических решений, алгоритмов и примеров программ для конкретных микроконтроллеров — от базового семейства PIC10 до высокопроизводительных 16-битных PIC24 (таблица) для реализации всевозможных сенсорных кнопок, клавиатур, джойстиков, слайдеров и т. д.

Количество кнопок может быть увеличено за счет внешнего мультиплексора и разделения обработки каждой из них по времени, то есть снижения частоты сканирования. Также для увеличения количества кнопок при том же количестве каналов Microchip предлагает решения, основанные на учете воздействия двух сенсоров одновременно (рис. 10) [9].

Таблица. Сферы применения микроконтроллеров Microchip для емкостных датчиков

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Метод реализации Микроконтроллер Кол-во каналов для кнопок* Особенности МК Применение

Один компаратор и таймер PIC10F204/6 Простейшие 6-выводные МК, 4 I/O, 4 МГц (1 MIPS), EEPROM 256 байт, RAM 16/24 байт, Flash 0,25/0,5 KWords, Timer 1x8bit 1-2 сенсорные кнопки

PIC12F с компаратором 8 pins, 6 I/O, до 20 МГц (5MIPS), 256 байт EEPROM, 128 байт RAM, 2 KWords Flash, Timers 2x8^^ ^16-бит, 1 ECCP

Любой PIC с компаратором 1 шт./комп. Имеются представители во всех семействах

Сдвоенный компаратор с RS-триггером и 2 таймера PIC16F631/677/685/ 687/689/690 20 pins, 18 I/O, до 20 МГц (5 MIPS), 256 байт EEPROM, 256 SRAM, 4 KWords Flash, Timers 2x8^^ 1x 16-бит, Wx^-бит ADC, 1 ECCP, 1 EUSART, 1 SSP Клавиатура, 4-10 клавиш

PIC16F882/883/884/ 886/887 28/40/44 pins, 24/35 I/O, до 20 МГц (5 MIPS), 256 байт EEPROM, 368 байт SRAM, 8 KWords Flash, Timers 2x8^^ ^16-бит, ^10-бит ADC, 1 ECCP, 1 EUSART, 1 MSSP

PIC16F610/616/ 16HV610/616 14 pins, 11 I/O, до 20 МГц (5 MIPS), 128 байт SRAM, 2 KWords Flash, Timers 2x8^^ 1x 16-бит, 8x 10-бит ADC

PIC18F13K50/14K50 20 pins, 15 I/O, до 48 МГц (12 MIPS), 256 байт EEPROM, 768 байт SRAM, 8 KWords Flash, Timers ^8-бит, 3x16^^ 1Ы0-бит ADC, 1 ECCP, 1 EUSART, 1 MSSP, USB

Блок емкостных датчиков ^М) PIC16F722/3/4/6/7 До 16 28/40/44 pins, 25/36 I/O, 8/16xCSM, до 20 МГц (5 MIPS), 368 байт SRAM, 8 KWords Flash, Timers 2x8^^ ^16-бит, 14x8-6rn- ADC, 1 AEUSART, 2 CCP, 1 MSSP Клавиатура, более 15 клавиш

Блок измерения времени заряда (СТМи) PIC24FJ 128/192/256 GA1 06/08/10 До 16 64/80/100 pins, 53/69/85 I/O, 31/42/46 PPS pins, до 32 МГц (16 MIPS), 16 кбайт SRAM, 256 кбайт Flash, Timers 5x 16-бит, 9 CCP, UART(+IrDA), 3 SPI/I2C, 16x 10-бит ADC/CTMU, 3 Comparators, 1 PMP/PSP Клавиатура, более 15 клавиш, в устройствах с высокой производительностью, графическим пользовательским интерфейсом, голосовым оповещением, USB и т. д.

PIC24FJ 64/128/192/256 GB1 06/08/10 До 16 64/80/100 pins, 52/68/84 I/O, 29/40/44 PPS pins, до 32 МГц (16 MIPS), 16 кбайт SRAM, 256 кбайт Flash, Timers 5x 16-бит, 9 CCP, UART(+IrDA), 3 SPI/I2C, ^10-бит ADC/CTMU, 3 Comparators, 1 PMP/PSP, USB OTG

(*) — непосредственно количество каналов для подключения сенсорных кнопок.

Ближайший соседний сенсор

«Земля»

Емкостной

сенсор

Печатная плата

Рис. 10. Влияние касания на состояние соседнего емкостного сенсора

С1 С2 СЗ С4

Рис. 11. Методы увеличения количества кнопок на канал

Треугольные контактные площадки на ПП

Относительное значение от левого и правого сенсоров

Рис. 12. Реализация чувствительного слайдера с использованием двух каналов

Рис. 13. Программное обеспечение от mTouch Dainostic Tool

К примеру, на рис. 11а на четырех емкостных датчиках (один цвет — один датчик) организовано 10 кнопок. На рис. 11б приведен метод для создания клавиатуры с количеством кнопок AxB, с использованием (A+B) каналов. Следует обратить внимание, что при использовании каждого из сенсоров для нескольких кнопок накладываются следующие ограничения:

• детектирование касания кнопки—только после сканирования состояния всех датчиков;

• требуется более высокая скорость сканирования;

• невозможно распознать касание нескольких кнопок одновременно.

Классическая реализация слайдера на емкостных сенсорах в зависимости от требуемой чувствительности требует достаточно много каналов для подключения датчиков. Компания Microchip Technology Inc. предлагает решение с использованием двух каналов (рис. 12), что позволяет выиграть как по количеству каналов, так и в чувствительности.

Для оптимального выбора критерия нажатия кнопки Microchip предоставляет программу mTouch Dainostic Tool (рис. 13) [10].

Емкостные сенсоры активно вытесняют классические механические элементы управления. Например, в медицине это позволя-

ет полностью стерилизовать терапевтические приборы, в промышленности — обеспечить надежность и вандалозащищенность, в офисах — создать привлекательный индивидуальный дизайн. Все это обусловливает быстрый рост сегмента емкостных сенсоров. Широкий выбор периферийных модулей, производительности, портов ввода/вывода и различных корпусов микроконтроллеров Microchip, на основе которых можно реализовать сенсорное управление, позволяет подобрать оптимальный для конкретной задачи контроллер. А специализированные модули для реализации сенсорного управления и наличие готовых схем с подробными описаниями и исходными кодами программ предоставляют разработчику дополнительные возможности. Наличие наглядного графического интерфейса для диагностики и отладки систем с сенсорным управлением делает их создание более простым и быстрым, а функционирование — надежным.

На пике развития и повсеместного внедрения систем с сенсорным управлением Microchip Technology Inc. активно завоевывает этот рынок, предлагая целый ряд специализированных решений, охватывая огромный сектор прикладных задач от простейших кнопок до сенсорных дисплеев. ■

Литература

1. Layout and Physical Design Guidelines for Capacitive Sensing. http://ww1.microchip.com/downloads/en/ AppNotes/G11G2a.pdf

2. Дизайн-центр Microchip по емкостным сенсорам. http://www.microchip.com/mtouch

3. Capacitive Sensing with PIC10F. http://ww1.microchip.com/downloads/en/ AppNotes/G12G2A.pdf

4. Introduction to Capacitive Sensing.

http://ww1.microchip.com/downloads/en/

AppNotes/G11G1a.pdf

З. Using the Capacitive Sensing Module on the PIC16F72X. http://ww1.microchip.com/down-loads/ en/AppNotes/G1171A.pdf

6. CTMU Reference Manual http://ww1.microchip.com/ downloads/en/DeviceDoc/39724a.pdf

7. PICDEM Touch Sense 1 Demo Board Users Guide, http://ww1.microchip.com/downloads/en/ DeviceDoc/41346A.pdf

8. MPLAB Starter Kit for PIC24F User’s Guide, http://ww1.microchip.com/downloads/en/ DeviceDoc/PIC24F%2GStarter_UG_DS-51725a.pdf

9. Capacitive Multibutton Configurations. http:// ww1.microchip.com/downloads/en/AppNotes/ G11G4A.pdf

10. mTouch Users Guide http://www.microchip.com/ stellent/groups/picmicro_sg/documents/ devicedoc/en534865.pdf

i Надоели баннеры? Вы всегда можете отключить рекламу.