mikrocontroller.net

Forum: Fahrzeugelektronik Rennsport Lenkerschalter LIN Bus Problem


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.
Autor: Jan F. (jansen1988)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forum,
ich bin seit mehreren Jahren im Rennsport unterwegs. Genau genommen 
zunächst als aktiver Langstreckenfahrer mit einem Superbike.
Nun aber nur nach als Motorentuner und Mechaniker. Arbeiten tue ich 
normalerweise bei der Daimler AG als KFZ Diagnosetechniker. Ein wenig 
Know How ist also vorhanden.
Wir haben momentan das Problem das im Bereich Zweiradrennsport der 
Datenbus Einzug erhält. Konkret geht es hier um die 
Lenkerschaltersteuerung. Bei den älteren Bikes war es so realisiert, 
dass beispielsweise bei einem Schalter mit 5 Knöpfen, 5 Funktionen 
klassisch geschalten werden. Das soll heißen, dass mir der Druckknopf am 
Lenker einfach einen Stromkreis schließt. Seit neuestem wird hier aber 
den LIN Bus eingesetzt.
Und genau da bin ich leider nicht so fit. Ich habe eigens Gefräste 
Schaltergehäuse und möchte die Serien Schaltereinheiten eben durch diese 
Ersetzten.

https://www.ducati-kaemna.de/race-lenkerschalter-schalter-armatur-panigale-v4.html

In diesem Link findest Ihr ein Beispiel zu so einem Schalter. Im Kabel 
ist wohl noch eine Art LIN Bus Controller verbaut?
Ich benötige also Hilfe bei der Beschaffung eines solchen "Teils".
Was tut das Teil denn genau? Wie kann ich so etwas konfigurieren?
Und vor allem wie kann ich dem "Teil" die gleiche Sprache beibringen 
welche das Fahrzeug spricht?
Sorry für die Leihenhafte Ausführung aber was Elektronik Betrifft bin 
ich leider nur begrenzt Fit.

Bin um jeden Hilfe Dankbar!!!

Grüße aus München
Jan

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spricht dein Fahrzeug LIN oder spricht dein Schalter LIN?

Autor: Jan F. (jansen1988)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl schrieb:
> Spricht dein Fahrzeug LIN oder spricht dein Schalter LIN?

Hmmm Ich denke mal das der Schalter LIN spricht sicher bin ich mir aber 
nicht... Wie kann ich das heraus finden?

Ich gebe mal ein Beispiel.

Ich möchte z.B. die Traktionskontrolle härter stellen. Dann drücke ich 
den Knopf am Schalter und der Schalter sagt es dem Motorsteuergerät über 
den LIN Bus.


Grüße

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Indem du den Hersteller fragst. Dein Link oben z zeigt mir nur eine 
schwarze Seite...

In jedem Fall brauchst du einen Kommunikationspartner für LIN. Genauer 
gesagt ist LIN ein master Slave Bus, d.h. der master fragt die slaves ab 
wie er möchte. Es gibt diverse Controller die das können, aber man wird 
schon etwas Software entwickeln müssen.

Dann brauchst du noch die Spezifikation der Nachrichten wenn du nicht 
Reverse engineeren möchtest. Auch hier sei an den Hersteller verwiesen.

Autor: Jan F. (jansen1988)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay versuchen wir es mal mit diesem Link

https://www.ug-racingparts.de/ducabike-lenkerschalter-ducati-panigale-v4.htm

Das Problem ist, dass die Hersteller solcher Schalter sich sehr, ich 
sage mal "bedeckt" halten.... :-)

Ist so etwas denn Anhand der Serienschalteramatur heraus zu finden?

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Zeug kenn ich, wenn auch für ein anderes Fabrikat. 😉

Na klar ist das herauszufinden. Bist du sicher dass es LIN ist? Wie 
viele Kabel gehen denn dran?

Hast du ein Oszilloskop? Oder gar geeignete Messtechnik? Was kannst und 
oder willst du selbst machen, was willst du kaufen?

Autor: Jan F. (jansen1988)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja Das Fabrikat ist dann vermutlich BMW :-)

Ja es ist definitiv LIN Bus

http://skm-eshop.de/WebRoot/Store18/Shops/4b3cc45d-6aa0-4267-be69-ae0548e0d8b5/5BDB/4302/EABF/85B0/79AF/0A48/354A/3C5D/BD_SW_8B_04_Ducati_V4_left_side_7_function_handlebar_race_switch.pdf

das sollte dir evtl. weiter helfen....

Oszi hätte ich.... HMS Messtechnik von der Daimlerei :-)

Ich habe die Schaltergehäuse, Druckknöpfe, Kabel, Pins, Stecker....

Nur eben diese Lin Bus Controller nicht...

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jan,

der LIN Bus hat den Vorteil, das nur 2 Leitungen benötigt werden 
(Datenleitung und GND). Dafür müssen die einzelnen Tastendrücke durch 
LIN Controller codiert werden.

Grundsätztlich gibt es in einem LIN Netzwerk einen Master (oft ein 
größeres Steuergerät) und einen oder mehrere Slaves (in deinem Fall 
Schalter).
Der Schalter codiert jeden Tastendruck in einer LIN Botschaft, welche 
der LIN Master abfragt und dann verarbeitet (z.b. ans Fahrwerk 
weiterschickt, oder einen Ausgang schaltet).

Wenn ich dich richtig verstehe brauchst du jetzt einen LIN Master, der 
den Lenkerschalter abfragt und dann die Entsprechenden Signale der 
einzelnen Taster auf seinen Ausgängen ausgibt, damit du diese wieder an 
die bestehende Elektrik des Motorrads klemmen kannst.

Dazu brauchst du einen Mikrocontroller mit der ensprechenden Software 
und entsprechend vielen, in deinem Fall 5, Ausgängen. So ein 
Mikrocontroller ist für weniger als 1€ zu haben, das Problem ist die 
Software und die Beschaltung des Mikrocontrollers (im KFZ bereich).

Ich hoffe ich konnte dir ein bisschen weiter helfen.

Gruß
Daniel

Autor: Jan F. (jansen1988)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel schrieb:
> Hallo Jan,
>
> der LIN Bus hat den Vorteil, das nur 2 Leitungen benötigt werden
> (Datenleitung und GND). Dafür müssen die einzelnen Tastendrücke durch
> LIN Controller codiert werden.
>
> Grundsätztlich gibt es in einem LIN Netzwerk einen Master (oft ein
> größeres Steuergerät) und einen oder mehrere Slaves (in deinem Fall
> Schalter).
> Der Schalter codiert jeden Tastendruck in einer LIN Botschaft, welche
> der LIN Master abfragt und dann verarbeitet (z.b. ans Fahrwerk
> weiterschickt, oder einen Ausgang schaltet).
>
> Wenn ich dich richtig verstehe brauchst du jetzt einen LIN Master, der
> den Lenkerschalter abfragt und dann die Entsprechenden Signale der
> einzelnen Taster auf seinen Ausgängen ausgibt, damit du diese wieder an
> die bestehende Elektrik des Motorrads klemmen kannst.
>
> Dazu brauchst du einen Mikrocontroller mit der ensprechenden Software
> und entsprechend vielen, in deinem Fall 5, Ausgängen. So ein
> Mikrocontroller ist für weniger als 1€ zu haben, das Problem ist die
> Software und die Beschaltung des Mikrocontrollers (im KFZ bereich).
>
> Ich hoffe ich konnte dir ein bisschen weiter helfen.
>
> Gruß
> Daniel

Servus Daniel,
danke für die Hilfe......
ja es ist relativ schwer zu beschreiben wenn man keine Ahnung hat. Im 
Grunde genommen brauche ich ein Bauteil wie den LIN Control module KT146 
wie hier beschrieben...

http://skm-eshop.de/WebRoot/Store18/Shops/4b3cc45d-6aa0-4267-be69-ae0548e0d8b5/5BDB/4302/EABF/85B0/79AF/0A48/354A/3C5D/BD_SW_8B_04_Ducati_V4_left_side_7_function_handlebar_race_switch.pdf

Autor: TestX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jan

Wenn es soetwas nicht fertig vom Hersteller oder Zulieferer gibt wirst 
du das selber bauen und programmieren müssen. Dafür ist reverse 
emgineering der bestehenden lin Kommunikation nötig. Danach kannst du 
dir ein Steuergerät selberbauen oder ein programmierbares kaufen..

Letztendlich ist das keine große ,agie wenn man aus der 
automobil+embedded Branche kommt. Ansonsten nahezu unschafbar...

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jan F. schrieb:
> Ich habe die Schaltergehäuse, Druckknöpfe, Kabel, Pins, Stecker....
>
> Nur eben diese Lin Bus Controller nicht...

Blöde Frage: warum kaufst du den nicht einfach?
Selbst entwickeln lohnt hier nur wenn deine Zeit weniger als nichts 
kostet oder du relativ viele davon verkaufen kannst.

Ansonsten ist fast alles gesagt. Ohne Vorkenntnisse ist es eine steile 
Lernkurve.

Autor: Jan F. (jansen1988)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also in erster Linie bin ich ein Perfektionist und die Gehäuse sind 
allesamt nicht durchdacht....

naja und dann habe ich schon die Möglichkeit eine relativ hohe Stückzahl 
zu bauen und anzubieten....

und zu guter letzt würde ich das Thema gerne vertiefen und lernen...

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jan F. schrieb:
> Wenn ich dich richtig verstehe brauchst du jetzt einen LIN Master, der
> den Lenkerschalter abfragt und dann die Entsprechenden Signale der
> einzelnen Taster auf seinen Ausgängen ausgibt, damit du diese wieder an
> die bestehende Elektrik des Motorrads klemmen kannst.

Das hatte ich anders verstanden. Eher hat er die alten mechanischen 
Taster und möchte sie an der Panigale wieder verwenden. Die hat aber 
LIN. Folglich braucht er einen Slave.

Da wird es dann auch lustig falls die eventgetriggerte Nachrichten mit 
Kollisionen verwenden... Oder eine Nachrichten CRC im Datenbereich.

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jan F. schrieb:
> Also in erster Linie bin ich ein Perfektionist und die Gehäuse sind
> allesamt nicht durchdacht....
>
Das hört man öfter bei euch Motorsportlern. Die zweite Zeitnahme findet 
beim Motortausch statt 😂

> naja und dann habe ich schon die Möglichkeit eine relativ hohe Stückzahl
> zu bauen und anzubieten....
>
OK. Gute Voraussetzungen.
> und zu guter letzt würde ich das Thema gerne vertiefen und lernen...
Auch Recht.
1. Dann lese dich über LIN ein. Falls du an die Spezifikation kommst, 
kann das als Nachschlagewerk gut sein.
2. Kauf geeignete Messtechnik falls nicht vorhanden. Ein Oszilloskop ist 
OK, aber beim Reverse engineeren willst du was, das dir die Daten direkt 
anzeigt. Bei Peak gibt es z.b. halbwegs preisgünstig entsprechende 
Adapter.
3. Such dir einen Controller der möglichst viel von dem was du brauchst 
bereits enthält UND der in einer Community gut bekannt ist UND zu dem es 
fertige Boards gibt. Notfalls arduino.
4. Zerlege den original Schalterblock und lass dich inspirieren. Nicht 
dass die einen Standard LIN io Expander verwenden...

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok dann brauchst du wohl einen LIN Slave der jeden Tastendruck erkennt 
und das in die entsprechende LIN Botschaft übersetzt.

Das Problem ist das auf dem LIN jede Nachricht eine EINDEUTIGE ID 
braucht. Stimmt die ID des selbstprogrammierten Schalters nicht oder 
stimmt der Inhalt der Botschaft nicht Kommt es zu einem nicht 
vorhersehbaren Verhalten ( Es kann gar nix passieren oder irgendetwas).

Davon ausgehend das der käuflich zu erwerbende Schalter richtig 
funktioniert hast du die besseren Chancen am ende ein funktionierendes 
Produkt zu schaffen, wenn du einen kaufst du dessen Botschaften 
ausließt. Aber wie bereits weiter oben jemand schrieb kanns auch da 
schwierig werden ( Prüfsumme).

Aber angenommen du kannst die Botschaften extrahieren, musst du das 
immernoch in Software gießen und eine Hardware drum rum bauen.

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel schrieb:
> Das Problem ist das auf dem LIN jede Nachricht eine EINDEUTIGE ID
> braucht. Stimmt die ID des selbstprogrammierten Schalters nicht oder
> stimmt der Inhalt der Botschaft nicht Kommt es zu einem nicht
> vorhersehbaren Verhalten ( Es kann gar nix passieren oder irgendetwas).

Die gibt der master vor. Offensichtlich hat er den original Tastenblock. 
Die Position der paar Bits an bestehenden System zu ermitteln sollte 
machbar sein.  Den Teufel kann man ab die Wand malen wenn die ersten 
Messungen gemacht sind.

Original hw inspizieren, z.b. auch um die Schutzbeschaltung am Bordnetz 
1:1 nachbauen zu können.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich erachte das auch auf jeden Fall als machbar. Die richtige ID, auf 
die der Master hört, muss ja ein funktionierender Slave schon senden. 
Daher die Idee das von dem original Schalter auszulesen.

Sich über die Hard und Software gedanken zu machen erachte ich erst als 
sinnvoll wenn ID und Nachrichtenformat klar sind.

Autor: Jan F. (jansen1988)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel schrieb:
> Ich erachte das auch auf jeden Fall als machbar. Die richtige ID, auf
> die der Master hört, muss ja ein funktionierender Slave schon senden.
> Daher die Idee das von dem original Schalter auszulesen.
>
> Sich über die Hard und Software gedanken zu machen erachte ich erst als
> sinnvoll wenn ID und Nachrichtenformat klar sind.

Der intakte original Schalter ist vorhanden .... Und das Motorrad auch 
also auch der Master (in dem Fall Motorsteuergerät)

Wie lese ich denn die Nachricht aus ?

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl schrieb:
> 2. Kauf geeignete Messtechnik falls nicht vorhanden. Ein Oszilloskop ist
> OK, aber beim Reverse engineeren willst du was, das dir die Daten direkt
> anzeigt. Bei Peak gibt es z.b. halbwegs preisgünstig entsprechende
> Adapter.

This.

Autor: Daniel M. (erfolgstyp)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Karl schrieb:
> Karl schrieb:
>> 2. Kauf geeignete Messtechnik falls nicht vorhanden. Ein Oszilloskop ist
>> OK, aber beim Reverse engineeren willst du was, das dir die Daten direkt
>> anzeigt. Bei Peak gibt es z.b. halbwegs preisgünstig entsprechende
>> Adapter.
>
> This.

In der Arbeit haben wir für soetwas CANoe von Vector, aber ich bin mir 
sehr sicher das du die Lizenz nicht bezahlen willst.


https://www.peak-system.com/PLIN-USB.485.0.html

Das ist ein sehr gutes Tool, das wir für CAN einsetzten, aber knapp 200€ 
find ich persönlich immernoch recht teuer für einen (vermutlich) 
einmaligen Einsatz.

Such mal nach "Arduino LIN Sniffer" vllt findet sich da was brauchbares 
für kleines Geld.

Autor: Reiner O. (elux)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jan F. schrieb:
> Der intakte original Schalter ist vorhanden .... Und das Motorrad auch
> also auch der Master (in dem Fall Motorsteuergerät)

Beste Voraussetzungen also ;-)

> Wie lese ich denn die Nachricht aus ?

Da hast Du viele Möglichkeiten: in der Bucht gab es mal BMW I-Bus auf 
USB Adapter für ca 10€, K-Line Adapter (diese Pegelwandler für BMW 
Ediabas sollten per PIN 15 auch gehen), diese "Dual USB Diagnose Adapter 
für Webasto/Eberspächer Standheizung"(aber keine orginalen Interface!) 
oder Eigenbau.
Es geht ja letztendlich erst einmal nur ums Mitlesen.
So als Idee: Vom LIN über einen ca 3k Vorwiderstand auf einen 
Optokoppler (wg. galv. Trennung), der auf der anderen Seite die TX 
Leitung eines FTDI oder PL2303 Programmers aus der Arduino-Welt mit 
Pullup 5V gegen Masse schaltet. Oder so.
Die Datenrate ist in Europa üblicherweise 19200 B/s(kannst Du mit dem 
HMS ja mal nachmessen), also ein Terminalprogramm anreißen und 
mitlesen/loggen. Mit Excel/Calc kann man dann die Daten bequem 
weiterverarbeiten (z.B. zwecks binärer Darstellung).

Aber nur so ein Gedanke: Wenn man das Ganze schon selber baut, warum 
dann die Anbindung der Schalter nicht so wie beim Multifunktionslenkrad 
des 210er erledigen (oder wie beim Lenkstockschalter des C-Corsa ;-) ) 
und dann wo anders mit z.B. einem Tiny87 auf LIN umsetzen (falls es denn 
LIN sein soll)?

Gruß
Elux

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel M. schrieb:
> Das ist ein sehr gutes Tool, das wir für CAN einsetzten, aber knapp 200€
> find ich persönlich immernoch recht teuer für einen (vermutlich)
> einmaligen Einsatz.

Kommt halt darauf an. Wenn basteln oben auf der prio Liste steht dann 
spricht natürlich nichts gegen was ganz billiges.
Angesichts der Gewinnerzielungsabsicht (einige Stück verkaufen) und der 
Unwägbarkeiten beim Reverse engineering hätte ich persönlich gerne 
zuverlässige Messtechnik. Sonst ist Frust irgendwie vorprogrammiert.

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.