Patent Description:
Embodiments described herein relate to electrical devices powered by one or more batteries and/or battery packs.

Examples of prior art electrical devices are shown in <CIT>, <CIT>, <CIT>, <CIT>, <CIT>, <CIT>, <CIT> and <CIT>.

Battery packs may include a temperature sensor, such as a thermistor, for determining the temperature of the device as the device is charged or discharged. These temperature sensors may be used for protection measures, such as stopping charge or discharge when a temperature passes a threshold.

Power tools described herein include a battery pack interface configured to receive a battery pack. The battery pack interface includes one or more power terminals and one or more communication terminals. The power tools further include a controller having an electronic processor. The controller is configured to receive, via the one or more communication terminals, a plurality of signals indicating a plurality of temperatures of the battery pack. The controller is further configured to determine, based on the signals, a battery pack type. The controller is further configured to control discharge of the battery pack based on the battery pack type.

In some embodiments, the discharge of the battery pack includes a constant power. In some embodiments, the discharge of the battery pack includes a step function of decreasing power. In some embodiments, the discharge of the battery pack includes a series of decreasing ramp functions. In some embodiments, the battery pack discharges at a first power for a first period of time, decreases from the first power to a second power over a second period of time, and discharges at a third power over a third period of time. In some embodiments, the plurality of signals indicating a temperature of the battery pack is provided by a thermistor of the battery pack. In some embodiments, the plurality of signals indicating a temperature of the battery pack are equal in value.

In some embodiments, determining the battery pack type further includes receiving a first signal of the plurality of signals indicating a temperature of the battery pack, receiving a second signal of the plurality of signals indicating a temperature of the battery pack, and determining a slope of the plurality of signals by subtracting the second signal from the first signal. In some embodiments, the step of determining, based on the plurality of signals, the battery pack type further includes comparing the slope of the plurality of signals to a predetermined slope.

Battery packs described herein include a housing, at least one battery cell contained within the housing, and a battery pack interface configured to connect to an electronic device. The battery pack interface includes one or more power terminals and one or more communication terminals. The battery packs further include a discharge circuit configured to discharge current from the battery cells to the one or more terminals of the battery interface. The battery packs also include a thermistor configured to provide a plurality of signals indicating a plurality of temperatures of the battery pack to the one or more communication terminals of the battery pack interface. The plurality of signals are provided to the electronic device to determine a type of the battery pack for controlling discharge of the battery pack based on the type of the battery pack.

In some embodiments, the discharge of the battery pack includes a constant power. In some embodiments, the discharge of the battery pack includes a ramp function of decreasing power. In some embodiments, the plurality of signals indicating a temperature of the battery pack is provided by a thermistor of the battery pack. In some embodiments, the plurality of signals indicating a temperature of the battery pack are equal in value. In some embodiments, determining the battery pack type further includes comparing a slope of the plurality of signals to a predetermined slope.

Methods described herein provide for determining a battery pack type. The methods include receiving, by a battery pack interface of a power tool, a battery pack. The methods further include receiving, by one or more communication terminals of the battery pack interface, a plurality of signals indicating a plurality of temperatures of the battery pack. The method further includes determining, based on the plurality of signals, the battery pack type. The methods further include controlling, based on the battery pack type, a discharge cycle of the battery pack.

In some embodiments, the plurality of signals indicating a temperature of the battery pack is provided by a thermistor of the battery pack. In some embodiments, the plurality of signals indicating a temperature of the battery pack are equal in value. In some embodiments, the method further includes comparing a slope of the plurality of signals to a predetermined slope. In some embodiments, the battery pack discharges at a first power for a first period of time, decreases from the first power to a second power over a second period of time, and discharges at a third power over a third period of time.

Use of "including" and "comprising" and variations thereof as used herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. Use of "consisting of" and variations thereof as used herein is meant to encompass only the items listed thereafter and equivalents thereof.

Also, the functionality described herein as being performed by one component may be performed by multiple components in a distributed manner. Likewise, functionality performed by multiple components may be consolidated and performed by a single component. Similarly, a component described as performing particular functionality may also perform additional functionality not described herein. For example, a device or structure that is "configured" in a certain way is configured in at least that way but may also be configured in ways that are not listed.

Furthermore, some embodiments described herein may include one or more electronic processors configured to perform the described functionality by executing instructions stored in a non-transitory, computer-readable medium. Similarly, embodiments described herein may be implemented as a non-transitory, computer-readable medium storing instructions executable by one or more electronic processors to perform the described functionality. As used in the present application, "non-transitory computer-readable medium" comprises all computer-readable media but does not consist of a transitory, propagating signal. Accordingly, non-transitory computer-readable medium may include, for example, a hard disk, a CD-ROM, an optical storage device, a magnetic storage device, a ROM (Read Only Memory), a RAM (Random Access Memory), register memory, a processor cache, or any combination thereof.

Many of the modules and logical structures described are capable of being implemented in software executed by a microprocessor or a similar device or of being implemented in hardware using a variety of components including, for example, application specific integrated circuits ("ASICs"). Terms like "controller" and "module" may include or refer to both hardware and/or software. Capitalized terms conform to common practices and help correlate the description with the coding examples, equations, and/or drawings. However, no specific meaning is implied or should be inferred simply due to the use of capitalization. Thus, the claims should not be limited to the specific examples or terminology or to any specific hardware or software implementation or combination of software or hardware.

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

<FIG> illustrates a battery pack <NUM> according to some embodiments. The battery pack <NUM> includes a housing <NUM> and an interface portion <NUM> (e.g., a battery interface, a battery pack interface) for connecting the battery pack <NUM> to a device (e.g., an electrical device such as, but not limited to, a power tool).

<FIG> illustrates a control system for the battery pack <NUM> according to some embodiments. The control system includes a controller <NUM>. The controller <NUM> is electrically and/or communicatively connected to a variety of modules or components of the battery pack <NUM>. For example, the illustrated controller <NUM> is connected to one or more battery cells <NUM> and an interface <NUM> (e.g., the interface portion <NUM> of the battery pack <NUM> illustrated in <FIG>). The controller <NUM> is also connected to one or more voltage sensors or voltage sensing circuits <NUM>, one or more current sensors or current sensing circuits <NUM>, and one or more temperature sensor(s) or temperature sensing circuit(s) <NUM>. The temperature sensing circuit(s) <NUM> may include, for example, a thermistor. The temperature sensing circuit(s) <NUM> sends a signal to the controller <NUM> indicating a temperature of the battery pack. A resettable electronic fuse <NUM> is connected between the one or more battery cells <NUM> and the interface <NUM>. The controller <NUM> includes combinations of hardware and software that are operable to, among other things, control the operation of the battery pack <NUM>, control the operation of the resettable electronic fuse <NUM>, monitor a condition of the battery pack <NUM>, enable or disable charging of the battery pack <NUM>, enable or disable discharging of the battery pack <NUM>, etc..

The controller <NUM> includes a plurality of electrical and electronic components that provide power, operational control, and protection to the components and modules within the controller <NUM> and/or the battery pack <NUM>. For example, the controller <NUM> includes, among other things, a processing unit <NUM> (e.g., a microprocessor, a microcontroller, or another suitable programmable device), a memory <NUM>, input units <NUM>, and output units <NUM>. The processing unit <NUM> includes, among other things, a control unit <NUM>, an arithmetic logic unit ("ALU") <NUM>, and a plurality of registers <NUM> (shown as a group of registers in <FIG>), and is implemented using a known computer architecture (e.g., a modified Harvard architecture, a von Neumann architecture, etc.). The processing unit <NUM>, the memory <NUM>, the input units <NUM>, and the output units <NUM>, as well as the various modules or circuits connected to the controller <NUM> are connected by one or more control and/or data buses (e.g., common bus <NUM>). The control and/or data buses are shown generally in <FIG> for illustrative purposes. The use of one or more control and/or data buses for the interconnection between and communication among the various modules, circuits, and components would be known to a person skilled in the art in view of the invention described herein.

The memory <NUM> is a non-transitory computer readable medium and includes, for example, a program storage area and a data storage area. The program storage area and the data storage area can include combinations of different types of memory, such as a ROM, a RAM (e.g., DRAM, SDRAM, etc.), EEPROM, flash memory, a hard disk, an SD card, or other suitable magnetic, optical, physical, or electronic memory devices. The processing unit <NUM> is connected to the memory <NUM> and executes software instructions that are capable of being stored in a RAM of the memory <NUM> (e.g., during execution), a ROM of the memory <NUM> (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 <NUM> can be stored in the memory <NUM> of the controller <NUM>. 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 <NUM> is configured to retrieve from the memory <NUM> and execute, among other things, instructions related to the control processes and methods described herein. In other constructions, the controller <NUM> includes additional, fewer, or different components.

The interface <NUM> includes a combination of mechanical components (e.g., rails, grooves, latches, etc.) and electrical components (e.g., one or more terminals) configured to and operable for interfacing (e.g., mechanically, electrically, and communicatively connecting) the battery pack <NUM> with another device (e.g., a power tool, a battery pack charger, etc.). For example, the interface <NUM> is configured to receive power through the resettable electronic fuse <NUM> via a power line <NUM> between the one or more battery cells <NUM> and the interface <NUM>. The interface <NUM> is also configured to communicatively connect to the controller <NUM> via a communications line <NUM>. In some embodiments, the controller <NUM> is also electrically and/or communicatively connected to the resettable electronic fuse <NUM> via a signal line <NUM>.

<FIG> illustrates a device <NUM> according to some embodiments. In the embodiment illustrated in <FIG>, the device is a power tool (e.g., a drill/driver). In other embodiments, the device <NUM> is a different type of power tool (e.g., an impact wrench, a ratchet, a saw, a hammer drill, an impact driver, a rotary hammer, a grinder, a blower, a trimmer, etc.) or a different type of device (e.g., a light, a non-motorized sensing tool, etc.). The device <NUM> includes a housing <NUM> and an interface portion <NUM> (e.g., a battery interface, a battery pack interface) for connecting the device <NUM> to, for example, the battery pack <NUM> or another device.

<FIG> illustrates a control system for the device <NUM>. The control system includes a controller <NUM>. The controller <NUM> is electrically and/or communicatively connected to a variety of modules or components of the device <NUM>. For example, the illustrated controller <NUM> is electrically connected to a motor <NUM>, a battery pack interface <NUM>, a trigger switch <NUM> (connected to a trigger <NUM>), one or more sensors or sensing circuits <NUM>, one or more indicators <NUM>, a user input module <NUM>, a power input module <NUM>, a resettable electronic fuse <NUM>, and a FET switching module <NUM> (e.g., including a plurality of switching FETs). The controller <NUM> includes combinations of hardware and software that are operable to, among other things, control the operation of the device <NUM>, monitor the operation of the device <NUM>, activate the one or more indicators <NUM> (e.g., an LED), etc. The resettable electronic fuse <NUM> is connected between the battery pack interface <NUM> and the FET switching module <NUM>.

The controller <NUM> includes a plurality of electrical and electronic components that provide power, operational control, and protection to the components and modules within the controller <NUM> and/or the device <NUM>. For example, the controller <NUM> includes, among other things, a processing unit <NUM> (e.g., a microprocessor, a microcontroller, an electronic controller, an electronic processor, or another suitable programmable device), a memory <NUM>, input units <NUM>, and output units <NUM>. The processing unit <NUM> includes, among other things, a control unit <NUM>, an ALU <NUM>, and a plurality of registers <NUM> (shown as a group of registers in <FIG>), and is implemented using a known computer architecture (e.g., a modified Harvard architecture, a von Neumann architecture, etc.). The processing unit <NUM>, the memory <NUM>, the input units <NUM>, and the output units <NUM>, as well as the various modules or circuits connected to the controller <NUM> are connected by one or more control and/or data buses (e.g., common bus <NUM>). The control and/or data buses are shown generally in <FIG> for illustrative purposes. The use of one or more control and/or data buses for the interconnection between and communication among the various modules, circuits, and components would be known to a person skilled in the art in view of the invention described herein.

The memory <NUM> is a non-transitory computer readable medium and includes, for example, a program storage area and a data storage area. The program storage area and the data storage area can include combinations of different types of memory, such as a ROM, a RAM (e.g., DRAM, SDRAM, etc.), EEPROM, flash memory, a hard disk, an SD card, or other suitable magnetic, optical, physical, or electronic memory devices. The processing unit <NUM> is connected to the memory <NUM> and executes software instructions that are capable of being stored in a RAM of the memory <NUM> (e.g., during execution), a ROM of the memory <NUM> (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 device <NUM> can be stored in the memory <NUM> of the controller <NUM>. 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 <NUM> is configured to retrieve from the memory <NUM> and execute, among other things, instructions related to the control processes and methods described herein. In other constructions, the controller <NUM> includes additional, fewer, or different components.

The battery pack interface <NUM> includes a combination of mechanical components (e.g., rails, grooves, latches, etc.) and electrical components (e.g., one or more terminals) configured to and operable for interfacing (e.g., mechanically, electrically, and communicatively connecting) the device <NUM> with a battery pack (e.g., the battery pack <NUM>). For example, power provided by the battery pack <NUM> to the device <NUM> is provided through the battery pack interface <NUM> to the power input module <NUM>. The power input module <NUM> includes combinations of active and passive components to regulate or control the power received from the battery pack <NUM> prior to power being provided to the controller <NUM>. The battery pack interface <NUM> also supplies power to the FET switching module <NUM> through the resettable electronic fuse <NUM> to be switched by the switching FETs to selectively provide power to the motor <NUM>. The battery pack interface <NUM> also includes, for example, a communication line <NUM> for provided a communication line or link between the controller <NUM> and the battery pack <NUM>. Information transmitted on the communication line <NUM> may include, for example, a signal indicating temperature information of the battery pack <NUM>.

The indicators <NUM> include, for example, one or more light-emitting diodes ("LEDs"). The indicators <NUM> can be configured to display conditions of, or information associated with, the device <NUM>. For example, the indicators <NUM> are configured to indicate measured electrical characteristics of the device <NUM>, the status of the device, the status of the resettable electronic fuse <NUM>, etc. The user input module <NUM> is operably coupled to the controller <NUM> to, for example, select a forward mode of operation or a reverse mode of operation, a torque and/or speed setting for the device <NUM> (e.g., using torque and/or speed switches), etc. In some embodiments, the user input module <NUM> includes a combination of digital and analog input or output devices required to achieve a desired level of operation for the device <NUM>, such as one or more knobs, one or more dials, one or more switches, one or more buttons, etc..

<FIG> illustrates a method <NUM> performed by the device <NUM> for determining a battery pack type of the battery pack <NUM>. The method begins at block <NUM> with receiving, via the battery pack interface <NUM> of the device <NUM>, the battery pack <NUM>. For example, interface portion <NUM> of the device <NUM> of <FIG> connects with interface portion <NUM> of the battery pack <NUM>.

At block <NUM>, the device <NUM> receives, by one or more communication terminals, a plurality of signals indicating a plurality of temperatures of the battery pack <NUM>. In one embodiment, the temperature sensing circuit(s) <NUM> of the battery pack <NUM> signals to the controller <NUM> information indicating the temperature of the battery pack <NUM>. The controller <NUM> transmits this information to the controller <NUM> of the device <NUM> via the interface <NUM>. In an alternative embodiment, the temperature sensing circuit(s) <NUM> is directly connected to the interface <NUM> and sends the signal directly to the controller <NUM> of the device <NUM>. The signal indicating the temperature of the battery pack <NUM> is continuously transmitted to the device <NUM>, providing a plurality of signals indicating a plurality of temperatures of the battery pack <NUM>. In another embodiment, a signal indicating a temperature of the battery pack <NUM> is transmitted to the device <NUM> at discrete time values. For example, the discrete time values may be once every <NUM> seconds.

<FIG> provide examples of the plurality of signals indicating the plurality of temperatures of the battery pack <NUM> received by the controller <NUM> of the device <NUM>. <FIG>, for example, illustrates a thermistor that outputs a voltage linearly related to the temperature of the battery pack <NUM>. For example, at <NUM>, the thermistor outputs a voltage of approximately <NUM> V. As the battery pack <NUM> heats, the voltage output by the thermistor decreases. For example, when the battery pack has heated to <NUM>, the voltage output by the thermistor decreases to approximately <NUM> V.

<FIG> illustrates a thermistor that outputs an alternative plurality of signals indicating the plurality of temperatures of the battery pack <NUM> received by the controller <NUM> of the device <NUM>. In <FIG>, the thermistor outputs a constant voltage, such as <NUM> V, when the temperature is between <NUM> and <NUM>. From -<NUM> to <NUM>, and from <NUM> to <NUM>, the thermistor outputs a higher voltage, such as <NUM> V. Once the temperature of the battery pack <NUM> passes a high temperature threshold, such as <NUM>, there is a significant drop in output voltage. For example, the voltage output by the thermistor drops to <NUM> V. Although two examples are shown, the plurality of signals indicating the plurality of temperatures of the battery pack <NUM> received by the controller <NUM> is not limited by these examples.

Referring back to block <NUM> of the method <NUM>, the device <NUM> determines, based on the plurality of signals, the battery pack type. For example, the controller <NUM> may determine a slope of the plurality of signals indicating a plurality of temperatures of the battery pack. For example, the controller <NUM> receives a first temperature signal from the thermistor (for example, receiving a voltage of <NUM> V). The controller <NUM> continues to receive temperature signals in which the voltage drops (for example, <NUM> V, <NUM> V, and <NUM> V). Upon reaching a time threshold, the controller <NUM> determines a slope of -<NUM> V/min, indicating the battery pack <NUM> is heating. This slope may be found by averaging the changes in voltage, by averaging multiple slopes over a given time period, or similar techniques. The slope may also indicate a change in temperature from one signal to the next. In another embodiment, the controller <NUM> continuously determines the slope. For example, the controller <NUM> receives a first temperature signal from the thermistor (for example, receiving a voltage of <NUM> V). The controller <NUM> next receives a second temperature signal from the thermistor (for example, receiving a voltage of <NUM> V). The controller <NUM> determines a slope of -<NUM> by subtracting the second temperature signal from the first temperature signal. Next, the controller receives a third temperature signal from the thermistor, receiving a voltage of <NUM> V. The controller <NUM> determines a slope of -<NUM> by subtracting the third temperature signal from the second temperature signal.

In one embodiment, a battery pack type is determined by comparing a slope of the plurality of signals to a predetermined slope. For example, upon determining a slope of the plurality of signals, the controller <NUM> compares the slope of the plurality of signals to a threshold slope stored within the memory <NUM>. If the slope of the plurality of signals is above the threshold slope, the controller <NUM> determines the battery pack type to be a first battery pack type. If the slope of the plurality of signals is below the threshold slope, the controller <NUM> determines the battery pack type to be a second battery pack type. In another embodiment, if the slope of the plurality of signals is non-zero, such as the example provided above with respect to <FIG>, the controller <NUM> determines the battery pack type to be a first battery pack type. In yet another embodiment, if the slope of the plurality of signals is zero, such as the example provided above with respect to <FIG>, the controller <NUM> determines the battery pack type to be a second battery pack type.

In one embodiment, the controller <NUM> compares the slope of the plurality of signals to a plurality of slopes stored within the memory <NUM>. For example, the memory <NUM> has a table of slopes. The slope of the plurality of signals is compared to each of the slopes of the table of slopes. The comparison of the slope of the plurality of signals with a slope of the table of slopes with the lowest error is chosen. The battery pack type associated with the slope of the table of slopes with the lowest error is determined.

Returning to <FIG>, in block <NUM>, the device <NUM> controls, based on the battery pack type, a discharge cycle of the battery pack. For example, the battery pack type has an associated discharge cycle. <FIG> provide examples of discharge cycles for the battery pack <NUM>. In one embodiment, a first battery pack type is determined. The discharge cycle illustrated in <FIG> may be associated with the first battery pack type. The battery pack <NUM> may output power at power value a1 until a battery capacity value x1 is reached. When battery capacity x1 is reached, the output power is linearly reduced from power value a1 to power value a2 until battery capacity value x2 is reached. Next, the output power is maintained at power value a2 until battery capacity value x3 is reached. Output power is then linearly reduced from power value a2 to power value a3 until battery capacity value x4 is reached.

Although the battery capacity values are moving in the positive direction on the axis, the battery capacity values are decreasing. The battery capacity values above may be voltage values, indicating the discharge is based on the battery cell voltage. For example, x1 may be <NUM> V, and x2 may be <NUM> V. The battery capacity values may also be times, indicating a time-based discharge. For example, x1 may be <NUM> seconds, and x2 may be <NUM> seconds. For, example, the output power is gradually reduced from power value a1 to power value a2 over the <NUM> second time period. The battery capacity values may also be a combination of time values and voltage values. For example, x1 may be <NUM> seconds, x2 may be <NUM> seconds, and x3 may be <NUM> V. Additionally, although the output power is shown to decrease linearly, it is not restricted to a linear decrease. For example, the output power may decrease nonlinearly, exponentially, or similar manners.

<FIG> provides another embodiment of a discharge cycle of the battery pack. In this example, power is output at a power value b1 until battery capacity reaches a battery capacity value y1. Upon reaching battery capacity y1, the power output decreases linearly until a battery capacity value y2 is reached.

<FIG> provides another embodiment of a discharge cycle of the battery pack. In this example, power is output at a power value c1 until battery capacity value z1 is reached. Upon reaching battery capacity value z1, the output power decreases from power value c1 to power value c2 until battery capacity value z2 is reached. Upon reaching battery capacity value z2, the output power continues to decrease, but at a slope substantially less than the slope between battery capacity value z1 and the battery capacity value z2. The output power decreases until reaching power value c3. The output power is maintained at power value c3 until reaching battery capacity value z3.

<FIG> provides another embodiment of a discharge cycle of the battery pack. In this example, discharge begins at power value d1, but immediately begins to decrease the output power. The output power decreases in value until battery capacity value u1 is reached. Upon reaching battery capacity value u1, the output power continues to decrease in value at a slope substantially greater the slope between the beginning of discharge and battery capacity value u1. The output power continues to decrease until power value d2 is reached. The output power is maintained at output value d2 until battery capacity value u2 is reached.

<FIG> provides another embodiment of a discharge cycle of the battery pack. In this example, discharge begins at power value e1. Discharge continues at power value e1 until battery capacity value w1 is reached. Upon reaching battery capacity value w1, the output power decreases to power value d1 at battery capacity value w2. The output power is maintained at power value e2 until battery capacity value w3 is reached.

Embodiments of the invention are not restricted to the examples given above. The discharge cycle of the battery pack may also include a step function of decreasing power, a series of decreasing ramp function, exponential discharges, constant discharges, and the like.

Claim 1:
A power tool (<NUM>) comprising:
a battery pack interface (<NUM>) configured to receive a battery pack (<NUM>), the battery pack interface (<NUM>) including one or more power terminals and one or more communication terminals; and
a controller (<NUM>) including an electronic processor (<NUM>) and a memory (<NUM>), characterized by the controller (<NUM>) being configured to:
receive, via the one or more communication terminals, a plurality of signals indicating a plurality of temperatures of the battery pack (<NUM>);
determine, based on the plurality of signals, a battery pack type; and
control discharge of the battery pack (<NUM>) based on the battery pack type.