Хочу красивую железку

в 16:14, , рубрики: arduino, DIY, diy или сделай сам, stm32f030f4p6, Железо, Производство и разработка электроники, Электроника для начинающих

Иногда проекты, которые мы делаем просто для веселья, превращаются в нечто большее. А иногда нет. Хочу поделится историей одного такого фанового проекта, который пережил несколько трансформаций, пока не получилось что-то толковое. Часть первая, в которой толкового ничего не получилось. Но вы можете почерпнуть для себя несколько интересных решений.

Год назад мне прилетела вожжа под хвост и захотелось странного. Вожжа выглядела вот так:

Хочу красивую железку - 1

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

Да что об этом говорить? Просто посмотрите видео на кикстарте, оно того стоит

В этом проекте прекрасно всё. Мне особенно понравилась красота и низкий финансовый порог входа при производстве небольших партий. То есть отсутствие литья пластмасс. И при этом штука выглядит красиво: «самодельность» придаёт ей особый шарм. Это же просто платка, аккумулятор и два куска оргстекла! Вау!

Когда я это увидел, моя пирамида Маслоу затупилась о страничку браузера. Хочу придумать так же круто!

Хотелки

В голове созрел детальный план работ:

  • Придумать что-то крутое
  • ???
  • PROFIT!!!

План готов, осталось только его неукоснительно соблюдать.

Я увлекаюсь музыкой и синтезаторами. Уже пришёл в ту стадию, когда больше синтезаторами, нежели музыкой. За давностью уже не помню, как оформлялась мысль. Но в итоге я решил сделать какой-то модульный и кастомизируемый пульт управления чем-нибудь. Например, цифровыми синтезаторами или видеоредактором. То есть крутилки, кнопочки, слайдеры, индикаторы всякие. Ну что-то вроде этого, но без ограничений размеров:

Хочу красивую железку - 2

Хардварные хотелки к этому нечто:

  • Модульность. Максимально похожие модули, которые можно комбинировать простым способом. Короче лего.
  • Пользователь обязан суметь очень просто сделать уникальное, удобное для своей задачи расположение модулей. И при этом не устать.
  • Простая логистика. Идеально, если готовый модуль можно взять на производстве печатных плат одним куском, положить в пакет и отдать пользователю. А он уже сам всё себе соберёт. Да ещё и удовольствие получит от процесса. И не устанет.
  • Красивость результата. Получившаяся в результате сборки пользователем кастомная железка обязана хорошо выглядеть. Никаких проводов, джигурды, изоленты и ожогов от пайки.
  • Умность модулей. Нужно сделать так, чтобы можно было подключать их сразу много к какой-нибудь arduino через простой железный интерфейс. Вместе модули должны предоставлять какой-то единый программный интерфейс так, чтобы в коде не морочиться.

Первый блин

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

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

Идея простая. Есть платка с микроконтроллером, который опрашивает потенциометры и отправляет эту дату куда-то.

Управляющий микроконтроллер выбирал исходя из цены и мощи. Хотя, зачем я вру? Наткнулся на статью «НЕ Arduino за 55 центов» и просто влюбился в этого малыша! STM32F030F4P6 классный. У него не так много ног, но 9 из них с 12-битным АЦП и куча 16-битных ШИМ-портов.

Много времени занял выбор способа соединения модулей. Пересмотрел гору вариантов штекеров и разъёмов. Хотелось, чтобы соединение было простым. Оно не должно боятся механических нагрузок, быть надёжным и не должно выходить за край корпуса. А ещё ему должно быть абсолютно всё равно, каким боком пользователь соединяет модули. Через пару недель бицепс указательного пальца пришёл наконец в тонус от ежедневного скроллинга. Стало понятно что нужного разъёма просто нет в природе.

В итоге остановился на швейных кнопках. Получилось вот так:

Хочу красивую железку - 3

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

Хочу красивую железку - 4

Из плюсов такого решения:

  • Вся железка (кроме крышки) сделана из фольгированного текстолита. Все детали корпуса вместе с электроникой могут располагаться на одной печатной плате, и приходить одной большой деталькой прямо с завода. Пользователю останется только отломить их и собрать корпус.
  • Кнопочки соединяются и разъединяются достаточно легко и с таким чудесным «хрум», что долгое время это был мой личный антистресс гаджет. Очень приятное ощущение.
  • Соединение кнопками достаточно прочное. Модули держатся друг за друга хорошо: не болтаются, не люфтят.

Видео работы соединения:

Минусы тоже есть:

  • Боковые стенки должны проводить электричество и при этом коммутировать с основной платой, на которой находится вся электроника. Мне удалось добиться надёжного механического и электрического соединения. На вертикальной плате есть краевые разъёмы с зубцами. На фотке видно верхний такой разъём. Нижний вставляется в гальванизированные прямоугольные отверстия в основной плате. Правда, боковые платы пришлось забивать в основную плату при помощи молотка и мягкой подкладки. Не то чтобы меня это сильно расстраивало, но UX прямо скажем не очень.
  • Модули имеют направление. Нельзя соединить два модуля любой стороной.
  • Монтаж компонентов в отверстия очень портит на ощупь нижнюю часть платы. Потенциометры поверхностного монтажа бывают, конечно. Но не факт, что получится найти абсолютно все необходимые детали с поверхностным монтажом. Мало ли, что может понадобится в будущем?
  • Очень сложно угадать с высотой боковых стенок. Не до конца ведь понятно, какие конкретно компоненты захочется поместить внутрь? Пришёл к какому-то среднему значению. Но с этим средним значением те же потенциометры, например, едва выглядывают над верхней крышкой.

Интерфейсики

Из всех просмотренных вариантов стандартных железных интерфейсов мне больше всего понравился I2C. Можно соединить всех со всеми и они там сами разберутся. Но тут есть засада с адресами. Куча одинаковых потенциометров должна как-то отличать друг друга. А лучше всего, если куча будет отличать друг друга согласно своему собственному расположению относительно других.

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

На словах объяснить получается плохо. Попробую проиллюстрировать адресацию одной строчки на примере марширующих солдат:

Хочу красивую железку - 5

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

Забросил

Жаль было забрасывать разработку железки, в работе над которой провёл много прекрасного времени. Но с прототипами так бывает. Поигравшись с таким формфактором, потихоньку отказался от него. Оказалось, что можно решать задачу красивой железки гораздо проще и веселее. Об этом я расскажу в следующих сериях. А этой статьёй хотел отдать дань уважения прекрасной железке, с которой у нас не сложилось. Прости, Кнопочка. Дело не в тебе, просто я полюбил другую.

Upd.
Для ответа на комментарий пришлось погуглить. И нагуглилась та самая красивая железка, о которой я мечтал. Её уже сделали. Тут, конечно, совсем другой уровень. Меняем кнопочки на магнитики и подпружиненные контакты. А оргстекло и текстолит на анодированный алюминий. Да, я бы так не смог. Но всё же интересно наблюдать, как другие решили те же проблемы, которые сам решал.
Хочу красивую железку - 6

Автор: acos

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js