Saeco Office Royal Kaffeevollautomat mit RFID Zugangskontrolle

In der Firma in der die „Chefin des Hauses“ arbeitet, gibt es eine von der Abteilung beschaffte Saeco Office Royal Kaffeemaschine. Diese Maschine wurde nun in eine große, abteilungsübergreifende Küche umgezogen. Um Ärger durch Fremdnutzung zu vermeiden, habe ich die Kaffeemaschine mit einem RFID Zugangssystem ausgestattet.

Ziele:
– kein Kaffee ohne passenden RFID
– einfache Freischaltung
– kostengünstiger Umbau (~25€)
– ca. 25 Teilnehmer mit passenden RFIDs ausstatten
– reversibler Umbau in der Kaffeemaschine
Die vorgeschlagene Schaltung könnte man auch um ein automatisches Abrechnungssystem erweitern.

Kosten (orientiert an den Aliexpress Preisen):
– Arduino Nano Clone; ca. 2,50€
– SD Kartenleser; ca. 2,00€
– RFID Leser RDM630, ca. 2,40€
– 50 RFID Tags, ca. 8,10€
– kleines Gehäuse, ca. 4€
– kleine SD Karte, Lötzinn, Lochplatine -> lag noch rum

Die Idee:
– Das Tastenfeld der Kaffeemaschine blockieren, solange kein gültiger RFID gelesen wird.
– RFID Codes auf SD Karte speichern, um viele Codes hinterlegen zu können und einfach wechseln zu können.
Da ich keine Dokumentation zu dem Anschluss für den Saeco Münzautomaten finden konnte, habe ich einen alternativen Ansatz gefunden.

Demontage der Saeco Office Royal:
Kaffee- und Wasserbehälter leeren. Wasserbehälter entfernen. Es werden mehrer Schrauben sichtbar. Diese entfernen:
Saeco_Demontage_hinten
Jetzt den Kaffeebehälter abnehmen. Darunter eine Gehäuseschraube lösen und den Mahlwerksanzeiger abschrauben:
Saeco_Demontage_hinten2
Der obere Gehäuseteil wird nun noch durch zwei Schrauben an der Front gehalten. Diese findet man, wenn man von vorne/unten auf die Maschine schaut:
Saeco_Demontage_vorne1
Saeco_Demontage_vorne2
Man kann nun den oberen Gehäuseteil anheben. Um ihn abzunehmen muss man noch das Erdungskabel (Achtung kleiner Sicherungspin) sowie den Wasserschlauch abziehen.
Saeco_Demontage_Topabnahme
Man kann nun auf die Hauptplatine der Kaffeemaschine schauen. Das Tastenfeld liegt dahinter:
Saeco_Mainboard
Nun die Fixierungsschrauben des Mainboards lösen und das Mainboard abziehen; es gibt noch einen Steckverbinder zu dem davor liegenden Tastenfeld.
Saeco_Mainboard_Backside

Umbau:
Neben dem Tastenfeld kann man die RFID Antenne des RDM630 Lesers montieren:
Saeco_RFID_Antenne
Das folgende Bild zeigt die Platine des Tastenfeldes; der Ausbau ist für einen Nachbau nicht nötig. Man kann hier die Pinbelegung ableiten:
Saeco_Tastenfeld_Platine
Netterweise hat Saeco das komplette Tastenfeld mit einer gemeinsamen Masse für alle LEDs und alle Tasten realisiert. Der Gesamtstrom beträgt weniger als 40mA, wenn alle LEDs leuchten. Und hier ist dann die triviale Lösung für die Aufgabe: Wir biegen den GND Pin zur Seite. Diesen Pin steuern wir über einen Arduino: Hochohmig (Input), wenn deaktiviert. Low(GND) für 10 Sekunden, wenn ein passender RFID gelesen wird. In diesem Fall fangen auch die Tasten-LEDs zu leuchten. Dadurch wird dem Benutzer klar signalisiert, dass die Kaffeemaschine jetzt freigeschaltet ist.
Also habe ich den Massepin des Tastenfelds wie im Foto gezeigt zur Seite gebogen und ein Jumper Kabel (weiblich) aufgesteckt. Die für den Arduino nötige 5V Spannung habe ich am Display organisiert:
Saeco_Display_Power
Damit sind alle nötigen Anschlüsse vorhanden und die RFID Antenne montiert. Es muss nun noch die im Folgenden beschriebene Zusatzplatine eingebaut werden. Danach erfolgt der Umbau in umgekehrter Reihenfolge.

Die Zusatzplatine:
Die notwenige Schaltung ist die Kombination zweier Standardaufbauten:
1. SD Kartenleser am Arduino unter Verwendung der Standardpins.
2. RDM630 RFID Leser mit Signalausgang an Pin D3 des Arduinos; die Codes werden dann per Softserial eingelesen.
Hier ist der Schaltplan dazu:
Saeco_Office_Control

Änderung 29.06.2016: (noch nicht im Schaltplan)
Wenn man die Schaltung so aufbaut, kann man die Saeco Maschine nicht mehr in den Programmiermodus bringen. Dazu muss man nach Anleitung zwei Tasten drücken und während dessen die Maschine einschalten. Leider klappt es nicht, den Arduino-Pin direkt am Anfang in setup() schnell genug auf low zu bringen.
Die Lösung war dann doch ganz einfach: Den Pin D2 per 1,5kOhm auf Masse ziehen. Mit diesem Trick funktioniert das Tastenfeld unabhängig von D2, wenn die Tastenleds ausgeschaltet sind. Wenn die LEDs an sind, kann man die Tasten weiterhin mit low vs high-Impendance freischalten. Ein Bezug von Kaffee klappt ohnehin nur, wenn die LEDs leuchten und in den Programmiermodus kommt man so auch.

Die Schaltung habe ich in ein kleines Plastikgehäuse montiert und mit doppelseitigem Klebeband hinter dem Mainboard fixiert. Ich habe 50 RFIDs auf der SD Karte vorkonfiguiert, so dass die Karte im Gehäuse montiert werden kann.
Saeco_Position_Zusatzelektronik

Der Arduino Code:
Entsprechend der Schaltung ist auch der Code entlang der Standardcodebeispiele realisiert. Wird ein RFID Code auf der Softserial Schnittstelle empfangen, so prüft der Arduino, ob sich dieser Code in der Datei RFID.dat auf der SD Karte findet.
Bei der RFID.dat handelt es sich um eine Textdatei, in der die RFID Codes zeilenweise untereinander stehen. Die Codes kann man sich im seriellen Monitor der Arduino IDE anzeigen lassen, wenn man einen RFID an der Antenne vorbeizieht. Es handelt sich um den RFID Code in dem Format, in dem er vom RDM630 Leser kommt.
Der Arduino Code: Saeco_RFID_Control

Und hier ist noch ein Bild der wieder zusammengebauten Maschine mit RFID Aufkleber an der Antennenposition.
Saeco_Office_Professional_RFID
Die Schaltung ist aktuell seit 4 Wochen im Dauerbetrieb und funktioniert bei den Mitarbeitern zur Zufriedenheit. Viel Erfolg und Spass beim Nachbau oder bei der Erweiterung.

P.S.: Für ein Abrechnungssystem könnte man die Tasten des Tastenfeldes selbst über den Arduino ziehen und damit ein Abrechnungssystem realisieren. Man könnte weiterhin die gezogenen Kaffees zu jedem RFID Code auf SD Karte speichern. Die SD Karte müsste dann natürlich von außen zu erreichen sein.

2 Gedanken zu „Saeco Office Royal Kaffeevollautomat mit RFID Zugangskontrolle

  1. Willi

    Schönes Projekt! Ich würde es gerne für etwas anderes verwenden… aber wie werden die RFID-Codes
    auf der SD Karte gespeichert?
    Ich habe zB folgende Codes : 8848572; 926556; 1292971; 9021062; 9502421; 8889678;4624916 usw.

    Antworten
    1. ST Artikelautor

      Hallo Willi,

      die Codes stehen in der Datei Rfid.dat einfach als Textdatei untereinander. Gescannte Codes werden auch auf dem seriellen Interface ausgegeben (egal ob bekannt oder unbekannt). Von dort kannst Du sie dann übernehmen. Die Codes sind hexadezimal kodiert.

      Gruss Stefan

      Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.