Настраиваемая емкостная клавиатура

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

Запрос

Идея клиента заключалась в создании персонифицированной емкостной клавиатуры.

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

Заказчик предоставил нам образец клавиатуры от известного бренда с одними из лучших характеристик в своем сегменте. Команде КЕДР Solutions нужно было спроектировать печатную плату клавиатуры с аналогичными характеристиками и разработать прошивку.

Требования заказчика к техническим характеристикам клавиатуры были следующими:

  • В клавиатуре должны использоваться переключатели Topre.
  • Время опроса всей матрицы клавишных переключателей должно составлять около 1 мс.
  • Питание от USB type C.
  • Клавиатура должна распознаваться большинством операционных систем ПК как устройство с HID-интерфейсом без дополнительных драйверов.
  • Устройство должно иметь полную поддержку неограниченного количества одновременных нажатий клавиш (N-Key Rollover или NKRO).
Элементы переключателей Topre

Решение

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

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

Уникальные характеристики данного продукта заключаются в надежности, прочности и хороших тактильных ощущениях.

В ходе опытно-конструкторских работ мы решили использовать микроконтроллер STM32F411 как наиболее подходящий для этого проекта.
3D-модель клавиатуры с электроемкостными переключателями
3D-модель емкостной клавиатуры
В ходе работы над проектом заказчик пожелал добавить возможность подключения к клавиатуре различных кабелей – USB и LEMO. Для этого мы разделили плату клавиатуры и сделали разъемную плату для подключения кабеля.

В результате мы разработали полностью настраиваемый прототип клавиатуры на основе компонентов STMicroelectronics.

Сложности проекта и их решение

Нам предстояло решить две основные задачи:

  • Уменьшить время опроса до 1 мс.
  • Отличать нажатые клавиши от ненажатых, так как последние также передают сигналы.

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

Контроллер получает данные шести столбцов клавиш, собранные схемой на печатной плате. Этот формат поддерживает NKRO.

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

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

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

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

Мы использовали компаратор, чтобы система могла различать нажатые и ненажатые кнопки.
Выполненные работы

  • Создание принципиальной схемы и проектирование печатной платы;
  • Разработка встроенного аппаратного обеспечения;
  • Разработка прошивки.
                Использованные технологии
                • Для дизайна печатной платы мы использовали Altium Designer.
                • Прошивка написана на C с помощью Visual Studio Code.
                • Мы использовали набор компиляторов GCC для создания прошивки.
                • Инструменты CMake использовались для автоматизации сборки прошивки.
                • В проекте использован микроконтроллер STM32F411CCU6TR с 32-битным ядром Arm® Cortex®-M4. Он предлагает высокую производительность, возможность работы в реальном времени, цифровую обработку сигналов, работу с низким энергопотреблением и низким напряжением.
                • Для упрощения доступа к регистрам микроконтроллера и повышения удобства и скорости разработки мы использовали набор библиотек HAL CMSIS.
                • Мы использовали двойной дифференциальный компаратор LM393 и преобразователь уровня напряжения MC14504BDTR2G, которые обеспечили нужные характеристики для обнаружения нажатия кнопок.
                • К устройству можно подключать USB и LEMO кабели.

                                  Итоги

                                  Мы создали печатную плату, которая подходит для корпусов клавиатуры, указанных заказчиком.


                                  Плата точно определяет нажатие клавиш, в том числе одновременные нажатия. Время опроса соответствует всем последним требованиям рынка. Испытания показали, что продукт работает по назначению, заказчик остался доволен результатом.
                                  Поддерживает:
                                  Одновременное нажатие неограниченного числа клавиш
                                  Поддерживает:
                                  USB и LEMO
                                  Время опроса матрицы:
                                  1 мс