Forum: Mikrocontroller und Digitale Elektronik Signalerkennung-µC


von Stefan Höbinger (Gast)


Angehängte Dateien:

Lesenswert?

Hallo, möchte in meinen alten BMW ein Multifunktionslenkrad eines 
Neueren einbauen. Habe bereits mit dem Oszilloskop das Signal der 
Tempomat-Tasten gemessen. Da kommt immer wieder ein Datenpaket heraus, 
das sich bei drücken einer Taste verändert. Siehe Bilder...

Jetzt ist meine Frage, wie ich dieses Datenpaket ermitteln kann. Möchte 
die Schaltung mit einem ATMega32 realisieren.

Da das erste Bit immer das selbe ist ("0") könnte man dieses ja als 
Startbit (wie bei der seriellen Schnittstelle) realisieren. Wie kann man 
die Takte von µC und Tastenblock synchronisieren? Genügt es, ein 
passendes Quarz zu verwenden? Und wie realisiere ich die erkennung des 
Signals überhaupt?

Leider bin ich (noch ;D ) kein µC-Profi, ich hoffe ihr könnt mir etwas 
helfen, also bitte auch nicht böse sein, sollte ich etwas nicht so 
schnell verstehen ;)

Danke und LG

von blubb (Gast)


Lesenswert?

Hallo,

normalerweise ist CAN das Stichwort. Aus deinem Bildern und 
Beschreibungen kann man nicht erkennen was, wann und wo du gemessen 
hast. Häng mal ein Bild von deiner Messanordnung ran und detaillierte 
Bilder wo die Signal abgegriffen werden. Ich tippe allerdings auf CAN, 
so wie das Signal aussieht. Hoffe du das hilft dir etwas weiter.

Ich glaube es ist nicht legal, ein Lenkrad für ein anderes Modell 
einzubauen. Von daher rate ich dir daher von deinem Plan ab.

MfG

von bmw_gast (Gast)


Lesenswert?

tippe mal auf LIN...

Wenn Du keine Ahnung von dem Zeugs + uC Programmierung + automotive 
Ahnung hast + die richtigen Tools, kannste das vergessen.

Du musst nämlich einen LIN-Master implementieren (schon nicht so ohne, 
kriegt man aber noch hin) und die Signale auf den CAN des Fahrzeugs 
bringen.
Da wird es dann schwierig da Dein eingebautes Lenksäulenschaltermodul ja 
drin bleiben muss und dieses dummerweise genau diese CAN-Botschaft 
erzeugt, die lässt sich also nicht so einfach umbiegen.
Also müsstest Du dieses auch substituieren (sonst hast Du zwei Sender 
die die gleiche Botschaft auf den CAN bringen wollen -> geht nicht !) 
usw. usf. .

Ausserdem, wenn Du ein ESP hast vergiss es erst recht, da die 
sicherheitsrelevante Lenkwinkelinformation ebenfalls vom 
Lenksäulenschaltermodul erzeugt wird - also lass im Interesse Deiner 
eigenen Sicherheit die Finger davon.

gruss.

von Andreas (Gast)


Lesenswert?

Ich könnte mir gut vorstellen dass dadurch (auch schon durch den Einbau 
eines anderen Lenkrades), die Betriebserlaubnis erlischt. War zwar nicht 
gefragt, aber erwähnenswert.

von Mathias A. (mrdelphi)


Lesenswert?

Hallo Stefan,

aus welchem Modell ist denn das Lenkrad, und in welches Modell soll es 
rein? falls das Lenkrad aus E39 oder E46 ist, dafür habe ich schonmal 
Umbauanleitungen im Netz gefunden die das Protokoll ausgewertet haben. 
Könnte ggf. Links raussuchen. Soweit ich weiß ist das bei den Modellen 
noch kein CAN-Bus, den gabs damals noch nicht im kompletten Fzg.

von Stefan Höbinger (Gast)


Lesenswert?

hy Mathias

kommt von e39 in e36 ;)

Zulassungsmensch hat gsagt, dass es versicherungstechnisch kein Problem 
wäre dieses Lenkrad in meinen BMW einzubauen, da das selbe Airbagsystem 
verwendet wird, und mein Auto kein ESP oÄ hat.

hab auch shcon etliches gefunden, nur halt vom E31 und E32 und daraus 
wurde ich hauch ned schlau ;)

aba td DAnke

Lg Stefan

von Mathias A. (mrdelphi)


Lesenswert?

Stefan Höbinger schrieb:
> kommt von e39 in e36 ;)

das hatte ich schon fast vermutet dass es um diese Modelle geht, da die 
Lenkräder ja bis auf die Tasten recht ähnlich sind ;)

Beim E39 läuft die Steuerung von Radio&Telefon über den I-Bus. Dafür 
gibts in der Tat schon einige Projekte die auch funktionieren sollen. 
Ich erinnere mich aber dunkel, dass der Tempomat nicht darüber geht, 
sondern eine eigene Leitung hat die nur dafür da ist - könnte also schon 
gehen das auszuwerten ohne andere Teile zu stören. Gesehen hab ich sowas 
noch nirgends, aber auch noch nicht extra danach gesucht.

Je nach Motor kannst Du aber evtl das Tempomat-Steuergerät aus dem E39 
verwenden, in manchen Baujahren waren die Tempomaten gleich bis auf eben 
die Bedienung über Lenkrad oder den Hebel.

Zu deiner Frage zur Auswertung: da es nur eine Leitung ist kann es nur 
asynchron sein, Du musst also wie vermutet (mit einem Quarz) einen 
passenden Takt erzeugen. Dann auf den Beginn ("Startbit") 
synchronisieren und in entsprechenden Zeitabständen das Eingangsbit 
auslesen und speichern. Auf den geposteten Bildern sieht es so aus als 
ob entweder jeweils ca. 2 Byte übertragen werden, oder es irgendeine Art 
Manchestercode ist (der Wert eines Bits wird da durch die Richtung der 
Flanke bestimmt, sieht dann im Scope aus wie 2 Bit), aber so genau kann 
ich da leider wegen der Auflösung nichts erkennen...

von mada (Gast)


Lesenswert?

Hallo

Vielleicht hilft diese Seite etwas weiter:
http://alextronic.de/bmw/projects_bmw_info_ibus.html
laut den Informationen hier geht der Tempomat über den D-Bus und nicht 
über den I-Bus. Sollte aber vom Aufbau her gleich sein.

lg

von Michi (Gast)


Lesenswert?

Das ist kein i-bus. Das was du auf dem Oszi siehts ist schon "alles". 
Jeweils ein 8bit Paket für den Tastenzustand. Siehe auch hier:
http://www.teranet.ch/bmwe31/Tempomatsteuerung_TMS1.pdf

Kannst du bitte Oszi Bilder von jeder Taste machen, ich baue nähmlich 
grad dasselbe aber 'andersrum'. Hab nen alten BMW aber nen neuen Motor 
und will den retro Hebel behalten.

von Michi (Gast)


Lesenswert?

Hab das heute mal programmiert. Und es funktioniert. Anzumerken ist noch 
das das letzt Bit ein togglebit und ständig togglen muss, sonst gibts 
nen Fehlereintrag im Steuergerät. Alles recht simpel also. Das Signal 
auszuwerten ist genauso einfach, z.b. per pin interrupt und timer.
Hab nur noch nicht alle Codes raus weil ich keine MFL Tasten zu 
probieren habe.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.