Forum: Mikrocontroller und Digitale Elektronik KE-Jetronic Impulszähler


von roadster (Gast)


Lesenswert?

Hallo,

ich habe folgendes vor: Ich möchte den Fehlerspeicher eines Audi 80 
auslesen.
Diese wird über Impulse ausgegeben.

Das "Protokoll" ist wie folgt:(basierend auf 12V)

Als erstes wird ein 4 sec. langer Impuls ausgegeben.
Darauf folgt der eigentliche Code. Die Zahlen gehen max. bis 4. Also es 
kommt in keinem Code eine Zahl vor, die höher ist, als 4.

Jedenfalls wird der Code per an/aus ausgegeben. Man muss also max. bis 4 
Zählen. (4 Bit).

Also
Zahl 1: 3x An/Aus = 3 Pause
Zahl 2: 4x An/Aus = 4 Pause
Zahl 3: 1x An/Aus = 1 Pause
Zahl 4: 2x An/Aus = 2 Pause

Zum Auslesen würde mir folgendes reichen:
4 LEDs zum Anzeigen der aktuellen einstelligen Zahl und dann nochmal 4 
zum Anzeigen der aktuellen Position.
Dann müsste man das eben in Echtzeit mitschreiben aber da dies relativ 
langsam geht, ist das kein Problem.

Wie wäre das am besten mit Logik-ICs zu realisieren. Ist im Endeffekt ja 
nur ein 4 Bit Summenzähler, der auf ein Interrupt wartet. (dann kommt 
die nächste Zahl).

Wie würde man das aufbauen und/oder welche/n IC/s würde man da 
verwenden?

Beste Grüße
Roadster

von roadster (Gast)


Lesenswert?

Ah. Mir fällt gerade ein, ich hab noch eine K8055 ( 
http://www.velleman.eu/products/view/?country=be&lang=de&id=351346 ) 
herumfahren. Ließe sich damit etwas anfangen?

Gruß
Roadster

von roadster (Gast)


Lesenswert?

ah... doch so viele

von Christian K. (christian_rx7) Benutzerseite


Lesenswert?

Braucht man dafür wirklich eine Schaltung?
Mazda hat es früher Ähnlich gemacht, nur das die Japaner bis 9 zählen 
konnten.
Zehnerstelle mit langen Impulsen, Einerstelle mit Kurzen.
Alles was man dafür braucht ist eine LED mit passenden Vorwiderstand.
Impulse im etwa Sekundentakt zählen sollte ja auch für ein Hirn 1.0 
möglich sein.

Christian_RX7

von MaWin (Gast)


Lesenswert?

> Wie wäre das am besten mit Logik-ICs zu realisieren.

Dual Mono Flop 74HC123, triggert auf steigende Flanke
des Signals (S)

Eines (A) hat eine Zweit wzsichen kurz und lang,
das andere (B) eine zeit zwischen lang und 4 Sekunden.

Wenn S noch aktiv ist obwohl A abgelaufen ist,
ist es ein Stellenwechsel (Z)

Wenn S noch aktiv ist obwohl B abgelaufen ist,
ist es der Anfang (R)

Wenn A abläuft und S schon nicht mehr aktiv ist,
ist es ein Zählimpuls.

Zum zählen baust du mit einem 74HC76 einen 2 bit
Zähler auf.
http://www.ee.usyd.edu.au/tutorials/digital_tutorial/part2/counter02.html

Um dir 4 Stellen a 2 bit zu merken baust du mit
einem CD4015 ein Schieberegister auf.

R kommt an MRA und MRB des Schieberegisters
An die 8 Ausgänge des CD4015 kommen 2mA LEDs über 1k Ohm Widerstände.

Z kommt an CPA und CPB des CD4015
und CLR des 74HC76

Dann hast du 8 LED, je 2 für 4 Stellen,
0 0 = 4
0 1 = 1
1 0 = 2
1 1 = 3
und falls du diese LEDs nicht als Binärzahl lesen kannst,
kannst du noch 4 7-Segment Displays mit Decodern nachschalten
oder 16 LEDa an 2 74HC139 bauen.

von Tarek T. (tarek_t)


Lesenswert?

Grüße!

Ich selber fahre ein Audi Coupe Typ. 89 und habe so etwas ähnliches 
realisiert :)
Sofern Du einen Bordcomputer besitzt, kannst Du dessen Anzeige nutzen!
Ich habe einen ATmega8 dafür missbraucht, das Display anzusteuern und 
die Fehlercodes auszulesen. Dafür habe ich einen Lenkstockschalter aus 
einem Audi 80 verbaut mit einem Knopf für die hintere 
Wischwasserbetätigung. Da das Coupe hinten keinen Wischer hat, kann ich 
den zusätzlichen Knopf für die Steuerung benutzen. Per Knopfdruck wird 
also der Fehlerspeicher ausgelesen und anschließend auf dem 
Bordcomputerdisplay angezeigt.
Der Fehler wird einmal als Fehlernummer angezeigt und darunter läuft der 
Fehlertext als Laufschrift durchs Display.
Den ATmega8 habe ich gewählt, weil ich damals noch viele weitere Sachen 
wie Außentemperaturanzeige und Anzeige für offene Türen etc. nachrüsten 
wollte, aber wie es so ist: Einmal Kabel verlegt und alles schön 
verbaut, will man da nicht mehr ran ;)

Ich suche am WE mal in der Garage nach den Plänen von damals. Vielleicht 
finde ich die noch.

von roadster (Gast)


Lesenswert?

Ah. So habe ich es mir vorgestellt. Vielen Dank für die bisherigen 
Antworten.
Ich habe es nun provisorisch für die 8055 in C++ geschrieben. Das 
funktioniert auch. Aber ich hätte nun gern eine Hardwarelösung. Da es an 
sich ja extrem einfach ist. Aber ich scheitere im Moment an der 
hardwaretechnischen Realisierung.

Vielen Dank und beste Grüße
Roadster

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Ich habe da ein Problem entdeckt:
roadster schrieb:
> Man muss also max. bis 4 Zählen. (4 Bit).
Bei mir passt 4 in 3 Bits, und man könnte es sogar in 2 Bits packen, 
weil augenscheinlich eine 0 nicht vorkommt (1..4 = 4 Zustände)...

> Das "Protokoll" ist wie folgt:
Hast du da evtl. mal ein Bild dazu (oder einen Link zu einem)? Ich kann 
mir aus der textuellen Beschreibung nichts abbilden...

von roadster (Gast)


Angehängte Dateien:

Lesenswert?

Klar. man hat in dem fall 4 Zustände, welche man mit 2 bits darstellen 
kann:
alle aus, nur 1 an, nur 2 an und beide an.

Jedenfalls Hier mal ein Bild:

von roadster (Gast)


Lesenswert?

Niemand noch ne Idee?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

roadster schrieb:
> Wie würde man das aufbauen und/oder welche/n IC/s würde man da
> verwenden?
"Man" würde einen uC nehmen, wenn "man" ich wäre...  ;-)

> Wie wäre das am besten mit Logik-ICs zu realisieren.
Man bräuchte ein paar Monoflops, die die zeitlichen Abläufe (Start, 
Pause) steuern. Ich würde da mal tendenziell um die 10 ICs ansetzen...
Aber: warum willst du das unbedingt diskret mit Logik-ICs aufbauen?

von roadster (Gast)


Lesenswert?

Ich hatte erst gedacht,  soetwas ließe sich mit ein paar ICs 
realisieren. Aber offensichtlich scheinen µCs wesentlich besser geeignet 
zu sein...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

roadster schrieb:
> Ich hatte gedacht, soetwas ließe sich mit ein paar ICs realisieren.
Ja schon, es ist aber recht aufwändig, wenn man das ganze drumrum auch 
noch berücksichtigt...

> Aber offensichtlich scheinen µCs wesentlich besser geeignet zu sein...
Ja, da reicht dann ein 8-füßiger Tiny85 mit 6 IO-Pins für unter 1€ 
locker aus: 5 IO-Pins als Matrix für die 12 LEDs und 1 Eingangspin für 
das Signal. Fertig...

von roadster (Gast)


Lesenswert?

Oha. wie genial. Sowas hab ich gebraucht :)

Vielen Dank

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

roadster schrieb:
> Sowas hab ich gebraucht :)
Viel Spass beim Aufbauen. Und Obacht: die Zähler müssen synchrone mit 
ClockEnable sein (74162). Mit asynchronem Reset wird das nix...

BTW: denk vor dem Aufbauen alles nochmal selber durch. Das ist bisher 
nur mal eine Gedankenskizze...  ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.