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.

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


Ссылка на сообщение
Поделиться на других сайтах
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

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


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

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

    • Автор: Randaewoo
      Планирую сделать себе педали, задумываюсь о решении всунуть в них 3 тензодатчика такого типа:

      Педаль газа, сцепления (предварительно 5кг)
      Педаль тормоза (20кг)
      В комплекте идут усилители XFW-HX711:

      Собственно вопрос:
      Как мне это все законектить и вывести на разъем rj12 для подключения к базе руля на основе платы STM32F4VE с прошивкой MMOS FFB 2014.
      Буду благодарен за ответы и возможные корректировки, буду прислушиваться к советам по улучшению.
       
    • Автор: Beg
      Всем привет, решил я создать отдельную тему под свой проект, перед началом я бы хотел выразить благодарность за технические консультации следующим пользователям портала:
      @Caravangoes
      @DarkGracius
      ну что, погнали! :)
      в поисках б/у коллекторного мотора постоянного тока типа MY1020 ну и "подобных", совершенно случайно наткнулся на Болгарский двигатель PIK-12 3/10-1 в состоянии почти нового, и после консультаций с @DarkGracius и изучении его темы на подобном моторе https://forum.simracing.su/topic/3830-narodnyy-directdrive-na-motorah-postoyannogo-toka/
      был начат свой проект со своим видением прекрасного :)
      задняя крышка была просверлена для установки корпуса/держателя энкодера (omron 600 ppr)
      вал просверлен сверлом на 5мм, нарезана резьба м6, вкручена шпилька для соединения с муфтой энкодера, корпус/держатель энкодера напечатан на 3д принтере

      заменил штатные провода на мотор (использовал кабель КГхл 2х4мм)

      для крпеления мотора в гараже был найден "маленький" уголок 75х75х6 мм
      выпелен, просверлен и покрашен


       
      на вал мотора установлена 3д печатная быстросъемная муфта
      быстросъемная муфта представляет из себя разрезанное шлицевое соединение, сжимаемое зажимом-эксцентриком
      ну и для "+15 лошадей" мотор был обтянут пленкой под карбон

      на этот "настольная" часть была закончена
      от мотора идет жгут проводов (силовой кабель на мотор и экранированый кабель на энкодер) к блоку управления
      блок управления собран на МК STM32 и 2х BTS 7960

      //тут меня сейчас закидают какашками, но я не подключал скрутку VCC+R_EN+L_EN к +5В - это дало эффект, что когда FFB=0 руль "абсолютно висит в воздухе" и вращается свободно без сопротивления, если же подать постоянное питание на эту скрутку, то обмотки мотора закорачиваются Н-мостами и не дают ему так свободно вращаться - еще раз повторюсь разница есть когда отсутвует выходный сигнал FFB//
      корпус блока так же напечатан на 3д принтере
      ]

       
      мощный блок питания был куплен у товарищей майнеров
      тока у него конечно с запасом...




      он сильно шумел вентилятором, и на скорую руку было сделано колхозное решение для уменьшения шума вентилятора, путем уменьшения его напряжения с 12 до 4 Вольт
      (сильно не смеяться)
      ]
      над коробкой с STM32 и BTS установил вентилятор
      чтобы вентилятор не работал постоянно, между ребер BTS вставил термостат KSD9700 с включением на 50 градусах
      ну и эта коробка установлена верхом на блоке питания
      спереди на коробке "clipping led"
      сзади разъем RJ45 для подключения энкодера и USB шнурок для подключения к ПК
      следом за коробкой поставил розетку РС-102 для подключения кабеля на мотор

       



      ну вроде пока все... если что забыл - спрашивайте
      замеры максимального момента (софт лок) дали усилие 10кг на рычаге 81мм (8,1 НМ)
      графики степ теста c баранкой (китай 320мм) и без:
       

       
       
      /руль после выключения FFB не останавливается т.к. как я говорил выше - мосты отключатся и он болтается несколько раз между софт локами/
      график линейности усилия

      продолжение следует)
  • Сейчас на странице   0 пользователей

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

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