Motor drive control device, motor unit, and motor drive control method

The motor drive control device addresses the issue of overcurrent during inertia-based motor restarts by calculating an operating amount matching the motor's rotational speed, ensuring safe and responsive restarts.

WO2026154730A1PCT designated stage Publication Date: 2026-07-23MINEBEAMITSUMI INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
MINEBEAMITSUMI INC
Filing Date
2025-09-22
Publication Date
2026-07-23

AI Technical Summary

Technical Problem

Existing motor drive control systems face issues when restarting a motor that is rotating by inertia, as large duty cycles in the drive control signal can cause overcurrent, potentially damaging the motor and surrounding components.

Method used

A motor drive control device that calculates an operating amount corresponding to the rotational speed of the motor when it is rotating by inertia, allowing for a controlled restart with a manipulated variable that matches the motor's inertia state, thereby preventing overcurrent and damage.

Benefits of technology

The solution effectively prevents damage to the motor and components by managing the restart process, ensuring smooth transitions and reducing current spikes during inertia-based motor restarts, thus improving motor responsiveness and safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025033343_23072026_PF_FP_ABST
    Figure JP2025033343_23072026_PF_FP_ABST
Patent Text Reader

Abstract

The present invention prevents damage to a motor or the like when restarting the motor rotating inertially. A motor drive control device (2) comprises: a drive circuit (6) that drives a motor (3) on the basis of a drive control signal (Sd) for controlling the drive of the motor (3); and a control circuit (5) that calculates, on the basis of a drive command signal (Sc) including a speed command value (Stgt) specifying a target rotation speed of the motor (3), an operation amount (Md) of the motor (3) so that the motor (3) rotates at the target rotation speed, and that generates and outputs the drive control signal (Sd) corresponding to the operation amount (Md). The motor drive control device (2) is characterized in that the control circuit (5), when starting to drive the motor (3) from a state in which the motor (3) is rotating by inertia, starts to drive the motor (3) with a first operation amount (Md_d) corresponding to the rotational speed when the motor (3) is rotating by inertia.
Need to check novelty before this filing date? Find Prior Art

Description

Motor drive control device, motor unit, and motor drive control method

[0001] The present invention relates to a motor drive control device, a motor unit, and a motor drive control method.

[0002] Generally, in a flying device such as a drone equipped with a motor as a drive source for a rotating blade (propeller), when a speed command value is transmitted from a flight controller as a higher-level device, the motor drive control device in the flying device receives the speed command value and calculates the operation amount of the motor based on the received speed command value. Then, the motor drive control device generates a drive control signal with a duty ratio corresponding to the calculated operation amount and drives the motor, so that the motor rotates at a rotational speed corresponding to the speed command value (see Patent Document 1).

[0003] Japanese Patent No. 7088043

[0004] The inventor of the present application has found the following problems regarding the drive control of the motor.

[0005] For example, in a flying device, after the drive of the motor has stopped, control to restart the drive of the motor (also referred to as "restart of the motor") may be performed. For example, when the motor is being driven and rotating, the flight controller as a higher-level device transmits a speed command value set to "zero" to the flying device, and the motor drive control device in the flying device stops the drive of the motor according to the received speed command value. As a result, the motor enters a state of coasting rotation. Then, while the motor is coasting, the flight controller transmits a new speed command value, and the motor drive control device restarts the drive of the motor so that the motor rotates at the target rotational speed corresponding to the received speed command value. In this way, the motor restarts.

[0006] For example, when restarting a motor that is rotating by inertia, if the amount of input, i.e., the duty cycle of the drive control signal, is large, a large current will flow through the motor, potentially burning out the motor and surrounding electronic components. In other words, when the motor's rotational speed is slow while it is rotating by inertia, the motor is energized for a longer period of time. Therefore, if the duty cycle of the drive control signal is large, a high voltage will be applied to the motor for an extended period. This can cause an overcurrent to flow through the coil, potentially damaging the motor and its surrounding electronic components and wiring (hereinafter also referred to as "motor, etc.").

[0007] The present invention aims to solve the above-mentioned problems and to prevent damage to the motor and other components when restarting a motor that is rotating by inertia.

[0008] 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 an operating amount for the motor so that the motor rotates at the target rotational speed based on a drive command signal including a speed command value that specifies a target rotational speed for the motor, and generates and outputs the drive control signal according to the operating amount, wherein when the drive of the motor is started from a state in which the motor is rotating by inertia, the drive of the motor is started with an operating amount corresponding to the rotational speed of the motor when it is rotating by inertia.

[0009] According to one aspect of the present invention, when restarting a motor that is rotating by inertia, it is possible to prevent damage to the motor and other components.

[0010] This figure shows the configuration of a motor unit equipped with a motor drive control device according to an embodiment. This figure illustrates the method for restarting a motor that is rotating by inertia using the motor drive control device according to an embodiment. This figure shows an example of the functional block configuration of the control circuit according to an embodiment. This figure illustrates correspondence information that shows the correspondence between rotational speed and manipulated variable. This flowchart shows the processing flow by the motor drive control device when the motor is started. This flowchart shows the processing flow by the motor drive control device after the motor has been started. This flowchart shows the processing flow by the motor drive control device after the motor has been started. This figure shows the measured results of the current flowing through the motor when a motor that is rotating by inertia is restarted using a conventional motor drive control device. This figure shows the measured results of the current flowing through the motor when a motor that is rotating by inertia is restarted using the motor drive control device according to an embodiment.

[0011] 1. Outline of Embodiments First, a general overview of a typical embodiment of the invention disclosed in this application will be given. In the following description, as an example, reference numerals on the drawings corresponding to the components of the invention are indicated in parentheses.

[0012] [1] A motor drive control device (2) according to a typical embodiment of the present invention includes a drive circuit (6) that drives the motor (3) based on a drive control signal (Sd) for controlling the drive of the motor (3), and a control circuit (5) that calculates an operating amount (Md) for the motor so that the motor rotates at the target rotational speed based on a drive command signal (Sc) including a speed command value (Stgt) that specifies the target rotational speed of the motor, and generates and outputs the drive control signal according to the operating amount, wherein the control circuit starts driving the motor with an operating amount corresponding to the rotational speed when the motor is rotating by inertia when the motor is starting to be driven from a state in which the motor is rotating by inertia.

[0013] [2] In the motor drive control device described in [1] above, the control circuit may change the manipulated amount (Md) from a value corresponding to the rotational speed when the motor is rotating by inertia (Md_d) to a value corresponding to the speed command value (Md_n) when the speed command value becomes a value other than zero.

[0014] [3] In the motor drive control device described in [2] above, the control circuit includes a drive command analysis unit (11) that analyzes the drive command signal and obtains the speed command value, a rotation speed measurement unit (12) that measures the rotation speed of the motor, an operating state determination unit (13) that determines whether or not the motor is rotating by inertia, an operation amount calculation unit (15) that calculates and outputs the operation amount based on the speed command value obtained by the drive command analysis unit and the determination result of the operating state determination unit, and a drive control signal generation unit (21) that generates a PWM signal with a duty cycle corresponding to the operation amount output from the operation amount calculation unit and outputs it as the drive control signal, wherein the operation amount calculation unit determines whether or not the motor is rotating by inertia When it is determined that the motor is not rotating, if a change in the speed command value is detected, the manipulated variable (Md_n) is calculated so that the motor rotates at the target rotational speed corresponding to the changed speed command value. When it is determined by the operating state determination unit that the motor is rotating by inertia, if a change in the speed command value is detected, the rotational speed measurement unit obtains the measured value of the rotational speed (Sv_d), calculates a first manipulated variable (Md_d) corresponding to the obtained measured value of the rotational speed, and a second manipulated variable (Md_n) corresponding to the changed speed command value, respectively, and the output manipulated variable may be changed from the first manipulated variable to the second manipulated variable.

[0015] [4] In the motor drive control device described in [3] above, the manipulated amount calculation unit includes a data pair acquisition unit (19) that acquires a first data pair (Dp1) consisting of a measured value of the rotational speed and the manipulated amount when the motor is rotating in a first state, and a second data pair (Dp2) consisting of a measured value of the rotational speed and the manipulated amount when the motor is rotating in a second state different from the first state, and a correspondence relationship information generation unit (18) that generates correspondence relationship information (140) representing the correspondence relationship between the rotational speed and the manipulated amount based on the first data pair and the second data pair acquired by the data pair acquisition unit, and when the operating state determination unit determines that the motor is rotating by inertia The system includes a first control amount calculation unit (16) that, when it detects that the speed command value has changed from zero to a non-zero value, calculates the first control amount, which is the control amount corresponding to the measured value of the rotational speed at that time, based on the correspondence relationship information; a second control amount calculation unit (17) that calculates the second control amount based on the speed command value; and a control amount output unit (20) that outputs the control amount based on the first and second control amounts. The control amount output unit may change the output control amount from the first control amount to the second control amount when it detects that the speed command value has changed from zero to a non-zero value while the operating state determination unit has determined that the motor is rotating by inertia.

[0016] [5] In the motor drive control device described in [4] above, the correspondence information may be a linear function representing the relationship between the rotational speed and the manipulated variable.

[0017] [6] In the motor drive control device described in [4] or [5] above, the first state may be the state after the motor has been started, and the second state may be the state immediately before the motor stops being driven.

[0018] [7] In the motor drive control device described in any one of [4] to [6] above, the data pair acquisition unit may acquire the first data pair after a predetermined time has elapsed since the speed command value changed from zero to a value other than zero while the motor drive has stopped.

[0019] [8] In the motor drive control device described in any one of [4] to [7] above, the data pair acquisition unit may update the second data pair when it detects that the speed command value has become zero.

[0020] [9] In the motor drive control device described in any one of [4] to [8] above, the data pair acquisition unit may acquire the second data pair each time it detects that the speed command value has become zero.

[0021]

[10] In the motor drive control device described in any one of [3] to [9] above, the operating state determination unit may determine that the motor is rotating by inertia when the speed command value is zero and the measured value of the rotational speed is greater than the threshold, and may determine that the rotation of the motor has stopped when the speed command value is zero and the measured value of the rotational speed is less than or equal to the threshold.

[0022]

[11] A motor unit (1) according to a typical embodiment of the present invention is characterized by comprising a motor drive control device (2) described in any one of the above items [1] to

[10] , and the motor (3).

[0023]

[12] A motor drive control method according to a typical embodiment of the present invention includes a first step (S11, S12, S22, S28) of calculating an amount of operation for the motor so that the motor rotates at the target rotation speed based on a drive command signal (Sc) including a speed command value (Stgt) that specifies a target rotation speed for the motor (3), and generating a drive control signal (Sd) corresponding to the amount of operation; and a second step (S13) of driving the motor based on the drive control signal, wherein the first step includes a step (S23 to S25) of calculating the amount of operation corresponding to the rotation speed when the motor is rotating by inertia, when the motor is driven from a state in which the motor is rotating by inertia.

[0024] 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 explanations will be omitted.

[0025] <Embodiment> Figure 1 is a diagram showing the configuration of a motor unit 1 equipped with a motor drive control device 2 according to an embodiment.

[0026] The motor unit 1 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 1 comprises, for example, a motor 3 and a motor drive control device 2.

[0027] Motor 3 is a motor having at least one coil. For example, motor 3 is a brushless DC motor having three phases (U phase, V phase, and W phase) of coils (windings). For example, a rotor blade 4 is connected to the output shaft of motor 3 via a speed reducer (not shown) or the like.

[0028] The motor unit 1 may also include a position detection device such as a Hall element that detects the magnetic poles of the rotor (not shown) of the motor 3 and outputs a position detection signal whose voltage changes according to the rotation of the rotor.

[0029] The motor drive control device 2 is a device that controls the drive of the motor 3. The motor drive control device 2 controls the drive of the motor 3 so that the motor 3 rotates at a target rotational speed specified by a drive command signal Sc transmitted from, for example, a flight controller (not shown) as a higher-level device.

[0030] Specifically, the motor drive control device 2 comprises a control circuit 5 and a drive circuit 6.

[0031] The drive circuit 6 is a circuit that drives the motor 3 based on the drive control signal Sd output from the control circuit 5. The drive control signal Sd is a signal for controlling the drive of the motor 3, and is, for example, a PWM (Pulse Width Modulation) signal.

[0032] The drive circuit 6 is, for example, an inverter circuit (for example, an H-bridge circuit) having multiple transistors as switching elements. The drive circuit 6 rotates the motor 3 by switching the connection destination of the motor 3's coils between a DC voltage and ground potential in response to a PWM signal which is the drive control signal Sd, thereby switching the direction of the motor current.

[0033] The drive circuit 6 may also have a voltage detection circuit for detecting the back electromotive force Vbef induced in each phase (U, V, W phases) of the motor 3. Furthermore, the drive circuit 6 may have a pre-drive circuit for driving each transistor constituting the inverter circuit described above based on the drive control signal Sd. A sense resistor for detecting the current flowing through the motor may be connected to the inverter circuit.

[0034] The control circuit 5 is a circuit for comprehensively controlling the operation of the motor drive control device 2. In this embodiment, the control circuit 5 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, the control circuit 5 is a microcontroller unit (MCU).

[0035] The control circuit 5 and the drive circuit 6 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.

[0036] The control circuit 5 has the function of calculating the manipulated variable Md of the motor 3 so that the motor 3 rotates at the target rotational speed, based on a drive command signal Sc which includes a speed command value Stgt that specifies the target rotational speed of the motor 3, and generating and outputting a drive control signal Sd corresponding to the manipulated variable Md. For example, when the control circuit 5 receives a drive command signal Sc which includes a speed command value transmitted from a flight controller as a higher-level device, it calculates the manipulated variable Md according to the received speed command value, generates a PWM signal with a duty cycle based on the manipulated variable Md, and outputs it as a drive control signal Sd. Here, since the manipulated variable Md is proportional to the duty cycle of the drive control signal Sd, the manipulated variable Md may also be a value that specifies the duty cycle of the drive control signal Sd.

[0037] For example, the control circuit 5 calculates the manipulated amount Md of the motor 3 corresponding to the speed command value using open-loop control, generates a PWM signal with a duty cycle corresponding to the manipulated amount Md, and outputs it as a drive control signal Sd, thereby rotating the motor 3 at the target rotational speed.

[0038] The control circuit 5 has the function of driving the motor 3 with an appropriate control amount Md when the motor 3 is rotating by inertia and the motor 3 is to be started (restarted).

[0039] In this embodiment, "inertial rotation" refers to the state in which the speed command value Stgt is "zero" and the motor 3 is rotating.

[0040] Specifically, the control circuit 5 restarts the motor 3 using a first manipulated variable Md_d that corresponds to the rotational speed of the motor 3 when it is rotating by inertia. More specifically, when the speed command value Stgt becomes a value other than zero while the motor 3 is rotating by inertia, the control circuit 5 changes the manipulated variable Md from a value corresponding to the rotational speed of the motor 3 when it is rotating by inertia (Md_d) to a value corresponding to the speed command value (Md_n). The outline of restarting the motor during inertia will be explained below with reference to a diagram.

[0041] Figure 2 is a diagram illustrating the method for restarting a motor 3 that is rotating by inertia using a motor drive control device 2 according to an embodiment.

[0042] In FIG. 2, the vertical axis represents the operation amount Md (duty ratio of the drive control signal Sd) of the motor 3, and the horizontal axis represents the time t. The reference numeral 301 represents a graph of the operation amount Md with respect to time when the motor 3 that has been rotating at the target rotational speed stops driving, and then the motor rotates due to inertia and is restarted.

[0043] As shown in FIG. 2, at time t0, the control circuit 5 calculates the operation amount Md so that the motor 3 rotates at the target rotational speed specified by the speed command value Stgt, and drives the motor 3. When the speed command value Stgt transmitted from the host device becomes zero at time t1, the control circuit 5 stops driving the motor 3 by setting the operation amount Md to zero. As a result, the motor 3 enters an inertia rotation state.

[0044] Thereafter, when a speed command value Stgt greater than zero is transmitted from the host device at time t2 when the motor is rotating due to inertia, the control circuit 5 resumes driving the motor 3. At this time, the control circuit 5 does not immediately start driving the motor 3 with the operation amount Md_n corresponding to the speed command value specified by the host device, but starts driving the motor 3 with the first operation amount Md_d corresponding to the rotational speed during inertia rotation. Then, the control circuit 5 changes the operation amount Md from the first operation amount Md_d to the second operation amount Md_n corresponding to the speed command value received from the host device. In this way, the control circuit 5 gently changes the rotational speed of the motor 3 from time t2 to time t3 to the target rotational speed specified at the time of restart.

[0045] Hereinafter, the specific configuration of the control circuit 5 for realizing the above function will be described in detail.

[0046] FIG. 3 is a diagram showing an example of the functional block configuration of the control circuit 5 according to the embodiment. As shown in FIG. 2, the control circuit 5 has, as functional blocks for realizing the above-described functions, for example, a drive command analysis unit 11, a rotational speed measurement unit 12, an operation state determination unit 13, a storage unit 14, an operation amount calculation unit 15, and a drive control signal generation unit 21.

[0047] Each of the above-described functional units of the control circuit 5 is realized, for example, by program processing of an MCU serving as the control circuit 5. Specifically, a processor constituting the MCU serving as the control circuit 5 performs various operations according to a program stored in a memory to control each peripheral circuit constituting the MCU, whereby each of the above-described functional units is realized.

[0048] The drive command analysis unit 11 is a functional unit that analyzes the drive command signal Sc to obtain the speed command value Stgt. The drive command signal Sc is a signal including information indicating the target operating state of the motor 3, and includes, for example, the speed command value Stgt specifying the target rotational speed of the motor 3. The drive command signal Sc may be, for example, a serial signal or a PWM signal having a duty ratio corresponding to the target rotational speed. The drive command analysis unit 11 outputs the speed command value Stgt obtained from the drive command signal Sc.

[0049] The rotational speed measurement unit 12 is a functional unit that measures the rotational speed of the motor 3. For example, when a position detection device such as a hall element is provided in the motor unit 1, the rotational speed measurement unit 12 calculates the actual rotational speed of the motor 3 by a known calculation method based on the position detection signal (hall signal) Sh output from the position detection device, and outputs it as the measured value Sv of the rotational speed. Further, for example, when a voltage detection circuit for detecting the back electromotive voltage of the motor 3 is provided in the motor unit 1 (in the case of a sensorless position method), the rotational speed measurement unit 12 calculates the actual rotational speed of the motor 3 by a known calculation method based on the back electromotive voltage Vbef detected by the voltage detection circuit, and outputs it as the measured value Sv of the rotational speed.

[0050] The operation state determination unit 13 is a functional unit that determines whether the motor 3 is rotating inertially. The storage unit 14 is a functional unit that stores various data necessary for the control circuit 5 to realize the above functions. For example, the storage unit 14 has an operation state register 141 indicating the operation state of the motor 3.

[0051] The operating state determination unit 13 determines that the motor 3 is rotating by inertia if the speed command value Stgt is zero and the measured rotational speed Sv is greater than the threshold. Also, if the speed command value Stgt is zero and the measured rotational speed Sv is less than or equal to the threshold, the operating state determination unit 13 determines that the rotation of the motor 3 has stopped. On the other hand, for example, if the speed command value Stgt is greater than zero and the manipulated variable Md is greater than zero, the unit determines that the motor 3 is being driven.

[0052] The operating state determination unit 13 sets the determination result in the operating state register 141. For example, if the operating state determination unit 13 determines that the motor 3 is rotating by inertia, it sets a value indicating "rotating by inertia" in the operating state register 141. If it determines that the rotation of the motor 3 has stopped, it sets a value indicating "stopped" in the operating state register 141. If it determines that the motor 3 is being driven, it sets a value indicating "driven" in the operating state register 141.

[0053] The manipulated variable calculation unit 15 is a functional unit that calculates and outputs the manipulated variable Md. The drive control signal generation unit 21 is a functional unit that generates a PWM signal with a duty cycle corresponding to the manipulated variable Md output from the manipulated variable calculation unit 15 and outputs it as a drive control signal Sd.

[0054] Specifically, the manipulated variable calculation unit 15 monitors the speed command value Stgt output from the drive command analysis unit 11 and the value of the operation state register 141. When the operation state determination unit 13 determines that the motor is not rotating by inertia (the operation state register 141 is "stopped" or "driven"), the manipulated variable calculation unit 15 detects that the speed command value Stgt has changed and calculates the manipulated variable Md so that the motor 3 rotates at a target rotational speed corresponding to the changed speed command value Stgt.

[0055] On the other hand, when the operating state determination unit 13 determines that the motor 3 is rotating by inertia (operating state register 141 is "inertial rotation"), the manipulated variable calculation unit 15 detects that the speed command value Stgt has changed, obtains the measured value Sv_d of the rotational speed during inertial rotation, calculates a first manipulated variable Md_d which corresponds to the obtained measured value Sv_d of the rotational speed, and a second manipulated variable Md_n which corresponds to the changed speed command value Stgt, and changes the output manipulated variable Md from the first manipulated variable Md_d to the second manipulated variable Md_n.

[0056] Here, the manipulated variable calculation unit 15 generates correspondence relationship information 140 that represents the correspondence between the rotational speed and the manipulated variable, and when restarting the motor 3 which is rotating by inertia, it calculates the first manipulated variable Md_d using the correspondence relationship information 140.

[0057] More specifically, the manipulated variable calculation unit 15 includes a data pair acquisition unit 19, a correspondence relationship information generation unit 18, a first manipulated variable calculation unit 16, a second manipulated variable calculation unit 17, and a manipulated variable output unit 20.

[0058] The data pair acquisition unit 19 acquires a first data pair Dp1 consisting of a measured value Sv of the rotational speed and a manipulated variable Md when the motor 3 is rotating in a first state, and acquires a second data pair Dp2 consisting of a measured value Sv of the rotational speed and a manipulated variable Md when the motor 3 is rotating in a second state different from the first state. The manipulated variable Md refers to the manipulated variable output from the manipulated variable output unit 20, which will be described later.

[0059] Here, the first state is the state after the motor 3 has been started. For example, the first state is the state in which the rotational speed of the motor 3 has stabilized after it has been started. Here, a state in which the rotational speed has stabilized means, for example, the state in which the rotation of the motor 3 has stopped (operational state register 141 is "stopped"), and a predetermined time has elapsed since the speed command value Stgt changed from zero to a value other than zero.

[0060] The data pair acquisition unit 19 acquires the first data pair Dp1 when it detects that the rotational speed of the motor 3 has stabilized after starting up. For example, when the motor 3 is stopped, the data pair acquisition unit 19 acquires the measured value Sv_1 of the rotational speed of the motor 3 and the manipulated variable Md_1 after a predetermined time has elapsed since the speed command value Stgt changed from zero to a value other than zero, and stores them in the storage unit 14 as the first data pair Dp1.

[0061] The second state is the state immediately before the motor 3 stops running. For example, the second state refers to the state when the speed command value Stgt changes from a non-zero value to zero.

[0062] The data pair acquisition unit 19 acquires a second data pair Dp2 when it detects that the speed command value Stgt has become zero. For example, when the data pair acquisition unit 19 detects that the speed command value Stgt has changed from a value other than zero to zero, it acquires the measured value Sv_2 of the rotational speed of the motor 3 at that time and the manipulated variable Md_2 immediately before the speed command value Stgt changed to zero, and stores them in the storage unit 14 as the second data pair Dp2. The data pair acquisition unit 19 updates the second data pair Dp2 each time it detects that the speed command value Stgt has become zero.

[0063] The correspondence relationship information generation unit 18 is a functional unit that generates correspondence relationship information 140 representing the correspondence between rotation speed and manipulated amount. The correspondence relationship information 140 will be described in detail below.

[0064] Figure 4 is a diagram illustrating the correspondence between rotational speed and manipulated variable. In Figure 4, the vertical axis represents the manipulated variable (duty cycle), and the horizontal axis represents the rotational speed.

[0065] The correspondence information 140 is a function that represents the relationship between rotational speed and the manipulated variable. For example, the correspondence information 140 is a linear function. That is, it is a linear function with rotational speed as the explanatory variable and the manipulated variable as the dependent variable.

[0066] The correspondence relationship information generation unit 18 generates correspondence relationship information 140 using data pairs of rotational speed measurement value Sv and manipulated variable Md acquired under different operating states of the motor 3. Specifically, the correspondence relationship information generation unit 18 calculates the correspondence relationship information 140 using a first data pair Dp1 and a second data pair Dp2. That is, as shown in Figure 4, the correspondence relationship information generation unit 18 calculates a function (linear function) that passes through a point based on the first data pair Dp1 and a point based on the second data pair Dp2 in a two-dimensional Cartesian coordinate system consisting of the manipulated variable Md and rotational speed (measured value of rotational speed) Sv, using a known calculation method, and stores it in the storage unit 14 as correspondence relationship information 140.

[0067] The second manipulated variable calculation unit 17 is a functional unit that calculates a second manipulated variable Md_n corresponding to the speed command value Stgt. For example, a table or function showing the correspondence between the speed command value Stgt (target rotational speed) and the second manipulated variable Md_n is pre-stored in the storage unit 14. For example, the second manipulated variable Md_n is set to increase as the speed command value Stgt (target rotational speed) increases. Therefore, the duty cycle of the drive control signal Sd increases as the target rotational speed increases. The second manipulated variable calculation unit 17 uses the table or function stored in the storage unit 14 to calculate the second manipulated variable Md_n corresponding to the speed command value Stgt (target rotational speed) acquired by the drive command analysis unit 11.

[0068] The first manipulated variable calculation unit 16 is a functional unit that calculates the first manipulated variable Md_d when restarting the motor 3 that is rotating by inertia. The first manipulated variable calculation unit 16 monitors the value of the operating state register 141 and the speed command value Stgt output from the drive command analysis unit 11. When the operating state determination unit 13 determines that the motor 3 is rotating by inertia (operating state register 141 is "rotating by inertia"), the first manipulated variable calculation unit 16 detects that the speed command value Stgt has changed from zero to a value other than zero, and calculates the manipulated variable corresponding to the measured rotation speed at that time based on the correspondence relationship information 140, and outputs it as the first manipulated variable Md_d.

[0069] For example, when the first manipulated variable calculation unit 16 detects that the speed command value Stgt has changed from zero to a value other than zero in a state of inertial rotation, it obtains the measured value of the rotational speed Sv_d at that time. Next, as shown in Figure 4, the first manipulated variable calculation unit 16 calculates the first manipulated variable Md_d by substituting the obtained measured value of the rotational speed Sv_d into the explanatory variable of the function (linear function) as correspondence relationship information 140.

[0070] The manipulated variable output unit 20 is a functional unit that outputs a manipulated variable Md based on a first manipulated variable Md_d and a second manipulated variable Md_n. The manipulated variable output unit 20 switches the manipulated variable Md to be output according to the rotation state of the motor 3.

[0071] Specifically, the manipulated variable output unit 20 outputs a manipulated variable corresponding to the speed command value Stgt calculated by the second manipulated variable calculation unit 17, i.e., the second manipulated variable Md_n, as the manipulated variable Md when the operating state determination unit 13 has determined that the motor 3 is being driven (operating state register 141 is "driven"), and when the operating state determination unit 13 has determined that the rotation of the motor 3 has stopped (operating state register 141 is "stopped").

[0072] On the other hand, when the operating state determination unit 13 determines that the motor 3 is rotating by inertia (operating state register 141 is "rotating by inertia"), the manipulated variable output unit 20 detects that the speed command value Stgt has changed from zero to a value other than zero, and changes the output manipulated variable Md from the first manipulated variable Md_d to the second manipulated variable Md_n. For example, as shown in Figure 2, the manipulated variable output unit 20 changes the output manipulated variable Md continuously or in steps from the first manipulated variable Md_d to the second manipulated variable Md_n. Here, the rate of change (slope) of the manipulated variable with respect to time can be set appropriately according to the specifications of the motor, etc.

[0073] Next, the processing flow by the motor drive control device 2 according to the embodiment will be described.

[0074] Figure 5A is a flowchart showing the processing flow by the motor drive control device 2 when the motor is started.

[0075] The following describes the processing flow of the motor drive control device 2 during motor startup, when motor 3 starts up from its initial state. Here, the initial state refers to the state in which the control circuit 5 is operational, the speed command value Stgt is zero, and the operating state of motor 3 is "stopped".

[0076] In the initial state, the control circuit 5 determines whether the speed command value Stgt is a value other than zero (step S11). If the speed command value Stgt is zero (step S11: NO), the control circuit 5 continues to wait until the speed command value Stgt changes to a value other than zero. On the other hand, if the speed command value Stgt is a value other than zero (step S11: YES), the control circuit 5 calculates the manipulated variable Md (step S12). Specifically, as described above, the second manipulated variable calculation unit 17 calculates the second manipulated variable Md_n based on the speed command value Stgt (≠0), the manipulated variable output unit 20 outputs the second manipulated variable Md_n as the manipulated variable Md, and the drive control signal generation unit 21 generates and outputs a drive control signal Sd with a duty cycle corresponding to the manipulated variable Md (=Md_n). As a result, the motor is started to drive (step S13).

[0077] After the motor is started, the control circuit 5 determines whether the rotational speed of the motor 3 has stabilized (step S14). For example, the control circuit 5 determines whether the rotational speed of the motor 3 has stabilized by determining whether a predetermined time has elapsed since detecting that the speed command value Stgt has changed to a value other than zero in step S11.

[0078] If a predetermined time has not elapsed since detecting that the speed command value Stgt has changed to a value other than zero (step S14: NO), the control circuit 5 determines that the rotational speed of the motor 3 is not stable and continues to wait for the predetermined time to elapse.

[0079] If a predetermined time has elapsed since detecting that the speed command value Stgt has changed to a value other than zero (step S14: YES), the control circuit 5 determines that the rotational speed of the motor 3 has stabilized and acquires the first data pair Dp1 (step S15). Specifically, the data pair acquisition unit 19 acquires the measured value of the rotational speed Sv_1 and the manipulated variable Md_1 (=Md_n) at that time using the method described above, and stores them in the storage unit 14 as the first data pair Dp1. The control circuit 5 sets the operating state to "driven". Specifically, the operating state determination unit 13 changes the value of the operating state register 141 in the storage unit 14 from "stopped" to "driven".

[0080] Next, we will explain the processing flow of the motor drive control device 2 after the motor has started.

[0081] Figures 5B and 5C are flowcharts showing the processing flow by the motor drive control device 2 after the motor has been started.

[0082] After the motor 3 is started, the control circuit 5 determines whether the value of the operating state register 141 is "inertial rotation" (step S21). If the value of the operating state register 141 is not "inertial rotation", the control circuit 5 determines whether the value of the operating state register 141 is "driven" (step S32). If the value of the operating state register 141 is not "driven" (step S32: NO), the control circuit 5 terminates processing.

[0083] If the value of the operation status register 141 is "Driven" (step S32: YES), the control circuit 5 determines whether the speed command value Stgt is zero or not (step S33). If the speed command value Stgt is not zero (step S33: NO), the control circuit 5 terminates processing.

[0084] If the speed command value Stgt is zero (step S33: YES), the control circuit 5 acquires the second data pair Dp2 (step S34). Specifically, the data pair acquisition unit 19 acquires the measured value of the rotational speed at that time Sv_2 and the manipulated amount Md_2 (=Md_n) just before the speed command value Stgt becomes zero using the method described above, and stores them in the storage unit 14 as the second data pair Dp2.

[0085] Next, the control circuit 5 calculates the manipulated variable Md (step S35). Specifically, as described above, the second manipulated variable calculation unit 17 sets the second manipulated variable Md_n to zero, and the drive control signal generation unit 21 sets the duty cycle of the drive control signal Sd to zero. As a result, the motor stops driving (step S36). The control circuit 5 sets the operating state to "inertial rotation" (step S37). Specifically, the operating state determination unit 13 changes the value of the operating state register 141 in the storage unit 14 from "driven" to "inertial rotation".

[0086] In step S21, if the value of the operating state register 141 is "inertial rotation", the control circuit 5 determines whether the speed command value Stgt is a value other than zero (step S22).

[0087] If the speed command value Stgt is not a value other than zero (step S22: NO), that is, if the speed command value Stgt is zero, the control circuit 5 determines whether the measured rotational speed Sv is below a threshold (step S30). If the measured rotational speed Sv is greater than the threshold (step S30: NO), the control circuit 5 terminates the series of processes. If the measured rotational speed Sv is below the threshold (step S30: YES), the control circuit 5 sets the operating state to "stopped" (step S31). Specifically, the operating state determination unit 13 changes the value of the operating state register 141 in the storage unit 14 from "inertial rotation" to "stopped".

[0088] In step S22, if the speed command value Stgt is a value other than zero, the control circuit 5 obtains the measured value of the rotational speed at that time (step S23). Next, the control circuit 5 generates correspondence relationship information 140 (step S24). Specifically, the correspondence relationship information generation unit 18 calculates a function using the first data pair Dp1 obtained in step S15 and the second data pair Dp2 obtained in step S34 using the method described above, and stores it in the storage unit 14 as correspondence relationship information 140.

[0089] Next, the control circuit 5 calculates the first manipulated variable Md_d (step S25). Specifically, as described above, the first manipulated variable calculation unit 16 uses the correspondence relationship information 140 generated in step S24 to calculate the first manipulated variable Md_d corresponding to the measured value Sv_d of the rotational speed acquired in step S23. The manipulated variable output unit 20 outputs the first manipulated variable Md_d as manipulated variable Md, and the drive control signal generation unit 21 generates and outputs a drive control signal Sd with a duty cycle corresponding to the manipulated variable Md (=Md_d). As a result, the motor is restarted (step S26). Next, the control circuit 5 sets the operating state to "driven" (step S27). Specifically, the operating state determination unit 13 changes the value of the operating state register 141 in the storage unit 14 from "inertial rotation" to "driven".

[0090] Next, the control circuit 5 calculates the second manipulated variable Md_n (step S28). Specifically, the second manipulated variable calculation unit 17 calculates the second manipulated variable Md_n based on the speed command value Stgt identified in step S22 using the method described above.

[0091] Next, the control circuit 5 continuously or stepwise changes the manipulated variable Md from the first manipulated variable Md_d calculated in step S25 to the second manipulated variable Md_n calculated in step S28 (step S29). As a result, the rotational speed of the motor 3 changes gradually from the rotational speed during inertial rotation to the rotational speed corresponding to the speed command value Stgt.

[0092] As described above, according to the motor drive control device 2 of the embodiment, when starting to drive the motor 3 from a state in which the motor 3 is rotating by inertia, the motor 3 is started to drive with a first manipulated variable Md_d corresponding to the measured value Sv_d of the rotational speed of the motor 3 when it is rotating by inertia. As a result, as shown in Figures 6A and 6B below, it is possible to suppress the rise in current flowing to the motor 3 when restarting the motor 3 which is rotating by inertia, thereby preventing damage to the motor 3 and the circuits surrounding the motor 3 (drive circuit 6, etc.).

[0093] Figure 6A shows the measured current flowing through the motor when it is restarted from a state of inertial rotation using a conventional motor drive control device. Figure 6B shows the measured current flowing through the motor 3 when it is restarted from a state of inertial rotation using the motor drive control device 2 according to the embodiment. In Figures 6A and 6B, the vertical axis represents current and the horizontal axis represents time.

[0094] In conventional motor drive control devices, when the control amount for restarting a motor that is rotating by inertia is set to a large value, a large current flows to the motor, as shown in Figure 6A, and the motor is stopped by the overcurrent prevention circuit in the motor drive control device.

[0095] In contrast, according to the motor drive control device 2 of the embodiment, even when a motor that is rotating by inertia is restarted, as shown in Figure 6B, the motor 3 is restarted with an operation amount corresponding to the rotational speed during inertia, so that a large current is not generated and the motor 3 can continue to operate normally.

[0096] Furthermore, according to the motor drive control device 2 of the embodiment, when the speed command value Stgt becomes a value other than zero while the motor 3 is rotating by inertia, the manipulated variable is changed from a value corresponding to the rotational speed when the motor 3 is rotating by inertia (Md_d) to a value corresponding to the speed command value Stgt (Md_n). This makes it possible to improve the speed responsiveness of the motor when restarting a motor that is rotating by inertia. For example, if the manipulated variable (duty cycle of the drive control signal) when restarting a motor that is rotating by inertia is set to a low value, it is possible to prevent the occurrence of overcurrent in the motor. However, because the motor starts from a low speed, it takes time for the motor's rotational speed to reach the target rotational speed, and the speed responsiveness decreases. In contrast, with the motor drive control device 2, the motor 3 is restarted from the rotational speed when it is rotating by inertia, so it is possible to improve the speed responsiveness.

[0097] The time it takes to move from the controlled input during inertial rotation to the controlled input corresponding to the speed command value Stgt should be set appropriately according to the specifications of motor unit 1 and the allowable motor current value.

[0098] As described above, when the motor drive control device 2 detects that the speed command value Stgt has changed while the motor 3 is determined not to be rotating by inertia, it calculates a control variable so that the motor 3 rotates at a target rotational speed corresponding to the changed speed command value Stgt. Also, as described above, when the motor drive control device 2 detects that the speed command value Stgt has changed while the motor 3 is determined to be rotating by inertia, it acquires a measured value of rotational speed Sv_d, calculates a first control variable Md_d which corresponds to the acquired measured value of rotational speed Sv_d, and a second control variable Md_n which corresponds to the changed speed command value Stgt, and changes the output control variable from the first control variable Md_d to the second control variable Md_n. This makes it easy to achieve appropriate motor drive control depending on whether the motor 3 is rotating by inertia or not.

[0099] Furthermore, as described above, the motor drive control device 2 acquires a first data pair Dp1, which consists of a measured value Sv_1 of the rotational speed and a manipulated variable Md_1 when the motor 3 is rotating in the first state, and a second data pair Dp2, which consists of a measured value Sv_2 of the rotational speed and a manipulated variable Md_2 when the motor 3 is rotating in a second state different from the first state. Based on the first data pair Dp1 and the second data pair Dp2, it generates correspondence information 140 that represents the correspondence between the rotational speed and the manipulated variable. In addition, when the motor drive control device 2 detects that the speed command value Stgt has changed from zero to a value other than zero while the motor 3 is determined to be rotating by inertia, it calculates a first manipulated variable Md_d, which is the manipulated variable corresponding to the measured value Sv_d of the rotational speed at that time, based on the correspondence information 140, and calculates a second manipulated variable Md_n based on the speed command value Stgt. Furthermore, when the motor drive control device 2 determines that the motor 3 is rotating by inertia and detects that the speed command value Stgt has changed from zero to a value other than zero, it changes the output manipulated variable Md from the first manipulated variable Md_d to the second manipulated variable Md_n.

[0100] According to this, by using the first data pair Dp1 and the second data pair Dp2, it becomes possible to easily calculate correspondence information 140 based on the characteristics of the motor 3 in actual operation. Furthermore, by using the correspondence information 140 calculated in this way, it becomes possible to more accurately calculate the first manipulated variable Md_d corresponding to the rotational speed when the motor 3 is rotating by inertia.

[0101] Furthermore, in the motor drive control device 2, the correspondence relationship information 140 may be a linear function representing the relationship between rotational speed and the manipulated variable. This allows for easy calculation of the first manipulated variable Md_d corresponding to the rotational speed when the motor 3 is rotating by inertia, thereby reducing the computational load on the microcontroller.

[0102] In the motor drive control device 2, the first state is the state after the motor has started, and the second state is the state immediately before the motor stops. This allows for the generation of appropriate correspondence information 140 according to the operating state of the motor, making it possible to accurately calculate the manipulated variable corresponding to the rotational speed during inertial rotation.

[0103] As described above, the motor drive control device 2 acquires the first data pair Dp1 after a predetermined time has elapsed since the speed command value Stgt changed from zero to a non-zero value while the motor 3 is stopped. This makes it possible to acquire the first data pair Dp1 when the motor's rotation speed has stabilized after the motor is started, thus enabling the generation of more accurate correspondence information 140.

[0104] The motor drive control device 2 acquires the second data pair Dp2 when it detects that the speed command value Stgt has become zero. This makes it easy to acquire the second data pair Dp2 in the state immediately before the motor drive stops.

[0105] The motor drive control device 2 updates the second data pair Dp2 each time it detects that the speed command value Stgt has become zero. This allows the device to acquire an appropriate second data pair Dp2 according to the driving conditions of the motor 3, such as when the power supply voltage drops due to a decrease in the remaining capacity of the motor unit 1's battery (not shown), and thus generate correspondence information 140 that appropriately reflects the driving state of the motor 3. For example, the remaining capacity of the motor unit 1's battery (not shown) decreases depending on usage. As the battery capacity decreases, the power supply voltage also decreases, so even if a PWM signal is generated with the same duty cycle, the rotational speed when the power supply voltage is high and the rotational speed when the power supply voltage is low will be different values. Therefore, by updating the second data pair Dp2 each time it detects that the speed command value Stgt has become zero, it becomes possible to calculate the manipulated variable corresponding to the rotational speed during inertial rotation more accurately.

[0106] The motor drive control device 2 determines that the motor 3 is rotating by inertia when the speed command value Stgt is zero and the measured rotational speed is greater than the threshold, and determines that the rotation of the motor 3 has stopped when the speed command value Stgt is zero and the measured rotational speed is less than or equal to the threshold. This makes it possible to appropriately distinguish between the state in which the motor 3 is rotating by inertia and the state in which the rotation of the motor 3 has stopped, and to control the motor 3 accordingly.

[0107] <<Expansion of Embodiments>> The present invention has been described in detail above based on embodiments, but it goes without saying that the present invention is not limited thereto and can be modified in various ways without departing from its essence.

[0108] For example, in the above embodiment, the motor 3 is not limited to a three-phase brushless DC motor, but may be a single-phase brushless DC motor, for example. Also, the motor 3 is not limited to a brushless DC motor, but may be of other types.

[0109] Furthermore, in the above embodiment, the control circuit 5 was shown as an example in which it calculates the manipulated amount Md of the motor 3 corresponding to the speed command value Stgt by open-loop control, but the manipulated amount Md(Md_n) may also be calculated by closed-loop control. For example, the control circuit 5 may calculate the manipulated amount Md(Md_n) by PID control calculation or the like so that the measured value of the rotational speed matches the target rotational speed.

[0110] Furthermore, while the example given illustrates a case where each functional part of the control circuit 5 is implemented by the program processing of the MCU, the case is not limited to this, and some or all of the functional parts of the control circuit 5 may be implemented by dedicated circuits (hardware).

[0111] 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.

[0112] 1...Motor unit, 2...Motor drive control device, 3...Motor, 4...Rotating blade (propeller), 5...Control circuit, 6...Drive circuit, 11...Drive command analysis unit, 12...Rotation speed measurement unit, 13...Operation state determination unit, 14...Storage unit, 15...Operated variable calculation unit, 16...First operated variable calculation unit, 17...Second operated variable calculation unit, 18...Correspondence relationship information generation unit, 19...Data pair acquisition unit, 20...Operated variable output unit, 21...Drive control signal generation unit, 140...Correspondence relationship information, 141...Operation state register, Md...Operated variable, Md_d...First operated variable, Md_n...Second operated variable, Sv...Measured value of rotation speed, Stgt...Speed ​​command value, Dp1...First data pair, Dp2...Second data pair, Sc...Drive command signal, Sd...Drive control signal.

Claims

1. A motor drive control device comprising: 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 an operating amount for the motor so that the motor rotates at the target rotational speed based on a drive command signal including a speed command value that specifies a target rotational speed for the motor, and generates and outputs the drive control signal according to the operating amount, wherein the control circuit starts driving the motor with an operating amount corresponding to the rotational speed of the motor when it is rotating by inertia, when starting to drive the motor from a state in which the motor is rotating by inertia.

2. A motor drive control device according to claim 1, wherein the control circuit changes the manipulated amount from a value corresponding to the rotational speed when the motor is rotating by inertia to a value corresponding to the speed command value when the speed command value becomes a value other than zero.

3. The motor drive control device according to claim 2, wherein the control circuit comprises: a drive command analysis unit that analyzes the drive command signal and obtains the speed command value; a rotation speed measurement unit that measures the rotation speed of the motor; an operation state determination unit that determines whether or not the motor is rotating by inertia; an operation amount calculation unit that calculates and outputs the operation amount based on the speed command value obtained by the drive command analysis unit and the determination result of the operation state determination unit; and a drive control signal generation unit that generates a PWM signal with a duty cycle corresponding to the operation amount output from the operation amount calculation unit and outputs it as the drive control signal, The motor drive control device includes an operation amount calculation unit that, when it detects that the speed command value has changed while the operating state determination unit has determined that the motor is not rotating by inertia, calculates the operation amount so that the motor rotates at the target rotation speed corresponding to the changed speed command value; and when it detects that the speed command value has changed while the operating state determination unit has determined that the motor is rotating by inertia, it acquires the rotation speed measurement value from the rotation speed measurement unit, calculates a first operation amount which corresponds to the acquired rotation speed measurement value and a second operation amount which corresponds to the changed speed command value, respectively, and changes the output operation amount from the first operation amount to the second operation amount.

4. The motor drive control device according to claim 3, wherein the manipulated amount calculation unit includes: a data pair acquisition unit that acquires a first data pair consisting of a measured value of the rotational speed and the manipulated amount when the motor is rotating in a first state, and a second data pair consisting of a measured value of the rotational speed and the manipulated amount when the motor is rotating in a second state different from the first state; a correspondence relationship information generation unit that generates correspondence relationship information representing the correspondence between the rotational speed and the manipulated amount based on the first data pair and the second data pair acquired by the data pair acquisition unit; a first manipulated amount calculation unit that, when the operating state determination unit has determined that the motor is rotating by inertia, detects that the speed command value has changed from zero to a value other than zero, calculates the first manipulated amount, which is the manipulated amount corresponding to the measured value of the rotational speed at that time, based on the correspondence relationship information; a second manipulated amount calculation unit that calculates the second manipulated amount based on the speed command value; and a manipulated amount output unit that outputs the manipulated amount based on the first manipulated amount and the second manipulated amount. The manipulated variable output unit is a motor drive control device that, when the operating state determination unit determines that the motor is rotating by inertia, detects that the speed command value has changed from zero to a value other than zero, and changes the output manipulated variable from the first manipulated variable to the second manipulated variable.

5. A motor drive control device according to claim 4, wherein the correspondence information is a linear function representing the relationship between the rotational speed and the manipulated variable.

6. A motor drive control device according to claim 4, wherein the first state is the state after the motor has been started, and the second state is the state immediately before the motor stops being driven.

7. A motor drive control device according to claim 6, wherein the data pair acquisition unit acquires the first data pair after a predetermined time has elapsed since the speed command value changed from zero to a value other than zero while the motor drive is stopped.

8. A motor drive control device according to claim 6, wherein the data pair acquisition unit updates the second data pair when it detects that the speed command value has become zero.

9. A motor drive control device according to claim 8, wherein the data pair acquisition unit acquires the second data pair each time it detects that the speed command value has become zero.

10. A motor drive control device according to claim 6, wherein the operating state determination unit determines that the motor is rotating by inertia when the speed command value is zero and the measured value of the rotational speed is greater than a threshold, and determines that the rotation of the motor has stopped when the speed command value is zero and the measured value of the rotational speed is less than or equal to a threshold.

11. A motor unit comprising a motor drive control device according to any one of claims 1 to 10, and the motor.

12. A motor drive control method comprising: a first step of calculating an amount of operation for the motor so that the motor rotates at the target rotational speed based on a drive command signal including a speed command value that specifies a target rotational speed for the motor, and generating a drive control signal corresponding to the amount of operation; and a second step of driving the motor based on the drive control signal, wherein the first step includes a step of calculating the amount of operation corresponding to the rotational speed when the motor is rotating by inertia, when the motor is driven from a state in which the motor is rotating by inertia.