JP2007037335A - Motor controller - Google Patents

Motor controller Download PDF

Info

Publication number
JP2007037335A
JP2007037335A JP2005218933A JP2005218933A JP2007037335A JP 2007037335 A JP2007037335 A JP 2007037335A JP 2005218933 A JP2005218933 A JP 2005218933A JP 2005218933 A JP2005218933 A JP 2005218933A JP 2007037335 A JP2007037335 A JP 2007037335A
Authority
JP
Japan
Prior art keywords
value
counter
motor
correction
electrical angle
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.)
Pending
Application number
JP2005218933A
Other languages
Japanese (ja)
Inventor
Takashi Kawasaki
高志 河崎
Hiroyuki Kanemoto
宏行 鐘本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2005218933A priority Critical patent/JP2007037335A/en
Publication of JP2007037335A publication Critical patent/JP2007037335A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a motor controller which can eliminate the discrepancy, without providing a new sensor, etc. even if the counter value of a position counter, which counts the pulse signals from the position sensor, has shifted from the value corresponding to the actual rotating angle of the motor. <P>SOLUTION: Each time the edge of the pulse signal from each electric angle sensor of a brushless motor appears, the difference (Pi-Pi-1) between the counter value Pi-1 of the position counter P at the last appearance of the edge and the counter value Pi of the position counter P at this edge appearance is computed. The difference reflects the slippage, when the counter value of the position counter P has slipped from the value corresponding to the actual rotating angle of the brushless motor. That is, the above difference slips from its normal value J by the amount of the slippage. Then, the counter value of the position counter P is corrected, using the first correction ΔP being the amount of the slippage of the above difference from this normal value J. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、所定の回転角範囲内での回転駆動が行われるブラシレスモータの制御装置に係り、詳しくは同モータの回転角検出に用いられる位置カウンタのカウンタ値の補正に関するものである。   The present invention relates to a brushless motor control apparatus that is driven to rotate within a predetermined rotation angle range, and more particularly to correction of a counter value of a position counter used for detecting the rotation angle of the motor.

従来より、特許文献1に示されるブラシレスモータ等のモータをモータ制御装置により所定の回転角範囲内で回転駆動し、それによって各種機構を駆動することが行われている。この場合、各種機構を精密に駆動するには、モータの回転角を正確に検出し、その回転角を各種機構の目標とする駆動状態に対応した回転角とすることが重要になる。   2. Description of the Related Art Conventionally, a motor such as a brushless motor disclosed in Patent Document 1 is rotationally driven within a predetermined rotation angle range by a motor control device, thereby driving various mechanisms. In this case, in order to accurately drive various mechanisms, it is important to accurately detect the rotation angle of the motor and set the rotation angle to a rotation angle corresponding to the target driving state of the various mechanisms.

ここで、モータの回転角を検出する方法としては、特許文献2に示される方法、すなわちモータの回転に伴いパルス信号を出力する位置センサとしてエンコーダを設け、そのエンコーダからのパルス信号を計数するという方法を採用することが考えられる。この方法によれば、上記パルス信号を計数した値がモータの回転角に対応した値になり、上記パルス信号の計数値に基づきモータの回転角を検出することができるようになる。
特開2004−194454公報 特開2004−76265公報
Here, as a method of detecting the rotation angle of the motor, an encoder is provided as a position sensor that outputs a pulse signal as the motor rotates, that is, a method of counting pulse signals from the encoder. It is conceivable to adopt a method. According to this method, the value obtained by counting the pulse signal becomes a value corresponding to the rotation angle of the motor, and the rotation angle of the motor can be detected based on the count value of the pulse signal.
JP 2004-194454 A JP 2004-76265 A

ところで、上記エンコーダからのパルス信号のエッジを計数して得られる計数値は、常にモータの実際の回転角に対応しているとは限らず、その実際の回転角に対応した値からずれることがある。例えば、エンコーダから出力される信号にノイズが発生すると、そのノイズのエッジとエンコーダからのパルス信号のエッジとを見分けることができず、ノイズのエッジをパルス信号のエッジと誤認し、パルス信号のエッジを計数して得られる計数値がモータの実際の回転角に対応した値からずれる。この場合、計数値に基づき検出されるモータの回転角が不正確になり、その回転角等に基づきモータを駆動し、各種機器を目標とする駆動状態に制御しようとしても、それを正しく行えなくなるという不具合が生じる。   By the way, the count value obtained by counting the edges of the pulse signal from the encoder does not always correspond to the actual rotation angle of the motor, and may deviate from the value corresponding to the actual rotation angle. is there. For example, if noise occurs in the signal output from the encoder, the edge of the noise cannot be distinguished from the edge of the pulse signal from the encoder, and the edge of the noise is mistaken for the edge of the pulse signal. The count value obtained by counting is deviated from the value corresponding to the actual rotation angle of the motor. In this case, the rotation angle of the motor detected based on the count value becomes inaccurate, and even if the motor is driven based on the rotation angle or the like to control various devices to the target driving state, it cannot be performed correctly. The problem that occurs.

こうした不具合を抑制するには、上記計数値における実際のモータの回転角に対するずれ量を求め、そのずれ量に対応する分の補正を当該計数値に加えて、その計数値を実際のモータ回転角に対応する値へと戻すことが必要になる。このため、モータの回転角を検出するリニアセンサ等を別途設け、同センサによって検出されるモータの回転角が上記計数値に基づき検出されるモータの回転角と対応していないとき、両者の差に基づいて計数値の補正に用いられる補正値を算出し、その補正値の分だけ計数値を補正することが考えられる。この場合、計数値における実際のモータ回転角に対応する値からのずれを無くすことはできるものの、そのためにリニアセンサ等を別途設けなければならず、リニアセンサ等の設置に手間がかかるとともに、同センサの設置に関係してモータの設置位置が制約を受けるという新たな問題が生じる。   In order to suppress such problems, a deviation amount with respect to the actual motor rotation angle in the count value is obtained, a correction corresponding to the deviation amount is added to the count value, and the count value is converted into the actual motor rotation angle. It is necessary to return to the value corresponding to. For this reason, when a linear sensor or the like for detecting the rotation angle of the motor is separately provided and the rotation angle of the motor detected by the sensor does not correspond to the rotation angle of the motor detected based on the count value, the difference between the two is detected. It is conceivable that a correction value used for correction of the count value is calculated based on the above and the count value is corrected by the correction value. In this case, the deviation from the value corresponding to the actual motor rotation angle in the count value can be eliminated, but for that purpose, a linear sensor or the like must be provided separately, and it takes time to install the linear sensor or the like. A new problem arises that the installation position of the motor is restricted in relation to the installation of the sensor.

本発明はこのような実情に鑑みてなされたものであって、その目的は、位置センサからのパルス信号を係数する位置カウンタのカウンタ値がモータの実際の回転角に対応する値からずれたとしても、そのずれを新たなセンサ等を設けることなく無くすことのできるモータ制御装置を提供することにある。   The present invention has been made in view of such a situation, and its purpose is that the counter value of the position counter that coefficients the pulse signal from the position sensor deviates from the value corresponding to the actual rotation angle of the motor. It is another object of the present invention to provide a motor control device that can eliminate the deviation without providing a new sensor or the like.

以下、上記目的を達成するための手段及びその作用効果について記載する。
上記目的を達成するため、請求項1記載の発明では、所定の回転角範囲内での回転駆動が行われるブラシレスモータと、このブラシレスモータの回転に伴い同モータに設けられた複数の電気角センサから位相をずらして出力されるパルス信号の出力パターンに応じて電気角カウンタのカウンタ値を変化させ、その電気角カウンタのカウンタ値に基づき前記ブラシレスモータの通電相を切り換えることで同モータを駆動する駆動装置と、前記ブラシレスモータの回転に伴い各電気角センサから出力されるパルス信号のエッジ間隔よりも短いエッジ間隔のパルス信号を出力する位置センサとを備え、その位置センサからのパルス信号のエッジを計数する位置カウンタのカウンタ値に基づき、前記ブラシレスモータの回転角を検出するモータ制御装置において、各電気角センサから出力されるパルス信号のエッジ発生毎に、今回のエッジ発生時における位置カウンタのカウンタ値Pi と前回のエッジ発生時における位置カウンタのカウンタ値Pi-1 との差(Pi −Pi-1 )を算出する算出手段と、前記電気角カウンタのカウンタ値の変化に基づき前記ブラシレスモータの回転状態が正回転中、逆回転中、及び正逆回転反転中のうちのいずれであるかを判断し、そのブラシレスモータの回転状態に応じて前記差(Pi −Pi-1 )の正常時の値である正常値を可変設定する設定手段と、前記正常値に対する前記差(Pi −Pi-1 )のずれ量を第1の補正値とし、当該第1の補正値分の補正を前記位置カウンタのカウンタ値に加える第1の補正手段と、前記各電気角センサから出力されるパルス信号のエッジ発生時、前記電気角カウンタのカウンタ値が通常あり得ない変化を示したとき、前記第1の補正手段による補正を無効にするための第2の補正値を設定し、当該第2の補正値分の補正を前記位置カウンタのカウンタ値に加える第2の補正手段とを備えた。
In the following, means for achieving the above object and its effects are described.
In order to achieve the above object, according to the first aspect of the present invention, a brushless motor that is rotationally driven within a predetermined rotational angle range and a plurality of electrical angle sensors provided in the motor as the brushless motor rotates. The motor is driven by changing the counter value of the electrical angle counter according to the output pattern of the pulse signal output with the phase shifted from, and switching the energized phase of the brushless motor based on the counter value of the electrical angle counter A driving device; and a position sensor that outputs a pulse signal having an edge interval shorter than an edge interval of a pulse signal output from each electrical angle sensor as the brushless motor rotates, and an edge of the pulse signal from the position sensor A motor control device for detecting the rotation angle of the brushless motor based on the counter value of the position counter At each occurrence of an edge of the pulse signal output from each electrical angle sensor, the difference (Pi) between the counter value Pi of the position counter at the time of the current edge generation and the counter value Pi-1 of the position counter at the time of the previous edge generation. -Pi-1), and the rotational state of the brushless motor based on a change in the counter value of the electrical angle counter is any of normal rotation, reverse rotation, and normal / reverse rotation inversion And setting means for variably setting a normal value which is a normal value of the difference (Pi−Pi−1) according to the rotation state of the brushless motor, and the difference (Pi−Pi) with respect to the normal value. -1) as a first correction value, a first correction means for adding a correction for the first correction value to the counter value of the position counter, and a pulse signal output from each electrical angle sensor No When the counter value of the electrical angle counter shows a change that cannot normally occur at the time of occurrence of a shift, a second correction value for invalidating the correction by the first correction means is set, and the second correction Second correction means for adding a correction for the value to the counter value of the position counter.

ブラシレスモータの回転時には、同モータの駆動に用いられる電気角センサからパルス信号が互いに位相をずらした状態で出力される。従って、各電気角センサからのパルス信号のエッジを計数すれば、その計数値に基づきブラシレスモータの回転角を大まかに検出することはできる。しかし、ブラシレスモータの回転角の検出に高精度が要求されるような場合には、上記のような大まかな回転角検出では検出精度が足りなくなる。このため、ブラシレスモータの回転に伴い各電気角センサから出力されるパルス信号のエッジ間隔よりも短いエッジ間隔でパルス信号を出力する位置センサが設けられ、その位置センサからのパルス信号のエッジを計数する位置カウンタのカウンタ値に基づき、ブラシレスモータの回転角を検出することが行われている。これにより、ブラシレスモータの回転角の検出を高精度で行うことが可能になる。   When the brushless motor rotates, pulse signals are output from the electrical angle sensor used to drive the motor with the phases shifted from each other. Therefore, if the edge of the pulse signal from each electric angle sensor is counted, the rotation angle of the brushless motor can be roughly detected based on the counted value. However, when high accuracy is required for detection of the rotation angle of the brushless motor, the detection accuracy is insufficient for the rough rotation angle detection as described above. For this reason, a position sensor that outputs a pulse signal at an edge interval shorter than the edge interval of the pulse signal output from each electrical angle sensor as the brushless motor rotates is provided, and the edge of the pulse signal from the position sensor is counted. The rotation angle of the brushless motor is detected based on the counter value of the position counter. As a result, the rotation angle of the brushless motor can be detected with high accuracy.

ところで、位置センサからの信号にノイズが発生し、そのノイズのエッジが位置センサからのパルス信号のエッジと誤認されて位置カウンタにより計数されるなど、位置カウンタのカウンタ値がブラシレスモータの実際の回転角に対応しなくなる状況が生じる可能性がある。この場合、位置カウンタのカウンタ値が、ブラシレスモータの実際の回転角に対応する値からずれた状態になる。上記構成によれば、各電気角センサから出力されるパルス信号の今回のエッジ発生時における位置カウンタのカウンタ値Pi と、前回のエッジ発生時における位置カウンタのカウンタ値Pi-1 との差(Pi −Pi-1 )に、上記位置カウンタのカウンタ値における上記ブラシレスモータの実際の回転角に対応する値からのずれが反映される。すなわち、そのずれの分だけ上記差(Pi −Pi-1 )が正常値からずれることになる。従って、正常値に対する上記差(Pi −Pi-1 )のずれ量を第1の補正値とし、当該第1の補正値分の補正を位置カウンタのカウンタ値に加えることで、そのカウンタ値におけるブラシレスモータの実際の回転角に対応する値からのずれを無くすことができる。また、第1の補正値を求めるための差(Pi −Pi-1 )を算出するのには、ブラシレスモータの駆動に用いられる電気角センサがあればよく、上記ずれを無くすために新たなセンサ等を設ける必要はない。なお、第1の補正値を求めるための上記正常値は、電気角カウンタのカウンタ値に基づきブラシレスモータの回転状態、すなわち正回転中、逆回転中、正逆回転反転中のいずれであるかに応じて可変設定されるものである。   By the way, noise is generated in the signal from the position sensor, the edge of the noise is mistakenly recognized as the edge of the pulse signal from the position sensor, and the position counter counts the actual value of the brushless motor. There may be situations where the corner no longer corresponds. In this case, the counter value of the position counter is shifted from a value corresponding to the actual rotation angle of the brushless motor. According to the above configuration, the difference (Pi) between the counter value Pi of the position counter when the current edge occurs in the pulse signal output from each electrical angle sensor and the counter value Pi-1 of the position counter when the previous edge occurs. -Pi-1) reflects the deviation of the counter value of the position counter from the value corresponding to the actual rotation angle of the brushless motor. That is, the difference (Pi-Pi-1) deviates from the normal value by the deviation. Accordingly, the deviation amount of the difference (Pi−Pi−1) from the normal value is set as the first correction value, and the correction corresponding to the first correction value is added to the counter value of the position counter, so that the brushless value in the counter value is increased. Deviation from the value corresponding to the actual rotation angle of the motor can be eliminated. Further, in order to calculate the difference (Pi-Pi-1) for obtaining the first correction value, it is sufficient if there is an electrical angle sensor used for driving the brushless motor, and a new sensor is used to eliminate the deviation. Etc. need not be provided. Note that the normal value for obtaining the first correction value is based on the counter value of the electrical angle counter, which is the rotation state of the brushless motor, that is, whether it is during normal rotation, reverse rotation, or normal / reverse rotation inversion. It is variably set accordingly.

また、電気角センサからの信号にノイズが発生する場合もある。この場合、当該ノイズを電気角センサからのパルス信号と誤認し、電気角カウンタのカウンタ値が誤った値に変化するおそれがある。そして、電気角カウンタのカウンタ値が誤った値に変化すると、そのカウンタ値に基づき判断されるモータ回転状態が実際の状態とは異なるものとなり、設定手段により設定される正常値が実際のモータ回転状態と対応しなくなる。このような状況下では、上述した正常値の異常に起因して、その正常値に対する差(Pi −Pi-1 )のずれ量である第1の補正値が誤った値となり、位置カウンタのカウンタ値に当該第1の補正値分の誤補正が加えられる。その結果、位置カウンタのカウンタ値がブラシレスモータの実際の回転角に対応する値からずれてしまい、そのカウンタ値に基づき検出されるブラシレスモータの回転角が不正確な値になる。   In addition, noise may occur in the signal from the electrical angle sensor. In this case, the noise may be mistaken as a pulse signal from the electrical angle sensor, and the counter value of the electrical angle counter may change to an incorrect value. When the counter value of the electrical angle counter changes to an incorrect value, the motor rotation state determined based on the counter value is different from the actual state, and the normal value set by the setting means is the actual motor rotation. It will not correspond to the state. Under such circumstances, the first correction value, which is the deviation amount of the difference (Pi−Pi−1) from the normal value, due to the above-described abnormality of the normal value becomes an incorrect value, and the counter of the position counter The erroneous correction corresponding to the first correction value is added to the value. As a result, the counter value of the position counter deviates from a value corresponding to the actual rotation angle of the brushless motor, and the rotation angle of the brushless motor detected based on the counter value becomes an incorrect value.

しかし、上記構成によれば、電気角センサからの信号にノイズが発生して電気角カウンタのカウンタ値が誤った値に変化する場合、第1の補正値による位置カウンタのカウンタ値の誤補正が無効にされる。これは、上記のように電気角カウンタのカウンタ値が誤った値に変化する場合、当該カウンタ値が通常あり得ない変化を示すようになり、そうした変化を示したときには第1の補正手段による補正を無効にするための第2の補正値が設定され、当該第2の補正値分の補正が位置カウンタのカウンタ値に加えられるためである。このように第1の補正値による位置カウンタのカウンタ値の誤補正が無効にされるため、そのカウンタ値がブラシレスモータの実際の回転角に対応する値からずれ、同カウンタ値に基づき検出されるブラシレスモータの回転角が不正確な値になるのを抑制することができる。   However, according to the above configuration, when noise occurs in the signal from the electrical angle sensor and the counter value of the electrical angle counter changes to an incorrect value, the counter value of the position counter is erroneously corrected by the first correction value. Disabled. This is because when the counter value of the electrical angle counter changes to an incorrect value as described above, the counter value shows a change that is not normally possible. When such a change is shown, the correction by the first correction means is performed. This is because a second correction value for invalidating is set, and correction for the second correction value is added to the counter value of the position counter. As described above, since the erroneous correction of the counter value of the position counter by the first correction value is invalidated, the counter value deviates from a value corresponding to the actual rotation angle of the brushless motor, and is detected based on the counter value. It is possible to suppress the rotation angle of the brushless motor from becoming an inaccurate value.

請求項2記載の発明では、請求項1記載の発明において、前記第2の補正手段は、前記位置カウンタのカウンタ値におけるブラシレスモータの実際の回転角に対応する値からのずれに影響を及ぼす第1の補正値の正負を反転させた値を、前記第2の補正値として設定するものとした。   According to a second aspect of the present invention, in the first aspect of the invention, the second correction means affects the deviation of the counter value of the position counter from the value corresponding to the actual rotation angle of the brushless motor. A value obtained by inverting the sign of the correction value 1 is set as the second correction value.

上記構成によれば、第2の補正値が位置カウンタのカウンタ値におけるブラシレスモータの実際の回転角に対応する値からのずれに影響を及ぼす第1の補正値の正負を反転させた値となるため、その第2の補正値分の補正を位置カウンタのカウンタ値に加えることで、第1の補正手段による位置カウンタのカウンタ値の誤補正を的確に無効にすることができる。   According to the above configuration, the second correction value is a value obtained by inverting the sign of the first correction value that affects the deviation of the counter value of the position counter from the value corresponding to the actual rotation angle of the brushless motor. Therefore, by adding the correction for the second correction value to the counter value of the position counter, the erroneous correction of the counter value of the position counter by the first correction unit can be accurately invalidated.

請求項3記載の発明では、請求項1記載の発明において、前記設定手段は、前記各電気角センサから出力されるパルス信号のエッジ間において前記位置センサから出力されるパルス信号のエッジ数が「n」であるとすると、前記電気角センサからの前回のエッジ発生時と今回のエッジ発生時とで共に電気角カウンタのカウンタ値がモータ正回転方向への変化を示したことに基づき前記ブラシレスモータの正回転中である旨判断して前記正常値を「n」に設定し、前記電気角センサからの前回のエッジ発生時と今回のエッジ発生時とで共に電気角カウンタのカウンタ値がモータ逆回転方向への変化を示したことに基づき前記ブラシレスモータの逆回転中である旨判断して前記正常値を「−n」に設定し、前記電気角センサからの前回のエッジ発生時と今回のエッジ発生時との電気角カウンタのカウンタ値の変化がモータ正回転方向への変化とモータ逆回転方向への変化とで異なっていることに基づき前記ブラシレスモータの正逆回転反転中である旨判断して前記正常値を「0」に設定するものであり、前記第2の補正手段は、前記電気角カウンタのカウンタ値がモータ正回転方向についての通常あり得ない変化を示したとき前記第2の補正値を「n」に設定し、前記電気角カウンタのカウンタ値がモータ逆回転方向についての通常あり得ない変化を示したとき前記第2の補正値を「−n」に設定するものとした。   According to a third aspect of the present invention, in the first aspect of the present invention, the setting means is configured such that the number of edges of the pulse signal output from the position sensor is “between edges of the pulse signal output from the electric angle sensors”. n ”, the brushless motor is based on the fact that the counter value of the electrical angle counter indicates a change in the motor forward rotation direction both when the previous edge is generated from the electrical angle sensor and when the current edge is generated. The normal value is set to “n”, and the counter value of the electrical angle counter is the reverse of the motor both when the previous edge is generated from the electrical angle sensor and when the current edge is generated. Based on the indication of the change in the rotation direction, it is determined that the brushless motor is rotating in reverse, the normal value is set to “−n”, and the previous edge occurrence from the electrical angle sensor is set. The forward and reverse rotation of the brushless motor is being reversed based on the fact that the change in the counter value of the electrical angle counter differs between the change in the forward direction of the motor and the change in the reverse direction of the motor. The normal value is set to “0”, and the second correction means shows a change in which the counter value of the electrical angle counter is not normally possible in the motor forward rotation direction. When the second correction value is set to “n” and the counter value of the electric angle counter indicates a change that is not normally possible in the reverse rotation direction of the motor, the second correction value is set to “−n”. It was supposed to be set.

電気角センサからの信号にノイズが発生し、そのノイズが他の電気角センサからのパルス信号のエッジと重なると、当該ノイズの発生期間中に電気カウンタのカウンタ値が、モータ回転方向とは逆方向への変化、及び、モータ回転方向と同方向への通常あり得ない変化を示すようになる。   When noise occurs in the signal from the electrical angle sensor and the noise overlaps the edge of the pulse signal from another electrical angle sensor, the counter value of the electrical counter is reversed from the motor rotation direction during the noise generation period. Changes in the direction and changes that are normally impossible in the same direction as the motor rotation direction.

そして、例えばブラシレスモータの正回転中、上述したように電気角カウンタのカウンタ値がモータ回転方向とは逆方向への変化を示すと、設定手段により正常値が本来ならば「n」に設定されるべきところを「0」に設定されてしまう。その結果、正常値に対する差(Pi −Pi-1 )のずれ量が本来ならば「0」であるのに「−n」と誤認され、それに対応して第1の補正値が誤って「−n」とされた状態で位置カウンタのカウンタ値の補正に用いられる。このため、位置カウンタのカウンタ値が当該第1の補正値により誤補正される。しかし、電気角カウンタのカウンタ値がモータ回転方向と同方向(正回転方向)への通常あり得ない変化を示すと、第2の補正値が「n」とされて位置カウンタのカウンタ値の補正に用いられる。これにより、上記第1の補正値による位置カウンタのカウンタ値の誤補正を的確に無効にすることができる。   For example, if the counter value of the electrical angle counter changes in the direction opposite to the motor rotation direction as described above during normal rotation of the brushless motor, the normal value is originally set to “n” by the setting means. The place to be set is set to “0”. As a result, the deviation amount of the difference (Pi−Pi−1) from the normal value is “0” if it is originally “0”, and the first correction value is erroneously changed to “−” n ”is used to correct the counter value of the position counter. For this reason, the counter value of the position counter is erroneously corrected by the first correction value. However, if the counter value of the electrical angle counter shows a change that cannot normally occur in the same direction as the motor rotation direction (positive rotation direction), the second correction value is set to “n” and the counter value of the position counter is corrected. Used for. Thereby, the erroneous correction of the counter value of the position counter by the first correction value can be appropriately invalidated.

また、ブラシレスモータの逆回転中、上述したように電気角カウンタのカウンタ値がモータ回転方向とは逆方向への変化を示すと、設定手段により正常値が本来ならば「−n」に設定されるべきところを「0」に設定されてしまう。その結果、正常値に対する差(Pi −Pi-1 )のずれ量が本来ならば「0」であるのに「n」と誤認され、それに対応して第1の補正値が誤って「n」とされた状態で位置カウンタのカウンタ値の補正に用いられる。このため、位置カウンタのカウンタ値Pが当該第1の補正値により誤補正される。しかし、電気角カウンタのカウンタ値がモータ回転方向と同方向(逆回転方向)への通常あり得ない変化を示すと、第2の補正値が「−n」とされて位置カウンタのカウンタ値の補正に用いられる。これにより、第1の補正値による位置カウンタのカウンタ値の誤補正を的確に無効にすることができる。   If the counter value of the electrical angle counter changes in the direction opposite to the motor rotation direction as described above during reverse rotation of the brushless motor, the normal value is originally set to “−n” by the setting means. The place to be set is set to “0”. As a result, the deviation amount of the difference (Pi−Pi−1) from the normal value is “0” if it is originally “0”. Correspondingly, the first correction value is erroneously “n”. In this state, it is used for correcting the counter value of the position counter. For this reason, the counter value P of the position counter is erroneously corrected by the first correction value. However, if the counter value of the electrical angle counter shows a change that cannot normally occur in the same direction as the motor rotation direction (reverse rotation direction), the second correction value is set to “−n” and the counter value of the position counter Used for correction. Thereby, the erroneous correction of the counter value of the position counter by the first correction value can be accurately invalidated.

請求項4記載の発明では、請求項3記載の発明において、前記電気角カウンタは、前記ブラシレスモータの正回転時には各電気角センサからのパルス信号の出力パターンに応じて「0」〜「m」の範囲内の連続した各整数値を順方向にカウンタ値として当てはめ、前記ブラシレスモータの逆回転時には各電気角センサからのパルス信号の出力パターンに応じて「0」〜「m」の範囲内の連続した各整数値を逆方向にカウンタ値として当てはめるものであり、前記第2の補正手段は、前記電気角カウンタのカウンタ値が順方向に整数値を一つとばして変化したことに基づき当該カウンタ値がモータ正回転方向について通常あり得ない変化を示したと判断し、前記電気角カウンタのカウンタ値が逆方向に整数値を一つとばして変化したことに基づき当該カウンタ値がモータ逆回転方向について通常あり得ない変化を示したと判断するものとした。   According to a fourth aspect of the present invention, in the third aspect of the present invention, the electrical angle counter is “0” to “m” according to the output pattern of the pulse signal from each electrical angle sensor when the brushless motor is rotating forward. Each successive integer value in the range of? Is applied as a counter value in the forward direction, and during reverse rotation of the brushless motor, a range of "0" to "m" in accordance with the output pattern of the pulse signal from each electrical angle sensor Each successive integer value is applied as a counter value in the reverse direction, and the second correction unit is configured to change the counter value based on the fact that the counter value of the electrical angle counter is changed by skipping the integer value in the forward direction. Based on the fact that the counter value of the electrical angle counter changed by skipping an integer value in the reverse direction, it was determined that the value showed a change that would normally not be possible in the forward rotation direction of the motor. It was assumed that the counter value is determined to show changes improbable usually for motor reverse rotation direction.

この場合、ブラシレスモータの正回転中、電気角センサの信号でのノイズ発生に起因する電気角カウンタのカウンタ値の正回転方向への通常あり得ない変化は、当該カウンタ値が順方向(正回転方向)に整数値を一つとばして変化するという態様で示される。また、ブラシレスモータの逆回転中、電気角センサの信号でのノイズ発生に起因する電気角カウンタのカウンタ値の逆回転方向への通常あり得ない変化は、当該カウンタ値が逆方向(逆回転方向)に整数値を一つとばして変化するという態様で示される。   In this case, during the forward rotation of the brushless motor, the counter value of the electrical angle counter that is normally impossible in the forward rotation direction due to the occurrence of noise in the electrical angle sensor signal is the forward direction (forward rotation) The direction is changed by skipping an integer value by one. In addition, during the reverse rotation of the brushless motor, the counter value of the electrical angle counter, which is normally impossible in the reverse rotation direction due to the occurrence of noise in the electrical angle sensor signal, ) Is changed in such a manner that the integer value is changed by one.

上記構成によれば、電気角カウンタのカウンタ値が順方向に整数値を一つとばして変化したことに基づき、当該カウンタ値がモータ正回転方向について通常あり得ない変化を示したと判断され、第2の補正値が「−n」に設定される。また、電気角カウンタのカウンタ値が逆方向に整数値を一つとばして変化したことに基づき当該カウンタ値がモータ逆回転方向について通常あり得ない変化を示したと判断され、第2の補正値が「n」に設定される。以上により、第2の補正値を「−n」と「n」とのいずれかに設定するに際し、それを適切に行うことができるようになる。   According to the above configuration, based on the fact that the counter value of the electrical angle counter has changed by skipping an integer value in the forward direction, it is determined that the counter value has shown a change that is not normally possible in the motor forward rotation direction. The correction value of 2 is set to “−n”. Further, based on the fact that the counter value of the electrical angle counter has changed in the reverse direction by skipping an integer value, it is determined that the counter value has shown a change that is not normally possible in the motor reverse rotation direction, and the second correction value is Set to “n”. As described above, when the second correction value is set to either “−n” or “n”, it can be appropriately performed.

請求項5記載の発明では、請求項1〜4のいずれか一項に記載の発明において、前記ブラシレスモータは、内燃機関の機関バルブのバルブ特性を可変とするバルブリフト可変機構の駆動に用いられるものとした。   According to a fifth aspect of the invention, in the invention according to any one of the first to fourth aspects, the brushless motor is used for driving a variable valve lift mechanism that varies a valve characteristic of an engine valve of an internal combustion engine. It was supposed to be.

ブラシレスモータを内燃機関のバルブリフト可変機構の駆動に用いる場合、位置カウンタのカウンタ値に基づきブラシレスモータの回転角を検出し、その回転角が目標とするバルブ特性に対応した回転角となるようブラシレスモータが駆動される。これにより、機関バルブのバルブ特性が目標とするバルブ特性となるよう、バルブリフト可変機構が駆動制御されることとなる。しかし、電気角センサからの信号にノイズが発生することに起因して、位置カウンタのカウンタ値に対し第1の補正値分の誤補正がなされ、当該カウンタ値がブラシレスモータの実際の回転角に対応する値からずれる。その結果、位置カウンタのカウンタ値に基づき検出されるブラシレスモータの回転角が不正確になり、当該回転角に基づきブラシレスモータを駆動してバルブリフト可変機構を駆動制御しようとしても、それを正しく行えなくなって機関運転への悪影響に繋がる。上記構成によれば、第1の補正値分の位置カウンタのカウンタ値の後補正を無効にし、当該カウンタ値がブラシレスモータの実際の回転角に対応する値からずれるのを回避することができる。従って、位置カウンタのカウンタ値に基づき検出されるブラシレスモータの回転角に基づきブラシレスモータを駆動し、バルブリフト可変機構を駆動制御しようとするとき、それを正しく行えなくなって機関運転への悪影響に繋がるということはない。   When a brushless motor is used for driving a variable valve lift mechanism of an internal combustion engine, the rotation angle of the brushless motor is detected based on the counter value of the position counter, and the rotation angle corresponds to the target valve characteristic. The motor is driven. As a result, the variable valve lift mechanism is driven and controlled so that the valve characteristic of the engine valve becomes the target valve characteristic. However, due to the occurrence of noise in the signal from the electrical angle sensor, the counter value of the position counter is erroneously corrected by the first correction value, and the counter value becomes the actual rotation angle of the brushless motor. Deviation from the corresponding value. As a result, the rotation angle of the brushless motor detected based on the counter value of the position counter becomes inaccurate, and even if it tries to drive and control the variable valve lift mechanism by driving the brushless motor based on the rotation angle, it can be done correctly. It will be lost and will have a negative effect on engine operation. According to the above configuration, the post-correction of the counter value of the position counter for the first correction value can be invalidated, and the counter value can be prevented from deviating from the value corresponding to the actual rotation angle of the brushless motor. Therefore, when the brushless motor is driven based on the rotation angle of the brushless motor detected based on the counter value of the position counter and the valve lift variable mechanism is to be driven and controlled, this cannot be performed correctly, leading to an adverse effect on engine operation. That's not true.

以下、本発明を自動車用エンジンに適用した一実施形態を図1〜図19に従って説明する。
図1は、エンジン1における所定気筒のシリンダヘッド2周りの構造を示す拡大断面図である。このエンジン1においては、シリンダヘッド2、シリンダブロック3、及びピストン5によって燃焼室6が区画され、この燃焼室6には吸気通路7及び排気通路8が接続されている。そして、吸気通路7と燃焼室6との間は吸気バルブ9の開閉動作によって連通・遮断され、排気通路8と燃焼室6との間は排気バルブ10の開閉動作によって連通・遮断されるようになる。
Hereinafter, an embodiment in which the present invention is applied to an automobile engine will be described with reference to FIGS.
FIG. 1 is an enlarged sectional view showing a structure around a cylinder head 2 of a predetermined cylinder in the engine 1. In the engine 1, a combustion chamber 6 is defined by a cylinder head 2, a cylinder block 3, and a piston 5, and an intake passage 7 and an exhaust passage 8 are connected to the combustion chamber 6. The intake passage 7 and the combustion chamber 6 are communicated and blocked by the opening / closing operation of the intake valve 9, and the exhaust passage 8 and the combustion chamber 6 are communicated and blocked by the opening / closing operation of the exhaust valve 10. Become.

シリンダヘッド2には、吸気バルブ9及び排気バルブ10を駆動するための吸気カムシャフト11及び排気カムシャフト12が設けられている。これら吸気カムシャフト11及び排気カムシャフト12は、エンジン1のクランクシャフトからの回転伝達によって回転するようになっている。また、吸気カムシャフト11及び排気カムシャフト12には、それぞれ吸気カム11a及び排気カム12aが設けられている。そして、これら吸気カム11a及び排気カム12aの吸気カムシャフト11及び排気カムシャフト12との一体回転を通じて、吸気バルブ9及び排気バルブ10が開閉動作するようになっている。   The cylinder head 2 is provided with an intake camshaft 11 and an exhaust camshaft 12 for driving the intake valve 9 and the exhaust valve 10. The intake camshaft 11 and the exhaust camshaft 12 are rotated by transmission of rotation from the crankshaft of the engine 1. The intake camshaft 11 and the exhaust camshaft 12 are provided with an intake cam 11a and an exhaust cam 12a, respectively. The intake valve 9 and the exhaust valve 10 are opened and closed through integral rotation of the intake cam shaft 11 and the exhaust cam shaft 12 of the intake cam 11a and the exhaust cam 12a.

また、エンジン1には、吸気バルブ9及び排気バルブ10といった機関バルブのバルブ特性を可変とするバルブリフト可変機構として、吸気バルブ9の最大リフト量及び吸気カム11aの作用角を可変とするバルブリフト可変機構14が吸気カム11aと吸気バルブ9との間に設けられている。このバルブリフト可変機構14の駆動を通じて、例えば吸入空気量を多く必要とするエンジン運転状態になるほど、最大リフト量及び作用角が大となるよう制御される。これは最大リフト量及び作用角を大とするほど、吸気通路7から燃焼室6への空気の吸入が効率よく行われ、上述した吸入空気量に関する要求を満たすことが可能なためである。   Further, the engine 1 is a valve lift variable mechanism that varies the valve characteristics of the engine valves such as the intake valve 9 and the exhaust valve 10, and the valve lift that varies the maximum lift amount of the intake valve 9 and the operating angle of the intake cam 11a. A variable mechanism 14 is provided between the intake cam 11 a and the intake valve 9. Through the driving of the variable valve lift mechanism 14, for example, the maximum lift amount and the operating angle are controlled to increase as the engine operation state that requires a larger intake air amount is reached. This is because the larger the maximum lift amount and the operating angle, the more efficiently the air is sucked into the combustion chamber 6 from the intake passage 7 and the above-described requirements regarding the intake air amount can be satisfied.

次に、バルブリフト可変機構14の詳細な構造について説明する。
バルブリフト可変機構14は、回転する吸気カム11aにより押されて上記吸気カムシャフト11と平行に延びるロッカシャフト15及びコントロールシャフト16の軸線を中心に揺動する入力アーム17と、この入力アーム17の揺動に基づき上記軸線を中心に揺動する出力アーム18とを備えている。入力アーム17については、ローラ19が回転可能に取り付けられるとともに、そのローラ19が吸気カム11aに押しつけられるようコイルスプリング20によって吸気カム11a側に付勢されている。また、出力アーム18は、その揺動時にロッカアーム21に押しつけられ、同ロッカアーム21を介して吸気バルブ9をリフトさせる。
Next, the detailed structure of the variable valve lift mechanism 14 will be described.
The variable valve lift mechanism 14 includes an input arm 17 that is pushed by the rotating intake cam 11 a and swings about the axes of the rocker shaft 15 and the control shaft 16 extending in parallel with the intake cam shaft 11, and the input arm 17 And an output arm 18 that swings about the axis based on the swing. The input arm 17 is rotatably attached to a roller 19 and is biased toward the intake cam 11a by a coil spring 20 so that the roller 19 is pressed against the intake cam 11a. Further, the output arm 18 is pressed against the rocker arm 21 when swinging, and lifts the intake valve 9 via the rocker arm 21.

このロッカアーム21の基端部はラッシュアジャスタ22によって支持され、同ロッカアーム21の先端部は吸気バルブ9に接触している。また、ロッカアーム21は吸気バルブ9のバルブスプリング24によって出力アーム18側に付勢され、これによりロッカアーム21の基端部と先端部との間に回転可能に支持されたローラ23が出力アーム18に押しつけられている。従って、吸気カム11aの回転に基づき入力アーム17及び出力アーム18が揺動すると、出力アーム18がロッカアーム21を介して吸気バルブ9をリフトさせ、吸気バルブ9の開閉動作が行われるようになる。   The base end portion of the rocker arm 21 is supported by a lash adjuster 22, and the distal end portion of the rocker arm 21 is in contact with the intake valve 9. The rocker arm 21 is urged toward the output arm 18 by the valve spring 24 of the intake valve 9, whereby a roller 23 rotatably supported between the base end portion and the distal end portion of the rocker arm 21 is applied to the output arm 18. It is pressed. Therefore, when the input arm 17 and the output arm 18 swing based on the rotation of the intake cam 11a, the output arm 18 lifts the intake valve 9 via the rocker arm 21, and the intake valve 9 is opened and closed.

バルブリフト可変機構14では、パイプ状のロッカシャフト15内に配置されたコントロールシャフト16を軸方向に変位させることで、入力アーム17と出力アーム18との揺動方向についての相対位置を変更することが可能となっている。このように、入力アーム17と出力アーム18との揺動方向についての相対位置を変更すると、上記吸気バルブ9の最大リフト量、及び吸気カム11aの吸気バルブ9に対する作用角が可変とされる。即ち、入力アーム17と出力アーム18とを揺動方向について互いに接近させるほど、吸気バルブ9の最大リフト量及び吸気カム11aの作用角は小となってゆく。逆に、入力アーム17と出力アーム18とを揺動方向について互いに離間させるほど、吸気バルブ9の最大リフト量及び吸気カム11aの作用角は大となってゆく。   In the variable valve lift mechanism 14, the relative position of the input arm 17 and the output arm 18 in the swinging direction is changed by displacing the control shaft 16 disposed in the pipe-shaped rocker shaft 15 in the axial direction. Is possible. Thus, when the relative position of the input arm 17 and the output arm 18 in the swing direction is changed, the maximum lift amount of the intake valve 9 and the operating angle of the intake cam 11a with respect to the intake valve 9 are made variable. That is, as the input arm 17 and the output arm 18 are brought closer to each other in the swing direction, the maximum lift amount of the intake valve 9 and the operating angle of the intake cam 11a become smaller. Conversely, as the input arm 17 and the output arm 18 are separated from each other in the swinging direction, the maximum lift amount of the intake valve 9 and the operating angle of the intake cam 11a increase.

次に、バルブリフト可変機構14を駆動すべく上記コントロールシャフト16を軸方向に変位させるための駆動機構、及び、その駆動機構を駆動制御する制御装置について、図2を参照して説明する。   Next, a drive mechanism for displacing the control shaft 16 in the axial direction to drive the variable valve lift mechanism 14 and a control device for driving and controlling the drive mechanism will be described with reference to FIG.

同図に示されるように、コントロールシャフト16の基端部(図中右端部)には、ブラシレスモータ47が変換機構48を介して連結されている。この変換機構48は、ブラシレスモータ47の回転運動をコントロールシャフト16の軸方向への直線運動に変換するためのものである。そして、上記ブラシレスモータ47の所定の回転角範囲内での回転駆動、例えば同モータ47の10回転分の回転角範囲(0〜3600°)内での回転駆動を通じて、コントロールシャフト16が軸方向に変位させられ、バルブリフト可変機構14が駆動されることとなる。   As shown in the figure, a brushless motor 47 is connected to a base end portion (right end portion in the figure) of the control shaft 16 via a conversion mechanism 48. The conversion mechanism 48 is for converting the rotational motion of the brushless motor 47 into linear motion in the axial direction of the control shaft 16. Then, the rotation of the brushless motor 47 within a predetermined rotation angle range, for example, the rotation of the motor 47 within a rotation angle range (0 to 3600 °) corresponding to 10 rotations causes the control shaft 16 to move in the axial direction. As a result, the variable valve lift mechanism 14 is driven.

ちなみに、ブラシレスモータ47を正回転させると、コントロールシャフト16は先端(図中左端)側に変位し、入力アーム17と出力アーム18との揺動方向についての相対位置が互いに接近するように変更される。また、ブラシレスモータ47を逆回転させると、コントロールシャフト16は基端(図中右端)側に変位し、入力アーム17と出力アーム18との揺動方向についての相対位置が互いに離間するように変更される。こうしたブラシレスモータ47の回転駆動による入力アーム17及び出力アーム18の揺動方向についての相対位置の変更を通じて、吸気カム11aの回転により出力アーム18が揺動したときの吸気バルブ9の最大リフト量、及び吸気カム11aの作用角が可変とされる。   Incidentally, when the brushless motor 47 is rotated forward, the control shaft 16 is displaced toward the tip (left end in the figure), and the relative positions of the input arm 17 and the output arm 18 in the swing direction are changed so as to approach each other. The Further, when the brushless motor 47 is rotated in the reverse direction, the control shaft 16 is displaced toward the base end (right end in the figure), and the relative positions of the input arm 17 and the output arm 18 in the swing direction are changed from each other. Is done. The maximum lift amount of the intake valve 9 when the output arm 18 swings due to the rotation of the intake cam 11a through the change of the relative position in the swing direction of the input arm 17 and the output arm 18 by the rotational drive of the brushless motor 47, The operating angle of the intake cam 11a is variable.

ブラシレスモータ47には、三つの電気角センサS1〜S3、及び 二つの位置センサS4,S5が設けられている。
三つの電気角センサS1〜S3は、ブラシレスモータ47の回転時、同モータ47のロータと一体回転する4極の多極マグネットの磁気に応じて、図3(a)〜(c)に示されるようなパルス状の信号、すなわちハイ信号「H」とロー信号「L」とを交互に出力するものである。また、各電気角センサS1〜S3からのパルス信号は、互いに位相をずらした状態で出力されるようになっている。すなわち、こうしたパルス信号の波形が得られるよう、上記ロータに対する各電気角センサS1〜S3の周方向位置が定められている。なお、各電気角センサS1〜S3のうちの一つのセンサから出力されるパルス信号のエッジは、ブラシレスモータ47の45°回転毎に発生している。また、上記一つのセンサからのパルス信号は、他のセンサからのパルス信号に対し、ブラシレスモータ47の30°回転分だけ進み側及び遅れ側に位相をずらした状態となっている。
The brushless motor 47 is provided with three electrical angle sensors S1 to S3 and two position sensors S4 and S5.
The three electrical angle sensors S1 to S3 are shown in FIGS. 3A to 3C according to the magnetism of the four-pole multipolar magnet that rotates integrally with the rotor of the motor 47 when the brushless motor 47 rotates. Such a pulse signal, that is, a high signal “H” and a low signal “L” are alternately output. In addition, the pulse signals from the electrical angle sensors S1 to S3 are output with their phases shifted from each other. That is, the circumferential positions of the electric angle sensors S1 to S3 with respect to the rotor are determined so that the waveform of the pulse signal can be obtained. Note that the edge of the pulse signal output from one of the electrical angle sensors S <b> 1 to S <b> 3 is generated every 45 ° rotation of the brushless motor 47. Further, the pulse signal from the one sensor is in a state where the phase is shifted to the advance side and the delay side by 30 ° rotation of the brushless motor 47 with respect to the pulse signal from the other sensor.

二つの位置センサS4,S5は、ブラシレスモータ47の回転時、同モータ47のロータと一体回転する48極の多極マグネットの磁気に応じて、図3(d)及び(e)に示されるようなパルス状の信号、すなわちハイ信号「H」とロー信号「L」とを交互に出力するものである。また、各位置センサS4,S5からのパルス信号は、互いに位相をずらした状態で出力されるようになっている。すなわち、こうしたパルス信号の波形が得られるよう、上記ロータに対する各位置センサS4,S5の周方向位置が定められている。なお、各位置センサS4,S5の内の一方のセンサから出力するパルス信号のエッジは、ブラシレスモータ47の7.5°回転毎に発生している。また、上記一方のセンサからのパルス信号は、他方のセンサからのパルス信号に対し、ブラシレスモータ47の3.75°回転分だけ位相をずらした状態となっている。   As shown in FIGS. 3D and 3E, the two position sensors S4 and S5 correspond to the magnetism of the 48-pole multipole magnet that rotates integrally with the rotor of the motor 47 when the brushless motor 47 rotates. , A high signal “H” and a low signal “L” are alternately output. The pulse signals from the position sensors S4 and S5 are output in a state where the phases are shifted from each other. That is, the circumferential positions of the position sensors S4 and S5 with respect to the rotor are determined so that the waveform of the pulse signal can be obtained. The edge of the pulse signal output from one of the position sensors S4 and S5 is generated every 7.5 ° rotation of the brushless motor 47. Further, the pulse signal from the one sensor is in a state of being shifted in phase by the amount of 3.75 ° rotation of the brushless motor 47 with respect to the pulse signal from the other sensor.

従って、電気角センサS1〜S3からのパルス信号のエッジ間隔が15°であるのに対し、位置センサS4,S5からのパルス信号のエッジ間隔は3.75°と上記15°というエッジ間隔よりも短くなっている。更に、電気角センサS1〜S3からのパルス信号のエッジ発生から次回のエッジ発生までには、位置センサS4,S5からのパルス信号のエッジが4回発生するようになっている。   Therefore, while the edge interval of the pulse signals from the electrical angle sensors S1 to S3 is 15 °, the edge interval of the pulse signals from the position sensors S4 and S5 is 3.75 °, which is larger than the edge interval of 15 °. It is getting shorter. Further, the edge of the pulse signal from the position sensors S4 and S5 is generated four times from the generation of the edge of the pulse signal from the electrical angle sensors S1 to S3 to the next generation of the edge.

コントロールシャフト16を軸方向に変位させるべく回転駆動されるブラシレスモータ47の制御装置は、吸気バルブ9の最大リフト量及び吸気カム11aの作用角といった吸気バルブ9のバルブ特性の制御など、エンジン1の各種制御を行う電子制御装置50(図2)を備えている。この電子制御装置50は、上記各種制御にかかる演算処理を実行するCPU、その制御に必要なプログラムやデータの記憶されたROM、CPUの演算結果が一時的に記憶されるRAM、外部との間で信号を入・出力するための入・出力ポート等を備えて構成されている。   The control device of the brushless motor 47 that is rotationally driven to displace the control shaft 16 in the axial direction includes control of the valve characteristics of the intake valve 9 such as the maximum lift amount of the intake valve 9 and the operating angle of the intake cam 11a. An electronic control device 50 (FIG. 2) that performs various controls is provided. The electronic control unit 50 includes a CPU that executes arithmetic processing related to the above various controls, a ROM that stores programs and data necessary for the control, a RAM that temporarily stores arithmetic results of the CPU, and an external interface. The input / output port for inputting / outputting the signal is provided.

電子制御装置50の入力ポートには、上述した電気角センサS1〜S3及び位置センサS4,S5が接続されるほか、更に以下のセンサを含む各種センサが接続されている。
・自動車の運転者によって踏み込み操作されるアクセルペダルの踏み込み量(アクセル踏込量)を検出するアクセルポジションセンサ51。
In addition to the electrical angle sensors S1 to S3 and the position sensors S4 and S5 described above, various sensors including the following sensors are connected to the input port of the electronic control unit 50.
An accelerator position sensor 51 that detects the amount of depression of the accelerator pedal (accelerator depression amount) that is depressed by the driver of the automobile.

・エンジン1の吸気通路7に設けられたスロットルバルブの開度(スロットル開度)を検出するスロットルポジションセンサ52。
・上記吸気通路7を通じて燃焼室6に吸入される空気の量を検出するエアフローメータ53。
A throttle position sensor 52 that detects the opening (throttle opening) of a throttle valve provided in the intake passage 7 of the engine 1.
An air flow meter 53 for detecting the amount of air taken into the combustion chamber 6 through the intake passage 7;

・エンジン1の出力軸の回転に対応する信号を出力してエンジン回転速度の検出等に用いられるクランクポジションセンサ54。
・自動車の運転者により切り換え操作され、現在の切換位置に対応した信号を出力するイグニッションスイッチ55。
A crank position sensor 54 that outputs a signal corresponding to the rotation of the output shaft of the engine 1 and is used for detecting the engine rotation speed and the like.
An ignition switch 55 that is switched by an automobile driver and outputs a signal corresponding to the current switching position.

また、電子制御装置50の出力ポートには、ブラシレスモータ47の駆動回路等が接続されている。電子制御装置50は、上記各種センサから入力した検出信号に基づきエンジン運転状態を把握する。そして、その把握したエンジン運転状態に基づきブラシレスモータ47を駆動してコントロールシャフト16を軸方向に変位させることで、バルブリフト可変機構14が駆動されて吸気バルブ9のバルブ特性制御が行われる。なお、ブラシレスモータ47の駆動は、各電気角センサS1〜S3から出力される同モータ47の回転時のパルス信号の出力パターンに応じて、ブラシレスモータ47の通電相を切り換えることによって行われる。   The output port of the electronic control device 50 is connected to a drive circuit for the brushless motor 47 and the like. The electronic control unit 50 grasps the engine operating state based on the detection signals input from the various sensors. Then, the brushless motor 47 is driven based on the grasped engine operating state to displace the control shaft 16 in the axial direction, whereby the variable valve lift mechanism 14 is driven and the valve characteristics of the intake valve 9 are controlled. The brushless motor 47 is driven by switching the energized phase of the brushless motor 47 in accordance with the output pattern of the pulse signal output from the electric angle sensors S1 to S3 when the motor 47 rotates.

吸気バルブ9のバルブ特性、すなわち吸気バルブ9の最大リフト量及び吸気カム11aの作用角は、コントロールシャフト16の軸方向位置、言い換えればブラシレスモータ47の上記所定回転角範囲内での回転角に対応したものとなる。従って、吸気バルブ9のバルブ特性を精密に制御するには、ブラシレスモータ47の回転角を正確に検出し、その回転角が目標とするバルブ特性に対応する回転角となるようブラシレスモータ47を駆動することが重要になる。   The valve characteristics of the intake valve 9, that is, the maximum lift amount of the intake valve 9 and the operating angle of the intake cam 11 a correspond to the axial position of the control shaft 16, in other words, the rotation angle of the brushless motor 47 within the predetermined rotation angle range. Will be. Therefore, in order to precisely control the valve characteristic of the intake valve 9, the rotation angle of the brushless motor 47 is accurately detected, and the brushless motor 47 is driven so that the rotation angle becomes a rotation angle corresponding to the target valve characteristic. It becomes important to do.

以下、本実施形態におけるブラシレスモータ47の回転角の検出手順について、図3のタイミングチャート及び図4のフローチャートを併せ参照して説明する。
図3において、(a)〜(e)は、ブラシレスモータ47の回転時における同モータ47の回転角変化に対し、各センサS1〜S5からパルス信号がどのように出力されるかを示す波形図である。また、(f)〜(h)ではそれぞれ、ブラシレスモータ47の回転時における同モータ47の回転角の変化に対し、電気角カウンタE、位置カウンタP、及びストロークカウンタSのカウンタ値がどのように推移するかを示している。
Hereinafter, the detection procedure of the rotation angle of the brushless motor 47 in this embodiment will be described with reference to the timing chart of FIG. 3 and the flowchart of FIG.
3A to 3E are waveform diagrams showing how pulse signals are output from the sensors S1 to S5 in response to the rotation angle change of the motor 47 when the brushless motor 47 rotates. It is. Further, in (f) to (h), how the counter values of the electric angle counter E, the position counter P, and the stroke counter S correspond to changes in the rotation angle of the motor 47 when the brushless motor 47 rotates. It shows whether it will change.

なお、上記電気角カウンタEは、ブラシレスモータ47を駆動すべく同モータ47の通電相を切り換える際に用いられるものである。また、上記位置カウンタPは、エンジン1を運転開始する際のイグニッションスイッチ55のオン操作(イグニッションオン)後、コントロールシャフト16が軸方向にどれだけ変位したか、言い換えればブラシレスモータ47の回転角がどれだけ変化したかを表すものである。更に、上記ストロークカウンタSは、コントロールシャフト16の最も先端側に変位した状態を基準とする軸方向位置、言い換えればブラシレスモータ47の上記所定回転角範囲におけるコントロールシャフト16の上記変位状態に対応する端を基準とした同モータ47の回転角を表すものである。   The electrical angle counter E is used when the energized phase of the motor 47 is switched to drive the brushless motor 47. Further, the position counter P indicates how much the control shaft 16 is displaced in the axial direction after the ignition switch 55 is turned on (ignition on) when starting the operation of the engine 1, in other words, the rotational angle of the brushless motor 47 is It shows how much has changed. Further, the stroke counter S is an axial position based on a state where the control shaft 16 is displaced to the most distal side, in other words, an end corresponding to the displacement state of the control shaft 16 in the predetermined rotation angle range of the brushless motor 47. Represents the rotation angle of the motor 47 with reference to.

図4は、上記電気角カウンタE、位置カウンタP、及びストロークカウンタSのカウンタ値を変化させるためのカウント処理ルーチンを示すフローチャートである。同ルーチンは、電子制御装置50を通じて、位置センサS4,S5からのパルス信号のエッジ間隔に対応する時間間隔よりも短い間隔をもって周期的に実行される。   FIG. 4 is a flowchart showing a count processing routine for changing the counter values of the electrical angle counter E, the position counter P, and the stroke counter S. The routine is periodically executed through the electronic control unit 50 at intervals shorter than the time intervals corresponding to the edge intervals of the pulse signals from the position sensors S4 and S5.

同ルーチンにおいては、まず図3(a)〜(c)に示される各電気角センサS1〜S3からのパルス信号の出力パターンに基づき、図3(f)に示されるように電気角カウンタEのカウンタ値を変化させる(S101)。   In this routine, first, based on the output patterns of the pulse signals from the electric angle sensors S1 to S3 shown in FIGS. 3A to 3C, the electric angle counter E is set as shown in FIG. The counter value is changed (S101).

より詳しくは、図5(a)に示されるように、各電気角センサS1〜S3から各々ハイ信号「H」とロー信号「L」とのいずれが出力されているかに応じて、電気角カウンタEのカウンタ値が「0」〜「5」の範囲内の連続した整数値のうちのいずれかが当てはめられる。その結果、ブラシレスモータ47の正回転時(図3中右向き)には、電気角センサS1〜S3からのパルス信号の出力パターンに応じて、「0」〜「m(この実施形態では5)」の範囲内の連続した各整数値が「0」→「1」→「2」→「3」→「4」→「5」→「0」といった順序で順方向に電気角カウンタEのカウンタ値として当てはめられる。また、ブラシレスモータ47の逆回転時(図3中左向き)には、電気角センサS1〜S3からのパルス信号の出力パターンに応じて、「0」〜「m(5)」の範囲内の連続した各整数値が「5」→「4」→「3」→「2」→「1」→「0」→「5」といった順序で逆方向に電気角カウンタEのカウンタ値として当てはめられる。なお、何らかの原因により、各電気角センサS1〜S3全てがハイ信号「H」を出力する場合、或いは、各電気角センサS1〜S3全てがロー信号「L」を出力する場合もあるが、これらの場合には異常状態である旨判断され、電気角カウンタEのカウンタ値がそのまま保持されることとなる。   More specifically, as shown in FIG. 5 (a), an electrical angle counter is selected depending on whether a high signal “H” or a low signal “L” is output from each of the electrical angle sensors S1 to S3. One of consecutive integer values in the range where the counter value of E is in the range of “0” to “5” is applied. As a result, during the forward rotation of the brushless motor 47 (rightward in FIG. 3), “0” to “m (5 in this embodiment)” according to the output pattern of the pulse signals from the electrical angle sensors S1 to S3. Each successive integer value within the range of “0” → “1” → “2” → “3” → “4” → “5” → “0” in the forward direction is the counter value of the electrical angle counter E As applied. Further, when the brushless motor 47 rotates in the reverse direction (leftward in FIG. 3), it continues within the range of “0” to “m (5)” according to the pulse signal output pattern from the electrical angle sensors S1 to S3. These integer values are applied as counter values of the electrical angle counter E in the reverse direction in the order of “5” → “4” → “3” → “2” → “1” → “0” → “5”. For some reason, all the electrical angle sensors S1 to S3 output a high signal “H”, or all the electrical angle sensors S1 to S3 may output a low signal “L”. In this case, it is determined that the state is abnormal, and the counter value of the electrical angle counter E is held as it is.

そして、この電気角カウンタEのカウンタ値に基づき、ブラシレスモータ47の通電層を切り換えることで、同モータの正回転方向または逆回転方向への駆動が行われる。
続いて、各位置センサS4,S5からのパルス信号の出力パターンに基づき、位置カウンタPのカウンタ値を増減させる(図4のS102)。
Then, by switching the energization layer of the brushless motor 47 based on the counter value of the electric angle counter E, the motor is driven in the forward rotation direction or the reverse rotation direction.
Subsequently, the counter value of the position counter P is increased or decreased based on the pulse signal output patterns from the position sensors S4 and S5 (S102 in FIG. 4).

詳しくは、図5(b)に示されるように、位置センサS4,S5のうち、一方のセンサからパルス信号の立ち上がりエッジと立ち下がりエッジとのいずれが生じているか、及び、他方のセンサからハイ信号「H」とロー信号「L」とのいずれが出力されているかに応じて、位置カウンタPのカウンタ値に対し「+1」と「−1」とのいずれかが加算される。なお、同図において、「↑」はパルス信号の立ち上がりエッジを表し、「↓」はパルス信号の立ち下がりエッジを表している。こうした処理を通じて得られる位置カウンタPのカウンタ値は、各位置センサS4,S5からのパルス信号のエッジを計数した値ということになる。   Specifically, as shown in FIG. 5 (b), one of the position sensors S4 and S5 has a rising edge or a falling edge of the pulse signal, and the other sensor is high. Depending on whether the signal “H” or the low signal “L” is output, either “+1” or “−1” is added to the counter value of the position counter P. In the figure, “↑” represents the rising edge of the pulse signal, and “↓” represents the falling edge of the pulse signal. The counter value of the position counter P obtained through such processing is a value obtained by counting the edges of the pulse signals from the position sensors S4 and S5.

ここで、ブラシレスモータ47の正回転中であれば、位置カウンタPのカウンタ値は、図3(d)及び(e)に示される位置センサS4,S5からのパルス信号のエッジ毎に「1」ずつ加算されてゆき、図3(g)中の右方向に変化してゆく。また、ブラシレスモータ47の逆回転中であれば、位置カウンタPのカウンタ値は、上記エッジ毎に「1」ずつ減算されてゆき、図3(g)中の左方向に変化してゆく。なお、この位置カウンタPは、イグニッションスイッチ55のオフ操作(イグニッションオフ)がなされたとき、「0」にリセットされる。従って、位置カウンタPのカウンタ値は、イグニッションオン後にコントロールシャフト16が軸方向にどれだけ変位したかを表すものとなる。   Here, if the brushless motor 47 is rotating forward, the counter value of the position counter P is “1” for each edge of the pulse signal from the position sensors S4 and S5 shown in FIGS. The values are added one by one and change to the right in FIG. If the brushless motor 47 is rotating in reverse, the counter value of the position counter P is decremented by “1” for each edge, and changes to the left in FIG. The position counter P is reset to “0” when the ignition switch 55 is turned off (ignition off). Therefore, the counter value of the position counter P represents how much the control shaft 16 is displaced in the axial direction after the ignition is turned on.

そして、図3(g)に示されるように変化する位置カウンタPに応じて、図3(h)に示されるようにストロークカウンタSが変化させられるようになる。具体的には、位置カウンタPに対して学習値Prの正負を反転させた値(−Pr)を加算して得られる値がストロークカウンタSのカウンタ値として設定される(図4のS103)。なお、上記学習値Prは、コントロールシャフト16をその移動範囲における図2の左端(先端)側の変位端まで変位させたとき、すなわちブラシレスモータ47の回転角を上記所定の回転角範囲内における上記コントロールシャフト16の変位状態に対応する端まで変化させたときの位置カウンタPのカウンタ値に対応した値である。この学習値Prは、イグニッションオン後に所定の条件下で学習が行われて電子制御装置50の不揮発性メモリ56に記憶されるものである。従って、位置カウンタPのカウンタ値に学習値Prの正負を反転させた値を加算して得られる値であるストロークカウンタSのカウンタ値は、コントロールシャフト16の最も先端側に変位した状態を基準とする同シャフト16の軸方向位置を表すものということになる。このことは言い換えれば、ストロークカウンタSのカウンタ値が、ブラシレスモータ47の上記所定回転角範囲におけるコントロールシャフト16の上記変位状態に対応する端を基準とした同モータ47の回転角を表すものになるということである。   Then, the stroke counter S is changed as shown in FIG. 3 (h) in accordance with the position counter P changing as shown in FIG. 3 (g). Specifically, a value obtained by adding a value (−Pr) obtained by inverting the sign of the learning value Pr to the position counter P is set as a counter value of the stroke counter S (S103 in FIG. 4). Note that the learning value Pr is the value obtained when the control shaft 16 is displaced to the displacement end on the left end (tip) side in FIG. 2 in the movement range, that is, the rotation angle of the brushless motor 47 is within the predetermined rotation angle range. This is a value corresponding to the counter value of the position counter P when it is changed to the end corresponding to the displacement state of the control shaft 16. This learning value Pr is learned under a predetermined condition after the ignition is turned on, and is stored in the nonvolatile memory 56 of the electronic control unit 50. Therefore, the counter value of the stroke counter S, which is a value obtained by adding a value obtained by inverting the sign of the learning value Pr to the counter value of the position counter P, is based on the state of displacement of the control shaft 16 to the most distal end side. This represents the axial position of the shaft 16. In other words, the counter value of the stroke counter S represents the rotation angle of the motor 47 with respect to the end corresponding to the displacement state of the control shaft 16 in the predetermined rotation angle range of the brushless motor 47. That's what it means.

電子制御装置50は、上記ストロークカウンタSのカウンタ値に基づき、ブラシレスモータ47の回転角を検出する。そして、電子制御装置50は、バルブリフト可変機構14を駆動して吸気バルブ9の最大リフト量及び吸気カム11aの作用角といったバルブ特性を制御する際、上記のように検出されたブラシレスモータ47の回転角が目標とするバルブ特性に対応する回転角となるようブラシレスモータ47を駆動する。これにより、吸気バルブ9のバルブ特性を目標とする特性へと精密に制御することができるようになる。   The electronic control unit 50 detects the rotation angle of the brushless motor 47 based on the counter value of the stroke counter S. When the electronic control unit 50 controls the valve characteristics such as the maximum lift amount of the intake valve 9 and the operating angle of the intake cam 11a by driving the variable valve lift mechanism 14, the electronic control unit 50 detects the brushless motor 47 detected as described above. The brushless motor 47 is driven so that the rotation angle becomes a rotation angle corresponding to the target valve characteristic. As a result, the valve characteristic of the intake valve 9 can be precisely controlled to a target characteristic.

なお、ブラシレスモータ47の回転時に位置センサS4,S5からのパルス信号のエッジを上述したように計数する代わりに、電気角センサS1〜S3からのパルス信号のエッジを計数しても、その計数値に基づきブラシレスモータ47の回転角を大まかにならば検出することは可能である。しかし、バルブリフト可変機構14を駆動するうえでのブラシレスモータ47の回転角の検出のように、同モータ47の回転角の検出に高精度が要求されるような場合には、上記のような大まかな回転角検出では検出精度が足りなくなる。このため、電気角センサS1〜S3からのパルス信号のエッジ間隔よりも短いエッジ間隔でパルス信号を出力する位置センサS4,S5が設けられ、それら位置センサS4,S5からのパルス信号のエッジを計数する位置カウンタPのカウンタ値に基づき、ブラシレスモータ47の回転角検出が行われている。   Note that, instead of counting the edges of the pulse signals from the position sensors S4 and S5 during the rotation of the brushless motor 47 as described above, even if the edges of the pulse signals from the electrical angle sensors S1 to S3 are counted, the counted value The rotation angle of the brushless motor 47 can be roughly detected based on the above. However, when high accuracy is required for detection of the rotation angle of the motor 47, such as detection of the rotation angle of the brushless motor 47 for driving the variable valve lift mechanism 14, the above-mentioned Rough rotation angle detection results in insufficient detection accuracy. For this reason, position sensors S4 and S5 that output pulse signals at edge intervals shorter than the edge intervals of the pulse signals from the electrical angle sensors S1 to S3 are provided, and the edges of the pulse signals from the position sensors S4 and S5 are counted. The rotation angle of the brushless motor 47 is detected based on the counter value of the position counter P.

ところで、位置カウンタPのカウンタ値は、常にブラシレスモータ47の実際の回転角に対応しているとは限らず、その実際の回転角に対応した値からずれることがある。例えば、位置センサS4,S5から出力される信号にノイズが発生すると、そのノイズのエッジと位置センサS4,S5からのパルス信号のエッジとを見分けることができず、ノイズのエッジをパルス信号のエッジと誤認し、パルス信号のエッジを計数する位置カウンタPのカウンタ値がブラシレスモータ47の実際の回転角と対応しなくなる。   By the way, the counter value of the position counter P does not always correspond to the actual rotation angle of the brushless motor 47, and may deviate from the value corresponding to the actual rotation angle. For example, when noise is generated in the signals output from the position sensors S4 and S5, the noise edge cannot be distinguished from the edge of the pulse signal from the position sensors S4 and S5. And the counter value of the position counter P that counts the edges of the pulse signal does not correspond to the actual rotation angle of the brushless motor 47.

以下、上記不具合発生の詳細について、モータ正回転中に上記ノイズが発生した場合、及び、モータ逆回転中に上記ノイズが発生した場合を例に、図6を参照して説明する。なお、図6において、(a)〜(e)は、ブラシレスモータ47の回転角の変化に対する位置センサS4,S5からのパルス信号の波形、電気角カウンタEのカウンタ値の推移、及び、位置カウンタPのカウンタ値の推移を表している。   Hereinafter, details of the occurrence of the problem will be described with reference to FIG. 6 by taking, as an example, the case where the noise occurs during the forward rotation of the motor and the case where the noise occurs during the reverse rotation of the motor. 6A to 6E show the waveforms of the pulse signals from the position sensors S4 and S5 with respect to the change in the rotation angle of the brushless motor 47, the transition of the counter value of the electric angle counter E, and the position counter. It shows the transition of the counter value of P.

ブラシレスモータ47の正回転中、例えば図6(a)に示されるように、位置センサS4からの信号にノイズが発生し、そのノイズが位置センサS5からのパルス信号の立ち下がりエッジと重なると、上記ノイズの発生しているタイミングa,b,cでの位置センサS4,S5からの信号の出力パターンは、図7(a)に示されるようなパターンとなる。その結果、タイミングa,b,cでそれぞれ位置カウンタPのカウンタ値に「−1」が加算され、図6(d)のタイミングa,b,cでは当該カウンタ値が破線で示されるように「1」ずつ減少してゆく。一方、仮に上記ノイズが発生していないとすれば、タイミングa,b,cではタイミングbで位置カウンタPのカウンタ値に「1」が加算されるだけとなるはずである。このため、上記ノイズが発生したときの位置カウンタPのカウンタ値は、タイミングc以降、ブラシレスモータ47の実際の回転角に対応する値(実線)に対し、二点鎖線で示されるように「4」だけ小さくなる。   During forward rotation of the brushless motor 47, for example, as shown in FIG. 6A, noise occurs in the signal from the position sensor S4, and the noise overlaps with the falling edge of the pulse signal from the position sensor S5. An output pattern of signals from the position sensors S4 and S5 at the timings a, b, and c where the noise is generated is a pattern as shown in FIG. As a result, “−1” is added to the counter value of the position counter P at each of the timings a, b, and c. At the timings a, b, and c in FIG. Decrease by 1 ”. On the other hand, if the noise is not generated, at timings a, b, and c, “1” should only be added to the counter value of the position counter P at timing b. Therefore, the counter value of the position counter P when the noise is generated is “4” as indicated by a two-dot chain line with respect to a value (solid line) corresponding to the actual rotation angle of the brushless motor 47 after the timing c. "Is smaller.

ブラシレスモータ47の逆回転中、例えば図6(a)に示されるノイズが発生し、そのノイズが位置センサS5からのパルス信号の立ち上がりエッジと重なった場合にも、位置カウンタPのカウンタ値がブラシレスモータ47の実際の回転角に対応する値からずれることになる。すなわち、上記ノイズの発生しているタイミングc,b,aでの位置センサS4,S5からの信号の出力パターンが図7(b)に示されるようなパターンとなり、タイミングc,b,aでそれぞれ位置カウンタPのカウンタ値に「1」が加算され、図6(e)のタイミングc,b,aでは当該カウンタ値が破線で示されるように「1」ずつ増加してゆく。一方、仮に上記ノイズが発生していないとすれば、タイミングc,b,aではタイミングbで位置カウンタPのカウンタ値に「−1」が加算されるだけとなるはずである。このため、上記ノイズが発生したときの位置カウンタPのカウンタ値は、タイミングa以降、ブラシレスモータ47の実際の回転角に対応する値(実線)に対し、二点鎖線で示されるように「4」だけ大きくなる。   During the reverse rotation of the brushless motor 47, for example, noise shown in FIG. 6A is generated, and the counter value of the position counter P is also brushless even when the noise overlaps the rising edge of the pulse signal from the position sensor S5. It will deviate from the value corresponding to the actual rotation angle of the motor 47. That is, the output pattern of signals from the position sensors S4, S5 at the timings c, b, a where the noise is generated becomes a pattern as shown in FIG. 7B, and at the timings c, b, a, respectively. “1” is added to the counter value of the position counter P, and the counter value is incremented by “1” at the timings c, b, and a in FIG. On the other hand, if the noise is not generated, “−1” should be added to the counter value of the position counter P at timing b at timings c, b, and a. Therefore, the counter value of the position counter P when the noise is generated is “4” as indicated by a two-dot chain line with respect to a value (solid line) corresponding to the actual rotation angle of the brushless motor 47 after the timing a. "Will only increase.

以上のように、位置センサS4,S5から出力される信号にノイズが発生し、そのノイズが位置センサS4,S5からのパルス信号のエッジと重なると、位置カウンタPのカウンタ値がブラシレスモータ47の実際の回転角と対応しなくなる。その結果、位置カウンタP(正確にはストロークカウンタS)のカウンタ値に基づき検出されるブラシレスモータ47の実際の回転角が不正確になり、その回転角等に基づきブラシレスモータ47を駆動し、吸気バルブ9のバルブ特性を目標の特性に制御しようとしても、それを正しく行えなくなってエンジン運転への悪影響に繋がる。より詳しくは、吸気バルブ9のバルブ特性を目標の特性に制御できないことから、当該バルブ特性に基づくエンジン1の吸入空気量の正しい推定を行えなくなり、ひいては推定される吸入空気量に基づきエンジン1を運転制御する際にエンジン1のエミッション不良や加速不良を招くこととなる。   As described above, when noise is generated in the signals output from the position sensors S4 and S5, and the noise overlaps with the edge of the pulse signal from the position sensors S4 and S5, the counter value of the position counter P becomes the value of the brushless motor 47. It will not correspond to the actual rotation angle. As a result, the actual rotation angle of the brushless motor 47 detected based on the counter value of the position counter P (more precisely, the stroke counter S) becomes inaccurate, and the brushless motor 47 is driven based on the rotation angle and the like, Even if it is attempted to control the valve characteristic of the valve 9 to the target characteristic, it cannot be performed correctly, leading to an adverse effect on engine operation. More specifically, since the valve characteristic of the intake valve 9 cannot be controlled to a target characteristic, the intake air amount of the engine 1 cannot be correctly estimated based on the valve characteristic. As a result, the engine 1 is controlled based on the estimated intake air amount. When the operation control is performed, an emission failure or an acceleration failure of the engine 1 is caused.

上述したノイズに起因する不具合の発生を抑制するためには、位置カウンタPのカウンタ値におけるブラシレスモータ47の実際の回転角に対応する値からのずれ量を求め、そのずれ量に対応する分の補正を当該カウンタ値に加えて、そのカウンタ値をブラシレスモータ47の実際の回転角に対応する値に戻すことが必要になる。このため、[発明が解決しようとする課題]の欄に記載したように、ブラシレスモータ47の実際の回転角を検出するリニアセンサ等を別途設け、そのセンサによって検出される回転角が位置カウンタPのカウンタ値等に基づき検出される回転角と対応していないとき、両者の差に基づき求められる補正値の分だけカウンタ値を補正することも考えられる。しかし、この場合には、リニアセンサ等の設置に手間がかかるとともに、同センサの設置に関係してブラシレスモータ47の搭載位置が制約されるという新たな問題が生じることは、[発明が解決しようとする課題]の欄に記載したとおりである。   In order to suppress the occurrence of the problems due to the noise described above, a deviation amount from the value corresponding to the actual rotation angle of the brushless motor 47 in the counter value of the position counter P is obtained, and the amount corresponding to the deviation amount is obtained. It is necessary to add correction to the counter value and return the counter value to a value corresponding to the actual rotation angle of the brushless motor 47. For this reason, as described in the section “Problems to be Solved by the Invention”, a linear sensor or the like for detecting the actual rotation angle of the brushless motor 47 is separately provided, and the rotation angle detected by the sensor is the position counter P. When the rotation angle detected based on the counter value or the like does not correspond, the counter value may be corrected by the correction value obtained based on the difference between the two. However, in this case, it takes time to install a linear sensor or the like, and a new problem arises that the mounting position of the brushless motor 47 is restricted in relation to the installation of the sensor. Is as described in the column “Problems”.

そこで本実施形態では、ブラシレスモータ47の駆動に用いられる電気角センサS1〜S3からのパルス信号を利用して、位置カウンタPのカウンタ値におけるブラシレスモータ47の実際の回転角に対応する値からのずれ量を求め、そのずれ量に対応する補正を上記カウンタ値に加えるようにしている。より詳しくは、以下の[1]〜[3]の処理を実行することで、上述した位置カウンタPのカウンタ値の補正を行い、同カウンタ値をブラシレスモータ47の実際の回転角に対応する値に戻すようにしている。   Therefore, in the present embodiment, the pulse signal from the electric angle sensors S1 to S3 used for driving the brushless motor 47 is used to obtain a value from the value corresponding to the actual rotation angle of the brushless motor 47 in the counter value of the position counter P. A deviation amount is obtained, and a correction corresponding to the deviation amount is added to the counter value. More specifically, the counter value of the position counter P described above is corrected by executing the following processes [1] to [3], and the counter value is a value corresponding to the actual rotation angle of the brushless motor 47. I try to return to

[1]各電気角センサS1〜S3から出力されるパルス信号のエッジ発生毎に、今回のエッジ発生時における位置カウンタPのカウンタ値Pi と前回のエッジ発生時における位置カウンタPのカウンタ値Pi-1 との差(Pi −Pi-1 )を算出する。   [1] Every time an edge of the pulse signal output from each of the electrical angle sensors S1 to S3 occurs, the counter value Pi of the position counter P when the current edge is generated and the counter value Pi− of the position counter P when the previous edge is generated The difference (Pi-Pi-1) from 1 is calculated.

[2]電気角カウンタEのカウンタ値の変化に基づきブラシレスモータ47の回転状態が正回転中、逆回転中、及び正逆回転反転中のうちのいずれであるかを判断し、そのブラシレスモータ47の回転状態に応じて差(Pi −Pi-1 )の正常時の値である正常値Jを可変設定する。この正常値Jの可変設定では、電気角センサS1〜S3からのパルス信号のエッジ間において位置センサS4,S5から出力されるパルス信号のエッジ数n(本実施形態では「4」)に関係して、正常値Jがモータ正回転中であれば「n」とされ、モータ逆回転中であれば「−n」とされ、モータ正逆回転反転中であれば「0」とされる。   [2] Based on the change in the counter value of the electrical angle counter E, it is determined whether the rotation state of the brushless motor 47 is normal rotation, reverse rotation, or normal / reverse rotation inversion, and the brushless motor 47 The normal value J, which is the normal value of the difference (Pi-Pi-1), is variably set in accordance with the rotation state of. This variable setting of the normal value J is related to the number of edges n of the pulse signals output from the position sensors S4 and S5 between the edges of the pulse signals from the electrical angle sensors S1 to S3 (“4” in this embodiment). Thus, if the normal value J is in the forward rotation of the motor, it is “n”, if it is in the reverse rotation of the motor, it is “−n”, and if it is in the reverse rotation of the motor, it is “0”.

[3]上記正常値Jに対する差(Pi −Pi-1 )のずれ量「J−(Pi −Pi-1 )」を第1の補正値ΔPとし、当該第1の補正値ΔP分の補正を位置カウンタPのカウンタ値に加える。   [3] A deviation “J− (Pi−Pi−1)” of the difference (Pi−Pi−1) with respect to the normal value J is set as a first correction value ΔP, and correction for the first correction value ΔP is performed. It adds to the counter value of the position counter P.

この場合、上記ノイズの発生に起因して位置カウンタPのカウンタ値がブラシレスモータ47の実際の回転角に対応しなくなり、その実際の回転角に対応する値からずれた状態になると、上記差(Pi −Pi-1 )に位置カウンタPのカウンタ値における上記実際の回転角に対応する値からのずれが反映される。すなわち、そのずれの分だけ上記差(Pi −Pi-1 )が正常値Jからずれることになる。従って、上記[3]の処理で算出される第1の補正値ΔP分の補正を位置カウンタPのカウンタ値に加えることで、そのカウンタ値におけるブラシレスモータ47における実際の回転角に対応する値からのずれを無くすことができる。このため、位置カウンタP(正確にはストロークカウンタS)のカウンタ値に基づき検出されるブラシレスモータ47の回転角に基づきブラシレスモータ47を駆動し、バルブリフト可変機構14を駆動制御しようとするとき、それを正しく行えなくなってエンジン運転への悪影響に繋がることはない。また、第1の補正値ΔPを求めるための差(Pi −Pi-1 )を算出するのには、ブラシレスモータ47の駆動に用いられる電気角センサS1〜S3があればよく、上記異常発生の検出のために新たなセンサ等を設ける必要はない。   In this case, when the counter value of the position counter P does not correspond to the actual rotation angle of the brushless motor 47 due to the generation of the noise and is shifted from the value corresponding to the actual rotation angle, the difference ( The deviation of the counter value of the position counter P from the value corresponding to the actual rotation angle is reflected in Pi-Pi-1). That is, the difference (Pi-Pi-1) deviates from the normal value J by the amount of deviation. Therefore, by adding the correction for the first correction value ΔP calculated in the process [3] to the counter value of the position counter P, from the value corresponding to the actual rotation angle of the brushless motor 47 at the counter value. The deviation can be eliminated. Therefore, when the brushless motor 47 is driven based on the rotation angle of the brushless motor 47 detected based on the counter value of the position counter P (more precisely, the stroke counter S), and the valve lift variable mechanism 14 is to be driven and controlled, It will not be able to do it correctly and will not adversely affect engine operation. Further, in order to calculate the difference (Pi−Pi−1) for obtaining the first correction value ΔP, it suffices if there are electrical angle sensors S1 to S3 used for driving the brushless motor 47, and the occurrence of the abnormality is described. There is no need to provide a new sensor or the like for detection.

次に、上記[2]の処理でのブラシレスモータ47の回転状態の判断について図8及び図9を参照して説明する。
図8において、(a)〜(e)は、ブラシレスモータ47の回転状態が正回転中、正逆回転反転中、及び逆回転中へと変化する際、電気角センサS1〜S3からのパルス信号の波形、電気角カウンタEのカウンタ値、及びモータステータスがどのように変化するかを表している。
Next, determination of the rotation state of the brushless motor 47 in the process [2] will be described with reference to FIGS.
8A to 8E show pulse signals from the electrical angle sensors S1 to S3 when the rotation state of the brushless motor 47 changes during forward rotation, forward / reverse rotation inversion, and reverse rotation. , The counter value of the electrical angle counter E, and how the motor status changes.

図8(e)に示されるモータステータスは、電気角センサS1〜S3からのパルス信号のエッジ発生毎に、ブラシレスモータ47の回転方向を表すものとなるよう、電気角カウンタEの変化態様に応じて設定されるものである。   The motor status shown in FIG. 8 (e) depends on the change of the electric angle counter E so that it represents the rotational direction of the brushless motor 47 every time the edge of the pulse signal from the electric angle sensors S1 to S3 is generated. Is set.

詳しくは、上記エッジ発生時に電気角カウンタEのカウンタ値が順方向(モータ正回転方向)、すなわち「0」→「1」→「2」→「3」→「4」→「5」→「0」という方向に整数値一つ分だけ変化した場合、上記モータステータスは「cw」に設定される。また、上記エッジ発生時に電気角カウンタEのカウンタ値が逆方向(モータ逆回転方向)、すなわち「5」→「4」→「3」→「2」→「1」→「0」→「5」という方向に整数値一つ分だけ変化した場合、上記モータステータスは「ccw」に設定される。なお、上記エッジ発生時、何らかの理由により電気角カウンタEのカウンタ値が変化しなかった場合、上記モータステータスは「hold」に設定される。   Specifically, when the edge is generated, the counter value of the electrical angle counter E is forward (motor forward rotation direction), that is, “0” → “1” → “2” → “3” → “4” → “5” → “ When the value changes by one integer value in the direction of “0”, the motor status is set to “cw”. When the edge is generated, the counter value of the electrical angle counter E is in the reverse direction (motor reverse rotation direction), that is, “5” → “4” → “3” → “2” → “1” → “0” → “5 In the direction of “”, the motor status is set to “ccw”. When the edge is generated, if the counter value of the electrical angle counter E does not change for some reason, the motor status is set to “hold”.

そして、ブラシレスモータ47の回転状態が正回転中、逆回転中、及び正逆回転反転中のいずれであるかは、電気角センサS1〜S3からのパルス信号の前回のエッジ発生時と今回のエッジ発生時とにおける各々のモータステータスに基づき判断される。   Whether the rotation state of the brushless motor 47 is normal rotation, reverse rotation, or normal / reverse rotation reversal is determined when the previous edge of the pulse signal from the electrical angle sensors S1 to S3 is generated and the current edge. Judgment is made based on each motor status at the time of occurrence.

すなわち、図9に示されるように、前回のエッジ発生時と今回のエッジ発生時とのモータステータスが共に「cw」であれば、前回のエッジ発生時と今回のエッジ発生時とで共にブラシレスモータ47が正回転していることになり、その結果、モータ正回転中である旨の判断がなされる。また、前回のエッジ発生時と今回のエッジ発生時とのモータステータスが共に「ccw」であれば、前回のエッジ発生時と今回のエッジ発生時とで共にブラシレスモータ47が逆回転していることになり、その結果、モータ逆回転中である旨の判断がなされる。更に、前回のエッジ発生時と今回のエッジ発生時とでモータステータスが「cw」と「ccw」とで異なっていれば、前回のエッジ発生時と今回のエッジ発生時とでブラシレスモータ47の回転方向が異なっていることになり、その結果、モータ正逆回転反転中である旨の判断がなされる。   That is, as shown in FIG. 9, if both the motor statuses at the time of the previous edge generation and the current edge generation are “cw”, both the brush generation motor at the time of the previous edge generation and the current edge generation are both. 47 is rotating forward, and as a result, it is determined that the motor is rotating forward. Also, if the motor status at the time of the previous edge occurrence and the current edge occurrence is both “ccw”, the brushless motor 47 is rotating in the reverse direction at both the previous edge occurrence and the current edge occurrence. As a result, it is determined that the motor is rotating in reverse. Further, if the motor status is different between “cw” and “ccw” when the previous edge is generated and when the current edge is generated, the rotation of the brushless motor 47 is performed when the previous edge is generated and when the current edge is generated. As a result, it is determined that the motor is rotating in the reverse direction.

なお、今回のエッジ発生時のモータステータスが「hold」であった場合には、ブラシレスモータ47の回転状態の判断は行われない。また、次回のエッジ発生時に上記「hold」が前回のモータステータスとして用いられることはなく、モータステータスが「hold」となるエッジ発生時の一つ前のエッジ発生時のモータステータスが前回のモータステータスとして用いられることとなる。   If the motor status at the time of the current edge generation is “hold”, the determination of the rotation state of the brushless motor 47 is not performed. Also, the “hold” is not used as the previous motor status when the next edge occurs, and the motor status at the time of the previous edge generation when the edge where the motor status becomes “hold” is the previous motor status. Will be used.

次に、上述した第1の補正値ΔPによる位置カウンタPのカウンタ値の補正の概要について、ブラシレスモータ47の正回転中及び逆回転中での上記補正を例に、図6を参照して説明する。   Next, an outline of correction of the counter value of the position counter P by the above-described first correction value ΔP will be described with reference to FIG. 6 taking the above correction during forward rotation and reverse rotation of the brushless motor 47 as an example. To do.

ブラシレスモータ47の正回転中、図6(a)に示されるようにノイズが発生すると、図6(d)に示されるように、位置カウンタPのカウンタ値がブラシレスモータ47の実際の回転角に対応する値(実線)に対し、二点鎖線で示されるように「4」だけ小さくなることは上述したとおりである。この場合、電気角カウンタEのカウンタ値が「2」から「3」に変化する電気角センサS1〜S3からのパルス信号のエッジ発生時、上記差(Pi −Pi-1 )が正常値J(=4)に対し「−4」だけずれた「0」になる。   If noise occurs as shown in FIG. 6A during the forward rotation of the brushless motor 47, the counter value of the position counter P becomes the actual rotation angle of the brushless motor 47 as shown in FIG. 6D. As described above, the corresponding value (solid line) is reduced by “4” as indicated by the two-dot chain line. In this case, when the edge of the pulse signal from the electrical angle sensors S1 to S3 in which the counter value of the electrical angle counter E changes from “2” to “3”, the difference (Pi−Pi−1) is the normal value J ( = 4) becomes “0” shifted by “−4”.

そして、電気角カウンタEのカウンタ値が「2」から「3」に変化する電気角センサS1〜S3からのパルス信号のエッジ発生時、正常値J(=4)に対する差(Pi −Pi-1 )のずれ量「J−(Pi −Pi-1 )=4」を第1の補正値ΔPとし、当該第1の補正値ΔP分の補正が位置カウンタPのカウンタ値(二点鎖線)に加えられる。その結果、図6(e)に黒矢印で示されるように、位置カウンタPのカウンタ値がブラシレスモータ47の実際の回転角に対応する値(実線)へと変化する。これにより、位置カウンタPのカウンタ値における上記実際の回転角に対応する値(実線)からのずれが修正される。   When the edge of the pulse signal from the electrical angle sensors S1 to S3 in which the counter value of the electrical angle counter E changes from “2” to “3” is generated, the difference (Pi−Pi−1) with respect to the normal value J (= 4). ) Is set to the first correction value ΔP, and the correction for the first correction value ΔP is added to the counter value (two-dot chain line) of the position counter P. It is done. As a result, as indicated by a black arrow in FIG. 6E, the counter value of the position counter P changes to a value (solid line) corresponding to the actual rotation angle of the brushless motor 47. As a result, the deviation of the counter value of the position counter P from the value corresponding to the actual rotation angle (solid line) is corrected.

ブラシレスモータ47の逆回転中、図6(a)に示されるようにノイズが発生すると、図6(e)に示されるように、位置カウンタPのカウンタ値がブラシレスモータ47の実際の回転角に対応する値(実線)に対し、二点鎖線で示されるように「4」だけ大きくなることは上述したとおりである。この場合、電気角カウンタEのカウンタ値が「3」から「2」に変化する電気角センサS1〜S3からのパルス信号のエッジ発生時、上記差(Pi −Pi-1 )が正常値J(−4)に対し「4」だけずれた「0」になる。   If noise occurs as shown in FIG. 6A during the reverse rotation of the brushless motor 47, the counter value of the position counter P becomes the actual rotation angle of the brushless motor 47 as shown in FIG. As described above, the corresponding value (solid line) is increased by “4” as indicated by the two-dot chain line. In this case, when the edge of the pulse signal from the electrical angle sensors S1 to S3 in which the counter value of the electrical angle counter E changes from “3” to “2” is generated, the difference (Pi−Pi−1) is a normal value J ( -4) is shifted to “0” by “4”.

そして、電気角カウンタEのカウンタ値が「2」から「1」に変化する電気角センサS1〜S3からのパルス信号のエッジ発生時、正常値J(=−4)に対する差(Pi −Pi-1 )のずれ量「J−(Pi −Pi-1 )=−4」を第1の補正値ΔPとし、当該第1の補正値ΔP分の補正が位置カウンタPのカウンタ値(二点鎖線)に加えられる。その結果、図6(d)に黒矢印で示されるように、位置カウンタPのカウンタ値がブラシレスモータ47の実際の回転角に対応する値(実線)へと変化する。これにより、位置カウンタPのカウンタ値における上記実際の回転角に対応する値(実線)からのずれが修正される。   When the edge of the pulse signal from the electrical angle sensors S1 to S3 in which the counter value of the electrical angle counter E changes from “2” to “1” is generated, the difference (Pi−Pi−) with respect to the normal value J (= −4). 1) The deviation “J− (Pi−Pi−1) = − 4” is the first correction value ΔP, and the correction for the first correction value ΔP is the counter value of the position counter P (two-dot chain line). Added to. As a result, as indicated by a black arrow in FIG. 6D, the counter value of the position counter P changes to a value (solid line) corresponding to the actual rotation angle of the brushless motor 47. As a result, the deviation of the counter value of the position counter P from the value corresponding to the actual rotation angle (solid line) is corrected.

次に、位置カウンタPのカウンタ値が正しい値からずれたときに当該カウンタ値を正しい値に戻すための補正手順について、位置カウンタ補正ルーチンを示す図10のフローチャートを参照して説明する。この位置カウンタ補正ルーチンは、電子制御装置50を通じて、位置センサS4,S5からのパルス信号のエッジ間隔に対応する時間間隔よりも短い間隔をもって周期的に実行される。   Next, a correction procedure for returning the counter value to the correct value when the counter value of the position counter P deviates from the correct value will be described with reference to the flowchart of FIG. 10 showing the position counter correction routine. This position counter correction routine is periodically executed through the electronic control unit 50 at intervals shorter than the time intervals corresponding to the edge intervals of the pulse signals from the position sensors S4 and S5.

同ルーチンにおいては、まず上記[1]の処理として、ステップS201〜S203の処理が実行される。すなわち、電気角センサS1〜S3からのパルス信号のエッジが発生したとき(S201:YES)、位置カウンタPのカウンタ値が電子制御装置50のメモリに記憶され(S202)、今回のエッジ発生時のカウンタ値Pi と前回のエッジ発生時のカウンタ値Pi-1 との差(Pi −Pi-1 )が算出される(S203)。   In this routine, first, the processes of steps S201 to S203 are executed as the process of [1]. That is, when an edge of the pulse signal from the electrical angle sensors S1 to S3 occurs (S201: YES), the counter value of the position counter P is stored in the memory of the electronic control unit 50 (S202), and the current edge generation time is generated. A difference (Pi-Pi-1) between the counter value Pi and the counter value Pi-1 at the previous edge occurrence is calculated (S203).

続いて、上記[2]の処理として、ステップS204〜S208の処理が実行される。すなわち、電気角センサS1〜S3からのパルス信号における前回のエッジ発生と今回のエッジ発生時とのモータステータスに基づきブラシレスモータ47の回転状態が判断され、その回転状態に応じて上記差(Pi −Pi-1 )の正常値Jが可変設定される。具体的には、正常値Jは、モータ正回転中(S204:YES)であれば「4」に設定され(S206)、モータ逆回転中(S205:YES)であれば「−4」に設定され(S207)、モータ正逆回転反転中(S204、S205で共にNO)であれば「0」に設定される(S208)。また、上述した今回のエッジ発生時のモータステータスが「hold」であって、ブラシレスモータ47の回転状態の判断がなされないときには、上記ステップS204,S205で共に否定判定がなされ、正常値JがステップS208の処理で「0」に設定される。   Subsequently, the processes of steps S204 to S208 are executed as the process [2]. That is, the rotational state of the brushless motor 47 is determined based on the motor status between the previous edge generation and the current edge generation in the pulse signals from the electrical angle sensors S1 to S3, and the difference (Pi − The normal value J of Pi-1) is variably set. Specifically, the normal value J is set to “4” if the motor is rotating forward (S204: YES) (S206), and is set to “−4” if the motor is rotating backward (S205: YES). If the motor is rotating in the forward / reverse rotation direction (NO in both S204 and S205), it is set to “0” (S208). If the motor status at the time of the occurrence of the current edge is “hold” and the rotation state of the brushless motor 47 is not determined, a negative determination is made in steps S204 and S205, and the normal value J is set to the step. It is set to “0” in the process of S208.

その後、上記[3]の処理として、ステップS209及びステップS210の処理が実行される。すなわち、正常値Jに対する上記差(Pi −Pi-1 )のずれ量「J−(Pi −Pi-1 )」が第1の補正値ΔPとして設定される(S209)。そして、この第1の補正値ΔP分の補正が位置カウンタPのカウンタ値に加えられる(S210)。これにより、位置カウンタPのカウンタ値がブラシレスモータ47の実際の回転角に対応した値からずれていたとしても、そのずれが修正されることとなる。   Thereafter, as the process [3], the processes of steps S209 and S210 are executed. That is, the deviation “J− (Pi−Pi−1)” of the difference (Pi−Pi−1) with respect to the normal value J is set as the first correction value ΔP (S209). Then, the correction for the first correction value ΔP is added to the counter value of the position counter P (S210). As a result, even if the counter value of the position counter P deviates from a value corresponding to the actual rotation angle of the brushless motor 47, the deviation is corrected.

ところで、電気角センサS1〜S3からの信号にノイズが発生する場合もある。この場合、当該ノイズを電気角センサS1〜S3からのパルス信号と誤認し、電気角カウンタEのカウンタ値が誤った値に変化するおそれがある。そして、電気角カウンタEのカウンタ値が誤った値に変化すると、そのカウンタ値に基づき判断されるブラシレスモータ47の回転状態が実際の状態とは異なるものとなり、そのモータ回転状態に応じて設定される正常値Jが実際のモータ回転状態とは対応しなくなる。このような状況下では、上述した正常値Jの異常に起因して、その正常値Jに対する上記差(Pi −Pi-1 )のずれ量「J−(Pi −Pi-1 )」である第1の補正値ΔPが誤った値となる。そして、その第1の補正値ΔP分の補正が位置カウンタPのカウンタ値に加えられると、当該カウンタ値がブラシレスモータ47の実際の回転角に対応する値からずれることになる。その結果、位置カウンタPのカウンタ値に基づき検出されるブラシレスモータ47の回転角が不正確な値になる。   Incidentally, noise may occur in signals from the electrical angle sensors S1 to S3. In this case, the noise is mistaken as a pulse signal from the electrical angle sensors S1 to S3, and the counter value of the electrical angle counter E may change to an incorrect value. When the counter value of the electrical angle counter E changes to an incorrect value, the rotation state of the brushless motor 47 determined based on the counter value is different from the actual state, and is set according to the motor rotation state. Normal value J does not correspond to the actual motor rotation state. Under such circumstances, the deviation “J− (Pi−Pi−1)” of the difference (Pi−Pi−1) with respect to the normal value J due to the abnormality of the normal value J described above is the first. The correction value ΔP of 1 is an incorrect value. When the correction for the first correction value ΔP is added to the counter value of the position counter P, the counter value deviates from a value corresponding to the actual rotation angle of the brushless motor 47. As a result, the rotation angle of the brushless motor 47 detected based on the counter value of the position counter P becomes an incorrect value.

次に、上記不具合発生の詳細について、モータ正回転中に上記ノイズが発生した場合、及び、モータ逆回転中に上記ノイズが発生した場合を例に、図11を参照して説明する。なお、図11において、(a)〜(i)は、ブラシレスモータ47の回転角の変化に対する電気角センサS1〜S3からのパルス信号の波形、位置センサS4,S5からのパルス信号の波形、電気角カウンタEのカウンタ値の推移、及び、位置カウンタPのカウンタ値の推移を表している。   Next, the details of the occurrence of the problem will be described with reference to FIG. 11, taking as an example the case where the noise occurs during the forward rotation of the motor and the case where the noise occurs during the reverse rotation of the motor. In FIG. 11, (a) to (i) are waveforms of pulse signals from the electrical angle sensors S1 to S3 with respect to changes in the rotation angle of the brushless motor 47, waveforms of pulse signals from the position sensors S4 and S5, and electricity. It shows the transition of the counter value of the angle counter E and the transition of the counter value of the position counter P.

[モータ正回転中]
ブラシレスモータ47の正回転中、例えば図11(b)の破線L1で示されるように、電気角センサS2からの信号にノイズが発生し、そのノイズが電気角センサS1からのパルス信号の立ち上がりエッジと重なると、上記ノイズの発生しているタイミングa,b,cでの電気角センサS1〜S3からの信号の出力パターンが正常時とは異なるものとなる。この正常時とは異なる出力パターンに応じて、電気角カウンタEのカウンタ値は、図11(f)に破線L2で示されるように誤った値に変化する。
[During motor forward rotation]
During the forward rotation of the brushless motor 47, for example, as indicated by a broken line L1 in FIG. 11B, noise is generated in the signal from the electrical angle sensor S2, and the noise is the rising edge of the pulse signal from the electrical angle sensor S1. , The output patterns of signals from the electrical angle sensors S1 to S3 at the timings a, b, and c where the noise is generated are different from those at normal times. The counter value of the electrical angle counter E changes to an incorrect value as indicated by a broken line L2 in FIG.

ここで、タイミングa,b,cでの電気角センサS1〜S3からの信号の出力パターン、電気角カウンタEのカウンタ値、電気角センサS1〜S3からの信号における前回のエッジ発生時と今回のエッジ発生時とのモータステータス、正常値J、差(Pi −Pi-1 )、及び、第1の補正値ΔP(=「J−(Pi −Pi-1 )」)を、図12(a)に示す。   Here, the output pattern of the signals from the electrical angle sensors S1 to S3 at the timings a, b, and c, the counter value of the electrical angle counter E, the previous edge generation in the signals from the electrical angle sensors S1 to S3, and the current time FIG. 12A shows the motor status, normal value J, difference (Pi−Pi−1), and first correction value ΔP (= “J− (Pi−Pi−1)”) from the time of edge generation. Shown in

タイミングaは、上記ノイズの立ち上がりエッジに対応している。このため、タイミングaでは、上記ノイズの立ち上がりエッジに起因して、電気角センサS1〜S3からの信号がそれぞれ「L」、「H」、「H」となり、電気角カウンタEのカウンタ値が「2」から「1」へと変化する。このため、電気角センサS1〜S3からの信号における前回エッジ発生時のモータステータスと今回エッジ発生時のモータステータスとがそれぞれ、「cw」、「ccw」となる。その結果、モータ正逆回転反転中である旨の誤判断がなされ、正常値Jが誤って「0」に設定される。この場合、今回のエッジ発生時の位置カウンタPのカウンタ値Pi と前記のエッジ発生時の位置カウンタPのカウンタ値Pi-1 との差(Pi −Pi-1 )が「4」であることから、正常値Jに対する上記差(Pi −Pi-1 )のずれ量である第1の補正値ΔP(=「J−(Pi −Pi-1 )」)が「−4」とされる。そして、この第1の補正値ΔP分の補正が位置カウンタPのカウンタ値に加えられるため、当該カウンタ値が図11(g)に黒矢印Y1で示されるように誤って「−4」分だけ小さくされることになる。   Timing a corresponds to the rising edge of the noise. Therefore, at timing a, due to the rising edge of the noise, the signals from the electrical angle sensors S1 to S3 are “L”, “H”, and “H”, respectively, and the counter value of the electrical angle counter E is “ It changes from “2” to “1”. Therefore, the motor status at the time of the previous edge occurrence and the motor status at the occurrence of the current edge in the signals from the electrical angle sensors S1 to S3 are “cw” and “ccw”, respectively. As a result, an erroneous determination that the motor is rotating in the forward / reverse rotation is made, and the normal value J is erroneously set to “0”. In this case, the difference (Pi−Pi−1) between the counter value Pi of the position counter P when the current edge occurs and the counter value Pi−1 of the position counter P when the edge occurs is “4”. The first correction value ΔP (= “J− (Pi−Pi−1)”), which is the deviation of the difference (Pi−Pi−1) from the normal value J, is set to “−4”. Since the correction for the first correction value ΔP is added to the counter value of the position counter P, the counter value is erroneously set to “−4” as indicated by the black arrow Y1 in FIG. Will be made smaller.

タイミングbは、電気角センサS1からのパルス信号の立ち上がりエッジに対応している。このタイミングbでは、上記ノイズの発生に起因して、電気角センサS1〜S3全てが図12(a)に示されるようにハイ信号「H」となり、電気角カウンタEのカウンタ値がそれまでの値である「1」に保持される。その結果、電気角センサS1〜S3からの信号における今回エッジ発生時のモータステータスが「hold」となり、正常値Jが「0」に設定される。また、タイミングaからタイミングbまでの位置カウンタPのカウンタ値の変化量である差(Pi −Pi-1 )は「0」となる。このため、第1の補正値ΔP(=「J−(Pi −Pi-1 )」)は「0」となり、当該第1の補正値ΔP分の補正が位置カウンタPのカウンタ値に加えられることはない。   Timing b corresponds to the rising edge of the pulse signal from the electrical angle sensor S1. At this timing b, due to the generation of the noise, all the electrical angle sensors S1 to S3 become the high signal “H” as shown in FIG. The value “1” is held. As a result, the motor status when the current edge occurs in the signals from the electrical angle sensors S1 to S3 is “hold”, and the normal value J is set to “0”. Further, the difference (Pi−Pi−1), which is the change amount of the position counter P from the timing a to the timing b, is “0”. For this reason, the first correction value ΔP (= “J− (Pi−Pi−1)”) is “0”, and the correction for the first correction value ΔP is added to the counter value of the position counter P. There is no.

タイミングcは、上記ノイズの立ち下がりエッジに対応している。このタイミングcでは、上記ノイズの立ち下がりエッジに起因して、電気角センサS1〜S3からの信号がそれぞれ「H」、「L」、「H」となり、電気角カウンタEのカウンタ値が通常あり得ない変化、すなわち「1」から「3」へと順方向に整数値を一つとばした変化を示すようになる。こうした今回のエッジ発生時の電気角カウンタEのカウンタ値の変化を順方向への変化とみなし、今回のエッジ発生時のモータステータスを図中のハッチングで示されるように「cw」に設定したとすると、前回エッジ発生時と今回エッジ発生時とのモータステータスはそれぞれ、「ccw」、「cw」となる。その結果、正常値Jが「0」に設定される。また、タイミングbからタイミングcまでの位置カウンタPのカウンタ値の変化量である差(Pi −Pi-1 )は「0」となる。このため、第1の補正値ΔP(=「J−(Pi −Pi-1 )」)は「0」となり、当該第1の補正値ΔP分の補正が位置カウンタPのカウンタ値に加えられることはない。   Timing c corresponds to the falling edge of the noise. At this timing c, due to the falling edge of the noise, the signals from the electrical angle sensors S1 to S3 become “H”, “L”, and “H”, respectively, and the counter value of the electrical angle counter E is normal. An unobtainable change, that is, a change in which an integer value is skipped in the forward direction from “1” to “3”. The change of the counter value of the electrical angle counter E at the time of the occurrence of the current edge is regarded as a change in the forward direction, and the motor status at the occurrence of the current edge is set to “cw” as indicated by hatching in the figure. Then, the motor statuses at the time of the previous edge occurrence and the current edge occurrence are “ccw” and “cw”, respectively. As a result, the normal value J is set to “0”. Further, the difference (Pi−Pi−1) which is the change amount of the position counter P from the timing b to the timing c is “0”. For this reason, the first correction value ΔP (= “J− (Pi−Pi−1)”) is “0”, and the correction for the first correction value ΔP is added to the counter value of the position counter P. There is no.

従って、図11(b)に破線L1で示されるノイズの発生に起因して、電気角カウンタEのカウンタ値が図11(f)に破線L2で示されるように変化すると、図11(g)に黒矢印Y1で示される第1の補正値ΔP(=−4)分の補正が誤って位置カウンタPのカウンタ値に加えられる。その結果、位置カウンタPのカウンタ値は、図中の破線L3で示されるように、ブラシレスモータ47の実際の回転角に対応する値(実線)からずれることになる。   Accordingly, when the counter value of the electrical angle counter E changes as shown by the broken line L2 in FIG. 11 (f) due to the generation of noise shown by the broken line L1 in FIG. 11 (b), FIG. The correction for the first correction value ΔP (= −4) indicated by the black arrow Y1 is erroneously added to the counter value of the position counter P. As a result, the counter value of the position counter P deviates from a value (solid line) corresponding to the actual rotation angle of the brushless motor 47, as indicated by a broken line L3 in the drawing.

また、ブラシレスモータの正回転中、例えば図11(b)の破線L4で示されるように、電気角センサS2からの信号にノイズが発生し、同ノイズが電気角センサS3からのパルス信号の立ち下がりエッジと重なると、上記ノイズの発生しているタイミングd,e,fでの電気角センサS1〜S3からの信号の出力パターンが正常時とは異なるものとなる。この正常時とは異なる出力パターンに応じて、電気角カウンタEのカウンタ値は、図11(f)に破線L5で示されるように誤った値に変化する。   Further, during the forward rotation of the brushless motor, for example, as indicated by a broken line L4 in FIG. 11B, noise is generated in the signal from the electrical angle sensor S2, and the noise is generated by the rise of the pulse signal from the electrical angle sensor S3. When overlapping with the falling edge, the output pattern of signals from the electrical angle sensors S1 to S3 at the timings d, e, and f at which the noise is generated becomes different from the normal time. The counter value of the electrical angle counter E changes to an incorrect value as indicated by a broken line L5 in FIG.

ここで、タイミングd,e,fでの電気角センサS1〜S3からの信号の出力パターン、電気角カウンタEのカウンタ値、電気角センサS1〜S3からの信号における前回のエッジ発生時と今回のエッジ発生時とのモータステータス、正常値J、差(Pi −Pi-1 )、及び、第1の補正値ΔP(=「J−(Pi −Pi-1 )」)を、図12(b)に示す。なお、同図には、タイミングf後、最初に電気角センサS1〜S3からのパルス信号のエッジが発生するタイミングgでの電気角センサS1〜S3からの信号の出力パターン、電気角カウンタEのカウンタ値、前回エッジ発生時と今回エッジ発生時とのモータステータス、正常値J、差(Pi −Pi-1 )、及び、第1の補正値ΔPも示している。   Here, the output pattern of the signals from the electrical angle sensors S1 to S3 at the timings d, e, and f, the counter value of the electrical angle counter E, the time when the previous edge occurred in the signals from the electrical angle sensors S1 to S3, and the current time FIG. 12B shows the motor status, normal value J, difference (Pi−Pi−1), and first correction value ΔP (= “J− (Pi−Pi−1)”) from when the edge is generated. Shown in In the figure, after the timing f, the output pattern of the signals from the electrical angle sensors S1 to S3 at the timing g when the edges of the pulse signals from the electrical angle sensors S1 to S3 first occur, and the electrical angle counter E The counter value, the motor status between the occurrence of the previous edge and the current edge, the normal value J, the difference (Pi−Pi−1), and the first correction value ΔP are also shown.

タイミングdは、上記ノイズの立ち上がりエッジに対応している。このため、タイミングdでは、上記ノイズの立ち上がりエッジに起因して、電気角センサS1〜S3からの信号が全てハイ信号「H」となり、電気角カウンタEのカウンタ値がそれまでの値である「3」に保持される。その結果、電気角センサS1〜S3からの信号における今回エッジ発生時のモータステータスが「hold」となり、正常値Jが「0」に設定される。この場合、今回のエッジ発生時の位置カウンタPのカウンタ値Pi と前記のエッジ発生時の位置カウンタPのカウンタ値Pi-1 との差(Pi −Pi-1 )が「4」であることから、正常値Jに対する上記差(Pi −Pi-1 )のずれ量である第1の補正値ΔP(=「J−(Pi −Pi-1 )」)が「−4」とされる。そして、この第1の補正値ΔP分の補正が位置カウンタPのカウンタ値に加えられるため、当該カウンタ値が図11(g)に黒矢印Y3で示されるように「−4」分だけ小さくされることになる。   Timing d corresponds to the rising edge of the noise. For this reason, at the timing d, due to the rising edge of the noise, all the signals from the electrical angle sensors S1 to S3 become the high signal “H”, and the counter value of the electrical angle counter E is the value up to that time. 3 ". As a result, the motor status when the current edge occurs in the signals from the electrical angle sensors S1 to S3 is “hold”, and the normal value J is set to “0”. In this case, the difference (Pi−Pi−1) between the counter value Pi of the position counter P when the current edge occurs and the counter value Pi−1 of the position counter P when the edge occurs is “4”. The first correction value ΔP (= “J− (Pi−Pi−1)”), which is the deviation of the difference (Pi−Pi−1) from the normal value J, is set to “−4”. Then, since the correction for the first correction value ΔP is added to the counter value of the position counter P, the counter value is decreased by “−4” as indicated by the black arrow Y3 in FIG. Will be.

タイミングeは、電気角センサS3からのパルス信号の立ち下がりエッジに対応している。このタイミングeでは、上記ノイズの発生に起因して、図12(b)に示されるように電気角センサS1〜S3からの信号がそれぞれ「H」、「H」、「L」となり、電気角カウンタEのカウンタ値が通常あり得ない変化、すなわち「3」から「5」へと順方向に整数値を一つとばした変化を示すようになる。こうした今回のエッジ発生時の電気角カウンタEのカウンタ値の変化を順方向への変化とみなし、今回のエッジ発生時のモータステータスを図中のハッチングで示されるように「cw」に設定したとすると、前回エッジ発生時と今回エッジ発生時とのモータステータスはそれぞれ、「cw」、「cw」となる。その結果、正常値Jが「4」に設定される。また、タイミングdからタイミングeまでの位置カウンタPのカウンタ値の変化量である差(Pi −Pi-1 )は「0」となる。このため、第1の補正値ΔP(=「J−(Pi −Pi-1 )」)は「4」となり、当該第1の補正値ΔP分の補正が位置カウンタPのカウンタ値に加えられるため、当該カウンタ値が図11(g)に黒矢印Y4で示されるように「4」だけ大きくされることになる。   The timing e corresponds to the falling edge of the pulse signal from the electrical angle sensor S3. At this timing e, due to the generation of the noise, the signals from the electrical angle sensors S1 to S3 become “H”, “H”, and “L”, respectively, as shown in FIG. The counter value of the counter E usually shows an impossible change, that is, a change in which the integer value is skipped by one in the forward direction from “3” to “5”. The change of the counter value of the electrical angle counter E at the time of occurrence of the current edge is regarded as a change in the forward direction, and the motor status at the time of occurrence of the current edge is set to “cw” as indicated by hatching in the figure. Then, the motor statuses at the time of the previous edge occurrence and the current edge occurrence are “cw” and “cw”, respectively. As a result, the normal value J is set to “4”. Further, the difference (Pi−Pi−1), which is the change amount of the position counter P from the timing d to the timing e, is “0”. For this reason, the first correction value ΔP (= “J− (Pi−Pi−1)”) is “4”, and correction for the first correction value ΔP is added to the counter value of the position counter P. The counter value is increased by “4” as indicated by the black arrow Y4 in FIG.

タイミングfは、上記ノイズの立ち下がりエッジに対応している。このタイミングfでは、上記ノイズの立ち下がりエッジに起因して、電気角センサS1〜S3からの信号がそれぞれ「H」、「L」、「L」となり、電気角カウンタEのカウンタ値が「5」から「4」へと変化する。このため、前回エッジ発生時と今回エッジ発生時とのモータステータスがそれぞれ「cw」、「ccw」となり、それに基づき正常値Jが「0」に設定される。また、タイミングeからタイミングfまでの位置カウンタPのカウンタ値の変化量である差(Pi −Pi-1 )は「0」となる。このため、第1の補正値ΔP(=「J−(Pi −Pi-1 )」)は「0」となり、当該第1の補正値ΔP分の補正が位置カウンタPのカウンタ値に加えられることはない。   Timing f corresponds to the falling edge of the noise. At this timing f, due to the falling edge of the noise, the signals from the electrical angle sensors S1 to S3 are “H”, “L”, and “L”, respectively, and the counter value of the electrical angle counter E is “5”. To "4". Therefore, the motor statuses at the time of the previous edge occurrence and the current edge occurrence are “cw” and “ccw”, respectively, and the normal value J is set to “0” based on the motor status. Further, the difference (Pi−Pi−1), which is the change amount of the position counter P from the timing e to the timing f, is “0”. For this reason, the first correction value ΔP (= “J− (Pi−Pi−1)”) is “0”, and the correction for the first correction value ΔP is added to the counter value of the position counter P. There is no.

タイミングgは、タイミングf後における最初の電気角センサS1〜S3からのパルス信号のエッジ発生に対応している。このタイミングgでは、電気角センサS1〜S3からの信号がそれぞれ「H」、「H」、「L」となり、電気角カウンタEのカウンタ値が「4」から「5」へと変化する。このため、前回エッジ発生時と今回エッジ発生時とのモータステータスがそれぞれ「ccw」、「cw」となる。その結果、モータ正逆回転反転中である旨の誤判断がなされ、正常値Jが誤って「0」に設定される。この場合、今回のエッジ発生時の位置カウンタPのカウンタ値Pi と前記のエッジ発生時の位置カウンタPのカウンタ値Pi-1 との差(Pi −Pi-1 )が「4」であることから、第1の補正値ΔP(=「J−(Pi −Pi-1 )」)が「−4」とされる。そして、この第1の補正値ΔP分の補正が位置カウンタPのカウンタ値に加えられるため、当該カウンタ値が図11(g)に黒矢印Y5で示されるように誤って「−4」分だけ小さくされることになる。   Timing g corresponds to the edge generation of the pulse signal from the first electrical angle sensors S1 to S3 after timing f. At this timing g, the signals from the electrical angle sensors S1 to S3 become “H”, “H”, and “L”, respectively, and the counter value of the electrical angle counter E changes from “4” to “5”. Therefore, the motor statuses at the time of the previous edge occurrence and the current edge occurrence are “ccw” and “cw”, respectively. As a result, an erroneous determination that the motor is rotating in the forward / reverse rotation is made, and the normal value J is erroneously set to “0”. In this case, the difference (Pi−Pi−1) between the counter value Pi of the position counter P when the current edge occurs and the counter value Pi−1 of the position counter P when the edge occurs is “4”. The first correction value ΔP (= “J− (Pi−Pi−1)”) is set to “−4”. Then, since the correction for the first correction value ΔP is added to the counter value of the position counter P, the counter value is erroneously set to “−4” as indicated by the black arrow Y5 in FIG. Will be made smaller.

従って、図11(b)に破線L4で示されるノイズの発生に起因して、電気角カウンタEのカウンタ値が図11(f)に破線L5で示されるように変化すると、図11(g)に黒矢印Y3,Y4,Y5で示される第1の補正値ΔP分の補正が誤って位置カウンタPのカウンタ値に加えられる。その結果、位置カウンタPのカウンタ値は、図中の破線L6で示されるように、ブラシレスモータ47の実際の回転角に対応する値(実線)からずれることになる。   Accordingly, when the counter value of the electrical angle counter E changes as shown by the broken line L5 in FIG. 11 (f) due to the generation of the noise shown by the broken line L4 in FIG. 11 (b), FIG. The correction for the first correction value ΔP indicated by the black arrows Y3, Y4, Y5 is erroneously added to the counter value of the position counter P. As a result, the counter value of the position counter P deviates from a value (solid line) corresponding to the actual rotation angle of the brushless motor 47, as indicated by a broken line L6 in the drawing.

[モータ逆回転中]
ブラシレスモータ47の逆回転中、図11(b)の破線L4で示されるように、電気角センサS2からの信号にノイズが発生し、そのノイズが電気角センサS3からのパルス信号の立ち上がりエッジと重なると、上記ノイズの発生しているタイミングf,e,dでの電気角センサS1〜S3からの信号の出力パターンが正常時とは異なるものとなる。この正常時とは異なる出力パターンに応じて、電気角カウンタEのカウンタ値は、図11(h)に破線L11で示されるように誤った値に変化する。
[Motor reverse rotation]
During reverse rotation of the brushless motor 47, as indicated by a broken line L4 in FIG. 11B, noise is generated in the signal from the electrical angle sensor S2, and the noise is generated from the rising edge of the pulse signal from the electrical angle sensor S3. If they overlap, the output patterns of the signals from the electrical angle sensors S1 to S3 at the timings f, e, and d when the noise is generated become different from those at normal times. The counter value of the electrical angle counter E changes to an incorrect value as indicated by a broken line L11 in FIG.

ここで、タイミングf,e,dでの電気角センサS1〜S3からの信号の出力パターン、電気角カウンタEのカウンタ値、電気角センサS1〜S3からの信号における前回のエッジ発生時と今回のエッジ発生時とのモータステータス、正常値J、差(Pi −Pi-1 )、及び、第1の補正値ΔP(=「J−(Pi −Pi-1 )」)を、図13(a)に示す。   Here, the output pattern of the signals from the electrical angle sensors S1 to S3 at the timings f, e, and d, the counter value of the electrical angle counter E, the time when the previous edge occurred in the signals from the electrical angle sensors S1 to S3, and the current time FIG. 13A shows the motor status, normal value J, difference (Pi−Pi−1), and first correction value ΔP (= “J− (Pi−Pi−1)”) from when the edge is generated. Shown in

タイミングfは、上記ノイズの立ち上がりエッジに対応している。このため、タイミングfでは、上記ノイズの立ち上がりエッジに起因して、電気角センサS1〜S3からの信号がそれぞれ「H」、「H」、「L」となり、電気角カウンタEのカウンタ値が「4」から「5」へと変化する。このため、電気角センサS1〜S3からの信号における前回エッジ発生時のモータステータスと今回エッジ発生時のモータステータスとがそれぞれ、「ccw」、「cw」となる。その結果、モータ正逆回転反転中である旨の誤判断がなされ、正常値Jが誤って「0」に設定される。この場合、今回のエッジ発生時の位置カウンタPのカウンタ値Pi と前記のエッジ発生時の位置カウンタPのカウンタ値Pi-1 との差(Pi −Pi-1 )が「−4」であることから、正常値Jに対する上記差(Pi −Pi-1 )のずれ量である第1の補正値ΔP(=「J−(Pi −Pi-1 )」)が「4」とされる。そして、この第1の補正値ΔP分の補正が位置カウンタPのカウンタ値に加えられるため、当該カウンタ値が図11(i)に黒矢印Y8で示されるように誤って「4」だけ大きくされることになる。   The timing f corresponds to the rising edge of the noise. Therefore, at the timing f, due to the rising edge of the noise, the signals from the electrical angle sensors S1 to S3 are “H”, “H”, and “L”, respectively, and the counter value of the electrical angle counter E is “ It changes from “4” to “5”. Therefore, the motor status at the time of the previous edge occurrence and the motor status at the occurrence of the current edge in the signals from the electrical angle sensors S1 to S3 are “ccw” and “cw”, respectively. As a result, an erroneous determination that the motor is rotating in the forward / reverse rotation is made, and the normal value J is erroneously set to “0”. In this case, the difference (Pi−Pi−1) between the counter value Pi of the position counter P when the current edge occurs and the counter value Pi−1 of the position counter P when the edge occurs is “−4”. Therefore, the first correction value ΔP (= “J− (Pi−Pi−1)”), which is a deviation amount of the difference (Pi−Pi−1) from the normal value J, is set to “4”. Since the correction for the first correction value ΔP is added to the counter value of the position counter P, the counter value is erroneously increased by “4” as shown by the black arrow Y8 in FIG. It will be.

タイミングeは、電気角センサS3からのパルス信号の立ち上がりエッジに対応している。このタイミングeでは、上記ノイズの発生に起因して、電気角センサS1〜S3全てが図13(a)に示されるようにハイ信号「H」となり、電気角カウンタEのカウンタ値がそれまでの値である「5」に保持される。その結果、電気角センサS1〜S3からの信号における今回エッジ発生時のモータステータスが「hold」となり、正常値Jが「0」に設定される。また、タイミングfからタイミングeまでの位置カウンタPのカウンタ値の変化量である差(Pi −Pi-1 )は「0」となる。このため、第1の補正値ΔP(=「J−(Pi −Pi-1 )」)は「0」となり、当該第1の補正値ΔP分の補正が位置カウンタPのカウンタ値に加えられることはない。   The timing e corresponds to the rising edge of the pulse signal from the electrical angle sensor S3. At this timing e, due to the generation of the noise, all the electrical angle sensors S1 to S3 become the high signal “H” as shown in FIG. It is held at the value “5”. As a result, the motor status when the current edge occurs in the signals from the electrical angle sensors S1 to S3 is “hold”, and the normal value J is set to “0”. Further, the difference (Pi−Pi−1), which is the change amount of the position counter P from the timing f to the timing e, is “0”. For this reason, the first correction value ΔP (= “J− (Pi−Pi−1)”) is “0”, and the correction for the first correction value ΔP is added to the counter value of the position counter P. There is no.

タイミングdは、上記ノイズの立ち下がりエッジに対応している。このタイミングdでは、上記ノイズの立ち下がりエッジに起因して、電気角センサS1〜S3からの信号がそれぞれ「H」、「L」、「H」となり、電気角カウンタEのカウンタ値が通常あり得ない変化、すなわち「5」から「3」へと逆方向に整数値を一つとばした変化を示すようになる。こうした今回のエッジ発生時の電気角カウンタEのカウンタ値の変化を逆方向への変化とみなし、今回のエッジ発生時のモータステータスを図中のハッチングで示されるように「ccw」に設定したとすると、前回エッジ発生時と今回エッジ発生時とのモータステータスはそれぞれ、「cw」、「ccw」となる。その結果、正常値Jが「0」に設定される。また、タイミングeからタイミングdまでの位置カウンタPのカウンタ値の変化量である差(Pi −Pi-1 )は「0」となる。このため、第1の補正値ΔP(=「J−(Pi −Pi-1 )」)は「0」となり、当該第1の補正値ΔP分の補正が位置カウンタPのカウンタ値に加えられることはない。   Timing d corresponds to the falling edge of the noise. At this timing d, due to the falling edge of the noise, the signals from the electrical angle sensors S1 to S3 become “H”, “L”, and “H”, respectively, and the counter value of the electrical angle counter E is normal. It shows an unobtainable change, that is, a change in which an integer value is skipped by one in the opposite direction from “5” to “3”. The change of the counter value of the electrical angle counter E at the time of the occurrence of the current edge is regarded as a change in the reverse direction, and the motor status at the time of the occurrence of the current edge is set to “ccw” as indicated by hatching in the figure. Then, the motor statuses at the time of the previous edge occurrence and the current edge occurrence are “cw” and “ccw”, respectively. As a result, the normal value J is set to “0”. Further, the difference (Pi−Pi−1), which is the change amount of the position counter P from the timing e to the timing d, is “0”. For this reason, the first correction value ΔP (= “J− (Pi−Pi−1)”) is “0”, and the correction for the first correction value ΔP is added to the counter value of the position counter P. There is no.

従って、図11(b)に破線L4で示されるノイズの発生に起因して、電気角カウンタEのカウンタ値が図11(h)に破線L11で示されるように変化すると、図11(i)に黒矢印Y8で示される第1の補正値ΔP(=4)分の補正が誤って位置カウンタPのカウンタ値に加えられる。その結果、位置カウンタPのカウンタ値は、図中の破線L8で示されるように、ブラシレスモータ47の実際の回転角に対応する値(実線)からずれることになる。   Accordingly, when the counter value of the electrical angle counter E changes as shown by the broken line L11 in FIG. 11 (h) due to the generation of noise shown by the broken line L4 in FIG. 11 (b), FIG. 11 (i). The correction for the first correction value ΔP (= 4) indicated by the black arrow Y8 is erroneously added to the counter value of the position counter P. As a result, the counter value of the position counter P deviates from a value (solid line) corresponding to the actual rotation angle of the brushless motor 47, as indicated by a broken line L8 in the drawing.

また、ブラシレスモータの逆回転中、図11(b)の破線L1で示されるように、電気角センサS2からの信号にノイズが発生し、そのノイズが電気角センサS1からのパルス信号の立ち下がりエッジと重なると、上記ノイズの発生しているタイミングc,b,aでの電気角センサS1〜S3からの信号の出力パターンが正常時とは異なるものとなる。この正常時とは異なる出力パターンに応じて、電気角カウンタEのカウンタ値は、図11(h)に破線L12で示されるように誤って変化する。   Further, during reverse rotation of the brushless motor, noise is generated in the signal from the electrical angle sensor S2, as indicated by the broken line L1 in FIG. 11B, and the noise falls on the pulse signal from the electrical angle sensor S1. If it overlaps with the edge, the output pattern of the signals from the electrical angle sensors S1 to S3 at the timings c, b, a where the noise is generated becomes different from that at the normal time. The counter value of the electrical angle counter E changes erroneously as shown by the broken line L12 in FIG.

ここで、タイミングc,b,aでの電気角センサS1〜S3からの信号の出力パターン、電気角カウンタEのカウンタ値、電気角センサS1〜S3からの信号における前回のエッジ発生時と今回のエッジ発生時とのモータステータス、正常値J、差(Pi −Pi-1 )、及び、第1の補正値ΔP(=「J−(Pi −Pi-1 )」)を、図13(b)に示す。なお、同図には、タイミングa後、最初に電気角センサS1〜S3からのパルス信号のエッジ発生するタイミングaでの電気角センサS1〜S3からの信号の出力パターン、電気角カウンタEのカウンタ値、前回エッジ発生時と今回エッジ発生時とのモータステータス、正常値J、差(Pi −Pi-1 )、及び、第1の補正値ΔPも示している。   Here, the output pattern of the signals from the electrical angle sensors S1 to S3 at the timings c, b, and a, the counter value of the electrical angle counter E, the time when the previous edge occurred in the signals from the electrical angle sensors S1 to S3, and the current time FIG. 13B shows the motor status, normal value J, difference (Pi−Pi−1), and first correction value ΔP (= “J− (Pi−Pi−1)”) when the edge is generated. Shown in In the figure, after the timing a, the output pattern of the signals from the electrical angle sensors S1 to S3 at the timing a when the edges of the pulse signals from the electrical angle sensors S1 to S3 first occur, Also shown are the value, the motor status between the occurrence of the previous edge and the current edge, the normal value J, the difference (Pi−Pi−1), and the first correction value ΔP.

タイミングcは、上記ノイズの立ち上がりエッジに対応している。このため、タイミングcでは、上記ノイズの立ち上がりエッジに起因して、電気角センサS1〜S3からの信号が全てハイ信号「H」となり、電気角カウンタEのカウンタ値がそれまでの値である「3」に保持される。その結果、電気角センサS1〜S3からの信号における今回エッジ発生時のモータステータスが「hold」となり、正常値Jが「0」に設定される。この場合、今回のエッジ発生時の位置カウンタPのカウンタ値Pi と前記のエッジ発生時の位置カウンタPのカウンタ値Pi-1 との差(Pi −Pi-1 )が「−4」であることから、正常値Jに対する上記差(Pi −Pi-1 )のずれ量である第1の補正値ΔP(=「J−(Pi −Pi-1 )」)が「4」とされる。そして、この第1の補正値ΔP分の補正が位置カウンタPのカウンタ値に加えられるため、当該カウンタ値が図11(i)に黒矢印Y10で示されるように「4」だけ大きくされることになる。   Timing c corresponds to the rising edge of the noise. For this reason, at timing c, due to the rising edge of the noise, all the signals from the electrical angle sensors S1 to S3 become the high signal “H”, and the counter value of the electrical angle counter E is the value up to that time. 3 ". As a result, the motor status when the current edge occurs in the signals from the electrical angle sensors S1 to S3 is “hold”, and the normal value J is set to “0”. In this case, the difference (Pi−Pi−1) between the counter value Pi of the position counter P when the current edge occurs and the counter value Pi−1 of the position counter P when the edge occurs is “−4”. Therefore, the first correction value ΔP (= “J− (Pi−Pi−1)”), which is a deviation amount of the difference (Pi−Pi−1) from the normal value J, is set to “4”. Since the correction for the first correction value ΔP is added to the counter value of the position counter P, the counter value is increased by “4” as indicated by the black arrow Y10 in FIG. become.

タイミングbは、電気角センサS1からのパルス信号の立ち下がりエッジに対応している。このタイミングbでは、上記ノイズの発生に起因して、図13(b)に示されるように電気角センサS1〜S3からの信号がそれぞれ「L」、「H」、「H」となり、電気角カウンタEのカウンタ値が通常あり得ない変化、すなわち「3」から「1」へと逆方向に整数値を一つとばした変化を示すようになる。こうした今回のエッジ発生時の電気角カウンタEのカウンタ値の変化を逆方向への変化とみなし、今回のエッジ発生時のモータステータスを図中のハッチングで示されるように「ccw」に設定したとすると、前回エッジ発生時と今回エッジ発生時とのモータステータスはそれぞれ、「ccw」、「ccw」となる。その結果、正常値Jが「−4」に設定される。また、タイミングcからタイミングbまでの位置カウンタPのカウンタ値の変化量である差(Pi −Pi-1 )は「0」となる。このため、第1の補正値ΔP(=「J−(Pi −Pi-1 )」)は「−4」となり、当該第1の補正値ΔP分の補正が位置カウンタPのカウンタ値に加えられるため、当該カウンタ値が図11(i)に黒矢印Y11で示されるように「−4」分だけ小さくされることになる。   Timing b corresponds to the falling edge of the pulse signal from the electrical angle sensor S1. At this timing b, due to the occurrence of the noise, as shown in FIG. 13B, the signals from the electrical angle sensors S1 to S3 become “L”, “H”, “H”, respectively, and the electrical angle The counter value of the counter E usually shows an impossible change, that is, a change in which the integer value is skipped by one in the opposite direction from “3” to “1”. The change of the counter value of the electrical angle counter E at the time of the occurrence of the current edge is regarded as a change in the reverse direction, and the motor status at the time of the occurrence of the current edge is set to “ccw” as indicated by hatching in the figure. Then, the motor statuses at the time of the previous edge occurrence and the current edge occurrence are “ccw” and “ccw”, respectively. As a result, the normal value J is set to “−4”. Further, the difference (Pi−Pi−1), which is the change amount of the position counter P from the timing c to the timing b, is “0”. For this reason, the first correction value ΔP (= “J− (Pi−Pi−1)”) is “−4”, and the correction for the first correction value ΔP is added to the counter value of the position counter P. Therefore, the counter value is decreased by “−4” as indicated by the black arrow Y11 in FIG.

タイミングaは、上記ノイズの立ち下がりエッジに対応している。このタイミングaでは、上記ノイズの立ち下がりエッジに起因して、電気角センサS1〜S3からの信号がそれぞれ「L」、「L」、「H」となり、電気角カウンタEのカウンタ値が「1」から「2」へと変化する。このため、前回エッジ発生時と今回エッジ発生時とのモータステータスがそれぞれ「ccw」、「cw」となり、それに基づき正常値Jが「0」に設定される。また、タイミングbからタイミングaまでの位置カウンタPのカウンタ値の変化量である差(Pi −Pi-1 )は「0」となる。このため、第1の補正値ΔP(=「J−(Pi −Pi-1 )」)は「0」となり、当該第1の補正値ΔP分の補正が位置カウンタPのカウンタ値に加えられることはない。   Timing a corresponds to the falling edge of the noise. At this timing a, due to the falling edge of the noise, the signals from the electrical angle sensors S1 to S3 are “L”, “L”, and “H”, respectively, and the counter value of the electrical angle counter E is “1”. To "2". Therefore, the motor statuses at the time of the previous edge occurrence and the current edge occurrence are “ccw” and “cw”, respectively, and the normal value J is set to “0” based thereon. Further, the difference (Pi−Pi−1), which is the change amount of the position counter P from the timing b to the timing a, is “0”. For this reason, the first correction value ΔP (= “J− (Pi−Pi−1)”) is “0”, and the correction for the first correction value ΔP is added to the counter value of the position counter P. There is no.

タイミングzは、タイミングa後における最初の電気角センサS1〜S3からのパルス信号のエッジ発生に対応している。このタイミングzでは、電気角センサS1〜S3からの信号がそれぞれ「L」、「H」、「H」となり、電気角カウンタEのカウンタ値が「2」から「1」へと変化する。このため、前回エッジ発生時と今回エッジ発生時とのモータステータスがそれぞれ「cw」、「ccw」となる。その結果、モータ正逆回転反転中である旨の誤判断がなされ、正常値Jが誤って「0」に設定される。この場合、今回のエッジ発生時の位置カウンタPのカウンタ値Pi と前記のエッジ発生時の位置カウンタPのカウンタ値Pi-1 との差(Pi −Pi-1 )が「−4」であることから、第1の補正値ΔP(=「J−(Pi −Pi-1 )」)が「4」とされる。そして、この第1の補正値ΔP分の補正が位置カウンタPのカウンタ値に加えられるため、当該カウンタ値が図11(i)に黒矢印Y12で示されるように誤って「4」だけ大きくされることになる。   The timing z corresponds to the generation of an edge of the pulse signal from the first electrical angle sensors S1 to S3 after the timing a. At this timing z, the signals from the electrical angle sensors S1 to S3 become “L”, “H”, and “H”, respectively, and the counter value of the electrical angle counter E changes from “2” to “1”. Therefore, the motor statuses at the time of the previous edge occurrence and the current edge occurrence are “cw” and “ccw”, respectively. As a result, an erroneous determination that the motor is rotating in the forward / reverse rotation is made, and the normal value J is erroneously set to “0”. In this case, the difference (Pi−Pi−1) between the counter value Pi of the position counter P when the current edge occurs and the counter value Pi−1 of the position counter P when the edge occurs is “−4”. Therefore, the first correction value ΔP (= “J− (Pi−Pi−1)”) is set to “4”. Since the correction for the first correction value ΔP is added to the counter value of the position counter P, the counter value is erroneously increased by “4” as indicated by the black arrow Y12 in FIG. It will be.

従って、図11(b)に破線L1で示されるノイズの発生に起因して、電気角カウンタEのカウンタ値が図11(h)に破線L12で示されるように変化すると、図11(i)に黒矢印Y10,Y11,Y14で示される第1の補正値ΔP分の補正が誤って位置カウンタPのカウンタ値に加えられる。その結果、位置カウンタPのカウンタ値は、図中の破線L9で示されるように、ブラシレスモータ47の実際の回転角に対応する値(実線)からずれることになる。   Accordingly, when the counter value of the electrical angle counter E changes as shown by the broken line L12 in FIG. 11 (h) due to the generation of noise shown by the broken line L1 in FIG. 11 (b), FIG. 11 (i). The correction for the first correction value ΔP indicated by the black arrows Y10, Y11, and Y14 is erroneously added to the counter value of the position counter P. As a result, the counter value of the position counter P deviates from a value (solid line) corresponding to the actual rotation angle of the brushless motor 47, as indicated by a broken line L9 in the drawing.

以上のように、電気角センサS1〜S3から出力される信号にノイズ(破線L1や破線L4)が発生し、そのノイズが電気角センサS1〜S3からのパルス信号のエッジと重なると、位置カウンタPのカウンタ値が第1の補正値ΔP分の誤補正により、ブラシレスモータ47の実際の回転角と対応しなくなる。その結果、位置カウンタP(正確にはストロークカウンタS)のカウンタ値に基づき検出されるブラシレスモータ47の実際の回転角が不正確になり、その回転角等に基づきブラシレスモータ47を駆動し、吸気バルブ9のバルブ特性を目標の特性に制御しようとしても、それを正しく行えなくなってエンジン運転への悪影響に繋がる。   As described above, when noise (broken line L1 or broken line L4) is generated in the signals output from the electrical angle sensors S1 to S3, and the noise overlaps with the edges of the pulse signals from the electrical angle sensors S1 to S3, the position counter. The counter value of P does not correspond to the actual rotation angle of the brushless motor 47 due to erroneous correction of the first correction value ΔP. As a result, the actual rotation angle of the brushless motor 47 detected based on the counter value of the position counter P (more precisely, the stroke counter S) becomes inaccurate, and the brushless motor 47 is driven based on the rotation angle and the like, Even if it is attempted to control the valve characteristic of the valve 9 to the target characteristic, it cannot be performed correctly, leading to an adverse effect on engine operation.

なお、電気角センサS1〜S3から出力される信号にノイズが発生したとき、そのノイズが電気角センサS1〜S3からのパルス信号のエッジと重ならない場合もある。この場合は、同ノイズの立ち上がりエッジで位置カウンタPのカウンタ値が第1の補正値ΔP分の補正によりブラシレスモータ47の実際の回転角に対応する値からずれるものの、同ノイズの立ち下がりエッジでは位置カウンタPのカウンタ値に第1の補正値ΔP分の補正が上記と逆方向に加えられる。これにより、次回のパルス信号のエッジ発生時までには、位置カウンタPのカウンタ値における上記ずれが解消されることとなる。このため、電気角センサS1〜S3から出力される信号にノイズが発生しても、そのノイズが電気角センサS1〜S3からのパルス信号のエッジと重ならない場合には、上述したような不具合が生じることはない。   When noise is generated in the signals output from the electrical angle sensors S1 to S3, the noise may not overlap the edges of the pulse signals from the electrical angle sensors S1 to S3. In this case, the counter value of the position counter P deviates from a value corresponding to the actual rotation angle of the brushless motor 47 by the correction of the first correction value ΔP at the rising edge of the noise, but at the falling edge of the noise. A correction corresponding to the first correction value ΔP is added to the counter value of the position counter P in the reverse direction. As a result, the above-described deviation in the counter value of the position counter P is eliminated by the next edge generation of the pulse signal. For this reason, even if noise occurs in the signals output from the electrical angle sensors S1 to S3, if the noise does not overlap with the edges of the pulse signals from the electrical angle sensors S1 to S3, the above-described problems occur. It does not occur.

次に、本実施形態にて行われる上述した不具合の抑制について説明する。
この実施形態では、電気角センサS1〜S3から信号にノイズが発生することに起因して、位置カウンタPのカウンタ値に対して第1の補正値ΔP分の誤補正が行われるとき、電気角カウンタEのカウンタ値が通常あり得ない変化を示すことに着目し、こうした変化が生じたときに第1の補正値ΔPによる誤補正を無効化する処理を実行する。
Next, suppression of the above-described problems performed in the present embodiment will be described.
In this embodiment, when the correction of the first correction value ΔP is performed on the counter value of the position counter P due to noise generated in the signals from the electric angle sensors S1 to S3, the electric angle Focusing on the fact that the counter value of the counter E indicates a change that cannot normally occur, processing for invalidating the erroneous correction by the first correction value ΔP is executed when such a change occurs.

具体的には、まず上記処理を実行可能とするため、電気角カウンタEのカウンタ値がモータ正回転方向への通常あり得ない変化である整数値を順方向に一つとばした変化を示したときのモータステータスとして「cw2」を追加する。更に、同じく電気角カウンタEのカウンタ値がモータ逆回転方向への通常あり得ない変化である整数値を逆方向に一つとばした変化を示したときのモータステータスとして「ccw2」を追加する。   Specifically, first, in order to enable the above processing to be executed, the counter value of the electrical angle counter E showed a change in which an integer value, which is a normal change in the motor forward rotation direction, is skipped by one in the forward direction. "Cw2" is added as the motor status. Furthermore, “ccw2” is added as the motor status when the counter value of the electrical angle counter E shows a change in which an integer value, which is a normal change in the reverse direction of the motor, is skipped by one in the reverse direction.

そして、これら「cw2」及び「ccw2」が追加されたモータステータスを用いて、ブラシレスモータ47の回転状態が正回転中、逆回転中、及び正逆回転反転中のいずれであるかの判断を行うようにする。   Then, using the motor status to which “cw2” and “ccw2” are added, it is determined whether the rotation state of the brushless motor 47 is normal rotation, reverse rotation, or normal / reverse rotation reversal. Like that.

すなわち、図14に示されるように、電気角センサS1〜S3からの信号における前回のエッジ発生時と今回のエッジ発生時とのモータステータスが共に「cw」や「cw2」といったモータ正回転を表すものである場合には、ブラシレスモータ47が正回転中である旨判断する。また、前回のエッジ発生時と今回のエッジ発生時とのモータステータスが共に「ccw」や「ccw2」といったモータ逆回転を表すものである場合には、ブラシレスモータ47が逆回転中である旨判断する。更に、前回のエッジ発生時と今回のエッジ発生時とでモータステータスがモータ正回転を表すもの(「cw」、「cw2」)と、モータ逆回転を表すもの(「ccw」及び「ccw2」)とで異なっていれば、ブラシレスモータ47の正逆回転反転中である旨判断する。   That is, as shown in FIG. 14, the motor statuses at the time of the previous edge generation and the current edge generation in the signals from the electrical angle sensors S1 to S3 both represent motor forward rotations such as “cw” and “cw2”. If it is, it is determined that the brushless motor 47 is rotating forward. If the motor statuses at the time of the previous edge occurrence and the current edge occurrence both indicate reverse motor rotation such as “ccw” and “ccw2”, it is determined that the brushless motor 47 is in reverse rotation. To do. Furthermore, the motor status indicates the forward rotation of the motor (“cw”, “cw2”) and the reverse rotation of the motor (“ccw” and “ccw2”) when the previous edge occurs and when the current edge occurs. If it is different from the above, it is determined that the brushless motor 47 is in reverse rotation.

また、前回のエッジ発生時と今回のエッジ発生時とのモータステータスに基づき設定される正常値Jについては、それらモータステータスに応じて図15の表に示されるように設定する。同図において、ハッチングで示される部分は、モータステータスとして「cw2」、「ccw2」を加えたことによる追加部分を示している。この図から分かるように、前回のエッジ発生時と今回のエッジ発生時とでモータステータスがモータ正回転を表すもの(「cw」、「cw2」)から同じくモータ正回転を表すもの(「cw」、「cw2」)へと変化している場合には、正常値Jが「4」に設定される。また、前回のエッジ発生時と今回のエッジ発生時とでモータステータスがモータ逆回転を表すもの(「ccw」及び「ccw2」)から同じくモータ逆回転を表すもの(「ccw」及び「ccw2」)へと変化している場合には、正常値Jが「−4」に設定される。更に、前回のエッジ発生時と今回のエッジ発生時とでモータステータスがモータ正回転を表すもの(「cw」、「cw2」)とモータ逆回転を表すもの(「ccw」及び「ccw2」)との間で変化している場合には、正常値Jが「0」に設定される。   Further, the normal value J set based on the motor status at the time of the previous edge generation and the current edge generation is set as shown in the table of FIG. 15 according to the motor status. In the figure, the hatched portion indicates an additional portion obtained by adding “cw2” and “ccw2” as the motor status. As can be seen from this figure, when the previous edge occurrence and the current edge occurrence, the motor status represents the motor forward rotation ("cw", "cw2") to the same motor forward rotation ("cw"). , “Cw2”), the normal value J is set to “4”. Also, the motor status indicating reverse motor rotation ("ccw" and "ccw2") from the time of the previous edge generation and the current edge generation to the same motor reverse rotation ("ccw" and "ccw2") When the value has changed to normal, the normal value J is set to “−4”. Furthermore, when the previous edge occurs and when the current edge occurs, the motor status indicates normal motor rotation (“cw”, “cw2”) and the reverse motor rotation (“ccw” and “ccw2”). When the value changes between the normal values J, the normal value J is set to “0”.

続いて、第1の補正値ΔPによる位置カウンタPの補正を無効にするための第2の補正値ΔPrを、図16に示されるように今回エッジ発生時のモータステータスに応じて設定する。   Subsequently, a second correction value ΔPr for invalidating the correction of the position counter P by the first correction value ΔP is set according to the motor status when the current edge occurs, as shown in FIG.

このように設定される第2の補正値ΔPrについては、今回エッジ発生時のモータステータスが「cw2」であるとき、電気角センサS1〜S3からのパルス信号のエッジ間において位置センサS4,S5から出力されるパルス信号のエッジ数nに関係して「n=(4)」とされる。ここで、上記モータステータスが「cw2」であるということは、今回エッジ発生時に電気角カウンタEのカウンタ値がモータ正回転方向への通常あり得ない変化を示したこと、すなわち当該カウンタ値が整数値を順方向に一つとばしての変化を示したことを意味する。また、同第2の補正値ΔPrについては、今回エッジ発生時のモータステータスが「ccw2」であるとき、上記エッジ数nに関係して「−n(=−4)」とされる。ここで、上記モータステータスが「ccw2」であるということは、今回エッジ発生時に電気角カウンタEのカウンタ値がモータ逆回転方向に通常あり得ない変化を示したこと、すなわち当該カウンタ値が整数値を逆方向に一つとばしての変化を示したことを意味する。なお、今回のエッジ発生時のモータステータスが上述した「cw2」及び「ccw2」以外であるときには、第2の補正値ΔPrは「0」となる。   With respect to the second correction value ΔPr set in this way, when the motor status at the time of the current edge generation is “cw2”, the position sensors S4 and S5 are used between the edges of the pulse signals from the electrical angle sensors S1 to S3. “N = (4)” in relation to the number of edges n of the output pulse signal. Here, the motor status being “cw2” indicates that the counter value of the electrical angle counter E has changed in the normal motor rotation direction at the time of the occurrence of the current edge, that is, the counter value is adjusted. It means that the numerical value is changed one by one in the forward direction. The second correction value ΔPr is set to “−n (= −4)” in relation to the number of edges n when the motor status at the time of occurrence of the current edge is “ccw2”. Here, that the motor status is “ccw2” indicates that the counter value of the electrical angle counter E is not normally changed in the reverse direction of the motor when the current edge occurs, that is, the counter value is an integer value. It means that the change is shown by skipping one in the opposite direction. If the motor status at the time of the current edge generation is other than “cw2” and “ccw2” described above, the second correction value ΔPr is “0”.

そして、このように設定される第2の補正値ΔPr分の補正を位置カウンタPのカウンタ値に加えることで、当該カウンタ値におけるブラシレスモータ47の実際の回転角に対応する値からのずれに影響を及ぼす第1の補正値ΔPによる補正を無効化することができるようになる。これにより、上記第1の補正値ΔPによる誤補正に起因して、位置カウンタPのカウンタ値がブラシレスモータ47の実際の回転角に対応する値からずれるのを回避することができる。   Then, by adding the correction for the second correction value ΔPr set in this way to the counter value of the position counter P, the deviation of the counter value from the value corresponding to the actual rotation angle of the brushless motor 47 is affected. It becomes possible to invalidate the correction by the first correction value ΔP that exerts. Thereby, it is possible to avoid the counter value of the position counter P from deviating from the value corresponding to the actual rotation angle of the brushless motor 47 due to the erroneous correction by the first correction value ΔP.

以上のように、モータステータスに「cw2」及び「ccw2」を加えること、正常値Jを図16に示されるように設定すること、及び、第2の補正値ΔPr分の補正を位置カウンタPのカウンタ値に加えることにより、図12及び図13の表を図17及び図18に示される表に変えることが可能になる。   As described above, adding “cw2” and “ccw2” to the motor status, setting the normal value J as shown in FIG. 16, and correcting the second correction value ΔPr by the position counter P By adding to the counter value, the tables in FIGS. 12 and 13 can be changed to the tables shown in FIGS. 17 and 18.

これらの図において、図12(a)及び(b)、並びに、図13(a)及び(b)の表はそれぞれ、図17(a)及び(b)、並びに、図18(a)及び(b)の表に対応している。なお、図17及び図18の表のモータステータスの欄におけるハッチング部分は、モータステータスに「cw2」及び「ccw2」を加えることにより、図12及び図13の表から変更された部分である。また、図17及び図18の表の第2の補正値ΔPrの欄は、図12及び図13の表に対し追加された部分である。   In these figures, the tables of FIGS. 12 (a) and 12 (b) and FIGS. 13 (a) and 13 (b) are shown in FIGS. 17 (a) and 17 (b) and FIGS. 18 (a) and (b), respectively. Corresponds to the table in b). The hatched portion in the motor status column of the tables of FIGS. 17 and 18 is a portion changed from the tables of FIGS. 12 and 13 by adding “cw2” and “ccw2” to the motor status. Also, the column of the second correction value ΔPr in the tables of FIGS. 17 and 18 is a portion added to the tables of FIGS. 12 and 13.

次に、位置カウンタPのカウンタ値に対し上記第2の補正値ΔPr分の補正を加えることの効果について、モータ正回転中である場合とモータ逆回転中である場合とを例に、図11のタイミングチャートに基づき、図17及び図18の表を併せ参照して、詳しく説明する。   Next, with respect to the effect of adding the correction of the second correction value ΔPr to the counter value of the position counter P, the case where the motor is rotating forward and the case where the motor is rotating backward is taken as an example in FIG. Based on these timing charts, detailed description will be given with reference to the tables of FIGS.

[モータ正回転中]
ブラシレスモータ47の正回転中、図11(b)に破線L1で示されるようにノイズが発生すると、第1の補正値ΔP分の誤補正により図11(g)に示される位置カウンタPのカウンタ値がブラシレスモータ47の実際の回転角に対応する値(実線)に対し、破線L3で示されるように「−4」分だけ小さくなることは上述したとおりである。この場合、位置カウンタPのカウンタ値におけるブラシレスモータ47の実際の回転角に対応する値からのずれは、タイミングaでの第1の補正値ΔP分の誤補正(図11(g)の黒矢印Y1)による影響を受けたものということになる。
[During motor forward rotation]
If noise occurs as shown by the broken line L1 in FIG. 11B during the forward rotation of the brushless motor 47, the counter of the position counter P shown in FIG. 11G due to erroneous correction for the first correction value ΔP. As described above, the value decreases by “−4” as indicated by the broken line L3 with respect to the value (solid line) corresponding to the actual rotation angle of the brushless motor 47. In this case, the deviation of the counter value of the position counter P from the value corresponding to the actual rotation angle of the brushless motor 47 is an erroneous correction for the first correction value ΔP at the timing a (black arrow in FIG. 11G). That is, it was influenced by Y1).

しかし、タイミングcでは、図17(a)に示されるように、今回エッジ発生時のモータステータスが「cw2」となり、それに基づき第2の補正値ΔPrが「4」に設定される。このときの第2の補正値ΔPrの「4」という値は、上記タイミングaでの第1の補正値ΔP(「−4」)の正負を反転させた値となる。なお、タイミングa,bにおける今回エッジ発生時のモータステータスについては、「cw2」や「ccw2」でないことから「0」に設定される。そして、上記のように設定された第2の補正値ΔPr分の補正が位置カウンタPのカウンタ値に加えられることとなる。   However, at timing c, as shown in FIG. 17A, the motor status when the current edge is generated is “cw2”, and based on this, the second correction value ΔPr is set to “4”. The value “4” of the second correction value ΔPr at this time is a value obtained by inverting the sign of the first correction value ΔP (“−4”) at the timing a. The motor status when the current edge occurs at timings a and b is set to “0” because it is not “cw2” or “ccw2”. Then, the correction for the second correction value ΔPr set as described above is added to the counter value of the position counter P.

このように第2の補正値ΔPr分の補正が位置カウンタPのカウンタ値に加えられると、それによってタイミングaでの第1の補正値ΔP分の位置カウンタPの補正が無効にされ、当該位置カウンタPのカウンタ値が図11(g)に白矢印Y2で示されるようにブラシレスモータ47の実際の回転角に対応する値(実線)へと変化する。これにより、位置カウンタPのカウンタ値におけるブラシレスモータ47の実際の回転角に対応する値からのずれが修正される。   Thus, when the correction for the second correction value ΔPr is added to the counter value of the position counter P, the correction of the position counter P for the first correction value ΔP at the timing a is invalidated, and the position The counter value of the counter P changes to a value (solid line) corresponding to the actual rotation angle of the brushless motor 47 as indicated by a white arrow Y2 in FIG. Thereby, the deviation of the counter value of the position counter P from the value corresponding to the actual rotation angle of the brushless motor 47 is corrected.

また、ブラシレスモータ47の正回転中、図11(b)に破線L4で示されるようにノイズが発生すると、第1の補正値ΔP分の誤補正により図11(g)に示される位置カウンタPのカウンタ値がブラシレスモータ47の実際の回転角に対応する値(実線)に対し、破線L6で示されるように「−4」分だけ小さくなることも上述した。この場合、位置カウンタPのカウンタ値におけるブラシレスモータ47の実際の回転角に対応する値からのずれは、タイミングgでの第1の補正値ΔP分の誤補正(図11(g)の黒矢印Y5)による影響を受けたものということになる。   In addition, when noise is generated during the forward rotation of the brushless motor 47 as shown by the broken line L4 in FIG. 11B, the position counter P shown in FIG. 11G is caused by erroneous correction for the first correction value ΔP. It is also described above that the counter value becomes smaller by “−4” as shown by the broken line L6 with respect to the value (solid line) corresponding to the actual rotation angle of the brushless motor 47. In this case, the deviation of the counter value of the position counter P from the value corresponding to the actual rotation angle of the brushless motor 47 is an erroneous correction corresponding to the first correction value ΔP at the timing g (black arrow in FIG. 11G). This means that it was influenced by Y5).

しかし、タイミングeでは、図17(b)に示されるように、今回エッジ発生時のモータステータスが「cw2」となり、それに基づき第2の補正値ΔPrが「4」に設定される。このときの第2の補正値ΔPrの「4」という値は、上記タイミングgでの第1の補正値ΔP(「−4」)の正負を反転させた値となる。なお、タイミングd,f,gにおける今回エッジ発生時のモータステータスについては、「cw2」や「ccw2」でないことから「0」に設定される。そして、上記のように設定された第2の補正値ΔPr分の補正が位置カウンタPのカウンタ値に加えられることとなる。   However, at timing e, as shown in FIG. 17B, the motor status when the current edge is generated is “cw2”, and based on this, the second correction value ΔPr is set to “4”. The value “4” of the second correction value ΔPr at this time is a value obtained by inverting the sign of the first correction value ΔP (“−4”) at the timing g. The motor status at the time of occurrence of the current edge at timings d, f, and g is set to “0” because it is not “cw2” or “ccw2”. Then, the correction for the second correction value ΔPr set as described above is added to the counter value of the position counter P.

このように第2の補正値ΔPr分の補正が位置カウンタPのカウンタ値に加えられると、当該カウンタ値が図11(g)の白矢印Y6で示されるようにブラシレスモータ47の実際の回転角に対応する値から「4」だけ増加し、その後は破線L7で示されるように推移する。これにより、タイミングgでの第1の補正値ΔP分の誤補正により位置カウンタPのカウンタ値が黒矢印Y7で示されるように「−4」分だけ減少したとき、当該カウンタ値はブラシレスモータ47の実際の回転角に対応する値(実線)と一致する。このことは言い換えれば、タイミングeでの第2の補正値ΔPr分の位置カウンタPの補正により、タイミングgでの第1の補正値ΔP分の位置カウンタPの補正が無効にされるということである。以上により、位置カウンタPのカウンタ値におけるブラシレスモータ47の実際の回転角に対応する値からのずれが修正される。   When the correction for the second correction value ΔPr is added to the counter value of the position counter P in this way, the counter value is an actual rotation angle of the brushless motor 47 as indicated by a white arrow Y6 in FIG. Is increased by “4” from the value corresponding to, and thereafter changes as indicated by a broken line L7. Thus, when the counter value of the position counter P is decreased by “−4” as indicated by the black arrow Y7 due to the erroneous correction for the first correction value ΔP at the timing g, the counter value is reduced to the brushless motor 47. This corresponds to the value (solid line) corresponding to the actual rotation angle. In other words, the correction of the position counter P corresponding to the second correction value ΔPr at the timing e invalidates the correction of the position counter P corresponding to the first correction value ΔP at the timing g. is there. As described above, the deviation of the counter value of the position counter P from the value corresponding to the actual rotation angle of the brushless motor 47 is corrected.

[モータ逆回転中]
ブラシレスモータ47の逆回転中、図11(b)に破線L4で示されるようにノイズが発生すると、第1の補正値ΔP分の誤補正により図11(g)に示される位置カウンタPのカウンタ値がブラシレスモータ47の実際の回転角に対応する値(実線)に対し、破線L8で示されるように「4」だけ大きくなることは上述したとおりである。この場合、位置カウンタPのカウンタ値におけるブラシレスモータ47の実際の回転角に対応する値からのずれは、タイミングfでの第1の補正値ΔP分の誤補正(図11(g)の黒矢印Y8)による影響を受けたものということになる。
[Motor reverse rotation]
During the reverse rotation of the brushless motor 47, if noise occurs as shown by the broken line L4 in FIG. 11B, the counter of the position counter P shown in FIG. 11G is caused by erroneous correction for the first correction value ΔP. As described above, the value increases by “4” as indicated by the broken line L8 with respect to the value (solid line) corresponding to the actual rotation angle of the brushless motor 47. In this case, the deviation of the counter value of the position counter P from the value corresponding to the actual rotation angle of the brushless motor 47 is an erroneous correction for the first correction value ΔP at the timing f (black arrow in FIG. 11G). That is, it was influenced by Y8).

しかし、タイミングdでは、図18(a)に示されるように、今回エッジ発生時のモータステータスが「ccw2」となり、それに基づき第2の補正値ΔPrが「−4」に設定される。このときの第2の補正値ΔPrの「−4」という値は、上記タイミングfでの第1の補正値ΔP(「4」)の正負を反転させた値となる。なお、タイミングf,eにおける今回エッジ発生時のモータステータスについては、「cw2」や「ccw2」でないことから「0」に設定される。そして、上記のように設定された第2の補正値ΔPr分の補正が位置カウンタPのカウンタ値に加えられることとなる。   However, at timing d, as shown in FIG. 18A, the motor status when the current edge is generated becomes “ccw2”, and based on this, the second correction value ΔPr is set to “−4”. The value “−4” of the second correction value ΔPr at this time is a value obtained by inverting the sign of the first correction value ΔP (“4”) at the timing f. The motor status at the time of occurrence of the current edge at timings f and e is set to “0” because it is not “cw2” or “ccw2”. Then, the correction for the second correction value ΔPr set as described above is added to the counter value of the position counter P.

このように第2の補正値ΔPr分の補正が位置カウンタPのカウンタ値に加えられると、それによってタイミングfでの第1の補正値ΔP分の位置カウンタPの補正が無効にされ、当該位置カウンタPのカウンタ値が図11(g)に白矢印Y9で示されるようにブラシレスモータ47の実際の回転角に対応する値(実線)へと変化する。これにより、位置カウンタPのカウンタ値におけるブラシレスモータ47の実際の回転角に対応する値からのずれが修正される。   Thus, when the correction for the second correction value ΔPr is added to the counter value of the position counter P, the correction of the position counter P for the first correction value ΔP at the timing f is invalidated, and the position The counter value of the counter P changes to a value (solid line) corresponding to the actual rotation angle of the brushless motor 47 as indicated by a white arrow Y9 in FIG. Thereby, the deviation of the counter value of the position counter P from the value corresponding to the actual rotation angle of the brushless motor 47 is corrected.

また、ブラシレスモータ47の逆回転中、図11(b)に破線L1で示されるようにノイズが発生すると、第1の補正値ΔP分の誤補正により図11(g)に示される位置カウンタPのカウンタ値がブラシレスモータ47の実際の回転角に対応する値(実線)に対し、破線L9で示されるように「4」だけ大きくなることも上述した。この場合、位置カウンタPのカウンタ値におけるブラシレスモータ47の実際の回転角に対応する値からのずれは、タイミングzでの第1の補正値ΔP分の誤補正(図11(g)の黒矢印Y12)による影響を受けたものということになる。   Further, when noise occurs during reverse rotation of the brushless motor 47 as indicated by a broken line L1 in FIG. 11B, the position counter P shown in FIG. 11G is caused by erroneous correction for the first correction value ΔP. It has also been described above that the counter value increases by “4” as indicated by the broken line L9 with respect to the value corresponding to the actual rotation angle of the brushless motor 47 (solid line). In this case, the deviation of the counter value of the position counter P from the value corresponding to the actual rotation angle of the brushless motor 47 is an erroneous correction for the first correction value ΔP at the timing z (black arrow in FIG. 11G). That is, it was influenced by Y12).

しかし、タイミングbでは、図18(b)に示されるように、今回エッジ発生時のモータステータスが「ccw2」となり、それに基づき第2の補正値ΔPrが「−4」に設定される。このときの第2の補正値ΔPrの「−4」という値は、上記タイミングzでの第1の補正値ΔP(「4」)の正負を反転させた値となる。なお、タイミングc,a,zにおける今回エッジ発生時のモータステータスについては、「cw2」や「ccw2」でないことから「0」に設定される。そして、上記のように設定された第2の補正値ΔPr分の補正が位置カウンタPのカウンタ値に加えられることとなる。   However, at timing b, as shown in FIG. 18B, the motor status when the current edge is generated is “ccw2”, and based on this, the second correction value ΔPr is set to “−4”. The value “−4” of the second correction value ΔPr at this time is a value obtained by inverting the sign of the first correction value ΔP (“4”) at the timing z. The motor status at the time of occurrence of the current edge at timings c, a, and z is set to “0” because it is not “cw2” or “ccw2”. Then, the correction for the second correction value ΔPr set as described above is added to the counter value of the position counter P.

このように第2の補正値ΔPr分の補正が位置カウンタPのカウンタ値に加えられると、当該カウンタ値が図11(g)の白矢印Y13で示されるようにブラシレスモータ47の実際の回転角に対応する値から「−4」分だけ減少し、その後は破線L10で示されるように推移する。これにより、タイミングzでの第1の補正値ΔP分の誤補正により位置カウンタPのカウンタ値が黒矢印Y12で示されるように「4」だけ増加したとき、当該カウンタ値はブラシレスモータ47の実際の回転角に対応する値(実線)と一致する。このことは言い換えれば、タイミングbでの第2の補正値ΔPr分の位置カウンタPの補正により、タイミングzでの第1の補正値ΔP分の位置カウンタPの補正が無効にされるということである。以上により、位置カウンタPのカウンタ値におけるブラシレスモータ47の実際の回転角に対応する値からのずれが修正される。   When the correction for the second correction value ΔPr is added to the counter value of the position counter P in this way, the counter value is an actual rotation angle of the brushless motor 47 as indicated by a white arrow Y13 in FIG. Is decreased by “−4” from the value corresponding to, and thereafter changes as indicated by a broken line L10. As a result, when the counter value of the position counter P increases by “4” as indicated by the black arrow Y12 due to the erroneous correction of the first correction value ΔP at the timing z, the counter value is the actual value of the brushless motor 47. This corresponds to the value (solid line) corresponding to the rotation angle. In other words, the correction of the position counter P corresponding to the first correction value ΔP at the timing z is invalidated by the correction of the position counter P corresponding to the second correction value ΔPr at the timing b. is there. As described above, the deviation of the counter value of the position counter P from the value corresponding to the actual rotation angle of the brushless motor 47 is corrected.

次に、第2の補正値ΔPrの算出手順、及び、その第2の補正値ΔPrによる位置カウンタの補正手順について、位置カウンタ補正無効化ルーチンを示す図19のフローチャートを参照して説明する。この位置カウンタ補正無効化ルーチンは、電子制御装置50を通じて、位置センサS4,S5からのパルス信号のエッジ間隔に対応する時間間隔よりも短い間隔をもって周期的に実行される。   Next, the procedure for calculating the second correction value ΔPr and the procedure for correcting the position counter using the second correction value ΔPr will be described with reference to the flowchart of FIG. 19 showing the position counter correction invalidation routine. This position counter correction invalidation routine is periodically executed through the electronic control unit 50 at intervals shorter than the time intervals corresponding to the edge intervals of the pulse signals from the position sensors S4 and S5.

同ルーチンにおいては、電気角センサS1〜S3からの信号にエッジが発生したとき(S201:YES)、今回のエッジ発生時のモータステータスが「cw2」であるか否かの判断(S202)、及び、今回のエッジ発生時のモータステータスが「ccw2」であるか否かの判断(S203)が行われる。   In the routine, when an edge occurs in the signals from the electrical angle sensors S1 to S3 (S201: YES), it is determined whether or not the motor status at the time of the current edge generation is “cw2” (S202); Then, it is determined whether or not the motor status at the time of the current edge generation is “ccw2” (S203).

そして、今回のエッジ発生時のモータステータスが「cw2」であれば(S202:YES)、すなわち電気角カウンタEのカウンタ値がモータ正回転方向への通常あり得ない変化である整数値を順方向に一つとばした変化を示した旨判断され、第2の補正値ΔPrが上述したエッジ数nに関係して「n(=4)」に設定される(S204)。一方、今回のエッジ発生時のモータステータスが「ccw2」であれば(S203:YES)、電気角カウンタEのカウンタ値がモータ逆回転方向への通常あり得ない変化である整数値を逆方向に一つとばした変化を示した旨判断され、第2の補正値ΔPrが上述したエッジ数nに関係して「−n(=−4)」に設定される(S205)。更に、今回のエッジ発生時のモータステータスが「cw2」と「ccw2」とのいずれでもなければ(S202、S203で共にNO)、第2の補正値ΔPrは「0」に設定される(S206)。   If the motor status at the time of occurrence of the current edge is “cw2” (S202: YES), that is, the counter value of the electrical angle counter E is changed to an integer value that is a normally impossible change in the motor forward rotation direction. The second correction value ΔPr is set to “n (= 4)” in relation to the number of edges n described above (S204). On the other hand, if the motor status at the time of the occurrence of the current edge is “ccw2” (S203: YES), the counter value of the electrical angle counter E is changed to an integer value that is a change that is not normally possible in the motor reverse rotation direction. It is determined that one change has been shown, and the second correction value ΔPr is set to “−n (= −4)” in relation to the number of edges n described above (S205). Further, if the motor status at the time of the current edge generation is neither “cw2” nor “ccw2” (both NO in S202 and S203), the second correction value ΔPr is set to “0” (S206). .

このように第2の補正値ΔPrの設定が行われた後、位置カウンタPのカウンタ値に対し当該第2の補正値ΔPr分の補正が加えられる(S207)。これにより、位置カウンタPに対する第1の補正値ΔPの誤補正が無効化され、その誤補正に起因した位置カウンタPのカウンタ値におけるブラシレスモータ47の実際の回転角に対応した値からのずれが修正される。   After the second correction value ΔPr is set in this way, correction for the second correction value ΔPr is added to the counter value of the position counter P (S207). Thereby, the erroneous correction of the first correction value ΔP with respect to the position counter P is invalidated, and the deviation of the counter value of the position counter P from the value corresponding to the actual rotation angle of the brushless motor 47 due to the erroneous correction. Will be corrected.

以上詳述した本実施形態によれば、以下に示す効果が得られるようになる。
(1)電気角センサS1〜S3からのパルス信号のエッジ発生毎に、前回のエッジ発生時の位置カウンタPのカウンタ値Pi-1 と今回のエッジ発生時の位置カウンタPのカウンタ値Pi との差(Pi −Pi-1 )が算出される。この差(Pi −Pi-1 )には、位置カウンタPのカウンタ値がブラシレスモータ47の実際の回転角に対応する値からずれた状態になったとき、当該ずれが反映されることとなる。すなわち、そのずれの分だけ上記差(Pi −Pi-1 )が正常値Jからずれることになる。従って、正常値Jに対する差(Pi −Pi-1 )のずれ量「J−(Pi −Pi-1 )」を第1の補正値ΔPとし、当該第1の補正値ΔP分の補正を位置カウンタPのカウンタ値に加えることで、そのカウンタ値におけるブラシレスモータ47の実際の回転角に対応する値からのずれを無くすことができる。また、第1の補正値ΔPを求めるための差(Pi −Pi-1 )を算出するのには、ブラシレスモータ47の駆動に用いられる電気角センサS1〜S3があればよく、上記ずれを無くすために新たなセンサ等を設ける必要はない。
According to the embodiment described in detail above, the following effects can be obtained.
(1) Every time the edge of the pulse signal from the electrical angle sensors S1 to S3 is generated, the counter value Pi-1 of the position counter P when the previous edge is generated and the counter value Pi of the position counter P when the current edge is generated The difference (Pi-Pi-1) is calculated. This difference (Pi−Pi−1) is reflected when the counter value of the position counter P is deviated from a value corresponding to the actual rotation angle of the brushless motor 47. That is, the difference (Pi-Pi-1) deviates from the normal value J by the amount of deviation. Accordingly, the shift amount “J− (Pi−Pi−1)” of the difference (Pi−Pi−1) with respect to the normal value J is set as the first correction value ΔP, and the correction for the first correction value ΔP is performed by the position counter. By adding to the counter value of P, it is possible to eliminate a deviation from the value corresponding to the actual rotation angle of the brushless motor 47 in the counter value. Further, in order to calculate the difference (Pi−Pi−1) for obtaining the first correction value ΔP, it is sufficient to have the electrical angle sensors S1 to S3 used for driving the brushless motor 47, and the above-described deviation is eliminated. Therefore, it is not necessary to provide a new sensor or the like.

(2)電気角センサS1〜S3からの信号にノイズが発生し、そのノイズが他の電気角センサS1〜S3からのパルス信号のエッジと重なると、当該ノイズを電気角センサS1〜S3からのパルス信号と誤認し、電気角カウンタEのカウンタ値が誤った値に変化する。このように電気角カウンタEのカウンタ値が誤った値に変化すると、同カウンタ値に基づき判断されるブラシレスモータ47の回転状態が実際の状態とは異なるものとなり、そのモータ回転状態に応じて設定される正常値Jが実際のモータ回転状態とは対応しなくなる。そして、上述した正常値Jの異常に起因して、当該正常値Jに対する上記差(Pi −Pi-1 )のずれ量「J−(Pi −Pi-1 )」である第1の補正値ΔPが誤った値となる。この第1の補正値ΔPにより位置カウンタPのカウンタ値が誤補正されると、当該カウンタ値がブラシレスモータ47の実際の回転角に対応する値からずれることになる。その結果、位置カウンタPのカウンタ値に基づき検出されるブラシレスモータ47の回転角が不正確な値になる。   (2) When noise is generated in the signals from the electrical angle sensors S1 to S3, and the noise overlaps with the edges of the pulse signals from the other electrical angle sensors S1 to S3, the noise is transmitted from the electrical angle sensors S1 to S3. It is mistaken for a pulse signal, and the counter value of the electrical angle counter E changes to an incorrect value. When the counter value of the electrical angle counter E changes to an incorrect value in this way, the rotational state of the brushless motor 47 determined based on the counter value is different from the actual state, and is set according to the motor rotational state. The normal value J thus made does not correspond to the actual motor rotation state. Then, due to the abnormality of the normal value J described above, the first correction value ΔP which is the deviation “J− (Pi−Pi−1)” of the difference (Pi−Pi−1) with respect to the normal value J. Is an incorrect value. If the counter value of the position counter P is erroneously corrected by the first correction value ΔP, the counter value deviates from a value corresponding to the actual rotation angle of the brushless motor 47. As a result, the rotation angle of the brushless motor 47 detected based on the counter value of the position counter P becomes an incorrect value.

しかし、電気角センサS1〜S3の信号でのノイズ発生により電気角カウンタEが誤った値に変化し、それに起因して位置カウンタPのカウンタ値がブラシレスモータ47の実際の回転角からずれる場合には、電気角カウンタEのカウンタ値が通常あり得ない変化を示すことになる。こうした電気角カウンタEのカウンタ値の変化に着目し、その変化が生じた旨判断されたときには第1の補正値ΔPによる誤補正を無効化するための処理が実行される。詳しくは、電気角カウンタEのカウンタ値の通常あり得ない変化として、同カウンタ値が整数値を一つとばした変化を示し、モータステータスが「cw2」や「ccw2」となったとき、それに基づき第1の補正値ΔPによる誤補正を無効化するための第2の補正値ΔPrが設定される。そして、当該第2の補正値ΔPrの補正が位置カウンタPのカウンタ値に加えられる。これにより、位置カウンタPのカウンタ値に対する上記第1の補正値ΔP分の誤補正が無効化され、そのカウンタ値がブラシレスモータ47の実際の回転角に対応する値からずれるのを回避することができる。従って、位置カウンタP(正確にはストロークカウンタS)のカウンタ値に基づき検出されるブラシレスモータ47の回転角が不正確な値になるのを回避することができる。そして、位置カウンタPのカウンタ値に基づき検出されるブラシレスモータ47の回転角に基づき同モータ47を駆動し、バルブリフト可変機構14を駆動制御しようとするとき、それを正しく行えなくなってエンジン運転への悪影響に繋がるということもなくなる。   However, when the electrical angle counter E changes to an incorrect value due to the occurrence of noise in the signals of the electrical angle sensors S1 to S3, the counter value of the position counter P deviates from the actual rotation angle of the brushless motor 47 due to this. Indicates a change in which the counter value of the electrical angle counter E is not normally possible. Focusing on such a change in the counter value of the electrical angle counter E, when it is determined that the change has occurred, a process for invalidating the erroneous correction by the first correction value ΔP is executed. Specifically, the counter value of the electrical angle counter E indicates a change that cannot be normally performed. The counter value indicates a change by skipping an integer value, and when the motor status becomes “cw2” or “ccw2”, A second correction value ΔPr for invalidating the erroneous correction due to the first correction value ΔP is set. Then, the correction of the second correction value ΔPr is added to the counter value of the position counter P. As a result, the erroneous correction for the first correction value ΔP with respect to the counter value of the position counter P is invalidated, and the counter value is prevented from deviating from a value corresponding to the actual rotation angle of the brushless motor 47. it can. Accordingly, it is possible to avoid an inaccurate value of the rotation angle of the brushless motor 47 detected based on the counter value of the position counter P (more precisely, the stroke counter S). Then, when the motor 47 is driven based on the rotation angle of the brushless motor 47 detected based on the counter value of the position counter P and the valve lift variable mechanism 14 is to be driven and controlled, it cannot be performed correctly and the engine operation is started. It will no longer lead to adverse effects.

(3)ブラシレスモータ47の正回転中、上記ノイズの発生に起因して電気角カウンタEのカウンタがモータ回転方向とは逆方向への変化を示したとき、例えば図17(a)のタイミングaや図17(b)のタイミングgでは、正常値Jが本来ならば上述したエッジ数nに関係して「4」に設定されるべきところを「0」に設定されてしまう。その結果、正常値Jに対する差(Pi −Pi-1 )のずれ量である第1の補正値ΔP(=「J−(Pi −Pi-1 )」)が、図17(a)のタイミングaや図17(b)のタイミングgにおいて、本来ならば「0」であるのに誤って「−4」とされた状態で位置カウンタPの補正に用いられ、当該位置カウンタPのカウンタ値が誤補正される。しかし、電気角カウンタEのカウンタ値が順方向(モータ正回転方向)に整数値を一つとばした変化を示し、例えば図18(a)のタイミングcや図17(b)のタイミングeのようにモータステータスが「cw2」になると、第2の補正値ΔPrが「4」とされて位置カウンタPの補正に用いられる。このときの第2の補正値ΔPrは、上述したエッジ数nに関係して「n(=4)」に設定された値であり、かつ、上記誤補正を生じさせる第1の補正値ΔPの正負を反転させた値である。従って、第2の補正値ΔPr分の補正を位置カウンタPのカウンタ値に加えることで、第1の補正値ΔPによる位置カウンタPの誤補正を的確に無効にすることができる。   (3) During forward rotation of the brushless motor 47, when the counter of the electrical angle counter E shows a change in the direction opposite to the motor rotation direction due to the generation of the noise, for example, the timing a in FIG. Alternatively, at the timing g in FIG. 17B, if the normal value J is originally supposed to be set to “4” in relation to the number of edges n described above, it is set to “0”. As a result, the first correction value ΔP (= “J− (Pi−Pi−1)”), which is a deviation amount of the difference (Pi−Pi−1) from the normal value J, becomes the timing a in FIG. Or at the timing g in FIG. 17B, it is used for correction of the position counter P in a state where it was originally “0” but erroneously set to “−4”, and the counter value of the position counter P is incorrect. It is corrected. However, the counter value of the electrical angle counter E shows a change in which an integer value is skipped by one in the forward direction (motor forward rotation direction), for example, timing c in FIG. 18 (a) or timing e in FIG. 17 (b). When the motor status becomes “cw2”, the second correction value ΔPr is set to “4” and used for correction of the position counter P. The second correction value ΔPr at this time is a value set to “n (= 4)” in relation to the number of edges n described above, and the first correction value ΔP causing the erroneous correction. It is a value obtained by inverting the sign. Therefore, by adding the correction for the second correction value ΔPr to the counter value of the position counter P, the erroneous correction of the position counter P by the first correction value ΔP can be accurately invalidated.

また、ブラシレスモータ47の逆回転中、上記ノイズの発生に起因して電気角カウンタEのカウンタがモータ回転方向とは逆方向への変化を示したとき、例えば図18(a)のタイミングfや図18(b)のタイミングzでは、正常値Jが本来ならば上述したエッジ数nに関係して「−4」に設定されるべきところを「0」に設定されてしまう。その結果、正常値Jに対する差(Pi −Pi-1 )のずれ量である第1の補正値ΔP(=「J−(Pi −Pi-1 )」)が、図18(a)のタイミングfや図18(b)のタイミングzにおいて、本来ならば「0」であるのに誤って「4」とされた状態で位置カウンタPの補正に用いられ、当該位置カウンタPのカウンタ値が誤補正される。しかし、電気角カウンタEのカウンタ値が正方向に整数値を一つとばした変化を示し、例えば図18(a)のタイミングdや図18(b)のタイミングbのようにモータステータスが「ccw2」になると、第2の補正値ΔPrが「−4」とされて位置カウンタPの補正に用いられる。このときの第2の補正値ΔPrは、上述したエッジ数nに関係して「−n=(−4)」に設定された値であり、かつ、上記誤補正を生じさせる第1の補正値ΔPの正負を反転させた値である。従って、第2の補正値ΔPr分の補正を位置カウンタPのカウンタ値に加えることで、第1の補正値ΔPによる位置カウンタPの誤補正を的確に無効にすることができる。   Further, during the reverse rotation of the brushless motor 47, when the counter of the electrical angle counter E shows a change in the direction opposite to the motor rotation direction due to the generation of the noise, for example, the timing f in FIG. At the timing z in FIG. 18B, if the normal value J is originally supposed to be set to “−4” in relation to the number of edges n described above, it is set to “0”. As a result, the first correction value ΔP (= “J− (Pi−Pi−1)”), which is a deviation amount of the difference (Pi−Pi−1) from the normal value J, becomes the timing f in FIG. Or at the timing z in FIG. 18B, it is used to correct the position counter P in a state where it was originally “0” but erroneously set to “4”, and the counter value of the position counter P is erroneously corrected. Is done. However, the counter value of the electrical angle counter E shows a change in which the integer value is skipped by one in the positive direction. For example, the motor status is “ccw2” as shown in timing d of FIG. 18A or timing b of FIG. ”, The second correction value ΔPr is set to“ −4 ”and used for correcting the position counter P. The second correction value ΔPr at this time is a value set to “−n = (− 4)” in relation to the number of edges n described above, and the first correction value that causes the erroneous correction. This is a value obtained by inverting the sign of ΔP. Therefore, by adding the correction for the second correction value ΔPr to the counter value of the position counter P, the erroneous correction of the position counter P by the first correction value ΔP can be accurately invalidated.

(4)第1の補正値ΔPによる位置カウンタPの誤補正を無効化すべく、第2の補正値ΔPrを「n(=4)」と「−n=(−4)」とのいずれかに設定する際、その設定についてはモータステータスが「cw2」であるか「ccw2」であるかに応じて行われる。この「cw2」は、電気角カウンタEのカウンタ値のモータ正回転方向への通常あり得ない変化である整数値を順方向に一つとばした変化の発生を意味するものである。また、「ccw2」は、電気角カウンタEのカウンタ値のモータ逆回転方向への通常あり得ない変化である整数値を逆方向に一つとばした変化の発生を意味するものである。従って、モータステータスが「cw2」であることに基づき第2の補正値ΔPrを「n(=4)」に設定し、モータステータスが「ccw2」であることに基づき第2の補正値ΔPrを「−n=(−4)」に設定することで、第2の補正値ΔPrにおける「n(=4)」と「−n=(−4)」とのいずれかへの設定を適切に行うことができる。   (4) In order to invalidate the erroneous correction of the position counter P by the first correction value ΔP, the second correction value ΔPr is set to either “n (= 4)” or “−n = (− 4)”. When setting, the setting is performed depending on whether the motor status is “cw2” or “ccw2”. This “cw2” means the occurrence of a change in which the integer value, which is a change that is not normally possible in the forward rotation direction of the electric angle counter E, is skipped by one in the forward direction. Further, “ccw2” means the occurrence of a change in which the integer value, which is a normally impossible change in the motor reverse rotation direction, of the electric angle counter E is skipped in the reverse direction. Therefore, the second correction value ΔPr is set to “n (= 4)” based on the fact that the motor status is “cw2”, and the second correction value ΔPr is set to “n (= 4)” based on the fact that the motor status is “ccw2”. By appropriately setting “−n = (− 4)”, the second correction value ΔPr is appropriately set to “n (= 4)” or “−n = (− 4)”. Can do.

なお、上記実施形態は、例えば以下のように変更することもできる。
・電気角センサ数の変更や同センサの検出対象である多極マグネットの極数の変更を通じて、各電気角センサからのパルス信号のエッジ間隔を変更することも可能である。
In addition, the said embodiment can also be changed as follows, for example.
It is also possible to change the edge interval of the pulse signal from each electrical angle sensor through a change in the number of electrical angle sensors or a change in the number of poles of a multipolar magnet that is a detection target of the sensor.

・位置センサ数の変更や同センサの検出対象である多極マグネットの極数の変更を通じて各位置センサからのパルス信号のエッジ間隔を変更することも可能である。
・電気角カウンタEを「0」〜「m」の範囲内の連続した各整数値がカウンタ値として当てはめられるものとし、上記「m」を「5」に設定したが、その値を適宜変更することも可能である。この場合、電気角センサの数や位置、及び、それら電気角センサの検出対象である多極マグネットの極数が適宜変更されることとなる。
It is also possible to change the edge interval of the pulse signal from each position sensor through changing the number of position sensors or changing the number of poles of a multipolar magnet that is a detection target of the sensors.
The electric angle counter E is assumed that each successive integer value within the range of “0” to “m” is applied as the counter value, and the above “m” is set to “5”, but the value is changed as appropriate. It is also possible. In this case, the number and position of the electrical angle sensors and the number of poles of the multipolar magnet that is a detection target of the electrical angle sensors are appropriately changed.

・電気角センサS1〜S3からのパルス信号のエッジ間において位置センサS4,S5から出力されるパルス信号のエッジ数nを「4」に設定したが、その値についてはブラシレスモータ47の回転角検出精度を確保し得る位置センサS4,S5からのパルス信号のエッジ間隔に対応する値であればよく、「2」以上の整数値に適宜変更可能である。このようにエッジ数nを変更する際には、位置カウンタの数や位置、及び、それら位置センサの検出対象である多極マグネットの極数が適宜変更されることとなる。   The number of edges n of the pulse signals output from the position sensors S4 and S5 is set to “4” between the edges of the pulse signals from the electrical angle sensors S1 to S3, but the rotation angle of the brushless motor 47 is detected for the value. Any value corresponding to the edge interval of the pulse signals from the position sensors S4 and S5 that can ensure the accuracy may be used, and can be appropriately changed to an integer value of “2” or more. Thus, when the number of edges n is changed, the number and position of the position counters and the number of poles of the multipolar magnet that is a detection target of the position sensors are appropriately changed.

・ブラシレスモータ47と一体回転する多極マグネットの磁気に応じてパルス信号を出力する位置センサS4,S5を設ける代わりに、ブラシレスモータ47の回転に伴いパルス信号を出力する他のセンサ、例えば光学式のセンサを設けることも考えられる。この場合、ブラシレスモータ47と一体回転するスリット付円板の厚さ方向側方にそれぞれ発光素子と受光素子を備える光学式のセンサを周方向に複数設け、ブラシレスモータ47の回転時に当該各センサからパルス信号を出力させるようにすることが考えられる。この場合の各センサからのパルス信号の出力パターンについては、スリット付円板におけるスリットのパターン、及び、光学式のセンサの数や位置によって調整される。   Instead of providing position sensors S4 and S5 that output a pulse signal according to the magnetism of a multipolar magnet that rotates integrally with the brushless motor 47, other sensors that output a pulse signal as the brushless motor 47 rotates, such as an optical type It is also possible to provide a sensor. In this case, a plurality of optical sensors each including a light emitting element and a light receiving element are provided in the circumferential direction on the side of the thickness direction of the disc with the slit that rotates integrally with the brushless motor 47, and each of the sensors is rotated when the brushless motor 47 rotates. It is conceivable to output a pulse signal. In this case, the output pattern of the pulse signal from each sensor is adjusted according to the slit pattern in the disc with slit and the number and position of the optical sensors.

・上記実施形態では、ブラシレスモータ47の回転運動をコントロールシャフト16の軸方向への運動に変換し、そのコントロールシャフト16の軸方向変位を通じて駆動されるバルブリフト可変機構を例示したが、本発明のバルブリフト可変機構はこれに限定されない。例えば、ブラシレスモータ47の回転運動を直接的に受けて駆動されるバルブリフト可変機構を採用することも可能である。   In the above embodiment, the variable valve lift mechanism is illustrated that converts the rotational motion of the brushless motor 47 into the motion of the control shaft 16 in the axial direction and is driven through the axial displacement of the control shaft 16. The variable valve lift mechanism is not limited to this. For example, it is possible to employ a variable valve lift mechanism that is driven by directly receiving the rotational motion of the brushless motor 47.

・バルブリフト可変機構14を駆動するブラシレスモータ47に本発明を適用したが、それ以外の各種機構を駆動するブラシレスモータに本発明を適用することもできる。   -Although this invention was applied to the brushless motor 47 which drives the valve lift variable mechanism 14, this invention can also be applied to the brushless motor which drives various other mechanisms.

本実施形態のバルブリフト可変機構が適用されるエンジンのシリンダヘッド周りの構造を示す拡大断面図。The expanded sectional view which shows the structure around the cylinder head of the engine to which the variable valve lift mechanism of this embodiment is applied. 上記バルブリフト可変機構を駆動すべくコントロールシャフトを軸方向に変位させるための駆動機構、及び、その駆動機構を駆動制御する制御装置を示す略図。6 is a schematic diagram showing a drive mechanism for displacing a control shaft in the axial direction to drive the variable valve lift mechanism, and a control device for driving and controlling the drive mechanism. (a)〜(h)は、ブラシレスモータの回転角の変化に対する電気角センサS1〜S3のパルス信号の波形、位置センサS4,S5のパルス信号の波形、電気角カウンタEのカウンタ値の推移、位置カウンタPのカウンタ値の推移、及び、ストロークカウンタSのカウンタ値の推移を示すタイミングチャート。(A) to (h) are the waveforms of the pulse signals of the electrical angle sensors S1 to S3, the waveforms of the pulse signals of the position sensors S4 and S5 with respect to the change in the rotation angle of the brushless motor, the transition of the counter value of the electrical angle counter E, 6 is a timing chart showing the transition of the counter value of the position counter P and the transition of the counter value of the stroke counter S. 電気角カウンタE、位置カウンタP、及びストロークカウンタSのカウンタ値を変化させる手順を示すフローチャート。The flowchart which shows the procedure which changes the counter value of the electrical angle counter E, the position counter P, and the stroke counter S. (a)は電気角センサS1〜S3からの信号に応じて変化する電気角カウンタEのカウンタ値の変化態様を示す表、(b)は位置センサS4,S5からの信号に応じた位置カウンタPのカウンタ値の加減算態様を示す表。(A) is a table | surface which shows the change aspect of the counter value of the electrical angle counter E which changes according to the signal from electrical angle sensor S1-S3, (b) is the position counter P according to the signal from position sensor S4, S5. The table which shows the addition / subtraction mode of the counter value of. (a)〜(e)は、ブラシレスモータ47の回転角の変化に対する位置センサS4,S5からのパルス信号の波形、電気角カウンタEのカウンタ値の推移、及び、位置カウンタPのカウンタ値の推移を示すタイミングチャート。(A) to (e) are pulse signal waveforms from the position sensors S4 and S5 with respect to changes in the rotation angle of the brushless motor 47, changes in the counter value of the electrical angle counter E, and changes in the counter value of the position counter P. The timing chart which shows. (a)は図6(d)のタイミングa,b,cでの位置センサS4,S5からの信号に応じた位置カウンタPのカウンタ値の加減算態様を示す表、(b)は図6(e)のタイミングc,b,aでの位置センサS4,S5からの信号に応じた位置カウンタPのカウンタ値の加減算態様を示す表。(A) is a table showing the addition / subtraction mode of the counter value of the position counter P according to the signals from the position sensors S4, S5 at the timings a, b, c of FIG. 6 (d), and (b) is the table of FIG. The table showing the addition / subtraction mode of the counter value of the position counter P according to the signals from the position sensors S4, S5 at the timings c, b, a). (a)〜(e)は、時間経過に対する電気角センサS1〜S3からのパルス信号の波形、電気角カウンタEのカウンタ値の推移、及び、モータステータスの推移を示すタイムチャート。(A)-(e) is a time chart which shows the transition of the waveform of the pulse signal from electric angle sensor S1-S3 with respect to time passage, the counter value of electric angle counter E, and the motor status. 電気角センサS1〜S3からのパルス信号における前回のエッジ発生時及び今回のエッジ発生時のモータステータスと、ブラシレスモータの回転状態との関係を示す表。The table | surface which shows the relationship between the motor status at the time of the last edge generation in this time and the edge generation in the pulse signal from electrical angle sensor S1-S3, and the rotation state of a brushless motor. 位置カウンタPのカウンタ値に対する第1の補正値ΔPによる補正手順を示すフローチャート。The flowchart which shows the correction procedure by 1st correction value (DELTA) P with respect to the counter value of the position counter P. FIG. (a)〜(i)は、ブラシレスモータ47の回転角の変化に対する電気角センサS1〜S3からのパルス信号の波形、位置センサS4,S5からのパルス信号の波形、電気角カウンタEのカウンタ値の推移、及び、位置カウンタPのカウンタ値の推移を示すタイミングチャート。(A) to (i) are waveforms of pulse signals from the electrical angle sensors S1 to S3 with respect to changes in the rotation angle of the brushless motor 47, waveforms of pulse signals from the position sensors S4 and S5, and a counter value of the electrical angle counter E. And a timing chart showing the transition of the counter value of the position counter P. (a)及び(b)は、モータ正回転中における図11のタイミングa〜gでの電気角センサS1〜S3からの信号の出力パターン、電気角カウンタEのカウンタ値、電気角センサS1〜S3からの信号における前回のエッジ発生時と今回のエッジ発生時とのモータステータス、正常値J、差(Pi −Pi-1 )、及び、第1の補正値ΔPを示す表。(A) and (b) are the output patterns of signals from the electrical angle sensors S1 to S3 at the timings a to g in FIG. 11 during forward rotation of the motor, the counter value of the electrical angle counter E, and the electrical angle sensors S1 to S3. Table showing motor status, normal value J, difference (Pi-Pi-1), and first correction value [Delta] P between the previous edge generation and the current edge generation in the signal from. (a)及び(b)は、モータ逆回転中における図11のタイミングg〜a,zでの電気角センサS1〜S3からの信号の出力パターン、電気角カウンタEのカウンタ値、電気角センサS1〜S3からの信号における前回のエッジ発生時と今回のエッジ発生時とのモータステータス、正常値J、差(Pi −Pi-1 )、及び、第1の補正値ΔPを示す表。(A) and (b) are signal output patterns from the electrical angle sensors S1 to S3 at the timings g to a and z in FIG. 11 during reverse rotation of the motor, the counter value of the electrical angle counter E, and the electrical angle sensor S1. Table showing motor status, normal value J, difference (Pi−Pi−1), and first correction value ΔP between the previous edge generation and the current edge generation in the signals from .about.S3. 電気角センサS1〜S3からのパルス信号における前回のエッジ発生時及び今回のエッジ発生時のモータステータスと、ブラシレスモータの回転状態との関係を示す表。The table | surface which shows the relationship between the motor status at the time of the last edge generation in this time and the edge generation in the pulse signal from electrical angle sensor S1-S3, and the rotation state of a brushless motor. 電気角センサS1〜S3からのパルス信号における前回のエッジ発生時及び今回のエッジ発生時のモータステータスと、差(Pi −Pi-1 )の正常値Jとの関係を示す表。The table | surface which shows the relationship between the motor status at the time of the last edge generation | occurrence | production in the pulse signal from electrical angle sensor S1-S3 and this edge generation | occurrence | production, and the normal value J of a difference (Pi-Pi-1). 今回エッジ発生時のモータステータスに応じた第2の補正値ΔPrの設定態様を示す表。The table | surface which shows the setting aspect of 2nd correction value (DELTA) Pr according to the motor status at the time of edge generation this time. (a)及び(b)は、モータ正回転中における図11のタイミングa〜gでの電気角センサS1〜S3からの信号の出力パターン、電気角カウンタEのカウンタ値、電気角センサS1〜S3からの信号における前回のエッジ発生時と今回のエッジ発生時とのモータステータス、正常値J、差(Pi −Pi-1 )、第1の補正値ΔP、及び、第2の補正値ΔPrを示す表。(A) and (b) are the output patterns of signals from the electrical angle sensors S1 to S3 at the timings a to g in FIG. 11 during forward rotation of the motor, the counter value of the electrical angle counter E, and the electrical angle sensors S1 to S3. Shows the motor status, normal value J, difference (Pi−Pi−1), first correction value ΔP, and second correction value ΔPr between the previous edge generation and the current edge generation. table. (a)及び(b)は、モータ逆回転中における図11のタイミングg〜a,zでの電気角センサS1〜S3からの信号の出力パターン、電気角カウンタEのカウンタ値、電気角センサS1〜S3からの信号における前回のエッジ発生時と今回のエッジ発生時とのモータステータス、正常値J、差(Pi −Pi-1 )、第1の補正値ΔP、及び、第2の補正値ΔPrを示す表。(A) and (b) are signal output patterns from the electrical angle sensors S1 to S3 at the timings g to a and z in FIG. 11 during reverse rotation of the motor, the counter value of the electrical angle counter E, and the electrical angle sensor S1. Motor status, normal value J, difference (Pi−Pi−1), first correction value ΔP, and second correction value ΔPr between the previous edge generation and the current edge generation in the signals from .about.S3. Table showing. 位置カウンタPのカウンタ値に対する第1の補正値による誤補正を無効化する手順を示すフローチャート。The flowchart which shows the procedure which invalidates the erroneous correction by the 1st correction value with respect to the counter value of the position counter P.

符号の説明Explanation of symbols

1…エンジン、2…シリンダヘッド、3…シリンダブロック、5…ピストン、6…燃焼室、7…吸気通路、8…排気通路、9…吸気バルブ、10…排気バルブ、11…吸気カムシャフト、11a…吸気カム、12…排気カムシャフト、12a…排気カム、14…バルブリフト可変機構、15…ロッカシャフト、16…コントロールシャフト、17…入力アーム、18…出力アーム、19…ローラ、20…コイルスプリング、21…ロッカアーム、22…ラッシュアジャスタ、23…ローラ、24…バルブスプリング、47…ブラシレスモータ、48…変換機構、50…電子制御装置(駆動装置、算出手段、設定手段、第1の補正手段、第2の補正手段)、51…アクセルポジションセンサ、52…スロットルポジションセンサ、53…エアフローメータ、54…クランクポジションセンサ、55…イグニッションスイッチ、56…不揮発性メモリ、S1〜S3…電気角センサ、S4,S5…位置センサ。   DESCRIPTION OF SYMBOLS 1 ... Engine, 2 ... Cylinder head, 3 ... Cylinder block, 5 ... Piston, 6 ... Combustion chamber, 7 ... Intake passage, 8 ... Exhaust passage, 9 ... Intake valve, 10 ... Exhaust valve, 11 ... Intake camshaft, 11a DESCRIPTION OF SYMBOLS ... Intake cam, 12 ... Exhaust cam shaft, 12a ... Exhaust cam, 14 ... Valve lift variable mechanism, 15 ... Rocker shaft, 16 ... Control shaft, 17 ... Input arm, 18 ... Output arm, 19 ... Roller, 20 ... Coil spring , 21 ... Rocker arm, 22 ... Rush adjuster, 23 ... Roller, 24 ... Valve spring, 47 ... Brushless motor, 48 ... Conversion mechanism, 50 ... Electronic control device (drive device, calculation means, setting means, first correction means, (Second correction means), 51 ... accelerator position sensor, 52 ... throttle position sensor, 53 ... airflow Meta, 54 ... crank position sensor, 55 ... ignition switch, 56 ... nonvolatile memory, S1 to S3 ... electric angle sensors, S4, S5 ... position sensor.

Claims (5)

所定の回転角範囲内での回転駆動が行われるブラシレスモータと、このブラシレスモータの回転に伴い同モータに設けられた複数の電気角センサから位相をずらして出力されるパルス信号の出力パターンに応じて電気角カウンタのカウンタ値を変化させ、その電気角カウンタのカウンタ値に基づき前記ブラシレスモータの通電相を切り換えることで同モータを駆動する駆動装置と、前記ブラシレスモータの回転に伴い各電気角センサから出力されるパルス信号のエッジ間隔よりも短いエッジ間隔のパルス信号を出力する位置センサとを備え、その位置センサからのパルス信号のエッジを計数する位置カウンタのカウンタ値に基づき、前記ブラシレスモータの回転角を検出するモータ制御装置において、
各電気角センサから出力されるパルス信号のエッジ発生毎に、今回のエッジ発生時における位置カウンタのカウンタ値Pi と前回のエッジ発生時における位置カウンタのカウンタ値Pi-1 との差(Pi −Pi-1 )を算出する算出手段と、
前記電気角カウンタのカウンタ値の変化に基づき前記ブラシレスモータの回転状態が正回転中、逆回転中、及び正逆回転反転中のうちのいずれであるかを判断し、そのブラシレスモータの回転状態に応じて前記差(Pi −Pi-1 )の正常時の値である正常値を可変設定する設定手段と、
前記正常値に対する前記差(Pi −Pi-1 )のずれ量を第1の補正値とし、当該第1の補正値分の補正を前記位置カウンタのカウンタ値に加える第1の補正手段と、
前記各電気角センサから出力されるパルス信号のエッジ発生時、前記電気角カウンタのカウンタ値が通常あり得ない変化を示したとき、前記第1の補正手段による補正を無効にするための第2の補正値を設定し、当該第2の補正値分の補正を前記位置カウンタのカウンタ値に加える第2の補正手段と、
を備えることを特徴とするモータ制御装置。
According to the output pattern of the pulse signal output from the brushless motor that is driven to rotate within a predetermined rotation angle range, and the phase of the plurality of electrical angle sensors provided on the motor as the brushless motor rotates. A drive device for driving the motor by changing the counter value of the electric angle counter and switching the energized phase of the brushless motor based on the counter value of the electric angle counter, and each electric angle sensor as the brushless motor rotates. A position sensor that outputs a pulse signal having an edge interval shorter than the edge interval of the pulse signal output from the position sensor, and based on the counter value of the position counter that counts the edge of the pulse signal from the position sensor, the brushless motor In the motor control device that detects the rotation angle,
Every time an edge of a pulse signal output from each electrical angle sensor occurs, the difference (Pi−Pi) between the counter value Pi of the position counter when the current edge occurs and the counter value Pi-1 of the position counter when the previous edge occurs -1) calculating means,
Based on the change of the counter value of the electrical angle counter, it is determined whether the rotation state of the brushless motor is normal rotation, reverse rotation, or normal / reverse rotation inversion, and the brushless motor rotation state is determined. In response, setting means for variably setting a normal value which is a normal value of the difference (Pi-Pi-1);
First correction means for setting a deviation amount of the difference (Pi−Pi−1) with respect to the normal value as a first correction value, and adding a correction corresponding to the first correction value to the counter value of the position counter;
When an edge of the pulse signal output from each electrical angle sensor is generated, a second value for invalidating the correction by the first correction means when the counter value of the electrical angle counter shows a change that is not normally possible. Second correction means for setting a correction value for the second correction value and adding a correction for the second correction value to the counter value of the position counter;
A motor control device comprising:
前記第2の補正手段は、前記位置カウンタのカウンタ値におけるブラシレスモータの実際の回転角に対応する値からのずれに影響を及ぼす第1の補正値の正負を反転させた値を、前記第2の補正値として設定する
請求項1記載のモータ制御装置。
The second correction means obtains a value obtained by inverting the sign of the first correction value that affects the deviation of the counter value of the position counter from the value corresponding to the actual rotation angle of the brushless motor. The motor control device according to claim 1, wherein the motor control device is set as a correction value.
前記設定手段は、前記各電気角センサから出力されるパルス信号のエッジ間において前記位置センサから出力されるパルス信号のエッジ数が「n」であるとすると、前記電気角センサからの前回のエッジ発生時と今回のエッジ発生時とで共に電気角カウンタのカウンタ値がモータ正回転方向への変化を示したことに基づき前記ブラシレスモータの正回転中である旨判断して前記正常値を「n」に設定し、前記電気角センサからの前回のエッジ発生時と今回のエッジ発生時とで共に電気角カウンタのカウンタ値がモータ逆回転方向への変化を示したことに基づき前記ブラシレスモータの逆回転中である旨判断して前記正常値を「−n」に設定し、前記電気角センサからの前回のエッジ発生時と今回のエッジ発生時との電気角カウンタのカウンタ値の変化がモータ正回転方向への変化とモータ逆回転方向への変化とで異なっていることに基づき前記ブラシレスモータの正逆回転反転中である旨判断して前記正常値を「0」に設定するものであり、
前記第2の補正手段は、前記電気角カウンタのカウンタ値がモータ正回転方向についての通常あり得ない変化を示したとき前記第2の補正値を「n」に設定し、前記電気角カウンタのカウンタ値がモータ逆回転方向についての通常あり得ない変化を示したとき前記第2の補正値を「−n」に設定するものである
請求項1記載のモータ制御装置。
When the number of edges of the pulse signal output from the position sensor is “n” between the edges of the pulse signal output from each of the electrical angle sensors, the setting means sets the previous edge from the electrical angle sensor. It is determined that the brushless motor is rotating forward based on the fact that the counter value of the electrical angle counter shows a change in the motor forward rotation direction both at the time of occurrence and at the occurrence of the current edge, and the normal value is set to “n”. And the counter value of the brushless motor is changed based on the fact that the counter value of the electric angle counter indicates a change in the reverse direction of the motor both when the previous edge is generated from the electric angle sensor and when the current edge is generated. The normal value is set to “−n” by judging that the motor is rotating, and the counter of the electrical angle counter at the time of the previous edge generation and the current edge generation from the electrical angle sensor The normal value is set to “0” by determining that the brushless motor is in the reverse rotation inversion based on the difference between the change in the motor forward rotation direction and the change in the motor reverse rotation direction. Is what
The second correction means sets the second correction value to “n” when the counter value of the electric angle counter indicates a change that is not possible in the normal motor rotation direction, and the electric angle counter The motor control device according to claim 1, wherein the second correction value is set to “−n” when the counter value indicates a change that is not possible in the reverse direction of the motor.
前記電気角カウンタは、前記ブラシレスモータの正回転時には各電気角センサからのパルス信号の出力パターンに応じて「0」〜「m」の範囲内の連続した各整数値を順方向にカウンタ値として当てはめ、前記ブラシレスモータの逆回転時には各電気角センサからのパルス信号の出力パターンに応じて「0」〜「m」の範囲内の連続した各整数値を逆方向にカウンタ値として当てはめるものであり、
前記第2の補正手段は、前記電気角カウンタのカウンタ値が順方向に整数値を一つとばして変化したことに基づき当該カウンタ値がモータ正回転方向について通常あり得ない変化を示したと判断し、前記電気角カウンタのカウンタ値が逆方向に整数値を一つとばして変化したことに基づき当該カウンタ値がモータ逆回転方向について通常あり得ない変化を示したと判断するものである
請求項3記載のモータ制御装置。
When the brushless motor is rotating forward, the electrical angle counter uses each successive integer value within the range of “0” to “m” as a counter value in the forward direction according to the output pattern of the pulse signal from each electrical angle sensor. When applying the reverse rotation of the brushless motor, each successive integer value within the range of “0” to “m” is applied as a counter value in the reverse direction according to the output pattern of the pulse signal from each electrical angle sensor. ,
The second correction means determines that the counter value indicates a change that is not normally possible in the forward motor rotation direction based on a change in the counter value of the electrical angle counter by skipping an integer value in the forward direction. The counter value of the electrical angle counter is determined to have changed in the reverse direction of the motor based on the fact that the counter value has changed by skipping an integer value in the reverse direction. Motor control device.
前記ブラシレスモータは、内燃機関の機関バルブのバルブ特性を可変とするバルブリフト可変機構の駆動に用いられるものである
請求項1〜4のいずれか一項に記載のモータ制御装置。
The motor control device according to any one of claims 1 to 4, wherein the brushless motor is used to drive a variable valve lift mechanism that varies a valve characteristic of an engine valve of an internal combustion engine.
JP2005218933A 2005-07-28 2005-07-28 Motor controller Pending JP2007037335A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005218933A JP2007037335A (en) 2005-07-28 2005-07-28 Motor controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005218933A JP2007037335A (en) 2005-07-28 2005-07-28 Motor controller

Publications (1)

Publication Number Publication Date
JP2007037335A true JP2007037335A (en) 2007-02-08

Family

ID=37795892

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005218933A Pending JP2007037335A (en) 2005-07-28 2005-07-28 Motor controller

Country Status (1)

Country Link
JP (1) JP2007037335A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012029547A (en) * 2010-06-23 2012-02-09 Denso Corp Motor control device for running vehicle, motor control system for vehicle, memory medium, motor detection angle correction method, and rotation detection device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012029547A (en) * 2010-06-23 2012-02-09 Denso Corp Motor control device for running vehicle, motor control system for vehicle, memory medium, motor detection angle correction method, and rotation detection device

Similar Documents

Publication Publication Date Title
JP4655036B2 (en) Control device for variable valve mechanism
JP4736601B2 (en) Motor control device
JP4525797B2 (en) Abnormality judgment device for valve characteristic change mechanism
JP4797768B2 (en) Motor control device
JP2007043853A (en) Motor controller
JP4692339B2 (en) Control device for variable valve mechanism
JP4888160B2 (en) Variable valve operating device for internal combustion engine
JP4852992B2 (en) Control device for internal combustion engine
JP2007037335A (en) Motor controller
JP2009299543A (en) Abnormality detection device for valve system
JP4816520B2 (en) Control device for variable valve mechanism
JP2007085328A (en) Variable valve system for internal combustion engine
JP4645339B2 (en) Motor control device
JP4715536B2 (en) Maximum lift control device for engine valves
JP2007162646A (en) Motor control device
JP2007185006A (en) Controller of brushless motor
JP2007185046A (en) Motor controller
JP2007051602A (en) Variable valve gear for internal combustion engine
JP4400648B2 (en) Diagnostic equipment
US20130085654A1 (en) Control apparatus and control method for variable mechanism
JP2007312478A (en) Motor controller
JP2008223486A (en) Control system of internal combustion engine
JP5015974B2 (en) Control device for variable valve mechanism
JP2007182764A (en) Variable valve gear for internal combustion engine
JP5648538B2 (en) Control device for variable lift amount mechanism