Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

project:snackomat

Repairing / Hacking the Snack-O-Mat

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.

Das Display ist ein Vakuumfluoriszenzdisplay (16 Segment). Es wird gesteuert von einem Micrel 10957. Zwischen dem Mainboard des Automaten und dem Display wird SPI gesprochen (Shift Clock und Shift Data IN). Die SPI-Daten/Einstellungen sind

  • 250kHz
  • Idle LOW
  • Idle2Active liegt das neue Bit an (low nach high)
  • Samplen kann während die Clock auf High ist erfolgen

Mit diesen Daten kann man es per BusPirate lessen.

Im Datenblatt ist eine Tabelle die wir zur Umwandlung nach ASCII nutzen können.

Repairs

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.

Preparations: Finding out how it works

We used a shackuino and a Vacuum Fluoriscence Display to prototype a converter for the converter. The results seemed quite good.

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

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.

When this was all done, we filled up the vending machine and it was done.

The current status will only reestablish the functionality before the machine broke. There will be more features. Stay tuned.

Files / Source

The current version is available on github: https://github.com/infuanfu/snack-o-mat

Befüllungsmatrix

Ab sofort in LICK (Stammdaten → Automaten → Schächte)

Befüllungsmatrix

Schachtzuordnung festlegen

  1. Menütaste 6x drücken
  2. Zugangs-Code eingeben: 3 1 4 2
  3. wenn im Menü „STS Prog“ erscheint loslegen:
  4. Taste 1 drücken, im Menü scrollen dann die Schächte durch
  5. pro Schacht die zuzuordnende Taste drücken

Reperatur(versuch) 2019

durchgeführt von Neos

Bestandsaufnahme

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. 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. 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. 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.

Update 31.10.2019: Neues EPROM erfolgreich gebrannt mit Brenner von Raute, Test im Gerät steht aus

project/snackomat.txt · Zuletzt geändert: 2019-10-31 21:20 von neos