Hallo zusammen. :)
ich wende mich heute an euch, da ich mit meinem Wissen nicht weiter komme und hoffe, hier die passenden Denkanstöße und/oder Lösungsansätze mitgeteilt zu bekommen. Für alle Versuche in diese Richtung, und die damit verbundene Inanspruchnahme eurer Zeit, möchte ich mich im Vorfeld bereits bedanken!
Thematik
Ich bin einer der Menschen, der gerne und viel am PC spielt, unter Anderem auch Simulatoren. Und da ich diese Spiele sehr gerne "realitätsnah" spielen möchte, baue ich mir hierfür diverse Erweiterungen, wie z.B. Seitenkonsolen.
In der Vergangenheit habe ich mir zwei PC-Joysticks gekauft und diese so modifiziert, dass sie Griffstücke aus Baggern besaßen. Somit war das "Feeling" deutlich angenehmer und vor allem gewohnter (ich selber bin Servicetechniker für Baumaschinen).
Problem
Die meisten PC-Controller (unabhängig ob Joystick oder Gamepad) nutzen Potentiometer zum Erfassen der Analogsignale und können demzufolge mit ihren verbauten Mikrocontroller auch nur diese Art Signal verarbeiten. Joysticks aus Baumaschinen hingegen verwenden heutzutage fast nur noch Hall-Sensoren zur Erfassung von elektrischen Winkelsignalen.
Aus diesem Grund konnte ich die Daumenräder (Hall-Sensor) der Baggergriffstücke (stammten aus einem ATLAS-Bagger) nicht verwenden, da der Mikrocontroller des verwendeten PC-Joysticks (Logitech Extreme 3D Pro) diese nicht verarbeiten konnte (ein Versuch endete mit einem permanent schwankendem Signal im Spiel -> der PC "dachte" da wackelt jemand die ganze Zeit am Daumenrad). Hall-Sensoren sind eben deutlich empfindlicher als Potis. :D
Ziel
Zwei separate Joysticks (einen für links, einen für rechts) als Eingabegeräte am PC verwenden zu können, die Hall-Sensoren zur Erfassung nutzen.
Gegebenheiten
Nach etwas Recherche habe ich ein Gamepad gefunden, das seine Analogsticks via Hall-Sensoren erfasst. Hierbei handelt es sich um das "Gamesir T4 Kaleid". Dieses nutzt je einen Hall-Sensor für die X- und Y-Achse. Die Spannungsversorgung des Gamepads beträgt 5,0 Volt via USB-C-Verbindung zum PC (kein kabelloser Betrieb), die des Sensors selbst 3,3 Volt. Jeder Sensor liefert ein Signal von 0,0 bis 3,3 Volt (Anschlag <-> Anschlag im 1-Achs-Betrieb) und in Mittelstellung 1,65 Volt. Im Diagonalbetrieb (gleichzeitig in X- und Y-Richtung) sind die Minimal- bzw. Maximalwerte nicht am Endpunkt, da der Bewegungsraum ja kreisfürmig und nicht quadratisch ist.
Als Joysticks sollen zwei aus einem "Bobcat S450 mit vollelektrischer Steuerung" zum Einsatz kommen. Diese werden original mit 12 Volt betrieben und sind an die Maschine via CAN-Bus angeschlossen. Um dies zu gewährleisten besitzt jeder Joystick eine eigene Steuerplatine. Die Hallsensoren, die original verbaut waren, waren "Micronas HAL 401", welche zwei gegenläufige Signale ausgeben. Verbaut waren dabei je Joystick 4 Stück, also 2 für die X-Achse und 2 für die Y-Achse, wobei die Paare jeweils gegenüber angeordnet sind. Somit ergibt sich für jede Achse, dass insgesamt 4 Signale erfasst werden, in Summe also 8 Signale je Joystick.
Ein erster Versuch, diese Hall-Sensoren (je einer für X und Y und auch nur ein Ausgang je Sensor) direkt (auf der kleinen Platine der "HAL 401" sind noch ein paar Kondensatoren und Widerstände, ich vermute zur Entstörung und Versorgunsspannungsstabilisierung) an das Gamepad mit 3,3 Volt anzuschließen, ergab, dass das Signal des "HAL 401" in Ruhestellung nicht "mittig" lag und auch einen viel zu geringen Ausschlag bei Ansteuerung brachte (getestet über die Webseite "hardwaretester.com"). Erster Problempunkt hierbei war schon, dass der "HAL 401" laut Datenblatt mit einer Versorgungsspannung von 4,8 bis 12 Volt angegeben ist.
Also habe ich mich etwas belesen und mir verschiedene Hall-Sensoren bestellt. Dabei waren sowohl Bipolare als auch Unipolare, damit ich ein wenig mit dem Einfluss des Magnetfeldes "spielen" und testen kann.
Nach all den Versuchen zeigte sich, dass die "besten" Ergebnisse mit dem "Allegro A1304ELHLX-T" erziehlt worden, wenn gleich sie nicht einmal in die Nähe von "so soll es sein" kamen. Ausgewechselt wurden alle 4 Sensoren auf der Platine (Sensor 1 und 3 = Y-Achse; Sensor 2 und 4 = X-Achse).
Folgende Messwerte der Sensoren ergaben sich anschließend:
Mittelstellung des Joysticks:
- Sensor 1 -> 1,05 Volt
- Sensor 3 -> 1,06 Volt
- Sensor 2 -> 1,01 Volt
- Sensor 4 -> 1,05 Volt
Anschlag Vor:
- Sensor 1 -> 1,20 Volt
- Sensor 3 -> 0,82 Volt
- Sensor 2 -> 1,02 Volt
- Sensor 4 -> 1,05 Volt
Anschlag zurück:
- Sensor 1 -> 0,74 Volt
- Sensor 3 -> 1,24 Volt
- Sensor 2 -> 1,02 Volt
- Sensor 4 -> 1,05 Volt
Anschlag links:
- Sensor 1 -> 1,05 Volt
- Sensor 3 -> 1,05 Volt
- Sensor 2 -> 0,73 Volt
- Sensor 4 -> 1,22 Volt
Anschlag rechts:
- Sensor 1 -> 1,06 Volt
- Sensor 3 -> 1,07 Volt
- Sensor 2 -> 1,19 Volt
- Sensor 4 -> 0,79 Volt
Alles in Allem also ein recht kleiner Arbeitsbereich der Sensoren. Außerdem merkt man nach kurzem Überlegen (am Beispiel von Sensor 1), dass der Nullpunkt des Joysticks (1,05 Volt) nicht der Mittelpunkt des Spannungsverlaufes (
$$\frac{1,20 - 0,74}{2} + 0,74 = 0,97$$
Volt) ist.
Ein physischer Umbau des Joysticks, sodass die Sensoren näher am Magneten sind oder gar andere Magneten ist für mich nicht realisierbar.
Vorgaben / Hindernisse
Da das Gamepad via USB an den PC angeschlossen wird, habe ich ohnehin nur maximal 5 Volt als Spannungsquelle zur Verfügung. Allerdings konnte ich auf der Platine keinen frei zugänglichen Punkt finden, der mir mit Sicherheit die 5 Volt vom USB-Port zur Verfügung stellt. Sicher ist nur die Versorgung mit 3,3 Volt am Anschluss des ehemaligen Analoggebers (ist bereits ausgelötet).
Fragestellung
Was in meinem Augen nun gemacht werden müsste, wäre die Wandlung der Spannung des Bereiches (im Falle des Sensor 1) von 0,74 bis 1,20 Volt auf 0,05 bis 3,3 Volt, wobei 1,05 Volt eben 1,65 Volt entsprechen müssten. Der Spannungsverlauf eines Sensors ist meiner Auffassung nach nicht linear. Meine Idee hierzu war, das man jeweils das zusammengehörende Sensorpaar (Sensor 1 zsm. mit Sensor 3; Sensor 2 zsm. mit Sensor 4) auswertet, bspw. durch Mittelwertbildung. Dies sollte ja einen geradlinigen Verlauf ergeben. Zugegebener Maßen habe ich das aber noch nicht berechnet, ob dem auch wirklich so ist; wird aber noch nachgeholt.
Frage 1: Kann ich die Wandlung der Spannung mit einer elektronischen Schaltung realisieren? Und wenn ja, in welcher Form?
Frage 2: Kann man die Wandlung über einen Mikrokontroller laufen lassen und den gewandelten Wert direkt aus einem Analogausgang auf den Eingang des Gamepads schicken?
Vielen Dank und Gruß, CHI





