Predictive maintenance method and system
The predictive maintenance system for pumps and valves monitors torque, temperature, and backlash to detect impending failures, allowing for proactive maintenance and reducing downtime and costs.
Patent Information
- Application Number
- PCT/US2025/010687
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-11-13
- Filing Date
- 2025-01-08
- Publication Date
- 2025-07-17
AI Technical Summary
Complex systems with components like pumps and valves often fail due to wear and tear, leading to leaks and system downtime, which is costly and inefficient without effective predictive maintenance methods.
A system and method for predictive maintenance that monitors torque, temperature, and backlash in valves and pumps using onboard motion controllers, potentially with machine learning algorithms, to detect impending failures and adjust operations or alert users.
Enables proactive maintenance, reducing downtime and costs by predicting component failures before they occur, thus maintaining system efficiency and extending the lifespan of components.
Smart Images

Figure US2025010687_17072025_PF_FP_ABST
Abstract
Description
PREDICTIVE MAINTENANCE METHOD AND SYSTEMBACKGROUND
[0001] Many complex systems use components such as pumps and valves (e.g., shear valves). Such components may fail due to wear and tear or other reasons leading to leaks or otherwise not providing a desired output. This may cause the whole system to fail causing delays as well as requiring technicians to be called to change parts. These repairs can be costly and can create significant downtime to the system. Therefore, a method and system to predict when maintenance of components such as valves and pumps is required is desirable.SUMMARY
[0002] Some embodiments described herein relate to a system and method associated with predictive maintenance of a component of a system such as a valve and / or a pump. The valve may comprise a rotary valve comprising a rotor and stator. The method includes monitoring a torque in the valve while the valve is rotating or the pump while a lead screw of the pump is moving, via an onboard motion controller. Generally, the rotation of the valve comprises relative rotation of the stator and rotor faces under load. Movement of the pump comprises a reciprocating movement of a piston in a chamber traveling between spaced stop edges. Based on the monitored torque, it is determined if a change in the torque is within an acceptable range representing sufficient sealing between the rotor and stator faces or between the piston and the chamber.
[0003] An increased torque, representing an increase in resistance to motion, may therefore indicate a deterioration in a material of the valve or the pump which could lead to sealing failure. The material may be any type of material such as a polymer, a metal or a ceramic. In a case that the change in the torque is within the acceptable range, the torque is continued to be monitored. In a case that the change in the torque is outside of the acceptable range, an indication is transmitted to a user or an operation of the system is caused to stop. In the case of the valve, monitoring the load applied to the rotor and stator faces (“vertical force loss”) will also be indicative of wear and resultant sealing.
[0004] In some embodiments, the torque may be determined directly using one or more sensors.
[0005] In other embodiments, the torque may be measured indirectly through a change in a current draw associated with a motor moving a rotor in the valve or a shaft in the pump. Advantageously, this may eliminate the need for torque sensors, thereby decreasing the cost of the system. In such cases, it is determined if the change in current draw is within an acceptable range. In a case that the change in current draw is within the acceptable range, the force is continued to be monitored. In a case that the change in current draw is outside of the acceptable range, an indication is transmitted to a user or an operation of the system is modulated such as caused to stop or slow down. Various other characteristics of the valve and / or pump may be monitored and / or recorded and used to predict failure in the system. Such characteristics include, without limitation: temperature of the system, and backlash of the system. The backlash may be monitored through one or more of a position, a speed or a direction of motion of the rotor or the pump. The system may include an encoder, or any other type of sensor, for monitoring the position, speed or direction of motion. The encoder may be optical or magnetic.
[0006] Various characteristics of the valve and / or pump may be monitored and / or recorded at one or more initialization steps of the valve and / or pump. The characteristics may include one or more of a torque, temperature, backlash, and / or other attributes of the valve and / or pump. A training data point may be generated for each initialization, where the training data point includes the torque, temperature, backlash, vertical force and / or other attributes. The training data point may include a label indicating whether the valve is functioning properly or not. After a sufficient number of training data points have been collected, a machine learning algorithm (MLA) may be trained using the training data points to predict whether a failure is imminent for the valve and / or pump. During operation of the valve and / or pump, characteristics of the valve and / or pump may be collected and input into the trained MLA. The trained MLA may output an indication of whether failure is imminent for the valve and / or pump. If failure is imminent, an alert may be output and / or adjustments may be made to parameters of the valve and / or pump.
[0007] According to a first aspect of the present technology, there is provided a method comprising: activating a valve; determining a torque corresponding to the valve; comparing the torque to a predetermined threshold torque; and after determining that the torque is above or below the predetermined threshold torque, outputting an alert indicating that performance of the valve is degrading and / or modulating an operation of a system comprising the valve.
[0008] According to another aspect of the present technology, there is provided a method comprising: activating a valve; determining a temperature corresponding to the valve; comparing the temperature to a predetermined threshold temperature; and after determining that the temperature is above or below the predetermined threshold temperature, outputting an alert indicating that performance of the valve is degrading and / or modulating an operation of a system comprising the valve.
[0009] According to another aspect of the present technology, there is provided a method comprising: activating a valve; determining a backlash corresponding to the valve; comparing the backlash to a predetermined threshold backlash; and after determining that the backlash is above or below the predetermined threshold backlash, outputting an alert indicating that performance of the valve is degrading and / or modulating an operation of a system comprising the valve.
[0010] According to another aspect of the present technology, there is provided a method comprising: activating a valve; determining a torque, temperature, and backlash corresponding to the valve; generating a training data point comprising the torque, temperature, and backlash; determining whether the valve failed; adding a label to the training data point indicating whether the valve failed; adding the training data point to a training dataset comprising a plurality of training data points; and training, using the training dataset, a machine learning algorithm (MLA) to predict whether a valve is failing. According to yet another aspect of the present technology, there is provided a method comprising: activating a valve; determining one or more of a torque, temperature, and backlash corresponding to the valve; inputting one or more of the torque, temperature, and backlash to a machine learning algorithm (MLA), wherein the MLA was trained using a plurality of training data points, each training data point comprising one or more of: a torque corresponding to a respective valve, a temperaturecorresponding to the respective valve, a backlash corresponding to the respective valve, and a label indicating whether the respective valved failed; outputting, by the MLA, an indication of whether the valve is failing; and after determining, based on the output of the MLA, that the valve is failing, outputting an alert indicating that the valve is failing and / or modulating an operation of a system comprising the valve.
[0011] In some implementations of any of the aspects of the method, the modulating the operation of the system comprises initiating a shutdown of the system.
[0012] In some implementations of any of the aspects of the method, the method comprises reducing a speed of the valve.
[0013] In some implementations of any of the aspects of the method, the valve comprises a rotary valve, and the speed comprises a rotary speed.
[0014] In some implementations of any of the aspects of the method, the alert comprises an indication of a part of the valve, or of the system, to replace.
[0015] In some implementations of any of the aspects of the method, the alert comprises a predicted remaining lifespan of the valve.
[0016] In some implementations of any of the aspects of the method, the alert comprises a unique identifier of the valve.
[0017] In some implementations of any of the aspects of the method, the predetermined threshold torque is a predetermined maximum torque, and after determining that the torque is above the predetermined maximum torque, outputting an alert indicating that performance of the valve is degrading and / or modulating an operation of a system comprising the valve.
[0018] In some implementations of any of the aspects of the method, the predetermined threshold torque is a predetermined minimum torque, and after determining that the torque is below the predetermined minimum torque, outputting an alert indicating that performance of the valve is degrading and / or modulating an operation of a system comprising the valve.
[0019] In some implementations of any of the aspects of the method, the method further comprises determining a temperature corresponding to the valve; comparing the temperature to a predetermined threshold temperature; and after determining that the temperature is above the predetermined threshold temperature, outputting the alert indicating that performance of the valve is degrading and / or modulating the operation of the system.
[0020] In some implementations of any of the aspects of the method, the method further comprises comparing the temperature to a predetermined minimum temperature; and after determining that the temperature is below the predetermined minimum temperature, outputting the alert indicating that performance of the valve is degrading and / or modulating the operation of the system.
[0021] In some implementations of any of the aspects of the method, the method further comprises determining a backlash corresponding to the valve; comparing the backlash to a predetermined threshold backlash; and after determining that the backlash is above the predetermined threshold backlash, outputting the alert indicating that performance of the valve is degrading and / or modulating the operation of the system.
[0022] In some implementations of any of the aspects of the method, the method further comprises comparing the backlash to a predetermined minimum backlash; and after determining that the backlash is below the predetermined minimum backlash, outputting the alert indicating that performance of the valve is degrading and / or modulating the operation of the system.
[0023] In some implementations of any of the aspects of the method, determining the torque is further based on one or both of a temperature of the rotor and stator and backlash associated with the rotor changing directions.
[0024] In some implementations of any of the aspects of the method, the method comprises running a first verification process; increasing friction temperature in the valve by rotating the valve; resting the valve to cool down the valve; running a second verification process; and comparing torque values associated with the valve from the first verification process and from the second verification process.
[0025] In some implementations of any of the aspects of the method, the predetermined threshold torque comprises a torque value associated with the first verification process and / or with the second verification process.
[0026] In some implementations of any of the aspects of the method, the predetermined threshold torque comprises an acceptable difference in torque value between the first and second verification processes.
[0027] In some implementations of any of the aspects of the method, the method comprises rotating the valve in the same direction in the first and second verification processes.
[0028] In some implementations of any of the aspects of the method, the method comprises rotating the valve in different directions in the first and second verification processes.
[0029] In some implementations of any of the aspects of the method, the indication to the user is further based on measuring port alignment accuracy comprising causing the valve to go to each port and tracking the actual location of the valve associated with going to each port.
[0030] In some implementations of any of the aspects of the method, the determining the torque comprises monitoring a force in the valve; and determining, based on the monitored force, a change in a current draw associated with a motor moving a rotor in the valve.
[0031] In some implementations of any of the aspects of the method, the force is a vertical force between the rotor and a stator.
[0032] According to another broad aspect of the present technology, there is provided a system comprising: at least one processor and memory comprising executable instructions which, when executed by the at least one processor, cause the system to perform a method according to any of the aspects and implementations above.
[0033] In certain implementations of the system, the system comprises a sensor for measuring torque.
[0034] In certain implementations of the system, the system comprises an encoder for monitoring one or more of a position, a speed or a direction of motion of the rotor or the pump. The encoder may be configured to monitor in real-time. The encoder may comprise an optical or a magnetic encoder.
[0035] In certain implementations of the system, the system comprises a motor for driving movement of the rotor of the valve and / or the piston of the pump. The motor may comprise a stepper motor.
[0036] In certain implementations of the system, the system comprises one or more of an accelerometer and a gyroscope.
[0037] In certain implementations of the system, the system does not require a torque sensor for measuring torque. In such implementations, the system may comprise one or more sensors for measuring current draw and / or load.
[0038] In certain implementations of the system, the system does not require a flow sensor and / or a pressure sensor for detecting fluid flow in the valve and / or the pump.
[0039] According to another aspect of the present technology, there is provided a method comprising: monitoring a force in a valve or a pump via an onboard motion controller; determining, based on the monitored force, a change in a current draw associated with a motor moving a rotor in the valve or a shaft in the pump; determining if the change in current draw is within an acceptable range; in a case that the change in current draw is within the acceptable range, continue monitoring the force; and in a case that the change in current draw is outside of the acceptable range, transmit an indication to a user.
[0040] In some implementations of the method, the force is a vertical force between the rotor and a stator.
[0041] In some implementations of the method, the force is a vertical force between the shaft and a stop.
[0042] In some implementations of the method, the indication transmitted to the user comprises an indication of a potential leak in the valve or performance degradation associated with the pump.
[0043] In some implementations of the method, determining the change in current draw is further based on a temperature of the rotor and stator and backlash associated with the rotor changing directions.
[0044] In some implementations of the method, determining the change in current draw based on a temperature of the rotor and stator and backlash comprises: running a first verification process; increasing friction temperature in the valve by rotating the valve; resting the valve to cool down the valve; running a second verification process; and comparing shear torque values associated with the valve from the first verification process and from the second verification process.
[0045] In some implementations of the method, the indication to the user is further based on measuring port alignment accuracy comprising instructing the valve to go to each port and tracking the actual location of the valve associated with going to each port.
[0046] According to another broad aspect of the present technology, there is provided a system comprising: a processor; a non-transitory computer-readable storage medium storing instructions that when executed by the processor cause the processor to: monitor, via the processor, a force in a valve or a pump via an onboard motion controller comprising the processor; determine, based on the monitored force, a change in a current draw associated with a motor moving a rotor in the valve or a shaft in the pump; determine if the change in current draw is within an acceptable range; in a case that the change in current draw is within the acceptable range, continue monitoring the force; and in a case that the change in current draw is outside of the acceptable range, transmit an indication to a user.
[0047] In some implementations of the system, the force is a vertical force between the rotor and a stator.
[0048] In some implementations of the system, the force is a vertical force between the shaft and a stop.
[0049] In some implementations of the system, the indication transmitted to the user comprises an indication of a potential leak in the valve or performance degradation associated with the pump.
[0050] In some implementations of the system, determining the change in current draw is further based on a temperature of the rotor and stator and backlash associated with the rotor changing directions.
[0051] In some implementations of the system, determining the change in current draw based on a temperature of the rotor and stator and backlash comprises: running a first verification process; increasing friction temperature in the valve by rotating the valve; resting the valve to cool down the valve; running a second verification process; and comparing shear torque values associated with the valve from the first verification process and from the second verification process.
[0052] In some implementations of the system, the indication to the user is further based on measuring port alignment accuracy comprising instructing the valve to go to each port and tracking the actual location of the valve associated with going to each port.
[0053] Various implementations of the present technology provide a computer-based system, such as, for example, but without being limitative, an electronic device comprising at least one processor and a memory storing program instructions for executing one or more methods described herein, the program instructions being executable by the at least one processor of the electronic device.
[0054] It should be expressly understood that not all technical effects mentioned herein need be enjoyed in each and every embodiment of the present technology.
[0055] As used herein, the wording “and / or” is intended to represent an inclusive-or; for example, “X and / or Y” is intended to mean X or Y or both. As a further example, “X, Y, and / or Z” is intended to mean X or Y or Z or any combination thereof.
[0056] In the context of the present specification, unless expressly provided otherwise, a computer system or computing environment may refer, but is not limited to, an “electronic device,” a “computing device,” an “operation system,” a “system,” a “computer-based system,” a “computer system,” a “network system,” a “network device,” a “controller unit,” a “monitoring device,” a “control device,” a “server,” and / or any combination thereof appropriate to the relevant task at hand.
[0057] In the context of the present specification, unless expressly provided otherwise, any of the methods and / or systems described herein may be implemented in a cloud-based environment, such as, but not limited to, a Microsoft Azure environment, an Amazon EC2 environment, and / or a Google Cloud environment.
[0058] In the context of the present specification, unless expressly provided otherwise, the expression “computer-readable medium” and “memory” are intended to include media of any nature and kind whatsoever, non-limiting examples of which include RAM, ROM, disks (e.g., CD-ROMs, DVDs, floppy disks, hard disk drives, etc.), USB keys, flash memory cards, solid state-drives, and tape drives. Still in the context of the present specification, “a” computer- readable medium and “the” computer-readable medium should not be construed as being the same computer-readable medium. To the contrary, and whenever appropriate, “a” computer- readable medium and “the” computer-readable medium may also be construed as a first computer-readable medium and a second computer-readable medium.
[0059] In the context of the present specification, unless expressly provided otherwise, the words “first,” “second,” “third,” etc. have been used as adjectives only for the purpose of allowing for distinction between the nouns that they modify from one another, and not for the purpose of describing any particular relationship between those nouns.
[0060] Additional and / or alternative features, aspects and advantages of implementations of the present technology will become apparent from the following description, the accompanying drawings, and the appended claims.BRIEF DESCRIPTION OF THE DRAWINGS
[0061] For a better understanding of the present technology, as well as other aspects and further features thereof, reference is made to the following description which is to be used in conjunction with the accompanying drawings, where:
[0062] FIG. 1 illustrates a method for predicting when to perform maintenance on a valve or pump in accordance with some embodiments.
[0063] FIG. 2A, FIG. 2B, and FIG. 2C illustrate graphs indicating valve information in accordance with some embodiments.
[0064] FIG. 3 illustrates a valve in accordance with some embodiments.
[0065] FIG. 4 illustrates a pump in accordance with some embodiments.
[0066] FIG. 5 illustrates a motion controller in accordance with some embodiments.
[0067] FIG. 6 illustrates a flow diagram of a method for operating a valve or pump in accordance with various embodiments of the present technology.
[0068] FIG. 7 illustrates a flow diagram of a method for training a machine learning algorithm to predict when a valve or pump will fail in accordance with various embodiments of the present technology.
[0069] FIG. 8 illustrates a flow diagram of a method for using a machine learning algorithm to operate a valve or pump in accordance with various embodiments of the present technology.
[0070] FIG. 9 is a block diagram of an example computing environment in accordance with various embodiments of the present technology.DETAILED DESCRIPTION
[0071] The examples and conditional language recited herein are principally intended to aid the reader in understanding the principles of the present technology and not to limit its scope to such specifically recited examples and conditions. It will be appreciated that those skilled in the art may devise various arrangements which, although not explicitly described or shownherein, nonetheless embody the principles of the present technology and are included within its spirit and scope.
[0072] Furthermore, as an aid to understanding, the following description may describe relatively simplified implementations of the present technology. As persons skilled in the art would understand, various implementations of the present technology may be of greater complexity.
[0073] In some cases, what are believed to be helpful examples of modifications to the present technology may also be set forth. This is done merely as an aid to understanding, and, again, not to define the scope or set forth the bounds of the present technology. These modifications are not an exhaustive list, and a person skilled in the art may make other modifications while nonetheless remaining within the scope of the present technology. Further, where no examples of modifications have been set forth, it should not be interpreted that no modifications are possible and / or that what is described is the sole manner of implementing that element of the present technology.
[0074] Moreover, all statements herein reciting principles, aspects, and implementations of the present technology, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof, whether they are currently known or developed in the future. Thus, for example, it will be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the present technology. Similarly, it will be appreciated that any flowcharts, flow diagrams, state transition diagrams, pseudo-code, and the like represent various processes which may be substantially represented in computer-readable media and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
[0075] The functions of the various elements shown in the figures, including any functional block labeled as a “processor,” may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may beshared. In some embodiments of the present technology, the processor may be a general purpose processor, such as a central processing unit (CPU) or a processor dedicated to a specific purpose, such as a digital signal processor (DSP). Moreover, explicit use of the term a “processor” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read-only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional and / or custom, may also be included.
[0076] Software modules, or simply modules which are implied to be software, may be represented herein as any combination of flowchart elements or other elements indicating performance of process steps and / or textual description. Such modules may be executed by hardware that is expressly or implicitly shown. Moreover, it should be understood that one or more modules may include for example, but without being limitative, computer program logic, computer program instructions, software, stack, firmware, hardware circuitry, or a combination thereof.
[0077] The embodiments described herein relate to a system and method for predicting when maintenance will be required for an apparatus such as, but not limited to a valve (e.g., a shear valve) or a pump. Instead of using additional sensors which add to cost and complexity, at least some of the embodiments described herein relate to calculating torque using force via an onboard load measuring software such as, but not limited to, StallGuard™. The load measuring software may comprise a sensorless load measurement designed for stepper motors (i.e., stall detection technology). The sensorless technology may detect up to 1024 different load levels and then provide feedback in a form of a current draw for continuous monitoring of a valve or pump. The detected current draw may represent a torque.
[0078] The embodiments described herein may further relate to a method of predictive maintenance measurements associated with load value detection in a stepper motor that is created and transferred via shafts, unions, material frictions, positive stop impact resistance detected between a rotor, a stator, a plunger, and / or a piston. During movement of a rotor or plunger (e.g., a shaft) a logarithm logic and integrated circuit may monitor StallGuard™ valuesas an indication of the relative torque forces required to rotate or vertically move the load on the motor. The initial StallGuard™ values may then be recorded and stored in memory. After every subsequent motion the StallGuard™ values may be reported and tracked. If a relative torque value measured is decreased by a predetermined positive or a predetermined negative percentage value of the original measured value, the StallGuard™ values may be stored in a wear log (e.g., a database) located in an integrated memory circuit. The integrated memory circuit may be an on-board integrated memory circuit. When a value falls below a predetermined threshold the result may be stored in memory and a user may be notified that a valve (comprising a rotor and stator) or pump has reached a maximum allowable wear.
[0079] Now referring to FIG. 1, a method 100 that might be performed an onboard monitoring device, such as the device described with respect to FIG. 5, is illustrated according to some embodiments. In one or more aspects, the method 100 or one or more steps thereof may be performed by a computing system, such as the computing environment 900. The method described herein does not imply a fixed order to the steps, and embodiments of the present invention may be practiced in any order that is practicable. Note that any of the methods described herein may be performed by hardware, software, or any combination of these approaches. For example, a non-transitory computer-readable storage medium may store thereon instructions that when executed by a machine result in performance according to any of the embodiments described herein.
[0080] Method 100 may relate to predicting when maintenance will be required for an apparatus such as a shear valve, a rotary valve, a pump, and / or any other suitable apparatus. The rotary valve may be a rotary valve as described in U.S. Patent Application Numbers 17 / 749,971 and 17 / 391,784, which are incorporated herein by reference in their entireties. Predicting when maintenance will be required allows a user to easily swap or replace a shear valve, or pump, that is currently in use before a leak or other damage occurs. For example, even when a valve or pump is not leaking, its performance may be degraded which can lead to performance issues or mechanical breakdowns of a system.
[0081] Now referring to step 110, a force in a valve or a pump may be monitored via an onboard motion controller. In some embodiments, the force may comprise a vertical force thatis applied between a rotor and a stator. In some embodiments, the force may comprise a vertical force applied between a shaft and a stop.
[0082] For example, the valve or pump may be monitored via a motion controller, such as a motion controller described with respect to FIG. 5. The motion controller may use a measured value as an indication of a relative torque required to rotate, or push, a load on a motor. This initial measured value may be recorded with every subsequent initialization value from the processor (e.g., a value from a StallGuard™ software) and these values may be tracked. In other words, a relative torque value may be measured and that value, and any decreases by a pre-determined percentage value of an original measured value, may be stored in a wear log. If the measured value falls below an acceptable range, an indication will be sent that the valve or pump should be serviced, or an operation of the valve or the pump will be modulated such as by shutting down or reducing a speed of operation.
[0083] For purposes of illustrating features of the present embodiments, some examples will now be introduced and referenced throughout the disclosure. Those skilled in the art will recognize that these examples are illustrative and are not limiting and are provided purely for explanatory purposes.
[0084] In a first example, and referring to FIG. 3, an embodiment of a shear valve 300 is illustrated. The shear valve 300 may comprise a motor 310 and a motor shaft 304 that holds (e g., pushes) a surface 312 of a rotor 306 onto a surface 316 of a stator 308 so that the rotor 306 and stator 308 can be in fluid communication with each other and without leaking. This may be accomplished by a force 320 of the shaft 304 on the rotor 306 towards the stator 308 via a mechanical device such as, but not limited to, one or more springs. Depending on the orientation of the shear valve 300, the force 320 may be downward. However, springs may wear as time and use continue, thus the springs may weaken causing there to be less force to hold the rotor 306 on to the stator 308. The force 320 may be measured and monitored by encoder 302 which functions as a motion controller. When the rotor and stator are rotated according to motion 318 there is both a vertical force as well as a sheer force load relative to the vertical force. Because of vertical force loss there will also be a reduction in shear torque and because of this, changes in current draw which can go up, or down, will be apparent.
[0085] In a second example, and referring to FIG. 4, an embodiment of a pump 400 is illustrated. The pump 400 may comprise a motor 412, a shaft 404 (e.g., a plunger or piston) that moves between two stop edges 406 / 408 according to a motion 416. The shaft 404 may include a lead screw 422, a lead screw travel ring 420, and have various stop edges such as positive stop edges 418, 410, and 424. The shaft 404 may move between these two stop edges 406 and 408 of a body frame 414. The shaft may move in a chamber 426 containing a chamber with media 428 and a positive stop edge 430. A stop 410 that is coupled to the shaft 404 may contact each stop edge 406 / 408. A force of each contact between stop edge 406 and stop 410 may be measured. Likewise, a force of each contact between stop edge 408 and stop 410 may be measured. The force may be measured and monitored by encoder 402 which functions as a motion controller. In some embodiments, a stop typically refers to a mechanical device or feature that restricts movement to a predetermined position, ensuring accuracy or preventing overtravel in a mechanism or system.
[0086] A stop may also be considered a mechanism where a predetermined force is applied to bring a moving part to a halt at a specific position, ensuring accuracy or controlled positioning. A stop helps prevent excessive force or impact during the stopping process. In the present embodiments, an encoder is used to detect or measure stopping conditions, potentially to initiate a stopping mechanism and prevent or limit impact forces. Measured values are then reported to the StallGuard™ software.
[0087] For a pump, the StallGuard™ software is tracking motion traveled via a screw / shaft. When the disc on a screw / shaft hits a stop, the StallGuard™ software measures the increase in current on the motor. It measures precisely enough to know that the screw / shaft is switching direction. Since every screw is different the StallGuard™ software may adjust for the variations in the screw / shaft.
[0088] Referring back to FIG. 1, at step 120, a change in a current draw associated with (i) a motor moving a rotor in the valve or (ii) a shaft in the pump is determined. Current draw may be calculated based on the measure of the force as described with respect to step 110. In some embodiments regarding a shear valve, determining a change in current draw may be furtherbased on a temperature of the rotor and stator as well as backlash associated with the rotor changing directions.
[0089] The backlash may be determined by setting the system to a known position using readings from the encoder. Then, the motor may be commanded to rotate the motor in a first direction by a specific amount. After rotating the motor in the first direction, a position of the encoder may be determined and stored. The encoder may return the position of the encoder in microsteps (p Steps). The motor may then be stopped for a predetermined amount of time. Then, the motor may be commanded to rotate in the opposite direction. The backlash may be determined as the difference in encoder counts between when the motor is commanded to rotate the rotor in the opposite direction and when the encoder detects the movement. This process may be repeated multiple times, in both directions, in order to generate multiple backlash values. An average, median, etc. of the multiple backlash values may be taken in order to determine the backlash. If the gearbox of the system can experience different operational loads, the backlash may be determined under the various different operational loads.
[0090] Determining the change in current draw based on a temperature of the rotor and stator and backlash may be determined by (i) running a first verification process (e.g., an initialization process), (ii) increasing friction temperature in the valve by rotating the valve, (iii) resting the valve to cool down the valve and (iv) running a second verification process. At this point shear torque values associated with the valve from the first verification process and from the second verification process may be compared.
[0091] FIG. 2A illustrates a graph 210 indicating a temperature of the valve over time. The temperature is measured at each of the timestamps illustrated on the x-axis of the graph 210. The graph 210 illustrates a rotation of the rotor. As can be seen in the graph 210, the temperature of the valve increases as the rotor begins rotating. After the rotor has stopped at a port, the temperature of the valve decreases.
[0092] FIG. 2B illustrates a graph 220 indicating a torque between rotating surfaces of the valve over time. The torque is measured at each of the timestamps illustrated on the x-axis ofthe graph 212. The graph 220 illustrates a rotation of the rotor. As can be seen in the graph 220, the torque applied by the motor increases as the rotor begins rotating. After the rotor has stopped at a port, the torque applied to the valve decreases. An increase in the amount of torque applied to the valve in order to rotate the rotor can indicate an increase in wear in the valve.
[0093] FIG. 2C illustrates a graph 230 indicating a backlash of the valve over time. The backlash is measured at each of the timestamps illustrated on the x-axis of the graph 230. As described above, the backlash is measured as an amount of encoder counts counted between when a motor is instructed to rotate in a direction and when the encoder detects the actual movement. As can be seen in the graph 230, there may be some variation in the amount of microsteps measured each time the backlash is measured. An increase in the amount of backlash for the valve can indicate an increase in wear in the valve.
[0094] Examples of the backlash values and temperature values as they are plotted are illustrated in graphs 210 and 230. Looking at the backlash data, and depending on temperature, a gap associated with going in different directions may predict maintenance if the peaks and valleys become deeper. This change in data functions as a need for maintenance indicator. Increases in temperature beyond normal are also a need for maintenance indicator. Calculating force based on current draw and on temperature may also be accomplished by a load measuring software such as, but not limited to, StallGuard™. The load measuring software may comprise a sensorless load measurement designed for stepper motors (i.e., stall detection technology).
[0095] Continuing with the above examples, a change in a current draw associated with a motor moving the rotor in the valve of FIG. 3 may be determined as an indicator of torque between rotating surfaces of the valve. In other embodiments, the torque may be measured directly using for example a sensor. Similarly, a change in a current draw associated with a motor moving the shaft of the pump of FIG. 4 may be determined as an indicator of torque between moving surfaces of the pump. In other embodiments, the torque may be measured directly using for example a sensor..
[0096] Determining if the change in current draw or torque is within an acceptable range occurs at step 130 of FIG. 1. The acceptable range may be based on the size of the motor inthe shear valve or pump. As various pumps and shear valves are needed for different applications, a size of the motor, and associated current draw, may be based on the application and / or the physical power of the motor. In a case that the change in current draw is within the acceptable range, the force is continued to be monitored at step 140. In a case that the change in current draw is outside of the acceptable range, an indication is transmitted to a user at step 150.
[0097] The indication transmitted to the user may comprise an indication of a potential leak in the valve or performance degradation associated with the pump. Based on the transmitted indication, a user may replace, or schedule to replace, a valve or pump before it has a catastrophic failure or degrades to such a point that its performance can harm another system. In some embodiments, the indication transmitted to the user may be further based on measuring port alignment accuracy that comprises instructing the valve to go to each and every port (e.g., rotate to port 1, rotate to port 2, rotate to port 3, etc.) and then tracking the actual location of the valve associated with each assigned port (e.g., how close to port 1 did it get, how close to port 2, etc.). For example, a customer may be provided a script to warm up the valves that opens each port on the valve (e.g., ports 1 to 100 or however many ports are on a particular valve). This script may also function as a way to warm up the valve to test a temperature of the valve. In some embodiments, not every port may be used. For example, in this embodiment, every other port is used (e.g., port 1, port 3, port 5.. etc).
[0098] Note the embodiments described herein may be implemented using any number of different hardware configurations. For example, FIG. 5 illustrates a motion controller 500 such as encoder 302 or 402, that may be associated with the method 100 of FIG. 1. The motion controller 500 may provide a technical and commercial advantage by being able to monitor a force and convert the monitored and measured force to a current draw that may be used to predict when a valve or pump may require maintenance. Conventional systems may also use an encoder but conventional encoders are placed at an opposite side of a motor and they are connected to additional or external sensors. In the present embodiments, the encoder is on an opposite side of the motor so that it is closer to the moving components and simply uses the StallGuard™ software instead of additional or external sensors.
[0099] The motion controller 500 may comprise a processor 510 (“processor”), such as one or more commercially available Central Processing Units (CPUs) in the form of one-chip microprocessors, coupled to a communication device 520 configured to communicate via a communication network (not shown in FIG. 5). In some embodiments, the processor 510 may comprise a TMC2660 processor or equivalent.
[0100] The TMC2660 processor may function as an encoder and may comprise an integrated micro-stepping indexer, the sensorless stall detection technology StallGuard™ and a sensorless load dependent current control that may be used to drive a bipolar stepper motor. The TMC2660 processor may comprise an output driver block including low RDSon TrenchFET power MOSFETs configured as full H-bridges to drive the motor windings. The TMC2660 processor may be capable of driving amperage of current from each output. The TMC2660 processor may be designed for a supply voltage of voltage range and may include a SPI interface for configuration and diagnostics and a step and direction interface.
[0101] The StallGuard™ software may allow for the detection of motor stalls or lost steps without the need for additional sensors by using feedback from the motor to sense changes in load conditions. This allows the system to adapt and / or prevent stalls during operation. StallGuard™ may calculate the changes in current in the motor and then create numbers that go up or go down based on that power draw. Power draw is relative to the shear radial motion and it is these values that may be analyzed. These values are then converted into other units of measurement such as, but not limited to, Newton-meters (Nm) or foot-pounds (ft-lb). These values are then converted into inch / oz or inch / pounds measurements for calibration. In some embodiments, a bandwidth of acceptable values may be programmed into the valve or pump.
[0102] As indicated above, the processor 510 may further function as an encoder. The encoder may be used to monitor position, speed, or direction of motion in devices, for example shear valves or pumps driven by motors. Detecting current draw or torque in combination with an encoder can detect positive or negative motion vertical or circular and track all changes for material wear on rotors, stators, plungers, shafts, pistons, screws, unions as well as other components. Another advantage of the processor 510 is that it can handle both motor control and motion control.
[0103] In some embodiments, two or more integrated circuit chips may be used to function as the processor. For example, in this embodiment, one integrated circuit chip may be used for monitoring the motor and fluctuations in current and another integrated circuit chip may be used to monitor motion and a third integrated circuit chip may be used to monitor what is happening within the valve.
[0104] The communication device 520 may be used to communicate, for example, with one or more machines on a network (e.g., a technician or other alerting software). The motion controller 500 further includes an input device 540 to accept programming from a user.
[0105] The processor 510 also communicates with a memory 525 and storage device 550 that stores data 513. The storage device 550 may comprise any appropriate information storage device, including combinations of magnetic storage devices (e.g., a hard disk drive), optical storage devices, mobile telephones, and / or semiconductor memory devices. The storage device 550 may store a program 512 and / or processing logic for controlling the processor 510. The processor 510 performs instructions of the program 512, and thereby operates in accordance with any of the embodiments described herein. For example, the processor 510 may receive data and send an alert that maintenance of a pump or valve may be required.
[0106] The program 512 may be stored in a compiled, compressed, uncompiled and / or encrypted format or a combination. The program 512 may furthermore include other program elements, such as an operating system, a database management system, and / or device drivers used by the processor 510 to interface with peripheral devices.
[0107] FIG. 6 illustrates a flow diagram of a method 600 for operating a valve or pump in accordance with various embodiments of the present technology. In one or more aspects, the method 600 or one or more steps thereof may be performed by a computing system, such as the computing environment 900. The method 600 or one or more steps thereof may be embodied in computer-executable instructions that are stored in a computer-readable medium, such as a non-transitory mass storage device, loaded into memory and executed by a CPU. Some steps or portions of steps in the flow diagram may be omitted or changed in order. Although the method 600 is described with regard to a rotary valve, it should be understoodthat the method 600 may be used for operating any other type of valve, a pump, and / or any other suitable apparatus.
[0108] At step 605 a valve, such as the rotary valve illustrated in FIG. 3, may be initialized. An instruction may be sent to the valve in order to initialize the valve, such as a selection of one or more ports of the valve and / or one or more positions of the rotor of the valve. The instruction may be sent to an encoder of the valve, such as the encoder 302, which may cause the motor to rotate the rotor according to the instruction.
[0109] At step 610, a torque, temperature, backlash, and / or any other attribute of the valve may be determined. The attributes may be measured at any point during the initialization of the valve, such as before the rotor is rotated, during the rotation of the rotor, and / or after the rotor has been rotated. The attributes may be measured using any suitable measurement method. As described above, the torque may be measured by monitoring a current of the motor.
[0110] The temperature may be a temperature of the rotor, stator, and / or any other part of the valve. A single temperature may be recorded or multiple temperatures may be recorded. The temperature or temperatures may be measured using a thermometer in contact with, or proximate to, the rotor, stator, and / or any other part of the valve.
[0111] The backlash may be determined by setting rotor to a known position. Then, the motor may be commanded to rotate the rotor in a first direction by a specific amount. After rotating the rotor in the first direction, a position of the rotor may be determined by the encoder. The motor may then be stopped for a predetermined amount of time. Then, the motor may be commanded to rotate the rotor in the opposite direction until the encoder detects movement. The backlash may be determined as the difference in encoder counts between when the motor is commanded to rotate the rotor in the opposite direction and when the encoder detects actual movement of the rotor. This process may be repeated multiple times, in both directions, in order to generate multiple backlash values. An average, median, etc. of the multiple backlash values may be taken in order to determine the backlash. If the gearbox of the system can experience different operational loads, the backlash may be determined under the various different operational loads.
[0112] At step 615 each of the attributes determined at step 610 may be compared to a corresponding threshold. The torque may be compared to a threshold torque, the temperature may be compared to a threshold temperature, and / or the backlash may be compared to a threshold backlash. The predetermined torque, predetermined backlash, and / or predetermined temperature may be determined at an initialization of the valve. For example, when the valve is initialized for the first time, a backlash of the valve may be measured. The backlash threshold may then be determined based on this initial backlash.
[0113] The thresholds may include a minimum, a maximum, and / or a range. If any of the attributes are outside of the corresponding threshold, such as below a minimum, above a maximum, and / or outside of the range, the method 600 may proceed to step 620. Otherwise, if all determined attributes satisfy the corresponding thresholds, the method 600 may return to step 605 where the attributes will be determined again at the next initialization of the valve.
[0114] In addition to or instead of comparing the attributes to a threshold, an amount of change of an attribute may be determined. For example, the torque determined at step 610 may be compared to the amount of torque determined for previous initializations, an average amount of torque for previous initializations, etc. The amount of change of the attribute may be compared to a threshold. For example, if a one percent reduction in torque is detected, the method 600 may proceed to step 620.
[0115] At step 620 a determination may be made as to whether the valve can continue operating. The determination may be made based on which attribute is outside of the threshold and / or how far outside of the threshold the attribute is. For example, if a relatively small increase in torque is detected, such as a three percent increase, the valve may still be operable and the method 600 may continue to step 625. But if a relatively large increase in torque is detected, such as a sixty percent increase, the valve is likely no longer operable and the method 600 may continue to step 635. Rules for each attribute may be predefined to indicate when the valve is still operable and the method should continue to step 625, and when the valve is no longer operable and the method should continue to step 635.
[0116] If the valve is determined to no longer be operable at step 620, the method 600 may continue at step 635 at which time a shutdown is initiated. The individual valve may be powered off, and / or a system containing the valve may be shut down. A determination may be made as to whether other valves within the system containing the valve can compensate for the failed valve. If possible, the system may be reconfigured to compensate for the failed valve and continue operating. Otherwise the system may be shut down until the valve is replaced.
[0117] At step 640 an alert may be output. The alert may indicate that performance of the valve is degrading and / or that the valve has failed. The alert may indicate which valve has failed and / or any other relevant information. The alert may indicate a part of the valve that failed. The alert may indicate whether the valve can be repaired. The alert may indicate a part of the valve to replace and / or an indication of a suitable replacement part.
[0118] If the valve is determined to still be operable at step 620, the method 600 may continue at step 625 where valve parameters may be modified to compensate for the wear. Some or all of the ports of the valve may be isolated in order to create a pressurized flow path for that port. The pressure of the flow path may be monitored. If the pressure for the flow path is not maintained, an indication may be stored that the corresponding port is not functioning properly. The parameters of the valve may then be modified to reconfigure the valve so that the port or ports that are not functioning properly are no longer used.
[0119] If the torque of the valve and / or temperature of the valve is increasing, the parameters of the valve may be modified to reduce the speed of the valve. The speed of the valve may correspond to how quickly the valve switches between ports. By lowering the speed of the valve, the life of the valve may be extended. In addition to or instead of lowering the speed, a vertical load on the valve could be increased, such as by adding a spacer at either end of the springs of the valve. It should be understood that step 625 is optional. In some instances, the valve may continue to be used without making and changes to the valve parameters, and the method 600 may proceed directly from step 620 to step 630.
[0120] At step 630 an alert may be output. The alert may indicate that performance of the valve is degrading and / or that the valve is failing. The alert may indicate that an adjustment wasmade to the valve. The alert may indicate which valve or valves were affected by the adjustment. The alert may indicate a part of the valve that is beginning to fail. The alert may include a dynamic display of parameters related to the valve. The alert may indicate whether the valve can be repaired or may require maintenance. The alert may indicate a part of the valve to replace and / or an indication of a suitable replacement part. The alert may indicate a maintenance action to perform on the valve. The alert may indicate a predicted remaining lifespan of the valve. The method 600 may then proceed to step 605 where the attributes will be determined again at the next initialization of the valve.
[0121] FIG. 7 illustrates a flow diagram of a method 700 for training a machine learning algorithm to predict when a valve or pump will fail in accordance with various embodiments of the present technology. In one or more aspects, the method 700 or one or more steps thereof may be performed by a computing system, such as the computing environment 900. The method 700 or one or more steps thereof may be embodied in computer-executable instructions that are stored in a computer-readable medium, such as a non-transitory mass storage device, loaded into memory and executed by a CPU. Some steps or portions of steps in the flow diagram may be omitted or changed in order. Although the method 700 is described with regard to a valve, it should be understood that the method 700 may be used for training a machine algorithm associated with a rotary valve, a pump, and / or any other suitable apparatus.
[0122] At step 705 a valve, such as the rotary valve illustrated in FIG. 3, may be initialized. An instruction may be sent to the valve in order to initialize the valve, such as a selection of one or more ports of the valve and / or one or more positions of the rotor of the valve. The instruction may be sent to an encoder of the valve, such as the encoder 302, which may cause the motor to rotate the rotor according to the instruction.
[0123] At step 710, a torque, temperature, backlash, and / or any other attribute of the valve may be determined. The attributes may be measured at any point during the initialization of the valve, such as before the rotor is rotated, during the rotation of the rotor, and / or after the rotor has been rotated. The attributes may be measured using any suitable measurement method. As described above, the torque may be measured by monitoring a current of the motor. As described above, the backlash may be measured by instructing the motor to rotate in a firstdirection, then pausing, and then instructing the motor to rotate in a second direction. The backlash may be determined as the amount of encoder counts between when the motor is instructed to rotate in the second direction and when actual movement is detected by the encoder.
[0124] The temperature may be a temperature of the rotor, stator, and / or any other part of the valve. A single temperature may be recorded or multiple temperatures may be recorded. The temperature or temperatures may be measured using a thermometer in contact with, or proximate to, the rotor, stator, and / or any other part of the valve.
[0125] At step 715 a training data point may be stored with the attributes determined at step 710. The training data point may include a timestamp, an initialization number, and / or any other identifying information. The training data point may indicate which valve the training data point corresponds to.
[0126] At step 720 a determination may be made as to whether a valve failure has been detected. Any suitable method may be used to determine whether the valve is operating normally or failing. Each of the attributes determined at step 710 may be compared to a corresponding threshold. The torque may be compared to a threshold torque, the temperature may be compared to a threshold temperature, and / or the backlash may be compared to a threshold backlash. The thresholds may include a minimum, a maximum, and / or a range. The determination may be made based on data from a single initialization or based on data from multiple initializations, such as an average torque, average temperature, average backlash, etc.
[0127] In addition to or instead of comparing the attributes to a threshold, an amount of change of an attribute may be determined. For example, the torque determined at step 710 may be compared to the amount of torque determined for previous initializations, an average amount of torque for previous initializations, etc. The amount of change of the attribute may be compared to a threshold.
[0128] If any of the attributes are outside of the corresponding threshold at step 720, such as below a minimum, above a maximum, and / or outside of the range, the valve may be considered to be failing and the method 700 may proceed to step 730. Otherwise, if all determinedattributes satisfy the corresponding thresholds, the valve may be considered to be operating normally and the method 700 may continue to step 725.
[0129] At step 725 a label may be added to the training data point indicating that the valve is operating normally. The training data point may then be stored, such as in a database. The method 700 may then proceed to step 705 where another training data point may be generated at the next initialization of the valve.
[0130] If the valve is determined to be failing at step 720, at step 730 a label may be added to the training data point, where the label indicates that the valve is failing.
[0131] At step 735 a predetermined number of training data points corresponding to previous initializations may be retrieved and their labels may be changed to indicate that the valve is failing. For example, after a failure is detected, training data points corresponding to the previous five thousand initializations may be retrieved and their labels may be changed to indicate that the valve is failing. It should be understood that this step is optional.
[0132] At step 740 a machine learning algorithm (MLA) may be trained using the training data points. The MLA may be trained as training data points are collected, or after a suitable number of training data points have been collected. The MLA may comprise a neural network, a decision tree model, and / or any other type of machine-learning, deep learning, and / or artificial intelligence (Al) model.
[0133] The training data points may be split into a training dataset, a validation dataset, a testing dataset, and / or other datasets. The training dataset may be split in any manner, such as randomly. The datasets may be different sizes. For example 80% of the training data points may be assigned to the training dataset, 10% of the training data points may be assigned to the validation data set, and 10% of the training data points may be assigned to the testing dataset. The training dataset may be used to train an MLA. The validation dataset may be used to evaluate a trained MLA, such as to estimate the accuracy of the MLA and / or adjust hyperparameters of the MLA. The test dataset may be used to verify the functionality of the MLA.
[0134] Each training data point from the training dataset may be input to the MLA, without the label. In other words, the features of each training data point may be input to the MLA. The MLA may generate and output, for each training data point, a prediction. A loss function may compare the prediction for a data point to the label for the data point. The loss function may output an amount of loss, which indicates how different the prediction was from the label. The MLA may then adjust itself based on the amount of loss output by the loss function. The MLA may be adjusted to reduce the amount of loss between the prediction and the label. This training process may be repeated for every training data point in the training set. In this manner, the MLA may be trained to receive, as input, determined attributes of a valve at initialization, and output, based on the input features, a prediction as to whether the valve will fail soon.
[0135] After the MLA has been trained using the training set, the validation set may be used to adjust the MLA. Each training data point in the validation set may be input to the MLA. The MLA may then output a prediction as to whether the valve is failing or not based on the features of the training data point, which may be compared to the corresponding label using the loss function. Parameters of the MLA, such as hyper parameters, may be adjusted based on the outcome of the loss function.
[0136] After adjusting the MLA using the validation set, training data points of the testing set may be input to the MLA to determine how accurate the predictions of the MLA are. Various methods may be used to determine whether the MLA is sufficiently accurate for further use. The predictions output by the MLA may be compared to the labels in the testing set. The average amount of loss of the MLA for the testing set may be determined. If the average amount of loss is less than a pre-determined threshold amount of loss, the MLA may be determined to be ready for use. After the MLA has been trained, the MLA may be stored.
[0137] FIG. 8 illustrates a flow diagram of a method 800 for using a machine learning algorithm to operate a valve or pump in accordance with various embodiments of the present technology. In one or more aspects, the method 800 or one or more steps thereof may be performed by a computing system, such as the computing environment 900. The method 800 or one or more steps thereof may be embodied in computer-executable instructions that are stored in a computer-readable medium, such as a non-transitory mass storage device, loadedSome steps or portions of steps in the flow diagram may be omitted or changed in order. Although the method 800 is described with regard to a valve, it should be understood that the method 800 may be used for operating a rotary valve, a pump, and / or any other suitable apparatus.
[0138] At step 805 a valve, such as the rotary valve illustrated in FIG. 3, may be initialized. An instruction may be sent to the valve in order to initialize the valve, such as a selection of one or more ports of the valve and / or one or more positions of the rotor of the valve. The instruction may be sent to an encoder of the valve, such as the encoder 302, which may cause the motor to rotate the rotor according to the instruction.
[0139] At step 810, a torque, temperature, backlash, and / or any other attribute of the valve may be determined. The attributes may be measured at any point during the initialization of the valve, such as before the rotor is rotated, during the rotation of the rotor, and / or after the rotor has been rotated. The attributes may be measured using any suitable measurement method. As described above, the torque may be measured by monitoring a current of the motor. As described above, the backlash may be measured by instructing the motor to rotate the rotor in a first direction, then pausing, and then instructing the motor to rotate the rotor in a second direction. The backlash may be determined as the amount of encoder counts between when the motor is instructed to rotate in the second direction and when actual movement is detected by the encoder.
[0140] The temperature may be a temperature of the rotor, stator, and / or any other part of the valve. A single temperature may be recorded or multiple temperatures may be recorded. The temperature or temperatures may be measured using a thermometer in contact with, or proximate to, the rotor, stator, and / or any other part of the valve.
[0141] At step 815 the values determined at step 810 may be input to a trained MLA, such as an MLA generated using the method 700. The attributes that are input to the MLA may be the same as the attributes (i.e. features) of training data points that were used to train the MLA.
[0142] At step 820 the MLA may output a prediction of whether the valve is failing. The MLA may output a predicted probability, such as a number between zero and one indicating aprobability that the valve is failing. A higher number may indicate a higher likelihood that the valve is failing.
[0143] At step 825 a determination may be made, based on the output of the MLA, as to whether the valve is failing. The output of the MLA may be compared to a predetermined threshold. For example the output of the MLA may be a value between 0 and 1, and the predetermined threshold may be 0.8. If the output of the MLA is greater than the predetermined threshold, then the valve may be determined to be failing and the method 800 may proceed to step 830. Otherwise, if the output of the MLA is lower than the predetermined threshold and the valve is determined to not be failing, the method 800 may continue at step 805 where another input for the MLA may be generated at the next initialization of the valve.
[0144] After the valve is determined to be failing at step 825, an alert may be output at step 830. The alert may indicate a part of the valve that is beginning to fail. The alert may indicate whether the valve can be repaired. The alert may indicate a part of the valve to replace and / or an indication of a suitable replacement part.
[0145] FIG. 9 illustrates a computing environment 900, which may be used to implement and / or execute any of the methods described herein. In some embodiments, the computing environment 900 may be implemented by any of a conventional personal computer, a computer dedicated to managing network resources, a network device and / or an electronic device (such as, but not limited to, a mobile device, a tablet device, a server, a controller unit, a control device, etc.), and / or any combination thereof appropriate to the relevant task at hand. In some embodiments, the computing environment 900 comprises various hardware components including one or more single or multi-core processors collectively represented by processor 910, a solid-state drive 920, a random access memory 930, and an input / output interface 950. The computing environment 900 may be a computer specifically designed to operate a machine learning algorithm (MLA). The computing environment 900 may be a generic computer system.
[0146] In some embodiments, the computing environment 900 may also be a subsystem of one of the above-listed systems. In some other embodiments, the computing environment 900 maybe an “off-the-shelf’ generic computer system. In some embodiments, the computing environment 900 may also be distributed amongst multiple systems. The computing environment 900 may also be specifically dedicated to the implementation of the present technology. As a person in the art of the present technology may appreciate, multiple variations as to how the computing environment 900 is implemented may be envisioned without departing from the scope of the present technology.
[0147] Those skilled in the art will appreciate that processor 910 is generally representative of a processing capability. In some embodiments, in place of or in addition to one or more conventional Central Processing Units (CPUs), one or more specialized processing cores may be provided. For example, one or more Graphic Processing Units (GPUs), Tensor Processing Units (TPUs), and / or other so-called accelerated processors (or processing accelerators) may be provided in addition to or in place of one or more CPUs.
[0148] System memory will typically include random access memory 930, but is more generally intended to encompass any type of non-transitory system memory such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), read-only memory (ROM), or a combination thereof. Solid-state drive 920 is shown as an example of a mass storage device, but more generally such mass storage may comprise any type of non-transitory storage device configured to store data, programs, and other information, and to make the data, programs, and other information accessible via a system bus 960. For example, mass storage may comprise one or more of a solid state drive, hard disk drive, a magnetic disk drive, and / or an optical disk drive.
[0149] Communication between the various components of the computing environment 900 may be enabled by a system bus 960 comprising one or more internal and / or external buses (e.g., a PCI bus, universal serial bus, IEEE 1394 “Firewire” bus, SCSI bus, Serial-ATA bus, ARINC bus, etc.), to which the various hardware components are electronically coupled.
[0150] The input / output interface 950 may allow enabling networking capabilities such as wired or wireless access. As an example, the input / output interface 950 may comprise a networking interface such as, but not limited to, a network port, a network socket, a networkinterface controller and the like. Multiple examples of how the networking interface may be implemented will become apparent to the person skilled in the art of the present technology. For example the networking interface may implement specific physical layer and data link layer standards such as Ethernet, Fibre Channel, Wi-Fi, Token Ring or Serial communication protocols. The specific physical layer and the data link layer may provide a base for a full network protocol stack, allowing communication among small groups of computers on the same local area network (LAN) and large-scale network communications through routable protocols, such as Internet Protocol (IP).
[0151] The input / output interface 950 may be coupled to a touchscreen 990 and / or to the one or more internal and / or external buses 960. The touchscreen 990 may be part of the display. In some embodiments, the touchscreen 990 is the display. The touchscreen 990 may equally be referred to as a screen 990. In the embodiments illustrated in Figure 9, the touchscreen 990 comprises touch hardware 994 (e.g., pressure-sensitive cells embedded in a layer of a display allowing detection of a physical interaction between a user and the display) and a touch input / output controller 992 allowing communication with the display interface 940 and / or the one or more internal and / or external buses 960. In some embodiments, the input / output interface 950 may be connected to a keyboard (not shown), a mouse (not shown) or a trackpad (not shown) allowing the user to interact with the computing device 900 in addition to or instead of the touchscreen 990.
[0152] According to some implementations of the present technology, the solid-state drive 920 stores program instructions suitable for being loaded into the random access memory 930 and executed by the processor 910 for executing acts of one or more methods described herein. For example, at least some of the program instructions may be part of a library or an application.
[0153] As will be appreciated by one skilled in the art, the present embodiments may be embodied as a system, method or computer program product. Accordingly, the embodiments described herein may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, the embodiments described herein may take theform of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
[0154] The process flow and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustration, and combinations of blocks in the block diagrams and / or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
[0155] It should be noted that any of the methods described herein can include an additional step of providing a system comprising distinct software modules embodied on a computer readable storage medium; the modules can include, for example, any or all of the elements depicted in the block diagrams and / or described herein. The method steps can then be carried out using the distinct software modules and / or sub-modules of the system, as described above, executing on one or more hardware processors. Further, a computer program product can include a computer-readable storage medium with code adapted to be implemented to carry out one or more method steps described herein, including the provision of the system with the distinct software modules.
[0156] This written description uses examples to disclose multiple embodiments, including the preferred embodiments, and also to enable any person skilled in the art to practice the invention, including making and using any devices or systems and performing any incorporated methods. Aspects from the various embodiments described, as well as other known equivalents for each such aspects, can be mixed and matched by one of ordinary skillin the art to construct additional embodiments and techniques in accordance with principles of this application.
[0157] Those in the art will appreciate that various adaptations and modifications of the abovedescribed embodiments can be configured without departing from the scope and spirit of the claims. Therefore, it is to be understood that the claims may be practiced other than as specifically described herein.
Claims
WHAT IS CLAIMED:
1. A method comprising: activating a valve; determining a torque corresponding to the valve; comparing the torque to a predetermined threshold torque; and after determining that the torque is above the predetermined threshold torque, outputting an alert indicating that performance of the valve is degrading.
2. The method of claim 1, further comprising initiating a shutdown of a system comprising the valve.
3. The method of claim 1 or claim 2, further comprising reducing a speed of the valve.
4. The method of any of claims 1-2, wherein the valve comprises a rotary valve.
5. The method of claim 4, further comprising reducing a rotary speed of the rotary valve.
6. The method of any of claims 1-5, wherein the alert comprises an indication of a part of the valve to replace.
7. The method of any of claims 1-6, wherein the alert comprises a predicted remaining lifespan of the valve.
8. The method of any of claims 1-7, wherein the alert comprises a unique identifier of the valve.
9. The method of any of claims 1-8, wherein the predetermined threshold torque is a predetermined maximum torque.
10. The method of any of claims 1-8, wherein the predetermined threshold torque is a predetermined minimum torque.
11. A method comprising: monitoring a force in a valve or a pump via an onboard motion controller; determining, based on the monitored force, a change in a current draw associated with a motor moving a rotor in the valve or a shaft in the pump; determining if the change in current draw is within an acceptable range; in a case that the change in current draw is within the acceptable range, continue monitoring the force; and in a case that the change in current draw is outside of the acceptable range, transmit an indication to a user.
12. The method of claim 11, wherein the force is a vertical force between the rotor and a stator.
13. The method of claim 11, wherein the force is a vertical force between the shaft and a stop.
14. The method of any of claims 11-13, wherein the indication transmitted to the user comprises an indication of a potential leak in the valve or performance degradation associated with the pump.
15. The method of any of claims 12-14, wherein determining the change in current draw is further based on a temperature of the rotor and stator and backlash associated with the rotor changing directions.
16. The method of claim 15, wherein determining the change in current draw based on a temperature of the rotor and stator and backlash comprises: running a first verification process; increasing friction temperature in the valve by rotating the valve;resting the valve to cool down the valve; running a second verification process; and comparing shear torque values associated with the valve from the first verification process and from the second verification process.
17. The method of any of claims 11-16, further comprising measuring port alignment accuracy by instructing the valve to go to each port of the valve and tracking the actual location of the valve associated with going to each port, and wherein the indication to the user comprises an indication of the port alignment accuracy.
18. The method of any of claims 11-17, wherein the acceptable range is determined based on specifications of the motor.
19. The method of any of claims 11-17, wherein the acceptable range is determined based on a size of the motor.
20. The method of any of claims 11-17, wherein the acceptable range is determined based on a physical power of the motor.
21. A system comprising: a processor; a non-transitory computer-readable storage medium storing instructions that when executed by the processor cause the processor to: monitor, via the processor, a force in a valve or a pump via an onboard motion controller comprising the processor; determine, based on the monitored force, a change in a current draw associated with a motor moving a rotor in the valve or a shaft in the pump; determine if the change in current draw is within an acceptable range; in a case that the change in current draw is within the acceptable range, continue monitoring the force; andin a case that the change in current draw is outside of the acceptable range, transmit an indication to a user.
22. The system of claim 21, wherein the force is a vertical force between the rotor and a stator.
23. The system of claim 21, wherein the force is a vertical force between the shaft and a stop.
24. The system of any of claims 21-23, wherein the indication transmitted to the user comprises an indication of a potential leak in the valve or performance degradation associated with the pump.
25. The system of claim 22, wherein determining the change in current draw is further based on a temperature of the rotor and stator and backlash associated with the rotor changing directions.
26. The system of claim 25, wherein determining the change in current draw based on a temperature of the rotor and stator and backlash comprises: running a first verification process; increasing friction temperature in the valve by rotating the valve; resting the valve to cool down the valve; running a second verification process; and comparing shear torque values associated with the valve from the first verification process and from the second verification process.
27. The system of any of claims 21-26, wherein the indication to the user is further based on measuring port alignment accuracy comprising instructing the valve to go to each port and tracking the actual location of the valve associated with going to each port.
28. A method comprising:activating a valve; determining a temperature corresponding to the valve; comparing the temperature to a predetermined threshold temperature; and after determining that the temperature is above the predetermined threshold temperature, outputting an alert indicating that performance of the valve is degrading.
29. The method of claim 28, further comprising initiating a shutdown of a system comprising the valve.
30. The method of claim 28 or 29, further comprising reducing a speed of the valve.
31. The method of any of claims 28-30, wherein the valve comprises a rotary valve.
32. A method comprising: activating a valve; determining a backlash corresponding to the valve; comparing the backlash to a predetermined threshold backlash; and after determining that the backlash is above the predetermined threshold backlash, outputting an alert indicating that performance of the valve is degrading.
33. The method of claim 32, further comprising initiating a shutdown of a system comprising the valve.
34. The method of claim 32 or 33, further comprising reducing a speed of the valve.
35. The method of any of claims 32-34, wherein the valve comprises a rotary valve.
36. A method comprising: activating a valve; determining a torque, temperature, and backlash corresponding to the valve; generating a training data point comprising the torque, temperature, and backlash;determining whether the valve failed; adding a label to the training data point indicating whether the valve failed; adding the training data point to a training dataset comprising a plurality of training data points; and training, using the training dataset, a machine learning algorithm (MLA) to predict whether a valve is failing.
37. The method of claim 36, wherein the valve comprises a rotary valve.
38. A system comprising at least one processor and memory comprising executable instructions which, when executed by the at least one processor, cause the system to: activating a valve; determine a torque corresponding to the valve; compare the torque to a predetermined threshold torque; and after determining that the torque is above the predetermined threshold torque, output an alert indicating that performance of the valve is degrading.
39. The system of claim 38, wherein the instructions further cause the system to: compare the torque to a predetermined minimum torque; and after determining that the torque is below the predetermined minimum torque, output the alert indicating that performance of the valve is degrading.
40. The system of claim 38, wherein the instructions further cause the system to: determine a temperature corresponding to the valve; compare the temperature to a predetermined threshold temperature; and after determining that the temperature is above the predetermined threshold temperature, output the alert indicating that performance of the valve is degrading.
41. The system of claim 40, wherein the instructions further cause the system to: compare the temperature to a predetermined minimum temperature; andafter determining that the temperature is below the predetermined minimum temperature, output the alert indicating that performance of the valve is degrading.
42. The system of any of claims 38-41, wherein the instructions further cause the system to: determine a backlash corresponding to the valve; compare the backlash to a predetermined threshold backlash; and after determining that the backlash is above the predetermined threshold backlash, output the alert indicating that performance of the valve is degrading.
43. The system of claim 42, wherein the instructions further cause the system to: compare the backlash to a predetermined minimum backlash; and after determining that the backlash is below the predetermined minimum backlash, output the alert indicating that performance of the valve is degrading.
44. A method comprising: activating a valve; determining a torque, temperature, and backlash corresponding to the valve; inputting the torque, temperature, and backlash to a machine learning algorithm (MLA), wherein the MLA was trained using a plurality of training data points, each training data point comprising: a torque corresponding to a respective valve, a temperature corresponding to the respective valve, a backlash corresponding to the respective valve, and a label indicating whether the respective valved failed; outputting, by the MLA, an indication of whether the valve is failing; and after determining, based on the output of the MLA, that the valve is failing, outputting an alert indicating that the valve is failing.
45. The method of claim 44, wherein the valve comprises a rotary valve.
Citation Information
Patent Citations
Fixed ball valve, and monitoring system and open-close method for same, and monitoring method for monitoring system
CN111022691A
Valve actuator with self-diagnostic function andintelligent type valve actuator
KR1020040076194A
Autonomous valve control and monitoring
US20140305525A1
Diagnostic method for a positioning device and positioning device with a diagnostic device
US20190113910A1
Active backlash detection methods and systems
US20200158599A1