Flugsimulation

6DOF – Stewart platform mit FSX –

Hier mal ein erster Test einer 6DOF Stewart Plattform auf Servo und arduino-basis in Verbindung mit SIMTOOLS.

/*
//********************************************************************************************
// RC Model Servo
// Original code By EAOROBBIE (Robert Lindsay)
// Completely mangled by aarondc
// For free use for Sim Tool Motion Software
// Changed by SIM-PC.de for 6DOF
//********************************************************************************************
#include 
//#define DEBUG 1               // comment out this line to remove debuggin Serial.print lines
const int kActuatorCount = 6;   // how many Actuators we are handling

// the letters ("names") sent from Sim Tools to identify each actuator
// NB: the order of the letters here determines the order of the remaining constants kPins and kActuatorScale
const char kActuatorName[kActuatorCount] = { 'A', 'B', 'C', 'D', 'E', 'F' };
const int kPins[kActuatorCount] = {2, 3, 4, 5, 6, 7};           
const int kActuatorScale[kActuatorCount][6] = { { 0, 179 } ,    // 1 Actuator scaling
                                                { 0, 179 } ,    // 2 Actuator scaling
                                                { 0, 179 } ,    // 3 Actuator scaling
                                                { 0, 179 } ,    // 4 Actuator scaling
                                                { 0, 179 } ,    // 5 Actuator scaling
                                                { 0, 179 }      // 6 Actuator scaling
                                               };  
const char kEOL = '~';                              // End of Line - the delimiter for our acutator values 
const int kMaxCharCount = 3;                        // some insurance...
Servo actuatorSet[kActuatorCount];                  // our array of Actuators
int actuatorPosition[kActuatorCount] = {90,90,90,98,90,90};    // current Actuator positions, initialised to 90
int currentActuator;                                // keep track of the current Actuator being read in from serial port
int valueCharCount = 0;                             // how many value characters have we read (must be less than kMaxCharCount!!

// set up some states for our state machine
// psReadActuator = next character from serial port tells us the Actuator
// psReadValue = next 3 characters from serial port tells us the value
enum TPortState { psReadActuator, psReadValue };   
TPortState currentState = psReadActuator;

void setup()
{ 
    // attach the Actuators to the pins
    for (int i = 0; i < kActuatorCount; i++) 
        actuatorSet[i].attach(kPins[i]);
    
    // initialise actuator position
    for (int i = 0; i < kActuatorCount; i++) updateActuator(i); Serial.begin(38400); // opens serial port at a baud rate of 9600 } void loop() { } // this code only runs when we have serial data available. ie (Serial.available() > 0).
void serialEvent() {
    char tmpChar;
    int tmpValue;

    while (Serial.available()) {
        // if we're waiting for a Actuator name, grab it here
        if (currentState == psReadActuator) {
            tmpChar = Serial.read();
            // look for our actuator in the array of actuator names we set up 
#ifdef DEBUG            
Serial.print("read in ");            
Serial.println(tmpChar);            
#endif
            for (int i = 0; i < kActuatorCount; i++) {
                if (tmpChar == kActuatorName[i]) {
#ifdef DEBUG            
Serial.print("which is actuator ");            
Serial.println(i);            
#endif
                    currentActuator = i;                        // remember which actuator we found
                    currentState = psReadValue;                 // start looking for the Actuator position 
                    actuatorPosition[currentActuator] = 0;      // initialise the new position
                    valueCharCount = 0;                         // initialise number of value chars read in 
                    break;
                }
            }
        }
        
        // if we're ready to read in the current Actuator's position data
        if (currentState == psReadValue) {
            while ((valueCharCount < kMaxCharCount) && Serial.available()) {
                tmpValue = Serial.read();
                if (tmpValue != kEOL) {
                    tmpValue = tmpValue - 48;
                    if ((tmpValue < 0) || (tmpValue > 9)) tmpValue = 0;
                    actuatorPosition[currentActuator] = actuatorPosition[currentActuator] * 10 + tmpValue;
                    valueCharCount++;
                }
                else break;
            }
            
            // if we've read the value delimiter, update the Actuator and start looking for the next Actuator name
            if (tmpValue == kEOL || valueCharCount == kMaxCharCount) {
#ifdef DEBUG            
Serial.print("read in ");            
Serial.println(actuatorPosition[currentActuator]);            
#endif
                // scale the new position so the value is between 0 and 179
                actuatorPosition[currentActuator] = map(actuatorPosition[currentActuator], 0, 255, kActuatorScale[currentActuator][0], kActuatorScale[currentActuator][1]);
#ifdef DEBUG            
Serial.print("scaled to ");            
Serial.println(actuatorPosition[currentActuator]);            
#endif
                updateActuator(currentActuator);
                currentState = psReadActuator;
            }
        }
    }
}


// write the current Actuator position to the passed in Actuator 
void updateActuator(int thisActuator) {
    actuatorSet[thisActuator].write(actuatorPosition[thisActuator]);
}

6DOF – Stewart platform mit FSX –
5 (100%) 6 stimmen

Arduino – breakout boards

Gestern sind aus „good old China“ meine Breakoutboards für den Arduino Nano und den Mega gekommen.
(Für den Uno lohnt sich das für mich nicht da der Nano die geichen Funktionen hat und wesentlich kleiner ist)

Warum Breakoutboard ?
Ganz einfach. Die Arduinos sind super um kleine Schaltungen mit Steckverbindungen zu testen. Für eine dauerhafte Lösung muss dann aber gelötet oder geklebt werden.
Da ich meine Arduinos aber stellenweise für die unterschiedlichsten Projekte verwende musste eine andere Lösung her.

Bei beiden Shields lassen sich die Kabel normal anschrauben.

Beim MegaShield besteht zusätzlich noch die möglichkeit den Arduino weiter für Steckverbindungen und/oder Lötverbindungen zu nutzen.

Rundum durchdacht.

Das Mega Shield gibt es hier: zur Bucht

Arduino – breakout boards
5 (100%) 3 stimmen
Saitek Pro Flighr Yoke TQ

Saitek Pro Flight Yoke TQ – FlightSimulatorParts review

Wie schon hier angekündigt möchte ich mal meinen persönlichen Eindruck des Saitek Pro Flight Yoke-TQ Aufsatz von FlightSimulatorParts  vermitteln.
saitek-tq

Wenn man einmal kurz  auf den zusammengebauten TQ schaut, kommt erst mal der Ohooo-Effekt. Eine Aufbesserung von 1000%. Denn der einfache Joystick wird für den Gelegenheitsflieger ja schon fast zum „realistischen TQ“.

Doch wenn ich länger draufschaue, missfallen mir immer mehr Details die auch für den kleinen Preis nicht hätten sein müssen.

Ich fange mal oben an und arbeite mich nach unten runter:

  • Throttle Knobs
    Verarbeitung und Material Ok, Größe stimmt .  Die  Schalter sind leider alles andere als mittig eingesetzt. Schön wäre auch gewesen selbige tiefer in die „Griffe“ einzusetzten. So sehen sie leider wie Kirchturmspitzen aus. Die Schalter hab ich rausbohren müssen da sie leider beim rausziehen abgerissen sind. Doch dazu später in einem weiteren Artikel „Wie pimpe ich mein Saite TQ?“
    knobs_org
  • Grundgerüst
    Auf dem ersten Blick sieht es wie gesagt gut aus, schaut man aber näher hin und fasst das Material auch mal an merkt man schon das günstige minderwertige Materialien eingesetzt und schon stellenweise lieblos zusammengesetzt wurden.
    Ich dachte das Grundmaterial wäre MDF, Trespa oder was ähnlich stabiles. Dennoch besteht es aus einem sehr leichten zerbrechlichen mir nicht bekannten Material. Wenn man ordentlich damit umgeht könnte es auch länger halten. Hier fängt schon das „Lieblose“ an. Warum wurden die Löcher der Schrauben nicht ordentlich gesenkt und nach dem Verschrauben mit lackiert ? Es würde hochwertiger ausschauen.
    Ein vergleich zu einem Original Nachbau (hier ein Bauteil von Wolfgang Niemann, der in der Simmerszene als „TQ-Baumeister“ kein Unbekannter ist) zeigt das der Saitek-TQ Aufsatz ca. 80% kleiner als das original ist.
    IMG_4063  IMG_4049
  • Thrust Revers Handle
    Auch die sind Ok. Lediglich die Verarbeitung der Hebel lassen wieder mehr oder weniger zu wünschen übrig. Ich erwähtne schon das man für 70€ keine Wunder erwarten darf. Aber  ein wenig mehr  schleifen, sprühen etc. an vielen Stellen hätte das Produkt nochmals 100% besser gemacht. Dafür hätte ich gerne auch mehr gezahlt.
    IMG_4064  IMG_4080
  • Spoiler & Flaps Handle
    Auch hier sind beide „Knöpfe von der Größe und Verarbeitung Ok. Wie bei den Stangen der Reversern hätte man auch hier wieder mehr Sorgfalt walten lassen können. Ein wenig Farbe auf die Innenseite hätte auch nicht geschadet.
    IMG_4071  IMG_4072  IMG_4073  IMG_4074

Mein Fazit:
Alles in allem ist der Saitek Pro Flight Yoke-TQ Aufsatz von FlightSimulatorParts trotz einiger schwächen Ok. Mit ein wenig Aufwand kann man das Teil noch aufwerten. Wer  z.b. vorhat die Schalter funktional zu machen, sollte das vielleicht bei der Bestellung mit angeben.  Es ist besser wenn die Schalter nicht eingesetzt sind (sie reißen sehr schnell ab). Das einzige was wirklich besser ist, ist der 99,99% motorisierte Nachbau von meinem Kollege Wolle der aber auch in einer ganz anderen Preisklasse spielt.
737 throttle quadrant 1   737 throttle quadrant 4

Saitek Pro Flight Yoke TQ – FlightSimulatorParts review
4.67 (93.33%) 3 stimmen

Saitek 737 TQ Aufsatz

Um meinen 737 Sim ein wenig realistischer zu machen hab ich mir für umgerechnet 79€ (ink. Lieferung) einen Aufsatz für meinen Saitek Schubhebel von Flight Simulator Parts gegönnt.

Die Bestellung und Bezahlung im englischen Shop ist unproblematisch. Lieferzeit wird bis zu 2 Wochen angegeben doch innerhalb einer Woche war mein Packet da, Respekt.

Aussenverpackung und Polsterung innerhalb des Karton waren gut. Auf den ersten Blick sehen die Teile allerdings ein wenig… solala aus.
Nun ja für knapp 80€ kann man natürlich keine Wunder erwarten.

Ich werde in den nächsten Tagen, nach Anbau und Überprüfung  nochmal einen Ausführlicheren Bericht schreiben.

IMG_4040IMG_4041 Saitek 737 TQ

Bewerte diesen Artikel

Arduino mit FS2004 / FSX – Link2FS

Durch zufall hab ich noch eine Software gefunden welche die Steuerung zwischen FS2004 / FSX und einem Arduino übernimmt.

Das ganze wird schon seit 2007 entwickelt und steht auch nicht still.

Link2FS

Link2FS

Arduino mit FS2004 / FSX – Link2FS
5 (100%) 6 stimmen

Boeing 737 – throttle quadrant


Ein paar Bilder vom 100% handgemachten TQ einer Boeing 737

Bauzeit:    1 Jahr
Planung und Umsetzung: Wolfgang Niemann
Material:  MDF/ALU

Wheels, Lever und Speedbrake mit Getriebemotoren
Trimnadeln mit Servos

Auto Parkbreake
Umkehrschub abhängig von Leverstellung mit Rutschkupplung

Pulverbeschichtet und beleuchtet.

 

Boeing 737 – throttle quadrant
4.8 (96%) 10 stimmen
1
Facebook Auto Publish Powered By : XYZScripts.com