Nothing Special   »   [go: up one dir, main page]

JP5634330B2 - Motor drive control program, drive control method, and drive control apparatus - Google Patents

Motor drive control program, drive control method, and drive control apparatus Download PDF

Info

Publication number
JP5634330B2
JP5634330B2 JP2011127073A JP2011127073A JP5634330B2 JP 5634330 B2 JP5634330 B2 JP 5634330B2 JP 2011127073 A JP2011127073 A JP 2011127073A JP 2011127073 A JP2011127073 A JP 2011127073A JP 5634330 B2 JP5634330 B2 JP 5634330B2
Authority
JP
Japan
Prior art keywords
state
pwm
motor
drive control
pwm signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011127073A
Other languages
Japanese (ja)
Other versions
JP2012253991A (en
JP2012253991A5 (en
Inventor
星 聡
聡 星
Original Assignee
星 聡
聡 星
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 星 聡, 聡 星 filed Critical 星 聡
Priority to JP2011127073A priority Critical patent/JP5634330B2/en
Publication of JP2012253991A publication Critical patent/JP2012253991A/en
Publication of JP2012253991A5 publication Critical patent/JP2012253991A5/ja
Application granted granted Critical
Publication of JP5634330B2 publication Critical patent/JP5634330B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Electric Motors In General (AREA)
  • Control Of Motors That Do Not Use Commutators (AREA)

Description

本発明はモータの駆動制御プログラム、駆動制御方法及び駆動制御装置に関し、特にホール素子等の位置検出素子によらず位置検出を行うブラシレスDCモータの駆動制御プログラム、駆動制御方法及び駆動制御装置に関する。   The present invention relates to a motor drive control program, a drive control method, and a drive control apparatus, and more particularly to a drive control program, a drive control method, and a drive control apparatus for a brushless DC motor that performs position detection regardless of position detection elements such as Hall elements.

モータを回転させる場合、ロータの回転位置を検出して、ロータの回転位置に合わせて駆動信号の状態を遷移させる必要がある。そこで、一般的なモータでは、ホール素子等の位置検出手段を備えることでモータの回転位置を検出し、駆動信号の状態を遷移させる。しかし、ホール素子は、高温環境下(例えば、125℃以上の環境温度)では正確な位置検出が行えない問題がある。そこで、近年、例えば、HDD(Hard Disk Drive)、送風機、ポンプなどの高速高トルク回転が必要になる用途において、センサレスブラシレス直流モータが多く利用されている。センサレスブラシレス直流モータでは、ホール素子等の位置検出手段を用いることなくモータの回転位置を検出し、当該検出結果に基づき回転制御が可能である。センサレスブラシレス直流モータを用い場合、高温環境下における耐久性の面で多くのメリットを有する。   When rotating the motor, it is necessary to detect the rotational position of the rotor and change the state of the drive signal in accordance with the rotational position of the rotor. In view of this, a general motor includes position detection means such as a Hall element to detect the rotational position of the motor and to change the state of the drive signal. However, the Hall element has a problem that accurate position detection cannot be performed under a high temperature environment (for example, an environmental temperature of 125 ° C. or more). Thus, in recent years, sensorless brushless DC motors are often used in applications that require high-speed and high-torque rotation, such as HDDs (Hard Disk Drives), blowers, and pumps. In a sensorless brushless DC motor, the rotational position of the motor can be detected without using position detecting means such as a Hall element, and the rotation can be controlled based on the detection result. When a sensorless brushless DC motor is used, it has many advantages in terms of durability in a high temperature environment.

このセンサレスブラシレス直流モータでは、非通電相に生じる誘起電圧を利用してモータの回転位置を検出し、当該検出のタイミングに応じて通電させる電機子巻線電流の通電を切り換えることができる。このようなセンサレスブラシレス直流モータの一例が特許文献1、2に開示されている。   In this sensorless brushless DC motor, the rotational position of the motor can be detected using the induced voltage generated in the non-energized phase, and the energization of the armature winding current to be energized can be switched according to the detection timing. An example of such a sensorless brushless DC motor is disclosed in Patent Documents 1 and 2.

特許文献1に示される例では、センサレスブラシレス直流モータを3相の駆動信号(U相、V相、W相)を用いて駆動する。そして、特許文献1の図1、図2に示す例では、U相の駆動信号の電圧(端子Rに生じる電圧)と基準電圧Vdc/2とをコンパレータで比較して端子Rの電圧が基準電圧Vdc/2と交わるゼロクロス検出点を検出する。そして、ゼロクロス検出点が検出されたタイミングに応じて、マイクロコンピュータにてモータを駆動するためのPWM信号の状態を次状態に遷移させる。   In the example shown in Patent Document 1, a sensorless brushless DC motor is driven using a three-phase drive signal (U phase, V phase, W phase). In the example shown in FIGS. 1 and 2 of Patent Document 1, the voltage of the U-phase drive signal (voltage generated at the terminal R) and the reference voltage Vdc / 2 are compared by a comparator, and the voltage at the terminal R is the reference voltage. A zero-cross detection point that intersects Vdc / 2 is detected. Then, the state of the PWM signal for driving the motor by the microcomputer is changed to the next state according to the timing at which the zero cross detection point is detected.

また、特許文献2では、非通電相の駆動信号の電圧レベルとセンタータップ電圧とをコンパレータで比較し、当該比較結果に応じてアップダウンカウンタを動作させ、アップダウンカウンタの値に応じて真のゼロクロス点を算出する方法が開示されている。そして、特許文献2では、算出されたゼロクロス点から駆動信号のステートを遷移させるタイミングを算出する。   Further, in Patent Document 2, the voltage level of the non-energized phase drive signal and the center tap voltage are compared by a comparator, the up / down counter is operated according to the comparison result, and the true level is determined according to the value of the up / down counter. A method for calculating the zero cross point is disclosed. And in patent document 2, the timing which changes the state of a drive signal from the calculated zero cross point is calculated.

特開平9−247984号公報Japanese Patent Laid-Open No. 9-247984 米国特許第7,235,939号明細書US Pat. No. 7,235,939

しかしながら、一般的に、センサレスブラシレス直流モータにおいて駆動信号と基準電圧とを比較する場合、非通電相の駆動信号を入力段分圧抵抗等で信号振幅を減衰させた後にコンパレータ等で非通電相の駆動信号の大きさを判定する。このとき、入力段分圧抵抗は分圧比誤差を持つ。また、非通電相の駆動信号の大きさを判定するコンパレータは、入力オフセット電圧や入力ノイズ電圧等誤差要因を持つ。さらに、モータが低い回転速度で回転する起動時等では大きな誘起電圧を望めないため、電機子巻線の電圧と基準電圧との比較電位差が微小になる。このようなことから、特許文献1に記載の技術では、モータの低回転領域において誘起電圧とノイズ電圧との間に十分なSN比を確保できなくなり比較結果が不安定となる。結果として、特許文献1に記載の技術では、誘起電圧が基準電圧と交差する時に位置検出信号が不確定に複数回発生し、低回転速度領域における位置検出の間隔を正確に計時することが困難である。   However, in general, when a drive signal and a reference voltage are compared in a sensorless brushless DC motor, the non-energized phase drive signal is attenuated by an input stage voltage dividing resistor or the like after the non-energized phase drive signal is attenuated by a comparator or the like. The magnitude of the drive signal is determined. At this time, the input stage voltage dividing resistor has a voltage dividing ratio error. The comparator that determines the magnitude of the non-energized phase drive signal has an error factor such as an input offset voltage and an input noise voltage. Furthermore, since a large induced voltage cannot be expected at the time of starting the motor rotating at a low rotation speed, the comparison potential difference between the voltage of the armature winding and the reference voltage becomes small. For this reason, in the technique described in Patent Document 1, a sufficient SN ratio cannot be secured between the induced voltage and the noise voltage in the low rotation region of the motor, and the comparison result becomes unstable. As a result, in the technique described in Patent Document 1, when the induced voltage crosses the reference voltage, the position detection signal is generated indefinitely several times, and it is difficult to accurately measure the position detection interval in the low rotation speed region. It is.

また、特許文献2の図3、図4では、コンパレータへの入力ノイズにより生じる誤差の問題が明らかであるが、特許文献2では、このノイズをマスクすることで、ゼロクロス点の計算結果にこの誤差の影響が反映されないようにしている。しかしながら、特許文献2では、図3、図4、図8及びそれに関連する記載からも明らかなように、駆動信号のステートを遷移させる周期が予め決められていなければゼロクロス点の算出ができない問題がある。つまり、特許文献2は、モータの回転速度の変化に対応できない問題がある。例えば、PWM信号のデューティ比を可変することでモータの回転速度を制御する場合などモータの回転速度が変化するような用途では、特許文献2の技術は利用できない。また、モータは、回転速度がゼロの状態から回転を開始しなければならないが、回転速度が最大回転数に達する前の段階では特許文献2の技術は利用できない。このようなことから、特許文献2では、特にモータが最大回転速度以外の回転速度で回転している場合におけるモータの制御性が悪化する問題がある。   In FIGS. 3 and 4 of Patent Document 2, the problem of an error caused by input noise to the comparator is obvious. However, in Patent Document 2, this error is included in the calculation result of the zero cross point by masking this noise. The effect of is not reflected. However, in Patent Document 2, as is clear from FIGS. 3, 4, 8, and related descriptions, there is a problem that the zero cross point cannot be calculated unless the cycle for changing the state of the drive signal is determined in advance. is there. That is, Patent Document 2 has a problem that it cannot cope with a change in the rotational speed of the motor. For example, the technique of Patent Document 2 cannot be used in applications where the rotational speed of the motor changes, such as when the rotational speed of the motor is controlled by changing the duty ratio of the PWM signal. Further, the motor must start rotating from a state where the rotational speed is zero, but the technique of Patent Document 2 cannot be used before the rotational speed reaches the maximum rotational speed. For this reason, Patent Document 2 has a problem that the controllability of the motor deteriorates particularly when the motor is rotating at a rotational speed other than the maximum rotational speed.

また、特許文献1では、ゼロクロス検出点が検出されたタイミングに応じてPWM信号の状態を次状態へと遷移させるタイミングを切り換える。そのため、特許文献1では、ゼロクロス検出点がずれた場合、モータの制御性が悪化する問題がある。また、上記問題を回避する為にコンパレータにヒステリシス持たせる事が一般的であるが、コンパレータにヒステリシスによる不感帯を持たせることにより比較結果を安定化させた場合、端子Rの電圧が基準電圧Vdc/2と交わるゼロクロス検出点が実際のゼロクロス検出点とずれモータの制御性が悪化する問題がある。誘起電圧がヒステリシス範囲以内である場合、ゼロクロス検出する事が出来ないため、低回転速度に限界が発生する。つまり、特許文献1に記載の技術では、センサレスブラシレス直流モータを低回転速度で制御する場合に制御性が悪化する問題を解決できない。   Moreover, in patent document 1, the timing which changes the state of a PWM signal to the next state is switched according to the timing when the zero cross detection point was detected. Therefore, in patent document 1, when the zero cross detection point shifts, there exists a problem that the controllability of a motor deteriorates. In order to avoid the above problem, the comparator is generally provided with hysteresis. However, when the comparison result is stabilized by providing the comparator with a dead zone due to hysteresis, the voltage at the terminal R becomes equal to the reference voltage Vdc / The zero cross detection point intersecting with 2 is different from the actual zero cross detection point, and the controllability of the motor is deteriorated. When the induced voltage is within the hysteresis range, zero-cross detection cannot be performed, and thus a limit occurs in the low rotation speed. In other words, the technique described in Patent Document 1 cannot solve the problem that the controllability deteriorates when the sensorless brushless DC motor is controlled at a low rotational speed.

本発明にかかるモータの駆動制御プログラムの一態様は、モータの回転位置に応じて生成するPWM信号の状態を遷移させる演算コアと、ドライバ回路を介して前記PWM信号をモータに出力する出力インタフェースと、前記ドライバ回路が前記PWM信号に基づき生成した3相の駆動信号から選択した比較対象検出信号と前記3相の駆動信号の中点電圧を示すセンタータップ電圧とを比較するコンパレータと、を有するプロセッサにおいて前記演算コアで実行されるモータの駆動制御プログラムであって、前記コンパレータの出力信号の値に基づきコンパレータ積分値を増減し、前記コンパレータ積分値がカウント初期値に達したことに応じて前記モータの回転位置が遷移したことを検出し、当該検出結果に応じて、前記PWM信号の状態を次状態に遷移させる。   One aspect of a motor drive control program according to the present invention includes an arithmetic core that changes the state of a PWM signal generated according to the rotational position of the motor, and an output interface that outputs the PWM signal to the motor via a driver circuit. A comparator that compares a comparison target detection signal selected from the three-phase drive signal generated by the driver circuit based on the PWM signal with a center tap voltage indicating a midpoint voltage of the three-phase drive signal. The motor drive control program executed by the arithmetic core in the above-described embodiment, the comparator integral value is increased or decreased based on the value of the output signal of the comparator, and the motor is activated in response to the comparator integral value reaching the initial count value. The rotational position of the PWM signal is detected and the state of the PWM signal is determined according to the detection result. To transition to the next state.

本発明にかかるモータの駆動制御方法の一態様は、モータの回転位置に応じて生成するPWM信号の状態を遷移させるPWM信号生成回路と、ドライバ回路を介して前記PWM信号をモータに出力する出力インタフェースと、前記ドライバが前記PWM信号に基づき生成した3相の駆動信号から選択した1相の駆動信号と前記3相の駆動信号の中点電圧を示すセンタータップ電圧とを比較するコンパレータと、を有するモータ駆動装置を用いたモータの駆動制御方法であって、前記コンパレータの出力信号の値に基づきコンパレータ積分値を増減し、前記コンパレータ積分値がカウント初期値に達したことに応じて前記モータの回転位置が遷移したことを検出し、当該検出結果に応じて、前記PWM信号の状態を次状態に遷移させる。   One aspect of a motor drive control method according to the present invention includes a PWM signal generation circuit that changes the state of a PWM signal generated according to the rotational position of the motor, and an output that outputs the PWM signal to the motor via a driver circuit. An interface and a comparator for comparing a one-phase drive signal selected from the three-phase drive signal generated by the driver based on the PWM signal and a center tap voltage indicating a midpoint voltage of the three-phase drive signal; A motor drive control method using a motor drive device having a comparator integrated value is increased or decreased based on a value of an output signal of the comparator, and the motor is controlled in response to the comparator integrated value reaching a count initial value. It detects that the rotational position has changed, and changes the state of the PWM signal to the next state according to the detection result.

本発明にかかるモータの駆動制御装置の一態様は、モータの回転位置に応じて生成するPWM信号の状態を遷移させるPWM信号生成回路と、ドライバ回路を介して前記PWM信号をモータに出力する出力インタフェースと、前記ドライバが前記PWM信号に基づき生成した3相の駆動信号から選択した1相の駆動信号と前記3相の駆動信号の中点電圧を示すセンタータップ電圧とを比較するコンパレータと、を有し、前記PWM信号生成回路は、前記コンパレータの出力信号の値に基づきコンパレータ積分値を増減し、前記コンパレータ積分値がカウント初期値に達したことに応じて前記モータの回転位置が遷移したことを検出し、当該検出結果に応じて、前記PWM信号の状態を次状態に遷移させる。   One aspect of a motor drive control device according to the present invention includes a PWM signal generation circuit that transitions the state of a PWM signal generated according to the rotational position of the motor, and an output that outputs the PWM signal to the motor via a driver circuit. An interface and a comparator for comparing a one-phase drive signal selected from the three-phase drive signal generated by the driver based on the PWM signal and a center tap voltage indicating a midpoint voltage of the three-phase drive signal; The PWM signal generation circuit increases or decreases the comparator integral value based on the value of the output signal of the comparator, and the rotational position of the motor has changed in response to the comparator integral value reaching the initial count value. And the state of the PWM signal is changed to the next state according to the detection result.

本発明にかかるモータの駆動制御プログラム、駆動制御方法及び駆動制御装置では、比較対象検出信号とセンタータップ電圧とが入力されるコンパレータの出力結果を積分したコンパレータ積分値に基づきモータの回転位置を検出する。これにより、コンパレータが入力オフセットを有する場合、或いは、ノイズに対する対策(例えば、ヒステリシス特性を有するコンパレータの利用)を行ってない場合であっても、これらのコンパレータの特性がモータの回転検出タイミングに与える影響を抑制することができる。   In the motor drive control program, the drive control method, and the drive control device according to the present invention, the rotational position of the motor is detected based on the comparator integrated value obtained by integrating the output result of the comparator to which the comparison target detection signal and the center tap voltage are input. To do. As a result, even when the comparator has an input offset, or even when measures against noise (for example, use of a comparator having hysteresis characteristics) are not taken, the characteristics of these comparators are given to the rotation detection timing of the motor. The influence can be suppressed.

本発明にかかるモータの駆動制御プログラム、駆動制御方法及び駆動制御装置によれば、モータを低回転速度でモータの制御した場合の制御性を向上させることができる。   According to the motor drive control program, the drive control method, and the drive control apparatus according to the present invention, the controllability when the motor is controlled at a low rotational speed can be improved.

実施の形態1にかかるモータ駆動制御装置のブロック図である。1 is a block diagram of a motor drive control device according to a first embodiment; 実施の形態1にかかるモータ駆動制御装置のより詳細なブロック図である。FIG. 2 is a more detailed block diagram of the motor drive control device according to the first exemplary embodiment. 実施の形態1にかかるモータ駆動制御装置の動作手順を示すフローチャートである。3 is a flowchart illustrating an operation procedure of the motor drive control device according to the first embodiment; 図3に示したフローチャートの変数初期化処理の詳細なフローチャートである。It is a detailed flowchart of the variable initialization process of the flowchart shown in FIG. 図3に示したフローチャートのモータ駆動動作の詳細なフローチャートである。It is a detailed flowchart of the motor drive operation of the flowchart shown in FIG. 図5に示したフローチャートの回転制御処理の詳細なフローチャートである。It is a detailed flowchart of the rotation control process of the flowchart shown in FIG. 図6に示したフローチャートの定電流制御処理の詳細なフローチャートである。It is a detailed flowchart of the constant current control process of the flowchart shown in FIG. 図6に示したフローチャートのフライバックフィルタ処理の詳細なフローチャートである。It is a detailed flowchart of the flyback filter process of the flowchart shown in FIG. 図6に示したフローチャートのロータ位置検出処理の詳細なフローチャートである。It is a detailed flowchart of the rotor position detection process of the flowchart shown in FIG. 図9に示したフローチャートのステート制御処理の詳細なフローチャートである。10 is a detailed flowchart of the state control process of the flowchart shown in FIG. 9. 図10に示したフローチャートの定回転速度制御処理の詳細なフローチャートである。It is a detailed flowchart of the constant rotational speed control process of the flowchart shown in FIG. 図10に示したフローチャートのステート更新処理の詳細なフローチャートである。It is a detailed flowchart of the state update process of the flowchart shown in FIG. 図10に示したフローチャートのフライバック適応フィルタ更新処理の詳細なフローチャートである。FIG. 11 is a detailed flowchart of flyback adaptive filter update processing of the flowchart shown in FIG. 10. 図6に示したフローチャートのレギュレーションループ調停処理の詳細なフローチャートである。7 is a detailed flowchart of a regulation loop arbitration process of the flowchart shown in FIG. 6. 図6に示したフローチャートのPWMプリモジュレーション処理の詳細なフローチャートである。FIG. 7 is a detailed flowchart of PWM premodulation processing of the flowchart shown in FIG. 6. 実施の形態1にかかるモータ駆動制御装置のモータ制御開始時点の動作を示すタイミングチャートである。3 is a timing chart illustrating an operation at the time of starting motor control of the motor drive control device according to the first embodiment; 実施の形態1にかかるモータ駆動制御装置の状態0におけるオルタネートPWM方式の動作を説明するためのドライバ回路のブロック図である。FIG. 6 is a block diagram of a driver circuit for explaining an operation of an alternate PWM method in a state 0 of the motor drive control device according to the first exemplary embodiment; 実施の形態1にかかるモータ駆動制御装置の状態1におけるオルタネートPWM方式の動作を説明するためのドライバ回路のブロック図である。FIG. 3 is a block diagram of a driver circuit for explaining an operation of an alternate PWM method in a state 1 of the motor drive control device according to the first exemplary embodiment; 実施の形態1にかかるモータ駆動制御装置の状態2におけるオルタネートPWM方式の動作を説明するためのドライバ回路のブロック図である。FIG. 5 is a block diagram of a driver circuit for explaining an operation of an alternate PWM method in a state 2 of the motor drive control device according to the first exemplary embodiment; 実施の形態1にかかるモータ駆動制御装置の状態3におけるオルタネートPWM方式の動作を説明するためのドライバ回路のブロック図である。FIG. 7 is a block diagram of a driver circuit for explaining an operation of an alternate PWM method in a state 3 of the motor drive control device according to the first exemplary embodiment; 実施の形態1にかかるモータ駆動制御装置の状態4におけるオルタネートPWM方式の動作を説明するためのドライバ回路のブロック図である。FIG. 6 is a block diagram of a driver circuit for explaining an operation of an alternate PWM method in a state 4 of the motor drive control device according to the first exemplary embodiment; 実施の形態1にかかるモータ駆動制御装置の状態5におけるオルタネートPWM方式の動作を説明するためのドライバ回路のブロック図である。FIG. 6 is a block diagram of a driver circuit for explaining an operation of an alternate PWM method in a state 5 of the motor drive control device according to the first exemplary embodiment; 実施の形態1にかかるモータ駆動制御装置において同期整流動作が有る場合と無い場合による入出力特性を比較するグラフである。4 is a graph for comparing input / output characteristics in the motor drive control device according to the first embodiment with and without a synchronous rectification operation. 実施の形態1にかかるモータ駆動制御装置においてデューティ比が50%のPWM信号を生成した場合の状態0の駆動信号及びセンタータップ電圧を説明するタイミングチャートである。6 is a timing chart for explaining a drive signal and a center tap voltage in a state 0 when a PWM signal having a duty ratio of 50% is generated in the motor drive control apparatus according to the first embodiment; 実施の形態1にかかるモータ駆動制御装置においてデューティ比が50%のPWM信号を生成した場合の状態0のモータ駆動制御装置の動作を説明するタイミングチャートである。6 is a timing chart for explaining the operation of the motor drive control device in state 0 when a PWM signal with a duty ratio of 50% is generated in the motor drive control device according to the first embodiment; 実施の形態1にかかるモータ駆動制御装置においてデューティ比が50%のPWM信号を生成した場合の状態0〜状態5の駆動信号及びセンタータップ電圧を説明するタイミングチャートである。6 is a timing chart for explaining a drive signal and a center tap voltage in states 0 to 5 when a PWM signal having a duty ratio of 50% is generated in the motor drive control apparatus according to the first embodiment; 実施の形態1にかかるモータ駆動制御装置においてデューティ比が50%のPWM信号を生成した場合の状態0〜状態5のモータ駆動制御装置の動作を説明するタイミングチャートである。6 is a timing chart for explaining the operation of the motor drive control device in state 0 to state 5 when a PWM signal with a duty ratio of 50% is generated in the motor drive control device according to the first embodiment; 実施の形態1にかかるモータ駆動制御装置においてデューティ比が100%のPWM信号を生成した場合の状態0〜状態5の駆動信号及びセンタータップ電圧を説明するタイミングチャートである。6 is a timing chart for explaining a drive signal and a center tap voltage in states 0 to 5 when a PWM signal having a duty ratio of 100% is generated in the motor drive control apparatus according to the first embodiment; 実施の形態1にかかるモータ駆動制御装置においてデューティ比が100%のPWM信号を生成した場合の状態0〜状態5のモータ駆動制御装置の動作を説明するタイミングチャートである。6 is a timing chart for explaining the operation of the motor drive control device in state 0 to state 5 when a PWM signal with a duty ratio of 100% is generated in the motor drive control device according to the first embodiment; 実施の形態1にかかるモータ駆動制御装置において決定されたPWM信号のデューティ比が最大デューティ比を超えた場合に生成されるPWM信号を説明するタイミングチャートである。6 is a timing chart for explaining a PWM signal generated when the duty ratio of the PWM signal determined in the motor drive control device according to the first embodiment exceeds the maximum duty ratio; 実施の形態1にかかるモータ駆動制御装置において決定されたPWM信号のデューティ比が最小デューティ比を下回った場合に生成されるPWM信号を説明するタイミングチャートである。6 is a timing chart for explaining a PWM signal generated when the duty ratio of the PWM signal determined in the motor drive control device according to the first embodiment falls below a minimum duty ratio. 実施の形態1にかかるモータ駆動制御装置において決定されたPWM信号のデューティ比が最大デューティ比以下、かつ、最小デューティ比以上であった場合に生成されるPWM信号を説明するタイミングチャートである。6 is a timing chart for explaining a PWM signal generated when the duty ratio of the PWM signal determined in the motor drive control apparatus according to the first embodiment is equal to or less than the maximum duty ratio and equal to or greater than the minimum duty ratio. 実施の形態2にかかるモータ駆動制御装置の状態0におけるオルタネートPWM方式の動作を説明するためのドライバ回路のブロック図である。FIG. 10 is a block diagram of a driver circuit for explaining an operation of an alternate PWM method in a state 0 of the motor drive control device according to the second exemplary embodiment; 実施の形態2にかかるモータ駆動制御装置の状態1におけるオルタネートPWM方式の動作を説明するためのドライバ回路のブロック図である。FIG. 6 is a block diagram of a driver circuit for explaining an operation of an alternate PWM method in a state 1 of a motor drive control device according to a second exemplary embodiment; 実施の形態2にかかるモータ駆動制御装置の状態2におけるオルタネートPWM方式の動作を説明するためのドライバ回路のブロック図である。FIG. 10 is a block diagram of a driver circuit for explaining an operation of an alternate PWM method in a state 2 of the motor drive control device according to the second exemplary embodiment; 実施の形態2にかかるモータ駆動制御装置の状態3におけるオルタネートPWM方式の動作を説明するためのドライバ回路のブロック図である。FIG. 10 is a block diagram of a driver circuit for explaining an operation of an alternate PWM method in a state 3 of the motor drive control device according to the second exemplary embodiment; 実施の形態2にかかるモータ駆動制御装置の状態4におけるオルタネートPWM方式の動作を説明するためのドライバ回路のブロック図である。FIG. 10 is a block diagram of a driver circuit for explaining an operation of an alternate PWM method in a state 4 of the motor drive control device according to the second exemplary embodiment; 実施の形態2にかかるモータ駆動制御装置の状態5におけるオルタネートPWM方式の動作を説明するためのドライバ回路のブロック図である。FIG. 10 is a block diagram of a driver circuit for explaining an operation of an alternate PWM method in a state 5 of the motor drive control device according to the second exemplary embodiment; 実施の形態2にかかるモータ駆動制御装置における回生ブレーキ動作が有る場合と無い場合による制御可能なモータの回転速度の範囲を比較するグラフである。7 is a graph comparing the range of controllable motor rotation speeds with and without a regenerative braking operation in the motor drive control device according to the second embodiment. 実施の形態2にかかるモータ駆動制御装置においてデューティ比が50%のPWM信号を生成した場合の状態0の駆動信号及びセンタータップ電圧を説明するタイミングチャートである。10 is a timing chart for explaining a state 0 drive signal and a center tap voltage when a PWM signal having a duty ratio of 50% is generated in the motor drive control apparatus according to the second embodiment; 実施の形態2にかかるモータ駆動制御装置においてデューティ比が50%のPWM信号を生成した場合の状態0〜状態5の駆動信号及びセンタータップ電圧の動作を説明するタイミングチャートである。10 is a timing chart for explaining the operation of the drive signal and the center tap voltage in the state 0 to the state 5 when a PWM signal with a duty ratio of 50% is generated in the motor drive control device according to the second embodiment.

実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。まず、図1に実施の形態1にかかるモータ駆動制御装置1のブロック図を示す。図1に示すように、モータ駆動制御装置1はマイクロコンピュータである。つまり、実施の形態1にかかるモータ駆動制御装置1は、マイクロコンピュータ上で実行されるモータ駆動制御プログラムによりモータの駆動動作を実現する。
Embodiment 1
Embodiments of the present invention will be described below with reference to the drawings. First, FIG. 1 shows a block diagram of a motor drive control device 1 according to the first embodiment. As shown in FIG. 1, the motor drive control device 1 is a microcomputer. That is, the motor drive control device 1 according to the first embodiment realizes the motor drive operation by the motor drive control program executed on the microcomputer.

なお、図1に示すブロック図では、プリドライバ回路2、ドライバ回路3、及び、モータ4を示した。プリドライバ回路2は、モータ駆動制御装置1が生成するPWM信号のレベル変換を行う。ドライバ回路3は、プリドライバ回路2を介して入力されるPWM信号に応じて3相(例えば、U相、V相、W相)の駆動信号を生成し、当該駆動信号によりモータ4を駆動する。モータ4は、制御対象であって、3相の駆動信号の中点電圧(センタータップ電圧CT)を出力する。なお、このセンタータップ電圧は、モータにセンタータップ電圧の取り出し端子から取り出しても良く、また、3相の駆動信号が入力される抵抗網を用いて人工的に合成されたアーティフィシャルセンタータップ電圧(Artificial center tap voltage)であっても良い。以下の説明で用いられるセンタータップ電圧は、生成方法に関わらず3相の駆動信号の中点電圧を示すものとする。   In the block diagram shown in FIG. 1, the pre-driver circuit 2, the driver circuit 3, and the motor 4 are shown. The pre-driver circuit 2 performs level conversion of the PWM signal generated by the motor drive control device 1. The driver circuit 3 generates a drive signal of three phases (for example, a U phase, a V phase, and a W phase) according to the PWM signal input via the pre-driver circuit 2, and drives the motor 4 by the drive signal. . The motor 4 is a control target, and outputs a midpoint voltage (center tap voltage CT) of a three-phase drive signal. This center tap voltage may be taken out from the center tap voltage take-out terminal of the motor, or an artificial center tap voltage (artificially synthesized using a resistor network to which a three-phase drive signal is inputted ( Artificial center tap voltage). The center tap voltage used in the following description indicates the midpoint voltage of the three-phase drive signal regardless of the generation method.

図1に示すように、モータ駆動制御装置1は、ハードウェアとして、演算コア10、プログラムメモリ11、RAM(Random Access Memory)12、GPIO(General Purpose Input/Output)13、セレクタ14、コンパレータ15、アナログデジタル変換器16、タイマ17を有する。モータ駆動制御装置1では、これらのブロックがバスを介して互いに接続される。   As shown in FIG. 1, the motor drive control device 1 includes, as hardware, an arithmetic core 10, a program memory 11, a RAM (Random Access Memory) 12, a GPIO (General Purpose Input / Output) 13, a selector 14, a comparator 15, An analog-digital converter 16 and a timer 17 are provided. In the motor drive control device 1, these blocks are connected to each other via a bus.

プログラムメモリ11には、モータ駆動制御プログラムが格納される。このプログラムメモリ11は、ROM(Read Only Memory)、フラッシュメモリ等により構成される。演算コア10は、プログラムメモリ11からモータ駆動制御プログラムを読み出して実行する。そして、演算コア10は、モータ駆動制御プログラムに従って、PWM信号を生成する。また、演算コア10は、コンパレータ15の出力に基づきモータの回転を検出して、モータの検出結果に応じてPWM信号の状態を遷移させる。演算コア10の動作についての詳細は後述する。RAM12は、演算コア10がモータ駆動制御プログラムの実行する際に用いるデータを格納する記憶装置である。   The program memory 11 stores a motor drive control program. The program memory 11 includes a ROM (Read Only Memory), a flash memory, and the like. The arithmetic core 10 reads the motor drive control program from the program memory 11 and executes it. And the arithmetic core 10 produces | generates a PWM signal according to a motor drive control program. In addition, the arithmetic core 10 detects the rotation of the motor based on the output of the comparator 15 and changes the state of the PWM signal according to the detection result of the motor. Details of the operation of the arithmetic core 10 will be described later. The RAM 12 is a storage device that stores data used when the arithmetic core 10 executes a motor drive control program.

GPIO13は、汎用入出力装置である。モータ駆動制御装置1は、GPIOを介して図示しない他の回路から速度制御信号、PWMデューティ制御信号を受信する。温度制御信号は、モータ駆動制御装置1が組み込まれる装置の温度に応じて生成される。PWMデューティ制御信号は、例えば、モータがファンの回転を制御するものである場合、当該ファンの回転速度を示す回転速度指示値をモータ駆動制御装置1に指示する。温度制御信号及びPWMデューティ制御信号により示される値は、GPIO13を介して演算コア10に与えられる。また、GPIO13は、図示しない他の回路にモータ4の回転速度と比例した周波数の通知信号(以下、回転速度通知信号と称す)を出力する。回転速度通知信号は、例えば、演算コア10が生成し、GPIO13を介して出力されるものである。さらに、モータ駆動制御装置1では、演算コア10において生成されたPWM信号は、GPIO13を介してプリドライバ回路2に出力される。   The GPIO 13 is a general-purpose input / output device. The motor drive control device 1 receives a speed control signal and a PWM duty control signal from another circuit (not shown) via GPIO. The temperature control signal is generated according to the temperature of the device in which the motor drive control device 1 is incorporated. For example, when the motor controls the rotation of the fan, the PWM duty control signal instructs the motor drive control device 1 with a rotation speed instruction value indicating the rotation speed of the fan. Values indicated by the temperature control signal and the PWM duty control signal are given to the arithmetic core 10 via the GPIO 13. Further, the GPIO 13 outputs a notification signal having a frequency proportional to the rotation speed of the motor 4 (hereinafter referred to as a rotation speed notification signal) to another circuit (not shown). For example, the rotation speed notification signal is generated by the arithmetic core 10 and output via the GPIO 13. Further, in the motor drive control device 1, the PWM signal generated in the arithmetic core 10 is output to the pre-driver circuit 2 via the GPIO 13.

セレクタ14は、演算コア10からの指示に基づき、3相信号から選択した非駆動相を比較対象検出信号SPとして出力する。より具体的には、モータ4としてセンサレスブラシレス直流モータを利用する場合、セレクタ14は、非通電相を比較対象検出信号SPとして選択する。   The selector 14 outputs the non-driving phase selected from the three-phase signal as the comparison target detection signal SP based on the instruction from the arithmetic core 10. More specifically, when a sensorless brushless DC motor is used as the motor 4, the selector 14 selects a non-energized phase as the comparison target detection signal SP.

コンパレータ15は、比較対象検出信号SPと、センタータップ電圧とを比較して、出力信号をハイレベルとローレベルとのいずれかの論理レベルとする。本実施の形態では、コンパレータ15は、比較対象検出信号SPよりもセンタータップ電圧CTの方が高い場合は出力信号をハイレベルとし、比較対象検出信号SPよりもセンタータップ電圧CTの方が低い場合は出力信号をローレベルとする。   The comparator 15 compares the comparison target detection signal SP with the center tap voltage, and sets the output signal to a logic level of either high level or low level. In the present embodiment, the comparator 15 sets the output signal to a high level when the center tap voltage CT is higher than the comparison target detection signal SP, and when the center tap voltage CT is lower than the comparison target detection signal SP. Sets the output signal to low level.

図1に示す例では、ドライバ回路3のソース側に電流検出抵抗Ri及びローパスフィルタが設けられる。電流検出抵抗Riは、ドライバ回路3を介して流れるモータ4の駆動電流を電圧に変換する。アナログデジタル変換器16は、アナログ値をデジタル値に変換する回路である。実施の形態1にかかるモータ駆動制御装置1では、アナログデジタル変換器16によって、電流検出抵抗Riにより生成された電圧値をデジタル値に変換し、駆動電流の大きさに応じたデジタル値を得る。なお、ローパスフィルタは、電流検出抵抗R1により生成された電圧値の高周波ノイズを除去するものであるが、図面を簡略化するために図示を省略した。   In the example shown in FIG. 1, a current detection resistor Ri and a low-pass filter are provided on the source side of the driver circuit 3. The current detection resistor Ri converts the drive current of the motor 4 flowing through the driver circuit 3 into a voltage. The analog-digital converter 16 is a circuit that converts an analog value into a digital value. In the motor drive control device 1 according to the first embodiment, the analog / digital converter 16 converts the voltage value generated by the current detection resistor Ri into a digital value, and obtains a digital value corresponding to the magnitude of the drive current. The low-pass filter removes high-frequency noise of the voltage value generated by the current detection resistor R1, but is not shown in order to simplify the drawing.

タイマ17は、モータ駆動制御装置1として動作するマイクロコンピュータの動作クロックをカウントして、当該カウント値に応じて割り込み要求を出力する。割り込み要求は、演算コア10に与えられる。演算コア10は、入力された割り込み要求の種類に応じて、予め規定された動作を行う。実施の形態1にかかるモータ駆動制御装置1では、タイマ17には、第1の設定値と第2の設定値が設定される。そして、タイマ17は、カウント値が第1の設定値に達したことに応じて第1の割り込み信号を出力し、カウント値が第2の設定値に達したことに応じて第2の割り込み信号を出力する。より具体的には、モータ駆動制御装置1では、第1の設定値として、PWM信号のオンタイム(PWM信号がハイレベルとなる期間)よりも小さな値が設定され、第2の設定値として、PWM信号の1周期の期間に相当する値が設定される。なお、第1の設定値は、PWM信号をオンステートからオフステートに切り換えるタイミングを指定するものであり、PWM信号のオンタイムより若干小さな値に設定されるものとする。また、以下の説明では、第1の割り込み要求をBEMF(バックEMF)タイマ割り込みと称し、第2の割り込み要求を周期タイマ割り込みと称す。   The timer 17 counts the operation clock of the microcomputer that operates as the motor drive control device 1, and outputs an interrupt request according to the count value. The interrupt request is given to the arithmetic core 10. The arithmetic core 10 performs a predefined operation according to the type of interrupt request that is input. In the motor drive control device 1 according to the first embodiment, the timer 17 is set with the first set value and the second set value. The timer 17 outputs a first interrupt signal in response to the count value reaching the first set value, and the second interrupt signal in response to the count value reaching the second set value. Is output. More specifically, in the motor drive control device 1, a value smaller than the on-time of the PWM signal (period during which the PWM signal is at a high level) is set as the first set value, and the second set value is A value corresponding to one period of the PWM signal is set. The first set value is used to specify the timing for switching the PWM signal from the on state to the off state, and is set to a value slightly smaller than the on time of the PWM signal. In the following description, the first interrupt request is referred to as a BEMF (back EMF) timer interrupt, and the second interrupt request is referred to as a periodic timer interrupt.

実施の形態1にかかるモータ駆動制御装置1では、演算コア10がモータ駆動制御プログラムを実行することでモータの駆動を制御するPWM信号のデューディ制御及び状態制御を行う。そこで、演算コア10がモータ駆動制御プログラムを実行することにより実現される機能を演算コア10の機能ブロックとした場合のモータ駆動制御装置1のブロック図を図2に示す。なお、図1のブロック図に示したブロックと同じ構成要素については、図1と同じ符号を付して説明を省略する。   In the motor drive control device 1 according to the first embodiment, the computation core 10 performs duty control and state control of a PWM signal that controls the drive of the motor by executing a motor drive control program. Therefore, FIG. 2 shows a block diagram of the motor drive control device 1 when the function realized by the arithmetic core 10 executing the motor drive control program is a functional block of the arithmetic core 10. The same components as those shown in the block diagram of FIG. 1 are denoted by the same reference numerals as those in FIG.

図2に示すように、モータ駆動制御プログラムを実行することで、演算コア10には、PWMデモジュレータ21、PWMモジュレータ22、定電流駆動制御部23、ロータ位置検出部24、回転制御部25、回転速度制御部26、PWMデューティ制御部27が機能ブロックとして実現される。なお、図2に示したモータ駆動制御装置1では、設定値及び変数の初期化処理等の一般的な処理を行うブロックについては記載を省略した。また、モータ駆動制御装置1は、PWMパルスのカウント処理を行い、PWMパルスのカウント値に基づき様々な処理を行うが、PWMパルスのカウント値をカウントするブロックについては、図2では記載を省略した。このように記載を省略したブロックの機能は、マイクロコンピュータの一般的な演算処理にて実現されるものとする。   As shown in FIG. 2, by executing the motor drive control program, the arithmetic core 10 includes a PWM demodulator 21, a PWM modulator 22, a constant current drive control unit 23, a rotor position detection unit 24, a rotation control unit 25, The rotation speed control unit 26 and the PWM duty control unit 27 are realized as functional blocks. In the motor drive control device 1 shown in FIG. 2, description of blocks that perform general processing such as initialization of set values and variables is omitted. The motor drive control device 1 performs a PWM pulse count process, and performs various processes based on the PWM pulse count value. However, the block for counting the PWM pulse count value is not shown in FIG. . The block functions omitted in this way are realized by general arithmetic processing of a microcomputer.

PWMデモジュレータ21は、PWM信号のデモジュレーション処理を行う。より具体的には、PWMデモジュレータ21は、BEMFタイマ割り込みが入力されたことに応じてコンパレータ15の出力信号CMP_OUT及びモータを駆動する駆動電流をサンプリングする。なお、駆動電流の値は、PWMデモジュレータ21が定電流駆動制御部23にサンプリング指示を与えることに基づいて定電流駆動制御部23においてサンプリングされる。また、PWMデモジュレータ21は、周期タイマ割り込みが入力されたことに応じて、タイマ17の第1の設定値の値を更新する。そして、PWMデモジュレータ21は、出モジュレーション処理が終了したことに応じてPWMモジュレータ22に処理の開始を指示する。   The PWM demodulator 21 performs a demodulation process on the PWM signal. More specifically, the PWM demodulator 21 samples the output signal CMP_OUT of the comparator 15 and the drive current for driving the motor in response to the input of the BEMF timer interrupt. The value of the drive current is sampled in the constant current drive control unit 23 based on the PWM demodulator 21 giving a sampling instruction to the constant current drive control unit 23. Further, the PWM demodulator 21 updates the value of the first set value of the timer 17 in response to the input of the periodic timer interrupt. Then, the PWM demodulator 21 instructs the PWM modulator 22 to start the process in response to the completion of the output modulation process.

PWMモジュレータ22は、PWMデモジュレータ21からの処理開始指示に基づきPWM信号の論理レベルを切り換える。このとき、PWMモジュレータ22は、回転制御部25の指示値に基づき、複数のPWM信号をハイレベルとするか、ローレベルとするかを決定する。PWMモジュレータ22が出力するPWM信号は、GPIO13を介してプリドライバ回路2に出力される。   The PWM modulator 22 switches the logic level of the PWM signal based on the processing start instruction from the PWM demodulator 21. At this time, the PWM modulator 22 determines whether to set the plurality of PWM signals to the high level or the low level based on the instruction value of the rotation control unit 25. The PWM signal output from the PWM modulator 22 is output to the pre-driver circuit 2 via the GPIO 13.

定電流駆動制御部23は、定電流駆動制御処理を行う。定電流駆動制御処理では、モータ4を定電流駆動するための帰還制御値を生成する。   The constant current drive control unit 23 performs a constant current drive control process. In the constant current drive control process, a feedback control value for driving the motor 4 at a constant current is generated.

ロータ位置検出部24は、コンパレータ積分値を有する。そして、ロータ位置検出部24は、コンパレータ積分値算出処理、フライバックフィルタ処理、フライバック適応フィルタ更新処理、ロータ位置検出処理、ステートテーブル更新処理を行う。コンパレータ積分値算出処理では、PWMデモジュレータ21でサンプリングされたコンパレータ15の出力信号CMP_OUTに基づきコンパレータ15の出力値の積算を行う。フライバックフィルタ処理では、非通電相の駆動信号に発生するフライバックパルスをフィルタする。このフライバックフィルタを適用している期間中は、コンパレータ15の出力信号CMP_OUTによらず、コンパレータ積分値を単純増加又は単純減少させる。フライバック適応フィルタ更新処理では、フライバックフィルタの条件を更新する。ロータ位置検出処理では、ロータの位置検出処理を行い、PWM信号の状態の遷移タイミングを指示する。ステートテーブル更新処理では、PWM信号の状態を決定するオフステートテーブルとオンステートテーブルの更新処理を行う。   The rotor position detection unit 24 has a comparator integral value. The rotor position detection unit 24 performs a comparator integral value calculation process, a flyback filter process, a flyback adaptive filter update process, a rotor position detection process, and a state table update process. In the comparator integral value calculation process, the output values of the comparator 15 are integrated based on the output signal CMP_OUT of the comparator 15 sampled by the PWM demodulator 21. In the flyback filter process, the flyback pulse generated in the non-energized phase drive signal is filtered. During the application of this flyback filter, the comparator integral value is simply increased or decreased regardless of the output signal CMP_OUT of the comparator 15. In the flyback adaptive filter update process, the conditions of the flyback filter are updated. In the rotor position detection process, the rotor position detection process is performed, and the transition timing of the state of the PWM signal is instructed. In the state table update processing, update processing of the off-state table and the on-state table for determining the state of the PWM signal is performed.

回転制御部25は、ステート制御処理を行う。より詳細には、ステート制御処理では、回転速度検出処理、スタッキング検出処理、ステート更新処理が行われる。回転速度検出処理では、モータ4の回転速度の検出処理が行われる。スタッキング検出処理では、モータ4のロータのスタックを検出する。ステート更新処理では、PWM信号の状態の次状態を決定と、PWM信号を次状態に遷移させるか否かを決定する。   The rotation control unit 25 performs state control processing. More specifically, in the state control process, a rotation speed detection process, a stacking detection process, and a state update process are performed. In the rotation speed detection process, a process for detecting the rotation speed of the motor 4 is performed. In the stacking detection process, the rotor stack of the motor 4 is detected. In the state update process, the next state of the PWM signal state is determined, and whether or not the PWM signal is to be changed to the next state is determined.

回転速度制御部26は、定回転制御処理を行う。定回転制御処理では、モータ4の現在の回転速度と外部から与えられた回転速度指示値との誤差を算出し、モータ4を回転速度指示値に沿った回転速度に制御するための帰還制御値を生成する。なお、回転速度指示値としては、PWMデューティ制御信号に起因するものの他に、温度制御に由来する速度制御信号に基づくものも含むものとする。   The rotation speed control unit 26 performs a constant rotation control process. In the constant rotation control process, an error between the current rotation speed of the motor 4 and a rotation speed instruction value given from the outside is calculated, and a feedback control value for controlling the motor 4 to a rotation speed according to the rotation speed instruction value. Is generated. The rotation speed instruction value includes a value based on a speed control signal derived from temperature control in addition to a value derived from a PWM duty control signal.

PWMデューティ制御部は、レギュレーションループ調停処理と、PWMプリモジュレーション処理とを行う。レギュレーションループ調停処理では、PWM信号の次周期のデューティ比を決定する帰還制御値として、定電流駆動制御部23が生成した帰還制御値と、回転速度制御部26が生成した帰還制御値と、のいずれを用いるかの調停処理を行う。PWMプリモジュレーション処理は、レギュレーションループ調停処理にて決定された帰還制御値に基づきPWM信号の次周期のオンタイムの値を決定する。また、PWMプリモジュレーション処理では、PWMデモジュレータ21に決定したオンタイムの値を与える。   The PWM duty control unit performs a regulation loop arbitration process and a PWM premodulation process. In the regulation loop arbitration process, a feedback control value generated by the constant current drive control unit 23 and a feedback control value generated by the rotation speed control unit 26 are used as feedback control values for determining the duty ratio of the next cycle of the PWM signal. Arbitration processing is performed for which one to use. In the PWM pre-modulation process, the on-time value of the next period of the PWM signal is determined based on the feedback control value determined in the regulation loop arbitration process. Further, in the PWM pre-modulation process, the determined on-time value is given to the PWM demodulator 21.

続いて、モータ駆動制御プログラムにより実現される機能を用いたモータの駆動制御についてさらに詳細に説明する。そこで、図3〜図15にモータ駆動制御装置1の動作手順を示すフローチャートを示す。そして、この図3〜図15を参照して、モータ駆動制御装置1の動作についてさらに詳細に説明する。   Next, motor drive control using functions realized by the motor drive control program will be described in more detail. 3 to 15 are flowcharts showing the operation procedure of the motor drive control device 1. FIG. The operation of the motor drive control device 1 will be described in further detail with reference to FIGS.

図3では、モータ駆動制御装置1の動作の全体を示すフローチャートを示した。図3に示すように、モータ駆動制御プログラムは、メインルーチンがスタートすると、まず、変数初期化処理を行う(ステップS1)。続いて、モータ駆動制御プログラムは、アナログデジタル変換器16を利用して、マイクロコンピュータ1に供給されている電源電圧の電圧値をサンプリングする(ステップS2)。続いて、モータ駆動制御プログラムは、サンプリングした電源電圧の電圧値が最低起動電圧よりも大きいか否かを判断する(ステップS3)。ステップS3において、電源電圧が最低起動電圧以下であると判断された場合、ステップS1の変数初期化処理に戻る。一方、電源電圧が最低起動電圧よりも大きいと判断された場合、演算コア10へのタイマ割り込みを許可する(ステップS4)。なお、起動を許可するか否かを判断する電源電圧としては、ドライバ回路3に与えられる電源電圧とマイクロコンピュータ1に与えられる電源電圧とのうち高い電圧値を有する電源電圧を用いる。本実施の形態では、ドライバ回路3の電源からマイクロコンピュータ1の電源を作るため、ドライバ回路3の電源電圧を監視することが好ましい。この場合、アナログデジタル変換器16によりドライバ回路3の電源電圧を測定する。   In FIG. 3, the flowchart which shows the whole operation | movement of the motor drive control apparatus 1 was shown. As shown in FIG. 3, when the main routine starts, the motor drive control program first performs variable initialization processing (step S1). Subsequently, the motor drive control program samples the voltage value of the power supply voltage supplied to the microcomputer 1 using the analog-digital converter 16 (step S2). Subsequently, the motor drive control program determines whether or not the voltage value of the sampled power supply voltage is larger than the minimum starting voltage (step S3). If it is determined in step S3 that the power supply voltage is equal to or lower than the minimum startup voltage, the process returns to the variable initialization process in step S1. On the other hand, when it is determined that the power supply voltage is higher than the minimum starting voltage, the timer interrupt to the arithmetic core 10 is permitted (step S4). Note that, as a power supply voltage for determining whether or not to permit activation, a power supply voltage having a high voltage value among the power supply voltage applied to the driver circuit 3 and the power supply voltage applied to the microcomputer 1 is used. In the present embodiment, it is preferable to monitor the power supply voltage of the driver circuit 3 in order to generate the power supply of the microcomputer 1 from the power supply of the driver circuit 3. In this case, the analog-to-digital converter 16 measures the power supply voltage of the driver circuit 3.

そして、モータ駆動制御プログラムは、タイマ割り込みの発生を待ち、タイマ割り込みが発生したことに起因してモータ駆動動作処理を行う(ステップS5、S6)。また、モータ駆動制御プログラムは、モータ駆動動作処理が完了した時点で、ロータのスタック状態を示すスタックロータ検出フラグSTC_DETがTRUEであるか否かを判断する(ステップS7)。ステップS7においてスタックロータ検出フラグSTC_DETがFALSEであると判断された場合、つまり、モータが回転していると判断された場合、再びタイマ割り込みの発生を待つ。一方、ステップS7においてスタックロータ検出フラグSTC_DETがTRUEで有ると判断された場合、つまり、モータが回転していないと判断された場合、ステップS1の変数初期化処理に戻る。   Then, the motor drive control program waits for the occurrence of a timer interrupt, and performs motor drive operation processing due to the occurrence of the timer interrupt (steps S5 and S6). The motor drive control program determines whether or not the stack rotor detection flag STC_DET indicating the stack state of the rotor is TRUE at the time when the motor drive operation process is completed (step S7). If it is determined in step S7 that the stack rotor detection flag STC_DET is FALSE, that is, if it is determined that the motor is rotating, the generation of a timer interrupt is awaited again. On the other hand, if it is determined in step S7 that the stack rotor detection flag STC_DET is TRUE, that is, if it is determined that the motor is not rotating, the process returns to the variable initialization process in step S1.

続いて、ステップS1の変数初期化処理について詳細に説明する。変数初期化処理の詳細な動作手順を示すフローチャートを図4に示す。図4に示すように、変数初期化処理では、まず、タイマの初期化処理を行う(ステップS10)。より具体的には、ステップS10では、タイマ17のレジスタにPWM信号のオンタイム期間に基づき第1の設定値と、PWM信号の1周期の長さを指定する第2の設定値を格納する。   Next, the variable initialization process in step S1 will be described in detail. FIG. 4 is a flowchart showing a detailed operation procedure of the variable initialization process. As shown in FIG. 4, in the variable initialization process, first, a timer initialization process is performed (step S10). More specifically, in step S10, a first set value and a second set value for designating the length of one cycle of the PWM signal are stored in the register of the timer 17 based on the on-time period of the PWM signal.

次いで、移動平均ステートPWMパルス数ST_PWM_PLS_AVEと、PWMパルス数PWM_PLS[0]〜PWM_LPLS[5]と、を最大パルスカウント数とする。移動平均ステートPWMパルス数ST_PWM_PLS_AVEは、モータを一回転させるために、6つの状態を利用する場合は、この6状態に含まれる各状態の平均PWMパルス数を示すものである。PWMパルス数PWM_PLS[0]〜PWM_LPLS[5]は、状態0〜状態5の各状態の期間の長さを規定するPWM信号のパルス数である。最大パルスカウント数は、例えば、モータ4を最低回転速度で動作させた場合における一状態の間のPWM信号のパルス数であって、予め設定される値である。   Next, the moving average state PWM pulse number ST_PWM_PLS_AVE and the PWM pulse number PWM_PLS [0] to PWM_LPLS [5] are set as the maximum pulse count number. The moving average state PWM pulse number ST_PWM_PLS_AVE indicates the average PWM pulse number of each state included in the six states when six states are used to rotate the motor once. The PWM pulse numbers PWM_PLS [0] to PWM_LPLS [5] are the number of pulses of the PWM signal that define the length of each period of the states 0 to 5. The maximum pulse count is, for example, the number of pulses of the PWM signal during one state when the motor 4 is operated at the minimum rotation speed, and is a preset value.

次いで、起動時のフライバックパルス継続PWMパルス数FB_MASKの値を設定する(ステップS12)。ステップS12では、フライバックパルス継続PWMパルス数FB_MASKにモータ4の最大回転速度に相当する6ステートPWMパルス数の6分の1の値を設定する。モータ4が無負荷状態で回転を開始した場合、回転速度が高い状態で回転を開始する場合があるが、起動時のフライバックパルス継続PWMパルス数FB_MASKをこのような値に設定することで、無負荷状態でモータ4が回転を開始したとしても、ロータの回転位置と駆動信号の状態とがずれて意図した回転方向と逆の回転方向でモータ4が回転することを防止することができる。   Next, the value of the number FB_MASK of flyback pulse continuation PWM pulses at start-up is set (step S12). In step S12, a value of 1/6 of the number of 6-state PWM pulses corresponding to the maximum rotation speed of the motor 4 is set in the number of flyback pulse continuous PWM pulses FB_MASK. When the motor 4 starts to rotate in a no-load state, it may start to rotate at a high rotational speed, but by setting the flyback pulse continuous PWM pulse number FB_MASK at startup to such a value, Even if the motor 4 starts to rotate in a no-load state, it is possible to prevent the motor 4 from rotating in the direction opposite to the intended rotational direction due to the rotational position of the rotor being shifted from the state of the drive signal.

次いで、定電流制御指示値CNST_CRNT_SETを最大電流値MAX_CRNTの3分の1の値に設定する(ステップS13)。この最大電流値MAX_CRNTは、ドライバ回路3を構成するトランジスタに許容される所定時間当りの最大電流に相当する値である。通常、3相の駆動信号を生成する場合、ドライバ回路3は3組の駆動段回路を有する。そのため、モータを一回転させるために、3組の駆動段回路が導通状態となる期間はモータを一回転させる時間の3分の1の時間である。しかし、回転開始時は、モータが停止状態にあり、駆動段回路が導通状態となる時間がモータの回転時よりも長くなる。そのため、回転開始時に、定電流制御指示値CNST_CRNT_SETを最大電流値MAX_CRNTした場合、駆動段回路のそれぞれに流れる電流が最大電流を超えるおそれがある。そこで、定電流制御指示値CNST_CRNT_SETを最大電流値MAX_CRNTの3分の1の値に設定する。これにより、PWM信号の一状態の長さが長くなったとしても、駆動段回路を構成するトランジスタには、最大電流以上の電流が流れることを防止することができる。   Next, the constant current control instruction value CNST_CRNT_SET is set to a value one third of the maximum current value MAX_CRNT (step S13). The maximum current value MAX_CRNT is a value corresponding to the maximum current per predetermined time allowed for the transistors constituting the driver circuit 3. Normally, when generating a three-phase drive signal, the driver circuit 3 has three sets of drive stage circuits. Therefore, in order to rotate the motor once, the period in which the three sets of driving stage circuits are in a conductive state is one third of the time required to rotate the motor once. However, at the start of rotation, the motor is in a stopped state, and the time during which the drive stage circuit is in a conductive state is longer than when the motor is rotating. Therefore, when the constant current control instruction value CNST_CRNT_SET is set to the maximum current value MAX_CRNT at the start of rotation, the current flowing through each of the drive stage circuits may exceed the maximum current. Therefore, the constant current control instruction value CNST_CRNT_SET is set to a value one third of the maximum current value MAX_CRNT. As a result, even if the length of one state of the PWM signal becomes longer, it is possible to prevent a current exceeding the maximum current from flowing through the transistors constituting the drive stage circuit.

次いで、スタックロータ検出フラグをFALSEに設定する(ステップS14)。モータの回転開始前は、モータは停止状態であるため、その状態を確定させるためである。   Next, the stack rotor detection flag is set to FALSE (step S14). This is because the motor is in a stopped state before the motor starts rotating, so that the state is determined.

次いで、回転速度誤差積分値ROT_ERR_INTGと、電流誤差積分値CRNT_ERR_INTGをカウント初期値(例えば、ゼロ)に初期化する(ステップS15)。回転速度誤差積分値ROT_ERR_INTG及び電流誤差積分値CRNT_ERR_INTGは、初期化を行わない場合、値が不定であり、初期化前の値を用いた場合、モータ駆動制御装置1が正常に動作しない可能性がある。そこで、この初期化処理により値をゼロとすることで、モータ駆動制御装置1の動作開始時の回転速度誤差積分値ROT_ERR_INTG及び電流誤差積分値CRNT_ERR_INTGの値を確定させる。   Next, the rotational speed error integrated value ROT_ERR_INTG and the current error integrated value CRNT_ERR_INTG are initialized to a count initial value (for example, zero) (step S15). The rotation speed error integrated value ROT_ERR_INTG and the current error integrated value CRNT_ERR_INTG are undefined when initialization is not performed, and the motor drive control apparatus 1 may not operate normally when values before initialization are used. is there. Therefore, the value of the rotation speed error integrated value ROT_ERR_INTG and the current error integrated value CRNT_ERR_INTG at the start of the operation of the motor drive control device 1 is determined by setting the value to zero by this initialization process.

続いて、図3のステップS6で示したモータ駆動動作処理の詳細について説明する。そこで、モータ駆動動作処理の動作手順を示すフローチャートを図5に示す。図5に示すように、モータ駆動動作処理は、PWMデモジュレーション処理(ステップS20)及びPWMモジュレーション処理(ステップS30)、及び、PWM信号設定処理(ステップS40)により構成される。   Next, details of the motor drive operation process shown in step S6 of FIG. 3 will be described. FIG. 5 is a flowchart showing the operation procedure of the motor drive operation process. As shown in FIG. 5, the motor drive operation process includes a PWM demodulation process (step S20), a PWM modulation process (step S30), and a PWM signal setting process (step S40).

PWMデモジュレーション処理は、図2のPWMデモジュレータ21にて実行される処理である。また、PWMモジュレーション処理は、図2のPWMモジュレータ22で実行される処理である。   The PWM demodulation process is a process executed by the PWM demodulator 21 of FIG. The PWM modulation process is a process executed by the PWM modulator 22 in FIG.

PWMデモジュレーション処理では、まず、入力された割り込みがBEMFタイマ割り込みであるであるか否かを判断する(ステップS21)。そして、割り込みがBEMFタイマ割り込みであると判断された場合、BEMFタイマ割り込みをクリアする(ステップS22)。次いで、コンパレータ15の出力信号CMP_OUTの出力値をサンプリングする。次いで、アナログデジタル変換器16からモータの駆動電流の電流値をサンプリングする。なお、駆動電流の電流値は、定電流駆動制御部23にて利用される。次いで、PWMデモジュレーション処理の終了を受けて、PWMモジュレーション処理が開始される。   In the PWM demodulation process, first, it is determined whether or not the input interrupt is a BEMF timer interrupt (step S21). If it is determined that the interrupt is a BEMF timer interrupt, the BEMF timer interrupt is cleared (step S22). Next, the output value of the output signal CMP_OUT of the comparator 15 is sampled. Next, the current value of the motor drive current is sampled from the analog-digital converter 16. The current value of the drive current is used by the constant current drive control unit 23. Next, upon completion of the PWM demodulation process, the PWM modulation process is started.

割り込みがBEMFタイマ割り込みに応じて開始されるPWMモジュレーション処理では、まず、PWM信号のオンタイムPWM_ONがPWM信号の周期PWM_TRMよりも小さいか否かを判断する(ステップS31)。そして、PWM信号のオンタイムPWM_ONがPWM信号の周期PWM_TRMよりも小さいと判断された場合、オフステートのPWM信号をGPIO13に出力する(ステップS32)。なお、モータ駆動制御プログラムでは、モータ4が3相駆動方式である場合6つのPWM信号を生成するが、6つのPWM信号のいずれのPWM信号をオフステートとするか、又は、オンステートとするかをステートテーブルの記述に従って決定する。ステートテーブルには、PWM信号の状態毎にオンステートとオフステートとを切り換えるPWM信号の指定、及びオフステートとしてハイサイドオフの状態とするかローサイドオフの状態とするかの指定が規定される。   In the PWM modulation process in which the interrupt is started in response to the BEMF timer interrupt, first, it is determined whether or not the on-time PWM_ON of the PWM signal is smaller than the cycle PWM_TRM of the PWM signal (step S31). If it is determined that the on-time PWM_ON of the PWM signal is smaller than the period PWM_TRM of the PWM signal, an off-state PWM signal is output to the GPIO 13 (step S32). In the motor drive control program, six PWM signals are generated when the motor 4 is a three-phase drive method. Which of the six PWM signals is set to the off state or the on state? Is determined according to the description in the state table. In the state table, designation of a PWM signal for switching between an on state and an off state for each state of the PWM signal, and designation of a high side off state or a low side off state as the off state are defined.

その後、PWM信号のオフステートサイドを反転する(ステップS33)。このステップS33では、PWM信号の信号パターンを指示するステートテーブルのオフステートのパターンをハイサイドオフの状態とするかローサイドオフの状態とするかを切り換える処理である。例えば、PWM信号の現周期でステートテーブルのオフステートがハイサイドオフを指示している場合、PWM信号の次周期ではステートテーブルのオフステートがローサイドオフを指示するように更新する。このステップS33は、実施の形態1にかかるモータ駆動制御装置1が、PWM信号の周期毎にPWM信号のオフステート期間としてハイサイドオフステートとローサイドオフステートとを交互に切り換えるオルタネートPWM方式の動作のために行われる処理である。一方、ステップS31において、PWM信号のオンタイムPWM_ONがPWM信号の周期PWM_TRM以上と判断された場合、PWM信号をオンステートで維持する(ステップS34)。   Thereafter, the off-state side of the PWM signal is inverted (step S33). In step S33, the state table indicating the signal pattern of the PWM signal is switched between a high-side off state and a low-side off state. For example, when the off-state of the state table indicates high-side off in the current cycle of the PWM signal, the state table is updated so that the off-state of the state table indicates low-side off in the next cycle of the PWM signal. This step S33 is an operation of the alternate PWM method in which the motor drive control device 1 according to the first embodiment alternately switches between the high-side off state and the low-side off state as the off-state period of the PWM signal every PWM signal cycle. This is a process performed for this purpose. On the other hand, if it is determined in step S31 that the on-time PWM_ON of the PWM signal is equal to or longer than the period PWM_TRM of the PWM signal, the PWM signal is maintained in the on state (step S34).

つまり、モータ駆動制御装置1は、PWM信号のオンタイムPWM_ONがPWM信号の一周期よりも小さい場合、BEMFタイマ割り込みが発生をトリガとして、コンパレータ15の出力信号CMP_OUTのサンプリングと、PWM信号のオンステートからオフステートへの切り換えを行う。また、モータ駆動制御装置1は、オンタイムPWM_ONがPWM信号の一周期以上である場合、BEMFタイマ割り込みが発生をトリガとして、コンパレータ15の出力信号CMP_OUTのサンプリングを行うが、PWM信号のオンステートからオフステートへの切り換えは行わない。   That is, when the PWM signal on-time PWM_ON is smaller than one cycle of the PWM signal, the motor drive control device 1 uses the BEMF timer interrupt as a trigger to sample the output signal CMP_OUT of the comparator 15 and the on-state of the PWM signal. Switch from off to off. Further, when the on-time PWM_ON is equal to or longer than one period of the PWM signal, the motor drive control device 1 samples the output signal CMP_OUT of the comparator 15 triggered by the occurrence of the BEMF timer interrupt. Does not switch to off-state.

そして、ステップS33又はステップS34の処理が完了すると、モータ駆動制御プログラムは、モータ駆動制御処理を終了させる。   When the process of step S33 or step S34 is completed, the motor drive control program ends the motor drive control process.

一方、ステップS21において割り込みがBEMFタイマ割り込みではない判断された場合、つまり、割り込みが周期タイマ割り込みである場合、周期タイマ割り込みをクリアする(ステップS25)。次いで、PWM信号の現周期において算出されたPWM信号のオンタイムPWM_ONの値で次周期のPWM信号のオンタイムPWM_ONを更新する。次いで、PWMデモジュレーション処理の処理結果を受けて、PWMモジュレーション処理が開始される。   On the other hand, if it is determined in step S21 that the interrupt is not a BEMF timer interrupt, that is, if the interrupt is a periodic timer interrupt, the periodic timer interrupt is cleared (step S25). Next, the on-time PWM_ON of the PWM signal in the next cycle is updated with the value of the on-time PWM_ON of the PWM signal calculated in the current cycle of the PWM signal. Next, in response to the processing result of the PWM demodulation process, the PWM modulation process is started.

割り込みがBEMFタイマ割り込みに応じて開始されるPWMモジュレーション処理では、まず、PWM信号のオンタイムPWM_ONがゼロよりも大きいか否かを判断する(ステップS35)。つまり、ステップS35では、生成するPWM信号にオン期間があるか否かを判断する。そして、ステップS35において、PWM信号のオンタイムPWM_ONがゼロよりも大きいと判断された場合、オンステートのPWM信号をGPIO13に出力する(ステップS36)。次いで、BEMFタイマ割り込みを許可する(ステップS37)。一方、ステップS35において、PWM信号のオンタイムPWM_ONがゼロ以下であると判断された場合、オフステートを維持したPWM信号をGPIO13に出力する(ステップS38)。その後、ステップS33と同様にPWM信号のオフステートの反転を行う(ステップS39)。このオフステートの反転処理は、実施の形態1にかかるモータ駆動制御装置1が、PWM信号の周期毎にPWM信号のオフステート期間としてハイサイドオフステートとローサイドオフステートとを交互に切り換えるオルタネートPWM方式の動作のために行われる処理である。   In the PWM modulation process in which the interrupt is started in response to the BEMF timer interrupt, it is first determined whether or not the on-time PWM_ON of the PWM signal is greater than zero (step S35). That is, in step S35, it is determined whether or not the PWM signal to be generated has an on period. If it is determined in step S35 that the on-time PWM_ON of the PWM signal is greater than zero, the on-state PWM signal is output to the GPIO 13 (step S36). Next, the BEMF timer interrupt is permitted (step S37). On the other hand, if it is determined in step S35 that the on-time PWM_ON of the PWM signal is equal to or less than zero, the PWM signal maintaining the off state is output to the GPIO 13 (step S38). Thereafter, the off-state inversion of the PWM signal is performed similarly to step S33 (step S39). This off-state inversion processing is an alternate PWM method in which the motor drive control device 1 according to the first embodiment alternately switches between the high-side off-state and the low-side off-state as the off-state period of the PWM signal every PWM signal cycle. This is a process performed for the operation.

そして、ステップS37又はステップS39の処理が完了すると、モータ駆動制御プログラムは、PWM信号設定処理を行う(ステップS40)。PWM信号設定処理が完了した場合は、モータ駆動制御処理を終了する。   When the process of step S37 or step S39 is completed, the motor drive control program performs a PWM signal setting process (step S40). When the PWM signal setting process is completed, the motor drive control process ends.

続いて、ステップS40のPWM信号設定処理について説明する。PWM信号設定処理では、次周期のPWM信号のオンタイムPWM_ONの算出処理及びPWM信号のステートの更新処理を行う。これらの処理を行うための、PWM信号設定処理の詳細なフローチャートを図6に示す。   Next, the PWM signal setting process in step S40 will be described. In the PWM signal setting process, a process for calculating the on-time PWM_ON of the PWM signal in the next cycle and a process for updating the state of the PWM signal are performed. FIG. 6 shows a detailed flowchart of the PWM signal setting process for performing these processes.

図6に示すように、PWM信号設定処理では、まず、ステートPWMパルス数ST_PWM_PLSのカウントアップ処理を行う(ステップS41)。このステートPWMパルス数ST_PWM_PLSは、PWM信号が現状態に遷移した後の経過時間を示す値である。実施の形態1にかかるモータ駆動制御プログラムでは、各状態の経過時間をPWM信号のパルス数をカウントすることで算出する。なお、ステートPWMパルス数ST_PWM_PLSのカウントアップ処理は、図2のロータ位置検出部24にて行われる処理である。   As shown in FIG. 6, in the PWM signal setting process, first, the count-up process of the number of state PWM pulses ST_PWM_PLS is performed (step S41). This state PWM pulse number ST_PWM_PLS is a value indicating an elapsed time after the PWM signal transits to the current state. In the motor drive control program according to the first embodiment, the elapsed time of each state is calculated by counting the number of pulses of the PWM signal. The count-up process of the number of state PWM pulses ST_PWM_PLS is a process performed by the rotor position detection unit 24 in FIG.

次いで、モータ駆動制御プログラムは、回転速度指示値ROT_SETの値を更新する(ステップS42)。回転速度指示値ROT_SETは、例えば、モータ駆動制御装置1の外部から与えられるPWMデューティ制御信号によって与えられる。なお、回転速度指示値ROT_SETの更新処理は、図2の回転速度制御部26で行われる処理である。   Next, the motor drive control program updates the value of the rotation speed instruction value ROT_SET (step S42). The rotation speed instruction value ROT_SET is given by, for example, a PWM duty control signal given from the outside of the motor drive control device 1. The update process of the rotation speed instruction value ROT_SET is a process performed by the rotation speed control unit 26 in FIG.

次いで、モータ駆動制御プログラムは、定電流制御処理を行う(ステップS43)。この定電流制御処理は、モータ4を定電流駆動する場合の帰還制御値を生成する処理である。定電流制御処理の詳細については後述する。なお、定電流制御処理は、図2の定電流駆動制御部23で行われる処理である。   Next, the motor drive control program performs a constant current control process (step S43). This constant current control process is a process for generating a feedback control value when the motor 4 is driven at a constant current. Details of the constant current control process will be described later. The constant current control process is a process performed by the constant current drive control unit 23 in FIG.

次いで、モータ駆動制御プログラムは、ステートPWMパルス数PWM_PLSとフライバックパルス継続PWMパルス数FB_MASKとを比較する(ステップS44)。そして、ステートPWMパルス数PWM_PLSがフライバックパルス継続PWMパルス数FB_MASKよりも小さい場合、フライバックパルスフィルタ処理を行う(ステップS45)。一方、ステートPWMパルス数PWM_PLSがフライバックパルス継続PWMパルス数FB_MASK以上であった場合、ロータ位置検出処理(ステップS49)を行う。なお、ロータ位置検出処理の中でステート制御処理も行われる。ステップS44、S45の処理は、図2のロータ位置検出部24にて行われ、ステップS49の処理は、ロータ位置検出部24、回転制御部25及び回転速度制御部26にて行われる。フライバックフィルタ処理と、ロータ位置検出処理の詳細については、後述する。   Next, the motor drive control program compares the number of state PWM pulses PWM_PLS with the number of flyback pulse continued PWM pulses FB_MASK (step S44). When the state PWM pulse number PWM_PLS is smaller than the flyback pulse continuation PWM pulse number FB_MASK, the flyback pulse filter process is performed (step S45). On the other hand, when the state PWM pulse number PWM_PLS is equal to or greater than the flyback pulse continuous PWM pulse number FB_MASK, the rotor position detection process (step S49) is performed. Note that state control processing is also performed in the rotor position detection processing. The processing of steps S44 and S45 is performed by the rotor position detection unit 24 of FIG. 2, and the processing of step S49 is performed by the rotor position detection unit 24, the rotation control unit 25, and the rotation speed control unit 26. Details of the flyback filter process and the rotor position detection process will be described later.

3相駆動のモータでは、非通電相の駆動信号に、PWM信号の状態遷移の直後にフライバックパルスが生じる。このフラバックパルスが生じている期間は、センタータップ電圧CTと比較対象検出信号SP(非通電相の駆動信号)の電圧関係がロータの位置がPWM信号の状態を次状態へ切り替えるタイミングに達した場合の比較対象検出信号SPとセンタータップ電圧CTとの関係と同じになる。そこで、実施の形態1にかかるモータ駆動制御プログラムでは、PWM信号の状態が遷移した後の所定の期間はコンパレータの出力信号CMP_OUTの値によらずコンパレータ積分値CMP_INTGをカウントアップ又はカウントダウンする。実施の形態1では、この所定の期間をPWM信号の状態が維持される一期間の所定の割合の期間として予め設定する。図6に示す例では、この所定の期間を規定する変数として、フライバックパルス継続PWMパルス数FB_MASKとの変数を設けた。そして、このフライバックパルス継続PWMパルス数FB_MASKとして、モータ4の起動時は最大回転速度に相当する6ステートPWMパルス数の6分の1の値を設定し、モータ4が回転を開始した後は移動平均ステートPWMパルス数ST_PWM_PLS_AVEの4分の1を設定する。   In a three-phase drive motor, a flyback pulse is generated in the non-energized phase drive signal immediately after the state transition of the PWM signal. During the period in which the fluff back pulse is generated, the voltage relationship between the center tap voltage CT and the comparison target detection signal SP (non-energized phase drive signal) has reached the timing when the rotor position switches the PWM signal state to the next state. In this case, the relationship between the comparison target detection signal SP and the center tap voltage CT is the same. Therefore, in the motor drive control program according to the first embodiment, the comparator integral value CMP_INTG is counted up or down regardless of the value of the output signal CMP_OUT of the comparator for a predetermined period after the state of the PWM signal transitions. In the first embodiment, this predetermined period is set in advance as a period of a predetermined ratio of one period during which the state of the PWM signal is maintained. In the example illustrated in FIG. 6, a variable of the number FB_MASK of flyback pulse continuous PWM pulses is provided as a variable that defines the predetermined period. Then, as the flyback pulse continuous PWM pulse number FB_MASK, a value of 1/6 of the 6-state PWM pulse number corresponding to the maximum rotation speed is set when the motor 4 is started, and after the motor 4 starts rotating, A quarter of the moving average state PWM pulse number ST_PWM_PLS_AVE is set.

次いで、ステップS45又はステップS49の処理が完了すると、モータ駆動制御プログラムは、レギュレーションループ調停処理が行われる(ステップS46)。レギュレーションループ調停処理では、定電流制御処理(ステップS43)で算出された制御帰還値と、ステップS49内のステート制御処理でモータ4の回転速度に基づき生成される制御帰還値と、のいずれの値に基づき次周期のPWM信号のデューティ比を設定するかの調停処理が行われる。なお、レギュレーションループ調停処理は、図2のPWMデューティ制御部にて行われる。また、レギュレーションループ調停処理の詳細については、後述する。   Next, when the process of step S45 or step S49 is completed, the motor drive control program performs a regulation loop arbitration process (step S46). In the regulation loop arbitration process, any one of the control feedback value calculated in the constant current control process (step S43) and the control feedback value generated based on the rotation speed of the motor 4 in the state control process in step S49. Based on the above, arbitration processing is performed to determine whether to set the duty ratio of the PWM signal of the next cycle. The regulation loop arbitration process is performed by the PWM duty control unit in FIG. Details of the regulation loop arbitration process will be described later.

次いで、モータ駆動制御プログラムは、PWMプリモジュレーション処理を行う(ステップS47)。PWMプリモジュレーション処理では、レギュレーションループ調停処理において決定された制御帰還値に基づき次周期のPWM信号のデューティ比が決定され、当該デューティ比に基づきPWM信号のオンタイムPWM_ONが決定される。このPWMプリモジュレーション処理は、図2のPWMデューティ制御部にて行われる。また、PWMプリモジュレーション処理の詳細については、後述する。   Next, the motor drive control program performs PWM pre-modulation processing (step S47). In the PWM pre-modulation process, the duty ratio of the PWM signal of the next period is determined based on the control feedback value determined in the regulation loop arbitration process, and the on-time PWM_ON of the PWM signal is determined based on the duty ratio. This PWM pre-modulation process is performed by the PWM duty control unit in FIG. Details of the PWM pre-modulation process will be described later.

次いで、モータ駆動制御プログラムは、次周期のPWM信号のオンステートとオフステートとを設定する(ステップS48)。このステップS48の処理は、6ステートテーブルのうちPWM信号の次周期のステートカウント値ST_CNTに応じたステートテーブルのPWM信号パターンを読み込む処理である。PWM信号のパターンは、例えば、更新後の状態において導通相とする駆動信号を生成するドライバ回路3の駆動段回路にPWM信号を与え、非導通相とする相の駆動信号を生成するドライバ回路3の駆動段回路にはPWM信号の供給を停止するPWM信号のパターンを指示するものである。また、ステップS48において設定されるオフステートは、ステップS33、S39で選択されたサイドのオフステートが設定される。   Next, the motor drive control program sets an on state and an off state of the PWM signal in the next cycle (step S48). The process of step S48 is a process of reading the PWM signal pattern of the state table corresponding to the state count value ST_CNT of the next cycle of the PWM signal among the 6 state tables. The pattern of the PWM signal is, for example, a driver circuit 3 that gives a PWM signal to the drive stage circuit of the driver circuit 3 that generates a drive signal to be a conductive phase in the updated state, and generates a drive signal of a phase to be a non-conductive phase. In this drive stage circuit, the PWM signal pattern for stopping the supply of the PWM signal is instructed. Further, the off-state set in step S48 is the off-state of the side selected in steps S33 and S39.

ここで、ステップS43の定電流制御処理についてさらに詳細に説明する。そこで、定電流制御処理の詳細な動作手順を示すフローチャートを図7に示す。図7に示すように、定電流制御処理では、まず、定電流制御指示値CNST_CRNT_SETと、図5のステップS24でサンプリングしたモータの駆動電流MIと、の電流誤差CRNT_ERRを算出する(ステップS50)。次いで、ステップS50で算出した電流誤差CRNT_ERRと電流誤差積分値CRNT_ERR_INTGとを加算して、電流誤差積分値CRNT_ERR_INTGの値を更新する(ステップS51)。次いで、ステップS51で算出した電流誤差積分値CRNT_ERR_INTGのクランプ処理を行う(ステップS52)。実施の形態1にかかるモータ駆動制御プログラムでは、予めCRNT_ERR_INTGの最大値と最小値が規定されている。そして、ステップS52のクランプ処理では、回転速度誤差積分値ROT_ERR_INTGの値が予め規定された最大値と最小値との間の値であって、所定のビット幅で表せる値に変換する。電流誤差積分値CRNT_ERR_INTGは、定電流駆動制御部23で生成される制御帰還値に相当する値である。   Here, the constant current control process in step S43 will be described in more detail. FIG. 7 is a flowchart showing the detailed operation procedure of the constant current control process. As shown in FIG. 7, in the constant current control process, first, a current error CRNT_ERR between the constant current control instruction value CNST_CRNT_SET and the motor drive current MI sampled in step S24 of FIG. 5 is calculated (step S50). Next, the current error integrated value CRNT_ERR_INTG is added by updating the current error CRNT_ERR calculated in step S50 and the current error integrated value CRNT_ERR_INTG (step S51). Next, the current error integrated value CRNT_ERR_INTG calculated in step S51 is clamped (step S52). In the motor drive control program according to the first embodiment, the maximum value and the minimum value of CRNT_ERR_INTG are defined in advance. In the clamping process in step S52, the value of the rotational speed error integrated value ROT_ERR_INTG is a value between a predetermined maximum value and a minimum value, and is converted to a value that can be expressed by a predetermined bit width. The current error integrated value CRNT_ERR_INTG is a value corresponding to the control feedback value generated by the constant current drive control unit 23.

続いて、ステップS45のフライバックフィルタ処理の詳細について説明する。そこで、フライバックフィルタ処理の詳細な動作手順を示すフローチャートを図8に示す。図8に示すように、フライバックフィルタ処理では、まず、モータ駆動制御プログラムは、回転方向指示フラグFWDがTRUEであるか否かを判断する(ステップS60)。回転方向指示フラグFWDは、モータ4を正回転方向で制御するか、逆回転方向で制御するかを指示する値であって、外部入力信号により設定される値である。回転方向指示フラグFWADがTRUEである場合、モータ駆動制御装置1はモータ4を正回転方向で制御し、回転方向指示フラグFWADがFALSEである場合、モータ駆動制御装置1はモータ4を逆回転方向で制御する。ステップS60において、回転方向指示フラグFWDがモータ4を正回転方向で制御することを指示していると判断された場合、モータ駆動制御プログラムは、ステートカウント値ST_CNTを参照し、値が奇数であるか偶数であるかを判定する(ステップS61)。このステートカウント値ST_CNTは、PWM信号の状態がいずれの制御状態であるかを示す値である。   Next, details of the flyback filter process in step S45 will be described. FIG. 8 is a flowchart showing the detailed operation procedure of the flyback filter process. As shown in FIG. 8, in the flyback filter process, first, the motor drive control program determines whether or not the rotation direction instruction flag FWD is TRUE (step S60). The rotation direction instruction flag FWD is a value for instructing whether to control the motor 4 in the forward rotation direction or in the reverse rotation direction, and is a value set by an external input signal. When the rotation direction instruction flag FWAD is TRUE, the motor drive control device 1 controls the motor 4 in the normal rotation direction, and when the rotation direction instruction flag FWAD is FALSE, the motor drive control device 1 sets the motor 4 in the reverse rotation direction. To control. In step S60, when it is determined that the rotation direction instruction flag FWD instructs to control the motor 4 in the normal rotation direction, the motor drive control program refers to the state count value ST_CNT and the value is an odd number. Or even number (step S61). This state count value ST_CNT is a value indicating which control state the PWM signal is in.

実施の形態1にかかるモータ駆動制御装置1では、ステートカウント値ST_CNTが奇数である場合、比較対象検出信号となる非通電相の電圧がセンタータップ電圧CTに対して小さな状態から大きな状態に遷移する。また、実施の形態1にかかるモータ駆動制御装置1では、ステートカウント値ST_CNTが偶数である場合、比較対象検出信号となる非通電相の電圧がセンタータップ電圧CTに対して大きな状態から小さな状態に遷移する。つまり、フライバックパルスがないとすると、ステートカウント値ST_CNTが奇数である期間中にコンパレータ15の出力信号CMP_OUTは、0から1に遷移する。また、フライバックパルスがないとすると、ステートカウント値ST_CNTが偶数である期間中にコンパレータ15の出力信号CMP_OUTは、1から0に遷移する。そのため、モータ駆動制御プログラムは、ステップS61においてステートカウント値ST_CNTが奇数であると判断された場合は、コンパレータ積分値CMP_INTGから1を減算する(ステップS62)。また、モータ駆動制御プログラムは、ステップS61においてステートカウント値ST_CNTが偶数であると判断された場合は、コンパレータ積分値CMP_INTGに1を加算する(ステップS63)。そして、ステップS62又はステップS63の処理が終了するとフライバックフィルタ処理を終了する。   In the motor drive control device 1 according to the first embodiment, when the state count value ST_CNT is an odd number, the voltage of the non-energized phase serving as the comparison target detection signal transitions from a small state to a large state with respect to the center tap voltage CT. . In the motor drive control device 1 according to the first embodiment, when the state count value ST_CNT is an even number, the voltage of the non-energized phase that is the comparison target detection signal is changed from a large state to a small state with respect to the center tap voltage CT. Transition. That is, if there is no flyback pulse, the output signal CMP_OUT of the comparator 15 transitions from 0 to 1 during the period in which the state count value ST_CNT is an odd number. If there is no flyback pulse, the output signal CMP_OUT of the comparator 15 transitions from 1 to 0 during the period in which the state count value ST_CNT is an even number. Therefore, if it is determined in step S61 that the state count value ST_CNT is an odd number, the motor drive control program subtracts 1 from the comparator integral value CMP_INTG (step S62). If it is determined in step S61 that the state count value ST_CNT is an even number, the motor drive control program adds 1 to the comparator integral value CMP_INTG (step S63). Then, when the process of step S62 or step S63 ends, the flyback filter process ends.

一方、ステップS60において、回転方向指示フラグFWDがモータ4を逆回転方向で制御することを指示していると判断された場合も、モータ駆動制御プログラムは、ステートカウント値ST_CNTを参照し、値が奇数であるか偶数であるかを判定する(ステップS64)。ここで、回転方向指示フラグFWDがモータ4を正回転方向で制御することを指示していると判断された場合、モータ4のロータに流れる駆動電流は正回転している場合の逆となる。そのため、ステートカウント値ST_CNTが奇数である場合のコンパレータ15の出力信号の遷移方向は、モータ4が正回転方向で回転している場合の逆になる。   On the other hand, when it is determined in step S60 that the rotation direction instruction flag FWD instructs to control the motor 4 in the reverse rotation direction, the motor drive control program refers to the state count value ST_CNT and the value is It is determined whether the number is an odd number or an even number (step S64). Here, when it is determined that the rotation direction instruction flag FWD instructs to control the motor 4 in the normal rotation direction, the drive current flowing through the rotor of the motor 4 is the reverse of that when the motor 4 is rotating in the normal direction. Therefore, the transition direction of the output signal of the comparator 15 when the state count value ST_CNT is an odd number is opposite to that when the motor 4 rotates in the forward rotation direction.

そのため、モータ駆動制御プログラムは、ステップS64においてステートカウント値ST_CNTが奇数であると判断された場合は、コンパレータ積分値CMP_INTGに1を加算する(ステップS65)。また、モータ駆動制御プログラムは、ステップS64においてステートカウント値ST_CNTが偶数であると判断された場合は、コンパレータ積分値CMP_INTGから1を減算する(ステップS66)。そして、ステップS65又はステップS66の処理が終了するとフライバックフィルタ処理を終了する。   Therefore, when it is determined in step S64 that the state count value ST_CNT is an odd number, the motor drive control program adds 1 to the comparator integral value CMP_INTG (step S65). If it is determined in step S64 that the state count value ST_CNT is an even number, the motor drive control program subtracts 1 from the comparator integral value CMP_INTG (step S66). Then, when the process of step S65 or step S66 ends, the flyback filter process ends.

続いて、ステップS49のロータ位置検出処理の詳細について説明する。そこで、ロータ位置検出処理の詳細な動作手順を示すフローチャートを図9に示す。図9に示すように、モータ駆動制御プログラムは、まず、図5のステップS23でサンプリングされたコンパレータ15の出力信号CMP_OUTの値が1であるか否かを判断する(ステップS70)。ステップS70において、コンパレータ15の出力信号CMP_OUTが1であった場合、コンパレータ積分値CMP_INTGをカウントアップする。一方、コンパレータ15の出力信号CMP_OUTが1であった場合、コンパレータ積分値CMP_INTGをカウントダウンする。つまり、モータ駆動制御プログラムは、コンパレータ15の出力信号CMP_OUTの値をサンプリングした時点で、比較対象検出信号(非通電相の駆動信号)の電圧値がセンタータップ電圧CTよりも大きいと判断された場合は、コンパレータ積分値を増加させ、比較対象検出信号の電圧値がセンタータップ電圧CTよりも小さいと判断された場合は、コンパレータ積分値を減少させる。   Next, details of the rotor position detection process in step S49 will be described. FIG. 9 is a flowchart showing the detailed operation procedure of the rotor position detection process. As shown in FIG. 9, the motor drive control program first determines whether or not the value of the output signal CMP_OUT of the comparator 15 sampled in step S23 of FIG. 5 is 1 (step S70). If the output signal CMP_OUT of the comparator 15 is 1 in step S70, the comparator integral value CMP_INTG is counted up. On the other hand, when the output signal CMP_OUT of the comparator 15 is 1, the comparator integral value CMP_INTG is counted down. That is, when the motor drive control program samples the value of the output signal CMP_OUT of the comparator 15 and determines that the voltage value of the comparison target detection signal (non-energized phase drive signal) is greater than the center tap voltage CT. Increases the comparator integral value, and decreases the comparator integral value when it is determined that the voltage value of the comparison target detection signal is smaller than the center tap voltage CT.

次いで、モータ駆動制御プログラムは、ステートPWMパルス数ST_PWM_PLSが最大パルスカウント数MAXCNTよりも大きいか否かを判断する(ステップS73)。このステップS73において、ステートPWMパルス数ST_PWM_PLSが最大パルスカウント数よりも大きい場合、ステート制御処理(ステップS74)を行った後に有効スタートアップフラグSTUPをFALSEとし(ステップS75)、ゼロクロスカウント値ZC_CNTにゼロを設定する(ステップS76)。そして、ステップS76の処理が完了したことに伴い、ロータ位置検出処理を終了する。モータ駆動制御プログラムの最大パルスカウント数は、モータ4が最低回転速度で回転している場合の1状態のステートPWMパルス数を規定するものである。つまり、ステップS73において、ステートPWMパルス数ST_PWM_PLSが最大パルスカウント数よりも大きい場合、モータ4は、最低回転速度以下の回転速度で回転しているか、停止しているかのいずれかである。そのため、この場合は、有効スタートアップフラグSTUPをFALSEとし、ゼロクロスが生じた回数をカウントするゼロクロスカウント値ZC_CNTをゼロにリセットする。   Next, the motor drive control program determines whether or not the state PWM pulse number ST_PWM_PLS is larger than the maximum pulse count number MAXCNT (step S73). In this step S73, when the state PWM pulse number ST_PWM_PLS is larger than the maximum pulse count number, after performing the state control process (step S74), the effective startup flag STUP is set to FALSE (step S75), and zero is set to the zero cross count value ZC_CNT. Setting is made (step S76). Then, the rotor position detection process is terminated when the process of step S76 is completed. The maximum pulse count number of the motor drive control program defines the number of state PWM pulses in one state when the motor 4 is rotating at the minimum rotation speed. That is, in step S73, when the state PWM pulse number ST_PWM_PLS is larger than the maximum pulse count number, the motor 4 is either rotating at a rotation speed equal to or lower than the minimum rotation speed or stopped. Therefore, in this case, the effective startup flag STUP is set to FALSE, and the zero cross count value ZC_CNT that counts the number of times that the zero cross has occurred is reset to zero.

一方、ステップS73において、ステートPWMパルス数ST_PWM_PLSが最大パルスカウント数以下である場合、モータ駆動制御プログラムは、コンパレータ積分値CMP_INTGがゼロであるか否かを判断する(ステップS77)。ステップS77において、モータ駆動制御プログラムは、コンパレータ積分値CMP_INTGがゼロであると判断された場合、ステート制御処理を行う(ステップS78)。そして、ゼロクロスカウント値ZC_CNTに1を加算する(ステップS79)。次いで、モータ駆動制御プログラムは、ゼロクロスカウント値が5よりも大きいか否かを判断する(ステップS80)。ステップS80においてゼロクロスカウント値ZC_CNTが5よりも大きいと判断された場合、ゼロクロスカウント値ZC_CNTを5よりも大きな値(例えば、6)に設定する(ステップS81)。また、有効スタートアップフラグSTUPをTRUEとする(ステップS82)。   On the other hand, when the state PWM pulse number ST_PWM_PLS is equal to or smaller than the maximum pulse count number in step S73, the motor drive control program determines whether or not the comparator integral value CMP_INTG is zero (step S77). If it is determined in step S77 that the comparator integral value CMP_INTG is zero, the motor drive control program performs state control processing (step S78). Then, 1 is added to the zero cross count value ZC_CNT (step S79). Next, the motor drive control program determines whether the zero cross count value is greater than 5 (step S80). When it is determined in step S80 that the zero cross count value ZC_CNT is larger than 5, the zero cross count value ZC_CNT is set to a value larger than 5 (for example, 6) (step S81). Further, the effective startup flag STUP is set to TRUE (step S82).

実施の形態1にかかるモータ駆動制御プログラムでは、PWM信号の各状態の開始直後の所定の期間においてフライバックフィルタ処理(ステップS45)が行われ、ステップS77の判断処理が最初に行われる時点では、コンパレータ積分値CMP_INTGは、正の値と負の値のいずれかの値となっている。そのため、コンパレータ積分値CMP_INTGがゼロとなると言うことは、比較対象検出信号SPとセンタータップ電圧CTとの電圧関係が逆転するゼロクロスが発生したことを意味する。そのため、上記説明のように、モータ駆動制御プログラムは、この場合は、ゼロクロスカウント値ZC_CNTを加算する。そして、ゼロクロスカウント値ZC_CNTが5以上の値となったことに応じて、モータ4が電気角で一回転以上したと判断して有効スタートアップフラグSTUPをTRUEとする。   In the motor drive control program according to the first embodiment, flyback filter processing (step S45) is performed in a predetermined period immediately after the start of each state of the PWM signal, and when the determination processing in step S77 is first performed, The comparator integral value CMP_INTG is a positive value or a negative value. Therefore, the fact that the comparator integral value CMP_INTG becomes zero means that a zero cross in which the voltage relationship between the comparison target detection signal SP and the center tap voltage CT is reversed has occurred. Therefore, as described above, the motor drive control program adds the zero cross count value ZC_CNT in this case. Then, in response to the zero cross count value ZC_CNT becoming a value of 5 or more, it is determined that the motor 4 has made one or more revolutions in electrical angle, and the effective startup flag STUP is set to TRUE.

一方、ステップS77においてコンパレータ積分値CMP_INTGがゼロに達していないと判断された場合、モータ駆動制御プログラムは、有効スタートアップフラグSTUPがTRUEであるか否かを判断する(ステップS83)。このステップS83において有効スタートアップフラグSTUPがFALSEであると判断された場合、モータ駆動制御プログラムは、ロータの位置検出ができないと判断してロータ位置検出処理を終了する。   On the other hand, when it is determined in step S77 that the comparator integral value CMP_INTG has not reached zero, the motor drive control program determines whether or not the effective startup flag STUP is TRUE (step S83). If it is determined in step S83 that the effective startup flag STUP is FALSE, the motor drive control program determines that the rotor position cannot be detected, and ends the rotor position detection process.

一方、ステップS83において有効スタートアップフラグSTUPがTRUEであると判断された場合、ステートPWMパルス数ST_PWM_PLSが移動平均ステートPWMパルス数ST_PWM_PLS_AVEよりも大きいか否かを判断する(ステップS84)。ステップS84においてステートPWMパルス数ST_PWM_PLSが移動平均ステートPWMパルス数ST_PWM_PLS_AVE以下の値であると判断された場合、モータ駆動制御プログラムは、PWM信号の一状態が維持される最大許容期間を未だに経過していないと判断してロータ位置検出処理を終了する。一方、ステップS84においてステートPWMパルス数ST_PWM_PLSが移動平均ステートPWMパルス数ST_PWM_PLS_AVEより大きな値であると判断された場合、モータ駆動制御プログラムは、ステート制御処理(ステップS85)を行った後にロータ位置検出処理を終了する。   On the other hand, when it is determined in step S83 that the effective startup flag STUP is TRUE, it is determined whether or not the state PWM pulse number ST_PWM_PLS is larger than the moving average state PWM pulse number ST_PWM_PLS_AVE (step S84). If it is determined in step S84 that the state PWM pulse number ST_PWM_PLS is equal to or less than the moving average state PWM pulse number ST_PWM_PLS_AVE, the motor drive control program has yet passed the maximum allowable period during which one state of the PWM signal is maintained. It is determined that there is no rotor position detection process. On the other hand, when it is determined in step S84 that the state PWM pulse number ST_PWM_PLS is larger than the moving average state PWM pulse number ST_PWM_PLS_AVE, the motor drive control program performs the rotor position detection process after performing the state control process (step S85). Exit.

ロータ位置検出処理において行われるステート制御処理(ステップS74、S78、S85)は、同じ処理ルーチンである。このステート制御処理では、PWM信号を次状態に遷移させるための処理である。つまり、実施の形態1にかかるモータ駆動制御プログラムは、モータ4の回転速度が最低回転速度以下である場合(ステップS73のYESの枝)、コンパレータ積分値CMP_INTGがゼロとなることに応じてロータの位置が検出された場合(ステップS77のYESの枝)、及び、モータ4が回転している状態でロータの位置検出が行われないもののPWM信号の現状態の継続期間が移動平均ステートPWMパルス数ST_PWM_PLS_AVEで示される長さに達してしまった場合(ステップS84のYESの枝)に、PWM信号の状態を次状態に遷移させる。なお、ステート制御処理では、PWM信号の周期毎に更新する必要はないが、所定の頻度では更新が必要な変数の算出処理が行われる。   The state control processing (steps S74, S78, S85) performed in the rotor position detection processing is the same processing routine. This state control process is a process for transitioning the PWM signal to the next state. That is, in the motor drive control program according to the first embodiment, when the rotational speed of the motor 4 is equal to or lower than the minimum rotational speed (YES branch of step S73), the rotor integral value CMP_INTG becomes zero according to the comparator integral value CMP_INTG becoming zero. If the position is detected (YES branch of step S77), and the position of the rotor is not detected while the motor 4 is rotating, the duration of the current state of the PWM signal is the number of moving average state PWM pulses. When the length indicated by ST_PWM_PLS_AVE has been reached (YES in step S84), the state of the PWM signal is changed to the next state. In the state control process, it is not necessary to update every cycle of the PWM signal, but a variable that needs to be updated is calculated at a predetermined frequency.

続いて、ステップS74、S78、S85のステート制御処理の詳細について説明する。そこで、ステート制御処理の詳細な動作手順を示すフローチャートを図10に示す。図10に示すように、ステート制御処理では、モータ駆動制御プログラムは、回転速度検出処理(ステップS90)を行う。この回転速度検出処理では、モータ駆動制御プログラムは、PWM信号が現状態を維持した期間の長さを示すPWMパルス数PWM_PLS[ST_CNT]に図6のステップS41で更新されたステートPWMパルス数ST_PWM_PLSを代入する(ステップS90a)。そして、6つの状態のそれぞれで算出されたPWMパルス数PWM_PLS[0]〜PWM_PLS[6]を加算して6ステート合計PWMパルス数TTL_ST_PWM_PLSを算出する(ステップS90b)。次いで、6ステート合計PWMパルス数TTL_ST_PWM_PLSを状態の数である6で除算して移動平均ステートPWMパルス数ST_PWM_PLS_AVEを算出する(ステップS90c)。ここで、6ステート合計PWMパルス数TTL_ST_PWM_PLSは、モータ4が電気角で一回転する間に生成されたPWM信号のパルスの合計値であって、モータ4が電気角で一回転する時間を示す。つまり、6ステート合計PWMパルス数TTL_ST_PWM_PLSによりモータ4の回転速度を知ることができる。なお、ステップS90の回転速度検出処理は、図2の回転制御部25で行われる。   Subsequently, the details of the state control processing in steps S74, S78, and S85 will be described. FIG. 10 is a flowchart showing the detailed operation procedure of the state control process. As shown in FIG. 10, in the state control process, the motor drive control program performs a rotation speed detection process (step S90). In this rotational speed detection process, the motor drive control program sets the number of state PWM pulses ST_PWM_PLS updated in step S41 of FIG. 6 to the number of PWM pulses PWM_PLS [ST_CNT] indicating the length of the period during which the PWM signal has maintained the current state. Substitute (step S90a). Then, the PWM pulse numbers PWM_PLS [0] to PWM_PLS [6] calculated in each of the six states are added to calculate the 6-state total PWM pulse number TTL_ST_PWM_PLS (step S90b). Next, the moving average state PWM pulse number ST_PWM_PLS_AVE is calculated by dividing the 6-state total PWM pulse number TTL_ST_PWM_PLS by 6 which is the number of states (step S90c). Here, the 6-state total PWM pulse number TTL_ST_PWM_PLS is a total value of PWM signal pulses generated while the motor 4 makes one electrical rotation, and indicates the time during which the motor 4 makes one electrical rotation. That is, the rotational speed of the motor 4 can be known from the 6-state total PWM pulse number TTL_ST_PWM_PLS. The rotation speed detection process in step S90 is performed by the rotation control unit 25 in FIG.

次いで、モータ駆動制御プログラムは、スタッキング検出処理を行う(ステップS91)。スタッキング検出処理は、6ステート合計PWMパルス数TTL_ST_PWM_PLSがスタックロータ検出設定値STC_DET_SETよりも小さいか否かを判断する(ステップS91a)。スタックロータ検出設定値STC_DET_SETは、モータ4の最大回転速度よりも十分に高い回転速度に相当する値であり、予め設定される値である。ここで、最大回転速度よりも十分に高い回転速度とは、モータの機械的な構造から決まる限界速度以上ではあるが電気的には可能な回転速度である。例えば、モータ4の機械的な構造から決まる限界速度が7000rpmであった場合、8000〜10000rpmの回転速度に相当する値がスタックロータ検出設定値STC_DET_SETとして設定される。モータ4がスタック状態である場合、PWM信号を与えてもモータ4が機械的に回転していない状態であり、コンパレータ積分値CMP_INTGが極端に短い時間でゼロに達してしまう。そのため、モータ4がスタック状態である場合、ロータは機械的には回転していないが、ステータの回転磁界は、ロータの回転速度を超えて電気的に回転している状態となる。このため、PWM信号の一状態が継続する期間が短くなり、6ステート合計PWMパルス数TTL_ST_PWM_PLSがスタックロータ検出設定値STC_DET_SETよりも小さくなる。このようなことから、6ステート合計PWMパルス数TTL_ST_PWM_PLSがスタックロータ検出設定値STC_DET_SETよりも小さいことを検出することでモータ4のスタック状態を検出することができる。なお、6ステート合計PWMパルス数TTL_ST_PWM_PLSは、モータ4が回転している状態においては、無損失かつ無負荷の状態で駆動される、或いは、外部動力によってモータが駆動されない限り、スタックロータ検出設定値STC_DET_SETよりも小さい状態とはならない。   Next, the motor drive control program performs stacking detection processing (step S91). In the stacking detection process, it is determined whether or not the 6-state total PWM pulse number TTL_ST_PWM_PLS is smaller than the stack rotor detection set value STC_DET_SET (step S91a). The stack rotor detection set value STC_DET_SET is a value corresponding to a rotational speed sufficiently higher than the maximum rotational speed of the motor 4, and is a value set in advance. Here, the rotation speed sufficiently higher than the maximum rotation speed is a rotation speed that is electrically possible although it is not less than a limit speed determined by the mechanical structure of the motor. For example, when the limit speed determined from the mechanical structure of the motor 4 is 7000 rpm, a value corresponding to a rotational speed of 8000 to 10000 rpm is set as the stack rotor detection setting value STC_DET_SET. When the motor 4 is in a stacked state, the motor 4 is not mechanically rotated even when a PWM signal is applied, and the comparator integral value CMP_INTG reaches zero in an extremely short time. Therefore, when the motor 4 is in a stacked state, the rotor is not mechanically rotated, but the rotating magnetic field of the stator is in an electrically rotating state exceeding the rotational speed of the rotor. For this reason, the period during which one state of the PWM signal continues is shortened, and the 6-state total PWM pulse number TTL_ST_PWM_PLS becomes smaller than the stack rotor detection set value STC_DET_SET. Therefore, the stack state of the motor 4 can be detected by detecting that the 6-state total PWM pulse number TTL_ST_PWM_PLS is smaller than the stack rotor detection set value STC_DET_SET. Note that the 6-state total PWM pulse number TTL_ST_PWM_PLS is the stack rotor detection set value unless the motor 4 is rotating and is driven without loss and no load, or unless the motor is driven by external power. The state is not smaller than STC_DET_SET.

そして、モータ駆動制御プログラムは、ステップS91aにおいて、モータ4がスタック状態であると判断された場合、スタックロータ検出フラグSTC_DETをTRUEとする(ステップS91b)。また、モータ駆動制御プログラムは、ステップS91aにおいて、モータ4がスタック状態ではないと判断された場合、スタックロータ検出フラグSTC_DETをFALSEとする(ステップS91c)。なお、ステップS91のスタッキング検出処理は、図2の回転制御部25で行われる。   When the motor drive control program determines in step S91a that the motor 4 is in a stacked state, the motor drive control program sets the stack rotor detection flag STC_DET to TRUE (step S91b). Further, when it is determined in step S91a that the motor 4 is not in the stack state, the motor drive control program sets the stack rotor detection flag STC_DET to FALSE (step S91c). The stacking detection process in step S91 is performed by the rotation control unit 25 in FIG.

そして、スタッキング検出処理(ステップS91)が完了したことに応じて、モータ駆動制御プログラムは、定回転速度制御処理(ステップS92)、ステート更新処理(ステップS93)、フライバックパルス適応フィルタ更新処理(ステップS94)を行う。また、フライバックパルス適応フィルタ更新処理(ステップS94)の処理の後に、モータ駆動制御プログラムは、コンパレータ積分値CMP_INTG及びステートPWMパルス数ST_PWM_PLSのリセット処理を行う(ステップS95)。また、PWM信号の状態が更新されたことに応じて次状態のステートカウント値ST_CNTに基づきセレクタ14が選択する検出信号相を切り換える。   Then, in response to the completion of the stacking detection process (step S91), the motor drive control program executes the constant rotation speed control process (step S92), the state update process (step S93), the flyback pulse adaptive filter update process (step S94) is performed. Further, after the flyback pulse adaptive filter update process (step S94), the motor drive control program performs a reset process of the comparator integral value CMP_INTG and the number of state PWM pulses ST_PWM_PLS (step S95). Further, the detection signal phase selected by the selector 14 is switched based on the state count value ST_CNT in the next state in accordance with the updated state of the PWM signal.

ここで、定回転速度制御処理(ステップS92)、ステート更新処理(ステップS93)、フライバックパルス適応フィルタ更新処理(ステップS94)についてより詳細に説明する。なお、定回転速度制御処理(ステップS92)は、回転速度制御部26で行われる処理であり、ステート更新処理(ステップS93)及びフライバックパルス適応フィルタ更新処理は、ロータ位置検出部24にて行われる処理である。   Here, the constant rotation speed control process (step S92), the state update process (step S93), and the flyback pulse adaptive filter update process (step S94) will be described in more detail. The constant rotation speed control process (step S92) is a process performed by the rotation speed control unit 26, and the state update process (step S93) and the flyback pulse adaptive filter update process are performed by the rotor position detection unit 24. Process.

まず、ステップS92の定回転速度制御処理の詳細な動作手順を示すフローチャートを図11に示す。図11示すように、定回転速度制御処理では、モータ駆動制御プログラムは、6ステート合計PWMパルス数TTL_ST_PWM_PLSから回転速度指示値ROT_SETを減じて回転速度誤差ROT_ERRを算出する(ステップS100)。次いで、モータ駆動制御プログラムは、回転速度誤差ROT_ERRを用いてスタッキング防止加減速制限処理を行う(ステップS101)。   First, FIG. 11 is a flowchart showing a detailed operation procedure of the constant rotation speed control process in step S92. As shown in FIG. 11, in the constant rotation speed control process, the motor drive control program calculates a rotation speed error ROT_ERR by subtracting the rotation speed instruction value ROT_SET from the 6-state total PWM pulse number TTL_ST_PWM_PLS (step S100). Next, the motor drive control program performs stacking prevention acceleration / deceleration limiting processing using the rotation speed error ROT_ERR (step S101).

スタッキング防止加減速制限処理では、まず、移動平均ステートPWMパルス数ST_PWM_PLS_AVEと加速係数aとを乗算して最大許容加速度MAX_ALW_ACLを算出する(ステップS101a)。次いで、移動平均ステートPWMパルス数ST_PWM_PLS_AVEと減速係数bとを乗算して最大許容減速度MAX_ALW_DCLを算出する(ステップS101b)。   In the stacking prevention acceleration / deceleration limiting process, first, the maximum allowable acceleration MAX_ALW_ACL is calculated by multiplying the moving average state PWM pulse number ST_PWM_PLS_AVE and the acceleration coefficient a (step S101a). Next, the maximum allowable deceleration MAX_ALW_DCL is calculated by multiplying the moving average state PWM pulse number ST_PWM_PLS_AVE and the deceleration coefficient b (step S101b).

次いで、モータ駆動制御プログラムは、回転速度誤差ROT_ERRと最大許容加速度MAX_ALW_ACLとの比較処理を行う(ステップS101c)。そして、ステップS101cにおいて、回転速度誤差ROT_ERRが最大許容加速度MAX_ALW_ACLよりも大きい場合は、回転速度誤差ROT_ERRを最大許容加速度MAX_ALW_ACLで更新する(ステップS101d)。一方、ステップS101cにおいて、回転速度誤差ROT_ERRが最大許容加速度MAX_ALW_ACL以下である場合は、回転速度誤差ROT_ERRの更新は行わない。   Next, the motor drive control program performs a comparison process between the rotation speed error ROT_ERR and the maximum allowable acceleration MAX_ALW_ACL (step S101c). If the rotational speed error ROT_ERR is larger than the maximum allowable acceleration MAX_ALW_ACL in step S101c, the rotational speed error ROT_ERR is updated with the maximum allowable acceleration MAX_ALW_ACL (step S101d). On the other hand, if the rotational speed error ROT_ERR is equal to or smaller than the maximum allowable acceleration MAX_ALW_ACL in step S101c, the rotational speed error ROT_ERR is not updated.

次いで、モータ駆動制御プログラムは、回転速度誤差ROT_ERRと最大許容減速度MAX_ALW_DCLとの比較処理を行う(ステップS101e)。そして、ステップS101eにおいて、回転速度誤差ROT_ERRが最大許容減速度MAX_ALW_DCLよりも小さい場合は、回転速度誤差ROT_ERRを最大許容減速度MAX_ALW_DCLで更新する(ステップS101f)。一方、ステップS101eにおいて、回転速度誤差ROT_ERRが最大許容減速度MAX_ALW_DCL以上である場合は、回転速度誤差ROT_ERRの更新は行わない。   Next, the motor drive control program performs a comparison process between the rotation speed error ROT_ERR and the maximum allowable deceleration MAX_ALW_DCL (step S101e). If the rotational speed error ROT_ERR is smaller than the maximum allowable deceleration MAX_ALW_DCL in step S101e, the rotational speed error ROT_ERR is updated with the maximum allowable deceleration MAX_ALW_DCL (step S101f). On the other hand, if the rotational speed error ROT_ERR is greater than or equal to the maximum allowable deceleration MAX_ALW_DCL in step S101e, the rotational speed error ROT_ERR is not updated.

次いで、モータ駆動制御プログラムは、回転速度誤差積分値ROT_ERR_INTGに回転速度誤差ROT_ERRを加算して、回転速度誤差積分値ROT_ERR_INTGを更新する(ステップS102)。その後、モータ駆動制御プログラムは、更新後の回転速度誤差積分値ROT_ERR_INTGのクランプ処理を行う(ステップS103)。このクランプ処理では、回転速度誤差積分値ROT_ERR_INTGの値が予め規定された最大値と最小値との間の値であって、所定のビット幅で表せる値に変換する。回転速度誤差積分値ROT_ERR_INTGは、回転速度制御部26で生成される制御帰還値に相当する値である。   Next, the motor drive control program adds the rotational speed error ROT_ERR to the rotational speed error integrated value ROT_ERR_INTG to update the rotational speed error integrated value ROT_ERR_INTG (step S102). Thereafter, the motor drive control program performs a clamp process of the updated rotational speed error integrated value ROT_ERR_INTG (step S103). In this clamping process, the rotation speed error integrated value ROT_ERR_INTG is converted to a value between a predetermined maximum value and a minimum value, which can be expressed by a predetermined bit width. The rotational speed error integrated value ROT_ERR_INTG is a value corresponding to a control feedback value generated by the rotational speed control unit 26.

続いて、ステップS93のステート更新処理について詳細に説明する。そこで、ステート更新処理の詳細な動作手順を示すフローチャートを図12に示す。図12に示すように、ステート更新処理では、まず、回転方向指示フラグFWDを参照して、モータ4の回転方向を判断する(ステップS110)。ステップS110において、回転方向指示フラグFWDがTRUEであった場合、ステートカウント値ST_CNTに1を加算する(ステップS111)。その後、更新後のステートカウント値ST_CNTが5より大きいか否かを判断する(ステップS112)。そして、ステップS112において、ステートカウント値ST_CNTが5よりも大きいと判断された場合は、ステートカウント値ST_CNTをゼロにリセットして、ステート更新処理を終了する(ステップS113)。   Next, the state update process in step S93 will be described in detail. FIG. 12 is a flowchart showing a detailed operation procedure of the state update process. As shown in FIG. 12, in the state update process, first, the rotation direction of the motor 4 is determined with reference to the rotation direction instruction flag FWD (step S110). If the rotation direction instruction flag FWD is TRUE in step S110, 1 is added to the state count value ST_CNT (step S111). Thereafter, it is determined whether or not the updated state count value ST_CNT is greater than 5 (step S112). If it is determined in step S112 that the state count value ST_CNT is greater than 5, the state count value ST_CNT is reset to zero, and the state update process ends (step S113).

一方、ステップS110において、回転方向指示フラグFWDがFALSEであった場合、ステートカウント値ST_CNTから1を減算する(ステップS114)。その後、更新後のステートカウント値ST_CNTが0より小さい否かを判断する(ステップS115)。そして、ステップS115において、ステートカウント値ST_CNTが0よりも小さいと判断された場合は、ステートカウント値ST_CNTを5にリセットして、ステート更新処理を終了する(ステップS116)。   On the other hand, if the rotation direction instruction flag FWD is FALSE in step S110, 1 is subtracted from the state count value ST_CNT (step S114). Thereafter, it is determined whether or not the updated state count value ST_CNT is smaller than 0 (step S115). If it is determined in step S115 that the state count value ST_CNT is smaller than 0, the state count value ST_CNT is reset to 5 and the state update process is terminated (step S116).

続いて、ステップS94のフライバックパルス適応フィルタ更新処理について詳細に説明する。そこで、フライバックパルス適応フィルタ更新処理の詳細な動作手順を示すフローチャートを図13に示す。図13に示すように、フライバックパルス適応フィルタ更新処理では、モータ駆動制御プログラムは、有効スタートアップフラグSTUPがTRUEであるか否かを判断する(ステップS120)。そして、ステップS120において、有効スタートアップフラグSTUPがFALSEであると判断された場合、モータ4が有効に回転していないと判断し、フライバックパルス適応フィルタの更新は行わずに処理を終了する。   Next, the flyback pulse adaptive filter update process in step S94 will be described in detail. FIG. 13 is a flowchart showing a detailed operation procedure of the flyback pulse adaptive filter update process. As shown in FIG. 13, in the flyback pulse adaptive filter update process, the motor drive control program determines whether or not the effective startup flag STUP is TRUE (step S120). If it is determined in step S120 that the effective startup flag STUP is FALSE, it is determined that the motor 4 is not rotating effectively, and the process is terminated without updating the flyback pulse adaptive filter.

一方、ステップS120において、有効スタートアップフラグSTUPがTRUEであると判断された場合、定電流制御指示値CNST_CRNTを最大電流値MAX_CRNTとする(ステップS121)。次いで、モータ駆動制御プログラムは、フライバックパルス継続パルス数FB_MASKを移動平均ステートPWMパルス数ST_PWM_PLS_AVEの4分の1に設定する(ステップS122)。その後、モータ駆動制御プログラムは、更新後のフライバックパルス継続パルス数FB_MASKがフライバックパルス継続パルス数の最低値MIN_FB_MASKとの比較処理を行う(ステップS123)。そして、フライバックパルス継続パルス数FB_MASKがフライバックパルス継続パルス数の最低値MIN_FB_MASK以上の値であれば、そのまま処理を終了する。一方、フライバックパルス継続パルス数FB_MASKがフライバックパルス継続パルス数の最低値MIN_FB_MASKよりも小さい場合、フライバックパルス継続パルス数FB_MASKをフライバックパルス継続パルス数の最低値MIN_FB_MASKに設定した後に処理を終了する(ステップS124)。   On the other hand, if it is determined in step S120 that the effective startup flag STUP is TRUE, the constant current control instruction value CNST_CRNT is set to the maximum current value MAX_CRNT (step S121). Next, the motor drive control program sets the flyback pulse continuation pulse number FB_MASK to a quarter of the moving average state PWM pulse number ST_PWM_PLS_AVE (step S122). Thereafter, the motor drive control program compares the updated flyback pulse continuation pulse number FB_MASK with the minimum value MIN_FB_MASK of the flyback pulse continuation pulse number (step S123). If the number of flyback pulse continuation pulses FB_MASK is equal to or greater than the minimum value MIN_FB_MASK of the number of flyback pulse continuation pulses, the process ends. On the other hand, when the flyback pulse duration pulse number FB_MASK is smaller than the minimum flyback pulse duration pulse value MIN_FB_MASK, the flyback pulse duration pulse number FB_MASK is set to the minimum flyback pulse duration pulse value MIN_FB_MASK, and the processing ends. (Step S124).

続いて、図6のステップS46のレギュレーションループ調停処理について詳細に説明する。そこで、図14にレギュレーションループ調停処理の詳細な動作手順を示すフローチャートを示す。このレギュレーションループ調停処理は、図2のPWMデューティ制御部27により行われる。   Next, the regulation loop arbitration process in step S46 of FIG. 6 will be described in detail. FIG. 14 is a flowchart showing a detailed operation procedure of the regulation loop arbitration process. This regulation loop arbitration process is performed by the PWM duty control unit 27 of FIG.

図14に示すように、レギュレーションループ調停処理では、モータ駆動制御プログラムは、回転速度誤差積分値ROT_ERR_INTGと電流誤差積分値CRNT_ERR_INTGとの比較処理を行う(ステップS130)。   As shown in FIG. 14, in the regulation loop arbitration process, the motor drive control program performs a comparison process between the rotational speed error integrated value ROT_ERR_INTG and the current error integrated value CRNT_ERR_INTG (step S130).

そして、ステップS130において、回転速度誤差積分値ROT_ERR_INTGが電流誤差積分値CRNT_ERR_INTGよりも小さいと判断された場合、電流誤差積分値CRNT_ERR_INTGの値を回転速度誤差積分値ROT_ERR_INTGの値で更新する(ステップS131)。その後、モータ駆動制御プログラムは、回転速度誤差積分値ROT_ERR_INTGをPWM信号のオンタイムPWM_ONとした後にレギュレーションループ調停処理を終了する(ステップS132)。   If it is determined in step S130 that the rotational speed error integrated value ROT_ERR_INTG is smaller than the current error integrated value CRNT_ERR_INTG, the current error integrated value CRNT_ERR_INTG is updated with the rotational speed error integrated value ROT_ERR_INTG (step S131). . Thereafter, the motor drive control program sets the rotation speed error integrated value ROT_ERR_INTG to the on-time PWM_ON of the PWM signal, and then ends the regulation loop arbitration process (step S132).

一方、ステップS130において、回転速度誤差積分値ROT_ERR_INTGが電流誤差積分値CRNT_ERR_INTG以上であると判断された場合、回転速度誤差積分値ROT_ERR_INTGの値を電流誤差積分値CRNT_ERR_INTGの値で更新する(ステップS133)。その後、モータ駆動制御プログラムは、電流誤差積分値CRNT_ERR_INTGをPWM信号のオンタイムPWM_ONとした後にレギュレーションループ調停処理を終了する(ステップS134)。   On the other hand, when it is determined in step S130 that the rotational speed error integrated value ROT_ERR_INTG is equal to or greater than the current error integrated value CRNT_ERR_INTG, the value of the rotational speed error integrated value ROT_ERR_INTG is updated with the value of the current error integrated value CRNT_ERR_INTG (step S133). . Thereafter, the motor drive control program sets the current error integrated value CRNT_ERR_INTG to the on-time PWM_ON of the PWM signal, and then ends the regulation loop arbitration process (step S134).

このようなレギュレーションループ調停処理を行うことで、制御ループを定電流制御系と定回転制御系との間で切り換えた場合において、その切り換え時に切り換え後に利用される制御ループが飽和状態から制御を開始することを防止することができる。そして、切り換え直後の制御ループが飽和状態から制御を開始しないことで、制御ループの切り換えをスムーズに行うことができる。   By performing such regulation loop arbitration processing, when the control loop is switched between the constant current control system and the constant rotation control system, the control loop used after switching at the time of switching starts control from the saturated state. Can be prevented. And since the control loop immediately after switching does not start control from a saturated state, switching of a control loop can be performed smoothly.

続いて、図6のステップS47のPWMプリモジュレーション処理について詳細に説明する。そこで、図15にPWMプリモジュレーション処理の詳細な動作手順を示すフローチャートを示す。PWMプリモジュレーション処理は、図2のPWMデューティ制御部27により行われる。   Next, the PWM premodulation process in step S47 of FIG. 6 will be described in detail. FIG. 15 is a flowchart showing the detailed operation procedure of the PWM premodulation process. The PWM pre-modulation process is performed by the PWM duty control unit 27 in FIG.

図15に示すように、PWMプリモジュレーション処理では、モータ駆動制御プログラムは、まず、ステップS46のレギュレーションループ調停処理にて決定されたPWM信号のオンタイムPWM_ONに繰越PWMオンタイムCRY_PWM_ONを加算する(ステップS140)。このとき、加算される繰越PWMオンタイムCRY_PWM_ONは、現周期のPWM信号のオンタイムを決定する際に算出された値である。次いで、モータ駆動制御プログラムは、ステップS140で算出されたPWM信号のオンタイムPWM_ONと最大デューティ設定値MAX_DUTYとの比較処理を行う(ステップS141)。この最大デューティ設定値MAX_DUTYは、モータ駆動制御装置1が生成可能なパルス幅の制限に基づき設定される。   As shown in FIG. 15, in the PWM pre-modulation process, the motor drive control program first adds the carry-over PWM on-time CRY_PWM_ON to the on-time PWM_ON of the PWM signal determined in the regulation loop arbitration process in step S46 (step S46). S140). At this time, the carry-over PWM on-time CRY_PWM_ON to be added is a value calculated when determining the on-time of the PWM signal in the current cycle. Next, the motor drive control program performs a comparison process between the on-time PWM_ON of the PWM signal calculated in step S140 and the maximum duty set value MAX_DUTY (step S141). The maximum duty setting value MAX_DUTY is set based on a restriction on the pulse width that can be generated by the motor drive control device 1.

ステップS141において、PWM信号のオンタイムPWM_ONが最大デューティ設定値MAX_DUTYよりも大きいと判断された場合、繰越PWMオンタイムCRY_PWM_ONにPWM信号のオンタイムPWM_ONからPWM周期PWM_TRMを減じた値を設定する(ステップS142)。その後、PWM信号のオンタイムPWM_ONとしてPWM周期PWM_TRMを設定する(ステップS143)。つまり、ステップS142の処理によりPWM信号のオンタイムPWM_ONが生成された場合、次周期のPWM信号はオフステートにはならない。   If it is determined in step S141 that the on-time PWM_ON of the PWM signal is larger than the maximum duty set value MAX_DUTY, a value obtained by subtracting the PWM cycle PWM_TRM from the on-time PWM_ON of the PWM signal is set to the carry-over PWM on-time CRY_PWM_ON (step S141). S142). Thereafter, the PWM cycle PWM_TRM is set as the on-time PWM_ON of the PWM signal (step S143). That is, when the on-time PWM_ON of the PWM signal is generated by the process of step S142, the PWM signal of the next cycle is not in the off state.

一方、ステップS141において、PWM信号のオンタイムPWM_ONが最大デューティ設定値MAX_DUTYよりも小さいと判断された場合、PWM信号のオンタイムPWM_ONと最小デューティ設定値MIN_DUTYとの比較処理を行う(ステップS144)。ステップS144において、PWM信号のオンタイムPWM_ONが最小デューティ設定値MIN_DUTYよりも小さいと判断された場合、繰越PWMオンタイムCRY_PWM_ONとしてPWM信号のオンタイムPWM_ONを設定する(ステップS145)。その後、PWM信号のオンタイムPWM_ONをゼロに設定する(ステップS146)。つまり、ステップS146の処理によりPWM信号のオンタイムPWM_ONが生成された場合、次周期のPWM信号はオンステートにはならない。   On the other hand, when it is determined in step S141 that the on-time PWM_ON of the PWM signal is smaller than the maximum duty set value MAX_DUTY, a comparison process between the on-time PWM_ON of the PWM signal and the minimum duty set value MIN_DUTY is performed (step S144). If it is determined in step S144 that the on-time PWM_ON of the PWM signal is smaller than the minimum duty set value MIN_DUTY, the on-time PWM_ON of the PWM signal is set as the carry-over PWM on-time CRY_PWM_ON (step S145). Thereafter, the on-time PWM_ON of the PWM signal is set to zero (step S146). That is, when the on-time PWM_ON of the PWM signal is generated by the process of step S146, the PWM signal of the next period is not in the on state.

一方、ステップS144において、PWM信号のオンタイムPWM_ONが最小デューティ設定値MIN_DUTY以上であると判断された場合、繰越PWMオンタイムCRY_PWM_ONとしてゼロを設定する(ステップS147)。つまり、ステップS147の処理によりPWM信号のオンタイムPWM_ONが生成された場合、次周期のPWM信号はPWM信号のオンタイムPWM_ONの値に応じた長さのオンステートを有する。   On the other hand, if it is determined in step S144 that the on-time PWM_ON of the PWM signal is greater than or equal to the minimum duty set value MIN_DUTY, zero is set as the carry-over PWM on-time CRY_PWM_ON (step S147). That is, when the on-time PWM_ON of the PWM signal is generated by the process of step S147, the PWM signal of the next period has an on-state having a length corresponding to the value of the on-time PWM_ON of the PWM signal.

上記説明では、モータ駆動制御装置1、つまり、モータ駆動制御プログラムによる動作について説明した。以下では、具体的な波形を示してモータ駆動制御装置1の動作について説明する。   In the above description, the operation by the motor drive control device 1, that is, the motor drive control program has been described. Below, a specific waveform is shown and operation | movement of the motor drive control apparatus 1 is demonstrated.

まず、図16に、モータ駆動制御装置1がモータ4を停止状態から回転状態とするモータ駆動制御の初期の挙動を説明するタイミングチャートを示す。図16に示すタイミングチャートでは、PWM信号の状態が遷移する毎にハイレベルとローレベルが切り替わる信号としてステート信号で示した。このステート信号がハイレベルである期間は、ステータの駆動相が奇数番目、つまり、PWM信号が奇数番目の状態であることを示し、ローレベルであるき間は、ステータの駆動相が偶数番目、つまり、PWM信号が偶数番目の状態であることを示す。また、PWM信号が6状態を経る毎にハイレベルとローレベルが切り替わる信号として6ステート信号を示した。また、図16では、ロータの回転状態を示すために有効スタートアップフラグSTUPを示した。なお、図16に示すタイミングチャートは、回転開始の動作を示す一例として、ロータが状態0に対応する位置で静止している状態から回転を開始する例について示すものである。   First, FIG. 16 shows a timing chart for explaining the initial behavior of motor drive control in which the motor drive control device 1 changes the motor 4 from the stopped state to the rotated state. In the timing chart shown in FIG. 16, a state signal is shown as a signal that switches between a high level and a low level each time the state of the PWM signal changes. The period during which the state signal is at a high level indicates that the driving phase of the stator is odd-numbered, that is, the PWM signal is in an odd-numbered state. , Indicates that the PWM signal is in an even-numbered state. In addition, a 6-state signal is shown as a signal that switches between a high level and a low level every time the PWM signal passes through 6 states. In FIG. 16, an effective start-up flag STUP is shown to indicate the rotation state of the rotor. Note that the timing chart shown in FIG. 16 shows an example in which the rotation starts from a state where the rotor is stationary at a position corresponding to the state 0 as an example of the operation for starting the rotation.

まず、実施の形態1にかかるモータ駆動装置1は、変数初期化処理(ステップS1)において、電流誤差積分値CRNT_ERR_INTG及び回転速度誤差積分値ROT_REE_INTGをゼロにリセットした状態でモータの制御を開始する。そのため、実施の形態1にかかるモータ駆動装置1は、モータを制御するPWM信号の状態を状態0としてモータ制御を開始するが、この制御開始時点での駆動電流はゼロである。このようなことから、図16に示すように、駆動制御が開始された直後の状態0では、モータ4のロータに回転トルクが生じず停止したままの状態となる。また、ロータが回転していないことから、非通電相の駆動信号とセンタータップ電圧CTとの間でゼロクロスが生じない。また、図16に示す例では、ロータの位置が駆動対象のステータ(以下、励磁ステータと称す)の位置とよりも位相が遅れた状態であり、かつ、ゼロクロスが発生しないため、コンパレータ積分値CMP_INTGがゼロに達することはない。そして、最初の状態0においては、コンパレータ積分値CMP_INTGが最大パルスカウント値MAXCNTに達したことに応じて、モータ駆動制御装置1は、PWM信号の状態を状態0から状態1に遷移させる(図9のステップS74以降の処理)。このようにコンパレータ積分値CMP_INTGが最大パルスカウント値MAXCNTに達する状態を、以下では、タイムアウト検出と称す。そして、モータ駆動制御装置1は、PWM信号の状態を遷移させる毎に駆動電流を増加させながら、モータ4の起動処理を継続する。   First, the motor drive device 1 according to the first embodiment starts motor control in a state in which the current error integrated value CRNT_ERR_INTG and the rotation speed error integrated value ROT_REE_INTG are reset to zero in the variable initialization process (step S1). For this reason, the motor drive device 1 according to the first embodiment starts motor control with the state of the PWM signal for controlling the motor as state 0, but the drive current at the start of this control is zero. For this reason, as shown in FIG. 16, in the state 0 immediately after the drive control is started, the rotor of the motor 4 does not generate rotational torque and remains stopped. Further, since the rotor is not rotating, no zero cross occurs between the non-energized phase drive signal and the center tap voltage CT. In the example shown in FIG. 16, the phase of the rotor is delayed from the position of the stator to be driven (hereinafter referred to as an excitation stator), and zero crossing does not occur. Therefore, the comparator integral value CMP_INTG Never reaches zero. In the first state 0, the motor drive control device 1 changes the state of the PWM signal from the state 0 to the state 1 in response to the comparator integral value CMP_INTG reaching the maximum pulse count value MAXCNT (FIG. 9). In step S74 and subsequent steps). The state where the comparator integral value CMP_INTG reaches the maximum pulse count value MAXCNT in this way is hereinafter referred to as timeout detection. The motor drive control device 1 continues the startup process of the motor 4 while increasing the drive current each time the state of the PWM signal is changed.

ここで、モータ4の起動時における駆動電流の増加手順について説明する。まず、最初の状態0では、回転速度指示値ROT_SETはゼロを維持するのに対して、駆動電流MIがゼロであるため駆動電流MIと定電流制御設定値CONST_CRNT_SETとの誤差は最大駆動電流の大きさに一致する。そのため、最初の状態0では、レギュレーションループ調停処理(ステップS46、及び、図14の処理)により電流誤差積分値CRNT_ERR_INTGはゼロに維持される。   Here, a procedure for increasing the drive current when the motor 4 is started will be described. First, in the initial state 0, the rotation speed instruction value ROT_SET is maintained at zero, whereas the drive current MI is zero, so the error between the drive current MI and the constant current control set value CONST_CRNT_SET is the maximum drive current. Matches. Therefore, in the initial state 0, the current error integrated value CRNT_ERR_INTG is maintained at zero by the regulation loop arbitration process (step S46 and the process of FIG. 14).

続いて、タイムアウト検出によりPWM信号の状態が状態0から状態1に遷移すると、モータ駆動制御装置1では、ステップS92及び図11の処理が行われ、回転速度誤差値ROT_INTGの値として、回転速度指示値ROT_SETを最大許容加速度MAX_ALW_ACLで制限した値を設定する。これに対して、状態1では、駆動電流MIに対する電流誤差積分値CRNT_INTGとして、駆動電流MIと定電流制御設定値CONST_CRNT_SETとの誤差値が算出される。このとき、最初の状態1では駆動電流MIは、当初ゼロであり、電流誤差積分値CRNT_INTGは最大駆動電流の大きさに一致する。そのため、回転モータ駆動制御装置1では、レギュレーションループ調停処理(ステップS46、及び、図14の処理)により、電流誤差積分値CRNT_INTGに回転速度誤差積分値ROT_INTGの値を代入する。つまり、PWM信号の状態が遷移した場合に増加する駆動電流の増加量は、最大許容加速度ROT_ALW_ACLで制限された値になる。   Subsequently, when the state of the PWM signal transits from the state 0 to the state 1 due to the timeout detection, the motor drive control device 1 performs the processing of step S92 and FIG. 11 and performs the rotation speed instruction as the value of the rotation speed error value ROT_INTG. A value obtained by limiting the value ROT_SET with the maximum allowable acceleration MAX_ALW_ACL is set. On the other hand, in the state 1, an error value between the drive current MI and the constant current control set value CONST_CRNT_SET is calculated as the current error integrated value CRNT_INTG with respect to the drive current MI. At this time, in the first state 1, the drive current MI is initially zero, and the current error integrated value CRNT_INTG matches the maximum drive current. Therefore, in the rotary motor drive control device 1, the value of the rotational speed error integrated value ROT_INTG is substituted into the current error integrated value CRNT_INTG by the regulation loop arbitration process (step S46 and the process of FIG. 14). That is, the amount of increase in drive current that increases when the state of the PWM signal changes becomes a value limited by the maximum allowable acceleration ROT_ALW_ACL.

このように、PWM信号の状態が遷移させた場合の駆動電流の増加量は、最大許容加速度ROT_ALW_ACLで制限された値になるため、モータ4の始動制御においては、回転速度誤差積分値ROT_ERR_INTGが電流誤差積分値CRNT_ERR_INTGよりも小さい状態が続く。つまり、モータ4の回転が開始されるまでの期間は、PWM信号の状態が遷移する度に増加させる駆動電流は、最大許容加速度ROT_ALW_ACLにより制限され、駆動電流は、徐々に大きくなる。   As described above, the increase amount of the drive current when the state of the PWM signal is changed becomes a value limited by the maximum allowable acceleration ROT_ALW_ACL. A state smaller than the error integral value CRNT_ERR_INTG continues. That is, during the period until the rotation of the motor 4 is started, the drive current that is increased every time the state of the PWM signal changes is limited by the maximum allowable acceleration ROT_ALW_ACL, and the drive current gradually increases.

このように、モータ駆動制御装置1は、ロータに印加する駆動トルクを徐々に大きくする。そして、ロータに印加される駆動トルクがロータの静止トルクを上回るとロータの回転が開始される。しかし、ロータが回転しても、ロータの回転周波数及び回転位相と、励磁ステータの駆動周波数及び駆動位相と、が一致しなければ、モータの回転は持続しない。   Thus, the motor drive control device 1 gradually increases the drive torque applied to the rotor. Then, when the driving torque applied to the rotor exceeds the stationary torque of the rotor, the rotation of the rotor is started. However, even if the rotor rotates, the rotation of the motor does not continue unless the rotation frequency and rotation phase of the rotor match the drive frequency and drive phase of the excitation stator.

例えば、駆動トルクが不十分である場合、ロータが回転しない状態が発生する。また、駆動トルクが十分であって、ロータが回転する状態であっても、励磁ステータの駆動位相とロータの回転位相とが不一致であった場合、ロータに印加する駆動トルクが不適切な状態となり、ロータが逆回転又は次状態の励磁ステータの駆動対象位置を通過する位置まで回転してしまい、モータの回転が持続しない状態となる。さらに、励磁ステータの駆動周波数とロータの回転周波数とが不一致である場合、連続して適切な駆動トルクをロータに印加できないため、モータの回転は持続しない。   For example, when the driving torque is insufficient, a state where the rotor does not rotate occurs. Even if the drive torque is sufficient and the rotor rotates, the drive torque applied to the rotor will be in an inappropriate state if the excitation stator drive phase and the rotor rotation phase do not match. The rotor rotates in the reverse direction or the position passing through the drive target position of the excited stator in the next state, and the motor does not continue to rotate. In addition, when the drive frequency of the excitation stator and the rotational frequency of the rotor do not coincide with each other, an appropriate drive torque cannot be continuously applied to the rotor, so that the rotation of the motor does not continue.

このように、モータ4の回転を持続させるためには、十分な駆動トルクと、励磁ステータの駆動周波数及び駆動位相とロータの回転周波数及び回転位相とを一致させることと、が必要になる。そこで、実施の形態1にかかるモータ駆動制御装置1では、駆動電流をPWM信号の状態を遷移させる毎に徐々に増加させると共に、PWM信号の状態を遷移させて励磁ステータの駆動周波数及び駆動位相がロータの回転周波数及び回転位相と一致する状態を探る。より具体的には、実施の形態1にかかるモータ駆動制御装置1は、フライバックパルスフィルタ処理と、コンパレータ積分値CMP_INTGと、最大パルスカウント数MAXCNTと、を用いて、励磁ステータの駆動周波数及び駆動位相とロータの回転周波数及び回転位相とが一致する状態を探る。   As described above, in order to keep the rotation of the motor 4, it is necessary to make a sufficient driving torque and the driving frequency and driving phase of the excitation stator coincide with the rotating frequency and rotation phase of the rotor. Therefore, in the motor drive control device 1 according to the first embodiment, the drive current is gradually increased every time the state of the PWM signal is changed, and the drive frequency and the drive phase of the excitation stator are changed by changing the state of the PWM signal. Search for a state that matches the rotational frequency and rotational phase of the rotor. More specifically, the motor drive control device 1 according to the first embodiment uses the flyback pulse filter process, the comparator integral value CMP_INTG, and the maximum pulse count number MAXCNT to drive and drive the excitation stator. The state in which the phase matches the rotational frequency and rotational phase of the rotor is searched.

まず、モータ駆動制御装置1は、PWM信号の状態を遷移させた直後は、フライバックパルスフィルタ処理(図6のステップS44、S45及び図8の処理)により、コンパレータ積分値CMP_INTGを増加、又は、減少させる。そして、フライバックパルスフィルタ処理の終了後に、駆動トルクが静止トルク以上、かつ、励磁ステータの駆動位相に対するロータの回転位相差が±30°未満の位置である場合は、ロータが回転してゼロクロスが検出できる可能性がある。そこで、タイムアウト検出期間経過前(ステートPWMパルス数ST_PWM_PLSが最大パルスカウント値MAXCNT以下である期間)にコンパレータ積分値CMP_INTGがゼロに達したことを検出できれば、モータ駆動制御装置1は、ゼロクロスが生じたと判定して、PWM信号を次状態に遷移させる。   First, immediately after the state of the PWM signal is changed, the motor drive control device 1 increases the comparator integral value CMP_INTG by flyback pulse filter processing (steps S44, S45 in FIG. 6 and the processing in FIG. 8), or Decrease. After the flyback pulse filter processing, if the driving torque is equal to or greater than the static torque and the rotational phase difference of the rotor with respect to the excitation stator driving phase is less than ± 30 °, the rotor rotates and zero crossing occurs. There is a possibility that it can be detected. Therefore, if it can be detected that the comparator integral value CMP_INTG has reached zero before the timeout detection period has elapsed (period in which the state PWM pulse number ST_PWM_PLS is equal to or less than the maximum pulse count value MAXCNT), the motor drive control device 1 determines that a zero cross has occurred. Judgment is made and the PWM signal is shifted to the next state.

しかし、フライバックパルスフィルタ処理終了後の状態が、励磁ステータの駆動位相に対してロータの回転位相が30°以上進んでいた状態である場合は、フライバックパルスフィルタ処理が終了した時点でコンパレータの出力が期待する論理レベルとは逆の論理レベルとなっているため、タイムアウト検出期間経過前にコンパレータ積分値CMP_INTGがゼロに達する。つまり、このような場合は、モータ駆動制御装置1は、フライバックパルスフィルタ処理が終了する前にゼロクロスが発生したと判断し、タイムアウト検出期間の経過を待たずにPWM信号の状態を状態に遷移させる。このような動作に相当する状態は、例えば、図16において「コンパレータ積分値に基づく状態遷移」で示される状態である。なお、モータ駆動制御装置1では、変数初期化処理(図3のステップS1、及び図4の処理)において、有効スタートアップフラグSTUPがFALSEからTRUEに切り替るまでのフライバックパルス継続PWMパルス数FB_MASKを小さく(例えば、最大回転速度に相当する6ステートPWMパルス数の6分の1)に設定しているため、フラバックパルスフィルタ処理終了前にゼロクロスが発生したと判断される状態の期間は後述するタイムアウト検出に基づく状態遷移が行われる場合に比べて極端に短くなる。   However, if the state after the completion of the flyback pulse filter processing is a state in which the rotational phase of the rotor has advanced by 30 ° or more with respect to the drive phase of the excitation stator, the comparator Since the output has a logic level opposite to the expected logic level, the comparator integral value CMP_INTG reaches zero before the timeout detection period elapses. That is, in such a case, the motor drive control device 1 determines that a zero cross has occurred before the completion of the flyback pulse filter processing, and transitions the state of the PWM signal to a state without waiting for the timeout detection period to elapse. Let A state corresponding to such an operation is, for example, a state indicated by “state transition based on comparator integrated value” in FIG. In the motor drive control device 1, in the variable initialization process (step S1 in FIG. 3 and the process in FIG. 4), the number FB_MASK of flyback pulse continuation PWM pulses until the effective startup flag STUP is switched from FALSE to TRUE is set. Since it is set to a small value (for example, 1/6 of the number of 6-state PWM pulses corresponding to the maximum rotation speed), a period of a state in which it is determined that a zero cross has occurred before the completion of the full-back pulse filter processing will be described later. Compared to the case where state transition based on timeout detection is performed, the time is extremely short.

また、フライバックパルスフィルタ処理終了後の状態が、励磁ステータの駆動位相に対してロータの回転位相が30°以上遅れた状態である場合は、フライバックパルスフィルタ処理が終了した時点でコンパレータの出力が期待する論理レベルとなっているため、コンパレータ積分値CMP_INTGの絶対値が増加する。しかし、励磁ステータの駆動位相に対してロータの回転位相が30°以上遅れた状態である場合、ロータに適切な負荷トルクを印加することができないため、ロータが回転しない。そのため、タイムアウト検出期間が経過してもコンパレータの出力が反転せずコンパレータ積分値CMP_INTGの絶対値が減少に転じることがない。つまり、このような場合は、モータ駆動制御装置1は、タイムアウト検出がなされるまでゼロクロスの発生を待ち、タイムアウト検出期間が経過した時点でPWM信号の状態を状態に遷移させる。このような動作に相当する状態は、例えば、図16において「タイムアウト検出に基づく状態遷移」で示される状態である。   In addition, if the state after the flyback pulse filter processing is a state where the rotor rotation phase is delayed by 30 ° or more with respect to the drive phase of the excitation stator, the output of the comparator is output when the flyback pulse filter processing is completed. Therefore, the absolute value of the comparator integral value CMP_INTG increases. However, when the rotation phase of the rotor is delayed by 30 ° or more with respect to the drive phase of the excitation stator, an appropriate load torque cannot be applied to the rotor, so the rotor does not rotate. Therefore, even if the timeout detection period elapses, the output of the comparator is not inverted, and the absolute value of the comparator integral value CMP_INTG does not start to decrease. That is, in such a case, the motor drive control device 1 waits for the occurrence of zero crossing until time-out detection is performed, and transitions the state of the PWM signal to the state when the time-out detection period elapses. The state corresponding to such an operation is, for example, a state indicated by “state transition based on timeout detection” in FIG.

なお、フライバックパルスフィルタ処理終了後に、実際にはゼロクロスが生じている場合であっても、コンパレータ積分値CMP_INTGがゼロに達する前にロータがさらに回転してロータの回転位相が現状態に対応する回転位相とは異なる状態に対応する回転位相の位置まで到達した場合にはコンパレータ積分値CMPCMP_INTGがゼロに達する前にタイムアウト検出期間が経過してしまうことがある。そのため、このような場合においてもモータ駆動制御装置1は、タイムアウト検出に基づきPWM信号の状態を遷移させる。   Even after the flyback pulse filter processing is finished, even if zero crossing actually occurs, the rotor further rotates before the comparator integral value CMP_INTG reaches zero, and the rotational phase of the rotor corresponds to the current state. When the position of the rotational phase corresponding to a state different from the rotational phase is reached, the timeout detection period may elapse before the comparator integral value CMPCMP_INTG reaches zero. Therefore, even in such a case, the motor drive control device 1 changes the state of the PWM signal based on the timeout detection.

このように、モータ駆動制御装置1では、ゼロクロスの発生が既に発生したと判断した場合には、即座にPWM信号を次状態に移行させる。また、モータ駆動制御装置1は、ゼロクロスの発生の可能性がある場合には、タイムアウト検出期間の間コンパレータ積分値CMP_INTGがゼロに達することを待つ。そして、タイムアウト検出期間中に、コンパレータ積分値CMP_INTGがゼロに達しない場合、モータ駆動制御装置1は、ロータの回転周波数がタイムアウト検出期間を一周期とする駆動周波数よりも遅いと判断し、タイムアウト検出期間の経過に応じてPWM信号を次状態に移行させる。また、モータ駆動制御装置1は、タイムアウト検出期間中にコンパレータ積分値CMP_INTGがゼロに達したことを検出できた場合、ロータの回転周波数がタイムアウト検出期間を一周期とする駆動周波数よりも速いと判断して、コンパレータ積分値CMP_INTGがゼロに達したことに応じてPWM信号の状態を次状態に遷移させる。   Thus, in the motor drive control device 1, when it is determined that the occurrence of zero crossing has already occurred, the PWM signal is immediately shifted to the next state. Further, when there is a possibility of occurrence of zero crossing, the motor drive control device 1 waits for the comparator integral value CMP_INTG to reach zero during the timeout detection period. If the comparator integral value CMP_INTG does not reach zero during the time-out detection period, the motor drive control device 1 determines that the rotation frequency of the rotor is slower than the drive frequency with the time-out detection period as one cycle, and detects time-out. As the period elapses, the PWM signal is shifted to the next state. Further, when the motor drive control device 1 can detect that the comparator integral value CMP_INTG has reached zero during the timeout detection period, the motor drive control device 1 determines that the rotational frequency of the rotor is faster than the drive frequency with the timeout detection period as one cycle. In response to the comparator integral value CMP_INTG reaching zero, the state of the PWM signal is changed to the next state.

そして、コンパレータ積分値CMP_INTGがゼロに達したことに応じた状態遷移(図9のステップS78)が6回連続して発生したことに応じて、モータ駆動制御装置1は、有効スタートアップフラグSTUPをFALSEからTRUEに切り換える(ステップS82)。このように、コンパレータ積分値CMP_INTGがゼロに達したことに応じた状態遷移が6回連続して発生したことは、即ち、ロータの回転周波数及び回転位相と、励磁ステータの駆動周波数及び駆動位相と、が一致したことを意味する。なお、有効スタートアップフラグSTUPがTRUEとなる直前の期間(図16のゼロクロス検出アンバランス回転)では、モータは加速状態であって、ステートPWMパル数ST_PWM_PLSが移動平均ステートPWMパルス数ST_PWM_PLS_AVEに達する前に、コンパレータ積分値CMP_INTGがゼロに達する状態が継続する。そのため、有効スタートアップフラグSTUPがTRUEとなる直前の期間では、各状態の一期間が徐々に短くなる。また、このゼロクロス検出アンバランス回転の状態は、ステート間の長さは不均一であるが、ロータと励磁ステータとは周波数及び位相が一致した安定した回転状態であると判定できる。   Then, when the state transition (step S78 in FIG. 9) corresponding to the fact that the comparator integral value CMP_INTG has reached zero has occurred six times in succession, the motor drive control device 1 sets the effective start-up flag STUP to FALSE. Is switched from TRUE to TRUE (step S82). As described above, the state transition corresponding to the fact that the comparator integral value CMP_INTG has reached zero has continuously occurred six times, that is, the rotation frequency and rotation phase of the rotor, the drive frequency and drive phase of the excitation stator, , Means a match. In the period immediately before the effective startup flag STUP becomes TRUE (zero cross detection unbalanced rotation in FIG. 16), the motor is in an acceleration state and before the state PWM pulse number ST_PWM_PLS reaches the moving average state PWM pulse number ST_PWM_PLS_AVE. The state where the comparator integral value CMP_INTG reaches zero continues. Therefore, in the period immediately before the effective startup flag STUP becomes TRUE, one period of each state is gradually shortened. In addition, in the zero cross detection unbalanced rotation state, the length between the states is not uniform, but it can be determined that the rotor and the excitation stator are in a stable rotation state in which the frequency and the phase are the same.

そして、有効スタートアップフラグSTUPがTRUEに切り替った後は、モータ駆動制御装置1は、定電流制御指示値CNST_CRNT_SETを最大電流値MAX_CRNTの3分の1から最大電流値MAX_CRNTに増加させる(図14のステップS120、S121)と共に、フライバックパルス継続PWMパルス数FB_MASKを移動平均ステートPWMパルス数ST_PWM_PLS_AVEの4分の1に設定する。そして、モータ駆動制御装置1は、定電流制御によりモータ4の回転速度を回転速度指示値ROT_SETまで上昇させる。   After the effective startup flag STUP is switched to TRUE, the motor drive control device 1 increases the constant current control instruction value CNST_CRNT_SET from one third of the maximum current value MAX_CRNT to the maximum current value MAX_CRNT (FIG. 14). Together with steps S120 and S121), the flyback pulse continuation PWM pulse number FB_MASK is set to a quarter of the moving average state PWM pulse number ST_PWM_PLS_AVE. Then, the motor drive control device 1 increases the rotation speed of the motor 4 to the rotation speed instruction value ROT_SET by constant current control.

実施の形態1にかかるモータ駆動制御装置1では、上記処理によりモータ4を起動することでモータ4が逆回転状態を継続することを防止することができる。   In the motor drive control device 1 according to the first embodiment, it is possible to prevent the motor 4 from continuing the reverse rotation state by starting the motor 4 by the above processing.

まず、モータ駆動制御装置1では、モータ4を駆動する駆動電流をゼロとして起動制御を開始する。そして、モータ駆動制御装置1は、駆動電流を徐々に増加させながら状態遷移を進める。これにより、ロータの静止トルクよりも遙かに大きな駆動トルクが急に印加されることを防止する。このように、駆動電流を徐々に大きくすることで、ロータと励磁ステータとの位相関係がロータを逆回転(意図しない回転方向)させる関係である場合であっても、ロータが逆回転方向に過剰に回転することを防止する。   First, the motor drive control device 1 starts the start-up control with the drive current for driving the motor 4 set to zero. Then, the motor drive control device 1 advances the state transition while gradually increasing the drive current. This prevents sudden application of a driving torque that is much larger than the stationary torque of the rotor. In this way, by gradually increasing the drive current, even if the phase relationship between the rotor and the excitation stator is a relationship that causes the rotor to rotate backward (unintentional rotation direction), the rotor is excessive in the reverse rotation direction. To prevent it from rotating.

また、モータ駆動制御装置1では、コンパレータ15の出力状態から、フライバックパルスフィルタ処理が終了する前にゼロクロスが発生したと判断される場合には、タイムアウト検出期間の経過を待たずに即座にPWM信号の状態を次状態に遷移させる。このとき、有効スタートアップフラグSTUPがFALSEである期間において、モータ駆動制御装置1では、フライバックパルス継続PWMパルス数FB_MASKの値を小さく設定することで逆回転方向の駆動トルクがロータに印加される期間を短くする。一方、モータ駆動制御装置1は、フライバックパルスフィルタ処理が終了した後にゼロクロスの発生が期待できる場合には、タイムアウト検出期間が経過するまでコンパレータ積分値CMP_INTGがゼロ達することを待つ。つまり、モータ駆動制御装置1では、ロータに正回転(意図した回転方向)の駆動トルクが印加される状態ではロータの回転位相が次状態の回転位置に達することをできる限り待ち、ロータに逆回転の駆動トルクが印加される状態ではロータに駆動トルクが印加される期間を短くする。   Further, in the motor drive control device 1, if it is determined from the output state of the comparator 15 that a zero cross has occurred before the flyback pulse filter processing ends, the PWM is immediately performed without waiting for the timeout detection period to elapse. Transition the signal state to the next state. At this time, in the period in which the effective startup flag STUP is FALSE, the motor drive control device 1 sets the value of the flyback pulse continuous PWM pulse number FB_MASK to a small value so that the drive torque in the reverse rotation direction is applied to the rotor. To shorten. On the other hand, when the occurrence of zero crossing can be expected after completion of the flyback pulse filter processing, the motor drive control device 1 waits for the comparator integral value CMP_INTG to reach zero until the timeout detection period elapses. In other words, in the motor drive control device 1, in a state where the drive torque of the forward rotation (intended rotation direction) is applied to the rotor, the motor drive control device 1 waits as much as possible for the rotation phase of the rotor to reach the rotation position of the next state, and rotates backward to the rotor. In the state where the drive torque is applied, the period during which the drive torque is applied to the rotor is shortened.

また、モータ駆動制御装置1は、コンパレータ積分値CMP_INTGがゼロに達したことに応じたPWM信号の状態遷移が6回連続して発生したことに応じてモータ4が正常な回転状態となったと判断する(有効スタートアップフラグSTUPをTRUEとする)。例えば、コンパレータ積分値CMP_INTGがゼロに達したことに応じたPWM信号の状態遷移が6回連続して発生しない場合、いずれかの駆動相において、ロータの回転周波数及び回転位相と、励磁ステータの駆動周波数及び駆動位相とが不一致となっている。このような状態で、駆動電流を最大電流値まで増加させた場合、不一致な駆動位相において意図した駆動トルクがロータに印加されず、回転が停止又は逆回転する可能性がある。一方、コンパレータ積分値CMP_INTGがゼロに達したことに応じたPWM信号の状態遷移が6回連続して発生している状態は、ロータの回転周波数及び回転位相と、励磁ステータの駆動周波数及び駆動位相とが一致していることを意味する。従って、コンパレータ積分値CMP_INTGがゼロに達したことに応じたPWM信号の状態遷移が6回連続して発生したことに応じて、モータ4が有効な回転状態となったことを判断することで、モータ4に逆回転方向の過剰な駆動トルクが印加されることを防止し、モータ4が逆回転する状態が継続することを防止することができる。   In addition, the motor drive control device 1 determines that the motor 4 has entered a normal rotation state in response to six consecutive occurrences of the PWM signal state transition in response to the comparator integral value CMP_INTG reaching zero. (The effective startup flag STUP is set to TRUE). For example, when the state transition of the PWM signal corresponding to the fact that the comparator integral value CMP_INTG has reached zero does not occur continuously six times, the rotational frequency and rotational phase of the rotor and the driving of the excitation stator in any of the driving phases The frequency and drive phase are inconsistent. When the drive current is increased to the maximum current value in such a state, the intended drive torque is not applied to the rotor in the mismatched drive phase, and there is a possibility that the rotation stops or reversely rotates. On the other hand, the state in which the state transition of the PWM signal corresponding to the fact that the comparator integral value CMP_INTG has reached zero continuously occurs six times is the rotation frequency and rotation phase of the rotor, and the drive frequency and drive phase of the excitation stator. Means that they match. Therefore, by determining that the state transition of the PWM signal corresponding to the comparator integral value CMP_INTG reaching zero has occurred six times continuously, it is determined that the motor 4 has entered an effective rotation state. It is possible to prevent an excessive driving torque in the reverse rotation direction from being applied to the motor 4 and to prevent the motor 4 from continuing in a reverse rotation state.

続いて、モータ4が回転状態になった後のモータ駆動制御プログラムの動作について説明する。実施の形態1にかかるモータ駆動制御プログラムは、PWM信号の周期毎にオフステートとしてハイサイドオフステートとローサイドオフステートとを切り換えるオルタネートPWM方式でモータ4を制御する。そこで、まず、モータ駆動制御プログラムが行うオルタネートPWM方式について説明する。モータ駆動制御プログラムは、デューティ比によりPWM信号のオンステートとオフステートとの比を決定する。そして、モータ駆動制御プログラムは、PWM信号のオンステート時に電源からモータ4に駆動電流を与える。また、モータ駆動制御プログラムは、PWM信号のオフステート時は、モータ4のコイルに流れる電流をドライバ回路3内のトランジスタ及びコイルの寄生抵抗により消費する。   Next, the operation of the motor drive control program after the motor 4 is rotated will be described. The motor drive control program according to the first embodiment controls the motor 4 by an alternate PWM method that switches between a high-side off state and a low-side off state as an off state for each cycle of the PWM signal. First, an alternate PWM method performed by the motor drive control program will be described. The motor drive control program determines the ratio between the on state and the off state of the PWM signal based on the duty ratio. Then, the motor drive control program gives a drive current from the power source to the motor 4 when the PWM signal is in an on state. Further, the motor drive control program consumes the current flowing in the coil of the motor 4 by the transistor in the driver circuit 3 and the parasitic resistance of the coil when the PWM signal is in the off state.

このオフステートにおいて、ハイサイドオフステートとローサイドオフステートとのいずれか一方のみを採用した場合、センタータップ電圧CT及び非通電相の駆動信号の電圧レベルが電源電圧側又は接地電圧側のいずれか一方に偏る。そして、この電圧レベルの偏りに起因してセンタータップ電圧CTと非通電相の駆動信号との電圧関係が逆転するゼロクロス点が時間的に前又は後ろにずれる問題が生じる。一方、実施の形態1にかかるモータ駆動制御プログラムは、オルタネートPWM方式を採用することで、センタータップ電圧CT及び非通電相の駆動信号の電圧レベルが電源電圧側又は接地電圧側のいずれか一方に偏ることを防止する。具体的には、実施の形態1にかかるモータ駆動制御プログラムでは、センタータップ電圧CT及び非通電相の駆動信号の電圧レベルが電源電圧側に偏る周期と接地電圧側に偏る周期がPWM信号の周期毎に繰り返され、一方に偏ることが防止される。さらに、入力されるセンタータップ電圧CTと比較対象検出信号SP(非通電相の駆動信号)との電圧レベルがPWM信号の周期毎に上下の偏りを持たせることで、モータ駆動制御装置1のコンパレータ15が入力オフセットを有していても、入力オフセットによる誤差は、コンパレータ積分値CMP_INTGを算出する段階で相殺される。つまり、実施の形態1にかかるモータ駆動制御プログラムは、オルタネートPWM方式を採用することでコンパレータ積分値CMP_INTGに基づくPWM信号の状態遷移タイミングの精度を向上させることができる。   In this off state, when only one of the high side off state and the low side off state is adopted, the voltage level of the center tap voltage CT and the drive signal of the non-conduction phase is either the power supply voltage side or the ground voltage side. Biased toward A problem arises in that the zero cross point at which the voltage relationship between the center tap voltage CT and the drive signal of the non-energized phase is reversed due to this voltage level deviation shifts forward or backward in time. On the other hand, the motor drive control program according to the first embodiment adopts the alternate PWM method, so that the voltage level of the center tap voltage CT and the drive signal of the non-conduction phase is set to either the power supply voltage side or the ground voltage side. Prevents bias. Specifically, in the motor drive control program according to the first embodiment, the cycle in which the voltage level of the center tap voltage CT and the drive signal of the non-energized phase is biased toward the power supply voltage side and the cycle in which the voltage level is biased toward the ground voltage side are PWM signal cycles. It is repeated every time and it is prevented from being biased to one side. Further, the voltage level of the input center tap voltage CT and the comparison target detection signal SP (non-energized phase drive signal) has a vertical deviation for each period of the PWM signal, so that the comparator of the motor drive control device 1 Even if 15 has an input offset, the error due to the input offset is canceled at the stage of calculating the comparator integral value CMP_INTG. That is, the motor drive control program according to the first embodiment can improve the accuracy of the state transition timing of the PWM signal based on the comparator integral value CMP_INTG by adopting the alternate PWM method.

モータ4は、3相駆動のモータであり、6状態のPWM信号により制御される。そして、オルタネートPWM方式による動作を行う場合、回転動作を行うために、ドライバ回路3を構成するトランジスタのいずれをオンさせるかが状態毎に異なる。そこで、図17〜図22に状態0〜状態5の各状態のオンステートとオフステートの制御状態を説明するドライバ回路3の回路図を示す。   The motor 4 is a three-phase drive motor and is controlled by a six-state PWM signal. When performing the operation by the alternate PWM method, which of the transistors constituting the driver circuit 3 is turned on differs depending on the state in order to perform the rotation operation. 17 to 22 show circuit diagrams of the driver circuit 3 for explaining the on-state and off-state control states of the states 0 to 5.

ここで、オンステートとオフステートのドライバ回路の制御状態を説明する前に、図17〜図22を参照してドライバ回路3の回路について説明する。図17〜図22に示すように、ドライバ回路3は、U相、V相、W相の3つの駆動信号を生成するために、3組の駆動段回路を有する。図17〜図22に示す例では、3組の駆動段回路は、PMOSトランジスタによりハイサイドトランジスタが形成され、NMOSトランジスタによりローサイドトランジスタが形成される。   Here, before describing the control states of the on-state and off-state driver circuits, the circuit of the driver circuit 3 will be described with reference to FIGS. As illustrated in FIGS. 17 to 22, the driver circuit 3 includes three sets of drive stage circuits in order to generate three drive signals of U phase, V phase, and W phase. In the example shown in FIGS. 17 to 22, in the three sets of driving stage circuits, a high-side transistor is formed by a PMOS transistor, and a low-side transistor is formed by an NMOS transistor.

そして、図17〜図22に示すように、U相の駆動信号を生成する駆動段回路は、ハイサイドトランジスタPUとローサイドトランジスタNUとが電源配線と接地配線との間に直列に接続される。また、ハイサイドトランジスタPUのゲートにはPWM信号UHが入力され、ローサイドトランジスタNUのゲートにはPWM信号ULが入力される。V相の駆動信号を生成する駆動段回路は、ハイサイドトランジスタPVとローサイドトランジスタNVとが電源配線と接地配線との間に直列に接続される。また、ハイサイドトランジスタPVのゲートにはPWM信号VHが入力され、ローサイドトランジスタNVのゲートにはPWM信号VLが入力される。W相の駆動信号を生成する駆動段回路は、ハイサイドトランジスタPWとローサイドトランジスタNWとが電源配線と接地配線との間に直列に接続される。また、ハイサイドトランジスタPWのゲートにはPWM信号WHが入力され、ローサイドトランジスタNWのゲートにはPWM信号WLが入力される。   As shown in FIGS. 17 to 22, in the driving stage circuit that generates the U-phase driving signal, the high-side transistor PU and the low-side transistor NU are connected in series between the power supply wiring and the ground wiring. The PWM signal UH is input to the gate of the high side transistor PU, and the PWM signal UL is input to the gate of the low side transistor NU. In a drive stage circuit that generates a V-phase drive signal, a high side transistor PV and a low side transistor NV are connected in series between a power supply line and a ground line. The PWM signal VH is input to the gate of the high side transistor PV, and the PWM signal VL is input to the gate of the low side transistor NV. In a drive stage circuit that generates a W-phase drive signal, a high-side transistor PW and a low-side transistor NW are connected in series between a power supply line and a ground line. The PWM signal WH is input to the gate of the high side transistor PW, and the PWM signal WL is input to the gate of the low side transistor NW.

続いて、オンステートとオフステートのドライバ回路の制御状態を説明する。図17は、状態0におけるオンステートとオフステートのドライバ回路3の制御状態を示す回路図である。図17に示すように、状態0のオンステートでは、ハイサイドトランジスタPUとローサイドトランジスタNVがオン状態となる。そして、モータ4のU相のコイルLUからV相のコイルLVに駆動電流が流れる。また、ハイサイドオフステートでは、ハイサイドトランジスタをすべてオフ状態とし、オンステートにおいてオン状態であったハイサイドトランジスタPUが属する駆動段回路のローサイドトランジスタNUと、オンステートにおいてオン状態であったローサイドトランジスタNVと、がオン状態となる。そして、コイルLU、LVに流れていたフライバック電流はローサイドトランジスタNU、NVにより消費される。また、ローサイドオフステートでは、ローサイドトランジスタをすべてオフ状態とし、オンステートにおいてオン状態であったハイサイドトランジスタPUと、オンステートにおいてオン状態であったローサイドトランジスタNVが属する駆動段回路のハイサイドトランジスタPVと、がオン状態となる。そして、コイルLU、LVに流れていたフライバック電流はハイサイドトランジスタPU、PVにより消費される。   Next, the control state of the on-state and off-state driver circuits will be described. FIG. 17 is a circuit diagram showing the control state of the on-state and off-state driver circuit 3 in state 0. As shown in FIG. 17, in the on-state of state 0, the high-side transistor PU and the low-side transistor NV are turned on. Then, a drive current flows from the U-phase coil LU of the motor 4 to the V-phase coil LV. In the high-side off state, all the high-side transistors are turned off, and the low-side transistor NU of the drive stage circuit to which the high-side transistor PU that is on in the on-state belongs, and the low-side transistor that is on in the on-state NV is turned on. The flyback current flowing in the coils LU and LV is consumed by the low side transistors NU and NV. In the low-side off state, all the low-side transistors are turned off, and the high-side transistor PV of the drive stage circuit to which the high-side transistor PU that is on in the on-state and the low-side transistor NV that is on in the on-state belongs. Are turned on. The flyback current flowing in the coils LU and LV is consumed by the high side transistors PU and PV.

図18は、状態1におけるオンステートとオフステートのドライバ回路3の制御状態を示す回路図である。図18に示すように、状態1のオンステートでは、ハイサイドトランジスタPUとローサイドトランジスタNWがオン状態となる。そして、モータ4のU相のコイルLUからW相のコイルLWに駆動電流が流れる。また、ハイサイドオフステートでは、ハイサイドトランジスタをすべてオフ状態とし、オンステートにおいてオン状態であったハイサイドトランジスタPUが属する駆動段回路のローサイドトランジスタNUと、オンステートにおいてオン状態であったローサイドトランジスタNWと、がオン状態となる。そして、コイルLU、LWに流れていたフライバック電流はローサイドトランジスタNU、NWにより消費される。また、ローサイドオフステートでは、ローサイドトランジスタをすべてオフ状態とし、オンステートにおいてオン状態であったハイサイドトランジスタPUと、オンステートにおいてオン状態であったローサイドトランジスタNWが属する駆動段回路のハイサイドトランジスタPWと、がオン状態となる。そして、コイルLU、LWに流れていたフライバック電流はハイサイドトランジスタPU、PWにより消費される。   FIG. 18 is a circuit diagram showing the control state of the on-state and off-state driver circuit 3 in state 1. As shown in FIG. 18, in the on state of state 1, the high side transistor PU and the low side transistor NW are in the on state. A drive current flows from the U-phase coil LU of the motor 4 to the W-phase coil LW. In the high-side off state, all the high-side transistors are turned off, and the low-side transistor NU of the drive stage circuit to which the high-side transistor PU that is on in the on-state belongs, and the low-side transistor that is on in the on-state NW is turned on. The flyback current flowing in the coils LU and LW is consumed by the low side transistors NU and NW. In the low-side off state, all the low-side transistors are turned off, and the high-side transistor PW of the drive stage circuit to which the high-side transistor PU that is on in the on-state and the low-side transistor NW that is on in the on-state belongs. Are turned on. The flyback current flowing in the coils LU and LW is consumed by the high side transistors PU and PW.

図19は、状態2におけるオンステートとオフステートのドライバ回路3の制御状態を示す回路図である。図19に示すように、状態2のオンステートでは、ハイサイドトランジスタPVとローサイドトランジスタNWがオン状態となる。そして、モータ4のV相のコイルLVからW相のコイルLWに駆動電流が流れる。また、ハイサイドオフステートでは、ハイサイドトランジスタをすべてオフ状態とし、オンステートにおいてオン状態であったハイサイドトランジスタPVが属する駆動段回路のローサイドトランジスタNVと、オンステートにおいてオン状態であったローサイドトランジスタNWと、がオン状態となる。そして、コイルLV、LWに流れていたフライバック電流はローサイドトランジスタNV、NWにより消費される。また、ローサイドオフステートでは、ローサイドトランジスタをすべてオフ状態とし、オンステートにおいてオン状態であったハイサイドトランジスタPVと、オンステートにおいてオン状態であったローサイドトランジスタNWが属する駆動段回路のハイサイドトランジスタPWと、がオン状態となる。そして、コイルLV、LWに流れていたフライバック電流はハイサイドトランジスタPV、PWにより消費される。   FIG. 19 is a circuit diagram illustrating a control state of the on-state and off-state driver circuit 3 in the state 2. As shown in FIG. 19, in the on state of state 2, the high side transistor PV and the low side transistor NW are in the on state. Then, a drive current flows from the V-phase coil LV of the motor 4 to the W-phase coil LW. In the high-side off state, all the high-side transistors are turned off, and the low-side transistor NV of the drive stage circuit to which the high-side transistor PV that is on in the on-state belongs, and the low-side transistor that is on in the on-state NW is turned on. The flyback current flowing in the coils LV and LW is consumed by the low side transistors NV and NW. In the low-side off state, all the low-side transistors are turned off, and the high-side transistor PW of the drive stage circuit to which the high-side transistor PV that is on in the on-state and the low-side transistor NW that is on in the on-state belongs. Are turned on. The flyback current flowing in the coils LV and LW is consumed by the high side transistors PV and PW.

図20は、状態3におけるオンステートとオフステートのドライバ回路3の制御状態を示す回路図である。図20に示すように、状態3のオンステートでは、ハイサイドトランジスタPVとローサイドトランジスタNUがオン状態となる。そして、モータ4のV相のコイルLVからU相のコイルLUに駆動電流が流れる。また、ハイサイドオフステートでは、ハイサイドトランジスタをすべてオフ状態とし、オンステートにおいてオン状態であったハイサイドトランジスタPVが属する駆動段回路のローサイドトランジスタNVと、オンステートにおいてオン状態であったローサイドトランジスタNUと、がオン状態となる。そして、コイルLV、LUに流れていたフライバック電流はローサイドトランジスタNV、NUにより消費される。また、ローサイドオフステートでは、ローサイドトランジスタをすべてオフ状態とし、オンステートにおいてオン状態であったハイサイドトランジスタPVと、オンステートにおいてオン状態であったローサイドトランジスタNUが属する駆動段回路のハイサイドトランジスタPUと、がオン状態となる。そして、コイルLU、LVに流れていたフライバック電流はハイサイドトランジスタPU、PVにより消費される。   FIG. 20 is a circuit diagram showing the control state of the on-state and off-state driver circuit 3 in state 3. As shown in FIG. 20, in the on state of state 3, the high side transistor PV and the low side transistor NU are in the on state. A drive current flows from the V-phase coil LV of the motor 4 to the U-phase coil LU. In the high-side off state, all the high-side transistors are turned off, and the low-side transistor NV of the drive stage circuit to which the high-side transistor PV that is on in the on-state belongs, and the low-side transistor that is on in the on-state NU is turned on. The flyback current flowing in the coils LV and LU is consumed by the low side transistors NV and NU. In the low-side off state, all the low-side transistors are turned off, and the high-side transistor PU of the drive stage circuit to which the high-side transistor PV that is on in the on-state and the low-side transistor NU that is on in the on-state belongs. Are turned on. The flyback current flowing in the coils LU and LV is consumed by the high side transistors PU and PV.

図21は、状態4におけるオンステートとオフステートのドライバ回路3の制御状態を示す回路図である。図21に示すように、状態4のオンステートでは、ハイサイドトランジスタPWとローサイドトランジスタNUがオン状態となる。そして、モータ4のW相のコイルLWからU相のコイルLUに駆動電流が流れる。また、ハイサイドオフステートでは、ハイサイドトランジスタをすべてオフ状態とし、オンステートにおいてオン状態であったハイサイドトランジスタPWが属する駆動段回路のローサイドトランジスタNWと、オンステートにおいてオン状態であったローサイドトランジスタNUと、がオン状態となる。そして、コイルLU、LWに流れていたフライバック電流はローサイドトランジスタNU、NWにより消費される。また、ローサイドオフステートでは、ローサイドトランジスタをすべてオフ状態とし、オンステートにおいてオン状態であったハイサイドトランジスタPWと、オンステートにおいてオン状態であったローサイドトランジスタNUが属する駆動段回路のハイサイドトランジスタPUと、がオン状態となる。そして、コイルLU、LWに流れていたフライバック電流はハイサイドトランジスタPU、PWにより消費される。   FIG. 21 is a circuit diagram showing the control state of the on-state and off-state driver circuit 3 in state 4. As shown in FIG. 21, in the on state of state 4, the high side transistor PW and the low side transistor NU are in the on state. A drive current flows from the W-phase coil LW of the motor 4 to the U-phase coil LU. In the high-side off state, all the high-side transistors are turned off, and the low-side transistor NW of the drive stage circuit to which the high-side transistor PW that was on in the on-state belongs, and the low-side transistor that was on in the on-state NU is turned on. The flyback current flowing in the coils LU and LW is consumed by the low side transistors NU and NW. In the low-side off state, all the low-side transistors are turned off, and the high-side transistor PU of the drive stage circuit to which the high-side transistor PW that is on in the on-state and the low-side transistor NU that is on in the on-state belongs. Are turned on. The flyback current flowing in the coils LU and LW is consumed by the high side transistors PU and PW.

図22は、状態5におけるオンステートとオフステートのドライバ回路3の制御状態を示す回路図である。図22に示すように、状態5のオンステートでは、ハイサイドトランジスタPWとローサイドトランジスタNVがオン状態となる。そして、モータ4のW相のコイルLWからV相のコイルLVに駆動電流が流れる。また、ハイサイドオフステートでは、ハイサイドトランジスタをすべてオフ状態とし、オンステートにおいてオン状態であったハイサイドトランジスタPWが属する駆動段回路のローサイドトランジスタNWと、オンステートにおいてオン状態であったローサイドトランジスタNVと、がオン状態となる。そして、コイルLV、LWに流れていたフライバック電流はローサイドトランジスタNV、NWにより消費される。また、ローサイドオフステートでは、ローサイドトランジスタをすべてオフ状態とし、オンステートにおいてオン状態であったハイサイドトランジスタPWと、オンステートにおいてオン状態であったローサイドトランジスタNVが属する駆動段回路のハイサイドトランジスタPVと、がオン状態となる。そして、コイルLV、LWに流れていたフライバック電流はハイサイドトランジスタPV、PWにより消費される。   FIG. 22 is a circuit diagram showing the control state of the on-state and off-state driver circuit 3 in state 5. As shown in FIG. 22, in the on state of state 5, the high side transistor PW and the low side transistor NV are turned on. Then, a drive current flows from the W-phase coil LW of the motor 4 to the V-phase coil LV. In the high-side off state, all the high-side transistors are turned off, and the low-side transistor NW of the drive stage circuit to which the high-side transistor PW that was on in the on-state belongs, and the low-side transistor that was on in the on-state NV is turned on. The flyback current flowing in the coils LV and LW is consumed by the low side transistors NV and NW. In the low-side off state, all the low-side transistors are turned off, and the high-side transistor PV of the drive stage circuit to which the high-side transistor PW that is on in the on-state and the low-side transistor NV that is on in the on-state belongs. Are turned on. The flyback current flowing in the coils LV and LW is consumed by the high side transistors PV and PW.

なお、オフステートにおいて、オフされたトランジスタと対になる反対側のトランジスタをオンする動作は、同期整流動作と呼ばれる。つまり、実施の形態1にかかるモータ駆動制御プログラムにおけるオルタネートPWM方式の動作は、同期整流動作を含む。このような同期整流動作を行うことで、従来は、オフ状態のトランジスタのボディダイオードで消費されたフライバック電流を、オン状態のトランジスタにおいて消費することが可能になり電力効率を向上させることができる。そこで、同期整流動作の有無による入出力特性を比較するグラフを図23に示す。図23に示すように、同期整流動作を行った場合、入力される電力が小さい場合の出力(回転速度×トルク)が同期整流動作を行わない場合に比べて低くなっていることがわかる。また、入力電力の範囲が同じである場合、出力の範囲が同期整流動作を行った場合の方が広くなっていることがわかる。   Note that the operation of turning on the opposite transistor paired with the turned off transistor in the off state is called a synchronous rectification operation. That is, the operation of the alternate PWM method in the motor drive control program according to the first embodiment includes a synchronous rectification operation. By performing such synchronous rectification operation, conventionally, the flyback current consumed by the body diode of the off-state transistor can be consumed by the on-state transistor, and the power efficiency can be improved. . Therefore, FIG. 23 shows a graph comparing input / output characteristics with and without the synchronous rectification operation. As shown in FIG. 23, it is understood that when the synchronous rectification operation is performed, the output (rotation speed × torque) when the input power is small is lower than when the synchronous rectification operation is not performed. It can also be seen that when the input power range is the same, the output range is wider when the synchronous rectification operation is performed.

上記説明より、実施の形態1にかかるモータ駆動制御プログラムでは、オルタネートPWM方式によりPWM信号のオフステートの状態を制御する。オフステートの制御としては、オルタネートPWM方式の他に、ハイサイドオフステートとローサイドオフステートとのいずれか一方の状態のみの制御を行うことも考えられる。しかし、オフステートとしてハイサイドオフステートとローサイドオフステートとのいずれか一方しか行わない場合、センタータップ電圧CT及び非通電相の駆動信号の電圧レベルが電源電圧側又は接地電圧側のいずれか一方に偏る。また、モータ4の回転速度が低い場合、ハイインピーダンス状態となる非通電相の電位変化の傾きが緩やかになる。そのため、オフステートとしてハイサイドオフステートとローサイドオフステートとのいずれか一方しか行わない場合、モータ4の回転速度が低い状態で、センタータップ電圧CT及び非通電相の駆動信号の電圧関係が逆転するゼロクロスタイミングのずれが顕著になりゼロクロス点のずれが顕著になる問題がある。   From the above description, the motor drive control program according to the first embodiment controls the off-state state of the PWM signal by the alternate PWM method. As the off-state control, in addition to the alternate PWM method, it is conceivable to control only one of the high-side off state and the low-side off state. However, when only one of the high side off state and the low side off state is performed as the off state, the voltage level of the center tap voltage CT and the drive signal of the non-conducting phase is set to either the power supply voltage side or the ground voltage side. Biased. Further, when the rotation speed of the motor 4 is low, the gradient of the potential change of the non-energized phase that is in the high impedance state becomes gentle. Therefore, when only one of the high-side off-state and the low-side off-state is performed as the off-state, the voltage relationship between the center tap voltage CT and the drive signal of the non-energized phase is reversed while the rotation speed of the motor 4 is low. There is a problem that the deviation of the zero cross timing becomes remarkable and the deviation of the zero cross point becomes remarkable.

しかし、実施の形態1にかかるモータ駆動制御プログラムでは、オルタネートPWM方式を採用することで、センタータップ電圧CT及び非通電相の駆動信号の電圧レベルのずれ方向がPWM信号の周期毎に上下する。これにより、コンパレータ15が入力オフセットを有する場合であっても、入力オフセットに起因するコンパレータ積分値CMP_INTGのずれが、センタータップ電圧CT及び非通電相の駆動信号の電圧レベルのずれ方向の変動により相殺される。また、コンパレータ15は、入力ノイズの影響により誤判定を生じることがあるが、オルタネートPWM方式を採用することでセンタータップ電圧CT及び非通電相の駆動信号の電圧レベルの上下方向の変動が入力ノイズを相殺する。そのため、実施の形態1にかかるモータ駆動制御プログラムを用いた場合、コンパレータ15にヒステリシス特性を持たせる必要がない。これにより、実施の形態1にかかるモータ駆動制御プログラムでは、モータ4の回転速度が遅くセンタータップ電圧CTと非通電相の駆動信号との傾きが緩やかな状態であっても、コンパレータ15の入力オフセット及びヒステリシス特性に起因するゼロクロス検出タイミングのずれの影響を受けることない。そして、実施の形態1にかかるモータ駆動制御プログラムでは、コンパレータ積分値CMP_INTGにより精度の高いタイミングでPWM信号の状態を遷移させることができる。即ち、実施の形態1にかかるモータ駆動制御プログラムは、低回転速度領域におけるモータの制御性を高めることができる。また、実施の形態1にかかるモータ駆動制御プログラムは、低回転速度側の制御性が高めることで、広い回転速度範囲でモータの制御性を高めることができる。   However, in the motor drive control program according to the first embodiment, by adopting the alternate PWM method, the shift direction of the voltage level of the center tap voltage CT and the drive signal of the non-energized phase is increased or decreased for each period of the PWM signal. Thereby, even when the comparator 15 has an input offset, the deviation of the comparator integral value CMP_INTG caused by the input offset is canceled by the fluctuation in the deviation direction of the voltage level of the center tap voltage CT and the drive signal of the non-conduction phase. Is done. In addition, the comparator 15 may make an erroneous determination due to the influence of input noise, but by adopting the alternate PWM method, the vertical fluctuation of the center tap voltage CT and the voltage level of the drive signal of the non-conduction phase is changed to the input noise. Offset. Therefore, when the motor drive control program according to the first embodiment is used, it is not necessary for the comparator 15 to have hysteresis characteristics. Thereby, in the motor drive control program according to the first embodiment, even if the rotation speed of the motor 4 is slow and the inclination between the center tap voltage CT and the drive signal of the non-energized phase is gradual, the input offset of the comparator 15 In addition, it is not affected by the deviation of the zero cross detection timing due to the hysteresis characteristic. In the motor drive control program according to the first embodiment, the state of the PWM signal can be transitioned with high accuracy by the comparator integral value CMP_INTG. That is, the motor drive control program according to the first embodiment can improve the controllability of the motor in the low rotation speed region. Further, the motor drive control program according to the first embodiment can improve the controllability of the motor in a wide rotation speed range by increasing the controllability on the low rotation speed side.

このようなオルタネートPWM方式による動作は、PWM信号のデューティ比が100%未満の状態で行われる。そこで、オルタネートPWM方式による動作が行われるPWM信号のデューティ比が50%である状態を例にモータ駆動制御プログラムの動作について説明する。なお、以下の説明では、モータ駆動制御プログラムの動作に基づき生成されるPWM信号は、モータ駆動制御装置1から出力されるものであるため、モータ駆動制御プログラムの動作としてモータ駆動制御装置1の動作を説明する。   Such an operation by the alternate PWM method is performed in a state where the duty ratio of the PWM signal is less than 100%. Thus, the operation of the motor drive control program will be described by taking as an example a state where the duty ratio of the PWM signal in which the operation by the alternate PWM method is performed is 50%. In the following description, since the PWM signal generated based on the operation of the motor drive control program is output from the motor drive control device 1, the operation of the motor drive control device 1 is performed as the operation of the motor drive control program. Will be explained.

ここでは、PWM信号の波形と、モータ4を駆動する駆動信号の波形及び駆動信号に応じたモータ駆動制御装置1の動作をより詳細に説明するために、状態0の動作状態を例に、モータ駆動制御装置1の動作について説明する。   Here, in order to explain in more detail the waveform of the PWM signal, the waveform of the drive signal that drives the motor 4, and the operation of the motor drive control device 1 according to the drive signal, the operation state of the state 0 is taken as an example for the motor. The operation of the drive control device 1 will be described.

まず、図24に、モータ駆動制御装置1が生成するPWM信号、当該PWM信号に応じて生成されるモータ4の駆動信号及びモータ4のセンタータップ電圧CTのタイミングチャートを示す。図24に示すように、モータ駆動制御装置1では、デューティ比が50%となる基準PWM信号を生成する。そして、モータ駆動制御装置1は、基準PWM信号に基づき3相の駆動信号を生成するための6つのPWM信号UH、UL、VH、VL、WH、WLを生成する。   First, FIG. 24 shows a timing chart of the PWM signal generated by the motor drive control device 1, the drive signal of the motor 4 generated according to the PWM signal, and the center tap voltage CT of the motor 4. As shown in FIG. 24, the motor drive control device 1 generates a reference PWM signal with a duty ratio of 50%. Then, the motor drive control device 1 generates six PWM signals UH, UL, VH, VL, WH, WL for generating a three-phase drive signal based on the reference PWM signal.

状態0は、U相からV相に向かって駆動電流を流す状態である。また、状態0では、W相の駆動信号はハイインピーダンス状態(Zステート)となる。そこで、状態0では、モータ駆動制御装置1は、基準PWM信号のオンステート(ハイレベルの期間)においてPWM信号UH、ULをローレベルとする。また、状態0では、モータ駆動制御装置1は、基準PWM信号のオンステートにおいてPWM信号VH、VLをハイレベルとする。さらに、状態0では、モータ駆動制御装置1は、基準PWM信号のオンステートにおいてPWM信号WHをハイレベル、PWM信号WLをローレベルとする。これにより、基準PWM信号のオンタイムにおいて、U相の駆動信号はハイレベルとなり、V相の駆動信号はローレベルとなる。そして、U相からV相に対して駆動電流が流れる。また、W相の駆動信号はハイインピーダンス状態であるため、U相の駆動信号とV相の駆動信号との間の電圧値になる。このW相の駆動信号の電圧値は、ロータの回転位置に従って電圧値が徐々に低下する。   State 0 is a state in which a drive current flows from the U phase toward the V phase. In state 0, the W-phase drive signal is in a high impedance state (Z state). Therefore, in the state 0, the motor drive control device 1 sets the PWM signals UH and UL to the low level in the on-state (high level period) of the reference PWM signal. In state 0, the motor drive control device 1 sets the PWM signals VH and VL to the high level in the on-state of the reference PWM signal. Further, in the state 0, the motor drive control device 1 sets the PWM signal WH to the high level and the PWM signal WL to the low level in the on-state of the reference PWM signal. As a result, during the on-time of the reference PWM signal, the U-phase drive signal is at a high level and the V-phase drive signal is at a low level. A drive current flows from the U phase to the V phase. Further, since the W-phase drive signal is in a high impedance state, the voltage value is between the U-phase drive signal and the V-phase drive signal. The voltage value of the W-phase drive signal gradually decreases according to the rotational position of the rotor.

また、実施の形態1では、オルタネートPWM方式による動作を行うため、基準PWM信号のオフステートとしてハイサイドオフステートと、ローサイドオフステートと、を有する。そして、図24に示すように、実施の形態1にかかるモータ駆動制御装置1は、ハイサイドオフステートとローサイドオフステートとをPWM信号の周期毎に切り換える。   Further, in the first embodiment, in order to perform the operation by the alternate PWM method, the reference PWM signal has the high side off state and the low side off state as the off state. As shown in FIG. 24, the motor drive control device 1 according to the first embodiment switches between the high-side off state and the low-side off state for each cycle of the PWM signal.

そこで、まず、状態0におけるハイサイドオフステート時のPWM信号UH、UL、VH、VL、WH、WLについて説明する。状態0では、U相からV相に向かって駆動電流を流し、W相の駆動信号はハイインピーダンス状態となる。そこで、状態0のハイサイドオフステートでは、モータ駆動制御装置1は、基準PWM信号のオフステート(ローレベルの期間)においてPWM信号UH、ULをハイレベルとする。また、状態0のハイサイドオフステートでは、モータ駆動制御装置1は、基準PWM信号のオフステートにおいてPWM信号VH、VLをハイレベルとする。さらに、状態0のハイサイドオフステートでは、モータ駆動制御装置1は、基準PWM信号のオフステートにおいてPWM信号WHをハイレベル、PWM信号WLをローレベルとする。これにより、基準PWM信号のオフタイムにおいて、U相の駆動信号、V相の駆動信号及びW相の駆動信号はローレベルとなる。そして、U相とV相との間において電流が流れる。   Therefore, first, PWM signals UH, UL, VH, VL, WH, WL in the high-side off state in state 0 will be described. In state 0, a drive current is passed from the U phase to the V phase, and the W phase drive signal is in a high impedance state. Therefore, in the high-side off state of state 0, the motor drive control device 1 sets the PWM signals UH and UL to the high level in the off state (low level period) of the reference PWM signal. Further, in the high-side off state in the state 0, the motor drive control device 1 sets the PWM signals VH and VL to the high level in the off state of the reference PWM signal. Further, in the high-side off state of state 0, the motor drive control device 1 sets the PWM signal WH to the high level and the PWM signal WL to the low level in the off state of the reference PWM signal. As a result, during the off time of the reference PWM signal, the U-phase drive signal, the V-phase drive signal, and the W-phase drive signal are at a low level. A current flows between the U phase and the V phase.

続いて、状態0におけるローサイドオフステート時のPWM信号UH、UL、VH、VL、WH、WLについて説明する。状態0では、U相からV相に向かって駆動電流を流し、W相の駆動信号はハイインピーダンス状態となる。そこで、状態0のローサイドオフステートでは、モータ駆動制御装置1は、基準PWM信号のオフステート(ローレベルの期間)においてPWM信号UH、ULをローレベルとする。また、状態0のローサイドオフステートでは、モータ駆動制御装置1は、基準PWM信号のオフステートにおいてPWM信号VH、VLをローレベルとする。さらに、状態0のローサイドオフステートでは、モータ駆動制御装置1は、基準PWM信号のオフステートにおいてPWM信号WHをハイレベル、PWM信号WLをローレベルとする。これにより、基準PWM信号のオフタイムにおいて、U相の駆動信号、V相の駆動信号及びW相の駆動信号はハイレベルとなる。そして、U相とV相との間において電流が流れる。   Next, PWM signals UH, UL, VH, VL, WH, and WL during the low-side off state in state 0 will be described. In state 0, a drive current is passed from the U phase to the V phase, and the W phase drive signal is in a high impedance state. Therefore, in the low-side off state of the state 0, the motor drive control device 1 sets the PWM signals UH and UL to the low level in the off state (low level period) of the reference PWM signal. In the low-side off state of state 0, the motor drive control device 1 sets the PWM signals VH and VL to the low level in the off state of the reference PWM signal. Further, in the low-side off state of state 0, the motor drive control device 1 sets the PWM signal WH to the high level and the PWM signal WL to the low level in the off-state of the reference PWM signal. As a result, during the off time of the reference PWM signal, the U-phase drive signal, the V-phase drive signal, and the W-phase drive signal are at a high level. A current flows between the U phase and the V phase.

上記説明のように、モータ駆動制御装置1は、PWM信号の周期毎にオンステートとオフステートとを切り替える。さらに、モータ駆動制御装置1は、オフステートの制御状態を、PWM信号の周期毎にハイサイドオフステートとローサイドオフステートとに切り換える。このような制御を行うことで、モータ駆動制御装置1は、オンステートにおいてU相からV相に駆動電流を流す。そして、ハイインピーダンス状態となる非通電相(状態0ではW相の駆動信号)の電圧は、ハイレベルからローレベルに向かって変化する。この非通電相の電圧変化は、ロータの回転位置に応じて変化する。なお、PWM信号の状態が変化した直後は、非通電相にフライバックパルスが生じる。センタータップ電圧CTは、U相、V相、W相の駆動信号の電圧値に基づき生成される。このとき、オンステートにおいてU相の駆動信号はハイレベルであり、V相の駆動信号はローレベルであるため、センタータップ電圧CTは、非通電相のW相の駆動信号の電圧に応じた変動を示す。   As described above, the motor drive control device 1 switches between the on state and the off state for each cycle of the PWM signal. Furthermore, the motor drive control device 1 switches the control state in the off state between a high side off state and a low side off state for each period of the PWM signal. By performing such control, the motor drive control device 1 causes a drive current to flow from the U phase to the V phase in the on state. The voltage of the non-conducting phase (W-phase drive signal in state 0) that enters the high impedance state changes from the high level to the low level. This voltage change in the non-energized phase changes according to the rotational position of the rotor. Immediately after the state of the PWM signal is changed, a flyback pulse is generated in the non-energized phase. The center tap voltage CT is generated based on voltage values of U-phase, V-phase, and W-phase drive signals. At this time, since the U-phase drive signal is at a high level and the V-phase drive signal is at a low level in the on-state, the center tap voltage CT varies depending on the voltage of the non-energized W-phase drive signal. Indicates.

続いて、状態0におけるモータ駆動制御装置1のPWM信号制御処理について説明する。図25に、デューティ比が50%のPWM信号を生成した場合の状態0のモータ駆動制御装置1の動作を説明するタイミングチャートを示す。図25に示すように、PWM信号のデューティ比が50%である場合、モータ駆動制御装置1は、BEMFタイマ割り込みが生じたことに応じて、PWM信号をオンステートからオフステートに切り換える。この動作は、図5のステップS32の動作に相当するものである。また、モータ駆動制御装置1は、PWM周期割り込みに応じて、PWM信号をオフステートからオンステートに切り換える。この動作は、図5のステップS36の動作に相当するものである。なお、モータ駆動制御装置1は、一状態の中でPWM信号のデューティ比をPWM信号の周期毎に更新するが、図25では、説明を簡単にするために全期間に亘りPWM信号のデューティ比を50%とした。   Next, the PWM signal control process of the motor drive control device 1 in the state 0 will be described. FIG. 25 is a timing chart for explaining the operation of the motor drive control device 1 in the state 0 when a PWM signal having a duty ratio of 50% is generated. As shown in FIG. 25, when the duty ratio of the PWM signal is 50%, the motor drive control device 1 switches the PWM signal from the on state to the off state in response to the occurrence of the BEMF timer interrupt. This operation corresponds to the operation in step S32 in FIG. The motor drive control device 1 switches the PWM signal from the off state to the on state in response to the PWM cycle interrupt. This operation corresponds to the operation in step S36 in FIG. Note that the motor drive control device 1 updates the duty ratio of the PWM signal for each period of the PWM signal in one state, but in FIG. 25, for the sake of simplicity, the duty ratio of the PWM signal is over the entire period. Was 50%.

状態0では、非通電相はW相の駆動信号である。そのため、モータ駆動制御装置1は、W相の駆動信号を比較対象検出信号SPとして選択する。つまり、モータ駆動制御装置1のコンパレータ15には、W相の駆動信号を比較対象検出信号SPとセンタータップ電圧CTとが入力される。そして、コンパレータ15は、比較対象検出信号SPがセンタータップ電圧CTよりも高い場合、出力信号CMP_OUTをハイレベルとし、比較対象検出信号SPがセンタータップ電圧CTよりも低い場合、出力信号CMP_OUTをローレベルとする。   In state 0, the non-energized phase is a W-phase drive signal. Therefore, the motor drive control device 1 selects the W-phase drive signal as the comparison target detection signal SP. That is, the comparison target detection signal SP and the center tap voltage CT are input to the comparator 15 of the motor drive control device 1 as the W-phase drive signal. The comparator 15 sets the output signal CMP_OUT to a high level when the comparison target detection signal SP is higher than the center tap voltage CT, and sets the output signal CMP_OUT to a low level when the comparison target detection signal SP is lower than the center tap voltage CT. And

そして、モータ駆動制御装置1は、BEMF割り込みが発生するとコンパレータ15の出力信号CMP_OUTの値をサンプリングする。この動作は、図5のステップS23の動作に相当するものである。図25に示す例では、コンパレータ15の出力信号CMP_OUTとして、PWMデモジュレータ21によりサンプリングされた出力信号CMP_OUTを示した。   The motor drive control device 1 samples the value of the output signal CMP_OUT of the comparator 15 when the BEMF interrupt occurs. This operation corresponds to the operation in step S23 of FIG. In the example shown in FIG. 25, the output signal CMP_OUT sampled by the PWM demodulator 21 is shown as the output signal CMP_OUT of the comparator 15.

なお、図25に示す例では、コンパレータ15の出力信号CMP_OUTが比較対象検出信号SPとセンタータップ電圧CTとの電圧関係を誤判定する期間(例えば、コンパレータ15の出力信号がパルス状の波形となる期間)が存在する。この現象は、コンパレータ15に入力されるノイズ、或いは、オルタネートPWM方式の動作に起因して生じるものである。   In the example shown in FIG. 25, the output signal CMP_OUT of the comparator 15 erroneously determines the voltage relationship between the comparison target detection signal SP and the center tap voltage CT (for example, the output signal of the comparator 15 has a pulse waveform). Period) exists. This phenomenon occurs due to noise input to the comparator 15 or the operation of the alternate PWM method.

また、モータ駆動制御装置1は、サンプリングされたコンパレータ15の出力信号CMP_OUTの値に基づきコンパレータ積分値を増減させる。より具体的には、モータ駆動制御装置1は、フライバックパルスフィルタ処理がなされる期間(例えば、フライバックパルス継続PWMパルス数FB_MASKで示す期間)においては、比較対象検出信号SPとセンタータップ電圧CTとの電圧関係に関わらずコンパレータ積分値CMP_INTGを増加させる。この動作は、図6のステップS44及び図8のステップS63の動作に相当するものである。また、モータ駆動制御装置1は、フライバックパルスフィルタ処理がなされる期間が終了すると、コンパレータ15の出力信号CMP_OUTがハイレベルである場合コンパレータ積分値CMP_INTGを増加させ、コンパレータ15の出力信号CMP_OUTがローレベルである場合コンパレータ積分値CMP_INTGを減少させる。この動作は、図9のステップS70〜S72の動作に相当するものである。   Further, the motor drive control device 1 increases or decreases the comparator integral value based on the value of the sampled output signal CMP_OUT of the comparator 15. More specifically, the motor drive control device 1 determines the comparison target detection signal SP and the center tap voltage CT in a period during which flyback pulse filter processing is performed (for example, a period indicated by the number of continuous PWM pulses FB_MASK). The comparator integral value CMP_INTG is increased regardless of the voltage relationship with. This operation corresponds to the operation in step S44 in FIG. 6 and step S63 in FIG. In addition, when the period during which the flyback pulse filter processing is performed ends, the motor drive control device 1 increases the comparator integral value CMP_INTG when the output signal CMP_OUT of the comparator 15 is at a high level, and the output signal CMP_OUT of the comparator 15 is low. If it is at the level, the comparator integral value CMP_INTG is decreased. This operation corresponds to the operation of steps S70 to S72 in FIG.

また、モータ駆動制御装置1は、PWM周期タイマ割り込みが発生する毎にステートPWMパルス数ST_PWM_PLSを増加させる。この動作は、図6のステップS41の動作に相当するものである。モータ駆動制御装置1は、第1の条件と第2の条件のいずれか一方を満たした場合、PWM信号の状態を次状態に遷移させる。ここで、第1の条件とは、現状態(例えば、状態0)のステートPWMパルス数ST_PWM_PLS[0]が移動平均ステートPWMパルス数ST_PWM_PLS_AVEに達したことである。なお、また、移動平均ステートPWMパルス数ST_PWM_PLS_AVEは、前状態(例えば、状態0)のステートPWMパルス数ST_PWM_PLS[0]と、前状態よりも前の5つの状態のステートPWMパルス数ST_PWM_PLS[5]〜ST_PWM_PLS[1]との合計値を状態数である6で除算して得られる値である。また、第2の条件は、コンパレータ積分値CMP_INTGがカウント初期値(例えば、ゼロ)に達したことである。第1の条件に応じて生じる状態の遷移は、図9のステップS84及びステップS85の動作に相当するものである。第2の条件に応じて生じる条件の遷移は、図9のステップS77及びステップS78の動作に相当するものである。図25に示す例では、コンパレータ積分値CMP_INTGがゼロに達したこと、つまり、第2の条件を満たしたことに応じてPWM信号の状態遷移が行われた例を示した。   Further, the motor drive control device 1 increases the number of state PWM pulses ST_PWM_PLS every time a PWM cycle timer interrupt occurs. This operation corresponds to the operation in step S41 in FIG. When either one of the first condition and the second condition is satisfied, the motor drive control device 1 changes the state of the PWM signal to the next state. Here, the first condition is that the state PWM pulse number ST_PWM_PLS [0] in the current state (for example, state 0) has reached the moving average state PWM pulse number ST_PWM_PLS_AVE. Note that the moving average state PWM pulse number ST_PWM_PLS_AVE includes a state PWM pulse number ST_PWM_PLS [0] in the previous state (for example, state 0) and a state PWM pulse number ST_PWM_PLS [5] in five states before the previous state. This is a value obtained by dividing the total value of ~ ST_PWM_PLS [1] by 6 which is the number of states. The second condition is that the comparator integral value CMP_INTG has reached a count initial value (for example, zero). The state transition that occurs in response to the first condition corresponds to the operations in steps S84 and S85 in FIG. The transition of the condition that occurs according to the second condition corresponds to the operations of Step S77 and Step S78 in FIG. In the example shown in FIG. 25, an example is shown in which the state transition of the PWM signal is performed in response to the fact that the comparator integral value CMP_INTG has reached zero, that is, the second condition has been satisfied.

続いて、モータ駆動制御装置1がモータ4を一回転させる期間の動作について説明する。モータ駆動制御装置1は、モータ4を一回転させる間にPWM信号を6回状態遷移させる。そこで、図26に、モータ駆動制御装置1においてデューティ比が50%のPWM信号を生成した場合の状態0〜状態5の駆動信号及びセンタータップ電圧を説明するタイミングチャートを示す。なお、PWM信号UH、UL、VH、VL、WH、WLの信号波形は、図24で説明した状態0の信号波形と同等の波形が状態の遷移に対応したものであるあるため、ここでは信号波形についての詳細な説明は省略する。   Next, an operation during a period in which the motor drive control device 1 rotates the motor 4 once will be described. The motor drive control device 1 changes the state of the PWM signal six times while rotating the motor 4 once. FIG. 26 shows a timing chart for explaining the drive signals and the center tap voltage in the state 0 to the state 5 when the motor drive control device 1 generates a PWM signal having a duty ratio of 50%. Note that the signal waveforms of the PWM signals UH, UL, VH, VL, WH, WL are equivalent to the signal waveforms of the state 0 described in FIG. 24 and correspond to the state transitions. A detailed description of the waveform is omitted.

図26に示すように、モータ駆動制御装置1は、状態0において、PWM信号WHをハイレベル、PWM信号WLをローレベルとすることでW相の駆動信号を非通電相とする。一方、モータ駆動制御装置1は、PWM信号UH、UL、VH、VLを制御してオンステートにおいてU相からV相に向かって駆動電流を流し、オフステートにおいてU相とV相の駆動信号をハイサイドオフステート状態又はローサイドオフステート状態とする。これにより、センタータップ電圧CTは、W相の駆動信号の電圧変動に対応した電圧変動を生じる。   As shown in FIG. 26, in the state 0, the motor drive control device 1 sets the PWM signal WH to the high level and the PWM signal WL to the low level, thereby setting the W-phase drive signal to the non-energized phase. On the other hand, the motor drive control device 1 controls the PWM signals UH, UL, VH, and VL to flow a drive current from the U phase to the V phase in the on state, and outputs the U phase and V phase drive signals in the off state. High side off state or low side off state. As a result, the center tap voltage CT causes a voltage fluctuation corresponding to the voltage fluctuation of the W-phase drive signal.

また、モータ駆動制御装置1は、状態1において、PWM信号VHをハイレベル、PWM信号VLをローレベルとすることでV相の駆動信号を非通電相とする。一方、モータ駆動制御装置1は、PWM信号UH、UL、WH、WLを制御してオンステートにおいてU相からW相に向かって駆動電流を流し、オフステートにおいてU相とW相の駆動信号をハイサイドオフステート状態又はローサイドオフステート状態とする。これにより、センタータップ電圧CTは、V相の駆動信号の電圧変動に対応した電圧変動を生じる。   Further, in the state 1, the motor drive control device 1 sets the PWM signal VH to the high level and the PWM signal VL to the low level, thereby setting the V-phase drive signal to the non-conduction phase. On the other hand, the motor drive control device 1 controls the PWM signals UH, UL, WH, WL to flow a drive current from the U phase to the W phase in the on state, and outputs the U phase and W phase drive signals in the off state. High side off state or low side off state. As a result, the center tap voltage CT causes a voltage fluctuation corresponding to the voltage fluctuation of the V-phase drive signal.

また、モータ駆動制御装置1は、状態2において、PWM信号UHをハイレベル、PWM信号ULをローレベルとすることでU相の駆動信号を非通電相とする。一方、モータ駆動制御装置1は、PWM信号VH、VL、WH、WLを制御してオンステートにおいてV相からW相に向かって駆動電流を流し、オフステートにおいてV相とW相の駆動信号をハイサイドオフステート状態又はローサイドオフステート状態とする。これにより、センタータップ電圧CTは、U相の駆動信号の電圧変動に対応した電圧変動を生じる。   Further, in the state 2, the motor drive control device 1 sets the PWM signal UH to the high level and the PWM signal UL to the low level, thereby setting the U-phase drive signal to the non-energized phase. On the other hand, the motor drive control device 1 controls the PWM signals VH, VL, WH, WL to flow a drive current from the V phase to the W phase in the on state, and outputs the V phase and W phase drive signals in the off state. High side off state or low side off state. As a result, the center tap voltage CT causes a voltage fluctuation corresponding to the voltage fluctuation of the U-phase drive signal.

また、モータ駆動制御装置1は、状態3において、PWM信号WHをハイレベル、PWM信号WLをローレベルとすることでW相の駆動信号を非通電相とする。一方、モータ駆動制御装置1は、PWM信号UH、UL、VH、VLを制御してオンステートにおいてV相からU相に向かって駆動電流を流し、オフステートにおいてV相とU相の駆動信号をハイサイドオフステート状態又はローサイドオフステート状態とする。これにより、センタータップ電圧CTは、W相の駆動信号の電圧変動に対応した電圧変動を生じる。   Further, in the state 3, the motor drive control device 1 sets the PWM signal WH to the high level and the PWM signal WL to the low level to set the W-phase drive signal to the non-energized phase. On the other hand, the motor drive control device 1 controls the PWM signals UH, UL, VH, and VL to flow a drive current from the V phase to the U phase in the on state, and outputs the V phase and U phase drive signals in the off state. High side off state or low side off state. As a result, the center tap voltage CT causes a voltage fluctuation corresponding to the voltage fluctuation of the W-phase drive signal.

また、モータ駆動制御装置1は、状態4において、PWM信号VHをハイレベル、PWM信号VLをローレベルとすることでV相の駆動信号を非通電相とする。一方、モータ駆動制御装置1は、PWM信号UH、UL、WH、WLを制御してオンステートにおいてW相からU相に向かって駆動電流を流し、オフステートにおいてW相とU相の駆動信号をハイサイドオフステート状態又はローサイドオフステート状態とする。これにより、センタータップ電圧CTは、V相の駆動信号の電圧変動に対応した電圧変動を生じる。   Further, in the state 4, the motor drive control device 1 sets the PWM signal VH to the high level and the PWM signal VL to the low level, thereby setting the V-phase drive signal to the non-conduction phase. On the other hand, the motor drive control device 1 controls the PWM signals UH, UL, WH, WL to flow a drive current from the W phase to the U phase in the on state, and outputs the W phase and U phase drive signals in the off state. High side off state or low side off state. As a result, the center tap voltage CT causes a voltage fluctuation corresponding to the voltage fluctuation of the V-phase drive signal.

また、モータ駆動制御装置1は、状態5において、PWM信号UHをハイレベル、PWM信号ULをローレベルとすることでU相の駆動信号を非通電相とする。一方、モータ駆動制御装置1は、PWM信号VH、VL、WH、WLを制御してオンステートにおいてW相からV相に向かって駆動電流を流し、オフステートにおいてW相とV相の駆動信号をハイサイドオフステート状態又はローサイドオフステート状態とする。これにより、センタータップ電圧CTは、U相の駆動信号の電圧変動に対応した電圧変動を生じる。   Further, in the state 5, the motor drive control device 1 sets the PWM signal UH to the high level and the PWM signal UL to the low level to set the U-phase drive signal to the non-energized phase. On the other hand, the motor drive control device 1 controls the PWM signals VH, VL, WH, WL to flow a drive current from the W phase to the V phase in the on state, and outputs the W phase and V phase drive signals in the off state. High side off state or low side off state. As a result, the center tap voltage CT causes a voltage fluctuation corresponding to the voltage fluctuation of the U-phase drive signal.

続いて、図27に、モータ駆動制御装置1においてデューティ比が50%のPWM信号を生成した場合の状態0〜状態5のモータ駆動制御装置1の動作を説明するタイミングチャートを示す。なお、フライバックパルスフィルタ、コンパレータ積分値CMP_INTG、ステートPWMパルス数ST_PWM_PLSに関する動作は、図25で説明した状態0の動作と同等の動作であるため、ここでは、これらの動作に関する詳細な説明は省略する。   Subsequently, FIG. 27 shows a timing chart for explaining the operation of the motor drive control device 1 in the state 0 to the state 5 when the motor drive control device 1 generates a PWM signal having a duty ratio of 50%. The operations related to the flyback pulse filter, the comparator integral value CMP_INTG, and the number of state PWM pulses ST_PWM_PLS are the same as the operations in the state 0 described with reference to FIG. To do.

図27に示すように、モータ駆動制御装置1は、状態0において比較対象検出信号SPとしてW相の駆動信号を選択し、状態1において比較対象検出信号SPとしてV相の駆動信号を選択し、状態2において比較対象検出信号SPとしてU相の駆動信号を選択し、状態3において比較対象検出信号SPとしてW相の駆動信号を選択し、状態4において比較対象検出信号SPとしてV相の駆動信号を選択し、状態5において比較対象検出信号SPとしてU相の駆動信号を選択する。そして、各状態において、コンパレータ15により、比較対象検出信号SPとセンタータップ電圧CTとを比較する。   As shown in FIG. 27, the motor drive control device 1 selects the W-phase drive signal as the comparison target detection signal SP in the state 0, and selects the V-phase drive signal as the comparison target detection signal SP in the state 1. A U-phase drive signal is selected as the comparison target detection signal SP in the state 2, a W-phase drive signal is selected as the comparison target detection signal SP in the state 3, and a V-phase drive signal is selected as the comparison target detection signal SP in the state 4. And the U-phase drive signal is selected as the comparison target detection signal SP in the state 5. In each state, the comparison target detection signal SP and the center tap voltage CT are compared by the comparator 15.

そして、コンパレータ15の出力信号CMP_OUTの値に基づきコンパレータ積分値CMP_INTGを算出する。このとき、コンパレータ積分値CMP_INTGは、偶数番目の状態では増加後に減少する変動を示し、奇数番目の状態では減少後に増加する変動を示す。なお、図27に示す例では、いずれの状態においても、コンパレータ15が2つの入力信号間の電圧関係を誤判定する状態が生じている。しかし、モータ駆動制御装置1では、コンパレータ積分値CMP_INTGがゼロになったことにより比較対象検出信号SPとセンタータップ電圧CTとの間のゼロクロスを検出して、ロータの位置検出を行うことができる。   Then, a comparator integral value CMP_INTG is calculated based on the value of the output signal CMP_OUT of the comparator 15. At this time, the comparator integral value CMP_INTG shows a fluctuation that decreases after increasing in the even-numbered state, and shows a fluctuation that increases after decreasing in the odd-numbered state. In the example shown in FIG. 27, in any state, there is a state in which the comparator 15 erroneously determines the voltage relationship between the two input signals. However, the motor drive control device 1 can detect the rotor position by detecting a zero cross between the comparison target detection signal SP and the center tap voltage CT when the comparator integral value CMP_INTG becomes zero.

また、モータ駆動制御装置1は、現状態と現状態より以前の5つの状態のステートPWMパルス数ST_PWM_PLSの合計値から次状態で利用される移動平均ステートPWMパルス数ST_PWM_PLS_AVEを算出する。そして、モータ駆動制御装置1は、ステートPWMパルス数ST_PWM_PLSが移動平均ステートPWMパルス数ST_PWM_PLS_AVEに達したこと、又は、コンパレータ積分値CMP_INTGがゼロに達したことのいずれか一方の条件が満たされたことに応じてPWM信号の状態を遷移させる。   Further, the motor drive control device 1 calculates the moving average state PWM pulse number ST_PWM_PLS_AVE used in the next state from the total value of the current state and the number of state PWM pulses ST_PWM_PLS in five states before the current state. Then, the motor drive control device 1 satisfies that either the state PWM pulse number ST_PWM_PLS has reached the moving average state PWM pulse number ST_PWM_PLS_AVE or the comparator integral value CMP_INTG has reached zero. In response to this, the state of the PWM signal is changed.

続いて、PWM信号のデューティ比を100%とした場合のモータ駆動制御装置1の動作について説明する。図28に、デューティ比が100%のPWM信号を生成した場合の状態0〜状態5の駆動信号及びセンタータップ電圧を説明するタイミングチャートを示す。図28に示すように、状態0では、モータ駆動制御装置1は、駆動電流の経路となるハイサイドトランジスタPU及びローサイドトランジスタNVを導通状態とする。そのため、モータ駆動制御装置1は、PWM信号UH及びPWM信号VLのみをオンステートとし、その他のPWM信号はオフステートとする。これにより、非通電相となるW相の駆動信号にロータ位置に従った電位変動が生じる。   Next, the operation of the motor drive control device 1 when the duty ratio of the PWM signal is 100% will be described. FIG. 28 is a timing chart for explaining the drive signals and the center tap voltage in the state 0 to the state 5 when a PWM signal having a duty ratio of 100% is generated. As shown in FIG. 28, in the state 0, the motor drive control device 1 brings the high-side transistor PU and the low-side transistor NV serving as the path of the drive current into a conductive state. Therefore, the motor drive control device 1 sets only the PWM signal UH and the PWM signal VL to the on state, and sets the other PWM signals to the off state. As a result, a potential variation according to the rotor position occurs in the W-phase drive signal that is the non-energized phase.

状態1では、モータ駆動制御装置1は、駆動電流の経路となるハイサイドトランジスタPU及びローサイドトランジスタNWを導通状態とする。そのため、モータ駆動制御装置1は、PWM信号UH及びPWM信号WLのみをオンステートとし、その他のPWM信号はオフステートとする。これにより、非通電相となるV相の駆動信号にロータ位置に従った電位変動が生じる。   In the state 1, the motor drive control device 1 brings the high-side transistor PU and the low-side transistor NW, which are driving current paths, into a conductive state. Therefore, the motor drive control device 1 sets only the PWM signal UH and the PWM signal WL to the on state, and sets the other PWM signals to the off state. As a result, a potential variation in accordance with the rotor position occurs in the V-phase drive signal that is a non-energized phase.

状態2では、モータ駆動制御装置1は、駆動電流の経路となるハイサイドトランジスタPV及びローサイドトランジスタNWを導通状態とする。そのため、モータ駆動制御装置1は、PWM信号VH及びPWM信号WLのみをオンステートとし、その他のPWM信号はオフステートとする。これにより、非通電相となるU相の駆動信号にロータ位置に従った電位変動が生じる。   In the state 2, the motor drive control device 1 brings the high-side transistor PV and the low-side transistor NW, which are driving current paths, into a conductive state. Therefore, the motor drive control device 1 sets only the PWM signal VH and the PWM signal WL to the on state, and sets the other PWM signals to the off state. As a result, a potential fluctuation according to the rotor position occurs in the U-phase drive signal that is a non-conduction phase.

状態3では、モータ駆動制御装置1は、駆動電流の経路となるハイサイドトランジスタPV及びローサイドトランジスタNUを導通状態とする。そのため、モータ駆動制御装置1は、PWM信号VH及びPWM信号ULのみをオンステートとし、その他のPWM信号はオフステートとする。これにより、非通電相となるW相の駆動信号にロータ位置に従った電位変動が生じる。   In the state 3, the motor drive control device 1 brings the high-side transistor PV and the low-side transistor NU serving as the drive current path into a conductive state. Therefore, the motor drive control device 1 sets only the PWM signal VH and the PWM signal UL to the on state, and sets the other PWM signals to the off state. As a result, a potential variation according to the rotor position occurs in the W-phase drive signal that is the non-energized phase.

状態4では、モータ駆動制御装置1は、駆動電流の経路となるハイサイドトランジスタPW及びローサイドトランジスタNUを導通状態とする。そのため、モータ駆動制御装置1は、PWM信号WH及びPWM信号ULのみをオンステートとし、その他のPWM信号はオフステートとする。これにより、非通電相となるV相の駆動信号にロータ位置に従った電位変動が生じる。   In state 4, the motor drive control device 1 brings the high-side transistor PW and the low-side transistor NU, which serve as the path of the drive current, into a conductive state. Therefore, the motor drive control device 1 sets only the PWM signal WH and the PWM signal UL to the on state, and sets the other PWM signals to the off state. As a result, a potential variation in accordance with the rotor position occurs in the V-phase drive signal that is a non-energized phase.

状態5では、モータ駆動制御装置1は、駆動電流の経路となるハイサイドトランジスタPW及びローサイドトランジスタNVを導通状態とする。そのため、モータ駆動制御装置1は、PWM信号WH及びPWM信号VLのみをオンステートとし、その他のPWM信号はオフステートとする。これにより、非通電相となるU相の駆動信号にロータ位置に従った電位変動が生じる。   In the state 5, the motor drive control device 1 brings the high-side transistor PW and the low-side transistor NV serving as a drive current path into a conductive state. Therefore, the motor drive control device 1 sets only the PWM signal WH and the PWM signal VL to the on state, and sets the other PWM signals to the off state. As a result, a potential fluctuation according to the rotor position occurs in the U-phase drive signal that is a non-conduction phase.

続いて、図29に、モータ駆動制御装置1においてデューティ比が100%のPWM信号を生成した場合の状態0〜状態5のモータ駆動制御装置1の動作を説明するタイミングチャートを示す。なお、フライバックパルスフィルタ、コンパレータ積分値CMP_INTG、ステートPWMパルス数ST_PWM_PLSに関する動作は、図25で説明した状態0の動作と同等の動作であるため、ここでは、これらの動作に関する詳細な説明は省略する。   Subsequently, FIG. 29 shows a timing chart for explaining the operation of the motor drive control device 1 in the state 0 to the state 5 when the motor drive control device 1 generates a PWM signal having a duty ratio of 100%. The operations related to the flyback pulse filter, the comparator integral value CMP_INTG, and the number of state PWM pulses ST_PWM_PLS are the same as the operations in the state 0 described with reference to FIG. To do.

図29に示すように、モータ駆動制御装置1は、状態0において比較対象検出信号SPとしてW相の駆動信号を選択し、状態1において比較対象検出信号SPとしてV相の駆動信号を選択し、状態2において比較対象検出信号SPとしてU相の駆動信号を選択し、状態3において比較対象検出信号SPとしてW相の駆動信号を選択し、状態4において比較対象検出信号SPとしてV相の駆動信号を選択し、状態5において比較対象検出信号SPとしてU相の駆動信号を選択する。そして、各状態において、コンパレータ15により、比較対象検出信号SPとセンタータップ電圧CTとを比較する。   As shown in FIG. 29, the motor drive control device 1 selects the W-phase drive signal as the comparison target detection signal SP in the state 0, and selects the V-phase drive signal as the comparison target detection signal SP in the state 1. A U-phase drive signal is selected as the comparison target detection signal SP in the state 2, a W-phase drive signal is selected as the comparison target detection signal SP in the state 3, and a V-phase drive signal is selected as the comparison target detection signal SP in the state 4. And the U-phase drive signal is selected as the comparison target detection signal SP in the state 5. In each state, the comparison target detection signal SP and the center tap voltage CT are compared by the comparator 15.

そして、コンパレータ15の出力信号CMP_OUTの値に基づきコンパレータ積分値CMP_INTGを算出する。このとき、コンパレータ積分値CMP_INTGは、偶数番目の状態では増加後に減少する変動を示し、奇数番目の状態では減少後に増加する変動を示す。なお、図29に示す例では、いずれの状態においても、コンパレータ15は2つの入力信号間の電圧関係について誤判定を生じることなく正しく判定している。これは、モータ4の回転速度が高く、一状態の時間が短い(すなわちステートPWMパルス数ST_PWMPLSが小さい)ため、非通電相の電位変化の傾きが大きい。そのため、コンパレータ15に入力される2つの信号の電位差が小さな期間が小さい。このようなことから、モータ4の回転速度が高い場合、コンパレータ15が入力信号の電圧関係を誤判定確率が小さくなる。また、非通電相の電位変化の傾きが大きいため、コンパレータ15の入力オフセットがコンパレータ積分値CMP_INTGに与える影響も少なくなる。なお、モータ駆動制御装置1では、コンパレータ積分値CMP_INTGがゼロになったことにより比較対象検出信号SPとセンタータップ電圧CTとの間のゼロクロスを検出するため、モータ4の回転速度によらず、ロータの位置検出精度を保つことができる。   Then, a comparator integral value CMP_INTG is calculated based on the value of the output signal CMP_OUT of the comparator 15. At this time, the comparator integral value CMP_INTG shows a fluctuation that decreases after increasing in the even-numbered state, and shows a fluctuation that increases after decreasing in the odd-numbered state. In the example shown in FIG. 29, in any state, the comparator 15 correctly determines the voltage relationship between the two input signals without causing erroneous determination. This is because the rotation speed of the motor 4 is high and the time of one state is short (that is, the number of state PWM pulses ST_PWMPLS is small), so that the gradient of potential change in the non-conduction phase is large. Therefore, a period in which the potential difference between the two signals input to the comparator 15 is small is small. For this reason, when the rotation speed of the motor 4 is high, the probability that the comparator 15 erroneously determines the voltage relationship of the input signal is small. Further, since the gradient of the potential change in the non-energized phase is large, the influence of the input offset of the comparator 15 on the comparator integral value CMP_INTG is reduced. In the motor drive control device 1, a zero cross between the comparison target detection signal SP and the center tap voltage CT is detected when the comparator integral value CMP_INTG becomes zero. The position detection accuracy can be maintained.

また、モータ駆動制御装置1は、現状態と現状態より以前の5つの状態のステートPWMパルス数ST_PWM_PLSの合計値から次状態で利用される移動平均ステートPWMパルス数ST_PWM_PLS_AVEを算出する。そして、モータ駆動制御装置1は、ステートPWMパルス数ST_PWM_PLSが移動平均ステートPWMパルス数ST_PWM_PLS_AVEに達したこと、又は、コンパレータ積分値CMP_INTGがゼロに達したことのいずれか一方の条件が満たされたことに応じてPWM信号の状態を遷移させる。   Further, the motor drive control device 1 calculates the moving average state PWM pulse number ST_PWM_PLS_AVE used in the next state from the total value of the current state and the number of state PWM pulses ST_PWM_PLS in five states before the current state. Then, the motor drive control device 1 satisfies that either the state PWM pulse number ST_PWM_PLS has reached the moving average state PWM pulse number ST_PWM_PLS_AVE or the comparator integral value CMP_INTG has reached zero. In response to this, the state of the PWM signal is changed.

続いて、実施の形態1にかかるモータ駆動制御装置1におけるPWM信号の生成方法について具体的な波形を示して説明する。つまり、実施の形態1にかかるモータ駆動制御装置1における図15で示したPWMプリモジュレーション処理についてここで説明する。モータ駆動制御装置1は、図14のレギュレーションループ調停処理において決定されたPWM信号のオンタイムPWM_ONに基づきPWM信号のデューティ比を決定する。   Next, a method for generating a PWM signal in the motor drive control device 1 according to the first embodiment will be described with reference to specific waveforms. That is, the PWM premodulation process shown in FIG. 15 in the motor drive control device 1 according to the first embodiment will be described here. The motor drive control device 1 determines the duty ratio of the PWM signal based on the on-time PWM_ON of the PWM signal determined in the regulation loop arbitration process of FIG.

まず、レギュレーションループ調停処理において決定されたPWM信号のデューティ比が最大デューティ設定値よりも大きな場合のPWM信号のオンタイムPWMの決定手順を示すタイミングチャートを図30に示す。図30に示すように、この場合、レギュレーションループ調停処理により決定されたPWM信号のデューティ比に基づき生成されるオリジナルPWM信号は、PWM信号のオンタイムPWM_ONが最大デューティ設定値MAX_DUTYよりも長くなる。そのため、PWM信号のオンタイムPWM_ONからPWM信号の周期PWM_TRMを引いた値を繰越オンタイムCRY_PWM_ONとして算出する。そして、周期TRM1のPWM信号のオンタイムPWM_ONとしてPWM信号の周期PWM_TRMと同じ値を設定する。この場合、モータ駆動制御装置1は、周期TRM1のBEMFタイマ割り込みを周期タイマ割り込みの少し前に発生させることになる。そして、周期TRM1の次の周期TRM2において、PWM信号のオンタイムPWM_ONに周期TRM1で算出された繰越オンタイムCRY_PWM_ONを加算して周期TRM2のPWM信号のオンタイムPWM_ONを算出する。   First, FIG. 30 shows a timing chart showing the procedure for determining the on-time PWM of the PWM signal when the duty ratio of the PWM signal determined in the regulation loop arbitration process is larger than the maximum duty set value. As shown in FIG. 30, in this case, in the original PWM signal generated based on the duty ratio of the PWM signal determined by the regulation loop arbitration process, the on-time PWM_ON of the PWM signal becomes longer than the maximum duty set value MAX_DUTY. Therefore, a value obtained by subtracting the PWM signal cycle PWM_TRM from the PWM signal on-time PWM_ON is calculated as a carry-on on-time CRY_PWM_ON. Then, the same value as the PWM signal period PWM_TRM is set as the on-time PWM_ON of the PWM signal having the period TRM1. In this case, the motor drive control device 1 generates the BEMF timer interrupt of the cycle TRM1 slightly before the cycle timer interrupt. Then, in the cycle TRM2 next to the cycle TRM1, the on-time PWM_ON of the PWM signal in the cycle TRM2 is calculated by adding the carry-on on-time CRY_PWM_ON calculated in the cycle TRM1 to the on-time PWM_ON of the PWM signal.

図30で示したようにPWM信号のオンタイムPWM_ONを決定することで、ハードウェアの限界により決定される最大デューティ比よりも大きなデューディ比のPWM信号を生成することができる。なお、この処理は、図15のステップS140〜S142の処理に該当するものである。   By determining the on-time PWM_ON of the PWM signal as shown in FIG. 30, it is possible to generate a PWM signal having a duty ratio larger than the maximum duty ratio determined by the limit of the hardware. This process corresponds to the process of steps S140 to S142 in FIG.

続いて、レギュレーションループ調停処理において決定されたPWM信号のデューティ比が最小デューティ設定値よりも小さな場合のPWM信号のオンタイムPWMの決定手順を示すタイミングチャートを図31に示す。図31に示すように、この場合、レギュレーションループ調停処理により決定されたPWM信号のデューティ比に基づき生成されるオリジナルPWM信号は、PWM信号のオンタイムPWM_ONが最小デューティ設定値MIN_DUTYよりも短くなる。そのため、PWM信号のオンタイムPWM_ONを繰越オンタイムCRY_PWM_ONとして算出する。そして、周期TRM2のPWM信号のオンタイムPWM_ONとしてゼロを設定する。この場合、モータ駆動制御装置1は、周期TRM2においてオンタイムがないためBEMFタイマ割り込みを発生させない。そして、周期TRM2の次の周期TRM3において、PWM信号のオンタイムPWM_ONに周期TRM2で算出された繰越オンタイムCRY_PWM_ONを加算して周期TRM2のPWM信号のオンタイムPWM_ONを算出する。   Next, FIG. 31 shows a timing chart showing the procedure for determining the on-time PWM of the PWM signal when the duty ratio of the PWM signal determined in the regulation loop arbitration process is smaller than the minimum duty set value. As shown in FIG. 31, in this case, in the original PWM signal generated based on the duty ratio of the PWM signal determined by the regulation loop arbitration process, the on-time PWM_ON of the PWM signal becomes shorter than the minimum duty set value MIN_DUTY. Therefore, the on-time PWM_ON of the PWM signal is calculated as the carry-on on-time CRY_PWM_ON. Then, zero is set as the on-time PWM_ON of the PWM signal of the cycle TRM2. In this case, the motor drive control device 1 does not generate a BEMF timer interrupt because there is no on-time in the cycle TRM2. Then, in the period TRM3 next to the period TRM2, the on-time PWM_ON of the PWM signal in the period TRM2 is calculated by adding the carry-on on-time CRY_PWM_ON calculated in the period TRM2 to the on-time PWM_ON of the PWM signal.

図31で示したようにPWM信号のオンタイムPWM_ONを決定することで、ハードウェアの限界により決定される最小デューティ比よりも小さなデューディ比のPWM信号を生成することができる。なお、この処理は、図15のステップS143〜S145の処理に該当するものである。   By determining the on-time PWM_ON of the PWM signal as shown in FIG. 31, it is possible to generate a PWM signal having a duty ratio smaller than the minimum duty ratio determined by the hardware limit. This process corresponds to the processes in steps S143 to S145 in FIG.

続いて、レギュレーションループ調停処理において決定されたPWM信号のデューティ比が最小デューティ設定値以上、且つ、最大デューティ設定値以下の場合のPWM信号のオンタイムPWMの決定手順を示すタイミングチャートを図32に示す。図32に示すように、この場合、レギュレーションループ調停処理により決定されたPWM信号のデューティ比に基づき生成されるオリジナルPWM信号は、PWM信号のオンタイムPWM_ONが最小デューティ設定値MIN_DUTYよりも長く、かつ、最大デューティ設定値よりも短くなる。そのため、モータ駆動制御装置1は、繰越オンタイムCRY_PWM_ONにゼロを設定し、オリジナルPWM信号と同じオンタイムのPWM信号を生成する。なお、この処理は、図15のステップS146の処理に該当するものである。   Subsequently, FIG. 32 is a timing chart showing the procedure for determining the on-time PWM of the PWM signal when the duty ratio of the PWM signal determined in the regulation loop arbitration process is not less than the minimum duty set value and not more than the maximum duty set value. Show. As shown in FIG. 32, in this case, the original PWM signal generated based on the duty ratio of the PWM signal determined by the regulation loop arbitration process has an on-time PWM_ON of the PWM signal longer than the minimum duty set value MIN_DUTY, and , Becomes shorter than the maximum duty set value. Therefore, the motor drive control device 1 sets the carry-on on-time CRY_PWM_ON to zero and generates a PWM signal having the same on-time as the original PWM signal. This process corresponds to the process in step S146 of FIG.

上記説明より、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、コンパレータ積分値CMP_INTGに基づきロータの位置検出を行う。そして、ロータの位置検出結果に基づきPWM信号の状態を遷移させる。ここで、コンパレータ15は、一般的に、入力オフセット及び入力ノイズ等の誤判定要因を有する。しかし、コンパレータ積分値CMP_INTGでは、コンパレータ15において誤判定が生じたとしても、PWM信号がオルタネートPWM方式で生成されることによって交流化された複数の誤判定の成分により誤判定の成分が互いに相殺される。そのため、コンパレータ積分値CMP_INTGに基づきロータの位置を検出することで、コンパレータ15の誤判定要因によらず精度の高いロータの位置検出を行うことができる。特に、モータ4が低速で回転している場合、非通電相の電圧変化が緩やかであり、誤判定が生じる頻度が多くなる。しかし、コンパレータ積分値CMP_INTGに基づきロータの位置を検出することで、モータ4の回転速度が低い場合であっても、ロータの位置検出精度を低下させることがない。このようなことから、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1は、モータ4の回転速度によらず、精度の高いロータ位置検出を行うことが可能であり、モータ4に対する制御性を向上させることができる。   From the above description, in the motor drive control program and the motor drive control apparatus 1 according to the first embodiment, the rotor position is detected based on the comparator integral value CMP_INTG. Then, the state of the PWM signal is changed based on the rotor position detection result. Here, the comparator 15 generally has misjudgment factors such as input offset and input noise. However, in the comparator integral value CMP_INTG, even if an erroneous determination occurs in the comparator 15, the erroneous determination components are canceled out by a plurality of erroneous determination components that are converted into alternating current by generating the PWM signal in the alternate PWM method. The Therefore, by detecting the rotor position based on the comparator integral value CMP_INTG, the rotor position can be detected with high accuracy regardless of the erroneous determination factor of the comparator 15. In particular, when the motor 4 is rotating at a low speed, the voltage change in the non-energized phase is gradual, and the frequency of erroneous determination increases. However, by detecting the rotor position based on the comparator integral value CMP_INTG, even if the rotational speed of the motor 4 is low, the rotor position detection accuracy is not lowered. For this reason, the motor drive control program and the motor drive control device 1 according to the first embodiment can perform highly accurate rotor position detection regardless of the rotation speed of the motor 4. Controllability can be improved.

また、従来のモータ駆動方法では、モータを一回転させる間に利用される複数の状態間の時間差を解消することが難しい問題があった。例えば、従来のモータ駆動方法では、コンパレータを用いてセンタータップ電圧CTと駆動信号とのゼロクロス、又は、基準電圧と駆動信号とのゼロクロスを検出し、当該検出結果に基づきPWM信号の状態遷移タイミングを算出していた。例えば、コンパレータを用いてセンタータップ電圧CTと駆動信号とのゼロクロスを検出した場合、コンパレータの入力オフセット電圧等に起因して奇数番目の状態と偶数番目の状態とでゼロクロスの検出タイミングがずれて、状態間に時間差が生じる。また、コンパレータを用いて基準電圧と駆動信号とのゼロクロスを検出した場合、ステート毎に動的に基準電圧を変化させることでゼロクロスの検出タイミングのずれを解消できるが、この基準電圧の調整には再帰的な挙動を伴うため安定した状態に収束させることが難しい問題がある。状態間の時間差がある場合、相対的に長い状態では平均電力が大きくなり、相対的に短い状態では平均電力が小さくなるという現象が生じる。そして、このような現象が発生すると、モータが一回転する間の回転トルク及び回転速度が不安定になり、ビートが発生する問題が発生する問題が生じる。また、状態間の時間差がある場合、最大回転トルク又は最大回転速度が相対的に長い状態で発生するが、相対的に短い状態においては最大回転トルク又は最大回転速度を発生できない。つまり、一回転を通じて最大回転トルク又は最大回転速度を発生できず、一回転を通じて発生される平均最大トルク又は最大回転速度が低下する問題が生じる。   Further, in the conventional motor driving method, there is a problem that it is difficult to eliminate the time difference between a plurality of states used while the motor is rotated once. For example, in a conventional motor driving method, a zero cross between the center tap voltage CT and the drive signal or a zero cross between the reference voltage and the drive signal is detected using a comparator, and the state transition timing of the PWM signal is determined based on the detection result. It was calculated. For example, when the zero cross between the center tap voltage CT and the drive signal is detected using a comparator, the detection timing of the zero cross is shifted between the odd-numbered state and the even-numbered state due to the input offset voltage of the comparator, There is a time difference between the states. In addition, when a zero cross between the reference voltage and the drive signal is detected using a comparator, the deviation in the detection timing of the zero cross can be eliminated by dynamically changing the reference voltage for each state. There is a problem that it is difficult to converge to a stable state due to recursive behavior. When there is a time difference between states, the average power increases in a relatively long state, and the average power decreases in a relatively short state. When such a phenomenon occurs, the rotational torque and rotational speed during one rotation of the motor become unstable, causing a problem that a beat is generated. Further, when there is a time difference between the states, the maximum rotational torque or the maximum rotational speed is generated in a relatively long state, but in the relatively short state, the maximum rotational torque or the maximum rotational speed cannot be generated. That is, there is a problem that the maximum rotation torque or maximum rotation speed cannot be generated through one rotation, and the average maximum torque or maximum rotation speed generated through one rotation decreases.

しかし、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、現状態を含む6状態の合計値から次状態で利用される移動平均ステートPWMパルス数ST_PWM_PLS_AVEを算出する。そして、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1は、ステートPWMパルス数ST_PWM_PLSが移動平均ステートPWMパルス数ST_PWM_PLS_AVEに達した場合、コンパレータ積分値CMP_INTGがゼロに達していなくてもPWM信号を次状態に遷移させる。このように強制的にPWM信号の状態を遷移させることで、コンパレータ積分値CMP_INTGがゼロに達するまでの時間がそれ以前の6状態の平均値よりも長い場合にも、PWM信号の状態を遷移させ、状態間の時間差を解消することができる。つまり、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、コンパレータ積分値CMP_INTGに基づく制御だけでは相対的に長くなる状態の期間を強制的に短くし、それに伴って、コンパレータ積分値CMP_INTGに基づく制御だけでは相対的に短くなる状態の期間を長くする。このように、状態間の時間差を解消することで、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1は、モータをより低速まで安定して駆動することが可能になる。また、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、一回転を通じて一定の回転トルク又は回転速度を維持できるため、ビートの発生を防止することができる。さらに、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、状態間の時間差を解消できるため、一回転を通じて最大回転トルク又は最大回転速度を発揮することができ、モータの回転効率を向上させることができる。   However, in the motor drive control program and the motor drive control apparatus 1 according to the first embodiment, the moving average state PWM pulse number ST_PWM_PLS_AVE used in the next state is calculated from the total value of the six states including the current state. In the motor drive control program and the motor drive control device 1 according to the first embodiment, when the state PWM pulse number ST_PWM_PLS reaches the moving average state PWM pulse number ST_PWM_PLS_AVE, the comparator integral value CMP_INTG does not reach zero. Transition the PWM signal to the next state. By forcibly changing the state of the PWM signal in this way, even when the time until the comparator integral value CMP_INTG reaches zero is longer than the average value of the six previous states, the state of the PWM signal is changed. The time difference between states can be eliminated. That is, in the motor drive control program and the motor drive control device 1 according to the first embodiment, the period of a relatively long state is forcibly shortened only by the control based on the comparator integral value CMP_INTG. Only the control based on the value CMP_INTG is used to lengthen the period of the relatively short state. In this way, by eliminating the time difference between the states, the motor drive control program and the motor drive control device 1 according to the first embodiment can stably drive the motor to a lower speed. In addition, in the motor drive control program and the motor drive control device 1 according to the first embodiment, it is possible to maintain a constant rotational torque or rotational speed through one rotation, and thus it is possible to prevent the occurrence of beats. Further, in the motor drive control program and the motor drive control device 1 according to the first embodiment, the time difference between the states can be eliminated, so that the maximum rotation torque or the maximum rotation speed can be exhibited through one rotation, and the rotation efficiency of the motor Can be improved.

また、オルタネートPWM方式による動作を行うことで、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1は、コンパレータ15の入力オフセット及び入力ノイズがコンパレータ積分値CMP_INTGに及ぼす影響を低減することができる。これにより、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1は、モータ4が低速で回転している場合におけるPWM信号の状態遷移タイミングの精度をさらに向上させることが可能である。なお、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1のオルタネートPWM方式の動作は、同期整流動作を含み、電力効率を向上させる効果がある。   Further, by performing the operation by the alternate PWM method, the motor drive control program and the motor drive control device 1 according to the first embodiment reduce the influence of the input offset and the input noise of the comparator 15 on the comparator integral value CMP_INTG. Can do. Thereby, the motor drive control program and the motor drive control device 1 according to the first embodiment can further improve the accuracy of the state transition timing of the PWM signal when the motor 4 rotates at a low speed. Note that the alternate PWM method operation of the motor drive control program and the motor drive control device 1 according to the first embodiment includes a synchronous rectification operation, and has an effect of improving power efficiency.

また、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、PWM信号のデューティ比がハードウェア上の最大デューティ比又は最小デューティ比を超えたものであったとしても、複数の周期のPWM信号を利用して一つのパルスを生成する。これにより、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、ハードウェア上の最大デューティ比又は最小デューティ比の制限を超えたデューティ比のPWM信号を生成することができる。また、PWM信号のデューティ比の設定範囲が広いことから、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1は従来の一般的なモータ制御装置よりもモータ4の制御範囲を拡大することができる。   Further, in the motor drive control program and the motor drive control device 1 according to the first embodiment, even if the duty ratio of the PWM signal exceeds the maximum duty ratio or the minimum duty ratio on hardware, a plurality of cycles One pulse is generated using the PWM signal. As a result, the motor drive control program and the motor drive control apparatus 1 according to the first embodiment can generate a PWM signal having a duty ratio that exceeds the limit of the maximum duty ratio or the minimum duty ratio on hardware. Since the setting range of the duty ratio of the PWM signal is wide, the motor drive control program and the motor drive control device 1 according to the first embodiment expand the control range of the motor 4 as compared with the conventional general motor control device. be able to.

また、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、ロータのスタッキングを防止することができる。スタッキングは、ロータの加速量が高すぎると、ロータの回転速度が速度制御を超えてオーバーシュートしロータ回転とステータ回転磁界の位相差が180°となる状態で発生する。180°位相差を持つ信号が利得1以上で負帰還すると異常発振(ロータスタック)の原因となる。減速時も同様である。しかし、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、図11のステップS101で示したように、現在の回転速度に係数を乗じて得られた最大許容加速度又は最大許容減速度に応じて速度誤差の負帰還量を制限する。つまり、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、加速度又は減速度を一定に制限する。つまり、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、加速度/減速度を制限することで、負帰還量を制限し、制御速度から回転速度のオーバーシュート/アンダーシュートを防ぐことができる。つまり、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、ロータがスタックする原因を除去し、ロータのスタッキングを防止することができる。   In the motor drive control program and the motor drive control device 1 according to the first embodiment, stacking of the rotor can be prevented. When the acceleration amount of the rotor is too high, stacking occurs when the rotational speed of the rotor exceeds the speed control and overshoots and the phase difference between the rotor rotation and the stator rotating magnetic field is 180 °. If a signal having a phase difference of 180 ° is negatively fed back with a gain of 1 or more, abnormal oscillation (rotor stack) may be caused. The same applies to deceleration. However, in the motor drive control program and the motor drive control device 1 according to the first embodiment, as shown in step S101 of FIG. 11, the maximum allowable acceleration or the maximum allowable reduction obtained by multiplying the current rotational speed by a coefficient. Limit the amount of negative feedback of speed error according to speed. That is, in the motor drive control program and the motor drive control device 1 according to the first embodiment, the acceleration or deceleration is limited to a certain level. That is, in the motor drive control program and the motor drive control device 1 according to the first embodiment, the negative feedback amount is limited by limiting the acceleration / deceleration, and the overshoot / undershoot of the rotation speed is prevented from the control speed. be able to. That is, in the motor drive control program and the motor drive control device 1 according to the first embodiment, it is possible to remove the cause of the rotor stacking and prevent the rotor from stacking.

さらに、また、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、ロータのスタッキングに伴うモータの唸りを防止することができる。スタッキング発生後の唸り音防止は、速度制御ループによって実施される。スタッキング発生中は、本来の回転速度範囲を超えて回転磁界が発生する(ステートが短時間で高速に変化する)。この時、速度制御ループは、PWMデューティを低下させる事で回転速度を低下させようとし(ロータが無損失で回転している事と等価なので、実際にはスタッキング中の回転磁界の回転速度は低下しない)、結果としてPWMデューティが限りなくゼロに近づき、駆動電力が低下し唸り音が低下する結果となる。   Furthermore, in the motor drive control program and the motor drive control device 1 according to the first embodiment, it is possible to prevent the motor from being twisted due to the stacking of the rotor. Prevention of a roaring sound after the occurrence of stacking is performed by a speed control loop. During stacking, a rotating magnetic field is generated beyond the original rotational speed range (the state changes rapidly in a short time). At this time, the speed control loop tries to reduce the rotational speed by reducing the PWM duty (this is equivalent to rotating the rotor without loss, so the rotational speed of the rotating magnetic field during stacking actually decreases. As a result, the PWM duty approaches zero as much as possible, resulting in a decrease in driving power and squealing noise.

また、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、スタックロータ検出設定値よりも6ステート合計PWMパルス数TTL_ST_PWM_PLSが小さくなったことに応じて、スタッキングが発生したことを検出する。そして、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、モータ4のスタッキングが検出された場合は、再度初期状態から制御を再開することができる(図3のステップS7)。これにより、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、モータ4をスタッキング状態から脱出させることができる。   Further, in the motor drive control program and the motor drive control apparatus 1 according to the first embodiment, it is detected that stacking has occurred in response to the 6-state total PWM pulse number TTL_ST_PWM_PLS being smaller than the stack rotor detection set value. To do. In the motor drive control program and the motor drive control apparatus 1 according to the first embodiment, when stacking of the motor 4 is detected, the control can be restarted from the initial state again (step S7 in FIG. 3). Thereby, in the motor drive control program and the motor drive control apparatus 1 according to the first embodiment, the motor 4 can be made to escape from the stacking state.

また、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、タイマ割り込みのみ(上記説明では、BEMFタイマ割り込みと周期タイマ割り込み)でPWM信号のオンステートとオフステート切り換え及びPWM信号の周期の切り換えを行う。より具体的には、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、PWM信号の周期を次周期に移行させる周期タイマ割り込みの発生に応じて、次周期のPWM信号のデューティ比の決定と、状態を遷移させるか否かについて判断する。また、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、BEMFタイマ割り込みに応じて、コンパレータ15の出力信号CMP_OUTの値のサンプリング及びPWM信号のオンステートからオフステートへの切り換えを行う。このように、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、割り込み要因をタイマ割り込みだけとすることで、演算コア10に要求される演算能力の小さくすることができる。つまり、演算能力の高い演算コアを必要としないため、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1は、より多くのマイクロコンピュータにおいて実行又は実現することができる。   Further, in the motor drive control program and the motor drive control device 1 according to the first exemplary embodiment, only the timer interrupt (in the above description, the BEMF timer interrupt and the periodic timer interrupt) is used to switch the PWM signal between the on state and the off state and the PWM signal. Change the cycle. More specifically, in the motor drive control program and the motor drive control device 1 according to the first embodiment, the duty of the PWM signal of the next cycle is generated in response to the occurrence of a cycle timer interrupt that shifts the cycle of the PWM signal to the next cycle. It is determined whether to determine the ratio and change the state. In the motor drive control program and the motor drive control device 1 according to the first embodiment, the value of the output signal CMP_OUT of the comparator 15 is sampled and the PWM signal is switched from the on state to the off state in response to the BEMF timer interrupt. Do. As described above, in the motor drive control program and the motor drive control device 1 according to the first embodiment, it is possible to reduce the computing ability required for the computing core 10 by setting only the interrupt factor as the interrupt factor. That is, since a computing core with high computing capability is not required, the motor drive control program and the motor drive control device 1 according to the first embodiment can be executed or realized in more microcomputers.

さらに、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、BEMFタイマ割り込みに応じてコンパレータ15の出力信号CMP_OUTをサンプリングする。つまり、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、常に、PWM信号のオンステートに最も近い時点においてコンパレータ15の出力信号CMP_OUTをサンプリングすることができる。一般的に、PWM信号のオンステートの終期が最もセンタータップ電圧CT及び比較対象検出信号SPの値が安定する時点であり、このタイミングでコンパレータ15の出力信号CMP_OUTをサンプリングすることで、より精度の高いゼロクロス検出を行うことが可能である。   Further, in the motor drive control program and the motor drive control apparatus 1 according to the first embodiment, the output signal CMP_OUT of the comparator 15 is sampled in response to the BEMF timer interrupt. That is, the motor drive control program and the motor drive control device 1 according to the first embodiment can always sample the output signal CMP_OUT of the comparator 15 at the time closest to the on-state of the PWM signal. In general, the end of the on-state of the PWM signal is the time when the values of the center tap voltage CT and the comparison target detection signal SP are most stable. By sampling the output signal CMP_OUT of the comparator 15 at this timing, more accurate accuracy can be obtained. High zero cross detection is possible.

ここで、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、BEMFタイマ割り込みに応じてコンパレータ15の出力信号CMP_OUTをサンプリングするが、これは、PWMデモジュレーション処理の動作に相当する。このように、PWMデモジュレーション処理によりコンパレータ15の出力信号CMP_OUTをサンプリングことで、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、PWM信号のパルスをデジタルサンプリングによるバンドノッチフィルタリングしているのでアナログフィルタを必要としない。これは、BEMFタイマ割り込みが発生するタイミングは、PWM信号のオンステートの終期の直前であるため、PWM信号のオフステートで生成されるパルスの影響がサンプリングする値に影響を与えないためである。このようなことから、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1によれば、PWM信号のパルスをフィルタリングするアナログフィルタ等を設ける必要がないため、回路設計の容易化、実装面積の小面積化を実現することができる。   Here, in the motor drive control program and the motor drive control apparatus 1 according to the first embodiment, the output signal CMP_OUT of the comparator 15 is sampled in response to the BEMF timer interrupt, which corresponds to the operation of the PWM demodulation process. . In this way, by sampling the output signal CMP_OUT of the comparator 15 by the PWM demodulation process, the motor drive control program and the motor drive control device 1 according to the first embodiment perform band notch filtering on the pulse of the PWM signal by digital sampling. Because it does not need an analog filter. This is because the timing at which the BEMF timer interrupt occurs is immediately before the end of the on-state of the PWM signal, and therefore the influence of the pulse generated in the off-state of the PWM signal does not affect the value to be sampled. For this reason, according to the motor drive control program and the motor drive control apparatus 1 according to the first embodiment, it is not necessary to provide an analog filter or the like for filtering the pulse of the PWM signal. It is possible to reduce the area.

また、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、セレクタ14により3つの駆動信号のうち非通電相となる駆動信号を比較対象駆動信号SPとして選択し、1つのコンパレータにより比較対象駆動信号SPとセンタータップ電圧CTとの比較処理を行う。つまり、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、3相の駆動信号に対する比較動作においてチャンネル間誤差が生じない。このようなことから、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1によれば、比較対象駆動信号SPとセンタータップ電圧CTとの比較精度を高めることができる。   In the motor drive control program and the motor drive control device 1 according to the first embodiment, the selector 14 selects a drive signal that is a non-conduction phase among the three drive signals as the comparison target drive signal SP, and the single comparator compares the drive signal SP. A comparison process between the comparison target drive signal SP and the center tap voltage CT is performed. That is, in the motor drive control program and the motor drive control device 1 according to the first embodiment, no channel error occurs in the comparison operation for the three-phase drive signals. For this reason, according to the motor drive control program and the motor drive control device 1 according to the first embodiment, it is possible to improve the comparison accuracy between the comparison target drive signal SP and the center tap voltage CT.

また、従来のモータの制御方法では、PWM信号のオンステートからオフステートへの切り換えは、駆動電流のモニタ結果に応じて行われる。例えば、従来のモータの制御方法では、駆動電流が基準電流値を超えたことに応じてPWM信号をオンステートからオフステートに移行させる。このとき、一般的な制御ループでは、駆動電流をモニタした後、そのモニタ結果が出力に反映されるまでの間に所定の遅延時間が発生する。そして、PWM生成を行う場合、この遅延時間により、PWM信号の最小デューティ比が決定される。   In the conventional motor control method, the PWM signal is switched from the on state to the off state in accordance with the monitoring result of the drive current. For example, in the conventional motor control method, the PWM signal is shifted from the on state to the off state in response to the drive current exceeding the reference current value. At this time, in a general control loop, a predetermined delay time is generated after the drive current is monitored and the monitoring result is reflected in the output. When PWM generation is performed, the minimum duty ratio of the PWM signal is determined by this delay time.

ここで、定電流駆動制御を行う場合は、負荷トルクが重くなった場合パルス入力電流を一定に維持しながら平均入力電流を減少させます。このとき、平均出力駆動電流は一定であるためロータの永久磁石が減磁される可能性を防止できます。また、負荷の静止トルクが一定の駆動電流で賄える駆動トルクよりも重い場合、モータ4を回転始動させることは出来ません。また、ロータが機械的に拘束された場合、最小デューティ比よりも短いパルス幅の電流を作ることが出来ない場合、電流制限が機能しなくなる問題が生じます。電流制限が機能しない場合、パワーMOSFETが焼損する原因となります。また、この状態が継続された場合、ロータの温度上昇により永久磁石が減磁される問題があります。   Here, when performing constant current drive control, the average input current is reduced while keeping the pulse input current constant when the load torque increases. At this time, since the average output drive current is constant, it is possible to prevent the rotor permanent magnet from being demagnetized. In addition, if the static torque of the load is heavier than the driving torque that can be covered with a constant driving current, the motor 4 cannot be started. Also, if the rotor is mechanically constrained, the current limit will not function if a current with a pulse width shorter than the minimum duty ratio cannot be generated. If the current limit does not work, the power MOSFET may burn out. If this state continues, there is a problem that the permanent magnet is demagnetized due to the temperature rise of the rotor.

また、駆動電流のモニタ結果に基づきPWM信号をオフステートとする場合、電流制限によるパワーMOSFETのターンオフタイミングがいつ発生するかが負荷状態により変化する。そのため、非通電相の駆動信号の電圧値をいつのタイミングでサンプリングするのかが不確定となるもう一つ問題点が生じる。結果として定電流駆動制御がアクティブとなったとたん、センサレス回転制御を継続させることが出来なくなり、モータ4の回転が検出できなかった場合、一旦駆動を停止させて時間を置いて再起動させるシーケンスが必要となります。   Further, when the PWM signal is turned off based on the monitoring result of the drive current, when the turn-off timing of the power MOSFET due to current limitation occurs depends on the load state. For this reason, another problem arises in which it is uncertain at what timing the voltage value of the drive signal of the non-energized phase is sampled. As a result, as soon as the constant current drive control becomes active, it becomes impossible to continue the sensorless rotation control, and if the rotation of the motor 4 cannot be detected, the sequence of temporarily stopping the drive and restarting it after a while Required.

一方、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1における定電流駆動制御では、負荷トルクが重くなった時にパルス入力電流が増加しますが平均入力電流を一定に維持することが可能です。そして、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1は、平均出力駆動電流を増加させて定電力でモータ4を回転させる。これにより、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1では、重い静止トルクが負荷となった場合であってもロータを回転させることが可能になる。   On the other hand, in the motor drive control program and the constant current drive control in the motor drive control device 1 according to the first embodiment, the pulse input current increases when the load torque increases, but the average input current can be kept constant. Is possible. The motor drive control program and the motor drive control device 1 according to the first embodiment increase the average output drive current and rotate the motor 4 with constant power. Thereby, in the motor drive control program and the motor drive control apparatus 1 according to the first embodiment, it is possible to rotate the rotor even when heavy static torque becomes a load.

また、モータ4が機械的に拘束され最小デューティ比よりも短いパルス幅の電流が要求された時、実施の形態1にかかるモータ駆動制御プログラム及びモータ駆動制御装置1は、PWMプリモジュレータが0%デューティのスキップパルスを挿入することにより、結果として平均入力電流が一定に保持される様に制御を行う。これにより、パワーMOSFETが焼損される可能性を防ぐことができる。   Further, when the motor 4 is mechanically restricted and a current having a pulse width shorter than the minimum duty ratio is requested, the motor drive control program and the motor drive control device 1 according to the first embodiment have a PWM premodulator of 0%. By inserting a duty skip pulse, control is performed so that the average input current is held constant as a result. Thereby, the possibility that the power MOSFET is burned out can be prevented.

また、PWMデモジュレータ21がPWMモジュレータ22を駆動する設計では、パワーMOSFETを何時ターンオフさせるかが確定的である為、定電流駆動制御がアクティブとなった状態においても非通電相の駆動信号の電圧を適切なタイミングでサンプリングさせることが可能であり、回転を継続させることが出来ます。   Further, in the design in which the PWM demodulator 21 drives the PWM modulator 22, it is determinative when the power MOSFET is turned off. Can be sampled at an appropriate timing, and rotation can be continued.

実施の形態2
実施の形態2では、実施の形態1で説明したオルタネートPWM方式の動作の変形例について説明する。そこで、実施の形態2にかかるモータ駆動制御プログラムが生成するPWM信号に基づくオルタネートPWM方式の動作を説明するための図を図33〜図38に示す。なお、図33〜図38は、図17〜図22の回路図に対応するものであり、図33〜図38において図17〜図22に対応するものについては同じ符号を付して説明を省略する。
Embodiment 2
In the second embodiment, a modified example of the operation of the alternate PWM method described in the first embodiment will be described. FIG. 33 to FIG. 38 are diagrams for explaining the operation of the alternate PWM method based on the PWM signal generated by the motor drive control program according to the second embodiment. 33 to 38 correspond to the circuit diagrams of FIGS. 17 to 22. In FIGS. 33 to 38, components corresponding to FIGS. 17 to 22 are denoted by the same reference numerals and description thereof is omitted. To do.

図33は、実施の形態2にかかるモータ駆動制御装置の状態0におけるオルタネートPWM方式の動作を説明するためのドライバ回路のブロック図である。図33に示すように、実施の形態2では、状態0のハイサイドオフステートにおいてローサイドトランジスタNU、NVに加えてローサイドトランジスタNWをオンさせる。また、実施の形態2では、状態0のローサイドオフステートにおいてハイサイドトランジスタPU、PVに加えてハイサイドトランジスタPWをオンさせる。   FIG. 33 is a block diagram of a driver circuit for explaining the operation of the alternate PWM method in the state 0 of the motor drive control device according to the second embodiment. As shown in FIG. 33, in the second embodiment, the low side transistor NW is turned on in addition to the low side transistors NU and NV in the high side off state of the state 0. In the second embodiment, the high side transistor PW is turned on in addition to the high side transistors PU and PV in the low side off state of the state 0.

図34は、実施の形態2にかかるモータ駆動制御装置の状態1におけるオルタネートPWM方式の動作を説明するためのドライバ回路のブロック図である。図34に示すように、実施の形態2では、状態1のハイサイドオフステートにおいてローサイドトランジスタNU、NWに加えてローサイドトランジスタNVをオンさせる。また、実施の形態2では、状態1のローサイドオフステートにおいてハイサイドトランジスタPU、PWに加えてハイサイドトランジスタPVをオンさせる。   FIG. 34 is a block diagram of a driver circuit for explaining the operation of the alternate PWM method in the state 1 of the motor drive control apparatus according to the second embodiment. As shown in FIG. 34, in the second embodiment, the low side transistor NV is turned on in addition to the low side transistors NU and NW in the high side off state of state 1. In the second embodiment, in the low-side off state of state 1, the high-side transistor PV is turned on in addition to the high-side transistors PU and PW.

図35は、実施の形態2にかかるモータ駆動制御装置の状態2におけるオルタネートPWM方式の動作を説明するためのドライバ回路のブロック図である。図35に示すように、実施の形態2では、状態2のハイサイドオフステートにおいてローサイドトランジスタNV、NWに加えてローサイドトランジスタNUをオンさせる。また、実施の形態2では、状態2のローサイドオフステートにおいてハイサイドトランジスタPV、PWに加えてハイサイドトランジスタPUをオンさせる。   FIG. 35 is a block diagram of a driver circuit for explaining the operation of the alternate PWM method in the state 2 of the motor drive control apparatus according to the second embodiment. As shown in FIG. 35, in the second embodiment, the low-side transistor NU is turned on in addition to the low-side transistors NV and NW in the high-side off state of state 2. In the second embodiment, in the low-side off state of state 2, the high-side transistor PU is turned on in addition to the high-side transistors PV and PW.

図36は、実施の形態2にかかるモータ駆動制御装置の状態3におけるオルタネートPWM方式の動作を説明するためのドライバ回路のブロック図である。図36に示すように、実施の形態2では、状態3のハイサイドオフステートにおいてローサイドトランジスタNV、NUに加えてローサイドトランジスタNWをオンさせる。また、実施の形態2では、状態3のローサイドオフステートにおいてハイサイドトランジスタPV、PUに加えてハイサイドトランジスタPWをオンさせる。   FIG. 36 is a block diagram of a driver circuit for explaining the operation of the alternate PWM method in the state 3 of the motor drive control device according to the second embodiment. As shown in FIG. 36, in the second embodiment, the low side transistor NW is turned on in addition to the low side transistors NV and NU in the high side off state of the state 3. In the second embodiment, the high side transistor PW is turned on in addition to the high side transistors PV and PU in the low side off state of the state 3.

図37は、実施の形態2にかかるモータ駆動制御装置の状態4におけるオルタネートPWM方式の動作を説明するためのドライバ回路のブロック図である。図37に示すように、実施の形態2では、状態4のハイサイドオフステートにおいてローサイドトランジスタNW、NUに加えてローサイドトランジスタNVをオンさせる。また、実施の形態2では、状態4のローサイドオフステートにおいてハイサイドトランジスタPW、PUに加えてハイサイドトランジスタPVをオンさせる。   FIG. 37 is a block diagram of a driver circuit for explaining the operation of the alternate PWM method in the state 4 of the motor drive control apparatus according to the second embodiment. As shown in FIG. 37, in the second embodiment, the low-side transistor NV is turned on in addition to the low-side transistors NW and NU in the high-side off state of state 4. In the second embodiment, the high side transistor PV is turned on in addition to the high side transistors PW and PU in the low side off state of the state 4.

図38は、実施の形態2にかかるモータ駆動制御装置の状態5におけるオルタネートPWM方式の動作を説明するためのドライバ回路のブロック図である。図37に示すように、実施の形態2では、状態5のハイサイドオフステートにおいてローサイドトランジスタNV、NWに加えてローサイドトランジスタNUをオンさせる。また、実施の形態2では、状態5のローサイドオフステートにおいてハイサイドトランジスタPV、PWに加えてハイサイドトランジスタPUをオンさせる。   FIG. 38 is a block diagram of the driver circuit for explaining the operation of the alternate PWM method in the state 5 of the motor drive control apparatus according to the second embodiment. As shown in FIG. 37, in the second embodiment, the low-side transistor NU is turned on in addition to the low-side transistors NV and NW in the high-side off state of state 5. In the second embodiment, in the low-side off state of state 5, the high-side transistor PU is turned on in addition to the high-side transistors PV and PW.

このようなオルタネートPWM方式の動作を行うことで、実施の形態1では、オフ状態であった非通電相に対応した駆動段回路のトランジスタのボディダイオードで消費されたフライバック電流を、オン状態のトランジスタにおいて消費することが可能になる。このような動作は、ロータに対する回生ブレーキとして機能する。そこで、回生ブレーキ動作の有無による入出力特性を比較するグラフを図39に示す。図39に示すように、回生ブレーキ動作を行った場合、入力される電力が小さい場合の回転速度が回生ブレーキ動作を行わない場合に比べて低くなっていることがわかる。また、入力電力の範囲が同じである場合、モータ4の回転速度の制御範囲が回生ブレーキ動作を行った場合の方が広くなっていることがわかる。   By performing such an operation of the alternate PWM method, in the first embodiment, the flyback current consumed by the body diode of the transistor of the drive stage circuit corresponding to the non-energized phase that is in the OFF state is changed to the ON state. It can be consumed in the transistor. Such an operation functions as a regenerative brake for the rotor. Therefore, FIG. 39 shows a graph comparing the input / output characteristics with and without the regenerative braking operation. As shown in FIG. 39, it can be seen that when the regenerative braking operation is performed, the rotation speed when the input power is small is lower than when the regenerative braking operation is not performed. In addition, when the range of the input power is the same, it can be seen that the rotation speed range of the motor 4 is wider when the regenerative braking operation is performed.

ここで、回生ブレーキ動作を伴うオルタネートPWM方式の動作を行った場合のPWM信号について説明する。そこで、実施の形態2にかかるモータ駆動制御装置においてデューティ比が50%のPWM信号を生成した場合の状態0の駆動信号及びセンタータップ電圧を説明するタイミングチャートを図40に示す。図40に示すように、回生ブレーキ動作を行う場合、状態0において非通電相となるW相の駆動信号に対応するPWM信号WH、WLにもパルスを与える。より具体的には、PWM信号WHは、ローサイドオフステートの期間においてローレベルとなり、その他の期間はハイレベルを維持する。また、PWM信号WLは、ハイサイドオフステートの期間においてハイレベルとなり、その他の期間はローレベルを維持する。これにより、ハイサイドオフステート期間とローサイドオフステート期間において回生ブレーキ動作が行われる。   Here, a description will be given of a PWM signal when an alternate PWM system operation involving a regenerative braking operation is performed. FIG. 40 is a timing chart for explaining the state 0 drive signal and the center tap voltage when a PWM signal with a duty ratio of 50% is generated in the motor drive control apparatus according to the second embodiment. As shown in FIG. 40, when the regenerative braking operation is performed, a pulse is also given to the PWM signals WH and WL corresponding to the W-phase drive signal that is the non-energized phase in the state 0. More specifically, the PWM signal WH is at a low level during the low side off-state period, and is maintained at a high level during other periods. Further, the PWM signal WL is at a high level during the high-side off-state period, and is maintained at a low level during other periods. Thereby, the regenerative braking operation is performed in the high-side off-state period and the low-side off-state period.

続いて、実施の形態2にかかるモータ駆動制御装置においてデューティ比が50%のPWM信号を生成した場合の状態0〜状態5の駆動信号及びセンタータップ電圧の動作を説明するタイミングチャートを図41に示す。図41に示すように、状態1〜状態5においても状態0と同様に非通電相となる駆動信号に対応するPWM信号に回生ブレーキ動作のためのパルスが与えられる。   Subsequently, FIG. 41 is a timing chart for explaining the operation of the drive signal and the center tap voltage in the state 0 to the state 5 when the PWM signal having the duty ratio of 50% is generated in the motor drive control device according to the second embodiment. Show. As shown in FIG. 41, in the state 1 to the state 5, similarly to the state 0, the pulse for the regenerative braking operation is given to the PWM signal corresponding to the drive signal that is in the non-energized phase.

上記説明より、実施の形態2にかかるモータ駆動制御プログラムによれば、ハイサイドオフステート期間においてローサイドトランジスタをすべてオンさせ、ローサイドオフステート期間においてハイサイドトランジスタをすべてオンさせる。これにより、実施の形態2にかかるモータ駆動制御プログラムは、ハイサイドオフステート期間とローサイドオフステート期間において回生ブレーキ動作を行う。そして、この回生ブレーキ動作により、モータ4の回転速度が抑制されるため、同じ入力電力に対してより低い回転速度でモータ4を回転させることができる。このとき、回生ブレーキの効力は、PWM信号のデューティ比が小さいほど大きくなる。つまり、回生ブレーキ動作を行うことで、モータ4の回転速度は、低速側においてより低回転になり、高速側では回生ブレーキ動作がない場合と同等となる。従って、実施の形態2にかかるモータ駆動制御プログラムによれば、同じ入力電力の範囲に対して、モータ4の回転速度の制御範囲を広げることができる。   From the above description, according to the motor drive control program according to the second embodiment, all the low-side transistors are turned on in the high-side off-state period, and all the high-side transistors are turned on in the low-side off-state period. Thereby, the motor drive control program according to the second embodiment performs the regenerative braking operation in the high side off-state period and the low side off-state period. Since the regenerative braking operation suppresses the rotation speed of the motor 4, the motor 4 can be rotated at a lower rotation speed with respect to the same input power. At this time, the effectiveness of the regenerative brake increases as the duty ratio of the PWM signal decreases. That is, by performing the regenerative braking operation, the rotation speed of the motor 4 becomes lower on the low speed side and is equivalent to the case where there is no regenerative braking operation on the high speed side. Therefore, according to the motor drive control program according to the second embodiment, the control range of the rotation speed of the motor 4 can be expanded with respect to the same input power range.

なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、本願発明は、別の観点から以下の発明を含む。   Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention. For example, the present invention includes the following inventions from another viewpoint.

(付記1)
モータの回転位置に応じて生成するPWM信号の状態を遷移させる演算コアと、
ドライバ回路を介して前記PWM信号をモータに出力する出力インタフェースと、
前記ドライバ回路が前記PWM信号に基づき生成した3相の駆動信号から選択した比較対象検出信号と前記モータのセンタータップ電圧とを比較するコンパレータと、を有するプロセッサにおいて前記演算コアで実行されるモータの駆動制御プログラムであって、
前記PWM信号の現状態の前記PWM信号のパルス数をカウントしたPWM信号カウント数が、前記モータを一回転させる間に遷移した各状態における前記PWM信号の平均パルス数を示す平均PWM信号パルス数に達したことに応じて前記モータの回転位置が遷移したことを検出し、
当該検出結果に応じて、前記PWM信号の状態を次状態に遷移させるモータの駆動制御プログラム。
(Appendix 1)
An arithmetic core that transitions the state of the PWM signal generated according to the rotational position of the motor;
An output interface for outputting the PWM signal to the motor via a driver circuit;
A comparator that compares a comparison target detection signal selected from the three-phase drive signal generated by the driver circuit based on the PWM signal with a center tap voltage of the motor, and the motor that is executed by the arithmetic core in the processor. A drive control program comprising:
The PWM signal count number obtained by counting the number of pulses of the PWM signal in the current state of the PWM signal is an average PWM signal pulse number indicating the average number of pulses of the PWM signal in each state that has been changed during one rotation of the motor. Detecting that the rotational position of the motor has transitioned in response to reaching,
A motor drive control program for changing the state of the PWM signal to the next state according to the detection result.

(付記2)
前記コンパレータの出力が前記比較対象検出信号よりも前記センタータップ電圧の方が低いことを示す場合はコンパレータ積分値をカウントアップし、前記コンパレータの出力が前記比較対象検出信号よりも前記センタータップ電圧の方が高いことを示す場合はコンパレータ積分値をカウントダウンし、
前記PWM信号の現状態の前記PWM信号のパルス数をカウントしたPWM信号カウント数が、前記平均PWM信号パルス数に達する前に、前記コンパレータ積分値がカウント初期値に達した場合、前記コンパレータ積分値に基づき前記モータの回転位置が遷移したことを検出し、
当該検出結果に応じて、前記PWM信号の状態を次状態に遷移させる付記1に記載のモータの駆動制御プログラム。
(Appendix 2)
When the output of the comparator indicates that the center tap voltage is lower than the comparison target detection signal, the comparator integral value is counted up, and the output of the comparator is higher than the comparison target detection signal. Count down the comparator integral,
When the PWM signal count number obtained by counting the number of pulses of the PWM signal in the current state of the PWM signal reaches the initial count value before the average PWM signal pulse number, the comparator integral value Detecting that the rotational position of the motor has changed based on
The motor drive control program according to appendix 1, wherein the state of the PWM signal is changed to the next state according to the detection result.

(付記3)
モータの回転位置に応じて生成するPWM信号の状態を遷移させる演算コアと、
ドライバ回路を介して前記PWM信号をモータに出力する出力インタフェースと、
前記ドライバ回路が前記PWM信号に基づき生成した3相の駆動信号から選択した比較対象検出信号と前記モータのセンタータップ電圧とを比較するコンパレータと、を有するプロセッサにおいて前記演算コアで実行されるモータの駆動制御プログラムであって、
前記ドライバに流れる駆動電流と電流指示値との間の誤差を示す電流誤差又は前記モータの回転速度と回転速度指示値との間の誤差を示す回転誤差から前記PWM信号のデューティ比を算出し、
前記デューティ比から計算される前記PWM信号のパルス幅が最小パルス幅を下回った場合、複数の周期の前記PWM信号のオン期間を合算して1つのオンパルスを生成し、最大パルス幅を超えた場合、複数の周期の前記PWM信号のオフ期間を合算して1つのオフパルスを生成するモータの駆動制御プログラム。
(Appendix 3)
An arithmetic core that transitions the state of the PWM signal generated according to the rotational position of the motor;
An output interface for outputting the PWM signal to the motor via a driver circuit;
A comparator that compares a comparison target detection signal selected from the three-phase drive signal generated by the driver circuit based on the PWM signal with a center tap voltage of the motor, and the motor that is executed by the arithmetic core in the processor. A drive control program comprising:
A duty ratio of the PWM signal is calculated from a current error indicating an error between a drive current flowing through the driver and a current instruction value or a rotation error indicating an error between the rotation speed of the motor and the rotation speed instruction value;
When the pulse width of the PWM signal calculated from the duty ratio is less than the minimum pulse width, one ON pulse is generated by adding the ON periods of the PWM signals having a plurality of cycles, and exceeds the maximum pulse width A motor drive control program for generating one off pulse by adding off periods of the PWM signals having a plurality of cycles.

(付記4)
モータの回転位置に応じて生成するPWM信号の状態を遷移させる演算コアと、
ドライバ回路を介して前記PWM信号をモータに出力する出力インタフェースと、
前記ドライバ回路が前記PWM信号に基づき生成した3相の駆動信号から選択した比較対象検出信号と前記モータのセンタータップ電圧とを比較するコンパレータと、を有するプロセッサにおいて前記演算コアで実行されるモータの駆動制御プログラムであって、
前記モータの回転速度と回転速度指示値との間の誤差を示す回転誤差が予め設定される最大許容加速度を超えた場合、前記回転誤差として前記最大許容加速度とし、
前記回転誤差が予め設定される最大許容減速度よりも小さくなった場合、前記回転誤差として前記最大許容減速度とし、
前記回転誤差に基づき前記PWM信号のデューティ比を算出し、
当該デューティ比を有する前記PWM信号を生成するモータの駆動制御プログラム。
(Appendix 4)
An arithmetic core that transitions the state of the PWM signal generated according to the rotational position of the motor;
An output interface for outputting the PWM signal to the motor via a driver circuit;
A comparator that compares a comparison target detection signal selected from the three-phase drive signal generated by the driver circuit based on the PWM signal with a center tap voltage of the motor, and the motor that is executed by the arithmetic core in the processor. A drive control program comprising:
When a rotation error indicating an error between the rotation speed of the motor and a rotation speed instruction value exceeds a preset maximum allowable acceleration, the rotation error is the maximum allowable acceleration,
When the rotation error is smaller than a preset maximum allowable deceleration, the rotation error is the maximum allowable deceleration,
Calculate the duty ratio of the PWM signal based on the rotation error,
A motor drive control program for generating the PWM signal having the duty ratio.

(付記5)
モータの回転位置に応じて生成するPWM信号の状態を遷移させる演算コアと、
ドライバ回路を介して前記PWM信号をモータに出力する出力インタフェースと、
前記ドライバ回路が前記PWM信号に基づき生成した3相の駆動信号から選択した比較対象検出信号と前記モータのセンタータップ電圧とを比較するコンパレータと、を有するプロセッサにおいて前記演算コアで実行されるモータの駆動制御プログラムであって、
前記モータを一回転させる期間に用いられる複数の状態の前記PWM信号のパルス数を示す合計PWM信号パルス数が予め設定されたロータスタック検出値よりも小さくなったことに応じて前記モータの停止状態を検出するモータの駆動制御プログラム。
(Appendix 5)
An arithmetic core that transitions the state of the PWM signal generated according to the rotational position of the motor;
An output interface for outputting the PWM signal to the motor via a driver circuit;
A comparator that compares a comparison target detection signal selected from the three-phase drive signal generated by the driver circuit based on the PWM signal with a center tap voltage of the motor, and the motor that is executed by the arithmetic core in the processor. A drive control program comprising:
The stop state of the motor in response to the total number of PWM signal pulses indicating the number of pulses of the PWM signal in a plurality of states used during a period of one rotation of the motor being smaller than a preset rotor stack detection value Drive control program for detecting motor.

(付記6)
前記ロータスタック検出値は、前記モータに対して規定される最高回転速度で前記モータが一回転する期間に生成される前記PWM信号のパルス数が設定される付記5に記載のモータ駆動制御プログラム。
(Appendix 6)
The motor drive control program according to appendix 5, wherein the rotor stack detection value is set with the number of pulses of the PWM signal generated during a period in which the motor makes one rotation at a maximum rotation speed defined for the motor.

(付記7)
電源配線と接地配線との間にハイサイドトランジスタとローサイドトランジスタとが直列に接続される3組の駆動段回路を有し、選択された2組の前記駆動段回路の前記ハイサイドトランジスタと前記ローサイドトランジスタとが排他的に導通状態に制御されるドライバ回路に対してPWM信号を出力し、モータの回転位置に応じて前記PWM信号の状態を遷移させる演算コアと、
前記ドライバ回路が前記PWM信号に基づき生成した3相の駆動信号のうち非選択の前記駆動段回路が出力する比較対象検出信号と前記モータのセンタータップ電圧とを比較するコンパレータと、を有するプロセッサにおいて前記演算コアで実行されるモータの駆動制御プログラムであって、
前記PWM信号により、
前記3組の駆動段回路のうちの1組の駆動段回路のハイサイドトランジスタを導通状態とし、前記3組の駆動段回路の他の1組の駆動段回路のローサイドトランジスタを導通状態とするオンステートと、
前記オンステートにおいてハイサイドトランジスタが導通状態される駆動段回路のローサイドトランジスタを導通状態とし、前記他の1組の駆動段回路のローサイドトランジスタを導通状態とするハイサイドオフステートと、
前記1組の駆動段回路のハイサイドトランジスタを導通状態とし、前記オンステートにおいてローサイドトランジスタが導通状態される駆動段回路のローサイドトランジスタを導通状態とするローサイドオフステートと、に制御し、
前記ハイサイドオフステートと前記ローサイドオフステートとを前記PWM信号の生成サイクル毎に切り換えるモータの駆動制御プログラム。
(Appendix 7)
There are three sets of drive stage circuits in which a high side transistor and a low side transistor are connected in series between a power supply line and a ground line, and the high side transistor and the low side of the two selected sets of drive stage circuits A calculation core that outputs a PWM signal to a driver circuit that is controlled to be in a conductive state exclusively with a transistor, and changes the state of the PWM signal according to the rotational position of the motor;
A processor having a comparator for comparing a comparison target detection signal output from the non-selected drive stage circuit among the three-phase drive signals generated by the driver circuit based on the PWM signal and a center tap voltage of the motor; A motor drive control program executed by the arithmetic core,
By the PWM signal,
An on state in which a high-side transistor of one set of driving stage circuits among the three sets of driving stage circuits is turned on and a low-side transistor of another set of driving stage circuits is turned on. State and
A high-side off-state in which the low-side transistor of the driving stage circuit in which the high-side transistor is conductive in the on-state is in a conductive state and the low-side transistor in the other set of driving stage circuits is in a conductive state;
Controlling the high-side transistor of the set of driving stage circuits to a conductive state, and the low-side off state of bringing the low-side transistor of the driving stage circuit to a conductive state in the on-state into a conductive state;
A motor drive control program that switches between the high-side off state and the low-side off state for each generation cycle of the PWM signal.

(付記8)
前記PWM信号を、
前記ハイサイドオフステート駆動において、前記オンステートにおいてハイサイドトランジスタとローサイドトランジスタとがいずれもオフ状態とされる駆動段回路のローサイドトランジスタを導通状態とし、
前記ローサイドオフステート駆動において、前記オンステートにおいてハイサイドトランジスタとローサイドトランジスタとがいずれもオフ状態とされる駆動段回路のハイサイドトランジスタを導通状態とするように生成する付記7のモータの駆動制御プログラム。
(Appendix 8)
The PWM signal is
In the high-side off-state drive, the low-side transistor of the driving stage circuit in which both the high-side transistor and the low-side transistor are turned off in the on-state is made conductive.
The motor drive control program according to appendix 7, wherein the low-side off-state drive generates the high-side transistor of the drive stage circuit in which both the high-side transistor and the low-side transistor are turned off in the on-state. .

(付記9)
前記電源配線と前記接地配線との間にハイサイドトランジスタとローサイドトランジスタとが直列に接続され、ハイサイドトランジスタとローサイドトランジスタとが排他的に導通状態に制御される3組の駆動段回路を有するドライバ回路にPWM信号を出力し、モータの回転位置に応じて前記PWM信号の状態を遷移させる演算コアと、
前記ドライバ回路が前記PWM信号に基づき生成した3相の駆動信号から選択した1相の駆動信号と前記モータのセンタータップ電圧とを比較するコンパレータと、を有するプロセッサにおいて前記演算コアで実行されるモータの駆動制御プログラムであって、
前記PWM信号により、ドライバ回路を、前記モータに電流が供給されるオンステートと、前記モータへの前記電流の供給を停止するオフステートと、に制御し、
前記PWM信号は、前記オフステートにおいて接地配線を介して前記モータに流れる電流を循環させるハイサイドオフステート駆動と、電源配線を介して前記モータに流れる電流を循環させるローサイドオフステート駆動と、を前記PWM信号の生成サイクル毎に切り換えるモータの駆動制御プログラム。
(Appendix 9)
A driver having three sets of driving stage circuits in which a high-side transistor and a low-side transistor are connected in series between the power supply wiring and the ground wiring, and the high-side transistor and the low-side transistor are exclusively controlled to be conductive. An arithmetic core that outputs a PWM signal to the circuit and changes the state of the PWM signal according to the rotational position of the motor;
A motor executed by the arithmetic core in a processor having a comparator that compares a one-phase drive signal selected from three-phase drive signals generated by the driver circuit based on the PWM signal with a center tap voltage of the motor A drive control program for
By the PWM signal, the driver circuit is controlled to an on state in which a current is supplied to the motor and an off state in which the supply of the current to the motor is stopped,
The PWM signal includes a high-side off-state drive that circulates a current that flows to the motor via a ground wiring in the off-state, and a low-side off-state drive that circulates a current that flows to the motor via a power supply wiring. A motor drive control program that is switched every PWM signal generation cycle.

(付記10)
モータの回転位置に応じて生成するPWM信号の状態を遷移させる演算コアと、
ドライバ回路を介して前記PWM信号をモータに出力する出力インタフェースと、
前記ドライバ回路が前記PWM信号に基づき生成した3相の駆動信号から選択した比較対象検出信号と前記モータのセンタータップ電圧とを比較するコンパレータと、
第1、第2の設定値に応じて第1、第2のタイマ割り込み要求を前記演算コアに出力するタイマと、を有するプロセッサにおいて前記演算コアで実行されるモータの駆動制御プログラムであって、
前記モータの回転状態に応じて算出される前記PWM信号のオンタイム期間に対応する値により、前記第1の設定値を更新し、
前記第1の設定値に基づき生成された第1のタイマ割り込み要求に応じて前記PWM信号を前記モータへの駆動電流の供給を指示するオンステートから前記モータへの駆動電流の停止を指示するオフステートに移行させ、
前記第2の設定値に応じて前記PWM信号を前記オフステートから前記オンステートに移行させるモータの駆動制御プログラム。
(Appendix 10)
An arithmetic core that transitions the state of the PWM signal generated according to the rotational position of the motor;
An output interface for outputting the PWM signal to the motor via a driver circuit;
A comparator for comparing the comparison target detection signal selected from the three-phase drive signal generated by the driver circuit based on the PWM signal and the center tap voltage of the motor;
A motor drive control program executed by the arithmetic core in a processor having a timer that outputs first and second timer interrupt requests to the arithmetic core according to first and second set values,
Update the first set value with a value corresponding to the on-time period of the PWM signal calculated according to the rotation state of the motor,
In response to a first timer interrupt request generated based on the first set value, the PWM signal is turned off to instruct to stop the drive current from the on state to instruct the supply of the drive current to the motor. Transition to the state,
A motor drive control program for shifting the PWM signal from the off state to the on state in accordance with the second set value.

(付記11)
前記PWM信号のオンタイム期間が前記PWM信号の一周期の時間よりも長い場合、前記演算コアは、前記PWM信号をオンステートに維持する付記10に記載のモータの駆動制御プログラム。
(Appendix 11)
The motor drive control program according to appendix 10, wherein when the on-time period of the PWM signal is longer than a period of one cycle of the PWM signal, the arithmetic core maintains the PWM signal in an on state.

(付記12)
モータの回転位置に応じて生成するPWM信号の状態を遷移させる演算コアと、
ドライバ回路を介して前記PWM信号をモータに出力する出力インタフェースと、
前記ドライバ回路が前記PWM信号に基づき生成した3相の駆動信号から選択した比較対象検出信号と前記3相の駆動信号の中点電圧を示すセンタータップ電圧とを比較するコンパレータと、を有するプロセッサにおいて前記演算コアで実行されるモータの駆動制御プログラムであって、
前記コンパレータの出力信号の値に応じてコンパレータ積分値を増減し、
前記PWM信号の一状態が継続する最大期間を規定するタイムアウト検出期間中に前記コンパレータ積分値がカウント初期値に達した場合は、前記コンパレータ積分値がカウント初期値に達したことに応じて前記PWM信号の状態を次状態に遷移させ、前記タイムアウト検出期間中に前記コンパレータ積分値がカウント初期値に達しなかった場合は、前記タイムアウト検出期間の経過に応じて前記PWM信号の状態を次状態に遷移させ、
前記モータを駆動する駆動電流の初期値をゼロとし、
前記PWM信号の状態を遷移させる毎に前記駆動電流を徐々に増加させ、
前記コンパレータ積分値がカウント初期値に達したことに応じた前記PWM信号の状態の遷移が6回連続して生じたこと応じて前記モータが有効な回転状態となったと判定するモータ駆動制御プログラム。
(Appendix 12)
An arithmetic core that transitions the state of the PWM signal generated according to the rotational position of the motor;
An output interface for outputting the PWM signal to the motor via a driver circuit;
In a processor comprising: a comparison target detection signal selected from a three-phase drive signal generated by the driver circuit based on the PWM signal; and a comparator that compares a center tap voltage indicating a midpoint voltage of the three-phase drive signal. A motor drive control program executed by the arithmetic core,
Increase or decrease the comparator integral value according to the value of the output signal of the comparator,
When the comparator integral value reaches the initial count value during a timeout detection period that defines the maximum period during which one state of the PWM signal continues, the PWM integral value reaches the initial count value in response to the fact that the comparator integral value has reached the initial count value. When the signal state is changed to the next state and the comparator integration value does not reach the initial count value during the timeout detection period, the PWM signal state is changed to the next state as the timeout detection period elapses. Let
The initial value of the drive current for driving the motor is zero,
The drive current is gradually increased every time the state of the PWM signal is changed,
A motor drive control program for determining that the motor has entered an effective rotational state in response to six consecutive transitions of the state of the PWM signal in response to the comparator integrated value reaching the initial count value.

(付記13)
前記モータ駆動制御プログラムは、さらに、
状態遷移後に生成される前記PWM信号のパルス数が前記フライバックパルスフィルタ継続パルス数に達するまでの期間に前記コンパレータの出力信号の値によらず、前記コンパレータ積分値を単調増加又は単調減少させるフライバックパルスフィルタ処理を行い。
前記モータが有効な回転状態となる前の前記フラバックパルスフィルタ継続パルス数を、前記モータが有効な回転状態となった後よりも小さく設定する付記12に記載のモータ駆動制御プログラム。
(Appendix 13)
The motor drive control program further includes:
A fly that monotonously increases or decreases the integrated value of the comparator monotonically regardless of the value of the output signal of the comparator during the period until the number of pulses of the PWM signal generated after the state transition reaches the number of continuous pulses of the flyback pulse filter. Perform back pulse filter processing.
13. The motor drive control program according to supplementary note 12, wherein the number of continuous pulses of the hulaback pulse filter before the motor enters an effective rotation state is set smaller than that after the motor enters an effective rotation state.

NU、NV、VW:ローサイドトランジスタ、PU、PV、PW:ハイサイドトランジスタ、Ri:電流検出抵抗、SP:比較対象検出信号、1:モータ駆動制御装置、2:プリドライバ回路、3:ドライバ回路、4:モータ、10:演算コア、10:演算コア、11:プログラムメモリ、12:RAM、13:出力インタフェース、14:セレクタ、15:コンパレータ、16:アナログデジタル変換器、17:タイマ、21:PWMデモジュレータ、22:PWMモジュレータ、23:定電流駆動制御部、24:ロータ位置検出部、25:回転制御部、26:回転速度制御部、27:PWMデューティ制御部 NU, NV, VW: Low side transistor, PU, PV, PW: High side transistor, Ri: Current detection resistor, SP: Comparison target detection signal, 1: Motor drive control device, 2: Pre-driver circuit, 3: Driver circuit, 4: motor, 10: arithmetic core, 10: arithmetic core, 11: program memory, 12: RAM, 13: output interface, 14: selector, 15: comparator, 16: analog-digital converter, 17: timer, 21: PWM Demodulator 22: PWM modulator 23: Constant current drive controller 24: Rotor position detector 25: Rotation controller 26: Rotational speed controller 27: PWM duty controller

Claims (7)

モータの回転位置に応じて生成するPWM信号の状態を遷移させる演算コアと、
ドライバ回路を介して前記PWM信号をモータに出力する出力インタフェースと、
前記ドライバ回路が前記PWM信号に基づき生成した3相の駆動信号から選択した比較対象検出信号と前記3相の駆動信号の中点電圧を示すセンタータップ電圧、又は、各相巻き線端子から接地電位に接続された分圧抵抗網により合成されたアーティフィシャルセンタータップ電圧とを比較するコンパレータと、を有するプロセッサにおいて前記演算コアで実行されるモータの駆動制御プログラムであって、
前記コンパレータの出力信号の値に基づきコンパレータ積分値を増減し、
前記コンパレータ積分値がカウント初期値に達したことに応じて前記モータの回転位置が遷移したことを検出し、
当該検出結果に応じて、前記PWM信号の状態を次状態に遷移させるモータの駆動制御プログラム。
An arithmetic core that transitions the state of the PWM signal generated according to the rotational position of the motor;
An output interface for outputting the PWM signal to the motor via a driver circuit;
A comparison target detection signal selected from the three-phase drive signal generated by the driver circuit based on the PWM signal and a center tap voltage indicating a midpoint voltage of the three-phase drive signal, or a ground potential from each phase winding terminal A comparator for comparing an artifical center tap voltage synthesized by a voltage dividing resistor network connected to a motor drive control program executed by the arithmetic core in a processor,
Increase or decrease the comparator integral value based on the value of the output signal of the comparator,
Detecting that the rotational position of the motor has transitioned in response to the comparator integral value reaching the initial count value,
A motor drive control program for changing the state of the PWM signal to the next state according to the detection result.
前記PWM信号の状態が遷移した後の所定の期間は前記コンパレータの出力結果によらず前記コンパレータ積分値をカウントアップ又はカウントダウンする請求項1に記載のモータの駆動制御プログラム。   2. The motor drive control program according to claim 1, wherein the comparator integrated value is counted up or down regardless of an output result of the comparator during a predetermined period after the state of the PWM signal transitions. 前記所定の期間は、前記PWM信号の状態が維持される一期間の所定の割合の期間として予め設定される請求項2に記載のモータの駆動制御プログラム。   3. The motor drive control program according to claim 2, wherein the predetermined period is preset as a period of a predetermined ratio of one period during which the state of the PWM signal is maintained. 前記モータの回転位置の遷移が検出されたことに応じて選択する前記比較対象検出信号を切り換える請求項1乃至3のいずれか1項に記載のモータの駆動制御プログラム。   The motor drive control program according to any one of claims 1 to 3, wherein the comparison target detection signal to be selected is switched in response to detection of a transition of the rotational position of the motor. 前記ドライバ回路は、電源配線と接地配線との間にハイサイドトランジスタとローサイドトランジスタとが直列に接続される3組の駆動段回路を有し、前記PWM信号により選択された2組の前記駆動段回路の前記ハイサイドトランジスタと前記ローサイドトランジスタとが排他的に導通状態に制御され、
前記比較対象検出信号は、前記3組駆動段回路のうち非選択の駆動段回路の出力ノードに生成される駆動信号である請求項1乃至4のいずれか1項に記載のモータの駆動制御プログラム。
The driver circuit has three sets of drive stage circuits in which a high side transistor and a low side transistor are connected in series between a power supply line and a ground line, and two sets of the drive stages selected by the PWM signal. The high-side transistor and the low-side transistor of the circuit are controlled to be exclusively conductive;
5. The motor drive control according to claim 1, wherein the comparison target detection signal is a drive signal generated at an output node of a non-selected drive stage circuit among the three sets of drive stage circuits. 6. program.
モータの回転位置に応じて生成するPWM信号の状態を遷移させるPWM信号生成回路と、
ドライバ回路を介して前記PWM信号をモータに出力する出力インタフェースと、
前記ドライバ回路が前記PWM信号に基づき生成した3相の駆動信号から選択した1相の駆動信号と前記3相の駆動信号の中点電圧を示すセンタータップ電圧、又は、各相巻き線端子から接地電位に接続された分圧抵抗網により合成されたアーティフィシャルセンタータップ電圧とを比較するコンパレータと、を有するモータ駆動装置を用いたモータの駆動制御方法であって、
前記コンパレータの出力信号の値に基づきコンパレータ積分値を増減し、
前記コンパレータ積分値がカウント初期値に達したことに応じて前記モータの回転位置が遷移したことを検出し、
当該検出結果に応じて、前記PWM信号の状態を次状態に遷移させるモータの駆動制御方法。
A PWM signal generation circuit that transitions the state of the PWM signal generated according to the rotational position of the motor;
An output interface for outputting the PWM signal to the motor via a driver circuit;
One-phase drive signal selected from the three-phase drive signal generated by the driver circuit based on the PWM signal and the center tap voltage indicating the midpoint voltage of the three-phase drive signal, or grounded from each phase winding terminal A motor driving control method using a motor driving device comprising: a comparator for comparing an artificial center tap voltage synthesized by a voltage dividing resistor network connected to a potential;
Increase or decrease the comparator integral value based on the value of the output signal of the comparator,
Detecting that the rotational position of the motor has transitioned in response to the comparator integral value reaching the initial count value,
A motor drive control method for changing the state of the PWM signal to the next state according to the detection result.
モータの回転位置に応じて生成するPWM信号の状態を遷移させるPWM信号生成回路と、
ドライバ回路を介して前記PWM信号をモータに出力する出力インタフェースと、
前記ドライバ回路が前記PWM信号に基づき生成した3相の駆動信号から選択した1相の駆動信号と前記3相の駆動信号の中点電圧を示すセンタータップ電圧、又は、各相巻き線端子から接地電位に接続された分圧抵抗網により合成されたアーティフィシャルセンタータップ電圧とを比較するコンパレータと、を有し、
前記PWM信号生成回路は、
前記コンパレータの出力信号の値に基づきコンパレータ積分値を増減し、
前記コンパレータ積分値がカウント初期値に達したことに応じて前記モータの回転位置が遷移したことを検出し、
当該検出結果に応じて、前記PWM信号の状態を次状態に遷移させるモータの駆動制御装置。
A PWM signal generation circuit that transitions the state of the PWM signal generated according to the rotational position of the motor;
An output interface for outputting the PWM signal to the motor via a driver circuit;
One-phase drive signal selected from the three-phase drive signal generated by the driver circuit based on the PWM signal and the center tap voltage indicating the midpoint voltage of the three-phase drive signal, or grounded from each phase winding terminal A comparator for comparing the artifical center tap voltage synthesized by the voltage dividing resistor network connected to the potential;
The PWM signal generation circuit includes:
Increase or decrease the comparator integral value based on the value of the output signal of the comparator,
Detecting that the rotational position of the motor has transitioned in response to the comparator integral value reaching the initial count value,
A motor drive control device that changes the state of the PWM signal to the next state in accordance with the detection result.
JP2011127073A 2011-06-07 2011-06-07 Motor drive control program, drive control method, and drive control apparatus Expired - Fee Related JP5634330B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011127073A JP5634330B2 (en) 2011-06-07 2011-06-07 Motor drive control program, drive control method, and drive control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011127073A JP5634330B2 (en) 2011-06-07 2011-06-07 Motor drive control program, drive control method, and drive control apparatus

Publications (3)

Publication Number Publication Date
JP2012253991A JP2012253991A (en) 2012-12-20
JP2012253991A5 JP2012253991A5 (en) 2013-09-26
JP5634330B2 true JP5634330B2 (en) 2014-12-03

Family

ID=47526229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011127073A Expired - Fee Related JP5634330B2 (en) 2011-06-07 2011-06-07 Motor drive control program, drive control method, and drive control apparatus

Country Status (1)

Country Link
JP (1) JP5634330B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6429453B2 (en) 2013-11-26 2018-11-28 キヤノン株式会社 Motor control apparatus and image forming apparatus
CN109475266B (en) * 2016-07-11 2021-08-10 奥林巴斯株式会社 Endoscope device
WO2020059111A1 (en) * 2018-09-21 2020-03-26 新電元工業株式会社 Vehicle motor drive control device and control method of vehicle motor drive control device
JP7555764B2 (en) * 2020-09-09 2024-09-25 川崎重工業株式会社 Current limiting device, robot system, and current limiting method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3965395B2 (en) * 2004-05-18 2007-08-29 松下電器産業株式会社 Motor drive device
JP2008005632A (en) * 2006-06-22 2008-01-10 Matsushita Electric Ind Co Ltd Motor drive device, motor drive method and disk drive device
JP2008113506A (en) * 2006-10-31 2008-05-15 Renesas Technology Corp Motor drive controller and motor start-up method

Also Published As

Publication number Publication date
JP2012253991A (en) 2012-12-20

Similar Documents

Publication Publication Date Title
JP5670258B2 (en) Brushless motor drive device
US5294877A (en) Circuit and method for detecting deceleration rates of a polyphase DC motor
JP5016674B2 (en) Motor control circuit, motor system, motor control method
US5317243A (en) Method and apparatus for detecting velocity profiles of a spinning rotor of a polyphase DC motor
JP6130329B2 (en) Brushless motor controller
JP5253828B2 (en) Motor driving device and semiconductor integrated circuit device
US7633251B2 (en) Single-sensor based commutation of multi-phase motor
JP7016762B2 (en) Semiconductor devices, motor drive systems, and motor control programs
JP5552701B2 (en) Brushless motor drive device
JP2007236062A (en) Motor driving device, motor driving method, and disk driving device
JP6081734B2 (en) Semiconductor device, electronic device, and control signal generation method
JP5634330B2 (en) Motor drive control program, drive control method, and drive control apparatus
JP4243567B2 (en) Sensorless motor driving apparatus and driving method thereof
JP2009100567A (en) Method of controlling inverter, and control circuit
JP2004364381A (en) Motor drive device
JP5326948B2 (en) Inverter control device, electric compressor and electrical equipment
JP6451361B2 (en) Control device for three-phase rotating electric machine
JP4056749B2 (en) Driving method of brushless DC motor
JP6159852B2 (en) Brushless motor drive device
JP4085818B2 (en) DC motor driving method and DC motor driving apparatus
JP5960783B2 (en) Brushless motor drive device
JP3600583B2 (en) Operation control method of switched reluctance motor
JP2003259678A (en) Controller of dc brushless motor
JP2011155810A (en) Micro-step drive method of two phase stepping motor
JP2017070208A (en) Semiconductor device, electronic equipment, and control signal generation method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130813

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130813

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140610

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140613

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140930

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141014

R150 Certificate of patent or registration of utility model

Ref document number: 5634330

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees