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!
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.
du hast auf deinen Boards auch diese ominösen Dioden.
Wenn ich mir die Bilder in dem anderen Thread betrachte, in dem du die Fotos von deinen Tubes zeigst, dann hat nur die mittlere Tube 5V, die linke und rechte hat 4,3V, weil du die über die Steckpins versorgst. Wenn du ein Multimeter hast, miss das mal bitte nach.
Hast du die restlichen Lötstellen (auch die ICs) mal nachgelötet? Auf meinen Boards hatte ich den Eindruck, die sind nur geklebt.
Somit dürftest du auch unterschiedliche Signalpegel von den ICs bekommen. Vielleicht liegt es daran.
Löte mal die Dioden raus und ersetze sie durch Drahtbrücken, dann hast du auch einheitliche Pegel.
Bei mir reicht es einfach jedem Modul die Spannung direkt zuzuführen. Dazu verbinde ich alle Vcc Pins untereinander und den ersten Pin in der Reihe zusätzlich mit dem Arduino.
Have a great day!
Sebastian
MobiFlight - Simply build your own home cockpit for your favorite flight sim - MSFS2020, FSX, Prepar3D (FSUIPC), X-Plane (XPUIPC)
Wo führst du direkt zu? An dem Steckpin vor der Diode oder danach?
Wie ich albeagle schon sagte, vor der Diode eingespeißt hat die Tube 4,3V (ausgehend von 5V vom Arduino) und nach bzw. anstatt der Diode 5V.
Ob die 0,7V Pegelunterschiede bewirken, die sich negativ auswirken, müßte man mal mit einen Oszilloskop checken.
Albeagle meint, daß er beim Einschalter seiner Tubeeinheit wirrde Zeichen auf den Tubes hat. Erst nach mehrmaligem aus und wieder einschalten sind die Display sauber
Ich will nur sicherstellen dass die Tubes mit Strom versorgt sind wenn das Arduino bootet - z.B. jedesmal wenn Mobiflight gestartet wird.
Yepp. So sehe ich das auch.
Nach deiner erklärung hat er einen zusätzlichen Schalter ( Womöglich zwischen 5v Arduino und dem 1. Tube. DAS geht nicht !
Dann hast das gleiche Problem wie wenn du ein Tube erst ansteckst obwohl das Arduino schon läuft.... Wie Anfangs mal gesagt... Das Tube muss beim Arduino Start bereits fest angeschlossen sein damit der "Asugangszustand" gesendet wird ( Oder was sonst so am Anfang passiert... keine Ahnung was genau)
Ich habe kein Schalter angeschlossen, alles geht uber dem Batt und Avionics schalter (also wird mit precondition gesteuert). Ich denke dass es eher mit der Spannung zu tun hat. Ich habe das radio wieder vom Cockpit raus genommen und was sehe ich da, an manchen modulen da war die Spannung sogar 3.6 V. Es wundert mich sogar dass es funktioniert hat. Ich habe habe alles moegliche nochmal geloetet was ich konnte aber trotzdem die module sind von schlechter qualitaet. Es ist aber viel besser jetzt. Nur beim ersten display werden die zahlen nicht angezeigt sobald mann das Radio schaltet (natuerlich zu erst die Strom Versogung) aber das kriege ich hin wenn ich nur eimal freq swap druecke. Ich habe auch die dioden weg genommen, und jetzt habe ich ungefaehr 4.8 - 4.9V. Da wakelt sich immer noch etwas aber es funktioniert viel besser. Ich habe jetzt auch die AP tasten angeschlossen und auch die Radio Transmit tasten. Was ich noch fragen wollte. Kommt es mir vor oder ist es wirklich so dass wenn mann Event ID-s benutzt, gibt es eine kleine Verzoegerung. Villeicht kommt es mir nur vor lol.
Japp Albeagle, das war es, was ich meinte. Die Dioden vermindern die Spannung für das nächste Modul. Die dortige Diode verringert wieder.
Die 3,6V hattest du am 3. Modul? Das geht gerade noch. Unteres Limit für den MAX9217 sind 3,4V, aber das würde ich nie ausreizen.
Wenn du das Board gerade mal ausgebaut hast, dann schau dir mal bitte die Lötstellen auf den Moduln an. Sind da welche von blaß oder sehen so'n bischen blind aus und glänzen nicht?
Du hast die blauen Boards, ist da bei dir um die Lötstellen so eine leicht graue Masse? Die kann man leicht abkratzen, aber die Stellen ruhig nochmal nachlöten. Wer weiß, was die bei der Herstellung für ein billiges Zeug genommen haben. Vermutlich ROHS-konform (Schadstoff frei). Wenn du hast, nimm bleihaltiges Lötzinn, das ist um längen besser, lötet schneller und besser, allerdings gilt das Blei als Schadstoff, aber du sollst das ja auch nicht lutschen
Wenn du es dir zutraust, dann löte mal den SMD-Chip (MAX9217) nach, aber bitte mit feinster Lötspitze, sonst fabrizierst du Kurzschlüsse.
Mehr fällt mir zu den Boards erstmal nicht ein. Vielleicht hat ja jemand anderes noch eine Idee.
Die von dir geschilderte Verzögerung halte ich für völlig normal, solange sie im Bereich unter einer Sekunde bleibt. Stell dir vor, eine Änderung im FS zeigt sich am Bildschirm. Jetzt fragt MF ja ständig den FS ab und ist gerade an dieser Abfrage vorbei und es dauert dann so lange, bis MF in seiner Programmschleife wieder an dieser Stelle angekommen ist. Umgekehrt kann auch der FS gerade an der Abfrage vorbei sein und es dauert wieder, bis er da ankommt. Insofern dürfte das sowohl bei den Event-IDs als auch bei den Offsets passieren. Bei mir sind das aktuell ca. 250 Millisekunden. Das ist aber auch genau die Zeit, die ich im MF für die Übertragung zum FSUIPC eingestellt habe. Verkürz doch einfach mal die Zeit für eine Session auf 150ms und schau, ob sich das positiv auswirkt.
Ich denke, die Verzögerung ist hinnehmbar. Wie fliegen ja nicht Überschall
Mich persönlich würde euer Problem nicht wirklich treffen....
Für mich stand bereits zu Anfang fest das ich keine Max7219 Ketten bauen werde.... ( Habe das nur mal zu Testzwecken gemacht).
- Wie Sebastian bereits sagte kann es zu dunkleren Displays kommen wenn man den 5v Durchschleift.
- Der Hauptgrund aber für mich.... Mobiflight gibt der ganzen Kette EINEN Device Namen. Ich habe aber gerne Pro Config ein spezifisches Display... Oder zumindest Pro Display einen spezifischen Namen aus gründen der Ordnung.
- Auch möchte ich gerne genormte Kabel Blöcke Pro Display haben (Ebenfalls aus Ordnungsliebe)
- Letzter Punkt... Ich bin da immer noch etwas Konservativ und will einen Arduino Chip nicht mehr als 4 Displays zumuten.... Bzw wenn 4 Displays drauf sind ihm nicht noch zig LED und Schalter reinwürgen. Somit jedes Display geht direkt ins Arduino.... Max 4 Pro Board.... Und falls 4 Drauf sind sind auch 12 Pins belegt was den Platz für sonstige Dinge wie Servo und Schalter LED einschränkt.... Hoffe ich komme mit der Technik nie an das Power Maximum oder an den Punkt wo der Chip an seine Grenzen kommt.
***************
Und zu deiner Frage auch wenn sie hier Off Topic ist....
Was ich noch fragen wollte. Kommt es mir vor oder ist es wirklich so dass wenn mann Event ID-s benutzt, gibt es eine kleine Verzoegerung. Villeicht kommt es mir nur vor lol.
Ob das "spürbar" ist kann ich so nicht sagen ( wenn dann wohl nur bei Encodern)..... Aber JA !
Bei nen FSUIPC Offset als Einstellung schreibt Mobiflight einen Wert auf einen Offset... Somit ist dieser nach dem einmaligen Schreibvorgang dort angekommen.
*
Bei EventID schreibt Mobiflight zuerst einen Parameter auf Offset 3114 ... Dann die EventID auf Offset 3110 (Vermutlich in einen Write Vorgang)
Dann erkennt FSUIPC diese eingabe und führt dementsprechend das FSX Interne Event aus... Und DIESES beschreibt dann den betreffenden Offset wieder mit deinen gewünschten Wert ( Oder Simuliert z.b. einen Mouseclick).
Somit JA.... Event ID erfordern FSUIPC/FSX intern mehrere zusätzliche Arbeitsschritte und dauern folgerlich länger.... Ob Spürbar liegt vermutlich auch an der Systemleistung bzw am Polling Intervall !
1. Die dunkleren Displays sind Geschichte. Werden die Dioden von den Boards entfernt leuchten alle 8 Tubes, also 64 7-Segment-Anzeigen alle gleichmäßig, es sei denn, es gibt seitens der Fabrikation Fertigungstoleranzen.
2. Die Anzeigen werden gemultiplext und zwar mit 800 Hz (siehe Datenblatt). Das bedeutet, daß selbst bei 8 Tubes mit 64 7-Segment-Anzeigen + Doppelpunkten maximal 7 Segmente+Doppelpunkt angesteuert werden. Dementsprechend niedrig ist auch der Stromverbrauch.
Steuerst du jeweils 4 Tubes mit 8 Digits einzeln an, dann verbrätst du folglich den 4fachen Strom, weil bei dir in jedem Tube jeweils immer 1 Segment einzeln angesteuert wird.
Wenn du also 8 Tubes einzeln ansteuerst, verbauchst du das 8fache an Strom als jemand der 8 Tubes als Kaskade ansteuert.
Wenn du also 4 Tubes einzeln ansteuerst, mutest du deinem Arduino den gleichen Strom zu, wie jemand, der 4 8er Kaskaden laufen läßt. 32 7 Segmentanzeigen auf 4 Tubes einzeln angesteuert verbrauchen so viel Strom wie 32 x 8 7-Segmentanzeigen (256 7-Segment-Digits). Es spricht also doch etwas für die Kaskadierung.
Hinsichtlich des Power-Maximums, muß man den Arduino auch nicht malträtieren. Eine externe 5V-Versorgung mit gemeinsamer Masse sollte den MEGA deutlich entspannter werkeln lassen, falls der Stromverbrauch grenzwertig werden sollte.
Allerdings kann ich mir nicht vorstellen, das jemand 8 Kaskaden mit 8 Tubes baut, das wären 512 7-Segment-Digits.
Letztlich ist es jedem überlassen, wie er seinen Arduino quält
Ich kann nachvollziehen, daß du aus Ordnungsliebe die Sachen anders aufbaust und kein Freund von Kabelwirrwar bist. Hinsichtlich der strommäßigen Belastung deines Arduinos liegst du aber falsch.
Ich bin kein Elektriker.... ( Da wäre wohl Tommy der Richtige)
Aber um ehrlich zu sein fand ich im Datenblatt dazu nicht die Bestätigung.... Die 800hz Multiplex Sache bezieht sich ja auf EIN Display.
Klar das ein Max nicht gleichzeitig alle 8 Diggits ansteurt sondern immer nur eins im extrem schnellen Wechsel....
Aber wie kommst du darauf das bei einer Kaskadierung von z.b. 4 Tubes jetzt mit 800hz von Stelle 1-32 durchgeschaltet wird?
Ich verstehe es so das JEDES Tube in der Kette seinen eignen Umlauf macht.... Also das bei 4 Tubes in Kette auch 4 Diggits leuchten. ( Eins Pro Tube )
Sorry wenn ich hier falsch liege... Aber WARUM sollte ein Max sozusagen "Warten" bis die drei anderen ihren Durchlauf gemacht haben ??
Ich verstehe das ganze so, das die Kaskadierung ledeglich bewirkt das der Datenstrom nicht mehr Direkt an ein Display geht sondern das die Steuersignale sozusagen durch die vorherigen Displays geschleust werden ..... An der Logik wieviele Displays leuchten dürfte das eigentlich nix ändern, oder ?? Somit ist mnach meiner Überlegung der Stromverbrauch von 1x4 oder 4x1 Display in etwa der gleiche.
Lass mich gerne belehren falls du mir da einen Auszug aus dem Datasheed geben kannst damit ich es kappiere.
PS.... Mir ging es auch weniger um den Stromverbrauch sondern mehr um die Frage ob man einen Chip ( Interne Rechenarbeit auf dem Arduino) mehr als 4 Displays zumuten muss. keine Ahnung wie Stark diese Chips wirklich sind bzw was so ein Display im Code an Arbeit beansprucht..... Für mich aber klar mehr als eine LED oder ein Schalter. Deshalb die überlegung die Displays auf möglichst viele Ardionos zu verteilen.
Der Chip hat, wie bekannt, einen CS-Anschluß und einen CLK- Anschluß. Den DIN ud DOUT lasse ich mal außen vor.
CS ist der Chip Select. Auch in MF muß man beim Device angeben, wie viele Tubes man anschließt. Bei der Config gibt man dann an, welche Segmente eines Tubes mit einer bestimmten Nummer (1-8) man damit ansteuert und welche Digits. Die Daten gibt Mobiflight dann auf die Leitung. Wird Tube 1 adressiert, werden alle anderen dunkel bleiben. So geht das auch bei den Anderen. Wird 3 angesteuert, bleiben 1 und 2 und 4 bis 8 dunkel.
CLK steht für Clock, also der Takt, mit dem die Daten durchgeschoben werden. Dies sind laut Datenblatt mindestens 500Hz, typisch 800 Hz und maximal 1300 Hz.
Die Daten gehen immer mit 16 Bit über die Leitung. Wird bei 8 Tubes der 8. angesprochen, sind die ersten 16 Bit die Daten für den 8. und dann folgen 16 Bit mit Nullen für die anderen 7 Tubes. Sieh es als großes Schieberegister. Es werden also immer Anzahl_von Tubes x 16 Bit durch die Leitung geschoben. Daher im Device die Angabe dazu und in der Config die Angabe, welche Tube was darstellen soll. Damit das alles synchron läuft, brauchen alle MAX7219 den gleichen Takt, sonst geht's schief.
Frag bitte Sebastian, der kann dir das haarklein erklären.
Somit ist mnach meiner Überlegung der Stromverbrauch von 1x4 oder 4x1 Display in etwa der gleiche.
Eben nicht. Wenn die 4 Tubes einzeln angesteuert werden, erzeugt MF dafür 4 x 16 Bit für 4 unterschiedliche Datenleitungen (DIN). Bei der 4er Kaskade werden auch 4 x 16 Bit Daten erzeugt, die aber nur auf eine Datenleitung gehen und auf der dafür vorgesehenen Tube dargestellt werden. Bei den einzelnen Tubes steht aber die Multiplexfrequenz von 800 Hz jedem einzelnen zur Verfügung, die Daten werden also 800 x pro Sekunde dargestellt. Bei der Kaskade sind es dann 800 / 4 also 200 Hz pro Tube - immer noch zu schnell für das menschliche Auge.
Da die einzelnen Tube quasi immer "volles Brett" angesteuert werden, also keine Dunkeltastung stattfindet, verbraten sie also 4 x soviel Strom als die Kaskade, wo ja immer 3 Tubes dunkel getastet werden und auf einer die Darstellung erfolgt.
Ich hoffe, ich habe mich verständlich ausgedrückt.
Der Strom für die Tubes wird durch den Widerstand auf der Tube-Platine bestimmt. Der minimale Wert darf 9,53 KOhm nicht unterschreiten, weil sonst die 40mA pro Segment überschritten werden. Auf den blauen und grüen Boards sind 10 kOhm verlötet, also ist der Strom pro Segment knapp unter 40 mA.
Tauscht man diesen Widerstand gegen 20kOhm aus, fließen noch max. 30 mA und bei 40kOhm sind es 20mA, Geringerer Strom erhöht die Lebensdauer der LEDs ungemein.
Dein Grundgedanke, die Tubes zu verteilen ist so verkehrt ja nicht, aber du würdest die positven Aspekte des Multiplexens nicht in Anspruch nehmen können.
Auch die normalen LEDs werden mir mit 20mA zu hoch bestromt. Das ist meist die Grenze. Alles was im Grenzbereich betrieben wird, hat auch eine verkürzte Lebensdauer.
Normale LED's mute ich bei mir nie mehr als 15mA zu. Sie danken es mir mit längerem Leben.
Ich werde bei den Tubes mal einen anderen Widerstand ausprobieren. 10kOhm in Reihe mit einem Potentiometer zum "spielen". Bislang wurde zwar nichts warm, aber wenn sich die Tubes etwas dunkler darstellen, ist das ein netter Effekt, weil sie bei dunkler Umgebung nicht so im Auge beißen.
Ich hoffe, ich habe dir das Multiplexen etwas näher gebracht.
Insofern wartet kein Tube auf einen anderen, weil alle immer bei jedem Takt ihre Bits bekommen. Das menschliche Auge ist halt so langsam, daß es die Anzeige selbst bei 8 Tubes als stehend sieht. Das ist der Trick des Multiplexens. Ist ähnlich wie beim Fernseher. Das werden 725 50xpro Sekunde übertragen (vereinfacht gesagt) um eine bewegtes Bild zu übertragen. Hier ist die Frequenz ungleich höher, aber der Effekt ist der Gleiche.