RKS+CAN Adapter für CAN-Bus Sniffing
CAN-Interface
CANhack.de - CAN Hardware, CAN Software, CAN Protokolle - Das CAN-Bus Forum für Dein CAN-Bus Projekt. eLearning CAN-Bus und Elektronik.

Motorsimulation eines AZQ Motors mit Polo Steuergeräten


 
Gehe zu Seite: 1, 2  Weiter
Neues Thema beginnen Auf Beitrag antworten Weitergeben, Thema teilen Lesezeichen setzen Druckansicht CANhack.de - Übersicht » Fahrzeugspezifische Hardware und Pinbelegungen
Autor Nachricht
wernernue



CAN Hacker seit: 02.03.2016
Beiträge: 26
Karma: +9 / -0   Danke, gefällt mir!
Wohnort: Nürnberg

Premium Support

CAN-Diagnose gefällt das.
Beitrag11-05-2016, 0:23    Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten Antworten mit Zitat

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.



Tempomat.png
 Beschreibung:
 Messwertblöcke Tempomat
 Dateigröße:  1,17 MB
 Angeschaut:  2372 mal

Tempomat.png


Aufbau.jpg
 Beschreibung:
 Virtueller VW Polo
 Dateigröße:  4,21 MB
 Angeschaut:  6442 mal

Aufbau.jpg


MKV Polo CAN-BUS data.xls
 Beschreibung:
 CAN-Datenbank VW Polo
CAN-Datenbank VW Polo
Download
 Dateiname:  MKV Polo CAN-BUS data.xls
 Dateigröße:  183,5 KB
 Heruntergeladen:  577 mal


Zuletzt bearbeitet am 11-05-2016, 0:30, insgesamt 1-mal bearbeitet.
Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden  
CAN-Diagnose
Administrator
Administrator
Avatar-CAN-Diagnose

CAN Hacker seit: 07.06.2011
Beiträge: 450
Karma: +18 / -0   Danke, gefällt mir!
Wohnort: Ländle



Beitrag11-05-2016, 9:15    Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten Antworten mit Zitat

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 CAN Hacker - Profil anzeigen Private Nachricht senden Website dieses Benutzers besuchen
wernernue



CAN Hacker seit: 02.03.2016
Beiträge: 26
Karma: +9 / -0   Danke, gefällt mir!
Wohnort: Nürnberg

Premium Support

Beitrag11-05-2016, 15:16    Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten Antworten mit Zitat

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

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 Hacker - Profil anzeigen Private Nachricht senden  
CAN-Diagnose
Administrator
Administrator
Avatar-CAN-Diagnose

CAN Hacker seit: 07.06.2011
Beiträge: 450
Karma: +18 / -0   Danke, gefällt mir!
Wohnort: Ländle



Beitrag11-05-2016, 15:40    Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten Antworten mit Zitat

Ok icon_biggrin.gif
Dipl.-Ing. (FH) Rainer Kaufmann - Kaufmann Automotive GmbH
CANhack.de CAN-Bus Interface RKS+CAN kaufen: CAN-USB Interface
Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden Website dieses Benutzers besuchen
postmann
CAN-Profi
CAN-Profi


CAN Hacker seit: 23.05.2013
Beiträge: 117
Karma: +37 / -0   Danke, gefällt mir!


CAN Support

Beitrag11-05-2016, 21:47    Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten Antworten mit Zitat

Wow, saubere Arbeit icon_smile.gif
Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden  
wernernue



CAN Hacker seit: 02.03.2016
Beiträge: 26
Karma: +9 / -0   Danke, gefällt mir!
Wohnort: Nürnberg

Premium Support

Beitrag12-05-2016, 0:44    Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten Antworten mit Zitat

Danke icon_biggrin.gif

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.



Tempomat.png
 Beschreibung:
 Schaltplan Tempomat
 Dateigröße:  8,45 KB
 Angeschaut:  2400 mal

Tempomat.png

Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden  
wernernue



CAN Hacker seit: 02.03.2016
Beiträge: 26
Karma: +9 / -0   Danke, gefällt mir!
Wohnort: Nürnberg

Premium Support

Beitrag17-05-2016, 12:19    Titel: Tempomat: Fehlermeldungen und CAN Antworten mit Zitat

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 Hacker - Profil anzeigen Private Nachricht senden  
CAN-Diagnose
Administrator
Administrator
Avatar-CAN-Diagnose

CAN Hacker seit: 07.06.2011
Beiträge: 450
Karma: +18 / -0   Danke, gefällt mir!
Wohnort: Ländle



Beitrag17-05-2016, 13:04    Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten Antworten mit Zitat

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

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 CAN Hacker - Profil anzeigen Private Nachricht senden Website dieses Benutzers besuchen
wernernue



CAN Hacker seit: 02.03.2016
Beiträge: 26
Karma: +9 / -0   Danke, gefällt mir!
Wohnort: Nürnberg

Premium Support

Beitrag17-05-2016, 13:25    Titel: Signale von Drehzahlsensor G28 und Nockenwellensensor G40 Antworten mit Zitat

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

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;
}



G28_G40.jpg
 Beschreibung:
 Motorsimulation eines AZQ Motors mit Polo Steuergeräten
 Dateigröße:  3,92 MB
 Angeschaut:  1977 mal

G28_G40.jpg



Zuletzt bearbeitet am 17-05-2016, 21:43, insgesamt 2-mal bearbeitet.
Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden  
wernernue



CAN Hacker seit: 02.03.2016
Beiträge: 26
Karma: +9 / -0   Danke, gefällt mir!
Wohnort: Nürnberg

Premium Support

CAN-Diagnose gefällt das.
Beitrag19-05-2016, 23:17    Titel: Simulation des Ölstands- und Öltemperatursensors G266 Antworten mit Zitat

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

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);
       

}



G266-Signalverlauf.png
 Beschreibung:
 Motorsimulation eines AZQ Motors mit Polo Steuergeräten
 Dateigröße:  8,28 KB
 Angeschaut:  1710 mal

G266-Signalverlauf.png



Zuletzt bearbeitet am 19-05-2016, 23:31, insgesamt 4-mal bearbeitet.
Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden  
wernernue



CAN Hacker seit: 02.03.2016
Beiträge: 26
Karma: +9 / -0   Danke, gefällt mir!
Wohnort: Nürnberg

Premium Support

Beitrag23-05-2016, 23:21    Titel: Fehler: Klopfsensor Signal zu groß Antworten mit Zitat

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.



Log-N VP 9999-WVWZZZ9NZ3D064797-111530km.txt
 Beschreibung:
 Motorsimulation eines AZQ Motors mit Polo Steuergeräten
Motorsimulation eines AZQ Motors mit Polo Steuergeräten
Download
 Dateiname:  Log-N VP 9999-WVWZZZ9NZ3D064797-111530km.txt
 Dateigröße:  2,17 KB
 Heruntergeladen:  305 mal
Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden  
CAN-Diagnose
Administrator
Administrator
Avatar-CAN-Diagnose

CAN Hacker seit: 07.06.2011
Beiträge: 450
Karma: +18 / -0   Danke, gefällt mir!
Wohnort: Ländle



Beitrag24-05-2016, 9:17    Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten Antworten mit Zitat

Guten Morgen,

möglich, eventuell hast Du dich auch nur beim Anschlußpin verzählt? So etwas passiert mir normalerweise. icon_cool.gif

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 CAN Hacker - Profil anzeigen Private Nachricht senden Website dieses Benutzers besuchen
wernernue



CAN Hacker seit: 02.03.2016
Beiträge: 26
Karma: +9 / -0   Danke, gefällt mir!
Wohnort: Nürnberg

Premium Support

Beitrag24-05-2016, 18:56    Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten Antworten mit Zitat

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

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 Hacker - Profil anzeigen Private Nachricht senden  
CAN-Diagnose
Administrator
Administrator
Avatar-CAN-Diagnose

CAN Hacker seit: 07.06.2011
Beiträge: 450
Karma: +18 / -0   Danke, gefällt mir!
Wohnort: Ländle



Beitrag26-05-2016, 18:50    Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten Antworten mit Zitat

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 CAN Hacker - Profil anzeigen Private Nachricht senden Website dieses Benutzers besuchen
wernernue



CAN Hacker seit: 02.03.2016
Beiträge: 26
Karma: +9 / -0   Danke, gefällt mir!
Wohnort: Nürnberg

Premium Support

Beitrag27-05-2016, 7:57    Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten Antworten mit Zitat

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 CAN Hacker - Profil anzeigen Private Nachricht senden  
wernernue



CAN Hacker seit: 02.03.2016
Beiträge: 26
Karma: +9 / -0   Danke, gefällt mir!
Wohnort: Nürnberg

Premium Support

Beitrag27-05-2016, 8:05    Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten Antworten mit Zitat

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 Hacker - Profil anzeigen Private Nachricht senden  
CAN-Diagnose
Administrator
Administrator
Avatar-CAN-Diagnose

CAN Hacker seit: 07.06.2011
Beiträge: 450
Karma: +18 / -0   Danke, gefällt mir!
Wohnort: Ländle



Beitrag27-05-2016, 20:53    Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten Antworten mit Zitat

Hallo,

hast Du ein Bild vom Steckerbuchse am Simos 3 Motorsteuergerät?

Bin mir nicht sicher, ob es das Richtige ist.

LG



Lambdasonde-T121.jpg
 Beschreibung:
 Motorsimulation eines AZQ Motors mit Polo Steuergeräten
 Dateigröße:  11,77 KB
 Angeschaut:  1596 mal

Lambdasonde-T121.jpg

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 CAN Hacker - Profil anzeigen Private Nachricht senden Website dieses Benutzers besuchen
wernernue



CAN Hacker seit: 02.03.2016
Beiträge: 26
Karma: +9 / -0   Danke, gefällt mir!
Wohnort: Nürnberg

Premium Support

Beitrag28-05-2016, 8:48    Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten Antworten mit Zitat

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 icon_rolleyes.gif
Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden  
CAN-Diagnose
Administrator
Administrator
Avatar-CAN-Diagnose

CAN Hacker seit: 07.06.2011
Beiträge: 450
Karma: +18 / -0   Danke, gefällt mir!
Wohnort: Ländle



Beitrag29-05-2016, 10:57    Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten Antworten mit Zitat

Ohne Gewähr...



Simos-Klopfsensor.jpg
 Beschreibung:
 Anschluß Klopfsensor an Simos 3
 Dateigröße:  11,89 KB
 Angeschaut:  1497 mal

Simos-Klopfsensor.jpg

Dipl.-Ing. (FH) Rainer Kaufmann - Kaufmann Automotive GmbH
CANhack.de CAN-Bus Interface RKS+CAN kaufen: CAN-USB Interface
Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden Website dieses Benutzers besuchen
wernernue



CAN Hacker seit: 02.03.2016
Beiträge: 26
Karma: +9 / -0   Danke, gefällt mir!
Wohnort: Nürnberg

Premium Support

Beitrag29-05-2016, 16:02    Titel: Motorsimulation eines AZQ Motors mit Polo Steuergeräten Antworten mit Zitat

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.



Klopfsensor.PNG
 Beschreibung:
 Motorsimulation eines AZQ Motors mit Polo Steuergeräten
 Dateigröße:  5,24 KB
 Angeschaut:  1189 mal

Klopfsensor.PNG

Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden  
wernernue



CAN Hacker seit: 02.03.2016
Beiträge: 26
Karma: +9 / -0   Danke, gefällt mir!
Wohnort: Nürnberg

Premium Support

CAN-Diagnose gefällt das.
Beitrag12-07-2016, 20:37    Titel: CAN-Message für MIL und EPC Lampe Antworten mit Zitat

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 CAN Hacker - Profil anzeigen Private Nachricht senden  
wernernue



CAN Hacker seit: 02.03.2016
Beiträge: 26
Karma: +9 / -0   Danke, gefällt mir!
Wohnort: Nürnberg

Premium Support

Beitrag04-02-2017, 0:11    Titel: Can ID Geschwindigkeitssignal vom ABS Steuergerät Antworten mit Zitat

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 CAN Hacker - Profil anzeigen Private Nachricht senden  
wernernue



CAN Hacker seit: 02.03.2016
Beiträge: 26
Karma: +9 / -0   Danke, gefällt mir!
Wohnort: Nürnberg

Premium Support

CAN-Diagnose gefällt das.
Beitrag07-02-2017, 0:28    Titel: Geschwindigkeitsinfo im CAN-Bus Antworten mit Zitat

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 CAN Hacker - Profil anzeigen Private Nachricht senden  
wernernue



CAN Hacker seit: 02.03.2016
Beiträge: 26
Karma: +9 / -0   Danke, gefällt mir!
Wohnort: Nürnberg

Premium Support

CAN-Diagnose und majonez gefällt das.
Beitrag14-04-2017, 20:09    Titel: Bordcomputer Polo Antworten mit Zitat

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



Bordcomputer Board.jpg
 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:  1071 mal

Bordcomputer Board.jpg


Bordcomputeranzeige Virtuino.png
 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:  1032 mal

Bordcomputeranzeige Virtuino.png


Bordcomputer Polo Reichweite und Liter.jpg
 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:  943 mal

Bordcomputer Polo Reichweite und Liter.jpg



Zuletzt bearbeitet am 14-04-2017, 20:27, insgesamt 2-mal bearbeitet.
Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden  
Neues Thema beginnen Auf Beitrag antworten Weitergeben, Thema teilen Lesezeichen setzen Druckansicht CANhack.de - Übersicht » Fahrzeugspezifische Hardware und Pinbelegungen
Gehe zu Seite: 1, 2  Weiter
Ähnliche Fachartikel und Themen
Thema Community Bereich
Keine neuen Beiträge Bedenken eines Neulings CAN-Bus Allgemein
Keine neuen Beiträge Steuerung eines Autos CAN-Bus Allgemein
Keine neuen Beiträge Simulation eines MFL (Steuerung RNS-E, BT) Innenraum- / Komfort CAN
Keine neuen Beiträge Polo 6R Fahrzeugspezifische Hardware und Pinbelegungen
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst Deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst Deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten.
Du kannst Dateien in diesem Forum herunterladen.