Benutzer-Werkzeuge

Webseiten-Werkzeuge


project:snackomat

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
project:snackomat [2017-06-15 16:46] – repair pcopferproject:snackomat [2020-12-03 18:08] (aktuell) tensai
Zeile 1: Zeile 1:
-====== Repairing / Hacking the Snack-O-Mat ======                 +====== Snack-O-Mat ======                 
 {{tag> hardware software infrastructure}} {{tag> hardware software infrastructure}}
  
-Der Snack-O-Mat ist ein Warenautomat des Typs Vendo_MCV_600! Das Display scheint kaputt zu sein. Zu diesem Projekt soll der Automat verbessert und repariert werden.+Der Snack-O-Mat ist ein Warenautomat des Typs Mars / Vendo MCV 600.\\ 
 +Datenblätter, Firmware und sonstiger Spökes findet sich im Gitlab unter [[https://git.shackspace.de/infrastructure/snackomat-files]] 
 + 
 +---- 
 + 
 +===== Reparatur Display ===== 
 +Das Display scheint kaputt zu sein. Zu diesem Projekt soll der Automat verbessert und repariert werden.
  
 Das Display ist ein Vakuumfluoriszenzdisplay (16 Segment). Es wird gesteuert von einem [[http://www.datasheetcatalog.org/datasheets/400/27307_DS.pdf|Micrel 10957]]. Zwischen dem Mainboard des Automaten und dem Display wird SPI gesprochen (Shift Clock und Shift Data IN). Die SPI-Daten/Einstellungen sind Das Display ist ein Vakuumfluoriszenzdisplay (16 Segment). Es wird gesteuert von einem [[http://www.datasheetcatalog.org/datasheets/400/27307_DS.pdf|Micrel 10957]]. Zwischen dem Mainboard des Automaten und dem Display wird SPI gesprochen (Shift Clock und Shift Data IN). Die SPI-Daten/Einstellungen sind
Zeile 14: Zeile 20:
 Im Datenblatt ist eine Tabelle die wir zur Umwandlung nach ASCII nutzen können. Im Datenblatt ist eine Tabelle die wir zur Umwandlung nach ASCII nutzen können.
  
-====== Repairs ======+==== Repairs ====
  
-===== What needs to be done =====+=== What needs to be done ===
  
 Since we wanted to add a new Display without chaning the main control pcb, we needed to read the signals from the control board with the texts to be displayed and put them to another display. Luckily we had some VFDs there that can already be controlled via UART. So all we needed was an SPI to UART converter that was able to translate the input from the Control PCB of the vending machine (see the datasheet of the micrel display driver) to ASCII (as accepted charset of the VFD). Shouldn't be so hard. Since we wanted to add a new Display without chaning the main control pcb, we needed to read the signals from the control board with the texts to be displayed and put them to another display. Luckily we had some VFDs there that can already be controlled via UART. So all we needed was an SPI to UART converter that was able to translate the input from the Control PCB of the vending machine (see the datasheet of the micrel display driver) to ASCII (as accepted charset of the VFD). Shouldn't be so hard.
  
-===== Preparations: Finding out how it works =====+=== Preparations: Finding out how it works ===
  
 We used a [[project:shackuino|shackuino]] and a Vacuum Fluoriscence Display to prototype a converter for the converter. The results seemed quite good. We used a [[project:shackuino|shackuino]] and a Vacuum Fluoriscence Display to prototype a converter for the converter. The results seemed quite good.
Zeile 28: Zeile 34:
 Since we didn't want to make a final installation wasting the shackuino, we decided to make a PCB for the display converter and put it in the machine in a nicer and more professional way. Since we didn't want to make a final installation wasting the shackuino, we decided to make a PCB for the display converter and put it in the machine in a nicer and more professional way.
  
-===== Going PROD: The PCB =====+=== Going PROD: The PCB ===
  
 The PCB Design was relatively easy. There were some thing that went wrong the first try but it wasn't too bad :) We made the PCB and then mounted it in the device. Since the new display is larger than the old one, we had to perform case modding. The PCB Design was relatively easy. There were some thing that went wrong the first try but it wasn't too bad :) We made the PCB and then mounted it in the device. Since the new display is larger than the old one, we had to perform case modding.
Zeile 41: Zeile 47:
  
  
-===== Files / Source =====+=== Files / Source ===
  
 The current version is available on github: https://github.com/infuanfu/snack-o-mat The current version is available on github: https://github.com/infuanfu/snack-o-mat
  
 +----
  
 ===== Befüllungsmatrix ===== ===== Befüllungsmatrix =====
  
-Ab sofort in LICK (Stammdaten -> Automaten -> Schächte)+-
  
 ===== Befüllungsmatrix ===== ===== Befüllungsmatrix =====
Zeile 58: Zeile 65:
   - Taste 1 drücken, im Menü scrollen dann die Schächte durch   - Taste 1 drücken, im Menü scrollen dann die Schächte durch
   - pro Schacht die zuzuordnende Taste drücken   - pro Schacht die zuzuordnende Taste drücken
 +{{ :project:snackomat:snack_cabinet.jpg?400 |}}
 +{{ :project:snackomat:precautions.jpg?400 |}}
 +
 +----
 +
 +===== Reperatur(versuch) 2019 =====
 +//durchgeführt von [[leute:neos|Neos]]//
 +
 +==== Bestandsaufnahme ====
 +=== Fehlerbild ===
 +Der Automat ist seit langem nicht mehr in Betrieb, da, meist nach einigen Stunden, scheinbar ein Fehler auftritt wodurch das Display nur noch "OUT OF ORDER" zeigt und die Steuerung manuell per Reset-Taster oder Power-Cycle resettet werden muss.\\
 +Bis dahin funktioniert der Automat jeweils tadellos, es lassen sich Verkäufe tätigen, die Schächte werden aktiviert etc.
 +=== Aufbau ===
 +Die Steuerung besteht aus einem Microcontroller der MCS-51-Familie von Intel, einem 8032, einem OPT-EPROM, einem I2C-EEPROM, einigen Latches, Gattern, Treibern und diversen Spannungsreglern.
 +{{ :project:snackomat:mainboard_wiring.jpg |}}
 +
 +==== Vorgehen ====
 +Die ROMs wurden mit einem Arduino ausgelesen und oberflächlich analysiert.\\
 +Darauf wurden im Betrieb versuchsweise Stück für Stück Sensoren und Aktoren (Wahltaster, Münzzähler etc.) abgesteckt, und nur in einem Fall trat überhaupt eine Fehlermeldung auf, dieselbe, die auch spontan auftritt:\\ Bei Entfernung der Lichtschranke des Ausgabeschachtes. Da diese auf einem Blech neben dem Ventilator des Verflüssigers des Kühlkreislaufes sitzt, welcher eine gewisse Unwucht hat, ist anzunehmen, dass es daher nach gewisser Zeit zu Wackelkontakten kommen kann, wodurch der Fehler ausgelöst wird.\\
 +Es sollte also nur das Kabel zur Lichtschranke am Ende festzulöten sein, um störungsfreie Funktion zu erreichen.
 +
 +==== Beseitigung selbstverursachter Fehler Mainboard ====
 +Bei der Analyse der Verarbeitung des Lichtschrankensignals auf der Steuerplatine wurden leider aus versehen kurzzeitig die Spannungsebenen 5V und 8V miteinander verbunden, wodurch mutmaßlich sämtliche Logik-ICs (die anderen tolerieren laut Datenblatt diese Spannung oder hängen ohnehin an einer anderen Spannung) kaputt gingen, eins sicher durch Entweichen des Magic Smoke. Nach Austausch aller Logik-ICs bis auf die Speicher funktioniert die Steuerung aber nach wie vor nicht, und bei einem erneuten Auslesen der ROMs zeigte sich, dass das I2C-EEPROM gar nicht mehr funktioniert (Ersatz ist beschafft) und das ROM mit dem Programm zwar richtige Daten, aber an falschen Adressen oder mehrfach liefert. Daher wird derzeit nach einer Möglichkeit gesucht, ein EPROM zuverlässig zu brennen, der Typ 27C256 ist glücklicherweise vorrätig. Langwierige Versuche mit einem Arduino brachten keinen nennenswerten Erfolg.
 +
 +{{ :project:snackomat:platine_legende.jpg |}}
 +Legende der ICs auf dem Mainboard
 +{{ :project:snackomat:platine_pinouts.jpg |}}
 +Pinouts der ICs über das Mainboard gelegt
 +
 +=== Update 31.10.2019 ===
 +Neues EPROM erfolgreich gebrannt mit Brenner von [[leute:macxylo|Raute]], Test im Gerät steht aus
 +
 +=== Update 26.02.2020 ===
 +Alle ICs eingesetzt und ein neues, blankes I2C-EEPROM eingesetzt, und siehe da, der Gerät tut wieder, wartet aber nun auf seine initiale Programmierung (Preise, Sprache etc.)\\
 +Ggf. den ausgelesenen Inhalt des alten EEPROMs wieder aufspielen, dann sollte wieder alles beim alten sein
 +
 +==== Fehlerbeseitigung Kühlung ====
 +Der mechanische Thermostat der Kühlung arbeitete nur noch unzuverlässig und wurde daher zum Test durch ein Provisorium aus Arduino, 1Wire-Thermofühler, Poti, Analoganzeige und Schütz ersetzt, über ein aus dem Automat herauslugendes USB-Kabel kann man auf der Konsole die Temperatur auch von außen einsehen.\\
 +Wie die dauerhafte Lösung aussehen soll, muss sich noch jemand (Du!) ausdenken.
 +{{:project:snackomat:cooling.jpg?400 |}}
 +
 +==== Ersatz-Schloss ====
 +Neos hatte einen der beiden Schlüssel zum Snackomat verloren, daher sollte sicherheitshalber das Schloss ausgetauscht werden. Glücklicherweise war es leicht zu tauschen, ein Ersatz-Schnapp-Steckschloss war bei [[https://www.libertyshop.de/Ersatzteile-nach-Hersteller/Rhea-Servomat-Steigler/Schnapp-Steckschloss-mit-2-Schluessel-Vendo--FAS--Dixie.html|Liberty Shop]] zu finden und war einfach einzubauen, da noch ein Schlüssel zum öffnen des Automaten vorhanden war und das Schloss nur an einer Rastnase im Aufnahmezylinder hängt, diese war also einfach reinzudrücken.\\
 +{{:project:snackomat:lock_dimensions.jpg?400 |}}\\
 +Alle Maße in mm\\
 +Daten zum Ersatzschloss "Schnapp Steckschloss mit 2 Schlüsseln Vendo, FAS, Dixie":
 +  * 10,80€ zzgl. 10€ Mindermengenzuschlag (bis 50€) zzgl. 7,80€ Versand
 +  * 2 Schlüssel dabei
 +  * gleichschließend Nr. G 9233
 +  * Schließweg entgegen dem Uhrzeigersinn
 +  * Art.Nr.: 71001
 +
 +----
 +
 +===== Austausch Beleuchtung =====
 +Ursprünglich waren im Automat Leuchtstoffröhren zur Beleuchtung der Front installiert, diese wurden aber in grauer Vorzeit durch LED-Streifen ersetzt. Leider haben diese ihren besten (Leucht-)Zeiten auch schon lange hinter sich, daher bietet es sich an, sich etwas neues einfallen zu lassen.
 +{{:project:snackomat:lamps.jpg?400 |}}
project/snackomat.1497537997.txt.gz · Zuletzt geändert: 2017-06-15 16:46 von pcopfer