EV reparatie - geslaagd
- Peter_Maathuis
- Moderator
- Berichten: 2705
- Lid geworden op: 10 nov 2015, 20:42
- Locatie: Valkenswaard
- Motortype: AUA (1.4 benzine 75pk)
Als ik mijn CANbus-analyser aansluit op de kabel in mijn handschoenenkastje krijg ik de CAN-berichten te zien, maar veel wijzer word ik daar (nog) niet van.
Na een ritje van 1,5 km en wat testen met draaiende motor (versnellingsbak in vrij) op mijn oprit, heb ik een logbestand met alle CAN-berichten - dat zijn er ca 190.000 na een kleine 18 minuten ofwel gemiddeld 10.500 per minuut en dat zijn circa 200 (!) berichten per seconde.
Het onderstaande scherm laat alle voorkomende bericht-IDs zien met de actuele waarde. Daar zie je dus allerlei getallen veranderen als je een beetje gas geeft dan wel het pedaal loslaat. Veel overzichtelijker dan 200 berichten per seconde.
Nu ga ik dus een programmaatje schrijven dat per message-ID (dat zijn er rond de 20) de opeenvolgende berichten vergelijkt en alleen de wijzigingen vastlegt, dus identieke berichten, waarvan alleen de timestamp anders is, eruit gooit.
Na een ritje van 1,5 km en wat testen met draaiende motor (versnellingsbak in vrij) op mijn oprit, heb ik een logbestand met alle CAN-berichten - dat zijn er ca 190.000 na een kleine 18 minuten ofwel gemiddeld 10.500 per minuut en dat zijn circa 200 (!) berichten per seconde.
Het onderstaande scherm laat alle voorkomende bericht-IDs zien met de actuele waarde. Daar zie je dus allerlei getallen veranderen als je een beetje gas geeft dan wel het pedaal loslaat. Veel overzichtelijker dan 200 berichten per seconde.
Nu ga ik dus een programmaatje schrijven dat per message-ID (dat zijn er rond de 20) de opeenvolgende berichten vergelijkt en alleen de wijzigingen vastlegt, dus identieke berichten, waarvan alleen de timestamp anders is, eruit gooit.
- AudiFanSedert1971
- Audi A2 clublid
- Berichten: 2325
- Lid geworden op: 04 okt 2013, 12:09
- Locatie: Almere
- Motortype: BBY (1.4 benzine 75pk)
Peter wie weet weten ze hier er wel raad mee...?
https://www.janssuuh.nl/blog/2016/03/18/bekende-canids/
https://www.janssuuh.nl/blog/2016/03/18/bekende-canids/
"Stilstand is achteruitgang"
A2 1.4 BBY '02,
522.200.km, juli '13 161.600.km
A2 1e 1.6 FSI '04, 294.000.km ,mrt'20 238.300.km
A2 2e 1.6 FSI '04, 301.375km ,dec '21 261.100.km lid Audiclub.nl
A2 1.4 BBY '02,

A2 1e 1.6 FSI '04, 294.000.km ,mrt'20 238.300.km
A2 2e 1.6 FSI '04, 301.375km ,dec '21 261.100.km lid Audiclub.nl
- Peter_Maathuis
- Moderator
- Berichten: 2705
- Lid geworden op: 10 nov 2015, 20:42
- Locatie: Valkenswaard
- Motortype: AUA (1.4 benzine 75pk)
Bedankt Rolf! Dit zijn messages op de infotainment-bus (de A2 heeft 3 CANbussen die in het instrumentenpaneel aan elkaar worden geknoopt). Ik zit te kijken op de drive-CANbus (waarop motor, ABS, besturing, ... met elkaar communiceren) die op 500 kb/s draait (infotainment en comfort draaien op 125 kB/s).
Geen van mijn 14 message_IDs komt in het lijstje van janssuuh voor en dat is dus niet vreemd. Tussen elektromotor en controller gaat informatie heen en weer als "gewenst / actueel toerental", "gewenst / werkelijk koppel" en boordspanning en afgenomen stroom, zaken die in een ICE niet relevant zijn.
Inmiddels heb ik een programaatje geschreven waarmee ik een logfile kan filteren op message_ID en alle identieke berichten kan verwijderen. Het resultaat kan ik naar een bestandje wegschrijven. Een log van 20 seconden levert ca 9.000 messages op. Als ik selecteer op message_ID 0x1A0 (decimaal 416) dan heb ik ca 1500 berichten over. Dat bestand lees ik in Excel in en als ik dan de tweede parameter (DATA2 + 256 x DATA3) tegen de tijd uitzet, krijg ik Dat is toch al heel aardig als je een EV van een toerenteller wilt voorzien...
Ik heb ook kunnen vaststellen dat message_ID 648 en 1488 altijd alleen maar DATA 0 meegeven - misschien een "watchdog"-functie?
Geen van mijn 14 message_IDs komt in het lijstje van janssuuh voor en dat is dus niet vreemd. Tussen elektromotor en controller gaat informatie heen en weer als "gewenst / actueel toerental", "gewenst / werkelijk koppel" en boordspanning en afgenomen stroom, zaken die in een ICE niet relevant zijn.
Inmiddels heb ik een programaatje geschreven waarmee ik een logfile kan filteren op message_ID en alle identieke berichten kan verwijderen. Het resultaat kan ik naar een bestandje wegschrijven. Een log van 20 seconden levert ca 9.000 messages op. Als ik selecteer op message_ID 0x1A0 (decimaal 416) dan heb ik ca 1500 berichten over. Dat bestand lees ik in Excel in en als ik dan de tweede parameter (DATA2 + 256 x DATA3) tegen de tijd uitzet, krijg ik Dat is toch al heel aardig als je een EV van een toerenteller wilt voorzien...
Ik heb ook kunnen vaststellen dat message_ID 648 en 1488 altijd alleen maar DATA 0 meegeven - misschien een "watchdog"-functie?
- Asko
- Berichten: 7
- Lid geworden op: 15 sep 2019, 20:07
- Locatie: Tytsjerksteradiel
- Motortype: AUA (1.4 benzine 75pk)
Wellicht al gevonden en bekend, anders misschien behulpzaam om in de goed richting te zoeken:
https://a2-freun.de/forum/forums/topic/ ... e-can-ids/
x0x Motor
x8x Motor (z.Bsp. 0x280, 0x380, 0x480, 0x288, 0x388)
x1x Motor-Peripherie
x2x Kombi
x4x Getriebe
x6x ACC
xAx ABS
xCx ABS-Peripherie
Succes met je project!
https://a2-freun.de/forum/forums/topic/ ... e-can-ids/
x0x Motor
x8x Motor (z.Bsp. 0x280, 0x380, 0x480, 0x288, 0x388)
x1x Motor-Peripherie
x2x Kombi
x4x Getriebe
x6x ACC
xAx ABS
xCx ABS-Peripherie
Succes met je project!
- Peter_Maathuis
- Moderator
- Berichten: 2705
- Lid geworden op: 10 nov 2015, 20:42
- Locatie: Valkenswaard
- Motortype: AUA (1.4 benzine 75pk)
Bedankt! Die had ik nog niet gevonden (ik kende x280 wel als het toerental) maar de link leidt naar veel interessante gegevens!
Met de codes van de comfort-CANbus moet je ook leuke dingen kunnen doen; ik denk aan de rechter buitenspiegel naar beneden dirigeren bij inschakelen van de achteruit.
Met de codes van de comfort-CANbus moet je ook leuke dingen kunnen doen; ik denk aan de rechter buitenspiegel naar beneden dirigeren bij inschakelen van de achteruit.
- AudiFanSedert1971
- Audi A2 clublid
- Berichten: 2325
- Lid geworden op: 04 okt 2013, 12:09
- Locatie: Almere
- Motortype: BBY (1.4 benzine 75pk)
"Stilstand is achteruitgang"
A2 1.4 BBY '02,
522.200.km, juli '13 161.600.km
A2 1e 1.6 FSI '04, 294.000.km ,mrt'20 238.300.km
A2 2e 1.6 FSI '04, 301.375km ,dec '21 261.100.km lid Audiclub.nl
A2 1.4 BBY '02,

A2 1e 1.6 FSI '04, 294.000.km ,mrt'20 238.300.km
A2 2e 1.6 FSI '04, 301.375km ,dec '21 261.100.km lid Audiclub.nl
- Peter_Maathuis
- Moderator
- Berichten: 2705
- Lid geworden op: 10 nov 2015, 20:42
- Locatie: Valkenswaard
- Motortype: AUA (1.4 benzine 75pk)
Even geen CAN-experimenten maar de aftermarket radio vervangen door Concert 2. Dat ziet er veel beter uit en is op de tast te bedienen. Maar op die aftermarket radio werd wel de informatie van het BMS gepresenteerd, als een videosignaal van een achteruitrijcamera. Slim bedacht maar die informatie kreeg ik niet goed op een klein video-schermpje (zoals bij achteruitrijcamera's in gebruik).
Dus de BMS-elektronica in de auto maar eens opgespoord (gewoon het videokabeltje volgen) en die bleek in de middenconsole net voor de versnellingspook te zitten. Elektronica geanalyseerd aan de hand van de verschillende chips en het seriële signaal opgepikt achter de opto-coupler en voor de video modulator. Dat signaal aangeboden aan een Arduino microcomputertje met LCD-schermpje. Na wat uurtjes programmeren heb ik nu een veel fraaiere oplossing (die nog wel netjes moet worden afgewerkt / ingebouwd). Dat doe ik als ik een iets groter (3,5 inch) en beter (320 x 480 pixels) schermpje heb.
In plaats van 5 getallen op een schermpje heb ik een wijzerplaat voor de batterijspanning (240...300 Volt) en een horizontale balk voor de resterende energie in %.
N.B. De foto is genomen na ca 45 km rijden. De energie-indicator staat net onder 50% en de Ah-indicatie op ongeveer 30 Ah en dat klopt dus heel aardig met 60 Ah batterijcapaciteit voor een bereik van een kleine 100 km. Na 45 km kan ik nog prima rijden in de stad, maar niet al te vlot optrekken, want dan (de stroom loopt dan al snel op tot 80 Ampere) zakt de spanning van de zwakste cel onder de 2,5 Volt en daar protesteert het BMS tegen (en terecht).
Dus de BMS-elektronica in de auto maar eens opgespoord (gewoon het videokabeltje volgen) en die bleek in de middenconsole net voor de versnellingspook te zitten. Elektronica geanalyseerd aan de hand van de verschillende chips en het seriële signaal opgepikt achter de opto-coupler en voor de video modulator. Dat signaal aangeboden aan een Arduino microcomputertje met LCD-schermpje. Na wat uurtjes programmeren heb ik nu een veel fraaiere oplossing (die nog wel netjes moet worden afgewerkt / ingebouwd). Dat doe ik als ik een iets groter (3,5 inch) en beter (320 x 480 pixels) schermpje heb.
In plaats van 5 getallen op een schermpje heb ik een wijzerplaat voor de batterijspanning (240...300 Volt) en een horizontale balk voor de resterende energie in %.
N.B. De foto is genomen na ca 45 km rijden. De energie-indicator staat net onder 50% en de Ah-indicatie op ongeveer 30 Ah en dat klopt dus heel aardig met 60 Ah batterijcapaciteit voor een bereik van een kleine 100 km. Na 45 km kan ik nog prima rijden in de stad, maar niet al te vlot optrekken, want dan (de stroom loopt dan al snel op tot 80 Ampere) zakt de spanning van de zwakste cel onder de 2,5 Volt en daar protesteert het BMS tegen (en terecht).
- DED@2
- Audi A2 clublid
- Berichten: 1655
- Lid geworden op: 05 dec 2016, 23:06
- Locatie: Zoetermeer
- Motortype: ATL (1.4 TDI 90pk)
Woww, Peter respect man. Ik heb niet helemaal scherp wat je allemaal gedaan hebt. Maar het is een mooie oplossing. Is een klapscherm van een a1 niet een fraaie oplossing hiervoor? Je behoudt dan de originele looks en goed afleesbaarscherm op bovenkant dashboard.
Keep up the good work
Keep up the good work

- Peter_Maathuis
- Moderator
- Berichten: 2705
- Lid geworden op: 10 nov 2015, 20:42
- Locatie: Valkenswaard
- Motortype: AUA (1.4 benzine 75pk)
Ja, 't was even puzzelen... Gelukkig is de BMS-elektronica vrij simpel en het printplaatje ook.
Via een flatcable in de auto komt 12 Volt voeding en data binnen van het batterijpakket. Een microprocessor gaat daarmee aan de slag. Die krijgt ook informatie van de bedienknop, waarmee je de hoofdfunctie kunt kiezen (normaal, beste/zwakste cel, temperatuur, spanning per cel en Ah resetten). In die microprocessor kan ik niet kijken, maar ik weet wel welke pootjes een ingang resp. uitgang zijn. Als je het spoortje op de printplaat volgt vanaf de uitgang van de microprocessor, zie je dat die naar een opto-coupler gaat en daarna nog een chip waaruit het videosignaal komt. De laatste chip is dus de video-modulator en op de ingang daarvan staat het gewenste seriële signaal.
Op de foto zie je het BMS rechts liggen en het (video)beeld op de uitgebouwde radio en dezelfde informatie op mijn eigen display dat de data ontvangt via 9600 bps op TTL-niveau.
De data blijkt vol Escape-commando's te zitten en de betekenis kende ik van de documentatie van de V2000-videomodulator. Met <Esc> C wordt het scherm gewist en met <Esc> S regel positie wordt de informatie op de gewenste plaats gezet.
En als je dat weet, kun je in het Arduino-programma meelezen op de eerste schermregel en bepalen in welke hoofdfunctie we zitten. Alleen in de functie "normaal" kijk ik naar de Escape-commando's en weet dan als ik bijv. regel 0 positie 9 zie, dat nu de stroomsterkte komt. Idem met voltage, kW, Ah en %. Als ik de 5 getallen ken, kan ik elk display maken dat ik leuk vind
Via een flatcable in de auto komt 12 Volt voeding en data binnen van het batterijpakket. Een microprocessor gaat daarmee aan de slag. Die krijgt ook informatie van de bedienknop, waarmee je de hoofdfunctie kunt kiezen (normaal, beste/zwakste cel, temperatuur, spanning per cel en Ah resetten). In die microprocessor kan ik niet kijken, maar ik weet wel welke pootjes een ingang resp. uitgang zijn. Als je het spoortje op de printplaat volgt vanaf de uitgang van de microprocessor, zie je dat die naar een opto-coupler gaat en daarna nog een chip waaruit het videosignaal komt. De laatste chip is dus de video-modulator en op de ingang daarvan staat het gewenste seriële signaal.
Op de foto zie je het BMS rechts liggen en het (video)beeld op de uitgebouwde radio en dezelfde informatie op mijn eigen display dat de data ontvangt via 9600 bps op TTL-niveau.
De data blijkt vol Escape-commando's te zitten en de betekenis kende ik van de documentatie van de V2000-videomodulator. Met <Esc> C wordt het scherm gewist en met <Esc> S regel positie wordt de informatie op de gewenste plaats gezet.
En als je dat weet, kun je in het Arduino-programma meelezen op de eerste schermregel en bepalen in welke hoofdfunctie we zitten. Alleen in de functie "normaal" kijk ik naar de Escape-commando's en weet dan als ik bijv. regel 0 positie 9 zie, dat nu de stroomsterkte komt. Idem met voltage, kW, Ah en %. Als ik de 5 getallen ken, kan ik elk display maken dat ik leuk vind

Als je toch met CAN bezig bent is het misschien wel een idee om op het grote Display in het instrumentenpaneel alles weer te geven?
Dan ziet het er echt geïntegreerd uit.
Moet je alleen een paneel met FIS/DIS hebben.
Daar is ook alles van bekend om dat via de entertainment can aan te sturen.
Als je de navigatie id gebruikt heb je voorrang op de andere displays.
Zo maar een ideetje....
Jaap die een(twee) FSI heeft en wel eens wat knutselt
.
Dan ziet het er echt geïntegreerd uit.
Moet je alleen een paneel met FIS/DIS hebben.
Daar is ook alles van bekend om dat via de entertainment can aan te sturen.
Als je de navigatie id gebruikt heb je voorrang op de andere displays.
Zo maar een ideetje....
Jaap die een(twee) FSI heeft en wel eens wat knutselt
.