Wer möchte nicht gerne einen eigenen Süßigkeitenautomaten zuhause stehen haben? Meine Kinder jedenfalls sind begeistert und jedes Mal, wenn Besucher kommen, die den Automaten noch nicht kennen, muss ich ihn füllen und in Betrieb nehmen. Alles fing damit an, dass mein ältester Sohn einen fast vergessenen Münzprüfer in meinem Arbeitszimmer ausgegraben hat. Wir überlegten uns, was man damit sinnvolles anstellen könnte. Schnell war die Idee eines eigenen Automaten geboren.
Planung
Ich machte mich an die Planung. Der erste Entwurf basierte auf einem Raspberry Pi und für die Bedienung sollte ein nicht mehr benötigtes 7″ Touch-Display verwendet werden. Dieser Plan wurde jedoch schnell wieder verworfen, da durch das Display kaum noch Platz für ein Sichtfenster blieb und der Automat nicht die Ausmaße eines Kleiderschrankes annehmen sollte.
Das Display flog also raus und wurde durch ein 16×2 Zeichen LCD-Modul aus dem Elegoo Ultimate Starter Kit* ersetzt. Außerdem sollte statt des Raspberry Pi nun ein Arduino Uno* zum Einsatz kommen. Beim Gehäuse entschied ich mich für einen 60×60 Wandschrank von IKEA. Mit knapp 40cm Tiefe gerade so genug Platz für das geplante Innenleben, denn mittlerweile war klar, dass es ein Spiralautomat werden soll. Für die Innenverkleidung wollte ich aus Gewichtsgründen PVC-Platten verwenden.
Gehäuse
Der für das Gehäuse verwendete Wandschrank hat von Werk aus nur eine ziemlich dünne Rückwand, die beim Zusammenbau in eine vorgefräste Nut eingesetzt wird. Um dem Automaten mehr Stabilität zu verleihen, habe ich darauf verzichtet und stattdessen eine weiße Möbelbauplatte von hinten auf das Gehäuse geschraubt. Als positiven Nebeneffekt habe ich dadurch ca. 1 cm mehr Platz im Innenraum gewonnen. Das gesamte Gehäuse ist doch recht unhandlich, darum habe ich noch zwei Tragegriffe an den Seiten montiert.
Ein wenig Kopfzerbrechen bereitete mir die Einbautiefe des Münzprüfers. Dieser würde beim Öffnen der Tür entweder gegen die Außenwand oder den Innenaufbau stoßen. Ich entschied mich deshalb dafür, die Tür mit der Kreissäge in zwei Teile zu schneiden. Der größere linke Flügel enthält das Sichtfenster und den Ausgabeschacht, der kleinere rechte Flügel den Münzprüfer, das Display und die Taster. Da das Türblatt ursprünglich nur für einseitigen Anschlag vorgesehen war, mussten mit einem Topfbohrer noch zwei Vertiefungen für die zusätzlichen Scharniere gebohrt werden.
Innenausbau
Aus dünnen Kanthölzern habe ich ein Grundgerüst für das Innenleben des Automaten gebaut und dieses anschließend mit farbigen PVC-Platten verkleidet. Die PVC-Platten haben den Vorteil, dass sie verhältnismäßig leicht sind und problemlos mit einem Cuttermesser bearbeitet werden können. Als Führung für die Spiralen habe ich Kabelkanäle verwendet, die ein wenig in der Höhe gekürzt wurden. Zwischen den Kanälen befinden sich wieder PVC-Platten, um später die Süßwaren sauber voneinander zu trennen.
Die Spiralen sind aus einem verzinkten 2,2 mm Eisendraht angefertigt. Diesen habe ich zum Biegen um ein PVC-Rohr gewickelt, anschließend auf die benötigte Länge gekürzt und an den Kreuzarmen der Servomotoren befestigt. Für den Antrieb der Spiralen sorgen später vier Continuous Rotation Servos, die in die rückseitige PVC-Platte eingebaut werden. Für eine ausreichende Beleuchtung des kompletten Innenraums sind vier LED-Spots an der Gehäusedecke angebracht.
Türen
In die große Tür habe ich mit der Stichsäge einen Ausschnitte für das Schaufenster gesägt, einen hölzernen Kantenschutz aufgeleimt, damit die Sägeränder später nicht zu sehen sind und anschließend ein Stück Acrylglas* von innen in die Öffnung eingesetzt. Im unteren Bereich der Tür habe ich eine etwas kleinere Öffnung für die Warenentnahme vorgenommen. Hier habe ich die Sägeränder mit einem U-förmigen Kantenschutz aus Kunststoff verkleidet. Zum Verriegeln des Automaten sind oben und unten Zylinder-Möbelschlösser* in die Tür eingebaut. In die kleinere Tür kamen Ausschnitte für das Display, die Taster und den Münzprüfer.
Ausgabeklappe
Der Ausgabeschacht sollte von innen mit einer Klappe verschlossen werden, die sich durch Gegendrücken öffnen lässt. Diese verhindert den direkten Griff in den Automaten. Für die Klappe habe ich wieder eine PVC-Platte verwendet, die mit zwei Scharnieren an der Tür befestigt ist. Zwei kleine Stücken eines zerschnittenen Gartenschlauchs sorgen für ausreichend Gegendruck und pressen die Klappe nach der Benutzung wieder gegen die Öffnung.
Münzprüfer anlernen
Ein wichtiger Bestandteil des Süßwarenautomaten ist der CH-926 Multi Coin Acceptor von Sintron. Dieser Münzprüfer ist programmierbar und es können bis zu sechs unterschiedliche Münzen angelernt werden. Die Erkennung erfolgt anhand des Gewichts sowie der Größe und des Materials der Münze. Für eine möglichst hohe Erkennungsrate kann für jede anzulernende Münze ein Sampling mit bis zu 20 unterschiedlichen Münzen durchgeführt werden. Meine Fehlerquote liegt bisher bei nahezu 0%. Nur ganz selten wird eine Münze beim ersten Einwurf nicht erkannt und wieder ausgeworfen.
Für jede angelernten Münze gibt der Münzprüfer eine frei programmierbare Anzahl an Impulsen am Signalanschluss aus, zum Beispiel: 10ct = 1 Puls, 50ct = 5 Pulse, 2€ = 20 Pulse. Die Zeit zwischen den Impulsen beträgt in der schellsten Einstellung 130ms. Hier zeigt sich auch eine große Schwäche des Münzprüfers. Wird als kleinste Münze 5ct mit einem Impuls konfiguriert, sind es bei 2€ bereits 40 Impulse. Somit dauert es länger als fünf Sekunden, bis alle Impulse übertragen sind. Für meinen Automaten spielt das jedoch nur eine untergeordnete Rolle. Ich zähle einfach in 10ct-Schritten auf dem Display hoch.
Die Auswertung im Arduino ist etwas kniffelig, denn um alle Impulse zuverlässig zählen zu können, muss ein Interrupt ausgelöst werden. Glücklicherweise musste ich das Rad nicht neu erfinden. Skipped hat in seinem Instructables-Artikel Make Money With Arduino bereits hervorragende Vorarbeit geleistet und nach minimalen Anpassungen hatte ich den fertigen Code zur Auswertung des Münzprüfers.
In die Zuleitung des Münzprüfers habe ich später noch ein Relais* eingebaut. Wenn alle Warenschächte leer sind, wird der Münzprüfer darüber spannungsfrei geschaltet und nimmt keine weiteren Münzen mehr an.
Servos
Für den Antrieb der Spiralen verwende ich vier SpringRC SM-S4303R Continuous Rotation Servos. Im Gegensatz zu gewöhnlichen Servomotoren wird hier nicht mit Winkelpositionen und Drehzahlen gearbeitet. Stattdessen drehen diese Servos, abhängig von der Spannung, kontinuierlich mit ca. 50rpm, wahlweise im Links- oder Rechtslauf. Ideal also für den geplanten Einsatzzweck.
Kontrolle der Warenausgabe
Eine Herausforderung war die Kontrolle der Warenausgabe. Ursprünglich hatte ich hierfür eine rein zeitliche Funktion vorgesehen, die den Servo nach einer festen Zeit stoppt. Es zeigte sich jedoch schnell, dass die Umdrehungszahl der Servos schwankt und nicht exakt berechenbar ist. Bei gleicher Laufzeit stoppte die Spirale mal zu spät, sodass zwei Riegel heraus fielen, mal reichte die Umdrehungszahl nicht aus und es wurde gar keine Ware ausgegeben.
Im zweiten Anlauf habe ich einen Laser* und eine Photozelle* im Fallbereich der Ware angebracht. Der Servo sollte gestoppt werden, sobald die Lichtschranke durchbrochen wird. Aufgrund der Schachttiefe wären eigentlich zwei Lichtschranken notwendig gewesen, um den kompletten Fallbereich erfassen zu können. Da am Arduino aber keine freien Anschlüsse mehr zu Verfügung standen, habe ich etwas getrickst. Laser und Photozelle habe ich auf der gleichen Seite platziert und über zwei im 45°-Winkel angeordnete Spiegelmosaiksteine* wurde der Laserstrahl auf der gegenüberliegenden Seite umgelenkt und zurückgeworfen.
Jedoch zeigten sich im Betrieb zwei Schwachstellen. Die Lichtschranke konnte durch Bewegung und Transport des Automaten leicht dejustiert werden. Außerdem war sie nicht duplo-fest. Ein schlanker Schokoriegel konnte sich zwischen den Laserstrahlen hindurchmogeln.
Also habe ich den Mechanismus erneut überarbeitet, um ihn zuverlässiger zu machen. An eine PVC-Platte habe ich zwei Scharniere genietet und diese an der Tür verschraubt. Ein Stück Kunststoff aus einer Blisterverpackung hebt die Platte leicht an. Fällt nun die Ware auf die Platte, wird diese nach unten gedrückt und über die Nieten und einen darunter angebrachten Metallstreifen wird ein Stromkreis geschlossen, der dann den Servo stoppt. Die Platte ist angewinkelt, sodass keine Ware darauf liegen bleiben kann.
Konfiguration dauerhaft speichern
Neben den vier Tastern zur Anwahl der Ware, gibt es noch einen weiteren Taster im Gehäuseinneren, der eine Konfigurationsroutine startet. Für jede Spirale kann die Anzahl der enthaltenen Waren und der Preis eingestellt werden. Die Daten werden persistent im EEPROM des Arduino gespeichert und bleiben auch dann erhalten, wenn der ganze Automat stromlos gemacht wird. Jede Warenausgabe aktualisiert die Stückzahl im Speicher.
Verkabelung
Einzelne Komponenten des Automaten sollen möglichst leicht zu ersetzen sind. Daher habe ich die Verbindungen nur selten gelötet und stattdessen Steckverbindungen mit Dupont-Steckern und -Buchsen hergestellt. Da ich keine vorkonfektionierten Leitungen in den passenden Längen liegen hatte, habe ich mir diese selber zugeschnitten und die Stecker aufgecrimpt.
Hilfe, Betrug!
Nachdem der Automat sogut wie fertig war, durfte er von den Kinden ausgiebig getestet werden. Es dauerte nicht lange, da kam mein großer Sohn freudestrahlend an: „Guck mal, was passiert, wenn ich so und so und so mache…“, prokelte dabei mit einem 2 Euro Stück im Einwurf des Münzprüfers herum und zu meinem Entsetzen musste ich zusehen, wie das Guthaben hochgezählt wurde.
Nach einiger Recherche zur Ursache bin ich auf der Instructables-Seite The Soda Locker Vending Machine von Mistablik gelandet. Er beschreibt ein ähnliches elektrostatisches Problem und liefert dankenswerterweise gleich eine passende Lösung mit.
Ich habe den Münzprüfer neu programmiert und zu jedem Münzwert einen zusätzlichen Impuls hinzugefügt, welcher als Trigger verwendet wird. Im Programm prüfe ich nun, ob die folgenden Impulse mindestens 125ms und höchstens 135ms vom vorherigen entfernt sind. Nur in diesem Fall werden sie gezählt. Seitdem zählt der Automat zuverlässig.
Update Mai 2020
Wie man auf den Fotos erkennen kann, wäre eigentlich genug Platz für zwei weitere Spiralen vorhanden. Aus Mangel an freien Pins am Arduino Uno habe ich jedoch nur vier verbaut. Um zusätzliche Pins zu bekommen, könnte man jetzt einen Arduino Mega oder einen entsprechenden Clone, z.B. den Elegoo Mega2560 R3*, verwenden. Alternativ kann auch das LCD Modul mit einer I²C-Schnittstelle* verwendet werden, um die Anzahl der bisher benötigten Leitungen zu reduzieren.
Die Verfügbarkeit der SM-S4303R Servos ist etwas zurückgegangen. Alternativ ist aber auch die Verwendung von SM-S4306R Servos* möglich. Laut Datenblatt haben diese einen vergleichbaren Aufbau und sogar noch ein etwas höheres Drehmoment. Ein SM-S4306R kommt auch bei meiner Seifenblasenmaschine zum Einsatz.
Der CH-926 Münzprüfer scheint weitestgehend vom Markt verschwunden zu sein und ist kaum noch zu bekommen. Hier ein alternativer Multi Coin Acceptor*, der dem CH-926 sehr ähnlich ist.
Material
- METOD Wandschrank 60×60
- Türscharnier
- Möbelbauplatte 60×60
- 2x Zylinder-Möbelschloss*
- Tragegriffe
- LED-Spots
- Acrylglas*
- Kantholz
- PVC-Platten
- Multiplexplatte als Trennwand
- Winkel und Eckwinkel
- Kabelkanal 60mm breit
- Kantenschutz aus Holz und Kunststoff
- Spiegelklebeband*
- 4x Scharnier 38x32mm
- 10cm Gartenschlauch
- Schrauben, Muttern und Unterlegscheiben
- 2,2 mm verzinkter Eisendraht* für die Spiralen
- PVC-Rohr EN40 zum Biegen der Spiralen
- Arduino Uno*
- 1602 LCD Modul*
- CH-926 Münzprüfer oder alternativer Multi Coin Acceptor*
- 4x SM-S4303R Servos (alternativ SM-S4306R*)
- 5x Taster*
- Relais*
- Litze*
- Dupont-Stecker / -Buchen*
- Lochrasterplatinen*
- Schrumpfschlauch* / Isolierband
- Klettband*
- Netzteile 5V / 12V
- Mehrfachverlängerung
Werkzeug
- Bohrschrauber
- Kreissäge
- Stichsäge
- Schraubendreher
- Bohrer
- Topfbohrer
- Cuttermesser
- Bügelsäge
- Krimpzange
- Saitenschneider
- Abisolierzange
- Maulschlüssel
- Lötstation
14 thoughts on “Süßwarenautomat – Candy Vending Machine mit Arduino”
Hallo,
das ist ein tolles Projekt! Ich bin Lehrer an einer Berufsschule und würde gerne ein ähnliches Projekt konzipieren. Hast du die Schaltpläne und die Arduino – Programmierung irgendwo als OpenSource veröffentlicht?
Viele Grüße!
Hallo Sven,
freut mich, dass dir das Projekt gefällt.
Arduino Sketch und Verdrahtungsplan sind am Ende des Beitrags verlinkt; direkt über der Materialliste.
Hallo, sehr toller Automat!
Ich kann leider die Datei mit dem Arduino Programm nicht öffnen. Kann mir da jemand helfen?
Liebe Grüße
Hallo, Tolles projekt.
könnte ich den code und schaltplan mit dem I2C 1602 Display erhalten.
Damit wäre mir sehr geholfen.
Danke
Hallo, ich bin gerade selber dabei mir solch einen tollen Automat zu bauen. Allerdings habe ich aktuell das Problem, dass mein display 1602 zwar leuchtet aber keine infos angezeigt werden. Was kann ich tun?
Vielen Dank
Nico
Hallo Nico,
eventuell wird schon etwas angezeigt und du siehst es nur nicht, weil der Kontrast zu gering ist. Pin 3 des 1602 LCD ist für die Kontrasteinstellung des Displays zuständig. Einfach über einen 10k Poti gegen GND verbinden und du kannst darüber den Kontrast regeln.
Hallo Benjamin,
ein sehr schönes Projekt, dein Automat. Ich möchte mir einen ähnlichen Automaten bauen. Ich möchte dazu Drehtellerteller mit einem Durchmesser von 800 mm und angelasertem Zahnkranz, welches mit 360 Grad Servos angetrieben werden soll. Welche Servos kennst du, die gut Kraft haben und mit 12 V betreiben werden können? Ich denke den Rest deines Automaten könnte ich so übernehmen. Freue mich auf deine Einschätzung
Albert
Hallo, sehr toller Automat!
Ich kann leider die Datei mit dem Arduino Programm nicht öffnen. Kann mir da jemand helfen?
Liebe Grüße
Bei mir Dreht der Servomotor immer zu weit. Welche Programmierung muss ich eingeben damit er sich genau 360° dreht?
Hi I wanted to congratulate you on the great work
I have 3 questions to ask you.
1 – I would like to know if I can use other servo motors instead of those?
2 – I do not understand how to disconnect the servo motor when the product falls?
3 – how does the system know that the products are finished?
thank you very much for
Hallo, sehr guter Automat,
ich wollte fragen mit welcher App ihr das Steckbrett gezeichnet habt. Weil baue auch einen Getränke Automaten für die Schule und zur Präsentation wär das ganz gut.
Hallo
Ich finde den Automaten sehr toll und wollte auch einen snackautomaten für mein Gesellen Stück bauen
Meine Frage ist hast du den Snack Automat über ein ganz normales Netzteil betrieben und wenn ja was für eins
Hallo, Sehr schöner Auromat. Ich baue zur Zeit einen ähnlichen Automaten, In Deinen Unterlagen habe ich den Anschluss des Münzprüfers am Arduino Uno gesehen. Meine Frage hierzu: Wieviel Spannung müssen auf der Coin Leitung anliegen, damit der Arduino Uno den Impuls verarbeiten kann?
Hallo mooi project
heeft u een code met lcd 12c verbinding