Systems and methods for detecting anvil position using inductive sensor

The integration of a brushless DC motor and inductive sensor in power tools with impact mechanisms addresses the lack of precise control over anvil position, improving efficiency and safety by allowing for accurate anvil drive angle adjustments.

JP2025172785APending Publication Date: 2025-11-26MILWAUKEE ELECTRIC TOOL CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2025137482
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2020-12-15
Filing Date
2025-08-21
Publication Date
2025-11-26

Smart Images

  • Figure 2025172785000001_ABST
    Figure 2025172785000001_ABST
Patent Text Reader

Abstract

To provide a power tool with an impact mechanism.SOLUTION: A power tool includes a housing, a brushless direct current (DC) motor, an impact mechanism including a hammer and an anvil, an output drive device, a position sensor 218C, and a controller. The power tool also includes a target positioned on a shaft, a magnetic shield positioned on the shaft between the target and the anvil, and a position sensor 218C. The position sensor 218C includes an inductive sensor 1905, a first transmitting circuit trace 1910, and a first receiving circuit trace 1915. The controller is configured to calculate a drive angle based on the determined position of the anvil, and control the brushless DC motor based on the drive angle of the anvil.SELECTED DRAWING: Figure 19AB
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] (Reference to Related Application) This application claims the benefit of U.S. Provisional Patent Application No. 63 / 034,727, filed June 4, 2020, and U.S. Provisional Patent Application No. 63 / 125,705, filed December 15, 2020, the entire contents of both of which are incorporated herein by reference.

[0002] (Technical field) The embodiments described herein relate to a power tool with an impact mechanism. Summary of the Invention

[0003] The power tool described herein includes a housing, a brushless direct current (DC) motor, an impact mechanism, an output driver, a position sensor, and a controller. The brushless DC motor is located within the housing. The brushless DC motor includes a rotor and a stator. The rotor is coupled to the motor shaft to generate a rotational output. The impact mechanism includes a hammer coupled to the motor shaft and an anvil configured to receive an impact from the hammer. The output driver is coupled to the anvil and configured to rotate to perform a task. The position sensor includes an inductive sensor, a first transmitting circuit trace, and a first receiving circuit trace. The inductive sensor is configured to inject a signal on the transmitting circuit trace and detect a first output signal on the first receiving circuit trace to determine a position of the anvil. The controller is coupled to the position sensor and configured to calculate an anvil drive angle caused by the impact based on the first output signal and control the brushless DC motor based on the anvil drive angle.

[0004] A method described herein includes driving a brushless direct current (DC) motor. The brushless DC motor includes a rotor and a stator. The rotor is coupled to a motor shaft to generate a rotational output. The method also includes impacting an anvil of an impact mechanism with a hammer of the impact mechanism coupled to the motor shaft to rotate an output drive device coupled to the anvil of the impact mechanism. The method also includes sensing a position of the anvil with a position sensor. The position sensor includes a first transmitter circuit trace and a first receiver circuit trace. The sensing includes injecting a signal on the transmitter circuit trace, detecting a first output signal on the first receiver circuit trace, and determining a position of the anvil based on the first output signal. The method also includes calculating a drive angle of the anvil based on the position of the anvil and controlling the brushless DC motor based on the drive angle.

[0005] The power tool described herein includes a housing, a brushless direct current (DC) motor, an impact mechanism, an output driver, a target, a magnetic shield, a position sensor, and a controller. The brushless DC motor is located within the housing. The brushless DC motor includes a rotor and a stator. The rotor is coupled to a motor shaft to generate a rotational output. The impact mechanism includes a hammer coupled to the motor shaft and an anvil configured to receive an impact from the hammer. The output driver includes a shaft coupled to the anvil and configured to rotate to perform a task. The target is located on the shaft. The magnetic shield is located on the shaft between the target and the anvil. The position sensor includes an inductive sensor located proximate to the target, a first transmitter circuit trace, and a first receiver circuit trace. The inductive sensor is configured to inject a signal on the first transmitter circuit trace and detect a first output signal on the first receiver circuit trace to determine a position of the anvil. A controller is coupled to the position sensor and configured to calculate a drive angle of the anvil caused by the impact based on the determined position of the anvil, and to control the brushless DC motor based on the drive angle of the anvil.

[0006] A method described herein includes driving a brushless direct current (DC) motor. The brushless DC motor includes a rotor and a stator. The rotor is coupled to a motor shaft to generate a rotational output. The method also includes impacting an anvil of an impact mechanism with a hammer of the impact mechanism coupled to the motor shaft to rotate an output drive device including a shaft coupled to the anvil of the impact mechanism, and sensing the position of the anvil with a position sensor disposed proximate to a target disposed on the shaft. A magnetic shield is disposed on the shaft between the target and the anvil. The position sensor includes a first transmitter circuit trace and a first receiver circuit trace. Sensing includes injecting a signal on the first transmitter circuit trace, detecting a first output signal on the first receiver circuit trace, and determining the position of the anvil based on the first output signal. The method also includes calculating an anvil drive angle based on the position of the anvil and controlling the brushless DC motor based on the anvil drive angle.

[0007] The impact power tool described herein includes a housing, a brushless direct current (DC) motor, an impact mechanism, an output driver, a target, a position sensor, and a controller. The brushless DC motor is located within the housing. The brushless DC motor includes a rotor and a stator. The rotor is coupled to a motor shaft to generate a rotational output. The impact mechanism includes a hammer connected to the motor shaft and an anvil configured to receive an impact from the hammer. The output driver includes a shaft coupled to the anvil and configured to rotate to perform a task. The target is disposed on the shaft. The position sensor includes an inductive sensor disposed proximate to the target, a first transmitter circuit trace, and a first receiver circuit trace. The inductive sensor is configured to inject a signal on the first transmitter circuit trace and detect a first output signal on the first receiver circuit trace. The controller is coupled to the position sensor and configured to receive from the position sensor a first position signal from the position sensor at a first time, receive a second position signal from the position sensor at a second time, calculate a drive angle of the anvil based on the first position signal and the second position signal, and control the brushless DC motor based on the drive angle of the anvil.

[0008] Before describing embodiments of the invention in detail, it is to be understood that the invention is not limited in its application to the details of construction and arrangements 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 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 limiting. The use of "including," "comprising," or "having" and variations thereof herein is intended 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 mounting, connection, or coupling, and indirect mounting, connection, or coupling. Furthermore, "connected" and "coupled" are not limited to physical or mechanical connections or couplings, but can also include electrical connections or couplings, whether direct or indirect.

[0009] It should be noted that the present invention may be implemented using a number of hardware and software-based devices and a number of different structural components. Furthermore, as explained below, the specific configurations shown in the figures are intended to illustrate embodiments of the present invention, and it is intended that other alternative configurations are possible. The terms "processor," "central processing unit," and "CPU" are used interchangeably unless otherwise noted. When the terms "processor," "central processing unit," or "CPU" are used to identify a unit that performs certain functions, it should be understood that, unless otherwise noted, these functions may be performed by a single processor or by multiple processors arranged in any configuration, including parallel, serial, tandem, or cloud processing / cloud computing configurations.

[0010] Other aspects of the various embodiments will become apparent by consideration of the detailed description and accompanying drawings. [Brief explanation of the drawings]

[0011] [Figure 1] 1 illustrates a communication system according to one embodiment of the present disclosure. [Figure 2] 1 shows a power tool for a communication system. [Figure 3A-3B] 1 shows a schematic diagram of a power tool. [Figure 4] 1 shows a mode pad of a power tool. [Figure 5] 1 shows a schematic diagram of a communication system including a power tool. [Figure 6-11] 1 shows an exemplary screenshot of a user interface of an external device of a communication system. [Figures 12A-12B] 1 illustrates an impact mechanism of an impact driver according to one embodiment. [Figures 13A-16B] 1 illustrates an exemplary operation of a hammer and anvil of an impact driver according to one embodiment. [Figure 17] 1 shows a flowchart of a first exemplary implementation for controlling a power tool. [Figure 18] 10 shows a flowchart of a second exemplary implementation for controlling a power tool. [Figure 19A] 1 shows an anvil position sensor for a power tool. [Figure 19B] 1 shows an anvil position sensor for a power tool. [Figure 20] 19B shows the output of the anvil position sensor of FIG. 19A as a function of anvil position. [Figures 21A-21C] 19C shows a body portion of a power tool for supporting the anvil position sensor of FIG. 19A or FIG. 19B. [Figures 22A-22B] 1 illustrates an embodiment of an anvil assembly including a target disposed on an anvil shaft and a magnetic shield disposed between the target and anvil lug. [Figures 23A-23B] 1 illustrates an embodiment of an anvil assembly having a shield-less design. [Figures 23C-23D] 1 illustrates an embodiment of an anvil assembly having a shielded design. [Figure 24A] 1 illustrates an embodiment of an anvil assembly with a longer tool length, an extended anvil, and a thicker shield. [Figures 24B-24C] 10 illustrates an embodiment of an anvil assembly with a longer tool length, an extended anvil, and a reduced outer diameter of the shield and target structure. [Figures 25A-25B] 1 illustrates an embodiment of an anvil assembly having a groove between the target and the anvil lug. [Figures 26A-26C] 10A-10C illustrate various embodiments of a target structure for the anvil assembly. [Figures 27A-27B] 1 illustrates one embodiment of an anvil assembly with an overmolded target and a pressed insert. [Figures 28A-28B] 1 illustrates one embodiment of an anvil assembly having individual or integrated components for a target. [Figure 29] 1 illustrates an embodiment of an anvil assembly having an air gap between the target and the anvil rotation sensor. [Figure 30A] 1 illustrates one embodiment of an anvil assembly having a press-fit design with a single detent to prevent sliding upon impact. [Figures 30B-30C] Anvils with reduced target outer diameter and increased lug height are shown. [Figure 31] 10 illustrates an embodiment of an anvil assembly with increased lug thickness to provide a gap size that minimizes hammer-induced interference. [Figure 32A-32B] 10 shows another embodiment of an anvil assembly with the shield removed and lug thickness increased to provide an air gap that minimizes the ability of the hammer to induce interference. [Figures 33A-33C] 10 illustrates an embodiment of a different lug shape for the anvil assembly. [Figure 34A-34B]10 illustrates an embodiment of an anvil assembly having a shield that shields the hammer from sensor detection. DETAILED DESCRIPTION OF THE INVENTION

[0012] FIG. 1 illustrates a communication system 100. The communication system 100 includes a power tool device 102 and an external device 108. Each power tool device 102 (e.g., a battery-powered impact driver 102a and a power tool battery pack 102b) and the external device 108 can wirelessly communicate while within communication range of each other. Each power tool device 102 can communicate power tool status, power tool operational statistics, power tool identification information, stored power tool usage information, power tool maintenance data, and the like. Thus, using the external device 108, a user can access stored power tool usage data or power tool maintenance data. This tool data allows a user to identify how the power tool device 102 has been used, whether maintenance is recommended or has been performed in the past, and identify malfunctioning components or other reasons for a particular performance issue. The external device 108 can also send data to the power tool device 102 for power tool configuration, firmware updates, or commands (e.g., turning on work lights). The external device 108 also allows the user to set operating parameters, safety parameters, select tool modes, etc. for the power tool device 102 .

[0013] The external device 108 may be, for example, a smartphone (as shown), a laptop computer, a tablet computer, a personal digital assistant (PDA), or another electronic device capable of wirelessly communicating with the power tool device 102 and providing a user interface. The external device 108 provides the user interface and allows the user to access and interact with tool information. The external device 108 can accept user input, such as determining operating parameters and enabling or disabling features. The user interface of the external device 108 provides a user-friendly interface for controlling and customizing the operation of the power tool.

[0014] The external device 108 includes a communication interface that corresponds to a wireless communication interface or module of the power tool apparatus 102. The communication interface of the external device 108 may include a wireless communication controller (e.g., a Bluetooth® module) or similar component. The external device 108 thus allows a user to access data related to the power tool apparatus 102 and provides a user interface that allows the user to interact with the controller of the power tool apparatus 102.

[0015] Additionally, as shown in FIG. 1 , the external device 108 can also share information obtained from the power tool apparatus 102 with a remote server 112 connected by a network 114. The remote server 112 may be used to store data obtained from the external device 108, to provide additional functionality and services to the user, or a combination thereof. In one embodiment, storing information on the remote server 112 allows users to access the information from multiple different locations. In another embodiment, the remote server 112 may collect information from various users regarding their power tool apparatuses and provide statistics or statistical measures to the users based on information obtained from different power tools. For example, the remote server 112 may provide statistics regarding the efficiency of the power tool apparatus 102, typical usage of the power tool apparatus 102, and other relevant characteristics and / or measures of the power tool apparatus 102 obtained from experience. The network 114 may include various networking elements (routers, hubs, switches, cellular towers, wired connections, wireless connections, etc.) for connecting to, for example, the Internet, a cellular data network, a local area network (LAN), a wide area network (WAN), or a combination thereof. In some embodiments, the power tool device 102 may be configured to communicate directly with the server 112 via an additional wireless communication interface or over the same wireless communication interface that the power tool device 102 uses to communicate with the external device 108.

[0016] The power tool device 102 is configured to perform one or more specific tasks (e.g., drilling, cutting, fastening, pressing, lubricating, sanding, heating, grinding, bending, shaping, impacting, polishing, lighting, etc.) For example, an impact wrench is associated with the task of generating a rotational output (e.g., to drive a bit).

[0017] FIG. 2 illustrates an impact driver 104, an example of a power tool arrangement 102. The impact driver 104 is representative of various types of power tools that may operate within the system 100. Therefore, the description of the impact driver 104 in the system 100 is equally applicable to other types of power tools, such as other power tools with impact mechanisms (e.g., impact wrenches and impacting angle drivers) and other suitable power tools. As shown in FIG. 2 , the impact driver 104 includes an upper body 202, a handle 204, a battery pack receiving portion 206, a mode pad 208, an output driver 210, a trigger 212, a work light 217, and a forward / reverse selector 219. The housing of the impact driver 104 (e.g., the body 202 and the handle 204) is constructed of a durable, lightweight plastic material. The driver 210 is constructed of metal (e.g., steel). The driver 210 of the impact driver 104 is a socket. However, other power tools may have different drivers 210 specifically designed for tasks associated with the other power tools. The battery pack receiving portion 206 is configured to receive and couple to a battery pack (e.g., 102b in FIG. 1) that provides power to the impact driver 104. The battery pack receiving portion 206 includes a connection structure that engages with a mechanism that secures the battery pack and a terminal block that electrically connects the battery pack to the impact driver 104. The mode pad 208 allows a user to select a mode for the impact driver 104 and displays the currently selected mode for the impact driver 104 to the user, as will be described in more detail below.

[0018] As shown in FIG. 3A , the impact driver 104 also includes a motor 214. The motor 214 activates the drive unit 210, enabling the drive unit 210 to perform a particular task. A primary power source (e.g., a battery pack) 215 is coupled to the impact driver 104 and provides power to energize the motor 214. The motor 214 is energized based on the position of the trigger 212. When the trigger 212 is depressed, the motor 214 is energized, and when the trigger 212 is released, the motor 214 is de-energized. In the illustrated embodiment, the trigger 212 extends downwardly partially relative to the length of the handle 204, but in other embodiments, the trigger 212 may extend downwardly the entire length of the handle 204 or may be located elsewhere on the impact driver 104. The trigger 212 is movably coupled to the handle 204 such that the trigger 212 moves relative to the tool housing. The trigger 212 is coupled to a push rod that is engageable with a trigger switch 213 (see FIG. 3A ). When the trigger 212 is depressed by a user, the trigger 212 moves in a first direction toward the handle 204. When the trigger 212 is released by the user, the trigger 212 is biased (e.g., by a spring) to move in a second direction away from the handle 204. When the trigger 212 is depressed by a user, a push rod activates the trigger switch 213, and when the trigger 212 is released by the user, the trigger switch 213 deactivates. In other embodiments, the trigger 212 is coupled to an electrical trigger switch 213. In such embodiments, the trigger switch 213 may include, for example, a transistor. Additionally, in such electrical trigger switch embodiments, the trigger 212 may not include a push rod that activates a mechanical switch. Rather, the electrical trigger switch 213 may be activated by, for example, a position sensor (e.g., a Hall Effect sensor) that relays information regarding the relative position of the trigger 212 with respect to the tool housing or the electrical trigger switch 213. The trigger switch 213 outputs a signal indicative of the position of the trigger 212. In some examples, the signal is binary and indicates whether the trigger 212 is either pressed or released.In other examples, the signal may more precisely indicate the position of the trigger 212. For example, the trigger switch 213 may output an analog signal that varies from 0 to 5 volts depending on how far the trigger 212 is depressed. For example, a 0V output indicates that the trigger 212 is released, a 1V output indicates that the trigger 212 is 20% depressed, a 2V output indicates that the trigger 212 is 40% depressed, a 3V output indicates that the trigger 212 is 60% depressed, a 4V output indicates that the trigger 212 is 80% depressed, and a 5V output indicates that the trigger 212 is 100% depressed. However, these are merely examples, and alternative thresholds (and alternative numbers of thresholds) may be used to provide various gradients of depression precision. The signal output by the trigger switch 213 may be analog or digital.

[0019] 3A , the impact driver 104 also includes a switching network 216, a sensor 218, an indicator 220, a battery pack interface 222, a power input unit 224, a controller 226, a wireless communication controller 250, and a backup power source 252. In some embodiments, the backup power source 252 includes a coin cell battery ( FIG. 4 ) or other similar replaceable compact power source. The battery pack interface 222 is coupled to the controller 226 and to the battery pack 215. The battery pack interface 222 is configured to interface (e.g., mechanically, electrically, and communicatively connect) the impact driver 104 with the battery pack 215 and includes a combination of operable mechanical components (e.g., the battery pack receptacle 206) and electrical components. The battery pack interface 222 is coupled to the power input unit 224. The battery pack interface 222 transmits power received from the battery pack 215 to the power input unit 224. The power input unit 224 includes active and / or passive components (e.g., voltage step-down controllers, voltage converters, rectifiers, filters, etc.) for regulating or controlling the power received via the battery pack interface 222 to the wireless communication controller 250 and the controller 226.

[0020] The switching network 216 allows the controller 226 to control the operation of the motor 214. Generally, when the trigger 212 is depressed, as indicated by the output of the trigger switch 213, current is supplied from the battery pack interface 222 to the motor 214 through the switching network 216. When the trigger 212 is not depressed, current is not supplied from the battery pack interface 222 to the motor 214.

[0021] In response to controller 226 receiving an activation signal from trigger switch 213, controller 226 activates switching network 216 to provide power to motor 214. Switching network 216 controls the amount of current available to motor 214, thereby controlling the speed and torque output of motor 214. Switching network 216 may include multiple field effect transistors (“FETs”), bipolar transistors, or other types of electrical switches. For example, switching network 216 may include a 6-FET bridge that receives a pulse width modulated (“PWM”) signal from controller 226 to drive motor 214.

[0022] The sensors 218 are coupled to the controller 226 and transmit various signals indicative of various parameters of the impact driver 104 or the motor 214 to the controller 226. The sensors 218 include one or more Hall sensors 218a, one or more current sensors 218b, and one or more anvil position sensors 218c, among other sensors, such as one or more voltage sensors, one or more temperature sensors, and one or more torque sensors. Each Hall sensor 218a outputs motor feedback information to the controller 226, such as an indication (e.g., a pulse) when a magnet in the motor's rotor rotates across the face of the Hall sensor. Based on the motor feedback information from the Hall sensors 218a, the controller 226 can determine the rotor's position, speed, and acceleration. In response to the motor feedback information and a signal from the trigger switch 213, the controller 226 sends a control signal to control the switching network 216 to drive the motor 214. For example, by selectively enabling and disabling FETs in switching network 216, power received from battery pack interface 222 is selectively applied to the stator coils of motor 214 to rotate its rotor. Motor feedback information is used by controller 226 to ensure proper timing of control signals to switching network 216 and, in some cases, to provide closed-loop feedback to control the speed of motor 214 at a desired level.

[0023] The indicator 220 is also coupled to the controller 226 and receives control signals from the controller 226 to turn power on or off or otherwise communicate information based on different states of the impact driver 104. The indicator 220 may include, for example, one or more light-emitting diodes (“LEDs”) or a display screen. The indicator 220 may be configured to display the state of the impact driver 104 or information associated with the impact driver 104. For example, the indicator 220 may be configured to display a measured electrical characteristic of the impact driver 104, the state of the impact driver 104, the mode of the power tool (e.g., as discussed below), etc. The impact driver 220 may also include elements that communicate information to the user through an audible or tactile output.

[0024] As described above, controller 226 is electrically and / or communicatively connected to the various modules or components of impact driver 104. In some embodiments, controller 226 comprises multiple electrical and electronic components that provide power, operational control, and protection to controller 226 and / or components and modules within impact driver 104. For example, controller 226 comprises, among other components, a processing unit 230 (e.g., a microprocessor, microcontroller, electronic processor, electronic controller, or another suitable programmable device), a memory 232, an input unit 234, and an output unit 236. Processing unit 230 (herein, electronic processor 230) comprises, among other components, a control unit 240, an arithmetic logic unit ("ALU") 242, and a plurality of registers 244 (shown in FIG. 3A as a group of registers). In some embodiments, controller 226 is partially or fully implemented on a semiconductor (e.g., a field programmable gate array ["FPGA"] semiconductor) chip, such as a chip developed through a register transfer level ("RTL") design process.

[0025] Memory 232 includes, for example, a program storage area and a data storage area. The program storage area and data storage area may include a combination of different types of memory, such as read-only memory (“ROM”), random-access memory (“RAM”) (e.g., dynamic RAM [“DRAM”], synchronous DRAM [“SDRAM”], etc.), electrically erasable programmable read-only memory (“EEPROM”), flash memory, a hard disk, a secure digital (“SD”) card, or other suitable magnetic, optical, physical, or electronic memory device. Electronic processor 230 is coupled to memory 232 and executes software instructions stored in memory 232 (e.g., RAM 232 during execution), ROM 232 (e.g., generally persistently), or another non-transitory computer-readable medium such as another memory or a disk). Software included in an implementation of impact driver 104 may be stored in memory 232 of controller 226 (e.g., in a program storage area). Software includes, for example, firmware, one or more applications, program data, filters, rules, one or more program modules, and other executable instructions. The controller 226 is configured to retrieve and execute instructions from memory, among other things, related to the control processes and methods described herein. The controller 226 is also configured to store power tool information in memory 232, including operational data, information identifying the tool type, a unique identifier for the particular tool, and other information related to the operation or maintenance of the impact driver 104. Tool usage information, such as current level, motor speed, motor acceleration, motor direction, number of impacts, etc., may be derived or inferred from data output by the sensors 218. Such power tool information may then be accessed by a user using the external device 108. In other configurations, the controller 226 includes additional, fewer, or different components.

[0026] The wireless communication controller 250 is coupled to the controller 226. In the illustrated embodiment, the wireless communication controller 250 is located near the bottom of the impact driver 104 (see FIG. 2 ) to conserve space and ensure that the magnetic activity of the motor 214 does not affect wireless communication between the impact driver 104 and the external device 108. As a specific example, in some embodiments, the wireless communication controller 250 is located below the mode pad 208.

[0027] 3B , wireless communication controller 250 includes a wireless transceiver and antenna 254, memory 256, an electronic processor 258, and a real-time clock (“RTC”) 260. Wireless transceiver and antenna 254 cooperate to send and receive wireless messages to and from external device 108 and electronic processor 258. Memory 256 can store instructions executed by electronic processor 258 and / or may store data related to communications between impact driver 104 and external device 108, etc. Electronic processor 258 of wireless communication controller 250 controls wireless communications between impact driver 104 and external device 108. For example, electronic processor 258 associated with wireless communication controller 250 buffers incoming and / or outgoing data, communicates with controller 226, and determines communication protocols and / or settings to use in wireless communications.

[0028] In the illustrated embodiment, the wireless communication controller 250 is a Bluetooth® controller. The Bluetooth® controller communicates with the external device 108 employing the Bluetooth® protocol. Thus, in the illustrated embodiment, the external device 108 and the impact driver 104 are within communication range (i.e., nearby) of each other when exchanging data. In other embodiments, the wireless communication controller 250 communicates using other protocols over different types of wireless networks (e.g., Wi-Fi®, cellular protocols, proprietary protocols, etc.). For example, the wireless communication controller 250 may be configured to communicate via Wi-Fi® over a WAN or LAN such as the Internet, or through a piconet (e.g., using infrared communication or near field communication (“NFC”)). Communications via the wireless communication controller 250 may be encrypted to protect data exchanged between the impact driver 104 and the external device / network 108 from third parties.

[0029] The wireless communication controller 250 is configured to receive data from the power tool controller 226 and relay that information to the external device 108 via the transceiver and antenna 254. Similarly, the wireless communication controller 250 is configured to receive information (e.g., configuration and programming information) from the external device 108 via the transceiver and antenna 254 and relay that information to the power tool controller 226.

[0030] The RTC 260 increments and maintains time independently of other power tool components. The RTC 260 receives power from the battery pack 215 when the battery pack 215 is connected to the impact driver 104 and from the backup power supply 252 when the battery pack 215 is not connected to the impact driver 104. Having the RTC 260 as an independently powered clock allows for time stamping of operating data (stored in memory 232 for later export) and security features whereby a lockout time can be set by the user and the tool will be locked out if the time on the RTC 260 exceeds the set lockout time.

[0031] The memory 232 stores various identification information for the impact driver 104, including a unique binary identifier (UBID), an American Standard Code for Information Interchange (ASCII) serial number, an ASCII nickname, and a decimal catalog number. The UBID uniquely identifies the tool type and provides a unique serial number for each impact driver 104. In some embodiments, additional or alternative techniques for uniquely identifying the impact driver 104 are used.

[0032] FIG. 4 shows a more detailed view of the mode pad 208. The mode pad 208 is located on the exterior surface of the impact driver 104 and is a user interface that allows the impact driver 104 to be switched between different operating modes. The mode pad 208 includes a mode selection switch 290 and a mode indicator LED block 292 having mode indicators 294a-e, each of which includes one of LEDs 296a-e (see FIG. 3A) and an associated one of display symbols 298a-e (e.g., "1," "2," "3," "4," and a radio wave symbol). When an LED 296 is enabled, the associated display symbol 298 is illuminated. For example, when LED 296a is enabled, the "1" (representing display symbol 298a) is illuminated.

[0033] The impact driver 104 has five selectable modes (mode 1, mode 2, mode 3, mode 4, and adaptive mode), with each mode associated with a different one of mode indicators 294a-e. The mode selection switch 290 is a push button that cycles through the five selectable modes with each depression (e.g., mode 1, mode 2, mode 3, mode 4, adaptive mode, mode 1, mode 2, etc.). The adaptive mode is represented by indicator symbol 298e (a radio wave symbol). In adaptive mode, a user can configure the impact driver 104 via the external device 108, as described in more detail below. In other embodiments, the impact driver 104 has more or fewer modes, and the mode selection switch 290 can be a different type of switch, such as a slide switch, a rotary switch, etc.

[0034] 5, modes 1, 2, 3, and 4 are each associated with a mode profile configuration data block ("mode profile") 300a-d, respectively, stored in a (mode) profile bank 302 of memory 232. Each mode profile 300 includes configuration data that defines the behavior of the tool 104 when activated by the user (e.g., after depressing the trigger 212). For example, a particular mode profile 300 may specify, among other operating characteristics, the speed of the motor, when to stop the motor, and the duration and intensity of the work light 217. The adaptive mode is associated with temporary mode profile 300e, which is also stored in memory 232. Also stored in memory 232 is tool operation data 304, which may include, for example, information regarding use of the impact driver 104 (e.g., obtained via sensors 218), information regarding maintenance of the impact driver 104, and power tool trigger event information (e.g., whether the trigger is depressed, when it is depressed, and how much it is depressed).

[0035] The external device 108 includes a memory 310 that stores core application software 312, a tool mode profile 314, temporary configuration data 316, a tool interface 318, and tool data 320 (e.g., tool operation data) including a received tool identifier (“ID”) 322 and received tool usage data 324. The external device 108 further includes an electronic processor 330, a touchscreen display 332, and an external wireless communication controller 334. The electronic processor 330 and memory 310 may be part of a controller having components similar to the controller 226 of the impact driver 104. The touchscreen display 332 enables the external device 108 to output visual data to a user and accept user touch input. Although not shown, the external device 108 may include additional user input devices (e.g., buttons, dials, toggle switches, and a microphone for voice control) and additional user outputs (e.g., a speaker and tactile feedback elements). Additionally, in some cases, the external device 108 has a display without touchscreen input capabilities and accepts user input via other input devices, such as buttons, dials, and toggle switches. The external device 108 communicates wirelessly with the wireless communication controller 250 via the external wireless communication controller 334, for example, using Bluetooth® or Wi-Fi® protocols. The external wireless communication controller 334 further communicates with the server 112 over the network 114. The external wireless communication controller 334 includes at least one transceiver that enables wireless communication between the external device 108 and the wireless communication controller 250 of the power tool 104 or the server 112 over the network 114.In some cases, the external wireless communication controller 334 includes two separate wireless communication controllers, one for communicating with the wireless communication controller 250 (e.g., using Bluetooth® or Wi-Fi® communication) and one for communicating over the network 114 (e.g., using Wi-Fi® or cellular communication).

[0036] The server 112 includes an electronic processor 340 that communicates with the external device 108 over the network 114 using a network interface 342. The communication link between the network interface 342, the network 114, and the external wireless communication controller 334 may include various wired and wireless communication paths, various network components, and various communication protocols. The server 112 further includes a memory 344 that includes a tool profile bank 346 and tool data 348.

[0037] Returning to the external device 108, the core application software 312 is executed by the electronic processor 330 to generate a graphical user interface (GUI) on the touchscreen display 332 to allow a user to interact with the impact driver 104 and the server 112. In some embodiments, a user can use the external device 108 to access a software application repository (e.g., an “app store” or “app marketplace”) to identify and download the core application software 312, which may be referred to as an “app.” In some embodiments, the tool mode profile 314, the tool interface 318, or both may be bundled with the core application software 312, such that, for example, downloading an “app” includes downloading the core application software 312, the tool mode profile 314, and the tool interface 318. In some embodiments, the app is obtained using other techniques, such as downloading it from a website using a web browser on the external device 108. As will become apparent from the description below, in at least some embodiments, the app on the external device 108 provides a user with a single entry point for controlling, accessing, and / or interacting with many different types of tools. This approach contrasts with, for example, having a unique app for each type of tool or for small groups of related types of tools.

[0038] FIG. 6 illustrates a “Nearby Devices” screen 350 of the GUI on the touchscreen display 332. The “Nearby Devices” screen 350 is used to identify and communicatively pair power tools 102 within wireless communication range of the external device 108 (e.g., power tools in a particular location). For example, in response to a user selecting a “Scan” input 352, the external wireless communication controller 334 scans the wireless radio communication spectrum used by the power tools 102 to identify any power tools 102 within wireless communication range that are advertising (e.g., broadcasting their UBID and other limited information). The identified advertising power tools 102 are then listed on the “Nearby Devices” screen 350. As shown in FIG. 6, in response to the scan, three advertising power tools 102 (advertising tools 354a-c) are listed in an identified tools list 356. In some embodiments, if the power tool 102 is already communicatively paired with a different external device, the power tool 102 is not advertising and therefore is not listed in the identified tool list 356, even if the power tool 102 is nearby (within wireless communication range) of the external device 108. The external device 108 is operable to pair with a tool 354 that is in a connectable state. The external device 108 provides a visual status indicator 358 in the identified tool list 356 as to whether the advertising tool 354 is in a connectable or advertising state. For example, the tool visual status indicator 358 may be displayed in one color when the tool is in a connectable state and in another color when the tool is not in a connectable state. The UBID received from the tools 354 is used by the external device 108 to identify the tool type of each tool 354, and each visual status indication 358 may include an icon or thumbnail image associated with the tool type (e.g., a thumbnail image of an impact driver with a Wi-Fi® icon overlaid, as shown for advertising tool 354a).

[0039] From the “Nearby Devices” screen 350, the user can select one of the tools 354 from an identified tool list 356 and communicatively pair with the selected tool 354. Each type of power tool 354 with which the external device 108 can communicate includes an associated tool graphical user interface (tool interface) stored within the tool interface 318. Once communicatively paired, the core application software 312 accesses the tool interface 318 (e.g., using the UBID) to obtain the applicable tool interface for the paired tool type. The touchscreen display 332 then presents the applicable tool interface. The tool interface includes a series of screens that allow the user to obtain tool operation data, configure the tool, or both. While some screens and options of the tool interface are common to multiple tool interfaces for different tool types, generally, each tool interface includes screens and options that are specific to the associated tool type. The impact driver 104 has limited space for user input buttons, triggers, switches, and dials. However, the external device 108 and touchscreen display 332 provide the user with the ability to map additional functionality and configurations onto the impact driver 104 to modify the operation of the impact driver 104. Thus, in effect, the external device 108 provides an enhanced user interface for the impact driver 104, providing for more advanced customization and configuration of the impact driver 104 than would otherwise be possible or desirable through physical user interface components on the tool. Examples are provided below that further illustrate aspects and benefits of the enhanced user interface.

[0040] 7 shows a tool interface home screen 370 when the power tool 104 is an impact driver. The home screen 370 includes an icon 371 for the particular paired power tool (e.g., impact driver 104), which may be the same as the thumbnail or icon 358 shown in the list 356 without the Wi-Fi icon overlaying it. The home screen 370 also includes a disconnect input 372 that allows the user to break the communicative pairing between the external device 108 and the paired impact driver 104. The home screen 370 further includes four selectable options: tool control 374, manage profiles 376, identify tool 378, and factory reset 379. Selecting tool identification 378 sends a command to the paired impact driver 104 requesting that the paired power tool 104 provide a user-perceptible indication, such as flashing the work light 217, the light of the indicator 220, the LED 296, an audible beep using the speaker of the indicator 220, and / or vibrating the tool using the motor 214. This allows the user to identify the particular tool that is communicating with the external device 108.

[0041] Selecting the tool control 374 displays a control screen of the tool interface, such as the control screen 380 of FIGS. 8A and 8B , including a top portion 380 a and a bottom portion 380 b. The control screen displayed generally depends on the particular type of profile. In other words, each type of mode profile generally has a particular control screen. Each control screen has particular customizable parameters that, when viewed collectively, form the mode profile. The particular control screen displayed on the external device 108 after selection of the tool control 374 is the currently selected mode profile of the impact driver 104 (e.g., one of the mode profiles 300 a-e). To this end, after selection of the tool control option 374, the external device 108 requests and receives from the impact driver 104 the currently selected mode profile of the mode profiles 300 a-e. The external device 108 recognizes the mode profile type of the selected mode profile of the mode profiles 300 a-e, generates a control screen appropriate for that mode profile type, and inputs various parameter settings according to the settings from the received mode profile 300.

[0042] When the impact driver 104 operates in adaptive mode, the currently selected mode profile displayed on the control screen 380 of the external device 108 is stored on the external device 108 as temporary mode profile 300e. Additionally, when the impact driver 104 is in adaptive mode, the impact driver 104 operates according to temporary mode profile 300e. The source of the profile data in temporary mode profile 300e (and what is displayed on control screen 380) changes. After initially entering adaptive mode via the mode selection switch 290, mode profile 300a (associated with mode 1) is copied to temporary mode profile 300e on the impact driver 104. Thus, after a user uses the mode selection switch 290 to cause the impact driver 104 to enter adaptive mode, the impact driver 104 operates as if mode 1 (mode profile 300a) is currently selected when the trigger is initially pulled. Additionally, when the control screen 380 displays a mode profile that has been saved as a temporary mode profile 300e, information related to the mode profile 300a that has just been copied to the temporary mode profile 300e (mode profile type and mode profile parameters) is shown on the control screen 380.

[0043] In some embodiments, when adaptive mode is first entered and provided to the external device 108 (as temporary mode profile 300e) for input into control screen 380, another mode profile 300 (e.g., 300b-d) is copied to temporary mode profile 300e. In yet other embodiments, the control screen 380 displayed upon selection of tool control 374 is a default control screen with default profile data for a particular type of tool, and the external device 108 does not initially obtain profile data from the impact driver 104. In these cases, the default mode profile is sent to the impact driver 104 and saved as temporary mode profile 300e.

[0044] Furthermore, assuming the impact driver 104 is in adaptive mode, after selecting the tool control 374, the user may select the source of a new profile for the temporary file after the external device 108 initially loads a control screen (e.g., control screen 380). For example, after selecting one of the mode profile buttons 400 (e.g., Mode 1, Mode 2, Mode 3, or Mode 4), the associated mode profile 300a-d is saved as temporary mode profile 300e, sent to the external device 108, and entered into the control screen (according to the mode profile type and mode profile parameters). Additionally, assuming the impact driver 104 is in adaptive mode, the user may select a mode profile type using the setup selector 401. After selecting the setup selector 401, a list of available profiles (profile list) 402 for the particular type of paired impact driver 104 is presented (e.g., see FIG. 9 ). The profile list 402 includes profiles 404 obtained from the tool profile 314 and / or from the tool profile bank 346 via the network 114. These listed profiles 404 can include default profiles (e.g., custom drive control profile 404a and concrete anchor profile 404b) and custom profiles previously created and saved by the user (e.g., drywall screw profile 404c and deck mode 404d), as described in more detail below. After selection of one of the tool profiles 404, the selected profile 404 and its default parameters are shown on the control screen 380 of the external device 108, and the profile 404 as currently set is sent to the impact driver 104 and saved as the temporary mode profile 300e. Thus, after another trigger pull, the impact driver 104 operates according to the selected one of the tool profiles 404.

[0045] When the adaptive mode is currently selected on the impact driver 104, as indicated by the illuminated indicator symbol 298e (FIG. 4), the user can configure the impact driver 104 (e.g., change some of the parameters of the temporary mode profile 300e) using the control screen 380. When the impact driver 104 is in one of the other four tool modes, as indicated by one of the indicator symbols 298a-d, the impact driver 104 is not currently configurable via the control screen 380. For example, FIG. 10 illustrates a control screen 381 when the power tool (e.g., the impact driver 104) is not currently in the adaptive mode. Here, the control screen 381 is similar to the control screen 380, but includes a message 382 indicating that the power tool (e.g., the impact driver 104) is not in the adaptive mode, and the radio symbol 384 is shown grayed out as a further indication that the power tool (e.g., the impact driver 104) is not in the adaptive mode. Thus, when the impact driver 104 is not in adaptive mode and the user selects one of the mode profile buttons 400, the impact driver 104 provides the mode profile 300 of the associated mode selected by the user, but does not overwrite the temporary mode profile 300e with the selected mode profile. Thus, the mode profile 300 of the impact driver 104 is not updated when the impact driver 104 is not in adaptive mode.

[0046] 8A and 8B, when the impact driver 104 is in adaptive mode and the user selects the tool control 374 on the home screen, the user can use the control screens of the tool interface to set profile data for the impact driver 104. For example, via control screen 380, the user can set the current profile data for the temporary mode profile 300e of the impact driver 104. As shown, the user can adjust the starting speed via speed text box 390 or speed slider 391, the finishing speed via speed text box 392 or speed slider 393, the required rotation or impact to reduce speed via slider 394, the work light duration using slider 395a, work light text box 395b, and "always on" toggle 395c, and the work light intensity via work light brightness option 396.

[0047] In some embodiments, the external device 108 and impact driver 104 enable live updates of the temporary mode profile 300e. When performing a live update, changes to parameters are made on the control screen 380 without requiring a subsequent save step or actuation by the user on the GUI of the external device 108 or on the power tool, thereby updating the temporary mode profile 300e on the impact driver 104. In other words, when performing a live update, the external device 108 updates the temporary mode profile 300e on the impact driver 104 in response to receiving user input that changes one of the parameters, rather than in response to user input that saves the temporary mode profile 300e. For example, with reference to FIG. 8A , the starting speed of the impact driver 104 is set to 2900 revolutions per minute (RPM). When performing a live update, if a user drags their finger across the speed slider 391 to slide it to the left and then releases their finger from the touchscreen display 332 of the external device 108 after reaching the new speed, the external device 108 sends the newly selected starting speed to the impact driver 104, updating the temporary mode profile 300e when the user's finger is released from the screen without requiring any further button presses or other actuations by the user. Live updates are also applicable to other parameters on the control screen 380, such as the rotation or impact required to reduce the speed and work light parameters. Live updates enable rapid customization of a power tool (e.g., the impact driver 104), allowing a user to quickly test and adjust various profile parameters with fewer key presses. In contrast to live updates, in some embodiments, after sliding the speed slider 391 to a new speed, the user must press a save button (e.g., save button 408 in FIG. 10) for the update of the starting speed parameter to take effect on the temporary mode profile 300e.

[0048] A user can also save a mode profile set via a control screen (e.g., control screen 380) to the impact driver 104. More specifically, a user can overwrite one of the mode profiles 300a-d in the profile bank 302 with the mode profile specified on the control screen. To save a mode profile created by a user via the control screen 308, the user selects the save button 408. As shown in FIG. 11 , pressing the save button causes the core application software to generate a save prompt 410, which prompts the user to name the created mode profile and to specify which of the mode profiles 300a-d the created mode profile will overwrite by selecting one of the mode labels 414. In response to user input (selecting one of the mode labels 414 and selecting the save button 412), the external device 108 sends the created mode profile to the impact driver 104. The electronic processor 230 receives the created mode profile and overwrites the mode profile 300 in the profile bank 302 specified by the user to overwrite with the created mode profile. 11 , the user names the generated mode profile “Deck Mode” and specifies that electronic processor 230 overwrites mode profile 300a (associated with mode “1”) with the generated “Deck Mode” mode profile. In some embodiments, the user can choose to overwrite more than one mode profile 300a-d with the generated mode profile by selecting multiple mode labels 414 before selecting the save button 412. In some embodiments, the user can choose not to overwrite any of mode profiles 300a-e with the generated mode profile by not selecting any of the mode labels 414 before selecting the save button 412.In such an embodiment, the generated mode profile is stored in the profile bank 346 on the server 112 rather than on the impact driver 104. Overwriting one profile (the old profile) with another profile (the new profile) may include, for example, erasing the old profile and replacing the old profile in memory with the new profile by storing the new profile in the location in memory where the old profile was stored, or may include storing the new profile in another location in memory and updating a profile pointer to point to the address in memory with the new profile instead of the address in memory with the old profile.

[0049] As mentioned above, in some embodiments, the external device 108 cannot overwrite data in the profile 300 unless the impact driver 104 is in adaptive mode (see FIG. 10 ). This aspect prevents potentially malicious individuals other than the user currently operating the impact driver 104 from adjusting the tool parameters of the impact driver 104 unless the user places the impact driver 104 in adaptive mode. Thus, the user of the impact driver 104 can prevent others from adjusting parameters by operating the impact driver 104 in one of the other four modes. In some embodiments, to implement this aspect, a hardware or firmware-based interlock prevents the electronic processor 230 from writing to the profile bank 302 unless the impact driver 104 is in adaptive mode. Furthermore, when the impact driver 104 is operating, the hardware or firmware-based interlock prevents the electronic processor 230 from writing to the profile bank 302. The electronic processor 230 may detect that the impact driver 104 is operating based on the depression of the trigger 212 or an output from a Hall sensor indicating that the motor is rotating. Thus, even when the impact driver 104 is in adaptive mode, if the impact driver 104 is currently operating, the electronic processor 230 does not update or write to the profile bank 302, even when the impact driver 104 is in adaptive mode and the external device 108 communicates a generated profile to the impact driver 104 (e.g., in response to a user selecting the save button 408).

[0050] Additionally, in some embodiments, the electronic processor 230 outputs a signal to the external device 108 via the wireless communication controller 250 indicating whether the impact driver 104 is currently operating. The external device 108 then provides an indication to the user by at least one of causing the wireless symbol 384 to change color (e.g., to red) or flash, and / or displaying a message when the impact driver 104 is currently operating. Additionally, if the external device 108 receives an indication that the impact driver 104 is currently operating, the ability to update parameters via the control screen is prevented, similar to control screen 381 of FIG. 10 .

[0051] Returning to FIG. 7, by selecting Reset to Factory Settings 379 on the home screen 370, the external device 108 retrieves the default mode profile from the tool mode profile 314 or from the tool profile bank 346 on the server 112 and provides the default profile to the impact driver 104, which then overwrites the profile bank 302 with the default mode profile.

[0052] The home screen 370 may have a similar look and feel for all, many, or some of the tool interfaces 318, although the icons 371 may be customized for a particular tool interface based on the particular power tool with which the external device 108 is paired. Additionally, the options listed below the icons may add a "Get Data" option, which allows the user to select and retrieve operational data from the tool for display on the external device 108 and / or send to the server 112 for storage as part of the tool data 348. Additionally, if a particular tool is not intended to be configured by the external device 108, the tool controls 374 and manage profiles 376 options may not be included on the home screen 370.

[0053] In some embodiments, the impact driver 104 is provided with an adaptive mode switch that is separate from the mode selector switch 290. For example, LED 296e (FIG. 3A) may be a combination LED-pushbutton switch such that after a first depression of the combination LED-pushbutton switch, the impact driver 104 enters adaptive mode, and after a second depression of the combination LED-pushbutton switch, the impact driver 104 returns to the mode the impact driver 104 was in before the first depression (e.g., mode 1). In this case, the mode selector switch 290 may cycle through modes 1-4, but not adaptive mode. Furthermore, a specific combination of pulling the trigger and / or placing the forward / reverse selector 219 in a specific position (e.g., the neutral position) can cause the impact driver 104 to enter or exit adaptive mode.

[0054] Returning to the concept of a mode profile (e.g., profile 300), mode profile 300 includes one or more parameters. For example, returning to Figures 8A and 8B, the mode profile shown is a concrete anchor profile, which has the following parameters: starting speed, finishing speed, rotation or impact required to slow down, and several work light parameters. The specific parameters available for customization on the control screen of external device 108 vary based on the mode profile type.

[0055] The control screen of the tool interface 318 places limits on the values ​​a user can enter for certain parameters. For example, in FIG. 8A , the start-up speed cannot be set above a first predefined threshold or below a second predefined threshold (e.g., it cannot be set below a maximum threshold of 2900 RPM or a minimum threshold of 360 RPM). The impact driver 104 further includes a limit check module, for example, in firmware stored in the memory 232 and executed by the electronic processor 230. When receiving a new profile from the external device 108 for storage in the profile bank 302, the limit check module verifies that each parameter of each function is within the maximum and minimum limit values ​​(or threshold ranges) or is otherwise a valid value for the particular parameter. For example, the limit check module verifies that the start-up speed set for a concrete anchor profile is within the range between the first and second predefined thresholds (e.g., 360 RPM to 2900 RPM). In some cases, the limit check module verifies that the parameter values ​​of the features in the power tool's current profile are within acceptable limits with each trigger pull. To perform limit checks, the firmware may include a list of each feature's parameters and applicable maximum and minimum thresholds (or limits), stored, for example, in a table, and the electronic processor 230 is operable to perform a comparison with the table data to determine whether the parameter values ​​are within acceptable limits. The limit check module provides an additional layer of security to protect against maliciously created or corrupted profiles, features, and parameter values.

[0056] After the limit check module determines that the parameter value is outside the acceptable range, the controller 226 is operable to output a warning message indicating the error to the external device 108 (which may be displayed textually on the touchscreen display 332), activate the indicator 220, activate one or more of the LEDs 296a-e, vibrate the motor, or any combination thereof.

[0057] Some control screens of the tool interface 318 are provided with a parameter support block. The parameter support block includes work factor inputs that allow a user to specify details about the workpiece on which the power tool will operate (e.g., material type, thickness, and / or hardness), details about the fastener to be driven by the power tool (e.g., material type, screw length, screw diameter, screw type, and / or screw head type), and / or details about the power tool's output unit (e.g., saw blade type, number of saw blade teeth, drill bit type, and / or drill bit length). For example, the concrete anchor profile control screen 380, as shown in FIGS. 8A and 8B, includes a parameter support block 805. The parameter support block 805 includes work factor inputs that allow a user to specify the anchor type (e.g., wedge or drop-in), anchor length, anchor diameter, and concrete strength (e.g., pounds per square inch (PSI)). For example, selecting the parameter assistance block 805 generates a parameter assistance screen on which the user can specify each of the work factor inputs by cycling through values ​​using the touchscreen display 332. After completing the work factor input entry, the external device 108 adjusts the profile parameters. For example, in FIGS. 8A and 8B , the start speed parameter, finish speed parameter, and rotation (or impact, in various embodiments) values ​​required to reduce the speed parameter are adjusted by the external device 108 based on the work factor inputs in the parameter assistance block 805. If desired, the user can further adjust some or all of the parameters (e.g., using sliders on the GUI shown in FIGS. 8A and 8B ). Different parameter assistance blocks may be provided for different profile types, with each parameter assistance block containing work factor inputs appropriate for the particular profile type. Additionally, one or more limit values ​​(or threshold values) of the parameters on the control screen 380 may be adjusted by the external device 108 based on the work factor inputs in the parameter assistance block 805.For example, the maximum speed selectable by the user for the start speed parameter may be adjusted based on the concrete strength input in parameter assistance block 805 .

[0058] As shown in FIG. 8A , the parameters for a concrete anchor profile include two user-adjustable parameters of the same parameter type (motor speed) that are applicable at different stages (or zones) of a single tool operation (fastening). For example, in a concrete anchor profile, the control screen 380 is operable to accept user selections specifying a starting motor speed during the start and drive stages of the fastening operation and a finishing speed during the final / finishing stage of the fastening operation. The controller 226 determines when different stages of the fastening operation occur and when transitions occur between different stages, as described in more detail below. In some embodiments, during various stages of the concrete anchor profile, the controller 226 drives the motor 214 at a user-selected speed regardless of the depression of the trigger 212, as long as the trigger 212 is at least partially depressed. In other words, according to various embodiments, the speed of the motor 214 does not change based on the depression of the trigger 212. In other embodiments, the user-selected speed in a concrete anchor profile is treated as a maximum speed value. Thus, in these embodiments, the speed of the motor 214 varies based on the depression of the trigger 212, but the controller 226 ensures that the motor 214 does not exceed the user-selected speed for the various stages.

[0059] The concrete anchor profile may be implemented in the impact driver 104 for use in masonry applications, such as when using the impact driver 104 to drive anchors into concrete. Use of the concrete anchor profile may improve repeatability between concrete anchors and reduce anchor failure due to overtorque or excessive driving speed (e.g., by detecting when the anchor enters the pour joint). Unlike some other driving applications, when driving into concrete, the impact driver 104 may begin impacting almost immediately. Therefore, whether the anchor is in the pour joint cannot be determined solely by detecting when the impact driver 104 begins impacting (i.e., because the impact driver 104 may be impacting throughout its operation). The concrete anchor profile allows the controller 226 to detect when the anchor enters the pour joint and, in response, reduce the motor speed to a finishing speed.

[0060] In particular, when operating with a concrete anchor profile, the controller 226 may initially control the motor 214 to operate at a starting speed set by the user. The controller 226 then monitors the rotational characteristics of the motor 214 to determine whether an impact is being applied by the impact driver 104, as described in more detail below. After the specific motor rotational characteristics are detected, the controller 226 controls the motor 214 to operate at a slower speed (i.e., a finishing speed). In some embodiments, the external device 108 limits the finishing speed to be less than the starting speed. For example, if the starting speed is set to 2000 RPM on the control screen 380a, the external device 108 may prevent the finishing speed from being set to a value greater than or equal to 2000 RPM.

[0061] The controller 226 adjusts the speed of the motor 214 based on an angle detection method that calculates an estimated position of the output driver 210. For example, the controller 226 detects an impact applied to the impact driver 104 based on, for example, a change in acceleration, an instantaneous current flow or change in current, impact sound using a microphone, or impact vibration detection using an accelerometer. The controller 226 may use an impact counter (e.g., implemented by software executing on the memory 232) that the controller 226 increments each time an impact is detected. In some embodiments, the controller 226 monitors the rotational position of the shaft of the motor 214 using one or more of the Hall sensors 218a, including the rotational position of the shaft when each impact occurs. In some embodiments, the controller 226 monitors the rotational position of the drive 210 using an anvil rotation sensor 218c.

[0062] FIGS. 12A and 12B illustrate an example impact mechanism 1200 of the impact driver 104. Based on the design of the impact mechanism 1200 of the impact driver 104, the motor 214 rotates at least a predetermined number of degrees between impacts (i.e., 180 degrees in the case of the impact mechanism 1200). The impact mechanism 1200 includes a hammer 1205 having an outwardly extending lug 1207 and an anvil 1210 having an outwardly extending lug 1215. The anvil 1210 is coupled to an output drive 210. In some embodiments, the output drive 210 includes a gearbox output for interfacing with a gearbox that drives a separate output shaft. While FIGS. 12A and 12B illustrate a helical bevel gearbox output, other types of gearbox outputs, such as a straight bevel or spiral bevel, may also be used. In some embodiments, the gearbox output is omitted, and the output drive 210 interfaces directly with the workpiece. For example, the output driver 210 may be a socket, chuck, or other suitable type of workpiece interface, as shown in FIG. 2 . In operation, an impact occurs when the anvil 1210 encounters a certain amount of resistance, such as when driving a fastener into a workpiece. If this resistance occurs, the hammer 1205 continues to rotate. A spring coupled to the back side of the hammer 1205 causes the hammer 1205 to retract axially and disengage from the anvil 1210. Once disengaged, the hammer 1205 advances both axially and rotationally to re-engage (i.e., impact) the anvil 1210. When the impact mechanism 1200 is operated, the hammer lugs 1207 impact the anvil lugs 1215 every 180 degrees. Thus, when the impact driver 104 impacts, the hammer 1205 rotates 180 degrees without the anvil 1210, impacts the anvil 1210, and then rotates some amount with the anvil 1210 before repeating the process.For more information about the function of impact mechanism 1200, see, for example, the impact mechanism discussed in U.S. Patent Application No. 14 / 210,812, filed March 14, 2014, which is incorporated herein by reference in its entirety. Although two hammer lugs 1207 are shown impacting the anvil lugs 1215 every 180 degrees, according to various embodiments, more than two hammer lugs 1207 can be used, resulting in different separation angles (e.g., three hammer lugs impacting the anvil lugs 1215 every 120 degrees).

[0063] The controller 226 can determine how much the hammer 1205 and anvil 1210 have rotated together by monitoring the angle of rotation of the motor 214 shaft between impacts using one or more of the Hall sensors 218a or by monitoring the anvil position using the anvil position sensor 218c. For example, if the impact driver 104 is driving an anchor into a softer driving joint, the hammer 1205 may rotate 225 degrees between impacts. In this 225-degree example, a 45-degree rotation involves the hammer 1205 and anvil 1210 engaging each other, and a 180-degree rotation involves the hammer 1205 rotating alone before the hammer lug 1207 again impacts the anvil 1210. FIGS. 13-16 illustrate this exemplary rotation of the hammer 1205 and anvil 1210 at different stages of operation.

[0064] 13A and 13B respectively show the rotational positions of the anvil 1210 and the hammer 1205 at a first time point (e.g., immediately after the hammer lugs 1207A, 1207B disengage from the lugs 1215 of the anvil 1210 (i.e., after impact and engagement rotation by both the hammer 1205 and the anvil 1210 have occurred)). FIG. 13A shows the first rotational anvil position of the anvil 1210 at the first time point. FIG. 13B shows the first rotational hammer position of the hammer 1205 at the first time point (e.g., when the hammer lugs 1207A, 1207B begin to retract axially from the anvil 1210). After the hammer 1205 retracts axially and disengages from the anvil 1210, the hammer 1205 continues to rotate (as indicated by the arrow in FIG. 13B ) while the anvil 1210 remains in the first rotational anvil position. 14A and 14B show the rotational positions of the anvil 1210 and hammer 1205, respectively, at a second time (e.g., the moment of first impact). As shown in FIG. 14A, the anvil 1210 remains in the first rotational anvil position at the second time. As shown in FIG. 14B, the hammer 1205 has rotated 180 degrees to the second rotational hammer position (as indicated by the arrow in FIG. 14B and the change in position of the hammer lugs 1207A and 1207B from FIG. 13B to FIG. 14B).

[0065] Upon impact between the hammer lugs 1207A and 1207B and the anvil lug 1215, the hammer 1205 and the anvil 1210 rotate together in the same rotational direction (as indicated by the arrows in FIGS. 15A and 15B ), which generates torque that is supplied to the output drive 210 to, for example, drive the anchor into concrete. FIGS. 15A and 15B respectively show the rotational positions of the anvil 1210 and hammer 1205 at a third time point (e.g., after the hammer 1205 has retracted axially and again disengaged from the anvil 1210). By way of example, in FIGS. 15A and 15B , at the third time point, the hammer 1205 is in a third rotary hammer position and the anvil 1210 is in a second rotary anvil position, approximately 45 degrees away from the first rotary anvil position, as indicated by drive angle 1505. Drive angle 1505 indicates the number of degrees that the anvil 1210 rotates between events (eg, between periods of no movement or between impacts), which corresponds to the number of degrees that the output driver 210 rotates between events.

[0066] As described above, after the hammer 1205 disengages from the anvil 1210, the hammer 1205 continues to rotate (as indicated by the arrow in FIG. 16B ) while the anvil 1210 remains in the same rotational position. FIGS. 16A and 16B respectively show the rotational positions of the anvil 1210 and the hammer 1205 at a fourth time point (e.g., when the second impact moment occurs). As shown in FIG. 16A , the anvil 1210 remains in the second rotational anvil position at the fourth time point. As shown in FIG. 16B , the hammer 1205 has rotated 180 degrees from the third rotary hammer position to the fourth rotary hammer position. Relative to FIG. 14B (i.e., at the first time point (e.g., when the first impact moment occurs)), the hammer 1205 has rotated 225 degrees (i.e., 45 degrees engaged with the anvil 1210 and 180 degrees disengaged from the anvil 1210 after the previous impact). Although specific degrees of rotation are used for illustrative purposes above, it should be understood that the specific degrees of rotation may vary.

[0067] As previously mentioned, the controller 226 may monitor when impacts occur and may monitor the position of the shaft of the motor 214. Using this information, the controller 226 can determine the drive angle 1505 experienced by the output drive 210 (i.e., the number of degrees the output drive 210 has rotated). For example, the controller 226 may detect when each impact occurs and record the rotational position of the shaft. The controller 226 can then determine the number of degrees the shaft has rotated between impacts. The controller 226 can calculate the drive angle 1505 experienced by the output drive 210 by subtracting 180 degrees from the number of degrees the shaft has rotated.

[0068] The calculated drive angle 1505 thus indicates the characteristics of the pour joint into which the anchor is being driven and can be used to control the motor 214. For example, the smaller the drive angle 1505, the harder the pour joint (i.e., a harder pour joint will result in less anchor rotation than a softer pour joint), and vice versa. Thus, a small drive angle (e.g., less than 10 degrees) may indicate that the anchor is seated and no longer needs to be driven into the concrete. Thus, if the drive angle 1505 is below a predetermined angle threshold (e.g., 10 degrees) for more than a predetermined number of impacts, the controller 226 may control the motor 214 to operate at a slower speed or may turn the motor 214 off.

[0069] As described above and shown in FIGS. 8A and 8B , in the GUI control screen 380, the concrete anchor profile includes a parameter assistance block 805 for accepting one or more of the anchor type (e.g., wedge or drop-in), anchor length, anchor diameter, and concrete strength (e.g., pounds per square inch (PSI)) from the user. The external device 108 adjusts the parameters of the concrete anchor profile (e.g., start-up speed, finish speed, number of revolutions or impacts required to slow down) in response to accepting the user input in the parameter assistance block 805. The external device 108 may adjust the parameters using a look-up table containing parameter values ​​corresponding to the user input in the parameter assistance block 805. If necessary, the user can further adjust each parameter (e.g., using sliders on the GUI shown in FIGS. 8A and 8B ) as described above. Additionally, the user can adjust the parameters of the work light in the control screen 380b as described above.

[0070] In some embodiments, the maximum starting speed (e.g., 2900 RPM) selectable by the user on control screen 380 of FIG. 8A is determined based on the ability of controller 226 to detect an impact. For example, at high speeds, the change in motor acceleration caused by an impact may not be appreciable, and controller 226 may not be able to detect that an impact is occurring. Thus, the maximum starting speed selectable by the user may be set low enough so that controller 226 can still detect an impact when the user selects the maximum starting speed displayed on control screen 380.

[0071] Further, in various embodiments, the finishing speed is not user adjustable. Rather, the finishing speed is set by the external device 108 based on the work factor input in the parameter assistance block 805. In addition, the external device 108 may determine a drive angle threshold parameter based on the user input in the parameter assistance block 805. If the drive angle is less than the drive angle threshold, the controller 226 can begin counting impacts, as described in more detail below. The impact driver 104 receives a concrete anchor profile including the specified parameters, for example, in response to a user save operation on the external device 108 as described above.

[0072] FIG. 17 shows a flowchart of a method 1700 for implementing a concrete anchor profile with an impact driver 104. In block 1702, the wireless communication controller 250 receives parameters for the concrete anchor profile from the external device 108. For example, the parameters are received as part of a concrete anchor profile configured and provided as described previously herein, for example, with respect to FIGS. 8A and 8B. In block 1705, the controller 226 determines that the trigger 212 is depressed and starts the motor 214 as described previously herein. In block 1710, the controller 226 sets the motor speed to a starting speed (i.e., a first speed) (or sets the motor speed according to the amount the trigger 212 is depressed with the maximum speed set as the starting speed as described previously herein). In block 1715, the controller 226 monitors motor characteristics to determine whether the impact driver 104 is applying an impact, as described previously herein. If the impact driver 104 is not impacting, the method 1700 remains at block 1715 and the controller 226 continues to monitor the motor characteristics to determine whether the impact driver 104 is impacting. That is, the method 1700 may loop at block 1715 until the impact tool is impacting. If the controller 226 determines that the impact driver 104 is impacting, then at block 1720, the controller 226 calculates the drive angle 1505 traversed by the output drive 210 as described earlier herein (e.g., by monitoring the rotational position of the shaft each time an impact is detected). For example, the controller 226 may calculate the drive angle 1505 by determining a first rotational motor shaft position of the motor shaft at the time of the first impact between the hammer 1205 and the anvil 1210 (see, e.g., the second rotational hammer position of the hammer 1205 in FIG. 14B ) and determining a second rotational motor shaft position of the motor shaft at the time of the second impact between the hammer 1205 and the anvil 1210 (see, e.g., the fourth rotational hammer position of the hammer 1205 in FIG. 16B ).The controller 226 may then determine a drive angle experienced by the output drive based on the first rotational motor shaft position and the second rotational motor shaft position of the motor shaft. For example, the controller 226 may determine the difference between the second rotational motor shaft position and the first rotational motor shaft position and subtract a predetermined angle. The predetermined angle may indicate the amount of rotation experienced by the hammer 1205 during a period of time (e.g., between impacts or between disengaging from the anvil 1210 and impacting the anvil 1210). For example, with reference to the impact mechanism 1200 shown in FIGS. 12A and 12B and described with respect to FIGS. 13A-16B, the predetermined angle may be 180 degrees. However, the amount of rotation subtracted between disengaging from the anvil and impacting the anvil (and thus the predetermined angle) will vary depending on the configuration of the impact mechanism, such as the number and location of the hammer and anvil lugs of a given impact mechanism. For example, if the hammer has four lugs, each 90 degrees apart, instead of two lugs 180 degrees apart, and operates with the anvil 1210, the hammer will undergo a 90 degree rotation between disengaging from the anvil and impacting the anvil, rather than a 180 degree rotation. In this example, the predetermined angle is 90 degrees. Various numbers of lugs can be used on the hammer and anvil, with two and four lugs on the hammer and two lugs on the anvil being used as examples only.

[0073] At block 1725, the controller 226 determines whether the drive angle 1505 is less than the drive angle threshold. If the drive angle 1505 is less than the drive angle threshold, then at block 1730, the controller 226 increments an impact counter (e.g., implemented by the controller 226 executing software stored in memory 232). At block 1735, the controller 226 determines whether the impact counter is equal to a number of impacts (the "impact counter threshold") set to indicate when the motor 214 should slow down. If the impact counter is not equal to the impact counter threshold, the method 1700 returns to block 1720 and continues calculating the drive angle 1505 between impacts. If the impact counter is equal to the impact counter threshold, the controller 226 sets the motor speed to the finish speed. Referring again to block 1725, if the drive angle 1505 is greater than or equal to the drive angle threshold, the method 1700 proceeds to block 1745. At block 1745, controller 226 resets the impact counter and then proceeds back to block 1720 to continue calculating the drive angle 1505 between impacts. In an alternative embodiment, block 1745 may not be executed such that the impact counter is not reset if controller 226 determines at block 1725 that drive angle 1505 is not less than the drive angle threshold. In such an embodiment, method 1700 remains at block 1725 until it is determined that drive angle 1505 is less than the drive angle threshold.

[0074] 17, in some embodiments, one or more of the blocks are performed in parallel, performed in a different order than that shown, or bypassed. In some embodiments, the impact driver 104 receives and stores a concrete anchor profile including parameters during tool manufacture (block 1702). In some embodiments, the parameters received in block 1702 during tool manufacture are received via a wired connection. Additionally, blocks 1725, 1730, 1735, 1740, and 1745 are examples of the controller 226 controlling the motor 214 based on the drive angle determined in block 1720.

[0075] 18 illustrates a flowchart of a method 1800 for implementing control of the impact driver 104. At block 1802, the wireless communication controller 250 receives parameters for a control profile from the external device 108. For example, at block 1802, the parameters are received as part of a concrete anchor profile configured and provided as described earlier herein, for example, in connection with FIGS. 8A and 8B. In some embodiments, the parameters include a total number of revolutions associated with transitioning from the motor starting speed to the motor finishing speed.

[0076] At block 1805, the controller 226 determines that the trigger 212 has been depressed and starts the motor 214, as described previously herein. At block 1810, the controller 226 sets the motor speed to a first speed (e.g., a starting speed) (or sets the motor speed depending on how much the trigger 212 is depressed, with the maximum speed set as the starting speed, as described previously herein). At block 1815, the controller 226 monitors motor characteristics to determine whether the impact driver 104 is applying an impact, as described previously herein. If the impact driver 104 is not applying an impact, the method 1800 remains at block 1815 and the controller 226 continues to monitor the motor characteristics to determine whether the impact driver 104 is applying an impact.

[0077] If the controller 226 determines that the impact driver 104 is applying an impact, then in block 1820, the controller 226 calculates the drive angle 1505 experienced by the output driver 210 as described previously herein (e.g., by monitoring the rotational position of the anvil each time an impact is detected). For example, the controller 226 may calculate the drive angle 1505 by determining a first rotational anvil position of the anvil at the time of a first impact between the hammer 1205 and the anvil 1210 (e.g., see the rotational position of the hammer 1205 in FIG. 14B ) and determining a second rotational anvil position of the anvil at the time of a second impact between the hammer 1205 and the anvil 1210 (e.g., see the rotational position of the hammer 1205 in FIG. 16B ). The controller 226 may then determine the drive angle experienced by the output driver based on the first rotational anvil position and the second rotational anvil position. For example, the controller 226 may determine the difference between the second rotary anvil position and the first rotary anvil position and subtract a predetermined angle. While a first rotary anvil position and a second rotary anvil position are used, a first hammer position and a second hammer position may be used instead, depending on various embodiments. The predetermined angle may indicate the amount of rotation the hammer 1205 undergoes between disengaging from the anvil 1210 and impacting the anvil 1210. For example, with reference to the impact mechanism 1200 shown in FIGS. 12A and 12B and described with respect to FIGS. 13A-16B, the predetermined angle may be 180 degrees. However, the amount of rotation that the hammer subtracts between disengaging from the anvil and impacting the anvil (and thus the predetermined angle) will vary depending on the configuration of the impact mechanism, such as the number and location of the hammer and anvil lugs of a given impact mechanism. For example, if the hammer includes four lugs, each 90 degrees apart, instead of two lugs spaced 180 degrees apart, and operates with the anvil 1210, the hammer will undergo a 90-degree rotation between disengaging from the anvil and impacting the anvil, rather than a 180-degree rotation. In this example, the predetermined angle is 90 degrees. As previously explained, the number of lugs is not limiting, and the specific values ​​are used merely as examples.

[0078] In block 1825, the controller 226 accumulates the drive angle to determine a revolution count, for example, measured from when the trigger was depressed. In block 1830, the controller 226 determines whether the revolution count is greater than a revolution threshold. For example, if the sum of the accumulated revolution count and the drive angle exceeds the revolution threshold, the condition of block 1830 is met. Either the revolution count or the revolution threshold, or both, may be integer values ​​or other values ​​(e.g., decimal values). If the revolution count does not exceed the revolution threshold, the method 1800 loops back to block 1820 to continue calculating the drive angle 1505 between impacts. If the revolution count exceeds the revolution threshold, the controller 226 sets the motor speed to a second speed (e.g., a finishing speed) in block 1835. In some embodiments, the finishing speed may be set to zero in the profile to implement stopping of the motor 214 when a predetermined number of revolutions has been met.

[0079] 18 , in some embodiments, one or more of the blocks are performed in parallel, performed in a different order than that shown, or bypassed. In some embodiments, the impact driver 104 receives and stores a control profile including parameters during tool manufacture (block 1802). In some embodiments, the parameters received in block 1802 during tool manufacture are received via a wired connection. Additionally, blocks 1825, 1830, and 1835 are examples of the controller 226 controlling the motor 214 based on the drive angle determined in block 1820.

[0080] In the example of Figure 18, the controller 226 uses the accumulated revolution count to determine when to reduce the motor speed to finishing speed. The use of revolution count may be employed in place of or in combination with the number of impacts below the drive angle threshold approach described in Figure 17. For example, in some embodiments, the controller 226 reduces the motor speed to finishing speed in response to the revolution count or in response to the drive angle threshold.

[0081] Methods 1700, 1800 may also be implemented for other fastening applications, for example, methods 1700, 1800 may be implemented in an impact driver or wrench used to drive screws or other fasteners into wood, drywall, or other substrates.

[0082] FIG. 19A illustrates an anvil position sensor 218c of the power tool 102. The anvil position sensor 218c includes a printed circuit board 1900 that supports or is associated with an inductive sensor 1905, a transmitter circuit trace 1910, a first receiver circuit trace 1915, and a second receiver circuit trace 1920. The inductive sensor 1905 injects a current into the transmitter circuit trace 1910, generating a magnetic field. As seen in FIG. 12, the anvil 1210 includes a lug 1215 that is engaged by a lug 1207 on the hammer 1205 to rotate the anvil 1210. As the anvil 1210 rotates, the lug 1215 passes through the magnetic field generated by the injection of a signal into the transmitter circuit trace 1910. Eddy currents are generated in the lug 1215 of the anvil 1210. The eddy currents generate a magnetic field, which passes through the receiver circuit traces 1915, 1920. The current induced in the receiving circuit traces 1915 , 1920 is used by the inductive sensor 1905 to determine the position of the anvil lug 1215 relative to the receiving circuit traces 1915 , 1920 .

[0083] In some embodiments, the receiver circuit traces 1915, 1920 are sinusoidal in shape but offset by 90° so that as the anvil 1210 rotates, the voltage on one of the receiver circuit traces 1915, 1920 is a sine wave and the voltage on the other receiver circuit trace 1915, 1920 is a cosine wave. The voltage outputs of the two receiver traces 1915, 1920 can then be used by the controller 226 to determine the position (e.g., angle of rotation) of the anvil 1210 relative to the receiver circuit traces. In some embodiments, the angle is calculated by the controller 226 using an arctangent function

number

[0084] Figure 20 shows the output of the anvil sensor of Figure 19A as a function of anvil rotation angle. In the embodiment shown in Figure 19A, the printed circuit board 1900 includes traces that span approximately 180° (e.g., about halfway around the circumference of the printed circuit board 1900). In other embodiments, the transmit and receive traces extend across substantially the entire surface of the printed circuit board 1900 (e.g., about 360° around the circumference of the printed circuit board 1900). In some embodiments, the length of the target (e.g., the anvil lug 1215) is about 20-50% of the periodic length of the receive circuit traces 1915, 1920.

[0085] In some embodiments, the anvil position sensor 218c includes a single receiver circuit trace 1915, as shown in FIG. 19B. Using a single receiver circuit trace 1915 reduces the footprint of the printed circuit board assembly (PCBA). In some embodiments, the controller 226 uses inverse trigonometric functions to determine the angle, but the output of the anvil position sensor 218c is non-linear. Using two receiver circuit traces 1915, 1920 increases robustness to air gaps and interference from adjacent components.

[0086] 21A-21C show a body portion 2100 of the power tool 102 positioned near the anvil 1210 to support the anvil position sensor 218c. The body portion 2100 includes a ring portion 2105 and a tray portion 2110 extending from the ring portion 2105. The ring portion 2105 defines a first recess 2115 for receiving the printed circuit board 1900 shown in FIGS. 19A and 19B, a thrust support surface 2120 of the anvil thrust support 2122, and an opening 2125. The drive device 210 extends through the opening 2125, and the thrust support surface engages the anvil 1210 during operation. The opening 2125 may provide clearance 2140. Wire routing 2150 may be provided on the outer diameter of the boat between the boat and the gear case inner diameter. The tray portion 2110 defines a second recess 2130 in which a hammer sensor 2160 may be mounted. As described above, the hammer sensor 2160 detects an impact between the hammer 1205 and the anvil 1210. For example, the hammer sensor 2160 may measure axial position, acceleration, sound, or vibration to detect the impact.

[0087] 17 and 18 , the angle measured by the anvil position sensor 218c is used to calculate the drive angle resulting from the impact between the hammer 1205 and the anvil 1210. The radial span of the circuit traces 1910, 1915, 1920 on the printed circuit board 1900 can vary depending on the configuration of the anvil 1210. For an anvil 1210 having two lugs 1215, the span can be approximately 180 degrees because the second lug 1215 enters the span covered by the circuit traces 1910, 1915, 1920 as the first lug 1215 moves away. Thus, the first lug 1215 interfaces with the anvil position sensor 218c during a first portion of the anvil 1210's rotational path, and the second lug 1215 interfaces with the anvil position sensor 218c during a second portion of the anvil 1210's rotational path. If there are more lugs 1215, a smaller span may be used for the anvil position sensor 218c.

[0088] 22A and 22B illustrate one embodiment of an anvil assembly 2200 including a target 2210 disposed on a shaft 2220 of the output driver 210 and a magnetic shield 2230 disposed between the target 2210 and the anvil lug 1215. The magnetic shield 2230 may have a magnetic permeability greater than that of air (e.g., 1.26×10 -6 In some embodiments, the magnetic shield 2230 is made of a material having a resistance greater than 1×10 -4 22C. In some embodiments, the magnetic shield 2230 is made of a material having a magnetic permeability greater than H / m. In some embodiments, the magnetic shield 2230 is made of carbon steel. In other embodiments, the magnetic shield 2230 is made of ferrite or other suitable magnetic material. In some embodiments, the target 2210 is a ring member that is attached to the shaft 2220, such as to a protrusion 2240 on the exterior of the shaft 2220. In some embodiments, the target 2210 is secured via an interference fit or via an adhesive. The target 2210 includes a target lug 2250 having a radial surface 2260 for interfacing with the anvil position sensor 218C.

[0089] 22A , the radial surface 2260 of the target lug 2250 is positioned adjacent to the anvil position sensor 218C. A magnetic shield 2230 magnetically shields the target lug 2250 from the anvil lug 1215 and hammer lugs 1207A, 1207B to reduce magnetic interference caused by the hammer lugs 1207A, 1207B being positioned close to the anvil lug 1215 during impact and rotation. The radial span of the circuit traces 1910, 1915, 1920 on the printed circuit board 1900 can vary depending on the configuration of the target 2210 and the target lugs 2250. For a target 2210 with two target lugs 2250, the span can be approximately 180 degrees, as the second target lug 2250 moves into the span covered by the circuit traces 1910, 1915, 1920 as the first target lug 2250 moves away. Thus, a first target lug 2250 interfaces with the anvil position sensor 218c during a first portion of the rotational path of the anvil 1210, and a second target lug 2250 interfaces with the anvil position sensor 218c during a second portion of the rotational path of the anvil 1210. If there are more target lugs 2250, a smaller span can be used for the anvil position sensor 218c. In other embodiments, a sensor span between 180 degrees and 360 degrees is used.

[0090] The anvil can be unshielded (no shield) or shielded (e.g., using 2230 in FIGS. 22A and 22B). The sensor output of an unshielded anvil may provide a less robust signal for determining position than a shielded anvil. For example, when the hammer is in a stationary position relative to the anvil, a shielded design provides a more robust signal (e.g., greater signal strength, greater signal-to-noise ratio, etc.) than an unshielded design. The sensor output is related to the position (in degrees) of the anvil. The shielded sensor output may be, for example, 99% accurate for ideal performance. In an unshielded design, as shown in FIG. 23A, the coil directly senses the lug 3102 or target on the anvil. The geometry of the coil 3104 is optimized for the involute shape of the lug, allowing the transmitter to extend beyond a 180-degree measurement range to allow the anvil lug to enter and exit the coil 3106.

[0091] In the shielded design, as shown in Figures 23C and 23D, the coil senses an additional target 3108 added to the anvil. The sine-cosine geometry of the standard coil is selected based on the dimensions and geometry of the conventional coil 3110 and target 3112, allowing for targets entering / exiting the coil without additional length.

[0092] With respect to additional different anvil embodiments, for example, three or more different categories of anvils may exist. For example, the first category may include two or more component designs with ideal targets. In such embodiments, the target and shield are added to the anvil as additional components. The advantage of the first category is that a unique process can be used for each component, reducing the mass of the anvil. For example, insert molding processes or stamping of thin-walled targets and shields can be used, thereby maintaining performance without inertia. However, wear between mating interfaces can be a challenge, especially when high vibration and inertial loads create repeated relative motion. In the first category, ideal geometries can be added to preserve lug performance, create an ideal target for the sensor, and provide a shield.

[0093] The second category may include a single-component design with an ideal target. Single-component designs are advantageous because the part can be made with fewer manufacturing processes and / or pressed. While the second category does not have the issue of wear between mating parts, inertial loads and complex cross-sectional thicknesses can make heat treatment difficult (e.g., cracking, excessive carburization, warping, etc.). Additionally, the anvil typically adds inertia, which can affect torque output. Additionally, there may be inertial loads from centrifugal forces during impact events. The second category may add ideal geometries to preserve lug performance, create an ideal target for the sensor, and provide shielding.

[0094] The third category can include a single-component design with direct lug measurement. A conventional anvil can be used without additional features (e.g., shielding). If the hammer causes unacceptable interference, inertia can be added by increasing the lug thickness and positioning the hammer farther from the sensor at impact. In some embodiments, the hammer is two to three times farther from the sensor than the lug itself. In the third category, nonlinear edges, such as in the case of involute lugs, produce nonlinear signals, which are addressed by firmware as described above. Straight lugs can also be used, achieving a linear signal when perpendicular to the axis of rotation.

[0095] Various embodiments of the three categories of anvils are described below. For example, as shown in FIG. 24A, an anvil assembly 3200 includes an increased tool length resulting from an increased length of the shaft 3201. The extended end 3202 of the anvil assembly 3200 extends the tool length due to a thickened shield 3204 that shields the anvil position sensor from the hammer. The presence of the shield 3204 minimizes the risk of over-carburization and the formation of a brittle core. The anvil assembly 3200 may include a larger radius in the transition region 3206 between the target portions 3208 to reduce stress and provide a uniform thickness to avoid cracking during the quenching process.

[0096] 24B and 24C, according to another embodiment, the anvil assembly 3300 may further increase the tool length (e.g., by increasing the length of one or more of the shaft 3301 and the anvil extension end 3302). In the illustrated embodiment, the outer diameter of the target structure 3304 is reduced. By reducing the size of the shield and target structure 3304, the effect of the inertia of the target structure 3304, which causes additional strain on the anvil, is reduced.

[0097] As shown in FIGS. 25A and 25B, the anvil assembly 3400 includes a groove 3402 between the target 3410 and the lug 3450 for the shield 3460 in a one-piece anvil design. The groove allows a formed ring, such as a spiral retaining ring, to be assembled and function as a shield. The formed ring shield is retained axially but not rotationally, preventing sudden centrifugal loads on the thin wall of the formed ring during an impact event. Additionally, the outer diameter of the anvil assembly 3400 can be reduced.

[0098] 26A-26C show three different designs 3500, 3600, and 3700 of shield / target structures 3502, 3602, and 3702, respectively. As shown in FIG. 26A, target 3502 may have a recess 3504 bounded by a plurality of curved protrusions 3506 (e.g., curved squares). However, other shapes may be used for the boundary, such as the recess boundary shape of target 3602 in FIG. 26B (e.g., curved diamonds). FIG. 26C shows an embodiment in which shield structure 3702 may be insert molded or potted in place within a stamped shield feature 3702.

[0099] 27A and 27B show an anvil assembly 3800 in which the target structure includes a plastic overmold 3802 with a stamped insert 3804 that slides over a shaft 3804 and is held in place with a snap ring 3812. FIG. 27B shows variations in the snap ring 3812 for mating the target, shield, and anvil. For example, as shown in FIG. 27B, a D-flat 3812A, a cycloid 3812B, a spline 3812C, a star 3812D, a hexagon 3812E, a decagon 3812F, or an involute can be used to secure the snap ring to the anvil.

[0100] 28A and 28B show that the target 3815 of the anvil assembly 3800 can be an individual component 3820 (FIG. 28A) or a one-piece piece 3825 (FIG. 28B) with retention features, thereby providing greater strength in retaining the angle.

[0101] 29 shows an anvil assembly 3800 having a shield, a target holder, a target, an anvil rotation sensor, a gap formed between the target and the anvil rotation sensor, and a shield distance relative to the anvil rotation sensor. In some embodiments, the shield distance is at least twice the gap.

[0102] FIG. 30A shows an anvil assembly 3900 including an anvil shield 3901. The anvil shield 3901 has a thickness of, for example, less than 2.5 mm. The anvil seed 3901 is press-fit onto the anvil 3902. The anvil shield 3901 has a single outer diameter relative to the targets 3903 and a space between the targets 3903. The anvil 3902 is provided with flat detents 3904 to prevent sliding upon impact. The detents 3904 can be made of aluminum or other low-mass yet conductive material. As shown in FIGS. 30B and 30C, the outer diameter 3903 (double arrow) of the target 3902 can be reduced, the shield 3901 can be eliminated, and the height of the lugs 3904 can be increased.

[0103] 30B and 30C show another anvil assembly 3950 including a target 3902 and anvil lug 3904. The anvil assembly 3950 has a reduced outer diameter 3903 of the target 3902. The anvil lug 3904 has an increased width to increase the distance between the hammer and the anvil rotation sensor. The embodiment of FIGS. 30B and 30C does not include a shield due to the increased width of the anvil lug 3904.

[0104] 31 shows an anvil assembly 4000 with an increased lug 4002 thickness to achieve a 2-3x distance from the hammer to the anvil rotation sensor compared to the distance from the target to the anvil rotation sensor, thereby minimizing the ability of the hammer to induce interference. This involute lug 4002 can be directly sensed by the anvil rotation sensor, but due to the edge of the target 4004 (which in this scenario is directly part of the lug 4002), the rate of change of coil coverage between incoming lug A and outgoing lug B is non-zero. This change in lug coverage rate creates a non-linear signal output, which can be corrected for in software as described above.

[0105] 32A and 32B show an unshielded anvil assembly 4100 that includes increased lug thickness to achieve a 2-3x distance distribution between the hammer and the anvil rotation sensor compared to the distance from the target to the anvil position sensor, thereby minimizing the hammer's ability to induce interference. However, the anvil assembly 4100 differs from the anvil assembly 4000 in that it uses a wedge shape for the target 4102, improving the linearity of the output sensor signal because the total coil coverage is constant. To produce a linear signal, the amount of target coverage over the coil is intended to be constant. The coil spans, for example, 180 degrees, with two target features 4102A and 4102B facing each other at 180 degrees. Because the edges of the target 4102 are straight, a 360-degree rotation from lug A to lug B results in zero percent change in coverage between entering and exiting the lug. This can be contrasted with an involute lug. Involute lugs have nonlinear lug edges that enter and exit the sensor, causing the coil's coverage by the target to change slightly as the lug enters and leaves the sensing zone, resulting in a nonlinear sensor signal. The vector formed by the edges of the target 4102 is perpendicular to the axis of rotation. In contrast to traditional square lug shapes with lug faces that are perpendicular, the vector does not intersect the axis of rotation, causing the target coverage on the sensor to change as it rotates.

[0106] FIGS. 33A-33C illustrate the effect of different anvil shapes on the output sensor signal. FIG. 33A illustrates a square lug anvil 4202. Because the lug shape is square, the rate of change of target / coil coverage is non-zero, which introduces non-linearity into the output sensor signal. FIG. 33B illustrates an involute lug 4204. An involute lug also introduces a non-zero rate of change of target / coil coverage, which introduces non-linearity into the output sensor signal. However, an involute lug introduces less non-linearity than a square lug. FIG. 33C illustrates a lug 4206 (e.g., lug 4100) that includes constant coverage of at least a portion of the sensor by the target. As discussed above, always having some coverage of the sensor by the target allows the change in sensor coverage with anvil rotation to remain zero.

[0107] 34A and 34B show another anvil 4000 with a target 4002 that provides a consistent geometry for the anvil rotation sensor to detect. Two targets 4002 provide 180-degree coverage. As one target exits, another target should enter range at the same speed. A shield 4004 shields the hammer from the anvil rotation sensor to avoid interference. As shown in FIG. 34B, the gap distance between the target and the anvil rotation sensor is sized so that the distance from the shield 4004 to the anvil rotation sensor is at least twice the distance from the target to the anvil rotation sensor. In some embodiments, the distance between the anvil rotation sensor and the shield is constant.

[0108] Some embodiments provide a method for detecting fastener seating and calculating the output rotation angle of the motor's output driver to modify the motor's drive parameters (i.e., speed) based on the calculated output rotation angle.

[0109] Some embodiments further provide a method for detecting the angular distance rotatably traveled by the shaft of the motor during impact with an impact driver or wrench to detect fastener seating and infer the output rotation angle of the motor's output driver for varying the drive parameters (i.e., speed) of the motor based on the calculated output rotation angle.

[0110] Some embodiments further provide a method for detecting the output rotation angle of the output driver of the motor, for modifying the drive parameters of the motor when a predetermined angle threshold is reached.

[0111] In some embodiments, the anvil is heat-treated (e.g., carburized). Carburizing the anvil improves its wear resistance and strength in harsh impact environments. Depending on the target and shield configuration, carburization may be performed. Geometry may be a useful solution, or thin-walled sections may be masked to avoid carbon absorption. Alternatively, thin-walled sections may be eliminated. This may also improve robustness against cracking. Induction hardening can achieve the desired hardness, but is complicated by uneven cross-sections (e.g., single-component anvil / shield / target designs). Carburizing creates an anvil case from all sides, eliminating the softer, ductile core, which can fracture under impact loads. To eliminate this risk, ensure that t > 2c and w > c, and / or apply a mask (such as a plating or temporary paste) to the surface to prevent surface carburization during heat treatment, where t is the width of the entire core, c is the width of the case layer, and w is the remainder of the entire core excluding the case layer.

[0112] Thus, the embodiments described herein provide, among other things, systems and methods for controlling a power tool with an impact mechanism based on a drive angle resulting from the application of an impact. Various features and advantages of the present invention are set forth in the following claims.

Claims

1. Housing and a brushless direct current (DC) motor within the housing, the DC motor including a rotor and a stator, the rotor coupled to a motor shaft to generate a rotational output; An impact mechanism, a hammer coupled to the motor shaft; an anvil including anvil lugs configured to receive impact from the hammer; the impact mechanism; an output drive including a shaft coupled to the anvil and configured to rotate to perform a task; A position sensor, an inductive sensor positioned adjacent to the anvil lug; a first transmit circuit trace; a first receiver circuit trace, the inductive sensor injecting a signal onto the first transmitter circuit trace and detecting a first output signal on the first receiver circuit trace to determine a position of the anvil; the position sensor; a controller connected to the position sensor, the controller configured to control the brushless DC motor based on the position of the anvil. Power tools.

2. The controller determining a first rotational position of the anvil after a first impact between the hammer and the anvil based on the first output signal; determining a second rotational position of the anvil after a second impact between the hammer and the anvil based on the first output signal; determining a drive angle to be received by the output driver based on the first rotational position and the second rotational position; further configured as follows: The power tool according to claim 1 .

3. To determine the drive angle received by the output driver based on the first rotational position and the second rotational position, the controller: determining a difference between the second rotational position and the first rotational position; subtracting a predetermined angle from the difference between the second rotational position and the first rotational position; determining the drive angle to be received by the output driver based on the difference between the second rotational position minus the predetermined angle and the first rotational position; It is configured as follows: The power tool according to claim 2.

4. The controller controlling the brushless DC motor based on the drive angle received by the output driver by adjusting a speed of the brushless DC motor based on the drive angle received by the output driver; It is configured as follows: The power tool according to claim 2.

5. The controller determining a revolution count by accumulating values ​​for calculated drive angles of the anvil that are below a drive angle threshold among a plurality of calculated drive angles of the anvil; decreasing a speed of the brushless DC motor in response to determining that the revolution count is greater than a revolution threshold. further configured as follows: The power tool according to claim 1 .

6. further comprising a transceiver coupled to the controller; the controller is configured to receive the rotation threshold wirelessly from an external device via the transceiver. The power tool according to claim 5.

7. The controller determining whether the anvil drive angle is less than a drive angle threshold; reducing a speed of the brushless DC motor in response to determining that the drive angle of the anvil is less than the drive angle threshold. further configured as follows: The power tool according to claim 1 .

8. The controller determining whether the anvil drive angle is less than a drive angle threshold; incrementing an impact counter for the detected impact in response to determining that the drive angle of the anvil is less than the drive angle threshold; determining whether the impact counter has reached an impact counter threshold; decreasing the speed of the brushless DC motor in response to determining that the impact counter has reached the impact counter threshold. further configured as follows: The power tool according to claim 1 .

9. further comprising a transceiver coupled to the controller; the controller is configured to wirelessly receive a finishing speed from an external device via the transceiver; the controller is configured to decrease the speed of the brushless DC motor from a first speed to the finishing speed in response to determining that the impact counter has reached the impact counter threshold. The power tool according to claim 8.

10. the position sensor further includes a second receiver circuit trace; The inductive sensor Detecting a second output signal on the second receiver circuit trace; determining the position of the anvil based on the first output signal and the second output signal; It is configured as follows: The power tool according to claim 1 .

11. a first anvil lug overlapping the first receiver circuit trace and the second receiver circuit trace during a first portion of the anvil rotational path; a second anvil lug overlapping the first receiver circuit trace and the second receiver circuit trace during a second portion of the rotational path of the anvil; The power tool according to claim 10.

12. 1. A method of controlling a power tool, comprising: driving a brushless direct current (DC) motor, the brushless DC motor including a rotor and a stator, the rotor coupled to a motor shaft to generate a rotational output; impacting an anvil lug of an anvil of the impact mechanism with a hammer of the impact mechanism coupled to the motor shaft to rotate an output drive device including a shaft coupled to the anvil; and sensing a position of the anvil with a position sensor positioned proximate to the anvil lug, wherein sensing the position of the anvil comprises: injecting a signal onto a first transmitter circuit trace of the position sensor; Detecting a first output signal on a first receiver circuit trace; determining the position of the anvil based on the first output signal; controlling the brushless DC motor based on the position of the anvil. method.

13. the position sensor includes a second receiver circuit trace; determining the position of the anvil includes determining the position of the anvil based on the first output signal and a second output signal on the second receiver circuit trace. The method of claim 12.

14. 13. The method of claim 12, wherein controlling the brushless DC motor based on the position of the anvil comprises decreasing a speed of the brushless DC motor based on a drive angle of the anvil.

15. controlling the brushless DC motor based on the position of the anvil determining a revolution count by accumulating values ​​for calculated drive angles below a drive angle threshold among the plurality of calculated drive angles; and decreasing a speed of the brushless DC motor in response to determining that the revolution count is greater than a revolution threshold. The method of claim 12.

16. controlling the brushless DC motor based on the position of the anvil determining whether the anvil drive angle is less than a drive angle threshold; incrementing an impact counter for an impact detected when the drive angle is less than the drive angle threshold; determining whether the impact counter has reached an impact counter threshold; and decreasing a speed of the brushless DC motor in response to determining that the impact counter has reached the impact counter threshold. The method of claim 12.

17. Housing and a brushless direct current (DC) motor within the housing, the DC motor including a rotor and a stator, the rotor coupled to a motor shaft to generate a rotational output; An impact mechanism, a hammer coupled to the motor shaft; an anvil including anvil lugs configured to receive impact from the hammer; the impact mechanism; an output drive including a shaft coupled to the anvil and configured to rotate to perform a task; A position sensor, an inductive sensor positioned adjacent to the anvil lug; a first transmit circuit trace; a first receiver circuit trace, the inductive sensor configured to inject a signal onto the first transmitter circuit trace and to detect a first output signal on the first receiver circuit trace; the position sensor; a controller connected to the position sensor, the controller comprising: receiving a first position signal from the position sensor at a first time; receiving a second position signal from the position sensor at a second time; determining a position of the anvil based on the first position signal and the second position signal; controlling the brushless DC motor based on the position of the anvil; It is configured as follows: Impact power tools.

18. the position sensor includes a second receiver circuit trace; The inductive sensor Detecting a second output signal on the second receiver circuit trace; determining the position of the anvil based on the first output signal and the second output signal; It is configured as follows:

18. The impact power tool of claim 17.

19. a first anvil lug overlapping the first receiver circuit trace and the second receiver circuit trace during a first portion of the anvil rotational path; a second anvil lug overlapping the first receiver circuit trace and the second receiver circuit trace during a second portion of the rotational path of the anvil; 19. The impact power tool of claim 18.

20. 18. The impact power tool of claim 17, wherein to control the brushless DC motor based on the position of the anvil, the controller is configured to decrease a speed of the brushless DC motor.

Citation Information

Patent Citations

  • Electric tool

    JP2013188850A

  • Power tools including output position sensors

    JP2019509182A

  • System and method for configuring a power tool with an impact mechanism

    US20170173768A1

  • Impact Tool Angular Velocity Measurement System

    US20190030696A1