JPH08313548A - Device for detecting speed of motor - Google Patents
Device for detecting speed of motorInfo
- Publication number
- JPH08313548A JPH08313548A JP7121098A JP12109895A JPH08313548A JP H08313548 A JPH08313548 A JP H08313548A JP 7121098 A JP7121098 A JP 7121098A JP 12109895 A JP12109895 A JP 12109895A JP H08313548 A JPH08313548 A JP H08313548A
- Authority
- JP
- Japan
- Prior art keywords
- stored
- value
- counter
- captured
- time
- 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
Links
Landscapes
- Control Of Electric Motors In General (AREA)
Abstract
Description
【発明の詳細な説明】Detailed Description of the Invention
【0001】[0001]
【産業上の利用分野】本発明はモータに取り付けられた
パルス発生器の信号によりモータ速度を検出するモータ
速度検出装置に関わり、例えば電気自動車に好適であ
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a motor speed detecting device for detecting a motor speed by a signal from a pulse generator attached to a motor, and is suitable for, for example, an electric vehicle.
【0002】[0002]
【従来の技術】モータの回転子の回転速度を検出するに
は、一回転に対して複数個のパルス信号を出力するパル
ス発生器が良く用いられる。このパルス発生器を用いて
速度検出する装置として、例えば特公平6-1279号があ
る。これは主に、パルス発生器のパルス数を計数するカ
ウンタ,時間を計測するカウンタ,パルス発生器のパル
スに同期して時間を計測するカウンタの値をラッチする
ラッチ回路からなり、マイクロコンピュータから一定周
期毎に、パルス数を計数するカウンタとラッチ回路の値
を取り込んで、モータ速度を計算するものである。2. Description of the Related Art In order to detect the rotation speed of a rotor of a motor, a pulse generator that outputs a plurality of pulse signals for one rotation is often used. Japanese Patent Publication No. 6-1279, for example, is a device for detecting the speed using this pulse generator. This mainly consists of a counter that counts the number of pulses of the pulse generator, a counter that measures time, and a latch circuit that latches the value of the counter that measures time in synchronization with the pulses of the pulse generator. The value of a counter that counts the number of pulses and the value of a latch circuit are taken in every cycle to calculate the motor speed.
【0003】[0003]
【発明が解決しようとする課題】この方式は速度検出回
路をマイクロコンピュータとは別回路として構成してい
るので、パルス数を計数するカウンタとラッチ回路のデ
ータをマイクロコンピュータに取り入れるために、マイ
クロコンピュータからデータバス等を外部出力して速度
検出回路に接続しているので、回路全体が小型化できな
いという問題点があった。また、マイクロコンピュータ
からパルス数を計数するカウンタとラッチ回路のデータ
を取り込んでいる途中でデータが更新された場合、パル
ス数を計数するカウンタのパルス数とラッチ回路の時間
のデータが同一時点のものでなくなり、モータ速度計算
値に誤差が生じるという問題点があった。In this system, the speed detecting circuit is constructed as a circuit separate from the microcomputer. Therefore, in order to incorporate the data of the counter for counting the number of pulses and the latch circuit into the microcomputer, the microcomputer is used. Since the data bus and the like are externally output and connected to the speed detection circuit, there is a problem that the entire circuit cannot be downsized. In addition, when the data is updated while the data of the counter that counts the number of pulses and the latch circuit is being fetched from the microcomputer, the number of pulses of the counter that counts the number of pulses and the data of the time of the latch circuit are at the same time point. However, there is a problem that an error occurs in the calculated value of the motor speed.
【0004】[0004]
【課題を解決するための手段】モータの回転する毎にパ
ルスを出力するパルス発生器と、前記パルス発生器から
のパルスの数を計数する第1のカウンタ,時間を計測す
るためのクロックパルスを計数する第2のカウンタ,前
記パルス発生器からのパルスに同期して前記第2のカウ
ンタの出力値をラッチするレジスタを備えたマイクロコ
ンピュータと、前記マイクロコンピュータにおいてモー
タの速度を演算する速度演算手段とを備え、前記速度演
算手段は、所定のサンプリング時間毎に前記第1のカウ
ンタの出力値と前記レジスタの出力値のうち、最初にど
ちらか一方の値を取り込んで記憶し、次に他方の値を取
り込んで記憶し、最後に前記最初に取り込んだ方の値を
もう一度取り込んで記憶し、前記最初に取り込んで記憶
した値と前記最後に取り込んで記憶した値が同じときに
は、取り込んで記憶した前記第1のカウンタの出力値を
今回のサンプリングのモータ位置データとし、取り込ん
で記憶した前記レジスタの出力値を今回のサンプリング
の時間データとし、前記最初に取り込んで記憶した値と
前記最後に取り込んで記憶した値が異なるときには、前
記他方の値をもう一度取り込んで記憶し、二度目に取り
込んで記憶した前記第1のカウンタの出力値を今回のサ
ンプリングのモータ位置データとし、二度目に取り込ん
で記憶した前記レジスタの出力値を今回のサンプリング
の時間データとし、今回のサンプリングおよびそれ以前
のサンプリングの前記モータ位置データと前記時間デー
タとからモータの速度を演算する。A pulse generator for outputting a pulse each time the motor rotates, a first counter for counting the number of pulses from the pulse generator, and a clock pulse for measuring time A microcomputer having a second counter for counting, a register for latching the output value of the second counter in synchronization with a pulse from the pulse generator, and a speed calculating means for calculating the speed of the motor in the microcomputer. And the speed calculation means first captures and stores one of the output value of the first counter and the output value of the register for each predetermined sampling time, and then stores the other value. A value is captured and stored, and finally the value that was captured first is captured again and stored, and the value that is captured and stored first and the last When the fetched and stored values are the same, the fetched and stored output value of the first counter is the motor position data for the current sampling, and the fetched and stored output value of the register is the current sampling time data. When the value captured and stored at the beginning is different from the value captured and stored at the end, the other value is captured and stored again, and the output value of the first counter captured and stored a second time is sampled this time. Motor position data, the output value of the register captured and stored a second time is used as the time data of this sampling, and the motor speed is calculated from the motor position data and the time data of the current sampling and previous samplings. Calculate
【0005】[0005]
【作用】パルス発生器はモータの回転する毎にパルスを
発生する。第1のカウンタはパルス発生器からのパルス
の数を計数する。第2のカウンタは時間を計測するため
のクロックパルスを計数する。レジスタはパルス発生器
のパルスに同期して第2のカウンタの値をラッチする。
マイクロコンピュータは一定サンプリング時間毎に第1
のカウンタとレジスタの値を交互に取り込み、値の取り
込みとレジスタの値の更新のタイミングが重なったとき
にも、同一時点の第1のカウンタとレジスタの値を判断
する。そのデータからモータの回転速度を計算する。The pulse generator generates a pulse each time the motor rotates. The first counter counts the number of pulses from the pulse generator. The second counter counts clock pulses for measuring time. The register latches the value of the second counter in synchronization with the pulse of the pulse generator.
The microcomputer is the first every fixed sampling time.
The values of the counter and the register are alternately fetched, and the values of the first counter and the register at the same time point are determined even when the timings of fetching the value and updating the value of the register overlap. The rotation speed of the motor is calculated from the data.
【0006】[0006]
【実施例】以下、本発明の一実施例を図1により説明す
る。マイクロコンピュータ1は第1のカウンタ2及び第
2のカウンタ3と、第2のカウンタの出力値を保存する
レジスタ4を内蔵している。さらに、マイクロコンピュ
ータ1は、第1のカウンタ2及び第2のカウンタ3とレ
ジスタ4の出力値を取り込んでモータの速度計算処理を
行い、速度指令又はトルク指令に基づいてモータの速度
又はトルクを制御する処理を行うCPU7,ROM8,
RAM9,駆動回路11を動作させるための信号を発生
するタイマ10を内蔵している。駆動回路11はパワー
半導体により構成される電力変換器、及び、その制御回
路からなり、マイクロコンピュータ1からの信号に応じ
てモータ6を回転させる。パルス発生器5はモータ6の
回転数に比例した周波数のパルス列を発生する。第1の
カウンタ2はパルス発生器5からの出力パルスmplsの計
数を行う。第2のカウンタ3はマイクロコンピュータ1
の内部クロックを計数する。この内部クロックの周波数
はパルス発生器5の出力するパルスの周波数より、十分
に高いものとする。また、外部から一定周期のクロック
パルスを入力して計測してもよい。パルス発生器5から
の出力パルスmplsの立ち下がりと立ち上がりで第2のカ
ウンタ3の計数値をレジスタ4にラッチする。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to FIG. The microcomputer 1 has a first counter 2 and a second counter 3 and a register 4 for storing the output value of the second counter. Further, the microcomputer 1 fetches the output values of the first counter 2 and the second counter 3 and the register 4 to perform the speed calculation processing of the motor, and controls the speed or torque of the motor based on the speed command or the torque command. CPU7, ROM8, which performs the processing
A timer 10 for generating a signal for operating the RAM 9 and the drive circuit 11 is built in. The drive circuit 11 is composed of a power converter composed of a power semiconductor and its control circuit, and rotates the motor 6 in response to a signal from the microcomputer 1. The pulse generator 5 generates a pulse train having a frequency proportional to the rotation speed of the motor 6. The first counter 2 counts the output pulse mpls from the pulse generator 5. The second counter 3 is the microcomputer 1
Count the internal clock of. The frequency of this internal clock is sufficiently higher than the frequency of the pulse output from the pulse generator 5. Alternatively, a clock pulse of a constant cycle may be input from the outside to measure. The count value of the second counter 3 is latched in the register 4 at the fall and rise of the output pulse mpls from the pulse generator 5.
【0007】図2は出力パルスmplsの波形と第1のカウ
ンタ2,第2のカウンタ3,レジスタ4の変化のタイミ
ングを示す。第1のカウンタ2の値は出力パルスmplsの
立ち上がりと立ち下がりに同期してインクリメントされ
る。第2のカウンタ3の値は一定周期の内部クロックに
同期してインクリメントされる。この第2のカウンタ3
の値は、出力パルスmplsの立ち上がりと立ち下がりに同
期してレジスタ4にラッチされる。FIG. 2 shows the waveform of the output pulse mpls and the timing of changes in the first counter 2, the second counter 3 and the register 4. The value of the first counter 2 is incremented in synchronization with the rising and falling edges of the output pulse mpls. The value of the second counter 3 is incremented in synchronization with the internal clock having a constant cycle. This second counter 3
Is latched in the register 4 in synchronization with the rising and falling edges of the output pulse mpls.
【0008】図3はマイクロコンピュータ1で一定サン
プリング時間毎に行う処理であり、第1のカウンタ2か
らモータ位置を読み込み、レジスタ4からモータ位置が
変化したときの時間を読み込んでいる。まず最初に第1
のカウンタ2の値を変数motor1 に取り込む(ステップ
301)。次に、レジスタ4の値を変数time1に取り込
む(ステップ302)。さらに第1のカウンタ2の値を
変数motor2 に取り込む(ステップ303)。ここで変
数motor1 と変数motor2 の値が同じであるかどうかの
判定を行う(ステップ304)。同じである場合には、
モータ位置を示す変数motor に変数motor1 の値を代入
し(ステップ305)、モータ位置が変化したときの時
間を示す変数timeに変数time1の値を代入する(ステッ
プ306)。ステップ304の判定の結果、変数motor
1 と変数motor2 の値が異なるときには、もう一度レ
ジスタ4の値を取り込んで変数timeに代入し(ステップ
307)、変数motor に変数motor2 の値を代入する
(ステップ308)。FIG. 3 shows the processing performed by the microcomputer 1 at regular sampling times. The motor position is read from the first counter 2 and the time when the motor position changes is read from the register 4. First of all
The value of the counter 2 of 1 is fetched into the variable motor1 (step 301). Next, the value of the register 4 is loaded into the variable time1 (step 302). Further, the value of the first counter 2 is loaded into the variable motor2 (step 303). Here, it is determined whether or not the values of the variable motor1 and the variable motor2 are the same (step 304). If they are the same,
The value of the variable motor1 is substituted for the variable motor indicating the motor position (step 305), and the value of the variable time1 is substituted for the variable time indicating the time when the motor position changes (step 306). As a result of the determination in step 304, the variable motor
When the value of 1 is different from the value of the variable motor2, the value of the register 4 is fetched again and is substituted into the variable time (step 307), and the value of the variable motor2 is substituted into the variable motor (step 308).
【0009】図4と図5は、第1のカウンタ及びレジス
タの変更のタイミングと、図3で示した一定サンプリン
グ時間毎に行う第1のカウンタ2及びレジスタ4からの
データの読み込み処理のタイミングの関係を示してい
る。図4では、ステップ301からステップ303まで
の一連の処理が、第1のカウンタ2及びレジスタ4の変
更のタイミングと重ならなかった場合である。このとき
は、変数motor1 と変数motor2 の値は同じものとな
る。図5はステップ301からステップ303までの一
連の処理が、第1のカウンタ及びレジスタの変更のタイ
ミングと重なった場合である。このとき変数motor1 と
変数motor2 の値は異なったものとなる。変数time1の
値は、図5の上側の場合では変数motor1 に同期した値
となるが、図5の下側の場合では変数motor2 に同期し
た値となり、図5の上側の状態と下側の状態で変数time
1の値がどちらに対応するのか判断をつけることができ
ない。そこで、もう一度レジスタ4の値を取り込む処理
ステップ307を行っている。図6はマイクロコンピュ
ータ1で一定サンプリング時間毎に行う処理であり、第
1のカウンタからモータ位置を読み込み、レジスタから
モータ位置が変化したときの時間を読み込んでいる。こ
こでの処理は、図3に示した処理に対して、第1のカウ
ンタ2とレジスタ4のデータを取り込む処理の順番が異
なっている。まず最初にレジスタ4の値を変数time1に
取り込む(ステップ601)。次に、第1のカウンタ2
の値を変数motor1 に取り込む(ステップ602)。さ
らにレジスタ4の値を変数time2に取り込む(ステップ
603)。ここで変数time1と変数time2の値が同じで
あるかどうかの判定を行う(ステップ604)。同じで
ある場合には、モータ位置を示す変数motor に変数moto
r1 の値を代入し(ステップ605)、モータ位置が変
化したときの時間を示す変数timeに変数time1の値を代
入する(ステップ606)。ステップ604の判定の結
果、変数time1と変数time2の値が異なるときには、も
う一度第1のカウンタ2の値を読み込んで変数motor に
代入し(ステップ607)、変数timeに変数time2の値
を代入する(ステップ608)。この処理でレジスタ4
及び第1のカウンタ2の値を交互に読み込むのは、図4
及び図5に示したものと同様の理由による。FIG. 4 and FIG. 5 show the timing of changing the first counter and the register and the timing of reading data from the first counter 2 and the register 4, which is performed at every constant sampling time shown in FIG. It shows the relationship. In FIG. 4, a series of processes from step 301 to step 303 does not coincide with the timing of changing the first counter 2 and the register 4. At this time, the values of the variable motor1 and the variable motor2 are the same. FIG. 5 shows a case where the series of processing from step 301 to step 303 coincides with the timing of changing the first counter and the register. At this time, the values of the variable motor1 and the variable motor2 are different. The value of the variable time1 becomes the value synchronized with the variable motor1 in the upper case of FIG. 5, but becomes the value synchronized with the variable motor2 in the lower case of FIG. 5, and the upper state and the lower state of FIG. With the variable time
It is impossible to determine which one the value of 1 corresponds to. Therefore, the processing step 307 for fetching the value of the register 4 is performed again. FIG. 6 shows a process performed by the microcomputer 1 at constant sampling time intervals. The motor position is read from the first counter and the time when the motor position changes is read from the register. The processing here is different from the processing shown in FIG. 3 in the order of the processing of fetching the data of the first counter 2 and the register 4. First, the value of register 4 is loaded into variable time1 (step 601). Next, the first counter 2
The value of is taken into the variable motor1 (step 602). Further, the value of the register 4 is fetched into the variable time2 (step 603). Here, it is determined whether the values of the variable time1 and the variable time2 are the same (step 604). If they are the same, the variable motor indicating the motor position is set to the variable moto.
The value of r1 is substituted (step 605), and the value of the variable time1 is substituted for the variable time indicating the time when the motor position changes (step 606). As a result of the determination in step 604, when the values of the variable time1 and the variable time2 are different, the value of the first counter 2 is read again and substituted into the variable motor (step 607), and the value of the variable time2 is substituted into the variable time ( Step 608). This process makes register 4
4 and the value of the first counter 2 are read alternately.
And for the same reason as shown in FIG.
【0010】図7の処理はマイクロコンピュータ1にお
いて一定サンプリング時間毎に行う処理であり、モータ
速度の計算を行うものである。この処理は、図3または
図6で示した処理によって、モータ位置を示す変数moto
r とモータ位置が変化したときの時間を示す変数timeの
値が確定した後に続けて行うものとする。The process of FIG. 7 is a process performed by the microcomputer 1 at regular sampling intervals, and is for calculating the motor speed. This process is performed by the process shown in FIG. 3 or FIG.
It shall be performed continuously after the value of the variable time, which indicates the time when r and the motor position change, is fixed.
【0011】まず、変数timeと前のレジスタ4の値を示
す変数preregの比較を行い、レジスタ4の値が更新され
ているかどうかの判定を行う(ステップ701)。First, the variable time and the variable prereg indicating the previous value of the register 4 are compared to determine whether the value of the register 4 has been updated (step 701).
【0012】レジスタ4の値が更新されているときに
は、変数timeと前回サンプリングで決められた時間を示
す変数pretime との偏差を計算し、変数dtime に代入す
る(ステップ702)。前回サンプリングまでに積分さ
れた変数stimeの値に変数dtimeの値を加算する(ステッ
プ703)。変数motor と前のモータ位置を示す変数pr
emotorとの差分を計算し、変数dmotorに代入する(ステ
ップ704)。モータ速度omegamは変数dmotorを変数st
ime で割った値に係数k1をかけて求める(ステップ7
05)。変数preregに変数timeの値を代入する(ステッ
プ706)。前回の時間を積分した値を示す変数prestim
eに変数stime の値を代入する(ステップ707)。変
数pretime に変数timeの値を代入する(ステップ70
8)。前のモータ位置を示す変数premotorに変数motor
の値を代入する(ステップ709)。変数stime の値を
クリアして0にする(ステップ710)。変数count の
値をクリアして0にする(ステップ711)。When the value of the register 4 is updated, the deviation between the variable time and the variable pretime indicating the time determined by the previous sampling is calculated and substituted into the variable dtime (step 702). The value of the variable dtime is added to the value of the variable stime integrated up to the previous sampling (step 703). Variable motor and variable pr indicating the previous motor position
The difference from the emotor is calculated and assigned to the variable dmotor (step 704). The motor speed omegam changes the variable dmotor to the variable st
The value divided by ime is multiplied by the coefficient k1 to obtain (step 7).
05). The value of the variable time is substituted for the variable prereg (step 706). Variable prestim indicating the value obtained by integrating the previous time
The value of the variable stime is substituted for e (step 707). Substitute the value of the variable time for the variable pretime (step 70)
8). Variable motor to the variable premotor that indicates the previous motor position
Is substituted (step 709). The value of the variable stime is cleared to 0 (step 710). The value of the variable count is cleared to 0 (step 711).
【0013】ステップ701でレジスタ4の値が更新さ
れていないときには、連続して更新されない回数を示す
変数count が最大値MAXを超えていないかの判断を行
う(ステップ712)。これは時間を積分する変数stim
e の値のオーバーフローを防止するためであり、また次
回のサンプリングにレジスタ4が更新されてモータ速度
の計算(ステップ705)を行っても変数omegamの値が
0となるように、MAXの値と変数stimeの変数の型を
決める(変数timeをshort変数としたときには変数stime
はlong変数とする等)。When the value of the register 4 is not updated in step 701, it is determined whether or not the variable count indicating the number of times the register 4 is not continuously updated exceeds the maximum value MAX (step 712). This is the variable stim that integrates time
This is for the purpose of preventing the overflow of the value of e, and so that the value of the variable omegam becomes 0 even if the register 4 is updated in the next sampling and the motor speed is calculated (step 705). Determine the variable type of the variable stime (if the variable time is a short variable, the variable stime
Is a long variable, etc.).
【0014】変数count が最大値MAXを超えていない
場合、時間を計測する第2のカウンタ3の値を読み込ん
で変数cnt2 に代入する(ステップ713)。変数cnt
2 と前回サンプリングで決められた時間を示す変数pre
time との偏差を計算し、変数dtime に代入する(ステ
ップ714)。前回サンプリングまでに積分された変数
stime の値に変数dtime の値を加算する(ステップ71
5)。変数stime と前の積分された時間を示す変数pres
timeとの比較を行い(ステップ716)、変数stime の
値が大きい場合には、モータ速度omegamは係数k1を変
数stime の値で割った値として演算する(ステップ71
7)。変数pretime に変数cnt2 の値を代入する(ステ
ップ718)。変数count の値をインクリメントする
(ステップ719)。ここでの処理はレジスタ4の値が
更新されないときに、第2のカウンタ3の値を直接取り
込んでいるので第2のカウンタ3がオーバーフローして
も問題なくモータ速度の検出を行うことができる。If the variable count does not exceed the maximum value MAX, the value of the second counter 3 for measuring the time is read and substituted into the variable cnt2 (step 713). Variable cnt
2 and a variable pre that indicates the time determined by the previous sampling
The deviation from time is calculated and substituted for the variable dtime (step 714). Variables integrated up to the last sampling
The value of the variable dtime is added to the value of stime (step 71
5). Variable stime and variable pres indicating the previous integrated time
When it is compared with time (step 716) and the value of the variable stime is large, the motor speed omegam calculates as a value obtained by dividing the coefficient k1 by the value of the variable stime (step 71).
7). The value of the variable cnt2 is substituted for the variable pretime (step 718). The value of the variable count is incremented (step 719). In the processing here, when the value of the register 4 is not updated, the value of the second counter 3 is directly fetched, so that the motor speed can be detected without problems even if the second counter 3 overflows.
【0015】変数count が最大値MAXを超えている場
合、モータ速度omegamの値は0とする(ステップ72
0)。When the variable count exceeds the maximum value MAX, the value of the motor speed omegam is set to 0 (step 72).
0).
【0016】図8は第1のカウンタ2,第2のカウンタ
3,レジスタ4の変化と速度検出処理の計算のタイミン
グを示しており、レジスタ4が変化するまでに速度検出
処理が何回も行われる低速度領域の場合である。パルス
をカウントする第1のカウンタは時刻A,時刻B,時刻
Cでインクリメントされている。時刻Bから時刻Cの間
の速度検出処理において、時刻Bの直後のサンプリング
時点では、レジスタ4が更新されているので、図7のス
テップ705によりモータ速度が計算され、時刻Aと時
刻Bの時間差が変数prestimeとして保存される。それ以
後の速度検出処理のサンプリング時点でレジスタ4が更
新されない間、時刻Bからサンプリング時点までの時間
が変数stime として計算される。変数prestimeと変数st
ime の値の比較を行って、変数prestimeの値が変数stim
e の値よりも大きいときには、速度計算は行わず時刻B
直後のサンプリング時点で計算したモータ速度omegamの
値を保持している。変数stime の値が変数prestimeの値
よりも大きくなってくると、図7のステップ717で示
した式でモータ速度omegamの計算を行う。この場合、サ
ンプリング時点での変数stime の値が大きくなるほど、
モータ速度omegamの値は小さくなっていくが、時刻B直
後のサンプリング時点で計算したモータ速度omegamと時
刻C直後の速度検出処理のサンプリング時点で計算する
モータ速度omegamの値が不連続にならないようになって
いる。FIG. 8 shows the changes in the first counter 2, the second counter 3, and the register 4 and the calculation timing of the speed detection process. The speed detection process is repeated many times before the register 4 changes. This is the case in the low speed region. The first counter that counts pulses is incremented at time A, time B, and time C. In the speed detection process between time B and time C, since the register 4 is updated at the sampling time immediately after time B, the motor speed is calculated in step 705 of FIG. 7, and the time difference between time A and time B is calculated. Is saved as the variable prestime. While the register 4 is not updated at the sampling point of the speed detection process thereafter, the time from time B to the sampling point is calculated as the variable stime. Variable prestime and variable st
By comparing the values of ime, the value of the variable prestime is
When it is larger than the value of e, speed calculation is not performed and time B
The value of the motor speed omegam calculated at the time of sampling immediately after is held. When the value of the variable stime becomes larger than the value of the variable prestime, the motor speed omegam is calculated by the formula shown in step 717 of FIG. 7. In this case, the larger the value of the variable stime at the time of sampling,
Although the value of the motor speed omegam becomes smaller, the value of the motor speed omegam calculated at the time of sampling immediately after the time B and the value of the motor speed omegam calculated at the time of sampling of the speed detection processing immediately after the time C do not become discontinuous. Has become.
【0017】本発明の別の実施例を図9により説明す
る。パルス発生器905はモータ906の回転数に比例し
た周波数のパルス列を発生する。第1のカウンタ902
はパルス発生器905からの出力パルスmplsの計数を行
う。第2のカウンタ903はクロックパルス発生器90
5の発生するクロックパルスを計数する。この内部クロ
ックの周波数はパルス発生器905の出力するパルスの
周波数より、十分に高いものとする。パルス発生器90
5からの出力パルスmplsの立ち下がりと立ち上がりで第
2のカウンタ903の計数値をラッチ回路904にラッ
チする。マイクロコンピュータ901は第1のカウンタ
902とラッチ回路904のデータを取り込んでモータ
速度の計算を行う。さらに、マイクロコンピュータ90
1は速度指令又はトルク指令に基づいてモータの速度又
はトルクの制御を行い、駆動回路907を動作させるた
めの信号を出力する。駆動回路907はパワー半導体に
より構成される電力変換器、及び、その制御回路からな
り、マイクロコンピュータ901からの信号に応じてモ
ータ906を回転させる。出力パルスmplsの波形と第1
のカウンタ902,第2のカウンタ903,レジスタ9
04の変化のタイミングは図2に示したものと同様にな
る。図9に示す回路構成においても、図3または図6に
示したものと同様のフローチャートをマイクロコンピュ
ータ901で実行することで、第1のカウンタ902と
ラッチ回路904のデータを取り込んでいるときにモー
タパルスが入力されてデータが更新された場合にもモー
タの位置とそれに対応した時間を取り込むことができ
る。さらに図7に示したものと同様のフローチャートに
より、モータ速度の計算を行うことができる。Another embodiment of the present invention will be described with reference to FIG. The pulse generator 905 generates a pulse train having a frequency proportional to the rotation speed of the motor 906. First counter 902
Counts the output pulse mpls from the pulse generator 905. The second counter 903 is a clock pulse generator 90.
The clock pulses generated by 5 are counted. The frequency of this internal clock is sufficiently higher than the frequency of the pulse output from the pulse generator 905. Pulse generator 90
The count value of the second counter 903 is latched in the latch circuit 904 at the falling edge and the rising edge of the output pulse mpls from 5. The microcomputer 901 takes in the data of the first counter 902 and the latch circuit 904 and calculates the motor speed. Further, the microcomputer 90
Reference numeral 1 controls the speed or torque of the motor based on the speed command or the torque command, and outputs a signal for operating the drive circuit 907. The drive circuit 907 includes a power converter formed of a power semiconductor and a control circuit for the power converter, and rotates the motor 906 in response to a signal from the microcomputer 901. Output pulse mpls waveform and first
Counter 902, second counter 903, register 9
The change timing of 04 is the same as that shown in FIG. In the circuit configuration shown in FIG. 9 as well, the same flow chart as that shown in FIG. 3 or 6 is executed by the microcomputer 901, so that when the data of the first counter 902 and the latch circuit 904 is taken in, the motor Even when the pulse is input and the data is updated, the position of the motor and the time corresponding thereto can be captured. Further, the motor speed can be calculated according to a flowchart similar to that shown in FIG.
【0018】本発明の別の実施例を図10により説明す
る。マイクロコンピュータ1001は第1のカウンタ1
002及び第2のカウンタ1003と、第1のカウンタ
の出力値を保存する第1のレジスタ1004と第2のカ
ウンタの出力値を保存する第2のレジスタ1005を内
蔵している。さらに、マイクロコンピュータ1001
は、第1のカウンタ1002及び第2のカウンタ100
3と第1のレジスタ1004及び第2のレジスタ1005の
出力値を取り込んでモータの速度計算処理を行い、速度
指令又はトルク指令に基づいてモータの速度又はトルク
を制御する処理を行うCPU1008 ,ROM1009 ,RAM1010 ,
駆動回路1012を動作させるための信号を発生するタ
イマ1011を内蔵している。駆動回路1012はパワ
ー半導体により構成される電力変換器、及び、その制御
回路からなり、マイクロコンピュータ1001からの信
号に応じてモータ1007を回転させる。パルス発生器
1006はモータ1007の回転数に比例した周波数の2相
信号パルス列を発生する。第1のカウンタ1002はパ
ルス発生器1006からの2相出力パルスの計数を行
う。第2のカウンタ1003はマイクロコンピュータ1
001の内部クロックを計数する。この内部クロックの
周波数はパルス発生器1006の出力するパルスの周波
数より、十分に高いものとする。また、外部から一定周
期のクロックパルスを入力して計測してもよい。パルス
発生器1006からの2相出力パルスのB相の立ち上が
りまたは立ち下がりで第1のカウンタ1002の計数値
を第1のレジスタ1004にラッチし、第2のカウンタ
1003の計数値を第2のレジスタ1005にラッチす
る。ここで、B相の代わりにA相信号を使用しても同じ
である。図1に示したカウンタとレジスタの構成では、
第1のカウンタ1002が2相信号を計数する場合に
は、時間を示す第2のカウンタ1003の値を第2のレ
ジスタ1005に転送するラッチ信号を作るために2相
信号のA相信号とB相信号のEXORをとる別回路が必
要となる。別回路を使用しないためには、もう一つマイ
クロコンピュータ内のレジスタを使用し、第2のカウン
タ1003の値を転送するのと同じタイミングで、第1
のカウンタ1002の値を第1のレジスタ1004に転
送する必要がある。Another embodiment of the present invention will be described with reference to FIG. The microcomputer 1001 has a first counter 1
002 and a second counter 1003, a first register 1004 for storing the output value of the first counter and a second register 1005 for storing the output value of the second counter are incorporated. Further, the microcomputer 1001
Is the first counter 1002 and the second counter 100.
3 and the output values of the first register 1004 and the second register 1005 are fetched, the motor speed calculation processing is performed, and the processing of controlling the motor speed or torque based on the speed command or torque command is executed. CPU1008, ROM1009, RAM1010,
A timer 1011 that generates a signal for operating the driver circuit 1012 is incorporated. The drive circuit 1012 is composed of a power converter composed of a power semiconductor and a control circuit thereof, and rotates a motor 1007 in response to a signal from the microcomputer 1001. Pulse generator
1006 generates a two-phase signal pulse train having a frequency proportional to the rotation speed of the motor 1007. The first counter 1002 counts the two-phase output pulse from the pulse generator 1006. The second counter 1003 is the microcomputer 1
The internal clock of 001 is counted. The frequency of this internal clock is sufficiently higher than the frequency of the pulse output from the pulse generator 1006. Alternatively, a clock pulse of a constant cycle may be input from the outside to measure. The count value of the first counter 1002 is latched in the first register 1004 at the rising or falling of the B phase of the two-phase output pulse from the pulse generator 1006, and the count value of the second counter 1003 is stored in the second register. Latch to 1005. Here, the same applies when the A-phase signal is used instead of the B-phase. With the counter and register configuration shown in FIG.
When the first counter 1002 counts two-phase signals, the two-phase signals A-phase signal and B-signal are generated to generate a latch signal for transferring the value of the second counter 1003 indicating time to the second register 1005. A separate circuit for taking the EXOR of the phase signals is required. In order not to use another circuit, another register in the microcomputer is used, and the first counter is used at the same timing as when the value of the second counter 1003 is transferred.
It is necessary to transfer the value of the counter 1002 of 1 to the first register 1004.
【0019】図11は2相パルス信号と第1のカウンタ
1002,第2のカウンタ1003,第1のレジスタ1
004,第2のレジスタ1005の動作のタイミングを
示している。第1のカウンタ1002は2相信号のパル
スを計数し、第2のカウンタ1002は時間を示すクロ
ックパルスを計数している。ここではラッチ信号として
B相信号の立ち下がりのみを使用し、第2のカウンタ1
003の値を第2のレジスタ1005に転送し、第1の
カウンタ1002の値を第1のレジスタ1004に転送して
いる。図1に示した構成の場合、モータ位置とそれに対
応する時間を読み込むために図3または図6に示すフロ
ーチャートを実行していたが、図10に示した構成の場
合、図3または図6に示すフローチャートにおいて第1
のカウンタの値を読み込む処理ステップ301,303
またはステップ602,607の処理を、第1のレジス
タ1004の値を取り込む処理に変更する必要がある。
図7に示した速度を計算するフローチャートはそのまま
使用できる。FIG. 11 shows a two-phase pulse signal, a first counter 1002, a second counter 1003, and a first register 1.
004, the operation timing of the second register 1005 is shown. The first counter 1002 counts pulses of a two-phase signal, and the second counter 1002 counts clock pulses indicating time. Here, only the falling edge of the B-phase signal is used as the latch signal, and the second counter 1
The value of 003 is transferred to the second register 1005, and the value of the first counter 1002 is transferred to the first register 1004. In the case of the configuration shown in FIG. 1, the flowchart shown in FIG. 3 or 6 was executed to read the motor position and the time corresponding thereto, but in the case of the configuration shown in FIG. 1st in the flowchart shown
Steps 301 and 303 for reading the counter value of
Alternatively, it is necessary to change the processing of steps 602 and 607 to the processing of fetching the value of the first register 1004.
The flow chart for calculating the velocity shown in FIG. 7 can be used as it is.
【0020】[0020]
【発明の効果】本発明によれば、モータ速度検出のため
の回路を別途設けるのではなく、マイクロコンピュータ
の中に内蔵されたカウンタとレジスタを使用すること
で、データバス等をマイコンから外部に出す必要がなく
なるので回路を小型化できる。さらに、カウンタとレジ
スタのデータを取り込んでいる途中でデータが更新され
た場合にも、データを2度読みすることで同一時点のカ
ウンタとレジスタの値を判断でき、モータ速度計算値の
誤差をなくすことができる。According to the present invention, a data bus or the like can be transferred from the microcomputer to the outside by using a counter and a register built in the microcomputer instead of separately providing a circuit for detecting the motor speed. The circuit can be miniaturized because there is no need to take it out. Further, even if the data is updated while the data of the counter and the register is being fetched, the values of the counter and the register at the same point in time can be determined by reading the data twice, eliminating the error in the calculated motor speed value. be able to.
【図1】本発明による一実施例の速度検出装置を示す図
である。FIG. 1 is a diagram showing a speed detection device according to an embodiment of the present invention.
【図2】モータパルスとカウンタとレジスタの動作タイ
ミングを示す図である。FIG. 2 is a diagram showing operation timings of a motor pulse, a counter, and a register.
【図3】カウンタとレジスタの取り込みを行う処理のフ
ローチャートである。FIG. 3 is a flowchart of a process of loading a counter and a register.
【図4】速度検出処理のタイミングとレジスタの更新タ
イミングを示す図である。FIG. 4 is a diagram showing a timing of speed detection processing and a timing of updating a register.
【図5】速度検出処理のタイミングとレジスタの更新タ
イミングを示す図である。FIG. 5 is a diagram showing a timing of speed detection processing and a timing of updating a register.
【図6】カウンタとレジスタの取り込みを行う処理のフ
ローチャートである。FIG. 6 is a flowchart of a process of loading a counter and a register.
【図7】モータ速度計算処理のフローチャートである。FIG. 7 is a flowchart of a motor speed calculation process.
【図8】低速度領域でのモータ速度検出処理。FIG. 8 is a motor speed detection process in a low speed region.
【図9】本発明による一実施例の速度検出装置を示す図
である。FIG. 9 is a diagram showing a speed detection device according to an embodiment of the present invention.
【図10】本発明による一実施例の速度検出装置を示す
図である。FIG. 10 is a diagram showing a speed detection device according to an embodiment of the present invention.
【図11】モータパルスとカウンタとレジスタの動作タ
イミングを示す図である。FIG. 11 is a diagram showing operation timings of a motor pulse, a counter, and a register.
1…マイクロコンピュータ、2…第1のカウンタ、3…
第2のカウンタ、4…レジスタ、5…パルス発生器、6
…モータ。1 ... Microcomputer, 2 ... First counter, 3 ...
Second counter, 4 ... Register, 5 ... Pulse generator, 6
…motor.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大津 英一 茨城県ひたちなか市大字高場2520番地 株 式会社日立製作所自動車機器事業部内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Eiichi Otsu 2520 Takaba, Hitachinaka City, Ibaraki Prefecture Hitachi Ltd. Automotive Equipment Division, Hitachi Ltd.
Claims (6)
ルス発生器と、 前記パルス発生器からのパルスの数を計数する第1のカ
ウンタ,時間を計測するためのクロックパルスを計数す
る第2のカウンタ,前記パルス発生器からのパルスに同
期して前記第2のカウンタの出力値をラッチするレジス
タを備えたマイクロコンピュータと、 前記マイクロコンピュータにおいてモータの速度を演算
する速度演算手段とを備えたことを特徴とするモータ速
度検出装置。1. A pulse generator that outputs a pulse each time the motor rotates, a first counter that counts the number of pulses from the pulse generator, and a second counter that counts clock pulses for measuring time. Of the counter, a microcomputer including a register for latching the output value of the second counter in synchronization with the pulse from the pulse generator, and a speed calculation means for calculating the speed of the motor in the microcomputer. A motor speed detection device characterized by the above.
所定のサンプリング時間毎に前記第1のカウンタの出力
値と前記レジスタの出力値のうち、最初にどちらか一方
の値を取り込んで記憶し、次に他方の値を取り込んで記
憶し、最後に前記最初に取り込んだ方の値をもう一度取
り込んで記憶し、 前記最初に取り込んで記憶した値と前記最後に取り込ん
で記憶した値が同じときには、取り込んで記憶した前記
第1のカウンタの出力値を今回のサンプリングのモータ
位置データとし、取り込んで記憶した前記レジスタの出
力値を今回のサンプリングの時間データとし、 前記最初に取り込んで記憶した値と前記最後に取り込ん
で記憶した値が異なるときには、前記他方の値をもう一
度取り込んで記憶し、二度目に取り込んで記憶した前記
第1のカウンタの出力値を今回のサンプリングのモータ
位置データとし、二度目に取り込んで記憶した前記レジ
スタの出力値を今回のサンプリングの時間データとし、 今回のサンプリングおよびそれ以前のサンプリングの前
記モータ位置データと前記時間データとからモータの速
度を演算することを特徴とするモータ速度検出装置。2. The speed calculation means according to claim 1,
Of the output value of the first counter and the output value of the register for each predetermined sampling time, either one of the values is first captured and stored, then the other value is captured and stored, and finally the above-mentioned. The first captured value is again captured and stored, and when the first captured and stored value is the same as the last captured and stored value, the captured and stored output value of the first counter is The sampling motor position data is used, and the output value of the register captured and stored is the time data of the current sampling, and when the value captured and stored at the beginning is different from the value captured and stored at the end, the other value is stored. Is again captured and stored, and the output value of the first counter that is captured and stored a second time is used as the motor position data for this sampling. The output value of the register that was captured and stored a second time is used as the time data for the current sampling, and the motor speed is calculated from the motor position data and the time data for the current sampling and previous samplings. Motor speed detection device characterized by.
ルス発生器と、 前記パルス発生器からのパルスの数を計数する第1のカ
ウンタと、 一定周波数のクロックパルスを出力するクロックパルス
発生器と、 前記クロックパルスを計数する第2のカウンタと、 前記パルス発生器からのパルスに同期して第2のカウン
タの出力値を保持するラッチ回路と、 前記第1のカウンタの出力値と前記ラッチ回路の出力値
を取り込むことができるマイクロコンピュータと、 前記マイクロコンピュータにおいてモータの速度を演算
する速度演算手段とを備えたことを特徴とするモータ速
度検出装置。3. A pulse generator that outputs a pulse each time the motor rotates, a first counter that counts the number of pulses from the pulse generator, and a clock pulse generator that outputs a clock pulse of a constant frequency. A second counter that counts the clock pulses; a latch circuit that holds an output value of the second counter in synchronization with a pulse from the pulse generator; an output value of the first counter and the latch A motor speed detecting device comprising: a microcomputer capable of fetching an output value of a circuit; and a speed calculating means for calculating a speed of a motor in the microcomputer.
所定のサンプリング時間毎に前記第1のカウンタの出力
値と前記ラッチ回路の出力値のうち、最初にどちらか一
方の値を取り込んで記憶し、次に他方の値を取り込んで
記憶し、最後に前記最初に取り込んだ方の値をもう一度
取り込んで記憶し、前記最初に取り込んで記憶した値と
前記最後に取り込んで記憶した値が同じときには、取り
込んで記憶した前記第1のカウンタの出力値を今回のサ
ンプリングのモータ位置データとし、取り込んで記憶し
た前記ラッチ回路の出力値を今回のサンプリングの時間
データとし、 前記最初に取り込んで記憶した値と前記最後に取り込ん
で記憶した値が異なるときには、前記他方の値をもう一
度取り込んで記憶し、二度目に取り込んで記憶した前記
第1のカウンタの出力値を今回のサンプリングのモータ
位置データとし、二度目に取り込んで記憶した前記ラッ
チ回路の出力値を今回のサンプリングの時間データと
し、 今回のサンプリングおよびそれ以前のサンプリングの前
記モータ位置データと前記時間データとからモータの速
度を演算することを特徴とするモータ速度検出装置。4. The speed calculation means according to claim 3,
Of the output value of the first counter and the output value of the latch circuit for each predetermined sampling time, either one of the values is first captured and stored, then the other value is captured and stored, and finally The first captured value is again captured and stored, and when the first captured and stored value is the same as the last captured and stored value, the captured and stored output value of the first counter is The sampling motor position data, the captured and stored output value of the latch circuit is the current sampling time data, and when the first captured and stored value is different from the last captured and stored value, the other Value of the first counter is stored again and stored, and the output value of the first counter stored and stored a second time is used as the motor position for this sampling. As the data, the output value of the latch circuit that is captured and stored the second time is used as the time data of the current sampling, and the motor speed is calculated from the motor position data and the time data of the current sampling and the sampling before that. A motor speed detection device characterized by the above.
ルス発生器と、 前記パルス発生器からのパルスの数を計数する第1のカ
ウンタ,時間を計測するためのクロックパルスを計数す
る第2のカウンタ,前記パルス発生器からのパルスに同
期して前記第1のカウンタの出力値をラッチする第1の
レジスタ,前記パルス発生器からのパルスに同期して前
記第2のカウンタの出力値をラッチする第2のレジスタ
を備えたマイクロコンピュータと、 前記マイクロコンピュータにおいてモータの速度を演算
する速度演算手段とを備えたことを特徴とするモータ速
度検出装置。5. A pulse generator that outputs a pulse each time the motor rotates, a first counter that counts the number of pulses from the pulse generator, and a second counter that counts clock pulses for measuring time. Counter, a first register that latches the output value of the first counter in synchronization with the pulse from the pulse generator, and an output value of the second counter in synchronization with the pulse from the pulse generator. A motor speed detecting device comprising: a microcomputer having a second register for latching; and speed calculating means for calculating the speed of a motor in the microcomputer.
所定のサンプリング時間毎に前記第1のレジスタの出力
値と前記第2のレジスタの出力値のうち、最初にどちら
か一方の値を取り込んで記憶し、次に他方の値を取り込
んで記憶し、最後に前記最初に取り込んだ方の値をもう
一度取り込んで記憶し、 前記最初に取り込んで記憶した値と前記最後に取り込ん
で記憶した値が同じときには、取り込んで記憶した前記
第1のレジスタの出力値を今回のサンプリングのモータ
位置データとし、取り込んで記憶した前記第2のレジス
タの出力値を今回のサンプリングの時間データとし、 前記最初に取り込んで記憶した値と前記最後に取り込ん
で記憶した値が異なるときには、前記他方の値をもう一
度取り込んで記憶し、二度目に取り込んで記憶した前記
第1のレジスタの出力値を今回のサンプリングのモータ
位置データとし、二度目に取り込んで記憶した前記第2
のレジスタの出力値を今回のサンプリングの時間データ
とし、 今回のサンプリングおよびそれ以前のサンプリングの前
記モータ位置データと前記時間データとからモータの速
度を演算することを特徴とするモータ速度検出装置。6. The speed detecting means according to claim 5,
Of the output value of the first register and the output value of the second register for each predetermined sampling time, either one of the values is first captured and stored, and then the other value is captured and stored, Finally, the first captured value is captured again and stored, and when the value captured and stored at the beginning and the value captured and stored at the end are the same, the output value of the first register captured and stored. Is the motor position data for the current sampling, and the output value of the second register that has been captured and stored is the time data for the current sampling, and the first captured and stored value is different from the last captured and stored value. Sometimes, the other value is captured and stored again, and the output value of the first register that is captured and stored a second time is stored in the current sampling value. Over data and the position data, the second stored incorporates a second time
The motor speed detecting device is characterized in that the output value of the register is used as the time data of the current sampling, and the speed of the motor is calculated from the motor position data and the time data of the current sampling and the sampling before that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7121098A JPH08313548A (en) | 1995-05-19 | 1995-05-19 | Device for detecting speed of motor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7121098A JPH08313548A (en) | 1995-05-19 | 1995-05-19 | Device for detecting speed of motor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08313548A true JPH08313548A (en) | 1996-11-29 |
Family
ID=14802837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7121098A Pending JPH08313548A (en) | 1995-05-19 | 1995-05-19 | Device for detecting speed of motor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH08313548A (en) |
-
1995
- 1995-05-19 JP JP7121098A patent/JPH08313548A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108549024B (en) | Predictive M/T speed measurement system and method | |
JP2690210B2 (en) | Elevator speed detector | |
JPH09273942A (en) | Method for interpolating sensor output | |
JP3173174B2 (en) | Speed detector | |
JPH08313548A (en) | Device for detecting speed of motor | |
JPH02165055A (en) | Speed detector | |
JP2963019B2 (en) | Speed detector | |
JPH036459A (en) | Method for detecting number of rotations | |
JPH061279B2 (en) | Digital speed detector | |
JPH034174A (en) | Speed detecting device for vehicle | |
JP3223884B2 (en) | Duty ratio determination circuit and duty ratio determination method | |
JPH04346069A (en) | Speed signal generating circuit | |
JP2001273005A (en) | Servo control system, electronic instrument and method for adjusting gain | |
JPH03289567A (en) | Apparatus for detecting rotational speed | |
JP2002311040A (en) | Speed detector | |
JP2949914B2 (en) | Speed detector | |
JP3320454B2 (en) | Motor position control device and motor position control method | |
KR0185917B1 (en) | Capstan motor speed control device | |
JPH1080176A (en) | Motor control apparatus | |
JPH04233467A (en) | Method and apparatus for measuring speed of motor | |
KR19990043005A (en) | Motor speed detection device using incremental encoder | |
JPH10255489A (en) | Microcomputer | |
JP2891472B2 (en) | Speed signal detection circuit | |
JPH10260197A (en) | Detecting circuit for velocity pulse | |
JPH0817586B2 (en) | Digital controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050121 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070808 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Effective date: 20070810 Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Effective date: 20070810 Free format text: JAPANESE INTERMEDIATE CODE: A61 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100824 Year of fee payment: 3 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |