Пользователь
0,0
рейтинг
19 апреля 2014 в 08:32

Строим motion simulator из палок и синей изоленты из песочницы



Обычно первый комментарий к статье про какую-то неведомую технологию выглядит так: «Вы бы перед тем как углубляться сначала рассказали что это и зачем нужно». Итак, сия чуднАя периферия призвана при игре в автомобильные симуляторы имитировать воздействие перегрузок на игрока. В данном случае это обеспечивается наклоном кресла по двум осям, следовательно получился симулятор движения с двумя степенями свободы.

Наглядная демонстрация:



Кусочек истории

Несколько лет назад увидел в Интернетах этот ролик. Захотелось построить что-то похожее. Рассудив, что такую конструкцию я не осилю, решил сделать просто качающееся кресло. Погуглил, оказалось Америку я не открыл и такие устройства бывают. Девайс, описанный в топике реализован по схеме racingseat, когда кресло закреплено на карданной передаче или её функциональном аналоге. Это уже вторая попытка реализации. Первой была схема joyrider, при которой кресло вращается на двух перпендикулярных осях в идеале пересекающихся в центре масс платформы. Также я исходил из того, что денег нет. Поэтому между хорошим, дешевым, плохим и дорогим пришлось выбирать хорошее и дешевое.

Комплектующие

Двигатель. Изучая тематические ресурсы на предмет выбора, так и не смог найти четкий ответ какой мощности двигатель нужен. В предыдущей версии я использовал двигатель от аккумуляторного шуруповерта, результат был не очень. Обычно для таких целей используют мотор-редукторы для стеклоочистителей автомобилей. Рекомендуют использовать узлы от автомобилей с большими лобовыми окнами (большие легковушки, автобусы, грузовые автомобили), поскольку электромоторы там мощнее. И даже несмотря на это симоводы обычно жалуются на малую мощность. Оценив бюджет я решил забить на рекомендации, смириться с малой мощностью и сделать дешево и сердито — прикупил два мотор-редуктора от Ланоса по $20 каждый. Двигатель маркирован как 30Ваттный. Я полагал пластиковая ведомая шестерня редуктора проживет недолго. К счастью я ошибся, спустя пол года использования не появилось даже люфта. Могу сказать, что по ощущениям мощности этих двигателей вполне достаточно. При желании можно поднять напряжение питания и получить еще немного динамики.

Карданная передача использована от карданного вала ВАЗ-2101. ~$20
Блок питания 12В 350Вт заказан в Китае, поскольку в ATX'овом блоке питания чуть меньшей мощности срабатывала защита даже при работе одного двигателя. Думаю эту защиту при желании можно легко отключить, но не стал заморачиваться. Китайский же тянет оба двигателя не напрягаясь. ~$30
Шарниры ball joint – шарниры, передающие усилие мотор-редукторов на кресло. Не знаю как этот шарнир называется по-русски. Возможно шаровой шарнир. Первая мысль была использовать рулевые наконечники от автомобиля. Купил, попробовал — оказались слишком тугие и громоздкие. Затем решил сколхозить самодельные — оказались слишком большими зазоры. В результате заказал в том же Китае по $3 за штуку. Забавно, что когда я пытался найти такие шарниры в оффлайн, в конторе, специализирующейся на продаже подшипников, надо мной малость посмеялись и сказали что такое найти невозможно.
Пара автоматических выключателей для защиты от КЗ.
Автомобильное кресло с неизвестной родословной, и совершенно точно нелегкой судьбой.
Метизы, железо, провода, всякие мелочи вроде вениляторов, ХЗ сколько.
Игровой контроллер aka Logitech G25, компьютер, монитор и остальное уже было в наличии.
Несколко фотографий для понимания механической части. Крепление карданного шарнира и двигателей с упомянутыми выше ball joint. Заодно можете посмеяться над над моими скилами сварщика и маляра:





Электроника.

Был бы я поумнее, купил или скопировал китайские драйвера двигателей и подключил бы к Arduino, благо реализации есть в открытом доступе. Но нет, я надумал пойти своим путем. И чтобы в пути было не скучно, я решил во время похода потащить на своей спине свежеизобретенный велосипед с квадратными колесами. Да, я забубенил свои драйвера и контроллер с прошивкой. Причем драйверов я сделал, наверное, больше десятка версий, а количество сгоревших полевиков впору измерять на вес. Итак, смертельный номер, не рекомендуемые к повторению схемы:
контроллера

драйвера двигателя

Некоторые места в схемах были исправлены уже на текстолите, так что не рекомендую повторять. Рисуем платы, расчехляем лазерный утюг, тапок для съемки. Получаем следующее:



И упаковываем все в элегантный корпус:


Само собой не обошлось без косяков и в некоторых местах плату пришлось исправлять.

Необходимая для работы информация (задание положения двигателя) передается через переходник USB-Serial TTL на микросхеме cp2102 в контроллер. Контроллер реализован на МК atmega88 с минимальной обвязкой. Для удобства добавлен четырехразрядный семисегментный индикатор. Контроллер по сигналу обратной связи, датчиком которой выступает переменный резистор на оси мотор-редуктора, определяет фактическое положение двигателя и при необходимости вносит в него коррективы. В контроллере реализован пропорциональный регулятор. Прошивкой скорее всего не поделюсь, т. к. не люблю бэкапы. В драйверах двигателей реализован H-мост. Контроллер имеет возможность открыть любой из транзисторов моста, что в данном случае избыточно. Из-за этого пришлось городить логическую защиту от КЗ. Достаточно было бы передать из контроллера в драйвер сигналы направления и разрешения.

Рисуем остальные части совы Как то так все это выглядит если собрать вместе:





Софт для компьютера.

Для меня было откровением, что многие игры реализуют вывод телеметрии. Раньше я думал, что получить данные о физической модели игры можно только с помощью черной магии и метода научного тыка в память процесса. Оказывается нет, часто разработчики игр заморачиваются над выводом соответствующих данных через сокет. Отличное место чтобы изобрести еще один велосипед, а то я уже почти оправился от предыдущего. Но тут что-то пошлО не так и я решил посмотреть готовые варианты. А их есть как минимум два бесплатных:
X-Sim напичкана массой свистелок вроде возможности прикручивания плагинов, перехватывания состояния джойстиков, но сложна для старта. Список поддерживаемых игр.
SimTools относительно новая программа, значительно проще первой, но обладает меньшим функционалом. Для старта самое оно. Список поддерживаемых игр.
Обе программы допускают вывод необходимой информации через последовательный порт (в данном случае виртуальный). Поддерживаются практически все более-менее известные преимущественно автомобильные, но есть также и авиационные симуляторы.

Думаю в комплект к этому девайсу неплохо бы поиметь Oculus Rift. Только вероятно понадобится вторая версия, поскольку у первой гироскопы с ума сойдут.

Хочу извиниться перед теми, кто просмотрел все картинки, но так и не увидел синюю изоленту, и перед читателями, кто сюда дочитал, за пост вида КакНарисоватьСову.jpg. Изначально он не планировался, поэтому не вся информация о процессе изготовления сохранилась. Но по крайней мере статья расскажет о подобных устройствах тем, кто не задумывался об их существовании. Еще несколько видео с этой железкой есть в этом плейлисте.
Александр @heaver
карма
42,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (77)

  • +14
    А почему монитор сделали неподвижным?
    • +12
      Да тяжелый он. Если 22', то еще ничего, а если 40' телевизор, да еще на таком расстоянии от центра вращения.
  • 0
    Классно! У меня есть полноценный тренажер для обучения вождения, но он советский и вся электроника уже поломана/выломана. Изначально задумывал Arduino+свой софт для обучения вождению (контроль правильности действия ученика), но так оно и осталось задумкой.

    А вот с подвижной платформой и готовыми симуляторами гонок — очень даже перспективный вариант!
  • 0
    А какой предельный вес клиента?
    • 0
      На счет предельного не знаю. В ролике 83кг. Я старался сделать так, чтобы центр масс находился над шарниром. Кроме того, пружины (частично) компенсируют смешение центра при наклонах. Так что предположу, что предельный вес ограничен прочностью конструкции. А пока не сломается работать будет, но с меньшим ускорением из-за возросшей инерции.
      • –13
        Не пробовали это кресло с женой вместе для другиз игр? ;D
        • +10
          Нет, не пробовал как минимум из-за отсутствия таковой.
          Спасибо за инвайт.
          • +30
            Это многое объясняет :)
            • +9
              Сказал товарищ, который устроил дома хим.лабораторию :)
              • +3
                О_о Кто? Я? ты наверное меня с кем то путаешь. У меня из лабораторного оборудования только паяльник на столе, да осциллограф. Ну еще батл хлорного железа да ацетон. Но могут же у меня быть маленькие слабости.
                • +2
                  Ой, точно, спутал. Извиняюсь. А вытяжка над паяльником есть?
                  • +3
                    Неа :(
                    • +8
                      Ах, плавящаяся канифоль… Запах детства…
                      • +5
                        Ладан для электронщиковой души.
                      • +1
                        Я с детства ФТСом паял :)
  • 0
    Какой вес седока тестировался? Как личные ощущения? :)
    • 0
      Мой вес (ролик из поста) 83кг. Ощущение что в плане ускорения вполне достаточно, но амплитуды можно и добавить. В целом это можно сделать изменив точки крепления тяг, но лень.
  • +18
    На что только люди не идут, чтобы машину не покупать :)
    • +5
      зато без пробок :)
      • +1
        в некоторых симуляторах и в пробке постоять можно…
    • +1
      Не только же автомобили. В Японии довелось покататься на симуляторе паровоза (именно паровоза, который с паром и краниками), такая большая кабина на гидравлике. До настоящего паровоза даже хардкорного рейлфана вот не пустят. Ну и если автомобили, не всем дадут болид Формулы или грузовик из Euro Truck, не говоря уже о машинках из Wipeout, которых и в реальности и нет.
    • +3
      Одно другому не мешает. Тошнить в пробках на семейном седане и лететь вдоль обрыва на раллийной машине это две большие разницы.
    • +1
      На что только не идут люди, чтобы купить новый фонарик!
  • +1
    Хотелось услышать комментарий человека сравнившего вариант из магазина и вариант автора.
    Хотя все же глядя на оба ценника, думаю выбор в пользу автора очевиден!
  • +8
    Чувак, ты мой бог.
    Уже несколько лет мечтаю собрать подобное кресло. Но не мог придумать ничего кроме пневмо системы, а она весьма не дешевая. Даже рассчет лежит по элементный вместе со стоимостью… Как увидел я этот рассчет — понял что в ближайшее время эту игрушку сделать себе не смогу… И тут такая замечательная статья!
    • +2
      Я думаю пневмо — не лучший вариант. Мне кажется пневмо не позволит передавать вибрации. Я бы хотел собрать гидро платформу Стюарта. Но это было бы далеко не бюджетно.
      • 0
        Можно подробнее про гидравлику?
        • 0
          Подробно мне рассказать нечего. Это задумка. В подобном устройстве получается множество ударных нагрузок, гидравлика и пневматика по-идее переживает это намного легче механики. Также у механики больше инерция, больше пиковые токи. В гидравлику можно поставить гидроаккумулятор и получить легкое, быстрое и, возможно, в результате даже более дешевое устройство. Как по мне — должны хорошо имитироваться большИе ускорения, вибрации. Отчасти это свойственно и пневматике, но воздух упругий, ИМХО будет хуже. И я постремался бы держать в закрытом помещении баллон со сжатым воздухом.
          • 0
            Зачем балон? Ресивер и компрессор.
            Ничто не мешает купить ресивер под заведомо большее давление.
            Плюс пневмы перед гидравликой в динамике.
            Гидравлика при прочих равных реагирует на доли секунды медленней.

            Ну и лучше если при проблемах в системе будет в комнату воздух попадать, а не масло. :)

            Гидравлика и пневма примерно одного порядка цены имеют. Для того чтобы сравнимую с твоей систему построить придется потратить не менее 2000$. И это в самом убогом варианте.
            • 0
              Ну так я ресивер и имею в виду.

              Я думаю лучше пол в масле, чем вылетевшие окна и барабанные перепонки. Но это моя личная фобия, я не навязываю.
              Я согласен с тем, что пневматика может дать бОльшую скорость и, возможно, меньше лаг, но не думаю, что даст бОльшее ускорение.

              Я не имею в виду такую систему я про платформу Стюарта.
              • 0
                Лично я ещё ни разу не видел лопнувшего воздушного ресивера. Кроме того, компрессор с ресивером можно вынести на балкон или в чулан. А вот масло в гидросистеме имеет свойство нагреваться. А струя горячего масла весьма небезобидна.
          • 0
            И во сколько примерно обойдётся строительство платформы Стюарта с гидравликой?
            • 0
              Точно не скажу. Я как-то именно для этого использования интересовался ценой на гидроцилиндры. Нужен минимального сечения с ходом не менее 50см. Мне сказали $300 за штуку. Их нужно 6. Гидростанция готовая около $1000. Гидрораспределитель с электроприводом ХЗ сколько, магистрали, электроника, рама. Если собирать из готового, наверное возможно можно влезть в $5000. Понятно по каждому пункту можно сколхозить. Возможно до $2000.
  • +2
    Вот уж не подумал бы, что в Dirt 2 есть вывод телеметрии. Хотя, думаю, это как-то связано с тем, что серию Dirt довольно трудно назвать автосимом, как и NFS Shift :) ИМХО это все конечно, но хотелось бы узнать, как сие устройство поведет себя с iRacing / Rfactor / LFS / RBR / WRX / F1 201x / Project C.A.R.S. / Assetto Corsa.
    • +2
      При желании из любой игры достаточно просто вытаскивается телеметрия.
      К примеру вот тут демонстрация работы плагина для RBR:
      www.youtube.com/watch?v=PDYnrRwId2g
      Реализация заняля у меня примерно пол дня.
      Если уж потратил силы чтобы сделать кресло — потратить пару дней на написание плагинов для любимых игр — не проблема.

      P.S. То что виртуальне кресло на видео дергается — это косяк кодека, а не плагина. Вот запись кресла, никаких дерганий:
      www.youtube.com/watch?v=Pc5TwCAvmqM
    • 0
      Список есть на сайтах соответствующих прог. Все «годные» автосимы поддерживаются. В моем плейлисте на Ютубе есть LFS, по ощущениям он те такой «нервный» как DIRT. RBR и rFactor с полпинка не взлетели, хотя должны поддерживаться, но я сильно не копал, скорее я неправильно прописал конфиги.
      У меня есть подозрение, что автосимный движок Кодмастерс использует одинаковый вывод телеметрии, так что F1, GRID и остальное их производства должно поддерживаться (почти) автоматически.
    • 0
      Добавил в пост ссылки на списки поддерживаемых игр.
  • +1
    А я вчера задумался сделать подобное для авиасимулятора.
    Чтобы ещё бочку делать можно было, т.е. кабина вращалась
  • +5
    Выглядит, как симулятор Оки :)
    А вообще респект за конструкцию, конечно.
  • 0
    не пристегнулся? в случае аварии надо креслом об стену.
    Круто получилось!
    • +8
      Поставить спортивное кресло с ремнями это одно из важных направлений модернизации. Ездун все время пытается скомпенсировать движения пятой точки корпусом. В результате голова на месте, а вестибулярный аппарат в ней. Эффект теряется. Надежная фиксация тела хоть той же синей изолентой должна решить проблему.
      • 0
        ну так там, где взяли кресло, надо было и ремень взять. Сделать для него стойку с одной стороны — и пожалуйста, 3-точечный уже есть :)
        • +1
          Кресло (2 шт) было где то взято папашей, поставлено на один ВАЗ, снято, поставлено, на другой ВАЗ, снято. В перерывах валялось в гаражах и подвалах, одно по дороге потерялось. Какой ремень, о чем Вы!?
          Вообще я затарился полиэфирной смолой и стекломатом, хочу сам вылепить спортивное. Опять решил изобрести велосипед. Так и живем. ;(
          • 0
            Похоже, что все фото — постановочные. Я не увидел ни одних граблей вокруг стенда :))

            Кстати, «ball joint» — по-русски это шаровая опора. В принципе, можно и на неё подвижную часть установить, а не на кардан — но это будет несколько геморройнее :)

            Вообще, я почитал и не то, чтобы загорелся, но возникло некоторое желание повторить опыт. Пусть и не через такие тернии — притащить с авторазборки сразу и кресло получше с ремнём, и мотор-редукторы помощнее и подушку безопасности :)))). Это всё вполне доступно.
            • +1
              Это уже третье помещение, где находится девайс. В основном все грабли были потоптаны в предыдущих двух.
              Шаровая опора опора будет допускать поворот вокруг вертикальной оси — этого быть не должно, придется ставить дополнительную тягу для фиксации.
              • 0
                а софт умеет выдавать на поворот вокруг оси усилие?
                • 0
                  Умеет. Внутри X-Sim нечто вроде визуального языка программирования. На вход «скрипту» можно подать любой параметр, который софтина достала из игры, обработать эти сигналы и вывести результат наружу через сокет, последовательный порт, какой-то свой протокол или плагин. Т.е. нужно суметь составить необходимый скрипт и можно управлять чем угодно. Народ использует эту прогу просто чтобы управлять индикаторами на самопальной приборной панели или включать buttkicker. Также можно написать плагин на своем любимом ЯП, оформить как dll для использования внутри «скрипта», но это я не испытывал.
                  В SimTools возможности гораздо скромнее.
                  • 0
                    тогда поворот вокруг той оси вполне можно использовать для передачи поворотного ускорения.
                    • 0
                      Можно, кто же спорит. Но каждая степень свободы усложняет конструкцию. В идеале из должно быть 6, а не 2 как у меня.
  • 0
    del
  • +1
    Интересует бюджет, список материалов, для оценки примерной стоимости по местным ценам. Удобно ли, что руль так близко?
    • +2
      Если посмотреть по зомбоящику на реальные раллийные машины, то можно увидеть, что руль действительно ставят близко к пилоту. Не то, чтобы я считал себя раллистом, в реальной машине у меня руль стоИт по-человечески, но когда нужно крутить быстро это вполне удобно. Вообще в железке есть возможность отодвинуться от руля: от изменения наклона спинки до возможности переставить столик или всю раму столика.
    • +2
      Да, про бюджет.
      Если нужно повторить, бюджет по материалам и деталям для самопальной электроники в районе $200-$300. Если разрабатывать сначала, сложно сказать: смотря сколько неудачных попыток и сколько сгорит. В моем случае возможно $600. Остальное — стоимость вашего времени.
  • 0
    Про Oculus Rift очень верно. Пока симуляторы — самые лучшие в плане трансформации под формат игры. И проблема со статичным монитором исчезнет.
  • +1
    Так ведь мало же одного монитора. Обзора нет. Не планируете еще поставить?
    image

    А что за симулятор?
    • 0
      Три монитора не планирую. Как уже написал, хотел бы поюзать на нем очки виртуальной реальности.
      Вопрос не понял. На картинке или у меня? У меня железо самодельное, софт какой поставишь.
  • 0
    Надо бы симулятор танка прикрутить :)
    Руля нет, зато будут рычаги :)
  • +7
    Сам работаю с Force Dynamics 401 — штука замечательная, в действии можно увидеть тут: -YouTube-
    Виглядит так:
    image

    Используатся для промо целей, рекламы магазина електроники. На 100% перегрузки очень большие, был случай что при столкновении со стеной на ~200км/ч отключило :)
    В обычном режиме работает гдето на 25-50% ибо детям большего и не надо. Все бы хорошо — если бы не цена :)
    • +3
      Глядя на конструкцию, есть ощущение, что стоит она подороже некоторых автомобилей…
      • 0
        Так и есть.
        Причем она стоит подороже некоторых новых автомобилей.
        • +3
          Насколько мне известно — магазину оно обошлось в 120тыс. $ :)
          Себя он конечно-же не окупит, но имя магазину делает довольно таки неплохо :)
          Возим по выставкам, сдаём в аренду… В свободное время крутится в магазине :)
    • 0
      ХОЧУ!
  • 0
    Смотрел ролик и все ждал, когда же машинка в игре перевернется…
  • 0
    Знаю хороших людей из компании «Геймстул» — они такие вещи из хобби в бизнес превратили.
  • 0
    Солидная работа, респект!
    Расскажите чуть подробнее про силовую часть и H-мост. Почему палили полевые транзисторы? Устраивали КЗ и не создавали dead time? Как понимаю в схематике P канальные полевики, слишком низкий resolution у схемы. Там же должен быть отдельный источник питания для верхней части моста!?
    • 0
      У IRF9630 достаточно солидное сопротивление в открытом состоянии. При вашем питающем напряжении не пробовали поставить другие транзисторы с меньшим напряжением и меньшим сопротивлением?
      • +1
        В схеме не те транзисторы что в реале — для рисования схемы подобрал с подходящим корпусом. В реале если склероз мне не изменяет. irf1010 и ir4905.
        По поводу сжигания не уверен, у меня нет осциллографа, но подозреваю, что основная проблема была — выброс индуцированного напряжения с двигателя при торможении. А поскольку напряжение для управления затворами бралось из того же источника, что и питание двигателя, этим выбросом сжигало полевики. Защитные диоды то ли не успевали срабатывать, то ли рассчитаны на большее напряжение чем затвор. Сейчас напряжение для управления полевиками формируется двумя dc-dc, на общем виде коробки с электроникой их можно рассмотреть в правом верхнем углу коробки, болтаются на проводах. Вообще схем до этой была масса от попытки управлять полевиками непосредственно оптопарой до uln2803. Была схема и с бустрепными драйверами и 4-мя N-канальными полевиками.
        deadtime сейчас программный, но он ни при чем. Я всегда включал схему через автоматический выключатель на 10А, полевики рассчитаны на 60А. Скорее они пробивались напряжением.
        • 0
          Спасибо, очень ценный опыт!
          Сейчас как раз играюсь c H мостом, пока не одного транзистора не спалил, но у меня два отдельных питания на 12В на управления затворами и двигатели шаговые.
          С бутстрепными драйверами какие неудобства были?
          • 0
            Давно это было, уже не вспомню, как и что сгорело. Но раз я его не использую, значит у меня не взлетело. Как минимум неудобство в том, что нельзя полностью открыть верхний транзистор, необходима скважность не более ~95%.
            • 0
              Что за модули DC-DC у вас? Я использовал два отдельных источника 220~ -> 12V-
              • 0
                Я тоже по началу использовал два сетевых источника. Сейчас dc-dc P6AU-0512ELF
        • 0
          Автоматический выключатель может пропускать больший ток в течении некоторого времени. Это по-моему чтобы он не выключался при кратковременных пусковых токах. Так что не факт что не из-за тока. Хорошо было бы измерять ток шунтом или датчиком
          • 0
            Это так, но я подозреваю, что от тока и транзистор сразу не сгорит, ему нужно сначала нагреться, да и не помню, чтобы они были горячие. Ну и по сравнению с автоматом, у транзистора запас в 6 раз, при такой перегрузке автомат таки должен отключится. Собственно даже источник питания и сопротивление проводов не допустят такого тока.
            • 0
              Если это самоиндукция мотора, то неважно, сколько даст источник питания. Надо гасить самоиндукцию.
              Кстати, вполне могло и напряжением пробивать. При отключении индуктивной нагрузки имеет место такой эффект: запасённая в магнитном поле энергия стремится поддерживать ток. Но цепь разорвана и течь ему некуда, и это даёт рост напряжения на концах отключенного участка цепи. Чтобы этого не происходило, параллельно мотору ставят обратно включенный диод, можно с резистором — как раз, для гашения этого тока. Но в вашем случае, как я понял, не помогало?
              • 0
                Диод поставить там нельзя, поскольку полярность на моторе меняется, но на обратной стороне видно туеву хучу smd диодов, я их расставил «на всякий случай» куда только мог придумать. На самОм двигателе сейчас стоит супрессор, также супрессоры встроены в полевики. Кроме того при закрытии транзистора высокое напряжение появляется на самом двигателе и в моем понимании не должно попадать на питание схемы, раз уж транзистор(ы) закрылись.
                Но возможно супрессоры недостаточно быстродействующие, возможно рассчитаны на слишком большое напряжение, возможно помеха из двигателя попадает на питание при закрытом транзисторе как раз через супрессор, возможно это напряжение попадало на питание при повторном включении или реверсе, либо я просто неправильно истолковал причину. ХЗ, я в аналоговой схемотехнике не особо рублю, нужен эксперимент с многоканальным осциллографом или хотя бы смоделировать в Протеусе.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.