Adaptive impact blow detection

Information

  • Patent Grant
  • 11485000
  • Patent Number
    11,485,000
  • Date Filed
    Thursday, February 20, 2020
    4 years ago
  • Date Issued
    Tuesday, November 1, 2022
    2 years ago
Abstract
A power tool and method of detecting impacts of a power tool that includes a motor driving a hammer to impact an anvil. A motor control unit is configured to determine a motor characteristic indicative of a speed of the motor. When the motor characteristic indicates that the speed of the motor is below a speed threshold, the motor control unit employs an acceleration-based technique to detect a first impact based on a change in motor acceleration and generate a first impact indication in response to detecting the first impact. When the motor characteristic indicates that the speed is above the speed threshold, the motor control unit employs a time-based technique to detect a second impact based on an elapsed time and generates a second impact indication in response to detecting the second impact.
Description
FIELD OF THE INVENTION

The present invention relates to monitoring the number of impacts delivered by a power tool.


SUMMARY

In some embodiments, a power tool is able to achieve consistent number of impacts in an effort to generate a consistent torque output over repeated trials of the same application. The power tool closely approximates the behavior of torque-specific impact drivers and wrenches without requiring the use of a torque transducer.


By monitoring a combination of several motor parameters, the impact detection algorithm is able to limit the tool's impacts to a consistent number regardless of motor speed or battery charge.


In one embodiment, the invention provides a power tool including a housing, an anvil supported by the housing, a motor positioned within the housing and configured to drive the anvil, and a hammer mechanically coupled to the motor. The hammer is configured to deliver a plurality of impacts to the anvil. The power tool also includes a motor control unit electrically coupled to the motor and to the hammer. The motor control unit is configured to determine a motor characteristic indicative of a speed of the motor. When the motor characteristic indicates that the speed of the motor is below a speed threshold, the motor control unit employs an acceleration-based technique to detect a first impact based on a change in motor acceleration and generate a first impact indication in response to detecting the first impact. When the motor characteristic indicates that the speed is above the speed threshold, the motor control unit employs a time-based technique to detect a second impact based on an elapsed time and generates a second impact indication in response to detecting the second impact.


In one embodiment, the invention provides a method of detecting an impact of a power tool including driving, by a motor, a hammer of the power tool to deliver impacts to an anvil of the power tool. The method further includes determining a motor characteristic indicative of a speed of the motor. When the motor characteristic indicates that the speed of the motor is below a speed threshold, the method includes employing an acceleration-based technique to detect a first impact based on a change in motor acceleration and generating a first impact indication in response to detecting the first impact. When the motor characteristic indicates that the speed is above the speed threshold, the method includes employing a time-based technique to detect a second impact based on an elapsed time and generating a second impact indication in response to detecting the second impact.


In one embodiment, the invention provides a method of detecting an impact of a power tool including driving, by a motor, a hammer of the power tool to deliver impacts to an anvil of the power tool and determining a motor characteristic indicative of a speed of the motor. The method further includes setting an acceleration threshold based on the motor characteristic and detecting an impact based on a change in motor acceleration exceeding the acceleration threshold. The method also includes generating an impact indication in response to detecting the impact.


In one embodiment, the invention provides a power tool including a housing, an anvil supported by the housing, a motor positioned within the housing and configured to drive the anvil, and a hammer mechanically coupled to the motor. The hammer is configured to deliver a plurality of impacts to the anvil. The power tool also includes a motor control unit electrically coupled to the motor and to the hammer. The motor control unit is configured to determine a desired number of delivered impacts to the anvil, determine a motor speed at which the motor drives the anvil, monitor the number of delivered impacts to the anvil according to one selected from a group consisting of an acceleration-based algorithm and a time-based algorithm based on the motor speed, and control the motor based on the number of delivered impacts to the anvil.


In another embodiment the invention provides a power tool including a housing, an anvil supported by the housing, a motor positioned within the housing and configured to drive the anvil, and a hammer mechanically coupled to the motor. The hammer is configured to deliver a plurality of impacts to the anvil. The power tool also includes a motor control unit electrically coupled to the motor and to the hammer. The motor control unit is configured to determine a desired number of delivered impacts to the anvil, receive signals from sensors, the signals indicative of a parameter of motor motion, and calculate, from the received signals, a motor acceleration. The motor control unit is also configured to monitor changes in motor acceleration, determine whether a change in motor acceleration exceeds a variable acceleration threshold, and detect that an impact is delivered when the motor acceleration exceeds the variable acceleration threshold.


Other aspects of the invention will become apparent by consideration of the detailed description and accompanying drawings.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 illustrates a power tool according to one embodiment of the invention.



FIG. 2 illustrates a block diagram of the power tool.



FIG. 3 illustrates a graph showing a linear relationship between an acceleration threshold and motor voltage.



FIG. 4 illustrates a graph showing changes in motor acceleration in low motor speeds.



FIG. 5 illustrates a graph showing changes in motor acceleration in medium motor speeds.



FIG. 6 illustrates a graph showing changes in motor acceleration in high motor speeds.



FIG. 7 illustrates a flowchart of a method of monitoring a number of delivered impacts of the power tool of FIG. 1.



FIG. 8 illustrates a flowchart of a method of monitoring a number of delivered impacts of the power tool of FIG. 1.



FIG. 9 illustrates a flowchart of a method of acceleration-based impact monitoring of the power tool of FIG. 1.



FIG. 10 illustrates a flowchart of a method of time-based impact monitoring of the power tool of FIG. 1.





DETAILED DESCRIPTION

Before any embodiments of the invention are explained in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the following drawings. The invention is capable of other embodiments and of being practiced or of being carried out in various ways. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limited. The use of “including,” “comprising” or “having” and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. The terms “mounted,” “connected” and “coupled” are used broadly and encompass both direct and indirect mounting, connecting and coupling. Further, “connected” and “coupled” are not restricted to physical or mechanical connections or couplings, and can include electrical connections or couplings, whether direct or indirect.


It should be noted that a plurality of hardware and software based devices, as well as a plurality of different structural components may be utilized to implement the invention. Furthermore, and as described in subsequent paragraphs, the specific configurations illustrated in the drawings are intended to exemplify embodiments of the invention and that other alternative configurations are possible. The terms “processor” “central processing unit” and “CPU” are interchangeable unless otherwise stated. Where the terms “processor” or “central processing unit” or “CPU” are used as identifying a unit performing specific functions, it should be understood that, unless otherwise stated, those functions can be carried out by a single processor, or multiple processors arranged in any form, including parallel processors, serial processors, tandem processors or cloud processing/cloud computing configurations.



FIG. 1 illustrates a power tool 100 incorporating a direct current (DC) motor 126. In a brushless motor power tool, such as power tool 100, switching elements are selectively enabled and disabled by control signals from a controller to selectively apply power from a power source (e.g., battery pack) to drive a brushless motor. The power tool 100 is a brushless hammer drill having a housing 102 with a handle portion 104 and motor housing portion 106. The power tool 100 further includes an output unit 107, mode select button 108, forward/reverse selector 110, trigger 112, battery interface 114, and light 116.


The power tool 100 also includes an anvil 118, and a hammer 119 positioned within the housing 102 and mechanically coupled to the motor 126. The hammer 119 is coupled to the anvil 118 via a spring. The hammer 119 impacts the anvil 118 periodically to increase the amount of torque delivered by the power tool 100 (e.g., the anvil 118 drives the output unit 107). During an impacting event or cycle, as the motor 126 continues to rotate, the power tool 100 encounters a higher resistance and winds up the spring coupled to the hammer 119. As the spring compresses, the spring retracts toward the motor 126 and pulling along the hammer 119 until the hammer 119 disengages from the anvil 118 and surges forward to strike and re-engage the anvil 118. An impact refers to the event in which the spring releases and the hammer 119 strikes the anvil 118. The impacts increase the amount of torque delivered by the anvil 118.



FIG. 2 illustrates a simplified block diagram 120 of the brushless power tool 100, which includes a power source 122, Field Effect Transistors (FETs) 124, a motor 126, Hall sensors 128, a motor control unit 130, user input 132, and other components 133 (battery pack fuel gauge, work lights (LEDs), etc.), a voltage sensor 136, and a current sensor 137. The power source 122 provides DC power to the various components of the power tool 100 and may be a power tool battery pack that is rechargeable and uses, for instance, lithium ion cell technology. In some instances, the power source 122 may receive AC power (e.g., 120V/60 Hz) from a tool plug that is coupled to a standard wall outlet, and then filter, condition, and rectify the received power to output DC power. Each Hall sensor 128 outputs motor feedback information, such as an indication (e.g., a pulse) of when a magnet of the rotor rotates across the face of that Hall sensor. Based on the motor feedback information from the Hall sensors 128, the motor control unit 130 can determine the position, velocity, and acceleration of the rotor. The motor control unit 130 also receives user controls from user input 132, such as by depressing the trigger 112 or shifting the forward/reverse selector 110. In response to the motor feedback information and user controls, the motor control unit 130 transmits control signals to control the FETs 124 to drive the motor 126. By selectively enabling and disabling the FETs 124, power from the power source 122 is selectively applied to stator coils of the motor 126 to cause rotation of a rotor. The motor control unit 130 also receives voltage information from the voltage sensor 136 and current information from the current sensor 137. More particularly, the motor control unit 130 receives signals from the voltage sensor 136 indicating a voltage across the motor 126, and receives signals from the current sensor 137 indicating a current through the motor 126. Although not shown, the motor control unit 130 and other components of the power tool 100 are electrically coupled to the power source 122 such that the power source 122 provides power thereto.


In the illustrated embodiment, the motor control unit 130 is implemented by a processor or microcontroller. In some embodiments, the processor implementing the motor control unit 130 also controls other aspects of the power tool 100 such as, for example, operation of the work light 116 and/or the fuel gauge. The power tool 100 is configured to control the operation of the motor based on the number of impacts executed by the hammer portion of the power tool 100. The motor control unit 130 monitors the voltage of the motor 126, the current through the motor 126, and the motor's acceleration to detect the number of impacts executed by the power tool 100 and control the motor 126 accordingly. By monitoring the motor voltage, the motor current, and the motor acceleration, the motor control unit 130 can effectively control the number of impacts over the entire range of the tool's battery charge and motor speeds (i.e., regardless of the battery charge or the motor speed).


The motor control unit 130 executes different impacting detection techniques, or, algorithms, based on the motor speed. When the motor operates in low to medium speeds, the motor control unit 130 executes an acceleration based impacting detection algorithm, but when the motor operates in high speeds, the motor control unit 130 executes a time-based impacting detection algorithm. In other words, the motor control unit 130 determines the number of impacts based on different parameters depending on the motor speed.


When the motor operates in low to medium speeds, the motor control unit 130 mainly monitors motor acceleration and executes the acceleration based impacting detection algorithm. The motor control unit 130 receives each millisecond, for example, signals indicative of the motor velocity from the Hall effect sensors 128. The motor control unit 130 then calculates motor acceleration by taking the difference between two motor velocity measurements over an elapsed millisecond. The motor control unit 130 determines, based on the calculated motor acceleration, when the motor increases speed and when the motor decreases speed. As discussed previously, the motor 126 winds up the spring 138. As the spring 138 winds up, the load to the motor 126 increases. The motor 126 then slows down (i.e., decelerates) in response to the increasing load. Eventually, the hammer 119 disengages the anvil 118 and the spring 138 releases. When the spring 138 releases, the hammer 119 surges forward and strikes the anvil 118 generating an impact. As the spring 138 releases, the load to the motor 126 decreases and the motor 126 increases speed (i.e., accelerates). This process (e.g., decelerating the motor as the spring 138 is wound, and accelerating the motor as the spring 138 releases) is repeated during each impact and results in an oscillation in motor acceleration.


In the acceleration based impacting detection algorithm, the motor control unit 130 monitors the oscillations (i.e., the changes or variations) in motor acceleration to detect when each impacting event occurs. The motor control unit 130 tracks (e.g., stores in non-volatile memory) the minimum and maximum accelerations reached by the motor 126. The motor control unit 130 detects an impact when the minimum and maximum accelerations differ by a specified threshold. When the motor control unit 130 detects an impact, the motor control unit 130 increments an impact counter. FIG. 4 illustrates an exemplary graph of motor acceleration. The y-axis represents motor acceleration in change in rotations per minute (RPM) per millisecond (ΔRPM/millisecond) and the x-axis represents time in milliseconds. As shown in FIG. 4, when the change in acceleration is greater than an acceleration threshold (e.g., 3-33 units of change in RPM per millisecond), the motor control unit 130 detects an impact and increments the impact counter.


The specific acceleration threshold used by the motor control unit 130 to detect an impact is calculated using the motor voltage, which is indicative of motor speed. The motor control unit 130 calculates the motor voltage by multiplying the battery voltage by the motor drive duty cycle. When the motor voltage is low, the motor speed is also low since little voltage is provided to the motor 126. Analogously, when the motor voltage is high, the motor speed is also high since a higher voltage is provided to the motor 126. Therefore, the acceleration threshold changes according to the motor speed. When the motor voltage is low, the motor turns slowly (i.e., motor speed is low), which causes the motor 126 to have little momentum. In such instances (e.g., when the motor voltage is low), a varying load on the motor 126 drastically changes the motor acceleration. Consequently, the motor 126 experiences large swings in acceleration during the impacting cycle (see FIG. 4) when the motor voltage is low. Due to these large swings in motor acceleration, a relatively large acceleration threshold can be used to determine whether or not an impact has occurred (e.g., to detect when an impact occurred).


However, as the motor voltage increases, the motor speed also increases, which increases the motor momentum. Since the motor momentum is higher, the motor does not experience as large of swings in motor acceleration during an impacting cycle. Rather, the difference between the maximum motor acceleration and the minimum motor acceleration (e.g., the acceleration swings) decreases as the motor voltage increases. To accommodate for the changes in experienced acceleration swings (e.g., the difference between maximum motor acceleration and minimum motor acceleration), the impact detection algorithm implemented by the motor control unit 130 decreases the impact acceleration threshold in a linear fashion as the motor voltage increases, as shown in FIG. 3.


For example, FIG. 4 illustrates the changes in motor acceleration when the motor voltage is approximately 5V. As shown in FIG. 4, the maximum acceleration reached by the motor 126 is approximately 50 ΔRPM/millisecond at point A while the minimum acceleration experienced by the motor 126 is approximately −50 ΔRPM/millisecond at point B. Accordingly, FIG. 4 illustrates the motor 126 experiencing an acceleration difference of approximately 100 ΔRPM/millisecond (e.g., difference between the maximum and the minimum acceleration). On the other hand, FIG. 5 illustrates the changes in motor acceleration when the motor voltage is approximately 15V. As shown in FIG. 5, the maximum acceleration experienced by the motor 126 is approximately 20 ΔRPM/millisecond at point C while the minimum acceleration experienced by the motor 126 is approximately −20 ΔRPM/millisecond at point D. Accordingly, FIG. 5 illustrates the motor 126 experiencing an acceleration difference of approximately 40 ΔRPM/millisecond. Consequently, to accurately detect an impacting event regardless of the motor speed, the threshold in change of acceleration to detect an impact shifts from approximately 25 to 10 from FIG. 4 and FIG. 5, respectively. In other words, the motor control unit 130 decreases the impact acceleration threshold in a linear fashion as the motor voltage increases, as shown in FIG. 3.


The motor control unit 130 continues to operate the motor 126 until the impact counter reaches a desired number of impacts. Once the motor control unit 130 determines that the power tool 100 executed the desired number of impacts, the motor control unit 130 changes the operation of the motor 126. For instance, changing the motor operation can include stopping the motor 126, increasing or decreasing the speed of the motor 126, changing the rotation direction of the motor 126, and/or another change of motor operation. The particular change in motor operation can depend on a current mode of the tool selected by a user via user input 132. To receive the mode selection, the user input 132 may include manually-operable switches or buttons on an exterior portion of the tool 100 or may include a wired or wireless communication interface for communicating with an external device (e.g., laptop, tablet, smart phone). For instance, in a first mode, the motor 126 stops when the impact threshold is reached. In another mode, the motor 126 slows when a first impact threshold is reached, and stops when a second impact threshold is reached. In yet another mode, the motor 126 decreases speed when a first impact threshold is reached.


When the motor control unit 130 detects that the motor 126 is no longer operating (e.g., using the signals from the Hall effect sensors 128), the motor control unit 130 resets the impact counter to 0 to begin the next operation. The motor control unit 130 can also determine that the motor 126 is no longer executing impacting events when the time between consecutive events exceeds a predetermined end-of-impacting threshold. The time value used as the end-of-impacting threshold is determined experimentally by measuring the time the power tool 100 takes to complete an impacting event when running in the power tool's lowest impacting speed and while powered with a battery that has low battery charge.


While monitoring changes in motor acceleration gives an accurate indication of the number of impacting events when the motor operates at a lower speed, after the motor 126 reaches a particular speed, the motor momentum becomes sufficient to power through multiple impacting events (winding up the spring and striking the anvil), making the change in acceleration and/or deceleration less noticeable. In other words, the varying load during an impacting event has less effect on the motor 126 after the motor speed exceeds a predetermined speed threshold, as shown in FIG. 6 and, therefore, impacts are more challenging to detect based on changes in motor acceleration. The motor control unit 130 determines that the motor speed exceeds the predetermined speed threshold by monitoring the motor voltage because the motor speed is proportional to the motor voltage. The motor control unit 130 monitors the motor voltage to determine when the motor voltage exceeds a predetermined high motor voltage threshold. In the illustrated embodiment, the high motor voltage threshold is 16V, although other values may be used in other embodiments.


When the motor control unit 130 determines that the motor voltage exceeds (e.g., is greater than or equal to) the high motor voltage threshold, the motor control unit 130 switches to a time-based impacting detection algorithm. The time-based impacting detection algorithm uses a timer to estimate the number of impacts delivered by the anvil during a predetermined time period instead of detecting each impacting event as was done with the acceleration-based impacting detection algorithm.


In the time-based impacting detection algorithm, the motor control unit 130 first determines when impacting begins, then determines the approximate period of time necessary to reach the desired torque. The motor control unit 130 after detecting that impacting has begun, begins the timer. When the timer is up (i.e., the predetermined period of time has elapsed), the motor control unit 130 ceases motor operation.


The motor control unit 130 monitors the motor current to determine when impacting begins. In particular, the motor control unit 130, determines when the motor current exceeds a predetermined motor current threshold and the motor acceleration is approximately 0. In the illustrated embodiment, the predetermined motor current threshold is determined by experimentally measuring the motor current at which the tool begins to execute impacting events. In other embodiments, the motor current can be determined by other methods. For example, the motor current can be determined theoretically through various calculations taking into account various motor characteristics. A zero motor acceleration is indicative of a trigger not being pulsed. Therefore, the motor control unit 130 determines that the motor current is high enough that impacting events are beginning to occur and that the trigger is not pulsed.


Once the motor control unit 130 determines that impacting has begun as described above, the motor control unit 130 starts a timer for a variable amount of time. The amount of time set for the timer changes according to the desired torque output or the desired total number of impacting events. The amount of time is calculated by the motor control unit 130 by multiplying the desired number of impacts by the amount of time in which an impacting event is completed. In the illustrated embodiment, the motor control unit 130 uses a preprogrammed or predetermined time period calculated for the tool to complete one impacting event. In other words, the amount of time in which an impacting event is completed is predetermined, and the motor control unit 130 uses this predetermined speed to calculate the amount of time for the timer based on the desired number of impacts. For example, if the motor control unit 130 is trying to detect 20 impacts assuming 20 milliseconds per impact, the motor control unit 130 will assume 20 impacts have occurred 400 milliseconds after the motor current first exceeds the specified current threshold.


In the illustrated embodiment, the amount of time in which an impacting event is completed is experimentally measured when running the power tool 100 at full speed. In other embodiments, however, the amount of time in which an impacting event is completed may be determined by the motor control unit 130 based on the current motor speed or the motor speed when impacting begins. For example, the motor control unit 130 may access a table or similar association structure that associates a plurality of motor speeds with a plurality of time periods. The time periods are indicative of the amount of time in which an impacting event is completed. Accordingly, the motor control unit 130 can determine, based on the motor speed at which impacting begins, the time period required to complete one impacting cycle at the particular motor speed.


Once the timer set by the motor control unit 130 expires, the motor control unit 130 changes the operation of the motor 126. Changing the motor operation can include stopping the motor 126, increasing or decreasing the speed of the motor 126, changing the rotation direction of the motor 126, and/or another change of motor operation. As described above, the particular change in motor operation can depend on a current mode of the tool selected by a user via user input 132. When the motor control unit 130 determines that the motor current drops below (e.g., is less than or equal to) a low motor current threshold, the motor control unit 130 resets the number of detected impacts to 0 to be ready for the next operation.


The motor control unit 130 monitors motor speed even during a single trigger pull to determine which impact detecting algorithm to implement. In other words, if the motor speed changes significantly within a single trigger pull, the motor control unit 130 switches impact detecting algorithms based on the change of motor speed. In some embodiments, the motor control unit 130 changes the speed of the motor during a single trigger pull. For example, a single trigger pull may cause the motor 126 to begin rotating slower and build up speed to finish rotating at a faster speed. In such embodiments, the motor control unit 130 starts by implementing the acceleration based impact detecting algorithm until the motor speed exceeds a high motor speed threshold, and then the motor control unit 130 switches to implement the time-based impact detecting algorithm until the desired number of impacts are delivered. In such embodiments an impact counter would begin counting each impact detected since the acceleration based algorithm detects individual impacts, and after the motor speed exceeds the high motor speed threshold, the impact counter may increment the counter every 20 milliseconds, for example.


Accordingly, the motor control unit 130 monitors changes in impact acceleration to detect impacts, adjusts the change-in-acceleration threshold that is used to detect an impact based on the speed of the motor (proportional to the motor voltage), switches between counting individual impacts (i.e., the acceleration based impacting detection algorithm) and estimating impacts based on elapsed time (i.e., the time-based impacting detection algorithm) based on the momentum of the motor, and uses a motor current threshold to determine when the tool is (or begins) impacting while the motor is running at or near full speed.



FIG. 7 illustrates a flowchart of a method 700 of monitoring the number of impacts delivered by the anvil. At step 710, the motor control unit 130 receives a desired number of impacts to be delivered. In some embodiments, the motor control unit 130 receives the desired number of impacts from a user interface of the power tool 100 or through a user interface of an application executing on an external device (e.g., a mobile phone) in communication with the power tool 100. In other embodiments, the motor control unit 130 is preprogrammed with a desired number of impacts that are received at the time of manufacture.


At step 720, the motor control unit 130 drives the hammer to deliver impacts to the anvil. As described above, in some embodiments, the motor control unit 130 drives the motor 126 to drive the hammer. At step 730, the motor control unit 130 detects an impact delivered by the hammer according to an acceleration-based technique or a time-based technique. When the motor control unit 130 detects an impact, the motor control unit 130 increments an impact counter (at step 740).


At step 750, the motor control unit 130 determines whether the number of impacts is greater than the desired number of impacts. When the number of impacts is greater than the desired number of impacts, the motor control unit 130 controls the motor 126 (step 760). For example, the motor control unit 130 may stop the motor 126, increase the speed of the motor 126, decrease the speed of the motor 126, change the rotation direction of the motor 126, or otherwise change an operation of the motor 126. When the number of impacts is below the desired number of impacts, the motor control unit 130 returns to step 730 to detect a further impact.



FIG. 8 illustrates a flowchart of a method 800 of detecting an impact delivered by the anvil, which may be used to implement step 730 of FIG. 7. At step 810, the motor control unit 130 determines a motor characteristic indicative of a motor speed. In some embodiments, the motor control unit 130 determines the motor speed based on detecting a voltage of the motor 126. In other embodiments, the motor control unit 130 determines the motor speed based on outputs of the Hall sensors 128. At step 820, the motor control unit 130 determines whether the motor speed is greater than a speed threshold. In some embodiments, the motor control unit 130 determines that the motor speed exceeds the speed threshold when the motor voltage exceeds a predetermined high-motor voltage threshold, for example, 16V.


When the motor speed exceeds the speed threshold, the motor control unit 130 detects an impact according to the time-based technique (at step 830). When the motor speed is below the speed threshold, the motor control unit 130 detects an impact according to the acceleration-based technique (at step 840).



FIG. 9 illustrates a flowchart of an acceleration-based method 900 of monitoring impacts, which may be used to implement step 840 of FIG. 8. At step 910, the motor control unit 130 sets an acceleration threshold based on the motor characteristic indicative of speed (e.g., as obtained in step 810 of FIG. 8). As described above, generally, as the speed of the motor increases, the value at which the acceleration threshold is set decreases. At step 920, the motor control unit 130 determines a change in motor acceleration. As described above, in some embodiments, the motor control unit 130 determines the motor acceleration by taking the difference between two motor velocity measurements over an elapsed time period (e.g., a millisecond).


At step 930, the motor determines whether the change in motor acceleration exceeds a predetermined acceleration threshold. When the change in motor acceleration exceeds the acceleration threshold, the motor control unit 130 generates an indication of an impact and increments an impact counter (at step 940). The indication may be output by the motor control unit 130 or may be, for example, generated internally in software. For example, the indication may be generated by way of a variable being updated in memory of the motor control unit or an instruction being executed, which then results in an increment of the impact counter (see step 740 of FIG. 7).



FIG. 10 illustrates a time-based method 1000 of monitoring impacts, which may be used to implement step 830 of FIG. 8. At step 1010, the motor control unit 130 starts a timer based on detecting that impacting has begun. At step 1020, the motor control unit 130 determines whether an impact time period has elapsed based on the timer. As noted above, the impact time period may vary depending on the speed of the motor. For example, in some embodiments, the method 1000 includes a step of setting the impact time period (e.g., before the timer starts in step 1010) based on a speed of the motor. Generally, the faster the motor speed, the shorter the impact time period.


When the impact time period elapses, the motor control unit 130 generates an indication of an impact and increments an impact counter (at step 1030). The indication may be output by the motor control unit 130 or may be, for example, generated internally in software. For example, the indication may be generated by way of a variable being updated in memory of the motor control unit or an instruction being executed, which then results in an increment of the impact counter (see step 740 of FIG. 7).


In some embodiments, the method 1000 further includes a determination that motor current exceeds a current threshold before starting the timer in step 1010 to ensure that the tool is operating in a state that will result in impacting. In some embodiments, the method 800 (FIG. 8) includes a step of determining that the motor current exceeds a current threshold before proceeding to the time-based technique in step 830. For example, in step 820, the control unit 130 may also compare the motor current to the current threshold and proceeds to step 830 if both the motor current exceeds the current threshold and the motor speed exceeds the speed threshold; otherwise, the motor control unit 130 proceeds to step 840 for acceleration-based impact detection. This step is, again, to ensure that the tool is operating in a state that will result in impacting before entering the time-based impact detection technique.


In some embodiments, as described above, the power tool 100 selectively implements the acceleration-based technique and the time-based technique, for example, dependent on a speed of the motor. However, in some embodiments, the power tool 100 implements the acceleration-based technique, and not the time-based technique. In such embodiments, when step 730 of FIG. 7 is implemented with the method 800 of FIG. 8, the motor control unit 130 bypasses the decision block 820 and simply proceeds to the acceleration-based technique (step 840) after step 810. In other embodiments, the power tool 100 implements the time-based technique, and not the acceleration-based technique. In such embodiments, when step 730 of FIG. 7 is implemented with the method 800, the motor control unit 130 bypasses the decision block 820 and simply proceeds to the time-based technique (step 830) after step 810. In further embodiments, the motor control 100 is operable to use both the acceleration-based technique and the time-based technique, but the selection of one of the two techniques (e.g., decision block 820 of FIG. 8) occurs once per trigger pull. Accordingly, after the first impact detection, the decision block 820 is bypassed and the impact detection technique used to detect the first impact is continued to be used (e.g., until trigger release or the number of impacts reaching the desired number of impacts (step 750).


Thus, the invention provides, among other things, a power tool including a motor control unit that controls a motor based on the number of impacts delivered by the anvil by switching between two impacting detection algorithms based on motor speed.

Claims
  • 1. A power tool comprising: a housing;an anvil supported by the housing;a motor positioned within the housing configured to drive the anvil;a hammer mechanically coupled to the motor, the hammer configured to deliver impacts to the anvil; anda processor configured to: determine a motor characteristic indicative of a speed of the motor,when the motor characteristic indicates that the speed of the motor is below a speed threshold, employ an acceleration-based technique to detect a first impact based on a change in motor acceleration, andgenerate a first impact indication in response to detecting the first impact, andwhen the motor characteristic indicates that the speed exceeds the speed threshold, employ a time-based technique to detect a second impact based on an elapsed time, andgenerate a second impact indication in response to detecting the second impact.
  • 2. The power tool of claim 1, wherein the processor is further configured to: count the impacts delivered to the anvil using the acceleration-based technique and the time-based technique to determine an impact count, andcontrol the motor based on the impact count.
  • 3. The power tool of claim 2, wherein the processor is further configured to: receive an impact count threshold indicating a desired number of impacts,determine whether the impact count exceeds the impact count threshold, andwhen the impact count exceeds the impact count threshold, perform one selected from the group consisting of stopping the motor, increasing a speed of the motor, decreasing the speed of the motor, and changing a direction of the motor.
  • 4. The power tool of claim 1, wherein, to detect the first impact according to the acceleration-based technique, the processor is configured to: determine an acceleration of the motor, anddetermine whether a change in the acceleration of the motor exceeds an acceleration threshold, andwherein the first impact indication is generated when the change in the acceleration of the motor exceeds the acceleration threshold.
  • 5. The power tool of claim 4, further comprising a sensor within the housing to detect a rotational position of the motor, wherein the processor is further configured to determine the acceleration of the motor and the speed of the motor based on an output from the sensor.
  • 6. The power tool of claim 4, wherein the acceleration threshold is set based on at least one selected from the group consisting of a voltage of the motor and a speed of the motor.
  • 7. The power tool of claim 1, wherein, to detect the second impact according to the time-based technique, the processor is configured to determine that a predetermined impact time period elapsed.
  • 8. A power tool comprising: a housing;an anvil supported by the housing;a motor positioned within the housing configured to drive the anvil;a hammer mechanically coupled to the motor, the hammer configured to deliver impacts to the anvil; anda processor configured to: determine a motor characteristic indicative of a speed of the motor,set an acceleration threshold based on the motor characteristic,detect an impact based on a change in motor acceleration exceeding the acceleration threshold, andgenerate an impact indication in response to detecting the impact.
  • 9. The power tool of claim 8, wherein the processor is further configured to: determine that the motor characteristic indicates that the speed of the motor exceeds a speed threshold, andemploy a time-based technique to detect a second impact when the speed of the motor exceeds the speed threshold.
  • 10. The power tool of claim 9, wherein, to employ the time-based technique to detect the second impact, the processor is further configured to: set an impact time period based on the speed of the motor,start a timer, anddetermine, based on the timer, that the impact time period elapsed.
  • 11. The power tool of claim 8, wherein the processor is further configured to: determine that the motor characteristic indicates that the speed of the motor exceeds a speed threshold,determine that a current of the motor exceeds a current threshold, andemploy a time-based technique to detect a second impact when the speed of the motor exceeds the speed threshold and the current of the motor exceeds the current threshold.
  • 12. The power tool of claim 8, wherein the processor is further configured to: count the impacts delivered to the anvil to determine an impact count, andcontrol the motor based on the impact count.
  • 13. The power tool of claim 8, wherein the processor is further configured to: receive an impact count threshold indicating a desired number of impacts,determine whether the impact count exceeds the impact count threshold, andwhen the impact count exceeds the impact count threshold, performing, with the processor, one selected from the group consisting of stopping the motor, increasing a speed of the motor, decreasing the speed of the motor, and changing a direction of the motor.
  • 14. The power tool of claim 13, wherein the desired number of impacts is received via a user interface of the power tool, via a communication interface of the power tool from a user interface of an application executing on an external device, or via preprogramming of the power tool.
  • 15. The power tool of claim 8, wherein a value at which the acceleration is set decreases as the speed of the motor increases.
  • 16. The power tool of claim 8, wherein the change in motor acceleration is determined based on a difference between two motor velocity measurements over an elapsed time period.
  • 17. A power tool comprising: a housing;an anvil supported by the housing;a hammer mechanically coupled to the motor, the hammer configured to deliver impacts to the anvil;a motor positioned within the housing, the motor configured to drive the hammer to deliver the impacts to the anvil; anda processor configured to: determine a motor characteristic indicative of a speed of the motor,set an acceleration threshold based on the motor characteristic,detect an impact based on a change in motor acceleration exceeding the acceleration threshold,generate an impact indication in response to detecting the impact,determine that the motor characteristic indicates that the speed of the motor exceeds a speed threshold,determine that a current of the motor exceeds a current threshold, andemploy a time-based technique to detect a second impact when the speed of the motor exceeds the speed threshold and the current of the motor exceeds the current threshold.
  • 18. The power tool of claim 17, wherein the processor is further configured to: set an impact period based on the speed of the motor,set a timer in response to detecting the impact, anddetect the second impact when the impact period has elapsed based on the timer.
  • 19. The power tool of claim 18, wherein the processor is further configured to: receive a desired number of impacts to be delivered, wherein the desired number of impacts is received via a user interface of the power tool, via a communication interface of the power tool from a user interface of an application executing on an external device, or via preprogramming of the power tool, andwhen a number of detected impacts is greater than the desired number of impacts, perform one selected from the group consisting of stopping the motor, increasing a speed of the motor, decreasing the speed of the motor, and changing a direction of the motor.
  • 20. The power tool of claim 17, wherein the processor is further configured to: increment a counter in response to detecting an impact.
RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 15/146,563, filed on May 4, 2016, which claims priority to U.S. Provisional Patent Application No. 62/156,864, filed on May 4, 2015, the entire contents of which is hereby incorporated by reference.

US Referenced Citations (230)
Number Name Date Kind
2980218 Young Apr 1961 A
3739659 Workman, Jr. Jun 1973 A
3882305 Johnstone May 1975 A
3965778 Aspers et al. Jun 1976 A
4249117 Leukhardt et al. Feb 1981 A
4545106 Juengel Oct 1985 A
4680862 Wieland et al. Jul 1987 A
4685050 Polzer et al. Aug 1987 A
4854786 Alexander et al. Aug 1989 A
4881435 Hansson Nov 1989 A
4991473 Gotman Feb 1991 A
5025903 Elligson Jun 1991 A
5154242 Soshin et al. Oct 1992 A
5203242 Hansson Apr 1993 A
5277261 Sakoh Jan 1994 A
5315501 Whitehouse May 1994 A
5526460 DeFrancesco et al. Jun 1996 A
5903462 Wagner et al. May 1999 A
5942975 Sørensen Aug 1999 A
6123241 Walter et al. Sep 2000 A
6157313 Emmermann Dec 2000 A
6161629 Hohmann et al. Dec 2000 A
6279668 Mercer Aug 2001 B1
6405598 Bareggi Jun 2002 B1
6424799 Gilmore Jul 2002 B1
6431425 Moorman et al. Aug 2002 B1
6508313 Carney et al. Jan 2003 B1
6520270 Wissmach et al. Feb 2003 B2
6522949 Ikeda et al. Feb 2003 B1
6598684 Watanabe Jul 2003 B2
6668212 Colangelo, II et al. Dec 2003 B2
6687567 Watanabe Feb 2004 B2
6784801 Watanabe et al. Aug 2004 B2
6836614 Gilmore Dec 2004 B2
6848516 Giardino Feb 2005 B2
6872121 Wiener et al. Mar 2005 B2
6913087 Brotto et al. Jul 2005 B1
6923285 Rossow et al. Aug 2005 B1
6938689 Farrant et al. Sep 2005 B2
6945337 Kawai Sep 2005 B2
6954048 Cho Oct 2005 B2
6968908 Tokunaga et al. Nov 2005 B2
6978846 Kawai et al. Dec 2005 B2
7034711 Sakatani et al. Apr 2006 B2
7035710 Balling Apr 2006 B2
7035898 Baker Apr 2006 B1
7036605 Suzuki et al. May 2006 B2
7036703 Grazioli et al. May 2006 B2
7062998 Hohmann et al. Jun 2006 B2
7064502 Garcia et al. Jun 2006 B2
7086483 Arimura et al. Aug 2006 B2
7102303 Brotto et al. Sep 2006 B2
7112934 Gilmore Sep 2006 B2
7123149 Nowak et al. Oct 2006 B2
7137541 Baskar et al. Nov 2006 B2
7211972 Garcia et al. May 2007 B2
7218227 Davis et al. May 2007 B2
7243440 DeKeyser Jul 2007 B2
7314097 Jenner et al. Jan 2008 B2
7328086 Perry et al. Feb 2008 B2
7328757 Davies Feb 2008 B2
7343764 Solfronk Mar 2008 B2
7346422 Tsuchiya et al. Mar 2008 B2
7359762 Etter et al. Apr 2008 B2
7382272 Feight Jun 2008 B2
7419013 Sainomoto et al. Sep 2008 B2
7428934 Arimura Sep 2008 B2
7437204 Lev-Ami et al. Oct 2008 B2
7464769 Nakazawa et al. Dec 2008 B2
7501778 Hashimoto et al. Mar 2009 B2
7540334 Gass et al. Jun 2009 B2
7613590 Brown Nov 2009 B2
7646155 Woods et al. Jan 2010 B2
RE41185 Gilmore et al. Mar 2010 E
7690569 Swanson et al. Apr 2010 B2
7750811 Puzio et al. Jul 2010 B2
7787981 Austin et al. Aug 2010 B2
7795829 Seiler et al. Sep 2010 B2
7809495 Leufen Oct 2010 B2
7817062 Li et al. Oct 2010 B1
7823458 Kibblewhite et al. Nov 2010 B2
7834566 Woods et al. Nov 2010 B2
7868591 Phillips et al. Jan 2011 B2
7898403 Ritter et al. Mar 2011 B2
7900524 Calloway et al. Mar 2011 B2
7911379 Cameron Mar 2011 B2
7928673 Woods et al. Apr 2011 B2
7931096 Saha Apr 2011 B2
7942084 Wilson, Jr. et al. May 2011 B2
7942211 Scrimshaw et al. May 2011 B2
7953965 Qin et al. May 2011 B2
7982624 Richter et al. Jul 2011 B2
8004397 Forrest et al. Aug 2011 B2
8004664 Etter et al. Aug 2011 B2
8005647 Armstrong et al. Aug 2011 B2
8044796 Carr, Sr. Oct 2011 B1
8049636 Buckingham et al. Nov 2011 B2
8074731 Iwata et al. Dec 2011 B2
8169298 Wiesner et al. May 2012 B2
8171828 Duvan et al. May 2012 B2
8179069 Matsunaga et al. May 2012 B2
8210275 Suzuki et al. Jul 2012 B2
8255358 Ballew et al. Aug 2012 B2
8260452 Austin et al. Sep 2012 B2
8264374 Obatake et al. Sep 2012 B2
8281871 Cutler et al. Oct 2012 B2
8286723 Puzio et al. Oct 2012 B2
8294424 Bucur Oct 2012 B2
8310206 Bucur Nov 2012 B2
8316958 Schell et al. Nov 2012 B2
8324845 Suzuki et al. Dec 2012 B2
8330426 Suzuki et al. Dec 2012 B2
8351982 Rofougaran Jan 2013 B2
8360166 Iimura et al. Jan 2013 B2
8406697 Arimura et al. Mar 2013 B2
8412179 Gerold et al. Apr 2013 B2
8438955 Wilson, Jr. et al. May 2013 B2
8464808 Leü Jun 2013 B2
8611250 Chen et al. Dec 2013 B2
8627900 Oomori et al. Jan 2014 B2
8645176 Walton et al. Feb 2014 B2
8657482 Malackowski et al. Feb 2014 B2
8666936 Wallace Mar 2014 B2
8678106 Matsunaga et al. Mar 2014 B2
8823322 Noda et al. Sep 2014 B2
8890449 Suzuki et al. Nov 2014 B2
8919456 Ng et al. Dec 2014 B2
8965841 Wallace Feb 2015 B2
9030145 Brennenstuhl et al. May 2015 B2
9031585 Kahle et al. May 2015 B2
9038743 Aoki May 2015 B2
9061392 Forgues et al. Jun 2015 B2
9114519 Iwata et al. Aug 2015 B2
9126317 Lawton et al. Sep 2015 B2
9144875 Schlesak et al. Sep 2015 B2
9193055 Lim et al. Nov 2015 B2
9216505 Rejman et al. Dec 2015 B2
9232614 Hiroi Jan 2016 B2
9233457 Wanek et al. Jan 2016 B2
9242356 King et al. Jan 2016 B2
9281770 Wood et al. Mar 2016 B2
20010052416 Wissmach et al. Dec 2001 A1
20020033267 Schweizer et al. Mar 2002 A1
20020060082 Watanabe May 2002 A1
20030121677 Kady et al. Mar 2003 A1
20040182587 May et al. Sep 2004 A1
20060009879 Lynch et al. Jan 2006 A1
20060076385 Etter et al. Apr 2006 A1
20070034394 Gass et al. Feb 2007 A1
20070252675 Lamar Nov 2007 A1
20080084334 Ballew Apr 2008 A1
20080086320 Ballew Apr 2008 A1
20080086323 Ballew et al. Apr 2008 A1
20080086349 Petrie et al. Apr 2008 A1
20080086427 Petrie Apr 2008 A1
20080086428 Wallace Apr 2008 A1
20080086685 Janky et al. Apr 2008 A1
20090250364 Gerold et al. Oct 2009 A1
20090251330 Gerold et al. Oct 2009 A1
20090273436 Gluck et al. Nov 2009 A1
20100096151 Östling Apr 2010 A1
20100116519 Gareis May 2010 A1
20100154599 Gareis Jun 2010 A1
20100176766 Brandner et al. Jul 2010 A1
20110056716 Jönsson et al. Mar 2011 A1
20110067895 Nobe et al. Mar 2011 A1
20120167721 Fluhrer Jul 2012 A1
20120168189 Eckert Jul 2012 A1
20120199372 Nishikawa et al. Aug 2012 A1
20120234566 Mashiko Sep 2012 A1
20120279736 Tanimoto et al. Nov 2012 A1
20120292070 Ito et al. Nov 2012 A1
20130024245 Nichols et al. Jan 2013 A1
20130062086 Ito Mar 2013 A1
20130076271 Suda et al. Mar 2013 A1
20130082632 Kusakawa Apr 2013 A1
20130087355 Oomori et al. Apr 2013 A1
20130109375 Zeiler et al. May 2013 A1
20130118767 Cannaliato et al. May 2013 A1
20130126202 Oomori et al. May 2013 A1
20130133907 Chen et al. May 2013 A1
20130133911 Ishikawa et al. May 2013 A1
20130138465 Kahle et al. May 2013 A1
20130138606 Kahle et al. May 2013 A1
20130153250 Eckert Jun 2013 A1
20130187587 Knight et al. Jul 2013 A1
20130188058 Nguyen et al. Jul 2013 A1
20130191417 Petrie et al. Jul 2013 A1
20130204753 Wallace Aug 2013 A1
20130255980 Linehan et al. Oct 2013 A1
20130304545 Ballew et al. Nov 2013 A1
20130327552 Lovelass et al. Dec 2013 A1
20130333910 Tanimoto Dec 2013 A1
20140006295 Zeiler et al. Jan 2014 A1
20140069672 Mashiko et al. Mar 2014 A1
20140107853 Ashinghurst et al. Apr 2014 A1
20140122143 Fletcher et al. May 2014 A1
20140151079 Furui et al. Jun 2014 A1
20140159662 Furui et al. Jun 2014 A1
20140159919 Furui et al. Jun 2014 A1
20140159920 Furui et al. Jun 2014 A1
20140166324 Puzio et al. Jun 2014 A1
20140184397 Volpert Jul 2014 A1
20140284070 Ng et al. Sep 2014 A1
20140292245 Suzuki et al. Oct 2014 A1
20140324194 Larsson et al. Oct 2014 A1
20140331830 King et al. Nov 2014 A1
20140334270 Kusakawa Nov 2014 A1
20140336810 Li et al. Nov 2014 A1
20140336955 Li et al. Nov 2014 A1
20140350716 Fly et al. Nov 2014 A1
20140365259 Delplace et al. Dec 2014 A1
20140367134 Phillips et al. Dec 2014 A1
20140374130 Nakamura Dec 2014 A1
20140379136 Schlegel et al. Dec 2014 A1
20150000944 Dusselberg et al. Jan 2015 A1
20150002089 Rejman et al. Jan 2015 A1
20150042247 Kusakawa Feb 2015 A1
20150122524 Papp May 2015 A1
20150135306 Winkler et al. May 2015 A1
20150135907 Hirabayashi et al. May 2015 A1
20150137721 Yamamoto et al. May 2015 A1
20150158157 Hirabayashi et al. Jun 2015 A1
20150158170 Nitsche et al. Jun 2015 A1
20150165604 Bartoszek Jun 2015 A1
20150171654 Horie et al. Jun 2015 A1
20150340921 Suda et al. Nov 2015 A1
20160031072 Lim et al. Feb 2016 A1
20160250738 Leh Sep 2016 A1
20170008159 Boeck et al. Jan 2017 A1
Foreign Referenced Citations (13)
Number Date Country
10029132 Jan 2002 DE
202006014606 Jan 2007 DE
2147750 Jan 2010 EP
7116969 May 1995 JP
H10151578 Jun 1998 JP
2000176850 Jun 2000 JP
2004072563 Mar 2004 JP
2004322262 Nov 2004 JP
2006123080 May 2006 JP
4359018 Nov 2009 JP
2002030624 Apr 2002 WO
2007090258 Aug 2007 WO
2013116303 Aug 2013 WO
Related Publications (1)
Number Date Country
20200189077 A1 Jun 2020 US
Provisional Applications (1)
Number Date Country
62156864 May 2015 US
Continuations (1)
Number Date Country
Parent 15146563 May 2016 US
Child 16796594 US