Embodiments described herein provide systems and methods for adjusting a threshold, adjusting a control parameter, and/or switching an algorithm, used to determine a bind-up condition of a power tool or change the control response of the power tool.
Power tools described herein include a housing, a motor within the housing, a battery pack configured to provide current to the motor, and a motion sensor configured to sense a rotational motion of the housing. An electronic controller is connected to the motor, the battery pack and the motion sensor. The electronic controller is configured to determine whether a battery fetting event is occurring and adjust a rotational motion threshold used to determine a bind-up event based on the battery fetting event. The electronic controller is further configured to receive, from the motion sensor, a first signal indicative of rotational motion of the housing, compare a value based on the signal to the rotational motion threshold, and initiate, in response to the value for the signal being greater than or equal to the rotational motion threshold, a first protective operation.
Methods described herein for adjusting a bind-up threshold include receiving an input associated with a distance between a power tool and an object and adjusting a rotational motion threshold used to determine a bind-up event based on the input. The method further includes receiving, from a motion sensor, a first signal indicative of rotational motion of the power tool, comparing a value based on the first signal to the rotational motion threshold, and initiating, in response to the value for the signal being greater than or equal to the rotational motion threshold, a protective operation.
Power tools described herein include a housing, a motor within the housing, a battery pack configured to provide current to the motor, and a motion sensor configured to sense rotational motion of the housing. An electronic controller is connected to the motor, the battery pack, and the motion sensor. The electronic controller is configured to determine whether the power tool is braced against an object and adjust a rotational motion threshold used to determine a bind-up event based on the bracing. The electronic controller is further configured to receive, from the motion sensor, a first signal indicative of rotational motion of the housing, compare a value based on the first signal to the rotational motion threshold, and initiate, in response to the value being greater than or equal to the rotational motion threshold, a protective operation.
Before any embodiments are explained in detail, it is to be understood that the embodiments are not limited in its application to the details of the configuration and arrangement of components set forth in the following description or illustrated in the accompanying drawings. The embodiments are capable of being practiced or of being carried out in various ways. Also, it is to be understood that the phraseology and terminology used herein are for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having” and variations thereof are meant to encompass the items listed thereafter and equivalents thereof as well as additional items. Unless specified or limited otherwise, the terms “mounted,” “connected,” “supported,” and “coupled” and variations thereof are used broadly and encompass both direct and indirect mountings, connections, supports, and couplings.
In addition, it should be understood that embodiments may include hardware, software, and electronic components or modules that, for purposes of discussion, may be illustrated and described as if the majority of the components were implemented solely in hardware. However, one of ordinary skill in the art, and based on a reading of this detailed description, would recognize that, in at least one embodiments, the electronic-based aspects may be implemented in software (e.g., stored on non-transitory computer-readable medium) executable by one or more processing units, such as a microprocessor and/or application specific integrated circuits (“ASICs”). As such, 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 embodiments. For example, “servers” and “computing devices” described in the specification can include one or more processing units, one or more computer-readable medium modules, one or more input/output interfaces, and various connections (e.g., a system bus) connecting the components.
Other features and aspects will become apparent by consideration of the following detailed description and accompanying drawings.
A controller 200 for the power tool 100 is illustrated in
The controller 200 includes a plurality of electrical and electronic components that provide power, operational control, and protection to the components and modules within the controller 200 and/or power tool 100. For example, the controller 200 includes, among other things, a processing unit 205 (e.g., a microprocessor, an electronic processor, an electronic controller, a microcontroller, or another suitable programmable device), a memory 225, input units 230, and output units 235. The processing unit 205 includes, among other things, a control unit 210, an arithmetic logic unit (“ALU”) 215, and a plurality of registers 220 (shown as a group of registers in
The memory 225 is a non-transitory computer readable medium and includes, for example, a program storage area and a data storage area. The program storage area and the data storage area can include combinations of different types of memory, such as a ROM, a RAM (e.g., DRAM, SDRAM, etc.), EEPROM, flash memory, a hard disk, an SD card, or other suitable magnetic, optical, physical, or electronic memory devices. The processing unit 205 is connected to the memory 225 and executes software instruction that are capable of being stored in a RAM of the memory 225 (e.g., during execution), a ROM of the memory 225 (e.g., on a generally permanent basis), or another non-transitory computer readable medium such as another memory or a disc. Software included in the implementation of the power tool 100 can be stored in the memory 225 of the controller 200. The software includes, for example, firmware, one or more applications, program data, filters, rules, one or more program modules, and other executable instructions. The controller 200 is configured to retrieve from the memory 225 and execute, among other things, instructions related to the control processes and methods described herein. In other embodiments, the controller 200 includes additional, fewer, or different components.
The controller 200 drives the motor 280 to rotate driver 115 in response to a user's actuation of the trigger 125. The driver 115 may be coupled to the motor 280 via an output shaft. Depression of the trigger 125 actuates a trigger switch 158, which outputs a signal to the controller 200 to drive the motor 280, and therefore the driver 115. In some embodiments, the controller 200 controls a power switching network 255 (e.g., a FET switching bridge) to drive the motor 280. For example, the power switching network 255 may include a plurality of high side switching elements (e.g., FETs) and a plurality of low side switching element. The controller 200 may control each FET of the plurality of high side switching elements and the plurality of low side switching elements to drive each phase of the motor 280. When the trigger 125 is released, the controller 200 may apply a braking force to the motor 280. For example, the power switching network 255 may be controlled to more quickly deaccelerate the motor 280. In some embodiments, the controller 200 monitors a rotation of the motor 280 (such as, for example, a rotational rate of the motor 280, a position of the motor 280, and the like) via a Hall effect sensor.
The indicators 245 are also connected to the controller 200 and receive control signals from the controller 200 to turn on and off or otherwise convey information based on different states of the power tool 100. The indicators 245 include, for example, one or more light-emitting diodes (LEDs), or a display screen. The indicators 245 can be configured to display conditions of, or information associated with, the power tool 100. For example, the indicators 245 can display information relating to the charging state of the power tool 100, such as the charging capacity. The indicators 245 may also display information relating to a fault condition, or other abnormality, of the power tool 100. In addition to or in place of visual indicators, the indicators 245 may also include a speaker or a tactile feedback mechanism to convey information to a user through audible or tactile outputs. In some embodiments, the indicators 245 display information relating to a bind-up condition. For example, one or more LEDs are activated upon detection of a bind-up condition.
The battery pack interface 110 is connected to the controller 200 and is configured to couple with a battery pack 150. The battery pack interface 110 includes a combination of mechanical (e.g., a battery pack receiving portion) and electrical components configured to and operable for interfacing (e.g., mechanically, electrically, and communicatively connecting) the power tool 100 with the battery pack 150. The battery pack interface 110 is coupled to the power input unit 260. The battery pack interface 110 transmits the power received from the battery pack 150 to the power input unit 260. The power input unit 260 includes active and/or passive components (e.g., voltage step-down controllers, voltage converters, rectifiers, filters, etc.) to regulate or control the power received through the battery pack interface 110 and to the controller 200. In some embodiments, the battery pack interface 110 is also coupled to the power switching network 255. The operation of the power switching network 255, as controlled by the controller 200, determines how power is supplied to the motor 280.
The motion sensor 250 senses motion of the power tool 100. In some embodiments, the motion sensor 250 is a gyroscope or an accelerometer. The motion sensor 250 may be situated in the handle 130 such that the motion sensor 250 senses motion of the handle 130 about the longitudinal axis 135. For example, the motor 280, upon actuation of the trigger 125, rotates a drill bit held by the driver 115. However, the drill bit may get stuck in a workpiece (e.g., a bind-up condition). As the motor 280 continues to drive the driver 115 (e.g., the trigger 125 continues to be actuated) when the drill bit is stuck, the housing 105 may begin to rotate about the longitudinal axis 135. Such an event may further result in a change in the voltage of the battery pack 150 or the current provided by the battery pack 150. These changes may be detected by secondary sensors 272. Additionally, an accelerometer included in the secondary sensors 272 may detect an orientation of the power tool 100 both prior to and during operation of the motor 280. In some embodiments, the current sensor 270 senses a current provided by the battery pack 150, a current associated with the motor 280, or a combination thereof.
The one or more filtered motion signals 308 are provided to a bind-up algorithm 310. The bind-up algorithm 310 is, for example, a linear combination of constant coefficients and the one or more filtered motion signals 308. In some embodiments, the bind-up algorithm 310 is a linear combination of constant coefficients and a plurality of monitored parameters of the power tool 100. The plurality of monitored parameters may include a current provided by the battery pack 150, a voltage provided by the battery pack 150, a temperature of the battery pack 150, a torque of the power tool 100, angular displacement of the power tool 100, angular velocity of the power tool 100, or angular acceleration of the power tool 100. In some embodiments, the bind-up algorithm 310 is obtained by multiplying together the filtered motion signals 308 from the one or more filters 305. Executing the bind-up algorithm 310 results in an output motion signal 312. The output motion signal 312 is provided to the processing unit 205. The processing unit 205 controls the motor 280 based on the output motion signal 312. For example, the processing unit 205 may determine a bind-up condition is occurring and initiate protective operations in response, as detailed further below.
In some embodiments, the output motion signal 312 is the output of a linear combination of the rotational speed of the housing 105 and the angle of the housing 105. The rotational speed of the housing 105 may be detected by the motion sensor 250 or calculated by the controller 200 based on signals received by the motion sensor 250. The angle of the housing 105 may be determined by the motion sensor 250 or an accelerometer included in the secondary sensors 272. For example, Equation 1 provides an output motion signal 312 according to one embodiment, where a is a first constant, β is a second constant, rotSpeed is the rotational speed of the housing 105, and angletotalRotation is the total change in the angle of the housing 105.
OutputAlg=α·rotSpeed+β·angletotalRotation EQN. 1
Equation 2 provides an output motion signal 312 according to another embodiment, where α is a first constant, β is a second constant, rotSpeed is the rotational speed of the housing 105, and angletotalRotation is the total change in the angle of the housing 105 using a sliding window, or moving average, method.
OutputAlg=α·rotSpeed+β·angleslidingWindow EQN. 2
In some embodiments, the output motion signal 312 is the output of the integral of the rotational speed of the housing 105. For example, Equation 3 provides an output motion signal 312 according to another embodiment, wherein rotSpeed is the rotational speed of the housing 105, t is the present time, and minSpeedParameter is a minimal acceptable speed of either the housing 105 or the driver 115.
OutputAlg=∫t-200mst(rotSpeed>minSpeedParameter)dt EQN. 3
The output motion signal 312 may also be based on a filtered rotational speed of the housing 105. For example, Equation 4 provides an output motion signal 312 according to another embodiment, wherein rotSpeed is the rotational speed of the housing 105, t is the present time, lpf is a lowpass filter with a time constant of T, and minSpeedParameter is a minimal acceptable speed of either the housing 105 or the driver 115.
OutputAlg=∫t-200mstlpf(rotSpeed,Tfast)>MinSpeedParameter)dt EQN. 4
Equation 5 provides an output motion signal 312 according to another embodiment, wherein rotSpeed is the rotational speed of the housing 105, lpf is a lowpass filter with a time constant of T, and RotationSpeed is the rotational speed of the driver 115, and AngletotalRotation is the total angular rotation of the housing 105.
In some embodiments, machine learning is used when calculating the output motion signal 312. For example, a convolutional neural network (CNN) is applied to the rotational speed of the housing 105. In some embodiments, the CNN is applied to the sliding window rotational speed of the housing 105. Other types of machine learning algorithms may be applied, such as a random forest, a support vector machine (SVM), a deep neural network (DNN), a decision tree, a recursive neural network (RNN), or the like.
In some embodiments, the one or more motion signals 300 are further provided to a secondary algorithm 315. For example, the one or more motion signals 300 may be provided to the one or more filters 305 and the bind-up algorithm 310, the secondary algorithm 315, or the combination of the one or more filters 305, the bind-up algorithm 310, and the secondary algorithm 315. The secondary algorithm 315 may be an additional method of processing the one or more motion signals 300. While stored in the memory 225, the secondary algorithm 315 may be executed by the processing unit 205. For example, the secondary algorithm 315 may include constantly comparing the one or more motion signals 300 to a rotational speed (e.g., angular velocity) threshold. Should the one or more motion signals 300 be greater than or equal to the rotational speed threshold, a counter is increased. Should the one or more motion signals 300 be less than the rotational speed threshold, the counter is decreased. If the counter exceeds a counter threshold, the processing unit 205 may determine a bind-up condition is occurring and initiate protective operations in response.
To protect the power tool 100 and a user of the power tool 100 when a bind-up condition occurs, the controller 200 performs protective operations in response to the detected bind-up condition. For example,
The controller 200 continuously receives the one or more motion signals 300 from the motion sensor 250. For example, the controller 200 may receive the one or more motion signals 300 prior to operation of the motor 280, during operation of the motor 280, and during a braking operation of the motor 280. At block 410, the controller 200 generates an output based on the first signal. As previously described, the one or more filters 305 and the bind-up algorithm 310 are implemented with respect to the one or more motion signals 300 to generate an output motion signal 312 (i.e., an output). The processing unit 205 receives the generated output motion signal 312. At block 415, the controller 200 compares the output to a first rotational motion threshold. If the output is not greater than or equal to the first rotational motion threshold, the controller 200 proceeds to block 425. If the polynomial output is greater than or equal to the first rotational motion threshold, the controller 200 continues to block 420.
At block 420, the controller 200 initiates a first protective operation. The first protection operation may be, for example, a braking of the motor 280 and a shutoff of the motor 280. For example, the controller 200 may control the power switching network 255 to brake the motor 280 to a lower speed or brake to a complete stop. In some embodiments, the controller 200 controls the switching network 255 to stop current from being provided to the motor 280. After initiating the first protective operation, the controller 200 returns to block 405 and continues to receive signals associated with rotational motion of the housing 105. In some embodiments, control of the motor during the first protective operation ranges from full motor power (e.g., no response), reduced motor power (e.g., throttling), coasting of the motor, a reduced braking force (using PWM braking, a discrete braking resistor, a mechanical brake, etc.), a regular braking force (e.g., a normal braking operation of the motor 280, a braking force greater than the reduced braking force), and a hard braking force (e.g., a greater braking force than the normal braking operation). In some embodiments, a secondary braking device (such as a solenoid clutch) may be implemented during the first protective operation. In some embodiments, the first protective operation is a combination any two of the previously-described braking operations. In some embodiments, the controller 200 is configured to dynamically choose the required braking force based on which sensors provide inputs to the controller 200.
Should the output be less than the first rotational motion threshold, the controller 200 proceeds to block 425 and compares the output to a second rotational motion threshold. For example, the generated output motion signal 312 is compared to a second rotational motion threshold stored in the memory 225. If the output is less than the second rotational motion threshold, the controller 200 returns to block 405. If the output is greater than or equal to the second rotational motion threshold, the controller 200 continues to block 430.
At block 430, the controller 200 initiates a second protective operation. In some embodiments, the second protective operation is throttling the motor 280 (e.g., a throttling operation) or pulsing the motor 280 (e.g., a pulsing operation). For example, upon the output motion signal 312 exceeding the first rotational motion threshold, the controller 200 detects a bind-up condition. The controller 200 reduces the amount of power (e.g., current) provided to the motor 280 using at least one of the power input unit 260 and the switching network 255. In some embodiments, the controller 200 controls the switching network 255 to pulse the amount of current provided to the motor 280. In some embodiments, the controller 200 returns to block 405 and continues to receive signals associated with rotational motion of the housing 105. In some embodiments, control of the motor during the second protective operation ranges from full motor power (e.g., no response), reduced motor power (e.g., throttling), coasting of the motor, a reduced braking force (using PWM braking, a discrete braking resistor, a mechanical brake, etc.), a regular braking force (e.g., a normal braking operation of the motor 280, a braking force greater than the reduced braking force), and a hard braking force (e.g., a greater braking force than the normal braking operation. In some embodiments, a secondary braking device (such as a solenoid clutch) may be implemented during the first protective operation. In some embodiments, the second protective operation is a combination any two of the previously-described braking operations. In some embodiments, the controller 200 is configured to dynamically choose the required braking force based on which sensors provide inputs to the controller 200.
In some embodiments, the first rotational motion threshold is an upper rotational motion threshold, and the second rotational motion threshold is a lower rotational motion threshold. The controller 200 may compare the output to the lower rotational motion threshold and the upper rotational motion threshold simultaneously. In some embodiments, the amount of throttling of the motor 280 for the first protective operation and/or the second protective operation are based on or dependent on the degree of rotational motion. For example, a greater amount of rotational motion will result in a greater throttling operation (e.g., 50% of normal operating power provided to the motor 280). For example, should the output be greater than the upper rotational motion threshold, the controller 200 skips the second protective operation (e.g., reducing current provided to the motor 280) and immediately performs the first protective operation (braking the motor 280 to a stop). In some embodiments, throttling is always being performed (e.g., 99% duty cycle is still throttling) and is not disabled.
When determining a bind-up condition is present, the controller 200 may further account for signals from the current sensor 270 and/or the secondary sensors 272.
The first signal (e.g., the one or more motion signals 300) are further provided to the one or more filters 305 and the bind-up algorithm 310 to provide output motion signals 312 to the processing unit 205, as previously described. One or more secondary filters 605 are applied to the one or more secondary signals 600 in a similar manner as how the one or more filters 305 are applied to the one or more motion signals 300. Applying the one or more secondary filters 605 to the one or more secondary signals 600 generates one or more filtered secondary signals 608. The one or more filtered secondary signals 608 are provided to a secondary algorithm 610. Applying the secondary algorithm 610 to the one or more filtered secondary signals 608 generates an output secondary signal 612. The output secondary signal 612 is provided to the processing unit 205.
Equation 6 provides an output secondary signal 612 according to one embodiment, where α, β and γ are constants, rotSpeed is the rotational speed of the housing 105, angleslidingWindow is the rotational angle of the housing 105 as determined using a sliding window, or moving average, method, current is the current provided by the battery pack 150 (e.g., the current provided to the motor 280), and lpf is a low pass filter having a time constant of T.
OutputAlg=α·rotSpeed+β·angleslidingWindowγ·lpf(current,Tfast) EQN. 6
Equation 7 provides an output secondary signal 612 according to another embodiment, where α, β and γ are constants, rotSpeed is the rotational speed of the housing 105, angleslidingWindow is the rotational angle of the housing 105 as determined using a sliding window, or moving average, method, and current is the current provided by the battery pack 150 (e.g., the current provided to the motor 280).
OutputAlg=α·rotSpeed+β·angleslidingWindowγ·lpf(current,Tfast) EQN. 7
Equation 8 provides an output secondary signal 612 according to another embodiment, where α, β and γ are constants, lpf is a low pass filter having a time constant of T, current is the current provided by the battery pack 150, and SpeedRPM is the speed of the driver 115 (e.g., the motor 280).
Equation 9 provides an output secondary signal 612 according to another embodiment, where α and β are constants, torque is the torque of the driver 115, param is a torque threshold, and t is the present time.
OutputAlg=∫t-200mstα·(torque>param1)+β·(torque>param2)+ . . . dt EQN. 9
In some embodiments, machine learning is used to analyze the signals provided by the current sensor 270 and/or the secondary sensors 272. For example, a random forest may be applied to a current measurement, a speed measurement, a voltage measurement, a torque measurement, or the like. Additionally, although illustrated in
Returning to
At block 525, the controller 200 compares the second signal (e.g., the output secondary signal 612) to a second threshold (for example, a voltage threshold, a current threshold, a temperature threshold, etc.). If the second signal is less than the second threshold, the controller 200 returns to block 505 and continues to receive first signals from the motion sensor 250 and second signals from the secondary sensors 272. If the second signal is equal to or greater than the second threshold, the controller 200 proceeds to block 530. At block 530, the controller 200 initiates a second protective operation. For example, in
While embodiments primarily refer to detection of rotational motion to detect bind-up conditions, some power tools may refer solely on detected output conditions of the motor 280 to detect bind-up. For example, the controller 200 may monitor the output current of the motor 280, the output torque of the motor 280, a rotational rate of the motor 280, or a combination thereof to determine the occurrence of a bind-up condition without monitoring rotational motion of the housing 105.
The controller 200 may adjust aspects of the bind-up condition detection based on additional detected conditions of the power tool 100. For example,
In some embodiments, the controller 200 detects the object upon beginning to drive the motor 280. For example, when the trigger 125 is actuated, the controller 200 receives a signal from the proximity sensor 140 indicative of a distance between the power tool 100 and an object next to the power tool 100. Should the driver 115 (e.g., the motor 280) be driven in a forward, or clockwise, direction, the proximity sensor 140 detects an object to the right of the power tool 100. Alternatively, should the driver 115 be driven in a reverse, or counter-clockwise direction, the proximity sensor 140 detect an object to the left of the power tool 100. In some embodiments, a user of the power tool 100 may tap the power tool 100 against the object prior to actuation of the trigger 125. The power tool 100 may be tapped on the object a predetermined plurality of times, with a predetermined magnitude of strength, or with sufficient quality in order to detect the object. The controller 200 may detect the contact with the object based on a signal received by the motion sensor 250 or one of the secondary sensor(s) 272, such as an accelerometer. Upon detecting the object, the controller 200 may control one of the indicator(s) 245 to turn on, notifying the user of the object. Furthermore, a motion sensor, such as motion sensor 250, may be used by the controller 200 to integrate the tool motion after contact and determine the distance between the power tool and the object. In some embodiments, the motion sensor 250 may detect the direction of gravity and provide an angle with respect to the ground that estimates the angular distance to the object, such as if the power tool 100 is operated substantially horizontally. In some embodiments, a magnetometer may determine rotation of the power tool 100 (e.g., driver 115) with respect to the earth's magnetic fields.
At block 715, the controller 200 adjusts the bind-up detection algorithm based on the distance. For example, the controller 200 may select predetermined filters 305 or secondary filters 605 based on the contact with the object. The controller 200 may alter the bind-up algorithm 310, the secondary algorithm 610 or the secondary algorithm 315 based on the contact with the object. In some embodiments, the first rotational motion threshold, the second rotational motion threshold, or the second threshold are modified (e.g., reduced) based on the contact with or proximity of the object. In some embodiments, the controller 200 constantly monitors the distance between the power tool 100 and the object. Accordingly, the controller 200 may adjust the bind-up detection algorithm once the distance passes a distance threshold (e.g., the power tool 100 approaches the object). In some embodiments, the controller 200 adjusts the bind-up detection algorithm based on a predicted future distance.
While described as adjusting the bind-up detection algorithm based on potential contact of the power tool 100, method 700 may also be used in situations of operating the power tool 100 at elevated heights. For example, should a user of the power tool 100 be on an object such as a ladder, the power tool 100 may be tapped on the ladder. The controller 200 adjusts the bind-up detection algorithm based on the tapping, such as making the bind-up control more sensitive to movement.
If the absolute offset angle Δ is not approximately 0, the controller 200 proceeds to block 825 and block 830. Block 825 and block 830 may be performed by the controller 200 simultaneously. At block 825, the controller 200 reduces the maximum power provided to the motor 280. The amount the maximum power is reduced may be dependent upon the value of the absolute offset angle Δ or a derivative of the absolute offset angle Δ (the speed at which the power tool 100 approaches the object). In some embodiments, at block 825 the controller 200 performs a protective operation, such as scaling power output by a fraction of trigger output or pulsing the motor 280. At block 830, the controller 200 adjusts a rotational motion threshold. For example, should the absolute offset angle Δ be small (for example, less than 20°), the rotational motion threshold may be reduced such that the controller 200 is more sensitive to a bind-up condition.
In some embodiments, translation distance may be estimated (e.g., via dead reckoning) to estimate the distance to a foreign object. For example, a user may not “tap” a foreign object with the power tool 100 purely via rotation about the longitudinal axis 135. Accordingly, the controller 200 may account for translation of the power tool 100 to determine the distance from the foreign object. In some embodiments, the magnitude or other characteristic of the “tap” (such as a hardness or strength of the tap) is used by the controller 200 in determining an appropriate bind-up adjustment (e.g., selection of an algorithm, a threshold, or a braking operation described above). In some embodiments, the sensitivity or characteristic of the bind-up algorithm is modified based on detection of a “tap” of a foreign object with the power tool 100.
Continuing to
The controller 200 may further adjust the bind-up detection algorithm based on an initial orientation of the power tool 100. For example,
The controller 200 may also be capable of performing other protective features designed to prevent overheating of the battery pack 150, the motor 280, motor electronics (such as the switching network 255), or other components of the power tool 100. While some protective features are implemented as mechanical features, such as a fuse, breaker, etc., many are performed by the controller 200 (e.g., hardware overcurrent, overheating protection of a MOSFET, motor winding, or other component, gate drive refresh, etc.). For example, should overheating of the battery pack 150 begin to occur, the controller 200 may briefly reduce power while avoiding a full shutoff, as illustrated in
Additionally and/or simultaneously to blocks 1205-1215, at block 1220, the controller 200 of the power tool 100 may receive a signal from the battery pack 150 to reduce power provided to the motor 280. In some embodiments, the battery pack 150 reduces the power the battery pack 150 provides to the power tool 100, and therefore the motor 280. At block 1225, the controller 200 determines whether a battery fetting event is occurring, as previously described. If a battery fetting event is not occurring, at block 1230, the output of the machine learning algorithm is compared to a first threshold. In some embodiments, the first threshold is determined by a hysteresis and/or filtering event between block 1225 and block 1230. If a battery fetting event is occurring, at block 1230, the output of the machine learning algorithm is compared to a second threshold. If the output of the machine learning algorithm is greater than the selected threshold, at block 1235 the controller 200 shuts off the power tool 100.
Furthermore, the detecting of a battery fetting event or another limiting event of the power tool 100 may result in the adjustment of a protective action by the controller 200, such as modifying a braking response of the power tool 100. Accordingly, in addition to providing a safeguard to the power tool 100 and/or the battery pack 150, detection of a battery fetting event may be used to adjust a protective response for a user.
In some embodiments, the handle 130, the housing 105, or the battery pack 150 of the power tool 100 may be braced against an object while the motor 280 is being driven, like a leg of the user, an arm of a user, or a wall stud. In some embodiments, the power tool 100 is linked to a power tool accessory to brace the housing 105, such as a clamp. While being braced, the power tool 100 may experience significantly less rotational motion. Accordingly, the controller 200 may adjust the bind-up algorithm when bracing is occurring. For example,
In some embodiments, the controller 200 detects a characteristic indicative of a quality of the bracing. For example, a leg may be a “softer” bracing than a “harder” wall stud bracing. The controller 200 may use motion signals and other sensor inputs (such as a camera, pressure sensors, force sensors, and the like) to determine the quality of the bracing. In some embodiments, the controller 200 adjusts a motor driving characteristic based on the detected characteristic indicative of the bracing of the power tool 100. For example, if the power tool 100 is braced, the controller 200 may adjust a soft-start characteristic of the motor 280. As the power tool 100 is braced, the controller 200 allows the motor 280 to drive at a higher load. Additionally or alternatively, the controller 200 may increase a target torque output of the motor 280.
At block 1430, the controller 200 determines whether bracing is occurring based on the filtered output of the second machine learning technique. If bracing is occurring, a first threshold is selected by the controller 200. If bracing is not occurring, a second threshold is selected by the controller 200. In some embodiments, the first threshold is larger than the second threshold such that the bind-up detection algorithm is less sensitive when the power tool 100 is being braced. At block 1435, the controller 200 compares the output of the first machine learning technique to the selected threshold. In some embodiments, the selected threshold of block 1435 is a continuous function (e.g., more than a binary function) of the detected bracing. If the output is greater than the selected threshold, at block 1440 the power tool 100 is shut off.
In some embodiments, the power tool 100 may be braced by a mechanical attachment 145 (such as a mechanical arm) used to reduce a load on an operator of the power tool 100, as shown in
When implementing the first protection operation or the second protective operation, the controller 200 may need to account for other aspects of the power tool 100. For example, some drills include a spindlelock to stop the driver 115 from rotating when the trigger 125 is released. In some embodiments, the spindlelock has a predetermined amount of slop, such as 10 degrees. If the slop is taken up during a protective operation, the spindlelock can seize, causing a large amount of jerk on the power tool 100. Accordingly, the controller 200 may further adjust the bind-up detection algorithm to reduce or eliminate such jerk. For example, to avoid jerk, the controller 200 may allow the motor 280 to coast prior to performing a hard-braking operation when a bind-up condition is detected. In some embodiments, to avoid jerk, the controller 200 adjusts the braking speed of the motor 280 when a bind-up condition is detected.
As previously described, the power tool 100 may have a feature that reduces power to the motor 280 in the event of bind-up, such as via pulsing and/or reducing output current, power, or torque (throttling). This feature may thus change the motion and sensor response of the power tool 100 (e.g., becoming more or less sensitive to bind-up detection). Similar to the response for battery fetting and other protective features, the power tool 100 may change thresholds, parameters, or algorithms in response to its changing of its powered response characteristics (particularly throttling and pulsing, whether based on a discrete or continuous metric). Similarly, the change in response may be gradual and possibly reversible following the power reduction. Moreover, the act of throttling and/or pulsing may also warrant changing a threshold, parameter, or algorithm of the power tool 100 that dictates whether or not or how much to continue throttling and/or pulsing.
In some embodiments, forces experienced by the power tool 100 are great, and the controller 200 determines with high confidence that the power tool 100 is experiencing a bind-up condition. In other embodiments, changes with operation of the power tool 100 are gradual, and it may take a longer period of time for the controller 200 to detect a bind-up condition. Accordingly, the controller 200 may modify a protective operation dynamically, before or after detection of the bind-up, based on signals received from sensors coupled to the power tool 100. For example, an early, abrupt bind-up may quickly reach the first threshold or the second threshold used in previously-described protective operations. However, if the power tool 100 has had little motion upon detection of the bind-up condition, the controller 200 may coast or softly brake the motor 280 instead of a “hard” braking operation. Transitioning between braking operations (e.g., transitioning between a throttling operation of the motor 280, a coasting of the motor 280, a soft-braking operation, a regular braking operation, and a hard braking operation) may be discrete (e.g., an immediate transition) or continuous (for example, via PWM control between braking operations).
The controller 200 may select a default protective operation based on, for example, a swing (e.g., a speed and changing angle) of the power tool 100, an orientation of the power tool 100 (in one axis, in two axes, or in three axes), a total rotation of the power tool 100 from a neutral position, a presence of a side handle (such as the mechanical attachment 145), characteristics of a detected grip of a user, a mode of the power tool 100 (e.g., a hammer drilling mode versus a drilling mode), a characteristic of the battery pack 150 (e.g., an inertia of the battery pack 150, a remaining charge of the battery pack 150), a temperature of the battery pack 150, a temperature of the motor 280, whether a battery fetting event is detected, whether a nearby foreign object is detected, whether bracing of the power tool 100 is detected, a user setting (for example, a user input via an application, a dial or switch on the tool, or the like), an amount of backlash expected to be experienced, an engagement nature of a workpiece, or the like.
Thus, embodiments provided herein describe, among other things, systems and methods for adjusting a threshold, adjusting a control parameter, and/or switching an algorithm, used to determine a bind-up condition of a power tool or change the control response of the power tool used to determine a bind-up condition of a power tool. Various features and advantages are set forth in the following claims.
This application claims the benefit of U.S. Provisional Patent Application No. 63/092,946, filed Oct. 16, 2020, the entire content of which is hereby incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
5142210 | Kojima et al. | Aug 1992 | A |
5401124 | Hettich | Mar 1995 | A |
5704435 | Meyer et al. | Jan 1998 | A |
5879111 | Stock et al. | Mar 1999 | A |
5914882 | Yeghiazarians | Jun 1999 | A |
5954457 | Stock et al. | Sep 1999 | A |
5984020 | Meyer et al. | Nov 1999 | A |
6111515 | Schaer et al. | Aug 2000 | A |
6236177 | Zick et al. | May 2001 | B1 |
6843140 | Osselmann et al. | Jan 2005 | B2 |
7055620 | Nadig et al. | Jun 2006 | B2 |
7395871 | Carrier et al. | Jul 2008 | B2 |
7410006 | Zhang et al. | Aug 2008 | B2 |
7487845 | Carrier et al. | Feb 2009 | B2 |
7497272 | Strasser et al. | Mar 2009 | B2 |
7506694 | Stirm et al. | Mar 2009 | B2 |
7552781 | Zhang et al. | Jun 2009 | B2 |
7681659 | Zhang et al. | Mar 2010 | B2 |
7730963 | Carrier et al. | Jun 2010 | B2 |
7938194 | Carrier et al. | May 2011 | B2 |
8317350 | Friedman et al. | Nov 2012 | B2 |
8328381 | Dixon et al. | Dec 2012 | B2 |
RE44311 | Zhang et al. | Jun 2013 | E |
8506108 | Friedman et al. | Aug 2013 | B2 |
8555997 | Carrier et al. | Oct 2013 | B2 |
8561715 | Gut et al. | Oct 2013 | B2 |
RE44993 | Vanko et al. | Jul 2014 | E |
RE45112 | Zhang et al. | Sep 2014 | E |
8820955 | Dixon et al. | Sep 2014 | B2 |
8827483 | Dixon et al. | Sep 2014 | B2 |
9028088 | Vanko et al. | May 2015 | B2 |
9144875 | Schlesak et al. | Sep 2015 | B2 |
9328915 | Vanko et al. | May 2016 | B2 |
9352456 | Murthy et al. | May 2016 | B2 |
9352458 | Friedman et al. | May 2016 | B2 |
9539691 | Hirschburger | Jan 2017 | B2 |
9644837 | Vanko et al. | May 2017 | B2 |
9962807 | Klee et al. | May 2018 | B2 |
10144122 | Steurer | Dec 2018 | B2 |
10189136 | Coleman | Jan 2019 | B2 |
10322502 | Wirnitzer et al. | Jun 2019 | B2 |
10326399 | Hirschburger | Jun 2019 | B2 |
10500707 | Hirschburger | Dec 2019 | B2 |
10543588 | Vanko et al. | Jan 2020 | B2 |
10589413 | Goble | Mar 2020 | B2 |
10661423 | Schlegel et al. | May 2020 | B2 |
10675747 | Gut et al. | Jun 2020 | B2 |
10953532 | Sunabe et al. | Mar 2021 | B2 |
10981267 | Abbott et al. | Apr 2021 | B2 |
20040011632 | Hellmann et al. | Jan 2004 | A1 |
20080021590 | Vanko et al. | Jan 2008 | A1 |
20080319570 | Van Schoiack | Dec 2008 | A1 |
20100257990 | Schell et al. | Oct 2010 | A1 |
20110058356 | Friedman et al. | Mar 2011 | A1 |
20120293096 | Mizoguchi et al. | Nov 2012 | A1 |
20140166323 | Cooper | Jun 2014 | A1 |
20160279782 | Ullrich et al. | Sep 2016 | A1 |
20170129089 | Manschitz et al. | May 2017 | A1 |
20180043521 | Moessnang et al. | Feb 2018 | A1 |
20180099394 | Ichikawa et al. | Apr 2018 | A1 |
20180099399 | Sunabe et al. | Apr 2018 | A1 |
20190143469 | Coleman | May 2019 | A1 |
20190227528 | Abbott et al. | Jul 2019 | A1 |
20190337137 | Manschitz et al. | Nov 2019 | A1 |
20200047321 | Heimrich | Feb 2020 | A1 |
20200114499 | Vanko et al. | Apr 2020 | A1 |
20200114502 | Goble | Apr 2020 | A1 |
20200180132 | Schlegel et al. | Jun 2020 | A1 |
20200189017 | Ceroll et al. | Jun 2020 | A1 |
20200222061 | Hines et al. | Jul 2020 | A1 |
20210078153 | Sunabe | Mar 2021 | A1 |
Number | Date | Country |
---|---|---|
103386665 | Nov 2013 | CN |
202011110069 | Feb 2013 | DE |
102011089343 | Jun 2013 | DE |
102015221685 | May 2017 | DE |
1398119 | Apr 2010 | EP |
3050676 | Aug 2016 | EP |
2007229888 | Sep 2007 | JP |
2020049637 | Apr 2020 | JP |
8806508 | Sep 1988 | WO |
2012000831 | Jan 2012 | WO |
2019057639 | Mar 2019 | WO |
2019084280 | May 2019 | WO |
2019141536 | Jul 2019 | WO |
Entry |
---|
International Search Report and Written Opinion for Application No. PCT/US2021/055135 dated Feb. 4, 2022 (10 pages). |
Number | Date | Country | |
---|---|---|---|
20220118595 A1 | Apr 2022 | US |
Number | Date | Country | |
---|---|---|---|
63092946 | Oct 2020 | US |