This disclosure relates generally to hydrocarbon and/or fluid production and, more particularly, to methods and apparatus to determine parameters of a pumping unit for use with wells.
Pumping units are used to extract fluid (e.g., hydrocarbons) from a well. As the pumping unit cycles to extract the fluid from the well, different forces are imparted on the components of the pumping unit.
An example method includes determining a first load on a polished rod of a pumping unit and estimating a first torque of a motor of the pumping unit. The example method includes determining a first torque factor for the pumping unit, the first torque factor comprises a rate of change in a position of the polished rod with respect to an angle of a crank arm of the pumping unit. The example method includes, based on the first load, the first torque, and the first torque factor, determining a phase angle of a counterbalance of the pumping unit or a moment of the counterbalance.
An example method includes determining a first torque factor of a pumping unit by determining a correlation between pulse count values of a motor using a first sensor and a position of a polished rod using a second sensor. The torque factor includes a rate of change in a position of a polished rod of the pumping unit with respect to an angle of a crank arm of the pumping unit.
An example apparatus includes a housing and a processor positioned in the housing. The processor is to determine a first load on a polished rod of a pumping unit, to estimate a first torque of a motor of the pumping unit, and determine a first torque factor for the pumping unit. The processor is to, based on the first load, the first torque, and the first torque factor, determine a phase angle of a counterbalance of the pumping unit or a moment of the counterbalance.
The figures are not to scale. Wherever possible, the same reference numbers will be used throughout the drawing(s) and accompanying written description to refer to the same or like parts.
As a pumping unit of a well moves through a cycle, forces and/or torques are exerted on the different pumping unit components. In some examples, if at least some of these forces and/or torques are monitored and/or maintained below a particular value, the operating life of the pumping unit and/or its components may be extended. The examples disclosed herein relate to example rod pump controllers and related methods that monitor loads and/or forces imparted on a gear box of a pumping unit in substantially real time. Based on the monitored loads and/or forces, the rod pump controller may cause the pumping unit to be operated such that peak gear box loads are maintained below a predetermined value (e.g., design limit) to extend the operating life of the gear box, for example. Additionally or alternatively, the examples disclosed herein may be used to determine torque factors, counterbalance phase angles and/or counterbalance moments for a pumping unit.
In some examples, a majority of the loads experienced by the gear box are associated with a counterbalance torque and a torque from the polished rod load. The counterbalance torque may be at its minimum (e.g., approximately zero) when the crank arm is vertical and at its maximum when the crank arm is horizontal. In some examples, the polished rod torque may be determined based on the polished rod load and a torque factor(s) that correlates the polished rod load and the polished rod torque.
The torque factors for a pumping unit may be determined in different ways. For example, the torque factors may be determined based on the geometry of the pumping unit and known equations and/or an example calibration process. If the torque factor(s) is determined using the example calibration process and subsequent processing, the torque factor(s) may be determined using finite difference approximation and values determined during the calibration process and/or values subsequently determined. Regardless of how the torque factor(s) is determined, the torque factor(s) may be used to determine the net torque experienced by the gear box, the counterbalance phase angle and/or the maximum counterbalance torque moment. In operation, the pumping unit may be operated to substantially ensure that the net torque experienced by the gear box and/or the counterbalance torque moment are maintained below their maximum(s) and/or a predetermined value(s) to substantially increase the operating life of the pump unit components. Additionally or alternatively, the phase angle and/or pumping unit components may be adjusted to decrease the maximum net torque experienced by the gear box.
The pumping unit 100 includes a motor or engine 114 that drives a belt and sheave system 116 to rotate a gear box 118 and, in turn, rotate a crank arm 120 and a counterweight and/or counterbalance 121. A pitman 122 is coupled between the crank arm 120 and the walking beam 108 such that rotation of the crank arm 120 moves the pitman 122 and the walking beam 108. As the walking beam 108 pivots about a pivot point and/or saddle bearing 124, the walking beam 108 moves a horse head 126 and the polished rod 110.
To detect when the crank arm 120 completes a cycle and/or passes a particular angular position, a first sensor 128 is coupled adjacent to the crank arm 120. To detect and/or monitor a number of revolutions of the motor 114, a second sensor 130 is coupled adjacent the motor 114. A third sensor (e.g., a string potentiometer, a linear displacement sensor using radar, laser, etc.) 132 is coupled to the pumping unit 100 and is used in combination with the first and second sensors (e.g., proximity sensors) 128, 130 to calibrate a rod pump controller and/or apparatus 129 in accordance with the teachings of this disclosure. In contrast to some known calibration techniques that rely on measuring the pumping unit and determining a crank arm/polished rod offset, the example apparatus 129 is calibrated by measuring directly the position of the polished rod 110 and the rotation of the motor 114 throughout a cycle of the crank arm 120.
In some examples, to calibrate the apparatus 129 of
In some examples, the processor 142 generates a reference and/or calibration table 400 (
Once the calibration process has completed and the corresponding reference table 400 has been generated, the determined position data (e.g., position of the polished rod 110 versus time data) is saved in the memory 140 and/or used by the processor 142 to generate a dynamometer card such as, for example, a rod pump dynamometer card, a surface dynamometer card, a pump dynamometer card, etc. The dynamometer cards may be used to identify the load, F, on the polished rod 110, for example. Additionally or alternatively, the values included in the reference table 400 may be used to determine the number of motors pulses per crank arm 120 revolution.
As shown in the reference table 500 of
Equation 2 may be used to determine the torque created by the polished rod load, TPRL(θ), when the crank arm 120 is at an angle, θ, where F corresponds to the polished rod load and
corresponds to the rate of change in the position of the polished rod 110 with respect to the change in the angle of the crank arm 120 (e.g., torque factor). Equation 3 may be used to determine the torque factor,
corresponds to the change in polished rod 110 position versus time (e.g., polished rod speed) and
corresponds to the angular velocity of the crank arm 120. Specifically, in some examples and as shown in the reference table 600 of
and the relationship shown in Equation 3 may be used to determine the torque factor,
In some examples herein, the torque factor may be represented by
Equation 4 shows the relationship between the net torque, TNet(θ), experienced by a shaft of the gear box 118 when the crank arm 120 is at an angle, θ, the counterbalance torque, TCB (θ), when the crank arm 120 is at an angle, θ, and the torque, TPRL(θ), from loading of the polished rod 110 when the crank arm 120 is at an angle, θ. In Equation 4, inertial torque of the pumping unit 100 is ignored. Equation 5 may be used to determine the net torque, TNet(θ), on the gear box 118. Referring to Equation 5, TNP(θ), corresponds to the motor torque, MPPCR corresponds to the number of motor 114 pulses recorded during one revolution of the crank arm 120 and Targets corresponds to the number of targets 134 coupled to the motor 114 and/or its shaft. In some examples, the motor torque is determined by a fourth sensor (e.g., a variable speed drive) 146 coupled to the motor 114. The net torque, TNet(θ), on the gear box 118 may be represented in terms of inch pounds instead of foot pounds. Thus, the number twelve may be included in Equation 5 to represent the net torque in terms of inch pounds. Equation 6 shows the relationship between the counterbalance torque, TCB(θ), at an angle, θ, the maximum counterbalance moment, M, and the phase angle, τ, of the counterbalance in radians.
Equation 7 represents a combination of Equations 2, 4 and 6 where TNet(θ) corresponds to the net torque on the gear box 118 and/or its shaft, M corresponds to the maximum counterbalance moment, θ corresponds to the angular displacement of the crank arm 120 from vertical, τ corresponds to the phase angle of the counterbalance in radians, F corresponds to the instantaneous polished rod 110 load and TF(θ) corresponds to the torque factor at the crank arm 120 angle, θ.
TNet(θ)=[−M*sin(θ+τ)]+F*TF(θ) Equation 7:
Equation 8 may be used to determine the phase angle of the counterbalance using the torque factors, TNet(θ), at different crank angles. For example, using Equations 9, 10, 11 and 12, the respective torque factors may be determined when the crank angle is
In some examples, the torque factors between each of the crank angles
may be interpolated. Equation 10 can also be rewritten to solve for the maximum counterbalance torque moment, M, as shown in Equation 13.
and the relationship shown in Equation 3 may be used to determine the torque factor,
The example reference table 600 includes the first column 502 corresponding to time received from and/or determined by the timer 144, the second column 504 corresponding to the pulse count of the motor 114 received from and/or determined by the second sensor 130, the third column 506 corresponding to the position of the polished rod 110 received from and/or determined by the third sensor 132 and the fourth column 508 corresponding to the crank angle. The reference table 600 also includes a fifth column 602 corresponding to
a sixth column 604 corresponds to
and a seventh column 606 corresponds to
While an example manner of implementing the apparatus 129 is illustrated in
While
Flowcharts representative of example methods for implementing the apparatus 129 of
As mentioned above, the example methods of
The method of
If the pulse count difference at block 712 is equal to zero, based on data from the first sensor 128, the processor 142 again initializes the timer 144 (block 704). However, if the pulse count difference at block 712 is greater than zero, the calibration process is initiated (block 714). At block 716, the second sensor 130 determines a first pulse count of the motor 114 (block 716). In other examples, immediately after the calibration process is initiated, the pulse count of the motor 114 is not obtained. At block 718, based on data from the third sensor 132, the processor 129 determines a first position of the polished rod 110 (block 718). The processor 142 then associates a value of zero pulses with the first position of the polished rod 110 and stores this data in the memory 140 (block 720). For example, the pulse count may be stored in a first entry 408 of the second column 404 of the reference table 400 and the first position of the polished rod 110 may be stored in a first entry 410 of the third column 406 of the reference table 400.
At block 722, the processor 142 again initiates and/or initializes the timer 144. At block 724, the processor 142 determines, via the timer 144, the amount of time elapsed since the timer 144 was initialized (block 724). At block 726, the processor 142 determines if the elapsed time is at or after a predetermined time such as, for example, fifty milliseconds (block 726). If the processor 142 determines that the elapsed time is at or after the predetermined time, based on data from the second sensor 130, the processor 142 determines a second and/or next pulse count of the motor 114 (block 728).
At block 730, the processor 142 determines the difference between the second and/or next pulse count and the first pulse count (block 730). At block 732, based on data from the third sensor 200, the processor 142 determines a second and/or next position of the polished rod 110 (block 732). At block 734, the processor 142 associates the difference between the first and second pulse counts with the second position and/or next position of the polished rod 110 and stores the data in the memory 140. For example, the pulse count difference may be stored in a second entry 412 of the second column 404 of the reference table 400 and the second position of the polished rod 110 may be stored in a second entry 414 of the third column 406 of the reference table 400. At block 736, the processor 142 determines if an input associated with the crank arm 120 being in a vertical and/or a zero position has been received (block 736). In some examples, the input may be an input received from an operator and/or a sensor that detects when the crank arm 120 is at the vertical and/or zero position. If an input is received regarding the crank arm 120 being in the vertical and/or zero position, the processor 142 associates the second or next pulse count with the crank arm 120 being in the vertical and/or zero position and stores this information in the memory 140 (block 738).
At block 740, based on data from the first sensor 128, the processor 142 determines the pulse count of the crank arm 120 (block 740). At block 742, the processor 142 determines if the difference between the current pulse count of the crank arm 120 and the initial pulse count of the crank arm 120 is greater than one (block 742). In some examples, the pulse count of the crank arm 120 changes if the crank arm 120 has completed a cycle. At block 744, the collected data, the generated reference table 400 and/or the processed data are stored in the memory 140 (block 744). The generated reference table 400 can be used in combination with data from the first and/or second sensors 128, 130 to determine the position of the polished rod 110 when the pumping unit 100 operates continuously. In some examples, the data included in the reference table 400 may be used to generate a dynamometer card that identifies the load, F, on the polished rod 110, for example. Additionally, the table 400 can be used to determine the net torque, TNet(θ), experienced by the gear box 118, the counterbalance torque, TCB(θ), when the crank arm 120 is at an angle, θ, and/or the torque, TPRL(θ), due to the polished rod 110 when the crank arm 120 is at an angle, θ.
The method of
At block 804, the processor 142 associates the first motor pulse count entry with the crank arm 120 angle zero position (block 804). The processor 142 also identifies the first polished rod 110 position at entry 417 that is associated with the first motor pulse count (block 806). At block 808, the processor 142 stores the stores the crank arm 120 zero position at entry 510, the first polished rod 110 position at entry 512 and the first motor pulse count at entry 514 in the second reference table 500 (block 808).
At block 810, the processor 142 moves to the next motor pulse entry in the first reference table 400 (block 810). For example, if the next motor pulse entry is immediately after the first motor pulse entry, the processor 142 will move from entry 416 to entry 418. The processor 142 then determines if the next motor pulse entry is associated with the crank arm 120 zero angle position (block 812). In some examples, the next motor pulse entry is associated with the crank arm 120 zero angle position based on the crank arm 120 returning to the zero angle position after a full cycle. If the next motor pulse entry is associated with the crank arm 120 zero angle position, the method of
At block 814, the processor determines the angle of the crank arm 120 based on the next motor pulse count entry (block 814). If the next motor pulse count entry is the first entry 408 in the reference table 400, the processor 142 may use Equation 14 to determine the angle of the crank arm 120. If the next motor pulse count entry is not the first entry 408 in the reference table 400, the processor 142 may use Equation 15 to determine the angle of the crank arm 120.
The processor 142 also identifies the next polished rod 110 position associated with the next motor pulse count (block 816). At block 818, the processor 142 stores the crank arm 120 next position at, for example, entry 516, the next polished rod 110 position at, for example, entry 518 and the next motor pulse count at, for example, entry 520 in the second reference table 500 (block 818). At block 820, the processor 142 moves to the next motor pulse entry in the first reference table 400 (block 820). For example, if the next motor pulse entry is immediately after the second motor pulse entry, the processor 142 moves from entry 412 to entry 420.
The method of
and the relationship shown in Equation 3 may be used to determine the torque factor,
The processor 142 then stores the
in the associated entry in the fifth column 602, the
in the associated entry in the sixth column 604 and the
in the associated entry in the seventh column 606 (block 906).
The processor 142 then determines if the reference table 500 includes another crank arm 120 angle entry (block 908). For example, if the there are no more crank arm 120 angle entries (e.g., there are no subsequent crank arm 120 angle entries) the method of
The method of
If the crank arm 120 angle equals one of the predetermined crank arm 120 angles, the processor 142 determines a torque of the motor 114 at the predetermined angle using, for example, the fourth sensor 146 (block 1006). In some examples, the fourth sensor 146 is a variable speed drive (VSD). Based on the crank arm 120 angle equaling one of the predetermined crank arm 120 angles, the processor 142 determines the net torque, TNP, experienced by the gear box 116 as a function of the angle of the crank arm 120 at the predetermined angle (1008). Based on the crank arm 120 angle equaling one of the predetermined crank arm 120 angles, the processor 142 determines the associated torque factor, TF(θ) by referring to the third table 600 (block 1010). Based on the crank arm 120 angle equaling one of the predetermined crank arm 120 angles, the processor 142 determines the load on the polished rod 110 using, for example, one or more of the reference tables 500, 600 and 700 (block 1012).
At block 1014, the processor 142 determines if the torque factors for each of the predetermined crank arm 120 angles have been determined. It not all of the torque factors for the predetermined crank arm 120 angles have been determined, the method of
If all of the torque factors for the predetermined crank arm 120 angles have been determined, the processor 142 calculates the phase angle of the counterbalance using, for example, Equation 8 (block 1016). The processor 142 may then calculate the maximum counterbalance torque moment, M, using, for example, Equation 13 (block 1018). In some examples, to determine the phase angle and/or the maximum counterbalance torque moment, at least one stroke of the pumping unit 100 is monitored.
The processor platform 1100 of the illustrated example includes a processor 1112. The processor 1112 of the illustrated example is hardware. For example, the processor 1112 can be implemented by one or more integrated circuits, logic circuits, microprocessors or controllers from any desired family or manufacturer.
The processor 1112 of the illustrated example includes a local memory 1113 (e.g., a cache). The processor 1112 of the illustrated example is in communication with a main memory including a volatile memory 1114 and a non-volatile memory 1116 via a bus 1118. The volatile memory 1114 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device. The non-volatile memory 1116 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 1114, 1116 is controlled by a memory controller.
The processor platform 1100 of the illustrated example also includes an interface circuit 1120. The interface circuit 1120 may be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), and/or a PCI express interface.
In the illustrated example, one or more input devices 1122 are connected to the interface circuit 1120. The input device(s) 1122 permit(s) a user to enter data and commands into the processor 1012. The input device(s) can be implemented by, for example, an audio sensor, a microphone, a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system.
One or more output devices 1124 are also connected to the interface circuit 1120 of the illustrated example. The output devices 1024 can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display, a cathode ray tube display (CRT), a touchscreen, a tactile output device, a light emitting diode (LED), a printer and/or speakers). The interface circuit 1120 of the illustrated example, thus, typically includes a graphics driver card, a graphics driver chip or a graphics driver processor.
The interface circuit 1120 of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 1126 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
The processor platform 1100 of the illustrated example also includes one or more mass storage devices 1128 for storing software and/or data. Examples of such mass storage devices 1128 include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, RAID systems, and digital versatile disk (DVD) drives.
Coded instructions 1132 to implement the methods of
Although certain example methods, apparatus and articles of manufacture have been disclosed herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the claims of this patent.
Number | Name | Date | Kind |
---|---|---|---|
3029650 | Byrd | Apr 1962 | A |
3765234 | Sievert | Oct 1973 | A |
4483188 | McTamaney et al. | Nov 1984 | A |
4490094 | Gibbs | Dec 1984 | A |
4541274 | Purcupile | Sep 1985 | A |
4661751 | Werner | Apr 1987 | A |
5204595 | Opal et al. | Apr 1993 | A |
5291777 | Chang et al. | Mar 1994 | A |
6343656 | Vazquez | Feb 2002 | B1 |
7547196 | Boyer et al. | Jun 2009 | B2 |
8240221 | Simpson | Aug 2012 | B2 |
8444393 | Beck | May 2013 | B2 |
9115574 | Doyle | Aug 2015 | B2 |
20040084179 | Watson et al. | May 2004 | A1 |
20050095140 | Boren et al. | May 2005 | A1 |
20060060011 | Jensen | Mar 2006 | A1 |
20060067834 | Boyer et al. | Mar 2006 | A1 |
20120020808 | Lawson et al. | Jan 2012 | A1 |
20130030721 | Palka et al. | Jan 2013 | A1 |
20140129037 | Peterson | May 2014 | A1 |
20160003236 | Mills | Jan 2016 | A1 |
20160131128 | Doyle | May 2016 | A1 |
Number | Date | Country |
---|---|---|
2744324 | Dec 2012 | CA |
2334897 | Sep 2008 | RU |
2008118534 | Nov 2009 | RU |
Entry |
---|
Gobor Takacs, “Calculation of Gearbox Torques Considering Inertial Effects”, 2012. |
Patent Cooperation Treaty, “International Preliminary Report on Patentability,” issued in connection with PCT Patent Application No. PCT/US2015/038731, dated Jan. 3, 2017, 9 pages. |
Patent Cooperation Treaty, “International Preliminary Report on Patentability,” issued in connection with PCT Patent Application No. PCT/US2015/038726, dated Jan. 3, 2017, 7 pages. |
SPOC Automation, “IronHorse Series Drive, 40 HP, 480VAC, 3 phase Air Balance Pumping Unit,” video accessed on Internet on Jul. 1, 2014, https://www.facebook.com/video/video.php?v=209887075805037, 1 page. |
Patent Cooperation Treaty, “International Search Report”, issued in connection with PCT Patent Application No. PCT/US2015/038726, dated Dec. 10, 2015, 5 pages. |
Patent Cooperation Treaty, “Written Opinion”, issued in connection with PCT Patent Application No. PCT/US2015/038726, dated Dec. 10, 2015, 6 pages. |
Patent Cooperation Treaty, “Communication Relating to the Results of the Partial International Search,” issued in connection with PCT Patent Application No. PCT/US2015/038731, dated Dec. 17, 2015, 4 pages. |
Patent Cooperation Treaty, “International Search Report,” issued in connection with PCT Patent Application No. PCT/US2015/038731, dated Feb. 22, 2016, 7 pages. |
Patent Cooperation Treaty, “Written Opinion,” issued in connection with PCT Patent Application No. PCT/US2015/038731, dated Feb. 22, 2016, 8 pages. |
United States Patent and Trademark Office, “Non-Final Office Action,” issued in connection with U.S. Appl. No. 14/321,528, dated Jan. 13, 2017, 50 pages. |
SPOC Automation, “IronHorse Series Drive, 40 HP, 480VAC, 3 phase Air Balance Pumping Unit,” retrieved on Jan. 17, 2017, [https://www.facebook.com/video/video.php?v=209887075805037], 2 pages. |
United States Patent and Trademark Office, “Non-Final Office Action,” issued in connection with U.S. Appl. No. 14/321,528, dated Feb. 6, 2018, 22 pages. |
Takacs, Gabor, “Modern Sucker-Rod Pumping,” PennWell Publishing, Tulsa, OK, 1993, pp. 80-91, 14 pages. |
United States Patent and Trademark Office, “Notice of Allowance,” issued in connection with U.S. Appl. No. 14/321,528, dated Jun. 5, 2018, 13 pages. |
Federal Service for Intellectual Property, “Office Action,” issued in connection with Russian Patent Application No. 20171022021/06(003493), dated Jan. 24, 2019, 13 pages. |
Number | Date | Country | |
---|---|---|---|
20160003234 A1 | Jan 2016 | US |