Abstract:
A system and method for calibrating fluid detects an actual fluid dispensing characteristic, such as dispensing speed, and automatically adjusts the dispensing characteristic to match an ideal dispensing characteristic. The adjustment is conducted by a controller that controls fluid dispensing based on a function that correlates dispensing speed, a dispensed volume, and a dispensing time. The function allows calibration to occur automatically by converging system operation to the ideal dispensing characteristic, without requiring a user to calibrate the system through manual iterative methods.

Description:
REFERENCE TO RELATED APPLICATION 
   This application is a continuation-in-part of U.S. patent application Ser. No. 10/296,186 filed on Nov. 21, 2002 now U.S. Pat. No. 6,986,441. 

   TECHNICAL FIELD 
   The present invention relates to fluid delivery systems, and more particularly to a system that can be calibrated to dispense a pre-determined volume of fluid. 
   BACKGROUND OF THE INVENTION 
   Many applications require fluid delivery systems that can dispense units of fluid having a pre-determined volume. Fluid delivery systems often use a motor speed to control the volume of fluid dispensed at one time. For example, a peristaltic fluid delivery system includes a rotating roller that squeezes flexible tubing at selected intervals, thereby pushing generally equal units of fluid along the tubing for output. The motor controls the roller&#39;s rotation speed, thereby controlling the volume of fluid dispensed as the roller squeezes the flexible tube; the faster the motor speed, the greater the volume of fluid output in a given time period. 
   When the system is initially installed, or when a user wishes to change the operating parameters (e.g., dispensed volume, dispensing speed, etc.), the system is calibrated to dispense the selected volume of fluid in each unit. Normally, calibration requires dispensing of a single unit of fluid, measuring the volume of the dispensed unit, and adjustment of the motor speed by, for example, manually adjusting a potentiometer controlling motor speed. These steps are repeated until the system dispenses a unit having the desired volume. Because current systems require manually iterative adjustments to obtain the desired fluid volume in each unit, calibration tends to be a tedious, labor-intensive process. 
   One application of such systems is a milkshake machine. A typical milkshake machine includes two separate dispensing systems. The first dispensing system dispenses a syrup component. The second dispensing system dispenses an ice cream component. The syrup component and the ice cream component have different viscosities. As such, known systems require manual, iterative adjustments during calibration to ensure accuracy in the amount of each component dispensed and throughout everyday use to maintain a desired ratio of syrup to ice cream. Similar systems are also used to dispense syrups and other liquid components used in automated coffee machines and “fountain style” soft drink dispensers. These systems also require proportional dispensing of liquid components that have different viscosities. 
   As such, there is a desire for a fluid delivery system and method that can reliably deliver measured units of fluid having a desired volume without requiring manual, iterative adjustments during system calibration. There is also a desire for a calibration system and method that allows calibration based on a desired dispensing time. 
   SUMMARY OF THE INVENTION 
   The present invention is directed to a calibration system that can automatically calibrate a fluid dispensing system based on a detected flow rate. The invention detects an actual fluid dispensing characteristic, such as dispensing speed, and automatically adjusts the dispensing characteristic to match an ideal dispensing characteristic. The adjustment is conducted by a controller that controls fluid dispensing based on a function. The function correlates various dispensing characteristic factors, such as dispensing speed, a dispensed volume, and dispensing time. 
   In one embodiment, an actuator control automatically adjusts based on a function obtained from dispensed liquid volumes obtained at various motor speeds over a fixed time period. This information is used to compute a correction amount to correct an actual speed to an ideal speed. The correction amount allows the dispenser to change its operation so that a target fluid volume is dispensed within a target dispensing time, regardless of the initial actual speed. The actual speed may be obtained initially by detecting the time period required to obtain the target volume. This time period is then compared with the function to detect the actual speed to obtain a corresponding correction amount. 
   The function used for calibration allows calibration to occur automatically by converging system operation to the ideal dispensing characteristic, without requiring a user to calibrate the system through manual iterative methods. 
   In another embodiment, an actuator control automatically adjusts based upon a function obtained from liquid dispensing times obtained at various motor speeds based upon a known reference liquid volume. A number of pulses observed during the liquid dispending time period is then compared with the function to detect the actual speed to obtain a corresponding correction amount. 
   These and other features of the present invention can be best understood from the following specification and drawings, the following of which is a brief description. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a representative block diagram illustrating a fluid dispensing system according to one embodiment of the invention; 
       FIG. 2  is a flow diagram illustrating a calibration method for a fluid dispensing system according to one embodiment of the invention; 
       FIG. 3  is a representative block diagram illustrating a fluid dispensing system including two liquid components according to another embodiment of the invention; 
       FIG. 4  is a plot of a dispensing speed versus an volume of fluid dispensed during a fixed time period; 
       FIG. 5  is a plot of a dispensing speed correction amount versus a time period for dispensing a fixed volume of fluid at a speed corresponding to the correction amount; 
       FIG. 6  is a flow diagram illustrating a calibration method for a fluid dispensing system according to one embodiment of the present invention; and 
       FIG. 7  is a flow diagram illustrating a calibration method for a fluid dispensing system according to another embodiment of the present invention. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     FIG. 1  is a representative diagram illustrating components of a fluid dispensing system  100  according to one embodiment of the invention. The system  100  includes a fluid dispenser  104  (e.g., a peristaltic pump), a motor  106  or other actuator to operate the fluid dispenser  104 , and a controller  108  that allows control of the motor&#39;s  106  speed. The controller  108  can be any known processor, actuator control, and/or motor control device that can adjust motor or actuator speed via a generated control signal, such as a pulse width modulated signal, a variable voltage signal, etc. Changes in the motor speed will change the operation speed of the dispenser  108 . 
   In one embodiment, the controller  108  includes an actuator control  109  and a memory  110  that is able to store data on fluid dispensing times and corresponding motor speeds and/or dispensing speeds as well as functions or algorithms linking dispensing speeds, times and volumes. Note that the memory  110  does not necessarily have to be part of the controller  108 ; the memory  110  can be any data storage device incorporated anywhere into the system  100  as long as it communicates with the actuator control  109 . 
   Adjusting the motor speed adjusts the flow rate of the fluid dispenser  104 , thereby varying the volume of fluid output by the dispenser  104  over a given time period. The controller  108  allows the motor speed, and therefore the flow rate of the fluid dispenser  104 , to be varied without requiring manual iterative adjustments. 
   In one embodiment, the system  100  also includes a flow start/stop switch  111  that allows the user to start and stop fluid dispensing manually.  FIG. 2  is a flow diagram illustrating one way in which the system of  FIG. 1  is initially set up to conduct automatic calibration. The user starts fluid flow by activating the switch  111  (block  150 ) and allows the fluid to flow into a calibration container (block  152 ). When the dispensed fluid reaches a selected reference volume (e.g., 1 ounce), the user stops fluid flow via the switch  111  (block  154 ). The controller  108  or other processing device records the elapsed time for obtaining the reference volume (block  156 ). Because the reference volume, the time for dispensing the reference volume (i.e., a reference time), and the ideal or actual motor speed are all known (from the input voltage applied to the motor), a reference flow rate can be calculated for a given motor speed (block  158 ). Calculating a reference flow rate in this way is simpler than iteratively adjusting the motor speed based on a difference between a dispensed volume and a desired volume because the reference flow rate can be obtained from a single user-controlled dispensing operation. 
   In one embodiment, there is a generally linear relationship between the volume of fluid dispensed and the motor speed. This relationship allows the controller  108  to compute a revised motor speed by correcting the motor speed used during calibration by a scaling factor proportional to the difference between an actual dispensing time for a given reference volume and the target dispensing time. 
   In one embodiment, the controller  108  may use a compensator to compensate for any non-linearities in a given motor&#39;s particular characteristics (e.g., the relationship between the flow rate and a control voltage applied to the motor  106  by the controller  108 , system changes, changes in the conduit carrying the fluid, conduit wear, etc.) as well as changes in the fluid itself (e.g., fluid viscosity). The compensator may be a circuit configuration, such as a closed-loop circuit, or be incorporated into the function executed by the controller  108 . Regardless of the specific way the compensator is incorporated into the system  100 , the compensator acts as a correction factor to maintain linearity in the motor&#39;s characteristics, maintaining accuracy in the automatic calibration. 
     FIGS. 4 and 5  and Table 1 below illustrate one method of obtaining the transfer function used by the controller  108  for calibration. Note that the function used by the controller  108  may be determined in ways other than the method described below. Further, the function may be a linear function or even simply a proportional factor, depending on the desired motor speed adjustment. In one embodiment, fluid samples are dispensed during a specific time period, such as the target time period (e.g., 7 seconds). Table 1 illustrates relationships between the dispensing speed and the volume of fluid dispensed during the target time period. The data shown in Table 1 are for illustrative purposes only to explain the operation of the inventive system and are not meant to be limiting in any way. 
   
     
       
             
             
             
             
           
             
             
             
             
           
         
             
               TABLE 1 
             
             
                 
             
             
                 
                 
               Correction 
                 
             
             
                 
                 
               Amount 
             
             
                 
                 
               Computed 
               Computed 
             
             
                 
                 
               to Correct 
               Time to 
             
             
               Dispenser 
               Measured 
               the Speed to 
               Dispense One 
             
             
               Speed 
               Volume 
               Reference 
               Ounce at this 
             
             
               (input V) 
               (ounces) 
               Speed 
               speed 
             
             
                 
             
           
           
             
                 
             
           
        
         
             
               6.00 
               1⅝ 
               2.19 
               4.31 
             
             
               5.75 
               1 17/32 
               1.94 
               4.57 
             
             
               5.50 
               1 15/32 
               1.69 
               4.77 
             
             
               5.25 
               1⅜ 
               1.44 
               5.09 
             
             
               5.00 
               1 5/16 
               1.19 
               5.33 
             
             
               4.75 
               1 7/32 
               0.94 
               5.74 
             
             
               4.50 
               1 3/16 
               0.69 
               5.89 
             
             
               4.25 
               1 3/32 
               0.44 
               6.40 
             
             
               4.00 
               1 1/16 
               0.19 
               6.59 
             
             
               3.75 
                31/32 
               −0.06 
               7.23 
             
             
               3.50 
                15/16 
               −0.31 
               7.47 
             
             
                 
             
           
        
       
     
   
   The actual dispensing speed and dispensed volume is then compared with the reference dispensing speed (e.g., 3.81V) and the reference dispensed volume (e.g., 1 ounce), and a speed correction amount is calculated based in the difference between the actual dispensing speed and the reference dispensing speed. A time period for dispensing 1 ounce at the actual dispensing speed is then calculated. For example, if the actual dispensing speed is 5.75V and 1.53 ounces were dispensed in 7 seconds at this speed, then the speed correction amount is 1.94V (that is, 1.94V needs to be subtracted from the actual speed of 5.75V to obtain the ideal speed of 3.81V). Further, as can be seen in Table 1, a dispensing speed of 5.75V will dispense 1 ounce in 4.57 seconds. 
   The data shown in Table 1 can then be plotted, as shown in  FIGS. 4 and 5 , with a transfer function being automatically generated using any known program based on the plots.  FIG. 4  is a plot of the dispensing speed versus the volume of fluid dispensed during the fixed target time, while  FIG. 5  is a plot of the correction amount versus the time needed to dispense 1 ounce at the speed corresponding to that correction amount. 
   From the data obtained above, the controller  108  can automatically calculate and adjust the motor speed to produce a desired volume of fluid when the user enters a target dispensing time into the system  100 . More particularly, the initial calibration sequence shown in  FIG. 2  provides the system  100  with a reference flow rate and an initial dispensing time. Because the target dispensing time is known for most applications, adjusting and calibrating the motor speed in the inventive manner ensures that the fluid dispenser  104  will be able to dispense the desired volume of fluid in the selected target dispensing time (e.g., 7 seconds). 
   For example, if the fluid is to be mixed with another material having a given flow rate, the initial calibration steps provide a reference flow rate that can be coordinated with the flow rate of the other material during calibration. If the flow rate of the fluid needs to be increased or decreased to coordinate with the flow rate of the other material, the reference flow rate provides an anchor point for determining the linear relationship between the flow rate and dispenser speed for that particular fluid and determining a target fluid dispensing time corresponding with the dispensing time of the other material. Based on this information, the controller  108  can determine the proper speed for outputting the target fluid volume in the target dispensing time. 
     FIG. 3  is a representative block diagram illustrating a fluid dispensing system  200  including two liquid components according to another embodiment of the invention. The system  200  includes a first liquid dispensing system  202  and a second liquid dispensing system  302 . The first liquid dispensing system  202  is operable to dispense a first liquid, for example a syrup. The first liquid dispensing system  202  includes a first liquid dispenser  204 , a first actuator  206 , for example a motor or any other actuator that could operate the first liquid dispenser  204 , and a first controller  208  that allows control of the first actuator&#39;s  206  speed. The first controller  208  can be any known processor, actuator control and/or motor control device that is operable to adjust actuator or motor speed via a generated control signal, as discussed in  FIG. 1 . 
   The second liquid dispensing system  302  is operable to dispense a second liquid, for example a dairy product. The second liquid dispensing system  302  includes a second liquid dispenser  304 , a second actuator  306 , for example a motor or any other actuator that could operate the second liquid dispenser  304 , and a second controller  308  that allows control of the second actuator&#39;s  306  speed. The second controller  308  can be any known processor, actuator control and/or motor control device that is operable to adjust actuator or motor speed via a generated control signal, as discussed in  FIG. 1 . 
   In one embodiment, the first controller  208  includes a first actuator control  209  and a first memory  210 . The second controller  308  includes a second actuator control  309  and a second memory  310 . The first controller  208  and the second controller  308  are operable to store data on fluid dispensing times and corresponding motor speeds and/or dispensing speeds as well as functions or algorithms linking dispensing speeds, times and volumes. 
   Adjusting the motor speed of the first liquid dispensing system  202  and the second liquid dispensing system  302 , adjusts the flow rates of the first liquid dispenser  204  and the second liquid dispenser  304 , thereby varying the volume of fluid output by each of the first liquid dispenser  204  and the second liquid dispenser  304  over a given period of time. The first controller  208  allows a first motor speed, and therefore a first flow rate of the first fluid dispenser  204 , to be varied without requiring manual iterative adjustment. The second controller  308  allows a second motor speed, and therefore a second flow rate of the second fluid dispenser  304 , to be varied without requiring manual iterative adjustment. 
   In this embodiment, after dispensing is complete, the syrup and dairy product are combined to make a beverage, for example, a coffee product, such as a café latte or a hot cocoa. 
   In another embodiment, the system  200  also includes a first flow start/stop switch  211  and a second flow start/stop switch  311  that allows the user to start and stop fluid dispensing manually. 
   Using the function generated according to  FIGS. 4 and 5 , the controller  108  enters the time measured by the controller  108  during the initial calibration process to determine how much the motor speed needs to be adjusted to dispense the reference volume in the target time. For example, if during calibration process shown in  FIG. 2 , it took 4.57 seconds to dispense 1 ounce of fluid, it indicates that the dispenser speed is 5.75V, 1.94V higher than the ideal speed of 3.81V. The controller  108  will then reduce the dispenser speed by 1.94V automatically so that 1 ounce will be dispensed during the target time of 7 seconds. The controller  108  will therefore cause the motor  106  to converge to the ideal speed, dispensing the target volume during the target time, regardless of the initial speed of the motor during the calibration step of  FIG. 2 . 
   Thus, rather than relying on iterative manual adjustments to calibrate the motor  106  and therefore the dispenser  104 , the system  100  can detect the amount of adjustment needed based on the time it takes to dispense a fixed volume of fluid during the initial calibration process ( FIG. 2 ). For example, given a selected target dispensing time, the controller  108  can calculate the difference between the target time and the reference time and then vary the motor speed by an amount proportional to the size of the calculated difference. The specific proportional values depends on the specific characteristics of the motor, fluids, and/or conduits being used; those of ordinary skill in the art will be able to determine the correct scaling factor for a given system via trial and error without undue experimentation. Because the ideal or actual motor speed is known, a relationship between the motor speed and dispensing time can be determined. As a result, the controller  108  can automatically detect how far the dispensing speed, and therefore the motor speed, is off from the target speed and adjust the motor speed accordingly. 
   Further, if the user wants to dispense the selected volume of fluid in a shorter time period, the motor speed is able to automatically adjust itself based on the transfer function reflecting the relationship between motor speed and dispensing time for a given fluid volume. Because the transfer functions used by the controller  108  links dispenser speed, dispensing time, and dispensed volume, those of ordinary skill in the art will be able to determine other ways in which the transfer function can be used for automatic calibration of fluid dispensers  104  (e.g., calibrating to a fixed dispensed volume, a specific motor speed, etc. as well as to a target dispensing time) without departing from the scope of the invention. The functions or algorithms stored in the controller  108  allows automatic adjustment of the motor speed to meet any desired performance characteristics based on a single reference flow rate obtained during an initial calibration step ( FIG. 2 ). 
   In one embodiment illustrated in  FIG. 6 , a motor speed is automatically and continuously calibrated using a series of equations based upon a volume of liquid, for example a syrup, dispensed during an initial calibration Vol c  and a calibration motor voltage based upon a liquid viscosity V c . An initial motor speed estimation V i  is calculated using an initial number encoder pulses P i , the calibration motor voltage based upon a liquid viscosity V c , and a calibration number of encoder pulses P c  according to the following formula:
 
 V   i   =P   i ( V   c   /P   c )
 
   The initial motor speed V i  may also be derived from a data table. 
   The initial number of encoder pulses P i  is calculated based upon a standard volume Vol s , the calibration number of encoder pulses P c , and the volume of a liquid dispensed during an initial calibration Vol c  according to the following formula:
 
 P   i   =Vol   s ( Pc/Vol   c )
 
   The initial motor speed V i  is used to set the motor speed V n . A time between motor encoder pulses t ref  is measured. The time between motor encoder pulses t ref  data is filtered and smoothed according to the following formula:
 
 t   n   =Σt   ref   /N   pulses 
 
   A correction is made to the original motor speed estimation Vi according to the following formula:
 
 V   n+1 =[( t   s /2 P   i )( V   n   /t   n )]
 
   Where t s  is a pre-determined standard time. 
   An updated motor speed estimation V n+1  then replaces the motor speed V n  and the process repeats, automatically calibrating the motor speed V n  based upon the updated motor speed estimation V n+1 . 
   In another embodiment, illustrated in  FIG. 7 , a motor speed is automatically and continuously calibrated using a series of equations based upon a time required to dispense a known reference volume of a liquid, for example a syrup, into a calibration cup. An initial motor speed estimation V i  is calculated using a time to dispense a reference volume t c , a calibration motor voltage based upon liquid viscosity V c  and a standard dispensing time t s  and according to the formula:
 
 V   i   =t   s ( V   c   /t   c )
 
   The initial motor speed estimation V i  is used to set the motor speed V n . A number of encoder pulses observed, P′ ref , is measured during a reference time. Each group of encoded pulses observed during the reference time equals one (1) subgroup N. The number of encoder pulses observed data is then filtered and smoothed according to the formula:
 
 P′   n   =ΣP′   ref   /N   subgroups 
 
   A correction is then made to the initial motor speed estimation V n  according to the formula:
 
 V   n+1   =P′   i ( V   n   /P′   n−1 )
 
   An updated motor speed estimation V n+1  then replaces the motor speed V n  and the process repeats, automatically calibrating the motor speed V n  based upon the updated motor speed estimation V n+1 . 
   It should be understood that various alternatives to the embodiments of the invention described herein may be employed in practicing the invention. It is intended that the following claims define the scope of the invention and that the method and apparatus within the scope of these claims and their equivalents be covered thereby. 
   Although a preferred embodiment of this invention has been disclosed, a worker of ordinary skill in this art would recognize that certain modifications would come within the scope of this invention. For that reason, the following claims should be studied to determine the true scope and content of this invention.