Часы на базе микроконтроллера ch32v003 (часть 2)

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

Эта статья, продолжение статьи часть 1. Как правильно в ней заметил @mozg37 в комментариях, RC генератор не обеспечивает достаточной точности хода часов. Благо на aliexpress можно заказать готовую плату nanoCH32V003 с кварцем на борту. В итоге получилось немного модернизировать плату и собрать проект в корпусе, распечатав его.

Внешний вид часов, пока без крышки
Внешний вид часов, пока без крышки

Корпус нарисовал в FreeCad вспомнив, что я когда-то все же на инженера учился. Сама моделька лежит тут Clock6.FCStd и готовый нарезанный на слои проект тут box_body.stl. Чуть позже выложу крышку, пока еще не нарисовал.

Вид сверху
Вид сверху

Как видно на картинке сверху мне удалось спалить схему по преобразованию 3,7в -> 5в. В итоге в готовое устройство попала только схема зарядки li-pol аккумулятора. На плате микроконтроллера снял предохранитель и в разрез подключил схему зарядки аккумулятора. Индикатор и зуммер тоже подключил к аккумулятору, позже планирую добавить предохранитель, либо схему защиты. Хотя в аккумуляторе уже есть схема защиты, её же должно хватить?

На плате микроконтроллера есть линейный стабилизатор на 3,3в, при напряжении ниже 3,3в на микроконтроллер подается ниже 3,3в. Сам микроконтроллер работает до 2,7в, потом уходит в защиту, судя по документации. Фатального разряда аккумулятора по идее не должно случится. В режиме ниже 3,3в продолжают работать только контроллер и зуммер, чип индикатора выключается, т.к. рассчитан на работу от 3,3-5в.

Индикатор подсоединил к Port D линии 2 (clk) и 3 (dio), на плате к 6 линии подсоединен светодиод. Первая линяя порта используется для отладчика, а 7 занята кнопкой сброса. К 0 линии подсоединил схему зуммера.

На Port C на линии 0-4 подсоединил кнопки, в исходниках программы можно посмотреть какая кнопка куда подсоединена. Почитал про энкодер, советовали в комментариях, но что-то пока решил оставить кнопки.

И собственно вопрос к профессионалам, как повысить отзывчивость на нажатие кнопок? Я понимаю, что существует дребезг контактов и логично сканировать кнопки за время большее этого дребезга контактов. Однако по нажатию нужно также успеть на индикаторе перерисовать показания. На саму плату с TM1637 на CLK & DIO напаяли огромные конденсаторы от помех, в итоге он работает не очень быстро, как бы мог в оригинале.

Источник: https://habr.com/ru/articles/893314/


Интересные статьи

Интересные статьи

Сегодня рассмотрим одну из передовых технологий, над которой сейчас бьются инженеры двух гигантов индустрии. Причем идут они двумя принципиально разными путями: OLED и MicroLED. Забегая вперед, подобн...
«Я работаю по 60 часов в неделю и не вижу ни конца, ни края!», «Если мы не выполним планы по прибыли за этот квартал, начнутся увольнения!», «Интересно, когда объявят о следующей волне сокращений?». Е...
Движок, он же фреймворк (framework), 1С-Битрикс довольно популярен в странах СНГ.Подкупает он своей универсальностью, собственным маркетплейсом со множеством модулей расширения, как платных так и бесп...
Данной статьей я начинаю цикл статей по интеграции Битрикс24, а именно разборов кейсов работы обычных компаний и подбора решений, с помощью которых можно значительно упростить жизнь этих компаний. Сле...
Как широко известно, с 1 января 2017 года наступает три важных события в жизни интернет-магазинов.