MobiFlight Community Support

Welcome to the forum for MobiFlight! Feel free to reach out to the community in case you have questions, issues or just want to share great ideas or details about your latest home cockpit project.

You like MobiFlight? Donate via PayPal and support the MobiFlight development. Thanks! 

05/03/2024 - This forum is read-only

The community support for MobiFlight has moved exclusively over to our Discord server. Register for free and enjoy more interactive functions like image and video upload, voice chat. More than 7,000 registered users around the world make it a great experience!

See you on our MobiFlight Community Discord server.

A HUGE Thank You to everyone who participated in the forum, especially obviously to Pizman and Stephan who did an outstanding job over so many years providing an incredible service to the MobiFlight community.

The forum is still providing a lot of good content, hence we keep this information accessible.

icon
Avatar
StephanHo
From: EDDG, Germany
Posts: 1867
Supporter
Hi zusammen,

die Stepper vom freundlichen Chinesen sind angekommen.
Also losgelegt und den Stepper in MF konfiguriert. Stepper läuft im Testmodus einwandfrei. Wird allerdings sehr warm, auch wenn er nichts tut und die Flaps auf 0 stehen.

Die Flaps im Simulator werden derzeit direkt über SPADneXt gesteuert. Dort kann man die Detents direkt auswählen und paßt 100%.
Schaute ich erstmal in die Offsets von FSUIPC und wurde bei 0x0BDC fündig.

Da ich wissen wollte, was MF an Werten ausgibt, war mir erstmal die Reaktion des Steppers egal (hätte lecker Kuchteig rühren können ;) )
Als Werte werden ja 0 .... 16383 angegeben. Die einzelnen Detents kamen denn auch entsprechend. Nur drehte sich der arme Stepper nen Wolf.

Somit mußte ich an die Parameter. Bei meiner 737 gehen die Klappen ja von 0 über 1, 2, 5, 10, 15, 25, 30 nach 40. Hierbei wird ein 3/4 Kreis oder 270° beschrieben.
MF möchte aber einen Vollkreis (360°) haben. Also der gute alte Dreisatz 16383/75*100=21844. Diesen Wert bei Sim eingetragen und die Klappen direkt auf 15 gestellt.
Dorthin lief auch der Stepper - aber mit einem Unterschied zur Anzeige im FSX: Von 0x0DBC werden die jeweiligen Detentstufen ausgegeben bzw. deren Werte in Bezug auf 16383.

Der Stepper hat diese Stufen auch einzeln mit der ihm innewohnenden Geschwindigkeit angesteuert. Es gab also im Bewegungsablauf immer wieder Pause, weil der Stepper auf die nächse Detentstufe gewartet hat. Aber das Prinzip funktioniert, stellt mich aber nicht zufrieden.

Also die Suche im Forum hier aktiviert und ich wurde fündig: 0x6568. Da liefen aber die Werte mit Nachkommastelle, das Problem in dem Thread wurde erläutert. Dort wurde der Wert dann im Transform mit $*1000 angegeben. Das wäre aber bei mir mehr als eine Umdrehung gewesen, ich brauche ja nur 0,75 Umdrehungen. Also die 3/4-Umdrehung (16383) durch die 40 Grad dividiert und 409 eingetragen. Es laufen zwar die Werte von 0 bis 40 sauber im Feld FSUIPC-Wert durch, aber beim Ausgabewert ist bei 1024 Ende. Es gibt dann in dem Feld einen Klammerwert, der exakt dem benötigten Wert entspricht, aber nicht an den Stepper weitergegeben wird. Hab ich da einen Fehler in den Parametern?

Im Config Wizard habe ich unter FSUIPC folgende Werte eingestellt:

Offset: 0x6568
Wert Typ: Float
Größe in Bytes: 4
Maskiert mit: 0xFFFFFFFF
Transform: $*546

unter Display:
Sim/Stepper: 21844 / 2040
Compass Mode off (oder on - spielt keine Rolle)

Stepper dreht bis 1024 mit und bleibt dann stehen. Im Ausgabefeld bleibt die 1024 stehen, der folgender Wert in Klammern entspricht dem Wert, der abgearbeitet werden sollte.
Wo liegt mein (Denk)Fehler?
[Last edited by StephanHo, 2017-05-24 08:12]
Grüße,
Stephan (Time: UTC+2)
2017-05-23 21:16
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 6010
Supporter
*grusel*

Vorweg... Bei Stepper führen VIELE Wege nach Rom.
Du kannst die 360° z.b. einschränken indem du den Stepper Wert selbst änderst. Also für ne 3/4 Umdrehung z.b. die 2048 /4 *3 = 1536
Würdest du nun z.b. einen Wert Darstellen der von 0-16683 geht verwendest du SIM 16683 / Stepper 1536
Dann ist Wert 0 der Nullpunkt .... 16383 wäre dann bei exact 270° ( Also 3/4 der Skala) denn du sagst ihm ja das eine Umdrehung jetzt nur noch 75% des Vollkreises sein soll.

Nur als Beispiel könntest du gleiches auch erreichen indem du den Stepper Wert bei 2048 lässt aber den SIM Wert erhöhst, so das die 16383 jetzt nur noch 75% anzeigen.
Also 16383 /3 *4 = 21844 ..... SIM 21844 Stepper 2048
jetzt ist das ergebnis das Selbe.... Bei 16383 ist der Zeiger bei 270° 3/4 der Skala.... Denn wir sagen das 21844 ein vollkreis wären und du aber nur als wert 16383 gerade hast.

SOMIT: Es gibt 1000 Möglichkeiten das ganze einzustellen und theoretisch funktionieren alle 1000 !

***********************

Mein Tip Hier:

1. PMDG will PMDG Offsets.... Also vergiss mal 0BDC und verwende den PMDG Offset !

2. Wie du im anderen Thread gesehen hast.... ein Stepper ( ähnlich wie ein Display) erkennt keine Kommawerte. Der PMDG Offset geht von 0-40
Folgerlich ist von 0,01 bis 0,99 keine Info da und der Stepepr zeigt 0 ..... Von 1,01 bis 1,99 gleiches Problem. Er bleibt auf 1 und springt dann irgendwann direkt auf 2.
Lösung wie beschrieben TRANSFORM $*1000 ... Dadurch wird aus 0,01 = 10 .... aus 1,55 wir 1550 Also alles Positive Ganzzahlen die eine Saubere Fahrt erlauben.

3. Stepper Setting:
Als erstes musst du hier den 360° kreis Reduzieren. Die 2 Möglichkeiten habe ich oben beschrieben,
Also Entweder den Stepper Wert in deinen fall für 270° auf 75% reduzieren ODER den Sim Wert um 1/3 erhöhen, so das beim höchsten Wert genau die 270° Position erreicht wird.

Dann musst du den Sim Wert bestimmen. Hier gibt es ebenfalls wieder mehrere möglichkeiten die am Ende aber alle funktionieren.

NUR ZUR INFO Bei einer Liniaren Anzeige wäre es am einfachsten den Echten Offset Wert zu verwenden. In Unseren Fall haben wir 0-40 bzw nach dem Transform 0-40000.
Also Ist der Wert je nachdem wie du die Drehbegrenzung gemacht hast für Möglichkeit A "Sim 40000 Stepper 1536" für Möglichkeit B "Sim 53300 Stepper 2048"

Letztes Problem:
Leider ist unsere Anzeige ja nicht Linear....

Wie du siehst ist am Anfang ein 90° Bereich gerade mal von 0-etwa 3 der 2. 90° Bereich von 3 bis 15.
Also brauchen wir INTERPOLATION !
Du musst jetzt für jeden Input Wert einen Ausgabewert definieren.

HIER bie NICHT LINEAREN verwende ich nun einen kleinen Trick.
Da wir ja eh interpolieren ist es uns ja eigentlich egal welchen SIM Wert wir beim Stepper eintragen da dieser ja sowieso nicht mehr stimmt. Also verwende ich hier die Kompasrose um mir das leben leichter zu machen.
ALSO: SIM 3600 ( Damit er ruhiger läuft als bei 360) und Stepper 2048 ( Bei meinen Stepper... Manche haben auch 4096)

Jetzt brauchst ein "Geo Dreieck" oder gutes Augenmaß. Du musst nun prüfen WO die nadel stehen soll wenn sie auf deiner Anzeige auf 1 Stehen soll. Bei dem Bild hier wären das ca 30°

Um das besser zu testen kannst du jetzt unter Config/Display bei den Stepper Settings die TEST Funktion verwenden.... 30° wären ein Wert von 300 Also gib bei Test Value 300 ein und drücke auf TEST. Jetzt fährt die Nadel zur 300 Position. Ist sie GENAU auf der 1 Position der Anzeige hat es geklappt.... ISt sie nicht genau dort musst du den Wert anpassen.

Am Ende:
Finde durch die Testfunktion genau raus welche Werte du brauchst um die einzelnen Displaypositionen anzufahren.....
Dann Öffne das Interpolationsfeld und gebe die Werte ein: ( Denke Dran Inputwert wäre 0-40 ist aber durch Transform *1000 jetzt 0-40000)
Flaps 0 = Wert 0 = Ausgabewert 0
Flaps 1 = Wert 1000 = Ausgabewert den du für die 1 Position herrausgefunden hast (vermutlich ca 300)
Flaps 2 = Wert 2000 = Ausgabewert für Psoition 2 ( vermutlich um die 400)
usw.


Hoffe das sollte jetzt alle fragen geklärt haben !
Good Luck !
2017-05-24 14:48
Avatar
StephanHo
From: EDDG, Germany
Posts: 1867
Supporter
Danke pizman,

aber meine grundsätzliche Frage scheint untergegangen. Das Prinzip habe ich verstanden und finde es ungemeint pfiffig umgesetzt und auch von dir beschrieben.

Der Ausgabewert von MF bleibt bei 1024 stehen, obwohl er ja bis 16383 laufen sollte. Unabhängig vom Eingabewert. Nach den 1024 kommt in Klammern der eigentliche Wert, der an den Stepper gehen sollte, aber der Stepper bleibt nach 1024 Schritten stehen, auch wenn die Ausgabewerte - die in der Klammer, die bis 16383 angezeigt werden - weiterlaufen.

Ich probier das mal mit den 360° aus und schnappe mir mal mein Geodreieck *hüstel* ist voller Staub ;) . Ergebnis kommt.
Grüße,
Stephan (Time: UTC+2)
2017-05-24 15:35
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 6010
Supporter
Sorry.

Das ganze ist etwas "undurchsichtig"

Z.b. ergibt es keinen Sinn ( zumindest nicht auf den ersten Blick) warum du bei Transform anstatt *1000 jetzt *546 einträgst zumal du im Text schreibst es müsste *409 sein

Dein Denkfehler ist grundsätzlich das du die 16383 vom ersten Offset immer noch in der Kalkulation hast !
Der PMDG Offset geht von 0-40 .... Folgerlich brauchen wir die 16383 nirgends mehr und es macht wenig sinn kompliziert über 5 Ecken das noch zu verwenden.

*****
Das problem mit der "Klammer"
Ein Wert in Klammern ist ein Zeichen für Interpolation.

Ich würde mal einfach vermuten du hast beim Interpolationsfeld eine Eingabe gemacht ( Womöglich die Chekcmark wieder ausgemacht ABER die Eingabe ist noch da)
Jetzt sagst do wolh dort "WENN Wert xyz dann setze Ausgabewert 1024"
Diese Klammer heist jetzt "Eigentlich ist der Wert XYZ was unten dort steht ABER Mobiflight soll wegen Interpolation 1024 an den Stepper senden"

Bin mir 99% sicher das du hier einen kleinen Fehler in der Config hast der beim Probieren sich eingeschlichen hat !
Good Luck !
2017-05-24 15:50
Avatar
StephanHo
From: EDDG, Germany
Posts: 1867
Supporter
BINGO!

Du hattest mit allem Recht. :thumbup: :w00t:

Daß der Wert und der Stepper bei 1024 stehenblieb war mein Fehler. Ich hatte die Interpolation aktiviert, nur die Defaultwerte dringelassen und nicht wieder ausgeschaltet. Darum war auch bei 1024 Ende.

Da ich deinen Gedanken mit den 360° sympatisch fand, habe ich den denn auch gleich umgesetzt. Erstmal die Gauge auf Papier ausgedruckt und das Geodreieck rausgekramt. Koordinatenkreuz 0/180 und 90/270 draufgezeichnet. Dann die Mitte der Detents markiert und den jeweiligen Winkel gemessen und eingetragen. Dann die Werte in den MF übertragen (Winkel *10) und Transform: $*1000. Dann im SIM/STEPPER mit 3600/2048 ausgefüllt. Wieder in Display und mit TEST mir die rechnerischen Werte mal grob anfahren lassen. Feinabgleich muß dann erfolgen, wenn die Gauge eingetrudelt ist. MF gestartet (vorher FSX) und die Detents für die Klappen eingestellt. Laufen sehr fein und sauber synchron (MF und FSX) und die jeweiligen Endwerte kommen schon gut hin (habe in die ausgedruckte Gauge ein Loch in die Mitte gemacht, auf den Stepper einen "Zeiger" von einem Servo aufgeklebt, ausgerichtet und los ging's).

Saß der Fehler mal wieder vor der Tastatur :confused:
Nun ist meine MF-Welt wieder in Ordnung. Danke!

PS: hattest du meine eMail bekommen?
Grüße,
Stephan (Time: UTC+2)
2017-05-24 19:14
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 6010
Supporter
Schön das es geklappt hat !

Nur noch als Nachtrag damit andere User das nicht falsch verstehen.....

Das mit den 3600 und der Kompassrose ist nur eine Hilfestellung die ich für mich entwickelt habe.... Natürlich klappt es auch wenn du als Wert 123456 nimmst nur als Beispiel. Andere Leute arbeiten auch gerne mit dem Selben Wert wie der Stepper.... Also 2048 in deinen Fall.... Dann wäre Wert+1 exakt 1 Step !

Wichtig ist also nur das du herrausfindest bei WELCHEN Wert die Anzeigenadel genau da ist wo sie sein Soll.... Und in der Interpolation verwendest du diese Informaton dann wie erklärt Eingabewert X = Ausgabewert Y .
Wie gesagt ich verwende die 3600 nur um nicht lange Probieren zu müssen sondern mit etwas Augenmaß oder Geodreieck direkt den meist richtigen Wert zu haben.
Du kannst also auch einfach irgendwas im Test eingeben..... Schauen wo die Nadel hinfärt und je nachdem den Wert erhöhen oder verringern bis er passt !

PS. Email ist da... Ich antworte später
Good Luck !
2017-05-25 16:02
icon