Treiber Lenkrad

Gast #4938170
Lesenswert?
• ▲
▼
Hallo zusammen,

ich arbeite an einem Projekt mit, bei dem an einem selbstgebauten 
Prüfstand (Lenkrad mit Servomoter, Bremspedal, Gaspedal) eine 
Rennsimulation/Rennspiel integriert werden soll. Man soll dann quasi auf 
dem Prüfstand über einen PC ein Rennspiel steueren können.
Die Kommunikation mit dem Lenkrad und Pedalen geschieht über einen CAN 
Bus. Über einen CAN-USB Adapter kann man dann CAN-Nachrichten am PC 
auslesen.
Kennt sich jemand mit dem Thema Treiberprogrammierung aus? Kann ich 
dafür vllt. schon vorhandene Treiber verwenden?
Oder gibt es  eine einfachere Lösung die Daten vom CAN zu wandeln und an 
das Spiel zu übergeben ohne einen Treiber zu schreiben?
Tut mir leid für die simplen Ausführungen, aber ich bin leider völliger 
Laie auf dem Gebiet.
Vielen Dank für Antworten!
Gast #4938356
Lesenswert?
• ▲
▼
Andy schrieb:
> Oder gibt es  eine einfachere Lösung die Daten vom CAN zu wandeln und an
> das Spiel zu übergeben ohne einen Treiber zu schreiben?

Sind das nur binäre Sensoren (Links/Rechts/Mitte, Gas/Kein-Gas, 
Bremse/Keine-Bremse)?
Dann könnte man eine Tastatur dafür missbrauchen.
(Firma: mechapro GmbH) Persönliche Seite #4938374
Lesenswert?
• ▲
▼
Ich nehme mal an, das ihr deswegen CAN verwendet, weil die Teile 
original KFZ-Teile sind? Ob das so funktioniert, ist fraglich. Im 
Fahrzeug gibt es inzwischen diverse verschiedene Busse, z.T. ein Dutzend 
verschiedener CANs. Da kann man nicht einfach ein paar Teilnehmer 
rausgreifen und zu einem neuen Bus zusammenstöpseln und meinen das dann 
etwas sinnvolles passiert.

Mit einem halbwegs vollständigen Teilbus kann das funktionieren. Aber 
ohne Gateway, Motor-ECU und/oder ABS-ECU halte ich das für schwierig.

Mit freundlichen Grüßen
Thorsten Ostermann
Gast #4938385
Lesenswert?
• ▲
▼
ich würde probieren, das treiber problem zu umgehen indem ich z.b. einen 
joystick (oder gleich z.b. ein logitech g25/g27 lenkrad) 
zweckentfremde/schlachte und dessen elektronik weiterverwende.
Persönliche Seite #4938504
Lesenswert?
• ▲
▼
Andy schrieb:
> Über einen CAN-USB Adapter kann man dann CAN-Nachrichten am PC auslesen.
> Kennt sich jemand mit dem Thema Treiberprogrammierung aus? Kann ich
> dafür vllt. schon vorhandene Treiber verwenden?

Um vorhandene Treiber verwenden zu können, muss Dein Gerät sich 
verhalten wie eines, für das es bereits Treiber gibt. Am einfachsten ist 
das mit einer der Standardgeräteklassen, bei Dir bietet sich da das 
HID-Protokoll an. Denn das ist für Geräte wie Mäuse, Tastaturen, 
Joysticks und eben auch Lenkräder gemacht.

Also brauchst Du statt eines USB-CAN-Adapters einen Adapter, der die 
relevanten Inhalte per CAN empfängt und in das USB-HID-Protokoll 
umsetzt.

So etwas gibt es mit hoher Wahrscheinlichkeit nicht als Fertiggerät, so 
etwas wirst Du selbst entwickeln müssen.

Aber das ist der richtige Weg, den Du gehen solltest.

Ja, es ist natürlich auch möglich, einen Windows-Treiber zu basteln, der 
sich mit dem Treiber Deines USB-CAN-Adapters unterhält und daraus 
wiederum für das Windows-Multimedia-/Spiele-Gedöns die relevanten Daten 
erzeugt, aber das ist ganz erheblich komplizierter und hat vor allem 
den riesigen Nachteil, daß es dann auch nur mit Windows funktioniert. 
Sollte Microsoft mal wieder die Devicetreiberarchitektur ändern (das gab 
es schon häufiger), musst Du Deinen Treiber erneut anpassen und testen.

Obendrein erlauben aktuelle Windows-Versionen nur die Installation 
signierter Treiber, so eine Treibersignatur kann man sich aber nicht 
selber bastelen.

Ohne Not sollte man also um Treiberentwicklungsversuche einen großen 
Bogen machen. Vor allem, wenn es so komplett unnötig ist, wie im 
vorliegenden Fall, da es mit HID bereits eine fertige Treiberarchitektur 
für Dein Gerät/Vorhaben gibt.

Also:

Du brauchst einen µC, der CAN versteht und mit Deinem Lenkrad 
kommunziert und die anfallenden Nachrichten auswertet bzw. anfordert. 
Ist das Lenkrad von sich aus aktiv oder muss es gezielt angesteuert und 
nach seinem aktuellen Befinden befragt werden? Das ist Aufgabe für den 
µC.

Der µC muss dann auch noch USB "sprechen" können und das HID-Protokoll 
implementieren, und zwar so, daß er die anfallenden Lenkradinformationen 
(Drehbewegungen, etwaige Tasten etc.) in die korrekten USB-Daten 
umsetzt.
Gast #4938618
Lesenswert?
• ▲
▼
Andy schrieb:
> Über einen CAN-USB Adapter kann man dann CAN-Nachrichten am PC
> auslesen.

Dann sollte der Anbieter des Adapters doch die entsprechenden Treiber 
und Bibliotheken zur Verfügung stellen? Oder habe ich etwas falsch 
verstanden?

Beispiel:
https://elmicro.com/de/canusb.html

"Entwicklerunterstützung durch kostenlose Interface-DLL, ActiveX-Control 
und Low-Level ASCII-Protokoll"

Linux:
http://pascal-walter.blogspot.de/2015/08/installing-lawicel-canusb-on-linux.html

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren