Nail gun and power tool
By using brushless motors and electronic controllers in power tools, combined with Hall effect sensors and magnetic field orientation control algorithms, dynamic control of the motor magnetic field is achieved, which solves the problem of inflexible magnetic field control in the existing technology and improves the operating speed and efficiency.
Patent Information
- Application Number
- CN202390000149.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Utility models(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-29
- Filing Date
- 2023-01-13
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2033-01-13
AI Technical Summary
During the use of existing power tools, the magnetic field control is inflexible, resulting in low motor efficiency and limited operating speed.
Brushless motors and electronic controllers are adopted to detect the position and state of the drive blades, dynamically adjust the magnetic field weakening strategy, and combine Hall effect sensors and magnetic field directional control algorithms to achieve precise control of the motor magnetic field.
It improves the operating speed and efficiency of the power tool, reduces the time between operation, and enhances the flexibility and control accuracy of the motor.
Smart Images

Figure CN222484570U_ABST
Abstract
Description
[0001] Related Applications
[0002] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 299,738 filed on January 14, 2022 and U.S. Provisional Patent Application No. 63 / 369,796 filed on July 29, 2022, the entire contents of each of which are incorporated herein by reference. Technical Field
[0003] The embodiments described herein relate to power tools. Utility Model Content
[0004] The power tool described herein includes a housing, a brushless motor, a power switch circuit, and an electronic controller. The brushless motor is within the housing. The brushless motor includes a rotor and a stator. The rotor is coupled to a motor shaft arranged to rotate about a longitudinal axis. The motor shaft is arranged to generate a rotational output to a drive mechanism. The power switch circuit provides power supply from a battery pack to the brushless motor. The electronic controller is configured to: determine parameters associated with the battery pack, assign a classification to the battery pack based on the determined parameters, and control a magnetic field weakening applied to the brushless motor based on the classification of the battery pack.
[0005] The nail gun described herein includes a housing, a brushless motor, a power switch circuit, a drive blade, and an electronic controller. The brushless motor is within the housing. The brushless motor includes a rotor and a stator. The rotor is coupled to a motor shaft arranged to rotate about a longitudinal axis. The longitudinal axis extends through the motor shaft. The motor shaft is arranged to generate a rotational output to a drive mechanism. The power switch circuit provides a power supply from a battery pack to the brushless motor. The drive blade is configured to be driven by the drive mechanism between a first position and a second position. The electronic controller is configured to determine whether the drive blade is in the first position, and in response to determining that the drive blade is in the first position, apply a magnetic field weakening to the brushless motor when the drive blade moves from the first position to the second position.
[0006] In some aspects, the electronic controller is further configured to determine whether the drive blade is in the second position, and terminate field weakening of the brushless motor in response to determining that the drive blade is in the second position.
[0007] In some aspects, the nail guns described herein further include a sensor configured to generate a sensor signal, and the electronic controller is further configured to receive the sensor signal from the sensor.
[0008] In some aspects, the electronic controller is further configured to determine whether the drive blade is in the first position based on the sensor signal.
[0009] In some aspects, the sensor is a Hall effect sensor.
[0010] In some aspects, the electronic controller is further configured to apply a phase advance angle to control the brushless motor.
[0011] In some aspects, the electronic controller is further configured to apply a field oriented control ("FOC") algorithm to control the brushless motor.
[0012] Methods for controlling a nail gun are described herein, the nail gun including an electronic controller and a drive blade configured to be driven by a drive mechanism between a first position and a second position. The methods include: determining whether the drive blade is in the first position; and in response to determining that the drive blade is in the first position, applying magnetic field weakening to the brushless motor when the drive blade moves from the first position to the second position.
[0013] In some aspects, the methods described herein further include: determining whether the drive blade is in the second position; and terminating field weakening of the brushless motor in response to determining that the drive blade is in the second position.
[0014] In some aspects, the methods described herein further include receiving, at the electronic controller, a sensor signal from the sensor.
[0015] In some aspects, the methods described herein further include determining whether the drive blade is in the first position based on the sensor signal.
[0016] In some aspects, the sensor is a Hall effect sensor.
[0017] In some aspects, the methods described herein further include applying a phase advance angle to control the brushless motor.
[0018] In some aspects, the methods described herein further include applying a field oriented control ("FOC") algorithm to control the brushless motor.
[0019] The power tool described herein includes a housing, a brushless motor, a power switch circuit, and an electronic controller. The brushless motor is within the housing. The brushless motor includes a rotor and a stator. The rotor is coupled to a motor shaft arranged to rotate about a longitudinal axis. The longitudinal axis extends through the motor shaft. The motor shaft is arranged to generate a rotational output to a drive mechanism. The power switch circuit provides power supply from a battery pack interface to the brushless motor. The electronic controller is configured to: determine parameters associated with the battery pack, classify the battery pack based on the determined parameters, and control the weakening of the magnetic field applied to the brushless motor based on the classification of the battery pack.
[0020] In some aspects, the electronic controller is further configured to apply field weakening to the brushless motor in response to classifying the battery pack as a high capacity battery pack.
[0021] In some aspects, the electronic controller is further configured to disable field weakening of the brushless motor in response to classifying the battery pack as a low capacity battery pack.
[0022] In some aspects, the electronic controller is further configured to adjust field weakening applied to the brushless motor based on parameters associated with the battery pack.
[0023] In some aspects, the parameter is a state of charge of the battery pack, and the electronic controller is further configured to adjust the field weakening applied to the brushless motor based on the state of charge of the battery pack.
[0024] In some aspects, the parameter is a temperature of the battery pack, and the electronic controller is further configured to adjust the field weakening applied to the brushless motor based on the temperature of the battery pack.
[0025] In some aspects, the electronic controller is further configured to receive a first indication associated with a first operating mode of the power tool. The first operating mode includes a first set of operating parameters that enable magnetic field weakening. The electronic controller is further configured to: in response to receiving the first indication associated with the first operating mode of the power tool, control the operation of the brushless motor according to the first operating mode, and receive a second indication associated with a second operating mode of the power tool. The second operating mode includes a second set of operating parameters that disable magnetic field weakening. The electronic controller is further configured to: in response to receiving the second indication associated with the second operating mode of the power tool, control the operation of the brushless motor according to the second operating mode.
[0026] In some aspects, the parameter associated with the battery pack is an identification of the battery pack.
[0027] In some aspects, the parameter associated with the battery is the impedance of the battery.
[0028] In some aspects, the parameter associated with the battery is the ampere-hour capacity of the battery.
[0029] Methods for controlling a power tool, the power tool including a brushless motor and a battery pack interface. The battery pack interface is configured to receive a battery pack. The methods include: determining parameters associated with the battery pack; classifying the battery pack based on the determined parameters; and controlling magnetic field weakening applied to the brushless motor based on the classification of the battery pack.
[0030] In some aspects, the methods described herein further include applying field weakening to the brushless motor in response to classifying the battery pack as a high capacity battery pack.
[0031] In some aspects, the methods described herein further include disabling field weakening of the brushless motor in response to classifying the battery pack as a low capacity battery pack.
[0032] In some aspects, the methods described herein further include adjusting field weakening applied to the brushless motor based on parameters associated with the battery pack.
[0033] In some aspects, the parameter is a state of charge of the battery pack, and the methods further include adjusting field weakening applied to the brushless motor based on the state of charge of the battery pack.
[0034] In some aspects, the parameter is a temperature of the battery pack, and the method further includes adjusting field weakening applied to the brushless motor based on the temperature of the battery pack.
[0035] In some aspects, the methods described herein further include: receiving a first indication associated with a first operating mode of the power tool, the first operating mode including a first set of operating parameters that enable magnetic field weakening; in response to receiving the first indication associated with the first operating mode of the power tool, controlling the operation of the brushless motor according to the first operating mode; receiving a second indication associated with a second operating mode of the power tool, the second operating mode including a second set of operating parameters that disable magnetic field weakening; and in response to receiving the second indication associated with the second operating mode of the power tool, controlling the operation of the brushless motor according to the second operating mode.
[0036] In some aspects, the parameter associated with the battery pack is an identification of the battery pack.
[0037] In some aspects, the parameter associated with the battery is the impedance of the battery.
[0038] In some aspects, the parameter associated with the battery is the ampere-hour capacity of the battery.
[0039] Before explaining any embodiment in detail, it should be understood that the embodiment does not limit its application to the details of the configuration and arrangement of components set forth in the following description or shown in the accompanying drawings. The embodiments can be practiced or executed in various ways. In addition, it should be understood that the words and terms used herein are for illustrative purposes and should not be considered restrictive. The use of "including", "comprising" or "having" and variations thereof is intended to cover the items listed thereafter and their equivalents, as well as additional items. Unless otherwise specified or limited, the terms "mount", "connect", "support" and "couple" and variations thereof are used broadly, and these terms cover both direct mounting, connection, support and coupling and indirect mounting, connection, support and coupling.
[0040] In addition, it should be understood that embodiments may include hardware, software, and electronic components or modules, which, for the purpose of discussion, may be shown and described as if most components are implemented only in hardware. However, those of ordinary skill in the art will recognize, based on reading this detailed description, that in at least one embodiment, electronic-based aspects may be implemented in software (e.g., stored on a non-transitory computer-readable medium) that may be executed by one or more processing units (such as a microprocessor and / or an application-specific integrated circuit ("ASIC")). Thus, it should be noted that embodiments may be implemented using a plurality of hardware- and software-based devices and a plurality of different structural components. For example, the "server" and "computing device" described in the specification may include one or more processing units, one or more computer-readable medium modules, one or more input / output interfaces, and various connectors (e.g., a system bus) connecting the various components.
[0041] Other aspects of the embodiments will become apparent by consideration of the detailed description and accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Figure 1 A power tool according to some embodiments is presented.
[0043] Figure 2 Shown Figure 1 A partial cross-sectional view of a power tool.
[0044] Figure 3 Demonstrates a method for Figure 1 A control system for a nail gun that achieves magnetic field weakening.
[0045] Figure 4 Demonstrates a method for Figure 1 Wireless communication controller for power tools.
[0046] Figure 5Demonstrates a method for Figure 1 A communication system for power tools and external devices.
[0047] Figure 6 Demonstrates a method for Figure 1 Power tools and / or Figure 5 The user interface of the external device.
[0048] Fig. 7A yes Figure 1 Schematic diagram of a power tool showing a drive blade in a drive position or bottom dead center position.
[0049] Figure 7B yes Figure 1 A schematic diagram of a power tool showing the drive blade in an undriven position or top dead center position prior to actuation.
[0050] Fig. 8A is an enlarged cross-sectional view of a portion of a power tool showing a passage in the power tool for replenishing pressure.
[0051] Figure 8B is similar to Fig. 8A An enlarged cross-sectional view of a portion of a nail gun is shown with a check valve positioned in the passage.
[0052] Fig. 9 According to some embodiments, Figure 1 Flow chart of a method for achieving magnetic field weakening in a power tool.
[0053] Fig.10 Shown (for example, in Figure 1 A block diagram of a power tool including a sensor motor control.
[0054] Fig.11A and Fig. 11B Demonstrated incorporation Figure 1 Sensor board for brushless DC motors in power tools.
[0055] Fig. 11C is a graph illustrating commutation of a brushless motor according to some embodiments.
[0056] Fig.12 According to some embodiments, Figure 1 Flow chart of a method for implementing a sensor magnetic field weakening method in a power tool.
[0057] Fig.13 According to some embodiments, Figure 1 A block diagram of a control system for a sensorless field oriented control ("FOC") algorithm used in a power tool.
[0058] Fig.14 is a graph showing the relationship between stator flux current and stator torque current according to some embodiments.
[0059] Fig.15 is a graph showing negative stator flux current determined by a maximum torque per ampere (“MTPA”) algorithm for use in sensorless field oriented control (“FOC”), according to some embodiments.
[0060] Fig.16 is a block diagram of a control system for implementing an MTPA algorithm according to some embodiments.
[0061] Fig.17 is a flow chart of a method for implementing an MTPA algorithm according to some embodiments.
[0062] Fig.18 is a graph showing the relationship between stator flux current and stator torque current according to some embodiments.
[0063] Fig.19 is a graph showing results of sensorless field weakening operation according to some embodiments.
[0064] Fig. 20A is a block diagram of a control system for implementing a maximum torque per volt (“MTPV”) algorithm, according to some embodiments.
[0065] Fig. 20B is a block diagram of a control system for implementing an MTPV algorithm according to some embodiments.
[0066] Fig.21 is a flow chart of a method for implementing an MTPV algorithm according to some embodiments.
[0067] Fig.22A According to some embodiments, Figure 1 Flow chart of a method for implementing sensorless magnetic field weakening in a power tool.
[0068] Fig. 22B is to demonstrate the implementation according to some embodiments Fig.22A Method Figure 1 A graph of the output of a power tool.
[0069] Fig.23 is a graph showing the relationship between motor speed, motor torque, stator flux current, and stator torque current according to some embodiments.
[0070] Fig.24 is a graph showing the relationship between motor speed, motor torque, stator current, and source current according to some embodiments.
[0071] Fig.25 is a graph showing the relationship between motor speed, motor torque, stator flux current determined by an MTPA algorithm, and stator flux current determined by an MTPV algorithm according to some embodiments.
[0072] Fig.26 is a graph showing the relationship between motor speed, motor torque, a correction factor used in the MTPV algorithm, and a modulation index used in the MTPV algorithm according to some embodiments.
[0073] Fig. 27 is a graph showing the relationship between motor speed, motor torque, stator torque current determined by an MTPA algorithm, and stator torque current determined by an MTPV algorithm according to some embodiments.
[0074] Fig.28 is a graph showing the relationship between motor torque and motor speed and motor torque and motor current according to some embodiments.
[0075] Fig.29 According to some embodiments, Figure 1 Flow chart of a method for implementing sensorless magnetic field weakening in a power tool.
[0076] Fig. 30A A battery pack according to some embodiments is shown.
[0077] Fig. 30B A group of battery cells is shown according to some embodiments.
[0078] Fig.31A A battery pack according to some embodiments is shown.
[0079] Fig.31B A group of battery cells is shown according to some embodiments.
[0080] Fig.32 A circuit diagram of a switch module according to embodiments described herein is shown.
[0081] Fig.33A , Fig.33B , Fig.33C and Fig.33D A method for demonstrating the Fig.32 A circuit diagram of the flow of current in a circuit diagram.
[0082] Fig.34A , Fig.34B and Fig.34C is a flow chart of a method for determining impedance of a battery pack according to some embodiments.
[0083] Fig.35 Circuitry for determining the identity of a battery pack is shown according to some embodiments.
[0084] Fig.36 According to some embodiments, the classification of the battery pack is used to control Figure 1 Flow chart of a method for weakening the magnetic field of a power tool.
[0085] Fig.37 According to some embodiments, a method for controlling Figure 1 A flow chart of a method of operation of a power tool.
[0086] Fig.38 According to some embodiments, a battery pack is used to control Figure 1 A flow chart of a method of operation of a power tool.
[0087] Fig.39 According to some embodiments, a battery pack is used to control Figure 1 A flow chart of a method of operation of a power tool. DETAILED DESCRIPTION
[0088] Embodiments described herein relate to a power tool, such as a fastener driver or nail gun, that is configured to implement field weakening motor control to increase, for example, the speed of operation of the power tool. Field weakening can be implemented using sensored or sensorless motor control. In some embodiments, field weakening is applied to the operation of the nail gun to move a piston from a bottom dead center position (e.g., after firing a nail) to a top dead center position for the next operation. Field weakening increases the speed at which the piston moves from the bottom dead center position to the top dead center position, thereby reducing the time required between operations.
[0089] Figure 1A power tool 10, such as a fastener driver or nail gun 10 (e.g., a gas spring powered nail gun), is shown operable to drive fasteners (e.g., single-head nails, double-head or double-pin nails, tacks, staples, etc.) held in a magazine 14 into a workpiece. The nail gun 10 is powered by a removable and rechargeable battery pack 12. Although the methods and control techniques described herein are primarily described in an exemplary manner with respect to a nail gun or other fastening device (e.g., a stapler), the methods and control techniques described herein may be implemented in other power tools 10. For example, the power tool 10 can be a circular saw, a jigsaw, a reciprocating saw, a band saw, a grinder, a cut-off saw, a tire buffer, a mud mixer, a belt file, a polisher, a sander, a cut-off tool, a rotary hammer, a drill driver, a hammer drill, a right-angle drill, an impact driver, an impact wrench, a ratchet, a screwdriver, a crimper, a pipe threader, a pump, a cable cutter, a cable stripper, a rod cutter, a pipe cutter, a pipe shears, a demolding tool, a PEX expander, an inflator, a compressor, a sewer drum, a transfer pump, a drain snake, a rivet tool, a heat gun, a grease gun, a caulking gun, a chain hoist, a track saw, a miter saw, a table saw, a multi-tool, a router, a planer, a vacuum cleaner, a fan, a blower, etc.
[0090] refer to Figure 2 , the nail gun 10 does not require an external air pressure source, but rather includes an external reservoir cylinder 30 of pressurized gas in fluid communication with the cylinder 18. In the illustrated embodiment, the cylinder 18 and the movable piston 22 are positioned within the reservoir cylinder 30. The nail gun 10 includes a buffer 112 positioned below the piston 22 to stop the piston 22 in the drive position and absorb the impact energy from the piston 22. The buffer 112 is configured to evenly distribute the impact force of the piston 22 across the buffer 112 when the piston 22 rapidly decelerates when reaching the drive position (i.e., the bottom dead center position). The buffer 112 is disposed within the cylinder 18 and is clamped in place by a drive mechanism or lifter housing portion 106 that is screwed into the bottom end of the cylinder 18. As shown, the buffer 112 is received within a cutout 114 formed in the lifter housing portion 106. The cutout 114 aligns the buffer 112 coaxially with respect to the hammer or drive blade 26. Although the term "drive blade" is used herein, the term "ram" may be used interchangeably with the drive blade. The drive blade 26 is configured to move along the same motion path (eg, from top dead center to bottom dead center) as the piston 22 .
[0091] like Figure 2As shown, the storage chamber cylinder 30 is concentric with the cylinder 18. The cylinder 18 has an annular inner wall that guides the piston 22 and the drive blade 26 along the drive axis 700 to compress the gas in the storage chamber cylinder 30. The storage chamber cylinder 30 has an annular outer wall that surrounds the inner wall circumferentially. The cylinder 18 has a threaded section and the storage chamber cylinder 30 has a corresponding thread at the lower end of the storage chamber cylinder 30, so that the lower end of the cylinder 18 is threadedly connected to the storage chamber cylinder 30. In this way, the cylinder 18 is configured to be axially fixed to the storage chamber cylinder 30.
[0092] Figure 3 A control system 300 for achieving magnetic field weakening for a nail gun 10 is shown. The control system 300 includes a controller 304. The controller 304 is electrically connected and / or communicatively connected to a plurality of modules or components of the nail gun. For example, the controller 304 is shown electrically connected to a motor 308 (e.g., see Fig.11A and Fig. 11B The motor 308 includes a motor 1015 in the embodiment of the present invention, a battery pack interface 312, a trigger switch 316 (connected to a trigger 320), one or more sensors 324 (e.g., a current sensor, a position sensor, etc.) and a temperature sensor 328, a wireless communication controller 338, one or more indicators 332, one or more user input modules 336, a power input module 340, and a gate controller 344 (connected to an inverter 348). The motor 308 includes a rotor, a stator, and a shaft that rotates around a longitudinal axis.
[0093] The controller 304 includes a combination of hardware and software that is operable to, among other things, control the operation of the nail gun 10, monitor the operation of the nail gun 10, activate one or more indicators 332 (e.g., LEDs), etc. The gate controller 344 is configured to control the inverter 348 to convert the DC power supply into a phase signal for powering the phases of the motor 308. The current sensor 324 is configured to, for example, sense the current between the inverter 348 and the motor 308. The temperature sensor 328 is configured to, for example, sense the temperature of the inverter 348. In some embodiments, the temperature sensor 328 is configured to, for example, sense the temperature of the rechargeable battery pack 12.
[0094] The controller 304 includes a plurality of electrical and electronic components that provide power, operational control, and protection for the components and modules within the controller 304 and / or the nail gun 10. For example, the controller 304 includes, among other things, a processing unit 352 (e.g., a microprocessor, a microcontroller, or another suitable programmable device), a memory 356, an input unit 360, and an output unit 364. The processing unit 352 includes, among other things, a control unit 368, an arithmetic logic unit ("ALU") 372, and a plurality of registers 376 (in Figure 3304 is shown as a set of registers) and is implemented using a known computer architecture (e.g., a modified Harvard architecture, a von Neumann architecture, etc.). The processing unit 352, the memory 356, the input unit 360, and the output unit 364, as well as various modules or circuits connected to the controller 304 are connected via one or more control buses and / or data buses (e.g., a common bus 380). For the purpose of illustration, the control bus and / or data bus are generally Figure 3 In view of the invention described herein, it will be known to those skilled in the art to use one or more control buses and / or data buses for interconnection and communication between various modules, circuits and components.
[0095] The memory 356 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 may include a combination of different types of memory, such as ROM, RAM (e.g., DRAM, SDRAM, etc.), EEPROM, flash memory, hard disk, SD card or other suitable magnetic storage device, optical storage device, physical storage device or electronic storage device. The processing unit 352 is connected to the memory 356 and executes software instructions, which can be stored in the RAM of the memory 356 (e.g., during execution), the ROM of the memory 356 (e.g., on a generally permanent basis) or another non-transitory computer-readable medium such as another memory or disk. The software included in the embodiment of the nail gun 10 can be stored in the memory 356 of the controller 304. 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 304 is configured to obtain from the memory 356 and execute instructions related to the control process and method described herein. In other configurations, the controller 304 includes additional components, fewer components or different components.
[0096] The battery pack interface 312 includes a combination of mechanical components (e.g., tracks, grooves, latches, etc.) and electrical components (e.g., one or more terminals) that are configured and operable to interface (e.g., mechanically, electrically, and communicatively connect) the nail gun 10 with the battery pack. For example, power provided to the nail gun by the battery pack is provided to the power input module 340 through the battery pack interface 312. The power input module 340 includes a combination of active and passive components that are used to regulate or control the power received from the battery pack before providing it to the controller 304. The battery pack interface 312 also supplies power to the inverter 348 that switches through the switching FET to selectively provide power to the motor 308. The battery pack interface 312 also includes, for example, a communication line 384 for providing a communication line or link between the controller 304 and the battery pack.
[0097] The indicator 332 includes, for example, one or more light emitting diodes ("LEDs"). The indicator 332 can be configured to display a condition of the nail gun 10 or information associated with the nail gun. For example, the indicator 332 is configured to indicate a measured electrical characteristic of the nail gun 10, a status of the device, etc. One or more user input modules 336 can be operably connected to the controller 304 to, for example, select a forward operating mode, or a reverse operating mode, a torque and / or speed setting for the nail gun 10 (e.g., using a torque and / or speed switch to set), etc. In some embodiments, the one or more user input modules 336 can include a combination of digital and analog input or output devices required to achieve the desired level of operation of the nail gun, such as one or more knobs, one or more dials, one or more switches, one or more buttons, etc. In some embodiments, the one or more user input modules 336 can receive signals wirelessly from a device external to the nail gun 10 (e.g., a user's mobile phone).
[0098] The controller 304 may be configured to determine whether a fault condition of the nail gun 10 exists and to generate one or more control signals associated with the fault condition. For example, the controller 304 may calculate or include in the memory 356 predetermined operating thresholds and limits for the operation of the nail gun 10. For example, when the controller 304 detects or predicts a potential thermal failure (e.g., thermal failure of a FET, motor 308, etc.), power to the motor 308 may be limited or interrupted until the likelihood of a thermal failure decreases. If the controller 304 detects one or more such fault conditions of the nail gun, or determines that the fault condition of the nail gun 10 no longer exists, the controller 304 may be configured to provide information and / or control signals to another component of the nail gun 10 (e.g., battery pack interface 312, indicator 332, etc.). These signals may be configured to, for example, trip or disconnect a high impedance trace of the nail gun, reset a switch, etc.
[0099] The controller 304 may be configured to determine the state of charge (“SOC”) of the rechargeable battery pack 12. The controller 304 may also be configured to receive signals from a monitoring circuit (e.g., including a sensor 324, etc.) configured to sense the SOC level or voltage value of the battery cells of the rechargeable battery pack 12 and transmit the voltage reading to the controller 304. The voltage level of the battery cell may be determined by, for example, measuring the total open circuit voltage of the battery cell or by summing the voltage measurement results of each battery cell. In some embodiments, the monitoring circuit is additionally configured to sense the discharge current of the battery cell (e.g., using a current sensor) and / or the temperature of the rechargeable battery pack 12 (e.g., using a temperature sensor) and transmit the sensed current and / or temperature readings to the controller 304. The monitoring circuit is further configured to receive commands from the controller 304 during operation of the nail gun 10. In some embodiments, the SOC of the rechargeable battery pack 12, the sensed current, and / or the sensed temperature are determined by the battery pack 12 and transmitted to the power tool 10.
[0100] Figure 4 An illustration of a wireless communication controller 338 is provided, which includes a processor 400, a memory 405, a real-time clock ("RTC") 410, and an antenna and transceiver 415. The wireless communication controller 338 enables the nail gun 10 to communicate with an external device 505 (see, e.g., Figure 5 ) communication. The radio antenna and transceiver 415 operate together to send and receive wireless messages to and from the external device 505 and the processor 400. The memory 405 can store instructions to be implemented by the processor 400 and / or can store data related to the communication between the nail gun 10 and the external device 505, etc. The RTC 410 can increment and maintain time independently of the components of other devices. When the battery pack 12 is connected to the nail gun 10, the RTC 410 can receive power from the battery pack 12. The processor 400 for the wireless communication controller 338 controls the wireless communication between the nail gun 10 and the external device 505. For example, the processor 400 associated with the wireless communication controller 338 buffers incoming and / or outgoing data, communicates with the controller 304, and determines the communication protocol and / or settings to be used in the wireless communication. The communication via the wireless communication controller 338 can be encrypted to protect the data exchanged between the nail gun 10 and the external device 505 from being intruded by a third party.
[0101] In the illustrated embodiment, the wireless communication controller 338 is Controller. Controller uses The wireless communication controller 338 communicates with the external device 505 using a protocol. Thus, in the illustrated embodiment, the external device 505 and the nail gun 10 are within communication range of each other (i.e., close to each other) when they exchange data. In other embodiments, the wireless communication controller 338 communicates using other protocols (e.g., Wi-Fi, ZigBee, proprietary protocols, etc.) over different types of wireless networks. For example, the wireless communication controller 338 can be configured to communicate via Wi-Fi over a wide area network (such as the Internet) or a local area network or to communicate via a piconet (e.g., using infrared or NFC communications).
[0102] In some embodiments, the network is a cellular network, such as a Global System for Mobile Communications ("GSM") network, a General Packet Radio Service ("GPRS") network, a Code Division Multiple Access ("CDMA") network, an Evolution-Data Optimized ("EV-DO") network, a GSM Enhanced Data rates for Evolution ("EDGE") network, a 3GSM network, a 4GSM network, a 4G LTE network, a 5G New Radio, a Digital Enhanced Cordless Telecommunications ("DECT") network, a Digital AMPS ("IS-136 / TDMA") network, or an Integrated Digital Enhanced Network ("iDEN") network, among others.
[0103] Wireless communication controller 338 is configured to receive data from controller 304 and relay the information to external device 505 via antenna and transceiver 415. In a similar manner, wireless communication controller 338 is configured to receive information (e.g., configuration and programming information) from external device 505 via antenna and transceiver 415 and relay the information to controller 304.
[0104] Figure 5 A communication system 500 is shown. The communication system 500 includes at least one power tool device (e.g., shown as a nail gun 10) and an external device 505. The nail gun 10 and the external device 505 can communicate wirelessly when they are within communication range of each other. The nail gun 10 can transmit status, operating statistics, sensor data, stored usage information, etc. associated with the nail gun 10. Although the nail gun 10 is shown, any other type of power tool can be provided with the same or similar communication capabilities.
[0105] More specifically, the nail gun 10 can monitor, record and / or transmit various operating parameters. The external device 505 can also transmit data to the nail gun 10 for operation configuration, firmware update or sending commands. The external device 505 also allows the user to set operating parameters, safety parameters, select tool mode, etc. for the nail gun 10.
[0106] The external device 505 is, for example, a smart phone (as shown), a laptop computer, a tablet computer, a personal digital assistant ("PDA"), or a computer capable of wirelessly communicating with the nail gun 10 and providing a user interface 600 (see, e.g., Figure 6 ). The external device 505 provides a user interface 600 and allows a user to access and interact with the nail gun 10. The external device 505 can receive user input to determine operating parameters, enable or disable features, etc. The user interface 600 of the external device 505 provides an easy-to-use interface for the user to control and customize the operation of the nail gun 10 or different types of power tools.
[0107] In addition, if Figure 5 As shown, the external device 505 can also share the operation data obtained from the nail gun 10 with a remote server 525 connected via the network 515. The remote server 525 can be used to store the operation data obtained from the external device 505, provide additional functions and services to the user, or a combination thereof. In some embodiments, storing information on the remote server 525 allows the user to access information from multiple different locations. In some embodiments, the remote server 525 collects information about its power tool device from various users and provides statistics or statistical metrics to the user based on the information obtained from different power tools. The network 515 may include various networking elements (routers 510, hubs, switches, cellular towers 520, wired connectors, wireless connectors, etc.) for connecting to, for example, the Internet, a cellular data network, a local network, or a combination thereof, as previously described. In some embodiments, the nail gun 10 is configured to communicate directly with the remote server 525 via an additional wireless interface or the same wireless interface used by the nail gun 10 to communicate with the external device 505.
[0108] Figure 6A user interface 600 for a nail gun 10 or another type of power tool is shown. In some embodiments, the user interface 600 is included in the external device 505. The user interface 600 includes a plurality of graphical user interface elements, such as a power control input 605, a first operating mode input 610, a second operating mode input 615, and a user selection mode input 620. The power control input 605 is configured to enable a user to activate and deactivate (e.g., start and shut down) the nail gun 10 or another power tool. The first operating mode input 610 is configured to enable a user to control the performance of the nail gun 10 or another power tool according to a first set of operating parameters. For example, the first operating mode input 610 provides operating parameters to control the magnetic field weakening of the nail gun 10 or another power tool based on the selection of the first operating mode input 610 and / or the determination of the characteristics of the battery pack 12. In some embodiments, the first operating mode input 610 is configured to control the operation of the nail gun 10 in a "high performance" or high power operating mode (e.g., at the expense of efficiency and / or run time) in which magnetic field weakening is enabled. The second operating mode input 615 is configured to control the operation of the nail gun 10 or another power tool in an "energy saving" or low power operating mode that disables magnetic field weakening. In other embodiments, the second operating mode input 615 is configured to enable a user to control the performance of the nail gun 10 according to a second set of operating parameters. For example, the second operating mode input 615 provides operating parameters to reduce or stop / prevent magnetic field weakening of the nail gun 10 or another power tool based on activation of the second operating mode input 615 and / or a determination of a characteristic of the battery pack 12. In some cases, the second operating mode input 615 reduces magnetic field weakening of the nail gun 10 based on a determination that a characteristic of the battery pack 12 (e.g., state of charge (SOC) or temperature) has reached a set threshold. The user selection mode input 620 is configured to enable a user to control the performance of the nail gun 10 or another power tool according to a set of operating parameters provided by the user (e.g., gradually increase or decrease the amount of magnetic field weakening, etc.).
[0109] Fig. 7A and Figure 7B A partial cross-sectional view of the nail gun 10 is shown. Figure 2 As depicted, the nail gun 10 includes a cylinder 18 and a piston 22 positioned within an outer reservoir cylinder 30. The piston 22 is configured to drive a drive blade 26. The nail gun 10 does not require an external air pressure source, but rather includes an outer reservoir cylinder 30 that communicates with the cylinder 18 for a pressurized fluid (e.g., gas). The drive blade 26 defines a drive axis 700. During a drive cycle, the drive blade 26 and the piston 22 may be in a top dead center ("TDC") position (e.g., Figure 7B ) and the drive position or bottom dead center ("BDC") position (as shown) Fig. 7A shown).
[0110] In operation, by energizing the motor 308, the lifter housing portion 106 drives the piston 22 and the drive blade 26 toward the TDC position. As the piston 22 and the drive blade 26 are driven toward the TDC position, the gas above the piston 22 and the gas in the reservoir cylinder 30 are compressed. Before reaching the TDC position, the motor 308 is deactivated and the piston 22 and the drive blade 26 are maintained in a ready position between the TDC position and the BDC position until released by the user activating the trigger 320. When released, the compressed gas above the piston 22 and in the reservoir cylinder 30 drives the piston 22 and the drive blade 26 to the drive position, thereby driving the fastener into the workpiece. The nail gun 10 shown thus operates on the gas spring principle by utilizing the lifter housing portion 106 and the piston 22 to further compress the gas in the cylinder 18 and the reservoir cylinder 30.
[0111] For example, refer to Fig. 8A and Figure 8B , the nail gun 10 includes a check valve 800 (or a similar valve) positioned between the buffer 112 and the outer storage chamber cylinder 30, within the passage 805. When the piston 22 compresses the buffer 112, the check valve 800 responds to the pressure. More specifically, as the piston 22 is driven from the ready position to the drive position, the piston 22 strikes the buffer 112, which seals against the inner cylinder 18 to create an air reservoir or intermediate chamber 810. When the drive blade 26 approaches the BDC position, the intermediate chamber 810 is formed between the bottom portion of the cylinder 18 and the buffer 112 (and in some cases, between the buffer 112 and the piston 22). That is, when the piston 22 strikes the buffer 112, the intermediate chamber 810 is completely sealed (i.e., not fluidly connected to the external atmosphere). As the piston 22 compresses the buffer 112, the pressure in the intermediate chamber 810 increases and opens the check valve 800. This increased air pressure adds a small amount of pressurized air to the outer reservoir cylinder 30 through the open check valve 800, thereby applying more pressure to the cylinder 18, which can compensate for potential or actual air pressure losses in the nail gun 10. In this way, the compression of the buffer that occurs at the end of each firing event of the nail gun 10 can be used to generate the increase in air pressure. This avoids the need to attach a separate compressor to the cylinder 18 in order to increase the pressure on the piston 22. In effect, the additional compression of the buffer 112 and the opening of the check valve 800 form an on-board air compressor for the nail gun 10.
[0112] By using the piston 22 to repeatedly compress the buffer 112 to replenish the pressure in the reservoir cylinder 30, a small amount of air pressure (e.g., approximately 0.01 psi-0.015 psi) can be added each time the buffer 112 is compressed by the piston 22. Extrapolated from over 1,000 nails fired by the nail gun 10, this added pressure is approximately equal to 10 psi-15 psi, which is 10%-15% of the total tank pressure. Although the added pressure is relatively small compared to the total tank pressure, the added pressure facilitated by the compression of the buffer 112 and the open check valve 800 is still sufficient to maintain sufficient tank pressure even after taking into account pressure losses (e.g., due to infiltration, small amounts of debris ingress, or minor mechanical wear).
[0113] Fig. 9 is a flow chart of a method 900 for implementing magnetic field weakening control of a nail gun 10. When the nail gun 10 is activated, the method 900 begins (box 905). The controller 304 is configured to execute the method 900 and, based on receiving power, begins controlling the motor 308 (box 910). The controller 304 determines the position of the nail gun drive blade 26 based on, for example, the sensed position of the drive blade 26 (e.g., based on the motor rotational position, a sensor that directly detects the position of the drive blade 26, etc.) (box 915). If the drive blade 26 position is determined to be in the BDC position (box 920), the controller 304 initiates a magnetic field weakening command for the motor 308 (box 925). If the drive blade 26 is not determined to be in the BDC position, the method 900 returns to box 915 to determine the drive blade 26 position. Once magnetic field weakening is initiated at box 925, the controller 304 determines the drive blade 26 position again (box 930). If the drive blade 26 is determined to be in the TDC position (box 935), the controller 304 generates a command to end the magnetic field weakening of the motor 308 (box 940). If the drive blade 26 is not determined to be in the TDC position, the method 900 returns to box 925 to continue the magnetic field weakening of the motor 308. In some embodiments, the controller 304 can start different magnetic field weakening techniques for the motor 308 at box 925. For example, the controller 304 can start magnetic field weakening based on the sensed voltage of the battery pack 12 (e.g., voltage sag), the remaining capacity or state of charge of the battery pack 12, etc. In some embodiments, the controller 304 can start magnetic field weakening based on the sensed current of the motor 308 provided by the current sensor 324. In some embodiments, the controller 304 can start a magnetic field weakening command based on the sensed current of the battery pack 12. In some embodiments, the controller 304 can start magnetic field weakening based on the sensed temperature of the battery pack 12.
[0114] Fig.10A simplified block diagram of an embodiment 1000 of a nail gun 10 that implements the sensored motor control of method 900 for implementing magnetic field weakening is shown. The nail gun 1000 includes a power supply 1005, a switch or field effect transistor ("FET") 1010, a motor 1015, a Hall effect sensor 1020, a motor controller 1025 (e.g., controller 304), a user input device 1030, and other components 1035 (e.g., a battery pack fuel gauge, a work light (LED), a current / voltage sensor, etc.). The power supply 1005 provides DC power to the various components of the nail gun 1000 and can be a rechargeable power tool battery pack (e.g., battery pack 12) that uses, for example, lithium-ion battery technology. In some cases, the power supply 1005 can receive AC power (e.g., 120V / 60Hz) from a tool plug connected to a standard wall outlet, and then filter, condition, and rectify the received power to output DC power. Each Hall effect sensor 1020 outputs motor feedback information, such as outputting an indication (e.g., a pulse) when the magnet of the rotor rotates past the face of this Hall effect sensor 1020. Based on the motor feedback information from the Hall effect sensor 1020, the motor controller 1025 can determine the position, speed, and / or acceleration of the rotor of the motor 1015. The motor controller 1025 also receives user control from the user input device 1030, such as receiving user control by pressing the trigger 320. In response to the motor feedback information and the user control, the motor controller 1025 transmits a control signal to control the FET 1010 to drive the motor 1015. By selectively enabling and disabling the FET 1010, power from the power supply 1005 is selectively applied to the stator coil of the motor 1015 to cause the rotation of the rotor. Although not shown, the motor controller 1025 and other components of the nail gun 1000 are electrically connected to the power supply 705 so that the power supply 1005 provides power thereto.
[0115] Fig.11A and Fig. 11B A motor 1015 is shown in a nail gun 1000. The motor 1015 includes a rotor 1105, a front bearing 1110, a rear bearing 1115 (collectively referred to as bearings 1110, 1115), a position sensor board assembly 1120 within the stator envelope of the motor 1015, and a motor shaft 1135. The stator coils 1125 are parallel to the length of the rotor axis 1130. The rotor magnets 1140 are placed near the Hall effect sensors 1020 on the position sensor board assembly 1120 to detect the rotor position. Recessing the rotor 1105, bearings 1110, 1115, and position sensor board assembly 1120 within the stator envelope allows for a more compact motor 1015 in the axial direction.
[0116] Fig. 11C11 is a graph 1150 showing commutation of the motor 308 applied to the nail gun 10. In some embodiments, the conduction angle of the motor 308 can be changed to increase the conduction angle. Typically, the conduction angle applied to the BLDC motor (e.g., motor 308, 1015) is set to a default value (e.g., about 105°, about 120°, between 90° and 120°, etc.). However, in order to increase speed (such as via field weakening), the conduction angle of a given phase can be increased to a maximum value, such as 180°. As shown in FIG. Fig. 11C As shown, the conduction angle may be generally 120° and applied to a high-side switch (such as a high-side FET) or a low-side switch (such as a low-side FET) as described above to drive the motor 308, 1015. Fig. 11C As further shown, the conduction angle 1155 can increase from 120° (as shown in the optional conduction region 1160) to a maximum value (e.g., 180°). Further, as described above, the conduction angle 1155 can be shifted to occur earlier in the conduction cycle (i.e., phase advance), as shown by the phase advance line 1165. In some embodiments, the controller 304 can use a single or combined field weakening method of the present disclosure to control the motor 308, 1015 of the power tool.
[0117] Fig.12 1 is a flow chart of a method 1200 for implementing sensored field weakening control of a nail gun 10, 1000. When the nail gun 10, 1000 is powered on, the method 1200 begins, and the controller 1025 is configured to execute the method 1200 and begin controlling the motor 1015 based on receiving power (block 1205). The controller 1025 determines the position of the nail gun drive blade 26 based on, for example, the sensed position of the drive blade 26 (e.g., based on the motor rotational position, a sensor that directly detects the position of the drive blade 26, etc.) (block 1210). If the drive blade 26 position is determined to be in the BDC position (block 1215), the controller 1025 determines the position of the motor 1015 based on the input signal from the Hall effect sensor 1020 (block 1220). If the drive blade 26 is not determined to be in the BDC position, the method 1200 returns to block 1210 to determine the drive blade 26 position. Once the motor 1015 position is determined (block 1220), the controller 1025 generates a command to apply a phase advance angle to initiate field weakening of the motor 1015 (block 1225). The controller 1025 again determines the drive blade 26 position (block 1230). If the drive blade 26 is determined to be in the TDC position (block 1235), the controller 1025 generates a command to end field weakening of the motor 1015 by removing the phase advance angle command (block 1240). If the drive blade 26 is not determined to be in the TDC position, the method 1200 returns to block 1230 to continue field weakening of the motor 1015.
[0118] In some embodiments, the controller 1025 may initiate different magnetic field weakening techniques for the motor 1015 at block 1225. For example, the controller 304 may initiate magnetic field weakening based on a sensed voltage of the battery pack 12 (e.g., a voltage sag), a remaining capacity or state of charge of the battery pack 12, etc. In some embodiments, the controller 304 may initiate magnetic field weakening based on a sensed current of the motor 1025 provided by the current sensor 324. In some embodiments, the controller 304 may initiate magnetic field weakening commands based on a sensed current of the battery pack 12. In some embodiments, the controller 304 may initiate magnetic field weakening based on a sensed temperature of the battery pack 12.
[0119] Fig.13 1 is a block diagram of a control system 1300 for a sensorless magnetic field weakening algorithm in a nail gun 10. The control system 1300 may be implemented by the controller 304 and may include one or more additional controllers (e.g., dedicated controllers). Fig.13 As shown, the control system 1300 includes a field weakening controller 1305 and a sensorless controller or a field oriented control ("FOC") controller 1335. The field weakening controller 1305 and the FOC controller 1335 may include one or more mathematical operator blocks, such as multiplication blocks 1325A-C that multiply two or more input values, linear scaling blocks 1330A-B that linearly scale input values based on a scaling factor, square root blocks 1345 that determine the square root of the input value, and / or addition / subtraction blocks 1355A-D that add or subtract two or more input values. In some embodiments, the mathematical operator blocks may perform different mathematical operations. For example, the linear scaling blocks 1330A-B may amplify or reduce values based on a nonlinear function. The field weakening controller 1305 and the FOC controller 1335 may each include one or more components configured to send and receive signals between the field weakening controller 1305 and the FOC controller 1335. In some embodiments, sensorless motor control techniques other than FOC are implemented.
[0120] The field weakening controller 1305 includes a control block for controlling a maximum torque per ampere ("MTPA") algorithm ("MTPA block 1310") and a control block for controlling a maximum torque per volt ("MTPV") algorithm ("MTPV block 1315"). The MTPA block 1310 receives one or more inputs, such as an input related to torque current from the FOC controller 1335. q * The MTPA block 1310 may perform one or more mathematical operations to generate and output a signal I related to the flux current and the torque current. dq_MTPA* The MTPV block 1315 receives one or more signals, such as input I from the MTPA block 1310 related to flux current and torque current. dq_MTPA * , an input V related to the voltage applied to the phase of the sensorless motor 308 abc , and / or an input V related to the voltage of a battery pack connected to the nail gun 10 dc The MTPV block 1315 may further generate one or more output signals, such as a signal i related to the flux current determined by the MTPV block 1315. d * and / or a signal i related to the maximum current of the stator of the motor 308 determined by the MTPV block 1315 s_max * .
[0121] The magnetic field weakening controller 1305 may further include a lookup table ("LUT") 1320 containing one or more output values based on one or more input values. For example, the LUT 1320 may receive a signal τ related to the current torque of the motor 308. The LUT 1320 may determine and output a signal based on the received torque signal τ. In some embodiments, the LUT 1320 is a speed map. The speed map receives an estimated load torque as an input and outputs a speed reference value based on the estimated load torque. The speed map may be modified by a user to create a tool-specific speed-torque characteristic. The magnetic field weakening controller 1305 may further include a first multiplication block 1325A that receives a first signal from the LUT 1320 and a second signal from the trigger 320 of the nail gun 10, and multiplies the first signal and the second signal to generate an output signal. The magnetic field weakening controller may further include a first linear scaling block 1330A that receives a signal from the first multiplication block 1325A and scales the signal based on a linear function, and outputs a signal corresponding to the result of the scaling. In some embodiments, the function is nonlinear. The signal output by the first linear scaling block 1330A may be a target speed for the motor 308 .
[0122] The FOC controller 1335 includes a first addition / subtraction block 1355A configured to add a first signal corresponding to a target speed of the motor 308 received from the first linear scaling block 1330A and subtract a second signal ω corresponding to a current speed of the motor 308. The first addition / subtraction block 1355A may be further configured to output a signal corresponding to a result of the first addition / subtraction block 1355A. The signal output by the first addition / subtraction block 1355A may be a speed error of the motor 308. The FOC controller 1335 may further include a speed controller 1340 configured to receive a signal corresponding to a speed error of the motor 308 from the first addition / subtraction block 1355A. The speed controller 1340 may generate an output signal i based on the speed error. q * , and the output signal i q * Output to MTPA block 1310.
[0123] The FOC controller 1335 may further include a second multiplication block 1325B configured to receive two signals i from the MTPV block 1315 of the field weakening controller 1305. s_max * (i.e., receiving the same signal twice). The second multiplication block 1325B can multiply the two signals i s_max * Multiply together to generate i s_max * The square value of i s_max * The FOC controller 1335 may further include a third multiplication block 1325C configured to receive two signals i from the MTPV block 1315 of the field weakening controller 1305. d * (i.e., receiving the same signal twice). The third multiplication block 1325C can multiply the two signals i d * Multiply together to generate i d * The square value of i d * The FOC controller 1335 may further include a second addition / subtraction block 1355B configured to receive and add the square value of i from the second multiplication block 1325B. s_max * The second addition / subtraction block 1355B may be further configured to receive and subtract the first signal corresponding to the square value of i from the third multiplication block 1325C. d *The second addition / subtraction block 1055B may be further configured to generate an output signal corresponding to the result of the second addition / subtraction block 1355B. The FOC controller 1335 may further include a square root block 1345 configured to receive a signal corresponding to the result of the second addition / subtraction block 1355B from the second addition / subtraction block 1355B. The square root block 1345 may be further configured to generate and output a signal corresponding to the square root value of the signal received from the second addition / subtraction block 1355B. q,max That is, the combination of the second multiplication block 1325B, the third multiplication block 1325C, the second addition / subtraction block 1055B, and the square root block 1345 can be configured to perform a Pythagorean operation on the output of the MTPV block 1315 to convert the stator current I of the motor 308 to s Decomposed into its component vectors, flux current i d and torque current i q .
[0124] The FOC controller 1335 may further include a third addition / subtraction block 1355C configured to receive and add a first signal i corresponding to the flux current determined by the MTPV block 1315 from the MTPV block 1315. d * The third addition / subtraction block 1355C may be further configured to receive and subtract a second signal I corresponding to the total flux current of the motor 308. d The third addition / subtraction block 1355C may be configured to output a signal I corresponding to the result of the third addition / subtraction block 1355C. d The FOC controller 1335 may further include a flux controller 1360 configured to receive an input signal I from the third addition / subtraction block 1355C. d And based on the input signal I d Generate and output flux voltage signal V d .
[0125] The FOC controller 1335 further includes a second linear scaling block 1330B configured to receive the first signal i from the speed controller 1340. q * and the second signal i from the square root block 1345 q,max The second linear scaling block 1330B may be further configured to be based on the second signal i q,max To linearly scale the first signal i q *, and outputs a signal corresponding to the result of the second linear scaling block 1330B. The FOC controller 1335 further includes a fourth addition / subtraction block 1355D, which is configured to receive and add the first signal corresponding to the result of the second linear scaling block 1330B. The fourth addition / subtraction block 1355D may be further configured to receive and subtract a second signal I corresponding to the total torque current of the motor 308. q The fourth addition / subtraction block 1355D may be configured to output a signal I corresponding to a result of the fourth addition / subtraction block 1355D. q The FOC controller 1335 may further include a torque controller 1365 configured to receive an input signal I from the fourth addition / subtraction block 1355D. q And based on the input signal I q Generate and output torque voltage signal V q .
[0126] The FOC controller 1335 may further include an inverse Park transformation block 1375 configured to receive a first signal V corresponding to the flux voltage from the flux controller. d , a second signal V corresponding to the torque voltage from the torque controller q and a third signal θ corresponding to the current angular position of the rotor of the motor 308. The inverse Park transform block 1375 may be configured to transform the first signal V d and the second signal V q Convert to orthogonal stationary reference frame V α and V β The inverse Park transform block 1375 can be further configured to output a value V α and V β The FOC controller 1335 may further include a PWM generator 1380, which may include a Clarke inverse transform block, a PWM modulator, or both. The PWM generator 1380 may be configured to receive a signal from the Park inverse transform block 1375 that is orthogonal to the stationary reference frame quantity V α and V β The corresponding signals are used to generate a plurality of pulse width modulation ("PWM") control signals V configured to control the inverter 348. PWM x3. The inverter 348 may be configured to receive a plurality of PWM control signals V PWM x3, and converts the DC power supply into a three-phase signal V abc To control the motor 308. The three-phase signal V abc May also be received by MTPV block 1315.
[0127] The FOC controller 1335 further includes a three-phase to two-phase reference frame converter 1385 configured to receive a three-phase signal V from the inverter. abc , and based on the three-phase signal V abc Generate and output two-phase current signal I α ,I β The FOC controller 1335 further includes a position and speed estimator 1370 configured to receive the two-phase current signal I from the three-phase to two-phase reference frame converter 1085. α ,I β , and based on the two-phase current signal I α ,I β To estimate the position and speed of the sensorless motor 308. The position and speed estimator 1370 can be further configured to output a first signal θ related to the current angular position of the rotor of the motor 308 and a second signal ω related to the current rotational speed of the rotor of the motor 308. The first signal θ is received by the inverse Park transform block 1375. The second signal ω is also received by the first addition / subtraction block 1355A. The FOC controller 1335 further includes a Park transform block 1390, which is configured to receive the two-phase current signal I from the three-phase to two-phase reference frame converter 1385. α ,I β and a first signal θ related to the current angular position of the rotor of the motor 308 from the position and speed estimator 1370. The Park transformation block 1390 is further configured to calculate the current angular position of the rotor of the motor 308 based on the two-phase current signal I α ,I β and the first signal θ to generate a first signal I corresponding to the total torque current of the motor 308 q and a second signal I corresponding to the total flux current of the motor 308 d The first signal I q The second signal I may be received by the torque observer 1350 and the fourth addition / subtraction block 1355D. d May be received by the third addition / subtraction block 1355C.
[0128] Fig.14 1400 is a graph showing the relationship between the stator flux current and the stator torque current on the qd coordinate plane. Graph 1400 shows the stator flux current i d 1410 and stator torque current i q 1415 are all stator current I s 1405. In particular, as shown in graph 1400, i d 1410 can be calculated by formula (1) as s 1405 and I s 1405 and the d-axis.
[0129] i d =I s cosθ (1)
[0130] Similarly, as shown in graph 1100, i q 1415 can be calculated as I by formula (2) s function of θ1405 and θ1420.
[0131] i q =I s sinθ (2)
[0132] Sensorless motors (e.g. Figure 3 The motor 308 includes a rotor having permanent magnets. The permanent magnets generate magnetic saliency, which in turn generates a reluctance torque according to the difference between the inductance on the d-axis and the inductance on the q-axis. The reluctance torque T e It can be determined by formula (3), where P is the number of pole pairs of the motor, is the stator flux, L d is the direct inductance on the d-axis, and L q is the orthogonal inductance on the q-axis.
[0133]
[0134] Based on formula (3), we can note that i d A negative value of 1410 will ensure that T e It is advantageous to keep t positive. Furthermore, the above formulas (1), (2) and (3) can be combined to create formula (4).
[0135]
[0136] Fig.15 1 is a graph 1500 showing a negative stator flux current for use in sensorless field weakening as determined by a maximum torque per ampere ("MTPA") algorithm. In particular, graph 1500 shows an MTPA vector 1525 generated by an MTPA block (e.g., MTPA block 1310) based on the intersection between a constant current 1505 and a constant torque 1510 of motor 308. In some embodiments, MTPA vector 1525 is a minimum current space vector that satisfies at least one constraint of the MTPA algorithm. MTPA vector 1525 further includes a β angle 1530. In some embodiments, β angle 1530 is optimized between 0° and 45° from the q-axis. In some embodiments, β angle 1530 between 0° and 45° is a constraint of the MTPA algorithm. The point where MTPA vector 1525 intersects the constant current 1505 and the constant torque 1510 can be determined by the flux current i d1515 and torque current i q 1520. Fig.15 It can be seen that at the point where the MTPA vector 1525 is optimized, the flux current i d 1515 is negative with respect to the d-axis. In some embodiments, the MTPA vector 1525 can be at different β angles 1530 while still satisfying being between 0° and 45° from the q-axis. However, in these embodiments, the MTPA vector 1525 may not be the minimum current space vector and is therefore not optimized.
[0137] Fig.16 1 is a block diagram of a control system 1600 for the MTPA algorithm. The control system 1600 includes a speed controller 1605 configured to receive a first signal ω corresponding to the current angular velocity of the rotor of the motor 308. ref and a second signal corresponding to the target angular velocity of the rotor And generate the stator current signal I s * Based on the current angular velocity ω ref Reference target angular velocity The control system 1600 may further include an MTPA block 1610, which includes a first mathematical operation block 1615 and a second mathematical operation block 1620. The first mathematical operation block 1615 is configured to receive a stator current signal I s * And generate the flux current signal i d The second mathematical operation block 1620 is configured to receive the stator current signal I s * and the flux current signal i d And generate torque current signal i q The MTPA block 1610 is configured to generate a flux current signal i d and torque current signal i q , which satisfies, for example, Fig.12 The identified constraints are that the β angle is between 0° and 45° from the q axis and that the MPTA vector (i.e., the vector consisting of components i d and i q The vector created by the vector) is the minimum current space vector. The i that satisfies these constraints d and i q The value of can be determined by formulas (5), (6) and (7).
[0138]
[0139] sign(I s )=1If I s ≥0, (7)
[0140] sign(I s )=-1If I s ≤0
[0141] The first mathematical operation block 1615 is configured to generate a magnetic flux current signal i based on formula (5): d The second mathematical operation block 1620 is configured to generate a torque current signal i based on equations (6) and (7): q .
[0142] Fig.17 17 is a flow chart of a method 1700 for implementing the MTPA algorithm. The method 1700 begins when the controller 304 executes the method 1700 and receives a command to start the MTPA algorithm (block 1705). The method 1700 includes generating a current command (block 1710). The current command can be generated by a speed controller (e.g., speed controller 1605) based on the current angular velocity ω of the rotor of the motor 308. ref and the target angular velocity of the rotor The method 1700 also includes determining an MTPA vector (e.g., MTPA vector 1225) based on the current command (block 1715). The MTPA vector may be generated by an MTPA block (e.g., MTPA block 1610) based on equation (5). The MTPA vector includes a torque current component i q and the flux current component i d The method 1700 also includes determining whether the MTPA vector is a minimum current space vector that satisfies one or more constraints (block 1720). The one or more constraints may be about Fig.15 One or more of the identified constraints, such as an angle between the q-axis and the MTPA vector, is between 0° and 45°.
[0143] If the MTPA vector is not the minimum current space vector that satisfies one or more constraints, the method 1700 returns to block 1715 and recalculates the MTPA vector. Returning to block 1720, if the MTPA vector is the minimum current space vector that satisfies one or more constraints, the method 1700 includes determining a negative current based on the MTPA vector (block 1725). The negative current can be the stator flux current component of the MTPA vector, that is, i d Once a negative current is identified, the MTPA algorithm is complete and method 1700 ends (block 1730).
[0144] Fig.181 is a graph 1800 showing the relationship between stator flux current and stator torque current. Graph 1800 includes current limits 1805 as circles with amplitudes centered at the origin, and voltage limits 1810 as a family of nested ellipses centered at the point where the MTPA vector is optimized (i.e., based on equation [3], i d The value of the magnetic resistance torque T e ). The radius of the voltage limit 1810 ellipse may vary inversely with the speed of the rotor of the motor 308. In some embodiments, the voltage limit 1810 ellipse is distorted along the vertical q-axis due to saturation effects, and the diameter of the voltage limit 1810 ellipse is tilted counterclockwise along the horizontal d-axis due to stator resistance effects. At any given speed, the motor 308 may be q and i d Run under any combination of values, the i q and i d The value falls within the overlapping region of the current limit 1805 and the voltage limit 1810 associated with that speed. A negative I d The value at which negative I d The permanent magnet flux of the motor 308 is completely opposite and reversed.
[0145] The graph 1800 also includes a first MTPA vector 1820 without magnetic saturation effects and a second MTPA vector 1825 with magnetic saturation effects. The first MTPA vector 1820 forms an angle of more than 45° with the negative d-axis, while the second MTPA vector 1825 forms an angle of no more than 45° with the negative q-axis. The graph 1800 also includes a maximum output power point 1830, which is along the periphery of the current limit 1805 toward the negative d-axis. This motion may be forced by a speed increase that gradually shrinks the voltage limit 1810, thereby preventing the machine from operating based on the MTPA algorithm (identified by the dashed line 1835).
[0146] For speeds above the corner point, the maximum output power point 1830 may be the optimal outer limit of the current vector trajectory, which can only be approached but never fully reached for a practical current regulated drive. This is true because the outer boundaries of the voltage limit 1810 at any speed correspond to six-step voltage operation, which represents a condition where the current regulator loop is fully saturated. Since the current regulator loses control of the phase current under such conditions, the current vector command may be continuously adjusted so that it always stays safely within the voltage limit 1810. However, it is desirable to approach the voltage limit 1810 as closely as possible under heavy load conditions in order to deliver maximum power from the motor 308, thereby fully utilizing the power supplied by the inverter 348. Therefore, for speeds above the corner point, the angle between the commanded current vector and the negative d-axis gradually encroaches on the current limit 1805 as the voltage limit 1810 contracts. This can be controlled by the MTPV algorithm, which will be referred to below. Figure 19-21 Provide explanation.
[0147] Fig.19 is a graph 1900 showing the results of sensorless field weakening operation. Specifically, Fig.19 shows that for speeds above the corner point, the contraction voltage limit 1810 (see Fig.18 ) gradually invades the current limit 1805, the commanded current vector I S The angle θ between S How it is reduced. Fig.19 This action demonstrated forms the basis for implementing the MTPV control algorithm.
[0148] Fig. 20A 2 is a block diagram of a control system 2000 for an MTPV algorithm according to a first embodiment. The control system 2000 includes a Cartesian to polarity converter 2005 configured to receive a signal related to a stator flux current i d The corresponding first signal and the stator torque current i q The Cartesian to polarity converter 2005 is configured to output the corresponding second signal and convert these signals from Cartesian values to polarity values. d The value of the first signal corresponding to the polarity i q The control system 2000 further includes a polarity to Cartesian converter 2010 configured to receive a second signal corresponding to the polarity i d The value of the first signal corresponding to the polarity i q The second signal corresponding to the value. Polarity i d The values can be received directly from the Cartesian to Polar Converter 2005, and the polarity i q The value may be received by an intermediate control block.
[0149] The control system 2000 includes a modulation index generator 2015 configured to receive a first input signal v corresponding to a flux voltage d , the second input signal v corresponding to the torque voltage q , and a third input signal v corresponding to the DC link voltage applied to the inverter 348 dc The modulation index generator 2015 generates a PWM modulation index M based on three input signals according to formula (8).
[0150]
[0151] The modulation index generator 2015 outputs a PWM modulation index M. The control system 2000 further includes a first addition / subtraction block 2025A configured to receive and add an Mth value, wherein the Mth value is a preset modulation threshold. The first addition / subtraction block 2025A also receives and subtracts the PWM modulation index M from the modulation index generator 2015. The first addition / subtraction block 2025A is further configured to output a signal corresponding to the result of the first addition / subtraction block 2025A. The control system 2000 includes a scaling factor generator 2020 configured to generate and output a signal corresponding to a scaling factor β between 0 and 1 based on the signal received from the first addition / subtraction block 2025A. By generating a scaling factor between 0 and 1, the MTPV algorithm directly controls only the current vector I s The angle of , without controlling its magnitude. Therefore, by using a scaling factor β of 1, the current vector generated by the MTPA control system 1600 is not affected. Return to Reference Fig.13 , by using a scaling factor β of 1, the field weakening controller 1305 calculates i d * and i q * When the value is , MTPV block 1315 is effectively ignored.
[0152] The control system 2000 further includes a second addition / subtraction block 2025B configured to receive and add a first signal π corresponding to Pi, and receive and subtract a signal corresponding to the polarity torque current i from the Cartesian to polarity converter 2005. qThe second addition / subtraction block 2025B is configured to output a signal corresponding to the result of the second addition / subtraction block 2025B. The control system 2000 further includes a multiplication block 2030, which is configured to receive a first signal β corresponding to the generated scaling factor between 0 and 1 from the scaling factor generator 2020, and a second signal corresponding to the result of the second addition / subtraction block 2025B from the second addition / subtraction block 2025B. The multiplication block 2030 is configured to output a signal corresponding to the product of the first signal and the second signal. The control system 2000 includes a third addition / subtraction block 2025C, which is configured to receive and add a first signal π corresponding to Pi (e.g., Pi radians), and receive and subtract a second signal corresponding to the result of the multiplication block 2030 from the multiplication block 2030. The third addition / subtraction block 2025C is configured to output a signal corresponding to the result of the third addition / subtraction block 2025C. The polar to Cartesian converter is configured to receive the signal from the third addition / subtraction block 2025C.
[0153] Fig. 20B 2 is a block diagram of a control system 2050 for an MTPV algorithm according to a second embodiment. The control system 2050 includes a modulation index generator 2055 configured to receive a first input signal v corresponding to a flux voltage. d , the second input signal v corresponding to the torque voltage q , and a third input signal v corresponding to the DC link voltage applied to the inverter 348 ph_max The modulation index generator 2055 generates a PWM modulation index M based on the three input signals according to formula (9).
[0154]
[0155] The modulation index generator 2055 outputs a PWM modulation index M. The control system 2050 further includes a first addition / subtraction block 2060A, which is configured to receive and add an Mth value, wherein the Mth value is a preset modulation threshold. The first addition / subtraction block 2060A also receives and subtracts the PWM modulation index M from the modulation index generator 2055. The first addition / subtraction block 2060A is further configured to output a signal corresponding to the result of the first addition / subtraction block 2060A. The control system 2050 includes a PI block 2065, which is configured to receive a signal from the first addition / subtraction block 2060A. The PI block 2065 is further configured to output a signal corresponding to the result of the PI block 2065. The signal output by the PI block 2065 is received by the saturation block 2070. The saturation block 2070 is configured to output a signal corresponding to the result of the saturation block 2070, which is the MTPV current vector I d_mtpvThe d-axis component of .
[0156] The control system 2050 further includes a second addition / subtraction block 2060B configured to receive and add I d_mtpv , and receives and adds the MTPA current vector I d_mtpa The d-axis component of the signal corresponds to I d_mtpa It can be controlled from the MTPA control block (such as Fig.16 The second addition / subtraction block 2060B is further configured to output a signal corresponding to the result of the second addition / subtraction block 2060B. The signal output by the second addition / subtraction block 2060B is a reference current vector I d_ref The d-axis component of I d_ref is the output signal provided by the control system 2050. d_ref The circular stop block 2075 of the control system 2050 is also received. The circular stop block 2075 is further configured to receive the current signal I s *. The circle limit block 2075 is configured to output a signal corresponding to the result of the circle limit block 2075. The signal is a reference current vector I q_ref The q-axis component of I q_ref is the output signal provided by the control system 2050.
[0157] Fig.21 1800 receives a command to start the MTPV algorithm (block 2105). The method includes determining the angle of the MTPA vector output by the MTPA algorithm (e.g., Fig.17 The method 2100 also includes determining a scaling factor (block 2110) based on the MTPV vector. The scaling factor may be between 0 and 1. The method 2100 also includes determining the MTPV vector as the product of the MTPA vector and the scaling factor (block 2115). In some embodiments, the scaling factor is 1. In these embodiments, the MTPV vector is the same as the MTPA vector. The method 2100 also includes determining a negative current based on the MTPV vector (block 2120). The negative current may be the flux current component i of the MTPV vector. d , that is to say, d Once a negative current is identified, the MTPV algorithm is complete and the method 2100 ends (block 2125).
[0158] Fig.22AFlowchart of method 2200 for implementing sensorless field weakening in nail gun 10 based on the above disclosure. When nail gun 10 starts operating, method 2200 starts (block 2205). In some embodiments, nail gun 10 may be able to switch between field weakening mode and non-field weakening mode. Method 2200 includes controlling motor 308 of nail gun 10 based on sensorless field oriented control ("FOC") algorithm (block 2210). FOC algorithm can be implemented on FOC controller 1335. Method 2200 then includes determining the torque of motor 308 (block 2215). Method 2200 can determine the torque based on torque observer 1350. Method 2200 then determines whether the torque exceeds a first predetermined threshold (block 2220). In some embodiments, the first predetermined threshold is 0 Nm (i.e., sensorless field weakening is implemented whenever the sensorless motor is in the operating mode). If the torque does not exceed the first predetermined threshold, method 2200 then returns to block 2210. In some embodiments, the method 2200 may include determining a parameter other than torque of the sensorless motor in block 2215. For example, the method 2200 may instead determine speed, temperature, operating time, or another parameter. In these embodiments, the first predetermined threshold (and other thresholds) may be based on the determined parameters. For example, in embodiments where the motor speed is determined, the first predetermined threshold may be a speed threshold.
[0159] Returning to block 2220, if the method 2200 determines that the torque does exceed the first predetermined threshold, the method 2200 includes determining whether the torque also exceeds a second predetermined threshold (block 2225). If the torque does not exceed the second predetermined threshold, the method 2200 includes determining whether the torque also exceeds a second predetermined threshold based on a maximum torque per ampere ("MTPA") algorithm (e.g., Fig.17 2200 determines the negative stator flux current (block 2230). Returning to block 2225, if the method 2200 determines that the torque does exceed the second predetermined threshold, the method 2200 includes determining whether the torque also exceeds a third torque threshold (block 2235). If the torque does not exceed the third predetermined threshold, the method 2200 includes determining the negative stator flux current based on a maximum torque per volt ("MTPV") algorithm (e.g., Fig.21 2240). Returning to block 2235, if method 2200 determines that the torque does exceed the third predetermined threshold, method 2200 includes determining the negative stator flux current based on the MTPA algorithm (e.g. Fig.172245). After determining the negative stator flux current by any of blocks 2230, 2240, or 2245, method 2200 also includes injecting the negative stator flux current into motor 308 to weaken the magnetic field generated by the rotor, thereby increasing the speed of the rotor (block 2250). It is important to note that method 2200 requires significant processing power to complete the associated MPTA and MPTV algorithms. Conventional nail guns (e.g., hand-held nail guns) lack the processing power required to implement method 2200. However, nail gun 10 is capable of implementing method 2200.
[0160] Fig. 22B Is to show the realization Fig.22A Graph 2260 of the output of the nail gun 10 of the method 2200. The x-axis of graph 2260 represents the torque of the nail gun 10 in Newton meters. The y-axis of graph 2260 represents the speed of the nail gun in revolutions per minute. Graph 2260 includes an upper speed threshold 2262 representing the maximum operating speed of the nail gun 10. In some embodiments, the upper speed threshold 2262 is 30,000 RPM. Graph 2260 also includes a graph showing the output of the nail gun 10 without implementing Fig.22A Graph 2260 also includes a solid line representing a maximum operating envelope 2266 of the nail gun 10. The maximum operating envelope 2266 indicates a set of maximum operating parameters of the nail gun 10. The maximum operating envelope 2266 includes two regions. A first region 2268 indicates a region where the motor speed is optimized. A second region 2270 indicates a region where the motor current and / or efficiency is optimized. Graph 2260 also includes a dashed line representing a maximum magnetic field weakening envelope 2272. The region within the maximum magnetic field weakening envelope 2272 is the region where magnetic field weakening has the greatest effect.
[0161] Graph 2260 also includes a dashed line representing a configured operating envelope 2274. Configured operating envelope 2274 indicates that Fig.22AThe method 2200 of the present invention is a set of operating parameters for a nail gun. The configured operating envelope 2274 shows that the speed of the motor is optimized in the low torque range. The low torque range of the configured operating envelope 2274 is between the first point 2276 representing the peak speed of the motor when it is unloaded and the second point 2278 representing the inflection point. The inflection point is the point where the motor speed begins to decrease. In some embodiments, the speed of the motor naturally decreases based on the torque of the motor. The configured operating envelope 2274 also shows that in the medium torque range, the speed of the motor gradually decreases as the torque increases. The medium torque range is between the second point 2278 and the third point 2280 representing the intersection point. The intersection point is the point where the maximum operating envelope 2266 intersects with the speed-torque curve 2264 of the nail gun that does not implement the method 2200. The configured operating envelope 2274 also shows that in the high torque range, the speed of the motor gradually decreases as the torque increases, and the rate of speed reduction is slower than in the medium torque range. The high torque range is between the third point 2280 and a fourth point 2282 representing the peak torque of the nail gun.
[0162] Fig.23 23 is a graph 2300 showing the relationship between the motor speed, motor torque, stator flux current and stator torque current of the motor 308. As can be seen from the graph 2300, as the torque of the motor 308 increases, the speed of the motor 308 decreases, as indicated by the speed-torque curve represented by the solid line 2305. In addition, the graph 2300 shows that as the torque of the motor 308 increases, the stator torque current increases almost linearly, as indicated by the dashed line 2310. In addition, the graph 2300 shows that as the torque of the sensorless motor increases, the stator flux current decreases, as indicated by the dashed line 2315. At a torque of about 0.25 Nm, the stator flux current begins to decrease at a slightly slower rate. Between the torques of about 0.7 Nm and 0.85 Nm, the stator flux current peaks and then drops again. The fluctuations in the stator flux current illustrate the differences between the MTPA algorithm and the MTPV algorithm. For example, the MTPA algorithm is employed before about 0.25 Nm and after about 0.85 Nm, while the MTPV algorithm is employed between these values. In some embodiments, the thresholds are different.
[0163] Fig.24 2400 is a graph showing the relationship between motor speed, motor torque, stator current, and source current of sensorless motor 308. Solid line 2405 may represent Fig.23Same speed-torque curve. As the torque increases, the rate of increase of the source current begins to decrease, especially after about 0.6 Nm, as represented by dashed line 2410. In contrast, as the torque increases, the maximum stator current increases at a roughly linear rate, as represented by dashed line 2415. This indicates that when the motor is operated at high torque, the available current cannot be maximized, thereby reducing the motor speed. Therefore, it is advantageous to use a sensorless field weakening algorithm as described.
[0164] Fig.25 25 is a graph 2500 showing the relationship between motor speed, motor torque, negative stator flux current determined by the MTPA algorithm, and negative stator flux current determined by the MTPV algorithm. Fig.23 Same speed-torque curve. When the torque increases when using only the MTPA algorithm, the negative stator flux current decreases as a quadratic decay function (i.e., becomes more negative), as represented by dashed line 2510. In contrast, when the torque increases when using a combination of the MTPA algorithm and the MTPV function, the stator flux current decreases as the same quadratic decay function before a first predetermined threshold represented by the dashed and dotted lines 2520 and after a second predetermined threshold represented by the long dashed line 2525. The stator flux current when implementing a combination of the MTPA algorithm and the MTPV algorithm is represented by dotted line 2515. In some embodiments, the first and second predetermined thresholds are second and third predetermined thresholds, where the first predetermined threshold is at a minimum torque value (e.g., 0 Nm). Between the first and second predetermined thresholds, the stator flux current decreases as a more abrupt quadratic decay function before increasing as a linear function (i.e., becomes less negative). As Fig.25 As shown, 0 Nm is the first torque threshold, 0.175 Nm is the second torque threshold, and 0.45 Nm is the third torque threshold. These thresholds can be obtained by Fig.22A The method 2200 is used when determining which magnetic field weakening algorithm (or combination thereof) to use. In some embodiments, these thresholds can be at different values.
[0165] Fig.26 2600 is a graph showing the relationship between motor speed, motor torque, the correction factor used in the MTPV algorithm, and the modulation index used in the MTPV algorithm. Fig.23Same speed-torque curve. As torque increases, the MTPV scaling factor remains constant at 1 before a first predetermined threshold represented by the dashed and dotted line 2620 and after a second predetermined threshold represented by the long dashed line 2625, and decreases linearly to about 0.8 before linearly increasing back to 1 between the first and second predetermined thresholds. The MTPV scaling factor is represented by the dashed line 2610. Similarly, the modulation index increases to about 0.9 before the first predetermined threshold, remains constant at about 0.9 between the first and second predetermined thresholds, and decreases after 0.45 Nm after the second predetermined threshold as represented by the dashed line 2615. This illustrates the relationship between the scaling factor and the modulation index when executing the MTPV algorithm. Fig.25 For example, 0 Nm is the first torque threshold, 0.175 Nm is the second torque threshold, and 0.45 Nm is the third torque threshold. These thresholds can be obtained by Fig.22A The method 2200 is used when determining which magnetic field weakening algorithm (or combination thereof) to use. In some embodiments, these thresholds can be at different values.
[0166] Fig. 27 2700 is a graph showing the relationship between motor speed, motor torque, stator torque current determined by the MTPA algorithm, and stator torque current determined by the MTPV algorithm. Fig.23 Same speed-torque curve. As torque increases, the stator torque current increases linearly during both the MTPA algorithm and the MTPV algorithm, represented by dashed line 2710 and dotted line 2715, respectively. When only MTPA is implemented, the stator torque current fluctuates slightly between a first predetermined threshold represented by dashed and dotted line 2720 and a second predetermined threshold represented by long dashed line 2725. This illustrates the range over which the MTPV algorithm needs to be implemented in order to keep the stator torque current at a linearly increasing rate. Fig.25 For example, 0 Nm is the first torque threshold, 0.175 Nm is the second torque threshold, and 0.45 Nm is the third torque threshold. These thresholds can be obtained by Fig.22A The method 2200 is used when determining which magnetic field weakening algorithm (or combination thereof) to use. In some embodiments, these thresholds can be at different values.
[0167] Fig.282800 is a graph showing the relationship between motor torque and motor speed, and motor torque and motor current. The x-axis of graph 2800 represents the torque of the motor measured in Newton meters. The y-axis of graph 2800 represents the speed of the motor measured in thousands of revolutions per minute (left), and the current drawn by the motor measured in amperes (right). Graph 2800 includes a first speed reference 2805. The first speed reference 2805 can be implemented by a baseline controller (that is, a controller that does not implement magnetic field weakening) to control the speed of the motor controlled by the baseline controller. Graph 2800 also includes a speed reference map 2810. The speed reference map 2810 is a set of reference speeds corresponding to various measured torques. The speed reference map 2510 can be used to obtain a speed reference based on the measured torque (e.g., via Fig.13 LUT 1320) is used to control the speed of the motor to achieve sensorless field weakening.
[0168] The graph 2800 also includes a first speed-torque curve 2815 of the baseline motor and a first current-torque curve 2820 of the baseline motor. The first speed-torque curve 2815 and the first current-torque curve 2820 show that the baseline motor runs at maximum speed until the inflection point, at which the speed begins to naturally decrease as the torque and current increase. The graph 2800 also includes a second speed-torque curve 2825 of the motor with weakened magnetic field and a second current-torque curve 2830 of the motor with weakened magnetic field. The second speed-torque curve 2825 and the second current-torque curve 2830 show that the motor with weakened magnetic field runs at a speed corresponding to the speed reference map 2810 based on the measured torque. Compared with the baseline motor, by implementing magnetic field weakening, the motor with weakened magnetic field can maintain a relatively high speed. In addition, the motor with weakened magnetic field draws more current than the baseline motor. The graph 2800 also includes a first line 2835 and a second line 2840.
[0169] Fig.2929 is a flow chart of a method 2900 for implementing sensorless field weakening control of a nail gun 10. When the nail gun 10 is powered on, the method 2900 begins, and the controller 304 is configured to execute the method 2900 and begin controlling the motor 308 based on receiving power (box 2905). The controller 304 determines the position of the nail gun drive blade 26 based on, for example, the sensed position of the drive blade 26 (e.g., based on the motor rotational position, a sensor that directly detects the position of the drive blade 26, etc.) (box 2910). If the drive blade 26 position is determined to be in the BDC position (box 2915), the controller 304 determines the position of the motor 308 (i.e., the rotor position) based on the stator current Is (box 2920). If the drive blade 26 is not determined to be in the BDC position, the method 2900 returns to box 2910 to determine the drive blade 26 position. Once the motor 308 position is determined (block 2920), the controller 304 generates a command based on the MTPA 1310 or MTPV 1315 algorithm to apply magnetic field weakening to the rotor of the motor 308 (block 2925). The controller 304 again uses FOC to determine the position of the drive blade 26 (block 2930). If the drive blade 26 is determined to be in the TDC position (block 2935), the controller 304 generates a command to end magnetic field weakening of the motor 308 by removing the command to apply magnetic field weakening (block 2940). If the drive blade 26 is not determined to be in the TDC position, the method 2900 returns to block 2930 to continue magnetic field weakening of the motor 308.
[0170] Additional or alternative techniques for controlling magnetic field weakening in power tools may also be implemented. For example, Fig. 30A A rechargeable battery pack 12 according to some embodiments is shown. The rechargeable battery pack 12 includes a housing 3005, a user interface portion 3010 for providing a charge status indication for the rechargeable battery pack 12, and a device interface portion 3015 for connecting the rechargeable battery pack 12 to a device (e.g., a power tool, a nail gun 10, etc.). The rechargeable battery pack 12 includes a plurality of battery cells 3020 within the housing 3005.
[0171] Fig. 30B A group 3025 of battery cells 3020 is shown, the group of battery cells including, for example, ten individual battery cells 3020. The battery cells 3020 can be located within a housing 3005 of a rechargeable battery pack 12. In some embodiments, the rechargeable battery pack 12 includes more or less than 10 battery cells within the housing 3005.
[0172] Fig.31A A battery pack 3100 is shown, such as a rechargeable battery pack 12 for powering a power tool. The battery pack 3100 includes a battery housing 3130 and a reference Fig.31B , including multiple battery cells 3190.
[0173] Fig.31B An interior view 3145 is shown containing a battery housing 3130 including a wall 3165 having an inner surface 3180 and an outer surface 3175. The inner surface 3180 defines an interior cavity 3170. The outer surface 3175 includes a top surface portion 3115 ( Fig.31A ) and bottom portion 3185. Reference Fig.31B , the battery cells 3190 disposed in the cavity 3170 are connected in series to the battery contacts 3105. Return to reference Fig.31A , multiple contacts 3105 ( Fig.31B ) is disposed on the top surface portion 3115, within the battery contact housing extension 3110. The housing extension 3110 is configured to engage with one or more power tools or power accessories. A battery charge level indicator 3120 is also disposed on the housing ( Fig.31A ), and additional battery charging, monitoring and indication components 3155 are disposed within cavity 3170 ( Fig.31B ).like Fig.31A As shown, two tabs 3135 are coupled to the housing 3130 for releasably securing the housing 3130 to a power tool device. Features corresponding to those described above with respect to the battery pack 3100 may also be included in the rechargeable battery pack 12.
[0174] Fig.32A circuit diagram 3200 of the switch module 1010 is shown. The switch module 1010 includes a plurality of high-side power switch elements 1002 and a plurality of low-side power switch elements 1004. The controller 304 provides control signals to control the high-side FET 1002 and the low-side FET 1004 to drive the motor 308 based on motor feedback information and user control as described above. For example, in response to detecting activation of the trigger switch 316, the controller 304 provides control signals to selectively (e.g., sequentially, in pairs) enable and disable the FETs 1002 and 1004, so that power from a power source 3205 (e.g., a rechargeable battery pack 12) is selectively applied to the stator coils of the motor 308 to cause rotation of the rotor. More specifically, to drive the motor 308, the controller 304 enables the first high-side FET 1002 and the first low-side FET 1004 pair (e.g., by providing a voltage at the gate terminals of the FETs) for a first time period. In response to determining that the rotor of the motor 308 has rotated based on the pulses from the one or more sensors 324, the controller 304 disables the first FET pair and enables the second high-side FET 1002 and the second low-side FET 1004. In response to determining that the rotor of the motor 308 has rotated based on the pulses from the one or more sensors 324, the controller 304 disables the second FET pair and enables the third high-side FET 1002 and the third low-side FET 1004. This sequence of cyclically enabling the pairs of high-side FETs 1002 and low-side FETs 1004 is repeated to drive the motor 308. Further, in some embodiments, the control signal includes a pulse width modulation (PWM) signal having a duty cycle set based on the trigger switch 316, thereby controlling the speed or torque of the motor 308.
[0175] Fig.33A A current flow diagram 3300 of a switch module 1010 for determining the impedance of a battery pack using current is shown. The switch module 1010 includes a plurality of high-side power switch elements 1002 and a plurality of low-side power switch elements 1004 as described above. For example, in response to detecting activation of the trigger switch 316, the controller 304 provides a control signal to selectively (e.g., sequentially, in pairs) enable and disable FETs 1002 and 1004, thereby enabling power from a power source (e.g., a rechargeable battery pack 12). Current 3310 flows from the power source 3205 through one of the high-side power switch elements 1002 to the stator coil of the motor 308. Then, before completing the connection path 3315 of the power source 3205, the current 3310 flows from the motor 308 to one of the low-side power switch elements 1004.
[0176] Fig.33BAnother embodiment of a current flow diagram 3320 of a switch module 1010 for determining a battery pack impedance using current is shown. The switch module 1010 includes a plurality of high-side power switch elements 1002 and a plurality of low-side power switch elements 1004 as described above. For example, in response to detecting activation of the trigger switch 316, the controller 304 provides a control signal to selectively (e.g., sequentially, in pairs) enable and disable FETs 1002 and 1004, thereby enabling power from a power source 3205 (e.g., a rechargeable battery pack 12). Current 3310 flows from the power source 3205 through one high-side power switch element 1002 to one low-side power switch element 1004. The current 3310 then closes the circuit by returning to the power source 3205. The reduced current 3310 path flows through only two switching FETs and completes a shorter portion of the connection path 3315 of the power source 3205. In some embodiments, one or more high-side power switch elements 1002 and / or one or more low-side power switch elements 1004 are enabled simultaneously. Such control can reduce the overall resistance of the system and enable higher current flow and distribution of the system load through FETs 1002 and 1004 to reduce the burn-up of FETs 1002 and 1004.
[0177] Fig.33C Another embodiment of a current flow diagram 3325 of a switch module 1010 for determining the impedance of a battery pack using current is shown. In this embodiment, an additional switch module 3330 is connected to the connection path 3315. In addition to the additional switch module 3330, an additional resistor is connected to the connection path 3315. For example, in response to detecting activation of the trigger switch 316, the controller 304 provides a control signal to selectively enable and disable the switch module 3330, so that power is provided from the power source 3205 (e.g., the rechargeable battery pack 12). The current 3310 flows from the power source 3205 through the additional resistor and then flows through the additional switch module 3330. The current 3310 flows only through the additional resistor and the additional switch module 3330, and then returns to the power source 3205 to close the circuit. In other embodiments, an inductor can be used for a similar purpose as the additional resistor. In addition, other circuit system configurations can be configured in a manner that other components (e.g., capacitors) can be used.
[0178] Fig.33DYet another embodiment of a current flow diagram 3335 of a switch module 1010 for determining battery pack impedance using current is shown. In this embodiment, only one power switch module 1004 is used. For example, in response to detecting activation of the trigger switch 316, the controller 304 provides a control signal to selectively enable and disable the power switch element 1004, thereby causing power to be provided from the power source 3205 (e.g., the rechargeable battery pack 12). The current 3310 flows from the power source 3205 to the motor 308 (e.g., a brushed motor), and then flows to the power switch element 1004 before closing the connection path 3315.
[0179] Fig.34A A method 3400 is shown that is performed by the controller 304 of the nail gun 10 or another power tool. The nail gun 10 or another power tool is activated by the controller 304 (step 3405) to initialize the method 3400. For example, the nail gun 10 or another power tool can be activated by detecting the activation of the trigger switch 316 (which causes the battery pack 50 to deliver power to the nail gun 10 or another power tool). The controller 304 receives or measures the battery pack voltage from the battery pack 50, and the controller 304 determines or calculates the starting battery pack voltage (step 3410). The nail gun 10 or another power tool then receives one or more signals related to the rotational position of the motor 308 (i.e., the rotor) from one or more sensors 324 (e.g., Hall effect sensor 1020). Data corresponding to the one or more signals is stored in the memory 356 for determining the rotor position (step 3415). In some embodiments, the power tool does not include a Hall effect sensor. Alternatively, the power tool uses a back electromotive force method or another parameter to determine the position of the motor without a sensor. In other embodiments, an inrush technique may be used to derive the position of the motor (e.g., via back-EMF, Hall transitions, etc.) by enabling the high-side switching element 1002 and the low-side switching element 1004. In other embodiments, the position of the motor 308 may be determined by conducting multiple fast inrush pulses and comparing relative impedances. In other embodiments, the position of the motor is not used when the inductance is similar, regardless of whether the motor is rotating or not.
[0180] In some embodiments, steps 3415 and 3420 may be optional. If the position of the rotor is known, the current can flow through a path with an ideal inductance. A higher inductance corresponds to a slower current rise. This allows more time for the current to rise, which helps to make measurements. If there is a fixed time period delay (described in further detail below), this also avoids consuming too much current and possibly damaging electrical components.
[0181] Using the data received from the one or more sensors 324 described above, the nail gun 10 or other power tool initiates power to one or more high-side power switch modules 1002 and one or more low-side switch modules 1004, thereby causing current to be conducted through the motor 308 (step 3420). A delay is then established to allow current to flow through the system (step 3425). The delay allows the current to rise to a level that can be reliably read with sufficient resolution. If there is no delay, the voltage or current may not change significantly enough. The length of the delay prevents burning out electrical components (e.g., FETs 1002 and 1004) and does not allow the motor to rotate excessively. In some embodiments, the method delays approximately 40 μs. In other embodiments, longer or shorter delays may be implemented to avoid transient voltage or current spikes. In some embodiments, one of the hard busy waits is used. In some embodiments, the measurement includes multiple samples (e.g., of current and voltage).
[0182] Fig.34B 34 shows a continuation of method 3400 performed by controller 304. After implementing a delay at step 3425, controller 304 is configured to sample a current sensing input of an analog-to-digital converter ("ADC") and receive or measure a second voltage (e.g., sample a voltage sensing input of the ADC). In some embodiments, multiple samples are collected in the measurement. Controller 304 then uses the sampled current sensing input to calculate the current I of rechargeable battery pack 12. bat and the second voltage measurement result V end (Step 3430). Then, the controller 304 is configured to turn off the low-side power switch 1004 to allow the high-side power switch 1002 to flow current (step 3435). Another delay is used to allow the high-side power switch 1002 to flow current for a period of time (step 3440). In some embodiments, the method delay is about 100 μs. In other embodiments, longer or shorter delays can be achieved. After the second delay of method 3400, the high-side power switch 1002 is turned off.
[0183] Using the starting battery voltage from step 3410, the second battery voltage from step 3430, and the calculated current of the rechargeable battery pack 12 from step 3430, the controller 304 is configured to determine the impedance of the rechargeable battery pack 12. The impedance of the rechargeable battery pack 12 can be calculated by the controller 304 using, for example, the following formula (10).
[0184]
[0185] Although equation (10) provides one example of how the battery pack impedance may be determined, other techniques for determining the battery pack impedance may also be used.
[0186] In another embodiment of estimating the impedance of the battery pack, the rate of voltage drop and the rate of current increase related to the inductance of the system can be used. The voltage drop is measured at least twice, and the inductance is assumed to be fixed. In another embodiment of estimating the impedance of the battery pack, a separate current measurement can also be used to estimate the general impedance of the battery pack. In another embodiment of estimating the impedance of the battery pack, the integral of the measured current over time can be used to derive an estimate of the impedance of the battery pack. Similarly, the integral of the voltage over time can be used to derive an estimate of the impedance of the battery pack. Similarly, the derivative of the rising current and / or the derivative of the falling voltage can also be used to derive an estimate of the impedance of the battery pack.
[0187] In another embodiment of estimating the impedance of the battery pack, during the inrush current technique, voltage and current samples are measured to perform a slope calculation to derive the impedance. The slope calculation can be fed into another algorithm (e.g., neutral net, filter function, etc.) to derive multiple aspects of the impedance (e.g., resistance, capacitance, inductive load, etc.). Additionally, the inrush technique can be used with multiple inrush spikes and the results can be combined to obtain a more accurate output.
[0188] Fig.34C is a continuation of method 3400. At step 3450, if the calculated impedance is greater than or equal to a predetermined value (e.g., a value of 50 to 80 milliohms), the controller 304 is configured to determine that the rechargeable battery pack 12 is a first type of battery pack (step 3455). At step 1150, if the calculated impedance is less than a predetermined value, the controller 304 is configured to determine that the rechargeable battery pack 12 is a second type of battery pack (step 3460). In some embodiments, multiple impedance thresholds are included for determining the type of battery pack. In some embodiments, the impedance is a continuous parameter for identifying the type of battery pack (e.g., using a lookup table). In another embodiment, the voltage and / or current of the system can be measured by the battery pack. In other embodiments, the voltage and / or current measurement results can be transmitted to the tool (e.g., via a digital or analog interface). In other embodiments, the battery pack can calculate its own impedance by itself. The battery pack can transmit the self-calculated impedance of the battery pack to the power tool. In another embodiment, the power tool can calculate the impedance of the battery pack and then transmit the calculation result to the battery pack.
[0189] In some embodiments, the determination of the type of battery pack can be probabilistic. In some embodiments, the type of battery pack can be derived through thermal measurements. A temperature sensor (e.g., a thermistor, a thermocouple, etc.) can be used to derive thermal measurements of the battery pack. Since impedance changes with temperature, thermal measurements can be used to identify the most likely type of battery pack.
[0190] Fig.35 Circuitry for determining the identity of a battery pack 3500 is shown according to some embodiments. The battery pack 3500 is coupled to a power tool, similar to those described above. The battery pack 3500 can be similar to the rechargeable battery pack 12 described above. The battery pack 3500 can include one or more power cells 3502A-E. The battery pack 3500 can also include an additional identification terminal 3504 that is coupled to an identification terminal on the power tool (e.g., in the battery pack interface 312). An identification resistor 3508 is coupled to the negative battery terminal 3510. The identification resistor 3508 is configured to have a resistance value associated with the identity of the battery pack 3500.
[0191] In some embodiments, the controller 304 couples the voltage to a voltage-dividing resistor in the power tool. After the controller 304 couples the voltage to the voltage-dividing resistor, the identification voltage can be sensed via the identification terminal 3504, which is provided back to the controller 304. Although not shown, it is contemplated that an analog-to-digital converter can convert the identification voltage into a digital signal for processing by the controller 304. The identification voltage is based on a voltage output by the controller 304, which is divided by the voltage-dividing resistor and the identification resistor 3508. Since the value of the voltage-dividing resistor and the voltage output by the controller 304 are known, the identification voltage varies only based on the resistance value of the identification resistor 3508. The controller 304 is configured to determine the identity of the battery pack 3500 based on the identification voltage. For example, the controller 304 can access one or more lookup tables and / or databases stored in the memory 356 to determine the identity of the battery pack 3500 based on the determined identification voltage. For example, the lookup table and / or database can have multiple identification voltage values associated with the identity of the battery pack. As described below, after determining the battery pack identification, the power tool may modify one or more operations based on the determined identity. In some embodiments, the battery pack 3500 transmits the identification, capacity, impedance, etc. to the controller 304 via a communication line.
[0192] Fig.36A method 3600 is shown that is performed by a controller 304 of a nail gun 10 or another power tool. The nail gun 10 is started by the controller 304 (step 3605) to initialize the method 3600. For example, the nail gun 10 or other power tool can be activated by detecting the activation of the trigger switch 316 (which causes the rechargeable battery pack 12 to deliver power to the nail gun 10 or other power tool). Then, the controller 304 determines the parameters of the rechargeable battery pack 12 (step 3610) (for example, using one of the methods described above). The parameters of the rechargeable battery pack 12 may include, for example, battery pack impedance, battery pack capacity (e.g., ampere-hour capacity), battery pack state of charge (SOC), battery pack identifier, etc. For example, the controller 304 may receive a voltage associated with an identification resistor of the rechargeable battery pack 12. Then, the controller 304 assigns a classification to the rechargeable battery pack 12 based on the parameters determined in step 3610 (step 3615). The classification of the rechargeable battery pack 12 may be, for example, a high-capacity battery classification or a low-capacity battery classification. In some embodiments, when the battery capacity of the battery exceeds the ampere-hour threshold, the controller 304 assigns the battery a high-capacity battery classification. In other embodiments, when the battery capacity of the battery is less than or equal to the ampere-hour threshold, the controller 304 assigns the battery a low-capacity battery classification. In various embodiments, the classification is related to the determined parameters of the rechargeable battery 12.
[0193] The controller 304 then controls the magnetic field weakening of the motor 308 of the nail gun 10 or another power tool based on the classification of the rechargeable battery pack 12 (e.g., using one of the methods described above) (step 3620). For example, controlling the magnetic field weakening of the motor 308 includes enabling, disabling, dynamically modifying, or setting a fixed amount of magnetic field weakening applied to the motor 308. In one example, if the controller 304 determines that the rechargeable battery pack 12 is assigned a high capacity classification, the controller 304 enables the magnetic field weakening of the motor 308. In this case, if magnetic field weakening is employed, the controller 304 can enable dynamic control of the magnetic field weakening of the motor 308 when a new classification is assigned to the rechargeable battery pack 12 based on monitoring of the parameters of the rechargeable battery pack 12. In another example, if the controller 304 determines that the rechargeable battery pack 12 is assigned a low capacity classification, the controller 304 disables the magnetic field weakening of the motor 308. In yet another example, if the controller 304 determines that the rechargeable battery pack 12 is assigned a low capacity classification and field weakening is employed, the controller 304 may enable a reduction in the intensity of the field weakening of the motor 308 .
[0194] Fig.37A method 3700 is shown for execution by the controller 304 of the nail gun 10 or another power tool to enable or disable, for example, magnetic field weakening. The nail gun 10 or other power tool is started by the controller 304 (step 3705) to initialize the method 3700. For example, the nail gun 10 or other power tool may be activated by detecting activation of the trigger switch 316 (which causes the rechargeable battery pack 12 to deliver power to the nail gun 10 or other power tool). The controller 304 then receives an indication associated with the first operating mode input 610 of the user interface 600 (step 3710). The controller 304 then (e.g., using the method described above in Figure 6 3715). Then, the controller 304 receives an indication associated with the second operating mode input 615 of the user interface 600 (step 3720). Then, the controller 304 (e.g., using the first set of operating parameters described above in Figure 6 ) controls the operation of the motor 308 of the nail gun 10 (step 3725).
[0195] Fig.38 A method 3800 is shown that is performed by the controller 304 of the nail gun 10 or another power tool. The nail gun 10 or other power tool is started by the controller 304 (step 3805) to initialize the method 3800. For example, the nail gun 10 or other power tool may be activated by detecting activation of the trigger switch 316 (which causes the rechargeable battery pack 12 to deliver power to the nail gun 10 or other power tool). The controller 304 then receives an indication associated with the first operating mode input 610 of the user interface 600 (step 3810). The controller 304 then (e.g., using the method described above in Figure 6 The controller 304 controls the operation of the motor 308 of the nail gun 10 or other power tool (step 3815) according to the first set of operating parameters described in the embodiment of the present invention. For example, the controller 304 enables the magnetic field weakening of the nail gun 10.
[0196] The controller 304 then receives or determines the SOC of the rechargeable battery pack 12 (step 3820). The controller 304 compares the SOC of the rechargeable battery pack 12 to the voltage threshold (step 3825). At step 3825, if the SOC of the rechargeable battery pack 12 is greater than the voltage threshold (the "no" branch of step 3825), the controller 304 is configured to continue monitoring the SOC of the rechargeable battery pack 12. At step 3825, if the SOC of the rechargeable battery pack 12 is less than the voltage threshold (the "yes" branch of step 3825), the controller 304 (e.g., using the voltage threshold described above) determines the SOC of the rechargeable battery pack 12. Figure 6The controller 304 controls the operation of the motor 308 of the nail gun 10 or other power tool (step 3830) according to the second set of operating parameters described in the embodiment of the present invention. For example, the controller 304 disables or reduces the magnetic field weakening of the nail gun 10 or other power tool.
[0197] Fig.39 A method 3900 is shown that is performed by the controller 304 of the nail gun 10 or another power tool. The nail gun 10 or other power tool is started by the controller 304 (step 3905) to initialize the method 3900. For example, the nail gun 10 or other power tool may be activated by detecting activation of the trigger switch 316 (which causes the rechargeable battery pack 12 to deliver power to the nail gun 10 or other power tool). The controller 304 then receives an indication associated with the first operating mode input 610 of the user interface 600 (step 3910). The controller 304 then (e.g., using the method described above in Figure 6 ) controls the operation of the motor 308 of the nail gun 10 or other power tool (step 3915). For example, the controller 304 enables magnetic field weakening of the nail gun 10 or other power tool.
[0198] The controller 304 then receives or determines the temperature of the rechargeable battery pack 12 (step 3920). The controller 304 compares the temperature of the rechargeable battery pack 12 to the high temperature threshold (step 3925). At step 3925, if the temperature of the rechargeable battery pack 12 is less than the high temperature threshold (the "no" branch of step 3925), the controller 304 is configured to continue monitoring the temperature of the rechargeable battery pack 12. At step 3825, if the temperature of the rechargeable battery pack 12 is greater than or equal to the high temperature threshold (the "yes" branch of step 3925), the controller 304 (e.g., using the above description in Figure 6 The controller 304 controls the operation of the motor 308 of the nail gun 10 or other power tool (step 3830) according to the second set of operating parameters described in the embodiment of the present invention. For example, the controller 304 disables or reduces the magnetic field weakening of the nail gun 10 or other power tool.
[0199] Thus, the embodiments described herein provide systems and methods for implementing sensored or sensorless magnetic field weakening in a power tool. Various features and advantages are set forth in the appended claims.
Claims
1. A nail gun, characterized in that: include: case; a brushless motor within the housing, the brushless motor comprising a rotor and a stator, the rotor coupled to a motor shaft arranged to rotate about a longitudinal axis extending through the motor shaft, the motor shaft arranged to produce a rotational output to a drive mechanism; a power switching circuit that provides power supply from a battery pack to the brushless motor; a drive blade configured to be driven by the drive mechanism between a first position and a second position; as well as An electronic controller configured to: determining whether the drive blade is in the first position, and In response to determining that the drive blade is in the first position, field weakening is applied to the brushless motor as the drive blade moves from the first position to the second position.
2. The nail gun according to claim 1, wherein: The electronic controller is further configured to: determining whether the drive blade is in the second position; and Field weakening of the brushless motor is terminated in response to determining that the drive blade is in the second position.
3. The nail gun according to claim 1, wherein: Further including: a sensor configured to generate a sensor signal, Wherein, the electronic controller is further configured to receive the sensor signal from the sensor.
4. The nail gun according to claim 3, wherein: The electronic controller is further configured to determine whether the drive blade is in the first position based on the sensor signal.
5. The nail gun according to claim 3, wherein: The sensor is a Hall Effect sensor.
6. The nail gun according to claim 1, wherein: The electronic controller is further configured to: A phase advance angle is applied to control the brushless motor.
7. The nail gun according to claim 1, wherein: The electronic controller is further configured to: A field oriented control ("FOC") algorithm is applied to control the brushless motor.
8. A power tool, characterized in that: include: case; a brushless motor within the housing, the brushless motor comprising a rotor and a stator, the rotor coupled to a motor shaft arranged to rotate about a longitudinal axis extending through the motor shaft, the motor shaft arranged to produce a rotational output to a drive mechanism; a power switch circuit that provides power supply from a battery pack interface to the brushless motor; as well as An electronic controller configured to: determining parameters associated with the battery pack, classifying the battery pack based on the determined parameters, and A field weakening applied to the brushless motor is controlled based on the classification of the battery pack.
9. The power tool according to claim 8, wherein: The electronic controller is further configured to: Field weakening is applied to the brushless motor in response to classifying the battery pack as a high capacity battery pack.
10. The power tool according to claim 8, wherein: The electronic controller is further configured to: Field weakening of the brushless motor is disabled in response to classifying the battery pack as a low capacity battery pack.
11. The power tool according to claim 8, wherein: The electronic controller is further configured to: Field weakening applied to the brushless motor is adjusted based on parameters associated with the battery pack.
12. The power tool of claim 11, wherein: The parameter is the state of charge of the battery pack; and The electronic controller is further configured to: Field weakening applied to the brushless motor is adjusted based on the state of charge of the battery pack.
13. The power tool of claim 11, wherein: The parameter is the temperature of the battery pack; and The electronic controller is further configured to: Field weakening applied to the brushless motor is adjusted based on the temperature of the battery pack.
14. The power tool according to claim 8, wherein: The electronic controller is further configured to: receiving a first indication associated with a first operating mode of the power tool, the first operating mode including a first set of operating parameters enabling magnetic field weakening; In response to receiving a first indication associated with a first operating mode of the power tool, controlling operation of the brushless motor according to the first operating mode; receiving a second indication associated with a second operating mode of the power tool, the second operating mode including a second set of operating parameters that disable magnetic field weakening; as well as In response to receiving a second indication associated with a second operating mode of the power tool, operation of the brushless motor is controlled according to the second operating mode.
15. The power tool according to claim 8, wherein: The parameter associated with the battery pack is an identification of the battery pack.
16. The power tool according to claim 8, wherein: A parameter associated with the battery is the impedance of the battery.
17. The power tool according to claim 8, wherein: A parameter associated with the battery is the ampere-hour capacity of the battery.