JP5946359B2 - Motor control device and motor control method - Google Patents
Motor control device and motor control method Download PDFInfo
- Publication number
- JP5946359B2 JP5946359B2 JP2012174213A JP2012174213A JP5946359B2 JP 5946359 B2 JP5946359 B2 JP 5946359B2 JP 2012174213 A JP2012174213 A JP 2012174213A JP 2012174213 A JP2012174213 A JP 2012174213A JP 5946359 B2 JP5946359 B2 JP 5946359B2
- Authority
- JP
- Japan
- Prior art keywords
- drive waveform
- motor
- value
- control
- difference
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 21
- 238000001514 detection method Methods 0.000 claims description 59
- 230000007704 transition Effects 0.000 claims description 6
- 230000000630 rising effect Effects 0.000 description 10
- 230000003111 delayed effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Images
Landscapes
- Control Of Stepping Motors (AREA)
Description
本発明は、モータの進角制御において脱調を防止する技術に関する。 The present invention relates to a technique for preventing step-out in motor advance angle control.
ステッピングモータは小型、高トルク、高寿命等の特徴をもち、開ループ制御により容易にデジタル的な位置決め動作を実現できる。このため、撮像装置や光学ディスク装置、プリンタやプロジェクタ等の機器に幅広く用いられている。
特許文献1には、負荷トルク電流偏差を用いて巻線励磁角度を制御するステッピングモータの制御装置が開示されている。この装置では、負荷トルク電流偏差を検出するための電流検出回路が必要である。
The stepping motor has features such as small size, high torque, and long life, and can easily realize digital positioning operation by open loop control. For this reason, they are widely used in devices such as imaging devices, optical disk devices, printers and projectors.
ところで、ロータ位置を検出するエンコーダを備えたモータの場合には駆動波形を監視すれば、ロータ位置に対する駆動波形のずれの時間比により進角を計測できる。またロータ位置に対する駆動波形のずれの時間比を制御することで進角制御が可能になる。進角制御では、モータの駆動電圧波形とコイル電流波形の位相を合わせることでトルクを最大限に引き出すことができる。モータの目標速度と目標負荷が決まっていれば、必要な負荷トルクが発生する進角を実験的に測定し、あるいはシミュレーションで把握できる。よって、目標速度と目標負荷に応じて予め設定された進角を目標進角とする進角制御を行うことにより、電流検出回路を用いる必要はなくなる。 By the way, in the case of a motor having an encoder for detecting the rotor position, if the drive waveform is monitored, the advance angle can be measured based on the time ratio of the deviation of the drive waveform with respect to the rotor position. Further, the advance angle control becomes possible by controlling the time ratio of the deviation of the drive waveform with respect to the rotor position. In advance angle control, the torque can be maximized by matching the phases of the motor drive voltage waveform and the coil current waveform. If the target speed and target load of the motor are determined, the advance angle at which the required load torque is generated can be experimentally measured or grasped by simulation. Therefore, it is not necessary to use a current detection circuit by performing advance angle control with the advance angle set in advance according to the target speed and target load as the target advance angle.
しかし、モータの目標速度を変更した直後や、速度変動からの回復時期には、現在の速度が目標速度に達していないので、実際に計測された進角と、目標速度および目標負荷で最適な進角との差が大きい場合がある。進角の差が大きいにもかかわらず、目標速度および目標負荷で最適な目標進角に相当する時間ずれを打ち消すための駆動波形信号をモータに印加した場合、モータが脱調する可能性がある。 However, immediately after changing the target speed of the motor or at the time of recovery from speed fluctuation, the current speed has not reached the target speed, so the optimum measured lead angle, target speed and target load are optimal. There may be a large difference from the advance angle. Despite a large advance angle difference, if a drive waveform signal is applied to the motor to cancel the time lag corresponding to the optimum target advance angle at the target speed and load, the motor may step out. .
本発明の目的は、計測された進角と目標とする進角との差が大きい場合、モータの駆動制御中に脱調が起きないように制御することである。 An object of the present invention is to perform control so that step-out does not occur during motor drive control when a difference between a measured advance angle and a target advance angle is large.
上記課題を解決するために、本発明に係る装置は、モータ軸の位置を検出して進角制御を行うモータ制御装置であって、前記モータ軸の位置に対応した信号を出力する位置検出手段と、前記位置検出手段により出力された信号に同期して前記モータの駆動波形の位相値を取得し、前記位置検出手段により出力された前回の信号のタイミングから前記位置検出手段により出力された今回の信号のタイミングまでの時間を計測して前記駆動波形の周期を変更する制御手段を備える。前記制御手段は、進角制御における前記駆動波形の目標位相値と、現時点で取得している前記駆動波形の位相値との差分を算出し、当該差分が閾値を超える場合、前記駆動波形の周期の変更により補正する位相変化量を制限する。 In order to solve the above-described problems, an apparatus according to the present invention is a motor control device that detects the position of a motor shaft and performs advance control, and outputs a signal corresponding to the position of the motor shaft. The phase value of the drive waveform of the motor in synchronization with the signal output by the position detection means, and the current output by the position detection means from the timing of the previous signal output by the position detection means Control means for measuring the time until the signal timing and changing the period of the drive waveform. The control means calculates a difference between the target phase value of the drive waveform in advance angle control and the phase value of the drive waveform acquired at the present time, and if the difference exceeds a threshold, the period of the drive waveform The phase change amount to be corrected is limited by the change of.
本発明によれば、計測された進角と目標とする進角との差が大きい場合、モータの駆動制御中に脱調が起きないように制御することができる。 According to the present invention, when the difference between the measured advance angle and the target advance angle is large, it is possible to perform control so that step-out does not occur during motor drive control.
以下、図面を参照しながら本発明の実施形態を説明する。なお、回転駆動型モータを例示してモータ制御装置およびモータ制御方法を説明するが、本発明は、モータ軸が直線移動するリニア駆動型モータにも適用可能である。
本実施形態では、進角制御にて今回計測した進角に応じて次回の制御目標とする進角を制限する制御例を説明する。
図1(A)は、本発明の実施形態を適用したモータ制御装置100の構成例を示す。内部バス109にはCPU(中央演算処理装置)101、ROM102、RAM103が接続されている。ROMは読み出し専用メモリであり、RAMはランダム・アクセス・メモリである。さらには、駆動波形テーブル記憶部104、PWM(パルス幅変調)ユニット105、エンコーダ入力部108が内部バス109に接続されている。各部は内部バス109を介して互いにデータを送受し合う。ROM102は、CPU101が実行する各種プログラム等を格納する。制御手段および計測手段としてのCPU101は、例えばROM102に格納されるプログラムに従い、RAM103をワークメモリとして用いてモータ制御装置100の各部を制御する。駆動波形テーブル記憶部104は、512アドレス分割のテーブル値を有する駆動波形テーブルを記憶しており、指定されたアドレスのテーブル値をPWMユニット105に供給する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. The motor control device and the motor control method will be described using a rotary drive motor as an example, but the present invention is also applicable to a linear drive motor in which the motor shaft moves linearly.
In the present embodiment, a control example will be described in which the advance angle that is the next control target is limited according to the advance angle measured this time in advance angle control.
FIG. 1A shows a configuration example of a
図2は、正弦波状の駆動波形テーブルの詳細を示す。0から511までのテーブル番号は正弦波形の位相値に対応し、アドレス値と1対1に相当する。正弦波の0度位相にテーブル番号0が相当し、正弦波の180度位相にテーブル番号256が相当する。テーブル番号0にはデューティー比50%の値が格納され、それ以降のテーブル番号に対しては、位相に応じてPWM出力のデューティー比の値が格納されている。なお、以下では便宜上、テーブル番号とアドレス値が一致するものとして説明する。
図1(A)に示すPWMユニット105は、モータドライバ106に対してPWM信号を出力する。PWM信号は、エンコーダ付ステッピングモータ107を駆動させるために駆動波形テーブル記憶部104から受け取ったテーブル値に応じたデューティー比を有する。例えば、PWMユニット105に対して、CPU101が一定周期でプログラムに従い指定したアドレス値に対応する駆動波形テーブルの値がPWMユニット105に供給される。アドレス値を0、1、2、・・・と1ずつ送るか、あるいは0、4、8、・・・と4つおきに送るといった具合に、指定アドレス間隔を変えれば、繰り返し周波数の異なる駆動波形が得られる。
FIG. 2 shows details of a sinusoidal drive waveform table. The table numbers from 0 to 511 correspond to the phase value of the sine waveform and correspond to the address value on a one-to-one basis.
The
エンコーダ付ステッピングモータ107は2相のフォトインタラプタによりロータ位置を検出するエンコーダを備えており、回転角に応じてロータ軸の位置信号を出力する。エンコーダ入力部108は、エンコーダ付ステッピングモータ107が出力する位置信号からロータ位置を検出し、検出信号をCPU101に出力する。CPU101は、エンコーダ入力部108で検出された検出信号と、駆動波形テーブル記憶部104から現在出力中の駆動波形との位相を検出し、プログラムに従い新しいアドレス間隔を算出する。CPU101がプログラムに従い算出したアドレス間隔に基づき、駆動波形テーブル記憶部104からテーブル値が読み出されてPWMユニット105に供給される。
The stepping motor with
図1(B)は、エンコーダ付ステッピングモータ107の外観を示す斜視図である。ステッピングモータ201のロータ軸202には、被検出部としてスリット回転板205が取り付けられている。スリット回転板205は明領域と暗領域の比率が50:50で設計されている。スリット回転板205に対してch0フォトインタラプタ203、ch1フォトインタラプタ204がそれぞれ配置されている。ロータ軸202の回転に伴ってスリット回転板205が回転するに従って各フォトインタラプタの出力信号が変化する。不図示のコンパレータはch0フォトインタラプタ203、ch1フォトインタラプタ204からの各アナログ入力信号を、設定された閾値電圧と比較することで、2値化された信号を出力する。この信号がエンコード処理されてモータ軸の位置に対応する検出信号が得られる。検出部を構成する2相のフォトインタラプタの信号変化とロータ軸の回転角度との位相関係については既知とする。
FIG. 1B is a perspective view showing an appearance of the stepping motor with
図3はCPU101により実行される、駆動波形テーブルに関する更新処理例を説明するフローチャートである。
S301でCPU101は、駆動波形の更新時期であるか否かを判断し、更新時期でなければ処理を終了し、更新時期である場合、S302へ処理を移す。S302で、CPU101は指定アドレス間隔に従って、駆動波形テーブル記憶部104からPWMユニット105へ供給するテーブル値のアドレスを更新して処理を終了する。
図4は、ロータ軸の位置検出信号とコイルの駆動波形との関係を例示するタイムチャートである。図5はCPU101による、現時点での進角(以下、現在進角という)の検出処理を説明するフローチャートである。以下では図4、図5を用いて現在進角の計測について説明する。
FIG. 3 is a flowchart for explaining an example of update processing related to the drive waveform table executed by the
In S301, the
FIG. 4 is a time chart illustrating the relationship between the position detection signal of the rotor shaft and the drive waveform of the coil. FIG. 5 is a flowchart for explaining processing for detecting the current advance angle (hereinafter referred to as current advance angle) by the
図4(A)はエンコーダ入力部108で検出された2相のうち第1検出信号を示し、図4(B)はもう一方の第2検出信号を示す。横軸に示すt1からt5は各検出信号の立ち上がりと立ち下がりのタイミングをそれぞれ示す時刻である。検出信号の繰り返し周期を360度に正規化した場合、図4(A)に示す第1検出信号は、図4(B)に示す第2検出信号に対して90度先行した関係にある。図4(C)は、検出されるロータ位置に対してCPU101の制御に応じて駆動波形テーブル記憶部104から供給される2相のうち、一方のコイルの駆動波形例1を示す。縦軸はデューティー比を表し、横軸に示すテーブル番号0、128、256、384はアドレス値に相当する。p1は図4(A)に示す第1検出信号の立ち上がり時点t5で出力中のアドレス値を表す。出力データの振幅の中心は、デューティー比が50%を示す位置にあり、モータドライバ106の仕様により、デューティー比50%の位置を境にコイルに流れる電流の向きが変わる。0から511の範囲に示すアドレス値の後、再び0に相当するアドレス値へ戻ることで、繰り返し振幅波形が出力される。指定アドレス間隔を変更することにより駆動波形の周期あるいは周波数を制御することができる。例えば、アドレス値を0、1、2、・・・という具合に1ずつ進める場合に比べて、0、2、4、・・・という具合に2ずつ進めていけば、2倍の周波数設定となる。0から511へと一巡するまでの指定アドレス間隔を変更する制御により、駆動波形の周波数が変更される。
4A shows the first detection signal of the two phases detected by the
図4(D)は、図4(C)に示す波形とは90度位相がずれた、もう一方のコイルの駆動波形を示す。縦軸はデューティー比を表し、横軸に示すテーブル番号0、128、256、384はアドレス値に相当する。
図4(E)は、検出されるロータ位置に対して駆動波形テーブルから供給されている2相のうち、一方のコイルの駆動波形例2を示す。p2は図4(A)に示す第1検出信号の立ち上がり時点t5で出力中のアドレス値を表す。図4(F)は、図4(E)に示す波形とは90度位相がずれた、もう一方のコイルの駆動波形を示す。図4(E)および(F)に示す駆動波形は、0から511の範囲に示す一周期を360度に正規化した場合、図4(C)および(D)に示す駆動波形に対して、45度先行した関係となっている。
FIG. 4D shows a driving waveform of the other coil that is 90 degrees out of phase with the waveform shown in FIG. The vertical axis represents the duty ratio, and
FIG. 4E shows a drive waveform example 2 of one of the two phases supplied from the drive waveform table to the detected rotor position. p2 represents the address value that is being output at the rise time t5 of the first detection signal shown in FIG. FIG. 4F shows a driving waveform of the other coil that is 90 degrees out of phase with the waveform shown in FIG. 4E and 4F, the drive waveforms shown in FIGS. 4C and 4D are compared with the drive waveforms shown in FIGS. 4C and 4D when one cycle shown in the range of 0 to 511 is normalized to 360 degrees. The relationship is 45 degrees ahead.
次に、定周期処理される現在進角検出について、図5のフローチャートを参照して説明する。
図5のS501において、CPU101はエンコーダ入力部108から検出信号が供給されたか否かを判断する。検出信号が供給されていなければ処理を終了し、検出信号が供給されている場合、S502へ処理を移す。S502でCPU101は、駆動波形テーブル記憶部104からPWMユニット105へデータ供給中の現在アドレス値を取得する。次のS503でCPU101はエンコーダ入力部108からの検出信号が2相うちのどちらであるか、およびエッジの種類を判別する。2つの相の判別と、立ち上がりエッジか立ち下がりエッジかのエッジ判別により、4種類の信号判別が行われる。例えば、図4(A)におけるt1、t2、t3、t4の時点に示す4種類の信号が判別される。次のS504でCPU101は種類を判別したエッジのタイミングで進角をゼロとしたい場合に、駆動波形テーブル記憶部104からPWMユニット105へデータ供給すべき予定アドレス値を取得する。これは、ROM102に格納されているプログラム、またはRAM103から取得することができる。
Next, the current advance angle detection that is processed in a fixed cycle will be described with reference to the flowchart of FIG.
In S501 of FIG. 5, the
S505に進み、CPU101はデータ供給中の現在アドレス値と、進角をゼロとする場合にデータ供給すべき予定アドレス値との差分を算出する。つまり、進角0を基準とした現在進角の値が演算され、処理を終了する。例えば、図4(A)にt5の時点で示す立ち上がりエッジにおいて、図4(C)の駆動波形が出力されていた場合、駆動中の現在アドレス値p1はゼロである。この場合、t5の時点での進角はゼロであると計測される。また、図4(A)にt5の時点で示す立ち上がりエッジにおいて、図4(E)の駆動波形が出力されていた場合、駆動中の現在アドレス値p2は64である。この場合、図4(A)の立ち上がりエッジにおいて、進角0の時、データ供給すべき予定アドレス値がゼロであるとすると、t5の時点での進角は64に相当する角度であると計測される。0から511のアドレス範囲の一周期を360度として正規化した場合、図4(E)、(F)に示す状態は、進角0である図4(C)、(D)に示す状態と比較して、45度進んだ進角状態である。これは、(64/512)×360=45度から算出できる。
In step S505, the
以上のように、進角0の状態での各エッジにおける駆動波形データの出力に係る予定アドレス値が既知であれば、この値と、位置検出信号に同期して取得される現在アドレス値との差分から現在の進角状態が計測可能である。
As described above, if the planned address value related to the output of the drive waveform data at each edge in the state of the
図6はロータの位置検出信号とコイルの駆動波形との関係を示すタイムチャートである。図7は、図5に示す処理に引き続いて実行される、CPU101による進角制御を説明するフローチャートである。
図6(A)は、エンコーダ入力部108で検出される2相のうち第1検出信号を示し、図6(B)はもう一方の第2検出信号を示す。横軸に示すt1からt6は各タイミングを示す時刻である。検出信号の繰り返し周期を360度に正規化した場合、図6(A)の第1検出信号は、図6(B)の第2検出信号に対して90度先行した関係となっている。図6(C)と(D)は、検出されるロータ位置に対してCPU101の制御に応じて駆動波形テーブル記憶部104から供給されるコイル駆動波形例1を示す。縦軸はデューティー比を表し、横軸に示すテーブル番号0、128、256、384はアドレス値に相当する。
FIG. 6 is a time chart showing the relationship between the rotor position detection signal and the coil drive waveform. FIG. 7 is a flowchart for explaining advance angle control by the
6A shows the first detection signal of the two phases detected by the
図6(C)にてアドレス値384での駆動波形が出力されている時に、図6(A)の第1検出信号の立ち上がりエッジが検出される位相状態が、目標とする状態であるとする。現在アドレス値p1は、図6(A)の第1検出信号にてt5の時点で出力中のアドレス値である。アドレス値384に対応する駆動波形データが出力中であるので、目標通りの位相状態である。次に到来する第2検出信号については、目標アドレス値がゼロである。図6(B)に示す第2検出信号の立ち上がりエッジが検出される時点t6は、図6(A)の第1検出信号よりも90度の遅れ位相である。このため、図6(C)に示す駆動波形の予定アドレス値も90度の位相遅れとなり、384+128=512、つまりアドレス値ゼロが目標値となる。直近の検出信号の一周期、つまり、前回の位置検出信号のタイミングから今回(現時点t5)の位置検出信号のタイミングまでの時間は、t5−t1に示す時間であり、その4分の1の期間が経過した後のタイミングがt6の時点である。このとき、アドレス値p3がゼロになるように、指定アドレス間隔が決定されて駆動波形の周期が変更される。つまり、指定アドレス間隔は、(t5−t1)/4の移行時間内にアドレスが変化量128だけ進む間隔に決定されてRAM103に記憶される。これ以降、t6の時点になるまでの間、CPU101がプログラムに従い算出してRAM103に記憶している前記指定アドレス間隔に基づき、駆動波形テーブル記憶部104のテーブル値が読み出されてPWMユニット105に供給される。なお、図6(D)に示すもう一方の駆動波形では、図6(C)に示す駆動波形の場合と更新時の指定アドレス間隔は同じであるが、位相角に換算して90度の角度だけずれていればよい。目標の進角状態でモータが駆動されていれば、駆動波形が時間的に大きく伸縮することはない。
When the driving waveform with the
図6(E)は、検出されるロータ位置に対して、CPU101の制御に応じて駆動波形テーブル記憶部104から供給されているコイル駆動波形例2を示す。図6(C)のように、アドレス値384での駆動波形が出力されている時に、図6(A)の第1検出信号の立ち上がりエッジが検出される状態が目標である。しかし、図6(A)に示すt5の時点で出力中のアドレス値p2はゼロである。この場合、目標とする進角よりもアドレス値にして384(位相角で270度)遅れた波形でモータが駆動されていることになる。次に到来する第2検出信号(図4(B)参照)の立ち上がりエッジが検出される時点t6での目標値については、384に相当する位相の遅れを取り戻す必要がある。このため、アドレス値128に384を加算し、512の進み間隔に設定される。つまり、p2からp3まの期間内で目標進角に追いつくためには、アドレスを512進める間隔にする必要がある。次回までに補正すべきアドレス512は、一周期分の位相変化量に相当するので、参照テーブルから読み出す駆動波形を時間的に大きく縮めて出力しなければならなない。目標速度と目標負荷に応じて予め設定される進角を目標進角とする進角制御において、現在進角と目標進角が乖離しているにも関わらず、駆動波形を時間的に縮めて無理に目標進角に一致させようとするとモータが脱調する可能性がある。そこで、このような条件下、つまり現在進角が目標値から大きく外れている場合、駆動波形が時間的に縮み過ぎないように制御して、脱調を回避することが本発明の目的の1つである。
FIG. 6E shows a coil drive waveform example 2 supplied from the drive waveform
図6(F)は、検出されるロータ位置に対してCPU101の制御に応じて駆動波形テーブル記憶部104から供給されているコイル駆動波形例3を示す。図6(F)に示す駆動波形は、t5の時点までは図6(E)に示す駆動波形と同一の遅れである。必要なアドレス間隔は、図6(E)と同様の512の進み間隔である。しかし、駆動波形を縮めすぎないように、この例では、一気にアドレス値を512分進めて位相差をゼロにするのではなく、p2からp4の期間内にその2分の1の256を進める間隔まで制限をかけている。つまり、本来の目標であるアドレス値に対して、位相遅れを取り戻す分のアドレス値(位相変化量)が128に制限されている。駆動波形のデータに対する時間的なスケーリング操作が過度に働かないように、予め決められた範囲内で駆動波形の周期変更操作に制限を加えて駆動波形を時間的に緩やかに縮めることができるので、脱調防止効果が得られる。なお、本例では調整用の移行時間に応じて位相変化量に制限をかけているが、進角制御にて駆動波形の周期や周波数を変更する場合、モータの負荷や目標速度、現在速度等に応じた設定範囲内で、状況に応じて位相変化の制限値が制御される。
FIG. 6F shows a coil drive waveform example 3 supplied from the drive waveform
次、上記制限を加味した進角制御について、図7のフローチャートを参照して説明する。
S701にてCPU101は、図5のフローチャートに従って計測した今回の検出信号の入力時における、現在の駆動波形テーブルのアドレス値を取得する。次のS702でCPU101は、駆動波形テーブルの予定アドレス値(制御の目標位相値)をRAM103から取得して、S703へ処理を移す。S703でCPU101は予定アドレス値と現在アドレス値との差分を算出して位相ずれ量を求める。次のS704でCPU101は、S703で算出したアドレス値のずれ量が、第1閾値を超えているか、または第1閾値以下であるかを判定する。第1閾値は128である。ずれ量が128以下の場合、S706へ処理を移し、ずれ量が128を超える場合、S705へ処理を移す。
Next, the advance angle control with the above restrictions taken into account will be described with reference to the flowchart of FIG.
In step S701, the
S705にてCPU101は、アドレス値に対する補正量(補正アドレス)を、128に設定して、S709へ処理を進める。S706でCPU101は、S703で算出したアドレス値のずれ量が、第2閾値より小さいか否かを判定する。第2閾値は−128である。ずれ量が−128以上である場合、S708へ処理を移し、ずれ量が−128より小さい場合、S707へ処理を移す。S707にてCPU101は補正アドレスを、−128に設定し、S709へ処理を移す。また、S708において、CPU101は補正アドレスをS703で求めたずれ量に設定し、S709へ処理を移す。
In S705, the
S709でCPU101は、次回の検出信号の入力時における予定進角に対応する予定アドレス値を算出する。これは、今回の予定アドレス値に128と補正アドレスを加算した値であり、RAM103に記億される。128は電気角90度分のアドレス値に相当する。次のS710でCPU101は、次回の検出信号の入力時までの移動アドレス数を、次回の予定アドレス値と現在のアドレス値から差分として算出し、S711へ処理を移す。S711でCPU101は、次回の検出信号の入力時までのアドレス更新間隔を算出する。アドレス更新間隔は、S710で求めた次回までの移動アドレス数を、次回迄の移動時間および駆動波形の更新周波数で除算することで計算される。次回迄の移動時間とは、図6(A)に示す「t6−t5」の事である。本実施形態では、図6(A)にてt5に直近の検出信号の一周期「t5−t1」の4分の1を移行時間として設定し、この時間が経過した時点をt6のタイミングとしているが、これに限らず、一周期の2分の1や3分の1等、任意に設定できる。また、駆動波形の更新周波数については、目標最高速度で必要な駆動波形の分解能を達成できる周波数以上であればよい。具体的には、例えば、駆動波形の一周期が100Hzに相当し、512分割の分解能が必要である場合、更新周波数は51.2kHz以上であればよい。
In step S709, the
以上のように本実施形態では、ロータの位置検出信号に同期して現在の駆動波形テーブルのアドレス値を取得し、現在アドレス値と、目標とする進角状態での予定アドレス値との差分を算出する。この差分量を、調整用の移行期間内で修正し、または縮小するようにアドレス更新間隔が設定されて進角制御が行われる。その際、次回の位置検出時までに修正すべきアドレスの変化量を所定範囲内に制限することで、駆動波形を時間的に緩やかに変化させることが可能となる。よって、加速時や速度変動時にモータが脱調しないように防ぐ効果が得られる。 As described above, in the present embodiment, the address value of the current drive waveform table is acquired in synchronization with the rotor position detection signal, and the difference between the current address value and the planned address value in the target advance state is calculated. calculate. The advance angle control is performed by setting the address update interval so that the difference amount is corrected or reduced within the adjustment transition period. At that time, by limiting the amount of change in the address to be corrected until the next position detection within a predetermined range, the drive waveform can be gradually changed over time. Therefore, an effect of preventing the motor from stepping out during acceleration or speed fluctuation can be obtained.
100 モータ制御装置
101 CPU
104 駆動波形テーブル記憶部
105 PWMユニット
106 モータドライバ
107 エンコーダ付ステッピングモータ
100
104 Drive waveform
Claims (8)
前記モータ軸の位置に対応した信号を出力する位置検出手段と、
前記位置検出手段により出力された信号に同期して前記モータの駆動波形の位相値を取得し、前記位置検出手段により出力された前回の信号のタイミングから前記位置検出手段により出力された今回の信号のタイミングまでの時間を計測して前記駆動波形の周期を変更する制御手段を備え、
前記制御手段は、進角制御における前記駆動波形の目標位相値と、現時点で取得している前記駆動波形の位相値との差分を算出し、当該差分が閾値を超える場合、前記駆動波形の周期の変更により補正する位相変化量を制限することを特徴とするモータ制御装置。 A motor control device that detects the position of a motor shaft and performs advance angle control,
Position detecting means for outputting a signal corresponding to the position of the motor shaft;
A phase value of the driving waveform of the motor is acquired in synchronization with the signal output by the position detection means, and the current signal output by the position detection means from the timing of the previous signal output by the position detection means Control means for measuring the time until the timing of and changing the period of the drive waveform,
The control means calculates a difference between the target phase value of the drive waveform in advance angle control and the phase value of the drive waveform acquired at the present time, and if the difference exceeds a threshold, the period of the drive waveform A motor control device that limits the amount of phase change to be corrected by changing the value.
前記制御手段は、前記差分が閾値以下である場合、前記駆動波形テーブル記憶手段からデータを読み出すアドレス間隔を制御することにより、前記駆動波形の周期を変更することを特徴とする請求項1に記載のモータ制御装置。 Drive waveform table storage means for dividing and storing the drive waveform data,
The said control means changes the period of the said drive waveform by controlling the address space | interval which reads data from the said drive waveform table memory | storage means, when the said difference is below a threshold value. Motor control device.
前記差分が閾値以下である場合、現時点から調整用の位相値に相当する移行時間が経過した時点において前記駆動波形の位相値が前記目標位相値と一致するように周期を変更する制御を行い、
前記差分が閾値を超える場合、前記駆動波形の周期を予め決められた範囲内で変更し、現時点から前記移行時間が経過した時点で算出される前記位相値の差分を、既に算出している前記差分より小さくする制御を行うことを特徴とする請求項2に記載のモータ制御装置。 The control means includes
When the difference is less than or equal to a threshold value, a control is performed to change the cycle so that the phase value of the drive waveform coincides with the target phase value at the time when the transition time corresponding to the phase value for adjustment has elapsed from the present time,
When the difference exceeds a threshold, the period of the drive waveform is changed within a predetermined range, and the difference between the phase values calculated when the transition time has elapsed from the present time has already been calculated. The motor control device according to claim 2, wherein control is performed to make the difference smaller than the difference.
前記モータ軸に設けた被検出部の位置を検出する検出部と、
前記検出部の出力を閾値と比較する比較手段と、
前記比較手段により2値化された信号の変化を計測して前記制御手段に出力するエンコード手段を備えることを特徴とする請求項1から6のいずれか1項に記載のモータ制御装置。 The position detecting means includes
A detection unit for detecting the position of the detection unit provided on the motor shaft;
Comparison means for comparing the output of the detection unit with a threshold;
The motor control device according to claim 1, further comprising an encoding unit that measures a change in the signal binarized by the comparison unit and outputs the change to the control unit.
前記モータ軸の位置に対応した信号を出力する位置検出ステップと、
前記位置検出ステップで出力された信号に同期して前記モータの駆動波形の位相値を取得し、前記位置検出ステップで出力された前回の信号のタイミングから前記位置検出ステップで出力された今回の信号のタイミングまでの時間を計測して前記駆動波形の周期を変更する制御ステップを有し、
前記制御ステップは、進角制御における前記駆動波形の目標位相値と、現時点で取得している前記駆動波形の位相値との差分を算出するステップと、算出した当該差分が閾値を超える場合、前記駆動波形の周期の変更により補正する位相変化量を制限するステップを有することを特徴とするモータ制御方法。
A motor control method executed by a motor control device that detects the position of a motor shaft and performs advance angle control,
A position detecting step for outputting a signal corresponding to the position of the motor shaft;
The current signal output in the position detection step from the timing of the previous signal output in the position detection step is acquired in synchronization with the signal output in the position detection step. A control step of measuring the time until the timing of and changing the period of the drive waveform,
The control step includes a step of calculating a difference between a target phase value of the drive waveform in advance angle control and a phase value of the drive waveform currently acquired, and when the calculated difference exceeds a threshold value, A motor control method comprising a step of limiting a phase change amount to be corrected by changing a cycle of a drive waveform.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012174213A JP5946359B2 (en) | 2012-08-06 | 2012-08-06 | Motor control device and motor control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012174213A JP5946359B2 (en) | 2012-08-06 | 2012-08-06 | Motor control device and motor control method |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016108185A Division JP6385394B2 (en) | 2016-05-31 | 2016-05-31 | Motor control device, system including the motor control device, and motor control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014033586A JP2014033586A (en) | 2014-02-20 |
JP5946359B2 true JP5946359B2 (en) | 2016-07-06 |
Family
ID=50283002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012174213A Expired - Fee Related JP5946359B2 (en) | 2012-08-06 | 2012-08-06 | Motor control device and motor control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5946359B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6664154B2 (en) * | 2015-06-05 | 2020-03-13 | キヤノン株式会社 | Motor control device, motor control method, and motor control program |
JP7005275B2 (en) * | 2017-10-25 | 2022-01-21 | キヤノン株式会社 | Motor drive device, motor system including the motor drive device, image pickup device, motor drive method |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01315299A (en) * | 1988-06-11 | 1989-12-20 | Sony Corp | Controlling circuit for stepping motor |
JPH02136100A (en) * | 1988-11-16 | 1990-05-24 | Matsushita Electric Ind Co Ltd | Position controller |
JP2002359997A (en) * | 2001-03-26 | 2002-12-13 | Fdk Corp | Stepper motor and driving control method therefor |
JP2009055649A (en) * | 2007-08-23 | 2009-03-12 | Nidec Shibaura Corp | Driving device of brusless dc motor |
JP2009261146A (en) * | 2008-04-17 | 2009-11-05 | Panasonic Corp | Compressor controller |
-
2012
- 2012-08-06 JP JP2012174213A patent/JP5946359B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2014033586A (en) | 2014-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6204386B2 (en) | Motor current control device and motor current control method | |
JP6987527B2 (en) | Controls, optics, control methods, and programs | |
JP2009033928A (en) | Motor starter and motor starting method | |
WO2018150908A1 (en) | Motor control device and method for controlling motor control device | |
US9647586B2 (en) | Signal amplifier, phase detector, and motor drive controller | |
JP2015023695A (en) | Motor control device, lens device, camera system, motor control method, program and storage medium | |
JP6004830B2 (en) | Control device and stepping motor control method | |
JP2021192589A (en) | Motor control unit and image forming apparatus | |
US9762159B2 (en) | Motor drive apparatus for driving stepping motor and control method therefor | |
JP5946359B2 (en) | Motor control device and motor control method | |
US10389283B2 (en) | Motor drive apparatus for driving stepping motor and control method therefor | |
JP5322501B2 (en) | Drive device and electronic device | |
JP6385394B2 (en) | Motor control device, system including the motor control device, and motor control method | |
JP5025395B2 (en) | Method for adjusting initial position of position detector and motor drive device using this method | |
JP6168776B2 (en) | Position control device and position control method | |
JP2006149141A (en) | Motor drive control method and motor drive control device | |
JP6484954B2 (en) | Motor control device, motor control system, motor control method, and motor control program | |
JP6087537B2 (en) | Control device and stepping motor control method | |
JP6723197B2 (en) | Motor drive control device and motor drive control method | |
JP2017003467A (en) | Rotation detection device, rotation drive device, image formation apparatus and rotation detection method | |
JP2007312535A (en) | Drive device for synchronous motor, and device for manufacturing the drive device for synchronous motor | |
JP6337770B2 (en) | Motor drive | |
JP2005304133A (en) | Motor driving method and motor driving unit | |
US11196378B2 (en) | Motor control device | |
JP6565774B2 (en) | Stepping motor control device and stepping motor control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150721 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160407 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160502 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160531 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5946359 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |