Archive:Self-aware Vending Machine: Difference between revisions

From The Munich Maker Lab's Wiki
Jump to navigation Jump to search
 
(16 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{outdated|type=member project|moretext=Project from 2015}}
{{project
{{project
|name        = Self-aware Vending Machine
|name        = Self-aware Vending Machine
|status      = experimental
|status      = obsolete
|image      =  
|image      =  
|description = Fixing and upgrading the Werk1 vending machine
|description = Fixing and upgrading the Werk1 vending machine
Line 48: Line 49:
** dependant on how much was sold the day before
** dependant on how much was sold the day before
** It hates mondays...
** It hates mondays...
== Concept ==
Schematic of the interface concept. With these connections / interruptions we should be able to get all necessary information and to control rotation and opening of the sliding doors without rebuilding the complete vending machine electronics.
[[File:Concept_drawing_vending_machine.jpg|thumb|808px|none]]


== Technical ==
== Technical ==
Line 53: Line 58:
The machine supposedly uses the MDB protocol to talk to different components
The machine supposedly uses the MDB protocol to talk to different components
* Overview of the protocol, plus AVR implementation: http://blog.bouni.de/blog/categories/vending-machine/
* Overview of the protocol, plus AVR implementation: http://blog.bouni.de/blog/categories/vending-machine/
* Parsing project from marginallyclever-blog: http://www.marginallyclever.com/blog/2014/04/making-sense-of-vending-machine-multidrop-bus-communications/
* Link to code from parsing project: https://github.com/MarginallyClever/MDB-Sniffer


=== cooling system ===
=== cooling system ===


Cooling system is shot. We assume there is a leakage and no cooling agent is left.  
<strike> Cooling system is shot. We assume there is a leakage and no cooling agent is left.  
So how do we fix this?
 
find and fix the leakage
* get [http://www.conrad.de/ce/de/product/828681/CRC-104501131201-Lecksuchspray-400-ml leakage spray]
* find the leak with compressed air
* solder the hole
 
cannibalize another cooling system.
* find a frigde for free.
* try to implement the cooling system into the vending machine.
* Profit! </strike>
 
Cooling system isn' leaking, the fan was blocked and needed to be greased.
 
=== controls ===
 
 
Proposal for the implementation of an Arduino / Rasberry:
As the control  and the checking of the sliding doors and all the functionality is very much integrated into the main control board and the display/configuration board it would be a huge load of work to replace those two boards completely, as you would have to reengineer the complete control with all its sensors and drivers.
So I would suggest to get in between the interfaces, which are mainly:
 
#  The button for rotating the spindle with the selling goods
#  The money unit which is connected via bus with the control board
#  The display itself (hiding it / reading out the info for own purposes)
#  The connections to the doors (only status infos, as interupting would cause errors in the control board SW)
 
What we can do with those interfaces:
 
*We can rotate the spindle as we would like (lottery modus, attracting bypassing persons with rotating of the spindle)
*We can change the rotation request of the customer (interrupting, prolonging …)
*We can detect which door is the one which the customer wants to open and output some comments on the selection by the machines personality
*We can check how much money has been inserted, comment that (recommendations on some sales by the personality) or raise it internally in a lottery/jackpot modus before passing it to the control boad.
*Maybe we also can inhibit the opening of a door by altering the amount of budget transferred to the control board (that depends of the bus protocol which I like to examine next week).
*And of course we can add lots of extra HW (sound + light + display) controlled based on the accessible information listed above
 
== Files ==
* MDB protocoll
** [[File:MDB_3.0.pdf]]
** [[File:MDB_4.2.pdf]]
 
* MDB pins
** [[File:MDB1.jpg]]
** [[File:MDB.jpg]]


* How do we find the leakage?
== Logbook ==
** get [http://www.conrad.de/ce/de/product/828681/CRC-104501131201-Lecksuchspray-400-ml leakage spray]
In reverse chronological order, newest changes on top.
{| class="wikitable"
! Date !! Actions
|-
| 2014-07-27
| Water leaking again. Seems some of the tubes are blocked by dirt coming from the gaskets, and others missed the water. Did some adjustments but probably need create some sort of funnel in the corners in the front. Maybe with hot glue?
|-
| 2014-07-17
| There's water leaking from the machine. Looks like condensation water is collecting in the gaskets of the front door. We cut some holes and added some tubing to a second water collection reservoir in the front. Seems to help.
|-
| 2014-07-10
| Machine was still noisy. Located a piece of sheet metal on top of the heat exchanger that was vibrating. We wedged some styrofoam between the sheet and the case of the machine, to make it stop. A lot less noise now.
|-
| 2014-06-18
| Replaced CFL lights with RGB strip. Had to replace the controller with an arduino.
|-
| 2014-06-15
| Fan was still making noise, replaced it with fan from other machine.
|-
| 2014-05-15
| Cooling System was fixed by regreasing the motor of the fan on the heat exchanger. Putting the "fixed" machine in the kitchen, and the broken one into our space
|}


== See also ==
== See also ==
* [[Roombooking System]] - The other WERK1 project
* [[Roombooking System]] - The other WERK1 project
[[Category:Project]]
[[Category:Project]]

Latest revision as of 14:07, 10 September 2022

Attention.png You are visiting an old member project. The information found on "Self-aware Vending Machine" might be out of date. Project from 2015
 
Self-aware Vending Machine

Release status: obsolete [box doku]

Description Fixing and upgrading the Werk1 vending machine
Author(s)  Tom Cotter

The fine folks of WERK1 have given us the task to do two projects for them, in exchange for free rent for the first 3 months. One of them is to fix up and improve their vending machine.

The Task

They currently have a vending machine with a broken cooling system. They have another one just like it in storage, which was supposed to be used for replacement parts if the first one breaks. It's been told that the cooling system in that machine is broken as well.

Here's the original project description:

Projekt 2: Getränke und Warenautomat: Instandsetzung und Hacking („Der Automat der seine Kunden beleidigt“)

Hintergrund: Im WERK1 gibt es einen prinzipiell funktionsfähigen Warenautomaten in dem Snacks und Getränke zum Verkauf angeboten werden. Allerdings ist das Kühlsystem defekt. Bei der ersten Inbetriebnahme wurde festgestellt, dass zu wenig Kühlmittel enthalten ist. Das Kühlmittel wurde von einem Fachmann erneuert, hielt dann ca. 3-4 Monate, seit dem heizt sich der Automat auf. Laut Kühlfachmann ist die Auffindung und Beseitigung des Lecks kaum möglich. Im Lager vom WERK1 ist ein weiterer baugleicher Automat, der damals als „Ersatzteillager“ mitgeliefert wurde. Eine erste Prüfung ergab, dass dieser Automat ebenfalls in seiner Grundfunktionalität zu funktionieren scheint.

Basisaufgabe: Instandsetzung der Kühlung durch Reparatur oder Ausschlachten der alten Kühlung und Ersetzung durch ein neues Kühlsystem.

Zusätzliche Aufgaben: Der Automat bietet 1000 Möglichkeiten kreativ tätig zu werden. Das Ziel ist hierbei ein absolutes Kultobjekt zu schaffen, dass dann auch per Youtube-Video eine hervorragende Referenz für den Verein aber auch das WERK1 sein soll. Hier nur ein paar Beispiele:

  • Die Multi-Drop-BUS (MDB)-Kommunikation zwischen dem Automaten und dem Münzwechsler verstehen und beieinflussen. (Hieraus könnte auch ein öffentlicher Vortrag entstehen)
  • Die Platinen-Automaten-Steuerung komplett durch einen Rasperry Pi ersetzen.
  • Zahlung mit den Transpondern-Schlüsseln der WERK1 Residents ermöglichen.
  • Dem Automaten Leben einhauchen durch einen eigenen (schlechtgelaunten) Charakter.
    • Dumme Sprüche, beim Kauf oder beim Vorbeigehen.
    • Beleuchtungskonzept / Diskobeleuchtung
    • Gewinnspiel: Wer ein zufällig vorher festgelegtes Fach öffnet, darf danach das „Hauptgewinnfach“ öffnen.
    • Außenmonitor/Touchscreen für ein „Gesicht“ oder weitere Möglichkeiten, wie z.B, der Automat fordert Kunden auf, ein Game zu spielen.
    • Möglich ist auch, dass es sich bei dem Automaten um eine multiple Persönlichkeit handelt, die täglich ihren Charakter wechselt. . .

WICHTIG: Der Automat wird von den Coworkern und Residents des WERK1 benutzt, deshalb müssen „Ausfallzeiten“ so gering wie möglich gehalten werden. Um das hinzukrigen, kann alles am 2. Automaten vorher ausprobiert werden.

Ideas

  • Talking
    • like the Shakespearean (Goethe-isch?/monty python?) Insult Generator? [1]
  • Lights
    • Perhaps only Light, that blinks slowly (like breathin) and pulsates while talking. Color could indicate the mood...
  • Personality
    • dependant on how much was sold the day before
    • It hates mondays...

Concept

Schematic of the interface concept. With these connections / interruptions we should be able to get all necessary information and to control rotation and opening of the sliding doors without rebuilding the complete vending machine electronics.

Concept drawing vending machine.jpg

Technical

MDB

The machine supposedly uses the MDB protocol to talk to different components

cooling system

Cooling system is shot. We assume there is a leakage and no cooling agent is left. So how do we fix this?

find and fix the leakage

  • get leakage spray
  • find the leak with compressed air
  • solder the hole

cannibalize another cooling system.

  • find a frigde for free.
  • try to implement the cooling system into the vending machine.
  • Profit!

Cooling system isn' leaking, the fan was blocked and needed to be greased.

controls

Proposal for the implementation of an Arduino / Rasberry: As the control and the checking of the sliding doors and all the functionality is very much integrated into the main control board and the display/configuration board it would be a huge load of work to replace those two boards completely, as you would have to reengineer the complete control with all its sensors and drivers.

So I would suggest to get in between the interfaces, which are mainly:

  1. The button for rotating the spindle with the selling goods
  2. The money unit which is connected via bus with the control board
  3. The display itself (hiding it / reading out the info for own purposes)
  4. The connections to the doors (only status infos, as interupting would cause errors in the control board SW)

What we can do with those interfaces:

  • We can rotate the spindle as we would like (lottery modus, attracting bypassing persons with rotating of the spindle)
  • We can change the rotation request of the customer (interrupting, prolonging …)
  • We can detect which door is the one which the customer wants to open and output some comments on the selection by the machines personality
  • We can check how much money has been inserted, comment that (recommendations on some sales by the personality) or raise it internally in a lottery/jackpot modus before passing it to the control boad.
  • Maybe we also can inhibit the opening of a door by altering the amount of budget transferred to the control board (that depends of the bus protocol which I like to examine next week).
  • And of course we can add lots of extra HW (sound + light + display) controlled based on the accessible information listed above

Files

  • MDB pins
    • MDB1.jpg
    • MDB.jpg

Logbook

In reverse chronological order, newest changes on top.

Date Actions
2014-07-27 Water leaking again. Seems some of the tubes are blocked by dirt coming from the gaskets, and others missed the water. Did some adjustments but probably need create some sort of funnel in the corners in the front. Maybe with hot glue?
2014-07-17 There's water leaking from the machine. Looks like condensation water is collecting in the gaskets of the front door. We cut some holes and added some tubing to a second water collection reservoir in the front. Seems to help.
2014-07-10 Machine was still noisy. Located a piece of sheet metal on top of the heat exchanger that was vibrating. We wedged some styrofoam between the sheet and the case of the machine, to make it stop. A lot less noise now.
2014-06-18 Replaced CFL lights with RGB strip. Had to replace the controller with an arduino.
2014-06-15 Fan was still making noise, replaced it with fan from other machine.
2014-05-15 Cooling System was fixed by regreasing the motor of the fan on the heat exchanger. Putting the "fixed" machine in the kitchen, and the broken one into our space

See also