The present invention relates to monitoring the number of impacts delivered by a power tool.
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.
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.
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.
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.
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
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
For example,
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
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.
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.
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).
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
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
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 (
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
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.
This application is a continuation of U.S. patent application Ser. No. 16/796,594, filed on Feb. 20, 2020, which is a continuation of U.S. patent application Ser. No. 15/146,563, filed on May 4, 2016, now U.S. Pat. No. 10,603,770, which claims the benefit of U.S. Provisional Patent Application No. 62/156,864, filed on May 4, 2015, the entire content of each of which is hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
62156864 | May 2015 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16796594 | Feb 2020 | US |
Child | 17961029 | US | |
Parent | 15146563 | May 2016 | US |
Child | 16796594 | US |