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

The motor drive control device addresses the issue of high current during motor restarts by calculating and adjusting the drive control signal based on inertia, preventing damage and ensuring safe operation.

JP2026122560APending Publication Date: 2026-07-29MINEBEAMITSUMI INC
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
MINEBEAMITSUMI INC
Filing Date
2025-01-16
Publication Date
2026-07-29

AI Technical Summary

Technical Problem

When a motor is restarted after rotating by inertia, the large duty cycle of the drive control signal can cause a high current to flow, potentially damaging the motor and surrounding components.

Method used

A motor drive control device that calculates an operating amount corresponding to the rotational speed during inertia and generates a drive control signal to gradually change the motor's rotational speed, preventing damage by reducing the current surge.

Benefits of technology

Prevents damage to the motor and surrounding components by managing the current flow during motor restarts, ensuring safe and efficient operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026122560000001_ABST
    Figure 2026122560000001_ABST
Patent Text Reader

Abstract

This prevents damage to the motor and other components when restarting a motor that is rotating due to inertia. [Solution] The motor drive control device 2 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 variable Md for the motor 3 so that the motor 3 rotates at a target rotational speed based on a drive command signal Sc which includes a speed command value Stgt that specifies a target rotational speed for the motor 3, and generates and outputs a drive control signal Sd corresponding to the operating variable Md. The control circuit 5 is characterized in that, when starting to drive the motor 3 from a state in which the motor 3 is rotating by inertia, it starts driving the motor 3 with a first operating variable 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

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] Generally, in a flying device such as a drone equipped with a motor as a driving source of a rotary wing (propeller), when a speed command value is transmitted from a flight controller as a higher-level device, a motor drive control device in the flying device receives the speed command value and calculates an 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).

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

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

[0005] For example, in an aircraft, there are cases where control is performed to restart the motor after it has stopped (also called "motor restart"). For instance, while the motor is running and rotating, the flight controller, acting as a higher-level device, sends a speed command value set to "zero" to the aircraft, and the motor drive control unit within the aircraft stops the motor according to the received speed command value. This causes the motor to rotate by inertia. While the motor is rotating by inertia, the flight controller sends a new speed command value, and the motor drive control unit restarts the motor so that it rotates at a 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 is 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. [Means for solving the problem]

[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. [Effects of the Invention]

[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. [Brief explanation of the drawing]

[0010] [Figure 1] This figure shows the configuration of a motor unit equipped with a motor drive control device according to an embodiment. [Figure 2] This diagram illustrates a method for restarting a motor that is rotating by inertia, using a motor drive control device according to an embodiment. [Figure 3] This figure shows an example of the functional block configuration of the control circuit according to the embodiment. [Figure 4] This diagram illustrates the correspondence information showing the relationship between rotational speed and the manipulated variable. [Figure 5A] This flowchart shows the processing flow by the motor drive control device when the motor starts up. [Figure 5B] This flowchart shows the processing flow by the motor drive control device after the motor has been started. [Figure 5C] This flowchart shows the processing flow by the motor drive control device after the motor has been started. [Figure 6A]This figure shows the measured current flowing through a motor when it is restarted from a motor that is rotating by inertia using a conventional motor drive control device. [Figure 6B] This figure shows the measured current flowing through the motor when the motor, which is rotating by inertia, is restarted using the motor drive control device according to the embodiment. [Modes for carrying out the invention]

[0011] 1. Overview 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.

[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 variable (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 motor is rotating by inertia.

[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 operating amount calculation unit (15) that calculates and outputs the operating 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 operating amount output from the operating amount calculation unit and outputs it as the drive control signal, wherein the operating amount calculation unit determines whether or not the motor is rotating by inertia If the speed command value is detected to have changed while the motor is determined not to be rotating, the manipulated variable (Md_n) is calculated so that the motor rotates at the target rotational speed corresponding to the changed speed command value. If the speed command value is detected to have changed while the motor is determined to be rotating by inertia by the operating state determination unit, 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 according to 〔3〕 above, the operation amount calculation unit includes: a data pair acquisition unit (19) that acquires a first data pair (Dp1) that is a pair of a measured value of the rotation speed and the operation amount when the motor is rotating in a first state, and a second data pair (Dp2) that is a pair of a measured value of the rotation speed and the operation amount when the motor is rotating in a second state different from the first state; a correspondence information generation unit (18) that generates correspondence information (140) representing the correspondence relationship between the rotation speed and the operation amount based on the first data pair and the second data pair acquired by the data pair acquisition unit; a first operation amount calculation unit (16) that calculates the first operation amount, which is the operation amount corresponding to the measured value of the rotation speed at that time, based on the correspondence information when it is detected that the speed command value has changed from zero to a non-zero value in a state where the operation state determination unit has determined that the motor is rotating inertia; a second operation amount calculation unit (17) that calculates the second operation amount based on the speed command value; and an operation amount output unit (20) that outputs the operation amount based on the first operation amount and the second operation amount. The operation amount output unit may change the operation amount output from the first operation amount to the second operation amount when it is detected that the speed command value has changed from zero to a non-zero value in a state where the operation state determination unit has determined that the motor is rotating inertia.

[0016] 〔5〕In the motor drive control device according to 〔4〕 above, the correspondence information may be a linear function representing the relationship between the rotation speed and the operation amount.

[0017] 〔6〕In the motor drive control device according to 〔4〕 or 〔5〕 above, the first state may be the state after the motor is started, and the second state may be the state immediately before the drive of the motor stops.

[0018] 〔7〕In the motor drive control device according to any one of 〔4〕 to 〔6〕 above, the data pair acquisition unit may acquire the first data pair after a lapse of a predetermined time from when the speed command value changes from zero to a value other than zero in a state where the drive of the motor has stopped.

[0019] 〔8〕In the motor drive control device according to 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 according to any one of 〔4〕 to 〔8〕 above, the data pair acquisition unit may acquire the second data pair every time it detects that the speed command value has become zero.

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

[0022] 〔11〕A motor unit (1) according to a typical embodiment of the present invention includes the motor drive control device (2) according to any one of 〔1〕 to 〔10〕 above 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 rotational speed based on a drive command signal (Sc) including a speed command value (Stgt) that specifies a target rotational 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 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.

[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 descriptions 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 includes, 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 gearbox (not shown) or the like.

[0028] The motor unit 1 may also be equipped with 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 (e.g., 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 a 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 (MCU: Micro Controller Unit).

[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, mounted on a circuit board, and 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 M 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 M, 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 M 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 motor 3 using a first manipulated variable Md_d that corresponds to the rotational speed of motor 3 when it is rotating by inertia. More specifically, when the speed command value Stgt becomes a value other than zero while motor 3 is rotating by inertia, the control circuit 5 changes the manipulated variable Md from a value corresponding to the rotational speed of 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 rotation 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 Figure 2, the vertical axis represents the manipulated variable Md of motor 3 (duty cycle of the drive control signal Sd), and the horizontal axis represents time t. Reference numeral 301 represents a graph of the manipulated variable Md against time when motor 3 is stopped from rotating at a target rotational speed, inertial rotation occurs, and motor 3 is restarted from an inertial rotational state.

[0043] As shown in Figure 2, at time t0, the control circuit 5 calculates the manipulated variable Md so that the motor 3 rotates at the target rotational speed specified by the speed command value Stgt, and drives the motor 3. At time t1, if the speed command value Stgt transmitted from the host device becomes zero, the control circuit 5 sets the manipulated variable Md to zero and stops driving the motor 3. As a result, the motor 3 enters a state of inertial rotation.

[0044] Subsequently, at time t2, when the motor is rotating by inertia, if a speed command value Stgt greater than zero is transmitted from the higher-level device, the control circuit 5 restarts driving the motor 3. At this time, the control circuit 5 does not immediately start driving the motor 3 with a manipulated variable Md_n corresponding to the speed command value specified by the higher-level device, but rather starts driving the motor 3 with a first manipulated variable Md_d corresponding to the rotational speed during inertia. Then, the control circuit 5 changes the manipulated variable Md from the first manipulated variable Md_d to a second manipulated variable Md_n corresponding to the speed command value received from the higher-level device. In this way, the control circuit 5 gradually changes the rotational speed of the motor 3 to the target rotational speed specified at the time of restart between time t2 and time t3.

[0045] The specific configuration of the control circuit 5 for realizing the above functions will be described in detail below.

[0046] Figure 3 shows an example of the functional block configuration of the control circuit 5 according to the embodiment. As shown in Figure 2, the control circuit 5 includes, for example, a drive command analysis unit 11, a rotation speed measurement unit 12, an operating state determination unit 13, a storage unit 14, an manipulated variable calculation unit 15, and a drive control signal generation unit 21 as functional blocks for realizing the above-described functions.

[0047] Each of the functions of the control circuit 5 described above is realized, for example, by the program processing of the MCU as the control circuit 5. Specifically, the processor constituting the MCU as the control circuit 5 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.

[0048] The drive command analysis unit 11 is a functional unit that analyzes the drive command signal Sc and obtains a speed command value Stgt. The drive command signal Sc is a signal that includes information indicating the target operating state of the motor 3, and for example, includes a speed command value Stgt that specifies 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 cycle 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 measuring unit 12 is a functional unit that measures the rotational speed of the motor 3. For example, if the motor unit 1 is equipped with a position detection device such as a Hall element, the rotational speed measuring unit 12 calculates the actual rotational speed of the motor 3 based on the position detection signal (Hall signal) Sh output from the position detection device using a known calculation method and outputs it as the measured rotational speed Sv. Also, for example, if the motor unit 1 is equipped with a voltage detection circuit that detects the back electromotive force of the motor 3 (in the case of a position sensorless system), the rotational speed measuring unit 12 calculates the actual rotational speed of the motor 3 based on the back electromotive force Vbef detected by the voltage detection circuit using a known calculation method and outputs it as the measured rotational speed Sv.

[0050] The operating state determination unit 13 is a functional unit that determines whether or not the motor 3 is rotating by inertia. The storage unit 14 is a functional unit that stores various data necessary for the control circuit 5 to realize the above function. For example, the storage unit 14 has an operating state register 141 that indicates the operating 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; and 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 (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 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 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 rotational speed and a manipulated variable Md when the motor 3 is rotating in the first state, and acquires a second data pair Dp2 consisting of a measured value Sv of 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 motor 3 has started up. For example, the first state is the state in which the rotational speed of motor 3 has stabilized after it has started up. Here, a state in which the rotational speed has stabilized means, for example, the state in which the rotation of 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 non-zero value, 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 the 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 variable. The correspondence relationship information 140 will be described in detail below.

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

[0065] Correspondence information 140 is a function that represents the relationship between rotational speed and the manipulated variable. For example, 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 the second manipulated variable Md_n according 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 above 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 which 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 "inertial rotation"), 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 rotational 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 the first manipulated variable Md_d and the 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 determines that the motor 3 is being driven (operating state register 141 is "driven"), and when the operating state determination unit 13 determines 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 stepwise 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 M (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 motor 3 is started, 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", 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), 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 variable 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. According to this, as shown in Figures 6A and 6B below, when restarting the motor 3 which is rotating by inertia, the increase in the current flowing to the motor 3 can be suppressed, thereby preventing damage to the motor 3 and the surrounding circuits (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 by 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 input 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 protection circuit within 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 input 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). According to this, it is possible to improve the speed response of a motor when it is restarted from a motor that is rotating by inertia. For example, if the control amount (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 overcurrent from occurring 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 response decreases. In contrast, the motor drive control device 2 restarts the motor 3 from the rotational speed it was at when rotating by inertia, so it is possible to improve the speed response.

[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 obtains a measured value of rotational speed Sv_d, calculates a first control variable Md_d which corresponds to the obtained 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. According to this, it becomes easier to achieve appropriate motor drive control depending on whether or not motor 3 is rotating by inertia.

[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 also calculates a second manipulated variable Md_n based on the speed command value Stgt. Furthermore, 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 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 information 140 may be a linear function representing the relationship between rotational speed and the manipulated variable. According to this, the first manipulated variable Md_d, which corresponds to the rotational speed when motor 3 is rotating by inertia, can be easily calculated, 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. According to this, appropriate correspondence information 140 can be generated according to the operating state of the motor, making it possible to accurately calculate the control 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. According to this, it is possible to obtain the first data pair Dp1 when the motor's rotation speed has stabilized after the motor has started, making it possible to generate 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 obtain the second data pair Dp2 in the state immediately before the motor 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. According to this, an appropriate second data pair Dp2 can be obtained depending on the driving status 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), so that correspondence information 140 that appropriately reflects the driving state of the motor 3 can be generated. For example, the remaining capacity of the motor unit 1's battery (not shown) decreases depending on the 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. For this reason, by updating the second data pair Dp2 each time it is detected 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. According to this, it becomes possible to appropriately distinguish between the state in which motor 3 is rotating due to inertia and the state in which motor 3 has stopped rotating, and to control motor 3 accordingly.

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

[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 variable Md of the motor 3 corresponding to the speed command value Stgt using open-loop control. However, the manipulated variable Md(Md_n) may also be calculated using closed-loop control. For example, the control circuit 5 may calculate the manipulated variable Md(Md_n) using PID control calculations or the like so that the measured value of the rotational speed matches the target rotational speed.

[0110] Furthermore, while the example given illustrates how each functional part of the control circuit 5 is implemented by the programming of the MCU, the example 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. [Explanation of symbols]

[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 drive circuit that drives the motor based on a drive control signal for controlling the motor's operation, The control circuit includes a drive command signal that includes a speed command value specifying a target rotational speed for the motor, which calculates the amount of operation for the motor so that the motor rotates at the target rotational speed, and generates and outputs the drive control signal corresponding to the amount of operation. When the control circuit starts driving the motor from a state where the motor is rotating by inertia, it starts driving the motor with an amount corresponding to the rotational speed of the motor when it is rotating by inertia. Motor drive control device.

2. In the motor drive control device according to claim 1, The control circuit, when the speed command value becomes a value other than zero while the motor is rotating by inertia, changes the manipulated variable from a value corresponding to the rotational speed of the motor when it is rotating by inertia to a value corresponding to the speed command value. Motor drive control device.

3. In the motor drive control device according to claim 2, The aforementioned control circuit is A drive command analysis unit that analyzes the drive command signal and obtains the speed command value, A rotation speed measuring unit for measuring the rotation speed of the motor, An operating state determination unit that determines whether the motor is rotating by inertia, An operation quantity calculation unit calculates and outputs the operation quantity based on the speed command value obtained by the drive command analysis unit and the determination result of the operation state determination unit, The system includes a drive control signal generation unit that generates a PWM signal with a duty cycle corresponding to the manipulated amount output from the manipulated amount calculation unit and outputs it as the drive control signal, The manipulated amount calculation unit, 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 manipulated amount so that the motor rotates at the target rotational speed corresponding to the changed speed command value. 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 obtains the rotational speed measurement value from the rotational speed measurement unit, calculates a first manipulated amount corresponding to the obtained rotational speed measurement value and a second manipulated amount corresponding to the changed speed command value, respectively, and changes the output manipulated amount from the first manipulated amount to the second manipulated amount. Motor drive control device.

4. In the motor drive control device according to claim 3, The aforementioned manipulated variable calculation unit is: A data pair acquisition unit acquires a first data pair consisting of a measured value of the rotational speed and the manipulated variable 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 variable when the motor is rotating in a second state different from the first state. A correspondence relationship information generation unit generates correspondence relationship information representing the correspondence between the rotation speed and the manipulated quantity based on the first data pair and the second data pair acquired by the data pair acquisition unit, When the operating state determination unit determines that the motor is rotating by inertia, and the speed command value is detected to have changed from zero to a value other than zero, the first manipulated amount calculation unit 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 control variable calculation unit that calculates the second control variable based on the speed command value, Includes an operating variable output unit that outputs the operating variable based on the first operating variable and the second operating variable, The manipulated variable output unit, when it detects that the speed command value has changed from zero to a value other than zero while the operating state determination unit has determined that the motor is rotating by inertia, changes the output manipulated variable from the first manipulated variable to the second manipulated variable. Motor drive control device.

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

6. In the motor drive control device according to claim 4, The first state is the state after the motor has been started. The second state is the state immediately before the motor stops running. Motor drive control device.

7. In the motor drive control device according to claim 6, 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 has stopped. Motor drive control device.

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

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

10. In the motor drive control device according to claim 6, The operating state determination unit determines that the motor is rotating by inertia if the speed command value is zero and the measured rotational speed is greater than the threshold, and determines that the motor has stopped rotating if the speed command value is zero and the measured rotational speed is less than or equal to the threshold. Motor drive control device.

11. A motor drive control device according to any one of claims 1 to 10, The motor comprises Motor unit.

12. A first step involves calculating the amount of operation for the motor so that it rotates at the target rotational speed, based on a drive command signal that includes a speed command value specifying the target rotational speed of the motor, and generating a drive control signal corresponding to the amount of operation. The second step includes driving the motor based on the drive control signal, The first step includes, when driving the motor from a state in which the motor is rotating by inertia, calculating the manipulated amount according to the rotational speed of the motor when it is rotating by inertia. Motor drive control method.