Die Euro 2 Aktion E12 und E28 IG für den Eta   |   Online-ETK   |   Online-ETK (modern)
Bild des Tages

DZM auf SI LED Anzeige (Allgemein)

Andy Standplatten, Tuesday, 18.10.2022, 22:48 (vor 554 Tagen)

Hallo Forum,

in meinem ersten Forumsbeitrag möchte ich kurz über meine selbstgebastelte DZM Anzeige berichten.
Einstiegspunkt war natürlich der Ausbau des Kombiinstrumentes, dessen Tank- und Verbrauchsanzeige nicht mehr ging. Und bei der Überholung des Kombiinstruments dachte ich mir, so eine DZM Anzeige anstelle der SI-Service Intervalle wäre doch eine super Sache. Diese Idee hatten auch schon andere, allerdings finde ich die einfache „Balken“-Darstellung zwar nett aber ungenau und wenig hilfreich.
Deshalb habe ich mir ein anderes Darstellungskonzept für die 5 grünen, die gelbe und rote LED überlegt:
- Die erste LED leuchtet nur, wenn die Motordrehzahl zwischen 1000 und 1999 RPM liegt, die zweite dann von 2000 bis 2999, usw.
- Zusätzlich haben die grünen LEDs eine Doppelbedeutung: Die erste LED hat den Wertebereich 0-199 RPM, die zweite 200-399, usw.

Läuft der Motor nun mit 2500RPM leuchtet die zweite LED normal und die dritte LED schwach.

Diese Anzeige erfordert natürlich ein gutes technisches Konzept basierend z.B. auf dem ATtiny461:

1. Das „Engine Speed Signal“ muss mit einer Input Capture Unit sauber vermessen werden. Die ICU ist ein fortlaufender Zähler dessen aktueller Stand in ein Register weggespeichert wird, sobald eine falling edge des Signals erkannt wird. Aus der Differenz zum zuvorigen Zählerstand kann dann das Zeitdelta berechnet werden. Um dem Ganzen mehr Robustheit zu geben, werden in meiner Lösung die letzten 6 Deltawerte in einem Ringspeicher vorgehalten. Bei der Auswertung, werden dann alle Werte addiert, dabei auch Min und Max-Wert ermittelt. Diese beide Werte werden dann von der Summe wieder subtrahiert, um Ausreißer zu verwerfen. Anschließend wird der Mittelwert der Periodenlänge durch Division der Summe durch 4 ermittelt.

2. Die Periodenlänge wird dann mittels einer vorab berechneten Referenztabelle auf die RPM gemappt. Liegt die Periodenlänge innerhalb des aktuellen RPM Bereichs bleibt alles beim alten. Ist sie höher, wandert die Anzeige in den nächst höheren RPM Bereich. Wenn sie kleiner ist, in den Bereich darunter. Wobei ich da einen Hysterese Mechanismus eingebaut habe, der die Grenzwerte des aktuellen RPM Bereichs nach unten und oben etwas aufweitet, so dass Messwerte an der „Grenze“ nicht gleich zu einem Wechsel führen.

3. Die Helligkeit der LEDs soll ja unterschiedlich sein, damit sich die tausender LED von der hunderter LED deutlich unterscheidet. Das erhöht die Lesbarkeit. Erfordert aber natürlich eine PWM Ansteuerung. Das habe ich so gelöst, dass ich die 10 LEDs (die 3 weißen LEDs für Oil Service, Inspection und Clock habe ich gleich mitberücksichtigt) in zwei Gruppen aufgeteilt habe. Jede Gruppe hat ein PWM Signal, das die Helligkeit der LED bestimmt. Die PWM führt an die Basis eines NPN Transistors. Der Collector ist dann mit jeweils 5 Kathoden der LEDs verbunden, der Emitter mit Gnd. Die LED-Anoden sind dann an einzelne GPIO des Mikrocontrollers verbunden (ich habe LEDs mit integriertem Vorwiderstand verwendet). So kann ich mit 500Hz Periode jede LED mit 100Hz betreiben und mit den GPIO bestimmen, welche LED leuchten soll und mit dem Duty Cycle der PWM, wie stark.

4. So kleine Add-Ons, wie ein Motor-Zyklenzähler im nicht-flüchtigen EEPROM-Speicher, der beim Starten über die LEDs angezeigt wird, fand ich auch noch ne gute Idee. Für eine Batteriespannungsüberwachung hatte ich aber keinen Bock mehr.

Die alte LED Platine habe ich dann durch eine eigene ersetzt, die mit dem Mikrocontroller, den LEDs, den 12/5V DC/DC, usw. bestückt ist und mit dem Main-Board verlötet. Einen Schaltplan male ich mal bei Gelegenheit und poste ihn hier.

Das Ganze habe dann über ein Testsignal, das ich mit meiner Soundkarte generiert hatte, ausgiebig getestet.

Ist jetzt für den Laien nicht so einfach. Ich selbst habe dafür auch etwas mehr Zeit gebraucht als mit lieb war (wobei ich an dem ATMEL ProgMem Konzept viel Zeit verschwendet habe).

Gestern war dann Primäre, und was soll ich sagen. Zumindest die DZM geht 1a – bin echt begeistert.

(Aber nicht die Verbrauchsanzeige:-|. Das ist aber ein anderes Thema.)

Tags:
dzm, Kombiinstrument, SI, LED, ATtiny, PWM

Avatar

DZM auf SI LED Anzeige

Andreas Schneider, 07366 Rosenthal, Wednesday, 19.10.2022, 07:42 (vor 553 Tagen) @ Andy Standplatten

Hallo Andy,

interessant das Ganze.
Bei welcher Version der Platinen hast Du das gemacht? 1 oder 2-Platinen Version?

Diese Anzeige erfordert natürlich ein gutes technisches Konzept basierend z.B. auf dem ATtiny461:

4. So kleine Add-Ons, wie ein Motor-Zyklenzähler im nicht-flüchtigen EEPROM-Speicher, der beim Starten über die LEDs angezeigt wird, fand ich auch noch ne gute Idee. Für eine Batteriespannungsüberwachung hatte ich aber keinen Bock mehr.

ist aber empfehlenswert, Brown-out etc.

Die alte LED Platine habe ich dann durch eine eigene ersetzt, die mit dem Mikrocontroller, den LEDs, den 12/5V DC/DC, usw. bestückt ist und mit dem Main-Board verlötet. Einen Schaltplan male ich mal bei Gelegenheit und poste ihn hier.

Du hast das gemacht ohne erst einen Schaltplan davon zu machen?
Wie hast Du dann die Platine gemacht? Lochraster oder selber geäzt?

Das Ganze habe dann über ein Testsignal, das ich mit meiner Soundkarte generiert hatte, ausgiebig getestet.

geht grundsätzlich, aber im Auto hast Du später ein 12-V Rechteck Signal
Mit entsprechender Eingangsbeschaltung auf 5 oder 3,3 Volt begrenzt wäre es egal.

Ist jetzt für den Laien nicht so einfach. Ich selbst habe dafür auch etwas mehr Zeit gebraucht als mit lieb war (wobei ich an dem ATMEL ProgMem Konzept viel Zeit verschwendet habe).

Gestern war dann Primäre, und was soll ich sagen. Zumindest die DZM geht 1a – bin echt begeistert.

(Aber nicht die Verbrauchsanzeige:-|. Das ist aber ein anderes Thema.)

Du hast nicht geschrieben ob Du einen originale DZM hast (oder nur die Uhr).
Was willst Du mit der VBA machen?

Gruß
Andi

--
* Cockpit Reparaturen *
* Anfragen nur zu Reparaturen von Cockpit - für alles andere ist das Forum da *
* Ich verteile keine Schaltpläne per Mail - benutze Google! *

DZM auf SI LED Anzeige

Andy Standplatten, Wednesday, 19.10.2022, 18:24 (vor 553 Tagen) @ Andreas Schneider

ist aber empfehlenswert, Brown-out etc.

Brown-Out Detection ist an. Ich meine eher die Überwachung der Kfz-Batterie mittels ADC um eine entladene/schwache Batterie melden zu können. Ist natürlich nur vor Zündung sinnvoll.

Du hast das gemacht ohne erst einen Schaltplan davon zu machen?
Wie hast Du dann die Platine gemacht? Lochraster oder selber geäzt?

Ja, so kompliziert ist die Schaltung ja nicht. Mittlerweile habe ich den Schaltplan auch gezeichnet, weiß nur noch nicht, wie ich ihn ohne Fickr etc. hier posten kann. Das ganze habe ich als Lochrasterplatine gefertigt, wobei natürlich die Aussparungen für die Temp-Anzeige, Halterungen und Stifte die meiste Zeit gekostet hat.

geht grundsätzlich, aber im Auto hast Du später ein 12-V Rechteck Signal
Mit entsprechender Eingangsbeschaltung auf 5 oder 3,3 Volt begrenzt wäre es egal.

Als Testsignal habe ich mir eine Wav-Datei in Python erzeugt und dann über einen Vorwiderstand an die Basis einen NPN Transistors gelegt. Der schaltet dann bei "high"-Pegel nach Gnd durch, was dem Open-Drain Ausgang der Motor Control Unit am nächsten kommt. Als Pull-Up habe ich den internen Widerstand vom GPIO verwendet und davor noch eine Schutzdiode, die den uC vor den 12V schützt.

Du hast nicht geschrieben ob Du einen originale DZM hast (oder nur die Uhr).
Was willst Du mit der VBA machen?

Ich habe die Analoge Uhr. Kurzzeitig habe ich darüber nachgedacht, diese durch einen DZM zu ersetzen - aber zum einen ist das Frontglas nicht passend (Loch für Stift) und zum anderen verändert ja das den "Rentner-Charakter" des Fahrzeugs.

Die Platine ist im März 86 gefertigt worden und hatte rote Akkus (1 Platinen Variante???). Die habe ich aber ersatzlos ausgelötet.

Das mit der VBA stört natürlich mein Feng Shui. Aber das würde ich dann in einem anderen Thread behandeln.

DZM auf SI LED Anzeige

Ralf518, Wednesday, 19.10.2022, 18:38 (vor 553 Tagen) @ Andy Standplatten

Hallo,

aber zum einen ist das Frontglas nicht passend (Loch für Stift)

eine in diesem Stadium nun nutzlos gewordene Teilantwort von mir, im originalen Umbausatz von Uhr auf Drehzahlmesser war ein spezieller Pröpel dabei, den man zum verschliessen in das nutzlos gewordene Loch stecken konnte. Ein inzwischen sehr selten gewordenes Austattungsdetail :-)

Viele Grüße
Ralf

ist aber empfehlenswert, Brown-out etc.


Brown-Out Detection ist an. Ich meine eher die Überwachung der Kfz-Batterie mittels ADC um eine entladene/schwache Batterie melden zu können. Ist natürlich nur vor Zündung sinnvoll.

Du hast das gemacht ohne erst einen Schaltplan davon zu machen?
Wie hast Du dann die Platine gemacht? Lochraster oder selber geäzt?


Ja, so kompliziert ist die Schaltung ja nicht. Mittlerweile habe ich den Schaltplan auch gezeichnet, weiß nur noch nicht, wie ich ihn ohne Fickr etc. hier posten kann. Das ganze habe ich als Lochrasterplatine gefertigt, wobei natürlich die Aussparungen für die Temp-Anzeige, Halterungen und Stifte die meiste Zeit gekostet hat.

geht grundsätzlich, aber im Auto hast Du später ein 12-V Rechteck Signal
Mit entsprechender Eingangsbeschaltung auf 5 oder 3,3 Volt begrenzt wäre es egal.


Als Testsignal habe ich mir eine Wav-Datei in Python erzeugt und dann über einen Vorwiderstand an die Basis einen NPN Transistors gelegt. Der schaltet dann bei "high"-Pegel nach Gnd durch, was dem Open-Drain Ausgang der Motor Control Unit am nächsten kommt. Als Pull-Up habe ich den internen Widerstand vom GPIO verwendet und davor noch eine Schutzdiode, die den uC vor den 12V schützt.

Du hast nicht geschrieben ob Du einen originale DZM hast (oder nur die Uhr).
Was willst Du mit der VBA machen?

Ich habe die Analoge Uhr. Kurzzeitig habe ich darüber nachgedacht, diese durch einen DZM zu ersetzen - aber zum einen ist das Frontglas nicht passend (Loch für Stift) und zum anderen verändert ja das den "Rentner-Charakter" des Fahrzeugs.

Die Platine ist im März 86 gefertigt worden und hatte rote Akkus (1 Platinen Variante???). Die habe ich aber ersatzlos ausgelötet.

Das mit der VBA stört natürlich mein Feng Shui. Aber das würde ich dann in einem anderen Thread behandeln.

Avatar

DZM auf SI LED Anzeige

Andreas Schneider, 07366 Rosenthal, Wednesday, 19.10.2022, 19:52 (vor 553 Tagen) @ Andy Standplatten

Hi Andy,

Ja, so kompliziert ist die Schaltung ja nicht. Mittlerweile habe ich den Schaltplan auch gezeichnet, weiß nur noch nicht, wie ich ihn ohne Fickr etc. hier posten kann. Das ganze habe ich als Lochrasterplatine gefertigt, wobei natürlich die Aussparungen für die Temp-Anzeige, Halterungen und Stifte die meiste Zeit gekostet hat.

früher hab ich auch Schaltpläne mit Bleistift in DINA2 gezeichnet und fand das nicht kompliziert.
Heute nur noch mit Layout/Schaltplan Programm

Als Testsignal habe ich mir eine Wav-Datei in Python erzeugt und dann über einen Vorwiderstand an die Basis einen NPN Transistors gelegt. Der schaltet dann bei "high"-Pegel nach Gnd durch, was dem Open-Drain Ausgang der Motor Control Unit am nächsten kommt. Als Pull-Up habe ich den internen Widerstand vom GPIO verwendet und davor noch eine Schutzdiode, die den uC vor den 12V schützt.

ich verwende für solche Signale gerne einstellbare Module wie sowas:
https://www.ebay.de/itm/233936286049?hash=item3677b07161:g:PnIAAOSwZAxgVW0y&amdata=...

hatte ich schon einige Male im Einsatz. Die sind bloß zickig was die Ansprache vom Prozessor anbelangt und gehen schnell kaputt wenn man nicht aufpasst (gemeinsame Masse ist Pflicht).

Was willst Du mit der VBA machen?

Ich habe die Analoge Uhr. Kurzzeitig habe ich darüber nachgedacht, diese durch einen DZM zu

Uhr mit Verbrauch oder ohne?

Die Platine ist im März 86 gefertigt worden und hatte rote Akkus (1 Platinen Variante???). Die habe ich aber ersatzlos ausgelötet.

sofern noch nicht geschehen: genau auf Säureschäden kontollieren, das gibt sonst gerne Spätfolgen.


Das mit der VBA stört natürlich mein Feng Shui. Aber das würde ich dann in einem anderen Thread behandeln.

hast noch nicht gesagt, ob Du eine VBA hast oder was Du damit machen willst?

Gruß
Andi

--
* Cockpit Reparaturen *
* Anfragen nur zu Reparaturen von Cockpit - für alles andere ist das Forum da *
* Ich verteile keine Schaltpläne per Mail - benutze Google! *

DZM auf SI LED Anzeige

gyrospita, Wednesday, 19.10.2022, 14:02 (vor 553 Tagen) @ Andy Standplatten

Hallo Forum,

Ist jetzt für den Laien nicht so einfach. Ich selbst habe dafür auch etwas mehr Zeit gebraucht als mit lieb war (wobei ich an dem ATMEL ProgMem Konzept viel Zeit verschwendet habe).

Gestern war dann Primäre, und was soll ich sagen. Zumindest die DZM geht 1a – bin echt begeistert.

(Aber nicht die Verbrauchsanzeige:-|. Das ist aber ein anderes Thema.)

Also hast du sowas gebaut? https://e28goodies.com/product/shift-light/

DZM auf SI LED Anzeige

Andy Standplatten, Wednesday, 19.10.2022, 18:28 (vor 553 Tagen) @ gyrospita

Also hast du sowas gebaut? https://e28goodies.com/product/shift-light/

Ja, das geht in die Richtung. Allerdings ist meine Anzeige viel genauer. Ich kann auf einen Blick sehen, ob der Motor mit 1800-1999 oder mit 2000-2199 Rpm läuft. Beim ersten Fall leuchtet LED1 voll und LED5 schwach. Im zweiten Fall ist es Led2 voll und Led1 schwach.

In meinem Alltagsauto habe ich auch eine analoge DZM Anzeige - und ich finde, die bietet jetzt keinen wesentlichen Informationsmehrwert im Verleich zu dieser LED Anzeige.

RSS-Feed dieser Diskussion

powered by my little forum