Fragen zur Fahrschalter-Steuerung

  • Ein Freund und ich basteln gerade daran aus Originalbedien- und Anzeigeteilen einer (ausgemusterten :P ) Straßenbahn einen Fahrsimulator zusammenzubauen. Heute haben wir den Fahrschalter getestet. An den PC angeschlossen wird er mithilfe eines Arduino Leonardo, sodass er unter Windows als "Gamecontroller" erkannt werden kann.


    Im Fahrschalter befindet sich neben dem Potentiometer für die Auslenkung mehrere Schalter die erkennen ob der Hebel sich in Fahren-Bereich, auf 0, im Bremsbereich oder in der STellung für Gefahrenbremse befindet. Der Potentiometer ist allerdings nicht in üblicher Bauform, dass der Wert von "vorne" bis "hinten" linear ansteigt, sondern von 0 Richtung Fahren und Bremsen wird er jeweils größer. Kurz vor der Stellung für die Gefahrenbremsung erreicht er das Maximum, von dort zur Gefahrenbremse ändert sich der Potentiometer nicht mehr.


    Als erstes haben wir probiert Beschleunigen und Bremsen als eine Achse anzumelden, für diesen Zweck funktioniert es fast einwandfrei (*). Die Gefahrenbremse wurde über einen zusätzlichen Tastaturbefehl beim Schließen des zugehörigen Kontaktes ausgelöst. Das funktioniert auch. Allerdings die Rücknahme der Gefahrenbremse nicht. LOTUS schaltet sie erst wieder ab, wenn der Fahrschalter die 0-Stellung erreicht hat, was natürlich unrealistisch ist.


    Der zweite Versuch bestand dann aus der Anmeldung als zwei getrennte Achsen und die Auswahl der Bremsachse mit Gefahrenbremsung im Simulator. idee dahinter war bei Gefahrenbremsung den Wert des Potentiometers zu nehmen und künstlich zu addieren (genauer: Maximalwert des Potentiometer im Arduino ist 1023, Gef-Bremse wäre dann 1024). Hat aber auch nicht so recht geklappt, vor allem weil nun mit zwei getrennten Achsen die Nullstellung nicht mehr erreicht werden konnte.


    Desweiteren ist uns natürlich nicht bekannt, wieviele der Probleme Skript-Eigenheiten des GT6N sind, also wir dann im eigenen Fahrzeug beheben könnten, und was am LOTUS-Kernel liegt.


    Mein Vorschlag wäre Lösung 1 anzuwenden, aber mit einem zusätzlichen Event "Gefahrenbremse aufheben", sodass man dies bspw. als Shift+X mappen kann und so beim Verlassen der Gef-Bremsstellung mit dem Fahrschalter dieses ausgelöst werden kann.


    Falls jetzt nach einer Log-Datei gefragt wird, können wir leider spontan nicht anbieten, weil die (etwas wackelige) Testkonstruktion schon wieder abgebaut ist.


    (*) Die echte Straßenbahn würde kurz nach dem Druckpunkt von 0 auf Fahren/Bremsen auch schon "etwas tun", z.B. Bremse lösen beim Fahren. Leider liefert uns der Potentiometer aber weiterhin den Wert für die Nullstellung, das muss im echten Fahrzeug anders verkabelt sein - und dann entsprechend von uns mit einer Beschleunigungskurve geskriptet.

  • Das freut uns sehr, dass ihr an so einem Projekt dran seid!


    Der von Euch beobachtete Effekt kommt daher, weil man beim Spielen mit dem Gamecontroller nach Auslösen der Schnellbremse nicht zu einfach wieder 'raus kommt, sondern den Sollwertgeber schon seeeehr deutlich wieder nach vorne schieben muss.


    Wenn man selbst am Script ist, hat man eigentlich alle Freiheiten - und so eine "Aufheben"-Taste könnte ich noch einbauen! ;-)