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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.