Игровой руль на 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 с переключателем демультипликатора и прочие плюшки, но а пока наслаждаюсь тем что уже есть.
Если кому-то будет интересно, модели выложу или скину на почту.
Всем спасибо за внимание, жмем палец вверх. На все вопросы с удовольствием отвечу в комментариях.
Еще больше интересных статей
Лампа-крепеж для светодиодного прожектора
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Лабораторный (регулируемый) блок питания из компьютерного блока питания ATX для профанов в электронике.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Печать и покраска деталей для автомобилей
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
В этой теме я бы хотел немного отойти от 'домашн...






















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