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.

Go to page 1Go to page 012Go to page 2Go to page 2
Avatar
Mpe737
From: EDDH, Germany
Posts: 58
Supporter
Hallo Flusi-Freunde,

ich möchte in den nächsten Tagen auch einen 737 Kompass mit Steppermotor
und Hallsensor mit Mobiflight umsetzen.
Um möglichst schnell zum Erfolg zu kommen habe ich vorab einige Anfängerfragen und
Unsicherheiten die bei mir noch unklar sind, trotz Lesens der Forumseinträge:

1)
An einigen Stellen im Forum wird auf ein Tutorial für die Stepper
verwiesen, das kann ich leider nicht finden...
2) Wie schließe ich den Motor an welche PINS des Arduino Mega an?
Schließe ich den Motor direkt an oder über einen ULN2003 Treiber?
Ich habe an dem Arduino bereits 26 LED´s, 2 Servos und 9 Schalter angeschlossen.
Einige wenige PINS sind noch frei.
Muß ich für einen Steppermotor bestimmte PINS verwenden? Bzw. dürfen bestimmte PINS nicht verwandt werden?
3) An welche Pins muß ich den Hallsensor (3 Anschlüsse, 5V) wie anschließen?
4) Im Forum habe ich gelesen, dass zur Konfiguration bekannt sein muß wie viele Step´s eine
volle Umdrehung ausmachen. Wie bekomme ich das im Zweifel raus?
5) Wenn jemand schon eine fertige Konfiguration für einen Kompass hat (ich fliege die PMDG 737)
würde ich mich natürlich sehr darüber freuen.

Sebastian, dieses Projekt wurde ja bereits unter "Wet Compass - Projekte" diskutiert, vielleicht
sind ja bereits alle Fragen beantwortet, dennoch brauche ich noch etwas Basisinput.

Ich danke Dir und Euch für Eure Hilfe!

Viele Grüsse
Michael
2016-01-10 13:26
Avatar
DocMoebiuz
Moderator
From: EDSH, Germany
Posts: 1516
Hi Michael,

cool, dass du das ausprobieren willst.
Ich nehme an, dass Du den Hallsensor für die initiale Positionierung des Steppers verwenden möchtest. Das ist aktuell leider noch nicht so richtig möglich. Ich hab sowas aber bereits in der Firmware vorbereitet.

Aktuell brauchst Du das nicht.

Das Tutorial für Stepper hab ich leider immer noch nicht fertig :(
Anschluss erfolgt via ULN2003.
Einfach die 4 Pins am MobiFlight konfigurieren.
Du kannst im Config Wizard den Stepper kalibrieren und dann den 0-Punkt setzen. MobiFlight wird beim Beenden der Ausführung immer wieder diesen 0-Punkt anfahren. Für mich ist das aktuell ein super Kompromiss und vereinfacht den Anschluss.

Die gängigen günstigen Stepper, haben 2048 Steps. Im Zweifel bekommst Du es einfach durch Ausprobieren raus. Nimm dazu den Test-Modus und ein vielfaches der vollen Umdrehung.

Beispiel: Altimeter -
Steps Sim: 1000
Steps Motor: ?
Test Value: 10000

Dann musst Du die Steps solange anpassen, bis nach 10 Umdrehungen der Zeiger an der gewünschten Stelle ist. Ich hoffe, Du verstehst was ich meine.
Die Anzahl der Steps brauchst Du für solche endlos drehenden Anzeigen. Sonst geht es mit der Interpolations-Funktion auch viel einfacher. Da kannst Du einfach eine Größe nehmen, z.B. 1000 - anschließend mapst Du Deine benötigten Anfahrpunkte durch ausprobieren. Hört sich eventuell kompliziert an, aber wenn Du ein bisschen probierst, verstehst Du bestimmt was ich meine.

Leider gibt es mit dem Kompass aktuell noch eine Herausforderung, die ich in der Software lösen muss: Das kontinuierliche Drehen auch über die Grenze 359 <-> 000 hinweg.
Aktuell gehen Sachen wie: Altimeter, V/S, Flaps-Position etc. Das mit dem Kompass ist leider noch offen oder Du darfst keine Vollkreis fliegen :)
Have a great day!
Sebastian

MobiFlight - Simply build your own home cockpit for your favorite flight sim - MSFS2020, FSX, Prepar3D (FSUIPC), X-Plane (XPUIPC)
2016-01-10 16:05
Avatar
Mpe737
From: EDDH, Germany
Posts: 58
Supporter
Hallo Sebastian,

vielen Dank für die schnelle Rückmeldung.
Ja, es ist ein Hallsensor.
Deine Erklärungen konnte ich nachvollziehen.
Vorab nochmals eine Frage zum Anschluß:
Brauche ich für den Anschluß 4 freie Pins auf dem Arduino Mega wie hier am UNO zu sehen?
http://www.hobby-werkstatt-blog.de/wp-content/uploads/2014/02/28BYJ48.jpg
Ich möchte halt vermeiden, schon beim Anschluß einen Fehler zu machen bzw. das Arduino Board oder
den Stepper kaputt zu machen. Bin da halt unsicher.

Ja, die Problematik mit dem Wechsel von 359 auf 0 Grad und umgekehrt geistert mir auch schon
die ganze Zeit im Kopf rum.
Aktuell denke ich darüber nach, ob man nicht den Offsetwert komplett vom
Ausgabewert entkoppeln könnte und eine Berechnung in eine Endlosschleife legt.
In englischen Foren habe ich dazu auch schon Lösungsansätze gefunden aber noch nicht genau verstanden.
Es müsste bei jedem Durchlauf einer Programmschleife eine Abfrage erfolgen ob der vorherige Wert kleiner oder
größer als der aktuelle ist. Zusätzlich müsste eine Abfrage erfolgen ob dabei der 359/0
Gradwechsel durchlaufen wurde. Ich könnte mir vorstellen, dass man das über eine Differenz
abbilden könnte. Ist diese sehr groß wurde der Wechsel durchlaufen. Aber jetzt stellt sich noch die Frage
in welche Richtung. Vielleicht über die Auswertung ob der Differenzwert positiv oder negativ ist.
Aber auf diese Art sollte es eigentlich irgendwie gehen.... Ich denke ein kleines Zusatzprogramm ist aber auf jeden Fall notwendig.

Zunächst möchte ich den Kompass aber grundsätzlich zum Laufen bekommen und die Logik verstehen.

Ich melde mich, sobald der Kompass da ist, ich hoffe nächste Woche, und dann gehts los...

VG
Michael
2016-01-10 19:58
Avatar
DocMoebiuz
Moderator
From: EDSH, Germany
Posts: 1516
iconMpe737:


Brauche ich für den Anschluß 4 freie Pins auf dem Arduino Mega wie hier am UNO zu sehen?
http://www.hobby-werkstatt-blog.de/wp-content/uploads/2014/02/28BYJ48.jpg
Ich möchte halt vermeiden, schon beim Anschluß einen Fehler zu machen bzw. das Arduino Board oder
den Stepper kaputt zu machen. Bin da halt unsicher.



Ja genauso geht es auch mit MobiFlight. Der Stepper auf dem Bild ist der, den ich zum Testen genommen habe.
Funktioniert super.

Wegen dem Support für endlos drehbaren Kompass:
* Eventuell geht es tatsächlich heute schon mit ein paar Kniffen und Expressions
* Ich würde es aber gerne benutzerfreundlich gestalten, so dass es ohne Umwege konfiguriert werden kann.

Falls Du Dich da wirklich ganz kurzfristig dran machen willst, finden wir sicherlich eine Möglichkeit.
Have a great day!
Sebastian

MobiFlight - Simply build your own home cockpit for your favorite flight sim - MSFS2020, FSX, Prepar3D (FSUIPC), X-Plane (XPUIPC)
2016-01-10 21:25
Avatar
Mpe737
From: EDDH, Germany
Posts: 58
Supporter
Hallo,

heute kam der Kompass. Erste Tests leider ernüchternd. Daher vorhab einige allgemeine Fragen:
Nach Anschluß und Auslösen der Mobiflight-Testfunktion läuft der Motor/Kompass leider nicht richtig.
Er läuft an, nimmt im unteren Drehzahlbereich die Scheibe ruckartig mit und brummt dann. Es klingt als würde ein
normaler Motor hochtourig laufen. Nun habe ich keinerlei Erfahrung mit Steppern. Ist das vielleicht normal? Ein mechanisches Problem möchte ich eigentlich ausschließen, da der Kompass direkt auf der Motornabe sitzt und eigentlich frei drehen kann. Zur Fehlereingrenzung habe ich zunächst folgende Fragen:
Ich habe die Pins 14,15,16,17 am Arduino Mega mit dem Stepper belegt. Diese sind ja auf dem Board mit "Communication" beschriftet.
Sind diese PINS generell für einen Stepper geeignet (andere habe ich leider nicht mehr frei)?
Für die Stromversorgung des ULN 2003 habe ich ein USB 5V Netzteil genommen. Ist dies generell geeignet? Muß ich ggf. den Minuspol des Netzteils mit Minus des Arduino verbinden?

Vielen Dank für Eure Hilfe!

VG
Michael
2016-01-12 21:06
Avatar
DocMoebiuz
Moderator
From: EDSH, Germany
Posts: 1516
iconMpe737:

Hallo,
Für die Stromversorgung des ULN 2003 habe ich ein USB 5V Netzteil genommen. Ist dies generell geeignet? Muß ich ggf. den Minuspol des Netzteils mit Minus des Arduino verbinden?


Ich betreibe sie aktuell immer mit Strom via Arduino. Bei den 7 Segment Anzeigen ist es jedenfalls so, dass man Den GND vom Netzteil zusätzlich am Arduino mit anschließen muss. Nur dann hast du ein gemeinsames Potential was Du für die Ansteuerung benötigst.

Ich betreibe aktuell 3 Stepper und die laufen absolut smooth und leise.
Zu Testzwecken kannst Du doch mal temporär auch andere Pins ausprobieren.

Wenn der Motor so hohe surrende Geräusche von sich gibt dann liegt es eigentlich meist daran, dass die Pin Reihenfolge falsch ist oder eventuell der Pin nicht geeignet ist. Letzteres lässt sich durch Nutzung anderer Pins leicht überprüfen.
[Last edited by DocMoebiuz, 2016-01-13 08:43]
Have a great day!
Sebastian

MobiFlight - Simply build your own home cockpit for your favorite flight sim - MSFS2020, FSX, Prepar3D (FSUIPC), X-Plane (XPUIPC)
2016-01-12 22:57
Avatar
Mpe737
From: EDDH, Germany
Posts: 58
Supporter
Hallo Sebastian,

so nun funktioniert er schon (fast) perfekt. Das ungewöhnliche Verhalten lag tatsächlich an der fehlenden Masseverbindung zwischen dem 5V Netzteil für den ULN2003 und dem Arduino. Nun schnurrt der Stepper. Konfiguration des Kompasses wie gewöhnlich bei Mobiflight ein Kinderspiel.
Eigentlich könnte ich sogar damit leben, dass der Kompass eine volle Runde beim Wechsel 0 auf 360 Grad dreht; schöner wäre es natürlich
ohne :rolleyes: Du hattest ja schon angedeutet, dass es eine Lösung geben könnte... bzw. eine Lösung auch bereits mit herkömmlicher Konfiguration denkbar ist. Vielleicht kannst Du da mal schreiben an was Du gedacht hast, dann würde ich ein wenig probieren...

Soweit, vielen Dank für diese wunderbare Software und Deinen tollen Support!

VG
Michael
2016-01-13 18:24
Avatar
DocMoebiuz
Moderator
From: EDSH, Germany
Posts: 1516
Das freut mich!
Das mit dem endlos drehen kriegen wir auch noch hin
Have a great day!
Sebastian

MobiFlight - Simply build your own home cockpit for your favorite flight sim - MSFS2020, FSX, Prepar3D (FSUIPC), X-Plane (XPUIPC)
2016-01-13 20:26
Avatar
Jan737
Posts: 3
Hallo Alle zusammen,

Hat Eine mittlerweile ein Lösung gefunden fuhr das endlos drehen?

Grusse Jan
2016-10-12 21:50
Avatar
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
Refresh...
Da ich die Tage mal ein Bild in den Händen hatte mit nen Kompass ist mir das Thema wieder durch den Kopf gegangen....

Hab mir einen Stepper bestellt aber der hat leider ne längere Lieferzeit.
Hab im Kopf schon ne Idee wie man die 360ger Schwelle lösen könnte aber mir fehlt noch das Grundverständnis des Steppers (mit Mobiflight).

Woher weiß der Stepper wo er gerade ist ? Also wie Kalibriert er sich ?

Mein Grundgedanke war es eigentlich für einen Stepper 2 Configs zu machen die jeweils gespiegelt sind....
Für den Kompass wäre das z.b. C1 Nullpunkt bei 90 Grad und C2 Nullpunkt beu 270 Grad.
Somit wäre der Problematische "Überschlag" nicht mehr bei 0-360 sondern bei 89/90 bzw 269/270

Jetzt war mein Ansatz die Configs per Vorbedingung in 2 Hälften zu Teilen....
C1 arbeitet nur wenn Offset >180 und C2 arbeitet nur wenn Offset<180

Ist meine Logik jetzt richtig das jetzt keine der beiden Configs diesen "Überschlagpunkt" erreicht, da in jeweils ihrer Hälfte in der ihre Config aktiv ist dieser Anschlagpunkt ja gar nicht vorhanden ist.

Das ganze Gedankenspiel funktioneirt natürlich nur, wenn der Stepper weis wo er gerade ist (Unabhängig von der aktiven Config).

Wer sich auskennt sagt mal bitte ob das gehen würde, oder erklärt mir bitte wie die Nullkalibrierung arbeitet bevor ich meine ersten (fehl)versuche starte :-)
Good Luck !
2016-12-04 15:59
Avatar
Mpe737
From: EDDH, Germany
Posts: 58
Supporter
Hallo Pizman,

das Funktionsprinzip des Steppers ist relativ simpel. Der Stepper benötigt eine definierte Anzahl von Steps um eine volle Umdrehung zu fahren. Diese Anzahl von Steps wird mittels MF in Relation zum Offsetwert gesetzt. Bleiben wir beim Kompass. Angenommen Dein Stepper macht 2048 steps für eine volle Umderhung, dann werden diese Steps in Relation zu 360 Grad gesetzt. Einmalig wird bei der Einrichtung der Stepper kalibriert. Beim Kompass wird mittels MF der Stepper solange verstellt bis er z.B. bei 0 Grad auf "Nord" zeigt. MF zählt im Hintergrund immer die Steps mit, sowohl aufsteigend wie absteigend somit geht der Stepper bei Beendigung von MF wieder genau auf 0 zurück. Das ist natürlich auch der Vorteil beim Stepper. Man benötigt also keinen Hallsensor o.ä. um die Postion immerwieder zu kalibrieren. Einzig wenn MF mal abstürzt muß man den Stepper neu kalibrieren.
Ob Dein Ansatz funktioniert kann ich nicht sagen. Es müssten dann ja zwischen den beiden Berechnungen auch jeweils der "Stepperwert" übermittelt werden. Das kann wohl nur Sebastian sagen und ich vermute, dass dazu Anpassungen notwendig sind.

Ich habe mich übrigens an den Umlauf bei 0/360 Grad gewöhnt. Irgendwann fällt einem das gar nict mehr auf....

VG
Michael
2016-12-04 19:30
Avatar
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
Danke für die Info....
Dann ist mein erster Ansatz also wie es aussieht falsch. Egal.... Hab noch nen anderen :-)

Zusatzfrage:
Sebastian schreibt weiter oben, das eine "Altimeter" Anzeige möglich ist.... Der Altimeter (Analog) läuft ja bekanntlich über den Vollkreis drüber......

Sehe ich das Richtig, das die Werte die wir dem Stepper bei der Config eintragen nicht die ganze Range des Offsets darstellen sondern ledeglich EINEN Vollkreis vermitteln.....
Also wenn ich sage "Eine Umdrehung =2048 Steps = 1000ft Höhe = Offset Range von 1000 " Dann kappiert der Stepper wenn der Offsetwert 3700 ist, das er jetzt 3 Volle Umdrehungen machen muss und nochmal bis 700. Richtig ?? Somit wäre unser Kompass Problem ja "nur" das der Wert bei 360 zu 1 wandert und nicht zu 361

Wenn das so stimmt, dann glaube ich das ich vielleicht einen Weg gefunden habe wie Sebastian andeutete.... " * Eventuell geht es tatsächlich heute schon mit ein paar Kniffen und Expressions *"
Bevor ich aber hier 10 Seiten wilde Spekulationen Poste bestätige mir bitte erst obige Erkenntnis da sonst meine Lösung sinnlos wäre!

Eins noch....
Bei meinen ganzen Gedankenspiel sehe ich einen kleinen Hacken.....
Ich denke es geht das man den Stepper Offset Wert vom "echten" Kompass Offset trennt (was ja auch dein Ansatz war) ABER :
Man müsste am Anfang einmal den Kompass "angleichen" (Den Echten Offset auf den unseren übertragen) was per Taster-Config gehen würde.... (Akzeptabel denke ich)
WAS passiert aber wenn sich über mehrere Stunden Flug zwecks Lags oder Übertragungsdelays Fehler einschleichen ??? Geht eine Relevante Abfrage verloren dann zeigt unser Kompass 1 Grad falsch an.... . Da der Wert ja entkoppelt ist kann er sich nicht mehr von selbst an den "echten" Offset angleichen ! und rechnet mit diesen "Fehler" weiter.
Wäre es "akzeptabel" wenn wir manuell bei Bedarf den Kompass nachkalibrieren müssten durch erneuten druck auf die Taste ?
Good Luck !
2016-12-05 02:38
Avatar
Mpe737
From: EDDH, Germany
Posts: 58
Supporter
Hallo "Pizman",

Deine Annahmen bezgl. Altimeter kann ich bestätigen.
Deine Ausführungen bezgl. Kompass erschliessen sich mir nicht so richtig. Ich denke das große Problem
beim Kompass ist die Tatsache, dass man den Wechsel von 360 auf 1 und 1 auf 360 greifen muß und an
eine Berechnungsformel übergeben müsste. Da aber der Offsetwert/Ausgabewert weitgehend "hartverdrahtet"
mit dem Stepperwert ist
sehe ich mit den bestehenden MF-Möglichkeiten keine Lösung.
Es ist aus meiner Sicht eine Programmierung notwendig.

Die Formel könnte so aussehen:
Annahme:
Offsetwert (OW): 1 bis 360
Steps für eine Umdrehung: 2048
Variable für Wechsel 360 auf 1 und 1 auf 360: x
Bei Wechsel 360 auf 1: x=x+1
bei Wechsel 1 auf 360: x=x-1
Ausgabewert= x*360+OW

Damit hätten wir gleich das nächste Problem: Der Ausgabewert kann negativ werden.
Was macht MF in dem Moment beim Zählen der Steps. Wäre das zulässig? Sprich, wird der Ausgabewert negativ, werden dann die Steps einfach weiter runter gezählt. Wenn ja und wenn man dann x definieren könnte und in die Berechnungsformel für den Ausgabewert einbringen könnte, dann wäre das mein Lösungsansatz......

Naja, ich fliege nur noch Südkurse, somit habe ich keine Kurse über die 360/1 Grad Grenze und meine Kompass macht keine
Volldrehung.... war natürlich nur Spass, ich habe mich an das Drehen gewöhnt und so oft kommt es ja auch nicht vor.
Wenn man allerdings tatsächlich direkten Nordkurs fliegt und der Wind die Nase um Nord pendeln lässt, dann dreht sich mein Kompass schwindelig....

VG
Michael
2016-12-06 21:19
Avatar
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
Hi Michael.

Da ich keinen Kompass selber habe (Und noch immer keinen Stepper dank Lieferzeit :scared: ) ist es mir eigentlich auch egal. Ich würde sicher auch mit dem "Bug" leben können aber mir geht es mehr darum auszuloten was mit Mobiflight geht bzw Sebastian "Baustellen" aufzuzeigen wo eine Zusätzliche funktion womöglich Sinn macht (Auch für andere Dinge).

Was eigentlich traurig ist, ist der Fakt das dieses Problem vermutlich mit wenig Programmzeilen lösbar wäre.....
Übertrieben gesagt.....
Lese Originalwert und schreibe in Variable 1
Warte xxx millisekunden
Lese Originalwert und schreibe in Variable 2
Vergleiche Variable 1 und 2 nach einer bestimmten Formel
Je nach ergebnis per If - Elseif - Else verändere den Wert von Customofset XYZ
Beginne von Vorne.....

Und schon hätte man einen offset für den Kompass der sich je nach Bytelänge hunderte oder Tausendemale drehen könnte.

****
Leider ist die größte Stärke von Mobiflight auch vielleicht seine größte Schwäche..... So Cool das Interface ist und es uns ermöglicht ohne Programmiersprachen zu beherschen die ganze Sache zu verwirklichen so schränkt diese auch die Möglichkeiten teils massiv ein.

Nur als Beispiel....
Ich kann einen Offset Lesen und den Wert für die Mobiflight Ausgabe verändern.... (z.b. um eine LED Leuchten zu lassen wenn ein Offset < 1000 ist )
Ich kann auch einen bestimmten Offsetwert schreiben als Input Config wenn ich eine Taste Drücke.

Ich kann aktuell aber nicht sagen Schreibe auf den Offset-B immer den Wert der bei Offset-A nach der Veränderung bei Mobiflight ausgegeben wird.... Wie es aussieht kann man die Werte eines anderen Offsets zwar als Bedingung nehmen aber nicht als "Wert" in eine Funktion integrieren.

Auch kann man selbst keine Variablen erstellen sondern nur "indirekt" einen Customoffset als "Puffer" verwenden. Aber hier findet dieser Schreibvorgang ja nur bei einen Tasteninput statt. Somit ist es wohl auch nicht möglich zu sagen.... Immer wenn OffsetXY genau 0 ist dann erhöhe den Wert von CustomoffsetZZ um 1 (Der von uns benötigte Schleifenzähler für den Kompass) Zumindest kenne ich aktuell keinen Weg einen "Write" zu machen ohne aktiv einen Input auszulösen (Schalter)

Auch diese beiden Fälle könnten in einen selbstgeschriebenen Programm mit wenigen Zeilen und ner Handvoll Standardbefehle perfekt gelöst werden.

****

Bitte das hier nicht als Kritik auffassen. Als Programmieranfänger bin ich Dankbar das es Mobiflight gibt..... Und ich verstehe auch das es sehr schwer ist dem User mehr "Werkzeuge" zu geben und das ganze immer noch mit GUI zu gestalten ohne programmierkenntnissse zu verlangen....
Keine Ahnung ob eine art Optionale Script Möglichkeit denkbar wäre wo man alternativ zu den Configeinträgen als erfahrener User direkt Code eingeben kann und so auf das System offen zugreifen kann. Wenn MF Open Source wird wäre das ganze noch viel einfacher da man so den code im ganzen ja sehen und verstehen könnte. Es wäre dann kein Problem zu erkennen wo der gelesene offset "gelagert" ist und diesen z.b. für eine IF-ELSE zu verwenden.


Danke Trotzdem für den netten Austausch. Mal sehen was die Zukunft bringt !
Good Luck !
2016-12-07 04:20
Avatar
DocMoebiuz
Moderator
From: EDSH, Germany
Posts: 1516
Das kriegen wir schon noch gelöst. Bald. Keine Bange.
Have a great day!
Sebastian

MobiFlight - Simply build your own home cockpit for your favorite flight sim - MSFS2020, FSX, Prepar3D (FSUIPC), X-Plane (XPUIPC)
2016-12-07 06:40
Go to page 1Go to page 012Go to page 2Go to page 2