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
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
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.
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.
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.
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
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...
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
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.
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.