X-SIM 360° 3DOF Flight Simulator with VR

Running simulator build projects.
Please use the image gallery for your pictures, a short tutorial can be found here.
The first image in the first post will be shown in the project gallery.

X-SIM 360° 3DOF Flight Simulator with VR

Postby asticher » Fri 17. Apr 2015, 23:42

Hi @ all!

RL Pilot flying 360 Deg Simulator

Real Life Pilots flies insane Aerobatics!

first things first: Thanks for the help here in the forum especially Sirnoname and leonpro!
Also to Bergison und Dirty for some great Idears!
Very much thanks to the Motion Cancelling Tool "OpenVR INput Emulator" from Maxman666,
VR tracking and alignment works like a charme with the HTC Vive , VivePro, and Valve Index.

Some Vids:

Carrier launch and some Aerobatics with VR in DCS World:

Insane Carrier landing CASE1 and lowlevel Flight:

Some light dogfight:

Customer riding the Simulator (funny screams):
https://drive.google.com/file/d/10k8d8W ... mungo/view

First Vid of Belt-tension System (WIP)
https://drive.google.com/open?id=1EjWV2 ... 04WvdRZoSp

And here old vid with only one Axis 360°:

NOP first time with VR Headset (Visitor flight via Track Replay)
https://drive.google.com/open?id=0B2LQi ... lZlU1pkQkE

Aerobatics Fun (Motion Controller works now quit fast and precise)

Airrace firsttime max. roll rate.
https://drive.google.com/open?id=0B2LQi ... TNiX25fVWM

Nevada NOP first 360° but huge delay, not precise.
https://drive.google.com/open?id=0B2LQi ... WdkanZhZ0k

I'm flying in DCS World mostly together with a Virtual Wing (vJaBoG32).

Background and concept: 3DOF 360° Motion Sim
It may look like but this Monster is not a funny roller coaster :-D
The main goal is to reach a perfect Situation Awarness (SA) for mill. Missions.
E.g. if you are doing Bombruns, Night OPs, Dogfights or Aerobatics it´s very easy to get disorientated.
In a real Airplane you have many little helps to stay orientated (and sometime to get disorientated also)
but in a pure PC-Simulation you don´t have these helps, but i want to have them!
And this is the reason for 360° 3DOF - you simply feel you´re flying inverted - even if you are in fog hole!
However this is not realistic...in a real Fighterjet you mostly have positive Gs (heave or Z Axis).
Everythings else like Yaw, Sway, Surge forces are tiny effects in relation to the huge positive Gs (assumed your are doing millitary or aerobatic flights).
Thougt i was very surprised how realistic the 3DOF feels - in VR a constant pitch Up feels like +2.5G and a sudden pitch down almost feels like Zero G.
But a 70° to 120° Rollangle (levelflight) dosn´t feel realistic at all , cause it feels like a 1G sideslip.

Therefor i builded a strong seatbelt fastener to simulate heave (constant positive Gs), also known as Harness Tension System.
NASA worked this out in the 80is:
https://drive.google.com/open?id=109o7P ... yO-2f5eE8e
And this works very good! Although only the belt buckle is tightened by a small belt, the pressure of 80kg is distributed very cleanly on shoulders, chest, thighs and pelvis.
You can hardly feel that a pull in the middle of your legs is the source of the Gs :-)
Each G is clearly noticeable. At max. Gs i almost lose the air, although the objective pressure on the body is only a fraction of the real Gs.
With a sustained 4G loop there is even enough pressure (on the butt) to provide the feeling of positive Gs!
You'll find the detailed HowTo for the Tension System here:

But why not a 6DOF MotionSim?
Even a Stewart hexa can´t do constant rollrates, loops, Pitch Ups, invert, or just stay in the correct bank angle.
Particularly with VR you feel every false Degree between Real Life Angles and InGame Angles.
Fast OnSet cuing dosn´t work good for me - it brakes immersion and causing motion sickness in VR.
However i use the Pitch and Roll Axis to simulate certain g-forces like slip, sway and lateral velocity (surge).
On a Carrier Launch the Jetpilot feels +0.9 G velocity. I can simulate this 1:1 via pitch up the Basket with ~80°.
Same thing on Carrier Landings: 2.6G decelerate...ok, ok i can only simulate -1G deceleration with pitch down 90°.
But both things a thrilling and exhausting with 1G for sure!

And this is maybe the most important part why 360°
It is thrilling like RL flying! My first real life loop scared me in the same way this simulator did !
Not to mention how thrilling LowLevel Flight suddenly becomes - same like real even if Gs are far away!
But having a blast when going vertical and doing a Split-S? You bet!
Actually I do (or do not) make the same mistakes both in the simulator and real life, so this biest is a great teacher to me.
But in the End of the Day it is exhausting - this simulator gives you a small clue what real fighterpilots must accomplish.
With motion On i will never win a MP Dogfight again :cry: !
So this is nothing i you could ever get with 6DOF hexa sim...even a flight in a Full Motion Level D simulator with very steep
maneuvers couldn't convince me.
Also pure VR is not enough, because VR is only optically like reality and causing motionsickness for most people...yes indeed:
With accurate motion the VR Motion Sickness is gone!
Also the Airplane movements and rollrates and G-force triggers the vesicular system - creating the sensation of thrille, panic and immersion like in a real airplane. The VR View itself is not enough to achive this.
This is also confirmed by some real life Pilots flying in this Simulator.

Some Datas:
The Pit-Basket (Rollaxis: weight: 160kg + 100kg me), Pitch Axis (90kg) and Mainframe (120kg).
Material is steel 40x40x4mm, Round tube 140mm/4mm. Size is now 240cm x 220x 250cm
Some shooping list:
- 3x Elegoo Uno R3. Dont use Arduino! The Elegoo seems to have a more stable VDC. This is important to prevent spikes and runaways while going over 360°. Also somehow the PID Settings works better with Elegoo.
https://www.amazon.de/Entwicklungsplati ... 01EWOE0UU/

- 3x Hallsensor (Poti 360° endless)
https://www.megatron.de/produkte/weiter ... ab25a.html

- 3x Sabertooth 2x60 + 1x Sabertooth 2x15
https://www.dimensionengineering.com/pr ... rtooth2x60

- 4x 12V / 35AH Car Batterie in parallel as 2x 24V Power source
- 2x 12V 7AH for Belt Tension System

- 1x 24V 350W 300rpm DC Brushed DC Motor for the Belt-Tension System
https://www.ebay.de/itm/DC-Getriebemoto ... 1438.l2649

Roll Axis:
https://www.transtecno.com/en-en/gearbo ... otor-ecmb/
1x Gearbox ECMB 600/502 Ratio 1/42,75
CMB 633 U 47.16 D=25mm 71 B14 M1
1x Actuator: EC 600.240 800W @ S2; 3000rpm 24V 71 B14 (strongest available)
Actuator input flange: 71B14
Rated 60A and 120Nm (peak ~ 250Nm) with max. 65 RPM under load. 24V DC / 800W rated (peak ~2400W)

Pitch Axis:
https://www.transtecno.com/en-en/gearbo ... tors-ecmg/
1x Gearbox ECMG 600/022 U Ratio 1:29.93 D25 240
1x Actuator: EC 600.240 800W @ S2; 3000rpm 24V 71 B14 (strongest available)
Actuator input flange: 71B14
Attention! I connected the Gearbox with a chain drive to the Pitchaxis, ratio 1:2 (so halfes rpm)
Nm peak ~ 450Nm

For order contact:
You have to run a (small) business or they won´t deliver.

Heave Axis:
https://www.transtecno.com/en-en/gearbo ... tors-ecmg/
1x DC Motor 24V with 350W and 320rpm.:
https://www.ebay.de/itm/DC-Getriebemoto ... 0631562943
1x Chainbelt drive with ratio 1:3 to get 100rpm with about 80Nm on the drive shaft.
2x Bearing block 25mm:
https://www.ebay.de/itm/4-Stueck-UCP205 ... 1589861281
1x Driveshaft d=25mm, 100mm
1x Sabertooth 2x60 and Arduino Uno
1x Hallsensor (Pot 360° endless)
1x Aramid or Cevlar belt 15mm / 1m long
I just fixed the Aramid belt on the drive shaft an the other end on the belt buckle.

Actuators may not fit for your sim. Much depending on centre of gravity, Power source, H-Bridge, Basketweight, Pilots weight, Chains and so on.
You have to calculate the needed Nm for each axis. Then look at the tables from transtecno and look for this Nm value.
Now you know ratio and the rpm with load. If rpm is to low, just choose gearbox with higher rpm (max. +20%).
This will work because the DC Actuators can be overdriven by 100% PWR. However the gearbox will suffer a little bit.
Don´t choose wormgear drives! They are selflooking. This will cause stutters, jitters and finally break the drive shaft.

Centre of gravity
If you don't have money for Highpower Servos with 3KW you have to deal with ~1000W. This doas only work out if you keep in mind that you (pilot) are by far the heaviest weight in the Cockpit. So it is quite easy to achieve perfect balance by shifting the seat position. Also a offset from the bank/pitch axis may even help you balance your own Bodyweight. However, this is accompanied by other advantages or disadvantages. Especially the inner ear is very sensitive to the offset position to the centre of the axis. Here is little drawing that may explain the problem:
Center of gravity Bankaxis

A rated 800W DC Brushed Accurator is enough for Flight Simulation, cause you can squeeze out 2600W peak without damage.
You will get accelerations up 200°/sec with a 100kg heavy Pit + 90kg Pilot.
A real strong gearbox with the correct ratio (75 rpm with 250Nm are perfect) is important to get this values and to stand the stress e.g. full stops or hard dogfights!

More Power is not possible due the H-Bridge. Even the Saabertooth can not pull more the 90A @24V for a sec. So i can´t feed more PWR to the Actuator.

Another important thing is centre of gravity. All my Axis are near perfect balanced (on my weight), which was...let´s say just luck :)
This makes the hole system very responsive, fine and saves a lot of energy!

I can fly for 10h continuously with 4x 35ah Batteries.
When you are unable to mechanical balance your Axis, i would even recommend to add weight to sort this out!
This makes everything so much easier with the PID Controller.

Some Frame specs:
Pitch Axis shaft drive: d=80mm ; t=10mm; l=1200mm
Roll Axis shaft drive: d=60mm ; t=20mm; l= 300mm
Gears- and Accurators shaft drive: d=25mm (minimum!)
Pitch Axis frame round tube: d=140mm ; t=4mm (minimum!)
Main- and Roll Axis frame L-Profil: 40mm x 40mm x 4mm (better would be 30x30x4mm square profil!)

I use a big double chain for the Pitch axis. It is much easyer to assamble and to get the perfect gear ratio.
Also it is safer, sturdy and your gear box has less stress. The little more weight dosn´t really matter.

For the roll axis i use a direct drive axis through the gearbox. This reduce weight, latency, adds stiffnes, but ratio can´t be changed.

The Pitch axis has a one side bearing (U-Frame). This reduce roomspace but adds much weight and is not easy to build...ok and it looks just better *g.

Signal Concept / Game Value Export:
Thanks to leonpro who made the DCS profile for x-sim
The data extracting and input setup working very fine!
As far as i know THIS is the ONLY Solution that works at the moment!*
I tryed the other simulation software, but they don´t support 360°, at least not with H-Bridges.
Also BFF Simulation and Thanos doas not support 350°.

However this is not a perfect solution:
The X-Sim XPID Controller is very difficult to setup:
1. Use the default PID and Range Settings first (4.5;0.4;0.4; 2-1022)
Only with this settings there is no spike and runaway while going over 360°.
And this is only the case if the Voltage Range provided to the Hall-Sensor is 0V - 5V precise!
I use a adjustable Power adapter which supports direct the Hall-Sensor (don´t use Arduino/Elegoo VDC)
2. Use the OLD LockOn Plugin (exe and dll). Rename it to DCSPlugin.exe so the X-Sim Extrator can use it.
This old Plugin is faster and has less delay then the new DCSPlugin. However there is a Spikebug in the Yaw Acc Value (which dosn´t bother me)
3. When everythings works like it should, you can carefully ajust the PID Seetings e.g. to get smoother response.
But this is limited, because the Spike over 360° or a steady state error or runaways, shown up quickly again.

*UPDATE: I just installed the Sabertooth 2x60 with the Kangaroo Motion Driver in my testdrive:
and it looks like this works with 360° BUT only using a high-res incremental sensor
(realtive tracking - no absolute angle sensor, min. 8000 steps per round). Also a Z (or I) Impulse is needed for alignment.
If this works all issues with PID, stutters would be gone!
Update again: hmmpf, Z-index doasn´t work as it should. Still need homing procedures with x-sim and this is very violent (100% pwr to start and end position). Also even with Kangaroo PID Tuning, very small stutters are still a issue.

However the Kangaroo works perfect together with x-sim and i use it for the Belt Tension System together with a cheap incremental sensor.

From DCS via export.lua to Import-Plugin:
From there to X-SIM Math / USO Setup.
Then installing Sirnonames XPID Firmeware for Arduino Uno / Sabertooth:
From Arduino to h-Bridge Sabertooth 2x60 and
to DC brushed Motor.
Feedback via Hallsensor:
http://www.megatron.de/produkte/hall-ef ... ab25a.html

I use this values to get the Bank rate out of DCS:

local pitch, bank, yaw = LoGetADIPitchBankYaw()
local vel = LoGetVerticalVelocity()

You will need a real good Flighstick to enjoy the motion. So my Warthog Thrustmaster is extended (35cm) and damped by adjustable motorcycle handlebar dampers...very nice feeling, soft as butter and still a lot of resistance, much closer to reality, ideal for rotorheads. I can only recommend (thx to Bergison for the ingenious idea). With a stronger damper setting you also have a trim system!
However, there is almost no centerforce left because the dampers are much stronger then the native Warthog springs. Therefore you may add springs on both sides of the dampers to gain centerforce again (picture on the bottom).

Tactile perception:
IBEAM Bodyshaker + Subwoofer + Surround Sound System. This is very important for the Immersion! Headsets, even the best, won´t work because you need huge amplitudes to get realistic kicks and vibrations. But a Headset is still important for radio com.
I use the SimShaker Software:
to get Effects like Gau-8 Burst, TouchDown, Bumbs, Stalls/Buffets, AirBrakes, ...
This Signals can be addapted for different Airplanes and Bodyshakers. It work´s like a charm and without any delay.

Air Condition: I use a cheap own from China with 3000W heating and 180W cooling. This is enough to simulate some climate (e.g. Startup in Nevada or High Altitude Flight in a P-51). However the Air condition is manually remote controlled, maybe some day i read out DCS Temperature to get proper control :-)

Position vs OnSet Cues plus what axis are imporant for flight sims:
In short, OnSet Cues are used to simulate the real G acceleration of an aircraft as accurately as possible. Which actually works...but unfortunately only for about a second because then the range of the actuators runs out.
To simulate constant G acceleration, the Cockpit position is often used. For example, if you tilt the cockpit 20° backwards, the pilot has the feeling of a surge accelerating with about 0.5G. This also works, but logically only up to max. 1G (and with some false inputs then)
In order to simulate the extremely strong G-forces during flight you need centrifuges or pressure/pull systems.
With very good simulators these different systems are combined to use all advantages.
Here is a short overview which axes and forces are important for millitary and aerobatic flying (imho).

1. Heave (vertical acceleration with mix of OnSet/Position/Pressure Systems)
Most important for a realistic flight feeling. By far the strongest force feelt in real live. Constant heave Gs are the only way to feel the energie state of your Aircraft. Also speed and G load applied. And heave provides this like "floating on clouds" feeling.

2. Roll position
Very imporant for proper flight feeling, (SA) situation awarness and coordination. Without unlimited Bank there is no way to simulate the real fear, thrille and adrenalin.

3. Pitch position: less imporatant for SA or coordination, but man it doas most of the fun :)
Going vertical, doing a Split S, or feel + 0.9G vertical acc doing a carrier takeoff is just a blast!

4. Surge OnSet: minor thing for SA but very important for proper close formation flying, A-A refueling, speed indication.
Also makes fun while fusing the Afterburner or Airbrakes.

5. Sway OnSet: nice while taxi on ground and helps coordination in crosswinds or many aerobatics manuvers. Don't use Sway to simulate Bank position - not good at all.

6. Yaw Position: minor thing unless you are doing extrem aerobatics like tailslide, hammerhead, flatspin. Some simulators use a offset yaw-axis to archive positive Gs (centrifuge)

VR with Motion
Basically all VR glasses track absolute. I.e. if your plane rolls with 45°, then the 45° real cockpit angles add up with the 45° angles of the InGame View.
So optical it looks as if you are flying at a 90° angle. This leads to motion sickness instantly. But there is a solution called motion cancelling:
This App simply subtract the e.g. 45° RL angle again. Motion cancelling works only with the HTC Vive (Pro) and Valve Index and (as far as i know) with Pimax 5k at the moment.
For a perfect 2x 360° tracking you need 3 Lighthouse Stations (Type 2). When short grayouts are ok, while doing a loop or roll, you can go with two Lighthouse Stations (type 1 or 2).

Pitch Problem (Euler Angle Bug):
If you pitch up the Aircraft in DCS for 90° the Bankaxis flips suddenly to 180° and afterwards the Pitch Axis is inverted.
This is the same behavior as the artificial horizont instrument in the aircraft doas.
If you have three axis (Pitch, Bank, Yaw) this is not a problem because the yaw axis counters the bank flip!

Heads UP Pilots!
With this Export.lua for DCS World you can counter this Effekt!
https://drive.google.com/open?id=1Z7dsO ... EkotDJPCys

You can make forward / backward / inverted loops as you like,
For example, you can cancel the climb at 80° PitchUp,
You can even roll a bit at 90° pitch,
You can go up to 4 degrees off the track through the vertical.
If you don´t hit vertical the "normal" Bankflip occours and Pitch will decrease as "normal".
Some rare miss behaviors and small stutters are still a issue, but you know...

Have Fun!

Safety and security

With 360°, 200kg Basket and 230V AC even small mistakes can end deadly.
- So include a separate, super sensitive FI switch directly in front of the rotary grinder between the main power line.
I have not experienced any unwanted offs or voltage fluctuations so far.
However i recommend to use a DC ATX 24V power supply!
So with this you don´t need the deadly 230V AC!
Everything include the 12V CAR AMP can be powered with this.
Please not that you need sliprings that can handle 60 Amps!

If you don't use DC ATX then:
- Use ONLY tested rotary unions that are really designed for 230V (up to 700V peak)!

And extremely fast fuse + FI switch! Use a PRCD-S Circuit Breaker!
https://www.amazon.de/gp/product/B007K4 ... UTF8&psc=1

- Emergency stop switch: To switch off the 24V current I built a power relay between the actuator and the battery. From the pit a 12V control signal goes over two signal lines to the relays. If the control signal is cut by the stop switch, the power relays disconnect the 24V load current.

- Roll bar and basket: Worst case would be if an axle, bearing or drive mount breaks while your flying invertet. So install a stable roll basket which protects your head from any impact!

- Heavy duty anchor: I have installed 12 of them in the floor and walls to keep the Simulator in place.

- Emergency brake system: Via wireless con. and a self-sufficient battery I control two 25mm bolts on a linear motor, which drill into the walls
and frames. This stops any movement. Why wireless? How do you want to release the brake if the axle or signal cable tears apart?

- Helmet, 5 point seat-belt and alarm button are mandatory. Installing HTC Vive or Index in a pilot's helmet works just as well!
Installed in a Helmet you do not have to worry about a slipping VR Headset while going invertet. Chinbelt works also.

- Emergency lighting is really good in case of AC Power loose.

- Don't use more then max. 3kW actuator. Or at least make very sure that the motor don't get more power then 3000W peak. Why?
2000W brake your bones, but you will survive likely. But at 5000W everthing is just ripped apart instantly.
Sabertooth H-Bridge with Arduino Uno
Buttkicker and Pedals
Pitch Axis
Damper system for TS Warthog HOTAS
Belt tensioner for TS Warthog HOTAS
360° 3DOF works!
Mainswitch with Power relais for emg. Stop
Hallsensor 360° endless
3DOF FullMotion with 360° works!
Warthog Force Feedback System
AcesII Seat with bodyshaker and FFB System
Cockpit mit Lilliput 7" Monitoren
12V-DC Motor mit 120Nm und Mördergetriebe :-)
Last edited by asticher on Sat 25. Apr 2020, 16:47, edited 146 times in total.
"No Brain, No Pain"

3DOF 360° Full Motion Simulator with Valve Index, AMD Ryzen 7, 32GB mem; Gigabyte Board UHD; GTX2080; Samsung M.2 SSD; Thrustmaster Warthog with FFB; Saitek Pro Pedals, Lilliputs & TM MFDs, Body Shaker + 5.1,
User avatar
Posts: 102
Images: 20
Joined: Wed 5. Sep 2012, 20:18
Location: Germany near Munich
Has thanked: 6 times
Been thanked: 1 time

Re: X-SIM 360° 2DOF Flight Pit width XPID, Arduino

Postby asticher » Wed 24. Jun 2015, 12:22

Projekt is on a good way...Pit is ready and bank axis works. Also all addons like TrackIR, Hotas, Pedals, Sound,... working good.
Some Pics
Jethelm mit TrackIR und Mic-Headset
5 Punkt Gurt - das ist wirklich absolute Pflicht!
Verlängerter Warthog Hotas. Ohne die Verländerung ist es praktisch unmöglich pärzise mit 360° zu fliegen.
Last edited by asticher on Mon 14. Dec 2015, 00:56, edited 1 time in total.
"No Brain, No Pain"

3DOF 360° Full Motion Simulator with Valve Index, AMD Ryzen 7, 32GB mem; Gigabyte Board UHD; GTX2080; Samsung M.2 SSD; Thrustmaster Warthog with FFB; Saitek Pro Pedals, Lilliputs & TM MFDs, Body Shaker + 5.1,
User avatar
Posts: 102
Images: 20
Joined: Wed 5. Sep 2012, 20:18
Location: Germany near Munich
Has thanked: 6 times
Been thanked: 1 time

Re: X-SIM 360° 2DOF Flight Pit width XPID, Arduino

Postby asticher » Thu 9. Jul 2015, 23:51

360° Onboard Ingame Video! All Airplanes/Helicopter are working out fine in DCS 1.5 and 2.0
https://dl.dropboxusercontent.com/u/110 ... 0Biest.mp4
Best thing ist F15-C width 400° per second :lol:
Last edited by asticher on Mon 14. Dec 2015, 00:47, edited 2 times in total.
"No Brain, No Pain"

3DOF 360° Full Motion Simulator with Valve Index, AMD Ryzen 7, 32GB mem; Gigabyte Board UHD; GTX2080; Samsung M.2 SSD; Thrustmaster Warthog with FFB; Saitek Pro Pedals, Lilliputs & TM MFDs, Body Shaker + 5.1,
User avatar
Posts: 102
Images: 20
Joined: Wed 5. Sep 2012, 20:18
Location: Germany near Munich
Has thanked: 6 times
Been thanked: 1 time

Re: X-SIM 360° 2DOF Flight Pit width XPID, Arduino

Postby MKDrone » Sun 15. Nov 2015, 10:58

ich finde Ihr Projekt richtig geil, beobachte es schon länger auf mehren Webseiten. :D
Bin selbst dabei gerade einen 2dof Simulator aufzubauen, möchte dazu auch den Sabertooth 2x 60A with open Source Firmware X-PID verwenden, kann auf den Bildern aber nicht richtig erkennen wo die Potis mit den drei Kabeln (+,-,Signal) angeschlossen sind :?: . Vielleicht könnten Sie mir dabei einen Tipp geben. Desweiten wäre ich auch an solchen Motoren wie sie einsetzen interresiert (120N), die erste Variante von Ihnen hatte ich bei Conrad gefunden, waren aber schwächer und brachten fast keine RPM bei diesem Drehmoment.

Mit freundlichen Güßen
Posts: 6
Joined: Mon 2. Nov 2015, 16:10
Has thanked: 0 time
Been thanked: 0 time

Re: X-SIM 360° 2DOF Flight Pit width XPID, Arduino

Postby asticher » Wed 2. Dec 2015, 13:22

Hallo MkDrone,

die Verkabelung des Sabertooth zum Ardunio und zum Poti muss 100% stimmen, sonst hat man unerklärliche Fehlereffekt.
Hier ist das Ganze gut erklärt und fotografiert:
Es darf wirklich keine einzige Kabel fehlen. Wenn Sie noch Probleme haben können Sie mich unter
kontakt@werkschmiede.de erreichen.

Den Motor finden Sie unter
http://www.transtecno.com/de/getriebemo ... 2v-24v-dc/
Getriebe: CMB 633 Bevel helical Gearbox Ratio 1 /47,17 IEC 63B14
Motor: EC 600.120 mit 800W (s1) und 12V (gibt es auch in 24V, damit können Sie noch mehr Leistung bekommen)
Last edited by asticher on Wed 2. Dec 2015, 13:37, edited 1 time in total.
"No Brain, No Pain"

3DOF 360° Full Motion Simulator with Valve Index, AMD Ryzen 7, 32GB mem; Gigabyte Board UHD; GTX2080; Samsung M.2 SSD; Thrustmaster Warthog with FFB; Saitek Pro Pedals, Lilliputs & TM MFDs, Body Shaker + 5.1,
User avatar
Posts: 102
Images: 20
Joined: Wed 5. Sep 2012, 20:18
Location: Germany near Munich
Has thanked: 6 times
Been thanked: 1 time

Re: X-SIM 360° 2DOF Flight Pit width XPID, Arduino

Postby asticher » Wed 2. Dec 2015, 13:23

Und hier abschließen der gesamte Bericht über das Projekt inkl. Links für die diversen Komponenten:
DANKE an Sirnoname der das Ganze erst ermöglicht hat!!!!!

Ziel war es erst die Bewegungen der Bank und Pitch Achse von allen DCS Mustern 1:1 zu simulieren.
Nachdem ich selbst RL geflogen bin, hab ich dieses Ziel schnell verworfen und versuche aktuell auch G-Kräfte mit den 360°
möglichst real abzubilden (Stichwort OnSet cueing)
D.h. die Simulation der Positiven G-Kräfte (Heave Achse) werden über einen Gurtspanner simuliert (Danke an Bergison für diese Idee).
Beschleunigung und Abbremsen wird bereits mit der Pitch Achse verrechnet und jetzt simuliert.
Slide und Drift wird mit der Bank Achse verrechnet simuliert.
Und auf Nachfrage: Warum keine Stuard Plattform mit 6DOF? Weil ich Aerobatics und BFM halbwegs korrekt simulieren will.
Das Gefühl und die Anstrengung im 2DOF bei einem Loop, Barrelroll, Split-S oder invert sind extrem Nah am echten fliegen
(zumindest bei mir). Nichts was ich jemals mit +/- 30° 6DOF empfinden könnte :-)

Elektronische Lösung:
- Über eine Software namens X-Sim, https://www.x-sim.de
- ist es möglich über ein Plugin (LockOn LUA Encoder) https://www.x-sim.de/forum/viewtopic.php?f=79&t=309
- die Echtzeit Fluglagedaten eines DCS Musters auszulesen (erfordert angepasste Export.lua - steht unten als download zur Verfügung)
- Das ganze System funktioniert mit DCS World 1,5, 2.0, 2.5 und mit allen DCS Modulen!!!

- X-Sim wandelt diese nichtlinearen (Radiant) Flugdaten in eine digitale Singalkurve mit +/- 180° um.
- Diese Daten werden über den USB an den Arduino Uno (Microcontroller) geleitet.
- Eine Firmeware für den Arduino (geschrieben in C ) https://www.x-sim.de/forum/viewtopic.php?f=39&t=723
ermittelt den Ist-Wert des Motors über ein 5V Feedback Analogsignal.

- Der Feedbacksensor muss rüttelfest, linear und absolut sein, d.h. normale Hallsensoren mit 0,5 bis 4,5V funktionieren nur bedingt.
Am besten funktioniert bei mir Der hier:
https://www.megatron.de/produkte/hall-e ... ab25a.html

- Dann vergleicht die Firmeware den Ist-Wert mit dem Sollwert (das ist die Signalkurve die von X-Sim aus DCS bekommt).

- Das Ergebnis wird über einen PID Regler geglättet und in serielle Steuerbefehle (8 Bit d.h. max. 1042. Stellungen) umgewandelt. Diese gehen an die Motorsteuerung :
https://www.dimensionengineering.com/pr ... rtooth2x60
Die wandelt alles in ein Pulsweitenmoduliertes (PWM) 12V - besser aber 24V Lastsignal um.
- Das PWM Signal schaltet den Motor extrem schnell an und aus (32khz), um damit den Motor langsamer oder schneller laufen zu lassen, sowie links oder rechts rum.

Mech. Lösungen:
- Um kosten zu sparen habe ich unlegierten Stahl für den Rahmen verwendet - der ist einfach zu schweißen, günstig und stabil.
Nachteil: Sehr schwer (Cockpit 90kg, JetSeat 60kg, Pitch U-Rahmen 80kg, Hauptrahmen 120kg alles jeweils mit Motoren usw.)

- Es gibt verschieden Ansätze für 360° Simulatoren - ich hab die klassische Anordnung mit zwei Achsaufnahmen gewählt.
Vorteil: Einfache Konstruktion und robust, aber platzintensiv (240cm lang, 220cm breit, 270cm hoch)

- Um kosten zu sparen wurden zwei DC Getriebe Motoren mit 120NM und 60A gekauft (je 360 Euro).
Vorteil: Keine teuren Frequenzumrichter, keine teure SPS/Beckhoff Steuerung nötig, keine teuren Lastnetzteile nötig.
Außerdem kann man damit auch Force Feedback für den Stick und Gurtstraffer (simulation der pos Gs) bauen.
Nachteil: Enorme Störsignale und Ströme.
Motoren die das packen gibt es in Deutschland kaum...aber bei den Italienern:
https://www.transtecno.com/de/getriebem ... 2v-24v-dc/

- Als Stromquelle kommen billige 12V Batterien zum Einsatz die parallel 24V liefern. Netzteile sind störanfällig, teuer und können nicht rekrupieren.
Außerdem mag ich bei einem Stromausfall nicht einfach in der Luft hängen.

- Ich habe den PC mit im drehenden Pit (mit Motordämpfern) eingebaut - SSD und Mainboard ist absolut unbeindruckt von den G´s,
aber normale Festplatte rauchen schnell ab :-)
Nur so war es möglich sämtliche Geräte anzuschließen (Hotas, FFB, Rift CV1, Keyboard, TrackIR, Lilliputs, Trackball, Bodyshaker, 5.1 System, Pedale, 28" Monitore, usw.)

- Um den Strom dafür ins Pit zu bekommen braucht man hochwertige Drehschleifer
https://www.ebay.de/itm/Drehdurchfuhrun ... 2c93eed624
Ich hab einen mit 10 Steuerleitungen und 3 Spannungsleitungen (220V). Die Steuerleitungen führen das USB Signal vom PC zum Microcontroller.

Bei 360° , 200kg und 230V im Pit hört der Spaß auf und kleine Fehler können tödlich Enden, d.h.
- Separater, super sensibler FI Schalter direkt vor dem Drehschleifer zwischen die Netzstrom Leitung bauen.
Ich habe bisher keine ungewollten Offs oder Spannungsschwankungen erlebt.
- Notaus-Schalter: Um die 24V Laststrom abzuschalten habe ich ein Lastrelais zwischen Motoren und Batterie gebaut. Vom Pit aus geht über zwei Signalleitung ein 12V Steuersignal zu den Relais. Wird das Steuersignal durch den Schalter gekappt, trennen die Relais den 24V Laststrom. Denkt nicht mal daran den Laststrom direkt über einen Schalter im Pit zu trennen.
- Überrollbügel: Sollte eine Achse, Lager oder Achsaufnahme brechen während man auf dem Kopf steht, fällt man aus 1,5m Höhe auf den Boden. D.h. baut unbedingt eine stabilen Bügel ein, der an mindestens zwei Punkten verhindert das Euer Kopf den Aufprall bremst!
- Schwerlastanker: Ich habe 12 Stück davon in Boden und Wände verankert, damit das alles hält.
- Notbremssystem: Über Funk und eine autarke Batterie steuere ich zwei 25mm Bolzen an einem Linearmotor an, die sich im Fall des Falles in die Wände und Rahmen bohren und jede Bewegung stoppen. Warum Funk? Wie wollt Ihr die Bremse auslösen, wenn z.B. das Steuerkabel durchscheuert?
- Helm, 5 Punkt Gurt und Alarmknopf sind Pflicht. Die HTC Vive Pro in einen Helm einzubauen klappt super...bei der Valve Index leider nicht :roll:
- Notstrom-Beleuchtung ist wirklich gut im Falle des Falles.
- Verwendet NUR geprüfte Drehdurchführungen die wirklich für 230V (Durchschlagschutz bis 700V Spitze) ausgelegt sind!
Und erdet mit dem Nullleiter das gesamte Cockpit. Eine extrem flinke Sicherung + FI Schalter ist wichtig.

Probleme, mit denen ich zu kämpfen hatte:
- Selbst 40x40x5mm Winkelstahl verbiegt sich axial schnell (Torsion) - der erste Pitch U Rahmen wog 180kg und hat sich trotzdem komplett verbogen.
Also alles noch mal neu gemacht mit Rundrohren d=140mm / 4mm...das ist tatsächlich das minimum wenn man über 100kg wiegt!
- Die Lager der Achsen müssen radial und axial gelagert sein (bei 180° drücken min. 250kg auf das untere Lager!!!)
- Antriebswelle und Antriebswellenflansch des Motors MUSS massiv und min. d=25mm haben...sonst Bruch.
- Demontierbarkeit (z.B. durch Kettenantrieb) ist ein wichtiges Stichwort um sich das Leben leichter zu machen. Ah und vergesst nicht Deckenhöhen und Türbreiten.
- Der Motor muss min. 90Nm (dauerhaft) und peak 300Nm schaffen sowie 75rpm um die Drehrate der F/A-18 zu erreichen.
- Es darf kein selbsthemmendes Getriebe verwendet werden! Mir ist bei Dauerbelastungen (Airrace) das erste Schneckengetriebe deswegen gestorben.
- Bürstenmotoren sind bekannt für Störsignale - meine Motoren sind extrem Dick ummantelt und trotzdem müssen alle Kabel doppelt abgeschirmt und an einem Punkt geerdet werden. Nehmt keinen China Schrott für Shields oder Platinen...die sind ganz oft schlecht oder falsch geerdet.
- Ebenfalls gab es Aussetzer bei max. PWR 160A...nachdem der gesamte Microcontroller mit 2mm Blech ummantelt wurde war Ruhe :-)
- Die C Software für die Motorsteuerung ist schwierig für mich zu verstehen.
- Die Motorsteuerung macht was Sie soll, aber es gab ruckler im Druck- bzw. Entlastungsbetrieb. Also Problemursache stelle sich das selbsthemmende Getriebe heraus, das bei kleinen Laständerungen immer wieder leicht blockiert.
- Noch ein großes Problem war UR Radio und der Flightplaner. Danke an Bosshog und Sparrow fürs bugfixen! Ist aber obsolet, mit Simple Radio gibt es keine Probleme.

Probleme mit VR z.B. Oculus oder Vive

- Grundsätzlich tracken alle VR Brillen absolut. D.h. wenn Eurer Flieger mit 45° rollt, dann addieren sich die 45° realer Cockpit Winkel mit den 45°Winkel der InGame View. D.h. optische wirkt es so als ob Ihr im 90° winkel fliegt. Das führt sofort zu Motion Sickness. Einziges Mittel dagegen ist motion cancelling. Soll heißen eine App zieht die 45° RL Winkel einfach wieder ab. Das funktioniert super aber nur mit der HTC Vive, Vive Pro und Valve Index im moment.

Probleme mit der Pitch Achse
- Wenn man nur 2DOF ohne die Z-Achse hat, dann kann die Pitch Achse keinen richtigen Looping machen. D.h. die Pitch Achse steigt bei einem looping bis +88°, dann dreht die Bank Achse ziemlich schnell um -180°, und dann sinkt die Pitch Achse wieder. Diese 180° Drehung würde die Z (yaw) Achse ausgleichen, da aber nicht vorhanden werdet Ihr etwas durchgerührt. Das selbe passiert natürlich wenn man genau nach unten fliegt. Dort dreht die Bankachse dann +180°.
Last edited by asticher on Sun 26. Apr 2020, 00:00, edited 11 times in total.
"No Brain, No Pain"

3DOF 360° Full Motion Simulator with Valve Index, AMD Ryzen 7, 32GB mem; Gigabyte Board UHD; GTX2080; Samsung M.2 SSD; Thrustmaster Warthog with FFB; Saitek Pro Pedals, Lilliputs & TM MFDs, Body Shaker + 5.1,
User avatar
Posts: 102
Images: 20
Joined: Wed 5. Sep 2012, 20:18
Location: Germany near Munich
Has thanked: 6 times
Been thanked: 1 time

Re: X-SIM 360° 2DOF Flight Pit width XPID, Arduino

Postby asticher » Fri 1. Jan 2016, 16:12

Because of stressing the FIA Raceseat on some Airrace Trails, the hole Backrest becomes loose!
So i decided to build a Pilotseat on the Aces II Base...halfe done, convering is next Step.
Also i build up a Artificial Force Feedback System with x-SIM!!!! for the Warthog Stick.
Therefor i took the Export LUA Values: AOA, positiv G´s (user 1), Rollrate acc. and send it to x-sim.
With some Mathsetup i got a real fine and realistic Feedback Signal.
Signal to Arduino to Sabertooth again.
The 12V Accurator converts the Singal into 180° turn, witch preloads a four Springs on the Warthog Stick, up to 24 Pounds *ggg
Also the work on the second Pitch Axis goes ahead.

Some Details for the FFB System Project:
I fasten four springs on the bottom Part of the Stick.
This springs are connected via cables to a Worm geared DC Motor.
There is no other way to do so, because i´d like to have ~13kg max. force on the Stick.
This would break any internal Stick solution.
Remember - i only creat a Centerforce!
So there is no manuel trim function (for this you would need four Motors!!!).
However the Centerforce is very strong and dynamic and it´s much more realistic then the G940/MS Flightstick.
You can feel everything - particularly if your getting close to stall.

It works with every DCS Module, but some X-SIM tuning is needed, because every A/C or Helicorter has very diverent Feedback.
As i noted i have only one DC Motor. You´ll get much more precision if you use two, because you can simulate Pitch and Roll Forces seperate.
For me, one Motor ist fine and expensive enough :-)
Don´t expect to fly suddenly like a pro with FFB - you won´t! It´s exhausting and confusing if you Stick suddenly yank out of you Hand -
two Hands on Stick are a good thing :-)
You have to learn flying in a new way.

Overall cost is about 300,- €
Last edited by asticher on Wed 1. May 2019, 00:54, edited 3 times in total.
"No Brain, No Pain"

3DOF 360° Full Motion Simulator with Valve Index, AMD Ryzen 7, 32GB mem; Gigabyte Board UHD; GTX2080; Samsung M.2 SSD; Thrustmaster Warthog with FFB; Saitek Pro Pedals, Lilliputs & TM MFDs, Body Shaker + 5.1,
User avatar
Posts: 102
Images: 20
Joined: Wed 5. Sep 2012, 20:18
Location: Germany near Munich
Has thanked: 6 times
Been thanked: 1 time

Re: X-SIM 360° 2DOF Flight Pit width XPID, Arduino

Postby asticher » Tue 5. Jan 2016, 13:41

Ich versuch ein kleine Anleitung zu machen. Dauert aber etwas da ja WIP...geht gut vorwärts: Umlenkrollen, Motorhalterung, Bowdenzugführung und Motorflansch ist fertig.
Hier die Stückliste, Grobskizze und Budget:

Original Arduino UNO: 23,-
http://www.amazon.de/Arduino-Uno-Rev3-O ... B008GRTSV6

Sabertooth 2x12: 75,-
https://www.dimensionengineering.com/pr ... rtooth2x12

DC 12V Scheibenwischer Motor: 2x 35,-
http://www.ebay.de/itm/SCHEIBENWISCHERM ... Swys5WUHor

Netzteil 12V 350W: 25,-

Federn ca. d=10mm; l=30mm, Fn (max. Kraft)=50N: 4stck a 3,-
https://www.federnshop.com/de/produkte/ ... etail=true

Bowdenzüge mit Befestigungen: 4x 5,-
http://www.ebay.de/itm/161017961124?_tr ... EBIDX%3AIT

Halterung für Motor, evtl. Winkel für Motorflansch,
Halterung für Umlenkbuchsen, Schrauben, Aluhülsen d=8mm, Gewindestab M8,
Headerkabel für Arduino, Stromkabel, USB Kabel, usw. : 40,-

Summe: ~265,- €

Hier ein Erklärung zur Skizze:
- Die beiden Motoren werden z.B. unter dem Sitz hinter dem Stick fest montiert. Auf jeder Motorachse ist ein Flansch angebracht der sich um 180° dreht.
- Dieser Flansch ist mit je zwei Bowdenzüge verbunden. Abhängig von der Länge des Flansches wird als einen Weg erzeugt (ca. 4cm sind gut).
- Die Bowdenzüge laufen dann zu den Umlenklagern (ein glatte Metallstange tut es auch) die jeweils 90° versetzt zu dem Stick angeordnet sind.
- Diese Lager müssen SEHR fest montiert sein - am Besten auf der selben Bodenplatte, auf der auch der Stick montiert ist. Mindestabstand zum Stick ist 8cm.
Die Lager sind oben mit großen Scheiben gesichert damit der Bowdenzug nicht abhaut.
- Nach der Umlenkung wird der Bowdenzug mit der Zugfeder verbunden (am Besten mit schraubbaren Endstücken).
- Die Zugfeder selbst wird direkt am UNTEREN Ende des Sticks befestigt.
- Beim Warthog ist das die große Überwurfmutter. Um die Zugfedern anzubringen muss man vier Löcher in den Metallring bohren (ja nicht zu WEIT bohren!) und ein Gewinde (min. M5) schneiden.
- Dann Gewindehacken eindrehen und Feder einhängen. That´s it!
- Die Motoren erhalten für jeder Achse getrennt ein PWM Signal vom Sabertooth und spannen damit die Federn vor. Da immer zwei Federn gegenüber stehen sind, wird der Stick entweder leicht oder schwer zum Mittelpunkt gezogen!
D.h. mit diesem System kann der Stick nicht manuell getrimmt werden (dafür bräuchte man dann vier Motoren und eine extrem komplexe Steuerung)

Resulat: Wenn man immer mehr Gs zieht, wird die Elevator Achse immer strammer.
Wenn man dagegen rollt, wird die Aileron Achse schwerer. Rollt man das AC sehr schnell von einer Seite auf die andere, wird im moment des Wechseln die Ailerion Achse extrem schwer
(sehr wichtig um präzise zu steuern) .
Im Stall dagegen reißt dann die Vorspannung zum Teil ganz ab.
Und je schneller man fliegt desto schwer wird generell die ganze Steuerung.

Ah ja hier nochmal der Link was die Game-Schnittstelle und die USB-Motorsteuerung angeht:
und hier wie der Sabertooth angeschlossen wird:

Bei Fragen dazu - Fragen :)
(304.62 KiB) Downloaded 397 times
"No Brain, No Pain"

3DOF 360° Full Motion Simulator with Valve Index, AMD Ryzen 7, 32GB mem; Gigabyte Board UHD; GTX2080; Samsung M.2 SSD; Thrustmaster Warthog with FFB; Saitek Pro Pedals, Lilliputs & TM MFDs, Body Shaker + 5.1,
User avatar
Posts: 102
Images: 20
Joined: Wed 5. Sep 2012, 20:18
Location: Germany near Munich
Has thanked: 6 times
Been thanked: 1 time

Re: X-SIM 360° 2DOF Flight Pit width XPID, Arduino

Postby asticher » Wed 13. Jan 2016, 01:43

Soo, das FFB System ist schon weit fortgeschritten, auch die Ansteuerung über XPID funktioniert wieder perfekt. Jetzt gibt es nur ein Problem: Wie kann man gleichzeitig zwei Arduinos mit X-Sim betreiben? Unter Interface Settings tauchen immer nur zwei Interfaces auf, nicht vier. Beim anschliessen des zweiten Arduinos pop die Meldung "Falsche Parameter" auf. Die Com Ports (11,12) sind sauber getrennt und werden auch von der Arduino Software erkannt. Auch der upload funktioniert wenn Beide gleichzeitig angeschlossen sind. Hat jemand eine Idee?
"No Brain, No Pain"

3DOF 360° Full Motion Simulator with Valve Index, AMD Ryzen 7, 32GB mem; Gigabyte Board UHD; GTX2080; Samsung M.2 SSD; Thrustmaster Warthog with FFB; Saitek Pro Pedals, Lilliputs & TM MFDs, Body Shaker + 5.1,
User avatar
Posts: 102
Images: 20
Joined: Wed 5. Sep 2012, 20:18
Location: Germany near Munich
Has thanked: 6 times
Been thanked: 1 time

Re: X-SIM 360° 2DOF Flight Pit width XPID, Arduino

Postby asticher » Thu 25. Feb 2016, 17:48

OK Problem gelöst was die zwei Arduinos angeht...man muss das neue DCS Plugin verwenden, das Alte geht nur mit einem.

Das Force Feedback funktioniert jetzt!
https://dl.dropboxusercontent.com/u/110 ... og-FFB.mp4
Der Effekt sieht im Video seicht aus...is es aber nicht :mrgreen:
Mit einer Hand kriegt man den Stick bei 4g kaum ans maximum.
Beim Stall seht Ihr wie die 3mm Motorhalterung einfach hoch gebogen wird.
Das passiert nur in dem Video, weil der Motor normalerweiße mit der Sitzfäche oben verschraubt ist.

Was noch Probleme bereitet:

- Der Stick ist ziemlich nach vorne gebogen damit genug Abstand zum Körper da ist.
Das bewirkt beim puschen der X Achse (Ailerons) ein Drehmoment auf der Z- Achse an der Warthog Basis.
Und ich glaub der Warthog ist genau da empfindlich...deshalb fahre ich das FFB i.m. nur mit 50% Leistung bis ich eine besser Lösung habe.

- Das FFB Signalumsetzung ist sauber und sehr schnell, aber die starken Federn samt mech. Seilaufhängung bewirken eine Verzögerung von ca. 0,2 sek.
Das merkt man. Um das Auszugleichen versuche ich das Signal mit dem Integral Regler (PID) vor zu verstärken...tricky....Feinschliff eben.

- Die Stärke vom FFB Signal ist abhängig von den Gs und Aero-Belastungen am Flugzeug. Eine A-10C mit max. 4G ist relativ leicht zu steuern,
bei der F-15C krieg ich nichts mehr auf die Reihe, weil alles so brutal schwer geht.

Grundsätzlich ist das Ganze ein völlig neues Gefühl: Das fliegen will neu gelernt werden - plötzlich muss man arbeiten und der Stick macht anfangs gefühlt was er will. Ich regiere träger und trau mich viel weniger puschen. Aber auf der anderen Seite ist es eine wunderbare Sicherheit das Flugzeug und das Maximum zu spüren!
"No Brain, No Pain"

3DOF 360° Full Motion Simulator with Valve Index, AMD Ryzen 7, 32GB mem; Gigabyte Board UHD; GTX2080; Samsung M.2 SSD; Thrustmaster Warthog with FFB; Saitek Pro Pedals, Lilliputs & TM MFDs, Body Shaker + 5.1,
User avatar
Posts: 102
Images: 20
Joined: Wed 5. Sep 2012, 20:18
Location: Germany near Munich
Has thanked: 6 times
Been thanked: 1 time


Return to Motion simulator Projects in progress

Who is online

Users browsing this forum: No registered users and 1 guest