В статье я расскажу о своей попытке создать удобный и красивый модульный конструктив для настольного прототипирования микроконтроллерных устройств

Вступление

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

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

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

Конструктив

Я всегда хотел использовать модули небольших размеров. Настолько, насколько это возможно и разумно с точки зрения размещения на них компонентов законченного функционального узла. В идеале 50x50 мм или даже меньше.

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

Как обеспечить соединения между модулями?

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

Можно попробовать каскадировать платы модулей по вертикали, а разъемы межмодульных соединений можно вывести вверх/вниз. Распиновка разъемов снизу и сверху совпадает, получается, что все модули параллелятся на общей шине. Разъемы внешних подключений можно вывести в стороны. При этом можно механически скрепить модули, используя латунные стойки.

В результате я пришел вот к такому формату печатной платы модуля:

Формат модуля
Формат модуля

Расширение сборки по вертикали это, конечно, хорошо. Но расширение в горизонтальной плоскости всё же тоже необходимо, иначе при большом количестве модулей мы получим узкую и неустойчивую стойку из модулей. Горизонтальное расширение тоже возможно, при помощи плат-хабов. Т.е. в один из ярусов ставится плата-хаб бóльшего размера, кратного размерам модуля (например 2x1, 1x2, 2x2, 3x2 и т.д.). Она имеет все те же межмодульные разъемы сверху и снизу и крепежные отверстия, что и у обычных модулей. Такие хабы позволяют запараллелить модули из нескольких стоек и связать их механически.

Модули HUB_2x1 и HUB_1x2
Модули HUB_2x1 и HUB_1x2

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

Версия 1

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

Первый вариант модуля CPU с размерами 42x42 мм
Первый вариант модуля CPU с размерами 42x42 мм

В нем используются платы размером 42x42 мм. Для межмодульных соединений я использовал 4 разъема 1x11 (мама) сверху и 4 разъема 1x11 (папа) снизу. Шаг - 2.54 мм. Этот дизайн имел много проблем и я даже не знаю почему я их не учёл сразу. Например, мудрёные правила соединения модулей. Чтобы иметь возможность вывести разъемы внешних подключений сбоку, я планировал жертвовать 1 (из 4) межмодульным разъёмом (передний и задний разъемы дублируют друг друга). Такие 3-разъёмные модули используют только контакты переднего/заднего разъемов, поэтому модуль можно разворачивать на 180 градусов с сохранением работоспособности. Но это только всё запутывало.

1-рядные разъемы имели низкую прочность, а 1-рядные мамы с поверхностным монтажом найти вообще не удалось. В итоге предлагалось запаивать сначала верхний разъём, обрезать торчащие снизу штырьки "под корень" и после этого запаять разъём снизу. Но в этом случае качество пайки верхних разъемов будет плохим, примыкание нижних разъемов к плате - плохое, технологичность сборки модуля - плохая.

В целом - это очень плохой дизайн.

Версия 2

Это тот вариант, который мы с вами подробно рассматриваем сегодня. Особенности:

  • Размеры платы модуля - 40x40 мм. Углы платы скруглены радиусом 6 мм, что позволяет делать аналогичное скругление в корпусе девайса.

  • Для межмодульного соединения используются 2 разъема 2x10 c шагом 2.54 мм. Разъемы для поверхностного монтажа. Сверху - мамы, снизу - папы.

  • Межмодульные разъемы определяют расстояние между платами двух соседних ярусов - 12 мм. Латунные стойки такой высоты широко распространены и стоят недорого. При этом стойки не являются обязательными, потому что межмодульные разъемы скрепляют модули довольно хорошо.

  • Разъемы внешних подключений, а также средства управления и индикации могут выводиться спереди или сзади (бока перекрыты межмодульными разъемами).

Расстояние между контактами двух межмодульных разъемов кратно шагу 2.54 мм, поэтому нижний модуль можно вставить в макетную плату произвольного размера и запаять его туда. Или запаять на макетку 2-рядные разъемы и вставить нижний модуль в них. Это позволяет аккуратно расширять сборку модулей при помощи стандартных макетных плат:

Модуль, припаянный к макетной плате
Модуль, припаянный к макетной плате

Размещение в корпусе

Разъёмы внешних подключений располагаются с вылетом на 2 мм за пределы платы. Это нужно чтобы разъемы девайса не были утоплены в корпус и не торчали из него. Корпус со стенкой 1.6 мм может быть напечатан на 3D-принтере, оставшиеся 0.4 мм - зазор между платой и стенкой корпуса.

Латунные стойки, используемые для крепления модулей между собой, могут быть использованы и для крепления сборки модулей в корпусе. В открытом варианте крепления в стойку снаружи корпуса вкручивается винт М3. В скрытом варианте в корпус паяльником вплавляются специальные вплавляемые гайки М3:

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

Распиновка межмодульных разъёмов

Задача выбора распиновки общей шины в модульном конструктиве - весьма нетривиальна. Если забыть распределить по пинам какие то важные сигналы, то в дальнейшем придётся либо с этим смириться, либо перепроектировать часть модулей (а то и все!).

Но давайте разбираться поэтапно...

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

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

Также, как видно из распиновки, используется 2 напряжения питания 3.3V как основное и 5V, которое, в дальнейшем понадобится некоторым будущим модулям (но это не точно).

Остается еще 28 пинов, которые на иллюстрации выше отмечены синим и зеленым цветом. Синие могут использоваться как дискретные или аналоговые, зеленые - только как дискретные.

Я ориентируюсь на микроконтроллер ESP32-S3, названия пинов в распиновке взяты из документации на него, что вовсе не исключает использования в модулях CPU других микроконтроллеров.

ESP32-S3 - мощный и современный микроконтроллер, имеющий интересную особенность - подключение ножек GPIO чипа к цифровым сигналам внутренних периферийных модулей микроконтроллера может осуществляться через программно-конфигурируемую матрицу (GPIO matrix). То есть, например, сигналы CAN_TX и CAN_RX могут быть подключены внутри микроконтроллера к любым его внешним IO-пинам.

Но к аналоговым входам это не относится. 10 каналов ADC1 подключены к пинам IO1...IO10 и ни на какие другие пины микроконтроллера эти каналы повесить нельзя. Ещё 10 каналов ADC2 подключены к пинам IO11...IO20, но ADC2 я в расчёт не беру, потому что, если верить документации, оцифровка ADC2 может завершаться с ошибкой при включенном WiFi. Поэтому в итоге в качестве аналоговых входов могут использоваться пины IO1-IO10.

К сожалению, всё это никак не упрощает задачу распределения сигналов интерфейсов по 28 сигнальным пинам межмодульных разъемов.

Я выбрал следующий подход - я распределяю интерфейсы по пинам постепенно по мере разработки модулей.

Сейчас, например:

  • пины IO1...IO10 зарезервированы для аналоговых каналов (использование их для цифровых интерфейсов возможно, но может конфликтовать с аналоговыми модулями в сборке);

  • пины IO18 (SCL) и IO21 (SDA) зарезервированы за I2C, по которому предполагается подключать широкий спектр микросхем и сенсоров - это основной интерфейс для низкоскоростных узлов;

  • пины IO11 (SCLK), IO12 (MOSI), IO13 (MISO), IO14 (CS1), IO15 (CS2), IO16 (CS3/CE1), IO17 (CS4/CE) зарезервированы для подключения по SPI коммуникационных микросхем и радио-модулей;

  • пины IO38 (SCLK), IO39 (MOSI), IO40 (MISO), IO41 (DC), IO42 (CS) зарезервированы для подключения по SPI дисплеев.

Все остальные пины пока свободны.

Разработанные модули

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

Разрабатывая их, я старался придерживаться нескольких правил, чтобы сборка из модулей была эстетичной и удобной:

  • Разъемы внешних подключений располагаются на передней или задней стороне модуля в соответствии с тем, где их расположение на устройстве наиболее удобно и логично. В тех редких случаях, когда нужна возможность разворачивать модуль на 180 градусов, эта возможность реализуется перемычками на плате модуля (либо, если противоположные пины не задействованы в собранной конфигурации, то можно перемычки не трогать и обойтись изменениями в ПО).

  • Разъёмы и индикаторы однотипных модулей (например, модулей PSU) размещаю в одинаковых местах.

  • Стараюсь не размещать компоненты на плате снизу. Во первых, это не позволит их запаивать автоматизированно при производстве. Во вторых, это увеличивает вероятность конфликтов расположения компонентов двух соседних ярусов.

  • Большинство чип-компонентов формата 0603. Они достаточно компактные, но ещё не слишком для ручного монтажа.

Модуль CPU_ESP32S3

Модуль CPU_ESP32S3
Модуль CPU_ESP32S3

Модуль построен на микроконтроллере ESP32-S3 от Espressif, который был представлен в начале 2022 года. Это самый навороченный микроконтроллер в современной линейке Espressif, являющийся обновлением ESP32, который появился в 2016 году и более-менее известен разработчикам и распространён.

Если сравнить их, то можно отметить следующие улучшения в ESP32-S3:

  • Обновлены 2 основных ядра микроконтроллера (Xtensa LX7 вместо LX6). Тест CoreMark показывает прирост скорости в 18.8 % по сравнению с ESP32 при одинаковой тактовой частоте. Появилась поддержка векторных инструкций.

  • При подключении SPI flash (память программ) и SPI PSRAM (внешнее псевдо-статическое ОЗУ) теперь поддерживается 8-битный Octal SPI, который должен дать почти 2-кратный прирост скорости работы с этими микросхемами по сравнению с 4-битным Quad SPI в ESP32.

  • Используется корпус QFN56 вместо QFN48. Количество GPIO формально увеличилось с 34 до 45, хотя упомянутый выше Octal SPI занимает дополнительные 4 GPIO. Наконец-то исчезли ограничения в некоторых GPIO (например, пины IO34...39 в ESP32 могли использоваться только как входы).

  • Добавлен 1 x USB Host/Device. USB PHY встроен в микроконтроллер. Device может работать только как USB serial или JTAG.

  • Добавлен LCD контроллер с аппаратной поддержкой параллельного интерфейса i8080/moto6800 и интерфейса RGB.

  • Добавлен параллельный DVP-интерфейс для подключения камер.

  • Bluetooth LE обновлен до 5 версии (был 4.2) + поддержка Bluetooth mesh.

Есть и ухудшения:

  • Удалён Ethernet MAC.

  • Удалён ЦАП.

Интересно, что в чип ESP32-S3 может быть встроена Quad SPI флешка и Quad/Octal SPI ОЗУ PSRAM. На момент написания статьи Espressif предлагает следующие варианты:

Я не планирую запаивать чипы ESP32-S3 на плату модуля CPU_ESP32S3. Вместо этого будет запаиваться один из модулей, которые продает Espressif (со встроенной антенной или с антенным разъёмом):

Я планирую применять ESP32-S3-WROOM-1-N16R8 и ESP32-S3-WROOM-1U-N16R8. Это модули, на плате которых распаяна QuadSPI флешка объемом 16 Мб и чип ESP32-S3R8 (c 8 Мб Octal SPI ОЗУ внутри чипа).

Что еще есть на плате CPU_ESP32S3:

  • Разъем USB-C (в качестве USB-Device порта с возможностью внутрисхемной отладки по JTAG через него). Разъем направлен вверх, поэтому модуль в сборке должен располагаться в верхнем ярусе, если нужно обеспечить к нему подключение.

  • Через порт USB-C может быть запитана вся сборка модулей. 5V с разъема USB-C подаётся через диод Шоттки на шину 5V (падая до 4.8V). Напряжение 3.3V формируется линейным стабилизатором AMS1117-ADJ. Его выходное напряжение настроено на 3.5V, которое через диод Шоттки попадает в шину 3.3V. Диоды нужны чтобы сделать развязку источников питания сборки (которых может быть несколько).

  • 4-пиновый разъём - для прошивки с помощью внешнего USB-UART.

  • 2 кнопки: RESET и пользовательская.

  • Спереди расположены 5 управляемых RGB-светодиодов (Worldsemi WS2812B-4020) с боковым относительно плоскости платы направлением свечения.

  • Сзади справа LED-индикатор наличия питания 3.3V.

В следующей ревизии я планирую убрать 4-пиновый разъем и перенести стабилизатор 3.3V на верхнюю сторону платы (возможно, заменив AMS1117 на что-нибудь импульсное и более компактное).

Модуль ETH_W5500

В ESP32-S3 нет Ethernet MAC, поэтому в модуле используется популярный TCP-IP контроллер WIZnet W5500 с интерфейсом SPI. Схема подключения обвязки - референсная.

В сборку можно включить до 2 таких модулей (запаяв перемычку J5 в разные положения у этих модулей).

В составе ESP-IDF (официальный SDK от Espressif) уже есть драйвер для W5500, который позволяет быстро получить готовый сетевой интерфейс. TCP-IP стек lwIP и ОСРВ FreeRTOS также уже встроены в ESP-IDF, что позволят быстро начать писать свои сетевые приложения с использованием сокетов (или перенести уже написанное для другой платформы ПО).

В модуле ETH_W5500 я использую специфический заниженный разъем RJ45 из-за ограничения по высоте. Такие разъемы не содержат внутри трансформаторов, поэтому применена отдельная сборка трансформаторов L1.

Модуль RTC_PCF8563

Зачем вообще нужен отдельный модуль часов реального времени, ведь RTC уже есть в ESP32-S3? Дело в том, что в официальных модулях WROOM-1 нет отдельного вывода для запитки RTC домена питания от батарейки. Нога VDD3P3_RTC микроконтроллера на плате модуля WROOM-1 подключена напрямую к VDD33.

Почему? Мне не известно. Предполагаю, что с внутренним RTC есть какие-то аппаратные проблемы.

Модуль построен на микросхеме PCF8563 с интерфейсом I2C. Чип RTC я в своё время выбирал по критерию доставабельности из RTC с напряжением питания 3.3V.

Помимо микросхемы часов, на плате размещена микросхема EEPROM объёмом 32 Кб с интерфейсом I2C. Просто на всякий случай.

В модуле применён слотовый держатель батарейки формата CR2032, поэтому батарейку можно поменять не разбирая сборку модулей. При разработке пришлось примерить много разных держателей батарейки, потому что большинство из них не помещается между выводами межмодульных разъёмов. Батарейка не выходит за габариты модуля, а округлая фрезеровка платы в районе батарейки помогает подлезть к ней для замены.

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

Модуль PSU_DC

Модуль обеспечивает запитку модулей от внешнего DC блока питания. Диапазон входных напряжений: 8...45V. Есть защита от переполюсовки диодом на входе.

Входное напряжение сначала понижается до 5V с помощью импульсного Step-Down LM2596, которое подаётся в шину 5V через диод Шоттки (падая до 4.8V). Напряжение 3.5V формируется линейным стабилизатором 1117-ADJ и через диод Шоттки подаётся в шину 3.3V. Диоды позволяют включить в сборку несколько источников питания, которые можно задействовать одновременно (для резервирования).

Сзади справа на модуле расположены 2 LED, сигнализирующих о наличии напряжения на шинах 5V и 3.3V.

Использован популярный среди блоков питания круглый разъем с внешним диаметром 5.5 мм.

Модуль PSU_AC

Модуль обеспечивает запитку модулей от переменного напряжения из розетки. Диапазон входных напряжений - 100...240V. Мощность до 3 Вт. На входе предусмотрен плавкий предохранитель в держателе.

Напряжение 5V формируется готовым AC-DC HiLink HLK-PM01, далее оно подаётся в шину 5V через диод Шоттки (падая до 4.8V). Напряжение 3.5V формируется линейным стабилизатором 1117-ADJ и через диод Шоттки подаётся в шину 3.3V.

AC-DC имеет высоту 15 мм и не помещается в пространство между 2 соседними модулями. Поэтому модуль PSU_AC должен ставиться внизу сборки. К тому же там для него в корпусе проще обеспечить охлаждение и можно попытаться обеспечить облегчённый доступ к предохранителю.

Сзади справа на модуле расположены 2 LED, сигнализирующих о наличии напряжения на шинах 5V и 3.3V.

Примеры сборок

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

1. CPU_ESP32S3 + PSU_DC

Устройство на базе мощного 2-ядерного микроконтроллера с ОЗУ 8 Мб, WiFi, Bluetooth LE, 5 RGB LED спереди, с USB-C (Device) портом и питанием от розетки.

Габариты: 40x40x43 мм

CPU_ESP32S3 + PSU_DC
CPU_ESP32S3 + PSU_DC

2. CPU_ESP32S3 + ETH_W5500 + RTC_PCF8563 + PSU_DC + PSU_AC

Устройство на базе мощного 2-ядерного микроконтроллера с ОЗУ 8 Мб, WiFi, Bluetooth LE, 5 RGB LED спереди, с USB-C (Device) портом, 1 портом Ethernet, RTC, EEPROM 32 Кб и 2 вариантами запитки (для резервирования) - от розетки и от источника DC.

Габариты: 40x40x85 мм

CPU_ESP32S3 + ETH_W5500 + RTC_PCF8563 + PSU_DC + PSU_AC
CPU_ESP32S3 + ETH_W5500 + RTC_PCF8563 + PSU_DC + PSU_AC

3. CPU_ESP32S3 + 2xETH_W5500 + HUB_1x2 + RTC_PCF8563 + PSU_DC + PSU_AC

Устройство на базе мощного 2-ядерного микроконтроллера с ОЗУ 8 Мб, WiFi, Bluetooth LE, 5 RGB LED спереди, с USB-C (Device) портом, 2 портами Ethernet, RTC, EEPROM 32 Кб и 2 вариантами запитки (для резервирования) - от розетки и от источника DC.

Габариты: 81x40x71 мм

CPU_ESP32S3 + 2xETH_W5500 + HUB_1x2 + RTC_PCF8563 + PSU_DC + PSU_AC
CPU_ESP32S3 + 2xETH_W5500 + HUB_1x2 + RTC_PCF8563 + PSU_DC + PSU_AC

Планируемые модули

  • Модуль PSU с аккумулятором формата 18650 (вертикально) и контроллером зарядки и возможностью чтения состояния по I2C.

  • Радио-модули: RF до 1 ГГц, NRF24, LoRa, GSM, GPS и т.д.

  • Модули с разнообразными сенсорами-измерителями.

  • Модули для вывода промышленных интерфейсов: CAN, RS232, RS485 и т.д.

  • Модули с дискретными входами/выходами.

  • Модули с аналоговыми входами/выходами по напряжению/току.

  • Модули с небольшими OLED и IPS дисплеями на передней стороне.

  • Модули с кнопками или джойстиком на передней стороне.

  • Хабы разных размеров.

Концовка

Я буду признателен за любое мнение и критику в комментариях.

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

Комментарии (87)


  1. pavel_raskin
    06.02.2023 08:04
    +4

    Габаритные элементы в пространстве обратной стороны платы крадут полезный объём у нижнего модуля. Выходит, что не любая комбинация модулей может быть собрана в "башню".

    На модуле МК разъём type-c блокируется любым модулем, устанавливаемым сверху. Можно модуль МК ставить самым последним в стек, но Вы пишете про планы на модуль с экраном, который тоже будет логично располагать верхним слоем.


    1. rnadyrshin Автор
      06.02.2023 08:34

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


      1. Your_RA
        06.02.2023 11:07

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

        Еще стоит обратить внимание на кнопки. Внутри закрытого блока они бесполезны. Если их монтировать вертикально с дырочкой на корпусе, они становятся доступны.


        1. rnadyrshin Автор
          06.02.2023 19:37

          Про кнопки - это вы про модуль CPU? Если да, то модуль CPU_ESP32S3 планировался под установку верхним ярусом. Поэтому и USB-C направлен вверх. Кнопки должны нажиматься через толкатели. В целом это всё можно организовать по-другому в новых ревизиях модуля, выведя USB и кнопки вперед, просто когда я принимал решение, я хотел занять переднюю сторону модуля RGB индикаторами.


          1. Your_RA
            07.02.2023 09:55
            +1

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


  1. smart_alex
    06.02.2023 08:40
    +8

    Сама идея интересная, вот мысли навскидку:

    • 40х40 мм очень мелко, хотя бы 50х50 мм.

    • Напоминает M5Stack.

    • На плате должен быть ключ, чтобы можно было однозначно определить положение её установки.

    • 2-рядные разъёмы невозможно вставить в обычные макетки (но можно сделать переходник).

    • Можно делать не только 2х базы, но и, например, квадратные 4х.


    1. rnadyrshin Автор
      06.02.2023 08:45
      +1

      2-рядные разъёмы в макетку вставить можно, в breadboard - нельзя
      Базы (или хабы) на 4 места планируются, да


      1. smart_alex
        06.02.2023 08:54
        +1

        breadboard - нельзя

        И я о том же.

        На мой взгляд 40х40 рано или поздно (скорее рано) станут препятствием, когда потребуется что-то разместить на плате.


  1. sepuka
    06.02.2023 09:08
    +3

    Платы: помехи создаются не от частоты сигналов, она вполне может быть низкой, а от их фронтов и удаления от общей земли и её неразрывности. На тираже 4 слоя вместо 2-х добавляют десятки центов на плату, а помехи можно снизить раз в 5 без каких-либо особых усилий.

    Разъёмы: возвратные токи всех сигналов текут по двум пинам. Есть ещё 4 стойки, но их сопротивление непредсказуемо.


  1. DonAgosto
    06.02.2023 09:32
    +4

    Для полноты картины в статье не хватает сравнения с уже имеющимися аналогами: m5stack, wemos (lolin), arduino mkr, да и классические arduino тоже вполне аналог


    1. DerIngenieur
      06.02.2023 13:47
      +1

      Как я уже ниже писал, практически абсалютный аналог Tinkerforge:


      1. vconst
        06.02.2023 17:24

        Причем — тут еще есть разьемы выходящие вбок


        1. rnadyrshin Автор
          06.02.2023 19:42

          Где? Насколько я вижу, разъёмы внешних подключений в Tinkerforge выведены спереди и сзади


          1. vconst
            06.02.2023 21:17

            Просто, для меня эти, направления, сбоку-сзади, не очевидны)
            Сойдемся на формулировке «в сторону»


  1. WondeRu
    06.02.2023 09:38
    +1

    колоссальная работа!


  1. GennPen
    06.02.2023 09:44
    +5

    модульный конструктив для настольного прототипирования

    А нужно ли для прототипа такие мелкие размеры? Там же в случае чего не подпаяешься и не доработаешь его. В прототипировании важна не компактность, а удобство доработки.


    1. DerIngenieur
      06.02.2023 13:34

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


    1. rnadyrshin Автор
      06.02.2023 19:50

      Идея в том, что на модулях 40x40 мм ничего паять не нужно, Вы их берёте готовыми, они уже отлажены аппаратно и хорошо работают. Вы набираете из них девайс и дальше:
      - отлаживаете межмодульный обмен (это отладка ПО по сути), подключившить логическим анализатором (напрямую, без переходников) или осциллографом к межмодульным разъемам.
      - паяете свои произвольные схемы на макетке и остальной модульный девайс подключаете к этой макетке через межмодульные разъёмы. Когда нужен доступ к макетке, она легко и быстро отстёгивается-пристёгивается.


      1. DerIngenieur
        06.02.2023 21:03

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

        И к слову, возможность паять блоки самому меня привлекала с точки зрения ремонтно пригодности всей системы. Так как при выходе блока из строя я могу создать такой же, в независимости от того перестал ли производитель производить или нет. В своем умном доме я так же использую контролллеры от WAGO и Beckhoff, но в этих случаях если сгорела голова или карта ввода вывода я уже спаять ничего не смогу.


      1. DerIngenieur
        06.02.2023 21:10

        Еще раз про размер модулей. Хоть я и написал ранее о том, что практичее будет использовать размер больше 40 на 40 мм. Но если рассматривать использование этих модулей в будущем как какое то устройство в подрозетнике, то размер 40 на 40 совсем даже ничего :)


        1. vconst
          06.02.2023 21:19

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


          1. DerIngenieur
            06.02.2023 21:22

            Как я понимаю да. Но мы же знаем, что все временное самое постоянное. :D


            1. vconst
              06.02.2023 21:29

              Ну, не знаю…

              Я сейчас пилю очень маленькую и очень простую фигульку — датчик, контроллер, экранчик. Веб-сервер мне там поднимать не надо, беспроводные интерфейсы не нужны, потому даже esp32 избыточен. А вот Ардуино Нано, просто потому что очень маленькая платка — вписывается в самый раз. Все выйдет меньше спичечного коробка, скетч в пару десятков строк.

              У меня есть большая леонардина, где я все это вместе собрал, есть нано с гребенкой, просто проверить — как оно именно в этом форм-факторе, есть esp32. Но собирать я буду на маленькой плате, без гребенки. Чисто из-за компактности

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


  1. zhogar
    06.02.2023 09:56
    +2

    1. На CubeSat похоже.

    2. Как у Вас разведены аналоговые и цифровые земли? Чисто физически.

    3. Было бы не плохо если бы можно было соединять модули в любой последовательности.

    4. Однозначно 50х50, так как иначе может не хватить места при создании своих (дополнительных) модулей.

    5. Неплохо было бы иметь несколько головных модулей с разными CPU/MCU.

    6. Можно будет приобрести в дальнейшем? И сколько ориентировочно это будет стоить?

    Спасибо.


    1. rnadyrshin Автор
      06.02.2023 10:28
      +2

      1. Ага

      2. Земля общая - 4 контакта в межмодульных разъемах + латунные стойки

      3. Почти так и будет, кроме пары исключений

      4. Думаю об этом

      5. Это можно. На каких MCU, например?

      6. Пока не знаю


      1. zhogar
        06.02.2023 10:58
        +1

        1. Однозначно нужно разводить цифровые и аналоговые земли отдельно.

        2. Думаю, что из этого списка: STM8L152K6T6, STM32F103C8T6, ПЛИС Altera MAX II EPM240T100C5N, ATMega8, ATMega16, ATMega32, ATMega48, ATMega88, ATMega168, ATMega328 ATTiny2313, ATTiny12, ATTiny45


        1. mikkrob
          06.02.2023 13:36
          +1

          Миф об обязательном разделении цифровой и аналоговой земли очень прочно засел в головах некоторых инженеров. Не то, чтобы я говорил, что разделять ничего никогда не нужно, но в 9 случаев из 10 одна хоршая земля будет работать лучше, чем 2-3 и более. Ещё и потому, что в погоне за разделением всего и вся, очень часто это делается неправильно.

          В данном конструкторе, как мне кажется, больше внимания нужно уделить именно качеству земли а не делить её.


          1. rnadyrshin Автор
            06.02.2023 19:50

            Согласен


      1. zhogar
        06.02.2023 11:04

        Думаю что знакомо, но все же почитайте ещё раз за PinBoard. Думаю много чего подчеркнёте, и по питанию, и по топологии и т.д.
        https://shop.easyelectronics.ru/index.php?productID=151


  1. poulch
    06.02.2023 10:17
    +1

    в модуле питания 220 по входу HLK надо хотя бы еще варистор поставить и желательно ограничительный резистор иначе бросок тока приличный при включении. У меня варистор и 50Ом2Вт стоят. И тогда предохранитель может быть компактный 250мА например, иначе не ниже 2А.


    1. rnadyrshin Автор
      06.02.2023 10:28
      +1

      Понял, спасибо


      1. Slonosvin
        07.02.2023 10:18
        +1

        Дополнительно к вышесказанному:
        — хайлинку нужна дополнительная обвязка, про это уже неоднократно писали на многих сайтах
        — ОБЯЗАТЕЛЬНО предусмотрите какой-то изоляционный кожух для этого модуля, там есть минимум три места, где пользователь может попасть под сетевое напряжение


  1. eugenk
    06.02.2023 10:59
    +1

    Интересная идея. Спасибо ! Хотя вот так навскидку скажу, что работать всё это будет наверно только на весьма умеренных частотах. Чего-то высокоскоростного такой конструктив скорее всего не потянет. В 80-е годы была популярной подобная штука, называлась CAMAC (или КАМАК по-русски). Ещё успел с этим прилично поработать. Представляло собой коробку с разъемами на задней стенке, объединенными общей шиной, в которую на салазках вставлялись различные модули. И всё это через соответствующий контроллер подключалось к Электронике-60 (СМ-4 или к чему-то подобному) Идея та же самая. Быстро, без мешанины проводков собрать из готовых модулей нужную конфигурацию. Действительно было хорошо и удобно. Но рабочий цикл там был (если мне не изменяет мой склероз) по-моему 500 нс.


  1. Gemerus
    06.02.2023 11:16

    Я надеюсь, вы перетащили 3D модели из EasyEDA PRO, а не рисовали их специально для рендера...


    1. rnadyrshin Автор
      06.02.2023 11:44

      Половину моделей я нашёл в готовом виде, остальные нарисовал. В EasyEDA не все модели соответствуют компонентам (размеры электролитов, например, отличаются), да и не знал я про возможность экспорта из EasyEDA PRO.
      А вы пробовали? Хорошо получается?


      1. Gemerus
        06.02.2023 12:29

        Отлично получается, регулярно "заимствую" оттуда 3D модели для своей либы в Альтиуме.


  1. rexen
    06.02.2023 12:00

    Хотелось бы увидеть больше сценариев применения.
    Меня, в частности, больше интересует не прототипирование, а практические конструкции. Вроде STM32_Blue-Pill, ставшая при своей дешевизне убийцей ряда альтернатив.


  1. DerIngenieur
    06.02.2023 12:05
    +2

    Он немецких товарищей tinkerforge есть уже реализованная точно такая же идея (даже выглядит точно так же). Посмотрите на их сайт и гит репозиторий. Они преследуют парадигму opensource и openhardware. Мне кажется Вы можете много интерессной информации найти. Я уже лет 5 использую их решения в своем умном доме. Мне нравиться.


    1. rnadyrshin Автор
      06.02.2023 12:06
      +1

      Спасибо, я гляну обязательно. Раньше не натыкался на них


      1. DerIngenieur
        06.02.2023 12:09

        Там практически безграничное количество вариантов блоков и так называемых "бриклетов" - расширений для блоков. Есть и интерессные решения у этой команнды, но и на мой взгляд провальные, как например использование очень дорогих коннекторов, которые для некоторых бриков создают половину их стоимости.


      1. DerIngenieur
        06.02.2023 12:50
        +6

        Только сейчас понял, что вы автор канала "Электроника в объективе". Спасибо Вам за контент - Ваш постоянный подписчик :D


        1. vconst
          06.02.2023 17:41
          +1

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


  1. beeptec
    06.02.2023 13:21

    В свое время мы так же озадачились китом для модульного прототипирования, но вовремя остановились прежде всего из соображений отказа от проприоритарности к каким бы то ни было MCU, так как логика разработки базируется на иных принципах создания архитектуры конечного устройства. Так к примеру невозможно изначально понять на этапе обкатки идеи, какие ресурсы понадобятся на эксперименты и не потянет ли это в финале тотальный пересмотр. Собственно для чего и требовалась идея определения ресурсов. В конечном итоге такие выводы натолкнули нас на мысль о необходимости виртуализации прототаипинга, когда можно заставить бегать всевозможные сценарии и приходить к заключениям об архитектуре.
    Таким образом сегодня все это выплеснулось в целую программную платформу - фреймворк аггрегирования микросервисов и статических машин. Был написан GUI со своей парадигмой с вербальным уровнем восприятия, так же есть в железе I/O комплект для работы в случае желания разраба дергать порты и вести счет данных. Я не писатель, поэтому здесь не решился выставить проект, но дисклеймер в сетях присутствует.


  1. DerIngenieur
    06.02.2023 14:06

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

    Так же в порядке бреда, можно прикрутить Onion Omega. Я в свое время пытался это сделать, но до конца (в плане коммуникации с другими блоками) к сожалению не довел:


    1. rnadyrshin Автор
      06.02.2023 21:31

      Понял, спасибо. Думаю, все специфические крепления - вопрос следующих этапов


  1. vconst
    06.02.2023 17:37

    Идея занятная, разработка должно быть, была очень увлекательным хоббийным проектом

    Что пришло в голову — сэкономили 3 мм с края и обозначения пинов уже не радом с пинами, а отдельной схемой. Весьма мелкой, надо сказать. Придется здорово вглядываться и потом оч внимательно отсчитывать пины, чтобы не промахнуться. Хорошо, что питание с края, ничего считать не надо. Но можно запутаться, где 5 и где 3,3 — и ТТ платка или датчик

    Вертикальный USB — это совсем не годится…
    Я сначала его за кварц принял

    Почему версия ESP — S3? Она все еще не очень поддерживается распространенным софтом

    Для прототипирования важен удобный доступ к кишочками, чтобы все пины не в кучку, воткнуть в макетку и не спеша ковыряться. А у вас все такое миниатюрное… Как правильно заметили, два ряда в макету еще не вставить

    Это так, взгляд дилетанта, который умеет готовые платки вместе соединять, но не более того


    1. DerIngenieur
      06.02.2023 18:19

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

      Тут с Вами согласен, вертикальный USB очень спорное решение, так как в собраном состоянии может получиться так, что до него никак не достать (это так же касается свичей).


      1. vconst
        06.02.2023 18:21

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

        И нестандартная макетка — тоже ограничивает работы с прототипом — одной мастерской


        1. DerIngenieur
          06.02.2023 18:29

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


          1. vconst
            06.02.2023 18:35

            Понятно. Тогда проблем не будет

            Вообще, сколько можно? Этот разьем, наследник древних телефонных сетей. Пора бы заменить его чем-то более компактным, размером с тот же USB-C. Технологии уже позволяют

            Интересно, а толщина кабеля с витой парой — она принципиально тоньше не получается? Может проводки с сечением поменьше взять, или выпускать что-то залитое в пластик, заранее сплетенное как надо — но тоже не толще обычного USB?


            1. GennPen
              06.02.2023 18:44

              Интересно, а толщина кабеля с витой парой — она принципиально тоньше не получается?

              Скорее всего изменится волновое сопротивление, а это чревато потерями на кабеле.


              1. vconst
                06.02.2023 19:11

                Ультра слим кабели категории 6а — тоньше 4 мм. Со скоростями там проблем нет
                И выглядят они нелепо, тоненький кабель и на конце болтается такая здоровенная блямба из середины прошлого века

                Сорри за оффтоп :)


    1. rnadyrshin Автор
      06.02.2023 20:10

      1. Обозначения можно разместить на каждом модуле снизу (там не должно быть компонентов). Думаю, это будет вполне удобно.

      2. Кнопки и USB на модуле CPU направлены вверх потому что планировалось всегда ставить этот модуль верхним, а переднюю сторону занять индикаторами. В целом, это можно пересмотреть.

      3. ESP32-S3 потому что это более свежий и совершенный чип, чем ESP32. Ближайшие 5-6 лет он точно будет производиться, а некоторые модификации ESP32 потихоньку снимают с производства. Опять же, во время кризиса полупроводников чипы Espressif были широко доступны, в отличии от очень многих более простых микроконтролеров.
        Что касается поддержки софтом - S3 хорошо поддерживается в ESP-IDF, я сейчас плотно с ним работаю. Остальные среды и фреймворки допилят всё, что у них не работает, время на это есть, а они в этом заинтересованы.

      4. Идея в том, что на модулях 40x40 мм ничего ковырять не нужно, Вы их берёте готовыми, они уже отлажены аппаратно и хорошо работают. Вы набираете из них девайс и дальше:
        - отлаживаете межмодульный обмен (это отладка ПО по сути), подключившить логическим анализатором (напрямую, без переходников) или осциллографом к межмодульным разъемам.
        - если нужно, паяете свои произвольные схемы на макетке и остальной модульный девайс подключаете к этой макетке через межмодульные разъёмы. Когда нужен доступ к макетке, она легко и быстро отстёгивается-пристёгивается.
        PS: под макетной платой я понимаю макетную плату, не breadboard.


      1. vconst
        06.02.2023 21:21

        Распиновка снизу будет удобно, да

        под макетной платой я понимаю макетную плату, не breadboard
        Да, я breadboard имел в виду


  1. spam-receiver
    06.02.2023 17:41

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


    1. rnadyrshin Автор
      06.02.2023 20:25

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

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


      1. spam-receiver
        06.02.2023 20:56
        +1

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


        1. DerIngenieur
          06.02.2023 21:19

          Отчасти Вы правы, упомянутый мной проект Tinkerforge с похожей идеей заглох. Вернее они переквалифицировались на популярную в Дойчланде тему "Электрозарядок для автомобилей". Единственное применение на практике их модулей приведено на примере создания погодной станции (такое себе на мой взгляд). Но можно быть умнее чем они и предложить модульное решение для разных груп DIYшиков: армии людей занимающихся сборкой 3д принтеров, группе людей собирающих свой умный дом (предложить аналог EIB/KNX), DIYшикам собирающих дронов и других роботов итд.


  1. vbifkol
    06.02.2023 18:49
    +1

    Вы упустили при проектировании одну деталь: сам бутерброд даже из 5-6 плат выглядит еще пристойно, но что будет, если к нему подключить провода? Ну и уже замеченная беда с экраном - если он на торце, то где кнопки? А если хочется экран больше чем 40*40, будет башня с "крышей" как пагода?

    Я бы наверное на уровне проектирования решил что эта штука должна собираться не снизу-вверх, а слева направо. И чтобы рабочие элементы плат были соответственно, на передней/задней/верхней грани. И дисплей был бы не поверх модуля, а сбоку от него - на боковой грани, заполняя пространство "переда" соседних плат. Ну и заодно можно развести разъемы модулей: ИК порт, наушниковый порт, СД, усб, экран - "вперед", сеть, питание, реле - "назад", кнопки - "вверх" или "вперед".


    1. DerIngenieur
      06.02.2023 19:23
      +3

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


      1. DonAgosto
        06.02.2023 23:29

        превращается в большой бутерброд
        M5Stack посмотрите. В отличие от прочих подобных они, как по мне, отлично проработали вопрос с корпусированием и даже большие «бутерброды» из их модулей выглядят как вполне законченное устройство
        на дин рейку
        У вышеуказанных товарищей такое тоже в наличии: Industrial Board Module. Вобще они видимо быстро поняли, что на одном только DIY и прочем STEM далеко не уедешь и начали делать еще всякие штуки для АСУТП/КИПиА


    1. rnadyrshin Автор
      06.02.2023 20:31

      Мелкие дисплеи (с шириной до 40 мм) планируется выводить на переднюю сторону. Спереди же на соседнем модуле - кнопки. Либо такие дисплеи можно вывести на верхнюю сторону с ёмкостным тачскрином и без кнопок.
      Для крупных экранов (до примерно 5") - будет просто готовый дисплейный разъем под гибкий шлейф на передней стороне модуля.


  1. torgeek
    06.02.2023 19:25

    Отличное начинание и рендер-картинки прям радуют своим качеством и проработанностью!

    Смутила ставка в примерах на чип ESP32-P4 с проприетарной архитектурой.

    Можно посмотреть новый двухъядерный ESP32-P4 на 400 МГц. К тому же, Espressif объявила о полном переходе на ядра с архитектурой RISC-V.


    1. rnadyrshin Автор
      06.02.2023 20:36

      Давайте ориентироваться на продукты, которые есть на рынке хотя бы с документацией. По анонсу ничего спроектировать невозможно)
      А архитектура не важна по сути. Всё, что написано на C/C++ скомпилируется и заработает и на RISC-V, и на RISC-VI, и на RISC-VII :)


      1. torgeek
        07.02.2023 09:52

        У Espressif с документацией и sdk получше многих компаний. Да и линейка уже выпущенного в чипах и модулях достаточная для работы:

        • ESP32-C2/ESP8684 - 120 МГц

        • ESP32-C3/ESP8685 - 160 МГц 400 кБ (16 кБ кеш) 384 кБ + 4 МБ

        • ESP32-C6 — 160 МГц + 20 МГц ОЗУ 512 КБ ПЗУ 320 КБ


        А есть ещё GigaDevice, WCH, Bouffalo Lab, Bluetrum, Telink, HiSilicon и новички типа HPMicro и Beken. Это всё компании выпустившие линейки RISC-V чипов и модулей на них.

        На нижнем уровне архитектура как раз очень важна. И распылятся не хочется. Особенно на легаси и проприетарные системы.

        ESP32-C3
        ESP32-C3
        Bouffalo Lab BL702
        Bouffalo Lab BL702


        1. rnadyrshin Автор
          07.02.2023 10:13

          Говоря об отсутствии документации, я отвечал на ваш комментарий про ESP32-P4


  1. Power_FSE
    06.02.2023 20:37

    Я тоже сделал себе полу-универсальную заготовку для того, когда надо "по быстрому прикинуть". Но базируется на stm32. Имеет цветной дисплей с тачем, "встроенный" аккум. (Поскольку есть аккум, то и часы Rtc бонусом работают.).

    На CPU плате (АлиЭкспресс) есть micro-sd слот. Сам разводил Base-board, на которую собственно паял CPU board, можно вставлять дисплей и с обратной стороны можно устанавливать две маленькие дочерние платы. Выведены на них spi, uart, adc, dac, digital и т.д. (маленькие платы, в основном рассчитывал на интерфейсы): rs232, rs485 (CAN), nrf24, можно ADC, и.т.д.

    Сейчас попробую сфоткать (если получится пристегнуть)


    1. Power_FSE
      06.02.2023 20:43
      +2


      1. Power_FSE
        06.02.2023 20:45
        +2


    1. Power_FSE
      06.02.2023 20:47

      Можно одновременно установить две любые платы расширения.

      Основная Base-board заказывал на jlcpcb, а мелкие платы расширения делаются лут-ом по мере необходимости....


  1. RR_Zz
    06.02.2023 21:07
    +1

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

    И ещё, про питание. Я бы сделал так:

    ... GND

    ... 3.3

    ... +5V

    ... ...

    ... +5V

    ... 3.3

    ... GND

    Тогда получается симметричная версия и её можно вращать. При этом питание "внутри" модуля и всегда известно, где какое питание в не зависимости от ориентации.


  1. na2ali
    06.02.2023 21:12
    -1

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


  1. Indemsys
    07.02.2023 01:05

    Странно, почему в мануале на ESP32-S3 нет ничего про отладочные механизмы.

    Про установку точек останова, про каналы отладочного вывода, про трассировку и т.д.

    Есть упоминание JTAG , но никакой спецификации на регистры.

    Много раз присматривался к ESP и всегда эти моменты останавливали развитие идей по использованию их в универсальных модулях.


  1. DRha
    07.02.2023 06:45

    Обратите внимание на колонки между модулями. Если сбоку будет что-то расположено, то будет затруднительно вплоть до невозможности их крутить. И ещё совет - предусмотрите с торца колонки где резьбовое отверстие шлиц для плоской отвёртки, это даст возможность залезть куда-то в глубину допустим корпуса и крутить колонки длинной плоской отвёрткой.


    1. rnadyrshin Автор
      07.02.2023 07:48

      Вы правы, спасибо!


  1. OldFashionedEngineer
    07.02.2023 10:26

    А как в такой бутерброд из плат потом осциллографом потыкать?

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


    1. rnadyrshin Автор
      07.02.2023 10:44

      Кастомное можно выполнить на крупной макетке, к которой хороший доступ. Если хочется сделать что-то кастомное в формате 40x40, то можно его разместить сверху или снизу крайним модулем или просто вынести куда удобно на 2 шлейфах.


  1. softmart
    07.02.2023 12:42
    +1


    1. softmart
      07.02.2023 17:58


      1. svitoglad
        09.02.2023 07:30

        Похоже на tibbo:

        https://tibbo.com/tps.html


  1. beeptec
    07.02.2023 14:37

    Почитал рассуждения здесь по поводу идеи и ее дизайна, так и н понял, от чего автор свое дизайнерское решение для прототайпинга назвал конструктором для ембеддеров.
    Это явно очередная репликация тысячи шильдов на базе RISC ARM. И хорошо бы расставить точки над i когда происходит подмена понятий для разрабов. От того здесь много споров и пересудов от аппартных дизайнеров.
    Прекрасный и наглядный пример - LEGO Mindstorm из коробки с модулями, инструкциями, софтом и сообществом его почитателей с учетом возрастных категорий.
    Уж если что либо называть конструктором, то хорошо бы для начала разобраться с его парадигмой. К примеру горный велик, который в разобранном виде лежит в большой коробке, инструкцией по сборке, инструментами и книгой "как правильно тормозить и т.п." вроде и конструктор, но и не конструктор, аналогично и шкаф с Икея.
    В прошлом продавались развивающие электронные наборы для самостоятельной сборки FM приемника или усилителя для наушников и т.д. и т.п., но конструктором это никто не называл т.к. понятие конструктор включает в себя универсальность и гарантированная конечная сборка своими силами определенного перечня решений, так же и расширяемость и интеграция на основе прилагаемых инструкций и рекомендаций.
    Каким лично бы я хотел видеть конструктор своей мечты :

    Состоит из программного обеспечения (на базе CISC CPU архитектуры) с графическим пользовательским интерфейсом и недорогого расширяемого I/O USB комплекта.

    • позволяет воплотить в коробочный продукт довольно внушительный спектр роботизированных идей, где аппаратная часть представляет собой недорогие модули, широко используемые в большом списке с Aliexpress (драйверы устройств, датчики, устройства, коммуникаторы и т.д.).

    • Нет необходимости создавать железо с нуля, писать код и вшивать его в MCU с сопутствующей кучей проблем, знакомых всем классическим разработчикам эмбеддерам под Arduino, STM, ESP, Raspberry и других платформ с встраиваемым ПО.
      - Быстрый вход на простых инструкциях - агрегатор (ядро - интерпретатор машинного языка) программного обеспечения — фреймворк, ядро которого построено на готовых протестированных микросервисах и статических (FSM) машинах, многопоточностью, GUI интерфейсом, который полностью избавляет разработчиков от языкового скриптинга программирования с использованием машинных языков.

         Сфера применения — от медицины до оборонки.



    1. softmart
      07.02.2023 19:32

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

      Коробочный продукт и модули с AliExpress концептуально несовместимы.

      Конструктор тоже не конкурент коробочному продукту. В том же изделии автора половина себестоимости уйдет на разъемы и их пайку.


  1. ramir
    07.02.2023 21:34

    Возможно идея рабочая. Но смотрю на свои проекты и каждый использует какие‑то уникальные решения. Я сторонник отладок и проводов. А чтобы вся эта конструкция была транспортабельной обычно клею отладки, например на картонку двухсторонним скотчем.


    1. ramir
      07.02.2023 21:35


  1. beeptec
    07.02.2023 21:42

    Коробочный продукт и модули с AliExpress концептуально несовместимы.

    Конструктор тоже не конкурент коробочному продукту.

    Смотря что Вы подразумеваете под коробочным продуктом. В моем понимании это упакованное решение к примеру для самрт теплицы или вендингового автомата, умной пасеки и т.д. и т.п.
    Если Вы увидите, а Вы их увидите, если не поленитесь, сколько сегодня модульных решений с торговых полок Ali идут под дин рейки всех крепежных вариаций и стандартов, в сетях зашквал успешных и завершенных проектов.
    В основной массе все модули под бинарную логику рулят под концептуальную робототехнику и автоматику, по ходу у Вас всегда есть выбор по качеству исполнения. В довесок сказанному вишенка на торт - в последнее время такой подход плавно перерастает в требование работодателей - знание готовых рыночных решений, которые быстро интегрируются в задачу R&D.
    А дизайнить PCB и организация сборочного монтажного производства с пайкой, мытьем, дефктовкой, конечной валидацией.... это удел медленных раскруток и не всегда в конечном, законченном исполнении, как правило заимствование от готовых коммерческих модульных идей.

    Если сборка на базе конструктора это автоматика для насосной станци жилого помещения, отопления помещений и т.п., как сегодня это происходит у массы почитателей автоматики на базе ардуины, то почему бы и нет. В моем офтопике я дал описание концепта такого конструктора (аггрегатора).

    К примеру так:

    И так:


    1. softmart
      08.02.2023 13:32
      +1

      сколько сегодня модульных решений с торговых полок Ali идут под дин рейки всех крепежных вариаций и стандартов

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

      Должно быть продумано не только возможность сборки конфигурации пользователем, но и удобное корпусирование, надежность крепления модулей, удобный доступ к разъемам модулей. Чтобы пользователю не пришлось самостоятельно все это лепить в корпус с помощью дремеля и такой-то матери.

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


      1. beeptec
        08.02.2023 17:05

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

        Т.е. по Вашему концептуальный конструктор, это когда все жестко упирается в корпусирование, а то что в шкафах на дин рейках это нечто третье и не может никак иметь концепт конечного решения под конструктор? Больше сказать расширяемого? Уговорили, давайте эту тавтологию отдадим на растерзание маркетологам.

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

        А давайте не будем открывать Америку:

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