MAL4X Научно-технический форум разработчиков симуляторов и автоматики


Симуляторы перегрузок. DIY электроника. ЭВМ. Компьютерные сети.
Up

FAQ для симеров, разработчиков симуляторов и симрейсеров

Строим реалистичный симулятор перегрузок своими руками. Рекомендации. Советы.

Модераторы: Death_Morozz, null, Ale

FAQ для симеров, разработчиков симуляторов и симрейсеров

Сообщение Death_Morozz » 13 фев 2013, 21:12

DIY overload simulator
Последняя редакция: 07.08.2017
В разработке. Завершился сезон 2017! Продуктивно продолжается очередной 2016 сезон. Читаем ветки, будем обобщать и складывать сюда!

  • Краткая вводная часть, техническое задание (Intro):

    Сверхзадача проекта - заставить симера поверить, что он пилот болида F1 или пилот (же) штурмовика Ил-2.
    Задача проекта: Реализация реалистичного симулятора перегрузок.
    ---

    Симуляторы разные, например (кратко про количество осей, ведущее к):

    2-DOF
    3-DOF
    Multi-DOF
    Актуаторные

  • Что нужно для того, чтобы сделать свой симулятор? (How I make It):
    1 - Компьютер с ИГРОЙ - симулятором;
    2 - Программа, извлекающая данные из игры и посылающая команды контроллеру (см. ПО.);
    3 - Контроллер, управляющий моторами симулятора (см. Контроллер);
    4 - "Силовой" преобразователь сигналов с контроллера (H-bridge) в напряжение на моторах (см. Полумост)
    5 - Силовой блок питания
    6 - Моторы (см. Моторы);
    7 - Кресло пилота (автомобильное в самый раз, от реальной спортивной машины выйдет дешевле, чем геймстул);

  • Программное обеспечение ПО (Software):
    Пока разрабатывается ПО RU-SIMULATOR, симеры используют ПО X-SIMULATOR (версия 2).
    Почему не X-SIMULATOR 3 - потому что он бесплатный только в случае постоянного подключения к Инету.
    "Автономная" версия X-SIMULATOR 3 платная.

    Изображение ВНИМАНИЕ! В данный момент разрабатывается и тестируется ПО - Sim Tools - лишенное этих недостатков.
    Мы поддерживаем разработчика этого ПО - Dustin Arrell ( aka yobuddy) и его представителя на нашем форуме - value1
    Существует специальная тема для обсуждения на русском у нас на форуме, остальное в оригинальной теме http://www.x-simulator.de/forum/viewtopic.php?f=1&t=4493&p=43387&hilit=#43387
    Новости
    Перевод документации ПО Sim Tools обсуждается в этой теме.

    ---
  • Контроллер (Controller):
    В настоящее время в работе два варианта контроллера - самопальный AMC 1.5 от Таноса и контроллер на базе платы Arduino UNO / Duemillanove.
    Изображение ВНИМАНИЕ! Сейчас развивается проект на базе Ардуино. Прошивка пишется на языке "C" (Arduino IDE не используется).

    Всё необходимое для AMC 1.5
    Скрытый текст
    Ссылка на проект
    оригинальная авторская прошивка для AMC- Ссылка на раздел с прошивками
    полностью переписанная прошивка для AMC от Ale с дополнительными функциями (крайне рекомендуется).
    Краткое описание возможностей прошивки
    Исходники прошивок от ALE доступны для участников форума со статусом - SIMER

    На самом лучшем симерском форуме была разработана уменьшеная плата этого контроллера, в которой было исправлено несколько багов, подробно можно ознакомиться в теме: Облегченная версия контроллера
    Для тех, кто хочет сделать сам контроллер AMC - рекомендуем печатную плату от null:
    RU-SIMULATOR REBUILD v1.1
    А так же на всякий случай весь комплект документации и печатных плат изделий от Таноса:
    Документация


    Всё необходимое для контроллера на базе Ардуино
    ТЕСТИРУЕТСЯ ПРОШИВКА ArduinoMega 6-dof прошивка.
    РАЗРАБАТЫВАЕТСЯ УНИВЕРСАЛЬНАЯ ПРОШИВКА совместимая со всеми симуляторами Тестировать на стендах тут

    Скрытый текст
    Схема подключения Arduino UNO/Duemillanove
    Arduino_2dof_from_Ale.jpg
    Arduino_2dof_from_Ale.jpg (244.72 КБ) Просмотров: 8396

    Программа для прошивки Arduino через USB. После запуска необходимо выбрать com порт, платформу, указать скорость 57600 и нажать upload.

    ... версия прошивки для Arduino

    ... версия прошивки для Arduino, совместимая с SimTools...
    xsim_arduino_uno_v3_by_Ale_SimToolsCompatible.zip
    (30.89 КБ) Скачиваний: 158

    И сразу - настройка интерфейса SimTools для работы с прошивкой...
    Priliad Simtools Interface Settings.jpg
    Priliad Simtools Interface Settings.jpg (152.12 КБ) Просмотров: 4896

    ссылка на сообщение/тему почитать

    ... программа для настройки прошивок 2-dof от ALE (xSimCtrl) с кратким описанием.
    xSimCTRLv2.2rus.rar
    (492.21 КБ) Скачиваний: 116


    Изображение Важная доработка, исключающая ненужные "сбросы" arduino при открытии ее COM порта.

    Arduiono Uno
    Изображение
    Arduino Duemilanove
    Изображение
    Джампер:
    Изображение

    Исходники прошивок от ALE доступны для участников форума со статусом - SIMER


    Что за настройки KpLo, KpHi, SensLo, SensHi, KpTh, MinD, MinPWM и как устроено управление контроллером?
    Скрытый текст
    Если коротко, то принцип управления состоит в следующем
    - Программа посылает контроллеру "задания" в виде положения оси двигателя. Назовем задаваемую величину SET.
    - Контроллер периодически считывает показания датчика, закрепленного на этой оси ( как и утверждает Null в предыдущем посте . Назовем эту величину GET.
    - Контроллер сравнивает задаваемое положение оси и реальное, высчитывает ошибку позиционирования ERR = SET - GET
    - Контроллер вычисляет и подает на ШИМ управляющее воздействие по П-закону PWM = ERR * KP

    Так что основной величиной для настройки управления является величина коэффициента Kp... В данной реализации существует два разных Kp - KpLO и KpHI. Контроллер использует один из них при расчете ШИМ. При чем если рассогласование ERR больше определенного порога KpTh, то при расчете ШИМ используется KpHI. В противном случае - KpLO. Лучше для начала поставь KpHI = KpLO = 3...

    Параметры SensLO и SendHI - это программные ограничители для потенциометров, не дающие оси проворачиваться ниже SensLO и выше SendHI.

    Параметр MinD - мертвая зона. Если абсолютная величина рассогласования ERR меньше MinD - моторы выключаются. Дабы мотор не "пел" от шума...

    Параметр MinPWM - это минимальная величина управляющего сигнала, для увеличения резвости движка... Т.е. сигнал управления расчитывается по модифицированной формуле PWM = MinPWM + ERR * KP

    Что касается связи контроллера с игрой - то тут xSimCtrl.exe - лишнее звено... Данные из игры должны быть направлены на "КОМ-порт", к которому подключена Ардуина...



    ---
  • Н-мост (H-bridge):

    Изображение ВНИМАНИЕ! Рекомендуется использовать готовый H-Bridge (полумост).
    Это устройство управления моторами.
    Тут тоже 2 варианта,
    либо это:

    самодельный:
    Скрытый текст
    Полумост по схеме от Таноса, более подходящий для ЛУТ

    или-же готовый:
    Скрытый текст
    Н-мосты здесь


    ---
  • Гальваническая развязка (Optical Isolation):
    Три причины для включения в конструкцию сима узла гальванической развязки:
    1 - Для ноутбуков это не актуально, но у "больших" компьютеров (подключенных в розетку без заземления) на корпусе "сидит" потенциал порядка 110 Вольт. Это связано с конструкцией входного фильтра компьютерного блока питания. В случае стечения различных (неудачных) обстоятельств, отсутствие гальванической может привести к неприятным последствиям: от выхода из строя платы Arduino, USB порта, материнской платы и т.д., до поражения электрическим током.
    2 - Преобразователь интерфейса USB -> UART очень чувствителен к помехам по цепям питания, которые неизбежно возникают в силовой части сима. Это приводит к нестабильной работе и частым зависаниям интерфейса.
    3 - Неписанный закон радиоэлектроники - силовые цепи ДОЛЖНЫ быть гальванически отвязанными от цепей управления.

    Развязка с использованием оптопары 6n137

    ---
  • Моторы (geared motor/wiper):
    Самый простой вариант - использование моторов постоянного тока(DC) с использованием червячного редуктора. Самым доступным вариантом здесь является автомобильный мотор стеклоочистителя (дворников) или вайпер (wiper). Использование червячной передачи решает проблему с удержанием платформы в заданном положении, т.е. мотор не затрачивает на это энергию.
    Вопреки советам на нашем форуме категорически не рекомендуется использование моторов от а/м Газель, как впрочем и от другой автомобильной техники отечественного производства по причине низкого качества упомянутых изделий. На "авторазборках" вполне можно найти доступный по цене и состоянию двигатель производства Bosch, широко применяемый в различных автомобилях иностранного производства.

    МОТОРЫ СТЕКЛООЧИСТИТЕЛЕЙ ДОЛЖНЫ БЫТЬ ИЗОЛИРОВАННЫ ДРУГ ОТ ДРУГА!
    Скрытый текст
    WiperMotor.jpg
    WiperMotor.jpg (28.89 КБ) Просмотров: 8496


    Если мотор-редуктор (вайпер) не держит платформу в состоянии покоя, то поможет винт регулировки, главное не усердствуйте:
    Скрытый текст
    vint-regulirovki.jpg
    Регулировать вайперы можно с помощью винта
    vint-regulirovki.jpg (137.61 КБ) Просмотров: 6858



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


    Расчёт скорости мощности и момента мотора:
    Скрытый текст
    Ну и вот простая формула, позволяющая ориентироваться во всем многообразии движков - связь скорости, мощности и момента.
    Формула подходит и для движков с редуктором (ее можно применять сразу к выходному валу редуктора с учетом КПД редуктора)

    P = ( M * n ) / 9549

    P - мощность двигателя (kW - киловатт)
    M - крутящий момент (N*m - Ньютон*метр)
    n - скорость вращения вала (rpm - оборот/мин )

    Пример: Давай прикинем мощность для варианта 60 rpm / 10 H*m
    P = 10*60/9549 = 0.063 кВт = 63 Вт.
    С учетом типичного КПД червячных редукторов = 0.6 .. 0.8 получаем необходимую мощность 90 .. 100 Вт.

    Пример: http://mal4x.ru/post9832.html#p9828


    ---
  • Обратная связь для платформы (потенциометры, датчики и т.п.)
    Обратная связь необходима контроллеру, для перемещения платформы в необходимое положение. Для этого в основном используются потенциометры (переменные резисторы), механически связанные с валом мотора или платформой. Как более износостойкий вариант, в роли потенциометра могут быть применены аналоговые датчики на основе эффекта Холла. Например абсолютный хит, датчик от Honeywell - SS495. Или существуют готовые варианты в корпусе и с магнитом:

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

    Кроме того есть идеи по использованию альтернативных вариантов, пока немного об этом упоминается здесь.
    ---
  • Дополнительное оборудование (Options):


    ---
  • Реализация механики: (Mechanical Options):
    Расчёт рычагов и передаточных чисел via CraCk

    ---
  • Готовые проекты: (SIM release):
    2DOF FREX-LIKE RUSSIAN SIMULATOR от null

    Легендарные симостроители, таки построившие симы на "газелевских" моторах...
    DERIY
    Скрытый текст
    phpBB [video]

    ua6aak...
    Скрытый текст
    phpBB [video]


    ---
  • Темы для оставшихся вопросов (OFFTOPIC):
    Помогите, как получить данные из игры. Для разработчиков плагинов есть тема, как получить данные из игр!
    перенёс треды из разработки ПО Sim-Tools в тему как получить данные. (Мог чего-то упустить) Death_Morozz.


    Архивы, для истории:
    Наша тема 2010 года на x-simulator.de
    Скрытый текст

    ---
Аватара пользователя
Death_Morozz
Фраерок
 
Сообщения: 2659
Зарегистрирован: 11 янв 2007, 23:35
Откуда: Ростов-на-Дону
Благодарил (а): 767 раз.
Поблагодарили: 291 раз.
Баллы репутации: 200
ТехнарьТехнарьТехнарь

Вернуться в X-SIMULATOR и RU-SIMULATOR & SimTools

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 10

x

#{title}

#{text}