FORUM WERKSTATT STORIES ARCHIV KLEINANZEIGEN
Avatar

CAN-Signal generieren, wie

esgey, Freitag, 16.12.2022, 18:39 (vor 904 Tagen)

Sodele, jetzt hab ich auch mal was.

An meinem M62TU erwartet der in die DME(ME7.2) integrierte Tempomat das Speedsignal via CAN-Bus vom DSC.
Meine bisherige Idee ist, einen Arduino mit einem CAN-Shield zu verwenden um das Rechtecksignal in ein Datenwort zu verwandeln und in den Bus zu senden.

Soweit so gut, nur wie müssen die Datenwörter lauten, bzw. wie heißt die PID für dieses Speedsignal?
Ich weiß aktuell noch nicht mal, welches CAN-Protokoll die ME7.2 verwendet.

Hat sich schonmal jemand in diesem Themengebiet ausgetobt? Klar Tino beim E-Touring...
Gibt's eventuell eine einfachere Lösung über sowas wie CAN-Checked, Awron etc.?

CAN-Signal generieren, wie

Andreas Schneider @, Freitag, 16.12.2022, 19:43 (vor 904 Tagen) @ esgey
bearbeitet von Andreas Schneider, Freitag, 16.12.2022, 20:03

Hi,
ich hatte mit Tino was ähnliches (andere Problemstellung) besprochen.
Dabei hatte ich ne handvoll Seiten/Hersteller von solchen Spielzeugen gesammelt.

Hab grade alle Links durchgesehen - unbrauchbar.
Aber wenn man nach CAN IO Modulen sucht, kann man was finden:

https://www.autosportlabs.com/product/analogx-4-channel-analog-to-can-bus-interface/
https://www.accuratetechnologies.com/Products/CANverter
https://www.csselectronics.com/products/analog-to-can-bus-digital-pulse
https://inomatic.de/produkte/can-bus-adapter/

Gruß
Andi

--
Reparaturen von Kombiinstrumenten - E23 - E24 - E28 - E30

https://forum.6ercoupe.de/
http://e28-forum.lewonze.de/forum/
http://www.7-forum.com/forum/forumdisplay.html?f=6

Avatar

CAN-Signal generieren, wie

esgey, Freitag, 16.12.2022, 20:20 (vor 904 Tagen) @ Andreas Schneider
bearbeitet von esgey, Freitag, 16.12.2022, 20:30

Hi, ja ein Modul finden ist jetzt weniger das Problem.
CAN-Shield an einen Arduino und fertig.
Aber ich müsste erstmal wissen, wie das Datenwort aussieht, welches das DSC an die ME7.2 schickt...

Andererseits treibt mich gerade noch der Gedanke um, ob man die DME nicht dazu überreden könnte, das analoge Signal für den Tempomat einfach zu "fressen".

CAN-Signal generieren, wie

Mikes 318iS Cabrio, Samstag, 17.12.2022, 17:22 (vor 903 Tagen) @ esgey

auf revlimited gibts ne anleitung wie man zumindest mit der MSS54(?) den Tempomaten zum laufen bringen kann.

Im Endeffekt braucht man dafür eine Box vom Z3 der das Signal vom Tempomathebel umwandelt, da die neueren Modelle den Tempomat ja per Lenkrad ansteuern.

Im Steuergerät muss man par Dinge umändern, z.b. dass das Signal nicht mehr über das Lenkrad kommt und noch den Umfang der Reifen muss man (codiert) eingeben, da das ganze System wirklich ohne Geschwindigkeitssignal funktioniert.

Anbei der Link: https://www.r3vlimited.com/board/forum/e30-technical-forums/24v-engine-swaps/m54-s54/38...

--
[image]

Avatar

CAN-Signal generieren, wie

esgey, Samstag, 17.12.2022, 23:08 (vor 903 Tagen) @ Mikes 318iS Cabrio

Im Endeffekt braucht man dafür eine Box vom Z3 der das Signal vom Tempomathebel umwandelt, da die neueren Modelle den Tempomat ja per Lenkrad ansteuern.

Das Modul habe ich bereits.
[image]
Bist Du nicht im Talk unter Black Hurricane angemeldet?

Im Steuergerät muss man par Dinge umändern, z.b. dass das Signal nicht mehr über das Lenkrad kommt und noch den Umfang der Reifen muss man (codiert) eingeben, da das ganze System wirklich ohne Geschwindigkeitssignal funktioniert.

Das oben erwähnte Modul erzeugt genau die Signale wie das Lenkrad und die kommen über den selben Pin ins selbe Steuergerät.
Dafür muß in keinem der Motorsteuergeräte was geändert werden, dafür ist schließlich dieses Modul da. ;-)

Den Umfang der Reifen musst Du ändern, damit Dein Speedsignal -das brauchst Du also weiterhin- richtig ausgewertet wird. Grundsätzlich würde es aber auch ohne funktionieren, nur eben nicht korrekt wie angedacht. Also 1 km/h und 10 km/h sind dann eben 1,1 und 11 km/h o.ä.

Aber die allerwichtigste Info ist, dass man zumindest inn der MSS54 die Quelle, welche der Tempomamat verwertet, ändern kann.
Ich hoffe das kann die ME7.2 auch!!! :-| :-| :-|

Avatar

CAN-Signal generieren, wie

esgey, Sonntag, 18.12.2022, 04:28 (vor 903 Tagen) @ esgey

Ich hoffe das kann die ME7.2 auch!!! :-| :-| :-|

Nunja, habe mich jetzt bis nachts um 4 durch sämtliche zugänglichen Parameter der ME7.2 gequält.
Eine Umschaltung der Quelle, wie in der MSS54, scheint es nicht zu geben.
Zumal das auch dort alles mit Fragezeichen hinterlegt ist und der Typ ja auch klar sagt, dass er das so ändert, weil man das eben so macht und er auch nicht weiß warum...

Das einzige in der ME7.2 was ich finden konnte war ein Parameter für die Anzahl der Geschwindigkeitsimpulse pro 1km mit dem Wert 27645417 (01 A5 D5 E9).

Wegimpulszahl E30 müsste irgendwas im 4700er Bereich sein.
Aber mein kopf ist gerade leer gebrannt... :-|

CAN-Signal generieren, wie

Mikes 318iS Cabrio, Sonntag, 18.12.2022, 10:33 (vor 903 Tagen) @ esgey

Bist Du nicht im Talk unter Black Hurricane angemeldet?

Das ist richtig, das bin ich ;).

Das oben erwähnte Modul erzeugt genau die Signale wie das Lenkrad und die kommen über den selben Pin ins selbe Steuergerät.
Dafür muß in keinem der Motorsteuergeräte was geändert werden, dafür ist schließlich dieses Modul da. ;-)

Ah, interessant. Ist ein bisschen her dass ich mich damit beschäftigt habe, aber scheinbar hatte ich das falsch in Erinnerung. Man hat dann also die Möglichkeit entweder das Modul zu nehmen oder die Codierung im Steuergerät zu ändern (zumindest beim MSS54)

Den Umfang der Reifen musst Du ändern, damit Dein Speedsignal -das brauchst Du also weiterhin- richtig ausgewertet wird. Grundsätzlich würde es aber auch ohne funktionieren, nur eben nicht korrekt wie angedacht. Also 1 km/h und 10 km/h sind dann eben 1,1 und 11 km/h o.ä.

Aber die allerwichtigste Info ist, dass man zumindest inn der MSS54 die Quelle, welche der Tempomamat verwertet, ändern kann.
Ich hoffe das kann die ME7.2 auch!!! :-| :-| :-|


Ich hab da den Typen mal angefragt und er hat gemeint, dass das alles ohne Speedsignal funktioniert (ok, dann sind aber vielleicht 10 kmh nicht wirklich 10 kmh sondern eben 11) aber man trotzdem den Umfang der Reifen braucht weil es sonst sein kann, dass die DME den Tempomat deaktiviert. Hat wohl was damit zu tun, dass sich sonst beim Beschleunigen/Verzögern mit dem Tempomat die Drehzahl zu schnell ändern und dann denkt die DME irgendwas stimmt nicht und deaktiviert den Tempomat zur Sicherheit mal.

--
[image]

Avatar

CAN-Signal generieren, wie

esgey, Sonntag, 18.12.2022, 12:56 (vor 903 Tagen) @ Mikes 318iS Cabrio

Ich hab da den Typen mal angefragt und er hat gemeint, dass das alles ohne Speedsignal funktioniert (ok, dann sind aber vielleicht 10 kmh nicht wirklich 10 kmh sondern eben 11) aber man trotzdem den Umfang der Reifen braucht weil es sonst sein kann, dass die DME den Tempomat deaktiviert. Hat wohl was damit zu tun, dass sich sonst beim Beschleunigen/Verzögern mit dem Tempomat die Drehzahl zu schnell ändern und dann denkt die DME irgendwas stimmt nicht und deaktiviert den Tempomat zur Sicherheit mal.

Ja, das mit den Geschwindigkeiten pro Gang wird wirklich zum Problem, da erkennt er dann die Geschwindigkeitsänderung als unplausibel und kickt den Tempomat.
Warum er dann wieder behauptet das ginge ohne Speedsignal, wenn er es doch selbst vom Diff auf Pin22 im X6004 legt will mir nicht in den Kopf. Hab die Forenbeiträge dazu ja auch durchgeackert.

CAN-Signal generieren, wie

Andreas Schneider @, Sonntag, 18.12.2022, 14:20 (vor 903 Tagen) @ esgey

Hi,
wäre es möglich, dass man statt dem eigentlichen Speedsignal die Drehzahl + Übersetzung + Reifenumfang zu verwenden?

Gruß
Andi

--
Reparaturen von Kombiinstrumenten - E23 - E24 - E28 - E30

https://forum.6ercoupe.de/
http://e28-forum.lewonze.de/forum/
http://www.7-forum.com/forum/forumdisplay.html?f=6

CAN-Signal generieren, wie

Stefan-TS ⌂ @, Traunstein, Samstag, 17.12.2022, 16:43 (vor 903 Tagen) @ esgey

Unabhängig davon, dass ich Arduino denkbar ungeeignet finde für den Anwendungsfall würde ich mal 0x153 Mask 0x 00 FF F8 00 00 00 00 probieren, das sollte E46 Std. sein.

Avatar

CAN-Signal generieren, wie

esgey, Samstag, 17.12.2022, 23:14 (vor 903 Tagen) @ Stefan-TS

Unabhängig davon, dass ich Arduino denkbar ungeeignet finde für den Anwendungsfall würde ich mal 0x153 Mask 0x 00 FF F8 00 00 00 00 probieren, das sollte E46 Std. sein.

Dankeschön.

Wobei mein Verständnis der Angelegenheit nicht im Ansatz die Tiefe hat wie Deines.
Ich gehe mal davon aus, dass die hex 00 00 00 00 am Ende mit Argumenten analog zum speedsignal gefüllt werden müssen.
Gefunden habe ich dafür Faktor 1.28 und Maximalwert 325.12km/h was die ME7.2 frisst.

Ab hier hört's dann bei mir auf...ich habe das Studium der technischen Informatik nicht umsonst sehr früh wieder abgebrochen! :-D

E46 Std. sollte passen. Ich denke, dass E38/39 mit der selben Elektronikarchitektur unterwegs waren, zumindest wenn die selben Motoren/DME verbaut waren.
Also die Generation M54/M62TU...

CAN-Signal generieren, wie

Tom330CI, Sonntag, 18.12.2022, 10:32 (vor 903 Tagen) @ esgey

CAN Arbitration ID for ASC1 is 0x153.

Its sent out by the traction control module at a refresh rate of 10ms for ASC and 20ms for DSC.

Byte 0 - Bitfield
Bit 0 - LV_ASC_REQ

Demand for ASC intervention

Bit 1 - LV_MSR_REQ

Demand for MSR intervention

Bit 2 - LV_ASC_PASV

Status ASC passive (for EGS)

Bit 3 - LV_ASC_SW_INT

ASC Switching influence

Bit 4 - LV_BLS

Status Brake Light Switch

Bit 5 - LV_BAS
Bit 6 - LV_EBV
Bit 7 - LV_ABS_LED
Byte 1 - Bitfield
Bit 0 - LV_ASC_REQ
Bit 1 - LV_MSR_REQ
Bit 2 - LV_ASC_PASV
Bit 3 - VSS [0]
Bit 4 - VSS [1]
Bit 5 - VSS [2]
Bit 6 - VSS [3]
Bit 7 - VSS [4]
Byte 2 - VSS [MSB]

Vehicle speed signal in Km/h
Calculation = ( (HEX[MSB] * 256) + HEX[LSB]) * 0.0625
Min: 0x160 (0 Km/h)

Byte 3 - MD_IND_ASC

Torque intervention for ASC function
Calculation = HEX * 0.390625
Min: 0x00 (0.0%) max. reductiuon
Max: 0xFF (99.6094%) no reduction

Byte 4 - MD_IND_MSR

Torque intervention for MSR function
Calculation = HEX * 0.390625
Min: 0x00 (0.0%) no engine torque increase
Max: 0xFF (99.6094%) max engine torque increase

Byte 5 - Unused
Byte 6 - MD_IND_ASC_LM

Torque intervention for MSR function
Calculation = HEX * 0.390625
Min: 0x00 (0.0%) max. reductiuon
Max: 0xFF (99.6094%) no reduction

Byte 7 - ASC ALIVE

00h - 0Fh
Alive counter to verify message integrity

Herzliche Grüße an Robin

CAN-Signal generieren, wie

Stefan-TS ⌂ @, Traunstein, Sonntag, 18.12.2022, 11:31 (vor 903 Tagen) @ Tom330CI

CAN Arbitration ID for ASC1 is 0x153.

Its sent out by the traction control module at a refresh rate of 10ms for ASC and 20ms for DSC.

Byte 0 - Bitfield
Bit 0 - LV_ASC_REQ

Demand for ASC intervention

Bit 1 - LV_MSR_REQ

Demand for MSR intervention

Bit 2 - LV_ASC_PASV

Status ASC passive (for EGS)

Bit 3 - LV_ASC_SW_INT

ASC Switching influence

Bit 4 - LV_BLS

Status Brake Light Switch

Bit 5 - LV_BAS
Bit 6 - LV_EBV
Bit 7 - LV_ABS_LED
Byte 1 - Bitfield
Bit 0 - LV_ASC_REQ
Bit 1 - LV_MSR_REQ
Bit 2 - LV_ASC_PASV
Bit 3 - VSS [0]
Bit 4 - VSS [1]
Bit 5 - VSS [2]
Bit 6 - VSS [3]
Bit 7 - VSS [4]
Byte 2 - VSS [MSB]

Vehicle speed signal in Km/h
Calculation = ( (HEX[MSB] * 256) + HEX[LSB]) * 0.0625
Min: 0x160 (0 Km/h)

Byte 3 - MD_IND_ASC

Torque intervention for ASC function
Calculation = HEX * 0.390625
Min: 0x00 (0.0%) max. reductiuon
Max: 0xFF (99.6094%) no reduction

Byte 4 - MD_IND_MSR

Torque intervention for MSR function
Calculation = HEX * 0.390625
Min: 0x00 (0.0%) no engine torque increase
Max: 0xFF (99.6094%) max engine torque increase

Byte 5 - Unused
Byte 6 - MD_IND_ASC_LM

Torque intervention for MSR function
Calculation = HEX * 0.390625
Min: 0x00 (0.0%) max. reductiuon
Max: 0xFF (99.6094%) no reduction

Byte 7 - ASC ALIVE

00h - 0Fh
Alive counter to verify message integrity

Herzliche Grüße an Robin

Es ist schon eine Zeit her als ich damit gearbeitet habe, ist ja jetzt auch nicht mehr das jüngste Model, aber so wie von Tom geschrieben habe ich das auch grob in Erinnerung.
Der Multiplier den du genannt hast würde bei 12bit wenig Sinn ergeben, daher auf jeden Fall mit den 0.0625 starten.

Avatar

CAN-Signal generieren, wie

esgey, Sonntag, 18.12.2022, 12:59 (vor 903 Tagen) @ Stefan-TS

CAN Arbitration ID for ASC1 is 0x153.

Its sent out by the traction control module at a refresh rate of 10ms for ASC and 20ms for DSC.

Byte 0 - Bitfield
Bit 0 - LV_ASC_REQ

Demand for ASC intervention

Bit 1 - LV_MSR_REQ

Demand for MSR intervention

Bit 2 - LV_ASC_PASV

Status ASC passive (for EGS)

Bit 3 - LV_ASC_SW_INT

ASC Switching influence

Bit 4 - LV_BLS

Status Brake Light Switch

Bit 5 - LV_BAS
Bit 6 - LV_EBV
Bit 7 - LV_ABS_LED
Byte 1 - Bitfield
Bit 0 - LV_ASC_REQ
Bit 1 - LV_MSR_REQ
Bit 2 - LV_ASC_PASV
Bit 3 - VSS [0]
Bit 4 - VSS [1]
Bit 5 - VSS [2]
Bit 6 - VSS [3]
Bit 7 - VSS [4]
Byte 2 - VSS [MSB]

Vehicle speed signal in Km/h
Calculation = ( (HEX[MSB] * 256) + HEX[LSB]) * 0.0625
Min: 0x160 (0 Km/h)

Byte 3 - MD_IND_ASC

Torque intervention for ASC function
Calculation = HEX * 0.390625
Min: 0x00 (0.0%) max. reductiuon
Max: 0xFF (99.6094%) no reduction

Byte 4 - MD_IND_MSR

Torque intervention for MSR function
Calculation = HEX * 0.390625
Min: 0x00 (0.0%) no engine torque increase
Max: 0xFF (99.6094%) max engine torque increase

Byte 5 - Unused
Byte 6 - MD_IND_ASC_LM

Torque intervention for MSR function
Calculation = HEX * 0.390625
Min: 0x00 (0.0%) max. reductiuon
Max: 0xFF (99.6094%) no reduction

Byte 7 - ASC ALIVE

00h - 0Fh
Alive counter to verify message integrity

Herzliche Grüße an Robin


Es ist schon eine Zeit her als ich damit gearbeitet habe, ist ja jetzt auch nicht mehr das jüngste Model, aber so wie von Tom geschrieben habe ich das auch grob in Erinnerung.
Der Multiplier den du genannt hast würde bei 12bit wenig Sinn ergeben, daher auf jeden Fall mit den 0.0625 starten.

Danke Euch mal soweit!
Werde weiter fragen, wenn ich mal da reingeackert habe.

CAN-Signal generieren, wie

dirk_335i @, Seeheim-Jugenheim, Sonntag, 18.12.2022, 14:33 (vor 903 Tagen) @ esgey

warum nicht bei soviel Aufwand auch auf das MK60 umrüsten und dann auch ESP nutzen?

CAN-Signal generieren, wie

Tom330CI, Sonntag, 18.12.2022, 15:59 (vor 902 Tagen) @ dirk_335i

Aus Erfahrung kann ich sagen, dass das sehr gut klappt mit dem MK60.
Auch wenn andere da anderer Meinung sind.

Wenn es aber nur das V Signal bedarf, kannst du auch die ASC (MK20?) Einheit von den frühen E46 nehmen.
Das sollte auch mit normalen E30 induktiv Sensoren funktionieren ( teste ich in naher Zukunft ) , hat CAN Bus, ist recht Kompakt, weniger Aufwand und günstiger als das MK60.

Avatar

CAN-Signal generieren, wie

esgey, Sonntag, 18.12.2022, 18:53 (vor 902 Tagen) @ Tom330CI

MK60 war immer eine Überlegung, hat aber beim aktuell anliegenden Workload an der Karre einfach nicht drin.

Am liebsten wäre mir, wenn ich das in der ME7.2 selbst ändern kann, die EWS habe ich ja auch raus gekriegt.
Ansonsten wollte ich eh schon immer mal mit Arduino und CAN rumspielen.

CAN-Signal generieren, wie

Stefan-TS ⌂ @, Traunstein, Montag, 19.12.2022, 09:53 (vor 902 Tagen) @ Tom330CI

Hab ich mich auch schon gefragt warum man nicht einfach die ABS Einheit übernimmt, die agieren ja ziemlich autark. Ich bin ein heimlicher MK20 Fan. Den Aufwand ein MK20 gangbar zu machen halte ich persönlich für geringer als ein CAN Signal ohne Vorkenntnisse zu generieren.
Am CAN kannst du dann ja immer noch rumspielen wenn du mal Zeit hast.

Muss aber jeder selber wissen.
Beste Grüße

powered by my little forum