Как стать автором
Обновить

Конструктор для embedded-разработчика

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров20K
Всего голосов 106: ↑106 и ↓0+106
Комментарии126

Комментарии 126

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

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

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

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

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

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

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

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

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

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

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

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

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

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

breadboard - нельзя

И я о том же.

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

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

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

НЛО прилетело и опубликовало эту надпись здесь

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ну, не знаю…

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

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

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

Вы можете добавить в EasyEda нижнюю часть стека для проектирования своих схем с интегрированным модулем, например AC модуль для пайки в отладочную плату и на него будут ставится остальные модули стека, так можно немного сэкономить пространство. К слову, как вы достигли таких 3д моделей при помощи EasyEda? у нее ведь скромный предпросмотр и импорт 3д в obj формат.

3D-визуализация сделана в Solidworks специально для этой статьи. Ведь в EasyEDA не получилось бы сделать сборки из нескольких модулей, а модели компонентов не всегда соответствуют размерам компонентов (высота электролитов, например).

НЛО прилетело и опубликовало эту надпись здесь

Я понял ваши хотелки, спасибо

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

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

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

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

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

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

Спасибо.

  1. Ага

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

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

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

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

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

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

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

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

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

Согласен

ATMega8, ATMega16, ATMega32, ATMega48, ATMega88, ATMega168, ATMega328 ATTiny2313, ATTiny12, ATTiny45

Боже, зачем тащить сюда это старье? Ведь нет ни одного плюса их использовать сейчас: бедные по периферии, слабые по производительности, нет нормального управления частотой, дебаг через задницу, мало памяти, дорогие, и так далее, и тому подобное. Ладно бы xmega предложили, так нет, блин, 2313! Которая была слабой еще во времена, когда я на атмеле учился разрабатывать

Боже, зачем тащить сюда это старье

Ну хотя бы за тем, что эти микроконтроллеры будут на рынке еще лет 20.. А наработанная база по ним (я имею введу исходные коды, библиотеки, всякие DIY на их основе) очень большая. Да и с другой стороны глупо было бы делать топологии плат, не беря во внимание существование этих микроконтроллеров на рынке. Т.е. я говорю о том, что разводить топологию нужно максимально универсально, с учетом того что все же кто-то будет применять эти микроконтроллеры в представленной автором отладочной плате, даже если сам автор не включит их (если можно так сказать) в стандартную поставку.. Но от части я согласен с вашим мнением)

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

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

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

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

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

И теперь есть большая проблема, существует огромное множество оборудования работающее на камаках, причем часть модулей самодельные, с неплохой элементной базой. Вот только использовать камак ныне сложно - для PCI-E платы крайне дорогие, да и сам интерфейс странный получается. Удивительно что уже в 2023 году вы упомянули камак)

Ничего удивительного. Я начинал с него. Точнее начинал вообще с ЕС-1020 и колод перфокарт, но с КАМАКом пришлось поработать очень много, как с паяльником, так и за монитором. А вот что сейчас с этим есть какие-то сложности, это странно. Сделать крейт-контроллер не особо сложно, хоть на PCI-E (не понимаю, почему они крайне дорогие), хоть на usb, хоть на ethernet. Можно (а наверно это даже лучше) вообще воткнуть туда какой-то мини-компьютер. Написать к этому пристойный API тоже не проблема. Думаю проблема в том, что у кого-то эта задача уже решена, а остальные хотят быстро получить готовое решение. Ну а владельцы оного ломят за это совсем уж неприличный прайс.

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

Думал КАМАК это дела давно минувших дней

Могу фотографии работающих стоек прислать, если хочется увидеть это снова)

люди готовы за её решение платить, могли бы в этом смысле посотрудничать.

Написать к этому пристойный API тоже не проблема.

Ну а владельцы оного ломят за это совсем уж неприличный прайс.

На самом деле именно в поисках подробной документации камака и увидел ваш комментарий, да еще и свежий), отсюда и удивительно. Как раз идея реализовать переброс интерфейса через stm-ку и возникла, гууглил документацию. Решения вроде даже есть, но никто код не выкладывает(есть подробные статьи о переводе камака на USB, но без кода. Такой подход наводит на мысль что проще самому делать чуть подсматривая что у них было). Вендоры же оборудования под камак действительно неадекватно сильно завышают, получается сопоставимо как переходить на современные решения от NA или еще кого нить такого, легкопрограммируемого.


НЛО прилетело и опубликовало эту надпись здесь

Это все же не то.

НЛО прилетело и опубликовало эту надпись здесь

меня не пугает строчка кода, меня интересуют 2 вариации:
1) нормально описание работы ширы крейта , для дальнейшей ее эмуляции своими силами по средством stm или им подобным
2) почти готовое решение с указанием кода и устройств
на текущий момент удалось только 1 вариант найти

НЛО прилетело и опубликовало эту надпись здесь

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

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

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

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

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

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

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

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

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

Да нет, почему они все правильно пишут. Их блоки действительно подключаются друг к другу без каких то танцев с бубном и их приложение написанное в Qt для локального использования, либо веб приложение, которое можно запустить на одном из блоков, позволяет использовать этот конструктор сразу же. Тоесть для того, чтобы видеть к примеру температуру с термопары или как то крутить сервопривод, не нужно писать и строчки кода.
Чтобы использовать этот конструктор в своих каких то проектах, конечно придется как то общаться с этим конструктором. Для этого у них предосмотрен целый букет интерфейсов с превосходной документацией. Существует даже плагин для OpenHab, если есть желание использовать этот конструктор в "умном доме". Для других реализаций "умных домов" доступен mqtt интерфейс.
Другое дело, что если Вы хотите создавать какую то логику на самих блоках, и использовать эти блоки как то не стандартно, то придется программировать. Но весь цимес в том, что для этого они предоставляют все, чем сами обладают. Все свои исходники как софта так и харда. По этой причине, я купил у них только пару блоков в начале знакомства с ними, большую часть блоков я спаял сам.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

НЛО прилетело и опубликовало эту надпись здесь

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

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

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

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

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

У 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

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

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

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

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

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

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

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

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

... GND

... 3.3

... +5V

... ...

... +5V

... 3.3

... GND

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

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

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

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

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

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

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

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

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

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

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

Похоже на tibbo:

https://tibbo.com/tps.html

НЛО прилетело и опубликовало эту надпись здесь

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

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

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

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

НЛО прилетело и опубликовало эту надпись здесь

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

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

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

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

НЛО прилетело и опубликовало эту надпись здесь

А давайте рассмотрим ваше решение.

Интересно увидеть это со всеми подключенными клеммниками. И как эти модули фиксируются в гнездах USB (никак). И как под нагрузкой десятка подключенных к модулю проводов выламывается несчастное USB гнездо.

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

НЛО прилетело и опубликовало эту надпись здесь

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

НЛО прилетело и опубликовало эту надпись здесь

Вы часом предвыборные/рекламные тексты не пишите? Много текста, в процессе чтения забывашь о чем вообще идет речь, на конкретный вопрос ответа нет.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Тоже применяем WAGO когда клиенты настаивают. Обычно это клиенты, где персонал хочет потом сам поддерживать программу функционирования.
Ещё дополнительно просят обязательно делать на языке Ladder logic.
Никогда ничего не интегрируем с решениями WAGO. Там везде сплошной vendor lock и проприетарщина. Малейший сбой в коммуникациях и можно искать проблему вечность.

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

Последний писк в этой сфере стандарт 10BASE-T1S

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

НЛО прилетело и опубликовало эту надпись здесь

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

Жёсткость времени не показатель, поскольку действительно всё рано или поздно завершится и всегда можно придумать процесс, когда это завершение окажется вовремя.

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

НЛО прилетело и опубликовало эту надпись здесь

У абстракции есть конец, как есть конец у корня.

Абстракция на то и придумана чтобы был конец.

Все новое - это хорошо забытое старое. Подобная технология "стекирования" модулей путем "надевания" их на "материнку" UNO или MEGA используется в Arduino еще с 2000-х годов. Формфактор конечно побольше, контактов поменьше, но идея та же. Что еще раз говорит о том, что прогресс движется по спирали :)

Кстати, там используются специальные "проходные" коннекторы, вполне себе однорядные и достаточно технологично паяющиеся. Странно что автор их не знает. https://aliexpress.ru/item/32970464193.html И прочности у них достаточно, мне, например, ни одного пока сломать не удалось (гнутые ноги не в счет) .

А в целом, очень интересная и рабочая задумка, если бы ее еще и развить настолько же широко как Arduino - это действительно был бы конструктор нового поколения, и не только для embedded.

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

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

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

Просится модуль с ПЛИС без cpu ядер

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

Страница проекта на hackaday.io
Мой instagram
Мой telegram

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории