The present invention relates to enabling communication with power tools and power tool devices.
In one embodiment, the invention provides an adapter for a power tool. The adapter includes a housing, a tool-side connector supported by the housing and configured to couple to a power tool or a charger, and a battery-side connector supported by the housing and configured to couple to a battery pack. The battery-side connector is in electrical communication with the tool-side connector. The adapter also includes a communication interface supported by the housing and configured to couple with an external device, and a controller. The communication interface is in electrical communication with the tool-side connector and the battery-side connector. The controller is supported by the housing and coupled to the tool-side connector, the battery-side connector, and the communication interface. The controller is configured to determine a state of the power tool. The state of the power tool is one of an active state in which an actuator of the power tool is in operation or an idle state during which the actuator is idle. The controller is also configured to operate in a data transmission mode, in which the adapter exchanges data between the external device and one of the power tool or the battery pack when the power tool is in the idle state, operate in a pass-through mode, in which the adapter transfers power from the battery pack to the power tool when the power tool is in the active state, and switch between the data transmission mode and the pass-through mode based on the state of the power tool.
In another embodiment, the invention provides a method of operating a power tool including an adapter. The adapter includes a tool-side connector configured to couple to the power tool, a battery-side connector configured to couple to a battery pack, and a communication interface configured to couple with an external device. The power tool is in one of an active state or an idle state. The method includes determining, by the adapter, whether the power tool is in the active state or the idle state, exchanging data between the external device and one of the power tool or the battery pack when the power tool is in the idle state, and transferring, by the tool-side connector and the battery-side connector, electrical power from the battery pack to the power tool when the power tool is in the active state. The method further includes switching between transferring electrical power and exchanging data based on the state of the power tool. During the active state, a motor of the power tool is in operation and during the idle state, the motor is idle.
In another embodiment, the invention provides an adapter for a power tool. The adapter includes a housing having a first side, a second side opposite the first side, and a sidewall connecting the first side and the second side. The sidewall is substantially perpendicular to the first side and the second side. The adapter also includes a tool-side connector supported by the housing and positioned on the first side of the housing. The tool-side connector is configured to couple to the power tool. The adapter further includes a latching mechanism supported by the housing, and positioned on the first side of the housing, a battery-side connector, and a port. The latching mechanism is configured to secure the adapter to the power tool. The battery-side connector is supported by the housing and positioned on the second side of the housing. The battery-side connector is configured to couple to a battery pack. The port is supported by the housing and positioned on the sidewall of the housing. The port is configured to couple with an external device.
Other aspects of the invention will become apparent by consideration of the detailed description and accompanying drawings.
Before any embodiments of the invention are explained in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the following drawings. The invention is capable of other embodiments and of being practiced or of being carried out in various ways. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limited. The use of “including,” “comprising” or “having” and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. The terms “mounted,” “connected” and “coupled” are used broadly and encompass both direct and indirect mounting, connecting and coupling. Further, “connected” and “coupled” are not restricted to physical or mechanical connections or couplings, and can include electrical connections or couplings, whether direct or indirect.
It should be noted that a plurality of hardware and software based devices, as well as a plurality of different structural components may be utilized to implement the invention. Furthermore, and as described in subsequent paragraphs, the specific configurations illustrated in the drawings are intended to exemplify embodiments of the invention and that other alternative configurations are possible. The terms “processor” “central processing unit” and “CPU” are interchangeable unless otherwise stated. Where the terms “processor” or “central processing unit” or “CPU” are used as identifying a unit performing specific functions, it should be understood that, unless otherwise stated, those functions can be carried out by a single processor, or multiple processors arranged in any form, including parallel processors, serial processors, tandem processors or cloud processing/cloud computing configurations.
Using the external device 800, a user can access stored power tool usage or power tool maintenance data. With this tool data, a user can determine how the power tool 200 has been used, whether maintenance is recommended or has been performed in the past, and identify malfunctioning components or other reasons for certain performance issues. The external device 800 also allows a user to set operational parameters, safety parameters, select tool modes, and the like for the power tool 200 or the battery pack 400.
The external device 800 may be, for example, a laptop computer, a tablet computer, a smartphone, a cellphone, or another electronic device capable of communicating with the adapter 600 and providing a user interface. The external device 800 includes a communication interface that is compatible with the adapter 600. The communication interface of the external device 800 may include a USB port, a micro USB port, another suitable power and/or data port, a wireless communication module (e.g., a Bluetooth® module), or a combination thereof. The external device 800, therefore, grants the user access to data related to the power tool 200, the battery pack 400, or another power tool device (e.g., a charger), and provides a user interface such that the user can interact with the controller of the power tool 200, the battery pack 400, or another power tool device.
In addition, as shown in
Although the power tool 200 illustrated and described herein is an impact wrench, embodiments of the invention similarly apply to and can be used in conjunction with a variety of power tools (e.g., a power drill, a hammer drill, a pipe cutter, a sander, a nailer, a grease gun, etc.). As shown in
The device receiving portion 206 is configured to receive and couple to the battery pack 400, the adapter 600, or another power tool device with a compatible connector. The device receiving portion 206 includes a device interface 222 (see
In the illustrated embodiment, the trigger 212 extends partially down a length of the handle 204; however, in other embodiments the trigger 212 extends down the entire length of the handle 204 or may be positioned elsewhere on the power tool 200. The trigger 212 is moveably coupled to the handle 204 such that the trigger 212 moves with respect to the tool housing. The trigger 212 is coupled to a push rod, which is engageable with a trigger switch 213 (see
As shown in
As shown in
The four male blade terminals 252a-d, include a power positive (“B+”) terminal 252a, a power negative (“B−”) terminal 252b, a first communication terminal 252c, and a second communication terminal 252d. The power positive terminal 252a and the power negative terminal 252b are configured to connect to power terminals on the battery pack 400 or on the adapter 600. The power tool 200 does not include an internal power supply for driving the motor 214 or powering the controller 226. Rather, the power tool 200 receives power through the power terminals 252a-b.
The first communication terminal 252c and the second communication terminal 252d exchange information with the battery pack 400, the adapter 600, or another connected power tool device. For example, the power tool 200 communicates to the battery pack 400 through the first communication terminal 252c and/or the second communication terminal 252d when the power tool 200 is ready to receive electrical power to energize the motor 214. The power tool 200 is also configured to determine certain characteristics of the battery pack 400 based on the signals exchanged over the first communication terminal 252c and/or the second communication terminal 252d. For example, the communication terminals 252c-d can be used by the battery pack 400 or the power tool 200 to identify the other of the battery pack 400 or the power tool 200. For example, the power tool 200 can identify the battery pack 400 as a high capacity battery pack or a normal capacity battery pack, as a lithium-based battery or a nickel-based battery, as a battery pack having a particular voltage, a higher resistance battery pack, a lower resistance battery pack, etc.
The battery pack 400 can also receive identification information from the power tool 200 through the first and/or second communication terminals 252c-d. For example, the battery pack 400 can identify the power tool 200 as a hammer drill, a drill/wrench, an impact wrench, a brushless power tool, a brushed power tool, a higher resistance power tool (e.g., capable of lower power output), a lower resistance power tool (e.g., capable of higher power output), etc.
The power tool 200 is also configured to exchange data with the adapter 600 through the first communication terminal 252c and the second communication terminal 252d. The power tool 200 can be queried for and export data or information regarding power tool usage, specific parameters utilized to monitor the power tool 200, specific modes stored within the power tool 200, and/or maintenance data regarding the power tool 200. The power tool 200 can also receive through the first and second communication terminals 252c-d new configuration and/or programming information from the adapter 600. For example, the adapter 600 may upload software implementing alternate algorithms to control operation of the motor 214, or algorithms for protecting different power tool circuitry.
The device interface 222 is coupled to the power input unit 224. The device interface 222 transmits the power received through the power terminals 252a-b to the power input unit 224. The power input unit 224 includes combinations of active and passive components to regulate or control the power received through the device interface 222 and to the controller 226. For instance, the power input 224 may receive 18V from the device interface 222 and output 5V to the controller 226. When the device interface 222 is connected to the battery pack 400, the power input unit 224 receives power directly from the battery pack 400. When the device interface 222 is connected to the adapter 600, the power input unit 224 receives power through the adapter 600. The adapter 600 may receive power from the battery pack 400 when the battery pack 400 is connected to the adapter 600 or from the external device 800 when the external device 800 is coupled to the adapter 600. In some situations, the adapter 600 may be coupled to both the battery pack 400 and the external device 800. In such situations, the adapter 600 may select whether to provide electrical power from the battery pack 400, the external device 800, or a combination thereof.
The controller 226 is also coupled to the trigger switch 213 to receive an activation signal from the trigger 212. In the illustrated embodiment, the trigger switch 213 is a push-button electrical switch positioned within the handle 204. The trigger switch 213 includes a push button and electrical contacts. When the push button is activated, such as by the push rod discussed above, the electrical contacts are in a CLOSED position. Generally, when the electrical contacts are in the CLOSED position, electrical current is supplied from the device interface 222 to the motor 214, via the switching network 216. When the push button is not activated, the electrical contacts are in the OPEN position. When the electrical contacts are in the OPEN position, electrical current is not supplied from the device interface 222 to the motor 214. Although the trigger switch 213 is illustrated as a push-button electrical switch with contacts, other types of electrical switches may be used in addition to or in place of the push-button electronic switch. For instance, the trigger switch 213 may include sensors to detect the amount of trigger pull (e.g., released, 20% pull, 50% pull, 75% pull, or fully depressed). In some embodiments, the amount of trigger pull detected by the trigger switch 213 is related to or corresponds to a desired speed of rotation of the motor 214. In other embodiments, the amount of trigger pull detected by the trigger switch 213 is related to or corresponds to a desired torque.
In response to the controller 226 receiving the activation signal from the trigger switch 213, the controller 226 activates the switching network 216 to provide power to the motor 214. The switching network 216 controls the amount of current available to the motor 214 and thereby controls the speed and torque output of the motor 214. The switching network 216 may include numerous FETs, bipolar transistors, or other types of electrical switches.
The sensors 218 are coupled to the controller 226 and communicate to the controller 226 various signals indicative of different parameters of the power tool 200 or the motor 214. The sensors 218 include, for example, one or more current sensors, one or more voltage sensors, one or more temperature sensors, one or more speed sensors, one or more Hall Effect sensors, etc. For example, the speed of the motor 214 can be determined using a plurality of Hall Effect sensors to sense the rotational position of the motor 214. In some embodiments, the controller 226 controls the switching network 216 in response to signals received from the sensors 218. For example, if the controller 226 determines that the speed of the motor 214 is increasing too rapidly based on information received from the sensors 218, the controller 226 may adapt or modify the active switches or switching sequence within the switching network 216 to reduce the speed of the motor 214.
The indicators 220 are also coupled to the controller 226 and receive control signals from the controller 226 to turn on and off or otherwise convey information based on different states of the power tool 200. The indicators 220 include, for example, one or more light-emitting diodes (“LED”), or a display screen. The indicators 220 can be configured to display conditions of, or information associated with, the power tool 200. For example, the indicators 220 are configured to indicate measured electrical characteristics of the power tool 200, the status of the power tool 200, etc. The indicators 220 may also include elements to convey information to a user through audible or tactile outputs.
As described above, the controller 226 is electrically and/or communicatively connected to a variety of modules or components of the power tool 200. In some embodiments, the controller 226 includes a plurality of electrical and electronic components that provide power, operational control, and protection to the components and modules within the controller 226 and/or power tool 200. For example, the controller 226 includes, among other things, a processing unit 230 (e.g., a microprocessor, a microcontroller, or another suitable programmable device), a memory 232, input units 234, and output units 236. The processing unit 230 includes, among other things, a control unit 240, an arithmetic logic unit (“ALU”) 242, and a plurality of registers 244 (shown as a group of registers in
The memory 232 includes, for example, a program storage area and a data storage area. The program storage area and the data storage area can include combinations of different types of memory, such as 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, an SD card, or other suitable magnetic, optical, physical, or electronic memory devices. The processing unit 230 is connected to the memory 232 and executes software instructions that are capable of being stored in a RAM of the memory 232 (e.g., during execution), a ROM of the memory 232 (e.g., on a generally permanent basis), or another non-transitory computer readable medium such as another memory or a disc. Software included in the implementation of the power tool 200 can be stored in the memory 232 of the controller 226. The software includes, for example, firmware, one or more applications, program data, filters, rules, one or more program modules, and other executable instructions. The controller 226 is configured to retrieve from memory and execute, among other things, instructions related to the control processes and methods described herein. The controller 226 is also configured to store power tool information on the memory 232. The controller 226 also stores on the memory 232 information regarding the usage of the power tool 200, information regarding the maintenance of the power tool 200, power tool trigger event information, and other information relevant to operating or maintaining the power tool 200. Such power tool information may then be accessed by a user with the external device 800 through the adapter 600. In other constructions, the controller 226 includes additional, fewer, or different components.
At a given point in time, the power tool 200 may be in an active state or an idle state. The idle state refers to a state of the power tool 200 during which the power tool 200 is not performing the task associated with the power tool 200. In contrast, the active state refers to when the power tool 200 is actively performing the associated task.
The state of the power tool 200 can be determined in different ways. For example, in some embodiments, the state of the power tool 200 is determined based on the position of the trigger 212. In such embodiments, the power tool 200 is determined to be in the active state when the trigger 212 is depressed. The power tool 200 is determined to be in the idle state when the trigger 212 is not depressed by the user.
In other embodiments, the state of the power tool can be determined based on the output signals from the sensors 218. In such embodiments, the power tool 200 is determined to be in the active state when the sensors 218 indicate that the motor 214 is in motion (i.e., the motor 214 is energized). The power tool 200 is determined to be in the idle state when the sensors 218 indicate that the motor 214 is stationary (i.e., the motor 214 is not energized). Additionally, or alternatively, the state of the power tool 200 can be determined based on the state of the electrical switches in the switching network 216 or from the output signals from the controller 226 to the switching network 216. When the switches in the switching network 216 are off or inactive, the state of the power tool 200 is determined to be idle. When the switches in the switching network 216 are on or active, the state of the power tool 200 is determined to be active. The state of the power tool can also be determined in other ways not explicitly described above. Additionally, the state of the power tool can also be determined by a combination or combinations of the techniques described above and those not explicitly described above.
The battery pack 400 is connectable to and supportable by the power tool 200 and the adapter 600. As shown in
The battery pack 400 is removably and interchangeably connected to the power tool 200, the adapter 600, and other power tool devices through the coupling mechanism 408. The coupling mechanism 408 includes a pair of actuators 414 and a pair of tabs 416. One of the actuators 414 and one of the tabs 416 are shown in
The illustrated battery pack 400 includes ten battery cells 404. In other embodiments, the battery pack 400 can have more or fewer battery cells 404. The battery cells 404 can be arranged in series, parallel, or a series-parallel combination. For example, in the illustrated embodiment, the battery pack 400 includes a total of ten battery cells 404 configured in a series-parallel arrangement of two sets of five series-connected cells 404. The series-parallel combination of battery cells 404 allows for an increased voltage and an increased capacity of the battery pack 400. In some embodiments, the battery pack 400 includes a single set of five series-connected battery cells 404. In other embodiments, the battery pack 400 includes a different number of battery cells 404 (e.g., between 3 and 12 battery cells) connected in series, parallel, or a series-parallel combination in order to produce a battery pack 400 having a desired combination of nominal battery pack voltage and battery capacity.
In the illustrated embodiment, the battery cells 404 are lithium-based battery cells having a chemistry of, for example, lithium-cobalt (“Li—Co”), lithium-manganese (“Li—Mn”), or Li—Mn spinel. In some embodiments, the battery cells 404 have other suitable lithium or lithium-based chemistries, such as a lithium-based chemistry that includes manganese, etc. The battery cells 404 within the battery pack 400 provide operational power (e.g., voltage and current) to the power tool 200. In one embodiment, each battery cell 404 has a nominal voltage of approximately 3.6V, such that the battery pack 400 has a nominal voltage of approximately 18V. In other embodiments, the battery cells 404 have different nominal voltages, such as, for example, between 3.6V and 4.2V, and the battery pack 400 has a different nominal voltage, such as, for example, 10.8V, 12V, 14.4V, 24V, 28V, 36V, between 10.8V and 36V, etc. The battery cells 404 also have a capacity of, for example, approximately between 1.0 ampere-hours (“Ah”) and 5.0 Ah. In exemplary embodiments, the battery cells 404 have capacities of approximately, 1.5 Ah, 2.4 Ah, 3.0 Ah, 4.0 Ah, between 1.5 Ah and 5.0 Ah, etc. The battery cells 404 are also arranged to provide an efficient use of space and to maintain a relatively small pack size.
As shown in
The fuel gauge 422 provides visible indications to the user regarding the state of charge of the battery cells 404. The fuel gauge 422 includes, for example, one or more indicators, such as light-emitting diodes (“LEDs”). The fuel gauge 422 is coupled to and controlled by the controller 420 to display conditions of, or information associated with, the state-of-charge of the battery cells 404. The fuel gauge 422 may include a pushbutton 427. The controller 420 detects depression of the pushbutton 427 and, in response, causes the fuel gauge 422 to display the state of charge information for a predetermined period of time.
The electrical power provided by the battery pack 400 is controlled, monitored, and regulated using control electronics within the power tool 200 and within the battery pack 400 as illustrated in the electromechanical diagrams of
As discussed above, the battery cells 404 are coupled to the controller 420 and to the charge/discharge module 426. The battery cells 404 generate electrical power provided to the power tool 200, the adapter 600, or another power tool device. The charge/discharge control module 426 includes, for example, one or more switches (e.g., FETs) for controlling the charging current to and discharge current from the battery cells 404.
The power interface 424 is coupled to the controller 420 and to the charge/discharge control module 426. The power interface 424 communicates with the controller 420 and receives electrical power from the charge/discharge control module 426. The power interface 424 includes a contact block 410 having a plurality of contacts 412a-e as shown in
The battery pack 400 is removably and interchangeably connected to the power tool 200, the adapter 600, or another power tool device to provide operational power (i.e., voltage and current) to the power tool 200, the adapter 600, or the other power tool device through the contacts 412a-e. The contacts 412a-e are in electrical communication with the terminals 252a-d of the power tool 200 when the battery pack 400 is directly or indirectly (e.g., via the adapter 600) coupled to the power tool 200. When the battery pack 400 is coupled directly to the power tool 200, the battery pack contacts 412a-e mate directly with the terminals 252a-d. When the battery pack 400 is coupled to the power tool 200 through the adapter 600, the contacts 412a-e mate with the adapter 600, which provides electrical communication between the contacts 412a-e of the battery pack 400 and the terminals 252a-d of the power tool 200.
The five contacts 412a-e include a positive power (“B+”) contact 412a, a negative power (“B−”) contact 412b, and three communication contacts 412c-e. The positive power contact 412a and the negative power contact 412b are configured to connect to the power terminals 252a,b, respectively, on the power tool 200 to provide operational power (i.e., voltage and current) to the power tool 200. The power contacts 412a-b are also configured to couple to power terminals on the adapter 600 as will be discussed below. The battery pack 400 communicates with the power tool 200, the adapter 600, or another power tool device through at least two of the communication contacts 412c-e. The two communication terminals 252c-d of the power tool 200 align with two of the three communication contacts 412c-e of the battery pack 400 to enable communication between the devices. The third contact of the communication contacts 412c-e is unmated and not used in this instance, but may be used in connection with other power tools and devices. The battery pack 400 communicates with the power tool 200 to determine when the power tool 200 is ready to receive electrical power and to communicate to the power tool 200 when the battery pack 400 is ready to provide electrical power to the power tool 200. The battery pack 400 is also configured to exchange data with the adapter 600 through at least two of the communication contacts 412c-e.
The sensors 428 include, for example, one or more current sensors, one or more voltage sensors, one or more temperature sensors, etc. The controller 420 uses the sensors 428 to monitor operation of the battery pack 400. The controller 420 also includes a variety of preset or calculated fault condition values related to temperatures, currents, voltages, etc., associated with the operation of the power tool 200. For example, the controller 420 uses the sensors 428 to monitor an individual state of charge of each of the battery cells 404, monitor a current being discharged from the battery cells 404, monitor the temperature of one or more of the battery cells 404, etc., for fault condition interrupts. If the voltage of one of the battery cells 404 is equal to or above an upper voltage limit (e.g., a maximum charging voltage), the charge/discharge control module 426 prevents the battery cells 404 from being further charged or requests that a battery charger (not shown) provide a constant voltage charging scheme. Alternatively, if one of the battery cells 404 falls below a low-voltage limit, the charge/discharge control module 426 may prevent the battery cells 404 from being further discharged. Similarly, if an upper or lower operational temperature limit for the battery cells 404 of the battery pack 400 is reached, the controller 420 can control the charge/discharge module 426 to prevent further charging or discharging until the temperature of the battery cells 404 or the battery pack 400 is within an acceptable temperature range.
The controller 420 is electrically and/or communicatively connected to a variety of modules or components of the battery pack 400. For example, the illustrated controller 420 is connected to the fuel gauge 422, the sensors 428, the power interface 424, the battery cells 404, and the charge/discharge control module 426 (optional within battery pack 400). The controller 420 includes combinations of hardware and software that are operable to, among other things, control the operation of the battery pack 400, activate the fuel gauge 422 (e.g., including one or more LEDs), monitor the operation of the battery pack 400, etc.
In some embodiments, the controller 420 includes a plurality of electrical and electronic components that provide power, operational control, and protection to the components and modules within the controller 420 and/or battery pack 400. For example, the controller 420 includes, among other things, a processing unit 430 (e.g., a microprocessor, a microcontroller, or another suitable programmable device), a memory 432, input units 434, and output units 436. The processing unit 430 includes, among other things, a control unit 440, an arithmetic logic unit (“ALU”) 442, and a plurality of registers 444 (shown as a group of registers in
The memory 432 includes, for example, a program storage area and a data storage area. The program storage area and the data storage area can include combinations of different types of memory, such as 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, an SD card, or other suitable magnetic, optical, physical, or electronic memory devices. The processing unit 430 is connected to the memory 432 and executes software instructions that are capable of being stored in a RAM of the memory 432 (e.g., during execution), a ROM of the memory 432 (e.g., on a generally permanent basis), or another non-transitory computer readable medium such as another memory or a disc. Software included in the implementation of the battery pack 400 can be stored in the memory 432 of the controller 420. The software includes, for example, firmware, one or more applications, program data, filters, rules, one or more program modules, and other executable instructions. The controller 420 is configured to retrieve from the memory 432 and execute, among other things, instructions related to the control of the battery pack 400 described herein. The controller 420 can also store on the memory 432 various battery pack parameters and characteristics (including battery pack nominal voltage, chemistry, battery cell characteristics, maximum allowed discharge current, maximum allowed temperature, etc.).
The battery pack 400 is also configured to store other information related to the operation of the battery pack 400 in the memory 432. For example, the controller 420 may obtain and store information regarding the number of charge and discharge cycles, the discharge time, the type of power tools the battery pack 400 is coupled to, the average temperature, the temperature as the state-of-charge of the battery cells 404 decrease, and other such relevant information. This information may then be transmitted or shared with the external device 800 through the adapter 600. In other constructions, the controller 420 includes additional, fewer, or different components.
The battery pack 400 is also configured to couple to a battery pack charger (not shown). The battery pack 400 utilizes one of the communication contacts 412e to receive charging current from the charger. In other words, charging current is delivered to the battery pack 400 on the negative power contact 412b and the third communication contact 412e. The battery pack 400 also communicates information regarding charging schemes, charging status, and the like to the charger through the three communication contacts 412c-e. Although the battery pack 400 is described as including five contacts 412a-e, in other embodiments, the battery pack 400 may include more or less contacts. The battery pack 400, however, includes at least a positive power contact, a negative power contact, and at least one communication contact.
As explained above with respect to the power tool 200, the battery pack 400 is configured to communicate different information to the power tool 200, the adapter 600, or another power tool device. For example, the battery pack 400 may communicate certain characteristics of the battery pack 400 to the power tool 200, the adapter 600, or another power tool device through communication contacts 412c-e and corresponding structure (e.g., communication terminals 252c-d) on the power tool 200, the adapter 600, or another power tool device. For example, the battery pack 400 and the power tool 200 may exchange identification signals to identify to one another the type of power tool 200 or the type of battery pack 400. In some embodiments, the battery pack 400 may also send an identification signal to the adapter 600 to identify the battery pack to the adapter 600. Other information can also be exchanged through the communication contacts 412c-e of the battery pack 400 such as, for example, battery pack capacity, battery pack voltage, battery pack chemistry, discharge and charging algorithms stored in the battery pack 400 (i.e., in the memory 432 of the battery pack), thresholds monitored by the controller 420 of the battery pack 400, discharge and charge history for the battery pack 400, and other relevant information for the battery pack 400. The battery pack 400 uses the communication contacts 412c-e to export and import such information from the external device 800 through the adapter 600. The battery pack 400 may also share some, or all, of this information with the power tool 200 or with a battery pack charger.
When coupled to the power tool 200, the adapter 600, or another power tool device, the battery pack 400 substantially encloses and covers corresponding terminals (e.g., the terminals 252a-d) on the power tool 200, the adapter, and other power tool devices. That is, the battery pack 400 functions as a cover for the terminals 252a-d of the power tool 200 and the connecting portion of the adapter 600.
As shown in
The tool-side receiving portion 606 includes a tool-side connector 622 (see
The tool-side connector 622 (see
In the illustrated embodiment, the tool-side connector 622 also includes a raised bar 630. The raised bar 630 physically inhibits the adapter 600 from coupling to power tools 200 that are incompatible with the adapter 600. For example, in some embodiments, high-power power tools may not couple with the adapter 600 and thereby, not exchange information with the external device 800. In other embodiments, power tools 200 may be incompatible with the adapter 600 for other reasons such as, for example, the power tool communication protocol is not compatible with the adapter, the power tool 200 does not accept reconfiguration files from the external device 800 for security reasons, the power tool 200 does not record information to be exported through the adapter 600, etc. In other embodiments, the adapter 600 does not include the raised bar 630 and is not prevented from coupling to certain power tools.
When the adapter 600 is coupled to the power tool 200, or another power tool device including a similar device receiving portion 206, the adapter 600 substantially encloses and covers the blade terminals 252a-d on the power tool 200. That is, the adapter 600 functions as a cover for the terminals 252a-d of the power tool 200. Once the adapter 600 is disconnected from the power tool 200, the terminals 252a-d on the power tool 200 are generally exposed to the surrounding environment. In the illustrated embodiment, the adapter 600 is designed to substantially follow the contours of the power tool 200 to match the general shape of the outer casing of the handle 204 of the power tool 200. The adapter 600 also generally increases (e.g., extends) the length of the grip of the tool (i.e., the portion of the power tool below the main body).
The adapter 600 is removable and interchangeably connected to various power tools through the latching mechanism 616. The latching mechanism 616 releasably secures the adapter 600 to the power tool 200. As shown in
The battery-side receiving portion 608 includes a battery-side connector 624 (see
The four male blade terminals 638a-d are connected to the adapter 600 through the terminal block 636, which connects the blade terminals 638a-d to the housing 604 and to the other electronics of the adapter 600. When the adapter 600 is not coupled to the battery pack 400, the blade terminals 638a-d are generally exposed to the surrounding environment. However, as discussed above with respect to the battery pack 400, when the battery 400 is coupled to the adapter 600, the female contacts 412a-e of the battery pack 400 receive the blade terminals 638a-d of the adapter 600. The female contacts 412a-e, therefore, cover the terminals 638a-d and protect them from the surrounding environment. As shown in
As shown in
The communication port 612 is positioned on the first surface 644 of the front sidewall. The communication port 612 is also connected to a PCB 650 of the adapter 600 (see
The communication port 612 is protected by a cover 654. The cover 654 is attached with a hinge on an upper edge of the cavity 652. The cover 654 is pivotable between an open position and a closed position. In the open position, the cover 654 is at an angle with the first surface 644 of the sidewall and the cavity 652 is exposed to the environment. In the closed position, the cover 654 is flush with the sidewall of the housing 604 and the cavity 652 is protected from the external environment (see
The adapter 600 also includes other electronic components that are mounted on the PCB 650 and positioned within the adapter housing 604. The housing 604 includes a base plate 656 and a cover 657 (see
As shown in
The contacts 628a-e are coupled to the housing 604 through a support plate 668. The support plate 668 holds the contacts 628a-e above the PCB such that they are accessible to a connected device (e.g., the power tool 200) on the top side 618 of the housing 604. A portion of each of the contacts 628a-e extends below the support plate 668 and is connected to the PCB 650 by a second set of connecting wires 670. Similar to the connecting wires 662, the connecting wires 670 are illustrated as having a free end, but in a final assembly, the free ends of the connecting wires 670 are each connected (e.g., soldered) to a respective contact 628a-e.
As shown in
As shown in
The controller 674 is electrically and/or communicatively connected to a variety of modules and/or components of the adapter 600, as shown in
The memory 688 includes, for example, a program storage area and a data storage area. The program storage area and the data storage area can include combinations of different types of memory, such as 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, an SD card, or other suitable magnetic, optical, physical, or electronic memory devices. The processing unit 686 is connected to the memory 688 and executes software instructions that are capable of being stored in a RAM of the memory 688 (e.g., during execution), a ROM of the memory 688 (e.g., on a generally permanent basis), or another non-transitory computer readable medium such as another memory or a disc. Software included in the implementation of the adapter 600 can be stored in the memory 688 of the controller 674. The software includes, for example, firmware, one or more applications, program data, filters, rules, one or more program modules, and other executable instructions. The controller 674 is configured to retrieve from memory and execute, among other things, instructions related to the control processes and methods described herein.
In the illustrated embodiment, the controller 674 is also configured to store power tool information, battery pack information, or information received from another power tool device on the memory 688 of the adapter 600. When the adapter 600 receives data from, for example, the power tool 200 through the tool-side connector 622, the adapter 600 stores the received data in the memory 688. The adapter 600 may at a future point in time be coupled to the external device 800 to output the power tool data stored in memory 688. Analogously, the adapter 600 may be coupled to the external device 800 to obtain configuration data and/or programming data specific for the power tool 200. The adapter 600 may couple to the power tool 200 at a future point in time and relay the configuration and programming information to the power tool 200 via the tool-side connector 622.
The tool-side connector 622 includes the five contacts 628a-e. The five contacts 628a-e include a positive power contact 628a, a negative power contact 628b, and three communication contacts 628c-e. The positive power contact 628a and the negative power contact 628b are configured to connect to the power terminals 252a,b on the power tool 200. The positive and negative power contacts 628a-b provide operational power (i.e., voltage and current) to the power tool 200. The adapter 600 communicates with the power tool 200, or another power tool device through at least two of the communication contacts 628c-e. The two communication terminals 252c-d of the power tool 200 align with two of the three communication contacts 628c-e of the adapter 600 to enable communication between the devices. The third contact of the communication contacts 628c-e is unmated and not used in this instance, but may be used in connection with other power tools and devices. The adapter 600 communicates with the power tool 200 to obtain information regarding the power tool status, operation statistic, or power tool identification. The adapter 600 can also write data to the power tool 200 for power tool configuration, firmware upgrades, or to send commands (e.g., turn on a worklight).
The adapter 600 exchanges data/information with the power tool 200, or another similar power tool device by transmitting and receiving signals through the two communication terminals 252c-d and two communication contacts 628c-d. The adapter 600 and the power tool 200 include programmed instructions specifying which terminal/contact will be used for the adapter 600 to transmit data and which terminal/contact will be used for the power tool 200 to transmit data. In other words, when explained from the perspective of the adapter 600, one communication contact 628c is used to transmit data to the power tool 200 and the second communication contact 628d is used to receive data from the power tool 200. In other embodiments, the adapter 600 may transmit data to the power tool 200 using the second communication contact 628d and receive data from the power tool 200 using the first communication contact 628c. Once the transmitter/receiver terminals/contacts have been established, the adapter 600 and the power tool 200 may exchange data over the two communication links.
In the illustrated embodiment, the adapter 600 and the power tool 200 use a software communication technique to exchange data over the communication terminals 252c-d and the communication contacts 628c-d. In the illustrated embodiment, the adapter 600 becomes the master device and the power tool 200 becomes the slave device. The master device (i.e., the adapter 600) initiates data communication. In other embodiments, the power tool 200 is the master device and the adapter 600 the slave device. To begin communication, the adapter 600 sends a start signal to the power tool 200. After the start signal has been sent, the adapter 600 utilizes software executed by the processing unit 686 to alternate (i.e., switch between a high output and a low output) a transmit pin of the controller 674 that is coupled to the communication contact 628c. The start signal is used to communicate to the power tool 200 (or slave device) the baud rate and stop bits for the communication between the adapter 600 and the power tool 200. The power tool 200 detects the start signal, determines the communicated baud rate and stop bits, and begins sampling the terminal 252c coupled to the communication contact 628c. The adapter 600 sends a predetermined number of bits and then sends a stop signal. In the illustrated embodiment, the start signal is a high output on the transmitter contact 628c for the duration of two bits and the stop signal is a low output on the transmitter contact 628c for the duration of two bits. The power tool 200 detects the start signal and begins sampling the terminal 252c coupled to the communication contact 628c to receive data bits output by the adapter 600. The power tool 200 samples the value of each bit and stores it in a register. The power tool 200 then recognizes the stop signal and waits for another start signal from the adapter 600. If the adapter 600 has finished transmitting bits to the power tool 200, the power tool 200 can respond to the adapter 600 by sending the start signal, a predetermined number of bits, and the stop signal. In other words, the power tool 200 can transmit information/data to the adapter 600 using a similar procedure with reversal of roles (e.g., the power tool 200 transmits, the adapter 600 receives) and using the other communication terminal 252d and communication contact 628d.
To ensure that communication occurs accurately, the power tool 200 and the adapter 600 set or are preprogrammed with certain communication parameters. For example, the power tool 200 and the adapter 600 communicate at the same baud rate, which allows the power tool 200 and the adapter 600 to sample the signals on the transmit pins appropriately. The power tool 200 and the adapter 600 also communicate using a specific data packet size. The data packet size refers to the number of bits the power tool 200 or the adapter 600 transmits between each start and stop signal. In the illustrated embodiment, the power tool 200 and the adapter 600 communicate with a data packet size of eight bits. That is, the transmitting device (either the adapter 600 or the power tool 200) transmits the start signal, eight data bits, and the stop signal. The receiving device then knows that the first bit corresponds to the start signal, the following eight bits correspond to encoded data, and the last signal corresponds to the stop signal. Communicating in such a way allows the power tool 200 and the adapter 600 to segment the data and make it easier for the receiving device to decode. The power tool 200 and the adapter 600 also set or are programmed to communicate in the same endiannes, which refers to the order in which bits are transmitted. In the illustrated embodiment, the most significant bit is transmitted first. In other embodiments, the least significant bit is transmitted first. These and other communication parameters may be preprogrammed into the adapter 600 and the power tool 200. In other embodiments, the user may be able to change some of these parameters such as, for example, the baud rate. The user may adjust the baud rate using the external device 800 and communicating the change in baud rate to both the adapter 600 and the power tool 200.
In other embodiments, rather than communicating using the software implemented method described above, the adapter 600 and the power tool 200 exchange data over the communication terminals 252c-d and the communication contacts 628c-d using one or more universal asynchronous transmitter/receivers (“UART”) to encode and decode the transmissions between the adapter 600 and the power tool 200. In other embodiments, the power tool 200 and the adapter 600 may use similar hardware to encode and decode the communication over the data terminals 252c-d and the communication contacts 628c-d.
The battery-side connector 624 includes the four terminals 638a-d. The four male blade terminals 638c-d include a power positive terminal 638a, a power negative terminal 638b, a first communication terminal 638c, and a second communication terminal 638d. The power positive terminal 638a and the power negative terminal 638b are configured to connect to power terminals on the battery pack 400 or other power tool device. The power terminals 638a, 638b on the battery-side connector 624 receive operational power (i.e., voltage and current) from the battery pack 400. The operational power may be transmitted to the power tool 200, used to power the adapter 600, or both.
The adapter 600 uses the first communication terminal 638c and the second communication terminal 638d to exchange information with the battery pack 400. The adapter 600 uses a similar communication protocol as was described between the power tool 200 and the adapter 600. Therefore, software executed by the processing unit 686 allows a transmit pin of the controller 674 to be toggled between low output and high output to send a start signal, data bits, and a stop signal. The battery pack 400 uses the processing unit 430 to sample and decode the transmitted bits.
The communication interface 680 is coupled between the external device 800 and the controller 674 of the adapter 600 to allow the adapter 600 to communicate and exchange data with the external device 800. As shown in
The communication port 612 includes a positive power terminal, a negative power terminal, and at least one data terminal. The communication port 612 receives power from the external device 800 through the positive power terminal and the negative power terminal. The adapter 600 may receive electrical power from the external device 800 and power the controller 674 as well as other electrical components of the adapter 600. The adapter 600 and the external device 800 exchange data over the at least one data terminal of the communication port 612 using serial communication protocols.
In the illustrated embodiment, the communication port 612 includes a universal serial bus (USB) port. The USB port 612 includes a positive power terminal, a negative power terminal, and two data terminals. The adapter 600 and the external device 800 utilize the two data terminals on the USB port 612 to exchange data using differential signaling. As discussed above, the adapter 600 and the external device 800 exchange data regarding the power tool 200, the battery pack 400, or another power tool device to which the adapter 600 can be connected.
In other embodiments, the communication port 612 may include another type of communication port. For example, the communication port 612 may include an RS-232 port, a microUSB port, a proprietary port, etc. Furthermore, the adapter 600 may include more than one communication port 612 such that the adapter 600 is compatible with different external devices 800 that may include different types of communication ports or connectors.
The wireless communication module 684 provides an alternative way for the adapter 600 to communicate with the external device 800. That is, the wireless communication module 684 selectively uses the communication port 612 or the wireless communication module 684 to communicate with the external device 800. The wireless communication module 684 includes a radio transceiver and an antenna to send and receive wireless messages to and from the external device 800. The wireless communication module 684 may be used, for example, when the external device 800 does not include a connector or port compatible with the communication port 612, or when wireless communication is preferred by a user. The wireless communication module 684 may include its own controller to effect wireless communications between the adapter 600 and the external device 800. For example, a controller associated with the wireless communication module 684 may buffer incoming and/or outgoing data, communicate with the controller 674, and determine the communication protocol and/or settings to use in wireless communications.
In the illustrated embodiment, the wireless communication module 684 is a Bluetooth® module. The Bluetooth® module communicates with the external device 800 employing the Bluetooth® protocol. Therefore, in the illustrated embodiment, the external device 800 and the adapter 600 are in proximity of each other while they exchange data. In other embodiments, the wireless communication module 684 communicates using other protocols (e.g., Wi-Fi, cellular protocols, etc.) over a different type of wireless networks. For example, the wireless communication module 684 may be configured to communicate via Wi-Fi through a wide area network such as the Internet or a local area network, or to communicate through a piconet (e.g., using infrared or NFC communications). The communication via the communication interface 680, both wired and wireless, may be encrypted to protect the data exchanged between the adapter 600 and the external device/network 800 from third parties.
By electrically coupling the tool-side connector 622, the battery-side connector 624, and the communication interface 680, the adapter 600 enables communications between the external device 800 and the power tool 200, the battery pack 400, or another power tool device. The adapter 600 is configured to receive data from the power tool 200 and the battery pack 400 and relay the information to the external device 800. In a similar manner, the adapter 600 is configured to receive information (e.g., configuration and programming information) from the external device 800 and relay the information to the power tool 200, the battery pack 400, or another power tool device.
The communication indicator 614 provides a visual indication to the user regarding the power and communication status of the adapter 600. The communication indicator 614 includes an LED that is connected to the PCB 650 of the adapter 600 (see
In yet other embodiments, when the adapter 600 communicates with the external device 800 through the communication port 612, the communication indicator 614 does not light up. Instead, when the adapter 600 communicates with the external device 800 using the wireless communication module 684, the communication indicator 614 lights up. In other embodiments, the adapter 600 may include one indicator for each type of communication interface with the external device 800. In other embodiments, the adapter 600 may, additionally or alternatively, activate the indicator 614 when the adapter 600 communicates with the external device 800 via the communication port 612.
The power input module 682 is configured to receive the electrical power from the battery pack 400, the external device 800, an integrated power source (e.g., a 9V battery), or a combination thereof. The power input module 682 is also configured to condition the received power into usable power for the various components of the adapter 600. Conditioning the power may include, for example, reducing the electrical power received by the power input module 682 into the appropriate voltage and/or current parameters, or filtering the power received by the power input module 382. The power input module 682 communicates with the controller 674 to determine the power parameters necessary for the controller 674 and ensure that the power provided by the power input module 682 meets the necessary power parameters of the controller 674 and of the other electronic components of the adapter 600.
The power input module 682 is in electrical communication with the battery-side connector 624 and with the communication port 612. As described above, both the battery-side connector 624 and the communication port 612 are configured to receive electrical power through the power terminals (e.g., 638a-b). The power input module 682 is configured to receive electrical power from at least one of the battery side connector 624 and the communication port 612. When the adapter 600 is coupled to the battery pack 400, the adapter 600 receives electrical power (i.e., voltage and current) from the battery pack 400 through the battery side connector 624 (i.e., the blade terminals 638a-b). When the adapter 600 is coupled to the external device 800 through the communication port 612, the adapter 600 receives electrical power from the communication port 612. Although the external device 800 is configured to provide electrical power to the power tool 200 through the communication port 612, the power from the external device 800 may not be sufficient to energize the motor 214 of the power tool 200. Rather, the power from the external device 800 is used to power the controller 226 of the power tool 200, such that data can still be exchanged between the power tool 200 and the external device 800.
In some situations, the adapter 600 may be coupled to both the battery pack 400 via the battery side connector 624 and the external device 800 through the communication port 612 at the same time. In such instances, the adapter 600 defaults to receiving electrical power from the battery pack 400. In other embodiments, the adapter 600 may default to receiving electrical power from the external device 800 through the communication port 612. In some embodiments, the adapter 600 may be configured to receive electrical power from both the battery pack 400 and the external device 800 when both the battery pack 400 and the external device 800 are physically and electrically coupled to the adapter 600. In such embodiments, the battery pack 400 may be utilized to power some components of the adapter (e.g., an LCD display, the communication indicator 614, etc.) while the external device 800 is utilized to power different components of the adapter (e.g., the controller 674, the wireless communication module 684, etc.).
The power switch 610 is a push-button switch that turns the adapter 600 on and off. When the adapter 600 is on, communication between the external device 800 and the power tool 200 or the battery pack 400 is enabled. When the adapter 600 is off, communications between the power tool 200 and the external device 800 or between the battery pack 400 and the external device 800 cease. In some embodiments, the power switch 610 also includes a lighting element that lights up when the adapter 600 is powered and lights off when the adapter 600 is not powered, thereby providing a visual indication to the user of the power status of the adapter 600. In some embodiments, if the adapter 600 is coupled to both the power tool 200 and the battery pack 400, the power tool 200 and the battery pack 400 can communicate with each other and perform general operations (i.e., the battery pack 400 can transmit electrical power to the power tool 200 to drive the motor 214) regardless of whether the adapter 600 is on or off. In other embodiments, however, the power tool 200 and the battery pack 400 can only communicate with each other and perform general operations when the adapter 600 is either on or removed such that the battery pack 400 is connected directly with the power tool 200.
The adapter 600 switches between a data transmission mode and a pass-through mode. In the data transmission mode, the adapter 600 communicates with the power tool 200, the battery pack 400, or another power tool device using the techniques described above. During the data transmission mode, the adapter 600 can receive and transmit information related to, for example, power tool usage data, usage statistics, power too identification, power tool maintenance data, battery pack discharge cycles, battery pack charge cycles, battery pack conditions and characteristics, configuration and programming data, firmware updates, or a command (e.g., sound an alert tone or flash an LED).
The pass-through mode refers to the operation of the adapter 600 during which data communication does not occur and during which electrical power from the battery pack 400 is passed through the adapter 600 to reach the power tool 200. Instead of exchanging information between the power tool 200 or the battery pack 400, the adapter 600 serves as an intermediary pathway between the device interface 222 of the power tool 200 and the power interface 424 of the battery pack 400. During the pass-through mode, the battery pack 400 transmits electrical power to the power tool 200, which enables the power tool 200 to perform the associated task (e.g., drilling, driving, sawing, sanding, etc.).
The adapter 600 switches between the data transmission mode and the pass-through mode based on the state of the power tool 200. When the power tool 200 is in the active state, the adapter 600 operates in the pass-through mode such that the power tool 200 receives electrical power from the battery pack 400 and communication between the power tool 200 and the battery 400 is enabled. On the other hand, when the power tool 200 is in the idle state, the adapter 600 is able to exchange data with the power tool 200 or with the battery pack 400, if connected. Accordingly, the adapter 600 operates in the data transmission mode when the power tool 200 is in the idle state and operates in the pass-through mode when the power tool 200 is in the active state.
In some embodiments, during the data transmission mode, the adapter 600 does not store received data in memory 688. Rather, the adapter 600 is connected to both the external device 800 and the power tool device (e.g., the power tool 200 or the battery pack 400) simultaneously to exchange data between the external device 800 and the power tool device. In such embodiments, since the data is moving seemingly immediately from the power tool 200 to the external device 800 or from the external device 800 to the power tool 200, the adapter 600 optionally does not store the data in the memory 688. Rather, the adapter 600 may include a buffer that momentarily holds the data received from the power tool 200 or battery pack 400 before the adapter 600 transmits the data to the external device 800, and that holds the data received from the external device 800 en route to the power tool 200 or the battery pack 400.
In some embodiments, the adapter 600 may be capable of both storing power tool data, battery pack data, and data received from another power tool device in the memory 688 and retrieve the data at a later time, and of transmitting the data seemingly instantaneously between the power tool 200, the battery pack 400, or another power tool device and the external device 800. In such embodiments, the adapter 600 may default to exchanging data seemingly instantaneously when both a power tool device (e.g., the power tool 200, the battery pack 400, etc.) and the external device 800 are coupled to the adapter 600.
In the illustrated embodiment, the controller 674 is also coupled to the external memory receiver 678 to store additional or duplicative data on an external memory coupled thereto. The external memory receiver 678 may include, for example, a port positioned on the housing 604 of the adapter 600 for receiving an external memory (e.g., an SD card). The port for the external memory is not shown in the figures, but may be positioned on a sidewall of the housing 604. For example, a slot for receiving an SD card can be positioned on a back sidewall opposite the communication port 612. The external memory receiver 678 allows power tool data and battery pack data to be stored separate from the adapter 600. For example, a set of power tools may be associated with the same owner. Tool and/or battery pack data can be exported from each power tool one at a time, and saved onto the external memory. The owner can then keep the data associated with the set of power tools in the same external memory to back up the data stored on the external device 800, or to avoid storing the data on the external device 800. The external memory may also provide additional protection for the data stored therein. In the illustrated embodiment, the external memory includes a Secure Digital (“SD”) card. In other embodiments, the external memory may include other types of memory such as, for example, a USB flash drive.
The controller 674 is also connected to the display connector 676. The display connector 676 is provided on the adapter 600 to provide the user with an alternative way of interacting with the communication system 100, and in particular, with the adapter 600. A user may connect a display to the display connector 676 and be able to access information without exporting the data to the external device 800. For example, if the user wishes to quickly access maintenance information for the power tool 200, the user may couple the power tool 200 to the adapter 600, connect a display to the display connector 676, and access the maintenance information stored on the tool. Therefore, the user can access power tool 200 and/or battery pack 400 information without exporting data from the power tool device (e.g., the power tool 200, the battery pack 400, etc.) and importing data from the adapter 600 to the external device 800. In some embodiments, the display can be integral to the adapter 600 and positioned on a sidewall of the housing 604.
The first power tool 1200, the battery pack 1400, and the second power tool 1300 each include a wireless communication module that allows the power tool devices to communicate directly with the external device 1800. The power tool devices (e.g., the first power tool 1200, the second power tool 1300, and the battery pack 1400 may communicate power tool status, power tool operation statistics, power tool identification, stored power tool usage information, power tool maintenance data, battery pack status, battery pack state of charge, battery pack operation statistics, battery pack identification, battery pack discharge and charge cycles, battery pack maintenance data, and the like. The external device 1800 can also write data to the first power tool 1200, the second power tool 1300, and/or the battery pack 1400 for power tool configuration, battery pack configuration, firmware upgrades, or to send commands (e.g., turn on a worklight). The external device 1800 also allows a user to set operational parameters, safety parameters, select tool modes, select battery pack options, and the like.
The external device 1800 may be, for example, a laptop computer, a tablet computer, a smartphone, a cellphone, or another electronic device capable of communicating with the adapter 600 and providing a user interface. The external device 1800 includes a wireless communication module that is compatible with the wireless communication module of the first power tool 1200, the second power tool 1300, and the battery pack 1400. The external device 1800, therefore, grants the user access to data related to the first power tool 1200, the second power tool 1300, the battery pack 1400, or another power tool device (e.g., a charger), and provides a user interface such that the user can interact with the controller of the first power tool 1200, the second power tool 1300, the battery pack 1400, or another power tool device.
In addition, the external device 1800 can also share the information obtained from the first power tool 1200, the second power tool 1300, the battery pack 1400, or another power tool device with a remote server 1900. The remote server 1900 may be used to store the data obtained from the external device 1800, provide additional functionality and services to the user, or a combination thereof. In one embodiment, storing the information on the remote server 1900 allows a user to access the information from a plurality of different locations. In another embodiment, the remote server 1900 may collect information from various users regarding their power tool devices and provide statistics or statistical measures to the user based on information obtained from the different power tools. For example, the remote server 1900 may provide statistics regarding the experienced efficiency of the power tools 1200, 1300, or battery pack 1400, typical usage of the power tools 1200, 1300, and other relevant characteristics and/or measures of the power tools 1200, 1300 or the battery pack 1400.
As shown in
In the illustrated embodiment, the wireless communication module 1250 is a Bluetooth® module. The Bluetooth® module communicates with the external device 1800 employing the Bluetooth® protocol. Therefore, in the illustrated embodiment, the external device 1800 and the first power tool 1200 are in proximity of each other while they exchange data. In other embodiments, the wireless communication module 1250 communicates using other protocols (e.g., Wi-Fi, cellular protocols, etc.) over a different type of wireless networks. For example, the wireless communication module 1250 may be configured to communicate via Wi-Fi through a wide area network such as the Internet or a local area network, or to communicate through a piconet (e.g., using infrared or NFC communications). The communication via the communication module 1250 may be encrypted to protect the data exchanged between the first power tool 1200 and the external device/network 1800 from third parties.
As discussed above, the wireless communication module 1250 is configured to receive data from the power tool controller 1226 and relay the information to the external device 1800. In a similar manner, the wireless communication module 1250 is configured to receive information (e.g., configuration and programming information) from the external device 1800 and relay the information to the power tool controller 1226. The other components and operations of the power tool 1200 are similar to those described with reference to the power tool 200 of the communication system shown in
As shown in
As shown in
In the illustrated embodiment, the wireless communication module 1450 is a Bluetooth® module. The Bluetooth® module communicates with the external device 1800 employing the Bluetooth® protocol. Therefore, in the illustrated embodiment, the external device 1800 and the battery pack 1400 are in proximity of each other while they exchange data. In other embodiments, the wireless communication module 1450 communicates using other protocols (e.g., Wi-Fi, cellular protocols, etc.) over a different type of wireless networks. For example, the wireless communication module 1450 may be configured to communicate via Wi-Fi through a wide area network such as the Internet or a local area network, or to communicate through a piconet (e.g., using infrared or NFC communications). The communication via the communication module 1450 may be encrypted to protect the data exchanged between the first battery pack 1400 and the external device/network 1800 from third parties.
As discussed above, the wireless communication module 1450 is configured to receive data from the battery pack controller 1420 and relay the information to the external device 1800. In a similar manner, the wireless communication module 1450 is configured to receive information (e.g., configuration and programming information) from the external device 1800 and relay the information to the battery pack controller 1420. The other components and operations of the battery pack 1400 are similar to those described with reference to the battery pack 400 of the communication system shown in
In the illustrated embodiment, the wireless modules 1250, 1350, 1450 included in the first power tool 1200, the second power tool 1300, and the battery pack 1400 are substantially similar (e.g., Bluetooth® communication modules). Using similar wireless communication modules 1250, 1350, 1450 allows the power tool devices to be compatible with each other and with generally the same external devices 1800. In other embodiments, however, the wireless communication module 1250, 1350, 1450 in each of the power tool devices may be different from each other. In such embodiments, the external device 1800 may include different communication modules to accommodate the wireless communication modules 1250, 1350, 1450 of the different power tool devices, or each of the power tool devices 1200, 1300, 1400 may be compatible with different sets of external devices 1800.
The first power tool 1200 and the battery pack 1400 shown in
The mode selection switches 1508 allow a user to select a mode of operation for the impact driver 1500. As shown in
Through communication with the external device 800, 1800, the impact driver 1500 can determine which four modes are accessible to the user when operating the impact driver 1500. In other words, the user can select and assign a mode to each of the mode indicators 1511a-d from on a list of different operation modes for the impact driver 1500. The other modes that are compatible with the impact driver 1500 and available for assignment to the mode indicators 1511a-d, but that are not currently assigned, may be referred to as unassigned modes of the impact driver 1500. The user may select modes for assignment from a variety of pre-configured modes and user-defined modes. The pre-configured modes and the user-defined modes may be stored in a memory of the impact driver 1500 and the user may select which mode is assigned to which mode indicator 1511a-d through the external device 800, 1800. In other embodiments, the pre-configured modes and the user-defined modes are stored on the external device 800, 1800 or on the remote server 900, 1900 and the user selects which modes to assign to and store on the impact driver 1500 using the external device 800, 1800. In these embodiments, the four modes assigned to the mode indicators 1511a-d are stored on the impact driver 1500, while the other potential (unassigned) modes remain on a memory outside of the tool (e.g., on the external device 800, 1800 or remote server 900, 1900).
A pre-configured mode is, for instance, a mode that sets specific performance characteristics (or variables) of the tool for addressing certain applications. A pre-configured mode may have certain default settings for particular applications (e.g., working with certain screw types or lengths or with certain types of work pieces like metal or wood), and a user may further configure certain relevant performance characteristics within a pre-configured mode. A user-defined mode allows the user to adjust certain performance characteristics (or variables) controllable on the tool. The performance characteristics that are adjustable may depend on the selected user-defined mode. A user-defined mode may rely on the user to set performance characteristics to fit their particular application, rather than using pre-programmed settings selected based on particular applications.
The pre-configured modes for the impact driver 1500 include a low speed mode, a medium speed mode, a high speed mode, a self-tapping screw mode, a screwdriver mode, a stainless steel mode, an anti-slip mode, an anti-strip mode, and an anti-spin off mode. The low speed mode is generally used for precision work. In the first mode, a motor of the impact driver 1500 operates at low speeds (e.g., between 0-200 revolutions per minute (RPM)). The medium speed mode is generally used to prevent damage to the fastener and/or to the material on which the fastener is secured. In the medium speed mode, the motor of the impact driver 1500 operates at medium speeds (e.g., between 0-2,000 RPMs). The high speed mode is generally used to utilize the maximum speed and power available on the impact driver 1500. In the high speed mode, the motor of the impact driver 1500 operates at high speeds (e.g., between 0-2,900 RPMs). The low speed mode, medium speed mode, and high speed mode are, in some embodiments, by default assigned to the first mode indicator 1511a, second mode indicator 1511b, and third mode indicator 1511c, respectively. Other modes may be assigned as the default modes, and the fourth mode indicators 1511d may be assigned a default mode as well, such as the self-tapping screw mode. A user can continue to use these default modes, or the user may find that other modes are better suited for a task or project and may change the modes accordingly.
The self-tapping screw mode is generally used for driving self-tapping screws into galvanized steel, and it prevents a user from overdriving and stripping screws by operating the impact driver at too high a level of RPMs and impacts per minute (IPMs). In the self-tapping screw mode, the impact driver 1500 begins turning at a high speed (e.g., 1000 RPMs) and reduces the speed when an impact mechanism trips. During the self-tapping screw mode, a controller of the impact driver 1500 monitors an impact mechanism. When the controller determines that the impact mechanism has been activated, the controller reduces the power provided to the motor of the impact driver 1500 to thereby reduce the rotating speed of the impact driver 1500. A user may be able to further configure/customize the self-tapping screw mode by selecting, for example, the starting speed for the impact driver 1500, the finishing or lowered speed for the impact driver 1500, and/or the rate at which the impact driver 1500 decreases speed. The user may change such parameters using the external device 800/1800.
The screwdriver mode is generally used for driving small machine screws. Many users find it challenging to use an impact driver for more delicate applications because they may worry that the impact mechanism may damage the fastener and/or the material. In the screwdriver mode, the impact driver 1500 operates at low rotational speeds (e.g., 0-500 RPMs). During the screwdriver mode, the impact driver 1500 also activates an electronic clutch such that operation of the impact driver 1500 stops before the impact mechanism is activated. The electronic clutch anticipates when the impact mechanism may be activated and instead interrupts power to the motor of the impact driver 1500 to prevent the impact driver 1500 from damaging the fastener and/or the material. A user may determine the maximum speed (e.g., maximum RPMs) when the impact driver 1500 operates in the screwdriver mode.
The stainless steel mode is generally used for driving self-tapping screws into 12-16 gauge stainless steel. Due to the nature of stainless steel, users have encountered that some screw tips melt before cutting the surface of stainless steel. Many users have been sacrificing fasteners until the surface is cut and a fastener can be properly installed. In the stainless steel mode, the impact driver 1500 automatically pulses the trigger 1512. By pulsing the trigger 1512, the impact driver 1500 operates at slower speeds. Slower speeds actually perforate stainless steel faster and generate less heat between the screw tip and the surface of the stainless steel. Therefore, by using the stainless steel mode, the user may not need to sacrifice fasteners until the surface of the stainless steel is finally perforated. A user may further customize the stainless steel mode by setting maximum RPMs and IPMS, setting minimum RPMs and IPMs, and/or setting the pulsing frequency for the impact driver 1500.
The anti-slip mode is generally used for driving screws at high speeds into metal or wood. Some users, when trying to drive screws at high speeds, lose engagement between the impact driver 1500 and the fastener head and/or have the fastener slip off the desired drive position on the surface of the material. In the anti-slip mode, the impact driver 1500 begins driving at a lower speed (e.g., 250 RPMs) and automatically increases the driving speed when the impact mechanism is activated. Therefore, by starting at a lower speed, slipping of the impact driver 1500 and/or slipping of the fastener becomes less likely, and efficiency is achieved by automatically increasing the fastening speed once the impact mechanism is activated. The user may further customize the anti-slip mode by setting starting RPMs or IPMs, setting increased and/or finishing RPMs or IPMs, and/or setting the rate at which the fastening speed increases.
The anti-strip mode is generally used for driving concrete screws into a concrete block or concrete slab. The anti-strip mode may also be used for driving small sheet metal screws into sheet metal. Concrete screws can sometimes break in the middle of the screw or at the head of the screw, rendering the screw unusable because the impacts are too fast or too strong, and the screw is overdriven. In the anti-strip mode, the impact driver 1500 begins fastening the concrete screws at a high speed (e.g., 1500 RPMs) and decreases the fastening speed when the impact mechanism is activated. The user may customize the anti-strip mode by selecting the starting RPMs or IPMs, setting the finishing RPMs or IPMs, and/or setting the rate at which the fastening speed decreases.
The anti-spin off mode is generally used for removing fasteners such as, nuts and bolts. When removing nuts and bolts, the nuts and bolts can sometimes lose engagement with the impact driver 1500 and fall from a lift or elevated surface. In the anti-spin off mode, the impact driver 1500 begins rotating at a high speed (e.g., 1500 RPMs) and automatically decreases the fastening speed when the impact mechanism is deactivated. The user can further customize the anti-spin off mode by selecting starting RPMs/IPMs, selecting finishing RPMs or IPMs, and/or setting the rate at which the fastening speed decreases.
The selectable modes of the impact driver 1500 can also be assigned user-defined modes. The user-defined modes include modes for which the user defines the operation of the impact driver 1500. The user-defined modes for the impact driver 1500 include an impact counting mode, a memory mode, an impacting variable speed mode, and a non-impacting mode. The impact counting mode is generally used for repetitive pre-fabrication and/or production fastening. The impact counting mode can also be used for driving anchors on projects with seismic regulations. The impact counting mode ensures that the same torque is applied to every fastener. In the impact counting mode, the impact driver 1500 employs a counter and/or a timer to count how many impacts the impact driver 1500 delivers to a fastener. When the impact driver 1500 uses a timer, the timer determines the period of time during which the impact driver 1500 impacts the fastener. In the impact counting mode, specific maximum and minimum rotational speeds are assigned to the trigger 1512, such that the same torque is applied to every fastener. The impact driver 1500 can then be used to secure one fastener, and any subsequent fastener will be secured with the same number of impacts or for the same amount of time as the first fastener, thereby ensuring equal torque is applied to each fastener. A user may further specify the minimum and maximum RPMs set to the trigger 1512.
The memory mode is also used for repetitive pre-fabrication and/or production fastening. In the memory mode, the impact driver 1500 records a fastening operation and then repeats the fastening operation on subsequent fasteners. For example, for the first fastening operation, the impact driver 1500 may record the RPMs, the IPMS, and/or the trigger 1512 travel profile. Then, when fastening a second fastener, the impact driver 1500 follows the trigger travel profile, the RPMs, and the IPMs as recorded.
The impacting variable speed mode is generally used for driving fasteners for which users may prefer more control over the minimum and maximum speeds (e.g., RPMs) than those specified by the low speed, medium speed, and high speed modes for the impact driver 1500. Therefore, the impacting variable speed mode allows a user to specifically set the maximum and the minimum speeds for the impact driver 1500. In some embodiments, the user may set the maximum and the minimum speeds for the impact driver 1500 at the same speed, and thereby deactivate the variable speed mode of the impact driver 1500.
The non-impacting mode is generally used for driving small fasteners that require low torque. As discussed above, some fasteners or particular applications for fasteners are fragile. Therefore, the impacting mechanism may damage the fastener and/or the material. In the non-impacting mode, the user selects the maximum fastening speed such that the impacting mechanism is not activated. In some embodiments, the user can use the non-impacting mode for setting the minimum and maximum fastening speeds to the same speed and thereby deactivating the variable speed mode for the impact driver 1500.
The external device 800/1800 can be also used to program and/or change different parameters on the impact driver 1500. The external device 800/1800 may set, for example, minimum and maximum fastening speeds (e.g., max and min RPMs), speed oscillation, soft start time, trigger travel, downshift/upshift mid-application (which can be triggered by the impact mechanism being activated), maximum number of impacts, and/or activation and operation of a worklight for the impact driver 1500.
The external device 800/1800 can also be used to measure speed on the impact driver 1500 in real time, measure trigger travel on impact driver 1500 in real time, as well as measuring other operational parameters of the impact driver 1500 in real time. For instance, the power tool 1500 may wirelessly communicate tool data in real time to the external device 800, 1800.
Like the impact driver 1500, the impact wrench 1600 includes four assigned operation modes at a given time. Each mode indicator 1611a-d can be assigned by the user a a different operation mode. The user selects a mode for each mode indicator 1611a-d using the external device 800, 1800. The user may select from a variety of pre-configured modes and user-defined modes. The pre-configured modes and the user-defined modes may be stored in a memory of the impact wrench 1600, and the user may select which mode is assigned to which mode indicator 1611a-d through the external device 800, 1800. In other embodiments, the pre-configured modes and the user-defined modes are stored on the external device 800, 1800, or on the remote server 900, 1900, and the user selects which modes to assign and store on the impact wrench 1600 using the external device 800, 1800. In these embodiments, the four modes assigned to the mode indicators 1611a-d are stored on the impact wrench 1600, while the other potential (unassigned) modes remain on a memory outside of the tool (e.g., on the external device 800, 1800 or remote server 900, 1900).
The pre-configured modes for the impact wrench 1600 include a low speed mode, a medium speed mode, a high speed mode, a consistent torque mode, and an anti-spin off mode. The low speed mode is generally used for precision work. In the first mode, a motor of the impact wrench 1600 operates at low speeds (e.g., between 0-200 revolutions per minute (RPM)). The medium speed mode is generally used to prevent damage to the fastener and/or to the material on which the fastener is secured. In the medium speed mode, the motor of the impact wrench 1600 operates at medium speeds (e.g., between 0-2,000 RPMs). The high speed mode is generally used to utilize the maximum speed and power available on the impact wrench 1600. In the high speed mode, the motor of the impact wrench 1600 operates at high speeds (e.g., between 0-2,900 RPMs). A fourth mode is a programmable mode assigned to a fourth mode indicator 1611d. The programmable mode varies based on user interaction with the external device 800, 1800. In some embodiments, the low speed mode, medium speed mode, and high speed mode are by default assigned to the first mode indicator 1611a, second mode indicator 1611b, and third mode indicator 1611c, respectively. Other modes may be assigned as the default modes, and the fourth mode indicators 1611d may be assigned a default mode as well, such as the self-tapping screw mode. A user can continue to use these default modes, or the user may find that other modes are better suited for a task or project and may change the modes accordingly.
The consistent torque mode is generally used for driving the same type of fastener multiple times where a consistent bolt tension is desired. In the consistent torque mode, the impact wrench 1600 counts the number of impacts performed by the impact wrench and stores the RPMs used for each particular fastener. When a subsequent fastener is secured, the impact wrench 1600 counts the number of impacts and ceases operation when the same number of impacts are performed on the subsequent fastener. The impact wrench 1600 also ensures that the fastening speed is the same for a set of fasteners, thereby ensuring that the same torque is applied to each fastener. Therefore, a user can use an external device 800, 1800 to select from a first group of modes a programmable mode for a first power tool and from a second group of modes, a programmable mode for a second power tool.
The anti-spin off mode is generally used for removing nuts and bolts. When removing nuts and bolts, the nuts and bolts can sometimes lose engagement with the impact wrench 1600 and fall from a lift or elevated surface. In the anti-spin off mode, the impact wrench 1600 begins rotating at a high speed (e.g., 1500 RPMs) and automatically decreases the fastening speed when the impact mechanism is deactivated. The user can further customize the anti-spin off mode by selecting starting RPMs/IPMs, selecting finishing RPMs or IPMs, and/or setting the rate at which the fastening speed decreases.
The selectable modes can also be assigned a user-defined mode. The user defined modes for the impact wrench 1600 include an impact counting mode, a memory mode, an impacting variable speed mode, and a non-impacting mode. The user-defined modes are substantially similar to the user-defined modes for the impact driver 1500 and will therefore not be discussed in further detail.
The external device 800/1800 can be also used to program and/or change different parameters on the impact wrench 1600. The external device 800/1800 may set, for example, minimum and maximum fastening speeds (e.g., max and min RPMs), speed oscillation, soft start time, trigger travel, downshift/upshift mid-application (which can be triggered by the impact mechanism being activated), maximum number of impacts, and/or activation and operation of a worklight for the impact wrench 1600. The external device 800/1800 can also be used to measure speed on the impact wrench 1600 real time, measure trigger travel on impact wrench 1600 in real time, as well as measuring other operational parameters of the impact wrench 1600 in real time. In some embodiments, the impact wrench 1600 communicates with the external device 800 through the adapter 600 using similar techniques as those described above with respect to the power tool 200. In other embodiments, the impact wrench 1600 includes a wireless communication module, and communicates with the external device 1800 using similar techniques as those described above with respect to the power tool 1200.
The external device 800, 1800 can also be used to program and/or define different features on the hammer drill 1700. For example, the external device 800, 1800 can allow a user to set a constant speed mode, a variable bounded speed mode, settings for soft start, electronic clutch, PWM pulse mode, and a TEK screw mode for the hammer drill 1700. The constant speed mode allows the hammer drill 1700 to ignore the position of the trigger. Instead, the hammer drill runs the hammer drill motor at a constant speed as defined by the user. The speed of the motor is then controlled by closed-loop control using sensors determining the position and speed of the motor.
The variable bounded speed mode allows the hammer drill 1700 to be operated in different speeds according to the trigger displacement. The user may set the minimum speed and/or the maximum speed. When the trigger is fully depressed, the motor operates at the maximum speed, and when the trigger is minimally depressed, the motor operates at the minimum speed. The hammer drill 1700 then operates at linearly increasing speeds between the minimally depressed position of the trigger and full depression of the trigger. The variable bounded speed mode for the hammer drill 1700 is similar to the impacting variable speed mode of the impact wrench 1600 and the impact driver 1500.
The PWM pulse mode allows the hammer drill 1700 to ignore the position of the trigger and, rather, oscillate between a minimum speed and a maximum speed. The user can select the minimum speed, the maximum speed, and the oscillation rate between the two. The hammer drill 1700 does not monitor the position of the trigger and, instead, simply begins oscillating between the two predetermined speeds. In a variation of the PWM pulse mode, the hammer drill 1700 changes the duty cycle to achieve the minimum speed and the maximum speed of the hammer drill 1700. The hammer drill 1700, in such embodiments, alternates between oscillating the motor duty cycle between a first duty cycle and a second duty cycle at a predetermined oscillation period.
The TEK screw mode, also referred to as the self-drilling screw mode, allows the hammer drill 1700 to operate in a current controlled mode. In particular, in the TEK screw mode, the hammer drill 1700 operates at a first maximum speed (e.g., 1000 RPMs). The hammer drill 1700 monitors the current of the hammer drill 1700. When the current drawn by the motor of the hammer drill 1700 exceeds a first predetermined current threshold, the hammer drill 1700 lowers the operating speed and continues to monitor the current of the hammer drill 1700. When the current of the hammer drill 1700 is below a second predetermined current threshold (e.g., 2A below the first predetermined current threshold) for a particular period of time (e.g., one second), the hammer drill 1700 resumes operating at the first maximum speed. The hammer drill 1700 operates via an open-loop control in this mode. Generally, an increase in motor current indicates an increase in resistance to driving the fastener and represents increased energy used to overcome the increased resistance.
The user can also select for the hammer drill 1700 to activate soft start and/or the electronic clutch. Soft start refers to a setting in which the hammer drill 1700 slowly increases the speed of the motor to full speed. When the trigger is first pulled, the hammer drill 1700 begins increasing the speed slowly at a predetermined rate. The electronic clutch allows the hammer drill 1700 to monitor the output torque through a current measurement. When the electronic clutch is enabled, the hammer drill 1700 operates normally until the current of the hammer drill 1700 exceeds a predetermined threshold. Once the current of the hammer drill 1700 exceeds the predetermined threshold, the hammer drill 1700 begins to pulse the hammer drill motor at low PWMs to simulate the function of a mechanical clutch. In some embodiments, the electronic clutch can program the torque range of a current ring electronic clutch setting on the hammer drill 1700.
In some embodiments, the hammer drill 1700 communicates with the external device 800 through the adapter 600 using similar techniques as those described above with respect to the power tool 200. In other embodiments, the hammer drill 1700 includes a wireless communication module, and communicates with the external device 1800 using similar techniques as those described above with respect to the power tool 1200.
Communication with the external device 800, 1800 provides a graphical user interface through which the user can select and customize the different operation modes for the different power tools 1500, 1600, 1700.
As shown in
In some embodiments, as shown in
Although
In some embodiments, a system and method for customizing a power tool includes first establishing a communication link between an external device (e.g., external device 800/1800) and the power tool (e.g., hammer drill 1700). Although not necessary, in some instances, establishing a communication link includes setting the power tool to an adaptive mode (e.g., via mode selection ring 1708) and selecting a programmable mode (e.g., using mode selection switch 1707). Establishing a communication link wirelessly can include instructing (e.g., via a user interface) the external device to wirelessly link to the power tool, which may include the user specifying to the external device details of the tool. Alternatively, a communication link can be established by attaching the adapter 600 to the power tool and either physically connecting the external device to the adapter 600 (e.g., via USB cable) or wirelessly linking the external device to the adapter 600.
After a communication link is established, the external device may generate a graphical user interface (GUI) providing mode options (see
After selecting a mode on the graphical user interface, the user may further navigate to customize (e.g., set parameters of) the selected mode, as shown and described with respect to
The exemplary screenshots of the graphical user interface generated by the external device 800, 1800 can also be used for customizing different modes for different power tools 1500, 1600, 1700. The exemplary screens 2012, 2023, 2030, 2034, 2036 can also be used to request information such as, for example, the maximum speed for a particular power tool 1500, 1600, 1700. It should be understood that the earlier modes discussed above with respect to the impact driver 1500, the impact wrench 1600, and the hammer drill 1700 can be customizable and selected using similar screens as those shown in
Thus, the invention provides, among other things, a communication system among power tool devices and an external device, in which the external device provides a user interface to obtain information from different power tool devices and provides information to the power tool devices. Various features and advantages of the invention are set forth in the following claims.
The present application is a continuation of U.S. patent application Ser. No. 17/217,350, filed Mar. 30, 2021, which is a continuation of U.S. patent application Ser. No. 16/747,389, filed Jan. 20, 2020, now U.S. Pat. No. 10,967,489, which is a continuation of U.S. patent application Ser. No. 16/246,017, filed Jan. 11, 2019, now U.S. Pat. No. 10,569,398, which is a continuation of U.S. patent application Ser. No. 15/833,356, filed Dec. 6, 2017, now U.S. Pat. No. 10,213,908, which is a continuation of U.S. patent application Ser. No. 15/030,756, filed Apr. 20, 2016, now U.S. Pat. No. 10,131,042, which is a national stage filing under 35 U.S.C. § 371 of International Application No. PCT/US2014/061651, filed on Oct. 21, 2014, which claims priority benefit to U.S. Provisional Application No. 61/893,765, filed Oct. 21, 2013, the entire contents of all of which are hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
61893765 | Oct 2013 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17217350 | Mar 2021 | US |
Child | 18067971 | US | |
Parent | 16747389 | Jan 2020 | US |
Child | 17217350 | US | |
Parent | 16246017 | Jan 2019 | US |
Child | 16747389 | US | |
Parent | 15833356 | Dec 2017 | US |
Child | 16246017 | US | |
Parent | 15030756 | Apr 2016 | US |
Child | 15833356 | US |