Motor drive control device, motor unit, and motor drive control method
Patent Information
- Application Number
- JP2025025537
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-20
- Publication Date
- 2026-09-01
AI Technical Summary
【0012】 本発明の一態様によれば、モータが急加速した場合であっても、モータを安定して動作させることが可能となる。
Smart Images

Figure 2026139114000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a motor drive control device, a motor unit, and a motor drive control method.
Background Art
[0002] As a technique for driving a motor with high efficiency, advance angle control, which adjusts the timing (phase) of applying voltage to the coils of the motor so as to align the phase of an induced voltage (phase induced voltage) generated in the motor coils with the phase of a current (phase current) in the coils, is known.
[0003] For example, in a sensorless drive control method that drives a motor without providing a position sensor such as a Hall element, advance angle control is known, which is a technique that estimates the time until the next zero cross occurs with reference to the zero cross of an induced voltage, and switches energization of the coils at a timing whose phase is advanced relative to the estimated next zero cross (see Patent Document 1).
Prior Art Literature
Patent Literature
[0004]
Patent Document 1
Summary of the Invention
Problem to be Solved by the Invention
[0005] When performing advance angle control, it is necessary to appropriately determine the advance angle value according to the rotation speed of the motor. Here, the advance angle value is a value that specifies the timing of applying voltage to the coils of the motor, and for example, it is a value that specifies the advance amount of the energization phase relative to the next zero cross of the induced voltage. In general, the advance angle value needs to be set to a larger value as the rotation speed of the motor increases. On the other hand, the optimal advance angle value varies depending on the motor to be driven, the load, and other factors.
[0006] Therefore, the inventors of the present invention considered finding an appropriate advance angle value corresponding to the motor's rotational speed through prior experiments, and storing correspondence information such as a table or function representing the relationship between rotational speed and advance angle value in a memory device within the motor drive control device.
[0007] According to this, the motor drive control device reads an appropriate advance angle value from a storage device according to the motor's rotational speed, and controls the motor's power supply at the timing based on the read advance angle value, thereby enabling efficient motor drive.
[0008] However, the inventors' research has revealed that when driving a motor using a sensorless drive control system, in transient states where the motor is rapidly accelerating, simply setting the advance angle using the method described above may result in insufficient advance angle, making it impossible to properly detect the zero-crossing of the induced voltage.
[0009] In sensorless drive control systems, if the zero-crossing of the induced voltage cannot be properly detected, the rotor's rotational position cannot be estimated, and the motor coils cannot be energized at the appropriate timing. This can result in insufficient torque and the motor losing synchronization. Furthermore, in motor drive control systems using position sensors such as Hall elements, if the energization is not performed at the appropriate timing, excessive current may flow through the coils, potentially damaging not only the motor but also surrounding electronic components.
[0010] The present invention aims to solve the above-mentioned problems and to enable stable operation of the motor even when it is rapidly accelerating. [Means for solving the problem]
[0011] A motor drive control device according to a typical embodiment of the present invention includes a drive circuit that drives the motor based on a drive control signal for controlling the drive of the motor, and a control circuit that calculates the amount of operation of the motor so that the motor rotates at a target rotational speed, sets the advance angle value to increase as the rotational speed of the motor increases, and outputs the drive control signal corresponding to the amount of operation at a timing determined based on the advance angle value and the rotational position of the motor rotor, wherein the control circuit sets a reference value corresponding to each rotational speed as the advance angle value, and sets a value greater than the reference value as the advance angle value when the degree of acceleration of the rotational speed satisfies predetermined conditions. [Effects of the Invention]
[0012] According to one aspect of the present invention, it is possible to operate the motor stably even when it is rapidly accelerating. [Brief explanation of the drawing]
[0013] [Figure 1] This figure shows the configuration of a motor unit equipped with a motor drive control device according to Embodiment 1. [Figure 2] This diagram illustrates the method for setting the advance angle value of a motor using a motor drive control device according to Embodiment 1. [Figure 3] This figure shows an example of the functional block configuration of the control circuit according to Embodiment 1. [Figure 4] This flowchart shows an example of the processing flow for correcting the advance angle value according to Embodiment 1. [Figure 5] This flowchart shows an example of the processing flow when stopping the correction of the advance angle value according to Embodiment 1. [Figure 6] This figure shows the configuration of a motor unit equipped with a motor drive control device according to Embodiment 2. [Figure 7] This figure shows an example of the functional block configuration of the control circuit according to Embodiment 2. [Modes for carrying out the invention]
[0014] 1. Outline of the Embodiment First, a general overview of a typical embodiment of the invention disclosed in this application will be provided. In the following description, as an example, reference numerals on the drawings corresponding to the components of the invention are indicated in parentheses.
[0015] [1] A motor drive control device (10) according to a typical embodiment of the present invention includes a drive circuit (2) that drives the motor (4) based on a drive control signal (Sd) for controlling the drive of the motor (4), and a control circuit (1) that calculates an operating amount (Md) for the motor so that the motor rotates at a target rotational speed, sets the advance angle value (θ) to increase as the rotational speed of the motor increases, and outputs the drive control signal corresponding to the operating amount at a timing determined based on the advance angle value and the rotational position of the motor rotor, wherein the control circuit sets a reference value corresponding to each rotational speed as the advance angle value, and sets a value greater than the reference value as the advance angle value when the degree of acceleration of the rotational speed satisfies predetermined conditions.
[0016] [2] In the motor drive control device described in [1] above, the control circuit may determine that the degree of acceleration of the rotational speed satisfies a predetermined condition when at least one of the first condition, which is that the rate of increase of the target rotational speed is equal to or greater than a first threshold, and the second condition, which is that the rate of increase of the rotational speed is equal to or greater than a second threshold, is met.
[0017] [3] In the motor drive control device according to [1] or [2], the control circuit comprises: a target rotation speed acquisition unit (11) that acquires the target rotation speed; a position detection unit (14) that detects the rotation position of the rotor; a rotation speed calculation unit (13) that calculates the rotation speed; a state determination unit (16) that determines whether a degree of acceleration of the rotation speed satisfies a predetermined condition based on at least one of the rotation speed calculated by the rotation speed calculation unit and the target rotation speed; an operation amount calculation unit (12) that calculates the operation amount such that the rotation speed calculated by the rotation speed calculation unit matches the target rotation speed; an advance angle value setting unit (17) that sets the advance angle value corresponding to the rotation speed calculated by the rotation speed calculation unit; and a drive control signal generation unit (15) that generates the drive control signal based on the operation amount, determines timing for switching energization of a coil of the motor based on the set advance angle value and the rotation position of the rotor detected by the position detection unit, and outputs the drive control signal based on the determined timing. The advance angle value setting unit may set the reference value (α) corresponding to the rotation speed calculated by the rotation speed calculation unit as the advance angle value when the state determination unit does not determine that the degree of acceleration of the rotation speed satisfies the predetermined condition, and may set a value corrected to be larger than the reference value as the advance angle value when the state determination unit determines that the degree of acceleration of the rotation speed satisfies the predetermined condition.
[0018] (4) In the motor drive control device described in (3) above, the advance angle value setting unit (17) includes: a storage unit (20) that stores correspondence information (201) representing a correspondence relationship between the rotation speed and the reference value, and a correction value (β) for correcting the reference value; a reference value calculation unit (18) that calculates the reference value corresponding to the rotation speed calculated by the rotation speed calculation unit based on the correspondence information; and an advance angle value output unit (19) that outputs the reference value calculated by the reference value calculation unit as the advance angle value when the state determination unit does not determine that the degree of acceleration of the rotation speed satisfies a predetermined condition, and outputs a value obtained by adding the correction value stored in the storage unit to the reference value calculated by the reference value calculation unit as the advance angle value when the state determination unit determines that the degree of acceleration of the rotation speed satisfies the predetermined condition.
[0019] (5) In the motor drive control device described in (4) above, the state determination unit determines whether or not the rotation speed is stable, and in a state where the advance angle value output unit outputs a value obtained by adding the correction value to the reference value as the advance angle value, when the state determination unit determines that the rotation speed is stable, the correction value may be decreased stepwise.
[0020] (6) A motor unit (100, 100A) according to an embodiment of the present invention is characterized by comprising the motor drive control device (10, 10A) according to any one of (1) to (5) above, and the motor (4).
[0021] [7] A motor drive control method according to one embodiment of the present invention includes: a first step of calculating an operation amount for the motor so that the motor rotates at a target rotational speed; a second step of setting an advance angle value such that it increases as the rotational speed of the motor increases; and a third step of generating a drive control signal for controlling the drive of the motor according to the operation amount and outputting it at a timing determined based on the advance angle value and the rotational position of the motor rotor, wherein the second step may also include a fourth step of setting a reference value corresponding to each rotational speed as the advance angle value; and a fifth step (S11 to S14) of setting a value corrected to be larger than the reference value set in the fourth step when the degree of acceleration of the rotational speed satisfies predetermined conditions as the advance angle value.
[0022] 2. Specific Examples of Embodiments Hereinafter, specific examples of embodiments of the present invention will be described with reference to the figures. In the following description, common components in each embodiment will be denoted by the same reference numerals, and repeated descriptions will be omitted.
[0023] <Embodiment 1> Figure 1 shows the configuration of a motor unit 100 equipped with a motor drive control device 10 according to Embodiment 1.
[0024] The motor unit 100 shown in Figure 1 can be mounted on, for example, an aerial device such as a drone and used as a power source for the rotor blades (propellers) of the aerial device. The motor unit 100 comprises, for example, a motor 4 and a motor drive control device 10.
[0025] Motor 4 is a motor having at least one coil. For example, motor 4 is a brushless DC motor having three phases (U phase, V phase, and W phase) coils (windings) Lu, Lv, Lw. The coils Lu, Lv, Lw are connected, for example, in a Y connection (star connection). The terminal opposite the neutral point of each coil Lu, Lv, Lw is connected to the drive circuit 2. For example, a rotor blade (not shown) is connected to the output shaft of motor 4 via a speed reducer (not shown), etc.
[0026] The motor drive control device 10 is a device that controls the drive of the motor 4. The motor drive control device 10 controls the drive of the motor 4 so that the motor 4 rotates at a target rotational speed specified by the drive command signal Sc, for example, by using a sensorless drive control method that drives the motor without providing a position sensor such as a Hall element.
[0027] Specifically, the motor drive control device 10 includes a control circuit 1, a drive circuit 2, and a voltage detection circuit 3.
[0028] The drive circuit 2 is a circuit that drives the motor 4 based on the drive control signal Sd output from the control circuit 1. The drive control signal Sd is a signal for controlling the drive of the motor 4, and is, for example, a PWM (Pulse Width Modulation) signal.
[0029] The drive circuit 2 includes, for example, an inverter circuit (e.g., an H-bridge circuit) having multiple transistors as switching elements. The inverter circuit rotates the motor 4 by switching the direction of the motor current by switching the connection destination of the motor 4's coils between a DC voltage and ground potential in response to a PWM signal as a drive control signal Sd.
[0030] The drive circuit 2 may also have a pre-drive circuit for driving each transistor constituting the inverter circuit described above based on the drive control signal Sd. Furthermore, a sense resistor may be connected to the inverter circuit for detecting the current flowing through the motor 4.
[0031] The voltage detection circuit 3 is a circuit that detects the back electromotive force Vbef generated in each of the coils Lu, Lv, and Lw of the motor 4. The voltage detection circuit 3 divides the voltage of each of the coils Lu, Lv, and Lw of the motor 4 and outputs it. For example, as shown in Figure 1, the voltage detection circuit 3 includes a resistor voltage divider circuit connected between each of the coils Lu, Lv, and Lw and the ground potential. Specifically, the voltage detection circuit 3 includes resistors R1 and R2 connected in series between one terminal of coil Lu on the opposite side of the neutral point and the ground potential, resistors R3 and R4 connected in series between one terminal of coil Lv on the opposite side of the neutral point and the ground potential, and resistors R5 and R6 connected in series between one terminal of coil Lw on the opposite side of the neutral point and the ground potential.
[0032] In the voltage detection circuit 3, when coil Lu is de-energized, the voltage Vu at the node where resistors R1 and R2 are commonly connected is input to the control circuit 1 as the back electromotive force of the U-phase coil Lu. When coil Lv is de-energized, the voltage Vv at the node where resistors R3 and R4 are commonly connected is input to the control circuit 1 as the back electromotive force of the V-phase coil Lv. When coil Lw is de-energized, the voltage Vw at the node where resistors R5 and R6 are commonly connected is input to the control circuit 1 as the back electromotive force of the W-phase coil Lw.
[0033] Control circuit 1 is a circuit for comprehensively controlling the operation of the motor drive control device 10. In Embodiment 1, control circuit 1 is a program processing device having a configuration in which a processor such as a CPU, various storage devices such as RAM, ROM, and flash memory, and peripheral circuits such as a counter (timer), A / D conversion circuit, D / A conversion circuit, clock generation circuit, and input / output interface circuit are connected to each other via a bus or dedicated line. For example, control circuit 1 is a microcontroller (MCU: Micro Controller Unit).
[0034] The control circuit 1 and the drive circuit 2 may be packaged as a single semiconductor integrated circuit (IC), or they may be packaged as separate integrated circuits and mounted on a circuit board, with the two being electrically connected to each other on the circuit board.
[0035] Control circuit 1 calculates the manipulated variable Md for motor 4 so that motor 4 rotates at a target rotational speed Nt. For example, control circuit 1 acquires the voltages Vu, Vv, and Vw of the non-energized phase coils from the voltage detection circuit 3 as back electromotive force Vbef, and calculates the rotational speed (actual rotational speed) Nr of motor 4 based on the detection result of the zero-crossing of the back electromotive force Vbef. Control circuit 1 generates the manipulated variable Md by closed-loop control so that the rotational speed (actual rotational speed) Nr of motor 4 matches the target rotational speed Nt specified by the drive command signal Sc.
[0036] Furthermore, the control circuit 1 performs advance angle control based on the detection result of the zero-crossing of the back electromotive force. Specifically, the control circuit 1 sets the advance angle value θ, which is a value that specifies the timing of applying voltage to the coils Lu, Lv, and Lw of the motor 4, to increase as the rotational speed Nr of the motor 4 increases.
[0037] Control circuit 1 generates a drive control signal Sd corresponding to the manipulated variable Md and outputs it at a timing based on the advance angle value θ. Specifically, control circuit 1 determines the energizing timing of each coil Lu, Lv, and Lw based on the detection result of the back electromotive force crossing zero and the advance angle value θ, and outputs the drive control signal Sd.
[0038] The control circuit 1 switches the method for calculating the advance angle θ according to the acceleration of the rotational speed of the motor 4. Below, an overview of the method for calculating the advance angle θ by the control circuit 1 will be explained with reference to a diagram.
[0039] Figure 2 is a diagram illustrating the method for setting the advance angle value θ of the motor 4 by the motor drive control device 10 according to Embodiment 1.
[0040] In Figure 2, the top of the page shows a graph of the change in target rotational speed Nt over time, the middle of the page shows a graph of the change in rotational speed Nr over time, and the bottom of the page shows a graph of the change in angle advance value θ over time. In the graph at the top of Figure 2, the vertical axis represents the target rotational speed Nt and the horizontal axis represents time. In the graph at the middle of Figure 2, the vertical axis represents the rotational speed Nr and the horizontal axis represents time. In the graph at the bottom of Figure 3, the vertical axis represents the angle advance value θ and the horizontal axis represents time.
[0041] Control circuit 1 sets a corresponding value (hereinafter also referred to as the "reference value") α for each rotational speed (target rotational speed Nt or rotational speed Nr) as the advance angle value θ, and sets a value greater than the reference value α as the advance angle value θ when the degree of acceleration of the rotational speed satisfies predetermined conditions.
[0042] For example, if at least one of the following conditions is met, the control circuit 1 determines that the degree of acceleration of the rotational speed satisfies the predetermined conditions: a first condition where the rate of increase RNt of the target rotational speed Nt is equal to or greater than a first threshold Rth1, and a second condition where the rate of increase RNr of the rotational speed Nr is equal to or greater than a second threshold Rth2.
[0043] Here, the rate of increase RNt of the target rotational speed Nt in the first condition refers to a value based on the ratio or difference between the set target rotational speed Nt(n) and the previously set target rotational speed Nt(n-1). For example, the rate of increase RNt of the target rotational speed Nt may be (Nt(n)-Nt(n-1)) / Nt(n-1)×100 [%]. In Embodiment 1, as an example, the first threshold Rth1 = 5 [%].
[0044] Furthermore, the rate of increase of rotational speed Nr in the second condition, RNr, refers to the increase in rotational speed per unit time. For example, if the rotational speed at time ta is "Nra" and the rotational speed at time tb, Δt (e.g., 10ms) after time ta, is "Nrb", then the rate of increase of rotational speed Nr, RNr, may be (Nrb-Nra) / Nra × 100 [%]. In Embodiment 1, as an example, the second threshold Rth2 = 5 [%].
[0045] In Embodiment 1, the control circuit 1 is described as determining that the degree of acceleration of the rotational speed satisfies a predetermined condition when both the first and second conditions are met. Below, the method for setting the specific advance angle value θ will be explained using the case shown in Figure 2 as an example.
[0046] For example, as shown in Figure 2, suppose that at time t0 the target rotational speed Nt=N1 and the motor 4 is rotating at rotational speed Nr=N1. In this case, the control circuit 1 sets a reference value a1 corresponding to the rotational speed N1 as the advance angle value θ, and uses that advance angle value θ (=α=a1) to control the drive of the motor 4.
[0047] Subsequently, at time t1, the target rotational speed Nt increases from "N1" to "N2," and the rate of increase of the target rotational speed Nt exceeds 5% (first threshold Rth1). In this case, the control circuit 1 determines that the first condition described above has been met.
[0048] At time t1, when the target rotational speed Nt=N2, the control circuit 1 generates a drive control signal Sd so that the motor 4 rotates at a speed of Nr=N2, thereby accelerating the rotational speed Nr of the motor 4. At this time, the control circuit 1 changes the advance angle value θ according to the rotational speed Nr of the motor 4. That is, from time t1 onward as shown in Figure 2, the control circuit 1 increases the reference value α in accordance with the increase in rotational speed Nr.
[0049] Subsequently, at time t2, 10ms after time t1, assume that the rate of increase of the rotational speed Nr of motor 4 exceeds 5% (second threshold Rth2). In this case, control circuit 1 determines that the second condition described above has been met.
[0050] At time t2, since both the first and second conditions described above are met, the control circuit 1 determines that the degree of acceleration of the rotational speed satisfies the predetermined conditions and sets the advance angle value θ to a value greater than the reference value α. For example, the control circuit 1 sets the advance angle value θ (= a2 + β) to a value obtained by adding a correction value β to the reference value a2 corresponding to the rotational speed at time t2. Subsequently, the control circuit 1 increases the reference value α in accordance with the increase in rotational speed Nr. As a result, during rapid acceleration of the motor 4, the control circuit 1 drives the motor 4 based on an advance angle value θ that is greater than the reference value α by the correction value β.
[0051] Subsequently, when the rotational speed Nr of motor 4 reaches the target rotational speed Nt (=N2) and the rotational speed Nr stabilizes at time t3, the control circuit 1 reduces the advance angle value θ to a reference value α corresponding to the rotational speed N2. For example, the control circuit 1 reduces the advance angle value θ to a reference value a3 corresponding to the rotational speed N2 by gradually decreasing the correction value β.
[0052] Next, we will describe the functional blocks of the control circuit 1 that realize the motor drive control function, including the method for determining the advance angle value θ described above.
[0053] Figure 3 shows an example of the functional block configuration of the control circuit 1 according to Embodiment 1.
[0054] As shown in Figure 3, the control circuit 1 includes, for example, a target rotational speed acquisition unit 11, an operation amount calculation unit 12, a rotational speed calculation unit 13, a position detection unit 14, a drive control signal generation unit 15, a state determination unit 16, and an advance angle value setting unit 17 as functional blocks for realizing each of the above-mentioned functions.
[0055] Each of the functions of the control circuit 1 described above is realized, for example, by the program processing of the MCU as the control circuit 1. Specifically, the processor constituting the MCU as the control circuit 1 performs various calculations according to the program stored in memory and controls each peripheral circuit constituting the MCU, thereby realizing each of the functions described above.
[0056] The target rotational speed acquisition unit 11 is a functional unit that acquires the target rotational speed Nt. When a drive command signal Sc is input to the control circuit 1, the target rotational speed acquisition unit 11 acquires the target rotational speed Nt information contained in the drive command signal Sc. For example, if the drive command signal Sc is a PWM signal having a duty cycle corresponding to the specified target rotational speed Nt, the target rotational speed acquisition unit 11 measures the duty cycle of the PWM signal as the drive command signal Sc and outputs the rotational speed corresponding to the measured duty cycle as the target rotational speed Nt.
[0057] The position detection unit 14 is a functional unit that detects the rotational position of the rotor of the motor 4. The position detection unit 14 generates and outputs a position detection signal Sp indicating the rotational position of the rotor by detecting the zero crossing of the back electromotive force voltages Vu, Vv, and Vw, for example, based on a known zero-crossing detection method.
[0058] The rotational speed calculation unit 13 is a functional unit that calculates the rotational speed Nr of the motor 4 (rotor). For example, the rotational speed calculation unit 13 calculates and outputs the rotational speed Nr of the motor 4 using a known calculation method based on the position detection signal Sp.
[0059] The manipulated variable calculation unit 12 is a functional unit that calculates the manipulated variable Md so that the rotational speed Nr calculated by the rotational speed calculation unit 13 matches the target rotational speed Nt.
[0060] When the control circuit 1 performs speed feedback control as the drive control method for the motor, the manipulated variable calculation unit 12 calculates the manipulated variable Md, for example, by PI control calculation or PID control calculation, such that the difference between the rotational speed Nr calculated by the rotational speed calculation unit 13 and the target rotational speed Nt approaches zero.
[0061] Furthermore, when the control circuit 1 performs open-loop speed control as the drive control method for the motor, the manipulated variable calculation unit 12 calculates a manipulated variable Md corresponding to the target rotational speed Nt. For example, correspondence information such as a table or function showing the correspondence between the target rotational speed Nt and the manipulated variable Md may be stored in advance in a storage unit (not shown) within the control circuit 1, and the manipulated variable calculation unit 12 may determine and output the manipulated variable Md corresponding to the acquired target rotational speed Nt by referring to the correspondence information stored in the storage unit. In this case, the manipulated variable calculation unit 12 can calculate the manipulated variable Md so that the rotational speed Nr matches the target rotational speed Nt.
[0062] The drive control signal generation unit 15 is a functional unit that generates a drive control signal Sd. The drive control signal generation unit 15 generates a PWM signal having a duty cycle corresponding to the manipulated variable Md calculated by the manipulated variable calculation unit 12, and outputs it as the drive control signal Sd. For example, if the manipulated variable Md is a value that specifies the duty cycle, the drive control signal generation unit 15 generates a PWM signal having the duty cycle specified by the manipulated variable Md as the drive control signal Sd.
[0063] The drive control signal generation unit 15 generates a drive control signal Sd based on the manipulated variable Md using the method described above, and outputs the drive control signal Sd by advance angle control. Specifically, the drive control signal generation unit 15 determines the timing for switching the energization of the motor 4 coils Lu, Lv, and Lw based on the advance angle value θ set by the advance angle value setting unit 17 (described later) and the rotational position of the rotor detected by the position detection unit 14, and outputs the drive control signal Sd based on the determined timing. For example, the drive control signal generation unit 15 outputs the drive control signal Sd such that current is applied to the target coil at a timing when the electrical angle has advanced by an advance angle value θ from the rotational position of the rotor identified by the position detection signal Sp.
[0064] The state determination unit 16 is a functional unit that determines the state of change in the rotational speed of the motor 4. Based on at least one of the rotational speed Nr and the target rotational speed Nt calculated by the rotational speed calculation unit 13, the state determination unit 16 determines whether the degree of acceleration of the rotational speed Nr satisfies predetermined conditions.
[0065] Specifically, the state determination unit 16 determines whether the above first condition (the rate of increase RNt of the target rotation speed Nt is equal to or greater than the first threshold Rth1) is met based on the target rotation speed Nt. For example, the state determination unit 16 calculates the rate of increase RNt of the target rotation speed Nt (for example, RNt = (Nt(n) - Nt(n-1)) / Nt(n-1) × 100 [%]) using the method described above, and determines whether the rate of increase of the target rotation speed Nt is equal to or greater than the first threshold Rth1 (= 5 [%]).
[0066] Furthermore, the state determination unit 16 determines whether the second condition (the rate of increase of the rotation speed Nr is equal to or greater than the second threshold Rth2) is met based on the rotation speed Nr. For example, the state determination unit 16 calculates the rate of increase of the rotation speed Nr RNr (for example, RNr = (Nrb - Nra) / Nra × 100 [%]) and determines whether the rate of increase of the rotation speed Nr is equal to or greater than the second threshold Rth2 (= 5 [%]).
[0067] The state determination unit 16 determines that the degree of acceleration of the rotational speed Nr satisfies a predetermined condition when both the first condition and the second condition are met.
[0068] Furthermore, the state determination unit 16 determines whether the rotational speed Nr is stable or not. The state determination unit 16 determines that the rotational speed Nr is stable if, for example, the rotational speed Nr(n) is within a predetermined range (for example, within 5%) of the rotational speed Nr(n-1) from a predetermined time (for example, 10 ms) earlier.
[0069] Alternatively, the state determination unit 16 may determine that the rotational speed Nr is stable if, after updating the target rotational speed Nt, the duty cycle indicated by the updated manipulated variable Md matches the duty cycle of the actual drive control signal Sd, and the rotational speed Nr(n) is within a predetermined range relative to the rotational speed Nr(n-1) from a predetermined time ago.
[0070] The advance angle value setting unit 17 is a functional unit that sets the advance angle value θ. The advance angle value setting unit 17 sets the advance angle value θ based on the rotational speed Nr of the motor 4 and the determination result of the state determination unit 16. Specifically, if the state determination unit 16 has not determined that the degree of acceleration of the rotational speed Nr satisfies a predetermined condition, the advance angle value setting unit 17 sets the reference value α corresponding to the rotational speed Nr calculated by the rotational speed calculation unit 13 as the advance angle value θ (θ=α). On the other hand, if the state determination unit 16 has determined that the degree of acceleration of the rotational speed Nr satisfies a predetermined condition, the advance angle value setting unit 17 sets a value (α+β) obtained by correcting the reference value α so that it is greater than the reference value α as the advance angle value θ (θ=α+β). More specifically, as shown in Figure 3, the advance angle value setting unit 17 has a reference value calculation unit 18, an advance angle value output unit 19, and a storage unit 20.
[0071] The memory unit 20 is a functional unit that stores various parameters necessary for calculating the advance angle value θ. For example, the memory unit 20 stores correspondence relationship information 201 representing the correspondence between the rotational speed Nr and the reference value α, a correction value β for correcting the reference value α, and a unit adjustment amount Δb for adjusting the correction value β.
[0072] Correspondence information 201 is information such as a table (lookup table) in which a reference value α is associated with each rotational speed Nr, or a function that represents the relationship between rotational speed Nr and reference value α. In correspondence information 201, the reference value α is set to increase as the rotational speed increases. Note that the reference value α does not need to differ for each rotational speed in correspondence information 201; the reference value α may be associated with each predetermined range of rotational speeds. In other words, the reference value α may be set to different values in stages for each predetermined range of rotational speeds.
[0073] As described above, the correction value β is a value used to correct the reference value α, and is, for example, a fixed value independent of the rotational speed. The correction value β should be set appropriately according to the application to which the motor unit 100 is applied. The unit adjustment amount Δb is a unit quantity used to adjust the correction value β. The unit adjustment amount Δb is, for example, 1 degree of electrical angle.
[0074] The reference value calculation unit 18 is a functional unit that calculates a reference value α for the advance angle. Based on the correspondence relationship information 201 stored in the storage unit 20, the reference value calculation unit 18 calculates a reference value α corresponding to the rotational speed Nr calculated by the rotational speed calculation unit 13. For example, if the correspondence relationship information 201 is a table, the reference value calculation unit 18 refers to the table using the rotational speed Nr as an index and determines the reference value α by reading the reference value α corresponding to the rotational speed Nr from the table.
[0075] The advance angle value output unit 19 is a functional unit that outputs a set advance angle value θ. If the state determination unit 16 has determined that the degree of acceleration of the rotational speed Nr does not satisfy a predetermined condition, the advance angle value output unit 19 outputs the reference value α calculated by the reference value calculation unit 18 as the advance angle value θ (θ=α).
[0076] On the other hand, if the state determination unit 16 determines that the degree of acceleration of the rotational speed Nr satisfies predetermined conditions, the advance angle value output unit 19 outputs a value (α+β) obtained by adding the correction value β stored in the storage unit 20 to the reference value α calculated by the reference value calculation unit 18 as the advance angle value θ.
[0077] Furthermore, when the advance angle value output unit 19 is outputting a value obtained by adding a correction value β to a reference value α (α+β) as the advance angle value θ, the state determination unit 16 determines that the rotational speed Nr is stable, and the unit gradually reduces the correction value β. For example, the advance angle value output unit 19 gradually decreases the correction value β by a unit adjustment amount Δb, thereby lowering the advance angle value θ to the reference value α.
[0078] Next, we will explain the processing flow of the method for determining the advance angle value θ by the control circuit 1 according to Embodiment 1. First, we will explain the processing flow when correcting the advance angle value θ.
[0079] Figure 4 is a flowchart showing an example of the processing flow for correcting the advance angle value θ according to Embodiment 1.
[0080] For example, when the motor drive control device 10 sets the advance angle value θ to a reference value α corresponding to the rotational speed Nr of the motor 4 (θ=α) and is driving the motor 4, the control circuit 1 monitors the drive command signal Sc.
[0081] Specifically, the control circuit 1 determines whether the rate of increase RNt of the target rotational speed Nt specified by the drive command signal Sc is equal to the first threshold Rth1 (=5%) (step S11). If the rate of increase RNt of the target rotational speed Nt is less than the first threshold Rth1 (step S11: NO), the control circuit 1 does not correct the advance angle value θ (step S14). In other words, the advance angle value θ is determined by a reference value α corresponding to the target rotational speed Nt.
[0082] On the other hand, if the rate of increase RNt of the target rotational speed Nt is greater than or equal to the first threshold Rth1 (step S11: YES), the control circuit 1 determines that the first condition is met and also determines whether the rate of increase RNr of the rotational speed Nr is greater than or equal to the second threshold Rth2 (=5%) (step S12). If the rate of increase RNr of the rotational speed Nr is less than the second threshold Rth2 (step S12: NO), the control circuit 1 does not correct the advance angle value θ (step S14).
[0083] If the rate of increase RNr of the rotational speed Nr is greater than or equal to the second threshold Rth2 (step S12: YES), the control circuit 1 determines that not only the first condition but also the second condition is met and corrects the advance angle value θ (step S13). That is, the control circuit 1 sets the advance angle value θ to the sum of the reference value α and the correction value β (α + β).
[0084] Next, we will explain the process for stopping the correction of the advance angle value θ.
[0085] Figure 5 is a flowchart showing an example of the processing flow when stopping the correction of the advance angle value θ according to Embodiment 1.
[0086] For example, when the advance angle value θ has been corrected by the process described above, the control circuit 1 monitors the drive command signal Sc and performs a process to stop the correction of the advance angle value θ.
[0087] Specifically, the control circuit 1 first determines whether the rotational speed Nr of the motor 4 is stable (step S21). For example, as described above, after the state determination unit 16 updates the target rotational speed Nt, it determines whether the duty cycle indicated by the updated manipulated variable Md matches the duty cycle of the actual drive control signal Sd, and whether the rotational speed Nr(n) is within a predetermined range relative to the rotational speed Nr(n-1) from a predetermined time ago. If the rotational speed Nr of the motor 4 is not stable (step S21: NO), the control circuit 1 then corrects the advance angle value θ (θ=α+β).
[0088] If the rotational speed Nr of motor 4 is stable (step S21: YES), the control circuit 1 (advance angle value output unit 19) determines whether the correction value β is greater than 0 (zero) (step S22). If the correction value β is greater than 0 (step S22: YES), the control circuit 1 decreases the correction value β (step S23). Specifically, as described above, the advance angle value output unit 19 decreases the correction value β by a unit adjustment amount Δb (β -> β - Δb).
[0089] If the correction value β is not greater than 0 (step S22: NO), the control circuit 1 (advance angle value output unit 19) determines whether the correction value β is less than 0 (step S24). If the correction value β is less than 0 (step S24: YES), the control circuit 1 increases the correction value β (step S25). Specifically, the advance angle value output unit 19 increases the correction value β by a unit adjustment amount Δb (β -> β + Δb).
[0090] On the other hand, if the correction value β is not less than 0 (step S24: NO), the control circuit 1 determines that the correction value β is 0 and stops correcting the advance angle value θ. After that, the control circuit 1 starts the process shown in Figure 4 above.
[0091] In the motor drive control device 10 according to Embodiment 1, when the control circuit 1 controls the advance angle of the motor 4, it sets a reference value α corresponding to each rotational speed as the advance angle value θ, and when the degree of acceleration of the rotational speed satisfies predetermined conditions, it sets a value greater than the reference value α (α + β) as the advance angle value θ.
[0092] According to this, when the motor 4 is rapidly accelerated, the advance angle value is set to a value greater than the normal value (reference value α), so the motor drive control device 10 can switch the energization of the motor 4's coils Lu, Lv, and Lw at the appropriate timing, thereby stabilizing the operation of the motor 4. In other words, in a typical motor drive control device employing a sensorless drive control method, when the motor is rapidly accelerated, the normal advance angle value may not detect the zero-crossing of the induced voltage due to insufficient advance angle, which may cause the motor to lose synchronism. In contrast, the motor drive control device 10 according to Embodiment 1 can avoid insufficient advance angle even when the motor is rapidly accelerated, so the zero-crossing of the induced voltage can be appropriately detected, and the operation of the motor can be stabilized.
[0093] Furthermore, as described above, the control circuit 1 determines that the degree of acceleration of the rotational speed Nr satisfies a predetermined condition when at least one of the following conditions is met: a first condition in which the rate of increase RNt of the target rotational speed Nt is equal to or greater than a first threshold Rth1, and a second condition in which the rate of increase RNr of the rotational speed Nr is equal to or greater than a second threshold Rth2. This makes it possible to properly detect when the motor is accelerating rapidly.
[0094] Furthermore, in the control circuit 1, as described above, if the state determination unit 16 has not determined that the degree of acceleration of the rotational speed satisfies the predetermined conditions, the advance angle value setting unit 17 sets the reference value α corresponding to the rotational speed Nr calculated by the rotational speed calculation unit 13 as the advance angle value θ, and if the state determination unit 16 has determined that the degree of acceleration of the rotational speed satisfies the predetermined conditions, the advance angle value θ is set to a value (α+β) obtained by correcting the reference value α so that it is greater than the reference value α. According to this, it is possible to easily implement a process for correcting the advance angle value θ based on whether or not the motor is rapidly accelerating.
[0095] Furthermore, when the control circuit 1 is outputting a value obtained by adding a correction value β to a reference value α as the advance angle value θ (=α+β), if the control circuit 1 determines that the rotation speed has stabilized, it gradually reduces the correction value β. According to this, if the advance angle value suddenly decreases while the rotational speed is stable, the motor's operation may become unstable. However, the control circuit 1 according to this embodiment gradually reduces the correction value β as described above, thus avoiding instability in the operation of the motor 4.
[0096] <Embodiment 2> Figure 6 shows the configuration of a motor unit 100A equipped with a motor drive control device 10A according to Embodiment 2.
[0097] The motor unit 100A according to Embodiment 2 differs from the motor unit 100 according to Embodiment 1 in that it has, for example, position sensors 5u, 5v, and 5w, and performs motor drive control based on signals detected by the position sensors 5u, 5v, and 5w, but is otherwise the same as the motor unit 100 according to Embodiment 1.
[0098] As shown in Figure 6, the motor unit 100A has position sensors 5u, 5v, and 5w instead of the voltage detection circuit 3. The position sensors 5u, 5v, and 5w generate signals Hu, Hv, and Hw according to the rotation of the motor 4's rotor. The position sensors 5u, 5v, and 5w are, for example, Hall elements. Hereafter, the position sensors 5u, 5v, and 5w will also be referred to as "Hall elements 5u, 5v, and 5w".
[0099] The three Hall elements 5u, 5v, and 5w are provided, each corresponding to one of the phases (U phase, V phase, and W phase) of the motor 4. The Hall elements 5u, 5v, and 5w are arranged around the rotor of the motor 4 at approximately equal intervals from each other (for example, 120 degrees apart from adjacent elements).
[0100] The Hall elements 5u, 5v, and 5w detect the magnetic poles of the rotor and output signals Hu, Hv, and Hw, respectively, whose voltage changes according to the rotation of the rotor. Signals Hu, Hv, and Hw indicate the rotational position of the rotor and are input to control circuit 1 as position detection signals Sp. Hereafter, signals Hu, Hv, and Hw may be collectively referred to as "position detection signals Sp".
[0101] Figure 7 shows an example of the functional block configuration of the control circuit 1A according to Embodiment 2.
[0102] In the control circuit 1A shown in Figure 7, the rotational speed calculation unit 13A calculates the rotational speed Nr based on the position detection signals Hu, Hv, and Hw using a known calculation method.
[0103] In the control circuit 1A, the state determination unit 16 determines the operating state of the motor 4 using the rotational speed Nr calculated by the rotational speed calculation unit 13A in the same manner as in Embodiment 1. The advance angle value setting unit 17 sets the advance angle value θ based on the determination result of the state determination unit 16, using the rotational speed Nr calculated by the rotational speed calculation unit 13A in the same manner as in Embodiment 1.
[0104] The drive control signal generation unit 15A determines the timing for switching the energization of the motor 4 coils Lu, Lv, and Lw based on the advance angle value θ set by the advance angle value setting unit 17 and the rotational position of the rotor detected by a known method from the position detection signals Sp (signals Hu, Hv, Hw), and outputs a drive control signal Sd based on the determined timing. For example, the drive control signal generation unit 15A outputs a drive control signal Sd such that current is applied to the target coil at a timing when the electrical angle has advanced by an advance angle value θ from the rotational position of the rotor identified by the position detection signals Sp (signals Hu, Hv, Hw). According to this, even with a motor drive control device 10A that uses a position sensor such as a Hall element for drive control, it is possible to adjust the advance angle value according to the degree of motor acceleration, just as with a sensorless drive control device 10. As a result, the energization of the motor coil is switched at the appropriate timing, preventing excessive current from flowing through the coil and damaging the motor and surrounding electronic components.
[0105] <<Extension of the Embodiment>> Although the present invention has been specifically described above based on embodiments, it goes without saying that the present invention is not limited thereto and can be modified in various ways without departing from its essence.
[0106] For example, in the above embodiment, the case in which each functional part of the control circuit 1 is realized by program processing of the MCU was illustrated, but the invention is not limited to this, and some or all of the functional parts of the control circuit 1 may be realized by dedicated circuits (hardware).
[0107] Furthermore, the flowchart described above is merely an example and is not limited to these steps. For example, other processes may be inserted between each step, or the processes may be parallelized. [Explanation of Symbols]
[0108] 100, 100A...Motor unit, 10, 10A...Motor drive control device, 1, 1A...Control circuit, 2...Drive circuit, 3...Voltage detection circuit, 4...Motor, 11...Target rotation speed acquisition unit, 12...Operated variable calculation unit, 13, 13A...Rotation speed calculation unit, 14...Position detection unit, 15, 15A...Drive control signal generation unit, 16...State determination unit, 17...Advance angle value setting unit, 18...Reference value calculation unit, 19...Advance angle value output unit, 20...Storage unit, Md...Operated variable, Nt...Target rotation speed, Nr...Rotation speed, RNt...Increase rate of target rotation speed, RNt...Increase rate of rotation speed, Sc...Drive command signal, Sd...Drive control signal, Sp...Position detection signal, α...Reference value, β...Correction value, Δb...Unit adjustment amount, θ...Advance angle value.
Claims
1. A drive circuit that drives the motor based on a drive control signal for controlling the motor's operation, The control circuit calculates the amount of operation for the motor so that the motor rotates at a target rotational speed, sets the advance angle value to increase as the rotational speed of the motor increases, and outputs the drive control signal corresponding to the amount of operation at a timing determined based on the advance angle value and the rotational position of the motor's rotor. The control circuit sets a reference value corresponding to each rotational speed as the advance angle value, and sets a value greater than the reference value as the advance angle value when the degree of acceleration of the rotational speed satisfies predetermined conditions. Motor drive control device.
2. In the motor drive control device according to claim 1, The control circuit determines that the degree of acceleration of the rotational speed satisfies a predetermined condition when at least one of the following conditions is met: a first condition that the rate of increase of the target rotational speed is equal to or greater than a first threshold, and a second condition that the rate of increase of the rotational speed is equal to or greater than a second threshold. Motor drive control device.
3. In the motor drive control device according to claim 1, The aforementioned control circuit is A target rotation speed acquisition unit that acquires the aforementioned target rotation speed, A position detection unit for detecting the rotational position of the rotor, A rotation speed calculation unit that calculates the rotation speed, A state determination unit determines whether the degree of acceleration of the rotational speed satisfies predetermined conditions based on at least one of the rotational speed and the target rotational speed calculated by the rotational speed calculation unit, An operating variable calculation unit calculates the operating variable so that the rotation speed calculated by the rotation speed calculation unit matches the target rotation speed, An advance angle value setting unit sets the advance angle value corresponding to the rotation speed calculated by the rotation speed calculation unit, Includes a drive control signal generation unit that generates the drive control signal based on the manipulated amount, determines the timing for switching the energization of the motor coils based on the set advance angle value and the rotational position of the rotor detected by the position detection unit, and outputs the drive control signal based on the determined timing, The advance angle value setting unit sets the reference value corresponding to the rotational speed calculated by the rotational speed calculation unit as the advance angle value when the state determination unit has not determined that the degree of acceleration of the rotational speed satisfies the predetermined conditions, and sets a value corrected to be greater than the reference value as the advance angle value when the state determination unit has determined that the degree of acceleration of the rotational speed satisfies the predetermined conditions. Motor drive control device.
4. In the motor drive control device according to claim 3, The aforementioned advance angle value setting unit is A storage unit that stores correspondence relationship information representing the correspondence between the rotation speed and the reference value, and a correction value for correcting the reference value, A reference value calculation unit calculates the reference value corresponding to the rotation speed calculated by the rotation speed calculation unit based on the correspondence relationship information, The system includes an advance angle value output unit that, when the state determination unit has not determined that the degree of acceleration of the rotational speed satisfies a predetermined condition, outputs the reference value calculated by the reference value calculation unit as the advance angle value, and when the state determination unit has determined that the degree of acceleration of the rotational speed satisfies a predetermined condition, outputs a value obtained by adding the correction value stored in the storage unit to the reference value calculated by the reference value calculation unit as the advance angle value. Motor drive control device.
5. In the motor drive control device according to claim 4, The state determination unit determines whether the rotation speed is stable or not. When the advance angle value output unit is outputting a value obtained by adding the correction value to the reference value as the advance angle value, and the state determination unit determines that the rotation speed has stabilized, the correction value is gradually reduced. Motor drive control device.
6. A motor drive control device according to any one of claims 1 to 5, The motor comprises Motor unit.
7. A first step is to calculate the amount of control for the motor so that it rotates at a target rotational speed, The second step is to set the advance angle value so that it increases as the rotational speed of the motor increases, A third step includes generating a drive control signal to control the drive of the motor according to the manipulated amount, and outputting it at a timing determined based on the advance angle value and the rotational position of the motor's rotor, The second step described above is: A fourth step involves setting a reference value corresponding to each rotational speed as the advance angle value, The fifth step includes setting the advance angle value as a value corrected to be greater than the reference value set in the fourth step, when the degree of acceleration of the rotational speed satisfies predetermined conditions. Motor drive control method.
Citation Information
Patent Citations
motor drive
JP3965395B2