Autor |
Nachricht |
wernernue
CAN Hacker seit: 02.03.2016 Beiträge: 26 Karma: +9 / -0 Wohnort: Nürnberg
Premium Support
CAN-Diagnose gefällt das. |
11-05-2016, 0:23 Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
|
Nachdem mein virtueller Polo nun ziemlich fertig ist, wollte ich das hier mal vorstellen. Das System besteht aus Bordnetzsteuergerät, Motorsteuergerät, Kombiinstrument sowie dem Komfortsteuergerät.
Um das ganze System zum Leben zu erwecken, werden die Signale des Kurbelwellen- und Nockenwellensensors sowie die Geschwindigkeitsimpulse durch 2 Arduino Mikroprozessoren erzeugt, und somit steuert das Motorsteuergerät alle Aktoren an. Die Aktoren sind durch Leuchtdioden oder Glühlampen (z.B. für die Lambdasondenheizungen) oder auch mit echten Teilen, wie die Drosselklappe realisiert. Die Sensoren sind entweder mit Einstellreglern oder zum Teil auch mit echten Bauteilen, wie Gaspedal oder Drosselklappe aufgebaut.
Die "Drehzahlregelung" des Arduinos erfolgt durch Integration der Steuerimpulse für die Einspritzventile und Einspeisen der Steuerspannung an einen Analogeingang des Arduino Mikroprozessors. Durch diese Steuerung ist tatsächlich die Ansteuerung der Einspritzventile ausschlaggebend für die Leistung des Motors. Der aus 5 einzelnen Schaltern bestehende Tempomat ist voll funktionsfähig und kann die eingestellte Geschwindigkeit halten.
Das "virtuelle 5 Gang Schaltgetriebe" setzt das Geschwindigkeitssignal mit unterschiedlichen Verhältnissen zur Motordrehzahl um, beim Schaltvorgang wird der neue Motordrehzahlwert über das neue Übersetzungsverhältnis ausgehend vom Geschwindigkeitssignal errechnet und dann als Ist-Wert gesetzt.
Damit herrschen fast reale Bedingungen auf dem Antriebs-CAN-Bus.
Durch dem Aufbau am "Brett" lassen sich auch einzelne Sensorwerte beliebig verändern (z.B. die Öltemperatur vom Sensor G266, der ebenfalls durch einen Arduino Microcontroller nachgebildet wird) und somit kann über die Übersichtliche Visualisierung der einzelnen Bytes die zugehörige CAN-Message gut ermittelt werden.
Die Ergebnisse werde ich dann in einer Datei hier darstellen.
Als Fazit kann ich schon jetzt sagen, dass es sehr viel Informationen über die Funktionsweise und über falsche oder fehlende Signale gebracht hat.
Beschreibung: |
|
Dateigröße: |
1,17 MB |
Angeschaut: |
2620 mal |

|
Beschreibung: |
|
Dateigröße: |
4,21 MB |
Angeschaut: |
6719 mal |

|
Beschreibung: |
|
 Download |
Dateiname: |
MKV Polo CAN-BUS data.xls |
Dateigröße: |
183,5 KB |
Heruntergeladen: |
633 mal |
Zuletzt bearbeitet am 11-05-2016, 0:30, insgesamt 1-mal bearbeitet.
|
|
Nach oben |
|
 |
CAN-Diagnose Administrator


CAN Hacker seit: 07.06.2011 Beiträge: 474 Karma: +20 / -0 Wohnort: Ländle
|
11-05-2016, 9:15 Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
|
Cooles Projekt! Wird das eine Art "Schauwand" für Ausbildungszwecke?
Viele Grüße, Rainer
Dipl.-Ing. (FH) Rainer Kaufmann - Kaufmann Automotive GmbH
CANhack.de CAN-Bus Interface RKS+CAN kaufen: CAN-USB Interface |
|
Nach oben |
|
 |
wernernue
CAN Hacker seit: 02.03.2016 Beiträge: 26 Karma: +9 / -0 Wohnort: Nürnberg
Premium Support
|
11-05-2016, 15:16 Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
|
Hallo Rainer,
entstanden ist die Idee aufgrund eines übrigen Komfortsteuergeräts, nachdem ich in meinem Polo eine Funkschließung eingebaut habe. Die Notwendigkeit eines CAN_Gateways war dann schnell klar und ein Bordnetzsteuergerät schnell gefunden. Und dann wurde mal alles mit fliegender Verkabelung zusammengelötet und vom Schrottplatz eine OBD Buchse besorgt und ich konnte mit dem VCDS zugreifen. Nach Neukonfiguration des Gateways waren dann mal die Fehlermeldungen der fehlenden Steuergeräte weg bis auf Kombiinstrument und Motorsteuergerät.
Irgendwie ja auch logisch, ein Auto ohne Tacho und Motor gibt es da halt nicht, also mussten noch diese beiden Steuergeräte her, die ich zusammen mit einem Schlüssel und passenden Transponder gefunden habe. Noch ein Zündschloss mit der Lesespule und die CAN-Fehler waren weg. Um nun die mit dem Oszilloskop gemessenen CAN-Impulse zu verstehen, musste noch ein CAN-Interface her.
Und dann war auch die Idee geboren, dem MSG Impulse vorzugaukeln, und da mein Kollege sich viel mit Arduinos beschäftigt, habe ich mich auch dafür entschieden.
Die ersten Signalverläufe waren dann noch unplausibel für das Steuergerät, aber nach einiger Recherche hat die Signalform gepasst. Und die immer wieder neu auftretenden Fehlermeldungen aufgrund fehlender Sensoren wurden nach und nach durch Anschließen von Drehreglern etc. behoben. Problematisch waren lange Zeit erkannte Zündaussetzer aufgrund von Instabilitäten des Signals (Jitter) was wohl aufgrund eines Defekts eines Analogeingangs lag, der sich eines Tages von selbst gelöst hatte.
Ich werde hier interessante Oszillogramme posten und auch den ein oder anderen Anwendungsfall der Arduinos beschreiben. Für Anregungen gerne bereit
Speziell als Schauwand hatte ich es eigentlich nicht gedacht, aber meine Kollegen von unserem Fuhrpark (ich arbeite im IT-Bereich) haben schon Interesse an einer Demo angemeldet.
Viele Grüße aus Nürnberg,
Werner
Zuletzt bearbeitet am 11-05-2016, 15:18, insgesamt 1-mal bearbeitet.
|
|
Nach oben |
|
 |
CAN-Diagnose Administrator


CAN Hacker seit: 07.06.2011 Beiträge: 474 Karma: +20 / -0 Wohnort: Ländle
|
11-05-2016, 15:40 Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
|
Ok 
Dipl.-Ing. (FH) Rainer Kaufmann - Kaufmann Automotive GmbH
CANhack.de CAN-Bus Interface RKS+CAN kaufen: CAN-USB Interface |
|
Nach oben |
|
 |
postmann CAN-Profi

CAN Hacker seit: 23.05.2013 Beiträge: 121 Karma: +40 / -0
CAN Support
|
11-05-2016, 21:47 Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
|
Wow, saubere Arbeit 
|
|
Nach oben |
|
 |
wernernue
CAN Hacker seit: 02.03.2016 Beiträge: 26 Karma: +9 / -0 Wohnort: Nürnberg
Premium Support
|
12-05-2016, 0:44 Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
|
Danke
so dann wird ich hier mal die Beschaltung des Tempomats kurz beschreiben.
Man benötigt einen 2 poligen Schalter, der einrastet (Schließer S1)
einen Taster (Öffner S2) für die "Cancel" Taste,
einen Taster (Schließer S3) für die Reset bzw. (+) Taste
einen Taster (Schließer S4) für die Set bzw. (-) Taste
eine Diode, z.B. 1N4148
Die gemeinsame Leitung der 4 Schalter liegt auf Plus 12V, wenn S1 eingeschaltet ist. Hier ist die weiße Leitung angeschlossen, die zum Pin3 des Steckers XP3 am Bordnetzsteuergerät geht und an die Steckerdurchführung in der Stirnwand, wo es dann zum Motorsteuergerät weitergeht. Beim AZQ ist der Anschlusspin Pin28 am MSG. Die Durchführung geht über den weißen Stecker in der Stirnwand über Pin10, das Kabel im Motorraum zum MSG ist normalerweise bereits verlegt.
Im Messwertblock 9 des Bordnetzsteuergeräts sind die Schalter zu sehen, wenn dort "nicht verbaut" steht, ist das Steuergerät nicht geeignet.
Im Motorsteuergerät muss die GRA freigeschaltet werden. Dies geht über den Logincode 11463.
Im Meßwertblock 66 findet man die Schalter wieder. Im 4. Byte ist das niederwertigste Bit die Schalterstellung von Schalter 1, das 2. von rechts entspricht dem Schalter 2, das dritte Bit von rechts entspricht dem Taster "Set" und das vierte Bit von rechts dem Taster "Reset"
Im zweiten Byte stehen die Schalterstellung der beiden Bremsschalter und Kupplungsschalter, die für den Betrieb 0 sein müssen (Bremse und Kupplung nicht gedrückt).
Das vierte Bit ist immer 1, wenn die GRA über den Logincode aktiviert wurde.
Mit diesen 4 Schaltern kann man sich den Lenkstockhebel sparen und die Problematik des Airbagausbaus. Die Verlegung des Kabels zu dem Stecker in der Stirnwand ist dann die einzige Herausforderung.
Beschreibung: |
|
Dateigröße: |
8,45 KB |
Angeschaut: |
2678 mal |

|
|
|
Nach oben |
|
 |
wernernue
CAN Hacker seit: 02.03.2016 Beiträge: 26 Karma: +9 / -0 Wohnort: Nürnberg
Premium Support
|
17-05-2016, 12:19 Titel: Tempomat: Fehlermeldungen und CAN |
|
|
Hier noch ein paar Infos zur Fehlermeldung 17977 - Schalter für Geschwindigkeitsregelanlage (GRA/E45)
P1569 - 35-00 - unplausibles Signal
Bei dauerhaft anstehenden Fehler (also nicht sporadisch) ist die Fehlerursache die fehlende Leitungsverbindung zwischen Bordnetzsteuergerät und Motorsteuergerät.
Wenn das weiße Kabel zum Stecker in der Stirnwand gezogen wurde, dürfte das weiterführende Kabel zum MSG fehlen. Der Anschlusspin am MSG ist unterschiedlich, beim AZQ ist es Pin 28.
Ist die Fehlermeldung sporadisch, liegt es eher an der Verkabelung oder am Schalter.
Die Information vom Bordnetzsteuergerät ist in 2 CAN-Adressen enthalten, nämlich 388 und 38A. Diese sind am Bordnetzsteuergerät zu sehen, auch wenn die CAN-Verbindung aufgetrennt ist.
Jeweils im 2. Byte (BB) ist die Information der Schalter enthalten.
388 3Byte AA BB CC
38A 4Byte AA BB CC DD
BB: 01 Tempomat EIN
BB: 02 Tempomat AUS
BB: 03 Tempomat CANCEL
BB: 05 SET (-)
BB: 09 RESET (+)
???????x AUS=0 EIN=1
??????x? CANCEL=1 Normal=0
?????x?? SET=1
????x??? RESET=1
|
|
Nach oben |
|
 |
CAN-Diagnose Administrator


CAN Hacker seit: 07.06.2011 Beiträge: 474 Karma: +20 / -0 Wohnort: Ländle
|
17-05-2016, 13:04 Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
|
Klasse! Ein Hinweis noch zur Fehlermeldung, aus eigener leidvoller Erfahrung und nerviger Fehlersuche: In so einem Fehler-Fall auch an einen defekten Tempomat-Hebel denken, war bei mir der Fall (kurz nach Neukauf des Hebels). Kam erst spät auf den Gedanken, daß der fast neue Hebel selbst defekt sein könnte.
Die Schalterstellungen des Hebels können in Diagnose-Messwertblöcken des Motorsteuergeräts oder Lenksäulen-Steuergeräts geprüft werden, oder halt nach Anzapfen des CAN in den oben genannten Bits.
Viele Grüße, Rainer
Dipl.-Ing. (FH) Rainer Kaufmann - Kaufmann Automotive GmbH
CANhack.de CAN-Bus Interface RKS+CAN kaufen: CAN-USB Interface
Zuletzt bearbeitet am 17-05-2016, 13:05, insgesamt 2-mal bearbeitet.
|
|
Nach oben |
|
 |
wernernue
CAN Hacker seit: 02.03.2016 Beiträge: 26 Karma: +9 / -0 Wohnort: Nürnberg
Premium Support
|
17-05-2016, 13:25 Titel: Signale von Drehzahlsensor G28 und Nockenwellensensor G40 |
|
|
Im Bild sind die Signale von Kurbelwellensensor G28 und Nockenwellensensor G40 zu sehen. Diese Signale generiert der Arduino DUE. Die zeitliche Abfolge der beiden Signale ist über einen Messwertblock im Motorsteuergerät zu sehen. Flank L>H und H>L bei Zahn 89 bzw. 29 gezählt von der "Zahn-Lücke"
Die Periodendauer der "Zahnimpulse" wird über einen analogen Eingang verändert.
Bei "hohen Drehzahlen" gerät hierbei ein Arduino mit 16MHz Taktfrequenz bereits an seine Grenzen, da die Laufzeit in der Loop (der Programmteil im Arduino, der in einer Schleife immer wieder ausgeführt wird) bereits einen merklichen Anteil der Periodendauer eines einzelnen "Zahnimpulses" hat.
Bei meinem Aufbau habe ich einen Arduino DUE verbaut, der wesentlich leistungsfähiger ist, als der UNO.
Außerdem gab es Probleme mit dem Aufbau des Programms. Unterschiedliche Programmbedingungen resultieren unterschiedliche Periodendauern, die dann als Jitter in dem Signal resultieren. Das Motorsteuergerät erkennt dies unter Umständen als Zündaussetzer und schaltet dann den betroffenen Zylinder ab. Die Zündaussetzerkennung basiert auf der Erkennung eines Drehzahleinbruchs im Arbeitstakt des jeweiligen Zylinders.
Hier der Programmteil im Arduino mit einer kurzen Erklärung der Funktionsweise:
Die variable NW (Nockenwelle) zählt durchläuft stetig die Werte von 0 bis 239. Erreicht sie 240, wird sie wieder auf 0 gesetzt und hat dann genau eine Umdrehung gemacht. Die Kurbelwelle hätte genau 2 Umdrehungen durchlaufen.
Die Variable Begin_input entspricht 11 und End_input entspricht 21, d.h. in dieser Zeit wird der Analogeingang eingelesen, der die Periodendauer der Zahnimpulse beeinflusst. Verwendet wird nur die Zeit vom 1. Zylinder, beim 2. und 3. wird der Wert in die Dummy-variable gelesen, die nicht weiter verwendet wird. Diese Zeit liegt vor dem OT der jeweiligen Zylinder, läge es nach dem OT, so würden Zündaussetzer erkannt, weil das Einlesen des Analogeingangs eine bestimmte Zeit braucht, und somit die Drehzahl in diese Phase niedriger wäre.
+80 entspricht dem 2. Zylinder und +160 entspricht dem 3. Zylinder.
Der Soll/Ist Vergleich und die Berechnung der Signalpause (dies ist die Dauer eines Zahnes) erfolgt in dieser Zeit.
Der Ausgangsimpuls G28 liegt an Ausgang 12 an. Er wird dann HIGH, wenn die Division durch 2 des Wertes von NW den Rest 1 ergibt, aber nicht 117, 119, 237 oder 239 ergibt. Diese 4 Werte sind die "Zahnlücken" der fehlenden Zähne in der ersten oder zweiten Umdrehung der Kurbelwelle,
Am Pin 13 liegt das Signal vom Nockenwellensensor G40. Er ist dann HIGH, wenn NW größer 58 und NW kleiner 179 ist. (NW größer 58 entspricht Zahn 29 und NW kleiner 179 entspricht Zahn 89)
Der Pin 13 muss HIGH sein, wenn NW größer als 58 und kleiner als 179 ist, dies entspricht dann Zahn 29 und 89 (89=zweite Kurbelwellenumdrehung Zahn 29)
So, das ist also das Herz dieses virtuellen Polos.
Hier nun das Arduino Sketch:
Code: |
byte NW = 0;
int Signalpause;
int Drehzahlsensor;
int Dummy; //Nur zum Zeitausgleich
int DRZ_soll;
int DRZ_delta;
int DRZ_ist = 700;
byte Begin_input = 11;
byte End_input = 21;
byte NW_Pin=13;
byte KW_Pin=12;
void setup() {
pinMode(13, OUTPUT); //Nockenwellenimpuls
pinMode(12, OUTPUT); //Kurbelwellenimpuls
}
void loop() {
delayMicroseconds(Signalpause);
//A1 einlesen und Soll-Ist Abgleich nur in der Kompriierungsphase
if ( (NW > Begin_input & NW <End_input> Begin_input + 80 & NW <End_input> Begin_input + 160 & NW <End_input> Begin_input + 240 & NW <End_input> Begin_input & NW < Begin_input + 2) {
Drehzahlsensor = analogRead(A1);
} else {
Dummy = analogRead(A1);
}
//Eingangspegel mappen auf ungefähre Drehzahl von 700 bis 5800
DRZ_soll = map(Drehzahlsensor, 80, 870, 700, 5800);
//Verändern der Drehzahl mittels P-Regler
DRZ_delta = DRZ_soll - DRZ_ist;
DRZ_ist = DRZ_ist + DRZ_delta / 10;
//Berechnen der neuen Periodendauer eines Zahnes.
Signalpause = 400000 / DRZ_ist;
}
//Kurbelwellenimpuls HIGH wenn NW ungerade außer bei Zahnlücke
if ( (NW % 2 == 1) & !(NW == 117) & !(NW == 119) & (NW < 237) ) {
digitalWrite(KW_Pin, LOW);
} else {
digitalWrite(KW_Pin, HIGH);
}
//Nockenwellenimpuls HIGH von Zahn 29 bis 89
if ((NW <58> 179)) {
digitalWrite(NW_Pin, LOW);
} else {
digitalWrite(NW_Pin, HIGH);
}
//Zählvariable Nockenwelle wieder auf 0 setzen
if (NW == 240) {
NW = 0;
}
NW = NW + 1;
}
|
Beschreibung: |
Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
Dateigröße: |
3,92 MB |
Angeschaut: |
2040 mal |

|
Zuletzt bearbeitet am 17-05-2016, 21:43, insgesamt 2-mal bearbeitet.
|
|
Nach oben |
|
 |
wernernue
CAN Hacker seit: 02.03.2016 Beiträge: 26 Karma: +9 / -0 Wohnort: Nürnberg
Premium Support
CAN-Diagnose gefällt das. |
19-05-2016, 23:17 Titel: Simulation des Ölstands- und Öltemperatursensors G266 |
|
|
Simulation des Ölstands- und Öltemperatursensors G266 mit einem Arduino UNO
Neben dem klassischen Öldruckschalter wird u.a. wegen der Wartungsintervallverlängerung noch ein weiterer Sensor verbaut, der den Ölstand und die Öltemperatur misst. Die beiden Werte werden über eine einzige Leitung digital in das Kombiinstrument übermittelt. Wie der Geber funktioniert ist vielfach im Internet beschrieben. Experimentiert man mit einem Kombiinstrument so wird man schnell durch den Warnton darauf aufmerksam, dass das Signal des Gebers G266 fehlt. Ein fehlendes Signal wird mit der gelben Ölkanne angezeigt und je nach Konfiguration mit dem Warnton ausgegeben.
Nicht immer lässt sich dieser Geber herausprogrammieren, so dass ich das Signal mittels eines Arduino erzeuge. Wie der Signalverlauf aussieht, ist im folgenden Bild zu sehen. Nach der Aufheizzeit zur Temperaturerhöhung der Ölmenge im Innern des Gebers wird zunächst in Form eines symmetrischen Rechtecksignals die Öltemperatur übertragen (T1), die Gesamtzeit zwischen 2 Aufheizphasen (T2-Aufheizzeit) ist repräsentativ für die Füllstandshöhe. Je niedriger der Füllstand, desto länger dauert die Abkühlphase.
Am Arduino kann an den Eingängen A0 und A1 jeweils ein Drehregler angeschlossen werden, wenn der auskommentierte Bereich aktiviert wird. Dann kann die Füllstandshöhe und Öltemperatur verändert werden.
Dieser nachgebaute Geber eignet sich auch gut bei auftretenden sporadischen Fehlern zur Überprüfung des Kabelbaumes, in dem man den Arduino direkt an das Kombiinstrument anschließt. Je nachdem, ob der Fehler dann immer noch auftritt oder nicht, lässt sich die Verkabelung oder das Kombiinstrument ausschließen, wenn ein vorheriger Austausch des Gebers erfolglos war.
Noch eine kleine Anmerkung zum Warnton zum klassischen Öldruckschalter. Hier wird die Plausibilität vom Kombiinstrument geprüft. Läuft der Motor, und der Öldruckschalter ist nicht geschlossen, dann wird der Warnton aktiviert und die rote Ölkanne leuchtet im KI. Es wird aber genauso überprüft, ob der Schalter bei stehendem Motor „offen“ ist. Schickt mal über den CAN-Bus eine Motordrehzahl an das KI, so wird dies pfeifen, wenn der Schalter offen ist und wird ebenfalls nach ein paar Sekunden pfeifen, wenn die Motordrehzahl 0 ist, aber der Schalter geschlossen bleibt.
Hier der Programmcode für den Arduino
Code: |
int Oelstand;
int Oeltemp;
int T0=16;
int T1=20;
int T2=350;
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
/*
// Den auskommentierten Bereich aktivieren, wenn man die Werte für Füllstand und Öltemperatur variabel verändern möchte
// die Werte können in den MWB am Kombiinstrument angesehen werden.
Oeltemp=analogRead(A0);
T1=map(Oeltemp,0,1023,10,40);
Oelstand=analogRead(A1);
T2=map(Oelstand,0,1023,250,800);
*/
digitalWrite(13,HIGH);
delay(T0);
digitalWrite(13,LOW);
delay(T1);
digitalWrite(13,HIGH);
delay(T1);
digitalWrite(13,LOW);
delay(T2-T1-T1);
}
|
Beschreibung: |
Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
Dateigröße: |
8,28 KB |
Angeschaut: |
1777 mal |

|
Zuletzt bearbeitet am 19-05-2016, 23:31, insgesamt 4-mal bearbeitet.
|
|
Nach oben |
|
 |
wernernue
CAN Hacker seit: 02.03.2016 Beiträge: 26 Karma: +9 / -0 Wohnort: Nürnberg
Premium Support
|
23-05-2016, 23:21 Titel: Fehler: Klopfsensor Signal zu groß |
|
|
Weiß vielleicht jemand, ob die Fehlermeldung
16712 - Klopfsensor 1 (G61)
P0328 - 35-00 - Signal zu groß
eine Fehlinterpretation vom Motorsteuergerät ist?
Ich habe nun schon die beiden Anschlusspins direkt kurzgeschlossen und auch nach Masse gelegt, aber es bleibt immer die Fehlermeldung, dass die Spannung zu groß sei.
In Wirklichkeit ist das Signal ja zu klein, weil es ja kein echter Motor ist, der Geräusche von sich gibt und somit der angeschlossene Sensor dementsprechend kein Signal von sich gibt.
Meine Vermutung ist, dass die Fehlermeldung den falschen Text ausgibt, also eigentlich zu klein ist, was ja stimmen würde.
Vielen Dank im Voraus.
Beschreibung: |
Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
 Download |
Dateiname: |
Log-N VP 9999-WVWZZZ9NZ3D064797-111530km.txt |
Dateigröße: |
2,17 KB |
Heruntergeladen: |
352 mal |
|
|
Nach oben |
|
 |
CAN-Diagnose Administrator


CAN Hacker seit: 07.06.2011 Beiträge: 474 Karma: +20 / -0 Wohnort: Ländle
|
24-05-2016, 9:17 Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
|
Guten Morgen,
möglich, eventuell hast Du dich auch nur beim Anschlußpin verzählt? So etwas passiert mir normalerweise.
Viele Grüße, Rainer
Dipl.-Ing. (FH) Rainer Kaufmann - Kaufmann Automotive GmbH
CANhack.de CAN-Bus Interface RKS+CAN kaufen: CAN-USB Interface
Zuletzt bearbeitet am 24-05-2016, 9:17, insgesamt 1-mal bearbeitet.
|
|
Nach oben |
|
 |
wernernue
CAN Hacker seit: 02.03.2016 Beiträge: 26 Karma: +9 / -0 Wohnort: Nürnberg
Premium Support
|
24-05-2016, 18:56 Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
|
CAN-Diagnose hat folgendes geschrieben: | Guten Morgen,
möglich, eventuell hast Du dich auch nur beim Anschlußpin verzählt? So etwas passiert mir normalerweise.
Viele Grüße, Rainer |
Hallo Rainer,
ich hab den Stecker schon mehrfach aufgemacht und überprüft. Die beiden Anschlüsse gehen auf 101 und 109 am MSG. Da müsste ja das Signal vom Piezokristall anstehen. Den Schirm hab ich nicht angeschlossen, da mein Sensor auch nur 2 Anschlüsse hat. Im MWB 26 steht für jeden Zylinder 0,1V oder 0,08V drin, kommt mir schon eher zu wenig vor als zu viel.
Kann leider grad keine Vergleichsmessung machen, da ich nur Dieselfahrzeuge hier greifbar habe.
Stimmt Pin 101/109?
Viele Grüße
Werner
|
|
Nach oben |
|
 |
CAN-Diagnose Administrator


CAN Hacker seit: 07.06.2011 Beiträge: 474 Karma: +20 / -0 Wohnort: Ländle
|
26-05-2016, 18:50 Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
|
Kannst Du mir bitte sagen welches Modelljahr und Typ Deine Simulation ist?
Dipl.-Ing. (FH) Rainer Kaufmann - Kaufmann Automotive GmbH
CANhack.de CAN-Bus Interface RKS+CAN kaufen: CAN-USB Interface |
|
Nach oben |
|
 |
wernernue
CAN Hacker seit: 02.03.2016 Beiträge: 26 Karma: +9 / -0 Wohnort: Nürnberg
Premium Support
|
27-05-2016, 7:57 Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
|
CAN-Diagnose hat folgendes geschrieben: | Kannst Du mir bitte sagen welches Modelljahr und Typ Deine Simulation ist? |
Guten Morgen Rainer,
Modelljahr 2003
10/2002
Polo A04 comfo 47 5g
9N11D4
Mehr weiß ich leider nicht...
|
|
Nach oben |
|
 |
wernernue
CAN Hacker seit: 02.03.2016 Beiträge: 26 Karma: +9 / -0 Wohnort: Nürnberg
Premium Support
|
27-05-2016, 8:05 Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
|
CAN-Diagnose hat folgendes geschrieben: | Kannst Du mir bitte sagen welches Modelljahr und Typ Deine Simulation ist? |
hab das Msg und KI im Internet gekauft....
Zuletzt bearbeitet am 27-05-2016, 8:09, insgesamt 1-mal bearbeitet.
|
|
Nach oben |
|
 |
CAN-Diagnose Administrator


CAN Hacker seit: 07.06.2011 Beiträge: 474 Karma: +20 / -0 Wohnort: Ländle
|
27-05-2016, 20:53 Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
|
Hallo,
hast Du ein Bild vom Steckerbuchse am Simos 3 Motorsteuergerät?
Bin mir nicht sicher, ob es das Richtige ist.
LG
Beschreibung: |
Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
Dateigröße: |
11,77 KB |
Angeschaut: |
1653 mal |

|
Dipl.-Ing. (FH) Rainer Kaufmann - Kaufmann Automotive GmbH
CANhack.de CAN-Bus Interface RKS+CAN kaufen: CAN-USB Interface
Zuletzt bearbeitet am 27-05-2016, 21:31, insgesamt 1-mal bearbeitet.
|
|
Nach oben |
|
 |
wernernue
CAN Hacker seit: 02.03.2016 Beiträge: 26 Karma: +9 / -0 Wohnort: Nürnberg
Premium Support
|
28-05-2016, 8:48 Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
|
CAN-Diagnose hat folgendes geschrieben: | Hallo,
hast Du ein Bild vom Steckerbuchse am Simos 3 Motorsteuergerät?
Bin mir nicht sicher, ob es das Richtige ist.
LG |
Hallo, ja, ein Schaltbild habe ich. Hatte aber auch schon einen Fehler entdeckt, wo der Pin für die GRA drangeht. Ich habe ein paar verschiedene Versionen, aber beim Klopfsensor sind sich alle einig, dass er zwischen Pin 101 und 109 hängt und der Schirm vom Kabel auf 102. Deshalb hab ich ja die Vermutung, dass der Text von der Fehlermeldung nicht stimmt.
Aber wenn wir schon die Breitbandsonde am Schirm haben, das ist die nächste "Harte Nuss", wo ich keine Idee hab, sie zu simulieren.
Die misst ja jetzt den Strom am Pin 14 bis die Spannung umspringt am Pin 34.
Und das Verhalten ändert sich in Abhängigkeit von der Last.
Ich werde wohl mit dem Fehler leben müssen 
|
|
Nach oben |
|
 |
CAN-Diagnose Administrator


CAN Hacker seit: 07.06.2011 Beiträge: 474 Karma: +20 / -0 Wohnort: Ländle
|
29-05-2016, 10:57 Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
|
Ohne Gewähr...
Beschreibung: |
Anschluß Klopfsensor an Simos 3 |
|
Dateigröße: |
11,89 KB |
Angeschaut: |
1551 mal |

|
Dipl.-Ing. (FH) Rainer Kaufmann - Kaufmann Automotive GmbH
CANhack.de CAN-Bus Interface RKS+CAN kaufen: CAN-USB Interface |
|
Nach oben |
|
 |
wernernue
CAN Hacker seit: 02.03.2016 Beiträge: 26 Karma: +9 / -0 Wohnort: Nürnberg
Premium Support
|
29-05-2016, 16:02 Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
|
CAN-Diagnose hat folgendes geschrieben: | Ohne Gewähr... |
Danke Rainer für Deine Bemühungen,
zumindest die Pins, an denen der Kristall hängt sind gleich. ich werde mal versuchen, irgendeinen Impuls draufzulegen, der dem Original nahekommt. Wenn die Pins richtig sind, müsste ja evtl. eine andere Fehlermeldung kommen.
Der Schirm ist nach meinen Unterlagen auf Pin 102.
Beschreibung: |
Motorsimulation eines AZQ Motors mit Polo Steuergeräten |
|
Dateigröße: |
5,24 KB |
Angeschaut: |
1249 mal |

|
|
|
Nach oben |
|
 |
wernernue
CAN Hacker seit: 02.03.2016 Beiträge: 26 Karma: +9 / -0 Wohnort: Nürnberg
Premium Support
CAN-Diagnose gefällt das. |
12-07-2016, 20:37 Titel: CAN-Message für MIL und EPC Lampe |
|
|
Hier mal wieder eine kleine Ergänzung
Eine sehr interessante Adresse ist die 0x480
Im Byte 2 und 3 wird ja der Verbrauch zum KI übertragen. Das hat hier im Forum schon jemand herausgefunden.
Aber im Byte 1 steckt die Info für die MIL (gelbe Motor-Fault-Lampe) und die EPC-Lampe (Electronic-Power-Control), also wenn das Gaspedal oder die Drosselklappe unplausible Signale liefert.
Das 3. Bit von rechts ist 1, wenn die EPC Lampe angesteuert wird, und das 4. Bit von rechts ist 1, wenn die MIL aktiviert ist.
Durch eine UND Verknüpfung kann man dann die beiden Variablen für die beiden Lampen setzen.
Die Verbrauchsberechnung misst jede Sekunde die Differenz der verbrauchten Mikroliter. Die Differenz wird dann mit 3600 multipliziert und durch 10000 dividiert, da die Anzeige den Verbrauch in Liter mit 2 Nachkommastellen darstellt. Der Dezimalpunkt ist dafür fest aktiviert.
Hier der Arduino-Code für die Selektion der MIL und EPC Lampe sowie der Verbrauchsberechnung.
Code: |
if (rxId==0x480)
{
Byte_0x480_1 = rxBuf[1]; //MIL und EPC
Byte_0x480_2 = rxBuf[2]; //Verbrauch_LB
Byte_0x480_3 = rxBuf[3]; //Verbrauch_HB
MIL = Byte_0x480_1 & B00001000;
if (MIL > 0) {digitalWrite(MIL_PIN,HIGH);} else {digitalWrite(MIL_PIN,LOW);}
EPC = Byte_0x480_1 & B00000100;
if (EPC > 0) {digitalWrite(EPC_PIN,HIGH);} else {digitalWrite(EPC_PIN,LOW);}
//Verbrauchsberechnung
CurrentVB = Byte_0x480_2 + (Byte_0x480_3 & B01111111)*256;
if (currentMillis - previousMillis >= interval)
{
previousMillis = currentMillis;
if (CurrentVB<LastVB) {VB=CurrentVB+0x8000-LastVB;} else {VB=CurrentVB-LastVB;}
VBh = VB*0.36;
LastVB = CurrentVB;
}
} |
|
|
Nach oben |
|
 |
wernernue
CAN Hacker seit: 02.03.2016 Beiträge: 26 Karma: +9 / -0 Wohnort: Nürnberg
Premium Support
|
04-02-2017, 0:11 Titel: Can ID Geschwindigkeitssignal vom ABS Steuergerät |
|
|
Hallo, ich habe mal ne Frage.
Ich möchte auf meiner Simulation das Geschwindigkeitssignal über CAN zum KI schicken. Aktuell mache ich das über ein Rechtecksignal an dem entsprechenden Pin im KI. Die Leitung in dem Stecker am KI musste ich aber erst nachverdrahten, so dass das KI auf jeden Fall über CAN angesteuert worden ist.
Ich mutmaße mal, dass das ABS Steuergerät das Signal über den Antriebsbus ans KI sendet.
Aber die ID 0x351, die ich in mehreren Beiträgen gefunden habe, funktioniert nicht.
Hat jemand eine Idee, welche ID das KI benötigt, um das Geschwindigkeitssignal anzuzeigen?
Viele Grüße
Werner
|
|
Nach oben |
|
 |
wernernue
CAN Hacker seit: 02.03.2016 Beiträge: 26 Karma: +9 / -0 Wohnort: Nürnberg
Premium Support
CAN-Diagnose gefällt das. |
07-02-2017, 0:28 Titel: Geschwindigkeitsinfo im CAN-Bus |
|
|
Habe einen interessanten Artikel gefunden der auch die Lösung meiner Frage beinhaltet.
Es müssen 2 CAN-Messages gesendet werden.
Adresse 0x5A0: 0xFF,speedL,speedH,0xB0,0x00,0x00,0x00,0xAD
Adresse 0x1A0: 0x18,speedL,speedH,0x00,0xFE,0xFE,0x00,0xFF
Hier noch ein Link zu dem Artikel:
https://hackaday.io/project/6288-volkswagen-can-bus-gaming
|
|
Nach oben |
|
 |
wernernue
CAN Hacker seit: 02.03.2016 Beiträge: 26 Karma: +9 / -0 Wohnort: Nürnberg
Premium Support
CAN-Diagnose und majonez gefällt das. |
14-04-2017, 20:09 Titel: Bordcomputer Polo |
|
|
Hallo zusammen,
wieder mal ein kleines Update zu meinem Arduino Projekt.
Ich habe jetzt 2 Bordcomputer in Betrieb. Einer ist an meinem virtuellen Polo (der hier am Anfang beschrieben ist) angeschlossen, aufgebaut auf einer Lochrasterplatte ist dies eine recht kompakte Lösung, die man auch leicht in ein Fahrzeug einbauen kann.
Die Übertragung der Anzeigedaten geschieht über ein Bluetooth-Modul auf ein Android-Handy oder -Tablet. Zur Anzeige wird dazu die App "Virtuino" verwendet, mit einer frei konfigurierbaren Oberfläche kann man sich eine schöne Seite zusammenbauen, auf der alle abgegriffenen Werte gleichzeitig angezeigt werden. Die Aktualisierung der Werte am Display geschieht alle 500ms.
Folgende Werte werden am CAN-Bus ausgelesen:
- Status Tempomat
- Tankinhalt
- Außentemperatur
- Öltemperatur
- Licht ein
- Geschwindigkeit
- Wegstrecke
- MIL und EPC (Falls als Steuerausgang für Kontrolllampe benötigt)
- Verbrauch
Hier der dazugehörige Code zur Auswertung der entsprechenden Bytes
Code: |
if (rxId==0x288) //0x288 Tempomat ein
{
Byte_0x288_2=rxBuf[2];
TempomatEin=Byte_0x288_2 & B01000000; //Status Tempomat aktiv
}
if (rxId==0x320)
{
Byte_0x320_2=rxBuf[2];
Tankinhalt=Byte_0x320_2; //Tankinhalt in Liter
}
if (rxId==0x420) //0x420 Außentemperatur vom KI 421 vom Tester
{
Byte_0x420_2=rxBuf[2]; //Außentemperatur
Byte_0x420_3=rxBuf[3]; //Öltemperatur
Byte_0x420_5=rxBuf[5]; //Licht ein
Licht=Byte_0x420_5 & B01010000;
ATmp=10*(Byte_0x420_2-100)/2;
oelt=Byte_0x420_3-60;
}
if (rxId==0x5A0) //0x5A0 Geschwindigkeit vom ABS
{
Byte_0x5A0_1=rxBuf[1]; //Geschwindigkeit LB
Byte_0x5A0_2=rxBuf[2]; //Geschwindigkeit HB
Byte_0x5A0_5=rxBuf[5]; //Wegstrecke LB
Byte_0x5A0_6=rxBuf[6]; //Wegstrecke HB
Kmh=(Byte_0x5A0_2*254+Byte_0x5A0_1)/152;
CurrentStrecke=Byte_0x5A0_5 + (Byte_0x5A0_6 & B00000111)*256;
}
if (rxId==0x480) //0x480 Verbrauch vom MSG, Berechnung in ml
{
Byte_0x480_1=rxBuf[1]; //MIL&EPC
Byte_0x480_2=rxBuf[2]; //Verbrauch_LB
Byte_0x480_3=rxBuf[3]; //Verbrauch_HB
MIL=Byte_0x480_1 & B00001000;
if ( MIL == 8 ) {digitalWrite(MIL_PIN,HIGH);} else {digitalWrite(MIL_PIN,LOW);}
EPC=Byte_0x480_1 & B00000100;
if ( EPC == 4 ) {digitalWrite(EPC_PIN,HIGH);} else {digitalWrite(EPC_PIN,LOW);}
CurrentVB=Byte_0x480_2 + (Byte_0x480_3 & B01111111)*256;
}
|
_________________________________________________________________________
Ein zweiter Bordcomputer ist im echten Polo verbaut, hier allerdings mit einer 7-Segment-Anzeige. Die Ansteuerung der Anzeige ist vom Programmcode wesentlich aufwändiger, hat aber den Vorteil, dass kein Smartphone benötigt wird.
Auf einem RTC-Modul werden die Werte für verbrauchtem Sprit, gefahrene Kilometer, Fahrtzeit und Anzeigemodus alle 10s abgespeichert und nach Einschalten der Zündung wieder eingelesen.
Wie das ganze aussieht, seht ihr auf den Bildern.
Frohe Ostern allen CAN-Hackern
Werner
Beschreibung: |
Hier der Aufbau des Bordcomputers für die Anzeige mit der Virtuino App.
Oben links ist das CAN-Modul zu sehen, oben rechts das Bluetooth Modul,
unten links die RTC zum Speichern der Werte und unten rechts der Arduino Nano.
Angeschlossen wird nur die Betriebsspannung und der CAN-Bus. |
|
Dateigröße: |
536,57 KB |
Angeschaut: |
1131 mal |

|
Beschreibung: |
Ansicht des Virtuino-Displays.
Die gelbe Lampe mit dem Motorsymbol zeigt den aktiven Tempomat an.
Die Anzeige des aktiven Tempomat fehlt ja meist bei Nachrüstung.
Außerdem wird hier die Außentemperatur vom KI nicht gesendet, deshalb zeigt die Anzeige -50° an. Die angezeigten Werte sind von dem "virtuellen Polo" |
|
Dateigröße: |
125,26 KB |
Angeschaut: |
1089 mal |

|
Beschreibung: |
Hier der eingebaute Bordcomputer im Polo.
Angezeigt wird oben links der aktuelle Spritverbrauch, (H=liter/h bei Geschwindigkeit unter 10km/h), oben rechts die Außentemperatur, unten links die verbleibende Reichweite, errechnet aus Tankinhalt/Durchschnittsverbrauch, und unten rechts der Tankinhalt in Liter. |
|
Dateigröße: |
455,75 KB |
Angeschaut: |
1000 mal |

|
Zuletzt bearbeitet am 14-04-2017, 20:27, insgesamt 2-mal bearbeitet.
|
|
Nach oben |
|
 |
|