Игровой руль на Arduino с напечатанной механикой
Данная история взяла свое начало с прочтения статьи 'Классный игровой руль за копейки' http://3dtoday.ru/blogs/mell2010/a-cool-gaming-steering-wheel-for-peanuts/ нашего коллеги MELL2000. Имея такой же, руль загорелся я идеей тоже его переделать. Списался с MELL2000 и оказалось что модели утрачены в виду гибели жесткого диска. Ну думаю, ладно, смоделирую сам, хотя стоп, а может сделать полностью с нуля?
По принятию решения сделать руль собственной конструкции встали два основных вопроса:
- изготовление механики
- электронная составляющая
Методом научного гугления достаточно быстро нашел простую схему изготовления механической части, которая при наличии 3D-принтера упрощается до предела. А вот мозги для проекта с ходу найти не удалось. Изначально я понимал, что надо искать проект на Arduino, а точнее даже на Arduino Leonardo так как она определяется как HID устройство (вроде клавиатуры или мыши), пришлось прочитать несколько десятков страниц разных форумов пока я не нашел то что нужно. Проект MMJoy Виталия “mega_mozg” Найденцева. Это бесплатное ПО для не коммерческого использования. https://sites.google.com/site/mmjoyproject/ работает как раз на чипах компании ATMEL at90usb646, at90usb1286, atmega32u4 (в развязке 5 вольт питания и 16 МГц кварц) к которым как раз и относятся Arduino Leonardo и pro-micro. Поддерживается до 8 осей и до 128 кнопок. Не буду углубляться в возможности прошивки MMJoy, кому интересно тот сам все прочитает, скажу лишь что поддерживается куча всякой всячины. Единственный минус проекта – это скудная информация на его страничке. Вся информация раскрыта на страницах форумов и там мне пришлось провести не мало времени, прежде чем найти требуемые мне схемы подключения.
Прошу прощения за длинную преамбулу, далее постараюсь более кратко и по делу.
Что было приобретено:
- плата Arduino pro-micro 350 руб.
https://ru.aliexpress.com/item/ATmega32U4-5-16-ATmega328-Arduino-Pro-Mini-2/32834015299.html?spm=a2g0s.9042311.0.0.e1AuBP- Датчик Холла 5в 1150 руб. Вместо него можно использовать потенциометр на 10 кОм, но у него ограниченный срок службы и малая точность позиционирования. Или можно купить датчик Холла без корпуса и магнит, но я решил не заморачиваться и сделать максимально быстро пока есть запал.
https://ru.aliexpress.com/item/Full-Circle-No-Dead-Angle-12-Bit-Holzer-Angle-Sensor-0-360-Degree-0-5V-Output/32422949989.html?spm=a2g0s.9042311.0.0.e1AuBP- Б/У «спортивный» руль от Жигулей на Avito за 400 руб.
- Шпилька М12 х 1000, плюс куча болтиков, гаечек и шайб в общей сложности на 150-200 руб.
- 2 Подшипника с внутренним диаметром 12мм по 50 руб. за штуку
- 2 подшипника 626z 6 мм x 19 мм x 6 мм, были в загашнике, а так стоят рублей по 10.
- Б/У левый подрулевой переключатель от приоры на Avito за 200 руб.
Итого: имеющаяся на настоящий момент конфигурация обошлась мне в 2420 рублей, но повторюсь можно уложиться и в ощутимо меньшую сумму при использовании другого датчика.
Распечатанные детали:
- ступица крепления руля на шпильке. Дырка под гайку со стороны руля, смоделирована чуть меньшего размера и гайка вплавляется в нее намертво, чтобы было удобно накручивать руль вместе с прикрученной ступицей.- Крепление подшипника из 2 частей. Распечатаны с небольшим запасом, подшипники посажены на сантехнический герметик.- Пара шестерен смоделированы с помощью http://geargenerator.com и экспортированы в SVG формат. Передаточное число выбрано 2,5 к 1, то есть на 2,5 оборота руля будет совершаться один оборот датчика (из-за ограничителя получается чуть меньше 2,5). Вкладыш в ведомую шестерню для крепления ограничительного болта. Изначально я рассматривал другой вариант реализации ограничителя поворота, поэтому ограничитель печатался отдельно.- Крепление вала ведомой шестерни и датчика Холла.- Крепление подрулевого переключателя. Предварительно с корпуса переключателя были удалены защелки крепления ибо нам они не нужны.- Бампер для крепления pro-micro взят отсюда https://www.thingiverse.com/thing:1628980 -Муфта соединения оси ведомой шестерни и датчика.Крепление pro-micro и соединительная муфта напечатано из черного ABS от FD-plast, все остальные детали печатались белым PET-G от АБС Мейкер. Все детали распечатаны соплом 0,4 слоем от 0,1 (шестерни) до 0,3 (крепления подшипников) со 100% заполнением на скорости 65мм/сек, слайсер Simplify 3D.
Что получилосьК столу вся конструкция крепится обычными струбцинами через распечатанные подкладки.
Сборка механической части.
Во время изготовления фотографий я не делал, но тут в общем-то все открыто, все и так видно.
1. В качестве основы я взял обрезок 18мм мебельного щита размерами 11х22 см. Посередине него закрепил 2 крепления для подшипников.
2. Собрал и установил рулевую ось с ведущей шестерней на место.
3. Собрал приемную шестерню и датчик Холла на креплении, установил ограничители поворота. Ось крепления ведомой шестерни вращается на подшипниках и соединена с валом датчика муфтой.
4. Плотно прижал крепление приемной шестерни к шестерне рулевого вала, разметил отверстия, просверлил и закрепил.
5. Выставил ведомою шестерню в ноль (ограничитель поворота вверх) и прикрутил руль также выставив его ровно.
Сборка электронной части.
На данной схеме (взято с сайта MMJoy) показано какие ноги для каких целей могут использоваться.Датчик Холла подключается к 5в питания, земле и к любому из контактов обозначенных как AI (Axis Internal). В данном случае это вывод F4Кнопки подключаются матрицей через диоды. Для примера рассмотрим подключение 8 кнопок в двух вариантах для наглядности. В первом варианте 8 кнопок подключаем в 8 столбцов и 1 строку.Для подключения 8 кнопок мы использовали 9 контактов
Во втором варианте мы подключим те же 8 кнопок, но уже в 4 столбца и 2 строки.Здесь для подключения 8 кнопок мы использовали не 9, а всего 6 контактов.
Если подключить 4 оси для подключения руля и трех педалей, то у нас останется 14 контактов для подключения кнопочной матрицы, а это ТА-ДАМ 7х7 целых 49 кнопок. Но пока в моем проекте только руль и подрулевой переключатель с четырьмя «кнопками», поэтому подключаю его в 4 столбца и 1 строку.
Не буду останавливаться на прошивке pro-micro поскольку подробная инструкция есть на сайте проекта, а вот на настройке подключенных кнопок и датчика остановлюсь подробнее.
Настройка MMjoy
Запускаем MMJoySetup. В списке контроллеров выбираем MMJoy и считываем настройки из контроллера. Выбираем настройку осей. В качестве источника выбираем внутренний датчик, порт МК в моем случае будет F4 (см. по схеме подключения и маркировке MMJoy), так как это руль выбираем в качестве назначения ось X. Точность в битах выбираем эмпирически исходя из чувствительности датчика, в моем случае более 12 бит выставлять оказалось бессмысленно. Автокалибровку поставил сохранять с центром. Остальное не трогал.Далее идем на вкладку «настройка кнопок». Первым делом выбираем контакты к которым мы подключали нашу матрицу. Назначаем нашим кнопкам функции, которые они будут исполнять в нашем устройстве. Назначаем кнопки как, вы не поверите, КНОПКИ =) 1 и 2 - это поворотники, 4 у меня – это дальний (от себя), назначаем их как тумблеры. То есть при переключении тумблера в состояние ВКЛ, контроллер пошлет в компьютер кратковременное нажатие кнопки и аналогично при переключении в ВЫКЛ. Кнопка 3 у меня – это нажатие переключателя на себя, то есть «моргание» дальним, это обычная кнопка. В игре повесил на нее сигнал. После этих настроек жмем «Записать в контроллер».После этого переходим к настройке джойстика через Панель управления WINDOWS, калибруем как обычный джойстик и запускаем игру.
C этим рулем я уже намотал не один десяток тысяч виртуальных километров в Euro Truck Simulator 2, руль работает на отлично. Педали пока от старого руля, скоро их тоже переключу на MMjoy.
Если хватит душевного порыва хотелось бы все это дело окультурить и еще реализовать педальный блок на 3 педали и КПП 8+1 с переключателем демультипликатора и прочие плюшки, но а пока наслаждаюсь тем что уже есть.
Если кому-то будет интересно, модели выложу или скину на почту.
Всем спасибо за внимание, жмем палец вверх. На все вопросы с удовольствием отвечу в комментариях.
Еще больше интересных статей
Ремонт шины Дитерихса
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Создание реплик старинных медалей для Российского фонда культуры
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
3д принтер, как инструмент для создания инструментов.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Орка - упрощённый? Ну-ну... :)
ну кстати и в компасе и в соли...
Жуть то какая получилась. Не,....
Добрый вечер, господа!Какая-то...
Недавно заметил что при печати...
Какой принтер выбрать под печа...
Доброго дняВопрос по принтеру...