Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
19.02.2018, 04:22
|
|
Частый гость
Регистрация: 14.06.2006
Сообщений: 40
Сказал спасибо: 20
Сказали Спасибо 10 раз(а) в 5 сообщении(ях)
|
Сенсорный датчик 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 режим, то есть перестает сканировать сенсоры. И еще никак не могу разобраться с автоматической подстройкой. Может кто работал с этим чипиком плотненько? Посоветуйте грамотную инициализацию.
|
|
|
|
19.02.2018, 09:07
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,258
Сказал спасибо: 11,170
Сказали Спасибо 3,859 раз(а) в 2,929 сообщении(ях)
|
Re: Сенсорный датчик MPR121
Пробовал эти чипы лет 6 назад. Были проблемы, но информации в DS оказалось достаточно для решения. Провозился с экспериментами где-то с неделю между делом и все заработало, но как-то не прижились они - потребности особой не возникло.
Попробую поискать следы в архиве - может и осталось что-то…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
19.02.2018, 15:14
|
|
Частый гость
Регистрация: 14.06.2006
Сообщений: 40
Сказал спасибо: 20
Сказали Спасибо 10 раз(а) в 5 сообщении(ях)
|
Re: Сенсорный датчик MPR121
Спасибо, жду с нетерпением.
А может встречались Вам другие решения? Надо 32 датчика с быстрым сканированием.
|
|
|
|
19.02.2018, 15:25
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,258
Сказал спасибо: 11,170
Сказали Спасибо 3,859 раз(а) в 2,929 сообщении(ях)
|
Re: Сенсорный датчик MPR121
sslobodyan, 32 датчика чего?
У каждого производителя есть толика вариантов работы с ёмкостными клавиатурами.
Стоит посмотреть у NXP дополнительно все материалы по этому чипу в текущем состоянии - DS, RD, errata,…
Мне очень помогает внимательное чтение DS и других материалов с карандашом в руках. Плюс сейчас у производителя частенько есть готовые примеры кода, библиотеки,…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
19.02.2018, 16:51
|
|
Частый гость
Регистрация: 14.06.2006
Сообщений: 40
Сказал спасибо: 20
Сказали Спасибо 10 раз(а) в 5 сообщении(ях)
|
Re: Сенсорный датчик MPR121
Сообщение от mike-y-k
|
32 датчика чего?
|
32 сенсорные кнопки.
Мне тоже обычно помогает чтение ДШ и аппнотов. В данном случае не помогло, иначе бы не спрашивал совета.
Посмотрел примеры настроек в различных ардуиновских библиотеках. По некоторым чип даже заводится и чувствует касание. Ни у кого не видел настройки baseline - все работают с параметрами по-умолчанию. И так-же как и у меня чип сбрасывается, если касаться сенсора металлическим предметом. Почему с пальцем работает, а пинцетом зависает - не могу понять.
|
|
|
|
20.02.2018, 01:13
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,258
Сказал спасибо: 11,170
Сказали Спасибо 3,859 раз(а) в 2,929 сообщении(ях)
|
Re: Сенсорный датчик MPR121
Собственно снятый с производства чип мало смысла разбирать.
У NXP есть PCA8885 и PCF8885.
У Silabs тут тоже есть некоторое количество.
У TI можно даже в интеграции с микроконтроллером поиметь решение.
На тему зависания - можно просто с RC генератором и сенсором в качестве дополнительной емкости оценить ёмкость пальца и ёмкость пинцета по сдвигу частоты при касании. Одновременно оценить амплитуду наводок на сенсор при касании. Ответ будет весьма наглядным…
Конкретику по MPR121 можно ещё посмотреть в материалах форума на NXP.
Собственно чип позиционировался совсем не как игрушка и наверняка использовался в хороших масштабах, посему решение должно быть.
Посмотрел архив - не нашёл. Может на болванках сохранил, но это уже явно не скорый процесс - каталог содержимого "сильно" не полный.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
Последний раз редактировалось mike-y-k; 20.02.2018 в 02:24.
|
|
|
Сказали "Спасибо" mike-y-k
|
|
|
20.02.2018, 14:16
|
|
Частый гость
Регистрация: 14.06.2006
Сообщений: 40
Сказал спасибо: 20
Сказали Спасибо 10 раз(а) в 5 сообщении(ях)
|
Re: Сенсорный датчик MPR121
И на том спасибо. Заказал сэмплы у Силабса. Остальные не проходят по скорости реакции.
|
|
|
|
20.02.2018, 16:18
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,258
Сказал спасибо: 11,170
Сказали Спасибо 3,859 раз(а) в 2,929 сообщении(ях)
|
Re: Сенсорный датчик MPR121
Будут вопросы… тут финальная фраза из мультфильма "Жил был пёс"
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:00.
|
|