Hallo, ich bin neu hier und habe gleich eine "mächtige" Aufgabe. Ich habe einen Münzzähler bekommen. Dieser arbeitet noch nach D-Mark. Nun habe ich ihn mechanisch so eingestellt, dass er Euro sortieren kann. Das mit dem Zählen klappt nicht, da ja bei Euro und D-Mark erstens die Werte anders sind und zweitens wir nun 20 Cent haben. Soweit, so gut. Leider funktionieren Münzzähler nicht nach dem Prinzip "Zähle und addiere die Münzen, die in einen Schacht fallen" sondern etwas anders. Die Münzen laufen über eine Schiene. VOR dem jeweiligen Schacht sitzt nun einen Lichtschranke. Wir haben 8 verschieden Euro- Münzen. Kommt nun eine 2 Euromünze über die Schiene gerollt, so müsste bei Lichtschranke Nr. 1 "1" dazuaddiert. LS 2 "+1". LS3 "+8". LS4 "-5". LS5 "+15". LS6 "+80". LS7 "-50". LS8 (2 Euro) "+150". Damit wären wir bei 200 Cent. Die Maschine addiert bzw. subrahiert pro Lichtschranke also Werte. Ist eine solche Aufgabe mit einem ATmega zu bewältigen? Ist das extrem kompliziert? µC kenne ich aus meine Ausbildung (1988). Damals programmierten wir 8080 bis zum Abwinken. Danke schon mal.
Aber sicher ist das damit zu bewältigen... Ich bin mir ziemlich sicher, dass 90% der Mikrocontroller am Markt dafür geeignet sind. Du musst dir nur einen aussuchen, der genügend Eingänge hat um die Lichtschranken auszulesen...
möchtest du nur münzen zählen und die werte im uC lassen, oder soll noch etwas angesteuert werden (LCD, Dosenausgane, whatever), du musst also schauen, dass du noch genügend pins frei hast. evtl gleich einen atmega32 nehmen
Ein ordentlicher Münzzähler prüft nicht nur die Größe, sondern auch die Laufzeit. Sonst würde ja jeder "Bierdeckel" als Münze erkannt.
> Ein ordentlicher Münzzähler prüft nicht nur die Größe, sondern auch die > Laufzeit. Ein richtig ordentlicher Münzprüfer wertet auf magnetischem Weg mit verschiedenen Frequenzen auch die Materialien aus. Siehe z.B. http://www.nri.de/de_18037_1.html Wegen der vielen unterschiedlichen Münzprägeanstalten und Materiallieferanten in Europa müssen die Dinger recht genau arbeiten :-/ (oder tolerant eingestellt werden wegen der unerwünschten Echtgeldabweisung)
Oh ja. Ich habe bei NRI gelernt und kann das nur bestätigen. Teilweise ist es sogar so problematisch, dass Fremdmünzen noch viel "echter" als die echten Münzen sind, da diese teilweise viel enger tolleriert sind. Man muß gar ziemlich krumme Tricks anwenden, dass nicht noch irgendwelche Aluscheiben als echt erkannt werden. Das Problem gab es damals mit Zloty-Stücken und der D-Mark. Letztere hatte so große Tolleranzen, dass es nahezu unmöglich war, diese von den engtollerierten Zloty zu unterscheiden (bzw nur dann, wenn auch die D-Mark zu mehr als 50% als falsch erkannt wurde). Zusätzlich zu der HF-Dämpfung wird auch noch Magetisierbarkeit, Gewicht, Größe, Farbe, Ränderlung, Härte und noch vieles mehr ausgewertet. Eine Lichtschranke kann nur zur Größendifferenzierung herangezogen werden. Da funktionieren dann aber auch Bierdeckel.
> Eine Lichtschranke kann nur zur Größendifferenzierung herangezogen > werden. Da funktionieren dann aber auch Bierdeckel. nicht ganz - denn über mehrere Lichtschranken an einer "schiefen Ebene" lässt sich ggf. auch die Beschleunigung ermitteln - und die ist abhängig vom Massenträgheitsmoment. Ob das allerdings genau genug gemessen werden kann, bin ich mir nicht sicher.
Ich glaube, wir haben da was falsch verstanden... Ich verstehe den Text mittlerweile so, dass die Lichtschranken da sitzen, wo die Münzen zum Schluss bereits sortiert durchfallen, also nach der Prüfung/Aussortierung. Hab ich das so richtig verstanden? Lg, Chris
Da hier mehrfach addiert wird, verstehe ich das anders herum. Die Münzen laufen über eine schiefe Ebene und fallen ggf in passende Schächte oder rollen weiter (warum sie dann nicht in den zu kleinen Schächten hängen bleiben, verstehe ich noch nicht). Der größte Schacht ist am weitesten entfernt. Kurz hinter den Schächten ist jeweils eine Lichstschranke die lediglich den Durchlauf irgendeiner Münze detektieren. Also eine Art Sieb, bei denen die Gitter immer kleiner werden. Christian Aurich schrieb: > nicht ganz - denn über mehrere Lichtschranken an einer "schiefen Ebene" > lässt sich ggf. auch die Beschleunigung ermitteln - und die ist abhängig > vom Massenträgheitsmoment. Ob das allerdings genau genug gemessen werden > kann, bin ich mir nicht sicher. Ok, ja natürlich. Das wird sogar gemacht. Vielleicht nicht unbedingt über Lichtschranken, sondern direkt über die Schwingkreise.
Hallo, zunächst mal DANKE für die Antworten. Zur letzten Antwort: Die schiefe Ebene ist leicht nach hinten gekippt, so dass die Münzen in einer Art Schiene laufen. Als U vorzustellen. Die Hinter Schiene ist allerdings nicht aus einem Stück, sondern aus einzelnen Platte, die in der Höhe verstellt werden können. D.h. die erste Platte ist am weitesten unten, um nur 1 Cent Stücke in den Schacht fallen zu lassen usw. Und die Lichtschranken sitzen VOR den Schächten. Läuft also ein 2 Cent- Stück durch, wir bei LS1 "+1" und bei LS2 "+1" addiert. Dann fällt es in den Schacht und kommt nicht an der 10 Cent LS vorbei, die dann "+8" addieren würde. Das Ergebnis würde ich gerne auf einem Display ausgeben. Vielleicht sogar auf Abruf das Ergebnis der einzelnen Schächte. Das müsste aber nicht sein. Ob diese Maschine jemals auf fehlerhafte oder falsche Münzen "geachtet" hat, kann ich nicht sagen. Auf jeden Fall hat die Maschine eine "Gerümmpel"- Schublade. Es handelt sich übrigens um eine MONNETTE 600 eines Herstellers aus Wien. Die Firma besteht allerdings nicht mehr. Zur Zeit sitzt in der Maschine ein EPROM mit dem Aufdruck "Version 2.2 D". Vor 2 Wochen hatte ich mir übrigens eine Maschine ausgeliehen. Diese liegt neu so bei 3000 Euro. Und selbst diese Maschine hat ein 10 Bath-Stück aus Thailand als 2 Euro durchgehen lassen.Erstaunlich. Gruß
Mal so ganz naiv gesehen. Du hast 8 Münzen, also auch 8 Lichtschranken und damit 8 digitale Ausgangsimpulse. Jeder Ausgang wird an einen Input-Pin eines MC mit PinChange-Interrupt geführt. Diese werden so programmiert, dass sie auf eine Flanke des Impulses reagieren. Jedem dieser Pulse ist eine INT-Routine zugeordnet. Jede dieser Routinen addiert bei Aufruf einen definierten Wert zu einer Variable. Der Inhalt der Variable kann in der Hauptschleife des Programms auf einem Display ausgegeben werden. Wird das Display mittels Schieberegister angeschlossen, brauchst Du dafür nur zwei IO-Pins. Bei einem ATtiny24/44/84 hättest Du also noch zwei für Tasten zur Verfügung. Oder nur eine Taste und einen RS232-Ausgang.
>Jeder Ausgang wird an einen Input-Pin eines MC mit >PinChange-Interrupt geführt. Diese werden so programmiert, dass sie auf >eine Flanke des Impulses reagieren. Jedem dieser Pulse ist eine >INT-Routine zugeordnet. Warum auch immer Interrupts benutzen? Wenn der Controller eh nichts besseres zu tun hat, als auf die Eingänge zu warten, kann er auch die Lichtschrankenpollen. Die Eingänge kann man dann in einem Timer-Intervall abfragen und hat dann nach einer gewissen Zeit ein Timeout, womit man dann weiß, welche Münze zuletzt eingeworfen wurde. Innerhalb einer bestimmten Zeit (durch Ausprobieren mit 2Euro-Münzen) nach Passieren der ersten Lichtschranke wird der Wert der zuletzt betätigten Lichtschranke hinzuaddiert. Das geht natürlich nur, wenn nicht mehr als eine Münze zur Zeit ausgewertet werden muss. Das Einlesen der Lichtschranken kann man in diesem Fall natürlich auch per PinChange-Interrupt erledigen...
STK500-Besitzer schrieb: >>Jeder Ausgang wird an einen Input-Pin eines MC mit >>PinChange-Interrupt geführt. Diese werden so programmiert, dass sie auf >>eine Flanke des Impulses reagieren. Jedem dieser Pulse ist eine >>INT-Routine zugeordnet. > > Warum auch immer Interrupts benutzen? > Wenn der Controller eh nichts besseres zu tun hat, als auf die Eingänge > zu warten, kann er auch die Lichtschrankenpollen. Warum nicht benutzen, wenn man sie hat? Macht meist das Programm viel übersichtlicher als ein Polling. > Innerhalb einer bestimmten Zeit (durch Ausprobieren mit 2Euro-Münzen) > nach Passieren der ersten Lichtschranke wird der Wert der zuletzt > betätigten Lichtschranke hinzuaddiert. Das wäre bei einer Münze zur Zeit auch eine Möglichkeit. > Das geht natürlich nur, wenn nicht mehr als eine Münze zur Zeit > ausgewertet werden muss. Ich hatte gleich an größere Münzzählwerke für mehrere Münzen (Spardose leeren) gedacht. > Das Einlesen der Lichtschranken kann man in diesem Fall natürlich auch > per PinChange-Interrupt erledigen... Also doch Interrupt?
OK. Das hört sich schon mal gut an. Da ist den µC nun nicht kenne, wie gehe ich vor? Wo finde ich (möglichst kostenlos) gute Anleitungen um mich mit dem Thema zu beschäftigen? Schaltung,Programmierung usw. Danke und Gruß
>> Das Einlesen der Lichtschranken kann man in diesem Fall natürlich auch >> per PinChange-Interrupt erledigen... >Also doch Interrupt? Kann, muss aber nicht. Wenn der µC nichts "besseres" zu tun hat, ist Polling (für einen Anfänger) leichter zu realisieren. Ob man nun die Lichtschranken-Abfrage oder die Zeit als Hintergrundaktivität realisiert, ist nicht ganz so wichtig, oder?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.