Auto-set drink dispenser
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates to a method and apparatus for controlling a drink dispenser. More particularly, this invention relates to a method and apparatus for programming a drink dispenser during a program mode and to dispense beverage as a function of stored volumetric parameter data during a dispense mode. 
     2. Description of the Prior Art 
     Drink dispensers have generally taken one of three forms. The first form involves mechanical levers which respond to the presence of a cup under a dispensing valve. For an operator to fill a glass of liquid, the operator places a cup under the dispensing valve thereby depressing the mechanical lever which, in turn, opens the dispensing valve and allows liquid to pour into the cup. In order to fill the cup to the proper level, the operator must devote full attention to the cup. Although the operator could fill one cup with each hand, this type of drink dispenser is very inefficient. 
     The second form is a portion control which utilizes a spray of liquid being dispensed to complete a link in an electrical circuit between an actuating lever and the liquid flowing through the dispensing valve. A cup is placed under the dispensing valve thereby actuating the actuating lever. As the liquid level in the cup rises, the spray increases. Consequently, the impedance in the electrical circuit decreases allowing greater current to flow through the electrical circuit. When a predetermined level of current is reached, the dispensing valve is shut off. This type of dispenser is described in detail in U.S. Pat. No. 4,641,692 to Bennett. 
     The third form is a conventional portion control type drink dispenser. The portion control type drink dispenser operates on a timed dispensing cycle which assumes constant fluid flow through the dispensing valve. A known cup size and a known amount of ice in the cup are also assumed. A dispenser timer is triggered by momentary actuation of a push button for a given drink size. The dispensing valve stays open during the dispensing cycle which is timed by the dispenser timer. Therefore, an operator may place a cup under the dispensing valve, press the push button for the desired drink size and attend to other chores while the cup is being filled. 
     However, many drinks dispensed through this type of dispenser are carbonated. Therefore, an operator may be required to allow the foam on the drink to settle, after it has been initially filled by the dispenser, and then to manually top off the drink. This is inefficient from the standpoint of the operator. 
     Also, this type of drink dispenser generally utilizes individual trimming potentiometers to vary dispense time for each drink size. Therefore, when this type of drink dispenser is being installed, the trimming potentiometers must all be adjusted to allow the proper volume of liquid to be dispensed for each drink size. Also, re-adjustment is occassionally required to maintain proper operation of the dispenser. A maladjusted dispenser can result, for instance, in &#34;short&#34; timed dispensing cycles which fail to fill the cup all the way. Any re-adjustment also requires adjusting the trimming potentiometers. 
     Timing correction required during installation or re-adjustment usually involves dumping the partially filled cup content, turning the trimming potentiometer for the drink size being adjusted and re-actuating the push button to see if the desired volume of liquid is dispensed. Typically, adjustments take several iterations before the trimming potentiometers are set properly. 
     This &#34;trial and error&#34; procedure results in undesirable waste of beverage and time. Adjusting all the liquid dispensers in a restaurant can waste an undesirable amount of time and cause gallons of drinks to be wasted. Therefore, there is a need for a drink dispenser which can be automatically set to dispense the proper volume of liquid while pouring the first drink from the dispenser so that no beverage is wasted. 
     Additionally, since many carbonated beverages are dispensed through drink dispensers, there is a need for an automatic drink dispenser which fills a cup, allows the foam on the drink to settle, and tops off the drink automatically. 
     SUMMARY OF THE INVENTION 
     The present invention is a control system for use with a drink dispenser. Mode switch means causes the control system to switch between operation in a program mode and a dispense mode. Volumetric parameter means provide volumetric parameter data representative of dispensed drink volume. Memory means store the volumetric parameter data. Control means, coupled to the mode switch means, the memory means, and the volumetric parameter means, causes the volumetric parameter data to be stored in the memory means while the control system is operating in the program mode. Also, the control means causes drink volume to be dispensed as a function of the stored volumetric parameter data while the control system is operating in the dispense mode. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of the control system of the present invention. 
     FIG. 2 is a diagram of a dispensing tower. 
     FIG. 3 is a flow chart of dispense mode operation of the present invention. 
     FIG. 4 is a flow chart of program mode operation of the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     FIG. 1 is a block diagram of control system 10 of the present invention. Control system 10 comprises small drink size dispenser button 12, medium drink size dispenser button 14, large drink size dispenser button 16 and extra large drink size dispenser button 18 (collectively referred to as size dispenser buttons 12, 14, 16 and 18). Control system 10 also has cancel/pour (C/P) switch 20, mode switch 22, pull-up resistors 24, identification switches 26, timer 27, controller 28, drink size memory 32, inventory memory 34 and interface 36. FIG. 1 also shows dispenser valve 30 which is typically a dispenser valve on a commercially available dispenser assembly. 
     Size dispensing buttons 12, 14, 16 and 18, which are CommerCially available push-buttons, are coupled to controller 28 at small input 38, medium input 40, large input 42 and extra large input 44, respectively. Size dispenser buttons 12, 14, 16 and 18 are also coupled to pull-up resistors 24 which pull inputs 38, 40, 42 and 44 to a logic high level when size dispenser buttons 12, 14, 16 and 18 are open. When any of buttons 12, 14, 16 Or 18 are closed, the corresponding input 38, 40, 42 or 44 are pulled to a logic low level. 
     Similarly, cancel/pour switch 20 and mode switch 22 are coupled to controller 28 at cancel/pour input 46 and mode input 48. These inputs are also coupled to pull-up resistors 24. 
     Controller 28 is a microprocessor-based controller which periodically polls inputs 38-48. Based on these inputs, controller 28 controls operation of dispenser valve 30, drink size memory 32 and inventory memory 34 as a function of a program stored in program memory 29. 
     A plurality of control systems 10 are typically used in a drink dispensing tower such as drink dispensing tower 5 shown in FIG. 2. In this embodiment, dispensing tower 5 is provided with housing 6 which contains three drink dispenser valves (not shown) each of which dispenses a different flavored drink. 
     Each drink dispenser valve is operated by a separate control system 10. All of the control systems 10 are also housed in housing 6. Therefore, each dispenser valve has a corresponding small size dispenser button 12, medium size dispenser button 14, large size dispenser button 16 (in this embodiment, only three drink sizes are provided so extra large button 18 is omitted) and cancel/pour (C/P) switch 20. 
     Dispensing tower 5 also has power switch 7, cup tray 8 and mode switch 22. Mode switch 22 switches control systems 10 in housing 6 between operation in a program mode (described more fully later) and operation in a dispense mode. 
     FIG. 3 shows a flow diagram of dispense mode operation. To begin operation in the dispense mode, an operator sets mode switch 22 to dispense. This is indicated by block 51. Next, the operator places cup 9 (shown in FIG. 2) under the dispenser valve which dispenses the desired drink flavor, as indicated by block 53. The operator then requests the desired drink size by pressing the corresponding size dispenser button 12, 14 or 16. This is indicated by block 55. 
     Since controller 28 polls inputs 38-48, controller 28 detects the drink request by the operator as a logic low level on a corresponding input. For example, if the operator desires a small drink to be filled, the operator presses small drink size button 12. Consequently, small input 38 is pulled to a logic low level. This logic low level at small input 38 is detected by controller 28 as indicated by block 57. 
     Upon detecting the request for a small drink, controller 28 retrieves volume data from drink size memory 32 which was programmed into drink size memory 32 during the program mode. The volume data represents the amount of time which dispenser valve 30 must be open to fill a small cup. This is indicated by block 59. After retrieving the volume data, controller 28 operates dispensing valve 30 as a function of the volume data to properly fill cup 9. This is indicated by block 61. 
     To properly fill cup 9, controller 28 operates dispensing valve 30 as a function of the volume data in substantially three steps. First, controller 28 actuates dispensing valve 30 for a main-fill time period during which liquid is allowed to pour into cup 9. Second, controller 28 de-actuates dispensing valve 30 for a settle time period during which any foamy liquid in cup 9 is allowed to settle. Finally, controller 28 reactuates dispensing valve 30 for a top-off time period to top-off cup 9. Controller 28 monitors timer 27 to time the main-fill, the settle and the top-off time periods. All of these time periods are represented by the volume data retrieved by controller 28 from drink size memory 32. 
     The operator waits for the cup to be topped off and removes the cup. This is indicated by blocks 63 and 65. After topping off the cup, controller 28 again begins to poll inputs 38-48 for another drink request. 
     During the program mode, controller 28 stores volume data which is representative of the volume of liquid to be dispensed in response to a drink request by any of size dispenser buttons 12, 14, 16 or 18. The volume data is programmed by an operator and stored by controller 28 in drink size memory 32. 
     FIG. 4 shows a flow chart of program mode operation of control system 10. To enter the program mode, switch 22 is switched to program (i.e., it is closed). This is indicated by block 50. Once control system 10 is in the program mode, control system 10 is ready to be programmed with volume data. 
     To begin programming, the operator first places cup 9 under dispenser valve 30, then depresses a size dispenser button 12, 14, 16 or 18 corresponding to the drink size to be programmed. (For example, if control system 10 is to be programmed with volume data representing the volume of a small drink, then small size drink dispenser button 12 is depressed.) While the operator has the desired size dispenser button depressed, dispenser valve 30 is actuated allowing liquid to pour into cup 9. The operator keeps the desired size dispenser button depressed until the foam in cup 9 reaches the brim. Then, the operator allows button 12 to open thereby causing controller 28 to de-actuate dispenser valve 30 for a time period which is long enough to allow the foam in the cup to settle. These steps are indicated by blocks 52 and 54. Once the foam has settled, the operator depresses the desired size dispense button again in order to top off the drink. This is indicated by block 56. 
     During each of these steps, controller 28 monitors timer 27 to determine the length of time each step takes. Controller 28 stores time data representing the time of each step in drink size memory 32. This time data effectively represents the volume of drink dispensed by dispenser valve 30 during the initial fill step, when the desired size dispense button is depressed (the main-fill time period) during the settle step, when the desired size dispense button is not depressed (the settle time period) and during the top-off step, when the desired size dispense button is again depressed (the top-off time period). The settle time period can be a set time for all drink sizes or programmed in the same manner as the main-fill and top-off time periods. For the time data to be relied upon as an accurate representation of the volume of liquid dispensed for numerous drink requests, it is assumed that the volume flow rate of the drink through dispenser valve 30 remains substantially constant. 
     The steps in the program mode are repeated until control system 10 has been programmed with volume data for all the available drink sizes. Once control system 10 has been programmed with the desired volume data, and has stored that data in drink size memory 32, mode switch 22 is set to dispense (i.e., re-opened) and control system 10 enters the dispense mode as described above. This is indicated by blocks 60 and 62. 
     Control system 10 is also capable of automatically tracking drink inventory. During operation, controller 28 stores inventory data in inventory memory 34. The inventory data represents the volume of drink dispensed from the particular dispenser valve 30 which is controlled by control system 10. Inventory memory 34 is capable of providing inventory memory for only a single control system 10 or for all control systems 10 in a single dispense tower 5 (i.e., for all flavors). This is accomplished by utilizing identification switches 26 which are operator-settable switches that indicate to controller 28 which dispenser valve 30 (i.e., which flavor) control system 10 is controlling and which dispense tower 5 control system 10 is located in. This identification information is used, particularly in a restaurant where more than one dispense tower 5 is used, to identify the volume of each flavor of drink dispensed and which dispense tower it was dispensed from. 
     Cancel/pour switch 20 allows the operator to cancel a drink request by simply depressing switch 20. When switch 20 is depressed, controller 28 detects the logic low level at input 46 and cancels any drink request currently being fulfilled by controller 28. Depressing switch 20 causes dispenser valve 30 to be directly actuated and to dispense drink until cancel/pour switch 20 is re-opened. This allows a drink request to be overridden by the operator and it also allows the operator to &#34;manually&#34; dispense drinks. Volume data corresponding to drinks dispensed through actuation of cancel/pour switch 20 is also stored in inventory memory 34 by controller 28. 
     Control system 10 is also provided with interface 36. This allows control system 10 to be coupled to a printer, a monitor or another controller to provide volume and inventory data. Therefore, an operator using control system 10 is capable of automatically tracking inventory and downloading all inventory data to another device for inventory report generation. 
     Due to the simplicity and size of control system 10, it can be customized to individual dispenser housings 6 and mounted directly behind the push buttons 12-20 on a commercial dispensing valve 30. Control system 10 is capable of being packaged with surface mount components for miniaturizating the dispenser housing 6 behind the push buttons. An assembled circuit board containing control system 10 is also capable of being conformally coated and can be encapsulated to withstand accidental plumbing leaks. 
     In one preferred embodiment, drink size memory 32 is an electrically erasable programmable read only memory (EEPROM). Therefore, even during extended power outages, drink size memory 32 retains the volume data which was stored in it during operation in the program mode. The particular EEPROM used in the embodiment shown in FIG. 1 is capable of being reprogrammed approximately 10,000 times. 
     It should be noted that, in this preferred embodiment, the volume data stored in drink size memory 32 and inventory memory 34 is provided by timer 27. Time data provided by timer 27 is substantially proportional to volume of drink dispensed. This assumes a substantially constant rate of fluid flow through dispenser valve 30. However, volume data could easily be provided through other means such as a flow meter. 
     CONCLUSION 
     Control system 10 is capable of operation in a program mode so that drink sizes can be programmed into the control system without using a trial and error technique. This permits a desired drink size to be set properly the first time the drink is filled. Therefore, the volume of wasted beverage and the time required to adjust the dispenser are substantially reduced. This also increases repeatibility and accuracy of the dispenser. 
     Also, control system 10 permits a foamy drink to be automatically topped off after the foam has settled. Again, this feature saves time and increases the efficiency of the dispenser. 
     Additionally, control system 10 retains drink size information programmed during the program mode, without on board batteries, even during prolonged power outings. This makes operating the dispenser more convenient and more reliable. 
     Control system 10 also stores inventory information representing the number of dispensed drinks identified by size, dispenser valve (flavor) and dispenser tower. The inventory information also includes volume information representing the volume of drink dispensed through depressing cancel/pour switch 20. This inventory information is transferrable to a printer, monitor or other control system for analysis. 
     In addition, control system 10 is simple and small. This allows it to be packaged easily in commercial dispensers. It is also capable of being covered or encapsulated to prevent harm from leaky valves or plumbing. 
     Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention.