Difference between revisions of "Vending Machine"

From Nottinghack Wiki
Jump to navigation Jump to search
(tag)
Line 1: Line 1:
{{Update|reason= the vending machine is now up and running - this page needs an update|date=December 2013}}
 
 
{{Photo|date=December 2018}}
 
{{Photo|date=December 2018}}
 
{{Project|name=Vending Machine|status=live|qrmode=2}}
 
{{Project|name=Vending Machine|status=live|qrmode=2}}
  
Thanks to pledges from our members we able to acquire a second hand vending machine.
+
We currently have two vending machines:
 +
* A [[Vending Machine/Westomatic|Westomatic]] snacks vending machine, purchased June 2011
 +
* A [[Vending Machine/BevMax45|BevMax45]] can/bottle drinks vending machine, purchased mid 2018
  
===Quick details===
+
Both machines support [[Vending Machine/Cashless Device|MDB cashless devices]], and have been fitted with [[Vending Machine/Cashless Device Implementation|custom RFID cashless devices]] that use the same cards as [[Gatekeeper]].
* Westomatic
 
* 6 shelves, 31 vent slots
 
* Missing the coin mech, about £100 off eBay to replace
 
* Missing lock, £12 off eBay
 
* Seller said there was an issue with the refrigeration unit, something about a probe (possible temperature probe --[[User:Lwk|'RepRap' Matt]])
 
* MCU is a MC68HC11E1CFN2 ([[User:Lwk|'RepRap' Matt]] I have a few 68HC11E1CFN3's of we ever wanted to swap out for our own logic)
 
* All Coin mech's use a common protocol called the Multi-Drop Bus, pdf of this here: [[File:MDB_3.0.pdf]]
 
** Adding RFID payment using same members cards as use for [[Gatekeeper]]
 
** This is made very easy due to the MDB spec
 
* Looks like firmware might be stores on the UV erasable EPROM chip next to the MCU
 
  
 
===MDB/ICP protocol===
 
===MDB/ICP protocol===
Line 34: Line 25:
  
 
The master indicates an address byte/start of session by setting the 9th bit, the  correct slave responds as needed and on sending it's last byte it also sets the 9th bit to indicated end of it's session (although the master will ACK this)
 
The master indicates an address byte/start of session by setting the 9th bit, the  correct slave responds as needed and on sending it's last byte it also sets the 9th bit to indicated end of it's session (although the master will ACK this)
 
We built our own home grown [[Vending Machine/Cashless Device|Cashless Device]] ([[Vending Machine/Cashless Device Implementation|Implementation details]]).
 
 
==Vending machine dimensions==
 
There are two sizes of slot in the vending machine. I'll call them big and small. The max dimensions are as follows:
 
* Big: 135mm width x 160mm high x 40mm depth
 
* Small: 60mm width x 120mm high x 20mm depth
 
We should ensure that all kits/packets to be sold are within these dimensions.
 
A C6 envelope (designed to hold a 1/4 sheet of A4 (A6 size) piece of paper is 114mm x 162mm. This will probably fit in fine.
 
 
The labels for the slots are 19mm high (so you can do prices and other labels).
 
 
{{#widget:Flickr|photoset=72157627110141481}}
 
  
 
[[Category:Projects]]
 
[[Category:Projects]]

Revision as of 13:22, 19 December 2018

Vending Machine
[[{{{image}}}|border|frameless|220px|center]]
Primary Contact {{{primary}}}
Created {{{created}}}
Completed {{{completeddate}}}
Dormant {{{dormantdate}}}
Version {{{version}}}
Members {{{members}}}
Manufacturer {{{manufacturer}}}
Model {{{model}}}
Location [[{{{location}}}]]
GitHub / Repo {{{repo}}}
Status live
Type Undefined
Live Status {{{livestatus}}}
Vending_Machine&.png
QR code

We currently have two vending machines:

  • A Westomatic snacks vending machine, purchased June 2011
  • A BevMax45 can/bottle drinks vending machine, purchased mid 2018

Both machines support MDB cashless devices, and have been fitted with custom RFID cashless devices that use the same cards as Gatekeeper.

MDB/ICP protocol

The Multi-Drop Bus/Internal Communications Protocol is a voluntary standard for vending machine communication. This is a serial bus interface working at 9600baud in a master-slave arrangement, where the vending machine controller is the master. Each peripheral is assigned a unique address and command set.

MDB has support for the following devices:-

  • Coin Changer
  • Bill Validator
  • Cashless devices
  • Communications Gateway
  • Universal Satellite Device
  • Coin Hopper or Tube Dispenser

In order to operate the serial line as a bus with multiple devices attached MDB uses a 9bit serial over the traditional 8bit, 9n1 vs 8n1 The master polls each device for activity, all communication sessions are initiated by the master addressing a slave, slaves are only allowed to respond when addressed, this prevents bus collisions.

The master indicates an address byte/start of session by setting the 9th bit, the correct slave responds as needed and on sending it's last byte it also sets the 9th bit to indicated end of it's session (although the master will ACK this)