Сенсорные кнопки? – с решениями от STM еще проще!

30 ноября 2011

Не секрет, что одна из частых причин выхода из строя устройства или установки — механические повреждения. Причем речь идет даже не о поврежденных корпусах, разбитых экранах, трещинах печатных плат. Поломка может быть еще меньше — не работает кнопка. Причин этому может быть много — залипли или окислились контакты, ослабла пружинка, заполз жучок, стерлись токопроводящие части контакта, и там далее. Результат один — необходим ремонт. Хорошо, если такое произошло с чем-то не особо важным, например пультом от телевизора (хотя, если мы ждем ответственного матча любимой команды, и это покажется очень важным), а если от работы прибора зависит работа предприятия, то это — простои, потеря времени и возможной прибыли. Наличие подвижных деталей, особенно мелких, вносит дополнительный вклад в вероятность отказа прибора или сбоя.

Решение, конечно же, существует и известно давно — сенсорные кнопки. В отличие от обычных в них нет механических частей, ломаться просто нечему. А сами контакты сенсорных кнопок можно достаточно хорошо защитить от внешних воздействий, и более простыми способами, чем это возможно для механических кнопок. В качестве лирического отступления упомянем автоматизированный город Диаспар из романа «Город и звезды» Артура Кларка — его исполнительные механизмы и устройства взаимодействия с людьми не имели подвижных частей.

 

Плюсы и минусы сенсорных кнопок

Преимущества сенсорных кнопок можно перечислять долго. Остановимся на основных:

  • долговечность- срок эксплуатации определяется фактически целостностью печатной платы и временем функционирования обработчика событий кнопки;
  • повышенная защищенность от внешних воздействий- сенсорные кнопки намного проще защитить от действия пыли, влаги, масла;
  • вандалостойкость- нечего сжигать или выламывать;
  • возможность работы в условиях низкой освещенности — подсветку сенсорной кнопки реализовать проще, чем обычной [9].

Однако преимущества несколько нивелируются несколько большей сложностью сенсорных кнопок — возникает ряд требований к разводке печатной платы, форме сенсорных контактов, обработке сигналов с кнопки. Перечисленные причины приводят к повышению затрат на этапе разработки — появление дополнительных элементов схемы (и, как следствие, увеличение потребляемой мощности), подготовка разводки печатной платы (расчет формы и взаимного расположения электродов), программное обеспечение (дополнительное время на разработку и отладку проекта), в некоторых случаях — предварительное макетирование изделия.

 

Способы реализации сенсорных датчиков

Чаще всего сенсорные кнопки — емкостные: отслеживается изменение емкости в контуре генератора или мультивибратора. Такой вариант требует меньше дискретных элементов, чем, скажем, вариант с инфракрасной подсветкой, работающий на отражение.

Основные технологии емкостных сенсорных кнопок заключаются в следующем [1].

Измерение времени заряда/разряда RC-цепочки — при касании в чувствительной зоне кнопки (чаще всего касание одного из электродов) изменяется емкость, соответственно изменяется постоянная времени цепочки, что и регистрируется контролирующей схемой.

Опрос кнопки путем измерения времени заряда измерительного конденсатора разрядом конденсатора, образованного сенсорной кнопкой — так называемый опрос путем переноса заряда. В этом случае конденсатор сенсорной кнопки периодически заряжается, а его разряд происходит на другой конденсатор (измерительный), и замеряется время его заряда до определенного напряжения. При касании кнопки ее емкость увеличивается (накапливается больший заряд), и заряд измерительного конденсатора происходит за меньшее время.  

Реализация сенсорной кнопки за счет изменения поверхностной емкости. Емкость кнопки изменяется при приближении пальца близко к ее поверхности за счет дополнительной емкости:

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

Проекционная емкость — за счет прикосновения изменяется диэлектрическая проницаемость, соответственно изменяется общая емкость.

В качестве модификации методов переноса заряда и проекционной емкости можно указать технологию ProxSenceTM, реализующую эти методы с помощью специализированных схемных решений, выполненных в виде IP-ядер.

Для корректной реализации сенсорных элементов управления необходимо следовать рекомендациям по форме и размеру электродов емкостного сенсора, расположению проводников и общего провода на печатной плате. Ошибки приводят к потере чувствительности сенсорной кнопки, влиянию на работу кнопки других сигнальных проводников схемы. Часто встречающиеся формы и типовые размеры электродов сенсорных кнопок представлены на рисунке 1.

 А b     ВГ

Рис. 1. Примерная форма и размеры электродов для сенсорных кнопок

Интересным моментом является возможность реализации в виде сенсорных элементов таких элементов управления, как полосы прокрутки (слайдеры), колеса (вращатели, роторы). Различают полосы прокрутки и колеса с прямыми электродами и с перекрывающимися электродами (рисунки 2а-в и 3а-в). Перекрывающиеся электроды позволяют получить более плавную реакцию, но взамен, для большей чувствительности, требуется применение опроса по методу переноса заряда.

2А

2Б

2В

Рис. 2. Примерная форма электродов для сенсорных слайдеров (линий прокрутки)

 

  

Рис. 3. Примерная форма электродов для сенсорных колес прокрутки

 

При разработке устройства с сенсорными кнопками разработчику приходится решать вопрос о способе их реализации — 1) на дискретных логических элементах, 2) при помощи специализированных микросхем, 3) используя внешние выводы микроконтроллера с соответствующей программной поддержкой.

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

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

Контроллер в качестве драйвера сенсорных кнопок представляется самым экономичным решением — основные проблемы будут заключаться в программном обеспечении при условии, что вычислительных ресурсов контроллера хватит для выполнения основных задач.

 

Аппаратные решения STM для сенсорных кнопок

STMicroelectronics предлагает и специализированные аппаратные драйверы, и программную поддержку в виде библиотек с открытым кодом. Более того, некоторые контроллеры имеют встроенный аппаратный драйвер сенсорных кнопок.

В семействах продуктов STM8 и STM32 STMicroelectronics поддерживается практически любой из описанных выше принципов опроса емкостных сенсорных кнопок:

  • измерение постоянной времени RC-цепочки- семейства STM8S и STM8L:
  • опрос на основе переноса заряда- STM8L и STM32L;
  • реакция на изменение поверхностной емкости с технологией ProxSenseTM— семейство STM8T14x;
  • изменение проекционной емкости с технологией ProxSenseTM— семейство STM8T850xx.

Кроме того, STM32TS60 поддерживает работу с резистивными сенсорными кнопками.

Рассмотрим предлагаемые решения более подробно.

В 8-битных контроллерах поддержка сенсорных кнопок (или тач-приложений) начинается с семейства STM8S [2, 3], для которого существует свободно распространяемая библиотека для тач-приложений — STM8-Touch-lib. В случае с STM8S основа реализации — программная обработка событий на внешних выводах контроллера на основе метода измерения постоянной времени RC-цепочки (рисунок 4).

 

Способ подключения сенсорных кнопок при опросе по методу переноса заряда

 

Рис. 4. Способ подключения сенсорных кнопок при опросе по методу переноса заряда

Более интересным вариантом может стать решение на базе семейства низкопотребляющих контроллеров с ядром STM8 — STM8L, имеющего аппаратный драйвер емкостных сенсорных кнопок, работающий по принципу переноса заряда. Для STM8L также предлагается версия библиотеки STM8-Touch-lib, обеспечивающая управление сенсорными кнопками (простые кнопки, линии прокрутки, колеса прокрутки), обработку событий, фильтрацию шума и компенсацию влияния внешнего окружения. STM8L может обслуживать до 16 сенсорных кнопок, что для большинства приложений более чем достаточно. В дополнение к драйверу кнопок ряд линеек продукции данного семейства имеют встроенный контроллер ЖК-дисплея — таким образом, получается комплексное, компактное и энергоэффективное решение (рисунок 5).

 

Пример подключения сенсорных кнопок к контроллерам STM8L/STM32L

 

Рис. 5. Пример подключения сенсорных кнопок к контроллерам STM8L/STM32L

Аналогичная поддержка емкостных сенсорных кнопок присутствует и в серии STM8AL семейства контроллеров STM8A, ориентированных на автомобильное применение.

Для одиночных кнопок во многих случаях может подойти аппаратный драйвер на основе переноса заряда с технологией ProxSenseTM — STM8T14x, выпускаемый в компактных корпусах UFDFPN8 (3 x 2 x 0,6 мм) и SO8. Данный драйвер помимо прямой функции отслеживания нажатия/касания может выступать датчиком приближения (начиная с расстояния примерно 20 см).

STM8T14x [4] имеет уникальные возможности для оптимизации чувствительности, компенсации паразитных емкостей и компенсации влияния электромагнитных наводок. STM8T14x имеет в своем составе несколько встроенных измерительных емкостей и схему компенсации паразитной емкости электрода (electrode parasitic capacitance compensation circuitry — EPCC). EPCC автоматически компенсирует влияние возникающей паразитной емкости от заземленных панелей прибора, печатных проводников, больших металлических объектов вблизи сенсорной кнопки, которые в обычных условиях приводят к существенному снижению чувствительности сенсора. Специализированный алгоритм автоматической настройки электрода оптимизирует параметры системы путем выбора наиболее подходящей измерительной емкости и параметров схемы компенсации EPCC.

Микросхема STM8T142 имеет два раздельных выхода, один из которых сигнализирует о касании сенсора, второй выдает сигнал, сигнализирующий о приближении пальца или руки пользователя к сенсору (в STM8T141 эти выводы совмещены). Всего обеспечивается восемь уровней чувствительности к касанию и четыре — к степени приближения. Для меньшей зависимости от наводок по питанию, генерируемых остальными частями схемы, в STM8T14x интегрирован собственный стабилизатор напряжения. Микросхема имеет широкий диапазон питающих напряжений — от 2 до 5,5 В при токах потребления в активном режиме 30…50 мкА/МГц. Режимы низкого энергопотребления обеспечивают токи всего 9…12 мкА, что особенно важно для приложений с автономным питанием.

Варианты включения STM8T14x (рисунок 6а,б) допускают расположение сенсорных кнопок на отдельной печатной плате.

6A

6Б

Рис. 6. Способы подключения сенсорной кнопки к аппаратному драйверу
а) напрямую и б) на отдельной плате

Для работы с большим количеством сенсорных кнопок идеально подойдет новая серия контроллеров с ультранизким потреблением — STM8T850xx [5] (рисунок 7). Построенные на базе ядра STM8 микроконтроллеры STM8T850xx способны контролировать до 300 сенсорных кнопок. Опрос кнопок производится по методу изменения проекционной емкости, то есть емкости между двумя электродами, расположенными либо на некотором расстоянии друг от друга, либо на разных слоях печатной платы (или по разные стороны от диэлектрической подложки). В основе метода — продвинутая технология ProxSenseTM, реализованная в виде отдельного периферийного модуля, автоматизирующего опрос кнопок и обработку их сигналов. Микроконтроллеры идеальны для систем с батарейным или аккумуляторным питанием благодаря низкому потреблению в активном режиме — менее 150 мкА/МГц, наличию энергосберегающих режимов — менее 0,8 мкА при сохранении контроля за состоянием кнопок, широкому диапазону напряжения питания — от 1,65 до 3,6 В.

 

Подключение сенсорных кнопок к контроллеру STM8T850xx

 

Рис. 7. Подключение сенсорных кнопок к контроллеру STM8T850xx

Обладающие богатым набором периферии мощные (1,25 DMIPS/МГц) 32-битные контроллеры серии STM32TS [7] с новым популярным процессорным ядром ARM-Cortex-M3 имеют встроенную поддержку резистивных сенсорных панелей с разрешением до 81 х 64 линий. В STM32TS присутствуют два специализированных модуля для работы с тач-панелями — сканер PMatrix scaning engine (PMSE) и детектор активных областей PMatrix area detection (PMAD).

Сканер PMSE способен автоматически контролировать линии ввода-вывода, ответственные за строки и столбцы панели, и генерировать сигнал АЦП и детектору активных областей PMAD, снижая тем самым нагрузку на центральный процессор (рисунок 8). Сканер сочетает в себе возможность работы на высоких частотах сканирования (до 250 кГц) с режимами экономии энергии (нормальный, быстрое сканирование, режим ожидания).

 

Структурная схема подключения контроллера STM32TS60 к сенсорному экрану

 

Рис. 8. Структурная схема подключения контроллера STM32TS60 к сенсорному экрану

 

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

Любой контроллер серии STM32L [3, 6] благодаря библиотеке STM32 Touch-Sensing Library может работать с емкостными сенсорами, включая кнопки, полосы и колеса прокрутки. Добавьте к нему всю вычислительную мощь процессорного ядра ARM-Cortex-M3, и устройство на его основе получит уникальные возможности.

Основные параметры микросхем для сенсорных приложений представлены в таблице 1.

Таблица 1. Основные параметры контроллеров и аппаратных драйверов STMicroelectronics для тач-приложений  

Параметр/Наименование STM8S STM8L STM8T14х STM8T850xx STM32L STM32TS60
Тип 8-бит контроллер с ядром STM8 8-бит контроллер с ядром STM8 Аппаратный драйвер 8-бит контроллер с ядром STM8 32-бит контроллер с ядром ARM-Cortex-M3 32-бит контроллер с ядром ARM-Cortex-M3
Поддерживаемая технология опроса RC RC, CT CT PC CT Резистивная
матрица
Количество
тач-кнопок
до 24 кнопок + 2 слайдера RC – до 24 кнопок + 2 слайдера; CT – до 16 кнопок + 2 слайдера 1 до 300 кнопок (до 20 рядов с 15 чувствительными каналами) до 19 кнопок + 2 слайдера матрицы с разрешением до 81 х 64 линий
Потребляемый ток (в режиме низкого энергопотребления) 150 мкА/МГц
(5…15 мкА)
200 мкА/МГц (0,4…5 мкА) 30…50 мкА (9…11 мкА) 150 мкА/МГц (0,4…1 мкА) 230 мкА/МГц (0,27…9 мкА) 230 мкА/МГц (0,3…9 мкА)
Напряжение питания, В 1,65…5,5 2,95…3,6 2,0…5,5 1,65…3,6 1,65…3,6 2,4…3,6
Производительность До 24 MIPS До 16 MIPS До 16 MIPS До 1,25 DMIPS/МГц До 1,25 DMIPS/МГц
RC – опрос по методу измерения постоянной времени RC-цепочки;
CT – работа основана на методе переноса заряда;
PC – работа прибора на основе отслеживания межэлектродной емкости (проекционной).

 

Библиотеки STM8/STM32 Touch-Sensing Library

Свободно предоставляемые библиотеки STM8/STM32 Touch-Sensing Library существенно упрощают реализацию сенсорных приложений на основе контроллеров STM8/32 [8]. Библиотеки позволяют организовывать не только опрос емкостных сенсоров, но и реализуют обработку сигналов с целью снижения влияния внешних помех и повышения стабильности работы.

Библиотеки STM8/STM32 Touch-Sensing Library предоставляется в виде открытых исходных кодов на языке С, совместимых со всеми популярными компиляторами (MISRA, Cosmic, IAR, Raisonance C) с примерами использования. Структура библиотек для 8- и 32-битных контроллеров практически идентична — набор высокоуровневых функций для взаимодействия с прикладными программами, набор вспомогательных сервисов, драйвера устройств, специфичные для каждого из семейств контроллеров, и ядро библиотеки, отвечающее за обработку информации от сенсорных кнопок, калибровку, фильтрацию сигналов, отслеживание изменения окружения.

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

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

С точки зрения прикладного программиста работа с библиотекой состоит в инициализации и вызове необходимых функций (рисунок 9). Приятным моментом является тот факт, что за исключением уровня драйверов, имена функций и способы их вызова совпадают для 8- и 32-битной версии, что упрощает миграцию приложений между этими платформами.

 

Структура библиотек STM8/STM32 Touch-Sensing Library

 

Рис. 9. Структура библиотек STM8/STM32 Touch-Sensing Library

Библиотека STM8 Touch-Sensing Library для 8-битных контроллеров STM8 позволяет использовать их линии ввода-вывода для работы с сенсорными кнопками при минимальном количестве внешних компонент и затратах памяти. Опрос кнопки реализуется либо по измерению постоянной времени RC-цепочки (до 24 кнопок и двух линий или колес прокрутки), или по принципу переноса заряда (до 16 кнопок и двух линий или колес прокрутки). Опрос по первому методу доступен для любого контроллера STM8 или STM8L, тогда как метод переноса заряда требует наличия в контроллере специального модуля и в настоящее время реализуем для серий STM8L101x и STM8L15x.

Программисту доступны функции опроса, фильтрации, калибровки, позволяющие довольно просто оптимизировать работу сенсорных приложений в совершенно различных условиях. Так, располагая всего тремя чувствительными емкостными каналами, можно получить разрешение полосы прокрутки (или колеса прокрутки) в 8 бит — 256 уровней, и это всего лишь на 8-битном ядре при сохранении возможности контроллера работать с другими периферийными устройствами, такими как светодиодные индикаторы, ЖК-дисплеи, работа с коммуникационными интерфейсами!

Для устройств серии STM8L15x возможна поддержка как программного опроса по методу переноса заряда, так и инициализация библиотеки с поддержкой аппаратного опроса.

Для STM32 поддерживаемым методом работы с емкостными сенсорами является метод на основе переноса заряда и реализуется на контроллерах семейства STM32L.

 

Заключение

Как мы видим, решения STMicroelectronics охватывают практически весь спектр возможных сенсорных приложений, от отдельных кнопок и небольших клавиатур до полнофункциональных терминалов с полной клавиатурой [5,9]. Кроме решений для емкостных сенсорных кнопок компания STMicroelectronics предлагает спектр решений для резистивных экранов.

Для различных задач возможен выбор между чисто аппаратными, программными, и программно-аппаратными решениями [9]. Возможно создание устройств для работы с внешними управляющими контроллерами и автономных полнофункциональных устройств, сочетающих в себе и контроль за сенсорной клавиатурой и выполнение медиа-приложений с продвинутым пользовательским интерфейсом и графическими возможностями. Предлагаемые программные решения существенно упрощают разработку программного обеспечения, уменьшая время выхода продукта на рынок. Дополнительно возможна миграция программного обеспечения на уровне исходных текстов между 8- и 32-битными системами.

 

Литература

1. Guidelines for designing touch sensing applications// http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00222015.pdf.

2. STM8 product families// http://www.st.com/internet/com/SALES_AND_MARKETING_RESOURCES/MARKETING_COMMUNICATION/MARKETING_BROCHURE/brstm8.pdf.

3. STM32L and STM8 MCU families// http://www.st.com/internet/com/SALES_AND_MARKETING_RESOURCES/MARKETING_COMMUNICATION/MARKETING_BROCHURE/brulp.pdf.

4. Single-channel capacitive sensor for touch or proximity detection with shielded sensing electrode// http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00234616.pdf.

5. 8-bit ultralow power touch sensing microcontroller with 16 Kbytes Flash, ProxSenseTM, timers, USART, SPI, I2C// http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATA_BRIEF/DM00028187.pdf.

6. Ultralow power ARM-based 32-bit MCU with up to 128 KB Flash, RTC, LCD, USB, USART, I2C, SPI, timers, ADC, DAC, comparators// http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00277537.pdf.

7. STM32TS60// http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATA_BRIEF/CD00259761.pdf.

8. STM8 touch sensing library// http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATA_BRIEF/CD00284216.pdf.

9. Андрей Никитин. Современные сенсорные интерфейсы на основе датчиков S-Touch компании ST Microelectronics.//Новости Электроники. 2010. №1. С. 14 — 17.

Получение технической информации, заказ образцов, поставка — e-mail: mcu.vesti@compel.ru

Новое ПО для интеллектуального электропривода от STMicro

Компания STMicroelecronics предлагает разработчикам дополнительный инструментарий для управления трехфазными электродвигателями на основе популярного семейства микроконтроллеров STM32F.

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

Семейство микроконтроллеров STM32 имеет расширенную периферию для управления электродвигателями и готовое бесплатное программное обеспечение и библиотеки для создания интеллектуальных драйверов.

Обновленная библиотека управления электродвигателями STM32 FOC PMSM SDK v3.0 теперь поддерживает младшую недорогую линейку микроконтроллеров STM32F100хх "Value Line", что позволяет создавать оптимизированные по ценовому критерию системы. На основе линейки STM32F103хх "Performance Line" с объемами флеш-памяти более 256 кБ теперь можно управлять сразу двумя двигателями, что также может быть актуальным в критичных по цене приложениях.

При использовании библиотеки разработчики могут быстро конфигурировать микроконтроллер для управления трехфазными электродвигателями PMSM (Permanent Magnet Synchronous Motors), используя алгоритм FOC (Field Oriented Control) для эффективного управления. Функциональность библиотеки обеспечивает управление крутящим моментом и контроль скорости с возможностью переключения режимов «на лету». Дополнительным свойством библиотеки является запатентованный алгоритм измерения тока на одном шунте.

STMicroelectronics предоставляет программное обеспечение MC Workbench v1.0.2 — графический инструментарий для конфигурации библиотеки управления электродвигателями, упрощающий задачу построения системы. Для управления электроприводом предлагается оценочный набор STM3210B-MCKIT на основе линейки микроконтроллеров STM32F103xx "Performance Line".

•••

Наши информационные каналы

О компании ST Microelectronics

Компания STMicroelectronics является №1 производителем электроники в Европе. Компоненты ST широко представлены в окружающих нас потребительских товарах – от iPhone до автомобилей разных марок. Лидеры индустриального рынка выбирают компоненты ST за их надежность и выдающиеся технические параметры. В компании ST работает 48 000 сотрудников в 35 странах. Производственные мощности расположены в 12 странах мира. Более 11 тысяч сотрудников заняты исследованиями и разработками – инновационное лидерство ...читать далее