Hydraulic fracturing pump control system

By introducing a motor control system and pump control model into the hydraulic fracturing pump, and using sensor data and algorithms to generate control commands, the problems of torque and pressure oscillations were solved, and the operational stability and component life of the hydraulic fracturing pump were improved.

CN114198291BActive Publication Date: 2026-01-30CATERPILLAR INC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202111079551.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-09-18
Filing Date
2021-09-15
Publication Date
2026-01-30
Estimated Expiration
2041-09-15

AI Technical Summary

Technical Problem

Existing hydraulic fracturing pumps suffer from oscillations in torque, fluid discharge pressure, and flow rate during operation, leading to increased component wear and decreased system performance. Existing control systems are unable to effectively reduce or eliminate these oscillations.

Method used

A motor control system is adopted, which receives crank position data and load data, and uses a pump control model and algorithm to determine control commands to reduce or eliminate torque and pressure oscillations. This includes using a pump control model and a motor control system, combined with sensor data and model algorithms, to generate control commands to stabilize pump operation.

Benefits of technology

It effectively reduces or eliminates torque and pressure oscillations in hydraulic fracturing pumps, improves pump performance and reliability, extends component life, and provides smoother fluid velocity and flow control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114198291B_ABST
    Figure CN114198291B_ABST
Patent Text Reader

Abstract

This paper describes a monitoring and control system for a hydraulic fracturing pump to reduce or eliminate harmful oscillations in fluid discharge pressure caused by pump load dynamics. The monitoring and control system receives various sensor data from pump operation, including pump crank position, and executes pump control equations or models based on the pump sensor data, pump load data, and / or pump speed data. Incorporating factors such as plunger number, pump dynamics, motor hysteresis, and motor dynamics, the pump control equations or models are specifically designed for the pump's dynamic operation. Using the pump control equations or models, the monitoring and control system determines control commands for the pump motor to reduce or eliminate oscillating discharge pressure.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention generally relates to technologies and systems for monitoring and controlling hydraulic fracturing pumps at fracturing sites, and more specifically, for detecting and eliminating or reducing harmful oscillations in pump speed, torque, fluid discharge pressure and / or flow rate. Background Technology

[0002] In hydraulic fracturing, high-pressure fluid is pumped into a wellbore to create fractures in the underground rock formation, through which oil or gas can be extracted. Injecting fracturing fluid into the rock under high pressure creates and maintains open fractures, which stimulates the flow of oil and gas through the rock and allows for the extraction of larger quantities of oil and gas. A hydraulic fracturing pump used to inject high-pressure fracturing fluid includes, among other components, a motor, crankshaft, pump, and an operator system through which the operator controls the speed, flow rate, or pressure of the fluid injection. In some hydraulic fracturing operations, a multi-way pump consisting of a power end and a fluid end is used. The power end of the multi-way pump houses the crankshaft and multiple connecting rods that link pistons or crossheads. The fluid end houses multiple plungers that receive low-pressure fracturing fluid and discharge it under high pressure.

[0003] Sensors and diagnostic systems used in hydraulic fracturing operations can be used to monitor pump input / output and flow rates, as well as to detect leaks and other system malfunctions. However, diagnostic systems are typically reactive in nature and limited in the range of problems / faults they can detect within hydraulic fracturing pumps. For example, pressure oscillations caused by normal pump operation can be exacerbated by inertia and motor-pump dynamics, resulting in significant fluctuations in torque, discharge pressure, and system output flow rate / velocity. These fluctuations increase wear on pump components and shorten their lifespan. Such fluctuations also affect the pump motor's torque and thermal capacity, impacting the performance of the entire system.

[0004] For example, U.S. Patent No. 7,668,694 (“Patent No. 694”) describes a control system for determining and controlling wellbore level, output flow rate, and desired pump operating speed during operation of centrifugal pumps used in oil production. The system described in Patent No. 694 includes a vector feedback model for deriving values ​​for torque and pump speed, and a pump model for deriving values ​​for fluid flow rate and head pressure. A controller is used to control the pump to maintain the desired output flow rate. However, the system described in Patent No. 694 does not address or resolve potential problems related to controlling reciprocating positive displacement pumps used in hydraulic fracturing, particularly detecting and reducing fluid discharge pressure, torque pulsations, and ultimately, oscillations in the pump / flow rate / flow rate. Furthermore, any solution involving pump speed feedback control itself lacks sufficient bandwidth to overcome oscillations, especially outside of minimum speeds, and may actually exacerbate them. Eliminating oscillations in flow rate helps provide smooth flow control and improves the lifespan of pump, motor, and motor drive system components by reducing pulsations.

[0005] The exemplary embodiments of the present invention are intended to overcome the above-described deficiencies. Summary of the Invention

[0006] To overcome the problems and drawbacks of the hydraulic fracturing process described above, the techniques and systems described herein involve monitoring and controlling hydraulic fracturing pumps to detect and reduce fluid discharge pressure, torque pulsations, and fluid velocity / flow rate oscillations. The monitoring and control system receives various sensor data, including crank position data, during hydraulic fracturing pump operation and executes one or more models or algorithms based on the data to determine pump control commands to eliminate or reduce torque / pressure oscillations at the pump.

[0007] In an example of the invention, the motor control system associated with the hydraulic fracturing pump includes a pump crank position sensor, one or more central processing units (CPUs), and a memory storing executable instructions that, when executed by the one or more CPUs, cause the CPUs to perform various operations. In this example, the operations include sending a first control command to the motor associated with the hydraulic fracturing pump, and receiving crank position data from the pump crank position sensor, the crank position data indicating the orientation of the hydraulic fracturing pump crankshaft at a first moment during motor operation. The operations also include determining load data associated with the hydraulic fracturing pump when the motor operates according to the first control command, determining an oscillating load pattern associated with the hydraulic fracturing pump, and determining a second control command associated with the hydraulic fracturing pump for the motor, at least in part based on the crank position data, the load data, and the oscillating load pattern associated with the hydraulic fracturing pump. Additionally, in this example, the operations include sending the second control command to the motor associated with the hydraulic fracturing pump.

[0008] In another example of the invention, a method includes receiving crank position data associated with a hydraulic fracturing pump, the crank position data indicating the orientation of the crankshaft of the hydraulic fracturing pump at a first moment during operation of a motor associated with the hydraulic fracturing pump. The method in this example includes determining load data associated with the hydraulic fracturing pump during motor operation, and determining control commands for the motor associated with the hydraulic fracturing pump based at least in part on the crank position data and the load data. Additionally, in this example, the method further includes controlling the motor associated with the hydraulic fracturing pump based at least in part on the determined control commands.

[0009] In another example of the invention, one or more non-transitory computer-readable media store instructions executable by a processor, wherein the instructions, when executed, cause the processor to perform operations including: receiving crank position data associated with a hydraulic fracturing pump, the crank position data indicating the orientation of the crankshaft of the hydraulic fracturing pump at a first moment during operation of the motor associated with the hydraulic fracturing pump, and determining load data associated with the hydraulic fracturing pump during operation of the motor. In this example, the operation further includes determining an oscillating load pattern associated with the hydraulic fracturing pump, and determining a control command for the motor associated with the hydraulic fracturing pump based at least in part on the crank position data, the load data, and the oscillating load pattern associated with the hydraulic fracturing pump. Additionally, in this example, the operation includes controlling the motor associated with the hydraulic fracturing pump based at least in part on the determined control command. Attached Figure Description

[0010] Figure 1 The present invention describes an example system including a motor control system according to one or more examples, the motor control system being configured to monitor and control a hydraulic fracturing pump.

[0011] Figure 2 This is a block diagram illustrating an example computing environment according to one or more examples of the present invention, the example computing environment including a modeling system for generating a pump control model for a hydraulic fracturing pump.

[0012] Figure 3 This is a flowchart illustrating an example process for generating a pump control model for a hydraulic fracturing pump according to one or more examples of the present invention.

[0013] Figure 4 This is a flowchart illustrating an example process of controlling a hydraulic fracturing pump using a pump control model according to one or more examples of the present invention.

[0014] Figure 5 This is an example diagram illustrating torque pulsation associated with the crank position of a hydraulic fracturing pump according to one or more examples of the invention.

[0015] Figure 6 This is an example graph showing the discharge flow rate associated with the crank position of a hydraulic fracturing pump according to one or more examples of the present invention. Detailed Implementation

[0016] Figure 1 The description includes an example system 100 comprising a motor control system 102 configured to execute a pump control model 104 associated with a hydraulic fracturing pump 106. As described below, the techniques and systems of the present invention relate to monitoring and controlling the motor and / or other components of the hydraulic fracturing pump 106 to eliminate or reduce harmful oscillations in torque, pump speed, and / or fluid discharge pressure caused by the pump's load dynamics. In this example, the motor control system 102 receives various sensor data, crank position data, from the hydraulic fracturing pump 106, and executes the pump control model 104 based on the sensor data and other pump operating data such as pump speed and pump load data. The pump control model 104 in this example is specific to the physical configuration and dynamic operating characteristics of the hydraulic fracturing pump 106, such as the number of plungers, pump speed, stroke length, gear ratio, motor hysteresis, and pump-motor dynamics. Using pump control model 104, motor control system 102 (also referred to as motor control system in some cases) determines control commands for hydraulic fracturing pump 106, such as pump speed or torque commands, to eliminate or reduce oscillating discharge pressure of hydraulic fracturing pump 106.

[0017] In this example, the hydraulic fracturing pump 106 is a multi-port pump with a power end 108 and a fluid end 110. During operation of the hydraulic fracturing pump 106, the combined effects of pulsating torque load and inertia result in aggravated torque / pressure load oscillations, and corresponding fluid velocity / flow fluctuations through the pump's fluid end 110. In this example, the motor control system 102 detects and uses the pulsating dynamics between crank position and torque pulsations of the hydraulic fracturing pump 106 within its internal processing cycle to reduce or eliminate these torque pulsating dynamics. Specifically, the motor control system 102 determines and applies an oscillating force to the pump motor to reduce or eliminate the oscillating load caused by the pulsating dynamics. As described above, the ultimate reduction in torque / pressure load oscillations in the hydraulic fracturing pump 106 improves pump performance by providing smoother and more predictable fluid velocities and flow rates from the pump into the wellbore. Reducing torque / pressure load oscillations in the hydraulic fracturing pump 106 also reduces wear on the motor and other components of the hydraulic fracturing pump 106, including limiting the motor's torque and heat utilization, which increases the reliability and lifespan of the motor and the hydraulic fracturing pump 106 as a whole.

[0018] The power end 108 of pump 106 houses a crankshaft 118 and multiple connecting rods connected to a piston or crosshead, while the fluid end 110 houses a corresponding number of plungers. During operation of the hydraulic fracturing pump 106, each individual plunger draws low-pressure fracturing fluid from the common intake manifold into the plunger pump during the plunger's downstroke and then discharges high-pressure fracturing fluid to the common discharge port 120 during the upstroke. In various embodiments, the hydraulic fracturing pump 106 includes different physical characteristics and / or pump specifications, including a variety of different maximum power inputs (e.g., 2000-4000 BHP), different numbers of plungers (e.g., 2-10 plungers), different stroke lengths (e.g., 2-10 inches), different maximum pump speed values ​​(e.g., 200-400 RPM), and various different pump weights, gear ratios, etc.

[0019] In this example, the motor control system 102 is connected to a drive system 122 that includes a motor 124 driving a hydraulic fracturing pump 106. In some cases, the drive system 122 is an electric drive system. In this case, the motor 124 of the drive system 122 is an electric motor driven by a variable frequency drive that includes an inverter and inverter control. When using the electric drive system 122, the motor control system 102 controls the motor speed and / or average torque of the motor 124 by determining and sending control commands. For example, to control the torque level output to the hydraulic fracturing pump 106, the motor control system 102 instructs the drive system 122 to apply a specific voltage and / or current to the inverter controller, which sends a pulse width modulation (PWM) signal to the inverter to provide a stable output voltage to drive the motor 124. While this example relates to an electric drive system 122 including a motor 124, in other examples, the drive system 122 and the motor 124 relate to an engine and a transmission. In some examples, the drive system 122 is coupled to the hydraulic fracturing pump 106 via a drive shaft or coupler, and has gears on the drive / motor side and / or pump side, or no gears.

[0020] As described above, the power end 108 of the hydraulic fracturing pump 106 includes a rotating crank (also referred to as crankshaft 118) that directly or indirectly (e.g., via piston, crosshead, etc.) drives the plungers to cause fracturing fluid to be drawn into and discharged from the plungers during the downstroke / upstroke of the plungers. As the crank rotates, different plungers draw in and discharge fluid at different times during the rotation cycle. For example, each plunger discharges high-pressure fracturing fluid once during every 360 degrees of crank rotation. Therefore, the torque pulsation frequency of the hydraulic fracturing pump 106 is calculated based on the number of plungers multiplied by the current pump speed. For example, for a 5-plunger hydraulic fracturing pump 106 operating at 80 RPM, the hydraulic fracturing pump 106 outputs 400 torque pulsations per minute, each torque pulsation corresponding to a single discharge of high-pressure fluid from the fluid end 110. Although these high-pressure fluid discharges are referred to as torque / pressure oscillations (or torque / pressure pulsations) in this example, it should be understood that each high-pressure discharge also corresponds to a temporary increase in the fluid velocity and flow rate discharged from fluid end 110. Therefore, each torque / pressure oscillation is consistent with a flow rate or velocity oscillation, and these terms are used interchangeably herein.

[0021] like Figure 1 As shown, example system 100 also includes operator system 126. In some examples, operator system 126 includes one or more computing devices 128 with user input controls that allow an operator to control various functions of hydraulic fracturing pump 106, such as speed, average torque, flow rate, pressure, and / or mixing of fluid injections. For example, in this example, speed control 130 is displayed on a user interface, allowing the operator to set the speed (RPM) at which the hydraulic fracturing pump 106 is to be operated. In some examples, operator system 126 is implemented via a separate computing device 128 or system, and / or using a client software application running on a smartphone, personal computer, or operator's computing device. In such an example, operator system 126 can send control commands to hydraulic fracturing pump 106 and receive operational data (e.g., speed, average torque / pressure, flow rate, engine temperature, etc.) via one or more communication networks. In other examples, operator system 126, motor control system 102, and / or drive system 122 are directly integrated into hydraulic fracturing pump 106. In this case, user control panel is mounted on fracturing pump trailer containing hydraulic fracturing pump 106 to provide an interface to operator system 126.

[0022] Similarly, in this example, the motor control system 102 is depicted as a separate computing system operating independently of the drive system 122, the hydraulic fracturing pump 106, and the operator system 126. In such an implementation, the motor control system 102 operates on a separate computing system with dedicated processors, memory, and networking components, on which it receives user input data (e.g., desired pump speed, pressure, and / or flow rate input by the operator) from the operator system 126, and operational and sensor data (e.g., current speed, torque, and pressure settings, crank position data, observed sensor data, etc.) from the hydraulic fracturing pump 106 and the drive system 122. In various other implementations, the motor control system 102 is integrated within the operator system 126 and / or within the hydraulic fracturing pump 106 itself. Thus, in some examples, the hydraulic fracturing pump 106 includes computing devices and systems (e.g., processing units, memory, communication systems, etc.) that combine the techniques and functions of the operator system 126 and / or the motor control system 102 as described herein.

[0023] In the various designs and configurations described herein, the motor control system 102 may operate partially or completely transparently relative to the operator system 126 and / or relative to the hydraulic fracturing pump 106. For example, in some examples, the motor control system 102 receives pump speed commands, average torque / pressure commands (and / or other pump operation commands) from the operator system 126, uses the pump control model 104 to determine motor control commands to achieve the desired pump speed and average torque in a manner that reduces or eliminates torque oscillations, and then sends the motor control commands to the drive system 122 for controlling the motor 124.

[0024] During operation of the hydraulic fracturing pump 106, the motor control system 102 receives various data collected by one or more sensors (e.g., 112-116) mounted on or otherwise associated with the hydraulic fracturing pump 106. For example, sensor 112 is a crankshaft position sensor that monitors the angular position of the crankshaft 118 within the power end 108 and transmits crankshaft position data and corresponding time data to the motor control system 102. In some cases, the crankshaft position data identifies the current orientation of the crankshaft 118 during its rotation, expressed as an angle from 0 to 360 degrees and / or in smaller or larger angular position increments (e.g., one-tenth or one-hundredth of a degree, or two-degree increments, five-degree increments, etc.).

[0025] As discussed below, in some examples, the motor control system 102 determines the pump speed and / or the average torque output from the motor 124 to the hydraulic fracturing pump 106 based on motor control commands used to control the motor 124. For example, in some cases, the motor control system 102 calculates the estimated average torque of the hydraulic fracturing pump 106 based on voltage and current signals applied to the inverter within the electric motor 124. The motor speed can be estimated by the electrical frequency of the voltage, or the motor control system 102 can also receive pump speed data as feedback from the motor 124 while the motor 124 is driving the power end 108 of the pump. Additionally or alternatively, various motor sensors are also used during pump operation to confirm or calibrate the torque / pressure output of the hydraulic fracturing pump 106. These sensors detect data from the power end 108 and / or fluid end 110 of the hydraulic fracturing pump 106. For example, in this example, sensor 114 is a pressure sensor that monitors the discharge pressure of the fluid discharged from the fluid end 110 during operation of the hydraulic fracturing pump 106. In some cases, data from pressure sensor 114 is used to detect oscillations in discharge pressure, which also correspond to oscillations in the torque output of motor 124 and / or oscillations in the velocity / flow rate of fluid from the fluid end. As mentioned above, pressure sensor 114 is optional and not required in some cases. In such cases, motor control system 102 uses one or more agents to estimate pump load, for example, based on load / torque estimates calculated from control commands sent to motor 124 and the specifications of hydraulic fracturing pump 106 (e.g., gear ratio, number of plungers, stroke length, etc.). Motor control system 102 calculates the estimated pump load accordingly.

[0026] As shown in this example, motor 124 is configured to measure the current speed (e.g., in RPM) of the motor while it is operating (which corresponds to the pump speed of hydraulic fracturing pump 106) and send the motor speed / pump speed data back to motor control system 102. In some examples, motor control system 102 uses data, such as crank position data from sensor 112, estimated average load / torque data based on the current and voltage applied to motor 124 in drive system 122, and motor speed / pump speed data estimated from the estimated frequency of the voltage signal received from motor 124 via a feedback loop, as input to a model / equation to eliminate or reduce torque oscillations. In other cases, motor control system 102 receives and uses pump speed data collected by pump speed sensor 116 within the power end 108 of hydraulic fracturing pump 106.

[0027] Although this example describes the motor control system 102 receiving three potential types of sensor data from the hydraulic fracturing pump 106 (e.g., crank position data from sensor 112, discharge pressure data from sensor 114, and pump speed data from sensor 116), in other respects in this example, the motor control system 102 receives various additional or alternative sensor data from the hydraulic fracturing pump 106 and / or data from other sources. For example, sensors 114 and 116 are optional in some embodiments. Additionally, in some cases, the motor control system 102 also receives data from one or more flow iron sensors, motor temperature data, fracturing fluid composition or temperature data, and / or data from other hydraulic fracturing pumps 106 at the same location, etc.

[0028] Motor control system 102 receives sensor data (e.g., crank position data) and / or other data associated with the operation of hydraulic fracturing pump 106 (e.g., pump speed and average load / torque data), and provides this data as input to pump control model 104. Pump control model 104 executes based on the input data received by motor control system 102 and outputs data for controlling motor 124 associated with hydraulic fracturing pump 106 to reduce or eliminate harmful oscillations in flow. In some examples, pump control model 104 includes equations and / or other software components executed within motor control system 102, including equations for outputting motor control commands based on input crank position (and associated time), pump speed data, and estimated average load / torque data. Pump control model 104 includes physics-based equations using pump specifications for calculating data (e.g., cylinder speed, fluid discharge rate, total discharge rate and volumetric flow rate, average pressure, total torque, average torque, and the final pulsating portion of total torque, as described in more detail below with example equations).

[0029] In various embodiments, the pump control model 104 includes one or more algorithms configured to use crank position data collected once or multiple times during the operation of the hydraulic fracturing pump 106, along with the average pump speed and / or average pump load of the hydraulic fracturing pump 106 for a relevant number of times during the pump operation. Based on this data, the pump control model 104 outputs one or more recommended commands for controlling the operation of the hydraulic fracturing pump 106. In various examples, the pump control model 104 includes equations based on torque / pressure oscillations generated by the hydraulic fracturing pump 106 at different pump speeds and average torques. Execution of the pump control model 104 includes identifying a specific phase shift within the torque / pressure oscillation based on pump crank positions collected at specific times. In some cases, the pump control model 104 determines the pressure / load oscillation based on the crankshaft orientation detected within the power end 108 at a specific time. In this case, the pump control model 104 executed by the motor control system 102 includes determining (or using) an oscillation waveform pattern for the discharge pressure / load, and a phase offset value (or offset crank angle) corresponding to the time point when the crank position is measured within the oscillation waveform pattern.

[0030] In some examples, pump control model 104 uses limited data inputs, such as crank position data collected by sensor 112, estimated average pump load based on motor control commands (e.g., voltage and current applied to motor 124), and / or motor speed / pump speed data received from motor 124 via a feedback channel. However, in other examples, pump control model 104 receives and uses additional input data to provide a richer and more robust predictive model for hydraulic fracturing pump 106. In various examples, additional inputs to pump control model 104 include pump load data collected by sensor 114, pump speed data collected by sensor 116, various physical characteristics of hydraulic fracturing pump 106 (e.g., number of plungers, plunger diameter, stroke length, and gear ratio), data associated with internal pump dynamics (e.g., motor hysteresis, inertial / stiffness dynamics between power end 108 and fluid end 110), and / or any other sensor data or inputs associated with the operation of hydraulic fracturing pump 106 received by motor control system 102.

[0031] In some cases, the output of pump control model 104 includes motor control commands, such as pump speed and / or torque commands, or a series of speed / torque commands sent by motor control system 102 to hydraulic fracturing pump 106 to control the operation of motor 124. Although referred to as pump control model 104 in this example, in various embodiments, pump control model 104 determines and outputs one or more of the following: pump speed regulation (e.g., RPM), torque control (e.g., Nm), current commands sent to inverter control, flow rate or inlet pressure used to draw low-pressure fluid into fluid end 110. In some cases, motor control commands include time data specifying when to send commands or a series of commands to motor 124 to eliminate or reduce torque / pressure oscillations. Motor control system 102 executes pump control model 104 (and / or multiple models, equations, or algorithms) to determine and issue pump speed regulation, torque regulation, current commands, flow rate, or inlet pressure used to draw low-pressure fluid into fluid end 110. In various examples, the pump control model 104 outputs any one or a combination of these data, which the motor control system 102 uses to control the operation of the hydraulic fracturing pump 106 in a manner that counteracts or reduces torque / pressure oscillations, thereby providing more consistent pump operation with smoother pump speed, torque and fluid flow.

[0032] Figure 2The description includes a computing environment 200 comprising various components for generating and executing a pump control model 104 based on data from a hydraulic fracturing pump 106. In this example, the computing environment 200 includes a modeling system 216 configured to generate the pump control model 104 to be used by the motor control system 102 of the hydraulic fracturing pump 106. As discussed below, the pump control model 104 generated by the modeling system 216 includes equations for determining motor control commands (e.g., speed and torque commands, command sequences, etc.) to be sent to the drive system 122 to control the motor 124. The equations for the pump control model 104 of the hydraulic fracturing pump 106 receive inputs including the position / orientation of the crankshaft 118, the current pump speed, and the current average pump load / torque, and output motor control commands and timing sequences for sending these commands to the motor 124 to reduce or eliminate speed oscillations at the hydraulic fracturing pump 106. As discussed below, the modeling system 216 generates a pump control model 104 for a specific hydraulic fracturing pump 106 based on the pump's design specifications, such as the number of plungers, plunger diameter, stroke length, gear ratio, and / or internal pump dynamics. Using this data, the pump control model 104 is established and calibrated by the modeling system 216 to detect / predict oscillation patterns in the torque / pressure output by the hydraulic fracturing pump 106 under different pump speeds, average load / torque, and / or other operating characteristics. The pump control model 104 includes associated equations / algorithms that are provided to and executed by the hydraulic fracturing pump 106 to determine motor control commands for partially or completely offsetting oscillations, thereby providing smoother and more consistent pump speed, torque, and flow rate.

[0033] exist Figure 2 In the middle, the hydraulic fracturing pump 106 and the above-mentioned Figure 1 The corresponding hydraulic fracturing pump 106 is similar or identical, but additional systems and components, including hardware, memory, and network components, are depicted to describe the technology performed by the hydraulic fracturing pump 106 in more detail. Figure 2 The various components of the modeling system 216, the storage library 224 for the pump control model generated by the modeling system 216, and the network 214 through which the components in the computing environment 200 communicate.

[0034] As above Figure 1As discussed herein, the hydraulic fracturing pump 106 includes a motor and a fluid end having multiple plungers that receive fracturing fluid and then discharge the fracturing fluid under high pressure. As shown, the hydraulic fracturing pump 106 also includes a motor control system 202 and various sensors 206. The motor control system 202 is implemented via one or more computing devices and includes one or more memories 208 communicatively coupled to a processor 204. In some examples, the computing device corresponds to an onboard motor control system 202 for the hydraulic fracturing pump 106, which is similar to or identical to the motor control system 102 described above. In the illustrated example, the memory 208 of the motor control system 202 stores software-based components for controlling the onboard operation of the hydraulic fracturing pump 106, including an operation component 210 and a pump control model 104. In some examples, the operation component 210 and / or the pump control model 104 perform some or all of the functions of the motor control system 102 and / or the operator system 126 described above. In other examples, the motor control system 202 is implemented remotely from the hydraulic fracturing pump 106, in which case the pump control model 104 is also executed remotely from the hydraulic fracturing pump 106. In these examples, sensor data collected by sensor 206 is transmitted via network 214 to the remote motor control system 202, which executes the pump control model 104 and sends motor control commands to the motor of the hydraulic fracturing pump 106.

[0035] Modeling system 216 includes a processor 218 and a memory 220 communicatively coupled to the processor 218. In the illustrated example, the memory 220 and processor 218 of modeling system 216 store and execute modeling components 222, which are discussed in more detail below. In various embodiments, modeling system 216 is implemented on one or more servers or other computing devices, each server or other computing device including one or more processors 218 and memory 220 storing computer-executable instructions capable of executing modeling components 222 and / or implementing various additional functions of modeling system 216 described herein. Modeling system 216 also includes network interfaces and components (not shown) and is configured to communicate with one or more of the hydraulic fracturing pump 106, pump control model storage library 224, and / or various other external systems or data sources.

[0036] In some examples, modeling system 216 uses modeling software (e.g., modeling component 222) to generate and configure pump control models 104 associated with a specific type / model of hydraulic fracturing pump 106. The final pump control model 104 is applicable to hydraulic fracturing pumps 106 of the same type / model that have the same physical characteristics (e.g., number of plungers, plunger diameter, stroke length, gear ratio, etc.) and / or the same internal pump dynamics (e.g., motor hysteresis, inertial / stiffness dynamics between the motor and pump, etc.). After being generated by modeling system 216, different pump control models 104 are stored in pump control model library 224 and provided to motor control system 202 based on the type / model of hydraulic fracturing pump 106, and executed by motor control system 202.

[0037] In some embodiments, modeling component 222 generates pump control model 104 entirely based on the design specifications and / or physical characteristics of hydraulic fracturing pump 106. In other embodiments, modeling component 222 also uses data from a specific hydraulic fracturing pump 106 (e.g., a single, independent pump in operation, rather than other pumps from the same type / product model) to generate and / or calibrate or configure pump control model 104 that is particularly suitable for that specific hydraulic fracturing pump 106.

[0038] In this case, the modeling component 222 uses pump-specific data, such as pump speed, pressure and flow readings from sensors, pump-specific motor hysteresis data, etc., to generate or calibrate / configure the pump control model 104 for use within a specific hydraulic fracturing pump 106.

[0039] Although the hydraulic fracturing pump 106 and the modeling system 216 are illustrated and described as separate components, the functionality of the various systems can be characterized differently from what is discussed. In various implementations, more or fewer systems and components are used to perform the techniques described herein. Additionally, although in Figure 2 In the present case, it is depicted as a separate system, but in other examples, various components and functions of the modeling system 216 (e.g., modeling component 222) are incorporated into the hydraulic fracturing pump 106.

[0040] In this example, modeling system 216 generates a software-based model to predict the oscillating load mode behavior of hydraulic fracturing pump 106, particularly the amplitude and phase shift of load oscillations of the hydraulic fracturing pump 106 operating at different pump speeds and / or different average load / torque values. Modeling system 216 includes modeling component 222, which generates, tests, and / or calibrates / configures equations of the model based on input data received by modeling component 222 to determine the oscillating load modes in the most accurate manner possible. In some examples, modeling component 222 includes machine design tools (e.g., CAD-based) configured to perform simulations based on the physical specifications (e.g., design, topology, and composition) of hydraulic fracturing pump 106 under various speed-torque combinations within the operating range of hydraulic fracturing pump 106. Modeling component 222 also simulates various operating conditions, including operating time, speed, and torque, as well as combinations of various environmental conditions (e.g., temperature, pressure, humidity, etc.) to determine the estimated / predicted torque oscillations during operation of hydraulic fracturing pump 106 under various conditions. Modeling component 222 includes an analysis process with electromagnetic, thermal and mechanical components to determine various multiphysics effects and operational characteristics of the hydraulic fracturing pump 106.

[0041] As an example, modeling component 222 (e.g., CAD software) receives the angles during each 360-degree rotation of the crank as input for the hydraulic fracturing pump 10, at which each plunger draws in low-pressure fluid and discharges high-pressure fluid. These angles, along with pump speed and average torque inputs, and additional structural and geometric characteristics of the hydraulic fracturing pump 106, are used to determine / predict torque pulsations that will occur during the operation of the hydraulic fracturing pump 106. In this case, the final pump control model 104 is applicable to other hydraulic fracturing pumps of the same type with the same physical characteristics, and modeling component 222 generates different pump control models 104 for different types of hydraulic fracturing pumps. In other examples, a pump control model 104 specific to a particular hydraulic fracturing pump 106 is generated, taking into account minor differences between pumps, including defects, wear, and the installation and / or operating environment of the hydraulic fracturing pump 106. In this case, even for different motors of the same type, modeling component 222 generates different models.

[0042] During model generation, modeling system 216 optionally calibrates and / or configures pump control model 104 based on sensor data from one or more hydraulic fracturing pumps 106. In contrast to the initial model generation process based on the physical specifications of the hydraulic fracturing pump 106, the calibration of the model in these examples uses actual / observed data from hydraulic fracturing pumps operating in a production environment. Actual / observed data includes any combination of sensor data readings, temperature readings, motor control commands, motor operating data, and motor feedback data. Modeling component 222 retrieves the actual / observed data from the hydraulic fracturing pump and / or the data storage device storing this data to evaluate and calibrate pump control model 104 before sending it to hydraulic fracturing pump 106. In some examples, pump control model 104 is initially calibrated using a computational fluid dynamics (CFD) model and further refined using test data when and / or if test data is available. In some cases, electromagnetic and CFD models are refined (or correlated) during development for multiple different types of hydraulic fracturing pumps 106. In this context, the pump control model 104 generated for the new design of the hydraulic fracturing pump 106 includes built-in design assumptions that become more accurate over time and includes accurate torque oscillation data.

[0043] As described above, the modeling component 222 in this example is a CAD-based software tool configured to generate models for predicting torque oscillations under various operating conditions of the hydraulic fracturing pump 106. In this example, the pump control model 104 described herein is physics-based. In some cases, the pump control model 104 is calibrated by determining an average torque / pressure estimate to be considered for the hydraulic fracturing pump 106 in operation through appropriate filtering. This filter is either fixed or variable depending on the pump speed, and the filter frequency is lower than the oscillation frequency. Since the oscillation frequency increases with speed, the filter frequency can be increased accordingly. To collect the average torque / pressure estimate, the modeling system 216 uses inductive pump sensor data specific to the particular hydraulic fracturing pump 106 and associated motor control commands, and thus considers any particular pump variations or defects, wear, and the installation and / or operating environment of the hydraulic fracturing pump 106. In other examples, modeling system 216 uses data that does not need to be specific to a particular pump control model 104 that will receive pump control model 104, but is specific to (e.g., a hydraulic fracturing pump 106 with the same design specifications) a type of hydraulic fracturing pump 106, to calibrate pump control model 104.

[0044] After generating (and / or calibrating) the pump control model 104, the modeling system 216 provides the pump control model 104 to the hydraulic fracturing pump 106, where it is stored in the onboard memory 208 and executed by the operation component 210 to determine the motor control commands to be executed in real time during the operation of the hydraulic fracturing pump 106 to eliminate or reduce torque / pressure oscillations. As described in more detail below, the operation component 210, which operates within the hydraulic fracturing pump 106, executes the equations of the pump control model 104 to determine the motor control commands based on data received from sensors 206 (e.g., crank position data at a specific time) and additional operational data (e.g., pump speed, average torque output) when the hydraulic fracturing pump 106 is operating in a production environment. The sensors 206 in this example include one or more crank position sensors, pump speed sensors, pump load sensors (e.g., measuring fluid discharge pressure), flow rate / volume sensors, and one or more environmental sensors. In other examples, various additional or alternative sensors 206 are used, including sensors from the flow iron, motor temperature sensors, fracturing fluid composition or temperature sensors, and any other sensors capable of detecting the operation and status of the hydraulic fracturing pump 106. In some instances, sensor 206 includes multiple instances of each of these or other types of sensors. For example, the hydraulic fracturing pump 106 may have multiple different pressure sensors disposed at various locations within and around the fluid inlet manifold, plunger, discharge pipe, and within and around the hydraulic fracturing pump 106. As shown in this example, each sensor 206 provides data to the motor control system 202, which uses the sensor data as input to the pump control model 104.

[0045] The various components and systems within the computing environment 200 also include communication systems that enable communication between various computing devices and systems (e.g., hydraulic fracturing pump 106 and modeling system 216) and / or other local or remote devices or servers. For example, the communication system 212 of the hydraulic fracturing pump 106 facilitates communication with the modeling system 216 via one or more networks 214. In various examples, the communication network 214 enables Wi-Fi-based communication, such as via frequencies defined by the IEEE 802.11 standard, short-range wireless frequencies (e.g., [missing information]). Other radio transmissions or any suitable wired or wireless communication protocols that enable the corresponding computing device to connect to other computing devices.

[0046] The processor 204 of the hydraulic fracturing pump 106 and the processor 218 of the modeling system 216 include any suitable processor capable of executing instructions to process data and perform the operations described herein. By way of example and not limitation, processors 204 and 218 include one or more central processing units (CPUs), graphics processing units (GPUs), or any other device or part of a device that processes electronic data to convert it into other electronic data that can be stored in registers and / or memory. In some examples, integrated circuits (e.g., ASICs, etc.), gate arrays (e.g., FPGAs, etc.), and other hardware devices are considered processors when they are configured to implement coded instructions.

[0047] Memory 208 and memory 220 are examples of non-transitory computer-readable media. Memory 208 and memory 220 each store an operating system and / or one or more software applications, instructions, programs, and / or data to implement the methods and techniques described herein and perform various functions belonging to these systems. Memory 208 and memory 220 are implemented using any suitable memory technology such as static random access memory (SRAM), synchronous dynamic RAM (SDRAM), non-volatile / flash memory, or any other type of memory capable of storing information. The architectures, systems, and individual elements described herein include many other logical, program, and physical components, some of which are merely examples relevant to the discussion herein.

[0048] It should be noted that, although Figure 2 As shown as a distributed system, in alternative examples, any or all components of modeling system 216 are implemented within hydraulic fracturing pump 106, and / or vice versa. Furthermore, while various systems and components are shown as discrete systems, these examples are illustrative and more or fewer discrete systems can perform the various functions described herein.

[0049] Figure 3 This is a flowchart depicting an example process 300 for generating a pump control model 104 for monitoring and controlling a hydraulic fracturing pump 106. As discussed below, process 300 includes generating (and / or calibrating) the pump control model 104 based on the physical characteristics and design specifications of the hydraulic fracturing pump 106 to detect and reduce torque / pressure oscillations caused by pulsating torque loads and inertia of the hydraulic fracturing pump 106. In this example, the techniques and operation of process 300 are performed by a modeling system 216 running within a computing environment 200. However, in various other examples, process 300 is performed individually or in conjunction with a motor control system 102, an operating system 122, and / or a pump motor control system 202. Figure 1 and Figure 2 It can be performed in combination with any of the additional components described herein.

[0050] At operation 302, the modeling system 216 receives pump specifications for one or more hydraulic fracturing pumps 106. In some cases, the modeling system 216 includes a modeling component 222 with CAD-based software tools configured to predict torque oscillations of the hydraulic fracturing pump 106 under various operating conditions. In this case, the modeling system 216 receives the technical specifications and dimensions of a specific hydraulic fracturing pump 106, and the modeling component 222 analyzes the physical specifications (e.g., component size, shape, material composition, etc.) of each physical component in the hydraulic fracturing pump 106. These physical specifications include, but are not limited to, gear ratio, number of plungers, stroke length and plunger diameter, and the angle during each 360-degree rotation of the crank, at which each plunger draws in low-pressure fluid and discharges high-pressure fluid.

[0051] In operation 304, modeling system 216 establishes a pump control model 104, which includes equations for controlling the motor 124 associated with the hydraulic fracturing pump 106 to eliminate or reduce torque oscillations occurring during the operation of the hydraulic fracturing pump 106. In some examples, the equations of pump control model 104 are based on and incorporate predicted patterns of torque / pressure oscillations associated with the hydraulic fracturing pump 106 when operating at different pump speeds and / or different average torque outputs. In some examples, modeling component 222 uses finite element analysis (FEA) software tools and / or CAD-based simulation tools to build and execute models for predicting torque / pressure oscillations and appropriate motor control commands to eliminate or reduce these oscillations under different operating conditions. In various cases, computational fluid dynamics software and / or lumped parameter modeling tools are used, and / or modeling component 222 also includes processes for analyzing the electromagnetic, thermal, and mechanical components of the hydraulic fracturing pump 106 to determine the multi-physical effects and outputs of the motor under various operating conditions and environments. As described above, in some examples, the modeling component 222 builds models in operation 304 specifically for a particular hydraulic fracturing pump 106 and / or multiple different hydraulic fracturing pumps 106 having the same pump type / product model and / or the same physical characteristics, pump dynamics, etc.

[0052] In one example, modeling component 222 performs a series of geometry-based equations based on the pump specifications received in operation 302 to determine the pulsating torque component of the total torque output of the hydraulic fracturing pump 106. In this example, the average pressure (P) output by the hydraulic fracturing pump 106 is used. avg The modeling component 222 provides the following algebraic equations in the pump control model 104 for calculating the instantaneous torque of each cylinder:

[0053]

[0054] Equation 1

[0055] In this example, τ in equation 1 ai P represents the instantaneous torque of each cylinder output by the hydraulic fracturing pump 106. avg The average pressure output by the hydraulic fracturing pump 106 is determined by the motor control system 202 during pump operation based on the current and voltage supplied to the motor 124. R represents the crank radius, θ represents the crank angle (e.g., in radians), L represents the rod length, d represents the plunger diameter (e.g., in meters), and φ represents the piston diameter. i This represents the offset angle of a specific cylinder (e.g., 360*(i-1) / N, where i represents the number of cylinders and N represents the total number of cylinders in the hydraulic fracturing pump 106).

[0056] In this example, Equation 1 is able to output the positive and negative τ of the cylinder during the crank cycle. ai However, during operation, the actual torque output of cylinder i (τ) i The result will not be negative. Therefore, the modeling component 222 in this example uses Equation 2 below to eliminate any negative torque emission speeds output by Equation 1:

[0057] τ i =τ ai ,ifτ ai >0; 0, ifτ a; ≤0

[0058] Equation 2

[0059] Continuing with this example, the motor control system 202 uses the following equation 3 to calculate the total instantaneous torque output from the hydraulic fracturing pump 106 during operation:

[0060]

[0061] Equation 3

[0062] Continuing this example, τ represents the total torque output from the hydraulic fracturing pump 106. Additional terms can be added to the equation above, such as those relating to the inertial torque of the pump crank, or the dynamic pressure instead of the average value, or the estimated dynamic in-cylinder pressure rise during the initial stroke. As discussed above, the first part of the total torque output ε represents the average torque output from the hydraulic fracturing pump 106, and the second part of the total torque output represents the torque pulsation. In this example, the motor control system 202 uses Equation 4 below to calculate the average torque output (τ) from all cylinders of the hydraulic fracturing pump 106. avg ), where C is a constant representing the kinematics of the crankshaft:

[0063]

[0064] Equation 4

[0065] In this example, if P avg If unavailable, the average torque is estimated based on the motor torque estimate from the current and voltage signals. The above relationship is used to calculate P. avg This is then used in Equation 1 to calculate the torque. If both the torque estimate and the pressure are available, an improved calculation of the average pressure and torque can be performed by combining both (e.g., using a Kalman filter). Continuing the example, the motor control system 202 is based on the total torque output (τ) from Equation 3 and the average torque output from Equation 4. The pulsating torque component is calculated using Equation 5 from pump control model 104:

[0066] τ pulsating =τ-τ avg

[0067] Equation 5

[0068] Additionally or alternatively, the pulsating torque is constructed using techniques involving the development of a harmonic model of the pulsation and multiple harmonic coefficients and corresponding phases determined from a simulation model. In such an example, the pulsating torque used in feedforward control is expressed as the sum of harmonics, where each harmonic is calculated by multiplying the harmonic coefficient by the sine of the crank angle and adding the phase angle of the harmonic.

[0069] When estimating average pressure or torque from measurements, filtering is sometimes used to avoid oscillatory terms associated with pulsations. While filters can be used from these measurements, they can be made variable based on the crank speed, where the filter frequency is below the fundamental pulsation frequency, i.e., the number of plungers multiplied by the crank speed.

[0070] Returning to operation 304, in this example, modeling component 222 also determines and models crank position data multiple times during the simulation operation of the hydraulic fracturing pump 106. The crank position data is determined based on the physical specifications of the hydraulic fracturing pump 106 received in operation 302 and represents the angle (0 to 360 degrees) at a specific time associated with the measurement. In this example, multiple crank position data measurements are determined at times associated with other operational and output data (e.g., pump load / pressure and / or torque data) determined by modeling component 222 during the generation of the pump control model 104.

[0071] When simulating various output and operational data (e.g., pump speed data, torque output data, and corresponding crank position data) of the hydraulic fracturing pump 106 in operation 304, modeling component 222 analyzes the combined data to determine multiple observed behaviors of the hydraulic fracturing pump 106 during that time period. For example, using the output and operational data, modeling component 222 determines a first operating state of the hydraulic fracturing pump 106 (e.g., initial speed command, average torque / torque command, flow command, etc.) and the torque or pressure oscillations associated with the first operating state. Modeling component 222 also uses the simulation of the hydraulic fracturing pump 106 to determine new control commands issued (e.g., updated speed, updated torque, flow regulation, etc.), including the specific time and / or crankshaft angle at which the new control command is applied, and the effect of the new control command on the torque / pressure oscillations of the hydraulic fracturing pump 106. For example, the pump simulation performed by modeling component 222 determines that the torque / pressure oscillation waveform of the hydraulic fracturing pump 106 increases in amplitude in response to a specific pump control command (e.g., speed regulation) executed at a specific crank angle.

[0072] As described above, during the model building process in operation 304, the input data received and analyzed by the modeling component 222 includes a set of inputs, such as the physical characteristics and motor / pump dynamics of the hydraulic fracturing pump 106, the simulated oscillating load pattern of torque / pressure pulsations prior to the pump control command, and the characteristics of the simulated pump control command (e.g., command type, amplitude, and associated crank angle). In these examples, the model inputs are analyzed by the modeling component 222 based on the model output, which includes the effect of the simulated pump control command on the oscillating torque pattern of the simulated hydraulic fracturing pump 106. When the combination of the model inputs and pump control command characteristics results in the elimination or reduction of torque / pressure oscillations from the hydraulic fracturing pump 106, the modeling component 222 adjusts the equations of the pump control model 104 to be more inclined to execute similar pump control commands in similar situations. Conversely, when the combination of the model inputs and pump control command characteristics has no effect on or amplifies the simulated torque / pressure oscillations from the hydraulic fracturing pump 106, the modeling component 222 adjusts the equations within the pump control model 104 to be less inclined to execute similar pump control commands in similar situations. In these examples, the magnitude of the adjustment made by the modeling component 222 (e.g., to favor or disfavor the execution of a command during a situation) is based on the magnitude of the effective torque / pressure oscillation from the simulated hydraulic fracturing pump 106 (e.g., to reduce or increase the oscillation).

[0073] At operation 306, modeling system 216 optionally receives and uses actual observation data associated with one or more hydraulic fracturing pumps 106 to calibrate the pump control model generated in operation 304. In this example, modeling component 222 retrieves actual operation data records and / or corresponding sensor data associated with previous operations from one or more hydraulic fracturing pumps 106. Calibration data includes historical data observed / captured by sensors (e.g., sensors 112-116) of the type of hydraulic fracturing pump 106 for which the model is built. Calibration data includes sensor data, operational data, etc., captured for specific scenarios when the hydraulic fracturing pump 106 is operating in a real production environment. In contrast to performing software simulation based on the physical specifications of the hydraulic fracturing pump 106 to create pump control model 104 in operation 304, calibration based on actual pump data in operation 306 takes into account minor differences in the hydraulic fracturing pump 106 operating in a production environment, including minor plant defect wear, installation differences, and / or environmental differences.

[0074] At operation 308, modeling system 216 provides pump control model 104 to the onboard motor control system 202 of hydraulic fracturing pump 106. For example, modeling system 216 sends pump control model 104 to motor control system 202 via network 214. Motor control system 202 stores pump control model 104 in memory 208 for onboard execution of pump control model 104 equations by operation component 210 during operation of hydraulic fracturing pump 106. In some examples, modeling system 216 builds, calibrates, and sends different hydraulic fracturing pumps 106 to different hydraulic fracturing pumps 106. In such examples, the differences between pump control models 104 are based on different physical specifications of hydraulic fracturing pumps 106 and / or different calibration data or operating environment data determined by the calibration process used at operation 306.

[0075] Figure 4 This is a flowchart depicting an example process 400 of controlling a hydraulic fracturing pump 106 using a pump control model 104. As discussed below, process 400 describes using a pump control model 104 to control the operation of the hydraulic fracturing pump 106 to eliminate or reduce torque / pressure oscillations based on pump operation (e.g., pump speed and average estimated torque). In this example, the techniques and operation of process 400 are performed by a motor control system 202 of the hydraulic fracturing pump 106, which uses operating components 210 of a pump control model 104 similar to or identical to that described above. However, in various other examples, process 400 is derived from references... Figures 1 to 2 Any combination of the described additional components to perform.

[0076] At operation 402, the hydraulic fracturing pump 106 can be operated in a fracturing environment by an operating component 210 similar to or identical to the motor control system 102 described above. As discussed above, during operation of the hydraulic fracturing pump 106, a plunger within the hydraulic fracturing pump 106 draws in low-pressure fracturing fluid from the inlet manifold and discharges high-pressure fracturing fluid to the common discharge port 120. Specific operations of the hydraulic fracturing pump 106 depend on pump specifications and physical characteristics, such as the power input of the hydraulic fracturing pump 106, the number of plungers, stroke length, gear ratio, pump speed specifications, motor hysteresis, and motor-pump dynamics. Although this example describes the operating component 210 that initially controls the operation of the hydraulic fracturing pump 106, in some examples, operation 402 is performed by the operator system 126 and / or by the internal computing device of the hydraulic fracturing pump 106. In these examples, the operating component 210 does not need to control the initial operation of the hydraulic fracturing pump 106, but instead monitors pump operation and sensor data to determine when adjustments to the pump operation are needed to eliminate or reduce torque / pressure oscillations in the hydraulic fracturing pump 106.

[0077] At operation 404, operation component 210 determines pump speed data and / or pump load data during operation of the hydraulic fracturing pump 106. In some examples, operation component 210 determines pump speed and pump load data at a specific time based on motor control commands provided by operation component 210 to motor 124. As described above, operation component 210 or other components within motor control system 102 control motor speed and / or the average torque of hydraulic fracturing pump 106 by determining and applying specific voltages and / or currents to inverter controllers. In operation 404, operation component 210 retrieves previous pump speed and torque commands to determine pump speed data and / or pump load data at a specific time. In some cases, the pump speed and / or pump load data determined at operation 404 is an estimate based on motor control commands, rather than any actual observations from sensors.

[0078] In other cases, pump speed and / or pump load data are determined or corrected in operation 404 based on actual sensor data collected by one or more sensors 206 of the hydraulic fracturing pump 106. In one example, the estimated pump load data determined based on motor control commands is biased based on fluid discharge pressure measurements collected by sensor 114. As discussed above, alternative or additional pump load data are used in other examples, such as speed and / or torque measurement readings collected by sensors 114 and 116 associated with the pump. When pump load sensor data is received in operation 404, this sensor data may optionally include multiple data readings / measurements corresponding to different times during operation of the hydraulic fracturing pump 106. In some cases, pump load data readings / measurements are collected by pump sensors every second, every fraction of a second, or every N milliseconds, such that the pump load data received in operation 404 reflects changes in pump load at the hydraulic fracturing pump 106 over a period of time.

[0079] At operation 406, operation component 210 receives crank position data from one or more sensors of the hydraulic fracturing pump 106. The crank position data received in operation 406 includes the angle of the crankshaft 118 within the pump power end 108, detected by crank position sensor 112 at one time or a series of different times during the operation of the hydraulic fracturing pump 106. In some examples, crank position data is collected at times corresponding to the applicable time of the pump speed and / or pump load data determined in operation 404, such that estimated pump speed and / or pump load measurements are available for each relevant angle value representing the position of the crank at that time. Therefore, operation component 210 can use the combination of the estimated pump load / pump speed data determined in operation 404 and the crank position data received in operation 406 as input to pump control model 104 to determine motor control commands to eliminate or reduce torque / pressure oscillations.

[0080] At operation 408, operation component 210 determines whether a pump control command is available that, when issued to hydraulic fracturing pump 106, could potentially eliminate or reduce current torque / pressure oscillations experienced at hydraulic fracturing pump 106. To determine the availability of the pump control command, motor control system 102 executes one or more equations of pump control model 104 based on input data received in operations 404 and 406. As discussed above, in various examples, operation component 210 executes pump control model 104 specifically selected for hydraulic fracturing pump 106, providing pump speed data (e.g., estimated or observed pump speed) and pump load data (e.g., estimated average torque) received at operation 404, as well as relevant crank position data received at operation 406, as inputs to pump control model 104. The output from pump control model 104 includes recommendations for pump control commands or command sequences (e.g., pump speed and / or torque regulation), including the timing of the commands, which are predicted by model 104 to eliminate or reduce the current torque / pressure oscillations of the hydraulic fracturing pump 106.

[0081] In this example, the inputs to the pump control model 104 include at least pump load data (e.g., discharge pressure) and corresponding crank position data at a specific time during the operation of the hydraulic fracturing pump 106. However, as discussed above, in other examples, the operating component 210 provides additional or alternative inputs to the pump control model 104, such as pump speed, motor-pump dynamics, fluid data, environmental data (e.g., temperature, humidity, vibration, etc.), and / or any other combination of the input data described herein.

[0082] In some examples, when the output of pump control model 104 indicates that the current torque / pressure oscillation of hydraulic fracturing pump 106 is below a threshold level and / or there is no predicted available pump control command to eliminate or reduce the current torque / pressure oscillation by an amount greater than the threshold, operating component 210 determines that no control command will be issued to adjust the operation of hydraulic fracturing pump 106 (408: No). In this case, process 400 returns to operation 404 to determine updated pump operation data and crank position data. Furthermore, in some examples, pump control model 104 determines one or more pump control commands predicted to eliminate or reduce the current torque / pressure oscillation of hydraulic fracturing pump 106, but these commands are outside a predetermined set of operating parameters that limit the adjustments allowed by operating component 210. For example, in some embodiments, operating component 210 is allowed to autonomously issue minor pump control adjustments, but is not allowed to stop hydraulic fracturing pump 106 or significantly change pump speed, torque, flow rate, or fluid composition by an amount greater than a threshold. In these examples, process 400 also returns to operation 404 to receive additional pump sensor and operational data, continuing the processing loop during which pump control model 104 is executed multiple times to monitor and control torque / pressure oscillations in the hydraulic fracturing pump 106. Conversely, when the output of pump control model 104 indicates the presence of an available pump control command predicted to eliminate or reduce the current torque / pressure oscillation by an amount greater than a threshold, operation component 210 determines to apply control command adjustment to the hydraulic fracturing pump 106 (408: Yes).

[0083] At operation 410, operation component 210 sends commands determined in operation 408 via execution of pump control model 104 to control the operation of hydraulic fracturing pump 106. In various examples, the pump control commands determined by the output of pump control model 104 include pump speed regulation (increase or decrease), torque regulation (increase or decrease), flow regulation (increase or decrease), or any other commands described herein for controlling the operation of hydraulic fracturing pump 106. The pump control commands determined in various examples also include the magnitude of the regulation and the timing for issuing the pump control command to have a predicted effect of eliminating or reducing torque / pressure oscillations in hydraulic fracturing pump 106. In some examples, motor control system 102 determines the timing for issuing / sending the pump control command so that the pump control command is executed when the crankshaft 118 within pump power end 108 is in a specific position / angle. In these examples, motor control system 102 considers motor hysteresis, motor-pump dynamics, and / or any network or data processing delays when determining the timing for sending the control command to hydraulic fracturing pump 106.

[0084] The pump control command determined in operation 408 and sent in operation 410 does not need to be a single command for adjusting pump speed, torque, flow rate, etc. In some cases, the output of pump control model 104 determines a series of pump control commands, which operation component 210 sequentially sends at predetermined times to the motor 124 associated with the hydraulic fracturing pump 106 to produce the desired effect of eliminating or reducing torque / pressure oscillations. In the example, operation component 210 determines and sends pump control commands in operations 408-410 that include patterns of small increases and decreases in pump speed, torque, etc., each executed at specific times / intervals. In this example, the small adjustment sequence of increasing and decreasing motor torque, speed, etc. does not affect the overall pump operation in terms of speed, torque, pressure, or flow rate, but effectively eliminates or reduces torque / pressure oscillations in the hydraulic fracturing pump 106 to provide more consistent pump operation with smoother speed, torque, and fluid flow.

[0085] In the above example, the operating component 210 automatically determines and sends pump control commands in operations 408 and 410 to adjust the operation of the hydraulic fracturing pump 106 in a manner that is partially or completely transparent to the operator of the hydraulic fracturing pump 106. However, in other examples, sending the pump control command in operation 410 includes notifying and / or receiving permission from the user operating the hydraulic fracturing pump 106 and / or from the manual or automatic pump control system within the operator system 126 of the user equipment or motor control system 202 integrated into the hydraulic fracturing pump 106. In this case, the operating component 210 sends a request and / or recommended pump adjustment to the manual or automatic pump control system, receives a response, and then, in response to receiving approval for the recommended pump adjustment from the manual or automatic system, sends a pump control command to the hydraulic fracturing pump 106.

[0086] Now for reference Figure 5 Example graph 500 is described, which illustrates a waveform with a series of torque pulsations associated with the angular position of the crank within the power end 108 of the hydraulic fracturing pump 106 during operation. In some cases, the torque pulsation data shown in graph 500 is determined by modeling component 222 during software-based simulation of the hydraulic fracturing pump 106. In this example, the torque pulsations shown in graph 500 are determined based on structural analysis of the hydraulic fracturing pump 106, including computational fluid dynamics software. Figure 5The pulsations (or oscillations) shown are caused by a combination of individual torque pulsations generated by different plungers within the cylinders of the simulated pump. As discussed above, the pulsation frequency and pattern are based on the design specifications of the simulated pump, including the number of cylinders and plungers (e.g., 3 plungers, 5 plungers, etc.), plunger diameters, crank radius, rod length, and the motor speed and torque output of the simulated pump. In other examples, Figure 500 corresponds to actual observed measurements of a hydraulic fracturing pump 106 operating in an environment, rather than a simulation performed by the modeling system 216. In this example, in Figure 5 In the example torque pulsation graph 500, point 502 indicates the application of pump control commands during simulation to regulate the operation of the simulated hydraulic fracturing pump. Various simulation pump control commands consistent with this example include adjustments to increase or decrease pump speed, torque, flow rate, or any other adjustment to the operational control of the hydraulic fracturing pump 106. As shown in this example, the simulation pump control command indicated at point 502 is applied at crank angle 504 and has a measurable effect on eliminating and reducing torque pulsation within the hydraulic fracturing pump simulation.

[0087] Figure 6 Another example graph 600 is explained, which shows a set of pulsating waveforms of a hydraulic fracturing pump 106. In this example, graph 600 depicts the discharge flow rate from the simulated hydraulic fracturing pump 106 in relation to the angular position of the crankshaft of the simulated pump. As shown in this example, point 602 represents another simulated pump control, such as a command to increase or decrease pump speed, torque, flow rate, etc. Figure 6 As shown, the simulated pump control command 602 is sent to the simulated pump motor at crank angle 604, causing a reduction in the discharge flow pulsation of the simulated hydraulic fracturing pump 106. As these examples demonstrate, through the feedforward torque control technique described herein, and by analyzing... Figure 5 and Figure 6 The simulation shown indicates that the motor control commands applied at a specific time / crank angle eliminate and / or reduce torque oscillations and flow pulsations within an actual hydraulic fracturing pump 106 operating in a production environment.

[0088] Industrial applicability

[0089] This invention generally relates to monitoring and controlling the operation of hydraulic fracturing pumps in a manner that eliminates or reduces harmful pulsations in pump speed, fluid discharge pressure, and flow rate. In conventional pumps, normal pressure oscillations caused by pump operation and motor-pump dynamics, amplified by inertia, typically result in large fluctuations in torque, discharge pressure, and pump output fluid velocity / flow rate. These fluctuations increase wear on internal pump components and shorten their lifespan, and also affect the pump motor's torque and heat capacity, thereby impacting pump performance.

[0090] Using the systems and techniques described herein, and employing robust predictive models rather than reactive techniques that only respond after harmful torque / pressure oscillations have occurred, torque / pressure oscillations in hydraulic fracturing pumps can be monitored, eliminated, or reduced. Therefore, the techniques described herein for monitoring and controlling torque / pressure oscillations reduce wear and extend the life of pump components. These techniques also improve pump performance by reducing or eliminating oscillations in torque, pressure, and / or flow, resulting in smoother and more consistent fluid discharge rates and fracturing fluid flow rates from the pump.

[0091] Additionally, while some examples described herein specifically relate to improvements in the operation of hydraulic fracturing pumps, the techniques described herein are applicable to other pump types and / or other environments where normal pump operation and / or fluid dynamics result in undesirable vibrations in pump speed, pressure, torque, or flow rate. For example, the various techniques described herein are applicable to commercial fluid pump systems for wastewater treatment, industrial pumps for conveying fuels or chemicals, irrigation pumps, and the like.

[0092] While various aspects of the invention have been specifically shown and described with reference to the foregoing embodiments, those skilled in the art will understand that various additional embodiments can be contemplated through modifications to the disclosed machines, systems, and methods without departing from the spirit and scope of the disclosure. These embodiments should be understood to fall within the scope of the invention as defined by the claims and any equivalents thereof.

Claims

1. A motor control system associated with a hydraulic fracturing pump, comprising: a pump crank position sensor; one or more central processing units (CPUs); and a memory storing executable instructions that, when executed by the one or more CPUs, cause the CPUs to perform operations comprising: sending a first control command to a motor associated with a hydraulic fracturing pump; receiving crank position data from the pump crank position sensor, the crank position data indicating an orientation of a crankshaft of the hydraulic fracturing pump at a first time during operation of the motor; determining load data associated with the hydraulic fracturing pump when the motor is operated according to the first control command; determining a speed of the motor during operation of the motor; predicting a load oscillation of the hydraulic fracturing pump based at least in part on the speed of the motor and the load data associated with the hydraulic fracturing pump; determining a second control command for the motor associated with the hydraulic fracturing pump based at least in part on the crank position data and the predicted load oscillation; and sending the second control command to the motor associated with the hydraulic fracturing pump.

2. The motor control system of claim 1, wherein determining the second control command comprises: receiving a model associated with the hydraulic fracturing pump; and executing an equation associated with the model, wherein executing the equation comprises providing the crank position data, the speed of the motor, and the load data as inputs to the equation.

3. The motor control system of claim 2, wherein receiving the model associated with the hydraulic fracturing pump comprises retrieving a plurality of models associated with one or more hydraulic fracturing pumps based at least in part on: a number of pistons of the hydraulic fracturing pump; a plunger diameter associated with the pistons of the hydraulic fracturing pump; and a stroke length associated with the hydraulic fracturing pump.

4. The motor control system of claim 1, wherein determining the load data comprises: calculating an average estimated torque output of the motor associated with the hydraulic fracturing pump based at least in part on a voltage or current provided to the motor.

5. The motor control system of claim 1, wherein determining the load data comprises: receiving load measurement data from a sensor associated with the hydraulic fracturing pump during operation of the motor; applying a filter to the load measurement data; and determining a frequency of the filter based at least in part on a speed of the motor and a number of plungers of the hydraulic fracturing pump.

6. The motor control system of claim 1, wherein determining the load data comprises: determining an average estimated torque of the motor associated with the hydraulic fracturing pump; determining an output pressure associated with the hydraulic fracturing pump; and determining the load data based at least in part on the average estimated torque and the output pressure.

7. The motor control system of claim 1, the operations further comprising: determining an inertial torque value associated with an acceleration of the crankshaft, wherein determining the second control command is further based on the inertial torque value. ​ ​ ​ ​ 8. The motor control system of claim 1, wherein determining the second control command further comprises: determining a first harmonic based at least in part on the first harmonic coefficient and the crank position data; determining a second harmonic based at least in part on the second harmonic coefficient and the crank position data; and calculating a sum of the first harmonic and the second harmonic, wherein the second control command is further based on the sum of the first harmonic and the second harmonic.

9. A method of motor control associated with a hydraulic fracturing pump, comprising: receiving crank position data associated with a hydraulic fracturing pump, the crank position data indicating an orientation of a crankshaft of the hydraulic fracturing pump at a first time during operation of a motor associated with the hydraulic fracturing pump; determining load data associated with the hydraulic fracturing pump during operation of the motor; determining a speed of the motor during operation of the motor; predicting a load oscillation of the hydraulic fracturing pump based at least in part on the speed of the motor and the load data; determining a control command for the motor associated with the hydraulic fracturing pump based at least in part on the crank position data and the predicted load oscillation; and controlling the motor associated with the hydraulic fracturing pump based at least in part on the determined control command.

10. The method of claim 9, wherein determining the control command comprises: receiving a model associated with the hydraulic fracturing pump; and executing an equation associated with the model, wherein executing the equation comprises providing the crank position data, the speed of the motor, and the load data as inputs to the equation.

11. The method of claim 10, wherein receiving the model associated with the hydraulic fracturing pump comprises retrieving a plurality of models associated with one or more hydraulic fracturing pumps based at least in part on: a number of pistons of the hydraulic fracturing pump; a plunger diameter associated with a piston of the hydraulic fracturing pump; and a stroke length associated with the hydraulic fracturing pump.

12. The method of claim 9, wherein determining the load data comprises: receiving load measurement data from a sensor associated with the hydraulic fracturing pump during operation of the motor; applying a filter to the load measurement data; and determining a frequency of the filter based at least in part on the speed of the motor and a number of plungers of the hydraulic fracturing pump.

13. The method of claim 9, wherein determining the load data comprises: determining an average estimated torque of the motor associated with the hydraulic fracturing pump; determining an output pressure associated with the hydraulic fracturing pump; and determining the load data based at least in part on the average estimated torque and the output pressure. ​ ​ ​ ​ ​

Citation Information

Patent Citations

  • Determination and control of wellbore fluid level, output flow, and desired pump operating speed, using a control system for a centrifugal pump disposed within the wellbore

    US7668694B2

  • Method and control circuit for controlling an electrical drive of an electrically driven compressed air compressor of a motor vehicle

    US10132304B2

  • Method and apparatus for measuring work performed by a compressor

    US20070132603A1

  • Speed control apparatus and method for motors

    US4879502A

  • Hydraulic pump with ball joint shaft support

    US6287086B1