Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Сенсорный датчик MPR121

Непрочитано 19.02.2018, 04:22  
sslobodyan
Частый гость
 
Регистрация: 14.06.2006
Сообщений: 40
Сказал спасибо: 20
Сказали Спасибо 10 раз(а) в 5 сообщении(ях)
sslobodyan на пути к лучшему
По умолчанию Сенсорный датчик MPR121

Всем доброго здоровья!
Помогите раскурить эту MPR121. Требуется получить 8 сенсорных кнопок, но с максимально быстрой реакцией (хочется задержку в 1мс, но терпимо до 4мс). Сейчас провожу инициализацию вот так.
Код:
    setRegister(MPR121_SRST, 0x63);
    setRegister(MPR121_ECR, 0x0);
    setRegister(MPR121_MHDR, 0x01); // Maximum Half Delta  1-63 (1)   Rising
    setRegister(MPR121_NHDR, 0x01); // Noise Half Delta 1-63 (1)
    setRegister(MPR121_NCLR, 0x0E); // Noise Count Limit 0-250 (0E)
    setRegister(MPR121_FDLR, 0x00); // Filter Delay Count Limit 0-255 (0)

    setRegister(MPR121_MHDF, 0x01); // Falling
    setRegister(MPR121_NHDF, 0x05);
    setRegister(MPR121_NCLF, 0x01);
    setRegister(MPR121_FDLF, 0x00);

    setRegister(MPR121_NHDT, 0x01); // Touched
    setRegister(MPR121_NCLT, 0x00);
    setRegister(MPR121_FDLT, 0x00);

    setRegister(MPR121_DEBOUNCE, 0x00);
    setRegister(MPR121_CONFIG1, 16); // default,16==16µA charge current, FFI=6samples
    setRegister(MPR121_CONFIG2, 0x20); // 0x5µs encoding, ESI=1ms period, SFI=4samples 

    // Set touch & release thresholds
    setThresholds(20, 6); //48 6

    // Enable touch 0-7, put MPR into run mode
    setRegister(MPR121_ECR, 0b11001000); // baseline tracking & initialize enable 0x88
    delay(100);
    setRegister(MPR121_ECR, 0b01001000); // baseline NOT tracking & initialize enable 0b01001000
Работает как-то не стабильно. Иногда касаюсь сенсора несколько раз пальцем - все работает, но если коснусь железкой (пинцетом) то может зависнуть. На осциллограмме с пина прерывания микрухи видно, что она переходит в STOP режим, то есть перестает сканировать сенсоры. И еще никак не могу разобраться с автоматической подстройкой. Может кто работал с этим чипиком плотненько? Посоветуйте грамотную инициализацию.
Реклама:
sslobodyan вне форума  
Непрочитано 19.02.2018, 09:07  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО/МО
Сообщений: 12,287
Сказал спасибо: 11,861
Сказали Спасибо 4,159 раз(а) в 3,177 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Сенсорный датчик MPR121

Пробовал эти чипы лет 6 назад. Были проблемы, но информации в DS оказалось достаточно для решения. Провозился с экспериментами где-то с неделю между делом и все заработало, но как-то не прижились они - потребности особой не возникло.
Попробую поискать следы в архиве - может и осталось что-то…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 19.02.2018, 15:14  
sslobodyan
Частый гость
 
Регистрация: 14.06.2006
Сообщений: 40
Сказал спасибо: 20
Сказали Спасибо 10 раз(а) в 5 сообщении(ях)
sslobodyan на пути к лучшему
По умолчанию Re: Сенсорный датчик MPR121

Спасибо, жду с нетерпением.
А может встречались Вам другие решения? Надо 32 датчика с быстрым сканированием.
sslobodyan вне форума  
Непрочитано 19.02.2018, 15:25  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО/МО
Сообщений: 12,287
Сказал спасибо: 11,861
Сказали Спасибо 4,159 раз(а) в 3,177 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Сенсорный датчик MPR121

sslobodyan, 32 датчика чего?
У каждого производителя есть толика вариантов работы с ёмкостными клавиатурами.
Стоит посмотреть у NXP дополнительно все материалы по этому чипу в текущем состоянии - DS, RD, errata,…

Мне очень помогает внимательное чтение DS и других материалов с карандашом в руках. Плюс сейчас у производителя частенько есть готовые примеры кода, библиотеки,…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 19.02.2018, 16:51  
sslobodyan
Частый гость
 
Регистрация: 14.06.2006
Сообщений: 40
Сказал спасибо: 20
Сказали Спасибо 10 раз(а) в 5 сообщении(ях)
sslobodyan на пути к лучшему
По умолчанию Re: Сенсорный датчик MPR121

Сообщение от mike-y-k Посмотреть сообщение
32 датчика чего?
32 сенсорные кнопки.
Мне тоже обычно помогает чтение ДШ и аппнотов. В данном случае не помогло, иначе бы не спрашивал совета.
Посмотрел примеры настроек в различных ардуиновских библиотеках. По некоторым чип даже заводится и чувствует касание. Ни у кого не видел настройки baseline - все работают с параметрами по-умолчанию. И так-же как и у меня чип сбрасывается, если касаться сенсора металлическим предметом. Почему с пальцем работает, а пинцетом зависает - не могу понять.
sslobodyan вне форума  
Непрочитано 20.02.2018, 01:13  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО/МО
Сообщений: 12,287
Сказал спасибо: 11,861
Сказали Спасибо 4,159 раз(а) в 3,177 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Сенсорный датчик MPR121

Собственно снятый с производства чип мало смысла разбирать.
У NXP есть PCA8885 и PCF8885.
У Silabs тут тоже есть некоторое количество.
У TI можно даже в интеграции с микроконтроллером поиметь решение.

На тему зависания - можно просто с RC генератором и сенсором в качестве дополнительной емкости оценить ёмкость пальца и ёмкость пинцета по сдвигу частоты при касании. Одновременно оценить амплитуду наводок на сенсор при касании. Ответ будет весьма наглядным…

Конкретику по MPR121 можно ещё посмотреть в материалах форума на NXP.

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

Посмотрел архив - не нашёл. Может на болванках сохранил, но это уже явно не скорый процесс - каталог содержимого "сильно" не полный.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…

Последний раз редактировалось mike-y-k; 20.02.2018 в 02:24.
mike-y-k вне форума  
Сказали "Спасибо" mike-y-k
sslobodyan (20.02.2018)
Непрочитано 20.02.2018, 14:16  
sslobodyan
Частый гость
 
Регистрация: 14.06.2006
Сообщений: 40
Сказал спасибо: 20
Сказали Спасибо 10 раз(а) в 5 сообщении(ях)
sslobodyan на пути к лучшему
По умолчанию Re: Сенсорный датчик MPR121

И на том спасибо. Заказал сэмплы у Силабса. Остальные не проходят по скорости реакции.
sslobodyan вне форума  
Непрочитано 20.02.2018, 16:18  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО/МО
Сообщений: 12,287
Сказал спасибо: 11,861
Сказали Спасибо 4,159 раз(а) в 3,177 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Сенсорный датчик MPR121

Будут вопросы… тут финальная фраза из мультфильма "Жил был пёс"
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
 

Метки
mpr121
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Датчик линейного перемещения из оптической мыши age3000 Автоматика и аппаратура связи 1 24.05.2014 22:18
Датчик льда на тротуаре... AnatolZ Электроника - это просто 60 24.12.2013 01:59
Копирую опто датчик фото метки. Помогите! Zemlyanov Микроконтроллеры, АЦП, память и т.д 23 13.02.2008 11:29


Часовой пояс GMT +4, время: 07:40.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.