Home
        Foodstuff vending apparatus employing improved solid
         Contents
1.                                              e  United States Patent  15  11  4 265 371  Desai et al   45  May 5  1981   54  FOODSTUFF VENDING APPARATUS 3 777 937 1271973     Buck  heinaren 222 70  EMPLOYING IMPROVED SOLID STATE 4 011 967 3 1977 Halsey et al  eee 222 70  TYPE CONTROL APPARATUS Primary Examiner   Joseph J  Rolla   75  Inventors  Mahendrakumar D  Desai  Colonia  Attorney  Agent  or Firm   Lerner  David  Littenberg  amp   N J   Drew Henderson  Georgetown  Samuel  Conn   57  ABSTRACT   73  Assignee  Trafalgar Industries Inc   New York  Foodstuff vending apparatus employing improved so   N Y  lid state control is provided in accordance with the   21  Appl  No   949 052 teachings of the present invention  In accordance with    the teachings of the present invention  a processor and   22  Filed  Oct  6  1978 accompanying memory are relied upon to cause vend   DI Tnt  CUS aapa sabak aaa ak aaa aana B67D 5 06 ing to occur in a programmed sequence in accord with   52  U S  Cl     222 70  222 129 4  selected vending conditions  The processor and mem   364 900 ory are programmed in a manner to ascertain when a   58  Field of Search                      222 70  129 1 129 4  vending operation is about to be initiated and thereafter  222 52  59  76  364 900 to invite an operator to specify a product to be vended  2 and conditions under which such product is to be   56  References Cited vended  Elements of the product to be vended are then  U S  PATENT DOCUMENTS dispensed  u
2.     a plurality of sources of said materials  each of said  plurality of sources being associated with one of 35  said disparate materials    a plurality of normally disabled means  each being  adapted for dispensing a measured amount of mate   rial from its associated source when enabled    means responsive to a dispensing request signal for  generating a dispensing enabling signal and a scan  signal    a plurality of switch means  each comprising an input  for receiving a scan signal  a plurality of outputs  and a manually settable switch arm for selectively  coupling said input to one of said outputs in accor   dance with the desired quantity of material to be  dispensed from its associated source    timer means associated with each of said switch  means    means for coupling said dispensing enabling signal to  a first one of said dispensing means and for cou   pling said scan signal to the input of that switch  means associated with said first one of said dispens   ing means    means responsive to the output of said last mentioned  switch means carrying the scan signal for setting a  time value in the associated timer means represen   tative of the setting of the switch arm of said last  mentiond switch means    means responsive to the enabling of said dispenser  means for starting its associated timer means    means responsive to time out of each timer means for  disabling the dispensing means associated with the  timer means which has just timed out    said coupling mea
3.  110 with the time  values bearing a set relationship with respect to the cup    20    25    30    35    40    45    50    55    60    65    10   drop  The Timer Stack 110 comprises a group of mem   ory locations  each capable of storing a time interval  and the task associated therewith  Timer stack pointer  110 2 of the timer stack 110 is adapted to scan each of  said memory locations and extract the contents thereof  for performing a particular function  to be more fully  described  Selected ones of the memory locations in  timer stack 110 constitute the Cycle Timer 110 5  which  locations are manipulated in a manner to be further  described  In addition  the completion of routine 109  activates the program routine 111 which indicates that a  task has been placed within the cue stack 112  This  causes line 111a to initiate the executive routine 117  explained as follows    In the present example  as was noted previously  the  first task to be performed is the dropping of the cup   The word representing this task had been previously  loaded in the first location 112 2 in the cue stack 112   The cue stacker pointer 110a looks for task words  stored in the stack and read out the first task word  encountered in the cue stack  in this case  location  112 2  requesting a cup drop  This stored task causes the  microprocessor 11 to control I O expander 38 to ener   gize the reed switch relay 36c 4 to cause its associated  triac to energize the cup drop motor 70 during the next  ze
4.  55  1 0X0  2 55  The re   maining switch positions represent integral multiples of  unity  i e      1 1 0       2  1 0         3 x  1 0      and so forth   so that the scale factor of 1 may be multiplied by a value  in the range from zero through ten  10  to provide a  time interval during which hot water  for example  is  dispensed extending over the range of 2 55 seconds  minimum up to a maximum of 12 55 seconds    The water interval routine of the program cycle func   tions in the following manner    When the water valve is opened in a manner to be  more fully described  the above equation is solved si   multaneously therewith  The base value and scale value  factors are withdrawn from their memory locations  within the read only memory  ROM   The data repre   senting the switch position is then read in by the micro   processor and is converted into a binary code form  suitable for manipulation by the microprocessor  The  interval equation mentioned above is then solved using  the base value  scale factor and switch setting values to  determine the time interval over which the water is to  be dispensed  This time interval is stored with a task  word wherein the task word identifies the task to be  performed at the end of the time interval  in this case  a  deenergization of the water valve to terminate water  flow  The time interval and its associated task work are  stored in a predetermined group location 110 1 through  110 4 according to the ingredient    Adjustment of 
5.  generating timing signals at a predetermined uniform   rate    enabling said dispensing means upon the occurrence   of a dispensing request    applying a scan signal to the input of the switch   means and setting a count into a counter represen   tative of the output of the switch means carrying  the scan signal in accordance with the setting of the  settable switch means    reducing the count in the counter by one upon the   occurrence of each timing signal generated after  the setting of said count    disabling the dispensing means when the count in the   counter equals a second predetermined count less  than said set count  whereby the desired amount of  said material is dispensed into the said receptacle    32  A method for sequentially dispensing predeter   mined measured amounts of a group of disparate materi   als wherein each material is derived from a source  and  each source includes a normally disabled dispensing  means for dispensing its associated material when en   abled  and whereby each quantity dispensed is accu   rately determined by plural settable switch means  each  having an input and a plurality of outputs  each switch  means being associated with one of said dispensing  means  said method comprising the steps of    enabling selective ones of said dispensing means upon   the occurrence of a dispensing request and count   ing the timing signals starting with said next occur   ring timing signal for each dispensing means which  is enabled    applying a s
6.  non inverting input 16a of operational amplifier  16  whose inverting input 16b is coupled to the opposite  terminal of resistor R30 through series resistor R18 to  couple the signal being monitored to operational ampli   fier 16  The output of operational amplifier 16 is cou   pled through resistor R23 to the reset input 11a of mi   croprocessor 11  Diode CR1 rapidly charges capacitor  C2  Diode CR2 and high ohmic resistor R17 cause the  capacitor C2 to discharge at a very slow rate    Output terminal 116 of the microprocessor develops a  signal whenever a program counter  provided in the  processor  steps to a count which exceeds the preestab   lished capacity of the internal memory storing the pro   gram  thereby indicating an invalid condition  In such  event  such output at 116 is coupled to the input of  inverter 17 and the parallel connected RC combination  of resistor R24 and capacitor C13  to the inverting input    4 265 371    5    166 of operational amplifier 16 for the purpose of devel   oping a reset signal for initializing the processor and  resetting the program to the starting point in readiness  for accepting the next coin drop in the event that the  maximum number of program steps is exceeded  for any  reason  such as spurious signals in the system  ambient  noise  and the like    The undervoltage detection circuit 14 independently  performs a similar reset function upon detection of a  drop in operating voltage at the inverting input 16b  relative to the s
7.  register is first cleared and thereafter in   cremented at 10 millisecond intervals  and then com   pared against the stored value after it is incremented   When the stored count and the register count compare   the task is performed  Obviously  other alternatives may  be employed    What is claimed is    1  Means for dispensing a predetermined quantity of  material comprising    a source of said material    normally disabled dispensing means for dispensing a   measured amount of said material from said source  when enabled     4 265 371    15    means responsive to a dispensing request signal for   enabling said dispensing means    liming means responsive to the enabling of said dis    pensing means for disabling said dispensing means a  selectable time interval after enablement  said tim   ing means including switch means comprising an  input  a plurality of outputs and a settable switch  arm for selectively coupling said input to one of  said outputs in accordance with the selected time  interval  counter means and transfer means respon   sive to the setting of the switch means for setting a  count in the counter means representing the length  of time said dispensing means is enabled  and means  for altering the count in said counter means    2  The apparatus of claim 1  further comprising means  for applying a scan signal to said switch means input   said transfer means including count value development  means responsive to the output line carrying said scan  signal for 
8.  the enabling of its associated dispensing means for  disabling its associated dispensing means a select   able time interval after enablement    each of said timing means including switch means   comprising an input  a plurality of outputs  and a  settable switch arm for selectively coupling said  input to one of said outputs in accordance with the  selected time interval  counter means and transfer  means responsive to the setting of the switch means  for setting a count in the counter means represent   ing the Jength of time said dispensing means is  enabled and altering means for altering the count in  said counter means    8  Lhe apparatus of claim 7  wherein said counter  means comprises a binary counter  said transfer means  comprising means for converting the output states at the  outputs of said switch means into a multi bit binary  word and loading said binary word into said counter  means     15    20    25    30    45    50    55    65    16    9  The apparatus of claim 7  wherein said altering  means comprises a timing pulse generator  means re   sponsive to enablement of said dispensing means for  altering the count in said counter means upon the occur   rence of each timing pulse    10  The apparatus of claim 9  further comprising  means responsive to a second count in said counter  means different from the count initially set therein for  disabling said dispensing means    11  Means for dispensing predetermined quantities of  each of a plurality of different m
9.  to be performed is set into an associ   ated time register for each ingredient at this time  is  decremented and is tested for    roll over     at which time  the task for that time interval is performed  The task  may be one which starts a dispensing interval  as well as  one which terminates a dispensing interval    The powdered ingredients are preferably dispensed  during the time that the liquid ingredient is being dis   pensed in order to take advantage of the flow of water  to admix the foodstuff ingredients within the appropri   ate mixing bowl  Each timer count is then preferably  independently decremented and then examined to de   termine if it has rolled over to start or terminate each of  the dispensing operations at a time in accordance with  the count originally set into each timer register  Adjust   ment of the settable switch means permits a plurality of  precise  programmable settings  Also  an interval  counter in the computer is programmable to alter unit  timing  and the scale factor for each ingredient may be  altered if desired  In one preferred embodiment  the  basic time interval value is programmable to obtain time  intervals ranging from as small as 10 milliseconds to as  large as 2 55 seconds  Even higher values can be ob   tained if desired to accomplish simplified changes in the  vending cycle time  powder drop times and soda syrup  dispensing time    The pumps and or drive motors used to dispense the  aforementioned ingredients are energized thro
10.  to said a c  source while completely isolating  said d c  source from said a c  source  and   means for monitoring the a c  power level for delay   ing switching of any of said dispensing means ex   cept during a substantially zero crossing condition  of the signal emitted by the a c  source    23  The vending apparatus of claim 22  wherein each  control means comprises a reed switch assembly  said  input means comprising a winding  and said output  comprising a reed switch operated by said winding    24  A method for controlling vending apparatus hav   ing a plurality of dispensing means  each energizable by  an a c  signal  each adapted to dispense a different ingre   dient  and having a group of manually operable selec   tion buttons  wherein the method is comprised of the  steps of     a  examining the selection buttons manipulated by  the operator to establish which ingredients are to  be dispensed     b  enabling those dispensing means associated with  the ingredients to be dispensed in a predetermined  sequence     c  disabling each dispensing means when the desired  amount of ingredient has been dispensed     d  examining the a c  signal to ascertain the occur   rence of zero crossings     e  delaying the enablement and disablement of each  of said dispensing means until the occurrence of the  next zero crossing of the a c  signal coincides with    a c  power source and further comprising the steps of     4 265 371    19    the enabling operation and with the disabli
11. NSWAYONI          INNOD  1N3W34930             DE         40 POl  DYO   apo      me Z pe  oj   OT MowLs YAW  JALLNOSXS ANILNOY SDIAUSS JWIL  gnats OL NYALA Ws OL NYNL3Y aT  20  ARLAS   ogol yawil   2901  SONOS TIIN O  ae  3 eee   lavis  Y3MiLlyvis   3YVMGYVH JAONYYAINI Y3WIL AWIL wau  NO Y3MOd SO  90     10  LNNOS TINS    4 265 371    1    FOODSTUFF VENDING APPARATUS  EMPLOYING IMPROVED SOLID STATE TYPE  CONTROL APPARATUS    BACKGROUND OF THE INVENTION    Automatic vending machines are quite well known  and are employed in just about every conceivable physi   cal location such as  for example  factories  office build   ings  institutional and education facilities  retail estab   lishments  public gathering places  airport terminals   train stations  and the like  Automatic vending machines  are utilized to vend a wide variety of items  including  solid  as well as liquid based foodstuffs  Vending ma   chines for vending liquid based foodstuffs such as hot  and cold drinks  soup  and the like  typically offer a  selection of foodstuff ingredients which may be com   bined with a liquid or selections wherein the liquid may  be combined with one or more foodstuffs added in vary   ing degrees of strength or concentration in accordance  with the particular selection  For example  a coffee  vending machine may offer black coffee  coffee with  cream  coffee with sugar and cream  etc  As regards  concentration  the machine may offer coffee with  cream  coffee with extra or double crea
12. a  A triac T2 has its power terminals respectively  coupled to the a c  return line and to a motor 66 for    20    25    35    40    45    50    55    65    8    dispensing freeze dried coffee  for example  The re   maining power terminal is also coupled to the gate  electrode of the triac T2 through resistor R34 and  switch 37a which is now closed  As a result  the triac  gate triggers triac T2 on  and a c  power is coupled to  the ingredient dispensing apparatus comprising a dis   pensing motor which drives the ingredient from a con   tainer into a conventional mixing bowl  now shown  for  receiving the ingredients of the selected drink  As was  described hereinabove  switching is delayed until the  a c  signal passes through zero to prevent arcing and  phase mismatch between power source and load   thereby increasing the operating life of all circuit com   ponents  In addition  the triacs are capable of being  driven in both directions to provide full cycle a c  on    off control which is especially advantageous for operat   ing a c  shaded pole motors  The reed relays provide  total isolation between the high power a c  for operating  the vending motors and the low power d c  utilized in  the computer control circuitry  Also  the reed relays  provide an inexpensive switching device having long  life and quick response characteristics  Other isolation  means such as opto isolators may be employed if de   sired    The computer control operation of a typical program  cycle c
13. a high level upon input terminal 11d of the microproces   sor  except at the instant at which a zero crossing oc   curs  This condition is used to monitor water flow and          5    35    40    45    55    65    6    to terminate the dispensing of powders if water flow is  interrupted  The condition is applied to input 114 of  microprocessor 11  This input is typically referred to as  the TO input of the microprocessor in the above men   tioned manual    A credit impulse interface circuit 22 is comprised of a  pair of light emitting diodes  LED1 and LED2  respec   tively  coupled in parallel and with opposing polarity  across a c  return lead 23 and one terminal of resistor  R32  The opposite terminal of resistor R32 is coupled to  the coin receiving mechanism  not shown  which cou   ples a c  power through coin switch 63 to LEDI and  LED2 when a coin has been deposited  The light emit   ted by LED1 and LED2 during alternate half cycles of  the a c  input activates phototransistor Pt1 to provide a  low level to one input of NAND gate 25 whose other  input is normally maintained at a high level by the sup   ply source   VDC through resistor R4  The aforesaid  remaining input of NAND gate 25 is also coupled to the  output of NAND gate 24 having one of its inputs nor   mally maintained at the   VDC source level through  resistor R3  The remaining terminal is coupled to one  output 11e of microprocessor 11    The output of NAND gate 25 is coupled to one data  input  DBO  of mic
14. a zero crossing is not present   operation of the device called for by the task word is  delayed and the examination is repeated  The test is  continuously repeated in this manner until a zero cross   ing condition occurs as indicated at 120b  at which time  the task called for at 121 is performed  For example   assuming the task to be performed is the first task   namely  the dispensing of a cup  upon the occurrence of  a zero crossing for the a c  signal  the signal is devel   oped through the I O expander 35 to energize the relay  of switch 36c 4 to energize the cup drop motor 70   Further tasks stored in the cue stack will be sequentially  performed  only at a zero crossing  until all tasks stored  in the stack 112 have been completed  When the last  task has been performed  this condition appearing at  122b terminates the cycle and initializes the system  This  may be accomplished by advancing the program  counter to a value exceeding the capacity of internal  memory  ROM  to develop the signal PSEN at output  116 of the microprocessor 11 to cause the program to be  reset in readiness for the next vending cycle    The watchdog timer is reset every time a task occurs  and is incremented when no task occurs during the  executive loop  The watchdog timer  a multibit  counter  times out after a predetermined interval during  which no task has been performed since performance of  the last completed task  indicating a system malfunc   tion  During the executive loop routine  t
15. accurately determined by plural setta   ble switch means  each being associated with one of said  dispensing means  said method comprising the steps of    generating timing signals at uniformly spaced inter    vals    enabling selected ones of said dispensing means upon   the occurrence of a dispensing request and count   ing the timing signals starting with said next occur   ring timing signal    sequentially applying a scan signal to each of the   switching means associated with the material being  dispensed upon the enablement of the selected  dispensing means  and storing a value representa   tive of the output state of the last mentioned switch    4 265 371    23    means in accordance with the setting of a settable  switch arm of the switch means    sequentially comparing the count of timing signals  with each stored value each time the count is incre   mented    disabling the enabled dispensing means when the  count of timing signals compares with the stored  count associated with the dispensing means   whereby the dispensing cycle is completed when  the last enabled dispensing means is disabled    37  A method which employs settable switches for   preparing a liquid based foodstuff in a receptacle by    Operating plural normally disabled dispensing means  adapted to dispense measured amounts of ingredients  derived from sources of said ingredients  said ingredi   ents being dispensed into said common receptacle     wherein the method comprises the steps of    generati
16. an best be understood from a consideration of  the flow diagram shown in FIG  2 which will now be  considered in conjunction with the block diagram of  FIG  1    Assuming that the plug 12 has been inserted within an  energized wall socket  the system is powered by closing  switch 56   See FIG  1   The power on condition is  sensed by the processor reset input to cause a reset of  the program cycle as represented at 101 of FIG  2   Reset causes initialization of the system at 102  which   upon deposit of a coin  begins a test credit routine under  control of a test signal periodically created at output  terminal 11e of processor 11 and applied to gate 24  The  gate 24 has its output normally maintained low  but is  caused to go high under control of the test signal peri   odically created at output terminal le of processor 11   In the event that no coin is present during a credit  check  or in the event that the coin switch contacts are  experiencing contact    bounce     the output level of the  collector of Pt1 will be high  developing a low level at  the output of gate 25  indicating the absence of credit as  represented by the NO condition at line 103b in FIG  2   When a coin is deposited  coin switch 63 is closed to  establish an a c  path from bus 48 through the closed  coin switch to the light emitting diodes LEDI and  LED2 to the opposite terminal being coupled to the a c   return  LEDI and LED2 are alternately energized   causing light to be emitted from the LEDs duri
17. ani   cal switches of both the selection and cam operated  type are subject to wearing  requiring added mainte   nance activity     BRIEF DESCRIPTION OF THE INVENTION    The present invention is characterized by providing a  solid state microcomputer based control system  adapted to convert most  if not all  of the conventional  functions of a vending machine typically performed by  mechanical apparatus into electronic signals and or  electronic control operations  thereby remarkably re   ducing the number of mechanical and electromechani   cal components otherwise required in conventional  apparatus  as well as reducing the size and complexity    15    20    25    35    45    50    55    65    2    of the apparatus  and  at the same time  increasing the  capability and versatility of the vending apparatus    The microcomputer includes memory means for stor   ing a program adapted to initiate all of the vending  machine functions typically performed either mechani   cally or electromechanically in conventional vending  apparatus  as well as incorporating new and unique  functions and capabilities to provide equipment which  is less complicated from a maintenance and servicing  viewpoint and which is more reliable due to the signifi   cant reduction in the number of mechanical and electro   mechanical components utilized in the system  as well  as providing flexibility not capable of being attained  with conventional apparatus    As is the case with conventional equipment  ope
18. aterials in a predeter   mined sequence  comprising    a source for each material    normally disabled dispensing means for each source   for dispensing material from its associated source  when enabled    sequencing means responsive to a dispensing request   signal for enabling said dispensing means in a pre   determined sequence and at spaced intervals of  time    timing means associated with each dispensing means   responsive to enablement of its associated dispens   ing means for disabling its associated dispensing  means at a selected time after its enablement  said  timing means each including settable switch means  having a plurality of discrete switch positions for  adjusting the length of said selected time  each  switch means being comprised of an input and a  plurality of outputs  and a switch arm settable to  couple said input to any one of said outputs in  accordance with the desired time interval    12  The apparatus of claim 11  wherein said timer  means each comprise counter means and pulse means  for decrementing all of said counter means at a prede   termined pulse rate    means responsive to the reduction of the count in   each counter means to zero for disabling the dis   pensing means associated therewith    13  The apparatus of claim 11  wherein each of said  timing means comprises a counter  means responsive to  the setting of the switch means associated with said  counter for setting a count into its associated counter   pulse means for reducing the co
19. ating the vending means  in response to  the program means  the memory means and said  condition of said control means    39  A method for operating a vending apparatus to  dispense predetermined quantities of disparate ingredi   ents through the control of associated normally disabled  dispensing means and including a control panel having  push buttons for selecting the desired foodstuff to be  dispensed  the method being comprised of the steps of    enabling a first group of said push buttons when a  coin is deposited in the vending machine    storing the state of the first group of push buttons in  a first memory location    enabling a second group of push buttons and storing  the state of said second group of push buttons in a  second memory location    scanning selected ones of a plurality of switch means  associated with each ingredient to be dispensed in  accordance with the data stored in the aforesaid  memory locations representative of the foodstuff  selected by the operator    storing the state of each of the scanned switch means  in separate memory locations wherein the state of  each scanned switch is determined by the setting of  its adjustable switch arm    determining the quantity of ingredient to be dis   pensed in accordance with the switch arm position  of the associated switch means which has been  stored in an associated memory location    activating those dispensing means associated with the  ingredients to be dispensed in a predetermined  sequence    ap
20. can signal to each switch means in se    quential fashion and establishing a time value rep   resentative of that output of the switch means car   rying the scan signal in accordance with the setting  of a settable switch arm of the switch means being  scanned     4 265 371    21    measuring elapsed time for each dispensing means as  the dispensing means is enabled    disabling each enabled dispensing means when the  elapsed time measured compared with its associ   ated time value    33  A method for sequentially dispensing predeter   mined measured amounts of a group of disparate materi   als wherein each material is derived from a source  and  each source includes a normally disabled dispensing  means for dispensing its associated material when en   abled  and whereby each quantity dispensed is accu   rately determined by plural settable switch means  each  having an input and a plurality of outputs  each switch  means being associated with one of said dispensing  means  said method comprising the steps of    enabling each of said dispensing means in accordance  with a predetermined sequence    scanning the inputs with a scan signal to establish a  time value representative of that output of each  switch means carrying the scan signal in accor   dance with the setting of a settable switch arm of  each switch means    for each dispensing means  measuring the elapsed  time since enablement of each dispensing means    disabling each enabled dispensing means when the  elapsed 
21. condi   tion  i e   switch is not closed   as represented by output  line 1036  the system is again initialized  and the credit  test begins anew  Thus  the number of credit pulses  developed must occur in an unbroken series    Upon reaching the full count  the start operating  system routine establishes at 105 an enable signal 105a  for hardware timer 106  as well as signal 1084  which  initiates the scan keyboard routine 107 of the program    The hardware timer 106 is comprised of a multistage  counter advanced by pulses occurring at 80 micro   second intervals  said counter having stages sufficient in  number to generate pulses at the timer interrupt output  106a at 10 millisecond intervals    When the full credit condition is established  the full  count signal 104b also develops an output signal which  illuminates the credit lamp 68  Note FIG  1 wherein  output 35d 1 of I O expander 35 energizes relay 36c 1  to close its associated reed switch and thereby establish  a current path across the a c  power line to light the  credit lamp 68    During the keyboard scan portion of the program  cycle  the microprocessor develops signals for control   ling decoder 32 to sequentially develop signals at its  outputs 32   32c  respectively  A signal level is devel   oped initially on line 326  enabling the line 48 coupled to  one stationary terminal Pla  P2a  and P3a of push but   tons Pl  P2  and P3  respectively  The depressed push  button couples the signal level on line 48 throu
22. counting the number of timing signals generated after   the setting of said count    disabling said first one of said dispensing means dis    pensing the first mentioned ingredient into said  common receptacle when the number of timing  signals counted compares with the aforementioned  set count so that the desired amount of the first  dispensed ingredient is now contained in the com   mon receptacle    enabling the dispensing means of another one of said   ingredients    applying a scan signal to the input of the switching   means associated with the next ingredient to be  dispensed to set a count in a register associated  with the last mentioned switching means depen   dent upon the output of the last mentioned switch   ing means which carries said scan signal in accor   dance with the setting of the last mentioned switch   ing means    counting the number of timing signals generated after   the setting of the last mentioned count    disabling the last mentioned dispensing means when   the number of timing signals counted equals the last  mentioned count  whereby the last selected ingre   dient is dispensed into said receptacle    36  A method for sequentially dispensing predeter   mined measured amounts of a group of disparate materi   als into a common receptacle wherein each material is  derived from a source  and each source includes a nor   mally disabled dispensing means for dispensing its asso   ciated material when enabled  and whereby each quan   tity dispensed is 
23. developing a count value associated with the  switch means output carrying the scan signal  each of  said outputs being adapted to cause said count value  developing means to develop a different count value for  each switch output in accordance with the position of  said settable switch arm    3  The apparatus of claim 1  wherein said altering  means comprises a timing pulse generator  means re   sponsive to enablement of said dispensing means for  altering the count in said counter means upon the occur   tence of each timing pulse    4  The apparatus of claim 3  further comprising means  responsive to a second count in said counter means  different from the count initially set therein for dis   abling said dispensing means    5  The apparatus of claim 1  wherein said counter  means comprises a binary counter  said transfer means  comprising means for converting the output states at the  outputs of said switch means into a multi bit binary  word and loading said binary word into said binary  counter    6  The apparatus of claim 5  further comprising means  for generating a dispensing disabling signal when the  count in the binary counter is reduced to zero    7  Apparatus for dispensing predetermined quantities  of each of a plurality of different materials comprising    a source of each material    normally disabled dispensing means for each source   for dispensing the material from its associated  source When enabled    timing means for each dispensing means responsive to  
24. e time at which a  zero crossing occurs  which operation is accomplished  in a manner to be more fully described hereinbelow   Zero crossings occur at twice line frequency or 120 Hz    The system further includes a water flow sensing  circuit comprised of a silicon controlled switch Q3 and  transistor Q2  Q2 is powered by the   VDC supply  through collector coupled resistor R29  The anode of  switch Q3 is coupled to the positive     output of the  full wave diode bridge DB2 through resistor R25  The  Q3 cathode is coupled to ground through resistor R22  and is coupled to the base of Q2 through resistor R20   The Q3 control electrode is coupled to the common  terminal between resistors R26 and R19  A conven   tional flow sensor  not shown  is coupled by terminals  54 between the opposite terminal of R19 and ground   The sensor switch is normally open in the presence of  water flow  The level of the voltage at the Q3 gate turns  Q3 on  The voltage drop across R22 turns Q2 on  The  sensor switch closes in the absence of water flow to turn  off silicon controlled switch Q3 and transistor Q2   thereby placing a high level at the collector of Q2 and  at the input of inverter 20 and a low level at input 11d  of the microprocessor 11  When one of the water valves  is opened and water flow from the water tank is normal   the sensor contacts across terminals 54 are normally  open  causing the Q2 collector to stay low and to go  high only at the time of zero crossings  thereby placing  
25. enerating means for  altering the count in said counter    16  A method for controlling vending apparatus hav   ing a plurality of dispensing means  each adapted to  dispense a different ingredient  and settable switch  means  each associated with a dispensing means and  being settable in accordance with the desired quantity  of the associated ingredient to be dispensed  wherein the  method is comprised of the steps of    examining the drink selection push buttons manipu    lated by the operator to establish which ingredients  are to be dispensed    enabling those dispensing means associated with the   ingredients to be dispensed in a predetermined  sequence   scanning those settable switches associated with the  ingredients to be dispensed and converting the  examined switch settings into values representative  of the quantity of the associated ingredients   storing each of said values   generating timing pulses   altering the counts of each of the aforesaid stored  values upon the occurrence of each timing pulse    disabling the associated dispensing means when the  predetermined count associated therewith reaches  a second value    17  The method of claim 16  further comprising the  steps of    providing a c  power for powering said dispensing   means    examining the a c  power signal to ascertain the oc    currence of zero crossings    delaying the enablement and disablement of each of   said dispensing means until the occurrence of the  next zero crossing of the power s
26. gh its  associated inverter from the group of inverters 30 4 to  30 2 to apply a data input signal to the associated line of  the data inputs DB4 DB6  respectively  These lines are  monitored for the presence of at least one switch clo   sure among the three lines at a rate determined by the  system clock which generates pulses at a pulse rate of 80  microseconds  It should be noted that the data lines  DBO0 DB7 can accommodate up to 8 push buttons  if  desired  to allow a similar number of drink selections   So long as a valid switch closure is present  and this is  determined by a predetermined count of pulses being  accumulated in a key scan counter 108 in the processor    the data is loaded into memory  When all three lines  32a 32c have been scanned  output 108a from scan  counter 108 triggers the next program routine 109    During program routine 109  the first operation to be  performed  cup drop  is loaded from memory into the  cue stack 112  Cue stack 112 comprises a plurality of  memory locations  each capable of storing a task word  and having a cue stack pointer 112a which electroni   cally and continuously scans each of the memory loca   tions in the cue stack and stops when it finds a task word  in a memory location to undertake that task  Also  as  part of routine 109  the initiate signal time values for all  the remaining tasks associated with the selected drink  and strength of the ingredients are loaded into the cycle  timer location 110 5 of the timer stack
27. he inactive  condition  1075  triggers routine 118 to examine the  watchdog timer  105b returns to the keyboard routine  and reenters into the executive loop which again trig   gers a search for tasks in the cue stack  This time  the  watchdog timer is incremented and the key scan routine  is again reentered  However  any task discovered in cue  stack 112 resets the watchdog timer to zero  Since a full  vend cycle should be completed within a maximum of  12 13 seconds  and  more frequently  in 10 12 seconds   and since a number of tasks  at least five  occur during  each vend cycle  by setting the watchdog timer to re   start the machine operation if some outside time limit is  reached  the system is provided with a backup capabil   ity in the remote event that all other safety checks fail to  terminate system operation    The initiation of each dispensing operation can be  seen to be preset in accordance with the cycle timer  110 5  while the termination of each dispensing interval  is controlled by the length of the time interval associ   ated with each of the turn off tasks established by their  associated switches  1 S13  It should be noted that all  tasks  whether they be turn on or turn off of a dispens   ing device  are transferred to the cue stack and per   formed in the order in which they are loaded onto the  cue stack  For example  the first task performed is that  of dropping a cup into the cup well  The next task to be  performed is the initiation of water flow  
28. i e   the energi            0    padi    5    40    45    65    14   zation of the hot water valve 73  74 or 75 to enable the  flow of water to the appropriate mixing bowl  The next  task to be performed is the dispensing of sugar  motor  78  and then creamer  77  and then coffee powder  66   to the mixing bowl  All of these tasks constitute turn on  or energization of their associated motors or solenoids  to initiate dispensing of a particular ingredient  These  tasks all occur at predetermined time intervals measured  from the cup drop task and established by the values  stored in the cycle timer 110 5    The times in which each of these dispensing intervals  are terminated are established by the values stored in  groups 110 0 through 110 4 which are decremented by  a count of 1 at ten millisecond intervals until they    roll  over     at which time the task associated with the  counter which has just rolled over is entered into the  cue stack    The tasks are taken in the order in which they are  stored in the cue stack 112 and  depending upon their  identity  are caused to deenergize a valve or solenoid  identified by the task word to cause termination of that  particular ingredient    The program has been designed to require a number  of program steps which is preferably no greater than the  internal storage capacity of processor 11  If the preset  number of valid program steps is exceeded  indicating a  malfunction   based upon the count of the program  counter  output 
29. interval for which  that ingredient yet to be dispensed will not have been  calculated nor stored in group location 110 1  There   fore  the information extracted from each group must be  tested  113 on FIG  2  to determine if a time value has  been stored therein  If the value tested is beyond a pre   determined valid value  then the contents of the group  being examined is designated as    inactive     i e   it con   tains no useful information   If    inactive     the timer  stack pointer 110a is advanced to select the neat  group   see line 113b which activates routine 115  If the  contents represents a value which is valid  the group  contains    active    information and the time value stored  therein is decremented by 1 count  See 113a  FIG  2   which initiates the decrement routine 114    For a time value which is active and has been decre   mented at 114  said value  after having been decre   mented by a count of 1  is tested to determine whether  it has reduced to zero  i e   to determine whether the  counter has    rolled over     i e   has been stepped to a  zero count  In the event the test indicates that the count  has not been reduced to a zero count  the remaining  count is returned to its memory location  and the timer  stack pointer 110a advances to the next group  see line  116a activating routine 115     In the event that the value being examined at 116 has     rolled over     i e   stepped to zero   the    yes    condition  116d simultaneously triggers tw
30. ispensing  means    means responsive to state of the outputs of each  switch means for setting a count in its associated  counter means in accordance with the setting of the  switch arm of its associated switch means    means for decrementing the count in each counter  means by one count upon the occurrence of each  timing pulse    means responsive to a second predetermined count in  each of said counter means different from the count    20    25    30    45    55    60    65    22    set therein for disabling the dispensing means  whose associated counter means has reached said  second count    35  A method which employs settable switches for  preparing a liquid based foodstuff in a receptacle by  operating plural normally disabled dispensing means  adapted to dispense measured amounts of ingredients  derived from sources of said ingredients  said ingredi   ents being dispensed into said common receptacle   wherein the method comprises the steps of    generating timing signals at a predetermined uniform   rate    enabling a first one of said dispensing means upon the   occurrence of a dispensing request    applying a scan signal to the input of the switching   means associated with the enabled dispensing  means and setting a count in a register associated  with each switching means dependent upon the  output of the switching means which carries said  scan signal in accordance with the setting of the  settable switch means associated with the ingredi   ent being dispensed    
31. line 11b goes high  causing inverter 17  to apply a low level to the inverting input of operational  amplifier 16  This level is compared against the refer   ence level established at the noninverting input of oper   ational amplifier 16 causing the operational amplifier  output to apply a reset signal at 11a which serves to  reset or initialize the processor  More specifically  the  program counter of the microprocessor 11 is incre   mented after completion of each program step  In the  present system  the internal memory addresses are suffi   cient to store the number of program steps required for  the vend cycle  including all drink selections  As soon as  the program counter calls for an address in memory of  1024  in decimal  or greater  the program store enable  signal  PSEN  is generated at output 116  typically  employed to enable an external memory device  In the  present system  the signal PSEN is coupled to the input  16b of operational amplifier 16 through inverter 17 to  cause a signal to be applied to reset input 11a by the  output of operational amplifier 16   lt    It should be understood that while this invention has  been described with respect to a particular embodiment  thereof  numerous others will become obvious to those  of ordinary skill in the art in light thereof  For example   the time values may be incremented  and time out may  occur when the stored count reaches full capacity   Also  the time value may be stored and the contents of  an associated
32. low to change reference level applied to  its non inverting input 16a to develop a reset triggering  signal at the input 11a of the processor  A similar result  is obtained when the input to the inverter 17 derived  from the microprocessor output terminal 116 goes high  to develop a low level signal at the inverting input 165  of operational amplifier 16 to thereby develop a reset  output signal which automatically resets the program to  its starting point in the presence of either an undervolt   age condition or an invalid program step count  thereby  respectively preventing low impulse noise on the power  line from being erroneously interpreted as a valid signal  so as to avoid the possibility of the program entering  into a random loop and preventing invalid program  steps from being erroneously interpreted as part of the  normal operation    A zero crossing detector circuit 18 is provided and is  comprised of transistor O1 having its base electrode  coupled to the positive output terminal of diode bridge  DB2 through resistor R28  while its collector is coupled  to the   VDC power supply level  The emitter of Q1 is  grounded  Each time the rectified  unfiltered 60 Hz  signal goes substantially to zero  twice per cycle   the  O1 collector goes high to develop the zero crossing  signal which is inverted by inverter 19 and is applied to  the interrupt input 11e of microprocessor 11 which  serves to interrupt or delay the performance of a  switching operation except during th
33. m  coffee with  sugar  coffee with double sugar  and so forth    The amount of each ingredient dispensed is conven   tionally controlled by cam operated switches which  control the duration of energization of a dispensing  device  For example  in locations in which it is required  that an eight ounce drink is to be dispensed  the liquid is  passed therethrough at a predetermined flow rate  By  adjustment of the cam operated switch means  the valve  may be energized  i e   maintained in the open position   for an interval which is related to the flow rate so as to  be sufficient to dispense the desired quantity of liquid   Similar cam operated switches are utilized to control  the interval of energization during which powdered  ingredient dispensing means are maintained operative to  dispense the proper quantity of the powdered ingredi   ent    Typically  it becomes necessary to make adjustments  in the cam operated switches in order to control the  amount of the ingredient being dispensed to compensate  for differences in dispensing devices  etc   and  although  the cam assemblies are designed to be adjusted  such  adjustments are quite difficult and require    cut and try     techniques before the proper adjustment is obtained   thus making maintenance and or machine installation a  tedious and complicated procedure    The overall number of mechanical switches neces   sary to provide the desired number of selections further  complicates the vending machine  In addition  mech
34. marily in conjunction with FIGS  1a  16   and 2    The timer stack 110 is comprised of storage groups  110 0 through 110 4  Each group is capable of storing a  time interval value and the task word associated there   with  For example  storage group 110 0 is utilized to  store the interval during which water is to be dispensed   location 110 1 stores the interval during which the  sugar is to be dispensed  location 110 2 stores the inter   val during which the powdered cream is to be dis   pensed  110 3 stores the interval during which the pow   dered coffee is to be dispensed  and the cycle timer  location 110 5 stores time values representing the in   stant at which the initiation of dispensing of each of the  above ingredients is to occur after dropping of the cup    The hardware timer 106 emits a timer interrupt signal  every 10 milliseconds to trigger the real time service  routine 112  As a result  timer stack pointer 110a is  controlled to sequentially scan the group 110 0 through  110 5 and to extract the information stored therein  Due  to the fact that processor calculations are performed at  microsecond speeds  it is only upon the initiation of the  dispensing of an ingredient that an interval computation  is made for that ingredient and then placed in its appro   priate group location 110 1 through 110 4 in the timer  stack 110  Therefore  if  for example  the ingredient  whose time interval is normally stored in group 110 1  has not yet been dispensed  the timer 
35. n the d c  level  falls below said reference level    22  Vending apparatus including a processor pow    ered by a low power d c  source    a plurality of dispensing devices each adapted to  dispense a separate ingredient and being powered  by an a c  source    said processor including coupling means for selec   tively coupling said a c  source to said dispensing  means in accordance with a predetermined se   quence    said coupling means further including means having a  plurality of outputs  each associated with one of  said dispenser means for generating a signal of a  first level when it is desired to energize its associ   ated dispensing means and a second level when it is  desired to terminate energization of its associated  dispensing means    low power d c  operated control means having input  means coupled to each of said outputs and being  enabled when the associated output of said cou   pling means is at said first level    said control means having output means electrically  isolated from its associated input means and being  activated when its associated input means is acti   vated    triac means having first and second electrodes cou   pled between said dispensing means and said a c   power source    each of said triac means further comprising a control  electrode coupled to an associated one of said out   put means for rendering the triac conductive when  its associated output means is activated  whereby  the processor controls coupling of the dispensing  means
36. nder program control  in accordance with  3 409 176 11 1968 Krause    uusi  222 129 4x the product designated and the conditions specified at  3 428 218 2 1969 Coja sees  222 70 X selectable rates which are readily variable   3 638 832 2 1972 Sauber et al          vee 222 76 X  3 688 947 9 1972 Reichenberger               222 129 1 X 42 Claims  3 Drawing Figures  FULL COUNT Ol  106 105 ON 100  REAL TIME TIMER INTERRUPT   HARDWARE   STARTTIMER   START  pel na JOMILLSECONDS   10607  TIMER 105a   SSEM S  RETURN TO REAL RETURN TO  TIME SERVICE ROUTINE EXECUTIVE  CUE STACK  TIMER STACK jo   lo  TASKS  Al2  F Ta ME  OY Ee  NON ACTIVE 110 0  X nee 3b u5  ve INCREMENT  i AR RUR T  DECREMENT  14  116  NO H6a  LAST 123  TIMER   SCHEDULE oe  ileb YES AND OR RETUR 118b    END OF CYCLE       122b    U S  Patent May 5  1981 Sheet 1 of 3 4 265 371    N    P  Pa Ps  P7    10 10  P  e P ate  Pla  lt    P29 P aj    i            PITER    adh    PI mn N FREER    4     soh ta 8  R4 c3 AT ag aw ddeed oh  ca oe ER at                ENER oe    goe   _ TRIsb       54           TRANSFER MOTOR          FIG  la    U S  Patent May 5  1981 Sheet 2 of 3 4 265 371    He  SBb   Bib  SP sise 8  Wei   3    PH y  22  LED2  LEDI    PALA R32       gt    TO DBO  25    sla    37    TO 23   AC RETURN        VEND C  CREDI    EXACTCHAN    FIG  Ib    265 371    4     Sheet 3 of 3    May 5  1981    U S  Patent       qzzi  71949 40 AN3       c9ld          NYNLaYy YO ONV  31940 SINGAHOS       ante    IM       900 HILYM  L
37. ng alter   nate half cycles of the a c  wave  The light is sensed by  phototransistor Pr to cause the output at the collector  P  to go low  causing the output of gate 25 to go high  to establish a credit condition    This condition is represented by the YES signal path  103a of the test credit operation 103 which causes a  pulse to be applied to a credit counter 104  not shown    provided within microprocessor 11  preferably in the  form of a dedicated location in memory  RAM  or one  of the working registers provided in the processor 11   As long as the count in counter 104 is less than a preset  number  output 104a of the credit counter applies a  level to the input of the test credit control 10 continue  the test for credit  Thus  the condition al gate 24 and   hence  gate 25 is read into the microprocessor  at the 80    4 265 371    9    microsecond rate  a plurality of times before credit is  established  Each valid condition read into the proces   sor causes counter 104 to be incremented by one count   After a predetermined number of counts has been accu   mulated  output 104a of the credit counter is disabled   and output 1046 is enabled to cause the program to  enter into the start operating system routine of the pro   gram cycle as represented at 108  This routine enhances  the system   s security    The above description presupposes that each test  credit pulse yields a    yes    condition  In the event that  any of the tests for credit pulses result in a    no    
38. ng con   trol condition   25  The method of claim 24  wherein one of the dis   pensing means includes means for dispensing a liquid  ingredient and further comprising the steps of continu  5    ously monitoring the flow of liquid and promptly halt   ing the dispensing operation in the event of the absence    of liquid flow during the time that the dispensing means  for dispensing the liquid is enabled    26  The method of claim 24  further comprising the  steps of counting the number of program steps in the  program which operates the processor for controlling         0    the vending operation     immediately terminating the vending operation when  the count exceeds a predetermined count to estab   lish that the program step count has advanced to a  value requesting an invalid program step    27  The method of claim 24  wherein the power for   operating the processor is derived from a conventional   20   converting the a c  signal from the a c  power source  to a d c  signal    monitoring the d c  signal and immediately terminat   ing the vending operation when the d c  signal falls  below a predetermined value    28  The method of claim 27  further comprising the    25    steps of     deriving a reference level from said d c  level  and   comparing said d c  level on said reference level to  terminate the vending operation when the d c   level falls below said reference level    29  Means for sequentially dispensing predetermined   amounts of disparate materials  comprising
39. ng timing signals at a predetermined uniform  rate    enabling a group of said dispensing means in a prede   termined sequence upon the occurrence of a dis   pensing request    sequentially scanning those switches associated with  the enabled dispensing means by applying a scan  signal to the input of each of the last mentioned  group of switching means and setting a value into a  memory device  which value represents the output  of the switching means which carries the scan sig   nal in accordance with the setting of the settable  switch means associated with the ingredient being  dispensed    counting the number of timing signals generated after  the storing of each of said values    comparing the count of timing signals with each  stored value each time the count is incremented    disabling each dispensing means when the number of  timing signals counted compares with the afore   mentioned set count associated with said dispens   ing means so that the desired amount of the first  dispensed ingredient is now contained in the com   mon receptacle  whereby the dispensing operation  is completed when all of the dispensing means are  disabled    38  A vending apparatus comprising    plural vending means    a processor having program means for operating the  processor in a predetermined sequence and mem   ory means for storing signals    a plurality of manually operable control means for  selecting the item to be vended    a plurality of response means for detecting the states  
40. ns comprising sequencing means  coupling said dispensing enabling signal to said  dispensing means and said scan signal to said    45    50    55    60    65    20    switch means in a predetermined sequence   whereby said dispensing means are enabled in a  predetermined sequence  while each timer means  controls the disabling of its associated dispensing  means to dispense the desired amount of each mate   rial    30  A method employing settable switch means for  operating a normally disabled dispensing means to dis   pense a measured amount of material derived from a  source of said material into a receptable when enabled   said method comprising the steps of    generating timing signals at a predetermined uniform   Tate    enabling said dispensing means upon the occurrence   of a dispensing request    scanning the switch means to determine a value in   accordance with the setting of the settable switch  means  which value represents a predetermined  time period    counting said time signals    disabling the dispensing means when the number of   timing signals counted compares with said value   whereby the desired amount of said material is  dispensed into the said receptacle    31  A method employing settable switch means hav   ing an input and a plurality of outputs for operating a  normally disabled dispensing means to dispense a mea   sured amount of material derived from a source and said  material into a receptacle when enabled  said method  comprising the steps of   
41. o operations  the first of  which is that the task word associated with the value  which has just stepped to zero is inserted into the cue  stack 112  see routine 111 which controls the cue stack  pointer 112 1 to put the task applied thereto into the  next available task storage location     The other step simultaneously performed therewith is  to disable the timer value at a    time out    location by  inserting a code in the first location of the timer value to  prevent the value in that location from being counted  any further during the present vend cycle  This is the     inactive    code referred to herein    Each time a task is loaded into the cue stack  the  program is caused to jump to the task execute routine    4 265 371    13     line 1119   The execute routine 117 looks to see if any  tasks are stored in the cue stack  In the event that the  cue stack 112 is empty  an inactive condition deter   mined at 118 causes the watchdog timer  which may be  a dedicated memory location or a register in processor  11  to be incremented by one count and the program  jumps back to the scan keyboard routine to look for the  presence of any    extra ingredient    requests  In the  event that a task is stored in the cue stack  indicated as  active at 1184   the watchdog timer is reset to a zero  count  119  and  based upon the particular task  the  microprocessor examines the zero crossing condition  appearing at the interrupt input 11 of the microproces   sor  In the event that 
42. of the control means  each of said plurality of re   sponse means being operatively connected to the  processor for signaling the processor that respec   tive ones of said plurality of response means have  detected the state of selected ones of said plurality  of control means    a plurality of display means for presenting informa   tion based upon a detecting of selected ones of said  plurality of control means by respective ones of  said plurality of response means  each display  means having a display activation means associated  therewith and operatively connected to the proces   sor for activating the display means in response to  signais from the processor    said processor including multiplexing means for cy   elhely and sequentially enabling each of said plural   ity of control means to enable connected ones of    5    20    35    45    55    60    24    said plurality of said response means to signal the  processor that said connected ones of said plurality  of response means have detected the conditions of  enabled  associated ones of said plurality of control  means  and enabling each of the display activation  means to activate its associated display means in  accordance with the conditions of said enabled  ones of said plurality of control means    said processor having means for storing the condition  of enabled ones of said plurality of control means in  said memory means  for addressing the program   ming means and the memory means  and for selec   tively oper
43. operative  relationship of the microcomputer in cooperation with  settable switch means  For example  in order to dispense  a desired amount of liquid  the program  at a predeter   mined point in the routine  develops a dispensing con   trol signal to initiate operation of a solenoid or a motor   for example  depending on the particular ingredient   The processor also causes a scan signal to be applied to  the input of each switch means associated with those  ingredients to be dispensed  The scan signal appears at  one of the plurality of outputs of the switch  dependent  upon the setting of the adjustable switch arm  This  output is converted into a time value and is stored in a  register in the computer  During a vending cycle  the  aforesaid register cooperates with the microprocessor  in such a manner as to function as a timer which has its  contents altered  such as being decremented by a timing  pulse developed by the processor  When a predeter   mined count is reached in the register  i e   when the  register    rolls over     the task associated with that timer  value is performed  In this case  the aforesaid solenoid is  turned off  terminating the dispensing time interval for  the ingredient being dispensed    A cycle timer  preferably in the form of a register and  decrementing means  initiates the energization of each  dispensing device dependent upon the operator s selec     4 265 371    3    tion and in a predetermined sequence  The time value  for each activity
44. ory loca   tion in said first group to the first available memory  location in said second group if its time value has  been reduced to zero     g  repeating steps  c  through  f  upon the occur   rence of each succeeding timing pulse  15    h  sequentially scanning each memory location in  said second group     i  energizing the device identified by the task word  which calls for energization  and    j  de energizing the device identified by the task 20  word which calls for de energization of the device    41  A method for controlling the sequence of perfor    mance of a plurality of operations to be performed by  devices  said method utilizing a computer having a  memory  said method comprising the steps of     a  storing each task to be performed in the form of a  word in a first group predetermined location in said  memory responsive to a requested operation     b  providing a plurality of settable switches  each  allocated to one of said tasks  each being set to a  position representative of the time interval during  which the task associated therewith is to be per   formed     c  sequentially scanning those switches whose tasks 35  have previously been stored to store a word pres   enting time values in said first group of locations in  memory together with its associated task word     d  allocating a second group of memory locations   wherein each location is capable of storing a task 40  word     U    25    30    45    55    65    26    e  generating time pulses and 
45. ource signal    18  The method of claim 16  wherein one of the dis   pensing means includes means for dispensing a liquid  ingredient and further comprising the steps of    continuously monitoring the flow of liquid  and   promptly halting the dispensing operation in the  event of the absence of liquid flow during the time  that the dispensing means for dispensing the liquid  is enabled    19  The method of claim 16  further comprising the  steps of counting the number of program steps in the  program which operates the processor for controlling  the vending operation    immediately terminating the vending operation when   the count exceeds a predetermined count to estab   lish that the program counter has advanced to a  count requesting an invalid program step    20  The method of claim 16  wherein the processor is  powered by a conventional a c  power source and fur   ther comprising the steps of monitoring the output of  the power source and immediately terminating the  vending operation when the output of the power source  falls below a predetermined level    21  The method of claim 20  wherein the step of de   tecting the level of the power source further comprises  the steps of                       5    25    40    45    50    35    60    65    18   rectifying and filtering the a c  signal to establish a  d c  level  and   deriving a reference level from said d c  level  com   paring said d c  level with said reference level  and   terminating the vending operation whe
46. plying the value representative of the amount of  ingredient to be dispensed into an associated  counter means when the dispensing means for that  ingredient is enabled    generating timing pulses    decrementing each of said counts upon the occur   rence of each timing pulse    disabling the dispensing means associated with each  counting means when the count in its associated  counting means rolls over    40  A method employing a computer including a  memory for controlling the order of initiation of a plu   rality of operations performed by a plurality of devices  and for controlling the interval during which each of  said devices is energized to cause said operations to be  performed  comprising the steps of     a  allocating a first group of locations in said mem   ory for storing a task word and a time value word  in each location wherein a task word identifies the  task to be performed and the time vaiue word iden   tifies the time at which the task is to be pertormed     b  allocating a second group of memory locations  wherein each location is capable of storing a task  word     4 265 371    25     c  generating time pulses and sequentially extracting  each time value word from said memory respon   sive to a start request and the next timing pulse     d  decrementing the extracted time value by one  count     e  returning the decremented value to its memory  location in said first group if the count is greater  than zero     f  transferring the task word from its mem
47. ra   tion is begun by the insertion of a coin  Recognition and  acceptance of a valid coin invites the apparatus operator  to select the desired drink and its ingredients and or  strength of ingredients  The program provides for the  multiplexed use of a common bank of switches such  that  in one preferred embodiment  a bank of eight  switches are operated to provide up to 24 different  selections  if desired    Based upon the particular selection  the program  follows the appropriate program routines associated  with the selections made  For example  upon selection  of a particular hot drink  the appropriate amount of  liquid and other ingredients making up the drink are  dispensed into a common mixing bowl which  in turn   dispenses the admixed ingredients into a common recep   tacle  Each of the ingredients is dispensed substantially  simultaneously or in overlapping intervals  although in  certain instances  some ingredients may be dispensed in  sequential fashion  The dispensing interval for each  ingredient is basically a function of the amount of the  ingredient to be dispensed  For hot drinks  the hot water  is typically dispensed over the longest time interval in  order to serve as the admixing medium  as well as the  liquid based ingredient of the drink    Determination of the quantity of liquid and of the  ingredients to be dispensed  as well as the simplified and  yet precision adjustment of the amount of ingredient to  be dispensed  is accomplished through the co
48. ro crossing of the power source signal as will be more  fully described  Depending upon the particular selec   tion made  and as previously noted  the times at which  remaining operations are to begin have been stored  within the cycle timerportion 110 8 of the timer stack  110  Such operations might include opening of the  water valve  energization of those dispensing motors for  dispensing each of the ingredients required to be dis   pensed for the selected drink  and so forth    As part of the data collection portion of the cycle   decoders 32 and 33 are controlled by the microproces   sor 11 to selectively scan those switches S 1 through  S 13 whose settings are associated with the ingredients  to be incorporated within the selected foodstuff  This  data is stored in memory and is utilized to control the  dispensing interval for each desired ingredient  Since all  switches S1 through S13 are substantially identical to  one another with regard to both design and basic func   tion  only one switch will be described herein in detail    Considering switch S1 which establishes the time  interval during which water is dispensed  its switch arm  Sla is movable to electrically engage any of the switch  stationary contacts S1 b 1 through  1 b 11  The switch  arm Sla in turn is coupled to output 32d of decoder 32   Each of the stationary output terminals S1 b 1 through  S1 b 11 is connected to an associated output line  These  lines couple stationary contacts S1 b 1 through S1 b 8 
49. roprocessor 11  The optical isolation  permits the use of any coin accepting device without  the need for any special electrical interface  Credit sta   tus is examined during the program to initiate the pro   gram cycle as will be more fully described hereinbelow    Once credit is established  the program selectively  enables manually operable push buttons P1 P14 pro   vided for the selection of the drink and the strength of  the ingredients  The push buttons are energized in a  multiplexed fashion to provide a significant increase in  the number of selections which can be made for the  same given number of operating push buttons and also  reduces the number of input lines required to transfer  data from the push buttons to processor 11    The push buttons P7 P14 are coupled through invert   ers 30 1 through 30 8 to the data input lines DB1  through DB7  which data is utilized during the program  cycle to dispense the selected drink having ingredients  of the selected strength  The push buttons P1 P3 are  coupled to data lines DB7 DBS  as are the push buttons  P4 P6    The enable lines of the push buttons are coupled to  outputs 32a 32c of decoder 32  which decoder is  adapted to enable only one of its eight output lines  under control of a four bit binary control word applied  in the form of signal levels to its input lines 32j  32k  321   and 32m  which are respectively coupled to output  control lines 11   11k  11m  and 11    of processor 11  The  states of the group of p
50. s  responsive to enablement of its associated dispens   ing means at a selected time after its enablement   said timing means each including settable switch  means having a plurality of discrete switch posi     tions for adjusting the length of said selected time   Ld     B      
51. sequentially extracting  each time value word from memory responsive to  the next timing pulse     f  decrementing the extracted time value by one  count     g  returning the decremented value to its memory  location in said first group if the count is greater  than zero  l    h  transferring the task word from its memory loca   tion in said first group to the first available memory  location in said second group if its time value has  been reduced to zero     i  repeating steps  e  through  h  upon the occur   rence of each succeeding timing pulse     j  sequentially scanning each memory location in  said second group     k  energizing the device identified by the task word  which calls for energization of such device  and   1  de energizing the device identified by the task  word which calls for de energization of such de    vice    42  Means for dispensing predetermined quantities of    each of a pluraiity of different materials in a predeter   mined sequence  comprising     a source of material    normally disabled dispensing means for each source  for dispensing material from its associated source  when enabled    sequencing means responsive to a dispensing request  signal for enabling said dispensing means in a pre   determined sequence and at spaced intervals of  time  said sequencing means including a plurality of  timer means  each adapted to time out a predeter   mined time after said dispensing request signal  and   timing means associated with each dispensing mean
52. switch S1 carries the scan signal  This  condition is examined during that portion of the pro   gram cycle which controls the activation of the dispens   ing devices  The switch arms S1a S13a of each of the  switches S1 S13 are preset by maintenance personnel to  control the time duration of each dispensing device in  accordance with the needs of each location  Adjustment  is very simple  since it necessitates movement of the  switch arm into any one of the 11 discrete switch posi   tions and yet allows for accurate adjustment of the  amount of ingredient to be dispensed    A subsequent routine of the program examines the  data representative of the switch settings of selected  switches to calculate the time interval for each of the  ingredients to be dispensed  The processor then devel   ops signals which are coupled to output lines 11p    117  to respective inputs 35a 1 through 351 5 of I O expan   der 35 having three four bit bidirectional static I O  ports 35b 35d which serve to couple control signals ta  the selected dispensing motor and one four bit port  35a 2 to 35a 5 which serves as an interface to the micro   processor  Binary control signals appearing at outputs  11p 11  are applied to terminals 35a 1 through 35a 5 of  port 35a  and a clock input is applied at 35a 1 to cause  at least one terminal of each of the three four bit ports  356 35d to be shifted to the enable state in order to  enable at least one of the reed relays in four associated  groups of reed rela
53. t    Intel MCS 48 Microcomputer User s Manual      copyright 1976 by Intel Corporation  The processor  typically includes a central processor  CPU   program  memory  ROM   data memory  RAM   input output   I O  lines  and an event counter  The CPU typically  comprises control circuits  registers and an Arith   metic Logic Unit  ALU   For example  the block dia   gram appearing on page 2   2 of the aforesaid manual  shows the conventional processor hardware configura   tion and is incorporated herein by reference thereto    Sixty  60  Hz a c  power is coupled to the input termi   nals of plug 12 from a power supply  not shown  which  may be derived from a conventional wall outlet  Main  switch 56 selectively couples a c  power from plug 12 to  transformer TRI whose primary TRIp is coupled to  input terminals 12 and whose secondary windings  TRisa and TRIsb are respectively coupled across the  input terminals of full wave diode bridges DB1 and  DB2  The output terminals of the diode bridge DB1 are  coupled between ground reference and the smoothing  and filtering circuit 15 to develop a d c  level   WDC  which is utilized to power the microprocessor 11 and  other components of the control circuitry    The     output terminal of diode bridge DB1 is also  coupled through diode CR1 to a d c  reference level  circuit including capacitor C2  resistor R17 and zener  diode CR2  which elements form part of the undervolt   age detection circuit 14  The reference level is applied  to the
54. the switches S1 S13 is quite simple and  yet provides an accurate adjustment of the dispensing  interval  For example  vending apparatus in one loca   tion may be designed to vend drinks in a six ounce cup   The time interval required to dispense six ounces may   for example  be 5 5 seconds  Thus  switch arm Sla need  only be set to engage stationary contact S1b 4 for a  switch setting of 3  which when multiplied by the scale  factor of 1 yields 3 2 55 or a total dispensing interval  of 5 55 seconds  In the event that the same vending  equipment is desired to dispense eight ounce drinks  the  settable switch S1 need only be adjusted to increase the  dispensing interval by two seconds  The increment of  each adjustment may be reduced by storing a smaller  scale factor  if desired  For example  0 8 seconds or 0 5  seconds  or even smaller values may be provided  The  reduced range may be increased by adding more sta   tionary contacts  The added switch positions may be  stored as two data words    The switches for the powdered ingredients function  in much the same way as that described hereinabove for  the hot water interval switch S1  Likewise  their accu   rate settings may be made in a simple and straightfor   ward manner greatly simplifying field adjustments as  compared with conventional cam switches    The manner in which the interval during which each  ingredient to be dispensed is controlled will now be    _    0    20    40    45    50    55    65    12  described pri
55. time measured compares with the time  value established by the switch means associated  with that dispensing means    34  Means for preparing a liquid based foodstuff in a  receptacle  said liquid based ingredient being comprised  of a liquid admixed with at least one non liquid ingredi   ent  preferably in powdered form  comprising    a source of said liquid based ingredient    at least one source of a powdered ingredient    a plurality of normally disabled dispensing means   each associated with one of said sources for dis   pensing a measured amount of the ingredient asso   ciated therewith into said common receptacle  when enabled    timing means for generating regularly spaced timing  pulses    means responsive to a dispensing request signal for  generating a dispensing enabling signal and a scan  signal    plural switch means  each being associated with one  of said dispensing means and each being comprised  of an input for receiving said scan signal  a plurality  of outputs and a manually settable switch member  for selectively coupling said input to one of said  outputs in accordance with the desired quantity of  the associated ingredient to be dispensed    plural counter means each associated with one of said  switch means    sequencing means for sequentially coupling the dis   pensing enabling signal to each of said dispensing  means and for coupling the scan signal to the inputs  of the switch means in accordance with the said  sequence employed for enabling said d
56. to  the data input terminals DB1 DB7  respectively  of  processor 11  while lines S1 b 9 through S1 b 11 are  connected to the input lines 11v  11v  and 11w of the  microprocessor 11    The interval of time  I  during which the water is  dispensed is given by the equation I minimum va   lue    scale factor x SS   wherein the minimum value is  the smallest interval during which the water is to be  dispensed  the scale factor is determined by the base  timing value for each ingredient  and SS is the switch  setting    As shown in FIG  1  capacitors C5 and C6 and crystal  X1 form a clock which provides a frequency of the  order of 5 7 MHz  This frequency is divided by an inter   nal clock provided in microprocessor 11 to generate  pulses at a repetition rate of 10 milliseconds  For exam     4 265 371    11  ple  the internal clock may comprise a 16 bit counter to  divide the clock output in order to generate pulses oc   curring at 10 millisecond intervals    Typically  the minimum value may be stored in mem   ory  ROM  in the form of a multi bit digital word repre   senting the 2 55 second interval  The scale factor a  second  is stored in ROM in a similar fashion  Presum   ing the first switch position to be chosen  i e   presuming  switch arm Sla to be engaged with stationary contact  S1B 1  this represents a switch setting of zero  causing  the interval during which hot water is dispensed to be  equal to the minimum value  i e   I  minimum value       scale factor KSS  or 1 2
57. to assure  that switching and control operations are performed  only during acceptable states of the conditions being  monitored    Still another object of the present invention is to  provide novel solid state control means for vending  machines and employing switches which are manually  settable for simply and readily adjusting the vending  duration of the ingredient associated with the selectable           0    20    25    30    40    45    50    55    60    65    4    switch to simply and yet accurately control the amount  of each ingredient to be vended    Another object of the invention is to provide an over   all apparatus timer which automatically resets the mi   croprocessor in the event that dispensing operations are  not performed within an outside limit    The above  as well as other objects of the present  invention  will become apparent from reading the ac   companying description and drawings in which    FIGS  1a and 1b are block diagrams which  taken  together  show a vending apparatus embodying the  principles of the present invention    FIG  2 shows a detailed flow diagram of a program  utilized for controlling the apparatus of FIGS  la and  1b     DETAILED DESCRIPTION OF THE  INVENTION    FIGS  ta and 16 show a control system 10 for operat   ing a vending machine and embodying the principles of  the present invention  The system 10 is comprised of a  processor 11 which may  for example  be an Intel mi   crocomputer of the MCS 48 system described in the  tex
58. ugh the  selective operation of reed switches which isolate the  low d c  power utilized to power the control circuitry  from the high a c  power utilized to drive the pumps and  drive motors  The reed switches operate triacs such that  the reed relays drive the triacs in both directions  pro   viding full cycle a c  on off control especially advanta   geous for use with a c  shaded pole motors    Means are provided to monitor the a c  power source  and to energize motors  solenoids and the like only  during a substantially zero crossover of the a c  source   In the event of power brownout  the program is auto   matically reset to prevent the vending apparatus from  performing incorrectly    Any spurious signals or power disturbances which  might cause a jump in the program beyond the final  program step to an invalid memory location also cause  an automatic resest of the program     OBJECTS OF THE INVENTION AND BRIEF  DESCRIPTION OF THE FIGURES    It is  therefore  one object of the present invention to  provide a novel solid state control for vending ma   chines    Another object of the present invention is to provide  novel solid state control means for vending machines   said control means being microcomputer based control  apparatus having an operating program which provides  for a large plurality of vending selections    Still another object of the invention is to provide a  microprocessor control for vending machines and the  like which monitors a number of conditions 
59. unts in all of the count   ers at regular timing intervals  and means responsive to  a zero count in each counter for disabling the dispensing  means associated with the counter whose count has  been reduced to zero count    14  Means for dispensing a predetermined quantity of  material into a receptacle  comprising    a source of said material    normally disabled dispensing means for dispensing a   measured amount of said material from said source  into said receptacle when enabled    means responsive to a dispensing request signal for   generating a dispensing enabling signal and a scan  signal    switch means comprising an input for receiving said   scan signal  a plurality of outputs and a manually   settable switch arm for selectively coupling said   input to one of said outputs in accordance with the   desired quantity of said material to be dispensed   timer means    means coupled to said switch means outputs and   responsive to said scan signal applied to the input  of the switch means for setting a time value in said  timer means in accordance with the setting of said  switch arm     4 265 371    17   means for operating said timer means responsive to   the enabling of said dispensing means    means responsive to time out of the timer means in   accordance with the time value setting for dis   abling said dispensing means    15  The dispensing means of claim 14  wherein said  timer means comprises a counter  and said timer operat   ing means comprises timing pulse g
60. ush buttons whose enable line  has been activated are stored in predetermined locations  in the processor   s memory  RAM   This data is utilized  during the execution of a subsequent program routine to  develop time values as will be more fully described    Upon completion of that part of the program cycle  which determines the drink which has been selected  and the strength of the ingredients for the selected  drink  selected ones of the battery of switches S1 S13  are scanned to determine the time intervals during  which each dispensing device for the appropriate ingre   dients is to be energized  The switches are scanned by a  program routine which applies control signals to de   coder 32  decoder 33  and gate 34 through outputs  11j 11    and 11e for selecting each switch to be scanned  on a one at a time basis and placing the signal states of    4 265 371    7   all output lines of the selected switch upon the data  input lines DB1 DB7  for S1b 1 through  1b 8   and  lines 11x  11y and 11w  for S1b 9 through S1b 11   It  should be understood that all output lines of like num   ber are connected in common to the same microproces   sor data input line  For example  output lines S1b 1  through S 13B 1 are all connected in common to data  line DB7  S1b 2 through S13b 2 are connected to data  line DB6  and so forth  Gate 34 serves to disable de   coder 33 when decoder 32 is selected and vice versa  In  accordance with the position of switch arm Sla  only  one output line of 
61. ys 36a  364  36c  and 36d  respec   tively  each group incorporating four such reed relays  such as group 36  which incorporates reed relays 36a 1  through 36a 4  The reed relays are identical in design  and function  and only one will be described herein for  purposes of simplicity    Considering reed relay 361  the relay comprises reed  elements shown schematically as a switch arm 37a and  which elements are mechanically biased so as to pro   vide a ncrmally open condition  Although not shown  for purposes of simplicity  the reed relay has its reed  elements encapsulated within a hermetically sealed  evacuated glass envelope  A solenoid winding 376 sur   rounds the hermetically sealed envelope and has one of  its terminals coupled to source   VDC through bus 65  and has its other terminal coupled to output line 35 1  of I O expander 35  The reed switch is designed to be  normally open when winding 376 is deenergized  A  diode 37c is coupled in parallel  across winding 37b to  prevent damage to the I O expander 35 due to induc   tive    kick back    voltage  When it is desired that the  reed relay be maintained in the normally open state  the  level at tine 355 1 is maintained at substantially the  power source level    VDC  When it is desired to per   form the switching operation  the level at line 355 1  drops to reference potential  typically zero volts or  ground  causing a current to pass through winding 376  to establish a magnetic field sufficient to close contact  37
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
CSF16型サニタリー用フィルター取扱説明書  Belkin ClearScreen Overlay  (様式第5号) 年度末モニタリング結果公開用様式 平成25年度 施設名  BLINDER 8001 Spot Bank Operating Instructions    Copyright © All rights reserved. 
   Failed to retrieve file