Field-oriented sensorless brushless motor control using a single shunt resistor
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-08-29
- Publication Date
- 2026-04-02
AI Technical Summary
Existing sensorless control schemes for brushless direct-current (BLDC) motors in power tools suffer from low rotor angle resolution and inefficiencies at varying speed ranges, particularly causing torque ripple at low speeds and limiting power input.
A controller in the power tool measures phase currents using a single shunt resistor to calculate angular positions of the rotor, applies drive signals based on these measurements, and uses sliding-mode observers to estimate back electromotive force (EMF) for precise commutation, enabling efficient field-oriented control across different speed ranges.
This approach enhances rotor angle resolution and commutation accuracy, allowing maximum power input with high efficiency across varying speeds, reducing torque ripple and improving motor performance.
Abstract
Description
FIELD-ORIENTED SENSORLESS BRUSHLESS MOTOR CONTROL USING A SINGLE SHUNT RESISTORCROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority to, and the benefit of, U.S. Provisional Application No. 63 / 689,016 ("FIELD-ORIENTED SENSORLESS BRUSHLESS MOTOR CONTROL USING A SINGLE SHUNT RESISTOR"), filed on August 30, 2024.INCORPORATION BY REFERENCE
[0002] The disclosure of U.S. Provisional Application No. 63 / 689,016 ("FIELD- ORIENTED SENSORLESS BRUSHLESS MOTOR CONTROL USING A SINGLE SHUNT RESISTOR"), filed on August 30, 2024, is hereby incorporated by reference for all purposes as if set forth in its entirety.FIELD
[0003] This disclosure relates to sensorless control of an electronically commutated brushless motor in a power tool, and particularly to sensorless field- orientated control of a brushless motor in a power tool.BACKGROUND
[0004] Power tools may be of different types depending on the type of output provided by the power tool. For example, a power tool may be a drill, hammer, grinder, impact wrench, circular saw, reciprocating saw, and so on. Some power tools may be powered by an alternating current (AC) power source while others may be portable and may be powered by a direct current (DC) power source such as a battery pack. Power tools may use AC or DC motors.WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0005] Some power tools have a movable switch such as a trigger or a speed dial that can be used to vary the speed of the motor or the power output by the tool. The switch can be moved from a resting position where the power output of the tool is minimum (e.g., zero), and a fully activated (e.g., pulled) position where the power output of the tool is maximum. Thus, the tool can output the maximum power only when the trigger is fully activated. Also, after the trigger is fully activated, the tool's power output cannot be increased beyond its maximum power. The present disclosure addresses these and other issues related to power tools as described below in the detail.
[0006] Use of Brushless Direct-Current (BLDC) motors in power tools has become common in recent years. A typical BLDC motor includes a stator including a series of windings that form three or more phases, and a rotor including a series of magnets that magnetically interact with the stator windings. As the phases of the windings are sequentially energized, they cause rotation of the rotor. BLDC motors generate more power and are more efficient that similarly-sized conventional brushes DC motors and universal motors. BLDC motors are electronically commutated, requiring a controller to commutate proper phases of the motor based on the angular position of the rotor. Conventionally, the motor is provided with a series of Hall sensors that detect a magnetic field of the rotor and provide signals to the controller indicative of the rotor position.
[0007] BLDC motors are typically driven using a trapezoidal control scheme - also referred to as six-step commutation control - where the motor is divided to phases of set degrees that are sequentially energized to cause rotation of the rotor. In one implementation, each phase of the motor is energized for a set angle (e.g., 120 degrees in a three-phase motor configuration). While trapezoidal control can be relatively efficient at high speed, it may cause torque ripple at low speeds as the commutation cycles between successive phases. Furthermore, in trapezoidal control, at least one phase of the motor is not energized at any given time, which limits the total power input provided- 2 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 to the motor. It would be advantageous to provide a motor control scheme that allows maximum power input to the motor with high level of efficiency at different speed ranges.
[0008] Known techniques for sensorless control of BLDC motors are available in applications such as outdoor products and power tools where the motor operates at predictable speed ranges. One such technique involves monitoring the motor induced voltage generated by the back-electromotive force (back-EMF) of the motor in the motor windings to detect a rotational position of the motor in a trapezoidal control scheme. Specifically, as the rotor rotates it induces current through a non-active phase of the motor, which can be detected by the controller to estimate a rotary location of the rotor. In this scheme, the rotor angle is detected with a 60-degree resolution in relation to fixed quadrants and the commutation changes as the rotor angle transitions from one quadrant to the next. It would be advantageous to provide a sensorless control scheme that provides a high degree of resolution of the rotor angle for more efficient and accurate commutation.SUMMARY
[0009] According to some embodiments, a power tool is provided including a housing, a brushless motor disposed within the housing and including a stator and a rotor, a power switch circuit that supplies power from a power source to the brushless motor, a trigger switch actuatable by a user configured to selectively cut off supply of power to the brushless motor, and a controller. The controller is configured to conduct at least two measurements of a shunt resistor coupled to the power switch circuit to calculate phase currents of the motor, detect an angular position of the rotor based on the phase current of the motor, and apply a drive signal to the power switch circuit to control a commutation of the motor based on the detected angular position of the rotor.- 3 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0010] In some embodiments, if the trigger switch is released and reengaged while the rotor speed exceeds a speed threshold, within a space-vector pulse-width modulation (PWM) period of the motor drive, the controller applies a braking period during at least a zero vector of the motor, applies a drive vector corresponding to a sector of the motor to two consecutive active vectors of the motor, and conducts the at least two measurements of the shunt resistor during the drive sector to calculate the motor phases.
[0011] In some embodiments, the controller further applies a negative vector corresponding to an opposing vector of the motor to offset a driving torque applied by the drive vector.
[0012] In some embodiments, the controller is configured to apply a sliding-mode observer (SMO) step to estimate a back electromotive force (back-EMF) voltage of the motor based on the phase current of the motor and detect the angular position of the rotor based on the estimated back-EMF voltage.
[0013] In some embodiments, in the SMO step, the controller calculates the back- EMF voltage of the motor as a function of motor phase voltage signals and the phase current of the motor.
[0014] In some embodiments, the speed threshold corresponds to a threshold below which the controller does not apply the SMO step to detect the angular position of the rotor.
[0015] According to one aspect, the disclosure is generally directed to a method of commuting a power tool comprising a motor having a rotor, a power switch circuit coupled to the motor, and a controller configured to control a switching operation of the power switch circuit, the method being executed by the controller and comprising: providing a plurality of drive signals for driving the power switch circuit associated with a field-oriented control operation of the motor by controlling a switching operation of the power switch circuit over a plurality of switching vectors that are associated with the field-oriented- 4 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 control operation; measuring a first current value of a single shunt element at a first time during a first vector of the plurality of switching vectors and a second current value of the single shunt element at a second time during a second vector of the plurality of switching vectors, the second time being at least a settling time after a transition from the first vector to the second vector, the settling time corresponding to a minimum amount of time for a current passing through the single shunt element to reach a steady state value following the transition from the first vector to the second vector; calculating a plurality of phase currents of the motor based on the first current value and the second current value; determining an angular position of the rotor based on the plurality of phase currents of the motor; and controlling a pulse-width modulation (PWM) of the plurality of drive signals based on the angular position of the rotor.
[0016] Example implementations of this aspect may include one or more of the following features.
[0017] In some example implementations, the single shunt element is coupled in series with the power switch circuit on a DC bus line of the power tool that couples a terminal block selectively coupled with a removable battery pack to the power switch circuit.
[0018] In some example implementations, the transition from the first vector to the second vector is at least a minimum sample-and-hold time after the first time, the minimum sample-and-hold time being associated with a minimum amount of time for the controller to sample and measure the first current value from the single shunt element prior to transitioning to the second vector.
[0019] In some example implementations, the second time is at least a minimum on-time after the first time, the minimum on-time being a summation of the minimum sample-and-hold time and the settling time.- 5 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0020] In some example implementations, a time period between the first time and the second time corresponds approximately to the minimum on-time.
[0021] In some example implementations, the first current value corresponds to a first phase current of the motor, and the second current value corresponds to a second phase current of the motor.
[0022] In some example implementations, the calculating the phase currents of the motor comprises: identifying the first current value as a first phase current of the motor; identifying the second current value as a second phase current of the motor; and calculating a third phase current of the motor based on the first and second phase currents.
[0023] In some example implementations, the method further comprises: determining a position difference between the determined angular position of the rotor and a target position associated with a target speed reference; and generating an errorcorrection signal as a function of the position difference, wherein the controlling the PWM of the plurality of drive signals is further based on the error-correction signal.
[0024] In some example implementations, the method further comprises: determining a bus current measurement as a greater of the first current value and the second current value; determining an over-current protection event based on the bus current measurement; and performing a protection action to cut off or reduce supply of power to the motor based on the determining of the over-current protection event.
[0025] In some example implementations, the controlling the PWM of the plurality of drive signals comprises: setting a transition time associated with the transition from the first vector to the second vector based on the angular position of the rotor; and adjusting the transition time based on a criterion of the set transition time in relation to at least one of the first time or the second time.- 6 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0026] According to another aspect, the disclosure is generally directed to a method of commuting a power tool comprising a motor having a rotor, a power switch circuit coupled to the motor, and a controller configured to control a switching operation of the power switch circuit, the method being executed by the controller and comprising: providing a plurality of drive signals for driving the power switch circuit associated with a field-oriented control operation of the motor by controlling a switching operation of the power switch circuit over a plurality of switching vectors that are associated with the field- oriented control operation; measuring a first current value of a single shunt element at a first time during a first vector of the plurality of switching vectors and a second current value of the single shunt element at a second time during a second vector of the plurality of switching vectors, a transition from the first vector to the second vector is at least a minimum sample-and-hold time after the first time, the minimum sample-and-hold time being associated with minimum amount of time for the controller to sample and measure the first current value from the single shunt element prior to transitioning to the second vector; calculating a plurality of phase currents of the motor based on the first current value and the second current value; determining an angular position of the rotor based on the plurality of phase currents of the motor; and controlling a pulse-width modulation (PWM) of the plurality of drive signals based on the angular position of the rotor.
[0027] Example implementations of this aspect may include one or more of the following features.
[0028] In some example implementations, the second time is at least a settling time after the transition from the first vector to the second vector, the settling time corresponding to a minimum amount of time for a current passing through the single shunt element to reach a steady state value following the transition from the first vector to the second vector.- 7 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0029] In some example implementations, the second time is at least a minimum on-time after the first time, the minimum on-time being a summation of the minimum sample-and-hold time and the settling time.
[0030] In some example implementations, the providing the plurality of drive signals comprises: providing a first sequence of PWM signals associated with the first vector; delaying the transition from the first vector to the second vector until after a minimum on-time has passed; and providing a second sequence of PWM signals associated with the second vector.
[0031] In some example implementations, the method further comprises: determining a position difference between the determined angular position of the rotor and a target position associated with a target speed reference; and generating an errorcorrection signal as a function of the position difference, wherein the controlling the PWM of the plurality of drive signals is further based on the error-correction signal.
[0032] In some example implementations, the method further comprises: determining a bus current measurement as a greater of the first current value and the second current value; determining an over-current protection event based on the bus current measurement; and performing a protection action to cut off or reduce supply of power to the motor based on the determining of the over-current protection event.
[0033] According to another aspect, the disclosure is generally directed to a method of commuting a power tool comprising a motor having a rotor, a power switch circuit coupled to the motor, and a controller configured to control a switching operation of the power switch circuit, the method being executed by the controller and comprising: providing a plurality of drive signals for driving the power switch circuit associated with a field-oriented control operation of the motor by controlling a switching operation of the power switch circuit over a plurality of switching vectors that are associated with the field- oriented control operation; designating a first time during a first vector of the plurality of- 8 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 switching vectors and a second time during a second vector of the plurality of switching vectors, the first time and the second time being respectively associated with a first current measurement related to the first vector and a second current measurement related to the second vector; determining that a transition time associated with at least one of the first vector or the second vector does not satisfy a criterion related to at least one of the first time or the second time; adjusting the transition time to satisfy the criterion; and applying the plurality of drive signals to the power switch circuit based on the adjusted transition time.
[0034] Example implementations of this aspect may include one or more of the following features.
[0035] In some example implementations, the method further comprises: performing the first current measurement during the first time and the second current measurement during the second time; determining an angular position of the rotor based on the first and second current measurements; and controlling a pulse-width modulation (PWM) of the plurality of drive signals based on the angular position of the rotor.
[0036] In some example implementations, the determining the angular position comprises: identifying a first current value corresponding to the first current measurement as a first phase current of the motor; identifying a second current value corresponding to the second current measurement as a second phase current of the motor; calculating a third phase current of the motor based on the first and second phase currents; and determining the angular position of the rotor based on the first to third phase currents.
[0037] In some example implementations, the adjusting the transition time comprises shifting at least one of a rising edge or a falling edge of at least one of the plurality of drive signals.- 9 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0038] In some example implementations, the adjusting the transition time comprises shifting a rising edge and a falling edge of the at least one of the plurality of drive signals by a substantially equal amount.
[0039] In some example implementations, the determining that the transition time does not satisfy the criterion comprises: determining that at least one of a first duration of the first vector and a second duration of the second vector is less than a minimum on- time.
[0040] In some example implementations, the minimum on-time is a summation of a settling time after a transition from the first vector to the second vector and a minimum sample-and-hold time of the controller, wherein the settling time corresponds to a minimum amount of time for a current passing through a single shunt element to reach a steady state value following the transition from the first vector to the second vector, and wherein the minimum sample-and-hold time corresponds to a minimum amount of time for the controller to sample and measure a first current value corresponding to the first current measurement from the single shunt element prior to transitioning to the second vector.
[0041] In some example implementations, the transition from the first vector to the second vector is at least the minimum sample-and-hold time after the first time, and wherein the second time is at least the minimum on-time after the first time.
[0042] In some example implementations, the single shunt element is coupled in series with the power switch circuit on a DC bus line of the power tool that couples a terminal block selectively coupled with a removable battery pack to the power switch circuit.
[0043] In some example implementations, the adjusting the transition time comprises: advancing a pulse-width modulation (PWM) signal associated with at least- 10 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 one of the plurality of drive signals so at least one of a rising edge or a falling edge of the PWM signal occurs at or after the minimum sample-and-hold time.
[0044] In some example implementations, the adjusting the transition time comprises: delaying a pulse-width modulation (PWM) signal associated with at least one of the plurality of drive signals so at least one of a rising edge or a falling edge of the PWM signal occurs at or before the settling time.
[0045] According to another aspect, the disclosure is generally directed to a power tool comprising: a motor having a rotor; a power switch circuit coupled to the motor; and a controller configured to control a switching operation of the power switch circuit, and to: provide a plurality of drive signals for driving the power switch circuit associated with a field-oriented control operation of the motor by controlling the switching operation of the power switch circuit over a plurality of switching vectors that are associated with the field- oriented control operation; measure a first current value of a single shunt element at a first time during a first vector of the plurality of switching vectors and a second current value of the single shunt element at a second time during a second vector of the plurality of switching vectors, the second time being at least a settling time after a transition from the first vector to the second vector, the settling time corresponding to a minimum amount of time for a current passing through the single shunt element to reach a steady state value following the transition from the first vector to the second vector; calculate a plurality of phase currents of the motor based on the first current value and the second current value; determining an angular position of the rotor based on the plurality of phase currents of the motor; and control a pulse-width modulation (PWM) of the plurality of drive signals based on the angular position of the rotor.
[0046] Example implementations of this aspect may include one or more of the following features.- 11 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0047] In some example implementations, the transition from the first vector to the second vector is at least a minimum sample-and-hold time after the first time, the minimum sample-and-hold time being associated with a minimum amount of time for the controller to sample and measure the first current value from the single shunt element prior to transitioning to the second vector.
[0048] In some example implementations, the second time is at least a minimum on-time after the first time, the minimum on-time being a summation of the minimum sample-and-hold time and the settling time.
[0049] According to another aspect, the disclosure is generally directed to a method of controlling a power tool comprising a motor having a rotor, a power switch circuit coupled to the motor, a trigger switch, and a controller configured to control a switching operation of the power switch circuit, the method being executed by the controller and comprising: braking the motor in response to detecting a release of the trigger switch; detecting a subsequent reengagement of the trigger switch; applying a drive signal within a sector of the motor corresponding to two consecutive active vectors of the motor; measuring a first current value of a single shunt element at a first time and a second current value of the single shunt element at a second time; calculating a plurality of phase currents of the motor based on the first and second current values; determining an angular position of the rotor based on the plurality of phase currents of the motor; and controlling, based on the angular position of the rotor, a pulse-width modulation (PWM) of a plurality of drive signals for application to the power switch circuit, the plurality of drive signals being associated with a field-oriented control operation of the motor.
[0050] In some example implementations, the braking of the motor comprises: controlling the motor to perform an active rotational deceleration operation in response to detecting a release of the trigger switch by setting a target speed of the motor to zero, and actively decelerating the motor using a sliding-mode observer.- 12 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0051] In some example implementations, the braking of the motor comprises: shutting off supply of power to the motor to allow the motor to gradually coast down to a halt.
[0052] In some example implementations, the single shunt element is coupled in series with the power switch circuit on a DC bus line of the power tool that couples a terminal block selectively coupled with a removable battery pack to the power switch circuit.
[0053] In some example implementations, the first time and the second time are during an application time of the drive signal.
[0054] In some example implementations, the first time is during an application time of a first vector of the two consecutive active vectors, and the second time is during an application time of a second vector of the two consecutive active vectors.
[0055] In some example implementations, the second time is at least a settling time after a transition from the first vector to the second vector, and wherein the settling time corresponds to a minimum amount of time for a current passing through the single shunt element to reach a steady state value following the transition from the first vector to the second vector.
[0056] In some example implementations, the transition from the first vector to the second vector is at least a minimum sample-and-hold time after the first time, the minimum sample-and-hold time being associated with a minimum amount of time for the controller to sample and measure the first current value from the single shunt element prior to transitioning to the second vector.
[0057] In some example implementations, the second time is at least a minimum on-time after the first time, the minimum on-time being a summation of the minimum sample-and-hold time and the settling time.- 13 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0058] In some example implementations, the method further comprises applying an opposing signal that opposes the drive signal to offset a driving torque applied by the drive signal.
[0059] In some example implementations, a vector space of the motor comprises a plurality of sectors, each being define by two consecutive active vectors of a sequence of active vectors, wherein the drive signal is within a sector of the plurality of sectors corresponding to an nth vector and an (n+1 )th vector of the motor, wherein the opposing signal is within a sector of the plurality of sectors corresponding to an (n+3)th vector and an (n+4)th vector of the motor, and wherein n is a positive integer.
[0060] In some example implementations, the first time is during an application time of the drive signal, and wherein the second time is during an application time of the opposing signal.
[0061] In some example implementations, the first time and the second time are during an application time of the opposing signal.
[0062] In some example implementations, an application time of the driving signal is during a first half of a PWM cycle of phase voltage signals of the motor, and an application time of the opposing signal is during a subsequent second half of the PWM cycle.
[0063] In some example implementations, an application time of the driving signal is in a first PWM cycle of phase voltage signals of the motor, and an application time of the opposing signal is during a second PWM cycle of the phase voltage signals of the motor that is after the first PWM cycle.
[0064] In some example implementations, the calculating the phase currents of the motor comprises: identifying the first current value as a first phase current of the motor; identifying the second current value as a second phase current of the motor; and- 14 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 calculating a third phase current of the motor based on the first and second phase currents.
[0065] In some example implementations, the determining the angular position of the rotor based on the plurality of phase currents of the motor comprises: applying a sliding-mode observer process to estimate a back electromotive force voltage of the motor based on the plurality of phase currents of the motor; and detecting the angular position of the rotor based on the back electromotive force voltage.
[0066] In some example implementations, the applying the sliding-mode observer process comprises: calculating the back electromotive force voltage of the motor based on motor phase voltage signals and the plurality of phase currents of the motor.
[0067] In some example implementations, the controlling the PWM of the plurality of drive signals comprises: setting a target speed of the motor based on a level of trigger engagement; and actively controlling rotation of the motor based on the target speed and the angular position of the rotor using a sliding-mode observer.
[0068] According to another aspect, the disclosure is generally directed to a power tool comprising: a motor having a rotor; a trigger switch; a power switch circuit coupled to the motor; and a controller configured to control a switching operation of the power switch circuit, and to: braking the motor in response to detecting a release of the trigger switch; detecting a subsequent reengagement of the trigger switch; applying a drive signal within a sector of the motor corresponding to two consecutive active vectors of the motor; measuring a first current value of a single shunt element at a first time and a second current value of the single shunt element at a second time; calculating a plurality of phase currents of the motor based on the first and second current values; determining an angular position of the rotor based on the plurality of phase currents of the motor; and controlling, based on the angular position of the rotor, a pulse-width modulation (PWM) of a plurality- 15 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 of drive signals for application to the power switch circuit, the plurality of drive signals being associated with a field-oriented control operation of the motor.
[0069] Example implementations of this aspect may include one or more of the following features.
[0070] According to some example implementations, a method of controlling a power tool comprising a motor having a rotor, a power switch circuit coupled to the motor, a trigger switch, and a controller configured to control a switching operation of the power switch circuit, the method being executed by the controller and comprising: providing a plurality of drive signals for driving the power switch circuit associated with a field-oriented control operation of the motor by controlling a switching operation of the power switch circuit over a plurality of switching vectors that are associated with the field-oriented control operation; detecting of an event indicative of a shutdown of the motor; conducting a plurality of phase current measurements of the motor using a single shunt element over a plurality of sampling intervals as a rotation of the motor slows down; and determining that the rotation of the motor has substantially reached a stop based on the plurality of phase current measurements.
[0071] In some example implementations, the conducting the plurality of phase current measurements comprises, for each of the plurality of sampling intervals: applying a brake signal to a first vector of the plurality of switching vectors; applying a drive signal to a second vector of the plurality of switching vectors following the brake signal; and measuring a current value of the single shunt element during an application period of the drive signal.
[0072] In some example implementations, the brake signal corresponds to driving a zero vector of the plurality of switching vectors.
[0073] In some example implementations, the measuring the current value of the single shunt element comprises: measuring the current value of the single shunt element- 16 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 at least a settling time after a transition from the first vector to the second vector, and wherein the settling time corresponds to a minimum amount of time for a current passing through the single shunt element to reach a steady state value following the transition from the first vector to the second vector.
[0074] In some example implementations, a duration of the second vector is at least a minimum on-time corresponding to a summation of a settling time and a minimum sample-and-hold time, and wherein the minimum sample-and-hold time corresponds to a minimum amount of time for the controller to sample and measure the current value from the single shunt element.
[0075] In some example implementations, the determining that the rotation of the motor has substantially reached the stop comprises determining that a convergence of the plurality of phase current measurements meets a predetermined criteria.
[0076] In some example implementations, the plurality of phase current measurements comprises a first plurality of phase current measurements corresponding to a first sampling interval of the plurality of sampling intervals and a second plurality of phase current measurements corresponding to a second sampling interval of the plurality of sampling intervals.
[0077] In some example implementations, the determining that the rotation of the motor has substantially reached the stop comprises: determining that a first differential value between maximum and minimum current measurements of the first plurality of phase current measurements exceeds a differential threshold; and determining that a second differential value between maximum and minimum current measurements of the second plurality of phase current measurements is less than the differential threshold.
[0078] In some example implementations, the determining that the rotation of the motor has substantially reached the stop comprises: determining that a first maximum current value of the first plurality of phase current measurements exceeds a maximum- 17 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 current threshold; and determining that a second maximum current value of second first plurality of phase current measurements does not exceed the maximum current threshold.
[0079] In some example implementations, the conducting the plurality of phase current measurements comprises disabling the power switch circuit for a period of time prior to the brake signal within each of the plurality of sampling intervals.
[0080] In some example implementations, the period of time of the disabling the power switch circuit is greater than an application time of the first vector, and wherein the application time of the first vector is greater than an application time of the second vector.
[0081] In some example implementations, the power switch circuit comprises a plurality of lower-side power switches and a plurality of upper-side power switches configured to drive a plurality of phases of the motor.
[0082] In some example implementations, the disabling the power switch circuit comprises: applying a first control signal to the power switch circuit, and wherein the plurality of lower-side and upper-side power switches are configured to deactivate in response to the first control signal.
[0083] In some example implementations, applying the drive signal comprises: applying a second control signal to the power switch circuit, and wherein the lower-side power switches are configured to activate in response to the second control signal, and the upper-side power switches are configured to deactivate in response to the second control signal.
[0084] In some example implementations, the method further comprises: detecting an actuation of the trigger switch, and restarting the applying of the plurality of drive signals to drive the motor after determining that rotation of the motor has substantially reached the stop.- 18 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0085] In some example implementations, the field-oriented control operation comprises: determining an angular position of the rotor using high-frequency injections while an output speed of the motor is below a speed threshold; determining the angular position of the rotor using a sliding mode observer while the output speed of the motor is greater than the speed threshold; and commutating the motor using the determined angular position.
[0086] In some example implementations, the event indicative of the shutdown of the motor comprises at least one of an over-current condition, an over-voltage condition, a kick-back event, or an over-temperature condition associated with the power tool or a battery pack coupled to the power tool.
[0087] In some example implementations, the single shunt element is coupled in series with the power switch circuit on a DC bus line of the power tool that couples a terminal block selectively coupled with a removable battery pack to the power switch circuit.
[0088] According to another aspect, the disclosure is generally directed to a method of controlling a power tool comprising a motor having a rotor, a power switch circuit coupled to the motor, a trigger switch, and a controller configured to control a switching operation of the power switch circuit, the method being executed by the controller and comprising: detecting an actuation of the trigger switch; conducting a plurality of phase current measurements of the motor using a single shunt element over a plurality of sampling intervals; determining that the rotor is not rotating based on the plurality of phase current measurements; detecting an initial position of the rotor; and commutating the motor via a sensorless motor control technique.
[0089] According to another aspect, the disclosure is generally directed to a power tool comprising: a motor having a rotor; a power switch circuit coupled to the motor; a trigger switch; and a controller configured to control a switching operation of the power- 19 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 switch circuit, and to: applying a plurality of drive signals to the power switch circuit associated with a field-oriented control operation of the motor by controlling a switching operation of the power switch circuit over a plurality of switching vectors that are associated with the field-oriented control operation; in response to detection of an event indicative of a shutdown of the motor; conducting a plurality of phase current measurements of the motor using a single shunt element over a plurality of sampling intervals as a rotation of the motor slows down; and determining that the rotation of the motor has substantially reached a stop based on the plurality of phase current measurements.
[0090] Additional features and advantages of various embodiments will be set forth, in part, in the description that follows, and will, in part, be apparent from the description, or may be learned by the practice of various embodiments. The objectives and other advantages of various embodiments will be realized and attained by means of the elements and combinations particularly pointed out in the description herein.BRIEF DESCRIPTION OF THE DRAWINGS
[0091] The drawings described herein are for illustration purposes only and are not intended to limit the scope of this disclosure in any way.
[0092] Fig. 1 depicts a side cross-sectional view of a power tool, according to some embodiments;
[0093] Fig. 2 depicts a partial cross-sectional view of a conventional motor with rotor positional sensors, according to some embodiments;
[0094] Fig. 3 depicts a partial cross-sectional view of a sensorless BLDC motor, according to some embodiments;
[0095] Fig. 4 depicts a circuit block diagram of the power tool including a motor and a motor control circuit, according to some embodiments;- 20 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0096] Fig. 5 depicts an exemplary power switch circuit configured as a three- phase inverter bridge circuit including shunt resistors, according to some embodiments;
[0097] Fig. 6 depicts an exemplary power switch circuit configured a three-phase inverter bridge circuit with an alternative arrangement of shunt resistors, according to some embodiments;
[0098] Fig. 7 depicts an exemplary flow diagram of a process for measuring motor current using the low-side FET resistive conduction characteristics, according to some embodiments;
[0099] Fig. 8 depicts a circuit block diagram similar to Fig. 4 but with an alternative secondary controller input configuration, according to some embodiments;
[0100] Fig. 9 depicts a circuit block diagram similar to Figs. 4 and 8 but with yet another alternative secondary controller input configuration, according to some embodiments;
[0101] Fig. 10 depicts a partial block system diagram of the power tool showing controller software component blocks for Field-Oriented Control (FOC) execution, according to some embodiments;
[0102] Fig. 11 depicts a speed-time diagram depicting procedures implemented by controller to determine the rotor position from start-up to full speed, according to some embodiments;
[0103] Fig. 12 depicts a flow diagram for a process corresponding to Fig. 11 , according to some embodiments;
[0104] Fig. 13 depicts an exemplary excitation sequence table including high-side and low-side drive signals corresponding to rotor angles V1 -V6 within a full rotation of the rotor, according to some embodiments;
[0105] Fig. 14 depicts a diagram representing a full 360-degree orientation of the rotor angles from V1 through V6, according to some embodiments;- 21 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0106] Fig. 15 depicts an exemplary diagram showing measured currents corresponding to each pulse injection for Initial Position Detection (IPD), according to some embodiments;
[0107] Fig. 16 depicts an alternative excitation sequence table including high-side and low-side drive signals corresponding to rotor angles V1 -V6 within a full rotation of the rotation of the rotor, according to some embodiments;
[0108] Fig. 17 depicts a diagram representing a full 360-degree orientation of the rotor angles from V1 through V6 with the rotor parked at 30-degree intervals, according to some embodiments;
[0109] Fig. 18 depicts a partial block system diagram of the power tool using High- Frequency Injection (HFI) for low-speed control, according to some embodiments;
[0110] Fig. 19 depicts a block system diagram of an HFI-based position estimator, according to some embodiments;
[0111] Fig. 20 depicts a current waveform diagram showing the three phase currents Iv, lu, Iw in low-speed control, according to some embodiments;
[0112] Fig. 21 depicts a flow diagram of a process executed for determining the correct rotor angle 0 at start-up using HFI and parking, according to some embodiments;
[0113] Fig. 22 depicts a zoomed-in view of Fig. 20 showing the three phase currents Iv, lu, Iw as controller executes closed-loop HFI for low-speed motor operation, according to some embodiments;
[0114] Fig. 23 depicts a flow diagram of a process executed by controller for transition from low-speed control, according to some embodiments;
[0115] Fig. 24 depicts a partial block system diagram of the power tool using a Sliding-Mode Observer (SMO) for rotor position detection, according to some embodiments;- 22 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0116] Fig. 25 depicts a block system diagram of SMO-based position estimator of Fig. 24, according to some embodiments;
[0117] Fig. 26 depicts a partial block system diagram of the power tool in using an alternative Sliding-Mode Observer (SMO) for rotor position detection, according to some embodiments;
[0118] Fig. 27 depicts a block system diagram of SMO-based position estimator of Fig. 26, according to some embodiments;
[0119] Figs. 28 and 29 depict a process for spinning restart of a motor controlled by the SFOC process, according to some embodiments;
[0120] Fig. 30 depicts a waveform diagram of the actual rotor angle in comparison to the SMO-estimated rotor angle and the motor current, according to some embodiments;
[0121] Fig. 31 depicts a circuit block diagram of the power tool including a motor and a motor control circuit configured to execute Sensorless Field-Oriented Control (SFOC) of the motor via a single shunt resistor, according to some embodiments;
[0122] Fig. 32 depicts a diagram representing a full 360-degree orientation of the rotor angles including active vectors V1 through V6 and zero vectors V0 and V7, and division in six sectors I through VI, for execution of SFOC via the single shunt resistor, according to some embodiments;
[0123] Fig. 33 depicts a partial diagram including an example space vector within active vectors V1 and V2, according to some embodiments;
[0124] Fig. 34 depicts example vector-space modulation switching patterns for each of the sectors I through VI, according to some embodiments;
[0125] Fig. 35 depicts an example vector-space modulation switching pattern for sector I and a corresponding bus current, further including two current measurement- 23 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 samples taken for calculation of the motor currents using the single shunt resistor, according to some embodiments;
[0126] Fig. 36 depicts an example table including PWM drive signals and the corresponding current measurements, according to some embodiments;
[0127] Fig. 37 depicts an example diagram including the two current measurement samples taken for calculation of the motor currents using the single shunt resistor, according to some embodiments;
[0128] Fig. 38 is an exemplary flow diagram illustrating a process of commuting a power tool according to some embodiments;
[0129] Fig. 39 is an exemplary flow diagram illustrating a process of commuting a power tool according to some embodiments;
[0130] Fig. 40A depicts an example vector-space modulation switching pattern for sector I that does not satisfy a timing criterion, according to some embodiments;
[0131] Fig. 40B depicts the adjustment of a PWM signal in the vector-space modulation switching pattern of Fig. 40A, according to some embodiments;
[0132] Fig. 41 A depicts an example vector-space modulation switching pattern for sector I that does not satisfy a timing criterion, according to some embodiments;
[0133] Fig. 41 B depicts the adjustment of a PWM signal in the vector-space modulation switching pattern of Fig. 41 A, according to some embodiments;
[0134] Fig. 42A depicts an example vector-space modulation switching pattern for sector I that does not satisfy a timing criterion, according to some embodiments;
[0135] Fig. 42B depicts the adjustment of two PWM signals in the vector-space modulation switching pattern of Fig. 42A, according to some embodiments;
[0136] Fig. 43A depicts an example vector-space modulation switching pattern for sector I that does not satisfy a timing criterion, according to some embodiments;- 24 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0137] Fig. 43B depicts the adjustment of one PWM signal in the vector-space modulation switching pattern of Fig. 43A, according to some embodiments;
[0138] Fig. 44A depicts an example vector-space modulation switching pattern for sector I that does not satisfy a timing criterion, according to some embodiments;
[0139] Fig. 44B depicts the adjustment of one PWM signal in the vector-space modulation switching pattern of Fig. 44A, according to some embodiments;
[0140] Fig. 45 depicts an example inverter circuit coupled to the single shunt resistor during a low-side braking of the inventor circuit, according to some embodiments;
[0141] Fig. 46 depicts a diagram similar to Fig. 32, for phase current measurement using the single shunt resistor in a spinning restart of the motor, according to some embodiments;
[0142] Fig. 47 depicts an example vector-space modulation switching pattern and corresponding phase line currents during a PWM period for phase current measurement using the single shunt resistor in a braking of the motor, according to some embodiments;
[0143] Fig. 48 is an exemplary flow diagram for calculation of the motor currents using the single shunt resistor during a spinning restart of the motor, according to some embodiments;
[0144] Fig. 49 is an exemplary flow diagram depicting a process of controlling a power tool according to some embodiments;
[0145] Fig. 50 is an exemplary flow diagram depicting a process for controlling the motor of the power tool, according to some embodiments;
[0146] Fig. 51 is an exemplary flow diagram depicting the process of intermitted braking and phase current measurement performed by the controller using the single shunt element RS, according to some embodiments;- 25 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0147] Fig. 52A depicts the vector-space modulation switching pattern applied to the power switches of the power switch circuit when conducting the phase current measurements at a step of Fig. 50, according to some embodiments;
[0148] Fig. 52B depicts the repeating vector-space modulation switching patterns of Fig. 52A that form a single sampling interval, according to some embodiments;
[0149] Fig. 53 is a graph illustrating the convergence of the sampled phase currents as the motor comes to stop, according to some embodiments; and
[0150] Fig. 54 is an exemplary flow diagram depicting the process of running the motor at startup, according to some embodiments.
[0151] Throughout this specification and figures like reference numbers identify like elements.DETAILED DESCRIPTION
[0152] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are intended to provide an explanation of various embodiments of the present teachings.
[0153] Referring to Fig. 1 , a side cross-sectional view of a power tool 10 is provided. In some embodiments, power tool 10 includes a housing 12, a motor 16 housed therein, a module casing 18, and a planar circuit board 20. The housing 12 includes a motor case 22 that supports the motor 16 and a handle portion 23.
[0154] In some embodiments, a gear case 24 is secured to an end of the motor case 22 opposite the handle portion 23. The gear case 24 includes at least one gearset 26, an output shaft 27, and a threaded opening 28 to which an accessory tool is secured, either directly or via a nut (not shown). The gearset 26 is positioned within the gear case 24 and is drivably coupled to the motor 16. The output shaft 27 is drivably connected to the gearset 26 within the gear case 24 and extends perpendicular to the longitudinal axis- 26 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 of the housing 12. A power switch (not shown) is positioned on a side of the motor case 22 and allows for the user to turn the power tool 10 ON and OFF.
[0155] In some embodiments, handle portion 23 extends axially from the motor case 22 toward a second end of the housing 12 and includes two clamp shells or housing covers that mate with the module casing 18 around the planar circuit board 20. An alternative-current (AC) power cord 32 is attached to the handle portion 23 at the second end of the housing 12 to supply AC electric power to the power tool 10, though it should be understood that power tool 10 may include a battery receptacle at the end of the handle portion 23 for removably receiving a battery pack to supply direct-current (DC) power to the power tool 10.
[0156] In some embodiments, planar circuit board 20 includes a control circuit board 33 and a power circuit board 34 arranged along the axis of the power tool 10 substantially in parallel. Control circuit board 33 accommodates a controller (not shown) and associated circuitry for controlling the speed and other operation of the motor 16. Power circuit board 34 accommodates a series of power switches (not shown), which may be configured as, for example, a multi-phase inverter switch circuit, that are controlled by the controller and regulate the supply of power from the power cord 32 to the motor 16. Power circuit board 34 further includes one or more capacitors 35 as well as a rectifier circuit 36 that generate a DC voltage on a DC bus line supplied to the power switches.
[0157] Additionally, an auxiliary capacitor 37 may be housed at the end of the handle portion 23 that can be switchably connected to the DC bus line when the AC voltage includes large voltage ripples, as described in detail in US Patent No. 10,050,572 filed June 15, 2017, which is incorporated herein by reference in its entirety.
[0158] While the present description is provided with reference to a grinder, it is readily understood that the broader aspects of the present disclosure are applicable to- 27 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 other types of power tools, including but not limited to sander, drill, impact driver, tapper, fastener driver, and saw. For example, the power tool 10 may include a chuck that is configured to receive a drill bit or a screw bit, thereby allowing the power tool 10 to be used as a power drill or a power screwdriver. For more detail of an exemplary power tool described above, reference is made to US Patent No. 10,226,849 filed September 12, 2016, which is incorporated herein by reference in its entirety.
[0159] In some embodiments, motor 16 is a brushless direct-current (BLDC) motor including a rotor including rotor shaft 40 on which a rotor lamination stack 42 accommodating a series of permanent magnets (not shown) is mounted. The motor 16 further includes a stator including a stator lamination stack 50 on which a series of stator windings 52 are wound. The rotor lamination stack 42 is received within the stator lamination stack 50 and magnetically interacts with the stator windings 52 to cause rotation of the rotor shaft 40 around a longitudinal axis of the tool 10. In some embodiments, as described in detail in this disclosure, motor 16 is a sensorless BLDC motor, meaning it includes no rotor sense magnet or rotor positional sensor to help the controller control the commutation of the motor 16.
[0160] Referring to Fig. 2, a partial cross-sectional view of a conventional motor with rotor positional sensors is depicted. As shown here, motor 16 is provided with a radial wall or end cap 56 with an opening 58 that receives the rotor shaft 40 therethrough. The end cap 56 forms a bearing pocket 54 via a cylindrical wall 55 around the rotor shaft 40 opposite the rotor lamination stack 42. Bearing pocket 54 securely receives and support a rotor bearing 46 therein to structurally support the rotor with respect to the stator. Additionally, bearing pocket 54 houses a sense magnet ring 44 that is also mounted on the rotor shaft 40. A radial slot 66 formed in the bearing pocket 54 allows for insertion of a positional sensor board 64 in close proximity to the sense magnet ring 44. Rotor positional sensor board 64 supports a series of Hall sensors 60, which sense the- 28 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 position of the sense magnet ring 44 and provide the angular position of the rotor to the controller.
[0161] Fig. 3 depicts a partial cross-sectional view of a sensorless BLDC motor according to embodiments of this disclosure. In some embodiments, motor 16 is similar to the motor of Fig. 2 but does not include a rotor sense magnet mounted on the rotor shaft 40 or a rotor positional sensor board secured in close proximity to the rotor to sense the rotor position. Bearing pocket 70 in some embodiments includes a recess facing the motor 16 that is large enough to receive and support the rotor bearing 46. The bearing pocket 70 need not have the length to receive a sense magnet and a positional sensor board and is therefore at most 50% smaller in width than bearing pocket 54 of Fig. 2. This decrease contributes to an overall reduction of 5-20 millimeters from the length of the motor. It also reduces manufacturing costs and eases the assembly process.
[0162] Referring to Fig. 4, a circuit block diagram of power tool 10 including a motor 16 and a motor control circuit 204 is depicted, according to some embodiments. In some embodiments, motor control circuit 204 includes a power unit 206 and a control unit 208. Components of power unit 206 and control unit 208 may be respectively mounted on power circuit board 34 and control circuit board 33 of Fig. 1. In Fig. 4, power tool 10 receives AC power from an AC power source such as AC mains, or DC power from a DC power source such as a removeable battery pack.
[0163] As the name implies, BLDC motors are designed to work with DC power. Thus, if power tool 10 is configured to receive power from an AC power source, some embodiments, power unit 206 is provided with a rectifier circuit 220 between the power supply and the power switch circuit 226. In some embodiments, power from the AC power terminals ACH and ACL is passed through the rectifier circuit 220 to convert or remove the negative half-cycles of the AC power. In some embodiments, rectifier circuit 220 may include a full-wave bridge diode rectifier 222 to convert the negative half-cycles of the AC- 29 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 power to positive half-cycles and output a DC waveform on DC bus line 221 provided to power switch circuit 226. Alternatively, in some embodiments, rectifier circuit 220 may include a half-wave rectifier to eliminate the half-cycles of the AC power. In some embodiments, rectifier circuit 220 may further include a bus capacitor 224. In some embodiments, bus capacitor 224 may have a relatively small value to reduce voltage high- frequency transients provided on the DC bus line 221 , without significantly smoothing the voltage waveform. In some embodiments, active rectification may be employed for active power factor correction.
[0164] In some embodiments, power unit 206 may include a power switch circuit 226 coupled between the power source B+ / B- terminals and motor windings to drive BLDC motor 16. In some embodiments, power switch circuit 226 may be a three-phase bridge driver circuit including six controllable semiconductor power devices, e.g., Field- Effect Transistors (FETs), Bipolar Junction Transistors (BJTs), Insulated-Gate Bipolar Transistors (IGBTs), etc.
[0165] In some embodiments, control unit 208 may include a controller 230, a gate driver 232, and a power supply regulator 234. In some embodiments, controller 230 is a programmable device arranged to control a switching operation of the power devices in power switching circuit 226. In some embodiments, controller 230 calculates the rotational position of the rotor using a variety of methods. One such method is by measuring the inductive current of the motor 16 to calculate the motor back-EMF (ElectroMotive Force) voltage of the motor and use the motor back-EMF in combination with other factors to calculate the rotor position, as discussed later in detail. Controller 230 may also receive a variable-speed signal from variable-speed actuator or a speed-dial. Based on the calculated rotor position and the variable-speed signal, controller 230 controls commutation sequence of the motor 16. In some embodiments, controller 230 outputs drive signals Da, Db, and De to the gate driver 232. In some embodiments, drive signals- 30 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097Da, Db and De are generated by the controller 230 using a Space-Vector Modulation technique as discussed later in detail. Gate driver generates output drive voltage signals UH, VH, WH, UL, VL, and WL at voltage levels suitable to drive the gates of the semiconductor switches within the power switch circuit 226. Gate driver 232 includes internal circuitry to generate the six voltage signals from the 3 drive signals Da, Db, and De. By controlling a PWM switching operation of the power switch circuit 226 via the drive signals, controller 230 controls the direction and speed by which the motor windings are sequentially energized, thus electronically controlling the motor 16 commutation.
[0166] In some embodiments, power supply regulator 234 may include one or more voltage regulators to step down the power supply to a voltage level compatible for operating controller 230 and / or the gate driver 232. In some embodiments, power supply regulator 234 may include a buck converter and / or a linear regulator to reduce the power voltage of the power supply to, for example, 15V for powering the gate driver 232, and down to, for example, 3.2V for powering controller 230.
[0167] In some embodiments, a power switch (not shown) may be provided between the power supply regulator 234 and the gate driver 232. The power switch may be a current-carrying ON / OFF switch coupled to the ON / OFF trigger or the variable-speed actuator to allow the user to begin operating the motor 16, as discussed above. The power switch in some embodiments disables supply of power to the motor 16 by cutting power to the gate drivers 232. It is noted, however, that the power switch may be provided between the rectifier circuit 220 and the power switch circuit 226 or other suitable location. It is further noted that in some embodiments, power tool 10 may be provided without an ON / OFF switch, and controller 230 may be configured to activate the power devices in power switch circuit 226 when the ON / OFF trigger (or variable-speed actuator) is actuated by the user.- 31 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0168] In some embodiments, controller 230 controls commutation of the motor 16 using a vector control technique referred to as field-oriented control (FOC). FOC is a variable-frequency drive control algorithm that provides several advantages over conventional trapezoidal control or voltage-over-frequency (V / Hz) control schemes often used in power tools having brushless DC motors.
[0169] Trapezoidal 6-step commutation control is simple to implement and execute and is therefore a popular option. However, this control scheme can generate high torque ripple, particularly at low speed, which can lead to high vibration and motor noise.
[0170] Voltage-over-frequency (V / Hz) control, also known as sinusoidal control, may also be implemented in power tool motor control systems. V / Hz control is a scalar control scheme where a ratio of voltage and frequency is held constant as motor speed (i.e. , Hz) changes. This scheme overcomes the torque-ripple issues seen in trapezoidal control by supplying smoothly-varying sinusoidal currents to the motor phases. However, in high speed operations, where the frequency of motor rotation increases, it becomes more challenging to maintain the desired voltage and current using this scheme.
[0171] Specifically, V / Hz control scheme is typically performed in open loop with respect to current. V / Hz control effectively provides a given three-phase sinusoidal voltage pattern base on rotor position, where the voltage amplitude is controlled based on motor speed so as to maintain a constant V / Hz ratio. V / Hz control is typically performed in open loop with respect to current. V / Hz control effectively provides a given three-phase sinusoidal voltage pattern base on rotor position, where the voltage amplitude is controlled based on motor speed so as to maintain a constant V / Hz ratio. A Proportional Integral (PI) controller may be provided to reduce motor speed when the current exceeds a current limit, but current and torque is otherwise not well controlled.
[0172] FOC is different from sinusoidal control in that a current loop is provided using measured motor currents and without reference to the motor’s rotation. FOC thus- 32 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 offers more precise torque and speed control over the complete range of motor operation. Particularly, FOC offers better efficiency for high speed operations as well as operating involving dynamic load changes than V / Hz control.
[0173] In FOC, the three phase currents of the stator are measured and converted to two orthogonal components that can be combined in a vector. The first component, known as direct current (Id), is the magnetic flux of the motor induced in the stator windings 52 due to rotation of the rotor within the stator. This component runs parallel to the pole axis of the rotor and does not apply a rotational force on the rotor. The second component, known as quadrature current (Iq), is the torque. This component runs perpendicular to the pole axis of the rotor and applies force generating rotational torque. These two components can be controlled independently. The Id current is typically desired to be 0 to minimize the unwanted direct torque component contributing to current losses for a given motor operating point. The Iq current is driven with the desired torque, which may be set, for example, according to the user’s amount of trigger pull. The two orthogonal components are in the rotating reference frame such that current can be controlled irrespective of motor speed. In this way, Id and Iq currents are equivalent to effective DC quantities per a conventional DC motor. By controlling these two currents, the motor torque and speed can be directly controlled.
[0174] Fig. 5 depicts an exemplary power switch circuit 226 having a three-phase inverter bridge circuit, according to some embodiments. This circuit corresponds to a three-phase motor including, for example, 3 sets of windings pairs, with each pair wound on two opposite stator teeth. It should be understood that the inverter bridge circuit may include more phases corresponding to the number of phases of the motor. As shown herein, the three-phase inverter bridge circuit includes three high-side FETs and three low-side FETs. The gates of the high-side FETs driven via drive signals UH, VH, and WH, and the gates of the low-side FETs are driven via drive signals UL, VL, and WL. In- 33 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 some embodiments, the drains of the high-side FETs are coupled to the sources of the low-side FETs to output power signals PU, PV, and PW for driving the BLDC motor 16.
[0175] In some embodiments, controller 230 constructs a sinusoidal voltage waveform for each phase of the motor by controlling a Space-Vector Pulse-Width Modulated (SVPWM) of the high-side and low-side FETs in accordance with the desired Id and Iq currents, as discussed later in detail. The SVPWM technique is a modulation scheme used to determine duty cycles of the PWM signals for high-side and low-side FETs in order to apply a vector voltage as a combination of three phase voltage signals to the motor. The PWM duty cycles of the FETs are varied within each phase in a way to construct phase voltages that are substantially sinusoidal in waveform and that, when applied to the motor sequentially, cause rotation of the motor in the desired direction and speed.
[0176] Using a feedback loop of the phase currents of the motor, controller 230 calculates the rotor position for use in SVPWM commutation control, as described in detail in this disclosure. In this manner, motor 16 may be controlled and commutated without a need for position sensors, such as Hall sensors, thus reducing motor size and manufacturing cost.Current Measurement
[0177] To measure the phase currents of the stator, a series of shunt resistors may be provided along the current paths of the motor phases. In some embodiments, as shown in Fig. 5, shunt resistors RU and RV are disposed between the PU, PV output signals and the motor windings. Alternatively, as shown in Fig. 6, shunt resistors RU and RV are disposed in series with the corresponding low-side FETs, between the low-side FETs S1 b and S2b and the ground terminal of the power supply. By measuring the voltage across these resistors, controller 230 calculates the current passing through- 34 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 corresponding phases of the motor. In Figs. 5 and 6, the motor phase currents are represented by signals III and IV for simplicity, though it should be understood that the controller 230 measures the voltage across each shunt resistor RU and RV to calculate the phase current. Thus, in Fig. 5, controller 230 receives voltage signals on both nodes of RU and RV to calculate the currents IU and IV. In Fig. 6, controller needs to receive only one node of RU and RV, since the other node of RU and RV is commonly coupled to the negative terminal of the power supply.
[0178] In these embodiments, controller 230 needs only measure two of the phase currents IU and IV and calculate the third phase current IW using Kirchhoff’s current law, IU + IV + IW = 0. It should be understood that controller 230 may alternatively receive other combinations of two signal currents (i.e., IU and IW, or IV and IW). Alternatively, controller 230 may receive all three current signals and rely on Kirchhoff’s current law as means of redundant current measurement to ensure against circuit component failure.
[0179] In power tool applications, particularly cordless tools where size is limited, addition of the two or three shunt resistors described above to the power tool circuit presents challenges. In some embodiments, instead of the three additional shunt resistors, the resistive characteristics of the FETs are taken advantage of to measure the motor current.
[0180] In some embodiments, no dedicated shunt resistors are provided, and the low-side FETs themselves are used for current measurement. The FETs have a predominantly resistive conduction mode when in the ON-state, which can be of the order of a few milliohms or less. Thus, in some embodiments, the resistive conduction of the low-side FETs is leveraged in place of shunt resistors, allowing controller 230 to calculate the current on each motor phase. By way of example, in Fig. 6, instead of measuring current using shunt resistors RU and RV and via signals IU and IV, controller 230- 35 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 measures current passing through low-side FETs S1 b, S2b, and S3b via signals PU, PV and PW, as described below.
[0181] Fig. 7 depicts an exemplary flow diagram of a process 300 executed by controller 230 to measure motor current using the low-side FET resistive conduction characteristics. In some embodiments, beginning with step 302, controller 230 receives the shunt voltage (i.e., voltage across the source and drain) of each low-side FET via shunt signals III, IV, and IW at step 304. At any given time, controller 230 determines which of the low-side FETs is in the ON-state (i.e., the gate of which of the low-side FETs is being driven high by controller 230) at step 306, and reads the shunt voltage of the ON- state low-side FET via the shunt signal (IU, IV, or IW) outputted from the ON-state low- side FET to calculate the current across that ON-state low-side FET at step 308. The current across the ON-state low-side FET is determined by Ohms law, where resistance of the low-side FET is a known value. The measured current is the motor phase current corresponding to the ON-state low-side FET.
[0182] In some embodiments, for the low-side FET (or FETs) that are in the OFF- state, controller 230 ignores the FET voltage. Additional voltage clamping hardware (not shown) may be provided to clamp the FET voltage when the low-side FET is in the OFF- state, in order to protect controller 230 from getting damaged by high voltage. The process ends at 310.Secondary controller
[0183] Referring back to Fig. 4, in some embodiments, in addition to controller 230, a secondary controller 250 is provided to determine motor speed and rotation direction. Secondary controller 250 protects the power tool from damage and the power tool user from potential harm in the event of hardware or software failure of controller 230. Such- 36 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 failure may lead to incorrect rotation of the motor or the motor spinning at undesirably high speed, both of which can be potentially harmful to the user.
[0184] Secondary controller 250 may be of the same size and processing power as controller 230, or alternatively may be a relatively small and low power processor. For example, secondary controller 250 may be an 8-bit micro-controller (such as a PIC10F200 Microchip®) that is smaller and less expensive than controller 230. Unlike controller 230, secondary controller 250, secondary controller 250 does not control motor commutation or other power tool control functions. Rather, secondary controller 250 is merely programmed to determine the speed and rotational direction of the motor 16 and to shut down power to the motor 16 in the event it detects an overspeed condition or incorrect rotation of the motor 16. In some embodiments, secondary controller 250 shuts down power to the motor 16 by activating a disable signal that disables the gate driver 232, as shown in Fig. 4. Alternatively, secondary controller 250 may deactivate a semiconductor switch (not shown) disposed on the current path from the power supply to the power switch circuit 226, from the power supply to the power supply regulator 234, from the power supply regulator 234 to the gate driver 232, or any other suitable location. Secondary controller 250 ensures, that in the event of electrical or software failure by controller 230, the motor 16 does not continue operating at high speed or incorrect direction.
[0185] In Fig. 4, secondary controller 250 receives feedback current signals IU, IV, IW from the power switch circuit 226 and monitors the sequence of current signals to determine direction of rotation of the motor, and the frequency of the current signals to determine the speed of the motor. Secondary controller 250 shuts down power to the motor 16 if it detects either an overspeed condition or an incorrect direction of rotation based on the current signals. In some embodiments, secondary controller 250 makes this determination using only two of the three current signals IU and IV.- 37 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0186] Fig. 8 depict an exemplary circuit block diagram of power tool 10 that similar in many aspects to Fig. 4 above, except that secondary controller 250 does not detect motor speed or direction of rotation based on phase currents. Rather, in some embodiments, secondary controller 250 receives at least two (in this example, three) of the drive control signals (i.e. , gate driver 232 output signals) and determines motor speed and rotation direction based on the frequency and sequence of said signals. In some embodiments, secondary controller 250 monitors the voltage waveform on the gate driver 232 output signals, determines motor speed based on the frequency of voltage change on the gate driver 232 output signals, and determines direction of rotation based on the sequence of voltage changes on the gate driver 232 output signals. It is noted that at least two drive signals are needed to determine the direction of rotation of the motor, though motor speed alone can be calculated based on a single drive signal. In some embodiments, the gate driver 232 output signals may be all low-side or all high-side drive signals.
[0187] In some embodiments, additional voltage divider and low-pass filter circuitry (not shown) is provided to filter out unwanted frequency above the Nyquist Frequency and bring the voltage of the gate driver 232 output signals to a level suitable for processing by secondary controller 250. Nyquist Frequency as known by those skilled in the art is defined as 1 / (2 * digitization interval). Digitization interval is the time interval between Analog-to-Digital Converter (ADC) conversion samples utilized by secondary controller 250. This arrangement makes it easier for secondary controller 250 to sample the frequency of voltage change on the gate driver 232 output signals.
[0188] In some embodiments, secondary controller 250 utilizes three low-side gate driver 232 output signals and performs a signal substation computation to further attenuate unwanted frequencies better enhance the fundamental frequency that is to be monitored for speed and reverse rotation detection. In some embodiments, secondary- 38 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 controller 250 subtracts UL from VL, and VL from WL, and compares the two resulting signals for speed and reverse rotation detection. In some embodiments, any two independent subtractions of U, V, and W, will suffice for this implementation. A detailed description of this scheme is provided in US Patent Application No. 16 / 853,140 filed April 20, 2020, which is incorporated herein by reference in its entirety.
[0189] In some embodiments, instead of the gate driver 232 output signals, secondary controller 250 performs computations described above on the drive signals Da, Db, De (or at least two of said drive signals) outputted by controller 230 to detect speed and rotation of the rotor.
[0190] Fig. 9 depicts another exemplary circuit block diagram of power tool 10 that is similar in many aspects to Fig. 4 above, except that the secondary controller 250 detects direction of rotation and speed of the motor based on the back-EMF (ElectroMotive Force) voltage of the motor instead of the motor phase currents. In some embodiments, to detect the motor back-EMF voltage, an attenuator 240 is electrically coupled to the U, V, and W terminals of the motor 16. Attenuator 240 is a voltage divider that, in some embodiments, includes two resistors, and simply divides the voltage by a constant in order to reduce the motor back-EMF voltage to a voltage that is within the operating voltage range of the motor (e.g., typically 3V or 5V). A Low-Pass Filter (LPF) 242 is coupled to the output of the attenuator 240 to remove impulse noise and, in some embodiments, convert the PWM pulse drain to an analog voltage by averaging the high and low periods of the back-EMF voltage signal. The secondary controller 250 receives three voltage output (or two voltage outputs in some embodiments) from the LPF 242 corresponding to the phases of the motor 16.
[0191] In some embodiments, secondary controller 250 is programmed to determine which of the three voltage signals is in open phase (i.e., not being actively driven) based on the shape of the three voltage signals. A phase signal that is in pulse-- 39 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 width modulation is being actively driven by controller 230, whereas a phase signal that is sloped is the open-phase signal carrying the motor back-EMF. Secondary controller 250 in this manner monitors the motor back-EMF and, based on the frequency of the back-EMF zero-crossings and the sequence of the open phases, it determines the speed and direction of rotation of the motor 16. Secondary controller 250 may also monitor the zero-crossing on only one of the three signals to determine the speed of the motor, and on two of the signals to determine its direction of rotation.
[0192] In some embodiments, instead of detecting the zero-crossings of the voltage waveforms, the secondary controller may detect other characteristics of the voltage signals as they transition from high to low or low to high. In this manner, secondary controller 250 protects the power tool 10 from system failure without commutating the motor 16 or even receiving the motor commutation signals.Field-Oriented Control (FOC)
[0193] In some embodiments, controller 230 controls motor commutation by FOC and calculates the angular position of the rotor by analyzing feedback phase current signals from the motor. Depending on the speed of the motor, controller 230 utilizes different algorithms to accomplish this, as described herein in detail.
[0194] Fig. 10 depicts a partial block system diagram of the power tool 10 showing controller 230 software component blocks for FOC execution, according to some embodiments.
[0195] In some embodiments, controller 230 is configured (by software) to receive two stator phase current signals la and lb (corresponding to lu and Iv signals from the power switch circuit 226). Controller 230 calculates the third current using Kirchoff’s current relation, la + lb + lc = 0, where la, lb, and Ic are the three phase currents.- 40 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0196] In some embodiments, controller 230 includes a Clarke transformation unit 320 that coverts the three phase currents, which are sinusoidal, into a 2-axis coordinate system. Clarke transformation unit 320 produces two signals la and Ip, which are two sinusoidal waveforms that are 90 degrees apart.
[0197] Components of the 2-axis coordinate system of the stator currents are time varying and difficult to process using traditional PI processes. Thus, in some embodiments, controller 230 includes a Park transformation unit 322 that converts the two-axis system from a fixed reference to a rotating reference frame that is synchronous with the rotor flux. Park transformation unit 322 uses a rotor position signal 0 (discussed below) to covert la and Ip to DC waveforms Id and Iq, where Id and Iq are the in-phase and quadrature components of the stator currents. As described above, the Id current is aligned with the rotor flux, whereas the Iq current is orthogonal to the rotor flux and is therefore responsible for torque generation.
[0198] In a BLDC control system including position (Hall) sensors, rotor position signal 0 may be derived from the position sensors. Alternatively, controller 230 includes a position estimator 332 that calculates (estimates) the rotor position signal 0 using the motor current signals la and Ip. This disclosure described various methods used to estimate rotor position in conjunction with FOC. As will be described later in detail, these methods vary depending on whether the motor is at start-up, low-speed operation, or high-speed operation.
[0199] In some embodiments, controller 230 also includes a speed estimator 334 that calculates motor speed co based on frequency of rotor position change in the rotor positional signal 0.
[0200] In some embodiments, controller 230 includes a PI (Proportional-Integral) loop controller 324 that compares the corresponding axis vectors with reference currents Id* and Iq* and determines Id error correction signals to generate DC drive voltage signals- 41 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097Vd* and Vq* accordingly. The Id* reference controls the rotor magnetization flux. The Iq* reference controls the torque output of the motor. In many circumstances, since Iq generates motor torque and Id does not, the Id* reference is set to 0 and Iq* is set to a target value. The obtained DC drive voltage signal Vq* corresponds to the amount of voltage correction that is needed to generate enough torque to drive the motor at a desired (target) speed.
[0201] In some embodiments, the Iq* may be a fixed value, for example in the range of 10 to 20A, configured according to the motor specifications to provide sufficient current to drive the motor. Alternatively, Iq* may be a variable value calculated to obtain a target speed that is set based on, for example, the distance of power tool trigger-pull by the user, speed setting on power tool speed dial, etc. In some embodiments, a frequency generator 335 is provided to generate a target speed reference signal co* as a function of the target speed of the motor. In some embodiments, Iq* is calculated as a PI function of the calculates motor speed co and the target speed reference signal co*.
[0202] Since the DC drive voltage signals Vd* and Vq* are on a rotating reference, in some embodiments, controller 230 includes an inverse Park transformation unit 326 that converts the DC drive voltage signals Vd* and Vq* signals back to stationary reference frame drive voltage Va* and Vp*. Controller 230 also includes an inverse Clarke transformation unit 328 that converts the stationary reference frame drive voltage signals Va* and Vp* from a 2-axis coordinate system back to 3-axis coordinate system comprising three motor phase voltage signals Va, Vb, and Vc.
[0203] In some embodiments, controller 230 includes a Space-Vector Pulse-Width Modulation (SVPWM) unit 330, which receives the three phase voltage signals Va, Vb, and Vc and generates drive signals Da, Db and De for controlling the switching operation of the power switch circuit 226 accordingly. SVPWM unit 330 controls the duty cycles of the drive signals Da, Db and De in such a way that the power switch circuit 226 switches- 42 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 output a substantially sinusoidal phase voltage waveform on each phase Pu, Pv, and Pw of the motor. These sinusoidal phase voltage waveforms are 120 degrees apart and correspond to the three motor phase voltage signals Va, Vb, and Vc. Details of SVPWM is beyond the scope of this disclosure and can be ascertained by persons skilled in the art.Rotor Position Estimator
[0204] Fig. 11 depicts a speed-time diagram depicting procedures implemented by controller 230 to determine the rotor position (i.e. , position estimator 322 in Fig. 10) from start-up to full speed. In this example, the motor full speed is 27,000 rpm, though it should be understood that this value is by way of example only. Fig. 12 depicts a flow diagram for a process 400 corresponding to Fig. 11 .
[0205] Conventional sensorless FOC implementations may be found in applications such as washing machines and other home appliances that operate at substantially constant speed and constant torque. In such implementations, after an initial detection of the rotor position, FOC execution may be handle with relative ease without significant changes to the rotor speed or torque output. In power tool applications, however, the rotor speed is subject to rapid change, either based on a change in target speed as determined by depression of a trigger switch or based on a change in torque as the power tool engages a work piece. Embodiments of the invention as described herein provide a technique for reliable detection of the rotor and FOC execution using the detected rotor position in a variable-speed and / or variable-torque environment suitable for a power tool. In some embodiments, this technique may be used to operate a power tool within a variable speed range of zero to at least 15,000 rotations-per-minute (RPM), preferably to at least 20,000 RPM, more preferably to at least 25,000 RPM; within a torque range of zero to at least 15 newton-meters (N.m.), more preferably to at least 20 N.m.,- 43 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 and more preferably to at least 25 N.m.; and a power output of zero to at least 1500 watts, more preferably to at least 2000 watts, and more preferably to at least 2500 watts.
[0206] Referring to Figs. 11 and 12, at motor start-up, i.e., after the power tool is initially powered up, controller 230 executes a process herein referred to as Initial Position Detection (IPD) to estimate the rotor position at step A. IPD allows controller 230 to detect the initial angular position of the rotor with approximately a 30-degree accuracy. In other words, controller 230 identifies the motor sector within which the rotor angle is located. In some embodiments, this step is completed within approximately 1-0 ms, in this example 3 ms.
[0207] After the rotor sector position is estimated in IPD, in some embodiments, controller 230 proceeds to park the at discrete positions at step B. The reasons for and details of this step are described later in detail. In some embodiments, the parking process entails forcing the motor to rotor to the end of the detected sector, i.e., at discrete positions that are 60 degrees apart. In some embodiments, this step is performed for approximately 50-300 ms, in this example approximately 100 ms.
[0208] After parking, controller 230 issues an open-loop frequency command for motor start-up at step C. In this step, while the parking force is still being applied to the motor, controller 230 begins to generate and apply High-Frequency Injection (HFI) voltage signals to the motor. This allows controller 230 to detect the rotor position more accurately via an HFI position estimator described later in detail. Also, this step allows controller 230 to remove the parking current and begin commutating the motor using the detected rotor position to kick-start the motor. In some embodiments, this step is performed in approximately 10-200 ms, in this example approximately 30 ms.
[0209] Controller 230 fully transitions to closed-loop control using HFI for a low- speed motor operation at step D. As discussed later in detail, HFI entails applying high frequency voltage pulses to the drive voltage signals and reading the corresponding- 44 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 current to detect the rotor position. Controller 230 continues this process until a speed threshold (herein referred to as the HFI speed threshold) is reached. HFI speed threshold corresponds to the motor speed below which the motor does not generate sufficiently dependable back-EMF phase voltage that can be detected and reliably used by controller 230 to calculate the motor position. Also, in some systems, HFI speed threshold may additionally correspond to the motor speed above which it is difficult to inject and process high-frequency voltages associated with HFI for calculation of motor position. In this example, the HFI speed threshold is 4500 rpm, though it should be understood that the HFI speed threshold can vary depending on the motor and power tool size and power requirements. In some embodiments, the HFI speed threshold is in the range of 2,000 to 7,000 rpm, preferably in the range of 3,000 to 6,000 rpm, more preferably in the range of 4,000 to 5,000 rpm.
[0210] Although low-speed operation of steps C and D is described in this disclosure using HFI by way of example, it should be understood that other suitable sensorless start-up and low speed motor control methods may be employed in place of HFI. In one example, motor may be operated using an open-loop kickstart control scheme until the HFI speed threshold is reached. This scheme entails using a preset commutation sequence beginning at the IPD I Parking position and ramping up the motor speed using the preset commutation sequence at open loop, without reference to the rotor position. Alternatively, a sector detection scheme as disclosed in US Patent Application No. 16 / 853,140 filed April 20, 2020, which is incorporated by reference in its entirety, may be employed in place of HFI. In this scheme, controller 230 pauses motor drive control to inject voltage pulses in the present and subsequent sectors. Based on the corresponding current waveforms, controller 230 detects when to commutate the subsequent sector.
[0211] At high speed, i.e., at speeds greater than the HFI speed threshold, controller 230 transitions from HFI to a process referred to as Sliding Mode Observer- 45 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097(SMO) at step E. In some embodiments, the transition step may be completed in a few milliseconds. Once the transition period is complete, controller 230 performs closed-loop motor control using SMO at step F at motor speeds above the HFI speed threshold up to the maximum motor speed. In some embodiments, SMO is process for estimating the motor back-EMF using the phase currents. HFI speed threshold described above is typically set to a speed value below which SMO is unable to accurately detect the motor back-EMF using the phase currents, and therefore the HFI process is relied upon instead.
[0212] Although step F is described in this disclosure using SMO by way of example, it should be understood that other suitable rotor tracking methods may be employed in place of SMO. Examples of such methods include, but are not limited to, phase-locked loop (PLL) control for tracking the rotor position based on motor currents and applied motor voltages.
[0213] Each of the steps A-F is described in detail herein.Initial Position Detection
[0214] The process of Initial Position Detection (IPD) (Step A) is described herein with reference to Figs. 13-15.
[0215] Fig. 13 depicts an exemplary excitation sequence table including high-side and low-side drive signals corresponding to rotor angles V1 -V6 within a full rotation of the rotor, according to some embodiments. Fig. 14 depicts a diagram representing a full 360- degree orientation of the rotor angles from V1 through V6, according to some embodiments. In some embodiments, V1 through V6 correspond to 60-degree intervals of the rotor orientation beginning at 0 degrees.
[0216] IPD allows controller 230 to detect the initial angular position of the rotor with approximately a 30-degree accuracy. In other words, controller 230 identifies the motor sector within which the rotor angle is located. In IPD, controller 230 sequentially- 46 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 injects a series of voltage pulses in accordance with the drive signals of Fig. 13 at rotor angles V1 through V6. Each voltage pulse has the same voltage and duration. In some embodiments, for each voltage pulse, two high-side FETs and a low-side FET, or one high-side FET and two low-side FETs, are simultaneously activated. For example, voltage V1 (corresponding to 0-degree rotor angle) is applied by activating UH, VL and WL signals of the power switch circuit 226, voltage V2 (corresponding to 60 degrees rotor angle) is applied by activating UH, VH and WL signals of the power switch circuit 226, etc.
[0217] In some embodiments, after each voltage pulse, controller 230 measures the corresponding motor current using the shunts as previously described. Fig. 15 depicts an exemplary diagram showing the measured current for each pulse. The voltage pulse closest to the actual the position of the rotor generates the highest inductive current. Thus, controller 230 identifies the rotor angle to be in close proximity to the angle associated with the highest-current voltage pulse. In this example, Iv4 exhibits the largest current amplitude. Thus, it is determined that the actual rotor position is in the proximity of rotor angle V4. In some embodiments, where 6 voltage pulses are applied, controller 230 identifies the rotor position as V4 ± 30 degrees.
[0218] The IPD process described here is usually reliable for estimating the sector in which the rotor is located. It has been found, however, that in some instances, the detected current may be too close to distinctly identify the correct rotor position. For example, in Fig. 15, where the rotor position is close to V4 (180 degrees), the two largest current pulses are associated with V1 (0 degrees) and V4 (180 degrees).
[0219] In some embodiments, to solve this problem, controller 230 ensures that the largest current pulse is greater in amplitude than the second-largest current pulse by at least a threshold. For example, in Fig. 15, if Iv4= 20A, Ivi = 17A, and the threshold =- 47 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-10971 A, controller 230 determines that the difference between the two current pulses exceeds the threshold and selects angle V4 as the correct proximate area of rotor position.
[0220] However, if threshold is not satisfied, controller 230 may determine the correct angle by examining the neighboring current pulses of the two peak current pulses. The current pulse whose neighboring pulses are on average larger is the correct sector. For example, in Fig. 15, controller 230 can determine whether the neighboring rotor angles of V4 (i.e. , V3 and V5) have larger average current pulses than the neighboring rotor angles of V1 (i.e., V2 and V6). Since in this example (Iv3 + Ivs) > (Iv2 + Ive), controller 230 determines rotor angle V4 to be the correct proximate area of rotor position, even if the Ivi and Iv4 pulses were closer in magnitude.
[0221] Fig. 16 depicts an alternative excitation sequence table including high-side and low-side drive signals corresponding to rotor angles V1 -V6 within a full rotation of the rotation of the rotor, according to some embodiments. In some embodiments, rotor angles V1-V-6 respectively correspond to a different range of angles from Fig. 13, in this example 30 to 330 degrees at 60-degree intervals, according to some embodiments. This arrangement allows for only one high-side FET and one low-side FET to be simultaneously activated for each voltage pulse. For example, voltage pulse V1 (corresponding to 30 degrees rotor angle) is applied by activating UH, and WL signals of the power switch circuit 226, voltage pulse V2 (corresponding to 90 degrees rotor angle) is applied by activating VH and WL signals of the power switch circuit 226, etc.Parking
[0222] The parking process (stop B) is described herein with reference to Figs. 16 and 17, according to some embodiments.
[0223] In some embodiments, the IPD process described above allows the controller 230 to robustly identify the location of the rotor with a 60-degree resolution, i.e.,- 48 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 within one of six sectors defining the full range of the angular orientation of the rotor. In some embodiments, to enable the controller 230 to begin motor start-up at a more precise rotor angle than the 60-degree resolution provided by IDP, controller 230 is configured to park the rotor at 60-degree intervals. In some embodiments, the rotor parking location is set to 30 degrees after respective angles V1 though V6. In some embodiments, for IPD execution according to Figs. 13-15, the parking angles are determined according to Fig. 17 and Table 1 below:TABLE 1
[0224] In some embodiments, controller 230 executes parking in the desired location by applying the appropriate drive signals the power switches of the power switch circuit 226 for a period that ensures completion of movement of the rotor. This period may be, for example, approximately 50-300 ms, in this example approximately 100 ms.
[0225] In some embodiments, controller 230 generates SVPWM drive signals based on the rotor parking angle and drive the power switch circuit 226 accordingly. In some embodiments, controller 230 may toggle between drive signals associated with neighboring angles Vn and Vn+1 of a target angle in order to park the rotor at the target angle. For example, in order to park the rotor at 30 degrees, controller 230 togglesWBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 between drive signals associated with 0-degrees (V1 in Fig. 13) and 60-degrees (V2 in Fig. 13) in successive cycles, thus driving VH and VL at a 50% duty cycle.
[0226] In some other embodiments, parking is executed using a combination of tables of Figs. 13 and 16. In some embodiments, where IDP is executed using the table of Fig. 13, the parking voltage may be applied using the table of Fig. 16 , (e.g., in order to park the rotor at 30 degrees, controller 230 activates UH and WL signals of the power switch circuit 226). Similarly, where IDP is executed using the table of Fig. 16, the parking voltage may be applied using the table of Fig. 13 (e.g., in order to park the rotor at 60 degrees, controller 230 activates UH, VH and WL signals of the power switch circuit 226).High Frequency Injection (HFI)
[0227] Open-loop frequency command start-up (step C) and low-speed control using HFI (step D) are described herein in detail, according to some embodiments.
[0228] In some embodiments, HFI is a process by which controller 230 calculates the rotor position at low speed. HFI entails adding high-frequency voltage pulses to the drive voltage signals, and later extracting and measuring currents that correspond to the high-frequency voltage pulses from the motor current to detect the rotor position. Due to the high frequency and low magnitude, these voltage pulses do not carry sufficient current to drive the motor. However, their magnetic interaction with the rotor flux affects the current in a way that is sufficiently measurable by controller 230 to calculate the rotor position.
[0229] Referring to Fig. 18, a partial block system diagram of the power tool 10 in relation to high-frequency injection for low-speed control is depicted. This figure is similar to Fig. 10 and includes many of the same features, but controller 230 is additionally provided with an HFI unit 340 and a frequency generator 344. Additionally, in some- 50 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 embodiments, the position estimator 332 of Fig. 10 is an HFI-based position estimator 342. These features are described here in detail.
[0230] In some embodiments, frequency generator 344 generates a sawtooth function ooi - also referred to as a frequency command - that sets the voltage frequency of the high-frequency voltage pulses. The frequency set by the frequency generator 344 may be pre-set according to motor size, type, power requirements, or other factors.
[0231] In some embodiments, the HFI unit 340 receives the frequency command, sets the magnitude of the high-frequency voltage pulses, and multiples the magnitude by the frequency command to generate high-frequency voltage waveforms Vai* and Vpi* as follows:Vai* = - V / * Sin (coi.t)Vpi* = - V / * Cos (coi.t) where V / is the amplitude of the injected voltage, coi = 2irfi, and fi is the injection frequency. In some embodiments, the injection frequency is between 1000 to 5000 Hz, preferably between 2000 to 4000 Hz, for example around 3000 Hz. In some embodiments, the V / amplitude is approximately 20V for a 120V power supply (i.e. , 1 / 6 of the DC bus voltage), with a peak current of 2.2A.
[0232] In some embodiments, the high-frequency voltage waveforms Vai* and Vpi* generated by HFI unit 340 are substantially sinusoidal. The high-frequency voltage waveforms Vai* and Vpi* are added to the stationary reference frame drive voltage signals Va* and Vp* generated by the inverse Park Transformation unit 326. The sums of the waveforms Vai* + Va* and Vpi* + Vp* is provided to the inverse Clarke Transformation unit 328, which converts these 2-axis voltage signals to three phase voltage signals Va, Vb, and Vc, as previously discussed. The phase voltage signals PU, PV, PW provided to the motor from the power switch circuit 226 accordingly include high-frequency voltage components associate with Vai* and Vpi*, as well as drive voltage components.- 51 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0233] In some embodiments, H Fl-based position estimator 342 extracts the high- frequency current components that are associated with HFI from the motor phase current signals. In some embodiments, HFI-based position estimator 342 receives current signals la and Ip from the Clarke transformation unit 320. As previously discussed, current signals la and Ip are sinusoidal waveforms that are 90 degrees apart resulting from execution of Clarke transformation on the three phase-current signals la, lb, and Ic to obtain 2-axis coordinate system. HFI-based position estimator 342 retrieves high- frequency current components associated with the high-frequency voltages injected by HFI unit 340 from the current signals la and Ip. HFI-based position estimator 342 uses the retrieved high-frequency current components to calculate the rotor position and output the rotor position signal 0. As previously discussed, rotor position signal 0 is used by Park transform unit 322 to convert the la and Ip to Id and Iq current components on a rotational reference frame, and by the Inverse Park transform unit 326 to convert the DC drive voltage signals Vd* and Vq* signals back to stationary reference frame drive voltage signals Va* and Vp*. Rotor position signal 0 is also used by speed estimator 334 to calculate motor speed co.
[0234] In some embodiments, it is desired to maintain a certain ratio of high- frequency voltage and drive voltage. If the drive current Iq is set too high by the PI loop unit 324, it does not leave enough bandwidth for injection of high frequency voltage pulses, preventing controller 230 from deciphering the rotor position using HFI. Thus, in some embodiments, Iq* is set to a fixed value, for example, in the range of 10 to 30A (in this example 20A) depending on motor characteristics. Alternatively, as previously discussed, Iq* may be calculated as a PI function of the calculated speed co and reference target speed co* so long as sufficient ratio of high-frequency voltage to drive voltage is maintained.- 52 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0235] Referring to Fig. 19, a block system diagram detailing the HFI-based position estimator 342 is depicted, according to some embodiments. In some embodiments, HFI-based position estimator 342 receives current signals current signals la and Ip (represented here as lap) and uses a band-pass filter (BPF) 351 to filter out currents outside a set frequency bandwidth. In some embodiments, the BPF 351 has a center frequency corresponding to the HFI 340 injection frequency (e.g., 3 kHz). This allows the HFI-based position estimator 342 to obtain high-frequency currents lapi associated with HFI.
[0236] In some embodiments, high-frequency currents lapi are then demodulated and filtered in demodulation unit 352 to separate the rotor-induced currents from the HFI currents. Specifically, the high-frequency currents lapi are demodulated using Fourier Transform unit 353 to obtain demodulated current signal lapi_het, where lai_het = liO.Cos(2 j.t) + H1.Cos(2e)Ifiijiet = H0.Sin(2w.t) + li1.Sin(26) and where li1.Cos(20) and li1.Sin(20) components are associated with rotor-induced currents, and liO.Cos(2co.t) and liO.Sin(2co.t) are associated with HFI currents.
[0237] In some embodiments, since the rotor-induced currents include the rotor angle information 0, the demodulated current signal lapi_het is then passed through a low-pass filter (LPS) 354 to extract the rotor-induced currents represented as lapi_dem. A tan-inverse function unit 356 applies a tan-inverse of (lpi_dem I lai_dem) to calculate angle 20HFI from the rotor-induced currents lapi_dem.
[0238] In some embodiments, angle 20HFI has a range of 0-360 degrees for 0-180 degrees of rotor rotation. For example, if the rotor is at 90 degrees, 20HFI = 180, and if rotor is at 180 degrees, 20HFI = 360. Thus, angle 20HFI is divided by 2 at compensation unit 358. This is the reason why HFI has only a 180-degree rotor visibility. The angle is also compensated for at compensation unit 358, where Qcomp is for example 60 degrees- 53 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 corresponding to phase shift due mainly to the LPF 354. The resulting output is HFI- estimated rotor angle 0HFI.
[0239] It is noted that, in some embodiments, the division of 20HFI by 2 is not a simple division; rather, this calculation involves monitoring the sample by sample difference of 20HFI over time and calculating an integral of the sample differences to construct the rotor angle 0. This is because, as mentioned above, HFI has a rotor visibility of half the rotor position at any given point and ascertaining the exact rotor position that is not offset by 180 degrees requires sampling the rotor movement as well as present detected position.
[0240] The HFI process described above can be used by controller 230 to accurately detect the rotor position at low speed (i.e., step D in process 400). However, when transitioning from the parking step (step B) to HFI at start-up, since the 20HFI division process requires rotor rotation in order to accurately ascertain the correct rotor location, controller 230 performs open-loop frequency command to start-up the motor at step C, described here.
[0241] Fig. 20 depicts a current waveform diagram showing the three phase currents Iv, lu, Iw as controller 230 transitions through steps A-F. In some embodiments, in transitioning from the parking step (step B) to open-loop frequency command start-up (step C), controller 230 begins to generate and apply HFI voltage to the motor while the parking force is still being applied. HFI-based position estimator 342 at this point begins to measure the motor current to calculate rotor angle 0HFI, though as discussed above, this rotor angle 0HFI has a range of 0-180 degrees and thus may be offset by 180 degrees.
[0242] To determine the correct rotor angle 0 at start-up, controller 230 compares the HFI-estimated rotor angle 0HFI with the parking angle 0PARK.
[0243] Fig. 21 depicts a flow diagram of a process 360 executed by controller 230 to determine the correct rotor angle 0 at start-up, according to some embodiments. In- 54 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 some embodiments, controller 230 compares the HFI-estimated rotor angle 0HFI with the parking angle 0PARK at step 362. Controller sets the start-up rotor angle 0 to 0HFI if the estimated rotor angle 0HFI is within a predetermined angle range of the parking angle ©PARK (e.g., within 30 degrees of ©PARK) at step 364. If the estimated rotor angle ©HFI is outside the predetermined angle range of the parking angle ©PARK, controller 230 sets the startup rotor angle 0 to 0HFI + 180 if 0HFI < 180 degrees, and to 0HFI - 180 if 0HFI >= 180 degrees at step 366. This ensures that the start-up rotor angle 0 is accurately calculated by HFI and is not off by 180 degrees.
[0244] Alternatively, If the estimated rotor angle ©HFI is outside the predetermined angle range of the parking angle ©PARK, controller 230 simply sets the start-up rotor angle © to 0PARK. While the parking angle ©PARK is not as accurate as the HFI angle ©HFI, it is sufficiently accurate for execution of open-loop frequency command for motor start-up.
[0245] In some embodiments, controller 230 simultaneously applies HFI and parking voltages to the motor for a relatively short period (e.g., 5-10 ms) to execute the above-described process 360. Thereafter, controller 230 removes the parking current and begin commutating the motor using in open-loop to kick-start the motor. This transition can be seen approximately half-way through step C in Fig. 20. Controller 230 commutates the motor using fixed commutation commands beginning with the start-up rotor angle 0 calculated as described above. This process continues until the rotor speed reaches approximately 2-4 rpm (e.g., 3 rpm), at which point the motor has sufficient speed for the compensation unit 358 to accurately calculate the rotor angle 0. Controller 230 then transitions to closed-loop HFI control for low-speed motor operation (step D).
[0246] Fig. 22 depicts a zoomed-in view of Fig. 20 showing the three phase currents Iv, lu, Iw as controller 230 executes closed-loop HFI for low-speed motor operation (step D). This zoomed-in view covers approximately a full 360-degree motor rotation cycle. As shown here, HFI pulses are injected with low amplitude and high-- 55 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 frequency to the drive voltage signals, creating voltage ripples along the drive voltage sinusoidal waveform.
[0247] In some embodiments, controller 230 continues the low-speed control using HFI (step D) until the HFI speed threshold is reaches. HFI speed threshold corresponds to the motor speed below which the motor does not generate sufficiently dependable back-EMF phase voltage that can be detected and reliably used by SMO process. Also, in some systems, HFI speed threshold may additionally correspond to the motor speed above which it is difficult to inject and process high-frequency voltages associated with HFI for calculation of motor position. The HFI speed threshold may vary depending on the motor and power tool size and power requirements. In some embodiments, the HFI speed threshold is in the range of 2,000 to 7,000 rpm, preferably in the range of 3,000 to 6,000 rpm, more preferably in the range of 4,000 to 5,000 rpm.Sliding-Mode Observer
[0248] Once the rotor speed exceeds the HFI speed threshold, controller 230 begins a transition process (step E) from HFI to SMO for measuring the rotor angle. Since HFI and SMO use different processes to measure rotor position, their rotor angle measurements at times do not match. A sudden transition from HIF to SMO therefore can cause a jolt in the rotor rotation, which should preferably be avoided.
[0249] Fig. 23 depicts a flow diagram of a process 370 executed by controller 230 for transition from HFI to SMO (step E), according to some embodiments. In some embodiments, controller begins this process at 372 and proceeds to start the SMO-based position estimator, which is discussed below in detail, at step 374. The SMO-based position estimator begins to conduct the calculations needed to measure rotor speed 0SMO. Controller 230 is concurrently measuring rotor speed 0HFI using the HFI process. At step 376, controller 230 calculates an error value 0error as the difference between 0HFI- 56 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 and 0SMO to determine if the two measurements match (or are at least sufficiently close to one another). If the measurements match, controller 230 jumps to step 380, where it stops using the HFI-based position estimator 342 and returns to process 400 shown in Fig. 12 at step 382, where controller 230 execute high-speed control using SMO (Step F) described below. If the two measurements do not match, at step 378, controller 230 gradually ramps up or down the motor commutation sequence until the two measured angles 0HFI and 0SMO match or are at least within a small margin of error. Concurrently, controller 230 gradually ramps down the high-frequency injection process until is it fully stopped. Controller 230 proceeds from step 378 to step 380. In some embodiments, process 370 (i.e. , step E) takes approximately 1-5 ms (in this example 2 ms).
[0250] Once the transition from HFI to SMO (step E) is complete, controller 230 executes SMO alone for rotor angle measurement (step F).
[0251] Referring to Fig. 24, a partial block system diagram of the power tool 10 is depicted. This figure is similar to Fig. 10 and includes many of the same features, where the position estimator is SMO-based position estimator 350. SMO is a process for estimating the motor back-EMF using the motor phase currents and calculating the rotor angle based on the motor back-EMF. SMO-based position estimator 350 receives the current signals la and Ip from the Clarke transformation unit 320. As previously discussed, current signals la and Ip are sinusoidal waveforms that are 90 degrees apart resulting from execution of Clarke transformation on the three phase-current signals la, lb, and Ic to obtain 2-axis coordinate system. SMO-based position estimator 350 also receives drive signals Da, Db, and De from the output of SVPWM unit 330, as well as the bus voltage signal 221 and motor speed signal co from speed estimator 334, to calculate the motor voltage being applied to the motor. By comparing the applied voltage and the measured motor current, SMO-based position estimator 350 is able to retrieve the motor back-EMF voltage and use it to calculate the rotor angle 0.- 57 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0252] In some embodiments, Id* is set to 0 and Iq* is calculated as a PI function of the calculates motor speed co and the target speed reference signal co* generated by frequency generator 335, as previously discussed.
[0253] Referring to Fig. 25, a block system diagram detailing the SMO-based position estimator 350 is depicted, according to some embodiments. In some embodiments, SMO-based position estimator 350 receives current signals la and Ip (represented here as lap), motor speed signal co, DC bus voltage Vdc, and drive signals Da, Db, and De. SMO-based position estimator 350 includes an ap phase voltage calculator 390 that multiplies the bus voltage Vdd by the drive signals Da, Db, and De and obtain sinusoidal voltage signals representing the motor drive voltage, ap phase voltage calculator 390 also conducts a Clarke transformation on the sinusoidal voltage signals to generate 2-axis sinusoidal voltage waveforms Va and Vp (here represented as Vap). SMO-based position estimator 350 further includes a Sliding-Mode (SM) current observer 392 that combines the voltage signals Va and Vp with the motor speed signal co, as well as two feedback signals Eap and Zap, to generate lap. Eap represents the calculated motor back-EMF, Zap represents the flux linkage, and lap is the estimated (i.e., predicted) phase current that should be passing through the motor based on these inputs. SMO- based position estimator 350 includes a bang-bang I saturation unit 394 that calculates the flux linkage Zap in such a way so as to the minimize the error (difference) between lap and lap. In other words, bang-bang I saturation unit 394 repeatedly modifies the flux linkage Zap in the feedback loop to SM current observer 393 until the lap is equal to lap. The resulting flux linkage Zap measurement is provided to adaptive low-pass filters (LPF) 396, which receive the motor speed co and calculate the motor back-EMF as a function of flux voltage (which depends on motor speed) as follows:Back-EMF = - d (Zap) I dt- 58 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0254] A tan-inverse unit 398 calculates angle 8del as a tan-inverse function of the calculated back-EMF voltages Eaflt and Epflt. This angle is compensated for by a compensation angle (in this example 90 degrees) corresponding to phase shift due mainly to the LPF 396 to obtain S MO -estimated rotor angle 0.
[0255] Figs. 26 and 27 depict a partial block system diagram of the power tool 10 using an alternative SMO execution technique, and block system diagram detailing the alternative SMO-based position estimator 350 respectively, according to some embodiments. As shown in these figures, in some embodiments, SMO-based position estimator 250 does not calculate the motor phase voltages based on DC bus voltage Vdc and drive signals Da, Db, and De. Rather, SMO-based position estimator 250 receives the motor phase voltage signals PU, PV, and PW directly from the motor 16. SMO-based position estimator 350 includes an a phase voltage calculator 391 that receives the phase voltage signals PU, PV, and PW and constructs 2-axis sinusoidal motor voltage waveforms Va and Vp (here represented as Vap) accordingly. The rest of the SMO process is similar to Figs. 24 and 25 described above.
[0256] In some embodiments, the SMO equation described above is represented as follows:where ua-p corresponds to the motor phase voltages, / a-p represents the measured motor phase current, Rsis the per-phase stator resistance, Ld is the direct axis stator per-phase inductance, Lqis the quadrature axis stator per-phase inductance, and ea_p = +Fext(sin0e / cos 0e) and corresponds to the extended back-EMF of the motor. The SMO-based Position Estimator 350 estimates ea_p for a given ia_p and ua-pand calculates the position of the rotor as a function of tan’1(ea / ep).- 59 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0257] In some embodiments, controller 230 executes SMO for high-speed operations up to the maximum tool speed. In some embodiments, controller 230 may implement hysteresis threshold value above or below the HFI threshold for transitioning back to HFI when the motor speed falls.
[0258] In some embodiments, controller 230 used for FOC execution and rotor position detection is a 32-bit processor employing ARM Cortex-M0+ processor core. A Cortex-M0+ processor core includes a two-stage pipeline architecture and is therefore cheaper and consumes less power than other ARM Cortex-M processors. Based on conventional wisdom, Cortex-M0+ processors are considered too slow to handle the processing power requires for FOC execution and rotor position detection, particularly in high-speed and / or high-torque motor control applications where the rotor angle can change very quickly in an unexpected manner. However, in some embodiments, by removing the Hardware Abstraction Layer (HAL) of the processor core, which provides a programming interface that allows the processor to interact with hardware resources, and customizing the related registers accordingly, Cortex-M0+ processors can be used to implement the techniques described above for power tool applications. Efficient rotor detection schemes described above have proven to be capable of execution by Cortex- M0+ processors. In particular, parking and open-loop frequency command start-up (steps B and C) prior to HFI, as well as the transition step from HFI to SMO (step E), provide for more accurate and efficient detection of rotor position without requiring significant processing power conventionally required. It should be noted, however, that more powerful processors, e.g., Cortex-M1 , Cortex-M2, etc. may be alternatively utilized.Spinning Restart
[0259] In a power tool, the tool is turned ON and OFF via a power switch. Power switch may be a current-carrying ON / OFF switch actuatable by a user, or a contact switch- 60 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 coupled to a trigger switch, a speed dial, or an actuator. Power switch may be coupled to a contact switch disposed on the current path of the power supply to cut off supply of power to the motor. Alternatively, power switch may be coupled electronically to a semiconductor switch disposed on the current path of the power supply. Power switch may also be coupled to a micro-electronic switch that sends a signal to the controller 230 to cut off supply of power to the motor.
[0260] When the power switch is turned OFF, the motor is allowed to coast down gradually to a halt by cutting off supply of power to the motor. Alternatively, a brake is applied to the motor to bring it rapidly to a halt. A brake may be either mechanical, e.g., brake pads applied to the motor shaft, or electronic, e.g., activating the high-side or the low-side power switches simultaneously to short the phases of the motor, thus using the motor’s own voltage to bring it to a halt. Reference is made to US Patent Publication No. 2017 / 0234484, which is incorporated herein by reference in its entirety, for examples of electronic braking methods executed by the motor controller to brake a BLDC motor in a power tool.
[0261] In most power tools, when the power switch is turned back ON during braking or coasting of the motor, the motor controller completes the motor braking or allows the motor to finish coasting and come to a complete halt before it is restarted again. While this method is simple to execute, it is not desirable in many power tool applications where the tool user may turn the power switch ON and OFF frequently and in succession, for example, by depressing and repressing the power tool trigger switch. Doing so introduces unnecessary and undesirable delays in the power tool usage and is frustrating to the user. What is desirable is to provide a control mechanism whereby, when the power switch is turned ON during motor coasting or braking, the motor controller detects the present position and speed of the rotor and resumes motor commutation at the detected position and speed. This process is referred to as “spinning restart.”- 61 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0262] In a power tool having a BLDC motor and position sensors for detecting the rotor position, the motor controller is able to detect the position of a spinning rotor based on the position sensors and begin commutating the motor at the detected position and at the present motor speed for spinning restart. In sensorless control, particularly sensorless FOC control where motor current is measured to detect rotor position and speed, this process faces complications.
[0263] Figs. 28 and 29 depict a process 410 for spinning restart of a motor 16 controlled by the SFOC process, according to some embodiments.
[0264] Referring to Fig. 28, in some embodiments, process 410 starts at ‘run’ step 412. In this step, controller 230 controls motor commutation using SFOC as disclosed with reference to steps A-F described above.
[0265] In some embodiments, controller 230 determines whether the power switch has been turned OFF at step 414. In some embodiments, controller 230 continues to ‘run’ the motor at step 412 as long the power switch has not been turned OFF.
[0266] In some embodiments, if the power switch has been turned OFF, controller 230 determines whether the motor output speed is greater than zero at step 416. As previously discussed, the rotor speed may be determined via speed estimator 334 using outputs of the HFI-based position estimator 342 in HFI (step D) or the SMO-based position estimator 350 in SMO (step F). In IPD (step A) or parking (step B), the rotor speed is zero. If controller 230 determines that the rotor speed is zero, it stops process 400 at step 418.
[0267] In some embodiments, if controller 230 determines that the rotor speed is greater than zero, it proceeds to determine whether the rotor speed is greater than the HFI speed threshold at step 420. Since HFI requires injection of high-frequency voltages to the drive voltage to estimate the rotor position, its execution during spinning restart encounters many challenges. Also, in some embodiments, spinning restart is significantly- 62 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 important when the rotor is operating at low speed. Thus, in some embodiments, if controller 230 determines that the rotor speed is at or below the HFI speed threshold, it does not even monitor the status of the power switch for spinning restart. Rather, controller 230 proceeds to brake the motor or allow it to coast down until the rotor comes to a complete stop at step 422. Thereafter, controller stops the process 410 at step 418. A user may turn the power switch ON to restart the motor after the rotor has come to a complete stop.
[0268] In some embodiments, if controller 230 determines that the rotor speed is above the HFI speed threshold, it brakes the motor or allows the motor to coast at step 424, while intermittently checking the status of the power switch at step 426. As long as the power switch remains OFF, controller continues to brake the motor or allow it to coast at step 424. If the power switch has been turned ON during braking or coasting, controller 230 goes into ‘spinning restart’ mode to step 430.
[0269] Referring to Fig. 29, in some embodiments, beginning at step 430, controller 230 electronically brakes the motor for a predetermined period at step 432. The electronic brake is applied by simultaneously activating the three low-side FETs, allowing controller 230 to obtain current measurements la and lb via the shunts RU and RV at step 434. Without this electronic braking period (i.e., while motor is coasting), the high-side and low- side power switches of power switch circuit 226 are left open, current measurements la and lb are zero, and controller 230 is unable to rely on SMO for rotor position estimation. This electronic braking period allows controller 230 to obtain the needed current measurements from the motor. In some embodiments, the predetermined time interval should be sufficiently long for controller 230 to measure motor currents. In an example, the predetermined time interval is between 10-40 ms, preferably approximately 20-30 ms.
[0270] As previously described, in addition to current measurement signals la and Ip (i.e., la and lb after Clarke transformation), SMO-based position estimator 350 relies- 63 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 on phase voltage signals (i.e. , drive signals Da, Db, and De in Fig. 24 and t / a-p in the SMO estimation equation) to calculate the rotor position. In some embodiments, since the motor is not being actively driven, controller 230 sets the input phase voltage signals provided to the SMO-based position estimator 350 to zero at step 436. SMO-based position estimator 350 thus calculates the motor back-EMF in direct proportion to current signals la and Ip to estimate the rotor position (i.e., rotor angle 0) while electronic braking is applied, at step 438. Speed estimator 334 calculates the rotor speed co using the estimated rotor angle 0 at step 440.
[0271] In some embodiments, controller 230 once again compares the calculated rotor speed co to the HFI speed threshold at step 442. If the calculated rotor speed co is at or lower than the HFI speed threshold, controller 230 applies a brake to the motor or allows it to coast down until the rotor comes to a complete stop at step 444. Thereafter, controller 230 proceeds back to step 418 to stops the process 410. However, if the calculated rotor speed co is greater than the HFI speed threshold, controller 230 executes SMO at steps 446-456 for spinning restart of the motor.
[0272] In some embodiments, to execute SMO, controller 230 initially waits for the Iq current (from Park transformation) to fall below a maximum Iq value at step 446. This is done because, in braking at high motor speed, the motor current components Id and Iq values rise rapidly, and the motor preferably should not be restarted as long as high currents circulate through the motor windings. Doing so would cause the motor current to flow back into the DC bus. In some embodiments, controller 230 waits until the Iq current component falls below the maximum Iq value (lq_max) by a threshold value (lq_threshold). In an example, lq_max is approximately 25 A and lq_threshold is approximately 5 A.
[0273] In some embodiments, after Iq current falls to lq_max - lq_threshold, controller 230 initializes PI loop controller 324 error gains Id* and Iq* for SMO execution- 64 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 at step 448. In some embodiments, Iq* is set to lq_max and Id* is set to the measured Id current.
[0274] In some embodiments, PI loop is executed on Id and Iq to obtain Vd* and Vq* drive voltage signals at step 450. Inverse Park unit 326, inverse Clarke unit 328, and SVPWM unit 330 calculates drive signals Da, Db, and De according to the error gains signals Id* and Iq* for driving the motor at step 452. This process allows controller 230 to start motor commutation at the detected rotor angle 0 and rotor speed co.
[0275] It is noted that, in some embodiments, steps 434-452 above are executed while electronic braking is being applied to the motor beginning at step 432.
[0276] In some embodiments, since Id current does not generate torque to the motor, it is desirable to gradually ramp down the Id current from its detected value to zero. It was found that setting the Id* to 0 from the offset would cause the motor back-EMF to spike, often causing flow of current from the motor back to the DC bus. To avoid this, in some embodiments, at steps 454 and 456, controller 230 initially sets Id* to the measured Id and incrementally decreases Id* (in this example at 5 ms intervals) until Id* has reached zero. Controller 230 continues to execute steps 450 and 452 in the meantime. Once Id* has reached zero, controller 230 returns to the Tun’ step 412, wherein controller 230 executed SMO normally as previously described to control motor commutation.
[0277] Referring to Fig. 30, time graph 500 depicts a rotor angle waveform 502, which represents the actual angular position of the rotor measured in simulation using Hall sensors or similar electro-mechanical sensors; SMO-estimated rotor angle waveform 504, which represents the rotor angle 0 calculated by the SMO-based position estimator 350; and motor current waveform 506, which represents one of the motor phase angle current signals la. This graph includes a motor drive period 510, in which the motor is being driven using FOC commutation technique of this disclosure during drive period 510; a motor coasting period 512, during which the motor is allowed to coast (i.e. , upon power- 65 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 tool switch being turned off) by deactivating the power switch circuit 226; a braking period 514, in which electronic braking is applied to the motor by activating the three low-side switches in unison. In some embodiments, braking period 514 corresponds to step 432 of process 400 described above. As seen here, SMO is unable to detect the rotor angle during the coasting period 512. However, once electronic brake is applied, SMO is able to accurately detect the motor back-EMF and thus estimates the rotor angle during the braking period 514.
[0278] According to some other embodiments, if spinning restart takes place while the rotor is coasting, controller 230 may measure the motor back-EMF directly using the motor phase signals PU, PV and PW. In a coasting motor, since all the switches of the power switch circuit 226 are OFF, the phase signals PU, PV and PW only carry the motor back-EMF. In some embodiments, controller 230 may detect the rotor position and speed based on the motor back-EMF on signals PU, PV and PW.Current Measurements Using a Single Shunt Resistor
[0279] In some embodiments, shunt resistors are expensive and occupy a considerable amount of footprint on a circuit board, so it desirable to minimize the number of shunt resistors needed for current measurement. In some embodiments, as described here, a single shunt resistor RS is utilized on the DC bus line 221 in place of shunt resistors RU and RV previously shown in Figs. 5 and 6. Since the shunt resistor RS is provided on the DC bus line 221 and not discretely associated with any particular phase current, the current through the shunt resistor RS is measured at specific sampling times to allow measurement of the individual phase currents, as described here. Specifically, by knowing the state of the switch drive signals that are inputted to the power switch circuit 226, it is possible to correlate the current passing through the DC bus line 221 with a motor phase that carries the current and whether the phase current is positive or- 66 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 negative. In some embodiments, during each PWM period, two current measurements are taken from the shunt resistor RS at select time samples, and the current measurements are correlated to phases of the motor.
[0280] Fig. 31 depicts a circuit block diagram of the power tool including a motor 16 and a motor control circuit 204 configured to execute Sensorless Field-Oriented Control (SFOC) of the motor via a single shunt resistor RS, according to some embodiments. Fig. 31 is substantially similar to the block diagram of Fig. 4 previously described. For simplicity, the redundant controller 250 is not shown here, and the motor control circuit 204 here is powered by a DC power source. In some embodiments, shunt resistor RS is disposed on the DC bus line 221 between the power supply and the DC bus capacitor 224. In some embodiments, an operational amplifier 223 is coupled across the two nodes of the shunt resistor RS, which outputs a voltage signal corresponding to the voltage drop across the shunt resistor RS. This value corresponds to the current passing through the shunt resistor RS. Controller 230 receives this value and can estimate or calculate, e.g., via a look-up table or a mathematical equation, the current passing through the shunt resistor RS as a function of the value.
[0281] Fig. 32 depicts a diagram representing a full 360-degree orientation of the rotor angles including active vectors V1 through V6 and zero vectors V0 and V7, and division in six sectors I through VI, for execution of SFOC via the single shunt resistor, according to some embodiments. This diagram is similar to Fig. 14 previously described and illustrates active vectors V1 through V6 along an a-p plane of reference. In addition, this diagram further includes zero vectors V0 and V7, and illustrates vectors V1 through V6 dividing the plane into sectors I through VI.
[0282] Fig. 33 depicts a partial diagram including an example space vector Vap within active vectors V1 and V2, according to some embodiments. In space-vector modulation, any space vector can be synthesized by modulating active and zero vectors- 67 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097V0-V7 over a switching period Tsw. In the illustrated example, active vectors V1 and V2 are utilized to set an angle <P of between 0 to 60 degrees for reference vector Vap, while zero vectors VO and V7 are utilized to set an amplitude of the reference vector Vap. The space vector may be expressed as follows:Vap = (T1V1 + T2V2 + T0V0 + T7V7) / Tsw where T1 , T2, TO and T7 denote the application times (i.e., dwell times) of each vector.
[0283] Fig. 34 depicts example vector-space modulation switching patterns for each of the sectors I through VI, according to some embodiments. Here, n represents the sector number (e.g., n = 1 for Sector I, n = 2 for Sector 2, etc.). In some embodiments, controller 230, and in particular SVPWM unit 330, is configured to automatically select the appropriate active vectors for each sector and apply the switching patterns as shown. In some embodiments, the dwell time Tn, Tn+1 , TO and T7 for each vector is set by the SVPWM unit 330 based on the angle and the amplitude of the input reference space vector, i.e., the 3-axis motor phase voltage signals Va, Vb, and Vc received from the Inverse Clark unit 328.
[0284] Fig. 35 depicts an example vector-space modulation switching pattern for sector I and a corresponding bus current, further including two current measurement samples taken for calculation of the motor currents using the single shunt resistor, according to some embodiments. Fig. 36 depicts an example table including PWM drive signals and the corresponding current measurements, according to some embodiments.
[0285] In some embodiments, to measure the motor phase currents from the single shunt resistor RS, a first current measurement (i.e., Sample 1) is taken within Vector Vn, and the phase current iPhase corresponding to the Vector Vnis determined. As shown in the table of Fig. 36, where n = 1 , the first current measurement corresponds to the +ill phase current.- 68 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0286] In some embodiments, subsequently, a second current measurement (i.e. , Sample 2) is taken from the single shunt resistor Rs within the next Vector Vn+i, and the phase current iPhase corresponding to the Vector Vn+i is determined. As shown in the table of Fig. 36, where Vn+i is V2, the second current measurement corresponds to the - iW phase current.
[0287] In some embodiments, in order for the two current samples, Sample 1 and Sample 2, to be taken accurately, the time corresponding to each vector (i.e., Tn / 2 for Vn) is held in the active state for a minimum duration of time, tOn_Minimum. In some embodiments, tOn_Minimum is between approximately 4 ps to 10 ps. Furthermore, in some embodiments, to ensure that the sampling of the current occurs after the current ripple on the bus line has settled and the current has stabilized after the transition from Vo to Vn, the sample is taken after a duration of time tSettle. In some embodiments, tSettle = tOn_Minimum - tSH, where tSH designates the time it takes for the controller to make an accurate current reading from the shunt resistor (i.e., time to perform an ADC conversion on the output of the operational amplifier 223). In some embodiments, the tSH duration may be between 0.2 ps to 2 ps.
[0288] In some embodiments, two of the three phase currents (e.g., ill and iW in this example) are determined via the two current samples described above. The third phase current can be calculated using the equation iU + iV + iW = 0.
[0289] Fig. 37 depicts an example diagram including the two current measurement samples taken for calculation of the motor currents using the single shunt resistor, according to some embodiments. In this example, at Sample 1 , the bus current iBus = 80A, and at Sample 2, iBus = 3.1A. Therefore, iU = 80A; iV = -3.1A; and iW = 0 - 80 + 3.1 = -76.9 A.
[0290] Using this scheme, the controller 230 is able to make accurate measurements of the motor phase currents using a single shunt resistor. As previously- 69 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 described, these current measurements may be used for HFI and / or SMO position estimation.
[0291] Fig. 38 is a flow diagram illustrating a process 600 of commuting a power tool according to some embodiments of the present disclosure.
[0292] In some embodiments, beginning at step 602, the controller 230 provides a plurality of drive signals Da, DB, and De for driving the power switch circuit 226, at step 604, by controlling a switching operation of the power switch circuit 226 over a plurality of switching vectors. The drive signals Da, DB, and De and the switching vectors are associated with the field-oriented control operation of the motor 16.
[0293] The application of the plurality of drive signals to the power switch circuit 226 by the controller 230 may include applying a first sequence of PWM signals corresponding to a first vector (e.g., Vn) of the plurality of switching vectors and applying a second sequence of PWM signals corresponding to a second vector (e.g., Vn+1) of the plurality of switching vectors to the power switch circuit 226.
[0294] At step 606, the controller 230 performs a number of current measurements at the shunt element RS, which is electrically connected in series with the power switch circuit 226 on a DC bus line 221 that connects a terminal block (as, e.g., indicated by the power source B+ / B- terminals) selectively coupled with a removable battery pack to the power switch circuit 226 (see, e.g., Fig. 31 ). In some embodiments, the controller 230 measures a first current value of the single shunt element RS at a first time (as, e.g., indicated by Sample 1 in Fig. 34) during the first vector (e.g., Vn) and a second current value of the shunt element RS at a second time (as, e.g., indicated by Sample 2 in Fig. 34) during the second vector (e.g., Vn+1 ). Here, the first and second current values may correspond to two different ones of the motor phase currents ill, iV, and iW.
[0295] In some embodiments, the second time is at least a settling time tSettle after a transition from the first vector to the second vector (e.g., a transition from Vn to Vn+1 ).- 70 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097Here, the settling time tSettle represents the minimum amount of time for a current passing through the single shunt element RS to reach a steady state value following the transition from the first vector to the second vector. Further, the transition from the first vector to the second vector (e.g., the transition from Vn to Vn+1) is at least a minimum sample-and-hold time tSH after the first time, which is a minimum amount of time utilized by the controller 230 to sample and measure the first current value from the single shunt element RS before transitioning to the second vector. In some embodiments, the time interval between the first and second sampling times is at least a minimum on-time tON_Min, which is a summation of the minimum sample-and-hold time tSH and the settling time tSettle.
[0296] At step 608, the controller 230 calculates a plurality of phase currents of the motor 16 based on the first current value and the second current value. In so doing, the controller 230 identifies the first current value as a first phase current of the motor (i.e. , one of ill, i V, and iW), identifies the second current value as a second phase current of the motor (i.e., another one of iU, i V, and iW), and calculates a third phase current of the motor (i.e., a third one of iU, iV, and iW) based on the first and second phase currents (e.g., using the equation iU + iV + iW = 0).
[0297] At step 610, the controller 230 determines an angular position of the rotor (i.e., the rotor angle) based on the plurality of phase currents of the motor 16.
[0298] At step 612, the controller 230 controls a pulse-width modulation (PWM) of the plurality of drive signals based on the angular position of the rotor. The controller 230 may set a transition time associated with the transition from the first vector (e.g., Vn) to the second vector (e.g., Vn+1) based on the rotor angular position, and adjusts the transition time based on a criterion of the set transition time in relation to at least one of the first time or the second time. For example, the criterion may be that a duration of each of the first and second vectors is greater than or equal to the minimum on-time- 71 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 tON_Min. The adjustment will be described in further detail with respect to Figs. 40A- 44B.
[0299] In some examples, the controller 230 also determines a position difference between the determined rotor angular position of the and a target position that corresponds to a target speed reference, and generates an error-correction signal as a function of the position difference. The controller 230 may control the PWM of the plurality of drive signals further based on the generated error-correction signal.
[0300] The controller 230 continues to Tun’ the motor 16 at step 614 as long the power switch has not been turned OFF.
[0301] According to some embodiments, the controller 230 is capable of providing overcurrent protection based on the current measurements from the single shunt element RS.
[0302] In some embodiments, the controller 230 identifies the greater of the first and second current values, which were measured at step 606, as a bus current measurement, and determines the occurrence of an over-current protection event when the bus current measurement exceeds a set current threshold. In response to the determination, the controller 230 performs a protection action to cut off or reduce supply of power to the motor 16 in order to prevent damage to the internal circuitry of the power tool 10.
[0303] Fig. 39 is a flow diagram illustrating a process 700 of commuting a power tool according to some embodiments of the present disclosure.
[0304] In some embodiments, beginning at step 702, the controller 230 provides a plurality of drive signals Da, DB, and De for driving the power switch circuit 226, at step 704, by controlling a switching operation of the power switch circuit 226 over a plurality of switching vectors. The drive signals Da, DB, and De and the switching vectors are associated with the field-oriented control operation of the motor 16.- 72 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0305] At step 706, the controller 230 designates a first time during a first vector (e.g., Vn) of the plurality of switching vectors (as, e.g., indicated by Sample 1 in Fig. 34) and a second time during a second vector (e.g., Vn+1) of the plurality of switching vectors (as, e.g., indicated by Sample 2 in Fig. 34). The first time and the second time are respectively associated with a first current measurement related to the first vector and a second current measurement related to the second vector.
[0306] At step 708, the controller 230 determines that a transition time associated with at least one of the first vector or the second vector does not satisfy a timing criterion related to at least one of the first time or the second time. For example, the criterion may be that a first duration of the first vector (e.g., Vn) and a second duration of the second vector (e.g. , Vn+1 ) are both greater than or equal to the minimum on-time tON_Min.
[0307] At step 710, the controller 230 adjusts the transition time to satisfy the criterion. In some embodiments, the controller 230 may adjust the transition time by shifting at least one of a rising edge or a falling edge of at least one of the plurality of drive signals. In some examples, the controller 230 may shift the rising edge and the falling edge of the at least one of the plurality of drive signals by a substantially equal amount.
[0308] In some examples, the adjustment may include advancing a PWM signal associated with at least one of the plurality of drive signals so at least one of a rising edge or a falling edge of the PWM signal occurs at or after the minimum sample-and-hold time tSH. The adjustment may also include delaying a PWM signal associated with at least one of the plurality of drive signals so at least one of the rising edge or the falling edge of the PWM signal occurs at or before the settling time tSettle.
[0309] The adjustment of the PWM signals will be described in further detail with respect to Figs. 40A-44B.
[0310] At step 712, the controller 230 applies the plurality of drive signals to the power switch circuit based on the adjusted transition time.- 73 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0311] The controller 230 may further perform the first current measurement during the first time and the second current measurement during the second time, may determine an angular position of the rotor (i.e., the rotor angle) based on the first and second current measurements, and may control a pulse-width modulation (PWM) of the plurality of drive signals based on the angular position of the rotor.
[0312] The controller 230 may determine the angular position by identifying a first current value corresponding to the first current measurement as a first phase current of the motor 16 (i.e., one of ill, iV, and iW), identifying a second current value corresponding to the second current measurement as a second phase current of the motor 16 (i.e., another one of iU, iV, and iW), calculating a third phase current of the motor 16 (i.e., a third one of iU, i V, and iW) based on the first and second phase currents, and determining the angular position of the rotor based on the first to third phase currents (e.g., using the equation iU + iV + iW = 0).
[0313] The controller 230 continues to Tun’ the motor 16 at step 414 as long the power switch has not been turned OFF.
[0314] The following Figs. 40A-44B illustrate a number of scenarios in which the timing criterion is not met as well as the corresponding timing adjustments made to the driving signals by the controller 230 to ensure that sufficient time is available to perform the time-staggered current measurements via the single shunt element RS.
[0315] Fig. 40A illustrates an example vector-space modulation switching pattern for sector I that does not satisfy a timing criterion, according to some embodiments of the present disclosure. Fig. 40B illustrates the adjustment of a PWM signal in the vectorspace modulation switching pattern of Fig. 40A, according to some embodiments of the present disclosure.
[0316] In the example of Fig. 40A, the controller 230 determines that the driving signals do not satisfy the timing criterion because the transition from zero vector V0 to the- 74 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 first vector Vn occurs within the settling time tSettle needed to perform the first current measurement via the single shunt element RS. As shown in Fig. 40B, the controller 230 adjusts the transition time associated with the transition from the zero vector VO to the first vector Vn to satisfy the timing criterion by sufficiently advancing the PWM signal PWMUH associated with at least one of the plurality of drive signals so that the duration of the first vector Vn is at least equal to the minimum on-time tON_Min. Specifically, in an example, the rising and falling edges of the PWM signal PWMUH are shifted so that the rising edge of PWMUH occurs prior to the first current measurement (e.g., Sample 1) by at least the settling time tSettle, and / or the rising edge of PWMUH occurs prior to the rising edge of the subsequent PWM signal PWMVH by at least the minimum on-time tON_Min.
[0317] The adjustment ensures that the first current measurement of the single shunt element RS is performed at or after a settling time tSettle following the rising edges of the PWM signal PWMUH, and that the transition from the first vector Vn to the second vector Vn+1 (represented by the rising edge of PWMVH) occurs at or after the minimum sample-and-hold time tSH from the sampling time of the first current measurement. As such, the controller 230 has sufficient time to perform the first current measurement of the single shunt element RS before transition to the next vector.
[0318] As shown in Fig. 40B, in advancing the PWM signal PWMUH the controller 230 causes both the rising edge and the falling edge of the PWM signal PWMUH to be shifted earlier in time by the same amount, such that duty cycle of the PWMUH does not change as a result of the adjustment. This ensures that the voltage delivered to the motor 16 does not change as a result of the adjustment.
[0319] Fig. 41 A illustrates an example vector-space modulation switching pattern for sector I that does not satisfy a timing criterion, according to some embodiments of the present disclosure. Fig. 41 B illustrates the adjustment of a PWM signal in the vector-- 75 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 space modulation switching pattern of Fig. 41 A, according to some embodiments of the present disclosure.
[0320] In the example of Fig. 41 A, the controller 230 determines that the driving signals do not satisfy the timing criterion because the transition from the second vector Vn+1 to zero vector V7 occurs within the minimum sample-and-hold time tSH needed to perform the second current measurement via the single shunt element RS. As shown in Fig. 41 B, the controller 230 adjusts the transition time associated with the transition from the second vector Vn+1 to zero vector V7 to satisfy the timing criterion by sufficiently delaying the PWM signal PWMWH associated with at least one of the plurality of drive signals so that the duration of the second vector Vn+1 is at least equal to the minimum on-time tON_Min. Specifically, in an example, the rising and falling edges of the PWM signal PWMWH are shifted so that the rising edge of PWM H occurs after the second current measurement (e.g., Sample 2) by at least the minimum sample-and-hold time tSH, and / or the rising edge of PWMWH occurs after the rising edge of the previous PWM signal PWMVH by at least the minimum on-time tON_Min.
[0321] The adjustment ensures that the second current measurement of the single shunt element RS is performed at or after a settling time tSettle following the rising edges of the PWM signal PWMVH, and that the transition from the second vector Vn+1 to the zero vector V7 (represented by the rising edge of PWM H) occurs at or after the minimum sample-and-hold time tSH from the sampling time of the second current measurement. As such, the controller 230 has sufficient time to perform the second current measurement before transition to the next vector.
[0322] As shown in Fig. 41 B, in delaying the PWM signal PWM H the controller 230 causes both the rising edge and the falling edge of the PWM signal PWM H to be shifted later in time by the same amount, such that duty cycle of the PWMWH does not- 76 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 change as a result of the adjustment. This ensures that the power delivered to the motor 16 does not change as a result of the adjustment.
[0323] Fig. 42A illustrates an example vector-space modulation switching pattern for sector I that does not satisfy a timing criterion, according to some embodiments of the present disclosure. Fig. 42B illustrates the adjustment of two PWM signals in the vectorspace modulation switching pattern of Fig. 42A, according to some embodiments of the present disclosure.
[0324] In the example of Fig. 42A, the controller 230 determines that the driving signals do not satisfy the timing criterion because the transition from the zero vector VO to the first vector Vn occurs within the settling time tSettle needed to perform the first current measurement via the single shunt element RS and the transition from the second vector Vn+1 to zero vector V7 occurs within the minimum sample-and-hold time tSH needed to perform the second current measurement via the single shunt element RS. As shown in Fig. 42B, the controller 230 adjusts the transition time associated with the transition from the vector VO to the first vector Vn, and the transition from the second vector Vn+1 to the vector V7, to satisfy the timing criterion by sufficiently advancing the PWM signal PWMUH associated with at least one of the plurality of drive signals so that the duration of the first vector Vn is at least equal to the minimum on-time tON_Min, and by sufficiently delaying the PWM signal PWM H associated with at least one of the plurality of drive signals so that the duration of the second vector Vn+1 is at least equal to the minimum on-time tON_Min. Specifically, in an example, the rising and falling edges of the PWM signal PWMUH are advanced so that the rising edge of PWMUH occurs prior to the first current measurement (e.g., Sample 1 ) by at least the settling time tSettle, and / or the rising edge of PWMUH occurs prior to the rising edge of the subsequent PWM signal PWMVH by at least the minimum on-time tON_Min. Similarly, in an example, in the same drive cycle, the rising and falling edges of the PWM signal PWMWH are delayed so- 77 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 that the rising edge of PWMWH occurs after the second current measurement (e.g., Sample 2) by at least the minimum sample-and-hold time tSH, and / or the rising edge of PWMWH occurs after the rising edge of the previous PWM signal PWMVH by at least the minimum on-time tON_Min.
[0325] The adjustment ensures that the first current measurement of the single shunt element RS is performed at or after a settling time tSettle following the rising edges of the PWM signal PWMUH, and that the transition from the first vector Vn to the second vector Vn+1 (represented by the rising edge of PWMVH) occurs at or after the minimum sample-and-hold time tSH from the sampling time of the first current measurement. The adjustment further ensures that the second current measurement of the single shunt element RS is performed at or after a settling time tSettle following the rising edges of the PWM signal PWMVH, and that the transition from the second vector Vn+1 to the zero vector V7 (represented by the rising edge of PWMWH) occurs at or after the minimum sample-and-hold time tSH from the sampling time of the second current measurement. As such, the controller 230 has sufficient time to perform each of the first and second current measurements before transition to the following vector.
[0326] As in the examples of Figs. 40B and 41 B, the adjustments to the PWM signals PWMUH and PWMWH, are done without changing their corresponding duty cycles and the rising and falling edges of each PWM signal is shifted in the same direction by the same amount.
[0327] Fig. 43A illustrates an example vector-space modulation switching pattern for sector I that does not satisfy a timing criterion, according to some embodiments of the present disclosure. Fig. 43B illustrates the adjustment of one PWM signal in the vectorspace modulation switching pattern of Fig. 43A, according to some embodiments of the present disclosure.- 78 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0328] In the example of Fig. 43A, the controller 230 determines that transition from the first vector Vn to the second vector Vn+1 occurs within the minimum sample-and-hold time tSH needed to perform the first current measurement via the single shunt element RS. As shown in Fig. 43B, the controller 230 adjusts the transition time associated with the transition from the first vector Vn to the second vector Vn+1 to satisfy the timing criterion by sufficiently delaying the PWM signal PWMVH associated with at least one of the plurality of drive signals so that the duration of each of the first vector Vn and the second vector Vn+1 is at least equal to the minimum on-time tON_Min. Specifically, in an example, the rising and falling edges of the PWM signal PWMVH are shifted so that the rising edge of PWMVH occurs after the first current measurement (e.g., Sample 1) by at least the minimum sample-and-hold time tSH, and / or the rising edge of PWMVH occurs after the rising edge of the previous PWM signal PWMUH by at least the minimum on-time tON_Min.
[0329] With the adjustment, the first current measurement of the single shunt element RS is performed at or after a settling time tSettle following the rising edges of the PWM signal PWMUH, and that the transition from the first vector Vn to the second vector Vn+1 (represented by the rising edge of PWMVH) occurs at or after the minimum sample- and-hold time tSH from the sampling time of the first current measurement. The adjustment further ensures that the second current measurement of the single shunt element RS is performed at or after a settling time tSettle following the rising edges of the PWM signal PWMVH, and that the transition from the second vector Vn+1 to the zero vector V7 (represented by the rising edge of PWMWH) occurs at or after the minimum sample-and-hold time tSH from the sampling time of the second current measurement. As such, the controller 230 has sufficient time to perform each of the first and second current measurements before transition to the following vector.- 79 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0330] As in the examples of Figs. 40B, 41 B, and 42B, the adjustment to the PWM signal PWMVH is done without changing its duty cycle as the rising and falling edges of the PWM signal PWMVH are shifted in the same direction (i.e., delayed) by the same amount.
[0331] Fig. 44A illustrates an example vector-space modulation switching pattern for sector I that does not satisfy a timing criterion, according to some embodiments of the present disclosure. Fig. 44B illustrates the adjustment of one PWM signal in the vectorspace modulation switching pattern of Fig. 44A, according to some embodiments of the present disclosure.
[0332] In the example of Fig. 44A, the controller 230 determines that the transition from the first vector Vn to the second vector Vn+1 does not occur prior to the settling time tSettle needed to perform the second current measurement via the single shunt element RS. In fact, in this example, the transition from the first vector Vn to the second vector Vn+1 occurs such that the duration of vector Vn+1 is smaller than the minimum sample- and-hold time tSH portion of the minimum on-time tON_Min associated with the second current measurement. As shown in Fig. 44B, the controller 230 adjusts the transition time associated with the transition from the first vector Vn to the second vector Vn+1 to satisfy the timing criterion by sufficiently advancing the PWM signal PWMVH associated with at least one of the plurality of drive signals so that the duration of each of the first vector Vn and the second vector Vn+1 is at least equal to the minimum on-time tON_Min. Specifically, in an example, the rising and falling edges of the PWM signal PWMVH are shifted by a duration of the second vector Vn+1 that is greater than the minimum on-time tON_Min so that the rising edge of PWMVH occurs prior to the second current measurement (e.g., Sample 2) by at least the minimum settling time tSettle, and the rising edge of PWMVH occurs prior the rising edge of the subsequent PWM signal PWM H by at least the minimum on-time tON_Min. In an example, the shift applied to the falling edge- 80 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 of the PWM signal PWMVH causes it to occur prior to the falling edge of the subsequent PWM signal PWMWH, which causes a shift in the vector sequence during the second half of the PWM period. In this example, the vector sequence in the second half of the PWM period changes from an original sequence including V7, Vn+1 , Vn and VO, to a modified sequence including V7, Vn-1 , Vn and VO.
[0333] With the adjustment, the first current measurement of the single shunt element RS is performed at or after a settling time tSettle following the rising edges of the PWM signal PWMUH, and that the transition from the first vector Vn to the second vector Vn+1 (represented by the rising edge of PWMVH) occurs at or after the minimum sample- and-hold time tSH from the sampling time of the first current measurement. The adjustment further ensures that the second current measurement of the single shunt element RS is performed at or after a settling time tSettle following the rising edges of the PWM signal PWMVH, and that the transition from the second vector Vn+1 to the zero vector V7 (represented by the rising edge of PWMWH) occurs at or after the minimum sample-and-hold time tSH from the sampling time of the second current measurement. As such, the controller 230 has sufficient time to perform each of the first and second current measurements before transition to the following vector.
[0334] As in the examples of Figs. 40B, 41 B, and 42B, the adjustment to the PWM signal PWMVH is done without changing its duty cycle as the rising and falling edges of the PWM signal PWMVH are shifted in the same direction (i.e., advanced) by the same amount.Spinning Restart Using a Single Shunt Resistor
[0335] Fig. 45 depicts an example inverter circuit coupled to the single shunt resistor during a low-side braking of the inventor circuit, according to some embodiments. As previously described, electronic braking of a motor utilizes the regenerative currents- 81 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 in the motor to apply a negative force to the motor by shorting all the low-side power switches or all the high-side power switches. However, as shown in this figure, when using a single shunt resistor RS on the bus line, electronically braking the motor causes the motor currents to recirculate between the shorted power switches (in this example, the low-side power switches) and the motor windings, and the shunt resistor RS cannot be used to measure the motor phase currents. As the shunt resistor has no visibility to the recirculating currents, no motor phase current measurements can be made using the shunt resistor Rs when applying an electronic brake to the motor.
[0336] This limitation may not pose an issue if the electronic brake is applied until the motor is brought to a halt. However, as previously discussed, in a spinning restart condition, e.g., where the tool operator attempts to reactivate the tool during the braking period, the controller cannot properly control the motor commutation unless it can estimate the rotor angular position based on motor currents. To overcome this problem, according to some embodiments of the invention, a spinning restart solution is provided for use with a single shunt resistor, as described here.
[0337] According to some embodiments, to make a measurement of the motor currents during an electronic braking of the motor, a partial duty cycle is applied to all the three phases of the motor. Furthermore, to satisfy the tOn_Minimum duration of each vector previously described for effective current measurement, one of the three phases is advanced by tOn_Minimum while another of the three phases is retarded by tOn_Minimum. With this arrangement, within each PWM period of the motor control, there are one or more periods of active braking where the drive signals of the three phases overlap, and there are one or more periods of non-braking (i.e., drive) where some of the recirculating currents flow into the bus line. In some embodiments, the timings of the Samples 1 and 2 are selectively applied during the driving periods to measure the corresponding motor phase currents.- 82 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0338] Furthermore, within the first half of the PWM period, the non-braking period applies a driving current to at least one sector of the motor. In some embodiments, to counteract this driving current, the vectors in the second half of the PWM period are set to apply an equal but opposite current to an opposite sector of the motor.
[0339] These features are described herein in detail.
[0340] Fig. 46 depicts a diagram similar to Fig. 32, for phase current measurement using the single shunt resistor in a spinning restart of the motor, according to some embodiments. Fig. 47 depicts an example vector-space modulation switching pattern and corresponding phase line currents during a PWM period for phase current measurement using the single shunt resistor in a braking of the motor, according to some embodiments.
[0341] As shown in Fig. 47, during the PWM period, the duty cycle for each of drive signal is adjusted to ensure accurate phase current measurements. Specifically, one phase’s duty cycle is increased, while another phase’s duty cycle is decreased by an equal amount, and the third phase remains unchanged. This ensures that the current flows through the DC bus resistor for precise measurement of phase currents. In some embodiments, the high-side and low-side power switches are driven in a complimentary manner, so the rising edge of a high-side PWM signal aligns with a falling edge of the corresponding low-side PWM signal. In some embodiments, the V phase is activated such that its centerline aligns with the centerline of the PWM period. The U phase is advanced by tOn_Minimum while the W phase is retarded by tOn_Minimum. This allows the two samples, Sample 1 and Sample 2, taken respectively at Vnand Vn+i to be measured accurately. These samples correspond to the motor phase currents according to the table of Fig. 36 previously discussed.
[0342] Furthermore, since the phase drive signals are not aligned, the drive signals create active braking periods and non-braking periods (i.e., drive periods) within each PWM period. In some embodiments, the braking periods are applied on the V0 and V7- 83 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 vectors. In some embodiments, within the first half of the PWM cycle, the drive period is applied on the Vnand Vn+i vectors, resulting in a space-vector driving force VBrake to be applied in sector n of the motor, as shown in Fig. 46.
[0343] In some embodiments, without an offsetting space-vector driving force, vector VBrake applies an intermittent driving torque to the motor. This may cause undesirable effects such as increased noise and vibration during the motor braking. Thus, in some embodiments, a counter space-vector -VBrake is introduced in the sector that is 180 degrees opposite sector n of the vector VBrake, i.e., sector n + 3. In some embodiments, the vector -VBrake may be applied by driving the Vn+sand Vn+4 vectors in the second half of the PWM cycle, as shown in Fig. 47.
[0344] Fig. 48 is an exemplary flow diagram for a process 460 executed by the controller for calculation of the motor currents using the single shunt resistor during a spinning restart of the motor, according to some embodiments. In some embodiments, process 460 is executed at step 430 of process 410 shown in Figs. 28 and 29, where the tool power switch has been turned ON during a motor coasting or braking and before the motor speed has returned to zero. In particular, process 460 is offered herein as a replacement for steps 432 and 434 of the process 410 shown in Fig. 29. Here, since motor currents cannot be measured two shunts at step 434, an alternative solution is provided.
[0345] In some embodiments, process 460, following a determination of a spinning restart condition in a single shunt execution at step 430’, starts at decision step 462, where it is determined whether the process is in the first half or the second half of the PWM period. In the first half, the process 460 executes steps 464-480 to generate vector VBrake and take current samples from the shunt resistor. In the second half, the process 460 executes steps 482-488 to generate the negative vector -VBrake in the opposite sector.- 84 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0346] In the first half of the PWM period, process 460 applies a voltage sequence VO for a duration of TO at step 464; applies a voltage sequence Vn for a duration of Tn at step 466; waits for a time (tsettie = ton_minumum - tsH) after the rising edge of Vn at step 468; and make a first current measurement, Sample 1 , and determines the corresponding phase current, at step 470. Then, process 460 applies a voltage sequence Vn+1 for a duration of Tn+1 at step 472; waits for a time (tsettie = ton_minumum - tsH) after the rising edge of Vn+1 at step 474; and make a second current measurement, Sample 2, and determines the corresponding phase current, at step 476. Process 460 finally applies voltage sequence V7 for duration T7, at step 478, and reconstructs the third phase current as a function of ill + iV + iW = 0, at step 480.
[0347] In the second half of the PWM period, process 460 applies a voltage sequence V7 for a duration of T7 at step 482; applies a voltage sequence Vn+3 for a duration of Tn+3 at step 484; applies a voltage sequence Vn+4 for a duration of Tn+4 at step 486; and applies a voltage sequence V0 for a duration of TO at step 488.
[0348] Following steps 480 and / or 488, process 460 increments the hard braking timer and moves on to the next PWM cycle. The process then moves to steps 436-456 of process 410 in Fig. 29, where the current measurements are used by SMO to estimate the rotor position during the spinning restart.
[0349] It is noted that the above-described sequence executed in the two halves of the PWM period may be switched, meaning that the current measurements may be conducted in the second half of the PWM period. In yet other embodiments, Sample 1 may be conducted during the first half of the PWM period and Sample 2 may be conducted during the second half of the PWM period.
[0350] In some embodiments, the above-described steps may be performed in one or more PWM periods during the motor braking or motor coasting operation. For example, while the motor is coasting to a stop, one or more of the above-described PWM periods- 85 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 may be applied, sequentially or intermittently, to detect the rotor angular position. Furthermore, within each PWM period as described above, periods of active coasting (i.e. , where all power switches are turned OFF) may be utilized in place of active braking periods VO and V7. In some embodiments, each PWM period as described above may include, in addition to drive vectors VBrake and -VBrake, periods of braking, periods of coasting, or a combination thereof.
[0351] Fig. 49 is a flow diagram illustrating a process 800 of controlling a power tool according to some embodiments of the present disclosure.
[0352] In some embodiments, beginning at step 802, the controller 230 provides a plurality of drive signals Da, DB, and De for driving the power switch circuit 226 by controlling a switching operation of the power switch circuit 226 over a plurality of switching vectors.
[0353] At step 804, the controller 230 detects a release of the trigger switch, and brakes the motor 16 in response. In some examples, in braking the motor 16, the controller 230 controls the motor 16 to perform an active rotational deceleration operation in response to detecting a release of the trigger switch by setting a target speed of the motor to zero, and actively decelerating the motor using a sliding-mode observer (SMO). In other examples, the controller 230 may instead shut off supply of power to the motor 16 to allow the motor 16 to gradually coast down to a halt.
[0354] At step 806, the controller 230 detects a subsequent reengagement of the trigger switch, and in response, applies a drive signal within a sector of the motor 16 corresponding to two consecutive active vectors of the motor 16, at step 808. In some embodiments, the controller 230 also applies an opposing signal that opposes the drive signal to offset a driving torque applied by the drive signal.
[0355] In some examples, the application time of the driving signal may be during a first half of a PWM cycle of phase voltage signals of the motor 16, and the application- 86 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 time of the opposing signal may be during a subsequent second half of the PWM cycle. However, embodiments of the present disclosure are not limited thereto, and in other examples, the application time of the driving signal may be in a first PWM cycle of phase voltage signals of the motor 16, and the application time of the opposing signal may be during a second PWM cycle of the phase voltage signals of the motor 16 that is after the first PWM cycle.
[0356] As shown in FIG. 46, the vector space of the motor 16 includes a plurality of sectors (e.g., sectors I to VI), each of which is defined by two consecutive active vectors of a sequence of active vectors. In some examples, the drive signal is within a sector corresponding to an nth vector Vn and an (n+1 )th vector Vn+1 of the motor, the opposing signal is within the opposing sector of an (n+3)th vector Vn+3 and an (n+4)th vector Vn+4 of the motor 16 (n being a positive integer).
[0357] At step 810, the controller 230 measures a first current value of the single shunt element RS at a first time and a second current value of the single shunt element RS at a second time. In some embodiments, the first and second times are during the application time of the drive signals. For example, the first time may be during an application time of a first vector (e.g., Vn) of the two consecutive active vectors, and the second time may be during an application time of a second vector (e.g., Vn+1) of the two consecutive active vectors. However, embodiments of the present disclosure are not limited thereto. For example, the first time and second time may be during the application time of the drive signal and the opposing signal, respectively. In other examples, the first and second times may both be during the application time of the opposing signal.
[0358] When the first and second time are during application times of first and second vectors that are consecutive, the transition from the first vector to the second vector may be at least a minimum sample-and-hold time after the first time and the second time may be at least a settling time after a transition from the first vector to the second- 87 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 vector. As such, the second time may be at least a minimum on-time after the first time, which is the summation of the minimum sample-and-hold time and the settling time.
[0359] At step 812, the controller 230 calculates the phase currents ill, i V, and iW of the motor 16 based on the measured first and second current values, as described above.
[0360] At step 814, the controller 230 determines the rotor angular position based on the phase currents iU, i V, and iW. The drive signals Da, Db, and De may be associated with a field-oriented control operation of the motor 16. In some examples, the controller 230 may determine the rotor angle by applying an SMO process to estimate a back electromotive force voltage of the motor 16 based on the phase currents iU, i V, and iW and the motor phase voltage signals, and detecting the rotor angle based on the back electromotive force voltage.
[0361] At step 816, the controller 230 controls the pulse-width modulation (PWM) of the drive signals Da, Db, and De for application to the power switch circuit 226 based on the rotor angle. This may include setting a target speed of the motor based on a level of trigger engagement, and actively controlling rotation of the motor based on the target speed and the angular position of the rotor using an SMO.Single Shunt Intermittent Spinning Restart
[0362] In grinders, the grinding wheel is secured to an output spindle of the power tool via a retaining flange that is fastened onto a threaded end of the output spindle. In some grinding wheels (also referred to as hubbed wheels), the wheel itself is fastened onto the output spindle. The grinding wheel may be properly secured to the output spindle via a specialized tool. However, in some use cases, a user may improperly fasten the grinding wheel by placing it on the output spindle and pressing the power tool trigger switch and allowing the rotational force of the motor 16 to weakly fasten the grinding- 88 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 wheel to the output spindle. If the grinding wheel is not fastened properly using the appropriate tool, when the motor 16 is braked too quickly in the midst of spinning (e.g., within 25 ms as may be done in the spinning restart process described above), the momentum of the spinning wheel may cause the retaining flange and / or the hubbed wheel to continue to rotate and fly off the spindle. This may pose a serious safety risk to the user. Thus, when a user reengages the trigger during motor coasting or braking, the short braking period introduced in the spinning restart process described above may become problematic, and it is desirable to allow the motor to come to a complete stop before restarting. However, it is also desirable to minimize the delay between the reengagement of the trigger and the restart of the motor.
[0363] As such, according to some embodiments of the present disclosure, while the motor is free-spinning, the controller periodically injects short periods of active braking during which the controller can check whether the motor is still spinning. As soon as it is determined that spinning has halted, the controller can resume running the motor. This serves to shorten (e.g., minimize) the time delay between the user’s reengagement of the trigger and the restart of the motor while eliminating risk of harm to the user or damage to the power tool.
[0364] Fig. 50 depicts a process 900 for controlling the motor 16 of the power tool 10, according to some embodiments of the present disclosure.
[0365] Referring to Fig. 50, process 900 starts at the motor spinning step 902. In this step, in some embodiments, the controller 230 provides a plurality of drive signals Da, Db, and De for driving of the power switch circuit 226 by controlling a switching operation of the power switch circuit over a plurality of switching vectors.
[0366] At step 904, as the power tool (e.g., grinder) is operating, the controller 230 detects an event indicative of a shutdown of the motor 16. The event may be a fault condition that necessitates stopping motor commutation in order to protect the power- 89 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 switch circuit 226. For example, the event may include a kick-back event, an overcurrent condition (where the bus current, i.e. , the current drawn from the power supply, is above a current threshold), an over-temperature condition (where a thermistor mounted proximate the power switch circuit 226 shows high temperature levels), and an overvoltage condition (which may indicate a FET failure) associated with the power tool or a battery pack coupled to the power tool.
[0367] In response to detecting the shutdown event, the controller 230 may allow the motor 16 to coast down gradually to a halt by cutting off supply of power to the motor 16. In some examples, controller 230 may shut down power to the motor 16 by activating a disable signal DIS that disables the gate driver 232, as shown in Fig. 4. In other examples, the controller 230 may deactivate a semiconductor switch (not shown), which may be located on the current path from the power supply to the power switch circuit 226, on a current path from the power supply to the power supply regulator 234, on a current path from the power supply regulator 234 to the gate driver 232, or at any other suitable location.
[0368] According to some embodiments, as the motor 16 is slowing down, the controller 230 monitors for reengagement of the trigger switch by the user, and detects such reengagement at step 906. The controller 230 may detect engagement of the trigger switch in response to receiving a trigger engagement signal from the micro-electronic switch coupled to the trigger switch.
[0369] Upon detecting reengagement, the controller 230 performs an intermittent braking scheme, to detect the stoppage of the motor 16, and restarts the motor operation upon or after detecting the stoppage of the motor 16. Motor stoppage may be determined based on the motor phase currents reaching zero amps; however, during motor coasting, the switches of the power switch circuit 226 are all deactivated and thus no current measurements may be performed.- 90 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0370] Therefore, in some embodiments, as the rotation of the motor 16 slows down, the controller 230 periodically brakes the motor 16 in short pulses and collects motor current information, at step 908, by conducting a plurality of phase current measurements of the single shunt element during these short brake periods (also referred to as sampling intervals), and returns to coasting.
[0371] Once the controller 230 determines, at step 910, that that motor 16 has substantially reached a stop based on the plurality of phase current measurements, the controller 230 can safely restart the motor 16 using the normal startup process at step 912. The intermittent braking process will be described in further detail below with reference to Figs. 51 -53.
[0372] Fig. 51 depicts the process 1000 of intermitted braking and phase current measurement performed by the controller 230 using the single shunt element RS, according to some embodiments of the present disclosure.
[0373] In some embodiments, the controller 230 disables the power switch circuit 226 to coast the motor 16 for a first period of time (also referred to herein as the inactive time / period) at step 1002. For example, the controller 230 may command the gate driver 232 to send a first control signal (e.g., all ‘1 ’s) to the power switch circuit 226, which deactivates all of the upper-side and lower-side transistors S1a, S2a, S3a, S1 b, S2b, and S3b shown in Figs. 5-6.
[0374] In some embodiments, at step 1004, the controller 230 then controls the power switch circuit 226 to electronically brake the motor 16 by applying a brake signal to a first vector of the plurality of switching vectors following the first period of time. The controller 230 may apply the electronic brake by simultaneously activating the three lower-side switches (e.g., FETs) of the power switch circuit 226. For example, the controller 230 may command the gate driver 232 to send a second control signal (e.g., a- 91 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 zero vector signal) to the power switch circuit 226, which activates the lower-side switches S1 b, S2b, and S3b shown in Figs. 5-6.
[0375] In some embodiments, at step 1006, the controller 230 then controls the power switch circuit 226 to briefly drive the motor 16 by applying a drive signal to a second vector of the plurality of switching vectors following the brake signal. The controller 230 may apply the drive signal by commanding the gate driver 232 to send a third control signal (e.g., a vector signal Vn, where n is an integer between 1 to 6) to the power switch circuit 226, which activates one or more of the upper-side switches S1a, S2a, and S3a and one or more of the lower-side switches S1a, S2a, and S3a shown in Figs. 5-6.
[0376] When the motor is spinning, the brake signal induces circulating currents in the motor 16 (e.g., between the shorted power switches, such as the low-side power switches, and the motor windings), and the drive signal sends the recirculating currents on the bus to pass through the signal shunt element RS, which allows the current to be measured.
[0377] In some embodiments, the controller 230 measures a current value of the single shunt element RS during the application period of the drive signal, at step 1008. In some examples, the controller 230 measures the current value of the single shunt element RS at least a settling time tSettle after a transition from the first vector to the second vector.
[0378] The drive signals, which correspond to the second vector, induce a certain current based on the position and the speed of the motor 16. Thus, if the current readings change over time, it indicates that the motor is spinning, and not stationary. Thus, in some embodiments, the controller 230 repeats the above process a number of times and looks for variations in the phase current measurements as a way of determining whether the motor is stationary or not.- 92 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0379] Thus, every time a current measurement is made during the second vector Vn (i.e., the drive time / period), the controller 230 increments a counter, at step 1012. When the counter is less than the count threshold at step 1014, the controller 230 repeats the current measurement process beginning at step 1002. Once the counter reaches the count threshold, a sufficient number of current samples have been collected and the controller 230 calculates, at step 1018, a differential value between the maximum and minimum current measurements as a means of determining the level of variation in the shunt current measurements.
[0380] At step 1020, the controller 230 evaluates whether the plurality of phase current measurements performed during repetitions (e.g., 20 repetitions) of step 1006 meet a predetermined criteria by comparing the differential value to a differential threshold. If the differential value is greater than the differential threshold, the current measurements have not sufficiently converged indicating that the motor (and thus the grinding wheel) is still spinning. As such, the controller 230 restarts the current sampling process beginning at step 1002. The window of time between reinitiations of the current sampling process triggered at step 1020 may be referred to as a sampling interval.
[0381] If the differential value is at or below the differential threshold, the controller 230 determines, at step 1022, that the motor 16 has substantially reached a stop (e.g., come to a complete stop) and that it is safe to restart the motor 16 via the normal startup process.
[0382] As an example, when a first differential value between maximum and minimum current measurements of a first plurality of phase current measurements corresponding to a first sampling interval exceeds a differential threshold, but a second differential value between maximum and minimum current measurements of a second plurality of phase current measurements corresponding to a second sampling interval is- 93 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 less than the differential threshold, the controller 230 determines that the rotation of the motor 16 has substantially reached a stop.
[0383] However, the criterion for determining stoppage of the motor 16 is not limited to the differential value. For example, in some embodiments, the controller 230 may compare the maximum current value within a sampling interval with a maximum current threshold, and if the maximum current value exceeds the maximum current threshold, the controller 230 restarts the current sampling process for the next sampling interval, otherwise, the controller 230 determines that the rotor has stopped.
[0384] If the duration of the inactive period and the active period, as defined by the total duration of the braking, and drive periods, are kept constant when repeating steps 1002-1014, a motor spinning at a harmonic or subharmonic frequency of the sampling frequency (as defined by sampling frequency = 1 / (inactive period + active period), can lead to shunt current measurements that are substantially the same causing the controller 230 to falsely detect a stationary motor (when in fact the motor 16 is moving) due to sampling aliasing. Further, the second vector (i.e., drive vector) may induce an audible noise at the sampling frequency, which is undesirable.
[0385] As such, in some embodiments, the controller 230 varies the duration of the inactive period, while maintaining an average inactive time (e.g., of about 1 ms). For example, within each sampling interval, the controller 230 may gradually increase the duration of the inactive period after each shunt current measurement at step 1010, and then reset the duration of inactive period at the end of each sampling interval, at step 1016. This eliminates sampling aliasing and greatly reduces the audible noise that may otherwise be generated by the shunt current sampling. In some examples, the duration of the active period may be kept constant across consecutive sampling intervals; however, embodiments of the present disclosure are not limited thereto.- 94 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0386] Once the controller 230 determines that the motor is stationary, the controller 230 may restart the motor 16 by detecting an initial position of the rotor of the motor 16 using an initial position detection (IPD) scheme, and commutating the motor 16 using the sensorless control of the power switch circuit.
[0387] In some embodiments, the controller 230 may performing the sensorless control by utilizing a field-oriented control technique that includes determining an angular position of the rotor using high-frequency injections while an output speed of the motor 16 is below a speed threshold, determining the angular position of the rotor using a sliding mode observer while the output speed of the motor 16 is greater than the speed threshold, and commutating the motor 16 using the determined angular position.
[0388] Thus, as described above, while the motor is free-spinning, the controller periodically injects short periods of braking and active driving during which the controller can check whether the motor is still spinning. As soon as it is determined that spinning has halted, the controller can resume running the motor. This serves to shorten (e.g., minimize) the time delay between the user’s reengagement of the trigger and the restart of the motor while eliminating risk of harm to the user or damage to the power tool.
[0389] Fig. 52A illustrates the vector-space modulation switching pattern applied to the power switches of the power switch circuit 226 when conducting the phase current measurements at step 908 of Fig. 50, according to some embodiments of the present disclosure. Fig. 52B illustrates the repeating vector-space modulation switching patterns of Fig. 52A that form a single sampling interval, according to some embodiments of the present disclosure.
[0390] Referring to Fig. 52A, in some embodiments, each time a phase current measurement is to be conducted, the controller 230 first disables the power switch circuit 226 by controlling the gate driver 232 to deactivate all of the switches of the power switch circuit 226 for a first period of time (i.e., the inactive period). The controller 230 then- 95 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 electronically brakes the motor 16 by, for example, keeping the three upper-side switches S1 a, S2a, and S3a of the power switch circuit 226 deactivated while simultaneously activating the three lower-side switches S1 b, S2b, and S3b of the power switch circuit 226 via the high-side PWM signals PWMUH, PWMVH, and PWMWH, and low-side PWM signals PWMUL, PWMVL, and PWM L that correspond to the first vector (e.g., VO) of the plurality of switching vectors. The controller 230 then drives the motor 16 by applying a drive signal to a second vector of the plurality of switching vectors (e.g., Vn, where n is an integer between 1 to 6) following the brake signal. This may activate one or more of the upper-side switches S1a, S2a, and S3a and one or more of the lower-side switches S1 a, S2a, and S3a of the power switch circuit 226.
[0391] In electronic braking, the activation of the lower-side switches causes the induced currents in the motor coils to be reverted back into the motor 16 in the opposite direction of it spinning, which can bring the motor 16 to an aggressive stop if this state is maintained for a long enough period of time. To eliminate or minimize the chances of the grinding wheel coming off during electronic braking, the active period (i.e., the duration of application of the first and second vectors) is set to only be long enough to perform a current measurement of the single shunt element RS, and is thus shorter than the inactive period during which the motor 16 is allowed to coast. In some examples, the active period may be about 5% to 20% (e.g., about 5%), of the inactive period of time (i.e., the inactive period). For example, the first period of time may be about 500 ps to about 1 ms (e.g., about 1 ms), and the duration of the brake and drive signals together may be about 30 ps to about 50 ps (e.g., about 50 ps). In some examples, the duration of the second vector (i.e., driving vector) is at least a minimum on-time tON_Min, which is a summation of the minimum sample-and-hold time tSH and the settling time tSettle. For example, as previously discussed, the minimum on-time tON_Min may be approximately 4 ps to 10 ps.- 96 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0392] Referring to Fig. 52B, the inactive-active sequence illustrated in Fig. 52A is repeated a number to times that is equal to the count threshold (e.g., 20 times). This repeated pattern makes up a single sampling interval, which may be, for example, about 20 ms long. As described above with reference to Fig. 51 , the duration of the inactive period may gradually increase during the course of a single sampling interval, and may be reset to its initial value at the beginning of each sampling interval. The duration of the active period may remain constant across the sampling interval.
[0393] Fig. 53 is a graph illustrating the convergence of the sampled phase currents as the motor comes to stop, according to some embodiments of the present disclosure.
[0394] In Fig. 53, the minimum phase current value in each sampling interval is represented by a single dot in the dot pattern l_mi n, the maximum phase current value in each sampling interval is represented by a single dot in the dot pattern l_max, and the differential value defined as difference between the minimum and maximum current values is represented by the points making up the line l_delta. As the motor slows down during coasting, the minimum and maximum current value steadily converge and the differential value gradually approaches zero. Once the differential value reaches or falls below the differential threshold (which is represented by a horizontal line in Fig. 53), the rotation of the motor is considered to be substantially stopped. The differential threshold may be substantially close to 0 A, in an example, between 1 A to 3 A.
[0395] It should be understood that while Figs. 50-51 describe the intermittent braking operation of the controller using the single shunt resistor RS in association with a fault event occurring as the motor is running, embodiments of the present disclosure are not limited thereto. For example, as shown in Fig. 54, this process may also be triggered at every startup of the power tool (e.g., grinder).- 97 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097
[0396] Fig. 54 illustrates the process 1100 of running the motor at startup, according to some embodiments of the present disclosure.
[0397] In some embodiments, the controller begins this process at 1102 and initiates the start-up process by coasting the motor and resetting all key internal variables related to motor control. These variables may include, but are not limited to, current low- pass filters, voltage low-pass filters, speed and rotor angle estimators, HFI and SMO state variables, PI controller integrator terms, d / q axis references, offset correction values, fault flags, timers, and counters related to protection or observer convergence.
[0398] At step 1104, the controller detects an actuation of the trigger switch, which indicates the start of the motor 16. However, prior to running the motor 16 and performing initial position detection (IPD), the controller 230 conducts a plurality of phase current measurements of the motor using a single shunt element over a plurality of sampling intervals, which includes motor coasting with intermittent braking (as described above with respect to step 908 of Fig. 50 and process 1000 of Fig. 51) at step 1106.
[0399] At step 1108, the controller 230 determines that the rotor is not rotating based on the plurality of phase current measurements and that the controller 230 can safely restart the motor 16 using the normal startup process. This step ensures that the motor 16 is at a full stop prior to IPD in case the rotor is still spinning from a previous operation.
[0400] At that point, the controller 230 may restart the motor 16 by detecting an initial position of the rotor of the motor 16 using an initial position detection (IPD) scheme at step 1110, and commutating the motor 16 using the sensorless control of the power switch circuit at step 1112. In some embodiments, the controller 230 may performing the sensorless control by utilizing a field-oriented control technique that includes determining an angular position of the rotor using high-frequency injections while an output speed of the motor 16 is below a speed threshold, determining the angular position of the rotor- 98 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 using a sliding mode observer while the output speed of the motor 16 is greater than the speed threshold, and commutating the motor 16 using the determined angular position.
[0401] The foregoing description of the embodiments has been provided for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure. Individual elements or features of particular embodiments are generally not limited to those particular embodiments, but, where applicable, are interchangeable and can be used in selected embodiments, even if not specifically shown or described. The same may also be varied in many ways. Such variations are not to be regarded as a departure from the disclosure, and all such modifications are intended to be included within the scope of the disclosure, as defined by the following claims and their equivalents.
[0402] According to various embodiments of the present disclosure, the controller 230 is implemented using one or more processing circuits or electronic circuits configured to perform various operations as described above. Types of electronic circuits may include a central processing unit (CPU), a graphics processing unit (GPU), an artificial intelligence (Al) accelerator (e.g., a vector processor, which may include vector arithmetic logic units configured efficiently perform operations common to neural networks, such dot products and softmax), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a digital signal processor (DSP), or the like. For example, in some circumstances, aspects of embodiments of the present disclosure are implemented in program instructions that are stored in a non-volatile computer readable memory where, when executed by the electronic circuit (e.g., a CPU, a GPU, an Al accelerator, or combinations thereof), perform the operations described. The operations performed by the controller 230 may be performed by a single electronic circuit (e.g., a single CPU, a single GPU, or the like) or may be allocated between multiple electronic circuits (e.g., multiple GPUs or a CPU in conjunction with a GPU). The multiple electronic circuits may be local to one another (e.g., located on a same die, located within a same package, or- 99 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 located within a same embedded device or computer system) and / or may be remote from one other (e.g., in communication over a network such as a local personal area network such as Bluetooth®, over a local area network such as a local wired and / or wireless network, and / or over wide area network such as the internet, such a case where some operations are performed locally and other operations are performed on a server hosted by a cloud computing service). One or more electronic circuits operating to implement the controller 230 may be referred to herein as a computer or a computer system, which may include memory storing instructions that, when executed by the one or more electronic circuits, implement the systems and methods described herein.
[0403] The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting. As used herein, the singular forms "a,” "an," and "the" may be intended to include the plural forms as well, unless the context clearly indicates otherwise. The terms "comprises," "comprising," “including,” and “having,” are inclusive and therefore specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. The method steps, processes, and operations described herein are not to be construed as necessarily requiring their performance in the particular order discussed or illustrated, unless specifically identified as an order of performance. It is also to be understood that additional or alternative steps may be employed.
[0404] When an element or layer is referred to as being "on," “engaged to,” "connected to," or "coupled to" another element or layer, it may be directly on, engaged, connected or coupled to the other element or layer, or intervening elements or layers may be present. In contrast, when an element is referred to as being "directly on," “directly engaged to,” "directly connected to," or "directly coupled to" another element or layer,- 100 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 there may be no intervening elements or layers present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., “between” versus “directly between,” “adjacent” versus “directly adjacent,” etc.). As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.
[0405] Although the terms first, second, third, etc. may be used herein to describe various elements, components, regions, layers and / or sections, these elements, components, regions, layers and / or sections should not be limited by these terms. These terms may be only used to distinguish one element, component, region, layer or section from another region, layer or section. Terms such as “first,” “second,” and other numerical terms when used herein do not imply a sequence or order unless clearly indicated by the context. Thus, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of the example embodiments.
[0406] Spatially relative terms, such as “inner,” “outer,” "beneath," "below," "lower," "above," "upper," “bottom,” “lower,” and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures. Spatially relative terms may be intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, elements described as "below" or "beneath" other elements or features would then be oriented "above" the other elements or features. Thus, the example term "below" can encompass both an orientation of above and below. The device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly.- 101 -WBD (US) 4914- 1885-8340
Claims
WBD No. 122995-00039; SBD Docket No: US-2024-1097WHAT IS CLAIMED IS:
1. A method of commuting a power tool comprising a motor having a rotor, a power switch circuit coupled to the motor, and a controller configured to control a switching operation of the power switch circuit, the method being executed by the controller and comprising: providing a plurality of drive signals for driving the power switch circuit associated with a field-oriented control operation of the motor by controlling a switching operation of the power switch circuit over a plurality of switching vectors that are associated with the field-oriented control operation; measuring a first current value of a single shunt element at a first time during a first vector of the plurality of switching vectors and a second current value of the single shunt element at a second time during a second vector of the plurality of switching vectors, the second time being at least a settling time after a transition from the first vector to the second vector, the settling time corresponding to a minimum amount of time for a current passing through the single shunt element to reach a steady state value following the transition from the first vector to the second vector; calculating a plurality of phase currents of the motor based on the first current value and the second current value; determining an angular position of the rotor based on the plurality of phase currents of the motor; and controlling a pulse-width modulation (PWM) of the plurality of drive signals based on the angular position of the rotor.
2. The method of claim 1 , wherein the single shunt element is coupled in series with the power switch circuit on a DC bus line of the power tool that couples a terminal block selectively coupled with a removable battery pack to the power switch circuit.- 102 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-10973. The method of claim 1 , wherein the transition from the first vector to the second vector is at least a minimum sample-and-hold time after the first time, the minimum sample-and-hold time being associated with a minimum amount of time for the controller to sample and measure the first current value from the single shunt element prior to transitioning to the second vector.
4. The method of claim 3, wherein the second time is at least a minimum on- time after the first time, the minimum on-time being a summation of the minimum sample- and-hold time and the settling time.
5. The method of claim 4, wherein a time period between the first time and the second time corresponds approximately to the minimum on-time.
6. The method of claim 1 , wherein the first current value corresponds to a first phase current of the motor, and the second current value corresponds to a second phase current of the motor.
7. The method of claim 1 , wherein the calculating the phase currents of the motor comprises: identifying the first current value as a first phase current of the motor; identifying the second current value as a second phase current of the motor; and calculating a third phase current of the motor based on the first and second phase currents.
8. The method of claim 1 , further comprising:- 103 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 determining a position difference between the determined angular position of the rotor and a target position associated with a target speed reference; and generating an error-correction signal as a function of the position difference, wherein the controlling the PWM of the plurality of drive signals is further based on the error-correction signal.
9. The method of claim 1 , further comprising: determining a bus current measurement as a greater of the first current value and the second current value; determining an over-current protection event based on the bus current measurement; and performing a protection action to cut off or reduce supply of power to the motor based on the determining of the over-current protection event.
10. The method of claim 1 , wherein the controlling the PWM of the plurality of drive signals comprises: setting a transition time associated with the transition from the first vector to the second vector based on the angular position of the rotor; and adjusting the transition time based on a criterion of the set transition time in relation to at least one of the first time or the second time.
11. A method of commuting a power tool comprising a motor having a rotor, a power switch circuit coupled to the motor, and a controller configured to control a switching operation of the power switch circuit, the method being executed by the controller and comprising:- 104 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 providing a plurality of drive signals for driving the power switch circuit associated with a field-oriented control operation of the motor by controlling a switching operation of the power switch circuit over a plurality of switching vectors that are associated with the field-oriented control operation; measuring a first current value of a single shunt element at a first time during a first vector of the plurality of switching vectors and a second current value of the single shunt element at a second time during a second vector of the plurality of switching vectors, a transition from the first vector to the second vector is at least a minimum sample-and-hold time after the first time, the minimum sample-and-hold time being associated with minimum amount of time for the controller to sample and measure the first current value from the single shunt element prior to transitioning to the second vector; calculating a plurality of phase currents of the motor based on the first current value and the second current value; determining an angular position of the rotor based on the plurality of phase currents of the motor; and controlling a pulse-width modulation (PWM) of the plurality of drive signals based on the angular position of the rotor.
12. The method of claim 11 , wherein the second time is at least a settling time after the transition from the first vector to the second vector, the settling time corresponding to a minimum amount of time for a current passing through the single shunt element to reach a steady state value following the transition from the first vector to the second vector.- 105 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-109713. The method of claim 12, wherein the second time is at least a minimum on- time after the first time, the minimum on-time being a summation of the minimum sample- and-hold time and the settling time.
14. The method of claim 11 , wherein the providing the plurality of drive signals comprises: providing a first sequence of PWM signals associated with the first vector; delaying the transition from the first vector to the second vector until after a minimum on-time has passed; and providing a second sequence of PWM signals associated with the second vector.
15. The method of claim 11 , further comprising: determining a position difference between the determined angular position of the rotor and a target position associated with a target speed reference; and generating an error-correction signal as a function of the position difference, wherein the controlling the PWM of the plurality of drive signals is further based on the error-correction signal.
16. The method of claim 11 , further comprising: determining a bus current measurement as a greater of the first current value and the second current value; determining an over-current protection event based on the bus current measurement; and performing a protection action to cut off or reduce supply of power to the motor based on the determining of the over-current protection event.- 106 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-109717. A method of commuting a power tool comprising a motor having a rotor, a power switch circuit coupled to the motor, and a controller configured to control a switching operation of the power switch circuit, the method being executed by the controller and comprising: providing a plurality of drive signals for driving the power switch circuit associated with a field-oriented control operation of the motor by controlling a switching operation of the power switch circuit over a plurality of switching vectors that are associated with the field-oriented control operation; designating a first time during a first vector of the plurality of switching vectors and a second time during a second vector of the plurality of switching vectors, the first time and the second time being respectively associated with a first current measurement related to the first vector and a second current measurement related to the second vector; determining that a transition time associated with at least one of the first vector or the second vector does not satisfy a criterion related to at least one of the first time or the second time; adjusting the transition time to satisfy the criterion; and applying the plurality of drive signals to the power switch circuit based on the adjusted transition time.
18. The method of claim 17, further comprising: performing the first current measurement during the first time and the second current measurement during the second time; determining an angular position of the rotor based on the first and second current measurements; and controlling a pulse-width modulation (PWM) of the plurality of drive signals based on the angular position of the rotor.- 107 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-109719. The method of claim 18, wherein the determining the angular position comprises: identifying a first current value corresponding to the first current measurement as a first phase current of the motor; identifying a second current value corresponding to the second current measurement as a second phase current of the motor; calculating a third phase current of the motor based on the first and second phase currents; and determining the angular position of the rotor based on the first to third phase currents.
20. The method of claim 17, wherein the adjusting the transition time comprises shifting at least one of a rising edge or a falling edge of at least one of the plurality of drive signals.
21. The method of claim 17, wherein the adjusting the transition time comprises shifting a rising edge and a falling edge of the at least one of the plurality of drive signals by a substantially equal amount.
22. The method of claim 17, wherein the determining that the transition time does not satisfy the criterion comprises: determining that at least one of a first duration of the first vector and a second duration of the second vector is less than a minimum on-time.- 108 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-109723. The method of claim 22, wherein the minimum on-time is a summation of a settling time after a transition from the first vector to the second vector and a minimum sample-and-hold time of the controller, wherein the settling time corresponds to a minimum amount of time for a current passing through a single shunt element to reach a steady state value following the transition from the first vector to the second vector, and wherein the minimum sample-and-hold time corresponds to a minimum amount of time for the controller to sample and measure a first current value corresponding to the first current measurement from the single shunt element prior to transitioning to the second vector.
24. The method of claim 23, wherein the transition from the first vector to the second vector is at least the minimum sample-and-hold time after the first time, and wherein the second time is at least the minimum on-time after the first time.
25. The method of claim 23, wherein the single shunt element is coupled in series with the power switch circuit on a DC bus line of the power tool that couples a terminal block selectively coupled with a removable battery pack to the power switch circuit.
26. The method of claim 23, wherein the adjusting the transition time comprises: advancing a pulse-width modulation (PWM) signal associated with at least one of the plurality of drive signals so at least one of a rising edge or a falling edge of the PWM signal occurs at or after the minimum sample-and-hold time.
27. The method of claim 23, wherein the adjusting the transition time comprises:- 109 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 delaying a pulse-width modulation (PWM) signal associated with at least one of the plurality of drive signals so at least one of a rising edge or a falling edge of the PWM signal occurs at or before the settling time.
28. A power tool comprising: a motor having a rotor; a power switch circuit coupled to the motor; and a controller configured to control a switching operation of the power switch circuit, and to: provide a plurality of drive signals for driving the power switch circuit associated with a field-oriented control operation of the motor by controlling the switching operation of the power switch circuit over a plurality of switching vectors that are associated with the field-oriented control operation; measure a first current value of a single shunt element at a first time during a first vector of the plurality of switching vectors and a second current value of the single shunt element at a second time during a second vector of the plurality of switching vectors, the second time being at least a settling time after a transition from the first vector to the second vector, the settling time corresponding to a minimum amount of time for a current passing through the single shunt element to reach a steady state value following the transition from the first vector to the second vector; calculate a plurality of phase currents of the motor based on the first current value and the second current value; determining an angular position of the rotor based on the plurality of phase currents of the motor; and control a pulse-width modulation (PWM) of the plurality of drive signals based on the angular position of the rotor.- 110 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-109729. The power tool of claim 28, wherein the transition from the first vector to the second vector is at least a minimum sample-and-hold time after the first time, the minimum sample-and-hold time being associated with a minimum amount of time for the controller to sample and measure the first current value from the single shunt element prior to transitioning to the second vector.
30. The power tool of claim 29, wherein the second time is at least a minimum on-time after the first time, the minimum on-time being a summation of the minimum sample-and-hold time and the settling time.
31. A method of controlling a power tool comprising a motor having a rotor, a power switch circuit coupled to the motor, a trigger switch, and a controller configured to control a switching operation of the power switch circuit, the method being executed by the controller and comprising: braking the motor in response to detecting a release of the trigger switch; detecting a subsequent reengagement of the trigger switch; applying a drive signal within a sector of the motor corresponding to two consecutive active vectors of the motor; measuring a first current value of a single shunt element at a first time and a second current value of the single shunt element at a second time; calculating a plurality of phase currents of the motor based on the first and second current values; determining an angular position of the rotor based on the plurality of phase currents of the motor; and controlling, based on the angular position of the rotor, a pulse-width modulation (PWM) of a plurality of drive signals for application to the power switch circuit, the plurality of drive signals being associated with a field-oriented control operation of the motor.- 111 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-109732. The method of claim 31 , wherein the braking of the motor comprises: controlling the motor to perform an active rotational deceleration operation in response to detecting a release of the trigger switch by setting a target speed of the motor to zero, and actively decelerating the motor using a sliding-mode observer.
33. The method of claim 31 , wherein the braking of the motor comprises: shutting off supply of power to the motor to allow the motor to gradually coast down to a halt.
34. The method of claim 31 , wherein the single shunt element is coupled in series with the power switch circuit on a DC bus line of the power tool that couples a terminal block selectively coupled with a removable battery pack to the power switch circuit.
35. The method of claim 31 , wherein the first time and the second time are during an application time of the drive signal.
36. The method of claim 31 , wherein the first time is during an application time of a first vector of the two consecutive active vectors, and the second time is during an application time of a second vector of the two consecutive active vectors.
37. The method of claim 36, wherein the second time is at least a settling time after a transition from the first vector to the second vector, and- 112 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 wherein the settling time corresponds to a minimum amount of time for a current passing through the single shunt element to reach a steady state value following the transition from the first vector to the second vector.
38. The method of claim 37, wherein the transition from the first vector to the second vector is at least a minimum sample-and-hold time after the first time, the minimum sample-and-hold time being associated with a minimum amount of time for the controller to sample and measure the first current value from the single shunt element prior to transitioning to the second vector.
39. The method of claim 38, wherein the second time is at least a minimum on- time after the first time, the minimum on-time being a summation of the minimum sample- and-hold time and the settling time.
40. The method of claim 31 , further comprising: applying an opposing signal that opposes the drive signal to offset a driving torque applied by the drive signal.41 . The method of claim 40, wherein a vector space of the motor comprises a plurality of sectors, each being define by two consecutive active vectors of a sequence of active vectors, wherein the drive signal is within a sector of the plurality of sectors corresponding to an nth vector and an (n+1 )th vector of the motor, wherein the opposing signal is within a sector of the plurality of sectors corresponding to an (n+3)th vector and an (n+4)th vector of the motor, and wherein n is a positive integer.- 113 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-109742. The method of claim 40, wherein the first time is during an application time of the drive signal, and wherein the second time is during an application time of the opposing signal.
43. The method of claim 40, wherein the first time and the second time are during an application time of the opposing signal.
44. The method of claim 40, wherein an application time of the driving signal is during a first half of a PWM cycle of phase voltage signals of the motor, and an application time of the opposing signal is during a subsequent second half of the PWM cycle.
45. The method of claim 40, wherein an application time of the driving signal is in a first PWM cycle of phase voltage signals of the motor, and an application time of the opposing signal is during a second PWM cycle of the phase voltage signals of the motor that is after the first PWM cycle.
46. The method of claim 31 , wherein the calculating the phase currents of the motor comprises: identifying the first current value as a first phase current of the motor; identifying the second current value as a second phase current of the motor; and calculating a third phase current of the motor based on the first and second phase currents.
47. The method of claim 31 , wherein the determining the angular position of the rotor based on the plurality of phase currents of the motor comprises:- 114 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 applying a sliding-mode observer process to estimate a back electromotive force voltage of the motor based on the plurality of phase currents of the motor; and detecting the angular position of the rotor based on the back electromotive force voltage.
48. The method of claim 47, wherein the applying the sliding-mode observer process comprises: calculating the back electromotive force voltage of the motor based on motor phase voltage signals and the plurality of phase currents of the motor.
49. The method of claim 31 , wherein the controlling the PWM of the plurality of drive signals comprises: setting a target speed of the motor based on a level of trigger engagement; and actively controlling rotation of the motor based on the target speed and the angular position of the rotor using a sliding-mode observer.
50. A power tool comprising: a motor having a rotor; a trigger switch; a power switch circuit coupled to the motor; and a controller configured to control a switching operation of the power switch circuit, and to: braking the motor in response to detecting a release of the trigger switch; detecting a subsequent reengagement of the trigger switch; applying a drive signal within a sector of the motor corresponding to two consecutive active vectors of the motor;- 115 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 measuring a first current value of a single shunt element at a first time and a second current value of the single shunt element at a second time; calculating a plurality of phase currents of the motor based on the first and second current values; determining an angular position of the rotor based on the plurality of phase currents of the motor; and controlling, based on the angular position of the rotor, a pulse-width modulation (PWM) of a plurality of drive signals for application to the power switch circuit, the plurality of drive signals being associated with a field-oriented control operation of the motor.
51. A method of controlling a power tool comprising a motor having a rotor, a power switch circuit coupled to the motor, a trigger switch, and a controller configured to control a switching operation of the power switch circuit, the method being executed by the controller and comprising: providing a plurality of drive signals for driving the power switch circuit associated with a field-oriented control operation of the motor by controlling a switching operation of the power switch circuit over a plurality of switching vectors that are associated with the field-oriented control operation; detecting of an event indicative of a shutdown of the motor; conducting a plurality of phase current measurements of the motor using a single shunt element over a plurality of sampling intervals as a rotation of the motor slows down; and determining that the rotation of the motor has substantially reached a stop based on the plurality of phase current measurements.
52. The method of claim 51 , wherein the conducting the plurality of phase current measurements comprises, for each of the plurality of sampling intervals: applying a brake signal to a first vector of the plurality of switching vectors;- 116 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 applying a drive signal to a second vector of the plurality of switching vectors following the brake signal; and measuring a current value of the single shunt element during an application period of the drive signal.
53. The method of claim 52, wherein the brake signal corresponds to driving a zero vector of the plurality of switching vectors.
54. The method of claim 52, wherein the measuring the current value of the single shunt element comprises: measuring the current value of the single shunt element at least a settling time after a transition from the first vector to the second vector, and wherein the settling time corresponds to a minimum amount of time for a current passing through the single shunt element to reach a steady state value following the transition from the first vector to the second vector.
55. The method of claim 52, wherein a duration of the second vector is at least a minimum on-time corresponding to a summation of a settling time and a minimum sample-and-hold time, and wherein the minimum sample-and-hold time corresponds to a minimum amount of time for the controller to sample and measure the current value from the single shunt element.
56. The method of claim 52, wherein the determining that the rotation of the motor has substantially reached the stop comprises determining that a convergence of the plurality of phase current measurements meets a predetermined criteria.- 117 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-109757. The method of claim 52, wherein the plurality of phase current measurements comprises a first plurality of phase current measurements corresponding to a first sampling interval of the plurality of sampling intervals and a second plurality of phase current measurements corresponding to a second sampling interval of the plurality of sampling intervals.
58. The method of claim 57, wherein the determining that the rotation of the motor has substantially reached the stop comprises: determining that a first differential value between maximum and minimum current measurements of the first plurality of phase current measurements exceeds a differential threshold; and determining that a second differential value between maximum and minimum current measurements of the second plurality of phase current measurements is less than the differential threshold.
59. The method of claim 57, wherein the determining that the rotation of the motor has substantially reached the stop comprises: determining that a first maximum current value of the first plurality of phase current measurements exceeds a maximum current threshold; and determining that a second maximum current value of second first plurality of phase current measurements does not exceed the maximum current threshold.
60. The method of claim 52, wherein the conducting the plurality of phase current measurements comprises disabling the power switch circuit for a period of time prior to the brake signal within each of the plurality of sampling intervals.- 118 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-109761. The method of claim 60, wherein the period of time of the disabling the power switch circuit is greater than an application time of the first vector, and wherein the application time of the first vector is greater than an application time of the second vector.
62. The method of claim 60, wherein the power switch circuit comprises a plurality of lower-side power switches and a plurality of upper-side power switches configured to drive a plurality of phases of the motor.
63. The method of claim 62, wherein the disabling the power switch circuit comprises: applying a first control signal to the power switch circuit, and wherein the plurality of lower-side and upper-side power switches are configured to deactivate in response to the first control signal.
64. The method of claim 62, wherein applying the drive signal comprises: applying a second control signal to the power switch circuit, and wherein the lower-side power switches are configured to activate in response to the second control signal, and the upper-side power switches are configured to deactivate in response to the second control signal.
65. The method of claim 51 , further comprising: detecting an actuation of the trigger switch, and restarting the applying of the plurality of drive signals to drive the motor after determining that rotation of the motor has substantially reached the stop.- 119 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-109766. The method of claim 51 , wherein the field-oriented control operation comprises: determining an angular position of the rotor using high-frequency injections while an output speed of the motor is below a speed threshold; determining the angular position of the rotor using a sliding mode observer while the output speed of the motor is greater than the speed threshold; and commutating the motor using the determined angular position.
67. The method of claim 51 , wherein the event indicative of the shutdown of the motor comprises at least one of an over-current condition, an over-voltage condition, a kick-back event, or an over-temperature condition associated with the power tool or a battery pack coupled to the power tool.
68. The method of claim 51 , wherein the single shunt element is coupled in series with the power switch circuit on a DC bus line of the power tool that couples a terminal block selectively coupled with a removable battery pack to the power switch circuit.
69. A method of controlling a power tool comprising a motor having a rotor, a power switch circuit coupled to the motor, a trigger switch, and a controller configured to control a switching operation of the power switch circuit, the method being executed by the controller and comprising: detecting an actuation of the trigger switch; conducting a plurality of phase current measurements of the motor using a single shunt element over a plurality of sampling intervals;- 120 -WBD (US) 4914- 1885-8340WBD No. 122995-00039; SBD Docket No: US-2024-1097 determining that the rotor is not rotating based on the plurality of phase current measurements; detecting an initial position of the rotor; and commutating the motor via a sensorless motor control technique.
70. A power tool comprising: a motor having a rotor; a power switch circuit coupled to the motor; a trigger switch; and a controller configured to control a switching operation of the power switch circuit, and to: applying a plurality of drive signals to the power switch circuit associated with a field-oriented control operation of the motor by controlling a switching operation of the power switch circuit over a plurality of switching vectors that are associated with the field- oriented control operation; in response to detection of an event indicative of a shutdown of the motor; conducting a plurality of phase current measurements of the motor using a single shunt element over a plurality of sampling intervals as a rotation of the motor slows down; and determining that the rotation of the motor has substantially reached a stop based on the plurality of phase current measurements.- 121 -WBD (US) 4914- 1885-8340
Citation Information
Patent Citations
Load-adaptive smooth startup method for sensorless field-oriented control of permanent magnet synchronous motors
US20180278187A1
Motor positional sensing
US20210167672A1
Sensorless motor control for a power tool
US20220241951A1
Power tool
US20230231503A1
Power tool
US20240128897A1