project:snackomat
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
project:snackomat [2019-10-31 21:20] – [Bestandsaufnahme] neos | project:snackomat [2020-03-01 19:01] – neos | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== | + | ====== Snack-O-Mat ====== |
{{tag> hardware software infrastructure}} | {{tag> hardware software infrastructure}} | ||
- | Der Snack-O-Mat ist ein Warenautomat des Typs Vendo_MCV_600! | + | Der Snack-O-Mat ist ein Warenautomat des Typs Mars / Vendo MCV 600.\\ |
+ | Datenblätter, | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== 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:// | Das Display ist ein Vakuumfluoriszenzdisplay (16 Segment). Es wird gesteuert von einem [[http:// | ||
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' | 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' | ||
- | ===== Preparations: | + | === Preparations: |
We used a [[project: | We used a [[project: | ||
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:// | The current version is available on github: https:// | ||
+ | ---- | ||
===== 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 | ||
+ | {{ : | ||
+ | {{ : | ||
+ | |||
+ | ---- | ||
===== Reperatur(versuch) 2019 ===== | ===== Reperatur(versuch) 2019 ===== | ||
Zeile 63: | Zeile 74: | ||
==== Bestandsaufnahme ==== | ==== 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. | + | === 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. | 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. | 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, | + | |
+ | ==== 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, | ||
+ | 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. | 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: | + | {{ : |
+ | Legende der ICs auf dem Mainboard | ||
+ | {{ : | ||
+ | Pinouts der ICs über das Mainboard gelegt | ||
+ | |||
+ | === Update 31.10.2019 | ||
Neues EPROM erfolgreich gebrannt mit Brenner von [[leute: | Neues EPROM erfolgreich gebrannt mit Brenner von [[leute: | ||
+ | |||
+ | === 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, | ||
+ | Wie die dauerhafte Lösung aussehen soll, muss sich noch jemand (Du!) ausdenken. | ||
+ | {{: | ||
+ | |||
+ | ==== 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:// | ||
+ | {{: | ||
+ | Alle Maße in mm\\ | ||
+ | Daten zum Ersatzschloss " | ||
+ | * 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, | ||
+ | {{: |
project/snackomat.txt · Zuletzt geändert: 2020-12-03 18:08 von tensai