Electric pulse tool motor control using multiple inputs

WO2026183092A1PCT designated stage Publication Date: 2026-09-03APEX BRANDS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/US2026/016413
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-02-26
Filing Date
2026-02-24
Publication Date
2026-09-03

Smart Images

  • Figure US2026016413_03092026_PF_FP_ABST
    Figure US2026016413_03092026_PF_FP_ABST
Patent Text Reader

Abstract

A pulse tool may include a motor which may be configured to output rotational movement via a motor shaft, a drive assembly which may be operably coupled to the motor shaft to transmit rotational movement of the motor shaft to an end effector for acting upon a work piece, an angle sensor which may measure an angular position of the motor shaft, position control circuitry which may control the angular position of the motor shaft based on feedback from the angle sensor, and process control circuitry which may control the position control circuitry using a combined control value and feedback from the position control circuitry. The process control circuitry may include a control algorithm that may control the position control circuitry based on the angular position of the motor shaft and the combined control value. The combined control value may be based on multiple other control values.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] ELECTRIC PULSE TOOL MOTOR CONTROL USING MULTIPLE INPUTS

[0002] TECHNICAL FIELD

[0003] Example embodiments generally relate to power tool technologies and, and in particular to pulse tools and associated components.

[0004] BACKGROUND

[0005] Driver tools are torque generating tools that may be used to drive work pieces such as fasteners. Many driver tools operate by powering a motor to generate torque that is transferred to a work piece via a series of gears, shafts and various other components. Many different types of driver tools are currently well known in the art, including drills, impact drivers, nutrunners and others.

[0006] Pulse tools are another type of driver tool that may be implemented in manufacturing settings for their precision, low reaction force on the user, and efficiency. Pulse tools work by operating their motor discontinuously to apply torque to the work piece in smaller increments. This type of discontinuous rotational output may make pulse tools easier to use for operators than some other types of driver tools that may apply torque continuously. In this regard, the maximum continuous torque output that operators of pistol-grip type driver tools may be able to comfortably withstand may be about 10 Nm, which in some cases may not be sufficient to drive many work pieces as desired. Accordingly, by applying the torque discontinuously in pulses, a higher output torque may be achieved without sacrificing operator comfort or usability of the pulse tool.

[0007] In many cases, pulse tools may be controlled by monitoring the velocity of the motor or the current that the motor draws. Such existing methods of controlling the pulse tool may lead to uncertainty and inefficiency during operation of the pulse tool. Accordingly, innovation to address the technical problem of controlling pulse tools with greater accuracy, precision and efficiency may be desired.

[0008] BRIEF SUMMARY OF SOME EXAMPLES

[0009] Some example embodiments may provide for a pulse tool. The pulse tool may include a motor which may be configured to output rotational movement via a motor shaft, a drive assembly which may be operably coupled to the motor shaft to transmit rotational movement of the motor shaft to an end effector for acting upon a work piece, an angle sensor which may be operably coupled to the motor to measure an angular position of the motor shaft, positioncontrol circuitry which may control the angular position of the motor shaft based on feedback from the angle sensor, and process control circuitry which may be configured to control the position control circuitry using a combined control value and feedback from the position control circuitry. The process control circuitry may include a control algorithm that may control the position control circuitry to change the rotational movement of the motor based on the angular position of the motor shaft and the combined control value. The combined control value may include a combination of an angle control value, a rebound control value, and a deceleration control value.

[0010] Some example embodiments may provide for a method of controlling a pulse tool based on a combined control value. The method may include the steps of driving the motor in a first direction at a constant velocity in a rundown period until a reverse transition trigger may be detected, transitioning the motor from the rundown period to the reverse period responsive to detecting the reverse transition trigger, ceasing power supply to the motor in the coasting interval which may enable the motor to slow down, stop and rotate in a second direction until a rebound transition trigger may be detected, transitioning the motor from the coasting interval to the rebound interval responsive to detecting the rebound transition trigger, restoring power supply to the motor to rotate the motor in the second direction until a pulsing transition trigger may be detected, transitioning the motor from the reverse period to the pulsing period responsive to detecting the pulsing transition trigger, driving the motor in the first direction until the reverse transition trigger may be detected, transitioning the motor from the pulsing period to the reverse period responsive to detecting the reverse transition trigger, and alternating the motor between the pulsing period and the reverse period until a stop trigger may be detected. The reverse period may include a coasting interval and a rebound interval. The stop trigger may include the combined control value, which may include a combination of an angle control value, a rebound control value, a deceleration control value, and a torque reading, reaching a predetermined combined control value threshold.

[0011] Some example embodiments may provide for a method of determining a combined control value of a pulse tool. The method may include the steps of determining a difference between a first maximum angular position of a motor shaft of a motor of the pulse tool and a second maximum angular position of the motor shaft, calculating an angle control value by multiplying the difference by a joint stiffness value, measuring a maximum rebound velocity achieved by the motor shaft during a coasting interval, calculating a rebound control value by multiplying the maximum rebound velocity by a rebound scale factor, measuring a maximumdeceleration achieved by the motor shaft during the coasting interval, calculating a deceleration control value by multiplying the maximum deceleration by a deceleration scale factor, measuring a torque reading with a torque sensor disposed at the pulse tool, multiplying each of the angle control value, the rebound control value, the deceleration control value and the torque reading by an angle control value weight factor, a rebound control value weight factor, a deceleration control value weight factor, and a torque reading weight factor, respectively, to yield a weighted angle control value, a weighted rebound control value, a weighted deceleration value, and a weighted torque reading, respectively, and taking the sum of the weighted angle control value, the weighted rebound control value, the weighted deceleration value, and the weighted torque reading to yield the combined control value.

[0012] BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S) Having thus described some example embodiments in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:

[0013] FIG. 1 illustrates a functional block diagram of a pulse tool according to some example embodiments;

[0014] FIG. 2 illustrates a flow chart depicting a control algorithm for operating the pulse tool according to an example embodiment;

[0015] FIG. 3a illustrates an exploded perspective view of the drive in accordance with an example embodiment;

[0016] FIG. 3b illustrates a section view of an engagement interface between the hammer and the anvil in accordance with an example embodiment;

[0017] FIG. 4 depicts a graph of various metrics of the pulse tool and how they change over time during the operation of the pulse tool in accordance with an example embodiment;

[0018] FIG. 5 depicts a graph of torque output vs number of pulsing periods for the control values in accordance with an example embodiment;

[0019] FIG. 6 depicts a graph of torque output vs number of pulsing periods for the angle control value in accordance with an example embodiment;

[0020] FIG. 7 depicts a graph of torque output vs number of pulsing periods for the rebound control value in accordance with an example embodiment;

[0021] FIG. 8 depicts a graph of torque output vs number of pulsing periods for the deceleration control value in accordance with an example embodiment;

[0022] FIG. 9 illustrates a flow chart of a method of controlling a pulse tool motor based on a combined control value in accordance with an example embodiment; andFIG. 10 illustrates a flow chart of a method of determining a combined control value of a pulse tool in accordance with an example embodiment.

[0023] DETAILED DESCRIPTION

[0024] Some example embodiments now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all example embodiments are shown. Indeed, the examples described and pictured herein should not be construed as being limiting as to the scope, applicability or configuration of the present disclosure.

[0025] Rather, these example embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout. Furthermore, as used herein, the term “or” is to be interpreted as a logical operator that results in true whenever one or more of its operands are true. As used herein, operable coupling should be understood to relate to direct or indirect connection that, in either case, enables functional interconnection of components that are operably coupled to each other.

[0026] Additionally, as used herein, terminology such as “about,” “approximately” and “substantially,” when used to refer to variability of parameters, should be understood to be definite approximations that account for variations in measurements that cannot be, or as one of skill in the art would appreciate, normally are not, measured precisely. Thus, for example, a parameter that is “about,” “approximately” or “substantially” a given value or a given characteristic should be understood to be sufficiently close to the given value or given characteristic such that performance of the object or product to which the parameter applies, from the perspective of one with ordinary skill in the art, is the same as though the object or product had precisely the given value or characteristic.

[0027] According to some example embodiments, a pulse tool, a method of controlling a pulse tool, and a method of determining a control value for a pulse tool may be provided. In an example embodiment, the pulse tool may be controlled by a combination of position control circuitry, process control circuitry, and a control algorithm which may use an angular position of the motor shaft to control the motor, rather than the velocity or current draw of the motor. Position control of the pulse tool may provide various benefits over velocity control and current control, such as greater precision and an increased ability to know the position of the motor at all times, which may include knowing when the motor may be slowing down, stopping momentarily, and changing directions, which may occur often during the operation of the pulse tool. As such, previous methods for controlling the pulse tool (e.g. velocity control and current control) may be avoided for more convenient and consistent control of thepulse tool. Furthermore, in some cases, the pulse tool may rely on a control value in lieu of direct input from a torque sensor. In this regard, torque sensors may be unreliable or inaccurate in their readings, and as such, developing a more consistent measure to correlate to torque output of the pulse tool may increase the efficiency of operating the pulse tool.

[0028] Having described some aspects of example embodiments generally, FIG. 1 illustrates a functional block diagram of a pulse tool 100 according to some example embodiments. The pulse tool 100 may include an external housing 110, within which various operational components may be disposed. In some cases, the external housing 110 may be of the pistolgrip shape type, which may indicate that the pulse tool 100 may be intended for single-handed use. The pulse tool 100 may be powered by a power source 120, such as, for example, a rechargeable battery. The power source 120 may be configured to provide electrical power to various operational components such as position control circuitry 130, process control circuitry 140 and various sensors within the pulse tool 100, in addition to a motor 150. The position control circuitry 130 may receive an input signal from a control switch 135 (e.g., trigger) and may respond by permitting controlled electrical power to be provided to the motor 150 to rotate a motor shaft 152 of the motor 150. In other words, the position control circuitry 130 may be configured to control an angular position of the motor shaft 152 based on feedback from the angle sensor 200. On the other hand, the process control circuitry 140 may control the position control circuitry 130 to control overall operation of the pulse tool 100. As such, the process control circuitry 140 may be configured to control the position control circuitry 130 a control value and the position control circuitry 130. This relationship between the position control circuitry 130 and the process control circuitry 140 will be further described below with regard to FIG. 2.

[0029] As mentioned above, the pulse tool 100 may include a motor 150 configured to output rotational movement via the motor shaft 152. Thus, the motor 150 may be configured to rotate a drive assembly 160, which may include various gears for changing a rotational velocity of the motor shaft 152 to a desired rotational velocity for output by the drive assembly 160. The drive assembly 160 may be operably coupled to the motor shaft 152 at a first end of the drive assembly 160 to transmit rotational movement of the motor shaft 152 to an end effector 180 for acting upon a work piece 190, which may be disposed at a second end of the drive assembly 160. Among other components, the drive assembly 160 may further include a hammer 162 (e.g. an output carrier) and a gear assembly (not shown). The hammer 162 of the drive assembly 160 may operably couple to an anvil 164 (e.g. an output shaft) to transmit torque from the motor 150 to a work piece 190. The hammer 162 may be operablycoupled to the motor shaft 152 via the gear assembly. As such, the gear assembly may receive torque from the motor 150 via the motor shaft 152 and may transfer the torque from the motor shaft 152 to the hammer 162, which may transfer the torque to the anvil 164 about an axis of rotation 170. In some cases, the motor 150 may be a servo motor, which may allow for more precise control of the angular position of the motor shaft 152. In an example embodiment, the gear assembly may be disposed within a carrier of the hammer 162. In this regard, the gear assembly may be a planetary gear assembly and may include a sun gear and at least one planet gear. The sun gear may be operably coupled to the motor shaft 152 to receive torque from the motor shaft 152 and to the at least one planet gear to transmit torque to the at least one planet gear. The at least one planet gear may also be operably coupled to the carrier of the hammer 162 to rotate the hammer 162 accordingly. In some cases, the gear assembly may include additional stages of gears as well. For instance, the gear assembly may include a plurality of planet gears which may change the gear ratio of the pulse tool 100. In some cases, the gear ratio may be approximately 4: 1. In some other cases, the gear ratio may be approximately 7.5:1.

[0030] The hammer 162 may operably couple to the anvil 164 such that the hammer 162 carries the anvil 164 with it responsive to being rotated by the motor shaft 152. The drive assembly 160 will be discussed below in further detail in relation to FIG. 3. Such rotational movement may be transferred by the anvil 164 to a head end of the anvil 164 which may include a drive portion 165 shaped to operably couple to the end effector 180. The end effector 180 may be, for example, a socket, a driver bit, a drill bit, or the like. Accordingly, with the end effector 180 coupled to the drive portion 165 of the anvil 164, the pulse tool 100 may be configured to act upon the work piece 190 (e.g., a fastener such as a screw, bolt, nut, or the like), for example, which may be disposed in a work medium 195. In this regard, the pulsing rotational output evoked on the end effector 180 may operate, for example, to drive the work piece 190 to a desired torque level.

[0031] As mentioned briefly above, the pulse tool 100 may also include various sensors which may assist the position control circuitry 130 and the process control circuitry 140 in the operation of the pulse tool 100. In some cases, the pulse tool 100 may include an angle sensor 200, which may be operably coupled to the motor 150 to measure an angular position of the motor shaft 152, and a reaction torque sensor 210 which may be operably coupled to the motor shaft 152 and to the gear assembly to measure the reaction torque within the drive assembly 160 (i.e. between a ring gear of the gear assembly and the motor 150). Further, the pulse tool 100 may also include a current sensor 215. The current sensor 215 may measurethe electrical current draw from the power source 120 to the motor 150. As will be described in more detail below in reference to FIG. 2, the angle sensor 200, the torque sensor 210 and the current sensor 215 may provide inputs to the position control circuitry 130 and the process control circuitry 140, respectively, to aid the process control circuitry 140 in controlling the operation of the pulse tool 100. In some example embodiments, the angle sensor 200 may be an encoder and the torque sensor 210 may be a torque transducer (e.g. a strain gauge). In some cases, the angle sensor 200 may include a magnet which may be disposed on the motor shaft 152 and a magnetic sensor disposed at the motor 150. In this regard, the magnetic sensor may detect the position of the magnet as the motor shaft 152 rotates so that the angle sensor 200 may know the position of the motor shaft 152 at all times.

[0032] In an example embodiment, the current sensor 215 may be able to detect a potential impending stall condition of the motor 150. In this regard, responsive to detecting a sudden reduction in the angular velocity of the motor 150 along with a sudden increase in the current draw by the motor 150, the position control circuitry 130 may predict that the motor 150 may be about to enter a stall condition. In order to protect the motor 150 and the position control circuitry 130 from spikes in the electrical current, the position control circuitry 130 may stop the motor 150 when the stall condition is detected.

[0033] In an example embodiment, the position control circuitry 130 and the process control circuitry 140 may both be configured to provide electronic control inputs to one or more functional units of the pulse tool 100 and to process data received at or generated by the one or more functional units of the pulse tool 100. Thus, the position control circuitry 130 and the process control circuitry 140 may be configured to perform data processing, control function execution and / or other processing and management services according to an example embodiment. In some embodiments, the position control circuitry 130 and the process control circuitry 140 may be embodied as chips or chip sets. In other words, the position control circuitry 130 and the process control circuitry 140 may each comprise one or more physical packages (e.g., chips) including materials, components and / or wires on a structural assembly (e.g., a baseboard). The structural assembly may provide physical strength, conservation of size, and / or limitation of electrical interaction for component circuitry included thereon. The position control circuitry 130 and the process control circuitry 140 may therefore, in some cases, be configured to implement an embodiment of the present invention on a single chip or as a single “system on a chip.” As such, in some cases, a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein.In an example embodiment, the position control circuitry 130 and the process control circuitry 140 may each include one or more instances of a processor and memory that may be in communication with or otherwise control other components or modules that interface with the position control circuitry 130 and the process control circuitry 140. As such, the position control circuitry 130 and the process control circuitry 140 may be embodied as a circuit chip (e.g., an integrated circuit chip) configured (e.g., with hardware, software or a combination of hardware and software) to perform operations described herein. In some embodiments, the position control circuitry 130 and the process control circuitry 140 may be embodied as a portion of an onboard computer housed in the housing 110 of the pulse tool 100 to control operation of the tool.

[0034] In an example embodiment, the process control circuitry 140 may include a control algorithm 220 that may control the rotational movement of the motor 150 based on the angular position of the motor shaft 152. In some cases, the control algorithm 220 may be stored in the memory of the process control circuitry 140. The processor of the process control circuitry 140 may be configured to access the memory in order to run the control algorithm 220 and to execute actions associated with the control algorithm 220 to control the operation of the pulse tool 100. The control algorithm 220 will be described in greater detail below in reference to FIG. 2.

[0035] FIG. 2 illustrates a flow chart depicting the control algorithm 220 for operating the pulse tool 100 according to an example embodiment. In the example embodiment described herein, the control algorithm 220 may include a rundown period 230, a reverse period 240 and a pulsing period 250. In some cases, the rundown period 230 may occur first before either of the reverse period 240 or the pulsing period 250. In fact, in an example embodiment, the rundown period 230 may only occur once per work piece 190 that the pulse tool 100 is used to drive. In this regard, the rundown period 230 may include the position control circuitry 130 driving the motor 150 in a first direction (e.g. clockwise) at a predetermined constant velocity until a first reverse transition trigger is detected at step 235, and the process control circuitry 140 transitions the motor to the reverse period 240. In other words, the rundown period 230 typically spans from when the control switch 135 is first actuated by the operator of the pulse tool 100 (when the motor 150 begins spinning) to when a head of the work piece 190 begins to seat on the work medium 195. Thus, the rundown period 230 may essentially correlate to the work piece 190 being driven into the work medium 195 for a distance approximately equal to the length of the shaft of the work piece 190.In an example embodiment, the position control circuitry 130 may generally be in charge of controlling the operation of the motor 150. As the control algorithm is described below, any time the motor 150 rotates the motor shaft 152, that may be the result of a control signal sent from the position control circuitry 130 telling the motor 150 to do so. On the other hand, the process control circuitry 140 may more broadly control the process of operating the pulse tool 100. In other words, the position control circuitry 130 may execute the control algorithm 220 and may transition the pulse tool 100 between the rundown period 230, the reverse period 240 and the pulsing period 250. Accordingly, in some cases, the process control circuitry 140 may provide input signals to the position control circuitry 130 to control the rotational output of the motor 150. In some cases, like the one depicted in FIG. 4, the pulse tool 100 may be used within a group of other pulse tools 100, and the group may be controlled by a controller 300. This will be described in greater detail in reference to FIG. 4 below.

[0036] Depending on the work piece 190 and the work medium 195, the predetermined constant velocity used in the rundown period 230 may vary case by case. For instance, when the pulse tool 100 may be used on hard and medium joints, the predetermined constant velocity may be lower than when the pulse tool 100 may be used on softer joints so that the peak torque from the bottoming of the work piece 190 is not too high. During the rundown period 230, any rotational velocity less than or equal to a maximum free velocity of the motor 150 may be used as the predetermined constant velocity. In some other cases, in the rundown period 230, an acceleration rate of the motor shaft 152 may be limited to cap the maximum current drawn by the motor 150 to be less than or equal to a rundown current threshold value.

[0037] As mentioned above, the control algorithm may keep the pulse tool 100 in the rundown period 230 until the first reverse transition trigger is detected at step 235, at which point the control algorithm may enter the reverse period 240. In some cases, the first reverse transition trigger may include the motor current reaching a rundown current threshold value. Thus, in this regard, the motor 150 may begin to draw more current to maintain the constant speed during the rundown period 230 described above. When this occurs, the process control circuitry 140 may detect the current reaching the rundown current threshold value (i.e. first reverse transition trigger) and may therefore transition the motor 150 to the reverse period 240. In another example embodiment, the first reverse transition trigger may include a control value reaching a threshold value. In this regard, the control value may represent any particular control variable that may be tracked by the pulse tool 100. In the example embodiment described herein, the control value may be the torque output measured by thetorque sensor 210. Therefore, the first reverse transition trigger may include the torque output measured by the torque sensor 210 reaching a rundown torque threshold value. The control value may be other controlling variables in other example embodiments and the example of the torque output should not be interpreted as limiting. In fact, the control value may be a proxy for torque output that may be determined by the pulse tool 100 as well. In another example embodiment, the first reverse transition trigger may include the detection of the motor stall condition, as described above. In either case, the detection of the first reverse transition trigger may correspond to the head of the work piece 190 being seated on the work medium 195, at which point the rundown period 230 may end. In some cases, the rundown period 230 may last approximately 10 revolutions of the work piece 190, depending on the size of the work piece 190.

[0038] Responsive to detecting the first reverse transition trigger at step 235, the process control circuitry 140 may transition the motor from the rundown period 230 to the reverse period 240. In an example embodiment, the reverse period 240 may include a coasting interval 242 and a rebound interval 244, and the coasting interval 242 may occur prior to the rebound interval 244. During the coasting interval 242, power supply to the motor 150 is ceased by the position control circuitry 130, which may enable the motor shaft 152 to slow down (e.g. coast) to a stop and, after stopping, rotate backwards in a second direction (e.g. counterclockwise) until a rebound transition trigger is detected at step 243. The rotation in the second direction during the coasting interval 242 may not be driven rotation by the motor 150, but instead may be caused by tension in the gears of the drive assembly 160 which may act as potential energy to slightly rotate the motor shaft 152 in the second direction after coasting to a stop. In some cases, the rebound transition trigger may include the non-driven rotation in the second direction coming to a stop. In another case, the rebound transition trigger may include an elapsed amount of time spent in the coasting interval reaching a coasting interval duration threshold. In some cases, the rebound transition trigger may include either of the above, whichever occurs first. In other words, the control algorithm may transition the motor 150 out of the coasting interval responsive to the rotation of the motor 150 in the second direction coming to a stop, or responsive to the rotation of the motor 150 in the second direction continuing for a duration of time that reaches the coasting interval duration threshold. In an example embodiment, the coasting interval duration threshold may be predetermined by the control algorithm.

[0039] Responsive to detecting the rebound transition trigger at step 243, the process control circuitry 140 may transition the motor 150 from the coasting interval 242 to the reboundinterval 244. In the rebound interval 244 of the reverse period 240, the power supply to the motor 150 may be restored by the position control circuitry 130 to rotate the motor shaft 152 further in the second direction until a pulsing transition trigger is detected at step 245. In some cases, during the rebound interval 244, the motor 150 may be powered at a given acceleration until a predetermined reverse velocity is reached. The motor 150 may then rotate in the second direction at the predetermined reverse velocity until the pulsing transition trigger is detected at step 245. In an example embodiment, the pulsing transition trigger may include the angular position of the motor shaft 152 reaching a threshold motor shaft rebound angle. Prior to reaching the threshold motor shaft rebound angle, the position control circuitry 130 may begin to slow the motor 150 down so that it may bring the motor 150 to a controlled “stop” at the threshold motor shaft rebound angle. In this regard, the “stop” may only be a momentary “stop” in the sense that the motor velocity may very briefly be zero as the motor 150 changes from rotating in the first direction to rotating in the second direction. In other words, the motor 150 may not stop in the sense that the motor shaft 152 stays stationary, but instead the stop may correspond to the point at which the direction of rotation of the motor shaft 152 changes. Responsive to the motor reaching the threshold motor shaft rebound angle, the process control circuitry 140 may transition the motor to the pulsing period 250. In some cases, the threshold motor shaft rebound angle may be proportional to a corresponding threshold hammer rebound angle which may be calculated using the gear ratio of the gear assembly. For instance, the threshold hammer rebound angle may be equal to the threshold motor shaft rebound angle divided by the gear ratio, which in some cases may be 4 and other cases may be 7.5, as discussed above. Therefore, the threshold hammer rebound angle may be approximately 90°, which may constitute a full rebound according to some example embodiments. However, in some other cases, the threshold hammer rebound angle may be less than 90°, while in still other cases the threshold hammer rebound angle may be as large as 300°.

[0040] In the pulsing period 250, the position control circuitry 130 may drive the motor shaft 152 in the first direction until a stop trigger is detected at step 252, or until a second reverse transition trigger is detected at step 254. If no stop trigger is detected at step 252, then responsive to detecting the second reverse transition trigger at step 254, the process control circuitry 140 may transition the motor from the pulsing period 250 to the reverse period 240. In this regard, the position control circuitry 130 may alternate the motor 150 between the pulsing period 250 and the reverse period 240 until the stop trigger may be detected at step 252, which may stop the motor 150. In some cases, after the first reverse period 240 of theoperation of the pulse tool 100, subsequent reverse periods 240 may not include the coasting interval 242. As such, the motor 150 may alternate between powered rotation in the first direction during the pulsing period 250 and powered rotation in the second direction in the reverse period 240. In some cases, the second reverse transition trigger may be any of the same triggers as the first reverse transition trigger. The difference between the first reverse transition trigger and the second reverse transition trigger may be that the first reverse transition trigger may occur between the rundown period 230 and the coasting interval 242 of the reverse period 240, whereas the second reverse transition trigger may occur between the pulsing period 250 and the coasting interval 242 of the reverse period 240. In an example embodiment, the second reverse transition trigger may also include the angle of the output shaft reaching a threshold equal to approximately 10° less than the maximum output shaft angle achieved in a previous pulsing period 250. In other words, during the pulsing period 250 the output shaft (e.g. anvil 164) may be driven in the first direction again after being driven in the second direction during the reverse period 240. Accordingly, when the output shaft rotates in the first direction and reaches an angle equal to approximately 10° less than the maximum angle achieved in the previous pulsing period 250, the process control circuitry 140 may transition the motor 150 from the pulsing period 250 to the reverse period 240. In this regard, the motor 150 may begin the coasting interval 242 before the output shaft reaches the maximum angle achieved during the previous pulsing period 250.

[0041] In some example embodiments, the stop trigger may include at least one of the control value (e.g. the torque output) reaching a final torque threshold value, the angular position of the motor shaft reaching the threshold motor shaft angle, an operation time limit being reached and a number of pulsing periods reaching a predetermined number of pulsing periods. Upon detecting the stop trigger at step 252, operation of the pulse tool 100 may cease at step 260, and if the pulse tool 100 is used in an assembly setting, the operator may then move on to the next task with the pulse tool 100.

[0042] FIG. 3, which may include FIGS. 3a and 3b, illustrates an exploded perspective view of the drive assembly 160 including the hammer 162 and anvil 164 in accordance with an example embodiment (FIG. 3a) and a section view of an engagement interface 270 between the hammer 162 and the anvil 164 in accordance with an example embodiment (FIG. 3b). The hammer 162 may operably couple to the anvil 164 and to the motor shaft 152, and as such, the hammer 162 may transfer torque from the motor shaft 152 to the anvil 164. A rear end of the anvil 164 (e.g. at an opposite end of the anvil 164 from the head end and the drive portion 165) may operably couple to a first end of the hammer 162 at the engagementinterface 270. In some cases, such as the one depicted in FIG. 3, the engagement interface 270 may include a receiving orifice 272 formed in the hammer 162 and a projection member 274 formed at the rear end of the anvil 164. In this regard, the projection member 274 of the anvil 164 may be inserted into the receiving orifice 272 of the hammer 162. As shown in FIG. 3, the receiving orifice 272 may include an eccentric shape that may enable the hammer 162 to rotate in the first and second directions, as indicated by arrow 275 in FIG. 3b, a predetermined amount without contacting the projection member 274 and carrying the anvil 164 with the hammer 162.

[0043] Accordingly, the eccentric shape of the receiving orifice 272 may enable the pulse tool 100 to alternate between the reverse period 240 and the pulsing period 250 without driving the work piece 190 in the second direction and undoing any tightening progress made during the pulsing period 250. In other words, during the reverse period 240 when the motor shaft 152 rotates in the second direction, the hammer 162 may rotate in the second direction with the motor shaft 152, but the anvil 164 may not rotate in the second direction with the hammer 162 due to the shape of the receiving orifice 272 enabling the hammer 162 to rotate a predetermined amount before carrying the anvil 164. Additionally, when the process control circuitry 140 transitions the motor 150 back to the pulsing period 250 from the reverse period 240, the motor shaft 152 and the hammer 162 can gain velocity prior to engaging / carrying the anvil 164 and thus driving the work piece 190. In another example embodiment, the projection member 274 of the anvil 164 may only include one tang instead of the two depicted in FIGS. 3a and 3b. In this regard, with only one tang, the hammer 162 may be capable of rotating much further before engaging / carrying the anvil 164 on its one tang, and thus driving the work piece 190. This, along with the shape of the receiving orifice 272 may allow for up to approximately 300° of movement of the hammer 162 before the motor shaft 152, the hammer 162 and the anvil 164 move together.

[0044] As mentioned briefly above, in some cases the stop trigger may include the torque output reaching a final torque threshold value. As such, the pulse tool 100, and more particularly the process control circuitry 140 may monitor the torque output to the work piece 190 so that the control algorithm 220 may know when the final torque threshold value has been reached. However, in some other cases, the control algorithm 220 may instead use a control value to determine the stop trigger rather than relying directly on readings from the torque sensor 210. The control value may, in some cases, be more reliable, consistent, precise and accurate than readings from the torque sensor 210 when used to determine the stop trigger. Various control values may be used by the pulse tool 100 in different exampleembodiments. For instance, an angle control value 500 may be based on an angle of the motor 150 and a joint stiffness value. A rebound control value 510 may be based on a rebound velocity of the motor 150, and a deceleration control value 520 may be based on the deceleration of the motor 150. In some cases, a combined control value 530 may be based on a combination of the angle, rebound and deceleration control values (500, 510, 520) and the reading from the torque sensor 210. In this regard, the combined control value 530 may be a combination of all four of the aforementioned values, or in some example embodiments, may be a combination of any two or three of the four values. The angle, rebound, deceleration and combined control values (500, 510, 520, 530) may serve as a proxy for torque output, and may be used by the process control circuitry 140 to determine the stop trigger in some cases.

[0045] FIG. 4 depicts a graph of multiple plots made using various data sets related to the pulse tool 100 and how they change over time during the operation of the pulse tool 100 in accordance with an example embodiment. FIGS. 5-8 depict graphs relating the control values (500, 510, 520, 530) to a reading from the torque sensor 210 to illustrate the relationship of each control value to the torque output, according to various example embodiments.

[0046] Referring now to FIG. 4, the graph 400 may depict a motor angle plot 410, a toggle signal plot 420, a motor velocity plot 430 and a work piece torque reading plot 440. The work piece torque reading plot 440 may be included as a benchmark plot to provide context for the rest of the plots in the graph 400. In some cases, the work piece torque reading plot 440 may be made using data from a sensor disposed at the work piece 190, external to the tool 100, which may measure a clamping force of the work piece 190. The graph 400 has been trimmed along the x axis to show a time interval covering approximately 0.257 seconds elapsed from initiating operation of the pulse tool 100. In other words, in some cases, the operation of the pulse tool 100 may continue well beyond the extent of what is depicted in graph 400, but graph 400 has been cut off at this point to better show the steps of the control algorithm 220 explained above in relation to FIG. 2. The graph 400 may be illustrative of an example embodiment of the pulse tool 100 for explanation purposes and should not be interpreted as limiting the operation of the pulse tool 100 in any way.

[0047] The rundown period 230 of the control algorithm 220 may be visualized by the motor angle plot 410. The motor angle plot 410 of the graph 400 depicts the position of the motor shaft 152 during the operation of the pulse tool 100 under the control algorithm 220, and it may be created using data obtained from the angle sensor 200. For instance, from the moment operation of the pulse tool 100 begins, the motor shaft 152 may begin to rotate in the first direction during the rundown period 230 and it may continue to do so until the tool 100reaches the reverse period 240. Thus, the motor angle plot 410 is shown to increase at a substantially constant and linear rate, which may be due to the substantially constant velocity of the motor 150 during the rundown period 230 (e.g. as shown in the motor velocity plot 430). As described above, the rundown period 230 may last until the first reverse transition trigger is detected, at which point the coasting interval 242 of the reverse period 240 may begin. In FIG. 4, the first reverse transition trigger may occur right in between the rundown period 230 and the reverse period 240. The motor angle plot 410 may then reduce the rate at which the angle increases until a local maximum 412 motor angle may be reached. Note that the local maximum 412 motor angle may occur during the reverse period 240 (in particular during the coasting interval 242) as the motor shaft 152 may still be rotating in the first direction during the coasting interval 242.

[0048] Thus, responsive to entering the coasting interval 242, the motor angle plot 410 may keep increasing as the motor 150 coasts, but may do so at a rate that decreases until the motor 150 reaches zero rpm. The points at which the motor 150 reaches zero rpm during the coasting interval 242 may occur at the same time as each local maxima 412 of the motor angle plot 410. In this regard, after the local maxima 412, the motor angle plot 410 may decrease as the motor 150 spins in the second direction during the end of the coasting interval 242 and during the rebound interval 244. This may correlate with the portion of the motor angle plot 410 that may occur immediately after the local maximum 412 and may last until the pulsing transition trigger is detected and the algorithm transitions the tool 100 to the pulsing period 250. The pulsing transition trigger being detected (and thus the end of the reverse interval 244) may correlate to a local minimum 413 of the motor angle plot 410. In this regard, the pulsing period 250 may be defined between the local minimum 413 and the next ensuing local maximum 412. After the local minimum 413, the motor angle plot 410 may increase again (during the pulsing period 250) to the next local maximum 412, which may signal the beginning of the ensuing reverse period 240, and this pattern may repeat until the stop trigger may be detected. In some cases, the magnitude of each local maxima 412 of the motor angle plot 410 may be greater than the last. In other words, the local maxima 412 may gradually get larger as the pulse tool 100 delivers the torque output to the work piece 190 and is able to rotate the work piece 190 slightly further with each pulsing period 250. The upward trend in local maxima 412 of the motor angle plot 410 may form the basis of the angle control value 500. In this regard, the trend in local maxima 412 of the motor angle plot 410 may be related to the torque output of the pulse tool 100. The angle control value 500 will be described in further detail below in relation to FIGS. 5 and 6.The graph 400 may also depict the toggle signal plot 420. The toggle signal plot 420 may correlate to the process control circuitry 140 commanding the position control circuitry 130 to cut power to the motor 150 and begin the coasting interval 242. In this regard, as depicted in FIG. 4, the toggle signal plot 420 may be binary, and may alternate between being off and being on. When the toggle signal plot 420 is on, the motor 150 may begin coasting which may be confirmed by both of the motor velocity plot 430 and the motor angle plot 410. In this regard, the leading edge of the toggle signal plot 420 may align with the transition to the reverse period 240 and may precede the local maxima 412 by a very short amount of time. Similarly, the trailing edge of the toggle signal plot 420 may correspond to the rebound interval 244 beginning, which may last until the local minimum 413 of the motor angle plot 410. Therefore, when the toggle signal plot 420 is non-zero, the motor angle plot 410 may reduce its rate of change, and while the toggle signal plot 420 is zero, the motor angle plot 410 may increase its rate of change. In some cases, the length of the coasting interval 242 is determined using a timer.

[0049] The motor velocity plot 430 may also be depicted in the graph 400 of FIG. 4. The rundown period 230 may span from the beginning of the motor velocity plot 430 (where motor velocity begins at zero rpm) through an elevated flat portion of peak motor velocity around 14,500 rpm, to a point where the process control circuitry 140 transitions the pulse tool 100 to the reverse period 240. The transition to the reverse period 240 from the rundown period 230 may be indicated by the motor velocity plot 430 dropping off sharply at approximately 1.76 seconds, right before the motor angle plot 410 reaches the local maximum 412, as discussed above. As the process control circuitry 140 transitions the pulse tool 100 into the reverse period 240, the motor 150 begins to coast in the coasting interval 242, as shown by the motor velocity plot 430 decreasing sharply after the elevated section. The motor velocity plot 430 decreases in the coasting interval 242 until the process control circuitry 140 detects the rebound transition trigger and transitions the pulse tool 100 to the rebound interval 244. Note how the motor velocity plot 430 may depict the rebound interval 244 beginning below zero rpm. This may correlate to the motor 150 coasting to a brief stop and then beginning to spin in the second direction, as described above.

[0050] The motor 150 may then continue to spin, being driven in the second direction during the rebound interval 244 until the pulse transition trigger is detected. The transition from the rebound interval 244 to the pulsing period 250 may be indicated by the motor velocity plot 430 reaching a local minimum before rising sharply again and surpassing the zero rpm mark. This may be indicative of the motor 150 slowing down in the second direction at the end ofthe rebound interval 244 before changing directions to spin in the first direction again during the pulsing period 250. From there, the process control circuitry 140 may alternate the motor 150 between the reverse period 240 and the pulsing period 250, which may be indicated by the motor velocity plot 430 repeating the sharp declines and inclines described herein. In some cases, the magnitude of the motor velocity plot 430 at the transition to the rebound interval 244 may decrease each time the rebound interval 244 occurs. In some example embodiments, this trend may be substantially linearly related to the torque output. In this regard, the motor velocity at the beginning of the rebound interval 244 may form the basis of the rebound control value 510, and as such, the motor velocity at the beginning of the rebound interval 244 may be related to the torque output of the pulse tool 100. The rebound control value 510 will be described in further detail below in relation to FIGS. 5 and 7.

[0051] Similarly, the rate of change of the motor velocity plot 430, or in other words the acceleration and deceleration of the motor velocity, may form the basis of the deceleration control value 520. In this regard, the deceleration of the motor 150 in each reverse period 240 may be related to the torque output of the pulse tool 100. The deceleration control value 520 will be described in further detail below in relation to FIGS. 5 and 8.

[0052] The work piece torque reading plot 440 may be included to provide context to the other plots discussed above and to the actions of the motor 150 described herein. As can be seen in FIG. 4, the work piece torque reading plot 440 may increase incrementally with each subsequent pulsing period 250 of the motor 150. In this regard, each time the motor 150 transitions from rotating in the first direction to coasting (e.g. after the rundown period 230 and after each pulsing period 250) the work piece torque reading plot 440 may increase slightly. The increases in the work piece torque reading plot 440 may align with the local maxima 412 of the motor angle plot 410. This may be because the local maxima 412 may represent the highest angle achieved by the motor shaft 152 during the rundown period 230 or during a given pulsing period 250. By achieving a new maximum angle each time, the torque output may increase slightly each time as well, since the work piece 190 gets tightened little by little with each pulsing period 250 of the pulse tool 100. This may be reflected in the steplike increases in the work piece torque reading plot 440.

[0053] FIG. 5 depicts a graph of torque output vs number of pulsing periods 250 in accordance with an example embodiment. The graph depicted in FIG. 5 may include plots of the control values (500, 510, 520, 530) discussed above, as well as the torque sensor 210 reading as a benchmark (e.g. audit) for the control values (500, 510, 520, 530). Of note, in some cases where the pulse tool 100 may rely on the angle control value 500, the anglecontrol value 500 may be referred to as the first control value. Similarly, in other example embodiments where the pulse tool 100 may rely on the rebound control value 510, the deceleration control value 520 or the combined control value 530, these control values (510, 520, 530) may be referred to as the first control value. In short, whichever of the angle control value 500, the rebound control value 510, the deceleration control value 520 and the combined control value 530 is used by the pulse tool 100 to detect the stop trigger may be the first control value for that specific embodiment.

[0054] In some cases, such as the one discussed above with regard to FIG. 2, the control algorithm 220 may rely on data from the torque sensor 210 to determine when the torque output reaches the final torque threshold value to constitute the stop trigger. However, torque sensors 210 such as torque transducers (e.g. strain gauges), may inherently be inconsistent and in some cases may provide unreliable readings. Thus, the angle, rebound, deceleration and combined control values (500, 510, 520, 530) may be more reliable for the pulse tool 100 to use in determining when the work piece 190 has been driven to the desired torque output to constitute the stop trigger.

[0055] Therefore, in some cases, the process control circuitry 140 may control the position control circuitry 130 using the angle control value 500 and feedback from the position control circuitry 130. In such cases, the angle control value 500 may be based on the angular position of the motor shaft 152 and a joint stiffness value. During the operation of the pulse tool 100, the motor shaft 152 may rotate in the first direction during the pulsing period 250 and in the second direction, opposite from the first direction, during the reverse period 240.

[0056] Accordingly, the angular position of the motor shaft 152 may reach a maximum angular position during each iteration of the pulsing period 250 when the motor shaft 152 is driven in the first direction. As the pulse tool 100 alternates between pulsing periods 250 and reverse periods 240, the maximum angular position of the motor shaft 152 may increase by an incremental amount during each pulsing period 250. In other words, with each pulsing period 250, the motor shaft 152 may rotate a little bit further in the first direction than the previous pulsing period 250 before the reverse transition trigger is detected and the pulse tool 100 transitions to the reverse period 240. The pulse tool 100 may continue to alternate between the reverse periods 240 and the pulsing periods 250 until the stop trigger is detected, which in this example embodiment, may be based on the angle control value 500.

[0057] In an example embodiment, the angle control value 500 may be determined by using a combination of the rebound, deceleration and combined control values (510, 520, 530). In this regard, multiplying the maximum angular position of the motor shaft 152 after therundown period 230 by the joint stiffness value may not be used to determine the initial starting point of the angle control value 500 because the maximum angular position of the motor shaft 152 after the rundown period 230 may be a few thousand degrees, which may be far too large to yield an accurate calculation for the angle control value 500. Therefore, in some cases, the initial angle control value 500 may be determined by using a combination of the rebound, deceleration and combined control values (510, 520, 530), and subsequent angle control values 500 may be determined by multiplying the amount of increase in the maximum angular position of the motor shaft 152 after each pulsing period 250 by the joint stiffness value, and adding the result to the previous angle control value 500. In other words, the angle control value 500 may be the angle where the motor 150 stopped in the current pulsing period 250, minus the angle where it stopped the previous pulsing period 250, multiplied with the joint stiffness value. The angle control value 500 can be visualized on the graph 400 of FIG.

[0058] 4. In this regard, the motor angle plot 410 may include the local maxima 412. If a trend line were drawn to connect each local maximum 412, the trend line would show a linear relationship with torque output: as the local maxima 412 increase over time, the torque output increases as well. In some cases, the angle control value 500 may be substantially linearly related to the torque output of the pulse tool 100, as shown in FIGS. 5 and 6, and in some cases the angle control value 500 may even be more accurate in predicting torque output than the torque sensor 210. This relationship between the angle control value 500 and the torque output may make the angle control value 500 a suitable proxy for torque output for the pulse tool 100 to use in the control algorithm 220.

[0059] The joint stiffness value may be defined as a torque reading (e.g. an amount of torque) divided by the angular position of the motor shaft 152 needed to achieve the torque reading. For instance, in some cases, the torque reading may be calibrated into the pulse tool 100 during a calibration period which may occur prior to operating the pulse tool 100 in the rundown period 230. In this regard, a user of the pulse tool 100 may measure a desired / achieved torque level of a tightened work piece 190 using a tool such as a torque wrench. This torque level may be programmed into the pulse tool 100 as the torque reading to which the pulse tool 100 may drive each work piece 190 thereafter. Thus, when calculating the angle control value 500 and the joint stiffness value thereafter, the torque reading may already be known from the calibration period.

[0060] In some other cases, calibration may not be necessary to set the torque reading. In this regard, the pulse tool 100 may measure the torque output via the torque sensor 210 during one of the first few pulsing periods 250, which may be where the torque sensor 210 may betaking its most accurate measurements. The pulse tool 100 may use this measurement as the torque reading to calculate the joint stiffness value, and therefore the angle control value 500 as well, in real time while the pulse tool 100 is in use. In some other cases, the torque reading may be the rebound control value 510 or the deceleration control value 520 as well. As briefly mentioned above, the rebound control value 510 may be based on a rebound velocity of the motor shaft 152, and the deceleration control value 520 may be based on the deceleration of the motor shaft 152 during the reverse period 240. In still some other cases, the torque reading may be a combination of a measurement by the torque sensor 210, the rebound control value 510 and the deceleration control value 520.

[0061] It should be noted that in real world use cases, joint stiffness values can vary to some degree based on tolerances of environmental factors like the diameter of the work piece 190, surface roughness of the work medium 195, lubrication of the pulse tool 100, and more. Generally speaking, a joint that requires a low number of degrees (i.e. approximately 60°) of rotation to tighten the work piece 190 may be referred to as a hard joint, and it may have a high joint stiffness value. A joint that requires a medium number of degrees (i.e. approximately 200°) of rotation to tighten the work piece 190 may be referred to as a medium joint, and it may have a medium joint stiffness value. A joint that requires a high number of degrees (i.e. approximately 720°) of rotation to tighten the work piece 190 may be referred to as a soft joint, and it may have a low joint stiffness value. However, in most cases, the joint may usually be somewhere in-between soft, medium and hard.

[0062] In another example embodiment, the rebound control value 510 may be based on the rebound velocity of the motor shaft 152. In this regard, the rebound control value 510 may be determined by measuring the maximum rebound motor velocity (i.e. in the second direction) during the coasting interval 242 and multiplying that measurement by a rebound scale factor. In some cases, the rebound control value 510 may be substantially linearly related to the torque output of the pulse tool 100, as shown in FIGS. 5 and 7, and in some cases the rebound control value 510 may even be more accurate in predicting torque output than the torque sensor 210. This relationship between the rebound control value 510 and the torque output may make the rebound control value 510 a suitable proxy for torque output for the pulse tool 100 to use in the control algorithm 220.

[0063] In this regard, the rebound velocity of the motor shaft 152 may be measured during the coasting interval 242 while the motor shaft 152 may rotate in reverse. The rebound control value 510 may be determined during the rebound interval 244, and may be based on a maximum rebound velocity achieved by the motor shaft 152 during the previous coastinginterval 242. In particular, the rebound control value 510 may be determined by multiplying the maximum rebound velocity achieved by the motor shaft 152 in the prior coasting interval 242 by the rebound scale factor. In some cases, the rebound scale factor may be calculated during the calibration period, which, as discussed above, may occur prior to operating the pulse tool. In an example embodiment, the rebound scale factor may be defined as a torque reading divided by a maximum calibration rebound velocity. The maximum calibration rebound velocity may be a highest rebound velocity achieved by the pulse tool 100 during the calibration period. As such, the rebound scale factor may be determined during the calibration period by dividing the measured torque by the maximum calibration rebound velocity so that during the actual operation of the pulse tool 100 the calculation may be reversed to get the rebound control value 510 (i.e. an estimated torque output) as the result. The torque reading may be calibrated into the pulse tool 100 during the calibration period in the same manner as discussed above in relation to calculating the joint stiffness value, or in other words the torque reading may be measured from the work piece with a separate torque measuring device such as a digital torque wrench. In an example embodiment, the calibration period may include one or more iterations of calculating the rebound scale factor to determine an average rebound scale factor, and in some cases, the average rebound scale factor may be used to determine the rebound control value 510. In some other example embodiments, fewer than five iterations may be used.

[0064] In yet another example embodiment, the deceleration control value 520 may be based on the deceleration of the motor shaft 152. In this regard, the deceleration control value 520 may be determined by measuring the maximum motor deceleration (i.e. in the second direction) during the coasting interval 242 and multiplying that measurement by a scale factor. In some cases, the deceleration control value 520 may be substantially linearly related to the torque output of the pulse tool 100, as shown in FIGS. 5 and 8, and in some cases the deceleration control value 520 may even be more accurate in predicting torque output than the torque sensor 210. This relationship between the deceleration control value 520 and the torque output may make the deceleration control value 520 a suitable proxy for torque output for the pulse tool 100 to use in the control algorithm 220.

[0065] In this regard, the deceleration of the motor shaft 152 may also be measured during the coasting interval 242 while the motor shaft 152 may rotate in reverse. The deceleration control value 520 may be determined during the rebound interval 244 and may be based on a maximum deceleration achieved by the motor shaft 152 during the previous coasting interval 242. In some cases, the deceleration control value 520 may be determined by multiplying themaximum deceleration in the prior coasting interval 242 by a deceleration scale factor. In an example embodiment, the deceleration scale factor may be calculated during the calibration period, which again, may occur prior to operating the pulse tool 100. The deceleration scale factor may be defined as the torque reading, which may also be calibrated into the pulse tool during the calibration period, divided by a maximum calibration deceleration. The maximum calibration deceleration may be a highest deceleration (e.g. the most negative acceleration) achieved by the pulse tool 100 during the calibration period. As such, the deceleration scale factor may be determined during the calibration period by dividing the measured torque by the maximum calibration deceleration so that during the actual operation of the pulse tool 100, the calculation may be reversed to get the deceleration control value 520 (i.e. an estimated torque output) as the result. As explained above, the torque reading may be measured from the work piece 190 with a torque measuring device such as a digital torque wrench. In an example embodiment, the calibration period may include approximately five iterations of calculating the deceleration scale factor to determine an average deceleration scale factor, and in some cases, the average deceleration scale factor may be used to determine the deceleration control value 520.

[0066] In another example embodiment, the combined control value 530 may be based on a combination of the angle, rebound and deceleration control values (500, 510, 520) and the torque sensor 210 measurement. In this regard, the combined control value 530 may be determined by using a two point weighted moving average to smooth / normalize each of the angle control value 500, the rebound control value 510 and the deceleration control value 520. The combined control value 530 is shown amongst the angle, rebound and deceleration control values (500, 510, 520) and the torque sensor 210 measurement, in FIG. 5. In this regard, the combined control value 530 may be a weighted average of all of the angle, rebound and deceleration control values (500, 510, 520) and the torque sensor 210 measurement, which may reduce some of the fluctuations and inconsistencies associated with each control value. In calculating the combined control value 530, each of the angle, rebound and deceleration control values (500, 510, 520) and the torque sensor 210 measurement may be assigned weight factor which may indicate the amount of influence that each of the control values (500, 510, 520), and the torque sensor 210 measurement, may have over the combined control value 530. In an example embodiment, the total sum of all weight factors may equal 1.0, meaning that each weight factor may essentially be a percentage weight factor. In some cases, the combined control value 530 may also be substantially linearly related to the torque output of the pulse tool 100, as shown in FIG. 5, and in some cases the combined controlvalue 530 may even be more accurate in predicting torque output than the torque sensor 210. This relationship between the combined control value 530 and the torque output may make the combined control value 530 a suitable proxy for torque output for the pulse tool 100 to use in the control algorithm 220.

[0067] In this regard, the combined control value 530 may simply be the sum of the angle control value 500, the rebound control value 510, the deceleration control value 520 and the torque reading from the torque sensor 210, all weighted appropriately. In other words, each of the angle control value 500, the rebound control value 510, the deceleration control value 520 and the torque reading may be multiplied by an angle control value weight factor, a rebound control value weight factor, a deceleration control value weight factor, and a torque reading weight factor, respectively. This may yield a weighted angle control value, a weighted rebound control value, a weighted deceleration value, and a weighted torque reading, respectively. The combined control value 530 may therefore be calculated by taking the sum of the weighted angle control value, the weighted rebound control value, the weighted deceleration value, and the weighted torque reading. In an example embodiment, the sum of the angle control value weight factor, the rebound control value weight factor, the deceleration control value weight factor, and the torque reading weight factor may be equal to one. In this regard, the user / operator of the pulse tool 100 may be able to define the respective weight factors to whatever values they desire depending on the use case of the pulse tool 100, as long as the respective weight factors have a total sum of one. For instance, in an example embodiment, the angle control value weight factor may be 0.4, the rebound control value weight factor may be 0.2, the deceleration control value weight factor may be 0.4, and the torque reading weight factor may be 0.0. These respective weight factors have been tested and may represent the ideal blend of the angle control value 500, the rebound control value 510, the deceleration control value 520 and the torque reading from the torque sensor 210 for operating the pulse tool 100 with the greatest precision, accuracy and efficiency. However, that is not to say that other weights may not be more desirable in various operating scenarios. Accordingly, the operator may decide to change the respective weight factors as they deem fit.

[0068] FIG. 9 illustrates a flow chart of a method of controlling a pulse tool 100 based on the combined control value 530 in accordance with an example embodiment. The method may include driving the motor 150 in a first direction at a constant velocity in a rundown period 230 until a reverse transition trigger is detected at operation 900, and transitioning the motor 150 from the rundown period 230 to the reverse period 240 responsive to detecting thereverse transition trigger at operation 910, the reverse period 240 comprising a coasting interval 242 and a rebound interval 244. The method may further include ceasing power supply to the motor 150 in the coasting interval 242 to enable the motor 150 to slow down, stop and rotate in a second direction until a rebound transition trigger is detected at operation 920, transitioning the motor 150 from the coasting interval 242 to the rebound interval 244 responsive to detecting the rebound transition trigger at operation 930, and restoring power supply to the motor 150 to rotate the motor 150 in the second direction until a pulsing transition trigger is detected at operation 940. In response to detecting the pulsing transition trigger, the method may include transitioning the motor from the reverse period to the pulsing period at operation 950. Finally, the method may include driving the motor 150 in the first direction until the reverse transition trigger is detected at operation 960, transitioning the motor 150 from the pulsing period 250 to the reverse period 240 responsive to detecting the reverse transition trigger at operation 970, and alternating the motor 150 between the pulsing period 250 and the reverse period 240 until a stop trigger is detected at operation 980. In the example embodiment of FIG. 9, the stop trigger may include the combined control value 530 reaching a predetermined combined control value threshold. The combined control value 530 may be based on a combination of the angle control value 500, the rebound control value 510, the deceleration control value 520, and a torque reading from the torque sensor 210.

[0069] FIG. 10 illustrates a flow chart of a method of determining the combined control value 530 in accordance with an example embodiment. The method may include determining a difference between a first maximum angular position of the motor shaft 152 and a second maximum angular position of the motor shaft 152 at operation 1000, and calculating an angle control value 500 by multiplying the difference by a joint stiffness value at operation 1010. The method may further include measuring a maximum rebound velocity achieved by the motor shaft 152 during the coasting interval 242 at operation 1020 and calculating the rebound control value 510 by multiplying the maximum rebound velocity by a rebound scale factor at operation 1030. The method may further include measuring a maximum deceleration achieved by the motor shaft 152 during the coasting interval 242 at operation 1040, calculating the deceleration control value 520 by multiplying the maximum deceleration by a deceleration scale factor at operation 1050, and measuring a torque reading with a torque sensor 210 disposed at the pulse tool 100 at operation 1060. The method of some cases may further include multiplying each of the angle control value 500, the rebound control value 510, the deceleration control value 520 and the torque reading by an angle control value weight factor, a rebound control value weight factor, a deceleration control value weightfactor, and a torque reading weight factor, respectively, to yield a weighted angle control value, a weighted rebound control value, a weighted deceleration value, and a weighted torque reading, respectively, at operation 1070, and taking the sum of the weighted angle control value, the weighted rebound control value, the weighted deceleration value, and the weighted torque reading to yield the combined control value 530 at operation 1080.

[0070] Some example embodiments may provide for a pulse tool. The pulse tool may include a motor which may be configured to output rotational movement via a motor shaft, a drive assembly which may be operably coupled to the motor shaft to transmit rotational movement of the motor shaft to an end effector for acting upon a work piece, an angle sensor which may be operably coupled to the motor to measure an angular position of the motor shaft, position control circuitry which may control the angular position of the motor shaft based on feedback from the angle sensor, and process control circuitry which may be configured to control the position control circuitry using a combined control value and feedback from the position control circuitry. The process control circuitry may include a control algorithm that may control the position control circuitry to change the rotational movement of the motor based on the angular position of the motor shaft and the combined control value. The combined control value may include a combination of an angle control value, a rebound control value, and a deceleration control value.

[0071] The pulse tool of some embodiments may include additional features, modifications, augmentations and / or the like to achieve further objectives or enhance performance of the pulse tool. The additional features, modifications, augmentations and / or the like may be added in any combination with each other. Below is a list of various additional features, modifications, and augmentations that can each be added individually or in any combination with each other. For example, the control algorithm may include a rundown period, a reverse period and a pulsing period. In an example embodiment, the reverse period may include a coasting interval followed by a rebound interval. In some cases, the motor shaft may rotate in a first direction during the pulsing period and in a second direction opposite from the first direction during the reverse period. In an example embodiment, the angular position of the motor shaft may reach a maximum angular position during the pulsing period. In some cases, the maximum angular position of the motor shaft may increase by an incremental amount during each pulsing period. In an example embodiment, the angle control value may be determined by multiplying the incremental amount by a joint stiffness value. In some cases, the joint stiffness value may be defined as a torque reading divided by the angular position of the motor shaft needed to achieve the torque reading. In an example embodiment, the torquereading may be calibrated into the pulse tool during a calibration period prior to operating the pulse tool. In some cases, the rebound velocity and the deceleration may be measured during the coasting interval while the motor shaft may rotate in reverse. In an example embodiment, the rebound control value and the deceleration control value may be determined during the rebound interval and may be based on a maximum rebound velocity and a maximum deceleration, respectively, achieved by the motor shaft during the previous coasting interval. In some cases, the rebound control value and the deceleration control value may be determined by multiplying the maximum rebound velocity by a rebound scale factor and by multiplying the maximum deceleration by a deceleration scale factor. In an example embodiment, the rebound scale factor and the deceleration scale factor may be calculated during a calibration period prior to operating the pulse tool. In some cases, the rebound scale factor may be defined as a torque reading divided by a maximum calibration rebound velocity. In an example embodiment, the deceleration scale factor may be defined as a torque reading divided by a maximum calibration deceleration. In some cases, the combined control value may further include a torque reading from a torque sensor. In an example embodiment, each of the angle control value, the rebound control value, the deceleration control value and the torque reading may be multiplied by an angle control value weight factor, a rebound control value weight factor, a deceleration control value weight factor, and a torque reading weight factor, respectively, to yield a weighted angle control value, a weighted rebound control value, a weighted deceleration value, and a weighted torque reading, respectively. In some cases, the combined control value may be calculated by taking the sum of the weighted angle control value, the weighted rebound control value, the weighted deceleration value, and the weighted torque reading. In an example embodiment, the sum of the angle control value weight factor, the rebound control value weight factor, the deceleration control value weight factor, and the torque reading weight factor may be equal to one. In some cases, the angle control value weight factor may be 0.4, the rebound control value weight factor may be 0.2, the deceleration control value weight factor may be 0.4, and the torque reading weight factor may be 0.0.

[0072] Some example embodiments may provide for a method of controlling a pulse tool based on a combined control value. The method may include the steps of driving the motor in a first direction at a constant velocity in a rundown period until a reverse transition trigger may be detected, transitioning the motor from the rundown period to the reverse period responsive to detecting the reverse transition trigger, ceasing power supply to the motor in the coasting interval which may enable the motor to slow down, stop and rotate in a seconddirection until a rebound transition trigger may be detected, transitioning the motor from the coasting interval to the rebound interval responsive to detecting the rebound transition trigger, restoring power supply to the motor to rotate the motor in the second direction until a pulsing transition trigger may be detected, transitioning the motor from the reverse period to the pulsing period responsive to detecting the pulsing transition trigger, driving the motor in the first direction until the reverse transition trigger may be detected, transitioning the motor from the pulsing period to the reverse period responsive to detecting the reverse transition trigger, and alternating the motor between the pulsing period and the reverse period until a stop trigger may be detected. The reverse period may include a coasting interval and a rebound interval. The stop trigger may include the combined control value, which may include a combination of an angle control value, a rebound control value, a deceleration control value, and a torque reading, reaching a predetermined combined control value threshold.

[0073] Some example embodiments may provide for a method of determining a combined control value of a pulse tool. The method may include the steps of determining a difference between a first maximum angular position of a motor shaft of a motor of the pulse tool and a second maximum angular position of the motor shaft, calculating an angle control value by multiplying the difference by a joint stiffness value, measuring a maximum rebound velocity achieved by the motor shaft during a coasting interval, calculating a rebound control value by multiplying the maximum rebound velocity by a rebound scale factor, measuring a maximum deceleration achieved by the motor shaft during the coasting interval, calculating a deceleration control value by multiplying the maximum deceleration by a deceleration scale factor, measuring a torque reading with a torque sensor disposed at the pulse tool, multiplying each of the angle control value, the rebound control value, the deceleration control value and the torque reading by an angle control value weight factor, a rebound control value weight factor, a deceleration control value weight factor, and a torque reading weight factor, respectively, to yield a weighted angle control value, a weighted rebound control value, a weighted deceleration value, and a weighted torque reading, respectively, and taking the sum of the weighted angle control value, the weighted rebound control value, the weighted deceleration value, and the weighted torque reading to yield the combined control value.

[0074] Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosedand that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe exemplary embodiments in the context of certain exemplary combinations of elements and / or functions, it should be appreciated that different combinations of elements and / or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and / or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. In cases where advantages, benefits or solutions to problems are described herein, it should be appreciated that such advantages, benefits and / or solutions may be applicable to some example embodiments, but not necessarily all example embodiments. Thus, any advantages, benefits or solutions described herein should not be thought of as being critical, required or essential to all embodiments or to that which is claimed herein. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.

Claims

WHAT IS CLAIMED:

1. A pulse tool comprising:a motor configured to output rotational movement via a motor shaft;a drive assembly operably coupled to the motor shaft to transmit the rotational movement of the motor shaft to an end effector for acting upon a work piece;an angle sensor operably coupled to the motor to measure an angular position of the motor shaft;position control circuitry configured to control the angular position of the motor shaft based on feedback from the angle sensor; andprocess control circuitry configured to control the position control circuitry using a combined control value and feedback from the position control circuitry,wherein the process control circuitry comprises a control algorithm that controls the position control circuitry to change the rotational movement of the motor based on the angular position of the motor shaft and the combined control value, andwherein the combined control value comprises a combination of an angle control value, a rebound control value, and a deceleration control value.

2. The pulse tool of claim 1, wherein the control algorithm comprises a rundown period, a reverse period and a pulsing period,wherein the reverse period further comprises a coasting interval followed by a rebound interval, andwherein the motor shaft rotates in a first direction during the pulsing period and in a second direction opposite from the first direction during the reverse period.

3. The pulse tool of claim 2, wherein the angular position of the motor shaft reaches a maximum angular position during the pulsing period,wherein the maximum angular position of the motor shaft increases by an incremental amount during each pulsing period, andwherein the angle control value is determined by multiplying the incremental amount by a joint stiffness value.

4. The pulse tool of claim 3, wherein the joint stiffness value is defined as a torque reading divided by the angular position of the motor shaft needed to achieve the torque reading, andwherein the torque reading is calibrated into the pulse tool during a calibration period prior to operating the pulse tool.

5. The pulse tool of claim 2, wherein the rebound velocity and the deceleration are measured during the coasting interval while the motor shaft rotates in reverse,wherein the rebound control value and the deceleration control value are determined during the rebound interval and are based on a maximum rebound velocity and a maximum deceleration, respectively, achieved by the motor shaft during the previous coasting interval, andwherein the rebound control value and the deceleration control value are determined by multiplying the maximum rebound velocity by a rebound scale factor and by multiplying the maximum deceleration by a deceleration scale factor.

6. The pulse tool of claim 5, wherein the rebound scale factor and the deceleration scale factor are calculated during a calibration period prior to operating the pulse tool, wherein the rebound scale factor is defined as a torque reading divided by a maximum calibration rebound velocity, andwherein the deceleration scale factor is defined as a torque reading divided by a maximum calibration deceleration.

7. The pulse tool of claim 1, wherein the combined control value further comprises a torque reading from a torque sensor.

8. The pulse tool of claim 7, wherein each of the angle control value, the rebound control value, the deceleration control value and the torque reading is multiplied by an angle control value weight factor, a rebound control value weight factor, a deceleration control value weight factor, and a torque reading weight factor, respectively, to yield a weighted angle control value, a weighted rebound control value, a weighted deceleration value, and a weighted torque reading, respectively, andwherein the combined control value is calculated by taking a sum of the weighted angle control value, the weighted rebound control value, the weighted deceleration value, and the weighted torque reading.

9. The pulse tool of claim 8, wherein the sum of the angle control value weight factor, the rebound control value weight factor, the deceleration control value weight factor, and the torque reading weight factor is equal to one.

10. The pulse tool of claim 8, wherein the angle control value weight factor is 0.4, the rebound control value weight factor is 0.2, the deceleration control value weight factor is 0.4, and the torque reading weight factor is 0.0.

11. A method of controlling a pulse tool based on a combined control value, the method comprising:driving a motor in a first direction at a constant velocity in a rundown period until a reverse transition trigger is detected;transitioning the motor from the rundown period to a reverse period responsive to detecting the reverse transition trigger, the reverse period comprising a coasting interval and a rebound interval;ceasing power supply to the motor in the coasting interval to enable the motor to slow down, stop and rotate in a second direction until a rebound transition trigger is detected; transitioning the motor from the coasting interval to the rebound interval responsive to detecting the rebound transition trigger;restoring power supply to the motor to rotate the motor in the second direction until a pulsing transition trigger is detected;transitioning the motor from the reverse period to a pulsing period responsive to detecting the pulsing transition trigger;driving the motor in the first direction until the reverse transition trigger is detected; transitioning the motor from the pulsing period to the reverse period responsive to detecting the reverse transition trigger; andalternating the motor between the pulsing period and the reverse period until a stop trigger is detected,wherein the stop trigger comprises the combined control value, which comprises a combination of an angle control value, a rebound control value and a deceleration control value, reaching a predetermined combined control value threshold.

12. The method of claim 11, wherein an angular position of a motor shaft of the motor reaches a maximum angular position during the pulsing period,wherein the maximum angular position of the motor shaft increases by an incremental amount during each pulsing period, andwherein the angle control value is determined by multiplying the incremental amount by a joint stiffness value.

13. The method of claim 12, wherein the joint stiffness value is defined as a torque reading divided by the angular position of the motor shaft needed to achieve the torque reading, andwherein the torque reading is calibrated into the pulse tool during a calibration period prior to operating the pulse tool.

14. The method of claim 11, wherein the rebound velocity and the deceleration are measured during the coasting interval while the motor shaft rotates in reverse,wherein the rebound control value and the deceleration control value are determined during the rebound interval and are based on a maximum rebound velocity and a maximum deceleration, respectively, achieved by the motor shaft during the previous coasting interval, andwherein the rebound control value and the deceleration control value are determined by multiplying the maximum rebound velocity by a rebound scale factor and by multiplying the maximum deceleration by a deceleration scale factor.

15. The method of claim 14, wherein the rebound scale factor and the deceleration scale factor are calculated during a calibration period prior to operating the pulse tool, wherein the rebound scale factor is defined as a torque reading divided by a maximum calibration rebound velocity, andwherein the deceleration scale factor is defined as the torque reading divided by a maximum calibration deceleration.

16. The method of claim 11, wherein the combined control value further comprises a torque reading from a torque sensor.

17. The method of claim 16, wherein each of the angle control value, the rebound control value, the deceleration control value and the torque reading is multiplied by an angle control value weight factor, a rebound control value weight factor, a deceleration controlvalue weight factor, and a torque reading weight factor, respectively, to yield a weighted angle control value, a weighted rebound control value, a weighted deceleration value, and a weighted torque reading, respectively, andwherein the combined control value is calculated by taking a sum of the weighted angle control value, the weighted rebound control value, the weighted deceleration value, and the weighted torque reading.

18. The method of claim 17, wherein the sum of the angle control value weight factor, the rebound control value weight factor, the deceleration control value weight factor, and the torque reading weight factor is equal to one.

19. The method of claim 17, wherein the angle control value weight factor is 0.4, the rebound control value weight factor is 0.2, the deceleration control value weight factor is 0.4, and the torque reading weight factor is 0.0.

20. A method of determining a combined control value of a pulse tool, the method comprising:determining a difference between a first maximum angular position of a motor shaft of a motor of the pulse tool and a second maximum angular position of the motor shaft;calculating an angle control value by multiplying the difference by a joint stiffness value;measuring a maximum rebound velocity achieved by the motor shaft during a coasting interval;calculating a rebound control value by multiplying the maximum rebound velocity by a rebound scale factor;measuring a maximum deceleration achieved by the motor shaft during a coasting interval;calculating a deceleration control value by multiplying the maximum deceleration by a deceleration scale factor;measuring a torque reading with a torque sensor disposed at the pulse tool; multiplying each of the angle control value, the rebound control value, the deceleration control value and the torque reading by an angle control value weight factor, a rebound control value weight factor, a deceleration control value weight factor, and a torque reading weight factor, respectively, to yield a weighted angle control value, a weightedrebound control value, a weighted deceleration value, and a weighted torque reading, respectively; andtaking a sum of the weighted angle control value, the weighted rebound control value, the weighted deceleration value, and the weighted torque reading to yield the combined control value.