Method and apparatus for detecting position of rotor of electric motor, and electric tool

By applying voltage pulses to the motor windings and monitoring the response current, combined with commutation point optimization, the accuracy and efficiency issues of brushless motor rotor position detection are solved, the detection success rate and starting success rate are improved, and the starting current and time are reduced.

WO2025200967A1PCT designated stage Publication Date: 2025-10-02NANJING CHERVON IND
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/080629
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-27
Filing Date
2025-03-05
Publication Date
2025-10-02

AI Technical Summary

Technical Problem

In the existing technology, the brushless motor is easily affected by the power supply and motor inductance when detecting the rotor position, resulting in insufficient detection accuracy and high failure rate, which is more obvious when used in high-voltage products. In addition, the brushless motor has low efficiency.

Method used

By applying voltage pulses to each set of windings of the motor, the response current is obtained and the initial position of the rotor is determined based on the time required for the response current to reach the preset current threshold. At the same time, the commutation control of the brushless motor is optimized by monitoring the motor status and adjusting the commutation point.

Benefits of technology

The success rate of rotor position detection is improved, the starting current and time are reduced, and the efficiency of the sensorless brushless motor is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025080629_02102025_PF_FP_ABST
    Figure CN2025080629_02102025_PF_FP_ABST
Patent Text Reader

Abstract

A method and apparatus for detecting the position of a rotor of an electric motor, and an electric tool. The method for detecting the position of a rotor of an electric motor comprises: applying a voltage pulse to each set of windings of an electric motor (S110); acquiring a response current generated by each set of windings on the basis of the voltage pulse, wherein the response current comprises at least one of a bus current and a phase current (S120); on the basis of the response current of each set of windings, determining a required time for each set of windings to reach a preset current threshold (S130); and on the basis of the required time of each set of windings, determining an initial position of a rotor (S140).
Need to check novelty before this filing date? Find Prior Art

Description

Motor rotor position detection method, device and electric tool

[0001] This application claims priority to Chinese patent applications filed with the China Patent Office on March 27, 2024, with application numbers 202410355658.8 and 202410362220.2. The entire contents of the above applications are incorporated by reference into this application. Technical Field

[0002] The present application relates to the technical field of motors, for example, to a method and device for detecting the position of a motor rotor, and an electric tool. Background Art

[0003] Power tools usually include a motor and a control module. When the motor is started from a stationary state, the control module needs to detect the initial position of the rotor in order to reduce the starting current of the motor, increase the starting torque, prevent the motor from reversing, and improve the starting success rate.

[0004] Since replacing sensory control with non-sensing control can greatly reduce production costs, there are many non-sensing control machines on the market.

[0005] The motor in the related art uses a voltage difference method to determine the initial position of the motor rotor. The voltage difference method refers to applying a voltage pulse to the motor and detecting the voltage difference between the phase terminals when the pulse is applied to reflect the current in the circuit, thereby detecting the rotor position. However, this method is greatly affected by the power supply and motor inductance. The voltage characteristics of the power supply itself will affect the detection results of the voltage difference method. When this method is applied to high-voltage products, the detection failure rate is high. When the motor inductance is large and the power supply internal resistance is low, the voltage difference is extremely small, which is easily interfered with or the detection accuracy is insufficient, resulting in detection failure.

[0006] One type of sensorless brushless motor in the related art operates with a fixed commutation ratio, resulting in low efficiency. Generally speaking, sensored brushless motors are more efficient than sensorless motors. Therefore, improving the efficiency of sensorless brushless motors is crucial to capture the market share of sensored brushless motors.

[0007] This section provides background information related to the present application which is not necessarily prior art. Summary of the Invention

[0008] One object of the present application is to solve or at least alleviate part or all of the above problems. To this end, one object of the present application is to provide a method, device and power tool for detecting the motor rotor position, which improve the success rate of rotor position detection.

[0009] In order to achieve the above objectives, this application adopts the following technical solutions:

[0010] A method for detecting a motor rotor position, comprising:

[0011] Applying voltage pulses to each set of windings of the motor respectively;

[0012] Obtaining a response current generated by each group of windings based on the voltage pulse, the response current including at least one of a bus current and a phase current;

[0013] Determining, based on the response current of each group of windings, a time required for each group of windings to reach a preset current threshold;

[0014] An initial position of the rotor is determined based on the required times for the respective sets of windings.

[0015] In some embodiments, determining the time required for each group of windings to reach a preset current threshold based on the response current of each group of windings includes:

[0016] When the response current of each group of windings reaches a preset current threshold, the time for applying the voltage pulse to each group of windings is determined as the required time.

[0017] In some embodiments, applying voltage pulses to each winding group of the motor separately includes:

[0018] Applying voltage pulses to each winding group of the motor for a preset conduction time;

[0019] Accordingly, determining the time required for each group of windings to reach a preset current threshold based on the response current of each group of windings includes:

[0020] Determining the maximum value of the response current of each group of windings within the preset conduction time;

[0021] determining a current growth rate based on a ratio of a maximum value of the response current of each group of windings to the preset conduction time;

[0022] Based on the current growth rate of each group of windings, the time required for the response current to reach a preset current threshold is calculated.

[0023] In some embodiments, before determining the time required for each group of windings to reach a preset current threshold based on the response current of each group of windings, the method further includes:

[0024] Setting two current sampling points, wherein the current sampling points are located within a time range of applying voltage pulses to each group of windings;

[0025] Accordingly, determining the time required for each group of windings to reach a preset current threshold based on the response current of each group of windings includes:

[0026] Determining a response current difference between the response currents corresponding to the two current sampling points;

[0027] The time required for each group of windings to reach a preset current threshold is determined based on the response current difference.

[0028] In some embodiments, determining the time required for each group of windings to reach a preset current threshold based on the response current difference includes:

[0029] The winding with the largest response current difference among the groups of windings is determined as the winding that takes the shortest time to reach the preset current threshold.

[0030] In some embodiments, determining the initial position of the rotor based on the required time of each set of windings includes:

[0031] Among the groups of windings, the sector corresponding to the winding requiring the shortest time is the initial position of the rotor.

[0032] In some embodiments, before applying voltage pulses to each group of windings of the motor respectively, the method further includes:

[0033] Detect motor status;

[0034] Determining whether the motor is in a stationary state;

[0035] In response to the motor being in a stationary state, applying voltage pulses to each group of windings of the motor respectively;

[0036] In response to the motor being in a normal operating state, the step of applying voltage pulses to each group of windings of the motor is not performed.

[0037] In some embodiments, detecting the motor state includes:

[0038] Detect the voltage at each phase terminal of the motor;

[0039] Calculating the absolute values ​​of voltage differences between multiple groups of two-phase terminals based on the voltages at the respective phase terminals;

[0040] determining a maximum value among a plurality of absolute values ​​of voltage differences between the two phase terminals;

[0041] Accordingly, determining whether the motor state is a stationary state includes:

[0042] Determining whether a maximum value among the absolute values ​​of the voltage differences between the two phase terminals of the plurality of groups is greater than a preset difference threshold;

[0043] In response to the maximum value of the absolute value being greater than the preset difference threshold, determining that the motor state is a normal operating state;

[0044] In response to the maximum value of the absolute value being less than or equal to the preset difference threshold, it is determined that the motor state is a stationary state.

[0045] A device for detecting the position of a motor rotor, comprising:

[0046] a power module configured to provide voltage pulses;

[0047] A drive module is configured to respectively turn on each winding group of the motor;

[0048] A detection module, configured to detect the response current of each group of windings;

[0049] The control module is configured to execute the motor rotor position detection method described in any embodiment of the present application.

[0050] An electric tool comprises a motor and the device for detecting the position of the motor rotor as described in any embodiment of the present application.

[0051] The present invention is beneficial in that it applies voltage pulses to each set of motor windings separately, and determines the initial position of the rotor based on the time required for the response current generated by each set of windings in response to the voltage pulses to reach a preset current threshold. This avoids the problem of detection failure when the voltage difference value is extremely small when using the voltage difference method in related technologies, thereby improving the success rate of rotor position detection. In addition, driving the motor after the rotor position is detected can improve the success rate of starting the motor and reduce the starting current and time.

[0052] Another object of the present application is to provide an electric tool that can improve the efficiency of a sensorless brushless motor.

[0053] In order to achieve the above objectives, this application adopts the following technical solutions:

[0054] An electric tool comprising:

[0055] a brushless motor comprising a stator defining a plurality of phases, a rotor rotatable relative to the stator, and a plurality of power terminals electrically connected to the plurality of phases;

[0056] a driving module comprising a plurality of switches electrically connected between a power source and the plurality of power terminals, the driving module being configured to deliver power to the brushless motor;

[0057] a detection module configured to detect operating information of the brushless motor, wherein the operating information includes at least one of a rotational speed and a bus current;

[0058] a control module electrically connected to the drive module and the detection module to output a drive signal to at least one of the plurality of switches, thereby driving the brushless motor using square wave control on a plurality of sectors of rotation of the rotor, wherein the control module is configured to change a commutation point of the brushless motor according to the operating information.

[0059] In some embodiments, the control module is configured to:

[0060] Establishing the first correspondence between operating information and optimal commutation points;

[0061] Get operation information;

[0062] determining an optimal commutation point based on the first corresponding relationship and the operating information;

[0063] The commutation point of the brushless motor is changed based on the optimal commutation point.

[0064] In some embodiments, the first correspondence includes multiple sets of one-to-one corresponding operating information and optimal switching points; the control module is configured to:

[0065] Determining the operation information having the smallest absolute difference with the operation information in the first corresponding relationship;

[0066] The optimal commutation point corresponding to the operating information having the smallest absolute difference with the operating information in the first corresponding relationship is determined as the optimal commutation point.

[0067] In some embodiments, the plurality of operation information in the first corresponding relationship are arranged in sequence; and the control module is configured to:

[0068] Determine a middle value and an upper limit of the plurality of operation information in the first corresponding relationship;

[0069] Determining whether the operation information is between the intermediate value and the upper limit of the operation information;

[0070] In response to the operating information being between the intermediate value and the upper limit value of the operating information, updating the lower limit value of the operating information to the intermediate value;

[0071] In response to the operating information not being between the intermediate value and the upper limit value of the operating information, updating the upper limit value of the operating information to the intermediate value;

[0072] Determine whether the difference between the upper limit value of the operation information and the lower limit value of the operation information is greater than 1;

[0073] In response to a difference between the upper limit value of the operation information and the lower limit value of the operation information being greater than 1, performing a step of determining whether the operation information is between the intermediate value and the upper limit value of the operation information;

[0074] In response to the difference between the upper limit value of the operation information and the lower limit value of the operation information being no greater than 1, the operation information having the smallest absolute difference with the operation information is determined based on the upper limit value of the operation information, the lower limit value of the operation information and the operation information.

[0075] In some embodiments, the control module is configured to:

[0076] Determining whether the operation information is equal to at least one of the upper limit value of the operation information and the lower limit value of the operation information;

[0077] In response to the operation information being equal to at least one of the upper limit value of the operation information and the lower limit value of the operation information, determining the upper limit value of the operation information and / or the lower limit value of the operation information that are equal to the operation information as the operation information having the smallest absolute difference with the operation information;

[0078] In response to the operating information being not equal to the upper limit value of the operating information and the lower limit value of the operating information, the absolute value of the difference between the operating information and the upper limit value of the operating information and the lower limit value of the operating information is compared, and the operating information corresponding to the smaller absolute value of the difference is determined as the operating information having the smallest absolute value of the difference with the operating information.

[0079] In some embodiments, the control module is configured to:

[0080] Establish a test model for an inductive motor;

[0081] Obtaining an operating information curve of the brushless motor;

[0082] Adjusting the operating information curve of the inductive motor test model to the operating information curve of the brushless motor;

[0083] Starting a simulation test on the inductor motor test model;

[0084] Recording multiple sets of optimal commutation points and operating information of the sensor motor test model within a preset interval;

[0085] A plurality of groups of the optimal commutation points are associated with the operating information to form a first corresponding relationship between the operating information and the optimal commutation points.

[0086] In some embodiments, the first correspondence includes an operating information range, and the control module is configured to:

[0087] determining whether the operation information exceeds an operation information range;

[0088] In response to the operating information exceeding an operating information range, changing a commutation point of the brushless motor based on a preset commutation point;

[0089] In response to the operating information not exceeding the operating information range, the steps of determining an optimal commutation point based on the first correspondence and the operating information, and changing the commutation point of the brushless motor based on the optimal commutation point are performed.

[0090] In some embodiments, the control module is further configured to:

[0091] In each of the plurality of sectors in which the rotor rotates, an open-phase voltage of the brushless motor is monitored to detect a back electromotive force voltage of the brushless motor, and commutation of at least one phase is controlled based on the back electromotive force voltage and at least one commutation point.

[0092] In some embodiments, the control module is further configured to: in response to the back electromotive force voltage being greater than the commutation point, control commutation of the corresponding phase.

[0093] In some embodiments, the control module is configured to:

[0094] Obtaining the working status of the brushless motor;

[0095] Determining whether the brushless motor is in a normal operating state;

[0096] In response to the operating state of the brushless motor being a normal operating state, performing a step of changing a commutation point of the brushless motor according to the operating information;

[0097] In response to the operating state of the brushless motor being an abnormal operating state, the step of changing the commutation point of the brushless motor according to the operating information is not performed.

[0098] Another benefit of the present application is that by adjusting the commutation point of the brushless motor according to the operating information, the commutation point of the brushless motor can be made more in line with actual needs, thereby improving the efficiency of the sensorless brushless motor. BRIEF DESCRIPTION OF THE DRAWINGS

[0099] FIG1 is a circuit diagram of an electric tool according to an embodiment of the present application;

[0100] FIG2 is a circuit diagram of an electric tool according to another embodiment of the present application;

[0101] FIG3 is a pulse sequence diagram of an electric tool according to another embodiment of the present application;

[0102] FIG4 is a flow chart of a rotor position detection method according to an embodiment of the present application;

[0103] FIG5 is a flow chart of a rotor position detection method according to another embodiment of the present application;

[0104] FIG6 is a flow chart of a rotor position detection method according to another embodiment of the present application;

[0105] FIG7 is a flow chart of a rotor position detection method according to another embodiment of the present application;

[0106] FIG8 is a flow chart of a rotor position detection method according to another embodiment of the present application;

[0107] FIG9 is a flow chart of a rotor position detection method according to another embodiment of the present application;

[0108] FIG10 is a flow chart of a rotor position detection method according to another embodiment of the present application;

[0109] FIG11 is a control flow chart of commutation control of an electric tool according to an embodiment of the present application;

[0110] FIG12 is a control flow chart of commutation control of an electric tool according to another embodiment of the present application;

[0111] FIG13 is a control flow chart of commutation control of an electric tool according to another embodiment of the present application;

[0112] FIG14 is a control flow chart of commutation control of an electric tool according to another embodiment of the present application;

[0113] FIG15 is a control flow chart of commutation control of an electric tool according to another embodiment of the present application;

[0114] FIG16 is a control flow chart of commutation control of an electric tool according to another embodiment of the present application;

[0115] FIG17 is a control flow chart of commutation control of an electric tool according to another embodiment of the present application;

[0116] FIG18 is a control flow chart of commutation control of an electric tool according to another embodiment of the present application;

[0117] FIG19 is a control flow chart of commutation control of an electric tool according to another embodiment of the present application;

[0118] FIG20 is a control flow chart of commutation control of an electric tool according to another embodiment of the present application. DETAILED DESCRIPTION

[0119] Before any embodiments of the present application are explained in detail, it is to be understood that the application is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the foregoing drawings.

[0120] In this application, the terms "comprises," "includes," "has," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or apparatus that includes a list of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not preclude the presence of additional identical elements in the process, method, article, or apparatus that includes the element.

[0121] In this application, the term "and / or" describes a relationship between related objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. Additionally, the character " / " in this application generally indicates that the related objects are in an "and / or" relationship.

[0122] In this application, the terms "connect," "combine," "couple," and "install" may refer to direct connection, combination, coupling, or installation, or indirect connection, combination, coupling, or installation. For example, a direct connection refers to two parts or components being connected together without an intermediary, and an indirect connection refers to two parts or components being connected to at least one intermediary, with the two parts or components being connected via the intermediary. Furthermore, "connect" and "couple" are not limited to physical or mechanical connections or couplings and may include electrical connections or couplings.

[0123] In this application, it will be understood by those skilled in the art that relative terms (e.g., "about," "approximately," "substantially," etc.) used in conjunction with quantities or conditions include the values ​​and have the meaning indicated by the context. For example, the relative terms include at least the degree of error associated with the measurement of a specific value, the tolerance caused by manufacturing, assembly, use, etc. associated with a specific value. Such terms should also be considered to disclose a range defined by the absolute values ​​of the two endpoints. Relative terms may refer to plus or minus a certain percentage (e.g., 1%, 5%, 10% or more) of the indicated value. Numerical values ​​that do not use relative terms should also be disclosed as specific values ​​with tolerances. In addition, "substantially" may refer to plus or minus a certain degree (e.g., 1 degree, 5 degrees, 10 degrees or more) on the basis of the indicated angle when expressing a relative angular position relationship (e.g., substantially parallel, substantially perpendicular).

[0124] In this application, it will be understood by those skilled in the art that the function performed by an assembly can be performed by one assembly, multiple assemblies, one part, or multiple parts. Similarly, the function performed by a part can also be performed by one part, one assembly, or a combination of multiple parts.

[0125] In the present application, the terms "upper", "lower", "left", "right", "front", "back" and other directional words are described based on the orientation and positional relationship shown in the accompanying drawings, and should not be understood as limiting the embodiments of the present application. In addition, in the context, it is also necessary to understand that when it is mentioned that an element is connected to another element "upper" or "lower", it can not only be directly connected to the other element "upper" or "lower", but also be indirectly connected to the other element "upper" or "lower" through an intermediate element. It should also be understood that directional words such as upper side, lower side, left side, right side, front side, back side, etc. not only represent the positive orientation, but can also be understood as the lateral orientation. For example, below can include directly below, lower left, lower right, lower front and lower back, etc.

[0126] In this application, the terms "control module," "processor," "central processing unit," "CPU," and "MCU" are used interchangeably. Where a unit "control module," "processor," "central processing unit," "CPU," or "MCU" is used to perform a specific function, unless otherwise specified, these functions may be performed by a single unit or multiple units.

[0127] In this application, the terms "device", "module" or "unit" can be implemented in the form of hardware or software to achieve specific functions.

[0128] In this application, the terms "calculate", "judge", "control", "determine", "identify", etc. refer to the operations and processes of a computer system or similar electronic computing device (e.g., control module, processor, etc.).

[0129] One embodiment of the present application provides an electric tool. It is understandable that the electric tool can be a vegetation care tool, such as a lawn mower, a lawn mower, a pruner, a chain saw, etc. Alternatively, the electric tool can be a cleaning tool, such as a hair dryer, a snow blower, a cleaning machine, etc. Alternatively, the electric tool can also be a drilling tool, such as a drill, a screwdriver, a wrench, an electric hammer, etc. Alternatively, the electric tool can be a saw tool, such as a reciprocating saw, a jig saw, a circular saw, etc. Alternatively, the electric tool can be a bench tool, such as a table saw, a miter saw, a metal cutter, an electric milling machine, etc. Alternatively, the electric tool can be a grinding tool, such as an angle grinder, a sander, etc. The specific type of electric tool is not specifically limited here, but is only given as an example.

[0130] As shown in Figure 1, the power tool includes a power module 30. In this embodiment, the power module 30 is a DC power supply. The DC power supply is used to provide electrical energy to the power tool. In some embodiments, the power module 30 is used to provide voltage pulses. The DC power supply is a battery pack, and the battery pack cooperates with the corresponding power supply circuit to power the power tool. Those skilled in the art should understand that the power module 30 is not limited to the scenario of using a DC power supply, and can also be powered by AC power, AC power, and corresponding rectification, filtering and voltage regulation circuits to achieve power supply to the corresponding components in the machine. In this embodiment, the DC power supply is a battery pack, and the battery pack can specifically be a battery pack.

[0131] As shown in Figure 1, the power tool includes a motor 10, and in some embodiments, the motor 10 includes a brushless motor. The motor 10 includes a stator defining a plurality of phases, a rotor rotatable relative to the stator, and a plurality of power terminals electrically connected to the plurality of phases. In some embodiments, the brushless motor is a three-phase brushless motor, including a three-phase winding 11, the three-phase winding 11 including three phases A, B, and C, and the three-phase winding 11 is electronically commutated. In some embodiments, the three phases A, B, and C are star-connected, and in other embodiments, the three phases A, B, and C are delta-connected. However, it must be understood that other types of brushless motors are also within the scope of the present disclosure. The brushless motor may include fewer or more than three phases.

[0132] The power tool also includes a drive module 40 and a control module 20. The drive module 40 includes multiple switches electrically connected between the power module 30 and multiple power terminals. The drive module 40 supplies power to the brushless motor 10. In some embodiments, the drive module 40 is further configured to individually energize each winding group of the motor 10. The drive module 40 can achieve this by closing different switches. In some embodiments, the three phases A, B, and C are connected in a star configuration. The drive module 40 is further configured to individually energize each two-phase winding group of the motor 10. The two-phase windings include winding AB, winding BA, winding BC, winding CB, winding CA, and winding AC. In some embodiments, the three phases A, B, and C are connected in a delta configuration. The drive module 40 is further configured to individually energize each three-phase winding group of the motor 10.

[0133] In some embodiments, the drive module 40 is electrically connected to each winding of the motor 10 and is configured to transfer current from the battery pack to each winding to drive the motor 10 to rotate. In some embodiments, the motor 10 is a three-phase brushless motor including a three-phase winding 11, which includes phases A, B, and C. The drive module 40 is electrically connected to phases A, B, and C of the three-phase winding 11 and is configured to transfer current from the battery pack to the three-phase winding 11 to drive the motor 10 to rotate. In one embodiment, the plurality of switches includes switching elements Q1, Q2, Q3, Q4, Q5, and Q6. The gate terminal of each switching element is electrically connected to the control module 20 for receiving a control signal from the control module 20. The drain or source terminal of each switching element is connected to the three-phase winding 11 of the motor 10. The switching elements Q1-Q6 receive control signals from the control module 20 to change their respective conduction states, thereby changing the current applied by the battery pack to the three-phase winding 11 of the motor 10.

[0134] In one embodiment, the drains of switching elements Q1, Q3, and Q5 are electrically connected to the positive terminal of the battery pack, and the sources of switching elements Q6, Q4, and Q2 are electrically connected to the negative terminal of the battery pack. The drain of switching element Q6 is electrically connected to the source of switching element Q1, the drain of switching element Q4 is electrically connected to the source of switching element Q3, and the drain of switching element Q2 is electrically connected to the source of switching element Q5. The power terminal of winding A is electrically connected between the drain of switching element Q6 and the source of switching element Q1; the power terminal of winding B is electrically connected between the drain of switching element Q4 and the source of switching element Q3; and the power terminal of winding C is electrically connected between the drain of switching element Q2 and the source of switching element Q5.

[0135] Based on the above embodiment, as shown in FIG1 , the three phases A, B, and C of the three-phase winding 11 are star-connected. When switching elements Q1 and Q4 are on, winding AB is on; when switching elements Q3 and Q6 are on, winding BA is on; when switching elements Q1 and Q2 are on, winding AC is on; when switching elements Q5 and Q6 are on, winding CA is on; when switching elements Q3 and Q2 are on, winding BC is on; and when switching elements Q5 and Q4 are on, winding CB is on. Therefore, by controlling the conduction states of the switching elements, two different winding phases can be turned on. This embodiment illustrates how to control the conduction states of two different winding phases by controlling the conduction states of the switching elements. When the structure of the driver module 40 is different, the connection method between the driver module 40 and the three phases A, B, and C of the three-phase winding 11, as well as the control method of the control module 20, will also be different. These are not specifically limited here and can be adaptively adjusted according to actual needs.

[0136] In one embodiment, as shown in FIG2 , the three phases A, B, and C of the three-phase winding 11 are connected in a delta connection. In this embodiment, in different situations such as the switching elements Q1, Q5, and Q4 are all turned on, the switching elements Q3, Q6, and Q2 are all turned on, the switching elements Q1, Q3, and Q2 are all turned on, the switching elements Q5, Q6, and Q4 are all turned on, the switching elements Q3, Q5, and Q6 are all turned on, and the switching elements Q1, Q4, and Q2 are all turned on, although the three phases A, B, and C are all working, they correspond to different groups of windings, and different groups of windings will correspond to different sectors.

[0137] In some embodiments, the driver module 40 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.). It will be appreciated that the aforementioned switching elements may also be any other type of solid-state switches, such as insulated gate bipolar transistors (IGBTs), bipolar junction transistors (BJTs), etc.

[0138] In this embodiment, the control module 20 is used to control the motor 10. Specifically, the control module 20 is electrically connected to the drive module 40 to output drive signals to one or more of the multiple switches, thereby driving the brushless motor 10 using square wave control in multiple sectors of rotor rotation. In some embodiments, the control module 20 is disposed on a control circuit board, which includes a printed circuit board (PCB) and a flexible printed circuit (FPC). The control module 20 uses a dedicated control chip, such as a single-chip microcomputer or a microcontroller unit (MCU). The control module 20 specifically controls the on / off state of the switching elements in the drive module 40 through the control chip. In some embodiments, the control module 20 controls the ratio between the on-time and off-time of the driving switching elements based on a pulse width modulation (PWM) signal. It should be noted that the control chip can be integrated into the control module 20 or can be provided independently of the control module 20. The structural relationship between the control chip and the control module 20 is not limited in this embodiment.

[0139] As shown in FIG1 , the power tool further includes a detection module 50 for detecting operating information of the motor 10. In some embodiments, the operating information includes at least one of rotational speed and current. In some embodiments, the current includes at least one of bus current and phase current. The input of the detection module 50 is electrically connected to the motor 10, and the output of the detection module 50 is electrically connected to the control module 20, so that the control module 20 can obtain the operating information detected by the detection module 50.

[0140] In some embodiments, the detection module 50 is used to detect the current of the motor 10. The detection module 50 includes a current-sense resistor, a Hall current sensor, or a MOSFET (metal oxide semiconductor field effect transistor) on-resistance, thereby detecting one or more of the bus current and phase current of the motor 10. In some embodiments, the detection module 50 is used to detect the voltage of the motor 10. The detection module 50 includes one or more of an electromagnetic voltage transformer, a Hall voltage sensor, a voltage divider voltage sensor, an optical fiber voltage sensor, and a resistor divider, thereby detecting the voltage of the motor 10. In some embodiments, the detection module 50 is used to detect the speed of the motor 10. The detection module 50 includes one or more of a speed sensor, a tachometer, a Hall sensor, and a photoelectric sensor, thereby detecting the speed of the motor 10.

[0141] For the motor 10, different control methods are usually required to be executed when the motor 10 is in different states. Therefore, it is necessary to detect the motor state and perform corresponding control operations according to the motor state. In some embodiments, the control module 20 is used to detect the motor state. In some embodiments, the control module 20 is specifically used to: detect the voltage of each phase end of the motor 10; calculate the absolute value of the voltage difference between multiple groups of two-phase ends based on the voltage of each phase end; determine the maximum value among the absolute values ​​of the voltage difference between multiple groups of two-phase ends; determine whether the maximum value among the absolute values ​​of the voltage difference between multiple groups of two-phase ends is greater than a preset difference threshold; if the maximum value of the absolute value is greater than the preset difference threshold, determine that the motor state is a normal operating state; if the maximum value of the absolute value is less than or equal to the preset difference threshold, determine that the motor state is a stationary state.

[0142] In this embodiment, the motor 10 is a three-phase brushless motor including a three-phase winding 11, which includes three phases A, B, and C. Detecting the voltage at each phase end of the motor 10 includes: detecting the three-phase terminal voltages VA, VB, and VC of the motor 10, i.e., the terminal voltages of the three phases A, B, and C of the three-phase winding 11; calculating the absolute values ​​of the voltage differences between multiple groups of two-phase ends based on the voltages at each phase end, including: calculating the absolute values ​​of the voltage differences between three groups of two-phase ends, i.e., |VA-VB|, |VA-VC|, and |VB-VC|; and determining the maximum value among the absolute values ​​of the voltage differences between the multiple groups of two-phase ends is determining the maximum value among |VA-VB|, |VA-VC|, and |VB-VC|. In this way, the motor state can be easily determined.

[0143] When the motor 10 is started in a stationary state, in order to reduce the starting current of the motor 10, increase the starting torque, prevent the motor 10 from reversing, and improve the success rate of starting, the control module 20 needs to monitor the initial position of the rotor. The power module 30, the drive module 40, the detection module 50 and the control module 20 can be used as a rotor position detection device 1 of a motor 10 to implement a rotor position detection method of a motor 10 in any embodiment of the present application. The power module 30 can provide a voltage pulse as a power supply, the drive module 40 can respectively turn on each group of windings of the motor 10, and the detection module 50 can detect the response current of each group of windings. The response current is the current value generated by the windings turned on by the motor 10 based on the voltage pulse. The control module 20 is used to specifically execute a rotor position detection method of a motor 10 in any embodiment of the present application. The specific method of detecting the initial position of the rotor is described in detail below.

[0144] In some embodiments, the control module 20 is configured to: apply voltage pulses to each group of windings of the motor 10 respectively, obtain the response current generated by each group of windings based on the voltage pulses, and the response current includes at least one of the bus current and the phase current; based on the response current of each group of windings, determine the time required for each group of windings to reach a preset current threshold; and determine the initial position of the rotor based on the required time for each group of windings.

[0145] Separately applying voltage pulses to each winding group of the motor 10 means that voltage pulses are applied to one winding group at a time. After testing one winding group, voltage pulses are applied to another winding group, and this process continues until voltage pulses are applied to all windings for testing. In this embodiment, each winding group includes two-phase windings, each of which includes windings AB, BA, BC, CB, CA, and AC. During testing, voltage pulses are first applied to one winding group. After testing one winding group, voltage pulses are applied to another winding group, and this process continues until voltage pulses are applied to all windings AB, BA, BC, CB, CA, and AC for testing.

[0146] When a voltage pulse is applied to a winding, it generates a corresponding current. Bus current refers to the current flowing through the busbars of motor 10 during operation, while phase current refers to the current flowing through the windings of motor 10. When a voltage pulse is applied to different windings, the corresponding bus current and phase current may be the same or different. Therefore, by testing motor 10, the response current generated by each winding in response to the voltage pulse can be determined.

[0147] The time required to reach the preset current threshold refers to the time from the start of the voltage pulse to the response current reaching the preset current threshold for a group of windings currently receiving a voltage pulse. The preset current threshold will vary depending on the type of response current, and the specific value of the preset current threshold is not specifically limited here.

[0148] The position of the rotor affects the time it takes for the winding to reach a preset current threshold after a voltage pulse is applied, so the initial position of the rotor can be determined based on the time required for each group of windings.

[0149] In the related art, the rotor position is usually detected by the voltage difference method. The voltage difference method refers to detecting the voltage difference of the phase terminal voltage when a voltage pulse is applied to reflect the current size in the circuit, thereby detecting the rotor position. However, when the motor 10 is started from a stationary state, or when the inductance is too large, the induced electromotive force is small, the voltage difference is small, and the detection failure rate is high. The problem of high detection failure rate also exists in high-voltage brushless motors. This solution applies a voltage pulse to each group of windings of the motor 10 separately, and determines the initial position of the rotor based on the time required for the response current generated by each group of windings based on the voltage pulse to reach a preset current threshold. This avoids the problem of easy detection failure when the voltage difference value is extremely small when applying the voltage difference method, and improves the success rate of rotor position detection. In addition, driving the motor 10 after detecting the rotor position can improve the success rate of starting the motor 10 and reduce the starting current and time.

[0150] In some embodiments, the control module 20 is configured to determine the required time as the duration of applying the voltage pulse to each winding group when the response current of each winding group reaches a preset current threshold. Specifically, each winding group is sequentially turned on, and the voltage pulse is continuously applied to the turned-on winding until the response current reaches the preset current threshold. At this point, the duration of applying the voltage pulse to the winding is the required time.

[0151] In a specific embodiment, as shown in Figure 1, when the three phases A, B, and C are connected in a star configuration, switching elements Q1 and Q4 are first turned on. At this time, winding AB is turned on and a voltage pulse is applied. The response current generated by winding AB based on the voltage pulse is detected. When the response current reaches a preset current threshold, the time when winding AB is subjected to the voltage pulse is recorded as the time required for winding AB to reach the preset current threshold. Then, switching elements Q3 and Q6 are turned on. At this time, winding BA is turned on and a voltage pulse is applied. The time required for winding BA to reach the preset current threshold is calculated according to the above method. Similarly, switching elements Q1 and Q2, switching elements Q5 and Q6, switching elements Q3 and Q2, and switching elements Q5 and Q4 are turned on in sequence. At this time, windings AC, CA, BC, and CB are turned on in sequence and a voltage pulse is applied. The time when the voltage pulse is applied to each pair of windings when the response current of each pair of windings reaches the preset current threshold is compared, thereby determining the rotor position.

[0152] In a specific embodiment, as shown in FIG2 , when the three phases A, B, and C are angle-connected, switching elements Q1, Q5, and Q4 are first turned on to detect the response current generated by the voltage pulse of the winding group. When the response current reaches a preset current threshold, the time the voltage pulse is applied to the winding group is recorded as the time required for the winding group to reach the preset current threshold. Similarly, switching elements Q3, Q6, and Q2, switching elements Q1, Q3, and Q2, switching elements Q5, Q6, and Q4, switching elements Q3, Q5, and Q6, and switching elements Q1, Q4, and Q2 are sequentially turned on. At this point, each winding group is sequentially turned on and a voltage pulse is applied. The time the voltage pulse is applied to each winding group when the response current of each winding group reaches the preset current threshold is compared, thereby determining the rotor position.

[0153] In some embodiments, the control module 20 is configured to: apply a voltage pulse to each winding group of the motor 10 for a preset on-time; obtain a response current generated by each winding group in response to the voltage pulse, the response current including at least one of a bus current and a phase current; determine a maximum value of the response current of each winding group within the preset on-time; determine a current growth rate based on the ratio of the maximum value of the response current of each winding group to the preset on-time; and calculate the time required for the response current to reach a preset current threshold based on the current growth rate of each winding group.

[0154] The preset on-time refers to the time during which a voltage pulse is applied to each winding group. Therefore, each winding group receives a voltage pulse for the same duration, but the maximum response current of each winding group may be different. Since the response current continuously increases when the voltage pulse is applied, the response current at the last time node of the preset on-time is usually the maximum response current. Therefore, the current growth rate of the corresponding winding can be determined based on the ratio of the maximum response current to the preset on-time. Assuming K is the current growth rate, the preset on-time is T, and the maximum response current within the preset on-time is I, the current growth rate can be calculated using the following formula: K = T / I. After obtaining the current growth rate of the winding group, the time required for the winding group to reach the preset current threshold can be calculated: t = T / I*Ip, where Ip is the preset current threshold. By comparing the time required for each winding group to reach the preset current threshold, the rotor position can be determined.

[0155] In some embodiments, the control module 20 is configured to: set two current sampling points, where the current sampling points are within the time range of applying voltage pulses to each group of windings; apply voltage pulses to each group of windings of the motor 10; obtain the response current generated by each group of windings based on the voltage pulses; determine the response current difference between the response currents corresponding to the two current sampling points; and determine the time required for each group of windings to reach a preset current threshold based on the response current difference.

[0156] Among them, the current sampling point refers to the time point of sampling the response current. Since the time intervals between the two current sampling points are consistent, the response current difference can reflect the current increase of each group of windings in the same time, and thus the time required for each group of windings to reach the preset current threshold can be inferred.

[0157] In some embodiments, the control module 20 is configured to determine, among each group of windings, the winding with the largest response current difference as the winding requiring the shortest time to reach the preset current threshold. The largest current difference indicates that the winding has the largest increase in response current within the same time period, indicating that the winding in this group can reach the preset current threshold in the fastest time. Therefore, the winding with the largest response current difference can be determined as the winding requiring the shortest time to reach the preset current threshold.

[0158] In some embodiments, the control module 20 is configured such that, among each winding group, the sector corresponding to the winding requiring the shortest time is the initial position of the rotor. Assuming no rotor influence, the current feedback of each winding group should be equal. Since the rotor's magnetic effect affects current variation, the current change rate in the direction aligned with the south pole is greater, while the current change rate in the direction aligned with the north pole is less. Therefore, the sector corresponding to the winding requiring the shortest time to reach the preset time threshold is the initial position of the rotor.

[0159] The following is an example of a specific embodiment to illustrate the principle of this solution. As shown in FIG3 , this embodiment takes the three-phase star connection of A, B, and C, the initial position of the rotor in the sector corresponding to the AB winding, and the response current as the bus current as an example. When the initial position of the rotor is in the sector corresponding to the AB winding, the current slope of the bus current of the AB winding is the largest, and the voltage difference within the same time is the largest, so the time required to reach the preset current threshold is the shortest. Therefore, the sector corresponding to the winding with the shortest time required to reach the preset time threshold can be determined as the initial position of the rotor.

[0160] In some embodiments, as shown in FIG1 , after determining the initial position of the rotor, the control module 20 can activate the corresponding switching element to drive the motor 10 according to the rotor position. In the subsequent driving process, the control module 20 updates the rotor position for commutation drive by observing the change in the floating phase terminal voltage.

[0161] When the motor 10 is in normal operation, the control module 20 can directly determine the rotor position based on the magnitude relationship of the three-phase terminal voltages, that is, determine the rotor position based on the voltage difference method in the relevant technology. In addition, when the motor 10 is operating normally, the control module 20 needs to control the motor 10 to perform phase change. The phase change of the motor 10 refers to the process of changing the direction and magnitude of the current of the motor by changing the wiring method of the motor winding or controlling the position of the inductor contacted by the brush during the operation of the motor 10, thereby changing the direction and magnitude of the magnetic field inside the motor 10, generating a rotational torque, and driving the motor 10 to rotate. The specific method of phase change control of the motor 10 in this embodiment is specifically described below. In this embodiment, the motor 10 can be specifically a brushless motor. The brushless motor 10 will be used to replace the motor 10 below, but it cannot be used as a limitation to this application.

[0162] Conventional brushless motors 10 typically operate with fixed commutation points, resulting in low efficiency. To improve the efficiency of the brushless motor 10, in some embodiments, the control module 20 is configured to change the commutation points of the brushless motor 10 based on operating information, including at least one of the rotational speed and bus current. By adjusting the commutation points of the brushless motor 10 based on operating information, this solution can better meet actual requirements and improve the efficiency of the brushless motor 10.

[0163] In some embodiments, the control module 20 is specifically configured to: establish a first correspondence between operating information and the optimal commutation point; obtain operating information of the brushless motor 10; determine the optimal commutation point based on the first correspondence and the operating information; and change the commutation point of the brushless motor 10 based on the optimal commutation point.

[0164] The optimal commutation point refers to the commutation point that is closest to the optimal commutation timing of the brushless motor 10. The first correspondence relationship indicates a one-to-one correspondence between the operating information and the optimal commutation point through a certain relationship, i.e., each piece of operating information corresponds to an optimal commutation point. The acquired operating information is the actual operating information of the brushless motor 10 at that moment, and the first correspondence relationship reflects the correlation between the operating information and the optimal commutation point. Therefore, the optimal commutation point corresponding to the operating information can be determined based on the first correspondence relationship. This optimal commutation point is the commutation point of the brushless motor 10 that is closest to the optimal commutation timing at that moment. The commutation point of the brushless motor 10 is then changed based on the optimal commutation point. Therefore, the efficiency of the brushless motor 10 can be improved by dynamically modifying the commutation point.

[0165] In some embodiments, the first correspondence includes multiple groups of one-to-one corresponding operating information and optimal switching points; the control module 20 is specifically configured to: determine the operating information with the smallest absolute difference with the operating information in the first correspondence; and determine the optimal switching point corresponding to the operating information with the smallest absolute difference with the operating information in the first correspondence as the optimal switching point.

[0166] Among them, since the first correspondence does not cover all the operating information, the operating information of the brushless motor 10 at this time may have the same value in the first correspondence, or may not have the same value in the first correspondence. At this time, the operating information with the smallest absolute value of difference from the operating information in the first correspondence is closest to the current actual situation of the brushless motor 10. By determining the best commutation point corresponding to the operating information with the smallest absolute value of difference from the operating information in the first correspondence as the best commutation point, the commutation point of the brushless motor 10 can be adjusted to the best commutation point closest to the actual situation at this time, thereby effectively improving the efficiency of the brushless motor 10.

[0167] In some embodiments, the first correspondence relationship may be expressed in the form of an array. The array may specifically be a sequential array. In other embodiments, the first correspondence relationship may be expressed in the form of a table. The form of expression of the first correspondence relationship is not specifically limited herein and is merely an example.

[0168] In some embodiments, the multiple pieces of operation information in the first corresponding relationship are arranged in sequence. There are many ways to arrange the sequence, for example, from large to small or from small to large, which is not limited here.

[0169] The control module 20 is specifically configured to: determine the middle value and the upper limit value of the operation information of the plurality of operation information in the first corresponding relationship. Determine whether the operation information is between the middle value and the upper limit value of the operation information. If the operation information is between the middle value and the upper limit value of the operation information, update the lower limit value of the operation information to the middle value. If the operation information is not between the middle value and the upper limit value of the operation information, update the upper limit value of the operation information to the middle value. Determine whether the difference between the upper limit value of the operation information and the lower limit value of the operation information is greater than 1. If the difference between the upper limit value of the operation information and the lower limit value of the operation information is greater than 1, execute the step of determining whether the operation information is between the middle value and the upper limit value of the operation information. If the difference between the upper limit value of the operation information and the lower limit value of the operation information is not greater than 1, determine the operation information with the smallest absolute value of the difference with the operation information based on the upper limit value of the operation information, the lower limit value of the operation information and the operation information.

[0170] The upper limit of the operating information refers to the maximum value of the multiple operating information in the first corresponding relationship, and the middle value of the operating information refers to the median of the multiple operating information in the first corresponding relationship. The lower limit of the operating information refers to the minimum value of the multiple operating information in the first corresponding relationship. By comparing the middle value, the operating information, and the upper limit of the operating information in the above manner, and dynamically adjusting one of the upper limit and lower limit of the operating information, it is possible to more quickly find the operating information with the smallest absolute difference from the operating information, thereby improving the efficiency of dynamically adjusting the commutation point.

[0171] In some embodiments, the control module 20 may also determine whether the operating information is between the intermediate value and the lower limit value of the operating information. If the operating information is between the intermediate value and the lower limit value of the operating information, the upper limit value of the operating information is updated to the intermediate value. If the operating information is not between the intermediate value and the lower limit value of the operating information, the lower limit value of the operating information is updated to the intermediate value. Then, the step of determining whether the difference between the upper limit value of the operating information and the lower limit value of the operating information is greater than 1 is performed. By comparing the intermediate value, the operating information, and the lower limit value of the operating information in this way, it is also possible to dynamically adjust one of the upper limit value of the operating information and the lower limit value of the operating information, thereby quickly finding the operating information with the smallest absolute difference with the operating information, thereby improving the efficiency of dynamically adjusting the commutation point.

[0172] In some embodiments, the control module 20 is specifically configured to: determine whether the operating information is equal to one or more of the upper limit value of the operating information and the lower limit value of the operating information; if so, determine the upper limit value of the operating information and / or the lower limit value of the operating information that are equal to the operating information as the operating information with the smallest absolute value of the difference with the operating information; if not, compare the absolute value of the difference between the operating information and the upper limit value of the operating information and the lower limit value of the operating information, and determine the operating information corresponding to the smaller absolute value of the difference as the operating information with the smallest absolute value of the difference with the operating information.

[0173] When the operating information is equal to one or more of the upper and lower bounds of the operating information, it indicates that the same data as the operating information exists in the first correspondence. Therefore, the corresponding optimal switching point can be directly indexed in the first correspondence based on the operating information. When the operating information is not equal to one or more of the upper and lower bounds of the operating information, it indicates that the same data as the operating information does not exist in the first correspondence. Therefore, the corresponding optimal switching point is indexed based on the data closest to the operating information in the first correspondence. This method allows for rapid acquisition of optimal operating information for indexing the optimal switching point in various situations, thereby obtaining the corresponding optimal switching point.

[0174] In some embodiments, the control module 20 is specifically configured to: establish an inductive motor test model; obtain an operating information curve of the brushless motor 10; adjust the operating information curve of the inductive motor test model to the operating information curve of the brushless motor 10; start a simulation test on the inductive motor test model; record multiple groups of optimal commutation points and operating information of the inductive motor test model within a preset interval time; associate multiple groups of optimal commutation points with operating information to form a first correspondence between the operating information and the optimal commutation points.

[0175] Among them, simulation software can be used to establish an inductive motor test model. In some embodiments, the inductive motor model can be used as a reference object through Matlab simulation to test the optimal commutation point at different speeds. The operating information curve of the brushless motor 10 refers to the actual operating information curve of the brushless motor 10 that needs to be commutated. By debugging the operating information curve of the inductive motor test model to be consistent with the brushless motor 10, the changes in the optimal commutation point of the inductive motor test model are recorded when the test is started, and a set of data is recorded at every preset interval. The first correspondence between the operating information and the optimal commutation point can be formed by recording multiple sets of data. Since the inductive motor can achieve a fixed 30° advance commutation, this commutation method is closest to the optimal commutation timing, so the accuracy of the optimal commutation point obtained by testing the inductive motor test model is relatively high.

[0176] In some embodiments, the operating information curve includes a speed curve. In this case, the speed curve of the inductive motor test model only needs to be adjusted to be consistent with the speed curve of the brushless motor 10. In some embodiments, the operating information curve includes a bus current curve. In this case, the bus current curve of the inductive motor test model only needs to be adjusted to be consistent with the bus current curve of the brushless motor 10.

[0177] The shorter the preset interval, the more data is recorded within the same test period, resulting in a higher precision of the first correspondence. The longer the preset interval, the less data is recorded within the same test period, resulting in a lower precision of the first correspondence. Therefore, the preset interval can be set based on different machine operating conditions and is not specifically limited herein. In some embodiments, the preset interval can be 0.1 N*M. In other embodiments, the preset interval can also be other values.

[0178] In some embodiments, the first correspondence includes an operating information range, and the control module 20 is specifically configured to: determine whether the operating information exceeds the operating information range; if so, change the commutation point of the brushless motor 10 based on the preset commutation point; if not, execute the steps of determining the optimal commutation point based on the first correspondence and the operating information, and changing the commutation point of the brushless motor 10 based on the optimal commutation point.

[0179] The operating information range refers to the range of the operating information recorded in the first correspondence. Since the data recorded in the first correspondence is limited, the operating information of the brushless motor 10 currently undergoing commutation control may exceed the operating information range. The preset commutation point refers to a fixed commutation point preset in advance. By determining the optimal commutation point and then commutating according to the first correspondence only when the operating information does not exceed the operating information range, and then changing the commutation point of the brushless motor 10 based on the preset commutation point when the operating information exceeds the operating information range, it is possible to match the brushless motor 10 with the optimal commutation point in different situations.

[0180] In some embodiments, the preset commutation points include a first preset commutation point and a second preset commutation point, and the operating information range includes an upper limit value of the operating information and a lower limit value of the operating information. When the operating information is greater than the upper limit value of the operating information, the commutation point of the brushless motor 10 is changed based on the first preset commutation point. When the operating information is less than the lower limit value of the operating information, the commutation point of the brushless motor 10 is changed based on the second preset commutation point.

[0181] In some embodiments, the control module 20 is further configured to monitor the open-phase voltage of the brushless motor 10 within each of the multiple sectors of rotor rotation to detect the back EMF voltage of the brushless motor 10, and control the commutation of at least one phase based on the back EMF voltage and at least one commutation point. When the brushless motor 10 is operating, when there is a conductive loop in the motor winding of the brushless motor 10, a self-inductance potential, also known as back EMF, is generated through this conductive loop. The open-phase voltage refers to the voltage directly applied to the motor winding. Therefore, there is a certain relationship between the back EMF voltage and the open-phase voltage. Therefore, the back EMF voltage of the brushless motor 10 can be determined based on the open-phase voltage of the brushless motor 10. Since the commutation point is dynamically adjusted based on the operating information of the brushless motor 10, controlling the commutation of at least one phase based on the back EMF voltage and at least one commutation point can improve the efficiency of the brushless motor 10.

[0182] In some embodiments, the control module 20 is further configured to control the commutation of the corresponding phase when the back electromotive force voltage is greater than the commutation point.

[0183] An embodiment of the present application provides a rotor position detection method, which is executed by the control module in the above embodiment, as shown in FIG4 , and specifically includes the following steps:

[0184] S110 , applying voltage pulses to each winding group of the motor respectively.

[0185] S120. Obtain a response current generated by each group of windings based on the voltage pulse, where the response current includes at least one of a bus current and a phase current.

[0186] S130. Determine, based on the response current of each group of windings, the time required for each group of windings to reach a preset current threshold.

[0187] S140. Determine an initial position of the rotor based on the required time of each group of windings.

[0188] Another embodiment of the present application provides a rotor position detection method, which is executed by the control module in the above embodiment, as shown in FIG5 , and specifically includes the following steps:

[0189] S210 , applying voltage pulses to each winding group of the motor respectively.

[0190] S220. Obtain a response current generated by each group of windings based on the voltage pulse, where the response current includes at least one of a bus current and a phase current.

[0191] S230: When the response current of each group of windings reaches a preset current threshold, the time for applying the voltage pulse to each group of windings is determined as the required time.

[0192] S240: Determine an initial position of the rotor based on the time required for each group of windings.

[0193] Another embodiment of the present application provides a rotor position detection method, which is executed by the control module in the above embodiment, as shown in FIG6 , and specifically includes the following steps:

[0194] S310 , applying voltage pulses to each winding group of the motor for a preset conduction time.

[0195] S320. Obtain a response current generated by each group of windings based on the voltage pulse, where the response current includes at least one of a bus current and a phase current.

[0196] S330: Determine the maximum value of the response current of each winding group within the preset conduction time.

[0197] S340: Determine a current growth rate based on a ratio of the maximum value of the response current of each group of windings to the preset conduction time.

[0198] S350. Calculate the time required for the response current to reach a preset current threshold based on the current growth rate of each group of windings.

[0199] S360: Determine an initial position of the rotor based on the time required for each group of windings.

[0200] Another embodiment of the present application provides a rotor position detection method, which is executed by the control module in the above embodiment, as shown in FIG7 , specifically comprising the following steps:

[0201] S410 , setting two current sampling points, where the current sampling points are located within a time range of applying voltage pulses to each group of windings.

[0202] S420 , applying voltage pulses to each winding group of the motor respectively.

[0203] S430. Obtain a response current generated by each group of windings based on the voltage pulse, where the response current includes at least one of a bus current and a phase current.

[0204] S440: Determine a response current difference between the response currents corresponding to the two current sampling points.

[0205] S450: Determine the time required for each group of windings to reach a preset current threshold based on the response current difference.

[0206] S460: Determine an initial position of the rotor based on the time required for each group of windings.

[0207] Another embodiment of the present application provides a rotor position detection method, which is executed by the control module in the above embodiment, as shown in FIG8 , specifically comprising the following steps:

[0208] S510 , setting two current sampling points, where the current sampling points are located within a time range when voltage pulses are applied to each group of windings.

[0209] S520 , applying voltage pulses to each winding group of the motor respectively.

[0210] S530. Obtain a response current generated by each group of windings based on the voltage pulse, where the response current includes at least one of a bus current and a phase current.

[0211] S540: Determine a response current difference between the response currents corresponding to the two current sampling points.

[0212] S550: Determine, among the groups of windings, the winding with the largest response current difference as the winding requiring the shortest time to reach the preset current threshold.

[0213] S560: Determine an initial position of the rotor based on the time required for each group of windings.

[0214] Another embodiment of the present application provides a rotor position detection method, which is executed by the control module in the above embodiment, as shown in FIG9 , specifically comprising the following steps:

[0215] S610 , applying voltage pulses to each winding group of the motor respectively.

[0216] S620. Obtain a response current generated by each group of windings based on the voltage pulse, where the response current includes at least one of a bus current and a phase current.

[0217] S630: Determine, based on the response current of each group of windings, the time required for each group of windings to reach a preset current threshold.

[0218] S640: Determine the sector corresponding to the winding with the shortest required time among the groups of windings as the initial position of the rotor.

[0219] Another embodiment of the present application provides a rotor position detection method, which is executed by the control module in the above embodiment, as shown in FIG10 , and specifically includes the following steps:

[0220] S710: Detect the motor status.

[0221] S720: Determine whether the motor is in a stationary state.

[0222] If the motor is in a stationary state, step S610 is executed; if the motor is in a normal operating state, step S610 is not executed.

[0223] S730: Apply voltage pulses to each winding group of the motor respectively.

[0224] S740. Obtain a response current generated by each group of windings based on the voltage pulse, where the response current includes at least one of a bus current and a phase current.

[0225] S750: Determine, based on the response current of each group of windings, the time required for each group of windings to reach a preset current threshold.

[0226] S760: Determine the sector corresponding to the winding with the shortest required time among the groups of windings as the initial position of the rotor.

[0227] Referring to the control flow chart of the commutation control of the electric tool in the above embodiment shown in FIG11 , the control flow chart specifically includes the following steps:

[0228] S810: Obtain operation information of the brushless motor.

[0229] S820: Change the commutation point of the brushless motor according to the operating information.

[0230] Referring to the control flow chart of the commutation control of the electric tool in the above embodiment shown in FIG12 , the control flow chart specifically includes the following steps:

[0231] S910: Establish a first correspondence between operation information and an optimal commutation point.

[0232] S920: Acquire operating information of the brushless motor.

[0233] S930: Determine an optimal commutation point based on the first corresponding relationship and the operating information.

[0234] S940: Change the commutation point of the brushless motor based on the optimal commutation point.

[0235] In some embodiments, as shown in FIG13 , establishing a first correspondence between the operating information and the optimal switching point specifically includes the following steps:

[0236] S911. Establish a test model for an inductive motor.

[0237] S912: Obtain an operating information curve of the brushless motor.

[0238] S913: Adjust the operating information curve of the inductive motor test model to the operating information curve of the brushless motor.

[0239] S914: Start a simulation test on the inductor motor test model.

[0240] S915 , recording multiple groups of optimal commutation points and operating information of the inductive motor test model within a preset interval.

[0241] S916: Associating multiple groups of the optimal commutation points with the operating information to form a first correspondence between the operating information and the optimal commutation points.

[0242] Referring to the control flow chart of the commutation control of the electric tool in the above embodiment shown in FIG14 , the control flow chart specifically includes the following steps:

[0243] S1010: Establish a first correspondence between operating information and optimal switching points, where the first correspondence includes multiple sets of one-to-one corresponding operating information and optimal switching points.

[0244] S1020: Obtain operating information of the brushless motor.

[0245] S1030: Determine the operation information having the smallest absolute difference with the operation information in the first corresponding relationship.

[0246] S1040: Determine the optimal commutation point corresponding to the operating information having the smallest absolute difference with the operating information in the first corresponding relationship as the optimal commutation point.

[0247] S1050: Change the commutation point of the brushless motor based on the optimal commutation point.

[0248] Referring to the control flow chart of the commutation control of the electric tool in the above embodiment shown in FIG15 , the control flow chart specifically includes the following steps:

[0249] S1110: Establish a first correspondence between operating information and optimal switching points, where the first correspondence includes multiple sets of one-to-one corresponding operating information and optimal switching points, and the multiple operating information in the first correspondence are arranged in sequence.

[0250] S1120: Obtain operating information of the brushless motor.

[0251] S1130: Determine the middle value and the upper limit of the operation information of the plurality of operation information in the first corresponding relationship.

[0252] S1140. Determine whether the operation information is between the middle value and the upper limit value of the operation information.

[0253] If the operation information is between the middle value and the upper limit value of the operation information, execute step S1150; if the operation information is not between the middle value and the upper limit value of the operation information, execute step S1160.

[0254] S1150. Update the lower limit value of the operation information to the intermediate value.

[0255] S1160. Update the upper limit value of the operation information to the middle value.

[0256] S1170. Determine whether the difference between the upper limit value of the operation information and the lower limit value of the operation information is greater than 1.

[0257] If the difference between the upper limit value of the operation information and the lower limit value of the operation information is greater than 1, execute step S1140; if the difference between the upper limit value of the operation information and the lower limit value of the operation information is not greater than 1, execute step S1180.

[0258] S1180. Determine, based on the upper limit value of the operation information, the lower limit value of the operation information, and the operation information, the operation information having the smallest absolute difference from the operation information.

[0259] S1190: Determine the optimal commutation point corresponding to the operating information having the smallest absolute difference with the operating information in the first corresponding relationship as the optimal commutation point.

[0260] S11100. Change the commutation point of the brushless motor based on the optimal commutation point.

[0261] Referring to FIG. 16 , a control flow chart for the commutation control of the electric tool in the above embodiment specifically includes the following steps:

[0262] S1210: Establish a first correspondence between operating information and optimal switching points, where the first correspondence includes multiple sets of one-to-one corresponding operating information and optimal switching points, and the multiple operating information in the first correspondence are arranged in sequence.

[0263] S1220: Obtain operating information of the brushless motor.

[0264] S1230: Determine the middle value and the upper limit of the operation information of the plurality of operation information in the first corresponding relationship.

[0265] S1240. Determine whether the operation information is between the middle value and the upper limit value of the operation information.

[0266] If the operation information is between the middle value and the upper limit value of the operation information, execute step S1250; if the operation information is not between the middle value and the upper limit value of the operation information, execute step S1260.

[0267] S1250. Update the lower limit value of the operation information to the intermediate value.

[0268] S1260. Update the upper limit value of the operation information to the middle value.

[0269] S1270. Determine whether the difference between the upper limit value of the operation information and the lower limit value of the operation information is greater than 1.

[0270] If the difference between the upper limit value of the operation information and the lower limit value of the operation information is greater than 1, execute step S1240; if the difference between the upper limit value of the operation information and the lower limit value of the operation information is not greater than 1, execute step S1280.

[0271] S1280. Determine whether the operation information is equal to one or more of the upper limit value of the operation information and the lower limit value of the operation information.

[0272] If the operation information is equal to one or more of the upper limit value of the operation information and the lower limit value of the operation information, execute step S1290; if the operation information is not equal to one or more of the upper limit value of the operation information and the lower limit value of the operation information, execute step S12100.

[0273] S1290. Determine the upper limit value of the operation information and / or the lower limit value of the operation information that is equal to the operation information as the operation information having the smallest absolute value of difference with the operation information.

[0274] S12100. Compare the absolute values ​​of the differences between the operation information and the upper limit value of the operation information and the lower limit value of the operation information, and determine the operation information corresponding to the smaller absolute value of the difference as the operation information having the smallest absolute value of the difference with the operation information.

[0275] S12110. Determine the optimal commutation point corresponding to the operating information having the smallest absolute difference with the operating information in the first corresponding relationship as the optimal commutation point.

[0276] S12120. Change the commutation point of the brushless motor based on the optimal commutation point.

[0277] Referring to FIG. 17 , a control flow chart for the commutation control of the electric tool in the above embodiment specifically includes the following steps:

[0278] S1310: Establish a first correspondence between operating information and an optimal switching point, where the first correspondence includes an operating information range.

[0279] S1320: Obtain operating information of the brushless motor.

[0280] S1330: Determine whether the operation information exceeds the operation information range.

[0281] If so, execute step S1340; if not, execute steps S1350 and S1360 sequentially.

[0282] S1340: Change the commutation point of the brushless motor based on a preset commutation point.

[0283] S1350: Determine an optimal commutation point based on the first corresponding relationship and the operating information.

[0284] S1360. Change the commutation point of the brushless motor based on the optimal commutation point.

[0285] Referring to the control flow chart of the commutation control of the electric tool in the above embodiment shown in FIG18 , the control flow chart specifically includes the following steps:

[0286] S1410: Obtain operation information of the brushless motor.

[0287] S1420: Change the commutation point of the brushless motor according to the operating information.

[0288] S1430. In each of the multiple sectors in which the rotor rotates, monitor the open-phase voltage of the brushless motor to detect the back electromotive force voltage of the brushless motor, and control the commutation of at least one phase based on the back electromotive force voltage and at least one commutation point.

[0289] Referring to the control flow chart of the commutation control of the electric tool in the above embodiment shown in FIG19 , the control flow chart specifically includes the following steps:

[0290] S1510: Obtain operation information of the brushless motor.

[0291] S1520: Change the commutation point of the brushless motor according to the operating information.

[0292] S1530. In each of the multiple sectors in which the rotor rotates, monitor the open-phase voltage of the brushless motor to detect the back electromotive force voltage of the brushless motor, and control the commutation of the corresponding phase when the back electromotive force voltage is greater than the commutation point.

[0293] Referring to FIG. 20 , a control flow chart for the commutation control of the electric tool in the above embodiment is shown, which specifically includes the following steps:

[0294] S1610: Obtain the working status of the brushless motor.

[0295] S1620: Determine whether the brushless motor is in a normal operating state.

[0296] If so, execute steps S1630 and S1640 sequentially; if not, do not execute steps S1630 and S1640 and execute step S1620.

[0297] S1630: Obtain operating information of the brushless motor.

[0298] S1640: Change the commutation point of the brushless motor according to the operating information.

[0299] S1650. In each of the multiple sectors in which the rotor rotates, monitor the open-phase voltage of the brushless motor to detect the back electromotive force voltage of the brushless motor, and control the commutation of the corresponding phase when the back electromotive force voltage is greater than the commutation point.

Claims

1. A method for detecting the position of a motor rotor, comprising: Applying voltage pulses to each set of windings of the motor respectively; Obtaining a response current generated by each group of windings based on the voltage pulse, the response current including at least one of a bus current and a phase current; Determining, based on the response current of each group of windings, a time required for each group of windings to reach a preset current threshold; An initial position of the rotor is determined based on the required times for the respective sets of windings.

2. The method for detecting the motor rotor position according to claim 1, wherein: Determining the time required for each group of windings to reach a preset current threshold based on the response current of each group of windings includes: When the response current of each group of windings reaches a preset current threshold, the time for applying the voltage pulse to each group of windings is determined as the required time.

3. The method for detecting the motor rotor position according to claim 1, wherein: The step of applying voltage pulses to each winding group of the motor comprises: Applying voltage pulses to each winding group of the motor for a preset conduction time; Accordingly, determining the time required for each group of windings to reach a preset current threshold based on the response current of each group of windings includes: Determining the maximum value of the response current of each group of windings within the preset conduction time; determining a current growth rate based on a ratio of a maximum value of the response current of each group of windings to the preset conduction time; Based on the current growth rate of each group of windings, the time required for the response current to reach a preset current threshold is calculated.

4. The method for detecting the motor rotor position according to claim 1, further comprising: Setting two current sampling points, wherein the current sampling points are located within a time range of applying voltage pulses to each group of windings; Accordingly, determining the time required for each group of windings to reach a preset current threshold based on the response current of each group of windings includes: Determining a response current difference between the response currents corresponding to the two current sampling points; The time required for each group of windings to reach a preset current threshold is determined based on the response current difference.

5. The method for detecting the motor rotor position according to claim 4, wherein: The determining, based on the response current difference, the time required for each group of windings to reach a preset current threshold value comprises: The winding with the largest response current difference among the groups of windings is determined as the winding that takes the shortest time to reach the preset current threshold.

6. The method for detecting the motor rotor position according to any one of claims 1 to 5, wherein: The determining the initial position of the rotor based on the required time of each group of windings includes: Among the groups of windings, the sector corresponding to the winding requiring the shortest time is the initial position of the rotor.

7. The method for detecting the motor rotor position according to any one of claims 1 to 5, further comprising: before applying voltage pulses to each group of windings of the motor respectively; Detect motor status; Determining whether the motor is in a stationary state; In response to the motor being in a stationary state, applying voltage pulses to each group of windings of the motor respectively; In response to the motor being in a normal operating state, the step of applying voltage pulses to each group of windings of the motor is not performed.

8. The method for detecting the motor rotor position according to claim 7, wherein: The detecting the motor state includes: Detect the voltage at each phase terminal of the motor; Calculating the absolute values ​​of voltage differences between multiple groups of two-phase terminals based on the voltages at the respective phase terminals; determining a maximum value among a plurality of absolute values ​​of voltage differences between the two phase terminals; Accordingly, determining whether the motor state is a stationary state includes: Determining whether a maximum value among the absolute values ​​of the voltage differences between the two phase terminals of the plurality of groups is greater than a preset difference threshold; In response to the maximum value of the absolute value being greater than the preset difference threshold, determining that the motor state is a normal operating state; In response to the maximum value of the absolute value being less than or equal to the preset difference threshold, it is determined that the motor state is a stationary state.

9. A device for detecting the position of a motor rotor, comprising: a power module configured to provide voltage pulses; A drive module is configured to respectively turn on each winding group of the motor; A detection module, configured to detect the response current of each group of windings; A control module is configured to execute the method for detecting the motor rotor position according to any one of claims 1 to 8.

10. An electric tool comprising a motor and the device for detecting the position of the motor rotor according to claim 9.

11. An electric tool comprising: a brushless motor comprising a stator defining a plurality of phases, a rotor rotatable relative to the stator, and a plurality of power terminals electrically connected to the plurality of phases; a driving module comprising a plurality of switches electrically connected between a power source and the plurality of power terminals, the driving module being configured to deliver power to the brushless motor; a detection module configured to detect operating information of the brushless motor, wherein the operating information includes at least one of a rotational speed and a bus current; a control module electrically connected to the drive module and the detection module to output a drive signal to at least one of the plurality of switches, thereby driving the brushless motor using square wave control on a plurality of sectors of rotation of the rotor, wherein the control module is configured to change a commutation point of the brushless motor according to the operating information.

12. The electric power tool according to claim 11, wherein The control module is configured to: Establishing the first correspondence between operating information and optimal commutation points; Get operation information; determining an optimal commutation point based on the first corresponding relationship and the operating information; The commutation point of the brushless motor is changed based on the optimal commutation point.

13. The electric power tool according to claim 12, wherein: The first correspondence includes multiple sets of one-to-one corresponding operating information and optimal switching points; the control module is configured to: Determining the operation information having the smallest absolute difference with the operation information in the first corresponding relationship; The optimal commutation point corresponding to the operating information having the smallest absolute difference with the operating information in the first corresponding relationship is determined as the optimal commutation point.

14. The electric power tool according to claim 13, wherein: The plurality of operation information in the first corresponding relationship are arranged in sequence; the control module is configured to: Determine a middle value and an upper limit of the plurality of operation information in the first corresponding relationship; Determining whether the operation information is between the intermediate value and the upper limit of the operation information; In response to the operating information being between the intermediate value and the upper limit value of the operating information, updating the lower limit value of the operating information to the intermediate value; In response to the operating information not being between the intermediate value and the upper limit value of the operating information, updating the upper limit value of the operating information to the intermediate value; Determine whether the difference between the upper limit value of the operation information and the lower limit value of the operation information is greater than 1; In response to a difference between the upper limit value of the operation information and the lower limit value of the operation information being greater than 1, performing a step of determining whether the operation information is between the intermediate value and the upper limit value of the operation information; In response to the difference between the upper limit value of the operation information and the lower limit value of the operation information being no greater than 1, the operation information having the smallest absolute difference with the operation information is determined based on the upper limit value of the operation information, the lower limit value of the operation information and the operation information.

15. The electric power tool according to claim 14, wherein The control module is configured to: Determining whether the operation information is equal to at least one of the upper limit value of the operation information and the lower limit value of the operation information; In response to the operation information being equal to at least one of the upper limit value of the operation information and the lower limit value of the operation information, determining the upper limit value of the operation information and / or the lower limit value of the operation information that are equal to the operation information as the operation information having the smallest absolute difference with the operation information; In response to the operating information being not equal to the upper limit value of the operating information and the lower limit value of the operating information, the absolute value of the difference between the operating information and the upper limit value of the operating information and the lower limit value of the operating information is compared, and the operating information corresponding to the smaller absolute value of the difference is determined as the operating information having the smallest absolute value of the difference with the operating information.

16. The electric power tool according to claim 12, wherein The control module is configured to: Establish a test model for an inductive motor; Obtaining an operating information curve of the brushless motor; Adjusting the operating information curve of the inductive motor test model to the operating information curve of the brushless motor; Starting a simulation test on the inductor motor test model; Recording multiple sets of optimal commutation points and operating information of the sensor motor test model within a preset interval; A plurality of groups of the optimal commutation points are associated with the operating information to form a first corresponding relationship between the operating information and the optimal commutation points.

17. The electric tool according to any one of claims 12 to 16, wherein: The first correspondence includes an operating information range, and the control module is configured to: determining whether the operation information exceeds an operation information range; In response to the operating information exceeding an operating information range, changing a commutation point of the brushless motor based on a preset commutation point; In response to the operating information not exceeding the operating information range, the steps of determining an optimal commutation point based on the first correspondence and the operating information, and changing the commutation point of the brushless motor based on the optimal commutation point are performed.

18. The electric tool according to any one of claims 11 to 16, wherein: The control module is further configured to: In each of the plurality of sectors in which the rotor rotates, an open-phase voltage of the brushless motor is monitored to detect a back electromotive force voltage of the brushless motor, and commutation of at least one phase is controlled based on the back electromotive force voltage and at least one commutation point.

19. The electric power tool according to claim 18, wherein The control module is further configured to: in response to the back electromotive force voltage being greater than the commutation point, control commutation of the corresponding phase.

20. The electric tool according to any one of claims 11 to 16, wherein: The control module is configured to: Obtaining the working status of the brushless motor; Determining whether the brushless motor is in a normal operating state; In response to the operating state of the brushless motor being a normal operating state, performing a step of changing a commutation point of the brushless motor according to the operating information; In response to the operating state of the brushless motor being an abnormal operating state, the step of changing the commutation point of the brushless motor according to the operating information is not performed.

Citation Information

Patent Citations

  • Method for sensorless detection of initial position of brushless direct current motor

    CN103618485A

  • Rotor positioning method, positioning device and control system for brushless direct current motor

    CN108631659A

  • Zero-crossing point commutator and zero-crossing point commutation control method for permanent magnet brushless DC motor

    CN109921696A

  • Initial sector detection method for rotor position of brushless direct current motor

    CN113965114A

  • Method and device for detecting initial position of rotor of electric machine

    CN117639568A