MONITORING PUMP SPEEDS OF PERISTALTIC PUMPS

Information

  • Patent Application
  • 20250137449
  • Publication Number
    20250137449
  • Date Filed
    October 30, 2024
    7 months ago
  • Date Published
    May 01, 2025
    a month ago
  • Inventors
    • Watt; David (Charlestown, MA, US)
    • Woolf; Sam (Charlestown, MA, US)
  • Original Assignees
Abstract
Systems, methods, and devices for monitoring and calibrating pump speeds in a beverage dispensing system. A first signal associated with an electrical current supplied to a motor driving a pump may be received and a speed of the pump may be determined. A second signal may be determined based on the first signal and the speed of the pump. Electrical current may be supplied to the motor driving the pump based on the second signal. Additional feedback mechanisms and calibration processes may further reduce dispensing error associated with the pump, enhancing accuracy and reliability of the beverage dispensing system for consistent beverage preparation.
Description
TECHNICAL FIELD

This application generally relates to systems and methods for monitoring pump speeds of a peristaltic pump and more specifically to analog and digital systems for monitoring pump speeds and by extension the flow rates of peristaltic pumps in beverage dispensing systems.


BACKGROUND

Flavored syrups and liquids are commonly separated in beverage dispensing systems. A beverage dispensing system may be defined as a system capable of creating one or more flavored beverages. For example, a beverage dispensing system may include a strawberry syrup flavoring and carbonated water. Continuing this example, the beverage dispensing system may combine the strawberry syrup flavoring with the carbonated water to create a carbonated strawberry flavored drink. The flavored syrups are typically separated from the liquid to generate consistent tasting flavored drinks. For example, by separating the flavored syrups from the liquids, the beverage dispensing system may combine the flavored syrups and liquids on an as-needed basis to maintain a consistent flavored beverage.


The flavored syrup may be dispensed using a pump. Though effective, pumps may be inconsistent. Inconsistencies in the pump may lead to the beverage dispensing system dispensing an unpredictable amount of flavored syrup. For example, inconsistencies in the pump may lead to the beverage dispensing system dispensing a volume of flavored syrup with an error of ±10% when compared to the expected dispensed amount. Additionally, methods to fix these inconsistencies may be expensive, may require new components in the beverage dispensing system, and may require field technicians to implement the fixes.


Therefore, there is a long felt but unresolved need for systems and methods that easily and inexpensively address the inconsistencies associated with pumps of beverage dispensing systems such that the beverage dispensing system may reduce the error margin of dispensing flavored syrups.


BRIEF SUMMARY OF DISCLOSURE

Briefly described, and in various embodiments, the present disclosure relates to systems and methods for monitoring and calibrating pump speeds of a pump (e.g., a peristaltic pump). The disclosed system may include analog and digital components capable of implementing current-based peristaltic controls. Current-based peristaltic controls may be defined as a method for measuring the speed of the peristaltic pump based on its measured current draw. The current-based peristaltic controls may substantially decrease the error margin for the peristaltic pump when dispensing flavored syrups. For example, a particular peristaltic pump may have an error margin of ±10% or more when using a pulse width modulation (PWM) technique to control the pump speed of the peristaltic pump. Continuing this example, the peristaltic pump may have an error margin of less than ±5.0% when using the current-based peristaltic controls to determine the pump speed of the peristaltic pump. The disclosed systems and methods may generate lower error margins (e.g., ±2.5% or lower) through specific peristaltic pump calibrations. By reducing the error margins of the peristaltic pump, the disclosed systems and methods may allow the beverage dispensing system to generate consistent flavored beverages.


The peristaltic pump may move fluids (e.g., flavored syrups) using positive displacement. For example, for each revolution of a rotor of the peristaltic pump, a fixed volume of flavored syrup may be moved through tubing as rollers sequentially compress the tubing. As a first roller compresses the tubing, a sealed pocket of flavored syrup may be created and then pushed forward along the tubing. A second roller may then compress the tubing behind the pocket, preventing backflow. This process may continue along the length of the tubing, resulting in a consistent and predictable flow rate.


In the beverage dispensing system, the peristaltic pump may pump one or more flavored syrups towards a mixing chamber, where the one or more flavored syrups may mix with the fluid of choice (e.g., carbonated water, still water, alcoholic beverage, etc.). The peristaltic pump may be selected for the beverage dispensing system because peristaltic pumps are typically inexpensive, generally reliable for fluid transport, and may reduce contamination by keeping the flavored syrup path entirely separate from the pump hardware. The peristaltic pump may function by using one or more rollers to compress and decompress a flexible tube. As a rotor head of the peristaltic pump turns, the one or more rollers may move a tube compression point forward, pushing the flavored syrup along the flexible tube.


A pump speed of the peristaltic pump may be controlled by using a pulse width modulation (PWM) signal to vary an average voltage supplied to the pump's motor. The PWM signal may be a square wave with a fixed frequency and a variable duty cycle (e.g., the percentage of time the PWM signal is high compared to the total period of the PWN signal). The PWM signal may be applied to a motor driver circuit and the motor driver may switch the power supply to the motor on and off rapidly based on the duty cycle of the PWM signal. The rapid switching may create an average voltage applied to the motor that is proportional to the duty cycle of the PWM signal. For example, a higher duty cycle may result in a higher average voltage, and thus, a higher motor speed. The flow rate of the peristaltic pump may be directly proportional to the motor speed, such that varying the duty cycle of the PWM signal may effectively control the speed of the pump.


The PWM signal may control the voltage fed to the peristaltic pump by controlling the supply voltage between 0 and 100% for a particular period of time. For example, a 60% duty cycle may define a particular PWM signal where 60% of the time the particular PWM signal is in an “on” state (e.g., providing maximum voltage to the peristaltic pump) and 40% of the time the particular PWM signal is in an “off” state (e.g., providing no voltage to the peristaltic pump). The PWM signal may change from on to off and back to on at a frequency of 30 times per second (30 Hz), 60 times per second (60 Hz), 700 times per second (700 Hz), etc. According to some aspects, inconsistencies in the beverage dispensing system resulting from PWM control alone may be further reduced by measuring the speed of the peristaltic pump.


The disclosed systems and methods may measure the speed of the peristaltic pump using current-based peristaltic controls. The disclosed system may include the peristaltic pump, a motor driver, a pump controller, a microphone, and/or an analog or digital signal processor. According to some aspects, a computing device may include one or more processors configured to implement aspects of the disclosure. Each time a motor head of the peristaltic pump spins a single rotation, each of the one or more rollers may either compress or decompress the flexible tubing.


According to some aspects, the peristaltic pump may draw greater power from the motor driver when compressing the flexible tubing. An output current signal may define the current draw of the peristaltic pump and may be generated by the motor driver. A signal processor (e.g., analog or digital) may employ the output current signal to identify each moment the motor head draws greater power to compensate for the one or more rollers compressing and decompressing the flexible tubing. The signal processor may process the output current signal to amplify the output current signal and remove any noise (e.g., unwanted or undesired electrical disturbance) associated with the output current signal. The signal processor may generate a processed signal associated with the output current signal and input the processed signal to the pump controller. Based on the processed signal, the pump controller may count the number of power fluctuations that occur within a particular time period. By counting the number of power fluctuations (e.g., generated by the compression and decompression of the flexible tubing), the pump controller may determine a value for the pump speed. The pump speed may also be defined as the rotational speed of the motor head. According to some aspects, the microphone may be configured to detect an audible noise generated by the pump. Determination of the rotational speed of the pump may be further based on the audible noise detected by the microphone.


Once the pump controller determines the value of the pump speed, the pump controller may employ the pump speed to predict flow rate. For a given motor head and tube size, the same quantity of flavored syrup (or any fluid) may be pumped through the motor head with each rotation of the peristaltic pump. The pump controller may determine a linear or nonlinear relationship between the pump speed and the fluid flow rate. The pump controller may adjust the pump speed of the peristaltic pump for a desired fluid flow rate and a desired dispensed fluid amount such that the beverage dispensing system may mix an adequate amount of flavored syrups with the particular fluid of choice.


According to some aspects, a first signal associated with an electrical current supplied to a motor. The motor may be used to drive a pump, such as a peristaltic pump that may dispense fluid into a mixing chamber. The computing device may determine, based on the first signal, a rotational speed of the pump. A second signal may be determined based on one or more of the first signal and/or the rotational speed. For example, the second signal may be determined by amplifying and filtering the first signal.


According to some aspects, one or more events associated with the first signal may be identified. For example, the events associated with the first signal may include positive slope zero crossings or changes in current draw associated with roller compressions of the pump. The speed of the pump may be determined based on an occurrence of one or more events over a period of time. A flow rate associated with the speed of the pump may be determined based on the first signal. Moreover, electrical current may be supplied to the motor driving the pump based on the second signal.


According to some aspects, a computing device may receive a first signal associated with an electrical current supplied to a motor. The motor may be used to drive a pump. The pump may be a peristaltic pump capable of dispensing fluid into a mixing chamber. The computing device may determine a rotational speed of the pump. Using the first signal and the rotational speed of the pump, the computing device may determine a second signal. The second signal may be determined by amplifying and filtering the first signal. The computing device may identify events associated with the first signal such as positive slope zero crossings or changes in current draw associated with roller compressions of the pump. Using the second signal, the computing device may supply the electrical current to the motor driving the pump.


The disclosed systems and methods may include any particular technique for determining the pump speed of the peristaltic pump. For example, the disclosed systems and methods may be modified to include encoders, stepper motors, sensors, and/or any particular system for measuring the pump speed of the peristaltic pump. The disclosed systems and methods may employ the current-based peristaltic controls as a cost-effective technique to determine the pump speed of the peristaltic pump.


These and other aspects, features, and benefits of the claimed innovation(s) will become apparent from the following detailed written description of the preferred embodiments and aspects taken in conjunction with the following drawings, although variations and modifications thereto may be affected without departing from the spirit and scope of the novel concepts of the disclosure.





BRIEF DESCRIPTION OF THE FIGURES

The accompanying drawings illustrate one or more embodiments and/or aspects of the disclosure and, together with the written description, serve to explain the principles of the disclosure. Wherever possible, the same reference numbers are used throughout the drawings to refer to the same or like elements of an embodiment, and wherein:



FIG. 1 illustrates an example beverage dispensing system, according to various aspects of the present disclosure;



FIG. 2 illustrates a schematic diagram of a current-based peristaltic control system according to various aspects of the present disclosure;



FIG. 3 illustrates an analog signal processor, according to various aspects of the present disclosure;



FIG. 4 illustrates an example graphical representation of flow rate error, according to various aspects of the present disclosure;



FIG. 5 illustrates an example flowchart of certain functionality implemented by portions of the beverage dispensing system, according to various aspects of the present disclosure;



FIG. 6 illustrates an example flowchart of certain functionality implemented by portions of the beverage dispensing system, according to various aspects of the present disclosure;



FIG. 7 illustrates a schematic of an exemplary device, according to various aspects of the present disclosure; and



FIG. 8 illustrates an exemplary diagrammatic representation of a machine in the form of a computer system, according to various aspects of the present disclosure.





DETAILED DESCRIPTION

Whether a term is capitalized is not considered definitive or limiting of the meaning of a term. As used in this document, a capitalized term shall have the same meaning as an uncapitalized term, unless the context of the usage specifically indicates that a more restrictive meaning for the capitalized term is intended. However, the capitalization or lack thereof within the remainder of this document is not intended to be necessarily limiting unless the context clearly indicates that such limitation is intended.


For the purpose of promoting an understanding of the principles of the present disclosure, reference will now be made to the embodiments illustrated in the drawings and specific language will be used to describe the same. It will, nevertheless, be understood that no limitation of the scope of the disclosure is thereby intended; any alterations and further modifications of the described or illustrated embodiments, and any further applications of the principles of the disclosure as illustrated therein are contemplated as would normally occur to one skilled in the art to which the disclosure relates. All limitations of scope should be determined in accordance with and as expressed in the claims.


Referring now to the figures, for the purposes of example and explanation of the fundamental processes and components of the disclosed systems and processes, reference is made to FIG. 1, which illustrates an exemplary beverage dispensing system 100. As will be understood and appreciated, the beverage dispensing system 100 shown in FIG. 1 represents merely one approach or embodiment of the present concept, and other aspects are used according to various embodiments of the present concept. Beverage dispensing system 100 may include a pump 110. The pump 110 may be a pump internal to beverage dispensing system 100. The pump 110 may pump one or more flavored syrups for mixing with one or more liquids (e.g., carbonated, still, hot, or ambient water). For example, in the beverage dispensing system 100, the flavored syrups and the one or more liquids may be stored separately. To preserve quality and promote consistency, the beverage dispensing system 100 may mix the flavored syrup and the one or more liquids on an as-needed basis. For example, a user may select a carbonated strawberry drink. On pressing a dispensing button, the beverage dispensing system 100 may mix the carbonated water with a strawberry flavored syrup and dispense the carbonated strawberry drink into a cup of the user.


The pump 110 may include a motor 114, a motor head 116, flexible tubing 130, rollers 118A-B, motor driver 120, and housing 112. The housing 112 may enclose the motor head 116 and/or a portion of the flexible tubing 130, providing structural support and protection for the components. Moreover, the housing 112 may guide the flexible tubing 130 and keep it in place. The motor head 116 may be driven by a motor driver 120 and may be controlled by pump controller 122. The motor head 116 may rotate in a clockwise and/or a counterclockwise direction. For example, when rotating in a clockwise direction, the motor head 116 may move a flavored syrup 140 (or any other particular fluid) from an inlet 132 to an outlet 134. For example, the inlet 132 may define a first aperture that may allow the flavored syrup 140 to flow from a flavored syrup dispensing bag (not pictured) to the pump 110. Continuing this example, the outlet 134 may define a second aperture that may allow the flavored syrup 140 to flow from the pump 110 to a mixing chamber (e.g., a location for mixing the flavored syrup with the desired fluid).


The motor head 116 may include one or more rollers 118A-B. The rollers 118A-B may compress the flexible tubing 130 at one or more compression points, e.g., 136A-B. The compression points 136A-B may move along the flexible tubing 130 as the rollers 118A-B rotate with the motor head 116. Although illustrated as having two rollers 118A-B, the motor head 116 may include more than two rollers 118A-B. For example, the motor head 116 may include an offset roller (not pictured). The offset roller may avoid compressing the flexible tubing 130, allowing the pump controller 122 to more readily detect compression points 136A-B. Furthermore, according to some aspects, the motor head 116 may include a plurality of heads (e.g., a double head). For example, a first head of the motor head 116 may include one or more of the rollers 118 A-B and a second head of the motor head 116 may include an offset roller.


The compression points 136A-B formed by the rollers 118A-B may confine the flavored syrup 140 to a limited space within the flexible tubing 130. The functionality of confining a finite amount of flavored syrup during each rotation of the motor head 116 may lead to the pump 110 dispensing an adequate and known amount of flavored syrup 140 after each rotation of the motor head 116. In one or more examples and as discussed in further detail herein, to consistently dispense an adequate and known amount of flavored syrup 140 after each rotation, the motor head 116 may rotate at a determined rotational speed (also referred to as a pump speed).


For the motor head 116 to adequately apply pressure to the flexible tubing 130 through the rollers 118A-B, the motor driving the motor head 116 may draw greater current in the instances the rollers 118A-B contact the flexible tubing 130 and create the compression points 136A-B. For example, in the instance where a particular roller contacts the flexible tubing 130 and creates a compression point, the motor driving the motor head 116 may draw more current. By measuring and analyzing the continuous current draw from the pump 110, the rotational speed of the motor head 116 may be determined based on increased current draw associated with the compression points 136A-B.


Moreover, the pump 110 may generate audible noise during operation. The beverage dispensing system 100 may include a microphone 124. The microphone 124 may record audible noise generated by the pump 110. The pump controller 122 and/or the computing device 150 may analyze the audible noise recorded by the microphone 124 to determine the rotational speed of the pump 110. For example, each time the rollers 118A-B compress the flexible tubing 130 and create the compression points 136A-B, the pump 110 may generate a distinct audible tone. Continuing this example, the pump controller 122 and/or the computing device 150 may generate an audio spectrogram based on the audible noise recorded by the microphone 124.


The audio spectrogram may provide a visual representation of the spectrum of frequencies in a sound signal as they vary with time. Moreover, the audio spectrogram may provide a three-dimensional view of the sound, including time, frequency, and amplitude. For example, time may be represented on the horizontal axis, frequency on the vertical axis, and amplitude by an intensity of color of the spectrogram. The pump controller 122 and/or the computing device 150 may identify, based on the audio spectrogram, the distinct audible tones generated from the motor, rollers. and/or the compression of the flexible tubing 130 by the rollers 118A-B. The pump controller 122 and/or the computing device 150 may employ the recognition of the distinct audible tones to determine the rotational speed of the pump 110. The beverage dispensing system may employ the processes for identifying the rotational speed of the pump 110 through an audio source as a test for confirming, augmenting, and/or calibrating the other methods for determining the rotational speed of the pump 110 as discussed herein.


The beverage dispensing system 100 may include a computing device 150, server 160, and database 170 connected via network 180. The server 160 may act as a central processing unit that manages data flow, processing, and communication between various components of the system such as motor driver 120 and pump controller 122. The server 160 may process, analyze, and or/store data collected by the microphone 124 and other sensors is processed, analyzed, and stored. For example, the data may be stored in database 170. Moreover, the data may be visualized on computing device 150.


Referring now to FIG. 2, illustrated is an exemplary beverage dispensing system 200, including a current-based peristaltic control system (e.g., control system 220). The control system 220 may include various components used to control and measure the rotational speed of the pump 110. For example, the control system 220 may include a pump 110, a motor driver 120, a pump controller 122, an analog signal processor 222, a computer (CPU) 224 (e.g., a microcontroller and/or microprocessor), and/or a verification system 210. The pump 110, the motor driver 120, the pump controller 122, the analog signal processor 222, and the CPU 224 may be locally installed within the beverage dispensing system 200.


The motor driver 120 may include one or more microcontrollers that may drive power to the pump 110. For example, the motor driver 120 may include a Texas Instruments™ (TI) DRV8876EVM motor driver. The motor driver 120 may generate adequate power to power the pump 110. As the motor driver 120 powers the pump 110, the motor driver 120 may generate an output current signal. The output current signal may define a signal that is proportional to the instantaneous driver current of the pump 110, among other information. For example, the output current signal may quantify the amount of current drawn by the pump 110. Moreover, the output current signal may include noise and a baseline value.


The computing device 150 and/or the pump controller 122 may analyze the output current signal and the baseline value to determine a duty cycle percentage associated with the pump 110, an ambient temperature of the pump 110, a fluid viscosity of the flavored syrup 140, and/or any other pertinent information associated with the pump 110. Moreover, the computing device 150 and/or the pump controller 122 may extract the various information associated with the pump 110 from the output current signal. For example, the analog signal processor 222 may amplify and filter the current signal, isolating fluctuations directly tied to roller compressions of the pump 110, such as positive slope zero crossings, which may indicate each roller's interaction with the flexible tubing. By identifying and counting these events within a specific timeframe, the computing device 150 and/or the pump controller 122 may determine the rotational speed of the pump 110.


The computing device 150 and/or the pump controller 122 may employ the baseline value, the output current signal, and/or any other information extracted from the output current signal (e.g., duty cycle percentages or load variations) to determine a health status of the pump 110. Significant deviations in these values may be used to identify one or more issues, including blockages, fluid viscosity changes, or wear on components. Moreover, during the processing phase for determining the rotational speed of the pump 110, the computing device 150, the analog signal processor 222, and/or the pump controller 122 may exclude the baseline value and other information carried in the output current signal. This refined signal may be used to focus solely on relevant fluctuations associated with mechanics of the pump 110, ensuring accurate monitoring and control of the operational speed of the pump 110.


Various factors may influence the output current signal. For example, in cases where the pump 110 runs for extended periods of time, the pump 110 may increase in temperature. The excess heat of the pump 110 may add noise to the output current signal. The added noise to the output current signal may affect the ability of the pump controller 122 and/or the computing device 150 to process the output current signal. For example, the added noise may manifest in the output current signal as irregular fluctuations or spikes, which may interfere with accurately identifying events associated with normal operation of the pump 110 (e.g., roller compressions). Moreover, the irregular fluctuations may mask or distort the typical signal characteristics used to determine the rotational speed of the pump 110, complicating precise control and monitoring.


As another example, when the PWM frequency is below 60 Hz, the PWM signal may introduce low-frequency oscillations that interfere with the rotational speed of the pump 110, causing fluctuations in the current draw. The fluctuations may manifest as inconsistencies in the output current signal, further complicating the analysis of signal events such as positive slope zero crossings. To mitigate this interference, the motor driver 120 may generate the PWM signal with a frequency at or above 60 Hz. At this frequency, the effect of the PWM signal on the current draw may become negligible, minimizing noise and maintaining a stable output current signal. This stability may allow the system to more accurately monitor and control the speed of the pump 100 and improve the consistency of fluid dispensation.


The control system 220 may include the analog signal processor 222 to amplify and filter the output current signal and generate a processed signal. The processed signal may be defined as a refined signal of the output current signal showing only the continuous current draw of the pump 110. For example, prior to processing through the analog signal processor 222, the output current signal may include noise and superfluous information that may negatively affect calculating the rotational speed of the pump 110. The processing may include amplification and noise filtering. Amplifying the voltage of the output current signal (e.g., using a non-inverting operational amplifier configuration) may make it easier to detect meaningful variations in the output current signal that correspond to the roller compressions of the pump 110. High-frequency noise and other superfluous data that may interfere with accurately identifying the operational events of the pump may be filtered out as the output current signal passes through a low-pass filter circuit. By generating the processed signal, the computing device 150 and/or the pump controller 122 may focus on the current draw data associated with the pump 110 and determine the rotational speed of the motor head 116 (e.g., see FIG. 3 and corresponding description for further details). The analog signal processor 222 may output the processed signal into the pump controller 122 and/or the computing device 150.


The pump controller 122 may include any particular microcontroller for monitoring and controlling the motor driver 120. For example, the pump controller 122 may include an Arduino microcontroller capable of connecting with and controlling the motor driver 120 and processing incoming data. On receiving the processed signal, the pump controller 122 may analyze the processed signal to determine the rotational speed of the motor head 116. For example, the pump controller 122 may perform batch processing, where the pump controller 122 acquires 1 second of the processed signal sampled at 1000 samples per second. The pump controller 122 may generate a rolling average of the samples to create a curve associated with the processed data. The pump controller 122 may identify positive slope zero crossings of the curve to determine changes in the current draw of the pump 110. Each instance a positive slope zero crossing is detected, the pump controller 122 may determine that the motor head 116 has pushed the rollers 118A-B across the output. The motor speed may be obtained by dividing the number of zero crossings per second by the number of rollers 118A-B in the pump. The pump controller 122 may perform the analysis in real time rather than batch processing by employing a rolling buffer and identifying the positive slope zero crossings in real time. The pump controller 122 may measure the time between each successive positive slope zero crossing and determine the rotational speed of the motor head 116.


Changes in the current draw may indicate different operational states or conditions of the motor 114 and pump 110. The operational states or conditions may include normal operation, increased load, decreased load, overheating, blockages/mechanical issues, start-up/shut-down phases, PWM signal interference, and/or calibration/maintenance. Normal operation may occur when the motor driver 120 operates normally, the current draw remains relatively steady, with minor fluctuations corresponding to the compression and decompression cycles of the pump's rollers 118A-B. These minor fluctuations may indicate that the pump 110 is functioning correctly, with the rollers 118A-B compressing and decompressing the flexible tubing 130 as intended.


Increased load may occur when the motor driver 120 experiences a higher current draw. This may indicate an increased load on the pump 110 and may happen if the fluid being pumped is more viscous than usual or if there is a partial blockage in the flexible tubing 130. During the compression cycles, the motor driver 120 draws more current to push the fluid through the flexible tubing 130, which may be seen as spikes in the current draw. Decreased load may occur when the motor driver 120 experiences a lower current draw. This may indicate a decreased load on the pump 110 and may occur if the fluid is less viscous or if there is a reduction in the flow rate. During decompression cycles, the motor driver 120 draws less current, which may be seen as dips in the current draw.


Overheating may occur when the motor driver 120 runs for extended periods. The overheating may add noise to the output current signal. The noise may interfere with the accurate measurement of the motor driver's operational state. The pump 110 may include thermal protection features that reduce the current draw to prevent overheating, which may also be detected as a change in the current draw pattern. The thermal protection features may include thermostats, thermistors, bimetallic thermal protectors, thermal overload relays, electronic thermal protection, thermal fuses or any other suitable means to prevent overheating of the motor.


Blockages or mechanical issues may occur when sudden, unexplained spikes or drops in the current are detected. This may indicate blockages in the flexible tubing 130 or mechanical issues with the pump 110 such as worn-out rollers or misalignment. Erratic current draw patterns may signal that the pump 110 is struggling to maintain consistent operation, possibly due to physical obstructions or mechanical failures. During the start-up phase, the motor driver 120 may draw a higher initial current as it overcomes inertia and begins to rotate the pump's rollers. As the motor head 116 reaches its operating speed, the current draw stabilizes. During shut-down, the current draw decreases gradually as the motor head 116 slows down and eventually stops.


If the PWM frequency is below 60 Hz, it may interfere with the rotational speed of the pump 110, causing fluctuations in the current draw. A higher PWM frequency, greater than or equal to 60 Hz, is preferred to minimize interference and maintain a stable current draw. During calibration, the baseline current draw may be adjusted to account for normal operating conditions. Regular monitoring of the current draw may help identify when maintenance is needed, such as cleaning the flexible tubing 130 or replacing worn-out components. By detecting positive slope zero crossings, the system may determine key operational parameters, such as the frequency and phase of the signal. This information may be used to adjust the motor's operation for optimal performance.


Though discussed in the context of the pump controller 122, the computing device 150 may equally perform any particular analysis performed by the pump controller 122. For example, the computing device 150 may function as a desktop, server, wired computer, and/or a wireless computer (e.g., using Bluetooth, Zigbee, Internet, etc.) that connects with the pump controller 122.


The verification system 210 may function to determine a flow rate of the pump 110. The contents of mixing chambers/bags 212 and 216 can reach pump 110 via tube 214 and 218. For example, the verification system 210 may include a scale, an internal sensor to the beverage dispensing system, and/or any particular system capable of measuring the flowrate of the pump 110. On measuring the flowrate of the peristaltic pump, the flowrate data may be stored in database 170 and compared to the rotational speed data of the pump 110. The pump controller 122 and/or the computing device 150 may employ the data to determine how the rotational speed of the pump 110 affects the flowrate of the pump 110. By determining a correlation between the flowrate and the rotational speed of the pump 110, the pump controller 122 and/or the computing device 150 may consistently and adequately dispense a desired amount of flavored syrup when dispensing a flavored drink.


The verification system 210 may also determine the amount of fluid in the mixing chambers/bags 212 and 216 of beverage dispensing system 100. The verification system 210 may use a scale to determine the weight of the contents within the mixing chambers/bags 212 and 216. The measured weight data may be correlated with fluid volume present in the mixing chambers/bags 212 and 216 and may be transmitted to the pump controller 122 and/or computing device 150. By analyzing this data, the beverage dispensing system 100 may assess whether the pump 110 has dispensed the expected fluid amount, thereby verifying the operational accuracy of the pump 110. Deviations from the expected volume may indicate issues such as pump speed discrepancies, blockages, or mechanical wear, allowing the beverage dispensing system 100 to adjust the pump speed or trigger maintenance protocols as necessary to ensure accurate fluid dispensation.


Referring now to FIG. 3, illustrated is the analog signal processor 222, according to one example of the disclosed technology. The analog signal processor 222 may include an amplifier circuit 310 and a low-pass filter circuit 320. The amplifier circuit 310 may include any particular amplifier that increases the voltage of an input signal. For example, the amplifier circuit 310 may include a non-inverting operational amplifier. The amplifier may include resistor 312 and resistor 314. Continuing this example, when using an R2 (e.g., resistor 314) value of 10KΩ and an R1 (e.g., resistor 312) value of 2KΩ, the amplifier circuit 310 may receive the output current signal 302 and amplify the output current signal by a factor of 6. Though illustrated as a non-inverting operational amplifier, the amplifier circuit 310 may include any particular amplifier for the particular needs of the control system 220. For example, the non-inverting operational amplifier may include variable resistors to control and vary the gain of the amplifier circuit 310. The low-pass filter 320 may filter out any particular noise and superfluous information associated with the output current signal. For example, the low-pass filter may include a passive resistor-capacitor (RC) filter with an R3 (e.g., resistor 322) value of 50Ω and a C (e.g., capacitor 324) value of 47 uF, though any particular filter type may be employed (e.g., Chebyshev filters, resistor-inductor (RL) filters, pi type filters, etc.). On filtering the amplified signal from the amplifier circuit 310, the low-pass filter 320 may generate the processed signal 304. Though illustrated as analog circuits, the amplifier circuit 310 and the low-pass filter 320 may be performed through a digital system (e.g., the pump controller 122).


Referring now to FIG. 4, illustrated is a graph 400, according to one example of the disclosed technology. The graph 400 may include a first line 402 and a second line 404. The first line 402 may illustrate how a PWM control method affects the flow rate 410 of the pump 110. The second line 404 may illustrate how a rotational speed control method affects the flow rate 410 of the pump 110. By comparing the first line 402 to the second line 404, the first line 402 may demonstrate that the PWM control method may cause a greater discrepancy in the flow rate of the pump 110 as compared to the rotational speed control method. The second line 404 may illustrate how the different control methods affect a flow rate error of the pump 110. As illustrated by the second line 404, using the rotational speed of the motor head 116 to manage the pump 110 may decrease the flow rate error 420 as compared to the flow rate 410 of the PWM control method. Calibrating the pump may further reduce the flow rate error of the pump 110. The third line 406 may illustrate how calibrating the pump 110 may increase the flow rate 410 of the pump 110.


Referring now to FIG. 5, illustrated is a flowchart of a process 500, according to one example of the disclosed system. The process 500 may demonstrate a technique for determining the rotational speed of a motor head 116. The process 500 may be performed by the pump controller 122, the computing device 150, and/or any particular system of the control system 220.


At box 510, the process 500 may include measuring a current draw of the pump 110. The motor driver 120 may measure the current draw of the pump 110 in real time and may generate the output current signal in real time. The output current signal may quantify the current draw of the pump 110 from the motor driver 120. The motor driver 120 may measure the amount of current drawn by the pump 110 and generate the output current signal representing said current draw.


At box 520, the process 500 may include processing an output current signal through the analog signal processor 222. The analog signal processor 222 may process the output current signal to generate the processed signal. The analog signal processor 222, for example, may send the output current signal through the amplifier circuit 310 and the low-pass filter 320. The amplifier circuit 310 may amplify the voltage of the output current signal. The low-pass filter 320 may filter the amplified signal to remove any noise and additional information present in the output current signal. The output of low-pass filter 320 may function as the processed signal.


At box 530, the process 500 may include determining a rotational speed of the motor head 116. The pump controller 122 and/or the computing device 150 may determine the rotational speed of the motor head 116 based on the processed signal. The processed signal may demonstrate the continuous power draw of the pump 110. Each time the motor head 116 rotates and applies pressure onto the flexible tubing 130 through the rollers 118A-B, the power draw of the pump 110 may increase. The pump controller 122 may identify increase power draws of the pump 110 by identifying a positive slope zero crossing of the processed signal. On identifying the increase power draws of the pump 110, the pump controller 122 may relate each subsequent increase in power draw to a full rotation of the motor head 116. The pump controller 122 may determine the time in between each full rotation of the motor head 116 and, accordingly, may determine the rotational speed of the motor head 116.


At box 540, the process 500 may include calculating a flow rate associated with the rotational speed of the motor head 116. The pump controller 122 and/or the computing device 150 may calculate the flow rate associated with the rotational speed of the motor head 116. The pump controller 122 may measure the flow rate of the peristaltic pump at different rotational speeds of the motor head 116. The flow rate may determine the amount of flavored syrup dispensed. For example, for a high amount of flavoring, the pump controller 122 and/or the computing device 150 may query a database to determine a first flow rate and first rotational speed of the motor head 116 to dispense the high amount of flavoring. In another example, for a low amount of flavoring, the pump controller 122 and/or the computing device 150 may query the database to determine a second flow rate and second rotational speed of the motor head 116 to dispense the low amount of flavoring. The first flow rate and the first rotational speed may be greater than the second flow rate and the second rotational speed.


Referring now to FIG. 6, illustrated is a flowchart of a process 600, according to one example of the disclosed system. The process 600 may demonstrate a technique for supplying an electrical current to the motor driving the pump. The process 600 may be performed by the pump controller 122, the computing device 150, and/or any particular system of the control system 220.


At box 610, the process 600 may include receiving a first signal associated with an electrical current supplied to a motor driving a pump. The first signal may be received by a computing device such as pump controller 122, the computing device 150, and/or any particular system of the control system 220. The signal may be used to monitor the present electrical current being supplied to the motor by providing real-time data on the current's characteristics, such as its amplitude and frequency. The computing device may continuously monitor the electrical current supplied to the motor.


The pump may be a peristaltic pump such as pump 110 of FIG. 1. The pump 110 may be a pump internal to a beverage dispensing system 100. The pump 110, also known as a hose pump or roller pump, may be a type of positive displacement pump used for pumping various fluids. The pump 110 may operate by compressing and releasing a flexible tubing 130 to move flavored syrup 140 through it. The mechanism may mimic the natural peristalsis process found in biological systems, such as the human digestive tract. The pump 110 may pump one or more flavored syrups for mixing with one or more liquids (e.g., carbonated, still, hot, or ambient water) into a mixing chamber. For example, in the beverage dispensing system, the flavored syrups and the one or more liquids may be stored separately. To preserve quality and promote consistency, the beverage dispensing system may mix the flavored syrup and the one or more liquids on an as-needed basis. For example, a user may select a carbonated strawberry drink. On pressing a dispensing button, the beverage dispensing system may mix the carbonated water with a strawberry flavored syrup and dispense the carbonated strawberry drink into a cup of the user.


The pump 110 may include a motor head 116, flexible tubing 130, rollers 118A-B, motor driver 120, and housing 112. The housing 112 encloses motor head 116 and flexible tubing 130, providing structural support and protection for the components. The housing 112 helps guide the flexible tubing 130 and keep it in place. The housing 112 may be made from materials such as stainless steel, aluminum, polypropylene, polycarbonate, or any other strong and rigid material. The flexible tubing 130 is the main conduit for the flavored syrup 140. Flexible tubing 130 conveys the flavored syrup 140 by being compressed and released by rollers 118A-B to create a pumping action. Flexible tubing 130 may be made from materials such as silicone, rubber, thermoplastic elastomer, or any material that may withstand repeated compression and release. Rollers 118A-B are attached to motor head 116. Motor head 116 may rotate within the housing 112 while carrying rollers 118A-B. Rollers 118A-B may be made from stainless steel, aluminum, hard plastics or any other rigid material that may ensure consistent compression. The motor head 116 may be driven by motor driver 120 causing motor head 116 to rotate within housing 112. As motor head 116 turns, the rollers 118A-B compress flexible tubing 130 at multiple points. The compression forces the fluid to move forward through the flexible tubing 130. When the rollers 118A-B release the flexible tubing 130, the flexible tubing 130 returns to its natural shape, creating a vacuum that draws more fluid into the tube. This cycle of compression and release creates continuous flow of fluid through pump 110. The flow is pulsatile rather than smooth. The precise control of the speed of motor head 116 and the number of rollers ensure that the exact amount of syrup may be dispensed each time, maintaining consistency in the beverage's flavor.


The pump 110 may be controlled by control system 220. The control system 220 may include various components used to control and measure the rotational speed of the pump 110. The control system 220 may include but is not limited to the pump 110, a motor driver 120, an analog signal processor 222, a pump controller 122, a computing device 150, and a verification system 210. The pump 110, the motor driver 120, the analog signal processor 222, and the pump controller 122 may be locally installed within the beverage dispensing system 100.


The motor driver 120 may include any particular microcontroller that may drive power to the pump 110. The microcontroller may be a compact integrated circuit designed to govern a specific operation in an embedded system by processing input data from sensors and executing programmed instructions to produce a desired output. For example, the motor driver 120 may include a Texas Instruments™ (TI) DRV8876EVM motor driver. The motor driver 120 may generate adequate power to power the pump 110 by converting low-voltage control signals from the microcontroller into higher power signals suitable for the motor head 116. The motor driver 120 may use PWM to control the voltage and current supplied to the motor head 116. PWM involves switching the power on and off at a high frequency, adjusting the duty cycle (the proportion of time the power is on) to control the motor's speed and torque. As the motor driver 120 powers the pump 110, the motor driver 120 may generate an output current signal. The output current signal may define a signal that is proportional to the instantaneous driver current of the pump 110, among other information. For example, the output current signal may quantify the amount of current drawn by the pump 110.


During operation, the motor driver 120 may power the pump 110. While powering the pump 110, the motor driver 120 may generate the output current signal that may be received by the computing device. The output current signal may quantify the amount of current drawn by the pump 110. As the motor head 116 rotates, it drives the rollers 118A-B that compress and decompress the flexible tubing 130, causing the motor head 116 to draw varying amounts of current. Each time the rollers 118A-B compress the flexible tubing 130, the motor 114 experiences an increase in load, which results in a higher current draw. Conversely, when the rollers 118A-B decompress the flexible tubing 130, the load decreases, and the current draw reduces. The output current signal includes both the baseline current (representing the steady-state current draw) and variations due to the compression and decompression cycles of the tubing 102. The output current signal may include noise and the baseline value. The computing device 150 and/or the pump controller 122 may analyze the output current signal and the baseline value to determine a duty cycle percentage associated with the pump 110, an ambient temperature of the pump 110, a fluid viscosity of the flavored syrup 140, and/or any other pertinent information associated with the pump 110. Duty cycle percentage is a measure of how much time a signal or system is active compared to the total time of one cycle. In PWM, duty cycle percentage controls the amount of power delivered to a load. For example, in motor control, varying the duty cycle may adjust the motor speed. When the duty cycle is increased, the motor receives power for a longer duration within each cycle. This results in a higher average voltage being supplied to the motor, which increases the motor speed. Conversely, when the duty cycle is decreased, the motor receives power for a shorter duration within each cycle. This results in a lower average voltage being supplied to the motor, which decreases the motor speed.


At box 620, the process 600 may include determining a speed of the pump. The speed of the pump may be determined by a computing device such as pump controller 122, the computing device 150, and/or any particular system of the control system 220. Pump controller 122 may include any particular microcontroller for monitoring and controlling the motor driver 120. For example, the pump controller 122 may include an Arduino microcontroller capable of connecting with and controlling the motor driver 120 and processing incoming data from the first signal to determine the rotational speed of the pump 110. The rotational speed of the pump 110 refers to the number of rotations the motor head 116 completes in a given period. The rotational speed is typically measured in revolutions per minute (RPM). During operation, the motor head 116 may rotate in a clockwise and/or counterclockwise direction. Each full rotation of the motor head 116 results in the rollers 118A-B moving along the flexible tubing 130, pushing the fluid (e.g., flavored syrup) through the pump. For example, when rotating in a clockwise direction, the motor head 116 may move a flavored syrup 140 (or any other particular fluid) from an inlet 132 to an outlet 134. The rotational speed directly affects the flow rate of the fluid being pumped. A higher rotational speed means more fluid is moved through the pump 110 in a given time. The pump controller 122 may monitor the rotational speed to ensure the pump 110 operates at the desired speed for consistent fluid dispensing.


During operation, the pump 110 may generate audible noise. The beverage dispensing system may include the microphone 124. The microphone 124 may record the audible noise generated by the pump 110. The pump controller 122 and/or the computing device 150 may analyze the audible noise recorded by the microphone 124 to determine the rotational speed of the pump 110. For example, each time the rollers 118A-B compress the flexible tubing 130 and create the compression points 136A-B, the pump 110 may generate a distinct audible tone. Continuing this example, the pump controller 122 and/or the computing device 150 may generate an audio spectrogram based on the audible noise recorded by the microphone 124. The audio spectrogram may be a visual representation of the spectrum of frequencies in a sound signal as they vary with time. The audio spectrograms may provide a three-dimensional view of the sound, with the three dimensions being: time, frequency, and amplitude. Typically, time is represented on the horizontal axis, frequency on the vertical axis, and amplitude by the intensity of color of the spectrogram. The pump controller 122 and/or the computing device 150 may identify, based on the audio spectrogram, the distinct audible tones generated from the compression of the flexible tubing 130 by the rollers 118A-B. By analyzing patterns in the distinct audible tones, the pump controller 122 and/or computing device 150 may determine the rotational speed of the pump 110. Each compression and decompression cycle corresponds to a specific frequency pattern, allowing the system to count the number of cycles per unit time and thus calculate the speed. The beverage dispensing system 100 may employ the processes for identifying the rotational speed of the pump 110 through an audio source as a test for confirming, augmenting, and/or calibrating the other methods for determining the rotational speed of the pump 110. Using an audio spectrogram allows for non-intrusive monitoring of the pump's operation, as it relies on sound rather than physical sensors. The detailed frequency analysis provided by the spectrogram helps in accurately determining the pump's speed and identifying any irregularities in its operation. The audio spectrogram may be used to verify and calibrate other methods of speed determination, ensuring the reliability of the system.


The speed of the pump may be determined along with an occurrence of one or more events over a period of time. The events may include a positive slope zero crossing. The positive slope zero crossing refers to the point where the signal crosses the zero axis (e.g., zero value) while moving in a positive direction. In other words, the positive slope zero crossing may be the moment when the signal changes from a negative value to a positive value, indicating an upward trend. For example, the pump controller 122 may perform batch processing, where the pump controller 122 acquires 1 second of the processed signal sampled at 1000 samples per second. The pump controller 122 may generate a rolling average of the samples to create a curve associated with the processed data. The pump controller 122 may identify positive slope zero crossings of the curve to determine changes in the current draw of the pump 110. Each instance a positive slope zero crossing is detected, the pump controller 122 may determine that the motor head 116 has pushed the rollers 118A-B across the output. The motor speed may be obtained by dividing the number of zero crossings per second by the number of rollers 118A-B in the pump 110. The pump controller 122 may perform the analysis in real time rather than batch processing by employing a rolling buffer and identifying the positive slope zero crossings in real time. The pump controller 122 may measure the time between each successive positive slope zero crossing and determine the rotational speed of the motor head 116. Though discussed in the context of the pump controller 122, the computing device 150 may equally perform any particular analysis performed by the pump controller 122. For example, the computing device 150 may function as a desktop, server, wired computer, and/or a wireless computer (e.g., using Bluetooth, Zigbee, Internet, etc.) that connects with the pump controller 122. By detecting positive slope zero crossings, the system may determine key operational parameters, such as the frequency and phase of the signal. This information may be used to adjust the motor's operation for optimal performance.


Alternatively, the events may include changes in current draw associated with roller compressions of pump 110. Current draw refers to the amount of electrical current that the motor 114 consumes while operating. The pump 110 functions by using one or more rollers 118A-B to compress and decompress a flexible tubing 130. As a motor head 116 of the pump 110 turns, the one or more rollers 118A-B may move a tube compression point forward, pushing the flavored syrup along the flexible tubing 130. Each compression and release cycle may affect the motor's current draw. The pump 110 may draw greater power from the motor driver to compress and decompress the flexible tubing. The motor driver 120 may generate an output current signal to reflect the current draw. Changes in the current draw may indicate different operational states or conditions of the motor 114 and pump 110. The operational states or conditions may include normal operation, increased load, decreased load, overheating, blockages/mechanical issues, start-up/shut-down phases, PWM signal interference, and calibration/maintenance. Normal operation may occur when the motor driver 120 operates normally, the current draw remains relatively steady, with minor fluctuations corresponding to the compression and decompression cycles of the pump's rollers 118A-B. These minor fluctuations are expected and indicate that the pump 110 is functioning correctly, with the rollers 118A-B compressing and decompressing the flexible tubing 130 as intended.


Increased load may occur when the motor driver 120 experiences a higher current draw. This may indicate an increased load on the pump 110 and may happen if the fluid being pumped is more viscous than usual or if there is a partial blockage in the flexible tubing 130. During the compression cycles, the motor driver 120 draws more current to push the fluid through the flexible tubing 130, which may be seen as spikes in the current draw. Decreased load may occur when the motor driver 120 experiences a lower current draw. This may indicate a decreased load on the pump 110 and may occur if the fluid is less viscous or if there is a reduction in the flow rate. During decompression cycles, the motor driver 120 draws less current, which may be seen as dips in the current draw.


Overheating may occur when the motor driver 120 runs for extended periods. This may add noise to the output current signal. The noise may interfere with the accurate measurement of the motor driver's operational state. The pump 110 may include thermal protection features that reduce the current draw to prevent overheating, which may also be detected as a change in the current draw pattern. The thermal protection features may include thermostats, thermistors, bimetallic thermal protectors, thermal overload relays, electronic thermal protection, thermal fuses or any other suitable means to prevent overheating of the motor. Blockages or mechanical issues may occur when sudden, unexplained spikes or drops in the current are detected. This may indicate blockages in the flexible tubing 130 or mechanical issues with the pump 110 such as worn-out rollers or misalignment.


Erratic current draw patterns may signal that the pump 110 is struggling to maintain consistent operation, possibly due to physical obstructions or mechanical failures. During the start-up phase, the motor driver 120 may draw a higher initial current as it overcomes inertia and begins to rotate the pump's rollers. As the motor head 116 reaches its operating speed, the current draw stabilizes. During shut-down, the current draw decreases gradually as the motor head 116 slows down and eventually stops.


If the PWM frequency is below 60 Hz, it may interfere with the rotational speed of the pump 110, causing fluctuations in the current draw. A higher PWM frequency, greater than or equal to 60 Hz, is preferred to minimize interference and maintain a stable current draw. During calibration, the baseline current draw may be adjusted to account for normal operating conditions. Regular monitoring of the current draw may help identify when maintenance is needed, such as cleaning the flexible tubing 130 or replacing worn-out components.


By detecting and analyzing changes in current draw associated with roller compressions, the system may optimize the pump's performance. For example, it may adjust the motor's speed or current to ensure smooth and efficient operation. Abnormal changes in current draw may indicate potential issues, such as blockages or wear in the pump. Early detection of these issues allows for timely maintenance and reduces downtime.


The computing device may determine a flow rate associated with the speed of the pump 110. The flow rate is the volume of fluid that the pump 110 moves per unit of time is a parameter used for understanding the pump's performance and efficiency. The flow rate is calculated based on a correlation of the first signal and the speed of the pump. This relationship may be established through calibration and empirical data. The pump controller 122 may determine a linear or nonlinear relationship between the pump speed and a fluid flow rate. By continuously monitoring the flow rate, the system may make adjustments to optimize the pump's efficiency. For example, if the flow rate is lower than expected, the system may increase the motor's speed or adjust the current to achieve the desired flow rate.


The verification system 210 may function to determine a flowrate of the pump 110. For example, the verification system 210 may include a scale, an internal sensor to the beverage dispensing system, and/or any particular system capable of measuring the flowrate of the pump 110. On measuring the flowrate of the peristaltic pump, the flowrate data may be stored and compared to the rotational speed data of the pump 110. The pump controller 122 and/or the computing device 150 may employ the data to determine how the rotational speed of the pump 110 affects the flowrate of the pump 110. By determining a correlation between the flowrate and the rotational speed of the pump 110, the pump controller 122 and/or the computing device 150 may consistently and adequately dispense a desired amount of flavored syrup when dispensing a flavored drink.


At box 630, the process 600 may include determining a second signal based on the first signal and the speed of the pump. The second signal may be determined by a computing device such as pump controller 122, the computing device 150, and/or any particular system of the control system 220. The first signal and the speed of the pump may be processed together to generate the second signal. The first signal may be amplified to increase its strength, making it easier to analyze and use for control purposes.


The analog signal processor 222 may process the output current signal to generate the processed signal. The analog signal processor 222 may include an amplifier circuit 310 and a low-pass filter circuit 320. The amplifier circuit 310 may include any particular amplifier that increases the voltage of an input signal. For example, the amplifier circuit 310 may include a non-inverting operational amplifier. Continuing this example, when using a R2 value of 10KΩ and an R1 value of 2KΩ, the amplifier circuit 310 may receive the output current signal and amplify the output current signal by a factor of 6. Though illustrated as the non-inverting operational amplifier, the amplifier circuit 310 may include any particular amplifier for the particular needs of the control system 220. For example, the non-inverting operational amplifier may include variable resistors to control and vary the gain of the amplifier circuit 310. The primary purpose of amplification is to increase the strength (amplitude) of the first signal. This makes the signal easier to process, especially if it is initially weak or has been attenuated (reduced in strength) during transmission. Amplification also helps improve the signal-to-noise ratio by making the desired signal stronger relative to any background noise.


Additionally, the first signal may be filtered to remove any noise or unwanted components. Filtering the signal ensures that the signal is accurate. The low-pass filter 320 may filter the amplified signal to remove any noise and additional information present in the output current signal. Low-pass filter 320 allows signals with a frequency lower than a certain cutoff frequency to pass through and attenuates (reduces) signals with frequencies higher than the cutoff. Low-pass filters are especially useful for removing high-frequency noise from a signal. For example, the low-pass filter may include a passive resistor-capacitor (RC) filter, though any particular filter type may be employed (e.g., Chebyshev filters, resistor-inductor (RL) filters, pi type filters, etc.). On filtering the amplified signal from the amplifier circuit 310, the low-pass filter 320 may generate the processed signal. Though illustrated as analog circuits, the amplifier circuit 310 and the low-pass filter 320 may be performed through a digital system (e.g., the pump controller 122). The output of low-pass filter 320 may function as the processed signal that the second signal is based on.


For example, the pump 110 includes rollers 118A-B to compress a flexible tubing 130 to move fluid. The first signal represents the electrical current supplied to the motor 114. As the pump 110 operates, the speed of the rollers 118A-B is measured. The computing device may process the first signal and the speed data to generate a second signal. The computing device 150 and/or the pump controller 122 may extract from the output current signal, through various processing techniques, the various information associated with the pump 110. The computing device 150 and/or the pump controller 122 may employ the baseline value, the output current signal, and/or any other information extracted from the output current signal to determine a health status of the pump 110. During the processing phase for determining the rotational speed of the pump 110, the computing device 150, the analog signal processor 222, and/or the pump controller 122 may exclude the baseline value and other information carried in the output current signal. This second signal may indicate that the motor 114 needs more current to maintain a consistent flow rate, or it may signal that the motor should slow down to prevent over-compression of the flexible tubing 130.


At box 640, the process 600 may include supplying the electrical current to the motor driving the pump. The electrical current supplied to the motor head 116 may be based on the second signal which is derived from the speed of the pump 110 and the first signal that has been processed through analog signal processor 222. The computing device may receive the second signal and adjust the current accordingly. The computing device may interpret the second signal to determine the required adjustments to the electrical current. This involves understanding the signal's characteristics, such as its amplitude and frequency, which may indicate needed changes in motor operation. For example, if the second signal indicates that the motor 114 needs to work harder (e.g., to increase the pump's speed or handle a higher load), the pump controller 122 may increase the current. If the second signal indicates that the motor 114 may reduce its effort (e.g., to slow down the pump or reduce energy consumption), the pump controller 122 may decrease the current.


The system may operate in a feedback loop, continuously monitoring the first signal and the pump's speed, generating the second signal, and adjusting the current. The feedback loop ensures that the motor 114 operates efficiently and responds dynamically to changing conditions. The analog signal processor 222 may be used as a feedback mechanism for the pump 110. For example, the motor driver 120 generates an output current signal that reflects the current draw of the pump 110. This signal contains information about the pump's operational state, including its speed and load conditions. The output current signal is fed into the amplifier circuit 310, which increases the signal's voltage. This amplification makes the signal stronger and easier to process. The amplified signal is then passed through the low-pass filter circuit 320. This filter removes high-frequency noise and other unwanted components, resulting in a clean, processed signal. The processed signal is sent to the pump controller 122. The pump controller 122 may analyze this signal to determine the rotational speed of the pump 110 and other operational parameters. The pump controller 122 may use the processed signal to make real-time adjustments to the motor driver 120. For example, if the signal indicates that the pump 110 is running too slow, the pump controller 122 may increase the current supplied to the motor to speed it up. Conversely, if the pump 110 is running too fast, the pump controller 122 may reduce the current to slow it down. This feedback loop ensures that the pump 110 operates at the desired speed and maintains consistent fluid flow. The continuous monitoring and adjustment help to compensate for any variations in load, fluid viscosity, or other factors that may affect the pump's performance.



FIG. 7 is a block diagram of a computing device 700 that may be connected to or comprise a component of the beverage dispensing system 100. Computing device 700 may comprise hardware or a combination of hardware and software. The functionality to monitor and calibrate pump speeds in a beverage dispensing system may reside in one or a combination of computing devices 700. Computing device 700 depicted in FIG. 7 may represent or perform functionality of an appropriate computing device 700, or a combination of computing devices 700, such as, for example, a component or various components of a beverage dispensing system, a computing device, a processor, a server, a gateway, a database, a firewall, a router, a switch, a modem, an encryption tool, a virtual private network (VPN), a network access control (NAC) device, a secure web gateway, or the like, or any appropriate combination thereof. It is emphasized that the block diagram depicted in FIG. 7 is exemplary and not intended to imply a limitation to a specific example or configuration. Thus, computing device 700 may be implemented in a single device or multiple devices (e.g., single server or multiple servers, single gateway or multiple gateways, single controller or multiple controllers). Multiple network entities may be distributed or centrally located. Multiple network entities may communicate wirelessly, via hard wire, or any appropriate combination thereof.


Computing device 700 may comprise a processor 702 and a memory 704 coupled to processor 702. Memory 704 may contain executable instructions that, when executed by processor 702, cause processor 702 to effectuate operations associated with a beverage dispensing system. As evident from the description herein, computing device 700 is not to be construed as software per se.


In addition to processor 702 and memory 704, computing device 700 may include an input/output system 706. Processor 702, memory 704, and input/output system 706 may be coupled together (coupling not shown in FIG. 7) to allow communications between them. Each portion of computing device 700 may comprise circuitry for performing functions associated with each respective portion. Thus, each portion may comprise hardware, or a combination of hardware and software. Accordingly, each portion of computing device 700 is not to be construed as software per se. Input/output system 706 may be capable of receiving or providing information from or to a communications device or other network entities configured for monitoring and calibrating pump speeds in a beverage dispensing system. For example, input/output system 706 may include a wireless communication (e.g., 3G/4G/5G/GPS) card. Input/output system 706 may be capable of receiving or sending video information, audio information, control information, image information, data, or any combination thereof. Input/output system 706 may be capable of transferring information with computing device 700. In various configurations, input/output system 706 may receive or provide information via any appropriate means, such as, for example, optical means (e.g., infrared), electromagnetic means (e.g., RF, Wi-Fi, Bluetooth®, ZigBee®), acoustic means (e.g., speaker, microphone, ultrasonic receiver, ultrasonic transmitter), or a combination thereof. In an example configuration, input/output system 706 may comprise a Wi-Fi finder, a two-way GPS chipset or equivalent, or the like, or a combination thereof.


Input/output system 706 of computing device 700 also may contain a communication connection 708 that allows computing device 700 to communicate with other devices, network entities, or the like. Communication connection 708 may comprise communication media. Communication media may embody computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, or wireless media such as acoustic, RF, infrared, or other wireless media. The term computer-readable media as used herein includes both storage media and communication media. Input/output system 706 also may include an input device 710 such as keyboard, mouse, pen, voice input device, or touch input device. Input/output system 706 may also include an output device 712, such as a display, speakers, or a printer.


Processor 702 may be capable of performing functions associated with monitoring and calibrating pump speeds, as described herein. For example, processor 702 may be capable of, in conjunction with any other portion of computing device 700, monitoring and calibrating pump speeds of a beverage dispensing system, as described herein.


Memory 704 of computing device 700 may comprise a storage medium having a concrete, tangible, physical structure. As is known, a signal does not have a concrete, tangible, physical structure. Memory 704, as well as any computer-readable storage medium described herein, is not to be construed as a signal. Memory 704, as well as any computer-readable storage medium described herein, is not to be construed as a transient signal. Memory 704, as well as any computer-readable storage medium described herein, is not to be construed as a propagating signal. Memory 704, as well as any computer-readable storage medium described herein, is to be construed as an article of manufacture.


Memory 704 may store any information utilized in conjunction with a beverage dispensing system. Depending upon the exact configuration or type of processor, memory 704 may include a volatile storage 714 (such as some types of RAM), a nonvolatile storage 716 (such as ROM, flash memory), or a combination thereof. Memory 704 may include additional storage (e.g., a removable storage 718 or a non-removable storage 720) including, for example, tape, flash memory, smart cards, CD-ROM, DVD, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, USB-compatible memory, or any other medium that can be used to store information and that can be accessed by computing device 700. Memory 704 may comprise executable instructions that, when executed by processor 702, cause processor 702 to effectuate operations associated with document management.



FIG. 8 depicts an exemplary diagrammatic representation of a machine in the form of a computer system 800 within which a set of instructions, when executed, may cause the machine to perform any one or more of the methods described above. One or more instances of the machine can operate, for example, as processor 1002, motor driver 120, pump controller 122, computing device 150, server 160, database 170, and other devices of FIGS. 1-7. In some examples, the machine may be connected (e.g., using a network 802) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client user machine in a server-client user network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.


The machine may comprise a server computer, a client user computer, a personal computer (PC), a tablet, a smart phone, a laptop computer, a desktop computer, a control system, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. It will be understood that a communication device of the subject disclosure includes broadly any electronic device that provides voice, video or data communication. Further, while a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methods discussed herein.


Computer system 800 may include a processor (or controller) 804 (e.g., a central processing unit (CPU)), a graphics processing unit (GPU, or both), a main memory 806 and a static memory 808, which communicate with each other via a bus 810. The computer system 800 may further include a display unit 812 (e.g., a liquid crystal display (LCD), a flat panel, or a solid-state display). Computer system 800 may include an input device 814 (e.g., a keyboard), a cursor control device 816 (e.g., a mouse), a disk drive unit 818, a signal generation device 820 (e.g., a speaker or remote control) and a network interface device 822. In distributed environments, the examples described in the subject disclosure can be adapted to utilize multiple display units 812 controlled by two or more computer systems 800. In this configuration, presentations described by the subject disclosure may in part be shown in a first of display units 812, while the remaining portion is presented in a second of display units 812.


The disk drive unit 818 may include a tangible computer-readable storage medium on which is stored one or more sets of instructions (e.g., instructions 826) embodying any one or more of the methods or functions described herein, including those methods illustrated above. Instructions 826 may also reside, completely or at least partially, within main memory 806, static memory 808, or within processor 804 during execution thereof by the computer system 800. Main memory 806 and processor 804 also may constitute tangible computer-readable storage media.


While examples of a system for monitoring and calibrating pump speeds in a beverage dispensing system have been described in connection with various computing devices/processors, the underlying concepts may be applied to any computing device, processor, or system capable of dispensing beverages. The various techniques described herein may be implemented in connection with hardware or software or, where appropriate, with a combination of both. Thus, the methods and devices may take the form of program code (i.e., instructions) embodied in concrete, tangible, storage media having a concrete, tangible, physical structure. Examples of tangible storage media include floppy diskettes, CD-ROMs, DVDs, hard drives, or any other tangible machine-readable storage medium (computer-readable storage medium). Thus, a computer-readable storage medium is not a signal. A computer-readable storage medium is not a transient signal. Further, a computer readable storage medium is not a propagating signal. A computer-readable storage medium as described herein is an article of manufacture. When the program code is loaded into and executed by a machine, such as a computer, the machine becomes a device for monitoring and calibrating pump speeds in a beverage dispensing system. In the case of program code execution on programmable computers, the computing device will generally include a processor, a storage medium readable by the processor (including volatile or nonvolatile memory or storage elements), at least one input device, and at least one output device. The program(s) can be implemented in assembly or machine language, if desired. The language can be a compiled or interpreted language and may be combined with hardware implementations.


The methods and devices associated with monitoring and calibrating pump speeds as described herein also may be practiced via communications embodied in the form of program code that is transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via any other form of transmission, wherein, when the program code is received and loaded into and executed by a machine, such as an erasable programmable read-only memory (EPROM), a gate array, a programmable logic device (PLD), a client computer, or the like, the machine becomes a device for implementing document management as described herein. When implemented on a general-purpose processor, the program code combines with the processor to provide a unique device that operates to invoke the functionality of a beverage dispensing system.


While the disclosed systems have been described in connection with the various examples of the various figures, it is to be understood that other similar implementations may be used, or modifications and additions may be made to the described examples of a beverage dispensing system without deviating therefrom. For example, one skilled in the art will recognize that monitoring and calibrating pump speeds as described in the instant application may apply to any environment, whether wired or wireless, and may be applied to any number of such devices connected via a communications network and interacting across the network. Therefore, the disclosed systems as described herein should not be limited to any single example, but rather should be construed in breadth and scope in accordance with the appended claims.


Aspects, features, and benefits of the systems, methods, processes, formulations, apparatuses, and products discussed herein will become apparent from the information disclosed in the exhibits and the other applications as incorporated by reference. Variations and modifications to the disclosed systems and methods may be effected without departing from the spirit and scope of the novel concepts of the disclosure. Any further applications of the principles of the disclosure as illustrated therein are contemplated as would normally occur to one skilled in the art to which the disclosure relates.


The foregoing description of the exemplary embodiments has been presented only for the purposes of illustration and description and is not intended to be exhaustive or to limit the inventions to the precise forms disclosed. Many modifications and variations are possible in light of the above teaching.


The embodiments were chosen and described in order to explain the principles of the inventions and their practical application so as to enable others skilled in the art to utilize the inventions and various embodiments and with various modifications as are suited to the particular use contemplated. Alternative embodiments will become apparent to those skilled in the art to which the present inventions pertain without departing from their spirit and scope. Accordingly, the scope of the present inventions is defined by the appended claims rather than the foregoing description and the exemplary embodiments described therein.


From the foregoing, it will be understood that various aspects of the processes described herein are software processes that execute on computer systems that form parts of the system. Accordingly, it will be understood that various embodiments of the system described herein are generally implemented as specially-configured computers including various computer hardware components and, in many cases, significant additional features as compared to conventional or known computers, processes, or the like, as discussed in greater detail herein. Embodiments within the scope of the present disclosure also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media may be any available media which may be accessed by a computer, or downloadable through communication networks. By way of example, and not limitation, such computer-readable media may comprise various forms of data storage devices or media such as RAM, ROM, flash memory, EEPROM, CD-ROM, DVD, or other optical disk storage, magnetic disk storage, solid state drives (SSDs) or other data storage devices, any type of removable non-volatile memories such as secure digital (SD), flash memory, memory stick, etc., or any other medium which may be used to carry or store computer program code in the form of computer-executable instructions or data structures and which may be accessed by a computer.


When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such a connection is properly termed and considered a computer-readable medium. Combinations of the above should also be included within the scope of computer-readable media. Computer-executable instructions comprise, for example, instructions and data which cause a computer to perform one specific function or a group of functions.


Those skilled in the art will understand the features and aspects of a suitable computing environment in which aspects of the disclosure may be implemented. Although not required, some of the embodiments of the claimed inventions may be described in the context of computer-executable instructions, such as program modules or engines, as described earlier, being executed by computers in networked environments. Such program modules are often reflected and illustrated by flow charts, sequence diagrams, exemplary screen displays, and other techniques used by those skilled in the art to communicate how to make and use such computer program modules. Generally, program modules include routines, programs, functions, objects, components, data structures, application programming interface (API) calls to other computers whether local or remote, etc. that perform particular tasks or implement particular defined data types, within the computer. Computer-executable instructions, associated data structures and/or schemas, and program modules represent examples of the program code for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.


Those skilled in the art will also appreciate that the claimed and/or described systems and methods may be practiced in network computing environments with many types of computer system configurations, including personal computers, smartphones, tablets, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, networked PCs, minicomputers, mainframe computers, and the like. Embodiments of the claimed invention are practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination of hardwired or wireless links) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.


An exemplary system for implementing various aspects of the described operations, which is not illustrated, includes a computing device including a processing unit, a system memory, and a system bus that couples various system components including the system memory to the processing unit. The computer will typically include one or more data storage devices for reading data from and writing data to. The data storage devices provide nonvolatile storage of computer-executable instructions, data structures, program modules, and other data for the computer.


Computer program code that implements the functionality described herein typically comprises one or more program modules that may be stored on a data storage device. This program code, as is known to those skilled in the art, usually includes an operating system, one or more application programs, other program modules, and program data. A user may enter commands and information into the computer through keyboard, touch screen, pointing device, a script containing computer program code written in a scripting language or other input devices (not shown), such as a microphone, etc. These and other input devices are often connected to the processing unit through known electrical, optical, or wireless connections.


The computer that effects many aspects of the described processes will typically operate in a networked environment using logical connections to one or more remote computers or data sources, which are described further below. Remote computers may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically include many or all of the elements described above relative to the main computer system in which the inventions are embodied. The logical connections between computers include a local area network (LAN), a wide area network (WAN), virtual networks (WAN or LAN), and wireless LANs (WLAN) that are presented here by way of example and not limitation. Such networking environments are commonplace in office-wide or enterprise-wide computer networks, intranets, and the Internet.


When used in a LAN or WLAN networking environment, a computer system implementing aspects of the invention is connected to the local network through a network interface or adapter. When used in a WAN or WLAN networking environment, the computer may include a modem, a wireless link, or other mechanisms for establishing communications over the wide area network, such as the Internet. In a networked environment, program modules depicted relative to the computer, or portions thereof, may be stored in a remote data storage device. It will be appreciated that the network connections described or shown are exemplary and other mechanisms of establishing communications over wide area networks or the Internet may be used.


While various aspects have been described in the context of a preferred embodiment, additional aspects, features, and methodologies of the claimed inventions will be readily discernible from the description herein, by those of ordinary skill in the art. Many embodiments and adaptations of the disclosure and claimed inventions other than those herein described, as well as many variations, modifications, and equivalent arrangements and methodologies, will be apparent from or reasonably suggested by the disclosure and the foregoing description thereof, without departing from the substance or scope of the claims. Furthermore, any sequence(s) and/or temporal order of steps of various processes described and claimed herein are those considered to be the best mode contemplated for carrying out the claimed inventions. It should also be understood that, although steps of various processes may be shown and described as being in a preferred sequence or temporal order, the steps of any such processes are not limited to being carried out in any particular sequence or order, absent a specific indication of such to achieve a particular intended result. In most cases, the steps of such processes may be carried out in a variety of different sequences and orders, while still falling within the scope of the claimed inventions. In addition, some steps may be carried out simultaneously, contemporaneously, or in synchronization with other steps.


The embodiments were chosen and described in order to explain the principles of the claimed inventions and their practical application so as to enable others skilled in the art to utilize the inventions and various embodiments and with various modifications as are suited to the particular use contemplated. Alternative embodiments will become apparent to those skilled in the art to which the claimed inventions pertain without departing from their spirit and scope. Accordingly, the scope of the claimed inventions is defined by the appended claims rather than the foregoing description and the exemplary embodiments described therein.

Claims
  • 1. One or more computing devices, comprising one or more processors, configured to: receive a first signal associated with an electrical current supplied to a motor driving a pump;determine a speed of the pump;determine, based on the first signal and the speed of the pump, a second signal; andsupply, based on the second signal, the electrical current to the motor driving the pump.
  • 2. The one or more computing devices of claim 1, wherein the pump is a peristaltic pump.
  • 3. The one or more computing devices of claim 1, wherein the one or more processors are further configured to dispense, by the peristaltic pump, fluid into a mixing chamber.
  • 4. The one or more computing devices of claim 1, wherein determining the second signal comprises amplifying the first signal.
  • 5. The one or more computing devices of claim 1, wherein determining the second signal comprises filtering the first signal.
  • 6. The one or more computing devices of claim 1, wherein the one or more processors are further configured to identify one or more events associated with the first signal.
  • 7. The one or more computing devices of claim 6, wherein the one or more events comprise positive slope zero crossings.
  • 8. The one or more computing devices of claim 6, wherein the one or more events comprise changes in current draw associated with roller compressions of the pump.
  • 9. The one or more computing devices of claim 1, wherein the speed of the pump is a rotational speed.
  • 10. The one or more computing devices of claim 1, wherein the speed of the pump is determined based on an occurrence of one or more events over a period of time.
  • 11. The one or more computing devices of claim 1, wherein the one or more processors are further configured to determine, based on the first signal, a flow rate associated with the speed of the pump.
  • 12. A method performed by one or more computing devices, the method comprising: receiving a first signal associated with an electrical current supplied to a motor driving a pump;determining a speed of the pump;determining a second signal based on the first signal and the speed of the pump; andsupplying, based on the second signal, the electrical current to the motor driving the pump.
  • 13. The method of claim 12, wherein the pump is a peristaltic pump.
  • 14. The method of claim 12, further comprising dispensing, by the peristaltic pump, fluid into a mixing chamber.
  • 15. The method of claim 12, wherein determining the second signal comprises amplifying the first signal.
  • 16. The method of claim 12, wherein determining the second signal comprises filtering the first signal.
  • 17. The method of claim 12, further comprising identifying one or more events associated with the first signal.
  • 18. A system comprising: one or more processors; anda memory coupled with the one or more processors, the memory storing executable instructions that when executed by the one or more processors cause the one or more processors to effectuate operations comprising: receiving a first signal associated with an electrical current supplied to a motor driving a pump;determining a speed of the pump;determining a second signal based on the first signal and the speed of the pump; andsupplying, based on the second signal, the electrical current to the motor driving the pump.
  • 19. The system of claim 18, wherein the pump is a peristaltic pump.
  • 20. The system of claim 18, wherein fluid is dispensed by the pump into a mixing chamber.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of, and priority to, U.S. Provisional Patent Application No. 63/594,243, filed Oct. 30, 2023, and entitled “SYSTEMS AND METHODS FOR MONITORING PUMP SPEEDS OF PERISTALTIC PUMPS,” which is hereby incorporated by reference in its entirety as if set forth herein.

Provisional Applications (1)
Number Date Country
63594243 Oct 2023 US