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