Top.Mail.Ru
Перейти к публикации

Рекомендованные сообщения

Всем доброго времени суток!
Уже достаточно давно я веду разработку программного обеспечения для контроллера игровых устройств, и поскольку я сам являюсь больше вирпилом, чем симрейсером, то блог разработки ведется на соответствующем форуме.
Сегодня в честь релиза новой версии ПО я решил поделиться своей разработкой с вами, так как с появлением поддержки энкодеров высокого разрешения (пока что только одного) этот проект может стать интересным и виртуальным пилотам колесной техники)
Думаю, многие из вас в курсе такого проекта, как OSH. Именно посмотрев на этот проект я решил создать FreeJoy, так как мне очень понравился дружелюбный интерфейс конфигуратора (поэтому интерфейс FreeJoy Configurator вам может показаться знакомым), но к сожалению у меня возникли проблемы с работой самого контроллера, и кроме этого он не имел многих функций, которые мне хотелось бы получить.

Итак, на данный момент краткая сводка по функционалу FreeJoy:

  • До 8 аналоговых осей
  • До 128 кнопок и тумблеров
  • До 4 хаток
  • До 16 инкрементальных энкодеров (из них 1 с высоким разрешением)
  • Функция преобразования положений осей в кнопки (до 12 кнопок на ось)
  • Поддержка сдвиговых регистров 74HC165 и CD4021 для увеличения количества подключаемых кнопок;
  • Поддержка цифровых датчиков Холла TLE5010/TLE5011, AS5600, MLX90393 (только интерфейс SPI);
  • Поддержка внешних АЦП ADS1115 и MCP3201/02/04/08;
  • 3 канала ШИМ для управления подсветкой;
  • 24 светодиода (одиночные или в матрице), привязываемые к состояниям кнопок;
  • Настройка имени устройства и других параметров USB;
  • Удобная утилита для конфигурации;
  • Обновление прошивки по USB;
  • Сохранение и загрузка конфигурации устройства из файла.

Кнопки и оси имеют весьма обширный выбор опций и настроек, более подробно со списком вы можете ознакомиться в wiki репозитории проекта.

Ну а кому стало интересно - вот ссылки на скачивание актуальной версии прошивки для контроллера и установочник конфигуратора:
Прошивка - https://github.com/FreeJoy-Team/FreeJoy/releases
Конфигуратор - https://github.com/FreeJoy-Team/FreeJoyConfigurator/releases

Ссылка на страницу проекта на github: https://github.com/FreeJoy-Team

  • Нравится 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Какая крутая штука, кажется придется делать себе штурвал... 

А в авиасимах на штурвале обязательно нужен фидбек?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 минуты назад, Buxou сказал:

Какая крутая штука, кажется придется делать себе штурвал... 

А в авиасимах на штурвале обязательно нужен фидбек?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, Magners сказал:

Нет, не обязательно, я бы сказал, что он бывает даже редко.

Так это еще проще сделать даже! Надо подумать, как сделать это без лазерной резки и не стереть руки пиля это напильником.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Magners Спасибо огромное !!! будем пробовать !!!

 

в архивах не нашёл файл .exe для запуска конфигуратора....

и ещё вопрос - а как обстоят дела с шумами потенциометров? Почему спрашиваю, потому , что на MMOS и что на OSH_Studio ведут себя неадекватно, уменьшить шумы можно ферритами, но этого мало... всё равно остаются шумы...

Изменено пользователем Basma4
не был внимателен

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня на grabcad пару проектов для летчиков есть. Но джойстик проще сделать с помощью чпу там просто 3 кусочка алюминия надо. Может как настроение будет спроектирую и этот софт попробую , а пока собрат так на mmjoy2.

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, ZERgyt сказал:

Но джойстик проще сделать с помощью чпу

Вращал я эти чпу, в две конторы написал, рассчитали мне педали.

В одной 10к, в другой 8к xD

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, Basma4 сказал:

в архивах не нашёл файл .exe для запуска конфигуратора....

Устанавливать через Install.bat

7 часов назад, Basma4 сказал:

и ещё вопрос - а как обстоят дела с шумами потенциометров? Почему спрашиваю, потому , что на MMOS и что на OSH_Studio ведут себя неадекватно, уменьшить шумы можно ферритами, но этого мало... всё равно остаются шумы...

Если будут шуметь, можно попробовать настроить Dynamic Deadband или Filter. В вики подробнее написано https://github.com/FreeJoy-Team/FreeJoyWiki/blob/master/rus/Настройка-осей.md

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
9 часов назад, Basma4 сказал:

как обстоят дела с шумами потенциометров?

На данный момент по моим измерениям внутренний АЦП выдает около 10бит эффективного разрешения, что очень хорошо для 12битного АЦП. Если применить фильтрацию, то можно поднять эффективное разрешение до 11 бит, пожертвовав временем отклика. До 3-го уровня фильтрации (из 7) время отклика почувствовать практически невозможно.

Вот тут можно примерно оценить шумы, но с тех пор качество измерения ещё немного подросло.

Изменено пользователем Magners
  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Magners Доброго времени суток, есть желание подключить кнопки(с фиксацией) со светодиодами, каков порядок подключения (схема) 
например для таких кнопок

кнопка.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, Basma4 сказал:

каков порядок подключения

У проекта есть достаточно подробное wiki, поддерживаемое сообществом.

Помимо прочего там описаны разные варианты подключения и настроек кнопок.

UPD. Что касается светодиодов, то обычно для них на кнопках есть просто отдельные выводы под питание, а земля общая с кнопкой. То есть надо подключить кнопку как обычную Button_GND, а питание светодиода к 3.3В или 5В. Но это может зависеть от конкретноц модель кнопки, нужно смотреть документацию (или хотя бы обозначения на корпусе).

Также светодиоды можно завязывать на состояния кнопок, но в этом случае это вряд ли актуально, так как кнопка сама зажигает/гасит светодиод

Изменено пользователем Magners
  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Magners ещё раз Огромное спасибо!!! надеюсь вы на этом не останавливаетесь?

те кнопки которые на фото - они с тремя положениями : 1-Off , 2-On(фикс) , 3-On(без фикс) , вроде так... они идеально подходят для симуляторов транспорта (зажигание+стартер)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Basma4 сказал:

@Magners ещё раз Огромное спасибо!!! надеюсь вы на этом не останавливаетесь?

те кнопки которые на фото - они с тремя положениями : 1-Off , 2-On(фикс) , 3-On(без фикс) , вроде так... они идеально подходят для симуляторов транспорта (зажигание+стартер)

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
11.06.2020 в 4:46 PM, Basma4 сказал:

и ещё вопрос - а как обстоят дела с шумами потенциометров?

Я лениво переполз с OSH на данную прошивку и на первый взгляд шумов стало значительно меньше (10 бит с фильтрацией 1 уровня). В этой прошивке более гибкие настройки. Можно и динамическую мертвую зону сделать, но для себя решил мириться с микрошумом, чем потерять контроль.

@Magners У вас в вики написано, что номинал потенциометра - 10 кОм. А что будет, если подключить 25 кОм, например?

Изменено пользователем Tumbler

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, Tumbler сказал:

У вас в вики написано, что номинал потенциометра - 10 кОм. А что будет, если подключить 25 кОм, например?

Потенциометр от 10к до 100к это норма, но чем больше общее сопротивление, тем больше шумит.

  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, Tumbler сказал:

Я лениво переполз с OSH на данную прошивку и на первый взгляд шумов стало значительно меньше (10 бит с фильтрацией 1 уровня). В этой прошивке более гибкие настройки. Можно и динамическую мертвую зону сделать, но для себя решил мириться с микрошумом, чем потерять контроль.

@Magners У вас в вики написано, что номинал потенциометра - 10 кОм. А что будет, если подключить 25 кОм, например?

С фильтрами можно особо не мелочиться, вплоть до 3го уровня их не почувствовать (1 и 2 уж точно). Вот тут снимали переходную характеристику (реакцию на моментальное изменение входа оси с 0% до 100%) для фильтров всех уровней. У меня где-то были собственные такие измерения (с аналогичными результатами), но что-то не могу найти.. С такой скоростью изменить сигнал на входе не позволит ни одна механика оси (если это не просто кнопка), поэтому на графике максимально возможные недостижимые в реальной жизни времена реакции оси на изменение входа.

По потенциометрам: с увеличением сопротивления увеличивается также подверженность тепловым шумам, но слишком малое тоже нельзя, чтобы не текли большие токи. Как сказано выше, оптимальный диапазон 10К-100К.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Tumbler  отрыл всё таки схему Logitech G25/27 , и увидел , что между потенциометров и самой микросхемы стоят керамические(SMD) конденсаторы номиналом 0,1мкф . Так что , будем ставить и на MMoS...

schematic G25.jpg

кондёры.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пример руля на этом контроллера. Ещё в процессе разработки, многое будет переделано, например четыре белых "крутилки". В сумме 88 кнопок, 12х4 с центральных галетников, 8х2 с боковых DIF IN и BB, 2х2 с двух энкодеров рядом с большим пальцем, остальные с тумблеров и обычных кнопок. С помощь шифтов можно увеличить до 128.

Скрытый текст

20200625_131154.thumb.jpg.5f83056cd7dbd8184d9ddea2dfa7ddc5.jpg

 

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
23.06.2020 в 2:04 PM, Tumbler сказал:

 но для себя решил мириться с микрошумом, чем потерять контроль.

всё таки переборол эти шумы вчистую!!! Сначала разобрал потенциометры и почистил(протёр c WD40), далее всё равно остались шумы(не так как было, скажем наполовину), потом добавил по вышеуказанной схеме конденсаторы (керамические, шумодав) и всё, всё вылечилось... так что, кондёры необходимы, так как их нет на платах STM32/Arduino ...

Изменено пользователем Basma4

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Magners  исправьте в прошивке подключения энкодеров!!! При оборотах в любую сторону , сигнал принимается лево-право, то есть  - я кручу на право, то сигнал приходит как будто две кнопки нажимаются по очереди , а не как надо.... пришлось из-за этого вернуться на Osh Studio.... 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо за вашу работу!
Использовал эту прошивку, при создании своей баранки.
20201108_201124.thumb.jpg.a6e504708f5c6e2bbceb6bf9111a48aa.jpgUntitled-1.thumb.jpg.666b3c4796a1b8f87d6ffd883b0f1126.jpg

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
19.11.2020 в 10:46 PM, Reksotiv сказал:

Попробуй последнюю версию v1.6.2b4  https://github.com/FreeJoy-Team/FreeJoy/releases

Все версии попробовал, на всех болячка одна и та же, скачивал до последней версии 1.7.0b3. Если не трудно, установите OSH и подключите энкодеры, и поймёте о чём я, на OSH энкодеры чётко отрабатывают каждое положение, направо значит направо, налево значит налево...Жаль, что на эту функцию мало внимание выделили...

P.S.: Думал что стмка может глючит, но на 4 платах(разные продавцы и разные ревизии) попробовал, и на всех одинаково....

Изменено пользователем Basma4

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Basma4 сказал:

на OSH энкодеры чётко отрабатывают каждое положение, направо значит направо, налево значит налево...Жаль, что на эту функцию мало внимание выделили...

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
21 час назад, lenynnn сказал:

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

Не спорю, если ты не видел как на OSH работают, тебя может и устраивает. И у меня тоже дешёвые китайские энкодеры. Но факт остаётся фактом! На счёт других функций у FreeJoy всё на высоте, назначений кнопок как надо и тд и тп .... надо будет для сравнения видео сделать, но смысла не вижу, так как автор темы похоже покинул этот форум...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

  • Похожие публикации

    • Автор: Krotoffv
      Доброго времени суток.
      Решил собрать DirectDrive Базу. Подключил всю электронику по схеме Caravangoes. База с энкодером работают, но педали и лепестки нет. Как оказалось, я не знаю, как их подключать. Еще на в момент изучения, я заметил, что для каждой педали и каждого лепестка указан только один контакт подключения. Я решил, что разберусь
      Педали от руля Momo racing. Они на потенциометрах. Там выходит 4 провода. Черный и красный(запараллелены) я подключал к 5V. Белый и зеленый к PB0 и PB1 соответственно. Видимо, не все так просто, как я думал
      Баранка от того же momo. Там выходил жгут 10 проводов. Я вызвонил общий провод у лепестков. Я был уверен, что переключатели лепестков работают, как концевые переключатели на 3д принтере(собирал несколько). Поэтому общий подключил к GND, а сигнальные провода лепестков к контактам PE4 и PE5. Решил, что проблемы, возможно, в развязке платы в самой баранке. Поэтому я нашел простой микропереключатель и попробовал подключить его по той же схеме. Он не заработал. После этого я понял, что мне нужна помощь в подключении
       
      Объясните пожалуйста, как в общем подключаются педали с потенциометром и лепестки к STM32.
      Если, кто-нибудь подключал конкретно такие же педали или баранку, прошу описать способ подключения
      Заранее спасибо
       
       
       


    • Автор: AspiringEnt
      Доброго времени суток, форумчане. Продолжая свое немного бомже-приключение по просторам сим-рейсинг комьюнити и не желая отдавать 60 долларов за игрушечный g-shifter, я решил совместить, что называется, приятное с полезным и собрать свой. На бумаге все просто и описано в видосе от amstudio. Была найдена 7-ми ступенчатая плита для данного девайса(не помню уже даже где, искал с месяц назад), в местных магазинах за гроши были найдены все необходимые металлические детали, usb плата была найдена у китайцев за 7 баксов с проводами, включая доставку. Доступ к 3Д принтеру есть, осталось только собрать? А вот тут хочу уточнить пару вещей.
      1) Из чего печатать? Из доступного PLA, PETG и NYLON, но NYLON дорогой, а я скупой. У этих материалов предел прочности в принципе одинаковый, в районе 7000+ psi, разница в поведении под нагрузкой. PETG довольно гибкий, что позволяет ему выдерживать большие продолжительные нагрузки, но не повлияет ли это отрицательно на конструкцию в целом? То есть не придется ли мне стабильно раз в пару месяцев перепечатывать плиту передач из-за того что она тупо деформируется?
      2) Возможно ли адаптировать данный агрегат под использование с Logitech G920? Найти распиновку коннектора DB9 на лоджитеках легко, но лоджитеки используют потенциометры в своем шифтере, а не кнопки как в этой DIY задумке, что накладывает сложности. Это на самом деле не критично практически во всех играх, так как для консолей я использую GIMX, а на ПК большинство игр поддерживают несколько устройств. Единственное где данная фича была бы реально полезна - FH4/FM7, так как там нет такой поддержки насколько я знаю.
      3) Есть ли в этом реальный смысл или лучше взять лоджитековский шифтер (есть бу за 40 бачей) и заменить в нем пружину на потуже? Руки просто больно уж чешутся свое сделать, но если оно окажется хуже чем шифтер лоджитеков, это будет фиаско)
      В остальном я готов самоделить, заранее спасибо за советы.
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...