MOTOR DRIVE DEVICE AND MOTOR

A motor driver includes an operation clock generator, a PWM signal detector that detects a PWM signal indicating a target rotation speed input from an outside in a first cycle based on a clock from the operation clock generator, a target rotation speed converter that converts a duty ratio of the detected PWM signal into the target rotation speed, a rotation speed controller that drives the motor so that an actual rotation speed of the motor matches the target rotation speed, a trigger value calculator that calculates a second cycle based on a difference between a cycle of the PWM signal and the first cycle, and a timer that generates a trigger signal in the calculated second cycle. The rotation speed controller calculates the actual rotation speed depending on the second cycle of the trigger signal generated by the timer.

TECHNICAL FIELD

The present disclosure relates to a motor driver and a motor including the motor driver.

BACKGROUND ART

A hybrid vehicle or an electric vehicle is equipped with a large battery in order to drive the vehicle itself. In order to cool a circuit of a hybrid vehicle or an electric vehicle, a blower which is a motor including an impeller (impeller) is mounted. Cooling performance (air volume) required at each time is determined in accordance with a traveling state of the vehicle, such as a current value flowing through the circuit. A hybrid vehicle or an electric vehicle needs to control a blower to satisfy cooling performance. The variation in cooling performance depends on the blower. The variation in cooling performance greatly affects, among others, the variation in rotation speed of the impeller. The rotation speed error of the blower is greatly affected by the clock accuracy of the operation clock generator included in the motor driver that drives the motor included in the blower. However, in a case where a highly accurate operation clock generator such as a crystal oscillator is used, the cost increases.

Therefore, conventionally, there has been proposed a motor driver capable of suppressing an error in the actual rotation speed to be detected even when an operation clock generator with low accuracy is used (see, for example, PTL 1).

In PTL 1, in a motor driver to which a target rotation speed is given using a duty ratio of a pulse width modulation (PWM) signal input from a higher level system, a cycle error of the PWM signal is calculated based on a clock from an operation clock generator with low accuracy, and a rotor rotation speed calculated from a position detection sensor is multiplied and corrected based on the cycle error to perform speed control. Accordingly, an error of the detected actual rotation speed is suppressed.

However, the technique of PTL 1 is a method of multiplying the variation value of the rotor rotation speed calculated from the position detection sensor by the variation value of the cycle error. For this reason, the error of the detected actual rotation speed may not be sufficiently suppressed depending on the values of the rotor error (that is, a possible situation).

CITATION LIST

Patent Literature

SUMMARY OF THE INVENTION

Therefore, an object of the present disclosure is to provide a motor driver capable of reliably suppressing an error in the detected actual rotation speed although the motor driver includes an operation clock generator with low accuracy, and a motor including the motor driver.

In order to achieve the above object, a motor driver according to an exemplary embodiment of the present disclosure is a motor driver that rotates a motor at a target rotation speed, the motor driver including:an operation clock generator that generates a clock;a pulse width modulation (PWM) signal detector that detects a pulse width modulation signal indicating the target rotation speed, the pulse width modulation signal being repeatedly input from an outside in a first cycle, based on the clock generated by the operation clock generator;a target rotation speed converter that converts a duty ratio of the pulse width modulation signal detected by the PWM signal detector into a target rotation speed;a rotation speed controller that calculates an actual rotation speed of the motor by detecting a state related to rotation of the motor, and drives the motor to cause the calculated actual rotation speed to match the target rotation speed converted by the target rotation speed converter;a PWM cycle detector that detects a cycle of the pulse width modulation signal detected by the PWM signal detector;a PWM cycle error calculator that calculates a difference between the cycle detected by the PWM cycle detector and the first cycle;a trigger value calculator that calculates a second cycle when the trigger signal is repeatedly generated based on the difference calculated by the PWM cycle error calculator; anda timer that generates a trigger signal in the second cycle calculated by the trigger value calculator,in which the rotation speed controller calculates the actual rotation speed depending on the second cycle of the trigger signal generated by the timer.

The rotation speed controller may calculate a rotation angle of the motor in the second cycle of the trigger signal generated by the timer as the actual rotation speed.

The rotation speed controller may calculate the actual rotation speed in interruption processing started with the trigger signal generated by the timer as a trigger.

In order to achieve the above object, a motor according to an exemplary embodiment of the present disclosure is a motor including the motor driver and a stator to which a drive current is supplied based on a result calculated by the motor driver.

According to the present disclosure, a motor driver capable of reliably suppressing an error of an actual rotation speed to be detected despite including an operation clock generator with low accuracy, and a motor including the motor driver are realized.

DESCRIPTION OF EMBODIMENT

Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the drawings. Note that each of the exemplary embodiments described below illustrates a specific example of the present disclosure. Numerical values, shapes, materials, components, arrangement positions and connection modes of the components, steps, an order of the steps, and the like shown in the following exemplary embodiment are examples only, and are not intended to limit the present disclosure. Each of the drawings is not necessarily strictly illustrated. In each of the drawings, substantially the same components are designated by the same reference numerals, and overlapping description will be omitted or simplified.

FIG.1is a diagram illustrating a structure of motor10included in a blower according to an exemplary embodiment. In the present exemplary embodiment, as motor10, an example of an inner rotor type brushless motor in which a rotor is rotatably disposed on an inner peripheral side of a stator will be described. Motor10has windings of a plurality of phases. Motor10rotates by being driven by a signal in which each phase is subjected to pulse width modulation (PWM).

As illustrated inFIG.1, motor10includes stator11, rotor12, circuit board13, and motor case14. Motor case14is formed of a sealed cylindrical metal. Motor10has a configuration in which stator11, rotor12, and circuit board13are housed in such motor case14. Motor case14includes case body14aand case lid14b. When case lid14bis attached to case body14a, motor case14is substantially sealed.

InFIG.1, stator11is configured by winding winding16for each phase around stator iron core15. In the present exemplary embodiment, an example in which winding16divided into three phases of a U-phase, a V-phase, and a W-phase having phases different from each other by 120 degrees is wound around stator iron core15will be described. Stator iron core15has a plurality of salient poles protruding toward the inner peripheral side. The outer peripheral side of stator iron core15has a substantially cylindrical shape. The outer periphery of stator iron core15is fixed to case body14a.

Rotor12is inserted inside stator11via a gap. Rotor12holds cylindrical permanent magnet18on the outer periphery of rotor frame17. Rotor12is disposed so as to be rotatable about rotation shaft20supported by bearing19. That is, the distal end surface of the salient pole of stator iron core15and the outer peripheral surface of permanent magnet18are arranged to face each other.

In motor10, circuit board13on which various circuit components31are mounted is built in motor case14. These circuit components31constitute a motor driver for controlling and driving motor10. Support member21is attached to stator iron core15, Circuit board13is fixed in motor case14via support member21. End portions of windings16of the U phase, the V phase, and the W phase are drawn out from stator11as lead wires16a. Each lead wire16ais connected to circuit board13.

In order to achieve such a configuration, first, stator11is inserted into case body14aand fixed to the inner surface of case body14a. Next, rotor12and circuit board13are housed inside case body14a. Thereafter, case lid14bis mounted on case body14a. In this procedure, motor10incorporating the motor driver is formed.

Note that motor10and the motor driver may be integrated. Motor case14is made of metal. This has a shielding effect, so that electromagnetic noise radiated from circuit board13, stator11, and the like to the outside can be suppressed. In addition, stator iron core15is directly fixed to case body14a. Therefore, the heat generated in stator11can be dissipated to the outside through the metal motor case14.

A power supply voltage and a control signal are supplied from the outside to motor10configured as described above. As a result, a drive current flows through winding16by the motor driver realized by circuit board13, and a magnetic field is generated from stator iron core15. The magnetic field from stator iron core15and the magnetic field from permanent magnet18generate attraction and repulsion according to the polarity of the magnetic fields. These forces rotate rotor12about the rotation shaft20.

The present exemplary embodiment has been described using the inner rotor brushless motor as described above. However, the present disclosure can also be applied to an outer rotor type. Further, the present disclosure can also be applied to all rotor rotary motors such as brush-equipped motors. A blower used for air cooling or the like is configured by attaching an impeller for air blowing to the rotation shaft20of motor10.

Next, a motor driver of the present exemplary embodiment configured by circuit component31mounted on circuit board13will be described.

FIG.2is a block diagram of motor driver40incorporated in motor10according to the exemplary embodiment. Motor driver40includes rotation speed controller41, PWM circuit43, inverter44, operation clock generator46, PWM signal detector47, PWM cycle detector48, PWM duty ratio detector49, PWM cycle error calculator50. operation clock temperature-maximum error table51, temperature sensor511, PWM cycle error determination unit52, trigger value calculator53, timer54, target rotation speed converter and overall controller56.

Pulse width modulation (PWM) signal Rr is repeatedly input from external higher level system60to motor driver40in a first cycle as a command signal indicating a target rotation speed. PWM signal RT is, for example, a PWM signal indicating a rotation speed (rpm) per minute with a duty ratio, The first cycle is, for example, a cycle (2 msec) corresponding to 500 Hz.

Operation clock generator46is a circuit that generates clock signal Ck having a constant frequency (for example, 20 kHz). In order to prioritize cost, operation clock generator46is implemented by a simple circuit (for example, a clock circuit, an RC oscillation circuit, and the like incorporated in a microcontroller included in motor driver Therefore, operation clock generator46is inferior in accuracy and temperature dependency to higher level system60.

PWM signal detector47and tinier54detect PWM signal Rr and generate trigger signal Trg for starting the interruption processing for the rotation speed control by rotation speed controller41based on clock signal Ck from operation clock generator46.

More specifically, PWM signal detector47counts the time widths of signal level High and signal level Low of input PWM signal Rr using clock signal Ck from operation clock generator46provided in the blower. Both the count values are notified to PWM cycle detector48and PWM duty ratio detector49. PWM duty ratio detector49calculates the duty ratio using the count value from PWM signal detector47. Target rotation speed converter55converts the duty ratio notified from PWM duty ratio detector49into a target rotation speed, and outputs a command signal Tv indicating the converted target rotation speed. In order to perform the counting operation as described above, the frequency of clock signal Ck is set to a frequency (for example, 20 kHz) sufficiently higher than the frequency (for example, 500 Hz) of the PWM signal.

Here, normally, higher level system60is operated by a high-accuracy clock using, for example, a crystal oscillator. Therefore, the first cycle in the repetition of PWM signal Rr supplied from higher level system60also has high accuracy. On the other hand, as described above, the clock accuracy of operation clock generator46included in motor driver40is generally low, and the frequency variation due to the temperature is also larger than that of higher level system60. Although described in detail below, operation clock generator46uses the first cycle of the high-accuracy PWM signal Rr supplied from higher level system60and avoids multiplication of the signal level variation value and the variation value, thereby reliably securing the accuracy of the rotation speed. PWM cycle detector48is a processor that detects a cycle of PWM signal Rr detected by PWM signal detector47. PWM cycle detector48includes cycle calculator481, filter482, and cycle range determination unit483. Based on the count value from PWM signal detector47, cycle calculator481calculates a PWM cycle Obtained by adding the time width of the high level and the time width of the low level of PWM signal Rr, and both the time widths. Filter482performs processing of removing noise on the PWM cycle calculated by cycle calculator481, and then outputs PWM cycle Hf to cycle range determination unit483and PWM cycle error calculator50. For example, filter482is a low-pass filter or an averaging filter for preventing a sudden change in the PWM cycle due to noise or the like. Cycle range determination unit483determines whether PWM cycle Hf is at a noise level, and outputs the determination result as acceptable/unacceptable signal Jz to PWM cycle error calculator50.

PWM cycle error calculator50calculates cycle error Epwm indicating a degree of a difference between a predetermined cycle (here, the first cycle which is an ideal cycle of PWM signal Rr output from higher level system60) and PWM cycle Hf detected by PWM cycle detector48. PWM cycle error calculator50outputs calculated cycle error Epwm to PWM cycle error determination unit52and trigger value calculator53. Specifically, PWM cycle error calculator50calculates and outputs the error ratio (that is, PWM cycle Hf/first cycle) as cycle error Epwm. However, when the signal Jz from cycle range determination unit483is determined to be unacceptable, that is, the noise level, PWM cycle error calculator50outputs the previous cycle error Epwm.

FIG.3is a diagram illustrating an example of operation clock temperature-maximum error table51ofFIG.2.FIG.3illustrates a relationship between a temperature around a generation location of an operation clock provided in the blower and a maximum error. Operation clock temperature-maximum error table51acquires the ambient temperature from temperature sensor511and derives maximum error Emax of the operation clock provided in motor10at the acquired ambient temperature. Operation clock temperature-maximum error table51is, for example, a lookup table configured by a memory.

Referring toFIG.2, PWM cycle error determination unit52compares maximum error Emax of the operation clock acquired from operation clock temperature-maximum error table51with cycle error Epwm of PWM signal Rr calculated by PWM cycle error calculator50. PWM cycle error determination unit52outputs error determination signal Je indicating the result.

Trigger value calculator53uses error determination signal Je from PWM cycle error determination unit52and cycle error Epwm from PWM cycle error calculator50to calculate a second cycle (that is, the preset count value (trigger value) that causes timer54to output trigger signal Trg) that is a cycle when trigger signal Trg is repeatedly generated. Trigger value calculator53outputs trigger value signal Trv indicating the calculated second cycle to timer54. That is, when error determination signal Je from PWM cycle error determination unit52indicates that cycle error Epwm of PWM signal Rr is smaller than maximum error Emax of the operation clock, trigger value calculator53determines that the error is within the correctable range. Trigger value calculator53calculates a second cycle for correcting cycle error Epwm. Trigger value calculator53outputs trigger value signal Trv indicating the calculated second cycle to timer54. Specifically, as the calculation of the second cycle, trigger value calculator53multiplies a fixed reference value, that is, a reference value of a preset count value (trigger value) corresponding to an ideal state in which no error occurs in clock signal Ck from operation clock generator46by an error ratio indicated by cycle error Epwm. As a result, trigger value calculator53calculates the second cycle.

Timer54counts clock signal Ck of operation clock generator46, and when the obtained count value reaches a preset count value of the second cycle (trigger value) indicated by trigger value signal Trv from trigger value calculator53, repeatedly outputs trigger signal Trg for starting the interruption processing by rotation speed controller41to overall controller56. Timer54is an up-down counter circuit with a preset function that repeats up-counting from 0 to a preset count value and then down-counting from the preset count value to 0.

When trigger signal Trg is input from timer54, overall controller56activates rotation speed controller41or executes processing when an abnormality is detected in motor driver40as interruption processing. In this manner, overall controller56executes the overall processing in motor driver40.

Rotation speed controller41executes an interruption processing activated by overall controller56using trigger signal Trg generated by timer54as a trigger. The interruption processing is rotation speed control as feedback control for calculating the actual rotation speed of motor10(=rotation angle/unit time) by detecting a state (that is, the rotation angle) related to the rotation of motor10in the unit time with the cycle (this is the second cycle and can also be referred to as an “interruption cycle”) of trigger signal Trg repeatedly generated from timer54as the unit time, and driving motor10so that the calculated actual rotation speed coincides with the target rotation speed converted by target rotation speed converter55. For this purpose, rotation speed controller41includes three-phase current detector42a, three-phase to two-phase converter42b, dig axis converter42c, actual rotation speed and position estimator42d, differentiator42e, speed PI controller42f, current PI controller42g, inverse d/q converter42h, and three-phase modulator42i.

Three-phase current detector42ais an example of a sensor that detects a state related to rotation of motor10. Three-phase current detector42ais a sensor coil that detects a current flowing through each of U-phase winding16U, V-phase winding16V, and W-phase winding16W. Three-phase current detector42ais less expensive than the Hall sensor, Three-phase to two-phase converter42bconverts (that is, Clarke transformation) U-phase, V-phase, and W-phase three-phase current signals Ui, Vi, and Wi detected by three-phase current detector42ainto two-phase current signals αi and βi in the orthogonal coordinate system. d/q axis converter42cconverts (that is, the Park transformation) two-phase current signals ai and i from three-phase to two-phase converter421into current signals di and qi in the rotating coordinate system. Actual rotation speed and position estimator42dcalculates the actual rotation speed and the position (that is, the actual rotation speed in decimal point precision, that is, the “actual rotation speed and position” is also simply referred to as the “actual rotation speed”) of motor10from current signals di and qi from d/q axis converter42c. Actual rotation speed and position estimator42doutputs an actual rotation speed and position signal Ro indicating the calculated actual rotation speed. Differentiator42ecalculates a difference between the actual rotation speed indicated by actual rotation speed and position signal Ro from actual rotation speed and position estimator42dand the target rotation speed indicated by command signal Tv from target rotation speed converter55.

Speed PI controller42fcalculates current signals di_req and qi_req in the rotating coordinate system for PI control (control by proportional operation and integral operation) of the speed of motor10so that the difference calculated by differentiator42eapproaches Current PI controller42gconverts current signals di_req and qi_req from speed PI controller42finto voltage signals dv_req and qv_req. Inverse dig converter42hperforms inverse Park transformation on voltage signals dv_req and qv_req from current PI controller42gto convert the signals into two-phase signals in the orthogonal coordinate system. Three-phase modulator42iconverts the two-phase signal from inverse d/q converter42hinto three-phase waveform signal Wd by performing inverse Clarke transformation.

PWM circuit43calculates a PWM duty ratio. That is, PWM circuit43generates three-phase driving PWM signal Pd by performing pulse width modulation (PWM) using three-phase waveform signal Wd from three-phase modulator42ias a modulation signal. Inverter44converts the DC voltage into three-phase AC voltages Uo, Vo, and Wo according to three-phase driving PWM signal Pd from PWM circuit43, and applies the DC voltages to windings16U,16V, and16W, respectively. Inverter44includes, for example, a plurality of switching elements such as transistors.

Note that rotation speed controller41, PWM circuit43, inverter44, operation clock generator46, PWM signal detector47, PWM cycle detector48PWM duty ratio detector49, PWM cycle error calculator50, operation clock temperature-maximum error table51, PWM cycle error determination unit52, trigger value calculator53, timer54, target rotation speed converter55, and overall controller56constituting motor driver40are not limited to the above-described circuit examples. The program may be realized as hardware by a logic circuit using a field programmable gate array (FPGA) or the like, or may be realized as software by a memory storing a program and a processor such as a microcontroller executing the program.

Next, operation of motor driver40according to the present exemplary embodiment configured as described above will be described.

FIG.4is a flowchart illustrating an example of a procedure of an operation (that is, the motor drive process) of motor driver40according to the exemplary embodiment. The processing routine of this flowchart is repeatedly executed every first cycle (for example,2msec) of PWM signal Rr from higher level system60unless the motor driving is stopped due to an abnormality in the PWM cycle.

First, PWM signal detector47detects PWM signal Rr indicating the target rotation speed, which is repeatedly input from higher level system60in the first cycle, based on the clock generated by operation clock generator46(step S200). More specifically, PWM signal detector47counts the time widths of signal level High and signal level Low of PWM signal Rr input from higher level system60using clock signal Ck from operation clock generator46.

Next, PWM cycle detector48detects the cycle of PWM signal Rr detected by PWM signal detector47(step S201). More specifically, cycle calculator481calculates the PWM cycle obtained by adding the time width of the high level, the time width of the low level, and both the time widths of PWM signal RT based on the count value from PWM signal detector47. Filter482performs processing of removing noise on the PWM cycle calculated by cycle calculator481, and then outputs the PWM cycle as PWM cycle Hf. Cycle range determination unit483determines whether PWM cycle Hf is at a noise level, and outputs the determination result as acceptable/unacceptable signal Jz.

In order to determine whether PWM cycle Hf is at a noise level, cycle range determination unit483determines whether PWM cycle Hf is equal to or less than a predetermined cycle (step S202). Cycle range determination unit483outputs the determination result as acceptable/unacceptable signal Jz.

As a result, when it is determined that PWM cycle Hf is equal to or less than the predetermined cycle (“Yes” in step S202), overall controller56determines that noise has been detected (unacceptable), and measures a cycle unacceptable period, that is, a period during which it is determined that noise has been detected (step S203). Overall controller56determines whether or not the measured cycle unacceptable period is a predetermined period or longer (step S205).

As a result, when the measured cycle unacceptable period is equal to or longer than the predetermined period (“Yes” in step S205), overall controller56recognizes that an abnormality has occurred and stops driving of the motor (step8206). Then, the motor drive process ends. On the other hand, when the measured cycle unacceptable period is not equal to or longer than the predetermined period (“NO” in step8205), overall controller56determines the end of the motor drive process (step S207).

In the end determination of the motor drive process (step S207), overall controller56repeats the motor drive process (to step5200) in a case where the end of the process is not commanded from higher level system60or the like (“No” in step S207), and ends the motor drive process in a case where the end is commanded (“Yes” in step8207).

In step S202, when it is determined that PWM cycle Hf detected by PWM cycle detector48is not equal to or less than the predetermined cycle (“NO” in step S202), overall controller56recognizes that no noise is detected, and drives the motor. That is, when motor10is in the stopped state, the rotation operation of motor10is started (step S204).

PWM cycle error calculator50calculates a cycle error Epwm indicating a degree of a difference between a predetermined cycle (Here, the first cycle which is an ideal cycle of PWM signal Rr output from higher level system60) and PWM cycle Hf (step S208). Specifically, PWM cycle error calculator50calculates and outputs the error ratio (that is, PWM cycle Hf/first cycle) as cycle error Epwm.

Operation clock temperature-maximum error table51acquires the ambient temperature from temperature sensor511. Operation clock temperature-maximum error table51derives maximum error Emax of the operation clock provided in motor10at the acquired ambient temperature (step S209).

PWM cycle error determination unit52compares maximum error Emax of the operation clock acquired from operation clock temperature-maximum error table51with cycle error Epwm of PWM signal Rr calculated by PWM cycle error calculator50(step S210). PWM cycle error determination unit52outputs error determination signal Je indicating the result.

As a result, when error determination signal le indicates that cycle error Epwm of PWM signal Rr is smaller than maximum error Emax of the operation clock (“Yes” in step S210), trigger value calculator53determines that cycle error Epwm is within the correctable range. Trigger value calculator53corrects the cycle (trigger value) when trigger signal Trg is repeatedly generated from timer54using cycle error Epwm (step S211). More specifically, trigger value calculator53calculates the second cycle, which is a cycle when trigger signal Trg is repeatedly generated, using cycle error Epwm. Trigger value calculator53outputs trigger value signal Trv indicating the calculated second cycle to timer54. Specifically, as the calculation of the second cycle, trigger value calculator53calculates the second cycle by multiplying the fixed reference value, that is, the reference value of the preset count value (trigger value) corresponding to the ideal state in which no error occurs in clock signal Ck from operation clock generator46by the error ratio indicated by cycle error Epwm.

Timer54counts clock signal Ck of operation clock generator46, and repeats outputting trigger signal Trg for starting the interruption processing by rotation speed controller41at a time point when the obtained count value reaches the second cycle indicated by trigger value signal Trv from trigger value calculator53.

On the other hand, when error determination signal Je does not indicate that cycle error Epwm of PWM signal Rr is smaller than maximum error Emax of the operation clock (“NO” in step S210), trigger value calculator53determines that the clock abnormality occurs in higher level system60that has generated and output PWM signal Rr. Then, trigger value calculator53does not correct the trigger value using cycle error Epwm.

Thereafter, an end determination process (step S207) of the motor drive process is performed.

FIG.5is a flowchart illustrating an example of a procedure of interruption processing in motor driver40according to the exemplary embodiment. That is, as the interruption processing executed every time trigger signal Trg is output from timer54, the processes in rotation speed controller41and PWM circuit43are illustrated.

Actual rotation speed and position estimator42dcalculates the actual rotation speed of motor10from current signals di and qi from d/q axis converter42c(step S303). The actual rotation speed calculated here is a rotation angle (that is, rotation angle/unit time) having a cycle (second cycle) of trigger signal Trg repeatedly generated from timer54as a unit time.

Next, differentiator42ecalculates a difference between the actual rotation speed indicated by actual rotation speed and position signal Ro from actual rotation speed and position estimator42dand the target rotation speed indicated by command signal Tv from target rotation speed converter55(step S304). Speed PI controller42fcalculates current signals di_req and qi_req in the rotating coordinate system for PI control (control by proportional operation and integral operation) of the speed of motor10so that the difference calculated by differentiator42eapproaches 0 (step5305). Current PI controller42gconverts current signals di_req and qi_req from speed PI controller42finto voltage signals dv_req and qv_req (step S306).

Inverse d/q converter42hconverts voltage signals dv_req and qv_req from current PI controller42ginto two-phase signals in an orthogonal coordinate system by performing inverse Park transformation (step S307). Three-phase modulator42iperforms inverse Clarke- transformation on the two-phase signal from inverse d/q converter42hto convert the two-phase signal into a three-phase waveform signal Wd (step S308). PWM circuit43calculates a PWM duty ratio, that is, performs pulse width modulation (PWM) using three-phase waveform signal Wd from three-phase modulator42ias a modulation signal, thereby generating three-phase driving PWM signal Pd (step S309).

The PWM duty ratio calculated by PWM circuit43is updated in synchronization with next trigger signal Trg output from timer54. That is, in parallel with the start of the next interruption processing, inverter44converts the DC voltage into three-phase AC voltages Uo, Vo, and Wo according to three-phase driving PWM signal Pd corresponding to the PWM duty ratio calculated by PWM circuit43, and applies the DC voltages to windings16U,16V, and16W, respectively.

By the above interruption processing (steps S300to S309), feedback control is performed to drive motor10so that the actual rotation speed detected with the cycle (second cycle) of trigger signal Trg repeatedly generated from timer54as a unit time coincides with the target rotation speed indicated by command signal Tv. Here, the cycle (second cycle) of trigger signal Trg is an accurate cycle after the inaccuracy of clock signal Ck from operation clock generator46is corrected with the cycle of the high-accuracy PWM signal Rr supplied from higher level system60. Therefore, the interruption processing is executed in an accurate cycle based on the highly accurate clock frequency of higher level system60, and the unit time (interruption cycle) approaches the ideal value, so that the error of the actual rotation speed (=rotation angle/unit time) that is the rotation angle detected in the unit time is reduced.

Furthermore, in motor driver40, cycle error Epwm calculated by PWM cycle error calculator50is used to multiply a fixed reference value by trigger value calculator53. Therefore, it is avoided to multiply the variation value by the variation value as in PTL 1. As a result, the error of the actual rotation speed detected by rotation speed controller41can be reliably suppressed.

FIGS.6A and6Bare timing charts illustrating exemplary operation of motor driver according to the exemplary embodiment. More specifically,FIG.6Aillustrates a time change example of the count value of timer54. A solid line indicates a time change example in an ideal state, that is, in a case where no error occurs in clock signal Ck from operation clock generator46. A broken line indicates a time change example in a case where an error occurs in clock signal Ck from operation clock generator46(error occurrence state). A lower part ofFIG.6Aillustrates a timing (times ta1and ta2in the ideal state, and times th1and tb2in the error occurrence state) at which the interruption processing (the process illustrated inFIG.5) is executed.FIG.6Billustrates waveform examples (“inverter waveforms”) of three-phase AC voltages Uo, Vo, and Wo output from inverter44in the ideal state and the error occurrence state.FIG.6Billustrates timing (time ta1in the ideal state, and time tb3in the error occurrence state) at which the “PWM duty ratio update process” (process by inverter44) is executed.

Now, assuming that the trigger value (preset count value of timer54) is 50,000 in the ideal state, in the ideal state, as indicated by a solid line inFIG.6A, the interruption processing is performed every time timer54reaches 50,000 in the up/down count. This cycle corresponds to 5 seconds (=1/20 kHz×50,000×2) in a case where operation clock generator46outputs clock signal Ck of 20 kHz. Therefore, in the interruption processing, rotation speed controller41calculates the rotation angle (that is, rotation angle/5 seconds) generated in motor10in the period of 5 seconds as the actual rotation speed, and performs the rotation speed control.

On the other hand, when the error occurrence state occurs and operation clock generator46is in the state of outputting clock signal Ck of 18 kHz, the error ratio 0.9 (=18 kHz/20 kHz) is output from PWM cycle error calculator50as cycle error Epwm by using the first cycle of PWM signal Rr based on the high-accuracy clock of higher level system60. As a result, trigger value calculator53outputs trigger value signal Trv indicating 45000 obtained by multiplying the trigger value (50,000) in the ideal state, which is a fixed reference value, by the error ratio 0.9 to timer54.

As a result, as indicated by a broken line inFIG.6A, the interruption processing is performed every time timer54reaches 45000 in the up/down count. This cycle also corresponds to 5 seconds (=1/18 kHz×45000×2) in the error occurrence state in which operation clock generator46outputs clock signal Ck of 18 kHz. Therefore, even in the error occurrence state, in the interruption processing, the rotation angle (that is, rotation angle/5 seconds) generated in motor10in the period of 5 seconds is calculated as the actual rotation speed by rotation speed controller41, and the highly accurate rotation speed control similar to that in the ideal state is performed. That is, even when operation clock generator46is in the error occurrence state, rotation speed control is performed with high clock accuracy similar to that of higher level system60by using the high-accuracy clock of higher level system60.

Furthermore, in motor driver40, cycle error Epwm calculated by P cycle error calculator50is used to multiply a fixed reference value by trigger value calculator53. As a result, it is avoided to multiply the variation value by the variation value as in PTL 1. Therefore, the error of the actual rotation speed detected by rotation speed controller41can be reliably suppressed.

As described above, motor driver40according to the present exemplary embodiment is a motor driver that rotates motor10at a target rotation speed, and includes operation clock generator46that generates a clock, PWM signal detector47that detects a, pulse width modulation signal indicating the target rotation speed, which is repeatedly input from the outside in a first cycle, based on the clock generated by operation clock generator46, target rotation speed converter55that converts a duty ratio of the pulse width modulation signal detected by PWM signal detector47into a target rotation speed, rotation speed controller41that calculates an actual rotation speed of motor10by detecting a state related to rotation of motor10, and drives motor10such that the calculated actual rotation speed matches the target rotation speed converted by target rotation speed converter55, PWM cycle detector48that detects a cycle of a pulse width modulation signal detected by PWM signal detector47, PWM cycle error calculator50that calculates a difference between the cycle detected by PWM cycle detector48and a first cycle, trigger value calculator53that calculates a second cycle when a trigger signal is repeatedly generated based on the difference calculated by PWM cycle error calculator50, and timer54that generates a trigger signal in the second cycle calculated by trigger value calculator53. Rotation speed controller41calculates an actual rotation speed depending on the second cycle of the trigger signal generated by timer54.

As a result, the trigger signal is generated from timer54in the second cycle based on the difference between the cycle (first cycle) of the PWM signal repeatedly input from the outside and the cycle of the PWM signal detected depending on the clock from operation clock generator46, and the rotation speed control by rotation speed controller41is executed. Therefore, in a case where there is an error in the frequency of the clock generated by operation clock generator46, processing of offsetting the error is performed, and the second cycle in which the trigger signal is generated coincides with the first cycle. That is, the error of the clock frequency of operation clock generator46is reduced by using the highly accurate first cycle. This enables accurate rotation speed control. Therefore, operation clock generator46does not need to be a highly accurate clock generation circuit using a crystal oscillator or the like, and can be realized by a simple circuit.

In motor driver40according to the present exemplary embodiment, cycle error Epwm calculated by PWM cycle error calculator50is used for multiplying a fixed reference value by trigger value calculator53. Therefore, it is avoided to multiply the variation value by the variation value as in PTL 1. As a result, the error of the actual rotation speed detected by rotation speed controller41can be reliably suppressed.

Such a feature of motor driver40in the present exemplary embodiment can reduce a clock trimming process for operation clock generator46before motor driver40is manufactured and shipped. In addition, individual variations of the switching frequency of inverter44are reduced, and the absolute accuracy is improved. Therefore, individual variation in temperature rise is suppressed, and a margin of a cooling area and a motor size of the cooling fin and the like can be reduced. In the evaluation of the emission (EMI, emission) in EMC (Electromagnetic compatibility, electromagnetic compatibility), individual variations are reduced, and the number of countermeasure components can be reduced.

Here, rotation speed controller41calculates the rotation angle of motor10in the second cycle of the trigger signal generated by timer54as the actual rotation speed. As a result, the rotation angle of motor10in the period of the second cycle that coincides with the highly accurate first cycle is calculated as the actual rotation speed. Therefore, the rotation speed control with high accuracy in which the error of the clock frequency of operation clock generator46is reliably suppressed is performed.

In addition, rotation speed controller41calculates the actual rotation speed in the interruption processing started with the trigger signal generated by timer54as a trigger. As a result, the rotation speed control by rotation speed controller41is reliably executed as an interruption processing without delay using the trigger signal generated by timer54as a trigger.

Furthermore, motor10according to the present exemplary embodiment is a motor including motor driver40and stator11to which a drive current is supplied based on a result calculated by motor driver40. As a result, motor10including motor driver40capable of reliably suppressing the error of the actual rotation speed to be detected despite including operation clock generator46with low accuracy is realized.

Although the motor driver and the motor of the present disclosure have been described above based on the exemplary embodiments, the present disclosure is not limited to the exemplary embodiments. The present exemplary embodiment to which various modifications conceivable by those skilled in the art are applied, or another form constructed by combining some components in the exemplary embodiment is also included in the scope of the present disclosure without departing from the gist of the present disclosure.

For example, the present disclosure may be realized as an invention related to a motor driving method corresponding to all or a part of the processing illustrated in the flowcharts ofFIGS.4and5, or may be realized as an invention related to a program stored in a non-transitory computer-readable recording medium such as a digital versatile disc (DVD) that executes the motor driving method.

Further, in the above exemplary embodiment, the trigger signal from timer54is used to start the interruption processing by rotation speed controller41with respect to overall controller56, but the present disclosure is not necessarily limited to such an application. The trigger signal from timer54may be used as a control signal for directly activating the rotation speed control by rotation speed controller41.

Furthermore, in the above-described exemplary embodiment, rotation speed controller41that executes the interruption processing has a configuration separate from overall controller56realized by the program and the processor. However, it may be incorporated in overall controller56as a part of the function of overall controller56. In the above exemplary embodiment, timer54is an up/down counter circuit.

However, the present disclosure is not limited thereto, and may be an up counter circuit or a down counter circuit.

Furthermore, in the above-described exemplary embodiment, the interruption processing is the process illustrated in the flowchart illustrated inFIG.5, but the present disclosure is not limited thereto. If the processes up to the calculation of the actual rotation speed (steps S300to S303) are executed by the interruption processing, the subsequent processes (step S304and thereafter) may be processes executed asynchronously separately from the interruption processing.

INDUSTRIAL APPLICABILITY

The motor driver and the motor of the present disclosure can suppress a rotation speed shift and can achieve a stable rotation speed even when accuracy of an operation clock deteriorates due to heat generation or the like during energization drive. Therefore, the present disclosure is useful for a motor used in an electric device. In particular, the present disclosure is preferably used for in-vehicle use in which temperature fluctuation is severe.

REFERENCE MARKS THE DRAWINGS