Forum: Fahrzeugelektronik CAN Bus PC Game Schnittstelle


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Emanuel A. (emanuel_a)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

Für ein Projekt bin ich auf der suche nach einer optimalen Lösung. Wir 
sind aktuell an der Planung von einem Trktorensimulator, als Game 
Interface verwenden wir einen richtigen Fendt Traktor.

Unsere Idee ist, die Signale von Gas- und Bremspedalen sowie der Lenkung 
und weiteren Knöpfen direkt via CAN Bus vom Traktor abzunehmen und dem 
Game über ein programmiertes Hardware oder Software Interface über USB 
zur Verfügung zu stellen.

Vorzugsweise würden wir die Steuersingale über die USB Schnittstelle 
gleich zur Verfügung stellen wie dies auch Logitech mit universellen 
Interfaces macht. So sollte die Funktionen der Software optimal 
gewährleistet sein.

Link zu bestehendem Interface:
https://www.mediamarkt.ch/de/product/_logitech-g-saitek-farm-sim-1917458.html?rbtc=%7C%7C%7C%7Cp%7C%7C&gclid=Cj0KCQjw2PP1BRCiARIsAEqv-pR1F6J5UdjZKpdTPT2qA9atBGdPLT6FGovKTkBL1G7MKO3ywSevCg8aAlqwEALw_wcB&gclsrc=aw.ds

Link zu möglicher Hardware:
https://www.conrad.de/de/p/entwicklungsboard-code-mercenaries-joywarrior24a8l-1386567.html

Es würde mich freuen wenn jemand uns helfen könnte und freue mich über 
Inputs.

Liebe Grüsse
Emanuel

von Rainer S. (enevile)


Bewertung
0 lesenswert
nicht lesenswert
Emanuel A. schrieb:
> CAN Bus vom Traktor abzunehmen und dem
> Game über ein programmiertes Hardware oder Software Interface über USB
> zur Verfügung zu stellen.

CAN to USB Interface
https://www.peak-system.com/PCAN-USB.199.0.html
Mit dem PCAN-Viewer kann man sich auch die Signale ansehen die gesendet 
werden man kann auch manuell etwas schicken.

Etwas Über Simulator:
https://www.peak-system.com/PCAN-FMS-Simulator-2.246.0.html

von René F. (therfd)


Bewertung
0 lesenswert
nicht lesenswert
Das einfachste wäre wohl ein Arduino UNO + CAN Shield, damit wäre die 
Hardware schon fertig, implementieren könnte man das ganze dann als USB 
HID.

Ich weiß nicht wie fit du bist in Sachen Programmierung und Elektronik, 
ich denke aber mit oben genannter Lösung ist das auch mit wenig 
Erfahrung in relativ kurzer Zeit umsetzbar.

von Jemand (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Nimm die Peak-Can Interfaces.

Ja die sind teurer, bringen aber schon eine Menge Bibliotheken mit und 
funktionieren garantiert.
Wir verwenden die dutzendweise fürs Debuggung und Servicefälle.

von hmmm (Gast)


Bewertung
0 lesenswert
nicht lesenswert
René F. schrieb:
> Ich weiß nicht wie fit du bist in Sachen Programmierung und Elektronik,
> ich denke aber mit oben genannter Lösung ist das auch mit wenig
> Erfahrung in relativ kurzer Zeit umsetzbar.

Schon mal einen HID Deskriptor erstellt? Auch mit viel 
Programmiererfahrung kann man sich daran die Zähne ausbeissen...
Dagegen ist CAN ein Kinderspiel (weil logisch, sehr verbreitet und sehr 
gut dokumentiert).

von Rainer S. (enevile)


Bewertung
0 lesenswert
nicht lesenswert
guest schrieb:

>> Emanuel A. schrieb:
>> ... verwenden wir einen richtigen Fendt Traktor.
>
> Hab Ihr auch die CAN DBCs von Fendt dazu? Ansonsten könnt Ihr das gleich
> wieder vergessen.
>
> Dann braucht Ihr eine Hardware mit mehreren CAN Interfaces, so ein
> Traktor hat nicht nur einen CAN Bus.
>
> Und, und, und ...
>
> Ziemlich ambitioniertes Projekt, wie viel Jahre habt Ihr dafür
> eingeplant?
-----------------------------------------------------
Ein Kommentar von deinen Doppelpost-Thread:
Beitrag "CAN Bus PC Game Schnittstelle"

: Bearbeitet durch User
von Frank _. (fbi)


Bewertung
0 lesenswert
nicht lesenswert
Rainer S. schrieb:
> guest schrieb:

Danke, konnte als Gast hier grad nicht posten :(

Hab übrigens eben mal in eine dbc von einem Axion (Claas Traktor) 
geschaut. Sind einige hundert Nachrichten mit einigen tausend Signalen.
Also ohne Spezifikationen viel Spaß beim Reengineering :)

von Rolf M. (rmagnus)


Bewertung
0 lesenswert
nicht lesenswert
Rainer S. schrieb:
> Emanuel A. schrieb:
>> CAN Bus vom Traktor abzunehmen und dem
>> Game über ein programmiertes Hardware oder Software Interface über USB
>> zur Verfügung zu stellen.
>
> CAN to USB Interface
> https://www.peak-system.com/PCAN-USB.199.0.html
> Mit dem PCAN-Viewer kann man sich auch die Signale ansehen die gesendet
> werden man kann auch manuell etwas schicken.

Das bringt aber nicht viel, denn das Spiel wird damit nicht umgehen 
können. Also entweder muss man die Daten dann mit einer eigenen Software 
am PC auswerten und selber einen Treiber schreiben, der diese Daten 
nutzt, um ein HID-Gerät zu simuliere, oder das eben extern mit einem µC 
machen, der sich gleich als USB-HID anmeldet, so dass die bestehende 
Software damit direkt umgehen kann.

hmmm schrieb:
> Dagegen ist CAN ein Kinderspiel (weil logisch, sehr verbreitet und sehr
> gut dokumentiert).

Nur kommt man als normalsterblicher an an die Doku üblicherweise nicht 
ran, weil sie zu den bestgehüteten Geheimnissen der Fahrzeughersteller 
gehört.

von Frank _. (fbi)


Bewertung
0 lesenswert
nicht lesenswert
Rolf M. schrieb:
> oder das eben extern mit einem µC
> machen, der sich gleich als USB-HID anmeldet

Hab hier grad eine ECU aus einem Sportwagen auf dem Schreibtisch. Die 
wäre prima dazu geeignet, hat u.a. USB und genügend CAN :)

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Bewertung
1 lesenswert
nicht lesenswert
> als Game Interface verwenden wir einen richtigen Fendt Traktor.
Mach doch einfach den Motor an, dann wird alles viel interessanter,
der Realitätsgrad steigt und die Grafik ist auch verdammt gut.

von Frederic S. (frederics)


Bewertung
0 lesenswert
nicht lesenswert
Ich halte das Projekt durchaus mit überschaubarem Aufwand für machbar 
wenn man ein bischen rumprobiert und das ganze nacher keinen Industrie 
oder Automotive Standards erfüllen muss.

Wenn die Zündung an ist, der Motor aber aus, sollten die allermeisten 
CAN Nachrichten immer nahezu den selben Wert enthalten (z.B. 
irgendwelche Temperaturen), wenn man sich jetzt ein Program für den 
Arduino schreibt, dass Identifier über die Serielle Schnitstelle ausgibt 
die sich (relativ) schnell ändern und dann das Pedal immerwieder tritt 
und loslässt sollte sich die Anzahl der infragekommenden Identifier 
schnell eingrenzen lassen.

für Arduino gibt es eine HID Bibliothek zur Nachbildung von Tastatur und 
vermutlich auch Maus (Du kannst dem PC vorgaukel eine Taste sei 
gedrückt).

Wenn das nicht Nutzt, kauf ein billigs Simulatorpedal mit USB, das mit 
dem Simulatorspiel kompatibel ist. Die billigen werden Potis enthalten. 
Das Signal des Potis lösst sich mit einem PWM Ausgang am Arduino und 
einem RC Tiefpass nachbilden.

Notfalls einen Servo das Pedal Bedienen lassen (auch dafür gibts nahezu 
Idiotensicher Arduino Bibliotheken).

Vorsicht mit den Massepotentialen. Ich würde die KFZ Masse niemals mit 
der USB Masse verbinden, nimm also ein galvanisch getrenntes CAN Bus 
Modul(und schließ nur CAN High, CAN Low an), das ist gut angelegtes 
Geld...
Sowas: http://www.industrialberry.com/canberrydual-iso-v2-1/
Stromversorgung des arduinos über Isolierten DCDC oder USB.

von Gerald O. (garry)


Bewertung
0 lesenswert
nicht lesenswert
Gehen würde es hiermit:

PST CAN Power Gateway PRO

https://thelabeshop.com/products/pst-can-power-gateway-pro

Damit kannst Du CAN-Nachrichten in PWM-Signale wandeln, diese per 
RC-Glied als Spannung abbilden und über einen AD-Wandler per USB 
einlesen.

Mit den Digital-Ausgängen kann man auch weitere Signale wie Blinker, 
Licht, Bremse,... herausführen insofern sie auf dem CAN-Nus verfügbar 
sind.
Die passende CAN-Nachricht muss Du hier allerdings auch zunächst 
herausfinden.


Garry

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.