В HTML      В PDF
микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Статьи > Датчики

реклама

 
радиационно стойкие ПЗУ Миландр

Продажа силового и бронированного кабеля и провода в Москве

текст еще



Решения Microchip Teсhnology для реализации сенсорного управления на емкостных датчиках

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

Строятся такие кнопки, как правило на емкостных сенсорах (рис. 1), принцип действия которых основан на изменении емкости при касании поверхности над токопроводящим покрытием [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), что ведет к изменению частоты генератора.

Организация емкостного датчика на базе одного компаратора и таймера
Рис. 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].

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

В данном примере Timer 0 задает частоту детектирования касания кнопки, а Timer 1 используется для обнаружения касания, аналогично Timer 0 в первом примере. Следует отметить, что PIC-микроконтроллеры имеют мультиплексор на входе сдвоенных компараторов, что позволяет обрабатывать большее количество кнопок. Полную схему для реализации сенсорных кнопок на базе PIC16F887/690/616 с примером исходного кода и подробным описанием принципа работы можно скопировать с сайта www.microchip.com/mtouch [4].

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

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

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

Что дает применение блока емкостных датчиков (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
Рис. 5. Организация емкостных сенсоров на базе модуля CTMU

Анализ состояния емкостного сенсора в CTMU принципиально отличается от ранее описанных методов, так как производится измерение не частоты, а напряжения, до которого зарядилась емкость за фиксированное время (рис. 6).

Отличие работы CTMU от других методов
Рис. 6. Отличие работы CTMU от других методов: а) измерение частоты, б) измерение напряжения

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

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

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

  • измерение абсолютного и относительногоизменения заряда, причем относительное не требует калибровки (для детектирования касания сенсорной кнопки);
  • измерение временных промежутков (динамический рефлектометр, измерение длины кабеля);
  • высокоскоростной ШИМ;
  • ЦАП;
  • измерение температуры при помощи одного диода.

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

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

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

Стартовый набор PICDEM Touch Sense 1 Development Kit
Рис. 8. Стартовый набор PICDEM Touch Sense 1 Development Kit

В него входят:

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

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

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

Его основные особенности:

  • интерактивное меню, выведенное на дисплей при помощи параллельного порта PMP;
  • управление емкостными сенсорами, реализованное при помощи CTMU;
  • отображение времени и даты с использованием модуля часов реального времени RTCC;
  • использование ШИМ и программного переназначения выводов (PPS) для управления RGB светодиодами;
  • встроенный USB host;
  • отображение данных в реальном времени в режиме multitasking (мультизадачность) - АЦП и PMP;
  • захват данных в реальном времени (multitasking - USB).

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

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

Метод реализации Микроконтроллер Кол-во каналов для кнопок* Особенности МК Применение
1. один компаратор и таймер PIC10F204/6 1 Простейшие 6-выводные МК, 4 I/O, 4 MHz (1 MIPS), EEPROM 256 bytes, RAM 16/24 bytes, Flash 0.25/0.5 KWords, Timer 1x8bit 1-2 сенсорных кнопки
PIC12F с компаратором 1 8 pins, 6 I/O, до20 MHz (5MIPS), 256 bytes EEPROM, 128 bytes RAM, 2 KWords Flash, Timers 2x8bit, 1x16bit, 1 ECCP
Любой PIC с компаратором 1 шт./комп. Имеются представители во всех семействах.
2. cдвоенный компаратор с RS-триггером и 2 таймера PIC16F631/ 677/ 685/ 687/ 689/ 690 4 20 pins, 18 I/O, до 20 MHz (5MIPS), 256 bytes EEPROM, 256 SRAM, 4 KWords Flash, Timers 2x8bit, 1x16bit, 10x12bit ADC, 1 ECCP, 1 EUSART, 1 SSP Клавиатура, 4-10 клавиш
PIC16F882/ 883/ 884/ 886/ 887 4 28/40/44 pins, 24/35 I/O, до 20 MHz (5 MIPS), 256 bytes EEPROM, 368 bytes SRAM, 8 KWords Flash, Timers 2x8bit, 1x16bit, 14x10bit ADC, 1 ECCP, 1 EUSART, 1 MSSP
PIC16F610/ 616/ 16HV610/ 616 4 14 pins, 11 I/O, до 20 MHz (5 MIPS), 128 bytes SRAM, 2 KWords Flash, Timers 2x8bit, 1x16bit, 8x10bit ADC
PIC18F13K50/ 14K50 3 20 pins, 15 I/O, до 48 MHz (12 MIPS), 256 bytes EEPROM, 768 bytes SRAM, 8 KWords Flash, Timers 1x8bit, 3x16bit, 11x10bit ADC, 1 ECCP, 1 EUSART, 1 MSSP, USB
3. Блок емкостных датчиков(CSM) PIC16F722/ 3/ 4/ 6/ 7 До 16 28/40/44 pins, 25/36 I/O, 8/16xCSM, до 20 MHz (5 MIPS), 368 bytes SRAM, 8 KWords Flash, Timers 2x8bit , 1x16bit, 14x8bit ADC, 1 AEUSART, 2 CCP, 1 MSSP Клавиатура, более 15 клавиш
4. Блок измерения времени заряда (CTMU) PIC24FJ128/ 192/ 256GA106/ 08/10 До 16 64/80/100 pins, 53/69/85 I/O, 31/42/46 PPS pins, до 32 MHz (16 MIPS), 16 Kbytes SRAM, 256 Kbytes Flash, Timers 5x16bit, 9 CCP, 4 UART(+IrDA), 3 SPI/I2C, 16x10bit ADC/CTMU, 3 Comparators, 1 PMP/PSP Клавиатура, более 15 клавиш, в устройствах с высокой производительностью, графическим пользовательским интерфейсом, голосовым оповещением, USB и т.д.
PIC24FJ64/128/192/ 256GB106/08/10 До 16 64/80/100 pins, 52/68/84 I/O, 29/40/44 PPS pins, до 32 MHz (16 MIPS), 16 Kbytes SRAM, 256 Kbytes Flash, Timers 5x16bit, 9 CCP, 4 UART(+IrDA), 3 SPI/I2C, 16x10bit ADC/CTMU, 3 Comparators, 1 PMP/PSP, USB OTG

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

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

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

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

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

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

  • детектирование касания кнопки - только после сканирования состояния всех датчиков;
  • требуется более высокая скорость сканирования;
  • невозможно распознать касание нескольких кнопок одновременно.

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

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

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

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

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

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

Литература

  1. Layout and Physical Design Guidelines for Capacitive Sensing.
    http://ww1.microchip.com/downloads/en/AppNotes/01102a.pdf
  2. Дизайн-центр Microchip по емкостным сенсорам.
    http://www.microchip.com/mtouch
  3. Capacitive Sensing with PIC10F.
    http://ww1.microchip.com/downloads/en/AppNotes/01202A.pdf
  4. Introduction to Capacitive Sensing.
    http://ww1.microchip.com/downloads/en/AppNotes/01101a.pdf
  5. Using the Capacitive Sensing Module on the PIC16F72X.
    http://ww1.microchip.com/downloads/en/AppNotes/01171A.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%20Starter_UG_DS-51725a.pdf
  9. Capacitive Multibutton Configurations.
    http://ww1.microchip.com/downloads/en/AppNotes/01104A.pdf
  10. mTouch Users Guide
    http://www.microchip.com/stellent/groups/picmicro_sg/documents/devicedoc/en534865.pdf

Илья Никифоров,
Компания Гамма Санкт-Петербург

Статья была опубликована в журнале Компоненты и Технологии №9 2008 год






 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (495) 514 4110. e-mail:info@eust.ru
©1998-2016 ООО Рынок Микроэлектроники