Помощь в реализации проекта — джойстики для спортивных эвентов.

Seregaw

✩✩✩✩✩✩✩
16 Сен 2024
5
0
Требуется исполнитель :
Ищу консультанта в реализации простого пректа. Удаленно.

Надо изготовить :
Я разрабатываю простое устройство для учета очков спортсменов на соревнованиях. Устройство представляет ссобой что-то наподобии геймпада с 4мя кнопками. Одновременно на ринге присутсвуют 4ре судьи и соответвено 4ре устройства. За основу я взял плату Arduino micro, т.к. при подключению к PC по USB она сразу идентифицируется как устройстов ввода, с прошивкой проблем нет, ее я уже написал. Основной вопрос состоит в следующем как корректно подключить/запитать все 4ре устройства к одному PC при условии что два из них находятся на растоянии 7м от USB Hub и еще 2 на растоянии 18 метров. Расстояния взяты по длине кабеля с запасом. При этом должен использоваться 1 кабель для подключения 1 устройства. (возможно подключение дальних устройст через ближние, т.к. они расположены «по дороге», встроив в ближние устройсва USB hub). В идеале хотелось бы подлючать и питать устройства через USB кабеля по 7м к устройству 1 и 2 и по 11 метров к устройству 3, 4 (устройства 3 — 4 подключаются к 1 и 2 соответвенно). Меня интерисует вопрос возможно ли исполизование USB кабеля таких длин, если да то какой тип кабеля нужно использовать, его характеристики, желательно с указанием конкретных с Алиэкспресс и т.п. Будут ли при этом устройства работать стабильно, достаточно ли будет подключить устройства 1-2 к USB хабу который дополнительно запитан. Если это возможно, то так же необходимо порекомендовать проверенны компонет USB хаба для встройки в устройство и все из этого выходящее. Если это не возможно, то предложить решение как подключить к PC и запитать одним кабелем. Возможно есть какие то USB – Ethernet энкодер/декодер компоненты которе можно сочетать с PoE и использовать для подключние Ethernet кабеля. Наглядную схему приложу.

Планируемый бюджет :
По договоренности с исполнителем, после сформирования финального объема работ.

Сроки
:
10 — 15 дней

Оплата :
карта, криптовалюта, электронные платежные системы

Для связи :
первоначально форум, потом месседжеры

Желаемая схема подлючения:
Screenshot 2024-09-15 204721.png
 

poty

★★★★★★✩
19 Фев 2020
3,237
942
Не являясь потенциальным исполнителем... А зачем соединять через USB? Если у пользователей только кнопка, то лучше передавать сигнал с неё. Для этого не требуется даже микроконтроллер.
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,974
633
45
которые легко можно использовать как USB удлинитель на 5 метров, USB удлинитель на 10 метров, USB удлинитель на 15 метров и так далее, вплоть до 50 метров! Он будет гарантированно работать с любыми устройствами.
@Zuker, Учитывая что по спецификации максимальная длина кабеля (до USB 2.0) 5 метров, то ни о какой "будет гарантированно работать" лучше не думать.
 

Mestniy96

✩✩✩✩✩✩✩
14 Дек 2019
14
3
Modbus rtu, если нужна проводная связь между контроллерами.

Но как было сказано выше - если у вас только кнопки - то сделайте одну ардуинку и разводите кнопки.
 
  • Лойс +1
Реакции: Oleg_G

Seregaw

✩✩✩✩✩✩✩
16 Сен 2024
5
0
Спасибо всем отозвавшимся. Я программист и не силен в электротехнике. Подскажите, если расматривать вариант поросто развебения кнопок, будут ли при этом какие либо требования к проводам в плане угасания сигнала и т.п. ? Подойдет ли для этих целей использование Ethernet кабеля (4ре кнопки на кабель в 7-11 метров). Будет ли при этом требоваться подключения к ардуину дополнительного питания или достаточно будет питания от USB?
 

poty

★★★★★★✩
19 Фев 2020
3,237
942
@Seregaw, любое проектирование предполагает либо действие по-русски (расчёт - проверка - реализация), либо по-американски (пробовать разные варианты до достижения результата - реализация). Но предварительно:
  • по проводам будет протекать небольшой ток, соответственно "угасание сигнала" не актуально;
  • Ethernet-кабель - это 4 витых пары, предполагается их оттуда извлечь? Если да, то в целом может сработать. Если нет - слишком жирно.
  • питания от USB будет достаточно, если на самой Ардуино не предполагается подключать ничего сильнопотребляющего.
 

poty

★★★★★★✩
19 Фев 2020
3,237
942
@Seregaw, не знаю, что Вы реально хотите получить, но 15 метров Ethernet-кабеля - это довольно немобильно. К тому же Ethernet-разъёмы для DIY - не очень распространены, неудобны и велики.
 

Zuker

★✩✩✩✩✩✩
10 Янв 2024
56
12
@Seregaw, если утипихи в загашниках много, че ее жалеть. Только коннекторы для чего? Разводите нужные жилы на кнопки, если ваша схема позволяет их разнести. https://alexgyver.ru/lessons/arduino-buttons/

Соберите кнопку "на коленке" с запасом ~15м и посмотрите результат.
Судя по вашей схеме, от ардуинки в две стороны должны разбегаться две утипихи (ветка D1-D3, ветка D2-D4) и на каждой D-точке используется две жилы для кнопки (с удобной разводкой коннектор-розетка)? Или у вас нет возможности заложить новый кабель и вы хотите использовать готовые трассы (usb-хабы, коммутаторы)

Про вифи думали? Модуль "Wemos D1 Mini" + Wifi роутер. Поднимаете сайт, а клиенты подключаются по IP со смартфонов. Или прям хочется физики.
 

Seregaw

✩✩✩✩✩✩✩
16 Сен 2024
5
0
Расматриваю исключительно проводной вариант, для гарантированой стабильности работы и уменьшения мороки с настройкой, все устройства будут светится в PC как 1 джойстик с 20ю кнопками, с джойстиком уже будет работать софт для учета очков.
 

bort707

★★★★★★✩
21 Сен 2020
3,064
912
коннекторы для чего?
Ровно для того же, для чего используются коннекторы на обычном эзернете.
Для удобного подключения и универсальности в плане кабеля. Надо - 5м - подключил короткий кабель, надо 30м - длинный
 

Zuker

★✩✩✩✩✩✩
10 Янв 2024
56
12
@bort707, не спорю, но и впервые вижу, чтобы разводили все на RJ-45 (8P8C) + розетки + обжимка. Жирновато будет. Обычно у всех всё на клемниках\контактных колодках. Патчкорды 10м+ в основном не покупают, а режут\обжимают сами. Хотя, топикстартер айтишник, у них такого навалом.

@Seregaw,
...
Возможно есть какие то USB – Ethernet энкодер/декодер компоненты которе можно сочетать с PoE и использовать для подключние Ethernet кабеля. Наглядную схему приложу.
...
Если у вас ардуинка автономная, т.е. без взаимодействия c софтом ПК, можно запитаться как отдельным блоком питания, так и PoE-сплиттером 12v при наличии PoE-коммутатора.

Ну и бреда для: c Ethernet-модулем (не проверял) можно было бы гнать данные по сетке и питаться от PoE до 100м (есть коммутаторы с PoE 150м).
 
Изменено:

Seregaw

✩✩✩✩✩✩✩
16 Сен 2024
5
0
RJ-45 потому что это удобно, распространено и при перебивки кабеля можно в срочном порядке купить/дообжать. Речь тут идет не об одном экземпляре, а о решении которое может использоваться в разных точках мира и люди использующие решение должны быть способны решить тривиальную задачу, в виде поврежденного кабеля, быстро и без вмешательства производителя. Поэтому избыточность тут это больше + нежели -. По той же причине хочется сделать устройство максимально простым, без радио модулей, преобразователей, гоняний по сетке и т.п. Чем проще устройство, тем меньше его компонентов может выйти из строя.
По поводу питания, устройство будет подключено по USB к PC т.к. ему необходимо транслировать нажатия кнопок в софт. А вот достаточно ли будет запитаться от USB тесты покажут.
 

rkit

★★★✩✩✩✩
5 Фев 2021
508
127
@Seregaw, а можно поинтересоваться, что именно "удобно" в использовании в разборных системах кабелей, предназначенных для статической прокладки, и требующих специализированного оборудования для работы? И с каких пор ломкие кабели и разъемы rj45 стали более надежными чем радио?
 
Изменено:

DakonS

✩✩✩✩✩✩✩
2 Фев 2023
34
5
Рекомендовал бы рассмотреть беспроводные протоколы. К примеру рассмотрите ESPnow. Очень быстрый и удобный протокол, который работает на просто гигантских расстояниях. Сделайте один хаб, для приёма данных от джойстиков и от него уже по USB передавайте на пк.

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

Вообще очень похоже на татами даже, вы не для судейства в карате это делаете случаем?)))

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

Либо также можно использовать какое-либо радио, блютуз и прочие протоколы. Даже UDP передачу на локальный сервер можете рассмотреть.

USB не любит расстояний, как не крути(вы бы ещё по i2c решились(шутка)). Банально вас могут даже замучить наводки(помимо падения сигнала на расстоянии), т.к. длинный кабель станет просто антенной. Конечно, можно его экранировать - но это будет дороже решение. Проще, да и дешевле купить 5 еспшек.

Но выбор, конечно же за вами. Если что напишите мне в тг: https://t.me/DmitryS4444 . Здесь не часто бываю)
 
Изменено:

Oleg_G

✩✩✩✩✩✩✩
8 Авг 2024
7
3
@Seregaw, что касается питания, то тут проблем не будет. Единственное, что я бы сделал - поставил дополнительные блокирующие конденсаторы по питанию ёмкостью 0,1мкФ на конце линии питания, т.е.прямо на платах Ардуино. Всё таки провода длинные и хотелось бы избавиться от импульсных наводок. Примерно тоже самое следует сделать и с кнопками, в случае если архитектура будет выглядеть, как одна плата и 4 кнопки. На портах, где будут подключены кнопки следует установить, между выводом порта и общим проводом, конденсатор 0,01 мкФ или меньше, вплоть до 2200 пФ. Надо пробовать. Чем меньше, тем лучше, но при малой ёмкости возможны ложные срабатывания при длинной импульсной помехе/наводке. Следует также уменьшить входное сопротивление порта. Для этого между выводом порта и землей поставить резистор 1-2 кОм. А между плюсом питания и выводом порта поставить резистор 330-510 Ом. Это будет резистор подтяжки. Соответственно внутреннюю подтяжку надо отключить, хотя в данном случае её влияние будет минимально, но лучше пусть его не будет вовсе. При таком включении имеем лишние 3-5 мА потребления на каждый порт. Но при питании от USB-порта компьютера это не существенно.
При архитектуре: 4 ардуино с подключением к PC стоит использовать не USB протокол, а виртуальный com-порт (с четырьмя кнопками и одной ардуино также лучше использовать com-порт). Установить маленькую скорость обмена, например 4800 бод/сек или даже 2400 (тут надо пробовать). При такой скорости обмена наводки будут оказывать минимальное влияние. Рекомендации с конденсатором по питанию те же. Конечно на PC будем иметь 4 виртуальных com-порта (даже если будем подключать через USB-hub). Надо установить драйвер. Ну и софт должен понимать такую конфигурацию.
Если всё же использовать именно USB-протокол, то конденсатор по питанию, так же ставить надо. Но при таких длинных проводах возможны сбои при обмене. Уменьшить вероятность влияния EMI можно пропустив конец провода через ферритовое или железное кольцо с большой магнитной проницаемостью и сделав 2-3 витка (чем больше, тем лучше). Причём желательно сделать это с обоих концов провода. Кольца можно взять от любого импульсного блока питания. Это проверенный метод. Но первые две архитектуры, на мой взгляд лучше.
 

Вложения

Seregaw

✩✩✩✩✩✩✩
16 Сен 2024
5
0
@Oleg_G,

Спасибо большое, за детальное разъяснение каждого из вариантов, буду думать / пробовать. Второй вариант сразу не подойдет, т.к. одно из требований к разрабоке, отсуствие лишних драйверов и софта. По задумке при подключении по USB, девайс должен определятся как стандартное HID устройстово ввода, тип -Joystick. Почему я и обратил внимание на ATmega32U4 который из коробки это способен делать.
 

zadan

✩✩✩✩✩✩✩
29 Мар 2020
1
0
Кабель подойдет и от телефона: плоский кабель НИКОМАКС 2026A-WT/ У него 4 жилы. Мы подобный на аналогичном приборе, для судейства применяли. Тоже на Ардуинке сделали Хабб, кнопки подтяжкой к земле+конденсатор. Провод под ковром прячем, всех вполне устраивает. Скорость нажатия на кнопку смехотворный, все работает без особых претензий. Но тут вопрос с числом кнопок на пульте? У нас одна ардуинка. сам пульт - большая настенная коробка для телефонного кабеля. В нее впихнули потроха кнопок.
 

Michail174

✩✩✩✩✩✩✩
12 Дек 2019
3
1
Использовать esp с espnow, один master другие slave, впихнуть 18650 и забыть про провода.