Die Displays für die Barometereinstellungen und die Connectorplate fehlen noch, aber alles Andere ist bereits intern verkabelt.
Hier eine Übersicht über alle Teile des Altimeters:
Wie erwähnt fehlt noch die Connectorplate, an die die anderen Instrumente, die vom Nano gesteuert werden, angeschlossen sind (ASI, VVI, MarkerBeacon).
– Frontplate mit dem Spacer (noch nicht lackiert) und Glas
Da ich einen alten Höhenmesser ausgeschlachtet habe, konnte ich ein echtes Glas für meine DIY Variante wählen.
Bisher habe ich für meine anderen Instrumente 2mm Polystyrol verwendet, aber das Originalglass hatte fast 3.5mm Dicke beim Vermessen.
In Zukunft werde ich auch für alle anderen Instrumente ähnlich dickes Acrylglas/Polystyrol (wahrscheinlich 3mm) verwenden
– Faceplate mit installierten Altitude Displays (die Plate ist noch immer in der Betaphase, bis ich endlich die fehlenden Displays erhalte)
In der Faceplate sind ein 3-Ziffern 7-Segment-Display für die Höhe in 100 Fuss und ein 4-Ziffern 7-Segment-Display für die Anzeige der barometrischen Einstellungen eingelassen.
Da ich kein passendes 4-Ziffern display finden konnte, verwende ich ein 5-stelliges und decke eine Ziffer durch die Nummernplatte ab.
Zusätzlich ist eine Vertiefung eingelassen, in der sich das PNEU-Flag drehen kann, ohne an der originalen Nummernplatte anzustoßen.
Oben, unten, links und rechts sind jeweils 2 Löcher für 2.5mm Schraubeninserts drinnen, an die am Ende die Frontplate angeschraubt wird.
Stepperplate mit X27.168 Schrittmotor, Nullpunktsensor und Drehencoder
Ich benutze einen X27.168 Schrittmotor, der für den Automotivebereich entwickelt wurde. Er schafft eine Umdrehungsgeschwindigkeit von 600°/Sekunde bei einer Auflösung von 1080 Schritten/Umdrehung.
Indem ich das Ganze mit Zahnrädern im Verhältnis 1:2 übersetze, schaffe ich knapp 1200°/Sekunde, was für so gut wie alle Manöver, die die F-16 fliegen kann, ausreicht.
Weiters ist auch ein Drehencoder an dieser Platte montiert, der die Baroeinstellungen in der Simulation ändert. Zusätzlich kann ich damit den Konfigurationsmodus starten/beenden (über einen langen Tastendruck) und in diesem den Offset der Nadel zum Nullpunkt einstellen.
Der Schaft der Nadel wird in 2 Minikugellagern geführt, wobei je eines in der Stepperplate und eines auf der Rückseite der Faceplate sitzt.
Das erleichtert dem Schrittmotor seine Arbeit deutlich, da dieser für recht niedrige Lasten ausgelegt ist.
– Servoplate mit PNEU switch
Ein regulärer SG90 Miniservor steuert die PNEU-Nadel in der Faceplate. Das Ganze ist schnell genug, da er ja nur 90 Grad drehen muss.
Der PNEU-Schalter ganz vorne aktiviert über einen Schaft mit montiertem Arm den Kipppschalter. Da diese Funktion in BMS (noch) nicht implementiert ist, benutze ich ihn aktuell nur zur Einstellung, was im Konfigurationsmodus mit dem Baro-Encoder eingestellt wird.
Wenn der Schalter in der ELEC Position ist (norma) steuert der Encoder, wie schon erwähnt, den Offset der Nadel. Ist der Schalter in der PNEU Stellung, wird die Helligkeit der Displays geändert.
– MAX7219-Plate
Ich wollte mir die Arbeit ersparen und mir eine eigene Schaltung für den MAX7219 basteln, daher habe ich einfach eines meiner vorhandenen LED-Matrix Boards verwendet und die Matrix abgenommen.
Es wurde nur ein zusätzliches Breakoutboard gelötet, damit ich die 7-Segment-Anzeigen einzeln angesteckt werden können.
Der MAX7219 bekommt seine eigene 5V Stromversorgung über die Connectorplate, obwohl es bisher auch mit den 5V vom Arduino keine Probleme gab.
Allerdings denke ich, dass, wenn alle 7 Diplays leuchten, der Gesamtstrom mit Schritt- und Servomotor zu hoch sein könnte. Also lieber auf Nummer sicher gehen.
– Arduino Nano Plate
Auch hier habe ich einen meiner Extensionshields benutzt, von denen ich einige herumliegen habe, anstatt eine eigene Platine mit Steckverbindern zu löten.
Zwar verbraucht diese Lösung deutlich mehr Platz, aber es war auch deutlich weniger Arbeit.
Mit den Displays, Motoren, Schaltern und LEDs habe ich alle Pins des Nano ausgereitzt.
– Connector plate
Alle Instrumente, die auch vom Arduino gesteuert werden, werden hier angeschlossen.
Die unteren 2 sind 5V/GND und der USB Anschluss vom Nano, die oberen 3 sind für ASI, VVI und Markerbeacon.
Auf der Rückseite wird es noch ein kleines Breakoutboard für die 5V/GND geben, von dem dann die anderen Instrumente und der MAX7219 ihren Strom beziehen.
Zusammengebaut wird alles von vorne nach hinten. Die Faceplate wird an die Stepperplate geschraubt, wobei natürlich darauf geachtet werden muss, dass der Schaft der Nadel gerade bleibt 😉
Danach geht es nur mehr darum die Kabel sauber durchzufädeln und eine Platte nach der anderen zu montieren, bis am Ende alle Kabel am Arduino angeschlossen sind.
Am Ende wird die PNEU-Flag mit dem Servo verbunden, die Nummernplate auf die Faceplate geschraubt und die Frontplate inklusive Glas und Spacer angeschraubt.
Endlich funktioniert der Höhenmesser ganz „alleine“, nur ein USB Kabel geht vom Arduino zum PC, alles andere ist intern verkabelt – es ist eine eigene, in sich geschlossene Einheit!
Software
Um die benötigten Daten aus Falcon BMS zu bekommen, nutze ich die Software BMSAIT.
Der Link geht auf meinen Fork davon, aber der Erschaffer und Mastermind hinter diesem Projekt ist HummerX at github
Für mich ist das die perfekte Lösung, wenn man seinen Sim mit DIY Arduino betreiben will.
Sobald meine fehlenden Displays angekommen sind, werden noch die letzten Kabel verlötet, Connector- und Faceplate gedruckt und verlötet und das war’s dann – dann ist der Altimeter tatsächlich fertig 🙂