Motor control circuit, motor drive control apparatus and control method for motor control circuit

The present disclosure provides a motor control circuit enabled to change or adjust functions to be implemented to suppress an increase in cycle time during mass production. A motor control circuit according to an exemplary embodiment of the present disclosure is a motor control circuit to control a motor driver including a first non-volatile memory and a second non-volatile memory, and the first non-volatile memory stores a control algorithm and a first parameter group to be used by the control algorithm of the motor control circuit, and the second non-volatile memory is enabled to store a second parameter group to be used by the control algorithm.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of Japanese Patent Application No. 2020-088414, filed May 20, 2020, which is hereby incorporated by reference in its entirety.

BACKGROUND

Technical Field

The present disclosure relates to a motor control circuit, a motor drive control apparatus and a control method for the motor control circuit.

Background

In recent years, motor control circuits used for a motor drive control apparatus or the like to drive a fan motor can change or adjust various functions controlled by the motor control circuits such as the number of rotations and an advance angle by changing parameters stored in a built-in non-volatile memory. As a result, adopting a configuration capable of changing/adjusting the functions makes it possible to eliminate the necessity for external parts and reduce the cost and substrate area.

For example, Japanese Patent Laid-Open No. 2010-63325 describes a motor control apparatus equipped with a non-volatile memory storing a correction gain of a current sensor as a parameter. The motor control apparatus corrects the current sensor using the correction gain stored in the non-volatile memory, and has no need to separately add a current sensor for inspection.

According to the motor control circuit included in the motor control apparatus described in Japanese Patent Laid-Open No. 2010-63325, various functions can be implemented by the control algorithm executing a program using the parameters stored in the non-volatile memory as described above. In such a motor control circuit, it is often the case that the control algorithm and the parameters forming the program are stored in two non-volatile memories separately to achieve an inexpensive configuration.

On the other hand, during mass production, it is necessary to use different methods to write the control algorithm and the parameters to the two non-volatile memories. For this reason, the conventional motor control circuits lead to a situation where cycle time, which is a process work time during mass production, increases.

In order to avoid such a situation, the control algorithm and the parameters may be written to one non-volatile memory during mass production.

However, when writing the control algorithm and the parameters to one non-volatile memory is assumed, this leads to the following situations. Configuring a storage region of the control algorithm so as to include a storage region of the parameters makes it difficult to rewrite the parameters easily, thus preventing the parameters from being easily changed along with a change/adjustment of the function during the development of the motor control circuit or the like. When the storage region of the control algorithm and the storage region of the parameters are provided separately, the cycle time, which is a process work time during mass production, may increase similarly as in the case where the control algorithm and the parameters are stored in the two non-volatile memories separately.

SUMMARY

The present disclosure is related to suppressing increase of the cycle time during mass production in a motor control circuit enabled to change or adjust functions to be implemented.

In accordance with one aspect of the present disclosure, a motor control circuit is a motor control circuit to control a motor driver, provided with a first storage region and a second storage region, the first storage region storing a control algorithm of the motor control circuit and a first parameter group used by the control algorithm and the second storage region being enabled to store a second parameter group used by the control algorithm.

According to the motor control circuit of the present disclosure, it is possible to suppress increase of the cycle time during mass production in a motor control circuit enabled to change or adjust functions to be implemented.

Preferably, when the specification parameter is set to an initial value, the control algorithm may execute the motor control program using the first parameter group.

Preferably, the control algorithm may execute the motor control program using either the first parameter group or the second parameter group to output a drive control signal for controling of driving of a motor to the motor driver.

According to these disclosures, a motor drive control apparatus according to an exemplary embodiment of the present disclosure includes the motor control circuit described in the above and a motor driver configured to drive the motor based on a drive control signal outputted from the motor control circuit.

According to these disclosures, a control method for a motor control circuit according to an exemplary embodiment of the present disclosure is a control method for a motor control circuit provided with a first storage region storing a control algorithm of the motor control circuit and a first parameter group to be used by the control algorithm and a second storage region enabled to store a second parameter group to be used by the control algorithm, and configured to output a drive control signal to the motor driver, the method including referencing a value of a specification parameter in the second storage region when the control algorithm is started, determining whether the first parameter group or the second parameter group is used by the control algorithm to execute a motor control program based on the value of the specification parameter and executing of the control algorithm the motor control program using the determined parameter group.

Preferably, in the determining when the value of the specification parameter is set to an initial value, the control algorithm may determine to execute the motor control program using the first parameter group stored in the first storage region.

DETAILED DESCRIPTION

Hereinafter, specific examples of the present embodiments will be described with reference to the accompanying drawings. Note that common components among the respective embodiments are assigned identical reference numerals and duplicate description is omitted in the following description.

A motor control circuit according to the present embodiments can be used, for example, as a circuit for generating a drive control signal in a motor drive control apparatus mounted on a fan apparatus. First, the fan apparatus equipped with the motor drive control apparatus including the motor control circuit of the present embodiments will be described.

FIG.1is a schematic configuration diagram illustrating an example of a fan apparatus100equipped with a motor drive control apparatus104including a motor control circuit10. The fan apparatus100is provided with an impeller101, a motor102, a position sensor103and a motor drive control apparatus104.

As illustrated inFIG.1, in the fan apparatus100, the impeller101is connected to the motor102and rotates along with rotation of a rotor of the motor102(also referred to as “rotation of the motor102”). The motor102is rotationally driven by the motor drive control apparatus104. As the motor102, for example, a three-phase brushless motor can be used, but the type of the motor is not particularly limited, and the number of phases is not limited to 3 either.

The position sensor103outputs a signal corresponding to a rotational position of the rotor of the motor102to the motor drive control apparatus104. In the present embodiment, the motor drive control apparatus104estimates the rotational position of the rotor from an output signal of a Hall element as the position sensor103and generates the rotational position signal of the rotor. The position sensor103is not limited to the Hall element or is not particularly limited as long as the position sensor103is a sensor that can identify the rotational position of the rotor of the motor102. The position sensor103may also be of a sensor-less type without any position sensor.

The motor drive control apparatus104rotationally drives the motor102by providing a drive current (also referred to as a “motor current”) to a three-phase armature coil of the motor102based on the rotational position signal of the rotor. The motor drive control apparatus104includes a motor control circuit10configured to generate a drive control signal Sd to control the drive of the motor102, a motor driver20including an inverter circuit21configured to provide a drive current to the motor102based on the drive control signal Sd, a current detection circuit25configured to detect a drive current of the motor driver20and a position detection circuit26configured to detect the rotational position of the rotor based on an output signal from the position sensor103and generate a rotational position signal.

The motor control circuit10can be accessed, for example, via a communication unit. When a target number of rotations is instructed from a higher apparatus configured to instruct operation of the fan apparatus100via the communication unit, the motor control circuit10outputs the drive control signal Sd to the motor driver20so that the rotation of the motor102becomes the target number of rotations. Upon receiving a notification request about the actual number of rotations (also referred to as a “current number of rotations”) from the higher apparatus, the motor control circuit10can also notify the higher apparatus of the actual number of rotations of the motor102per current unit time.

The rotational position signal generated in the position detection circuit26is inputted to the motor control circuit10. The motor control circuit10can measure the actual number of rotations, which is the actual number of rotations of the motor102per current unit time based on the rotational position of the rotor obtained from the rotational position signal generated in the position detection circuit26. The motor control circuit10can output the drive control signal Sd to the motor driver20so that the rotation of the motor102becomes the target number of rotations in accordance with the measured actual number of rotations.

The motor driver20includes the inverter circuit21and the inverter circuit21provides a drive current to the motor102based on the drive control signal Sd outputted from the motor control circuit10.

The current detection circuit25detects the drive current from the inverter circuit21as a motor current and inputs the drive current to the motor control circuit10. The motor control circuit10outputs the drive control signal Sd for controlling the drive of the motor driver20so that the motor current becomes a desired value.

The motor control circuit10is provided with a transmitting unit11, a receiving unit12, a communication processing unit13, an advance angle/duty determination unit15, a duty setting unit16, an advance angle control unit17, a current conduction control unit18and a number of rotations measurement unit19as functional units to perform control and notification based on an instruction of the higher apparatus and output the drive control signal Sd. These functional units are implemented by the hardware configuration of the motor control circuit10executing predetermined processing.

The transmitting unit11transmits any given signal to a higher apparatus or an external apparatus via the communication unit and the receiving unit12receives any given signal from the higher apparatus or the external apparatus via the communication unit. The transmitting unit11and the receiving unit12implement interface functions configured to transmit or receive predetermined contents under the control of the communication processing unit13.

Upon receiving an instruction about the target number of rotations of the motor from the higher apparatus, the communication processing unit13notifies the advance angle/duty determination unit15of the target number of rotations. Upon receiving a notification request for the number of rotations from the higher apparatus, the communication processing unit13transmits information on the actual number of rotations, which is information indicating the actual number of rotations of the motor102received from the number of rotations measurement unit19to the higher apparatus requesting the notification via the transmitting unit11.

The advance angle/duty determination unit15implements a function to determine a predetermined advance angle value corresponding to the target number of rotations and a duty ratio adjusted so as to achieve the target number of rotations as a combination of the advance angle value of the drive control signal Sd and the duty ratio.

The advance angle/duty determination unit15outputs an advance angle value of the drive control signal Sd defined in advance as the advance angle value of the drive control signal Sd corresponding to the target number of rotations to the advance angle control unit17and outputs any given duty ratio to the duty setting unit16. For the advance angle value of the drive control signal Sd defined in advance as the advance angle value of the drive control signal Sd corresponding to the target number of rotations, a combination of the target number of rotations and the corresponding advance angle value of the drive control signal Sd may be stored in a memory (first non-volatile memory3, second non-volatile memory4illustrated inFIG.2), as parameters which will be described later. It is possible to generate the drive control signal Sd with the advance angle value determined by executing a motor control program (also referred to as a “program”) by a control algorithm using the parameter group stored in the memory. Any given duty ratio is determined to such a value that the number of rotations of the motor102inputted as feedback converges to the target number of rotations. As the actual number of rotations of the motor102, one acquired from the number of rotations measurement unit19can be used. Regarding any given duty ratio, it is also possible to generate the drive control signal Sd with the duty ratio determined by executing the program according to the control algorithm using the parameter group stored in the memory.

The current conduction control unit18functions as a drive control signal generation unit configured to generate the drive control signal Sd based on the combination of the advance angle value and the duty ratio of the drive control signal Sd determined in the duty setting unit16and the advance angle control unit17.

The duty setting unit16and the advance angle control unit17notify the current conduction control unit18of the determined advance angle value and duty ratio of the drive control signal Sd. The current conduction control unit18generates the drive control signal Sd to control the drive of the inverter circuit21of the motor driver20with the notified advance angle value and duty ratio. The current conduction control unit18can take timing of generating the drive control signal Sd based on the rotational position signal generated in the position detection circuit26. The current conduction control unit18controls and outputs the drive control signal Sd so that the phase of the drive signal of the inverter circuit21becomes a predetermined advance angle value with reference to the rotational position signal generated in the position detection circuit26based on the determined advance angle value of the drive control signal Sd. Furthermore, the current conduction control unit18controls and outputs the duty ratio of the drive control signal Sd generated, for example, as a PWM signal based on the duty ratio of the drive control signal Sd.

FIG.2is a block diagram illustrating a hardware configuration example of the motor control circuit10. As illustrated inFIG.2, the motor control circuit10is constructed of a program processing apparatus (for example, microcontroller: MCU) including hardware elements such as a CPU1, a RAM2, a first non-volatile memory3(an example of the first storage region), a second non-volatile memory4(an example of the second storage region), an A/D conversion circuit5, an input/output I/F circuit6and a clock circuit, with the respective components connected to each other via a bus or dedicated line.

In the motor control circuit10, the CPU1functioning as a processor performs various computations according to a program stored in the first non-volatile memory3or the second non-volatile memory4and called by the RAM2, and controls the A/D conversion circuit5and the input/output I/F circuit6to thereby implement the components of the respective functional units in the motor control circuit10illustrated inFIG.1.

As illustrated inFIG.2, in the motor control circuit10of the present embodiment, the CPU1functioning as a processor calls the program stored in the first non-volatile memory3or the second non-volatile memory4, stores the program in the RAM2and performs various computations according to the program stored in the RAM2, and thereby implements the aforementioned various functions. The program executed by the CPU1includes a control algorithm and a parameter group, and the various functions implemented by the program can be changed or adjusted according to each parameter. For example, functions such as a current conduction scheme can be changed according to the parameter group. It is possible to change the drive control signal Sd of the motor control circuit10according to the parameter group as appropriate and can thereby adjust the functions to be implemented. Examples of the parameter include a “curve of number of rotations of the motor” and an “advance angle value” in the case of the fan apparatus of the present embodiment, and the parameter is not particularly limited as long as the parameter is used to change or adjust the function.

FIG.3is a diagram describing a motor control program stored in the first non-volatile memory3and the second non-volatile memory4. The motor control circuit10of the present embodiment is provided with two non-volatile memories3and4.

Since the first non-volatile memory3is not intended to be rewritten, any given non-volatile memory can be used as the first non-volatile memory3whether it is rewritable or not. Examples of the non-volatile memory usable as the first non-volatile memory3include a ROM (read only memory), a flash memory, an EPROM (erasable programmable ROM), an EEPROM (electrically erasable programmable ROM), but the non-volatile memory is not limited to them.

As the second non-volatile memory4, unlike the first non-volatile memory3, a memory supposed to be rewritten can be used. Examples of the non-volatile memory usable as the second non-volatile memory4include a flash memory, an EPROM (erasable programmable ROM), an EEPROM (electrically erasable programmable ROM), and the second non-volatile memory4is not limited to them as long as it is rewritable non-volatile memory.

The motor control circuit10of the present embodiment is supposed to store both the control algorithm200forming the program and the first parameter group201used to implement basic functions in the first non-volatile memory3during mass production. The second non-volatile memory4does not use the second parameter group202other than a specification parameter X during mass production. By storing the control algorithm200and the first parameter group201corresponding to mass production only in the first non-volatile memory3, storage of the program can be executed in one step, and so it is possible to suppress an increase in cycle time. On the other hand, it is possible to change the second parameter group202as appropriate from an external apparatus such as a PC (personal computer)300in the second non-volatile memory4at timing different from during mass production such as during development before mass production, at the time of a change or adjustment after mass production. By changing the second parameter group202different from the first parameter group201as appropriate for the second non-volatile memory4, it is possible to change or adjust the function to be implemented as appropriate by executing the program (execution of the motor control program using the second parameter group202according to the control algorithm200).

In the motor control circuit10, the second non-volatile memory4includes the specification parameter X, a value of which can be changed as appropriate. This specification parameter X specifies which of the first parameter group201(parameters1A,1B, . . .1W) where the control algorithm200is stored in the first non-volatile memory3or the second parameter group202(parameters2A,2B, . . .2W) where the control algorithm200is stored in the second non-volatile memory4is used to execute the motor control program. In the motor control circuit10, when the CPU1starts the control algorithm200stored in the first non-volatile memory3, the control algorithm200references the value of the specification parameter X, and the control algorithm200thereby determines whether the first parameter group201or the second parameter group202is used and executes the motor control program using the determined parameter group. As describes so far, it is possible to implement the functions changed or adjusted as required.

(Control Method for Motor Control Circuit)

FIG.4is a flowchart showing a processing flow for the control algorithm200to read a parameter group and execute a motor control program andFIG.5is a diagram for describing a function of the specification parameter X. First, the motor control circuit10reads the control algorithm200stored in the first non-volatile memory3into the RAM2, and when the control algorithm200starts, the control algorithm200reads the specification parameter X in the second non-volatile memory4(step S101) and determines whether the specification parameter X is “0” or “1” (step S102). Note that although the present Specification describes that when the specification parameter X is “0”, the control algorithm200executes the program using the second parameter group202(parameters2A,2B, . . .2W) stored in the second non-volatile memory4and when the specification parameter X is “1”, the control algorithm200executes the program using the first parameter group201(parameters1A,1B, . . .1W) stored in the first non-volatile memory3, the process of the control algorithm200is not limited to this.

The program execution process is continued (returning to step S105) until the program execution is completed (step S106: Yes).

In the present embodiment, the initial value of the specification parameter X is “1”. That is, when the value of the specification parameter X has not been rewritten, the value of the specification parameter X is “1”, and so in the parameter reading process of the control algorithm200inFIG.4, the control algorithm200executes the program using the first parameter group201(parameters1A,1B, . . .1W) stored in the first non-volatile memory3. When the control algorithm200prefers to execute the program using the second parameter group202stored in the second non-volatile memory4, the control algorithm200rewrites the specification parameter X to “0” and uses the second parameter group202(parameters2A,2B, . . .2W) to thereby execute the desired program.

A program writing method for the fan apparatus100equipped with the motor control circuit10of the present embodiment will be described.

FIG.6is a sequence diagram describing a motor control program writing method of the fan apparatus100equipped with the motor control circuit10of the present embodiment during mass production. This sequence diagram is an example where the program is written using a writing jig400(seeFIG.3) from outside the fan apparatus100via a loader203(seeFIG.3) in the first non-volatile memory3of the motor control circuit10.

As illustrated inFIG.6, in the fan apparatus100equipped with the motor control circuit10of the present embodiment, the writing jig400can request the loader203to write all the parameters and the control algorithm200. The loader203writes all the parameters (first parameter group201) and the control algorithm200to the first non-volatile memory3in the same step. When the writing is completed, the loader203notifies the writing jig400that the writing is completed. In this way, according to the motor control circuit10of the present embodiment, it is possible to store the program (all the parameters and the control algorithm200) with one write request from the writing jig400during mass production. Note that the motor control circuit10of the present embodiment may also write the program to the first non-volatile memory3during development before mass production using the same technique as the technique during mass production.

Fan apparatuses equipped with a conventional motor control circuit store a control algorithm in one non-volatile memory and store parameter groups in another non-volatile memory during mass production. In this case, the writing jig cannot request the loader to write all the parameters and the control algorithm collectively. That is, it is necessary to make a write request for the control algorithm, receive a notification of write completion of the control algorithm before making a write request for the parameters. Therefore, it is necessary for the conventional motor control circuit to store the program with two-stage write requests from the writing jig during mass production.

In this way, the conventional motor control circuit has to store the program with two-stage write requests from the writing jig during mass production, whereas according to the motor control circuit10of the present embodiment, the program can be stored with one write request from the writing jig400. Therefore, according to the motor control circuit10of the present embodiment, it is possible to suppress an increase in cycle time during mass production compared to the conventional motor control circuit.

The fan apparatus100equipped with the motor control circuit10of the present embodiment does not use parameters for changing or adjusting the functions (second parameter group202) during mass production as illustrated inFIG.6. Instead, when it is necessary to change or adjust the functions, for example, during development before mass production or at the time of functional adjustment including a change or adjustment of the functions after mass production (hereinafter referred to as “time of functional adjustment”), it is possible to use parameters for change or adjustment (second parameter group202).

FIG.7toFIG.9are diagrams showing a motor control program changing method during development before mass production or at the time of functional adjustment after mass production.FIG.7is a diagram showing a parameter group changing method during development before mass production or at the time of functional adjustment after mass production (more specifically, an example of a case where all the parameters of the second parameter group202for functional change or adjustment are changed collectively),FIG.8is a diagram showing a parameter changing method during development before mass production or at the time of functional adjustment after mass production (more specifically, an example of a case where some parameters of the second parameter group202for functional change or adjustment are changed), andFIG.9is a diagram showing a specification parameter changing method during development before mass production or at the time of functional adjustment after mass production (more specifically, an example of a case where the parameter group to be used by the control algorithm200is restored to the first parameter group201during mass production).FIG.7toFIG.9are examples where the CPU1changes the parameter group according to the control algorithm200in response to a parameter change request from a PC300.

In order to change or adjust a function defined as a function during mass production, when the control algorithm200attempts to execute the program using the second parameter group202different from the first parameter group201stored in the first non-volatile memory3during mass production, the parameter groups can be changed collectively as illustrated inFIG.7. As illustrated inFIG.7, when the CPU1receives a request to change all the parameter groups from the PC300, the CPU1changes the second parameter group202of the second non-volatile memory4according to the control algorithm200. When the change of the second parameter group202is completed in the second non-volatile memory4, the CPU1notifies the PC300of the change completion of the second parameter group202according to the control algorithm200. The change of the second parameter group202also includes a change of the specification parameter X and the specification parameter X is changed to “0” different from the initial value. The specification parameter X becomes “0”, and so the control algorithm200reads the second parameter group202stored in the second non-volatile memory4and executes the program. Therefore, the functions defined during mass production are changed or adjusted.

When, in order to change or adjust only some of the functions defined during mass production, an attempt is made to execute the motor control program using a parameter different from some of the parameters of the first parameter group201stored in the first non-volatile memory3during mass production, some of the parameters of the second parameter group202can be changed. As illustrated inFIG.8, upon receiving a request to change a parameter2C, which is one parameter of the second parameter group202from the PC300, the CPU1changes the parameter2C and the specification parameter X of the second non-volatile memory4according to the control algorithm200. The specification parameter X is changed to “0” different from the initial value. If the specification parameter X is originally set to “0” different from the initial value when the request to change the parameter2C is received, the value of the specification parameter X need not be changed. When the changes of the parameter2C and the specification parameter X are completed in the second non-volatile memory4, the CPU1notifies the PC300of change completion of the parameter2C according to the control algorithm200. Together with the parameter2C, the specification parameter X is changed to “0” different from the initial value, and so the control algorithm200executes the program using the second parameter group202including the parameter2C stored in the second non-volatile memory4. Therefore, only some of the functions defined during mass production are changed or adjusted.

After the functions defined during mass production are changed or adjusted, if the control algorithm200attempts to execute the program using the first parameter group201stored in the first non-volatile memory3during mass production to restore the functions to the functions defined during mass production, it is possible to change the specification parameter X as illustrated inFIG.9. As illustrated inFIG.9, when the CPU1receives a request to change the specification parameter X from the PC300, the CPU1changes the specification parameter X stored in the second parameter group202of the second non-volatile memory4according to the control algorithm200. The specification parameter X is changed to “1” the same as the initial value. When the change of the specification parameter X is completed in the second non-volatile memory4, the CPU1notifies the PC300of the change completion of the specification parameter X according to the control algorithm200. Since the specification parameter X becomes “1” the same as the initial value, the control algorithm200reads the first parameter group201stored in the first non-volatile memory3and executes the program. Therefore, the functions defined as functions during mass production are executed.

According to the motor control circuit of the present embodiments described so far, it is possible to suppress an increase in cycle time during mass production in the motor control circuit enabled to change or adjust the functions to be implemented by rewriting parameters stored in the non-volatile memory.

Specific examples have been described using the fan apparatus in the configuration inFIG.1in the embodiments so far. However, the configuration of the fan apparatus, the configuration of the motor control circuit and the configuration of the motor drive control apparatus are not particularly limited to the described examples.

Regarding the hardware configuration of the motor control circuit, the configuration illustrated inFIG.2or the like is described as a specific example and is not limited to this configuration. A case has been described in the above-described embodiments where the non-volatile memory has been formed as the first non-volatile memory3and the second non-volatile memory4as physically separate memories, for example. The two non-volatile memories3and4need not be physically separate configurations, but may also be formed of one non-volatile memory provided with two storage regions. For example, using one flash memory, a virtual address space is defined, a plurality of real memory spaces to be actually accessed are associated with the virtual address space, and it is thereby possible to convert the target of access by software as if two storage regions apparently exist. These two storage regions can be used as the first non-volatile memory3and the second non-volatile memory4.

A specific example has also been described about the control method for a motor control circuit including a process for the control algorithm200of the motor control circuit illustrated inFIGS.4and5to read parameters and execute the program. However, the control method for a motor control circuit is not limited to this specific example.

The program writing method illustrated inFIG.6and the parameter changing method illustrated inFIG.7toFIG.9have also been described using specific examples, and the methods are not limited to these specific examples.

The present embodiments have been described assuming that the specification parameter X is included in the second parameter group202, but the specification parameter X needs only to be included in the second non-volatile memory4(that is, the second storage region), and the specification parameter X need not be included in the second parameter group202.