Forum: Mikrocontroller und Digitale Elektronik Münzzähler Reverse Engineering


von Johannes B. (johannes_b629)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe hier einen defekten Münzzähler, bei dem Schleifkontakte in 
Abhängigkeit des Münzdurchmessers miteinander verbunden werden. Es gibt 
6 Kontakte, wahrscheinlich 3 Eingänge und 3 Ausgänge. Die im Bild 
gezeigte Platine ist über ein 6-adriges Kabel mit einer zweiten Platine 
mit kleinem IC und Display + Batteriefach verbunden. Ich möchte die 
defekte Elektronik ersetzen und die im Bild gezeigte Schleifer-Schaltung 
dazu verwenden, mittels atmel, rasp o.ä. die Auswertung vorzunehmen und 
etwas zu experimentieren. Der mechanische Schleifaufsatz ist nicht 
montiert, besitzt auf der Unterseite jedoch nur 2 gefederte Druckstifte 
mit niederohmiger Verbindung.

Da es 8 Münzen zu erkennen gilt, sollten die 3 Ausgänge/3Bit eigentlich 
ausreichen um alle Münzen zu codieren. Meine erste Idee war daher, die 
größeren 3 Kontaktpads auf Low oder High (001,010,110 usw.) zu legen und 
dann an den Ausgangspins im Idealfall für jede Münze eine Binärzahl (8 
Binärzahlen 000,001 usw.) zu erhalten. Leider komme ich mit dieser Idee 
nicht wirklich weiter, denn ich konnte bisher keine Kombination am 
Eingang finden, die allen gesuchten Kombinationen am Ausgang entspricht. 
Bevor ich das Teil wegschmeiße, da es mir den letzten Nerv raubt, hoffe 
ich, dass sich jemand findet der

- die Schaltung oder eine ähnliche Schaltung kennt
- eine Logik aus der gezeigten Schaltung erkennt
- mit einem Blick einen anderen Einfall hat, mittels dieser Schaltung 
durchmesserbasiert alle 8 deutschen Münzen (1,2,5,10,20,50ct;1,2€) zu 
erkennen

Wahrscheinlich ist die Lösung recht einfach (wie so oft). Daher freue 
ich mich, wenn mir jemand weiterhelfen kann :)

Edit: ich habe auch noch ein Bild der gesamten Konstruktion angehangen.

: Bearbeitet durch User
von Joe F. (easylife)


Lesenswert?

wie bewegen sich die verschiedenen münzen über die kontakte? kannst du 
mal die wege/durchmesser der kleinsten und grössten münze in das bild 
skizzieren, damit man sich das besser vorstellen kann?

von Joe F. (easylife)


Lesenswert?

achso.
ist es so, dass der schleifer im normalzustand ganz rechts steht, und 
mit zunehmender münzgrösse nach links gedrückt wird?

von Joe F. (easylife)


Lesenswert?

du verbindest die oberen kontakte mit 3 outputs. die unteren mit 3 
inputs und aktivierst interne pulldown widerstände, oder legst extern an 
die inputs welche an.
deine firmware muss sehr schnell die ausgänge durchschalten:
001
010
100
001
010
100
usw.

nach jedem ausgangswechsel liesst du den input.
du bekommst so theoretisch 9 mögliche zustände. einer davon ist nicht 
verschaltet.

von Noch einer (Gast)


Lesenswert?

Ist doch eine ganz normale Tastaturmatrix.
Unter dem Stichwort findet Google unzählige Beispiele.

von Johannes B. (johannes_b629)


Lesenswert?

Danke schonmal für die Antworten.

Joe F. schrieb:
> achso. ist es so, dass der schleifer im normalzustand ganz rechts
> steht, und mit zunehmender münzgrösse nach links gedrückt wird?

Genau so ist es.

Noch einer schrieb:
> Ist doch eine ganz normale Tastaturmatrix.
> Unter dem Stichwort findet Google unzählige Beispiele.

Danke für das Stichwort, aber eine "normale" Tastaturmatrix hat für jede 
Zeile die gleiche Reihenfolge der Ausgangsspalten, hier ist es leicht 
anders, was mich (eventuell unnötigerweise) verwirrt.


Die Idee mit dem schnellen Durchschalten hatte ich auch schon 
kurzzeitig, dafür wäre es aber eigentlich nicht notwendig, die Ausgänge 
derart zu verschalten. Es würde ja dann ausreichen, jedes der 3 großen 
Eingangspads mit je 3 Ausgangspads zu verbinden und hierbei immer die 
gleiche Reihenfolge zu wählen (eine Tastaturmatrix eben :))
Da die Reihenfolge jedoch nicht immer gleich ist (von rechts nach links 
132-123-321) hatte ich die Hoffnung, die 3 Eingangspads mit einer 
statischen Low/High Kombination ansteuern und aufgrund der 
Verschaltungsreihenfolge am Ausgang direkt die verschiedenen Codierungen 
erhalten zu können. Aber vielleicht ist die Wahl der Reihenfolge auch 
rein layoutbasiert und ich interpretiere da zu viel hinein.

Falls jemandem noch etwas einfällt, das Ganze mit einer single-read 
Operation zu lösen, würde es mich freuen. Ansonsten werde ich das Ganze 
mit 3 schnellen Leseoperationen umsetzen.

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


Lesenswert?

Joe F. schrieb:
> du bekommst so theoretisch 9 mögliche zustände
Der neunte Zustand ist fast noch wichtiger als die anderen 8. Er sagt: 
keine Münze!

> deine firmware muss sehr schnell die ausgänge durchschalten:
500mal pro Sekunde reicht da sicher. Ich würde die Software so 
schreiben, dass für die größte Münze auch alle kleinen Schritte 
durchlaufen werden müssen. Noch dass ein kleiner ESD Puls ganz ohne 
Einwurf 2€ dazu bucht...

von Johannes B. (johannes_b629)


Lesenswert?

Ich hatte im ersten Schritt an einen simplen Zustandsautomaten gedacht 
(keine Münze, Münze). Beim Verlassen des Zustands "keine Münze" (Beginn 
des Einwurfs, Schieber bewegt sich vom ersten Pad) wird der jeweils 
größte sich ergebende Durchmesser gespeichert und im anschließenden 
Erreichen des "keine Münze" Zustandes (Münze verlässt Einwurf) die 
Auswertung auf Basis des gespeicherten Werts durchgeführt.

Geht aber bestimmt eleganter :)

von nemesis... (Gast)


Lesenswert?

Warum machst du für jede Münze nicht erst mal eine Wahrheitstabelle,
oder werden da Sequenzen abgefragt?

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Münzzähler ist bei sowas übertrieben.
Das Ding zählt auch Einkaufschips und Unterlegscheiben...

von Johannes B. (johannes_b629)


Lesenswert?

Ben B. schrieb:
> Münzzähler ist bei sowas übertrieben.
> Das Ding zählt auch Einkaufschips und Unterlegscheiben...

Induktivmessung ist bei einer privaten Spardose wohl ebenfalls 
übertrieben :)

nemesis... schrieb:
> Warum machst du für jede Münze nicht erst mal eine
> Wahrheitstabelle,
> oder werden da Sequenzen abgefragt?

Das Problem ist, dass mehrere Münzen die gleiche Kombination der 
Eingänge an den Ausgängen aufweisen..

von nemesis... (Gast)


Lesenswert?

Johannes B. schrieb:
> Das Problem ist, dass mehrere Münzen die gleiche Kombination der
> Eingänge an den Ausgängen aufweisen..

Aber wahrscheinlich nicht die gleiche Sequenz. Wenn man eine größere
Münze einsteckt, werden wohl auch die Kontakte für eine kleinere Münze
kurz betätigt. Vielleicht spielt die Zeit, die eine Münze braucht,
eine Rolle.
Man muss eben herausbekommen welche Sequenz zu welcher Münze passt.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Das kann man ja mit einem Speicheroszi machen.

Für eine private Spardose ist das natürlich okay, da bescheißt man sich 
nur selber wenn man was anderes als Euronen da reinstopft.

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.