Собрал как-бы начисто схему для измерения уровня заряда аккумулятора (см. рис. 1).
Рис. 1
Проблема была в том, что при подключённом «измерительном» входе (№2 на рис. 1) не стартовали модули питания. Что-то там им мешало. Однако, если подключить аккумулятор к измерительному входу после того, как заработают модули питания, то всё работает штатно.
Преобразователи логических уровней чудят неуправляемым образом, хотя я их подключал в соответствии с документацией (ну, я так думаю). Уже опытным путём доказано, что они точно не работают на I2C шине. А из оставшихся 7 цифровых линий через преобразователи нормально проходит только одна. На остальных линиях — сильный мусор.
Товарищ, вместе с которым мы делаем 2-ю версию, запитал всю схему от 3.3 В, и оно заработало. Ну и я запаял 3-вольтовую версию платы (см. рис. 1). Не стал запаивать преобразователи уровней; вместо них запаял перемычки. Убрал делитель со входа датчика давления. Ну и все соединения сделал разъёмными (кроме питания). Чувствую, это далеко не последний вариант платы, так что пусть всё будет на разъёмах. Даже EEPROM память выпаял с предыдущей платы и вставил в панельку; она хоть и дешевая, но просто так выкидывать ее не хочется. Буду перетаскивать с платы на плату. Радиомодуль тоже запаивать не стал, а подключил через панельку.
Есть у меня осциллограф FNIRSI-1C15 (см. рис. 1). Он себя достаточно хорошо показал при отладке MIDI баяна. Это не бесполезная игрушка, а нормалььный осциллограф начального уровня. Для нечастого домашнего использования — самое то.
Если кто думает на тему приобретения осциллографа, но при этом ограничен в бюджете — это отличный вариант.
Сегодня был сделан еще один шаг по переводу баяна на новую платформу.
Как показано на рис. 1, в качестве источника будут 2 аккумулятора 18650. Модули зарядки (1), стабилизатора на 5 В (2) и стабилизатора на 3.3 В (3) закреплены прямо на держателе аккумуляторов на двусторонний скотч. Сами аккумуляторы закреплены на держателе двумя кабельными стяжками, чтобы случайно они не выпали.
Модель зарядки использован такой. Стабилизаторы питания — такие.
Пока, как видите, задействован только 5-вольтовый стабилизатор. Работает без замечаний.
Неудобно, что пока нет возможности отслеживать степень разряда аккумуляторов. Это предусмотрено в новой версии платы, но пока не реализовано в прошивке. Собственно, баянной прошивки, адаптированной к контроллеру RP2040-Zero, пока нет. Работа в процессе.
Рис. 1
P.S. Оказалось, что модуль зарядки не справляется с зарядкой при работающей схеме баяна. Буду ставить реле, чтобы на время зарядки отключалась нагрузка.
И сразу на плату запаял радиомодуль, чтобы потом не возиться. Прошивка его пока не поддерживает, но это временно.
Саму плату RP2040-Zero я как всегда посадил в панельку. Потому что перепрошивать её предстоит много-много раз, и таскать к компьютеру микроконтроллер гораздо проще, чем весь разобранный баян.
Также на фото видны сопли перемычки, сделанные фиолетовым проводом. Это, надеюсь, будет единственный не очень эстетичный элемент здесь.
Следующий шаг — монтаж аккумуляторного блока в сам баян. Там в составе этого блока будут 2 банки 18650, модуль зарядки (с защитой) и два бустера на 5 В и 3.3 В.
Заказывал я по 5 штук. Там это минимальный заказ. А прислали 12 плат микроконтроллера, и 11 плат радиоприёмника (см. рис. 1).
В общем, если кому надо готовые платы для 2-й версии миди-баяна — обращайтесь. Уступлю по той же цене, по которой они мне достались (плюс расходы на пересылку). Мой почтовый адрес — в QR-коде на главной странице tesanoff.klah.ru.
Правда, эти платы неидеальны. Выяснился довольно неприятный момент.
Дело в том, что часть компонентов рассчитана на питание от 3.3 В, а другая часть — от 5 В. Поэтому для согласования логических уровней я решил использовать микросхемы TXS0108E. Но на этапе производственных испытаний выяснилось, что эти преобразователи не работают как надо для согласования шины I2C, на которой у меня висят внешняя EEPROM память и OLED экран. Так что придётся SCL/SDA линии тащить к 5-вольтовому экрану от 3-вольтового микроконтроллера. А на плату в соответствующем месте лепить сопли запаивать перемычки.
Так что для согласования I2C шины преобразователи TXS0108E не годятся (надо будет поискать другое решение). На остальных же линиях они отлично работают.
Подтверждена работоспособность схемы второй версии MIDI-баяна, основанного на плате RP2040-Zero.
В данном случае, это параллельный проект MIDI-гармони. Разработка ведётся здесь. При адаптации проекта для гармони были убраны некоторые функции, специфичные именно для баяна, и была добавлена обработка специфики гармони.
Версия, основанная на Arduino Nano дальше развиваться не будет, и будет заморожена.
Текущий функционал прошивки пока не включает в себя работу с радиоканалом и с SD флеш-картами. Пока это просто перенос функционала из Arduino Nano в RP2040-Zero.
Рис. 1
Уже могу сказать, что разница между этими микроконтроллерами колоссальная. Если в Arduino Nano одно полное чтение состояния всех клавиш занимало 2 мс, то в RP2040 это занимает уже 0.11 мс. Т.е. клавиатуры опрашиваются примерно 8700 раз в секунду.
P.S. Забыл добавить, что схема платы микроконтроллера (см. рис. 1) совершенно одинаковая для баяна и гармони. Различия между ними только в прошивке и в платах датчиков клавиатур.
Рекомендую всем, кого уже давно тошнит от «попаданцев», «бояр-аниме», «гаремников» и всего остального, набирающего всё бОльшую популярность на лит-площадках.