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

By introducing a speed command analysis, storage, and target rotation speed determination unit into the motor control circuit, setting inflection points, and calculating target rotation speed, the problem of limited freedom of speed curves in the prior art is solved, and high-degree-of-freedom speed curve setting in motor drive control is realized.

CN114301331BActive Publication Date: 2026-06-16MINEBEAMITSUMI INC

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
MINEBEAMITSUMI INC
Filing Date
2021-09-23
Publication Date
2026-06-16

AI Technical Summary

Technical Problem

Existing driver ICs have limited degrees of freedom when setting the speed curve of a motor, and cannot achieve high-degree-of-freedom speed curve settings.

Method used

By introducing a speed command analysis unit, a storage unit, a target rotation speed determination unit, and a drive control signal generation unit into the motor control circuit, the inflection point is set and the target rotation speed is calculated using resolution information and rotation speed information, and a drive control signal is generated to achieve a high degree of freedom speed curve.

🎯Benefits of technology

It improves the degree of freedom of the speed curve in motor drive control, and can flexibly set the target rotation speed of the motor as needed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114301331B_ABST
    Figure CN114301331B_ABST
Patent Text Reader

Abstract

A motor control circuit, a motor drive control device, a motor unit, and a motor control method improve the degree of freedom of a speed curve related to a target rotational speed of a motor. A motor control circuit (11) measures a duty ratio of a speed command signal (Sc) input to indicate a target rotational speed of a drive target, i.e., a motor (50), and sets an inflection point (In) based on a duty ratio obtained by equally dividing a range of duty ratios available for the speed command signal (Sc) in accordance with resolution information (301) representing a resolution of the speed command signal (Sc). The motor control circuit (11) calculates a rotational speed corresponding to the measured duty ratio of the speed command signal (Sc) based on rotational speed information (302) representing a rotational speed of the inflection point (In) on the speed curve and the set inflection point (In), and determines the calculated rotational speed as the target rotational speed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to motor control circuits, motor drive control devices, motor units, and motor control methods. Background Technology

[0002] Previously, there was a known motor control circuit that controlled the rotational speed of a motor based on a speed command signal input from an external device such as a higher-level device. For example, in fan motors, it is known that a pulse-width modulation (PWM) signal (hereinafter referred to as "PWM signal") is used as the speed command signal, which has a duty ratio corresponding to the target rotational speed of the motor.

[0003] For example, Patent Documents 1 and 2 disclose a motor drive control device that, when a PWM signal as a speed command signal is input from an upper-level device, measures the duty cycle of the PWM signal and calculates the target rotational speed based on the measured duty cycle, thereby controlling the motor to rotate at the target rotational speed.

[0004] (Background Technical Documents)

[0005] (Patent Documents)

[0006] Patent Document 1: JP Japanese Patent Application Publication No. 2010-283908;

[0007] Patent document 2: JP 2016-226263. Summary of the Invention

[0008] (The problem the invention aims to solve)

[0009] In recent years, an integrated circuit (hereinafter referred to as a "driver IC") used as a motor control circuit has been known to be able to change the parameters of a function stored in non-volatile memory, which represents the relationship between the duty cycle of the speed command signal and the target rotational speed (target RPM) of the motor (hereinafter referred to as a "speed curve"). According to this driver IC, by changing the aforementioned parameters written from an information processing terminal such as a personal computer (PC) into the non-volatile memory within the integrated circuit, the aforementioned function can be changed according to the application of the motor.

[0010] However, conventional driver ICs are limited by the capacity of the non-volatile memory they can accommodate and the need to prevent processing speed degradation, which restricts the speed profiles they can set. Conventional driver ICs can only set defined speed profiles, such as line graphs formed by connecting several points with straight lines (e.g., four points), and cannot set speed profiles with high degrees of freedom.

[0011] This invention was made to solve the above-mentioned problems, and its purpose is to improve the degree of freedom of the speed curve related to the target rotational speed of the motor in the drive control of the motor.

[0012] (Solutions for solving the problem)

[0013] A representative embodiment of the present invention relates to a motor control circuit comprising: a speed command analysis unit that measures the duty cycle of an input speed command signal used to indicate a target rotational speed of a driven object, i.e., a motor; a storage unit that stores parameter information for defining a speed curve, the speed curve representing the relationship between the duty cycle of the speed command signal and the target rotational speed; a target rotational speed determination unit that determines the target rotational speed based on the parameter information stored in the storage unit and the measurement result of the duty cycle of the speed command signal by the speed command analysis unit; and a drive control signal generation unit that generates a drive control signal based on the target rotational speed determined by the target rotational speed determination unit. The rotational speed is used to generate a drive control signal for controlling the drive of the motor. The parameter information includes: resolution information, which represents the resolution of the duty cycle of the speed command signal; and rotational speed information, which represents the rotational speed at the inflection point in the speed curve. The target rotational speed determination unit sets the inflection point according to the duty cycle obtained by dividing the duty cycle range of the speed command signal equally based on the resolution information (every time). Based on the set inflection point and the rotational speed information, the unit calculates the rotational speed corresponding to the duty cycle of the speed command signal measured by the speed command analysis unit, and determines the calculated rotational speed as the target rotational speed.

[0014] (Invention Effects)

[0015] According to one embodiment of the present invention, in the drive control of a motor, the degree of freedom in setting the speed curve related to the target rotational speed of the motor can be improved. Attached Figure Description

[0016] Figure 1 This is a diagram illustrating a configuration example of the motor drive control device according to Embodiment 1.

[0017] Figure 2A This is a graph illustrating an example of a speed curve showing the relationship between the duty cycle of the speed command signal Sc and the target rotation speed, according to Embodiment 1.

[0018] Figure 2B yes Figure 2A An enlarged view of region a of the velocity curve shown.

[0019] Figure 3 This is a diagram illustrating the calculation method for calculating the target rotational speed using the motor control circuit according to Embodiment 1.

[0020] Figure 4 This is a flowchart illustrating one example of a processing flow for calculating the target rotation speed using the motor control circuit according to Embodiment 1.

[0021] Figure 5 This is a diagram illustrating a configuration example of the motor drive control device according to Embodiment 2.

[0022] Figure 6 This is a diagram illustrating the method for calculating the target rotational speed involved in Embodiment 2.

[0023] Figure 7 This is a diagram illustrating an example of the relationship between the number of speed commands, the number of linear interpolation points, and the number of inflection points.

[0024] Figure 8 This is a diagram illustrating the calculation method for calculating the target rotation speed using the motor control circuit according to Embodiment 2.

[0025] Figure 9 This is a flowchart illustrating an example of the processing flow of a calculation method for calculating the target rotational speed using the motor control circuit according to Embodiment 2. Detailed Implementation

[0026] 1. Overview of the implementation method

[0027] First, a brief description of representative embodiments of the invention disclosed in this application will be given. Furthermore, in the following description, as an example, reference numerals in the accompanying drawings corresponding to the technical features of the invention will be enclosed in parentheses.

[0028] [1] The motor control circuit (11, 11A) according to a representative embodiment of the present invention is characterized by comprising: a speed command analysis unit (24, 24A) that measures the duty cycle of an input speed command signal (Sc) for indicating the target rotational speed of the driven object, i.e., the motor (50); a storage unit (26, 26A) that stores parameter information (300, 300A) for defining a speed curve (201, 203), the speed curve representing the relationship between the duty cycle of the speed command signal and the target rotational speed; a target rotational speed determination unit (25, 25A) that determines the target rotational speed based on the parameter information stored in the storage unit and the measurement result of the duty cycle of the speed command signal by the speed command analysis unit; and a drive control signal generation unit. (14) Based on the target rotation speed determined by the target rotation speed determination unit, it generates a drive control signal (Sd) for controlling the drive of the motor. The parameter information includes: resolution information (301, 301A), which represents the resolution of the duty cycle of the speed command signal; and rotation speed information (302), which represents the rotation speed of the inflection point (In) of the speed curve. The target rotation speed determination unit sets the inflection point according to the duty cycle obtained by equally dividing the duty cycle range of the speed command signal based on the resolution information, and calculates the rotation speed corresponding to the duty cycle of the speed command signal measured by the speed command analysis unit based on the set inflection point and the rotation speed information, and determines the calculated rotation speed as the target rotation speed.

[0029] [2] In the motor control circuit (11) described in [1] above, the storage unit may also be configured to rewrite the parameter information.

[0030] [3] In the motor control circuit (11) described in [1] or [2] above, the resolution information may include information (303) on the number of inflection points that are set at equal intervals on the speed curve. The speed command analysis unit (24) measures the duty cycle of the speed command signal with a resolution based on the number of inflection points. The target rotation speed determination unit (25) determines the inflection point (In(k)) that corresponds to the duty cycle of the speed command signal measured by the speed command analysis unit from the set inflection points, calculates the rotation speed of the determined inflection point based on the rotation speed information, and sets the calculated rotation speed as the target rotation speed.

[0031] [4] In the motor control circuit (11A) described in [1] or [2] above, the resolution information (301A) may include at least two of the following: information (303) regarding the number of inflection points as a first resolution of the duty cycle of the speed command signal; information (304) regarding the number of speed commands as a second resolution higher than the first resolution of the duty cycle of the speed command signal; and information (305) regarding the number of linear interpolation points (equally spaced between adjacent inflection points) for linear interpolation between these inflection points. The target rotation speed determination unit (25A) sets the inflection points according to the duty cycle obtained by equally dividing the range of the duty cycle obtainable by the speed command signal based on the number of inflection points, and sets the sequence number (p) of the speed commands according to the duty cycle obtained by equally dividing the range of the duty cycle obtainable by the speed command signal based on the number of speed commands. The sequence number (j) of the speed command is determined from the set sequence number of the speed command, and the target rotation speed determination unit (25A) calculates the increase in rotation speed between the linear interpolation points between the previous inflection point (Rl) and the next inflection point (Rh) of the determined sequence number (j). Based on the difference (|Rh-Rl|) between the rotation speed (Rl) of the previous inflection point and the next inflection point (Rh) of the determined sequence number (j), the rotation speed corresponding to the determined sequence number of the speed command is calculated, and the calculated rotation speed is determined as the target rotation speed.

[0032] [5] In the motor control circuit described in [4] above, the target rotation speed determination unit (25A) may divide the determined speed command sequence number (j) by the number of linear interpolation points (q) plus 1 (2 n The remainder (r) is multiplied by the increase in rotational speed between the linear interpolation points (|Rh-Rl|), and the resulting value (r×|Rh-Rl|) is added to the rotational speed (Rl) of the previous inflection point. The sum is then determined as the target rotational speed.

[0033] [6] In the motor control circuit described in [4] or [5] above, it is also possible that when n is an integer greater than or equal to 1, the number of linear interpolation points is (2 n -1).

[0034] [7] In any of the motor control circuits described in [4] to [6] above, the target rotation speed determination unit (25A) may calculate the number of linear interpolation points based on the information (303) of the number of inflection points and the information (304) of the number of speed commands.

[0035] [8] The motor drive control device (10, 10A) according to the representative embodiment of the present invention is characterized in that it includes: a motor control circuit (11, 11A) as described in any one of [1] to [7] above; and a motor drive circuit (12) that drives the motor based on the drive control signal generated by the motor control circuit.

[0036] [9] The motor unit (2, 2A) in the representative embodiments of the present invention may also include: the motor drive control device (10, 10A) described above [8]; and the motor (50) driven by the motor drive control device.

[0037]

[10] The motor control method according to a representative embodiment of the present invention is characterized in that it is a method of controlling a motor (50) using a motor control circuit including a storage unit, wherein the storage unit stores parameter information for defining a speed curve, and the speed curve represents the relationship between the duty cycle of a speed command signal for indicating the target rotational speed of the driven object, i.e., the motor, and the target rotational speed. The motor control method includes: a first step (S13, S24), wherein the duty cycle of the input speed command signal is measured; a second step (S11, S14 to S16, S21, S22, S25 to S34), wherein the duty cycle of the speed command signal is determined based on the parameter information stored in the storage unit and the duty cycle of the speed command signal measured in the first step. The target rotational speed; and a third step, wherein, based on the target rotational speed determined in the second step, a drive control signal for controlling the drive of the motor is generated, the parameter information including: resolution information, which represents the resolution of the duty cycle of the speed command signal; and rotational speed information, which represents the rotational speed of the inflection point on the speed curve, the second step including the following steps: setting the inflection point according to the duty cycle obtained by equally dividing the duty cycle range of the speed command signal based on the resolution information, and calculating the rotational speed corresponding to the duty cycle of the speed command signal measured in the first step based on the set inflection point and the rotational speed information, and determining the calculated rotational speed as the target rotational speed.

[0038] 2. Specific examples of implementation methods

[0039] Hereinafter, specific examples of embodiments of the present invention will be described with reference to the accompanying drawings. Furthermore, in the following description, common technical features in each embodiment will be marked with the same reference numerals, and repeated descriptions will be omitted.

[0040] Implementation Method 1

[0041] Figure 1 This is a diagram illustrating a configuration example of the motor drive control device 10 according to Embodiment 1.

[0042] Figure 1 The motor drive control device 10 shown is a device for controlling the drive of the driven object, namely the motor 50. The motor 50 is, for example, a three-phase brushless motor. In addition, there is no particular limitation on the type of motor 50, and the number of phases is not limited to three phases. An impeller 51 is connected to the output shaft of the motor 50, for example.

[0043] Impeller 51 is a component that generates air and is configured to rotate by the rotational force of motor 50. For example, the rotating shaft of impeller 51 is coaxially connected to the output shaft of motor 50.

[0044] In this embodiment, for example, an impeller 51 and a motor 50 constitute a fan (fan motor) 5. Furthermore, the motor 50 and a motor drive control device 10 constitute a motor unit 2, and the fan 5 and the motor drive control device 10 constitute a fan unit 1. The fan unit 1 is, for example, disposed in an enclosed space within the server, forming a cooling system that cools various electronic components constituting the server. The fan unit 1 operates based on various commands from the higher-level device 4.

[0045] The upper-level device 4 is a control device that controls the drive of the fan unit 1. For example, when the fan unit 1 constitutes a cooling system for a server, the upper-level device 4 is a program processing device for implementing the main functions of the server.

[0046] For example, the upper-level device 4 is implemented by housing a program processing device (e.g., a microcontroller) together with the fan unit 1 in a housing. The program processing device has the following configuration: it interconnects peripheral circuits such as CPU processors, RAM, ROM and other storage devices, counters (timers), A / D conversion circuits, D / A conversion circuits, clock generation circuits and input / output (I / F) circuits via a bus or dedicated line.

[0047] The upper-level device 4 controls the fan 5 according to environmental changes (changes in processing load, changes in temperature inside the server, etc.) to ensure that the airflow of the fan (motor) is appropriate.

[0048] like Figure 1As shown, the upper-level device 4 includes, for example, a data processing control unit 41 for implementing the main functions of a server, and a communication unit 42 for communicating with the fan unit 1. The data processing control unit 41 and the communication unit 42 are implemented, for example, in the program processing device constituting the upper-level device 4, by a processor executing various arithmetic operations according to a program stored in memory, and controlling peripheral circuits such as counters and A / D conversion circuits.

[0049] In order to adjust the air volume supplied by the fan 5 configured in the server, the data processing control unit 41 sends a speed command signal Sc to the fan unit 1 through the communication unit 42, for example, the speed command signal Sc indicating the target rotational speed (target speed) of the motor 50 of the fan 5.

[0050] The speed command signal Sc is, for example, a PWM signal with a duty cycle corresponding to a specified target rotational speed. The transmission and reception of the speed command signal Sc are achieved, for example, through a dedicated line connecting the upper-level device 4 to the fan unit 1.

[0051] Furthermore, the data processing control unit 41 receives a rotational speed signal So (e.g., an FG (Frequency Generator) signal) representing the actual rotational speed (rotational speed) of the motor 50 output by the fan unit 1 via the communication unit 42, thereby monitoring the rotational state of the motor 50 of the fan unit 1. For example, the transmission and reception of the rotational speed signal So is achieved using a dedicated line connecting the upper-level device 4 to the fan unit 1.

[0052] Furthermore, the data processing control unit 41 transmits and receives various data with the fan unit 1 via the communication unit 42. For example, the data processing control unit 41 accesses the fan unit 1 via the communication unit 42, writes the parameter information 300 (described later) into the motor control circuit 11, and rewrites the parameter information 300 stored in the motor control circuit 11. At this time, the upper-level device 4 (communication unit 42) and the fan unit 1 (motor drive control device 10) communicate, for example, via serial communication. In addition, the communication method between the fan unit 1 and the upper-level device 4 is not particularly limited; it can be wired communication or wireless communication.

[0053] The motor drive control device 10 generates a drive control signal Sd based on the speed command (speed command signal Sc) from the upper-level device 4, and periodically flows a sinusoidal drive current in each phase (e.g., three-phase) coil of the motor 50 to rotate the motor 50. The motor drive control device 10 includes a motor control circuit 11, a motor drive circuit 12, and a position detection device 13.

[0054] The position detection device 13 is a device for detecting the rotational position of the rotor of the motor 50, such as a Hall element. The position detection device 13 outputs a position detection signal (Hall signal) based on the position of the rotor of the motor 50.

[0055] The motor control circuit 11 controls the drive of the motor 50 based on the speed command from the upper-level device 4 and the position detection signal from the position detection device 13. Specifically, the motor control circuit 11 measures the rotational speed of the motor 50 based on the position detection signal from the position detection device 13, and generates a drive control signal Sd such that this rotational speed matches the target rotational speed specified by the speed command signal Sc input from the external source (upper-level device 4). The drive control signal Sd is, for example, a PWM (Pulse Width Modulation) signal. Further details regarding the motor control circuit 11 will be described later.

[0056] The motor drive circuit 12 drives the motor 50 based on the drive control signal Sd generated by the motor control circuit 11. For example, the motor drive circuit 12 includes an inverter circuit and a pre-drive circuit (not shown).

[0057] The inverter circuit outputs a drive signal to the motor 50 based on the output signal from the pre-drive circuit, thereby energizing the coils included in the motor 50. The inverter circuit is configured, for example, as a series circuit pair of two switching elements arranged at the two ends of a DC power supply relative to each phase coil. In the circuit pair of the two switching elements, the terminals of each phase of the motor 50 are connected at the connection points between the switching elements.

[0058] The pre-drive circuit generates an output signal for driving the inverter circuit based on the drive control signal Sd and outputs it to the inverter circuit. For example, the pre-drive circuit generates and outputs drive signals for driving each switching element of the inverter circuit based on the drive control signal Sd. This drive signal turns on / off each switching element constituting the inverter circuit, thereby supplying power to each phase of the motor 50, causing the rotor of the motor 50 to rotate.

[0059] Next, the motor control circuit 11 will be described in detail.

[0060] The motor control circuit 11 is implemented, for example, by a program processing device (e.g., a microcontroller), which is configured to interconnect peripheral circuits such as a CPU, RAM, ROM, flash memory, counters (timers), A / D conversion circuits, D / A conversion circuits, clock generation circuits, and input / output (I / F) circuits via a bus or dedicated line.

[0061] In addition, the motor control circuit 11 and the motor drive circuit 12 can be packaged as independent integrated circuit devices (ICs) or as a single integrated circuit device (IC) package.

[0062] As described above, the motor control circuit 11 generates a drive control signal Sd such that the rotational speed of the motor 50 matches the target rotational speed specified by the speed command signal Sc. At this time, the motor control circuit 11 analyzes the PWM signal input from the outside as the speed command signal Sc and measures the duty cycle of the speed command signal Sc. The motor control circuit 11 uses parameter information 300 pre-stored in its storage device for defining a speed curve to calculate the target rotational speed corresponding to the measured duty cycle of the speed command signal Sc, whereby the speed curve represents the relationship between the duty cycle of the speed command signal Sc and the target rotational speed.

[0063] The motor control circuit 11 includes, for example, a drive control signal generation unit 14, a rotation speed measurement unit 17, an FG signal generation unit 18, a communication unit 20, a speed command analysis unit 24, a target rotation speed determination unit 25, and a storage unit 26 as functional blocks to implement the functions related to the drive control of the motor 50. These functional units are implemented, for example, by the CPU in the aforementioned program processing device executing various arithmetic operations according to a program stored in memory, and controlling peripheral circuits based on the processing results.

[0064] The following is a detailed description of each functional part of the motor control circuit 11.

[0065] The drive control signal generation unit 14 is a functional unit for generating drive control signals Sd. For example, when the drive control signal generation unit 14 receives a speed command signal Sc output from the upper-level device 4, it generates the drive control signal Sd in such a way that the target rotation speed calculated by the target rotation speed determination unit 25 based on the speed command signal Sc matches the actual rotation speed of the motor 50.

[0066] like Figure 1 As shown, the drive control signal generation unit 14 includes, for example, a duty cycle determination unit 15 and a power-on control unit 16. The duty cycle determination unit 15 determines the duty cycle of the PWM signal, which serves as the drive control signal Sd, based on the target rotation speed output by the target rotation speed determination unit 25 and the measured value of the rotation speed of the motor 50 measured by the rotation speed measurement unit 17 (described later). For example, the duty cycle determination unit 15 calculates the control quantity of the motor 50 in such a way that the difference between the measured value of the target rotation speed and the rotation speed of the motor 50 decreases, and determines the duty cycle of the PWM signal corresponding to the control quantity. The power-on control unit 16 generates a PWM signal with the duty cycle determined by the duty cycle determination unit 15 and outputs it as the drive control signal Sd.

[0067] The rotational speed measuring unit 17 is a functional unit that measures the rotational speed of the motor 50. The rotational speed measuring unit 17 measures the rotational speed of the motor 50 based, for example, on the position detection signal output by the position detection device 13 (e.g., a Hall element), and outputs the measurement result.

[0068] The FG signal generation unit 18 generates an FG signal as a rotational speed signal So representing the rotational speed of the motor 50. For example, based on the position detection signal output by the position detection device 13, the FG signal generation unit 18 generates and outputs a signal (FG signal) with a period (frequency) proportional to the rotational speed of the motor 50. The FG signal output from the FG signal generation unit 18 is input to the upstream device 4 as the rotational speed signal So.

[0069] Alternatively, the FG signal generation unit 18 can also be implemented by forming an FG pattern on the substrate (printed circuit board) on which the motor 50 is mounted.

[0070] The communication unit 20 is a functional unit for communicating with external devices. For example, the communication unit 20 transmits and receives data with a higher-level device 4, which is an external device. The communication unit 20 includes a transmitting unit 21, a receiving unit 22, and a communication control unit 23.

[0071] The transmitting unit 21 transmits signals to an external device (e.g., an external device such as the upper-level device 4). The receiving unit 22 receives signals from an external device (e.g., an external device such as the upper-level device 4). The transmitting unit 21 and the receiving unit 22 are, for example, a serial communication interface circuit controlled by the communication control unit 23, which generates a predetermined serial signal and transmits it to the communication line, while simultaneously receiving serial signals from the communication line.

[0072] The communication control unit 23 sends encoded data to the transmitting unit 21 and decodes the data received by the receiving unit 22, thereby realizing data transmission and reception with the upper-level device 4. The communication control unit 23 is implemented, for example, by executing program processing by the processor constituting the motor drive control device 10 described above.

[0073] Furthermore, the communication control unit 23 stores data sent by external devices such as the upper-level device 4 into the storage unit 26. For example, when the upper-level device 4 sends a write request for parameter information 300 (described later) and data of parameter information 300 to be written, the communication control unit 23 stores the parameter information 300 received by the receiving unit 22 into the storage unit 26. Afterward, the communication control unit 23 sends data indicating that the writing of parameter information 300 has been completed as a response to the write request from the sending unit 21 to the upper-level device 4 (communication unit 42).

[0074] In the motor control circuit 11 according to Embodiment 1, the target rotational speed of the motor 50 is calculated based on the speed command signal Sc input from the upper device 4, etc., and the parameter information 300 for defining the speed curve, wherein the speed curve represents the relationship between the duty cycle of the speed command signal Sc and the target rotational speed. Specifically, the motor control circuit 11 pre-sets the number of inflection points of the speed curve that should be set within the range of duty cycles (e.g., 0% to 100%) that the speed command signal Sc can obtain, and the rotational speed of each inflection point. It measures the duty cycle of the input speed command signal Sc with a resolution based on the number of inflection points, and determines the target rotational speed of the motor 50 based on the rotational speed of the inflection point corresponding to the measurement result of the duty cycle of the speed command signal Sc.

[0075] Here, an inflection point refers to a point in a two-dimensional orthogonal coordinate system formed by the duty cycle of the speed command signal Sc and the rotational speed of the motor, used to define an arbitrary speed curve. By setting inflection points, the slope of the speed curve can be arbitrarily set. As will be described later, in this embodiment, the rotational speed value of each inflection point is preset, and on the other hand, the duty cycle value of the speed command signal Sc at each inflection point is determined with a resolution based on the number of inflection points set.

[0076] The following is a detailed explanation of the method for determining the target rotation speed using the motor control circuit 11.

[0077] Figure 2A This is a graph illustrating an example of a speed curve representing the relationship between the duty cycle of the speed command signal Sc and the target rotation speed, according to Implementation Method 1. Figure 2B yes Figure 2A An enlarged view of region a of velocity curve 201 shown. Figure 2A and Figure 2B In the diagram, the vertical axis represents the target rotation speed [rpm], and the horizontal axis represents the duty cycle [%] of the speed command signal Sc.

[0078] Figure 2A and Figure 2B The speed curve 201 shown represents the relationship between the duty cycle and the target rotational speed (target rotational speed) of the motor 50 within the duty cycle range (e.g., 0% to 100%) available for the PWM signal, which serves as the speed command signal Sc. The speed curve 201 is configured as follows: the number of inflection points is set to "50", and the ratio (slope) of the rotational speed relative to the duty cycle changes between the 0% to 10% duty cycle range and the 80% to 100% duty cycle range.

[0079] For example, when the number of inflection points (number of inflection points) m (m is an integer greater than or equal to 1) is "50", such as Figure 2BAs shown, inflection points In are set every 2% (=(100%-0%) / 50), and arbitrary rotation speeds are set at each inflection point In. For example, a rotation speed of "800" is set at inflection point In(1), and a rotation speed of "1200" is set at inflection point In(2).

[0080] The motor control circuit 11 of Embodiment 1 stores information about the number of inflection points m and the rotational speed of each inflection point as parameter information 300 in a storage device beforehand, and calculates the target rotational speed of the motor 50 based on the stored parameter information 300 and the duty cycle of the speed command signal Sc analyzed with a resolution based on the number of inflection points m. Specifically, the motor control circuit 11 includes a speed command analysis unit 24, a storage unit 26, and a target rotational speed determination unit 25 as functional units for determining the target rotational speed of the motor 50.

[0081] Storage unit 26 is a functional unit for storing parameter information 300 required to calculate the target rotational speed of motor 50 based on speed command signal Sc.

[0082] Parameter information 300 refers to data used to define the relationship between the duty cycle of the speed command signal Sc and the target rotation speed. Specifically, parameter information 300 includes resolution information 301 and rotation speed information 302.

[0083] Resolution information 301 is information used to represent the resolution of the duty cycle of the speed command signal Sc. In this embodiment, resolution information 301 includes information about the number of inflection points (hereinafter also referred to as "number of inflection points") 303 that are equally spaced on the speed curve. Rotation speed information 302 is information containing the rotation speed value of each inflection point. Rotation speed information 302 is, for example, a data pair that associates the inflection point sequence number m assigned to each inflection point with the rotation speed value based on the number of inflection points 303 specified by resolution information 301.

[0084] The storage unit 26 is configured to rewrite parameter information 300. For example, the storage unit 26 is implemented by a storage area of ​​a rewritable non-volatile memory such as flash memory mounted in a program processing device that serves as the motor control circuit 11, and the parameter information 300 is stored in the storage area. As described above, the upper-level device 4 or other information processing device (e.g., PC) communicates with the motor control circuit 11 through the communication unit 20, thereby rewriting the parameter information 300 stored in the storage unit 26.

[0085] The speed command analysis unit 24 is a functional unit that receives a speed command signal Sc (PWM signal) from an external source (upper-level device 4) that indicates the target rotational speed of the driven object, i.e., the motor 50, using a duty cycle, and analyzes the received speed command signal Sc. The speed command analysis unit 24 measures the duty cycle of the speed command signal Sc at the resolution specified by the resolution information 301 contained in the parameter information 300, and outputs the measured value.

[0086] Specifically, the speed command analysis unit 24 measures the duty cycle of the speed command signal Sc with a resolution based on the number of inflection points (number of inflection points) m, which is the resolution information 301, and outputs the measurement result. For example, when the number of inflection points m = 50, the duty cycle of the speed command signal Sc is measured with a resolution (unit) of 2% (= duty cycle range / resolution = (100% - 0%) / 50). For example, when a speed command signal Sc with a duty cycle of 1% is input, the speed command analysis unit 24 outputs the measured value of the duty cycle of the speed command signal Sc as "0%", and when a speed command signal Sc with a duty cycle of 3% is input, the measured value of the duty cycle of the speed command signal Sc is output as "2%". Thus, the speed command analysis unit 24 analyzes the duty cycle of the speed command signal Sc with a resolution based on the number of inflection points.

[0087] The target rotation speed determination unit 25 determines the target rotation speed based on the parameter information 300 stored in the storage unit 26 and the measurement results of the duty cycle of the speed command signal Sc by the speed command analysis unit 24. Specifically, the target rotation speed determination unit 25 sets an inflection point In at each duty cycle obtained by equally dividing the range of available duty cycles of the speed command signal Sc (e.g., 0% to 100%) with a resolution (based on the resolution information 301 (number of inflection points m)). Based on the set inflection point In and the rotation speed information 302, it calculates the rotation speed corresponding to the duty cycle of the speed command signal Sc measured by the speed command analysis unit 24, and determines the calculated rotation speed as the target rotation speed.

[0088] In this embodiment, as described above, an inflection point is a point that can change the slope of the velocity curve, but the slope at the inflection point does not necessarily change. For example, in Figure 2A The slope of the velocity curve at point 202 (duty cycle 30%) on the velocity curve 201 shown does not change, but in this embodiment, an inflection point is still set at point 202. That is, in this embodiment, whether the slope at each inflection point changes depends on the value of the rotational speed, which can be arbitrarily set through the rotational speed information 302.

[0089] Next, we will explain the specific calculation and processing flow for the target rotation speed.

[0090] Here, with Figure 2A and Figure 2B The same applies to the following case: the duty cycle range that the speed command signal Sc can acquire is 0% to 100%. The number of inflection points (the number of inflection points In) m, which is the resolution information 301, is set to "50". At each of the 50 inflection points In, the following settings are provided: Figure 2A and Figure 2B The given rotational speed value is shown as rotational speed information 302.

[0091] Figure 3 This is a diagram illustrating the calculation method for calculating the target rotation speed using the motor control circuit 11 according to Embodiment 1. Figure 4 This is a flowchart illustrating one example of a processing flow for calculating the target rotation speed using the motor control circuit 11 according to Embodiment 1.

[0092] For example, when the motor control circuit 11 is started, the target rotation speed determination unit 25 reads the parameter information 300 from the storage unit 26 and performs initial settings. Specifically, the target rotation speed determination unit 25 first sets inflection points In at equal intervals within the duty cycle range (0% to 100%) that the speed command signal Sc can obtain, based on the resolution information 301 (inflection point number 303) and rotation speed information 302 stored in the storage unit 26 (step S11). Specifically, the target rotation speed determination unit 25 sets inflection points In at each duty cycle obtained by equally dividing the duty cycle range (0% to 100%) that the speed command signal Sc can obtain based on the inflection point number m.

[0093] In the example above, the inflection point number 303 is set to m = 50, therefore, as Figure 2B and Figure 3 As shown, the target rotation speed determination unit 25 sets an inflection point In every 2% (= duty cycle range / number of inflection points=(100%-0%) / 50) within the duty cycle range of 0% to 100%, and assigns an arrangement number m from 0 to 50 to each inflection point In.

[0094] Next, the motor control circuit 11 determines whether a PWM signal as a speed command signal Sc has been input from an external source (upper-level device 4) to the motor control circuit 11 (step S12). If no speed command signal Sc is input (step S12: no), the motor control circuit 11 continues to wait for the input of the speed command signal Sc.

[0095] When a speed command signal Sc is input (step S12: Yes), the speed command analysis unit 24 measures the duty cycle of the speed command signal Sc (step S13). Specifically, the speed command analysis unit 24 measures the duty cycle of the speed command signal Sc at the resolution specified by the resolution information 301 (number of inflection points 303) stored in the storage unit 26. For example, in the above example, the number of inflection points is set to "50" according to the resolution information 301. Therefore, within the range of 0% to 100% of the duty cycle that the speed command signal Sc can obtain, the duty cycle of the speed command signal Sc is measured at a resolution (unit) of 2% (=(100%-0%) / 50). Here, the measured value of the duty cycle of the input speed command signal Sc is set to 6%.

[0096] Next, the target rotation speed determination unit 25 calculates the rotation speed corresponding to the duty cycle of the speed command signal Sc measured by the speed command analysis unit 24 based on the set inflection point In and the rotation speed information 302. Specifically, the target rotation speed determination unit 25 first determines the arrangement number k of the inflection point In from the set inflection points In that corresponds to the measured value of the duty cycle obtained in step S11 (step S14). In the above example, the duty cycle of the speed command signal Sc measured in step S12 is "6%", therefore, as Figure 3 As shown, the target rotation speed determination unit 25 sets the arrangement number k of the inflection point corresponding to the input speed command signal Sc to the arrangement number "3" (k=3) corresponding to the duty cycle = 6%.

[0097] Next, the target rotation speed determination unit 25 calculates the rotation speed of the inflection point In(k) of the arrangement number k determined in step S14 (step S15). In the above example, as Figure 3 As shown, the target rotation speed determination unit 25 reads the value of the rotation speed of the inflection point k=3 determined in step S14, “1520”, from the rotation speed information 302.

[0098] Then, the target rotation speed determination unit 25 determines the rotation speed obtained in step S13 as the target rotation speed (step S16). In the above example, the target rotation speed determination unit 25 assigns the value of the rotation speed obtained in step S15, "1520", as the target rotation speed to the drive control signal generation unit 14.

[0099] Through the above processing steps, the target rotation speed is calculated based on the speed command signal Sc.

[0100] In the motor control circuit 11 according to Embodiment 1, resolution information 301, representing the resolution of the duty cycle of the speed command signal Sc, and rotation speed information 302, representing the rotation speed at the inflection point In(k) of the speed curve, are stored as parameter information 300 for defining the speed curve. The speed curve represents the relationship between the duty cycle of the speed command signal Sc and the target rotation speed of the motor 50. The motor control circuit 11 sets an inflection point In(k) at each duty cycle obtained by equally dividing the range of available duty cycles of the speed command signal Sc based on the resolution information 301. Based on the set inflection point In(k) and the rotation speed information 302, it calculates the rotation speed corresponding to the measurement result of the duty cycle of the input speed command signal Sc, and determines the calculated rotation speed as the target rotation speed.

[0101] Accordingly, by arbitrarily setting the resolution of the duty cycle of the speed command signal Sc specified by the resolution information 301, and the value of the rotation speed of the inflection points In that are equally spaced based on the resolution, the user can set a speed curve with a high degree of freedom.

[0102] Specifically, the motor control circuit 11 stores information (number of inflection points In) m, which are equally spaced on the speed curve, as resolution information 301, and measures the duty cycle of the speed command signal Sc with resolution based on the number of inflection points m. Furthermore, the motor control circuit 11 determines the inflection point In(k) corresponding to the duty cycle of the measured speed command signal Sc from the pre-set inflection points In, calculates the rotational speed of the determined inflection point In(k) based on the rotational speed information 302, and sets the calculated rotational speed as the target rotational speed.

[0103] As described above, according to the motor control circuit 11 of Embodiment 1, by pre-storing information on the resolution of the duty cycle of the speed command signal (the sequence number of the inflection points) and the rotational speed information of each inflection point, the inflection points can be automatically set at equal intervals, and the required rotational speed can be assigned to each inflection point. Therefore, compared to existing speed curve setting methods, by pre-storing data on the inflection points with pre-set duty cycle values ​​of the speed command signal and rotational speed values, it is easier to set a high degree of freedom speed curve.

[0104] Furthermore, according to the motor control circuit 11 of Embodiment 1, the duty cycle value of each inflection point is calculated based on the resolution information 301 (the arrangement number of the inflection points). Therefore, it is not necessary to pre-store the duty cycle information of each inflection point, thereby reducing the capacity of the rewritable non-volatile memory such as flash memory mounted on the motor control circuit 11. As a result, the cost of the motor control circuit 11 can be controlled.

[0105] Furthermore, instead of actually deriving a function representing the speed curve and using that function to calculate the target rotational speed as in existing methods, the motor control circuit 11 measures the duty cycle of the speed command signal Sc with a resolution corresponding to the number of inflection points, and reads the rotational speed of the inflection point corresponding to the measured value of the duty cycle of the speed command signal Sc from the rotational speed information 302, thereby determining the target rotational speed. Therefore, no complex calculations are required, which can suppress the processing load of the CPU.

[0106] Implementation Method 2

[0107] Figure 5 This is a diagram illustrating a configuration example of the motor drive control device 10A according to Embodiment 2. Unlike the motor drive control device 10 according to Embodiment 1, the motor drive control device 10A according to Embodiment 2 has the function of calculating the target rotational speed according to a speed curve that linearly interpolates between inflection points In, and is otherwise the same as the motor drive control device 10 according to Embodiment 1.

[0108] The motor control circuit 11A according to Embodiment 2 sets inflection points at equal intervals within the duty cycle range (e.g., 0% to 100%) that the speed command signal Sc can obtain, and calculates the target rotation speed according to the speed curve that sets linear interpolation points Cr at equal intervals between each inflection point In for linear interpolation between each inflection point In.

[0109] Figure 6 This is a diagram illustrating the method for calculating the target rotational speed involved in Embodiment 2.

[0110] exist Figure 6 An example of a velocity curve 203 showing the relationship between the duty cycle of the velocity command signal Sc according to Embodiment 2 and the target rotation speed is shown. Figure 6 In the diagram, the vertical axis represents the target rotation speed [rpm], and the horizontal axis represents the duty cycle [%] of the speed command signal Sc.

[0111] and Figure 2A The velocity curve 201 shown is similar. Figure 6The speed curve 203 shown has 50 inflection points within the duty cycle range (0% to 100% in this example) available from the PWM signal, which serves as the speed command signal Sc. An inflection point In is set every 2% (= duty cycle range / number of inflection points = (100% - 0%) / 50), and a predetermined rotational speed is assigned to each inflection point In. Furthermore, similar to speed curve 201, speed curve 203 is configured such that the rotational speed changes relative to the duty cycle of the speed command signal Sc in the duty cycle ranges of 0% to 10% and 80% to 100%. Additionally, speed curve 203 sets q (= 7) linear interpolation points Cr(1) to Cr(7) at equal intervals between adjacent inflection points In.

[0112] It should be noted that, in Figure 6 In, with Figure 2B Similarly, the duty cycle of the speed command signal Sc in the magnified speed curve 203 ranges from 0% to 8%.

[0113] Motor control circuit 11A is designed to specify, for example Figure 6 The velocity curve 203 shown uses the number of inflection points m as the first resolution, the value of the rotational speed set at each inflection point, and the number of velocity commands p (p≥m) as the second resolution, which is higher than the first resolution.

[0114] The motor control circuit 11A measures the duty cycle of the input speed command signal Sc using the speed command number p, and determines the sequence number of the speed command corresponding to the measured duty cycle of the speed command signal Sc. The motor control circuit 11A calculates the difference in rotational speed between the inflection point immediately preceding (or following) the determined sequence number of the speed command.

[0115] The motor control circuit 11A calculates the increase in rotational speed between the linear interpolation points Cr that exist between the two inflection points In based on the number of linear interpolation points q based on the first resolution (number of inflection points m) and the second resolution (number of speed commands p), and the difference between the calculated rotational speeds between the two inflection points In.

[0116] The motor control circuit 11A calculates the rotational speed corresponding to the predetermined speed command signal Sc based on the arrangement sequence number of the predetermined speed command signal Sc, the number of linear interpolation points q, and the increase in rotational speed between the linear interpolation points Cr, and determines the calculated rotational speed as the target rotational speed. The method by which the motor control circuit 11A determines the target rotational speed is explained in detail below.

[0117] like Figure 5As shown, the motor control circuit 11A includes a speed command analysis unit 24A, a storage unit 26A, and a target rotation speed determination unit 25A as a functional unit for determining the target rotation speed of the motor 50.

[0118] Similar to the storage unit 26 in Embodiment 1, the storage unit 26A stores parameter information 300A required to calculate the target rotational speed of the motor 50 based on the speed command signal Sc.

[0119] Parameter information 300A includes rotation speed information 302 and resolution information 301A. Resolution information 301A includes the number of inflection points 303 as the first resolution, the number of speed commands 304 as the second resolution, and the number of linear interpolation points 305. In addition, the storage unit 26A can pre-store at least two of the inflection point number 303, the number of speed commands 304, and the number of linear interpolation points 305 as resolution information 301A, and the remaining information can be calculated based on the other two.

[0120] Similar to Implementation 1, the number of inflection points 303 is the number of inflection points (the number of inflection points In) that can be set within the duty cycle range (e.g., 0% to 100%) that the speed command signal Sc can obtain.

[0121] Speed ​​command number 304 is a value representing the resolution of the duty cycle of the speed command signal Sc (also known as speed command number p). In other words, speed command number 304(p) represents the total number of speed commands determined by the duty cycle of the speed command signal Sc. As described later, each speed command is assigned a sequence number according to speed command number p. Speed ​​command number p is a value of at least the inflection point number m, which serves as the first resolution.

[0122] The number of linear interpolation points 305 is set at equal intervals between adjacent inflection points In, and is the number of linear interpolation points Cr used for linear interpolation between these inflection points In (also called the number of linear interpolation points q). The number of linear interpolation points q is preferably set to a value that is one less than a power of 2. For example, if n is set to an integer greater than or equal to 1, the number of linear interpolation points q is q = (2... n -1).

[0123] Figure 7 This is a diagram illustrating an example of the relationship between the number of speed commands, the number of linear interpolation points, and the number of inflection points. In Figure 7 In the figure, q represents the number of linear interpolation points (=2) when the resolution (number of speed commands p) of the duty cycle of the speed command signal Sc is 256, 400, and 512. n -1) and numerical examples of inflection point m.

[0124] like Figure 7As shown, there is a correlation between the number of speed commands p, the number of inflection points m, and the number of linear interpolation points q. If two of these values ​​are determined, the other value is also determined. For example, when the number of speed commands (the number of permutations of speed commands) p = 400 and the number of permutations of inflection points m = 50, the number of linear interpolation points q = 7 (= number of speed commands / number of inflection points = (400 / 50) - 1). Furthermore, for example, when the number of speed commands (the number of permutations of speed commands) p = 256 and the number of linear interpolation points q = 2... 4 When -1 = 15, the number of inflection points m = the number of speed commands / (the number of linear interpolation points + 1) = 256 / (15 + 1) = 16.

[0125] In this embodiment, as an example, the number of inflection points 303 and the number of speed commands 304 are pre-stored in the storage unit 26A as resolution information 301A.

[0126] Similar to storage unit 26, storage unit 26A is implemented, for example, by a storage area of ​​a rewritable non-volatile memory such as flash memory, which is a program processing device serving as motor control circuit 11A, and parameter information 300A is stored in this storage area. The upper-level device 4 or other information processing device (e.g., PC) communicates with motor control circuit 11A via communication unit 20, thereby rewriting the parameter information 300A stored in storage unit 26A.

[0127] The speed command analysis unit 24A measures the duty cycle of the speed command signal Sc using the speed command number p (second resolution) specified by the resolution information 301A, and outputs the measured value. Specifically, the speed command analysis unit 24A measures the duty cycle of the speed command signal Sc using the second resolution based on the speed command number p, and outputs the measurement result. For example, as... Figure 7 As shown, when the number of speed commands p = 256, the speed command analysis unit 24A measures the duty cycle of the speed command signal Sc with a resolution (unit) of 0.391% (= duty cycle range / number of speed commands = (100% - 0%) / 256).

[0128] The target rotation speed determination unit 25A determines the target rotation speed based on the parameter information 300A stored in the storage unit 26A and the measurement results of the duty cycle of the speed command signal Sc by the speed command analysis unit 24A.

[0129] The target rotation speed determination unit 25A specifies the target rotation speed based on inflection points In that are set at equal intervals within a duty cycle range (e.g., 0% to 100%) obtainable by the PWM signal, which serves as the speed command signal Sc, and linear interpolation points Cr that are set at equal intervals between the inflection points In. Figure 6 The speed curve shown is used to determine the target rotational speed.

[0130] The following uses Figure 8 and Figure 9 This section explains the specific calculation and processing flow of the target rotation speed by the target rotation speed determination unit 25A.

[0131] Figure 8 This is a diagram illustrating the method by which the motor control circuit 11A calculates the target rotation speed according to Embodiment 2. Figure 9 This is a flowchart illustrating an example of the processing flow of the method for calculating the target rotation speed by the motor control circuit 11A according to Embodiment 2.

[0132] Here, we will use the following example for explanation: The duty cycle range that the speed command signal Sc can acquire is 0% to 100%, and the number of inflection points In (inflection point number m), which is the inflection point number 303, is set to "50". At each of the 50 inflection points In, the following settings are provided. Figure 6 The predetermined rotation speed value shown is used as rotation speed information 302, and the value of the second resolution (speed command number) p, which is the duty cycle of speed command number 304, is set to "400".

[0133] For example, when the motor control circuit 11A is started, the target rotation speed determination unit 25A reads parameter information 300A from the storage unit 26A and performs initial settings. Specifically, firstly, the target rotation speed determination unit 25A sets the sequence number of the speed command at each duty cycle obtained by equally dividing the duty cycle range of the speed command signal Sc based on the speed command number 304(p) as the second resolution (step S21). For example, in the above example, the second resolution (speed command number p) is set to "400" according to the speed command number 304, such as... Figure 8 As shown, 0.25% of the duty cycle from 0 to 100% is divided into equal parts by "400" (= duty cycle range / number of speed commands = (100% - 0%) / 400), and the speed commands are assigned the sequence number p from 0 to 400 respectively.

[0134] Next, similar to Embodiment 1, the target rotation speed determination unit 25A sets inflection points In(m) at equal intervals within the duty cycle range (0% to 100%) that the speed command signal Sc can obtain, based on the resolution information 301A (inflection point number 303) and rotation speed information 302 stored in the storage unit 26A (step S22). Specifically, the target rotation speed determination unit 25A sets inflection points In at each duty cycle obtained by equally dividing the duty cycle range (0% to 100%) that the speed command signal Sc can obtain based on the inflection point number m, which is the first resolution.

[0135] In the example above, since the value of the first resolution m, representing the inflection point number 303, is set to "50", therefore, as Figure 6 and Figure 8 As shown, the target rotation speed determination unit 25A sets an inflection point In every 2% (duty cycle range / number of inflection points = (100%-0%) / 50) within the duty cycle range of 0% to 100%, and assigns a sequence number m (m is an integer greater than or equal to 0) to each inflection point In.

[0136] Next, it is determined whether a PWM signal as a speed command signal Sc has been input to the motor control circuit 11A from an external source (upper-level device 4) (step S23). If no speed command signal Sc is input (step S23: no), the motor control circuit 11A continues to wait for the input of the speed command signal Sc.

[0137] When a speed command signal Sc is input (step S23: Yes), the speed command analysis unit 24A measures the duty cycle of the speed command signal Sc (step S24). Specifically, the speed command analysis unit 24A measures the duty cycle of the speed command signal Sc using the speed command number (second resolution) p specified by the resolution information 301A (speed command number 304) stored in the storage unit 26A. For example, in the above example, the speed command number p is set to "400" according to the speed command number 304, so the duty cycle of the speed command signal Sc is measured at a resolution of 0.25% (= duty cycle range / speed command number = (100% - 0%) / 400). Here, the measured value of the duty cycle of the input speed command signal Sc is set to "3%".

[0138] Next, the target rotation speed determination unit 25A determines the sequence number j of the speed command corresponding to the measured duty cycle value obtained in step S24 from the sequence number of the speed commands set in step S21 (step S25). In the example above, since the duty cycle of the speed command signal Sc measured in step S24 is "3%", therefore, as Figure 8 As shown, the target rotation speed determination unit 25A sets the arrangement number j of the speed command corresponding to the input speed command signal Sc to the arrangement number "12" (j=12) corresponding to the duty cycle = 3%.

[0139] Next, the target rotation speed determination unit 25A determines whether the speed command number p and the inflection point number m are consistent (step S26). When p = m (step S26: Yes), the arrangement number of the speed command is consistent with the arrangement number of the inflection point, so the speed command with arrangement number j determined in step S25 represents a certain inflection point In. Therefore, similar to Embodiment 1, the target rotation speed determination unit 25A determines the inflection point In(j) with arrangement number m that is consistent with the speed command with arrangement number j determined in step S25, and obtains the value of the rotation speed of the determined inflection point In(j) from the rotation speed information 302 (step S27). Then, the target rotation speed determination unit 25A determines the rotation speed obtained in step S27 as the target rotation speed (step S34). In addition, in the above example, if p ≠ m (the speed command number p and the inflection point number m are inconsistent), the processing of step S27 is not performed.

[0140] On the other hand, when p≠m (when the speed command number p and the inflection point number m are inconsistent) (step S26: No), the target rotation speed determination unit 25A calculates the rotation speed Rl of the previous inflection point In of the speed command sequence number j determined in step S25 (step S28). For example, in the case of the above example, such as Figure 8 As shown, the target rotation speed determination unit 25A reads the rotation speed "800" of the previous inflection point In(1) of the speed command with arrangement number j=12 determined in step S25 from the rotation speed information 302.

[0141] Next, the target rotation speed determination unit 25A calculates the rotation speed Rh of the inflection point In that exists after the speed command with arrangement number j determined in step S25 (step S29). For example, in the case described above, the target rotation speed determination unit 25A reads the rotation speed "1200" of the inflection point In (2) that exists after the speed command with arrangement number j = 12 determined in step S25 from the rotation speed information 302.

[0142] Next, the target rotation speed determination unit 25A calculates the difference between the rotation speed of the preceding inflection point In of the speed command with arrangement number j calculated in step S28 and the rotation speed of the following inflection point In of the speed command with arrangement number j calculated in step S29 (step S30). In the example above, the rotation speed of the inflection point In(1) immediately preceding the speed command with arrangement number j is "800", and the rotation speed of the inflection point In(2) immediately following the speed command with arrangement number j is "1200". Therefore, the difference |Rh-Rl| between the rotation speeds of inflection point In(1) and inflection point In(2) is "400".

[0143] Next, the target rotation speed determination unit 25A calculates the increase in rotation speed between the linear interpolation point Cr set between the previous inflection point In of the speed command with arrangement number j and the next inflection point In of the speed command with arrangement number j (step S31). Specifically, the target rotation speed determination unit 25A divides the difference |Rh-Rl| between the rotation speeds of inflection point In (1) and inflection point In (2) calculated in step S30 by the value obtained by adding 1 to the number of linear interpolation points q (=2). n This allows for the calculation of the unit increase in rotational speed between linear interpolation points Cr. In the example above, the difference in rotational speed |Rh-Rl| calculated in step S30 is "400", and the number of linear interpolation points q = 7 (2 3 -1), therefore, the increase in rotational speed between the linear interpolation point Cr between the inflection point In(1) immediately preceding the speed command j=12 and the inflection point In(2) immediately following the speed command j=12 is 400 / 2. 3 =50.

[0144] At this point, the value obtained by adding 1 to the number of linear interpolation points q is (=2). n The value is calculated in the following way. For example, when the inflection point number 303 and the speed command number 304 are pre-stored in the storage unit 26A as resolution information 301A, the target rotation speed determination unit 25A calculates the value obtained by adding 1 to the linear interpolation point number q by dividing the speed command number 304 (p=400) by the inflection point number 303 (m=50). n =8). On the other hand, when the number of linear interpolation points q is stored as resolution information 301A in the storage unit 26A, the stored value can be used directly.

[0145] Next, the target rotation speed determination unit 25A determines which linear interpolation point Cr between the speed command with arrangement number j determined in step S25 and the inflection point In(1) immediately preceding the speed command with arrangement number j and the inflection point In(2) immediately following the speed command with arrangement number k is consistent (step S32).

[0146] Specifically, the target rotation speed determination unit 25A divides the arrangement number j determined in step S25 by the value obtained after adding 1 to the number of linear interpolation points q (2 n =8), calculate the remainder r. In the example above, the permutation number j = 12 determined in step S25, and the number of linear interpolation points q = 7 (2 3 -1), therefore calculate 12 divided by 8 (=2) 3 When the remainder r is 4, then... Figure 8As shown, the speed command with arrangement number j=12 determined in the judgment step S25 of the target rotation speed determination unit 25A corresponds to the "4th" linear interpolation point Cr starting from the inflection point In(1).

[0147] Next, the target rotation speed determination unit 25A calculates the rotation speed Rj of the linear interpolation point Cr corresponding to the speed command of arrangement number j determined in step S32 (step S33). For example, the target rotation speed determination unit 25A adds the rotation speed Rl of the inflection point In(1) immediately preceding the speed command of arrangement number j determined in step S28 to the value obtained by multiplying the remainder r calculated in step S32 by the increase in rotation speed calculated in step S31, thereby calculating the rotation speed Rj corresponding to the speed command of arrangement number j determined in step S25 (R(j)=Rl+r×|Rh-Rl| / 2). n In the example above, the rotational speed R(j) for sequence number j=12 is 800+4×(1200-800) / 8=1000.

[0148] Then, the target rotation speed determination unit 25A determines the rotation speed Rj calculated in step S33 as the target rotation speed (step S34).

[0149] Through the above processing steps, the target rotation speed is calculated based on the speed command signal Sc.

[0150] As described above, in the motor control circuit 11A according to Embodiment 2, at least two of the following information are pre-stored as resolution information 301A: the number of inflection points 303 representing the first resolution of the duty cycle of the speed command signal Sc; the number of speed commands 304 representing the second resolution (higher than the first resolution) of the duty cycle of the speed command signal Sc; and the number of linear interpolation points 305 that are equally spaced between adjacent inflection points In for linear interpolation between the inflection points In.

[0151] As described above, the motor control circuit 11A sets an inflection point In at each duty cycle obtained by dividing the duty cycle range (e.g., 0% to 100%) of the speed command signal Sc into equal parts based on the inflection point number 303 (m), and sets an arrangement number p of the speed command at each duty cycle obtained by dividing the duty cycle range (e.g., 0% to 100%) of the speed command signal Sc into equal parts based on the speed command number 304 (p) as a second resolution, and determines an arrangement number j corresponding to the measurement result of the duty cycle of the input speed command signal Sc from the set arrangement number p.

[0152] Furthermore, as described above, the motor control circuit 11A calculates the increase in rotational speed between the linear interpolation points Cr between the inflection points immediately preceding the determined speed command j and the inflection point immediately following the determined speed command j (|Rh-Rl|). Based on this calculated increase and the number of linear interpolation points q, the circuit calculates the rotational speed Rj corresponding to the determined speed command j, and determines the calculated rotational speed Rj as the target rotational speed.

[0153] Therefore, according to the motor control circuit 11A of Embodiment 2, linear interpolation can be performed between inflection points In, thus enabling the specification of a speed curve with a higher degree of freedom. For example, according to existing speed curve setting methods, although the degree of freedom of the speed curve can be increased by increasing the number of inflection points, simply increasing the number of inflection points complicates the calculation of the target speed and may slow down the processor's processing speed. In contrast, according to the motor control circuit 11A of Embodiment 2, by setting linear interpolation points Cr between inflection points In, the degree of freedom of the speed curve can be increased without increasing the number of inflection points.

[0154] Furthermore, in the motor control circuit 11A according to Embodiment 2, by setting the number of linear interpolation points q to a number one less than a power of 2, the rotational speed of the linear interpolation point Cr can be calculated by shift operation instead of division, as described above. Therefore, a low-cost microcontroller without a divider can be used as the motor control circuit 11A, and even with a low-cost microcontroller, the processing speed reduction caused by division operation can be prevented. In addition, depending on the situation, it is also expected that the ROM capacity can be reduced.

[0155] Furthermore, according to the motor control circuit 11A of Embodiment 2, as long as at least two of the data from the inflection point number 303, speed command number 304, and linear interpolation point number 305 are pre-stored as resolution information 301A, the remaining data can be calculated. Therefore, the amount of data that should be pre-stored in the microcontroller can be controlled. As a result, the capacity of the non-volatile memory mounted in the microcontroller that serves as the motor control circuit 11A can be reduced, which helps to reduce the cost of the motor control circuit 11A.

[0156] Extension of Implementation Methods

[0157] The invention completed by the inventor has been specifically described above based on the embodiments, but the invention is not limited thereto, and various modifications can be made without departing from its spirit.

[0158] For example, in the above embodiment, the target rotation speed determination units 25 and 25A determine the inflection point or the sequence number of the speed command corresponding to the duty cycle of the speed command signal measured by the speed command analysis units 24 and 24A, but this is not a limitation. For example, the speed command analysis units 24 and 24A may also determine the inflection point or the sequence number of the speed command corresponding to the duty cycle of the measured speed command signal, and assign the value of the determined sequence number to the target rotation speed determination units 25 and 25A.

[0159] Furthermore, in Embodiment 2, the resolution information 301A pre-stored in the storage unit 26A includes the number of inflection points 303 and the number of speed commands 304, and the number of linear interpolation points 305 is calculated based on the number of inflection points 303 and the number of speed commands 304, but it is not limited to this. For example, the motor control circuit 11A may also pre-store the number of inflection points 303 and the number of linear interpolation points 305 in the storage unit 26A, and calculate the number of speed commands 304 based on these two pieces of information; it may also pre-store the number of speed commands 304 and the number of linear interpolation points 305 in the storage unit 26A, and calculate the number of inflection points 303 based on these two pieces of information.

[0160] Furthermore, the flowcharts described above are specific examples, and the present invention is not limited to these flowcharts. For example, the order of the processes can be reversed in the flowcharts described above. Additionally, other processes can be inserted between steps in the flowcharts described above, or some processes can be performed simultaneously.

[0161] The number of phases of the motor driven by the motor drive control device of the above embodiment is not limited to three phases. In addition, the number of Hall elements is not particularly limited.

[0162] The method for detecting the rotational speed of a motor is not particularly limited. For example, the rotational speed can also be detected without a position sensor, that is, without using position detectors such as Hall elements, but instead using the back electromotive force induced by the motor coil to detect the rotational speed.

[0163] Explanation of the mark

[0164] 1. Fan unit; 2. 2A motor unit; 4. Upper-level device; 5. Fan (fan motor); 10. 10A motor drive control device; 11. 11A motor control circuit; 12. Motor drive circuit; 13. Position detection device; 14. Drive control signal generation unit; 15. Duty cycle determination unit; 16. Power-on control unit; 17. Rotation speed measurement unit; 18. FG signal generation unit; 20. Communication unit; 21. Transmitting unit; 22. Receiving unit; 22A target rotation speed determination unit; 23. Communication control unit; 24. 24A speed command analysis unit; 25. 25A target rotation speed determination unit; 26. 26A storage unit; 41. Data Data processing and control unit; 42 Communication unit; 50 Motor; 51 Impeller; 201, 203 Speed ​​curves; 300, 300A Parameter information; 301, 301A Resolution information; 302 Rotation speed information; 303, m Inflection point number (information on the number of inflection points. An example of the first resolution); 304, p Speed ​​command number (an example of the second resolution); 305, q Linear interpolation point number (the number of linear interpolation points); Cr, Cr(1) ~ Cr(7) Linear interpolation points; In Inflection point; Sc Speed ​​command signal; Sd Drive control signal; So Rotation speed signal.

Claims

1. A motor control circuit, characterized in that, include: The speed command analysis unit measures the duty cycle of the input speed command signal that indicates the target rotational speed of the driven object, i.e., the motor. The storage unit stores parameter information for defining a speed curve, which represents the relationship between the duty cycle of the speed command signal and the target rotation speed. The target rotation speed determination unit determines the target rotation speed based on the parameter information stored in the storage unit and the measurement results of the duty cycle of the speed command signal by the speed command analysis unit. as well as The drive control signal generation unit generates a drive control signal for controlling the drive of the motor based on the target rotation speed determined by the target rotation speed determination unit. The parameter information includes: resolution information, which represents the resolution of the duty cycle of the speed command signal; and rotation speed information, which represents the rotation speed at the inflection point of the speed curve. The target rotation speed determination unit sets the inflection point according to the duty cycle obtained by equally dividing the duty cycle range that the speed command signal can obtain based on the resolution information. Based on the set inflection point and the rotation speed information, it calculates the rotation speed corresponding to the duty cycle of the speed command signal measured by the speed command analysis unit, and determines the calculated rotation speed as the target rotation speed. The resolution information includes information about the number of inflection points that are set at equal intervals on the velocity curve. The speed command analysis unit measures the duty cycle of the speed command signal with a resolution based on the number of inflection points. The target rotation speed determination unit determines the inflection point from the pre-set inflection points that corresponds to the duty cycle of the speed command signal measured by the speed command analysis unit, calculates the rotation speed of the determined inflection point based on the rotation speed information, and sets the calculated rotation speed as the target rotation speed.

2. The motor control circuit according to claim 1, wherein, The storage unit is configured to be able to rewrite the parameter information.

3. The motor control circuit according to claim 1, wherein... The resolution information includes at least two of the following: information on the number of inflection points as a first resolution representing the duty cycle of the speed command signal; information on the number of speed commands as a second resolution representing the duty cycle of the speed command signal that is higher than the first resolution; and information on the number of linear interpolation points that are equally spaced between adjacent inflection points for linear interpolation between the inflection points. In the target rotation speed determination unit, the inflection points are set according to the duty cycle obtained by equally dividing the duty cycle range of the speed command signal based on the number of inflection points, and the arrangement number of the speed commands is set according to the duty cycle obtained by equally dividing the duty cycle range of the speed command signal based on the number of speed commands. From the set arrangement number of the speed commands, the arrangement number of the speed command corresponding to the duty cycle of the speed command signal measured by the speed command analysis unit is determined. The target rotation speed determination unit calculates the increase in rotation speed between the linear interpolation points between the previous inflection point and the next inflection point of the determined speed command sequence number based on the difference between their rotation speeds. Based on this calculated increase in rotation speed between the linear interpolation points and the number of linear interpolation points, the unit calculates the rotation speed corresponding to the determined speed command sequence number and determines the calculated rotation speed as the target rotation speed.

4. The motor control circuit according to claim 3, wherein, In the target rotation speed determination unit, the sequence number of the determined speed command is divided by the number of linear interpolation points plus 1, and the remainder is multiplied by the increase in rotation speed between the linear interpolation points. The result of the multiplication is added to the rotation speed of the previous inflection point, and the result of the addition is determined as the target rotation speed.

5. The motor control circuit according to claim 3, wherein, When n is an integer greater than or equal to 1, the number of linear interpolation points is (2 n -1).

6. The motor control circuit according to claim 3, wherein, The target rotation speed determination unit calculates the number of linear interpolation points based on information about the number of inflection points and information about the speed command number.

7. A motor drive control device, characterized in that, include: The motor control circuit according to any one of claims 1 to 6; and A motor drive circuit that drives the motor based on the drive control signal generated by the motor control circuit.

8. A motor unit, characterized in that, include: The motor drive control device according to claim 7; and The motor is driven by the motor drive control device.

9. A motor control method executed by a motor control circuit including a storage unit, the storage unit storing parameter information for defining a speed curve, the speed curve representing the relationship between the duty cycle of a speed command signal for indicating a target rotational speed of a driven object, i.e., a motor, and the target rotational speed, the motor control method being characterized in that it includes: The first step involves measuring the duty cycle of the input speed command signal; The second step involves determining the target rotational speed based on the parameter information stored in the storage unit and the duty cycle of the speed command signal measured in the first step; and The third step involves generating a drive control signal for controlling the motor, based on the target rotational speed determined in the second step. The parameter information includes: resolution information, which represents the resolution of the duty cycle of the speed command signal; and rotation speed information, which represents the rotation speed at the inflection point of the speed curve. The second step includes the following steps: setting the inflection point according to the duty cycle obtained by equally dividing the duty cycle range of the speed command signal based on the resolution information; calculating the rotation speed corresponding to the duty cycle of the speed command signal measured in the first step based on the set inflection point and the rotation speed information; and determining the calculated rotation speed as the target rotation speed. The resolution information includes information about the number of inflection points that are set at equal intervals on the velocity curve. The first step includes the following steps: the speed command analysis unit measures the duty cycle of the speed command signal with a resolution based on the number of inflection points. The second step includes the following steps: determining the inflection point from the set inflection points that corresponds to the duty cycle of the speed command signal measured by the speed command analysis unit, calculating the rotation speed of the determined inflection point based on the rotation speed information, and setting the calculated rotation speed as the target rotation speed.