JPH0681535B2 - Motor speed controller - Google Patents
Motor speed controllerInfo
- Publication number
- JPH0681535B2 JPH0681535B2 JP61052909A JP5290986A JPH0681535B2 JP H0681535 B2 JPH0681535 B2 JP H0681535B2 JP 61052909 A JP61052909 A JP 61052909A JP 5290986 A JP5290986 A JP 5290986A JP H0681535 B2 JPH0681535 B2 JP H0681535B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- value
- output value
- signal
- rotation error
- 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 - Lifetime
Links
- 230000015654 memory Effects 0.000 claims description 126
- 238000001514 detection method Methods 0.000 claims description 66
- 238000003860 storage Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000000694 effects Effects 0.000 description 7
- 238000007493 shaping process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 239000002131 composite material Substances 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Landscapes
- Control Of Ac Motors In General (AREA)
- Control Of Electric Motors In General (AREA)
Description
産業上の利用分野 本発明は、モータの速度制御装置に関するものである。 従来の技術 モータの回転速度を速度検出器により検出して、その検
出信号によってモータへの供給電力を制御するモータの
速度制御装置は、ビデオテープレコーダのキャプスタン
モータやシリンダモータ等に広く利用されている(例え
ば、本出願人が提案した特願昭56-142724号明細書参
照)。しかしながら、このような速度制御装置では、従
来から利用されている比例・積分・微分制御を行ってい
るだけであり、負荷トルク変動による回転速度の変動を
十分に抑制することができなかった。 このような問題を解決するために、本出願人は特願昭60
-229143号明細書および特願昭60-229144号明細書に負荷
トルク変動に対して非常に強くした高性能なモータの速
度制御装置を提案した。すなわち、特願昭60-229143号
や特願昭60-229144号では、モータの回転速度に応じた
周期の交流信号を生じる回転センサと、回転センサの交
流信号によりモータの1回転当たり複数回の検出を行う
速度検出手段と、速度検出手段の検出信号にもとずき演
算・記憶して制御信号を作り出す補償手段と、補償手段
の制御信号に応じた電力を前記モータに供給する電力増
幅手段(駆動手段)によって速度制御系を構成してい
る。さらに、速度検出手段の検出信号に応動した回転誤
差を得る回転誤差検出手段と、NxL個(複数個)のメモ
リ値群M〔O〕からM〔NxL−1〕を格納するメモリ手
段と、メモリ手段のL間隔ずつ離れたNx個のメモリ値群
を使って合成計算される合成値を実質的に算出する合成
値算出手段(メモリ出力値作成手段)と、合成値算出手
段の合成値と回転誤差検出手段の回転誤差を演算合成し
た値に対応した更新値によってメモリ手段のメモリ値を
実質的に順番に更新保存する更新保存手段と、合成値算
出手段の合成値と回転誤差検出手段の回転誤差を演算合
成して制御信号を作り出す制御信号作成手段とを有する
補償手段を使用することによって、高性能なモータの速
度制御装置を実現している。 発明が解決しようとする課題 しかしながら、特願昭60-229143号や特願昭60-229144号
では、多数のデジタルメモリを使用することが必要不可
欠であり、通常、16bits×1000words=16kbits程度のメ
モリが必要とされる。近年の半導体製造技術の向上によ
ってメモリ用のIC素子が急速に低価格化しているとはい
え、16kbitsものメモリを使用することはコストの大幅
な上昇を招き、好ましくない。 また、合成値算出手段(メモリ出力値作成手段)や更新
保存手段を含んだ補償手段の動作にはかなりの演算量が
あり、速度検出器の検出周期内に所定の演算を終わるた
めには、高価な高速の乗算器等を使って高速演算する必
要があった。すなわち、補償手段を実現するハードウェ
アの構成や動作速度に関してかなりの制約があった。 本発明は、このような点を考慮して、上記の例に示され
るような多くのメモリを使用するモータの速度制御装置
について検討し、制御性能を悪化させることなく、必要
メモリ数を大幅に低減し、かつ、演算時間の制約も緩め
るようにしたモータの速度制御装置を提供することを目
的としている。 課題を解決するための手段 上記目的を達成するために、本発明のモータの速度制御
装置では、モータの回転速度に応じた周期の交流信号を
生じる回転センサと、前記回転センサの交流信号により
前記モータの1回転当たり複数回の検出を行う速度検出
手段と、前記速度検出手段の検出信号にもとずき制御信
号を生成する補償手段と、前記補償手段の制御信号に応
じて前記モータを駆動する駆動手段を具備し、 前記補償手段は、前記速度検出手段が新しい検出信号を
得る検出タイミング毎に、前記検出信号に基づいて新し
い回転誤差を得る回転誤差検出手段と、Nx・L個(ここ
に、Nxは1以上の整数、Lは4以上の整数)の順序づけ
られたメモリ値を格納保存するメモリ手段と、前記回転
誤差検出手段が新しい回転誤差をQ回(ここに、Qは2
以上の整数)得るタイミングを更新タイミングとして、
前記Nx・L個のメモリ値を順番に前記回転誤差検出手段
の回転誤差とメモリ出力値作成手段のメモリ出力値を演
算合成した更新値によって更新保存する更新保存手段
と、Nxが1の場合には少なくとも1個のメモリ値を使
い、Nxが2以上の場合には更新間隔が前記更新タイミン
グのL倍以上離れたNx個のメモリ値群を少なくとも1組
使って、前記更新タイミングに同期して前記メモリ出力
値を生成する前記メモリ出力値作成手段と、前記検出タ
イミング毎に前記回転誤差検出手段の回転誤差と前記メ
モリ出力値作成手段のメモリ出力値を演算合成して前記
制御信号を生成する制御信号作成手段と、プログラムに
従って、前記回転誤差検出手段と前記メモリ出力値作成
手段と前記更新保存手段と前記制御信号作成手段の動作
を実行する演算手段を含んで構成され、 前記演算手段は、前記速度検出手段が新しい検出信号を
得る前記検出タイミング毎に、前記回転誤差検出手段と
前記制御信号作成手段の動作を実行し、かつ、前記メモ
リ出力値作成手段と前記更新保存手段による1個の前記
メモリ値の更新動作を複数の部分動作に分割し、前記各
部分動作を前記速度検出手段の異なったタイミングにお
いて実行させるようにしている。 作用 本発明では、上記の構成にすることによって、特願昭60
-229143号や特願昭60-229144号に示したように、特定の
周波数の負荷トルク変動の影響を大幅に低減させること
ができる。しかも、少数(Q分の1)のメモリ数を使用
して経済的に高性能なモータの速度制御装置を実現して
いる。さらに、メモリ出力値作成手段と更新保存手段に
よる1個の前記メモリ値の更新動作を複数の部分動作に
分割し、前記各部分動作を速度検出手段の異なったタイ
ミングにおいて演算手段によって実行するようにしてい
るので、演算速度の遅い1個の演算手段の使用により、
回転誤差検出手段とメモリ出力値作成手段と更新保存手
段と制御信号作成手段の動作を実行可能にした。 実施例 以下、本発明の一実施例のモータの速度制御装置につい
て、図面を参照しながら説明する。第2図に本発明のモ
ータの速度制御装置の全体の構成図を示す。第2図にお
いて、直流モータ1は回転センサ2と負荷10を直接回転
駆動する。回転センサ2はモータ1の回転に伴って1回
転当たりZq回(Zqは2以上の整数であり、ビデオテープ
レコーダのキャプスタンモータでは、通常、Zq=357)
の交流信号aを発生する。回転センサ2の交流信号aは
速度検出器3に入力され、交流信号aの周期に応じたデ
ジタル信号bを得ている。 速度検出器3の具体的な構成例を第3図に示す。交流信
号aは波形整形回路31によって波形整形され、整形信号
gを得ている。整形信号gはアンド回路33とフリップフ
ロップ35に入力されている。アンド回路33の入力側に
は、さらに、発振回路32のクロックパルスPとカウンタ
34のオーバフロー出力信号wも入力されている。発振回
路32は水晶発振器と分周器等によって構成され、整形信
号gの周波数よりもかなり高周波のクロックパルスp
(500kHz程度)を発生している。カンウタ34は、アンド
回路33の出力パルスhの到来毎にその内容をカウントア
ップする12ビットのアップカウンタになっている。ま
た、オーバフロー出力信号wはカウンタ34のカウント内
容が所定値以下の時には“H"であり、カウンタ34のカウ
ント内容が所定値以上になるとwは“L"に変化する(こ
こに、“H"は高電位状態を表し、“L"は低電位状態を表
している)。データ入力型フリップフロップ35は、整形
信号gの立ち下がりエッジをトリガ信号としてデータ入
力端子に入力された“H"を取り込み、その出力Qを“H"
にする(q=“H")。また、補償器4からのリセット信
号rが“H"になると、カウンタ34とフリップフロップ35
の内部状態がリセットされる(b=“LLLLLLLLLLLL"、
w=“H"、q=“L")。 次に、第3図の速度検出器3の動作について説明する。
いま、カウンタ34とフリップフロップ35がリセット信号
rによってリセットされているものとする。波形整形回
路31の出力信号gが“L"から“H"に変わると、アンド回
路33の出力信号hとして発振回路32のクロックパルスp
が出力される。カウンタ34は出力信号hをカウントし、
その内部状態を変化させていく。波形整形回路31の出力
信号gが“H"から“L"に変わると、アンド回路33の出力
信号hは“L"になり、カウンタ34はその内部状態を保持
する。また、フリップフロップ35は信号gの立ち下がり
エッジによってデータ“H"を取り込み、その出力信号q
を“L"から“H"に変化させる。カウンタ34のデジタル信
号bは、回転センサ2の交流信号aの(半)周期長に比
例した値であり、モータ1の回転速度に反比例してい
る。後述の補償器4は、フリップフロップ35の出力信号
qを見て、qが“H"になるとカウンタ34のデジタル信号
bを入力し、その後にリセット信号rを所定の短時間の
間“H"にして、カウンタ34とフリップフロップ35を初期
状態にリセットし、次の速度検出動作に備えている。な
お、モータ1の回転速度が遅過ぎるときには、波形整形
回路31の出力信号gの周期が長いためにカウンタ34の内
部状態が所定値以上になり、オーバフロー出力信号wが
“H"から“L"に変わり、アンド回路33の出力信号hが
“L"になり、カウンタ34が所定の大きな値を保持するこ
ともある。 第2図の補償器4は、演算器5とメモリ6とD/A変換器
7によって構成され、速度検出器3のデジタル信号bを
後述する内蔵のプログラムによって計算加工し、制御信
号cを出力する。補償器4の制御信号cは電力増幅器8
(駆動部)に入力され、電力増幅された駆動信号d(制
御信号cに比例した電流)がモータ1に供給される。従
って、モータ1と回転センサ2と速度検出器3と補償器
4と電力増幅器8(駆動部)によって速度制御系が構成
され、モータ1の回転速度が所定の値に制御される。 補償器4のメモリ6は、所定のプログラムと定数が格納
されたロム領域(ROM:リードオンリーメモリ)と随時必
要な値を格納するラム領域(RAM:ランダムアクセスメモ
リ)に別れている。演算器5はロム領域内のプログラム
に従って所定の動作や演算を行っている。第1図にその
プログラムの具体的な一例を示す。次に、その動作につ
いて詳細に説明する。 (1)〈回転誤差検出器1A〉 まず、演算器5は速度検出器3のフリップフロップ35の
出力信号qを入力し、信号qが“H"となるのを待ってい
る。すなわち、速度検出器3が交流信号aの(半)周期
を検出し、新しいデジタル信号bを出力するのをモニタ
している。qが“H"になると、速度検出器3のデジタル
信号bを読み込んで、デジタル信号bに対応する速度検
出値S(デジタル値)に直すと共に、リセット信号rを
所定時間“H"にして速度検出器3のカウンタ34とフリッ
プフロップ35をリセットする。所定の基準値Srefから速
度検出値Sを引いて、その値をR倍(ここに、Rは所定
の正の定数)し、モータ1の現時点での回転誤差Eを計
算する 〔E=R・(Sref−S)〕。 (2)〈制御信号作成部1B〉 後述するメモリ出力値作成部1Eによるメモリ出力値V0と
回転誤差検出部1Aの現時点の回転誤差Eを所定の比率D:
1(ここに、Dは0<D≦1なる定数で、好ましくはD
=1)にて演算合成し、制御信号値Yを計算する(Y=
E+D・V0)。制御信号値YをD/A変換器7に出力し、
Yの値に対応した直流的な電圧(制御信号)に変換す
る。 (3)〈第1のカウント部1C〉 Q(ここに、Qは2以上の整数)をmod(法)として、
新しい速度検出値Sを得る毎に第1のカウント変数I1を
カウントアップしていく。 すなわち、I1=I1+1(I1+1を新しくI1にする)にし
た後に、I1=QならばI1を0にリセットする。このよう
な演算をするならば、I1は0からQ−1の間の整数にな
る。なお、I1の初期値は0とする。I1が0ならば
(4),(5)の動作を実行し、I1が1ならば(6)の
動作を実行し、I1が0や1でないならば(1)の動作に
復帰する。 (4)〈第2のカウント部1D〉 Nx・L(ここに、Nxは整数、Lは4以上の整数。特に、
Nxが2以上の整数、Lが(Zq/Q)の2以上の整数倍の整
数であることが好ましいので、以後このような場合につ
いて説明する。)をmod(法)として、第1のカウント
変数I1が0になる毎に(新しい速度検出値SをQ個得る
毎に)第2のカウント変数I2をカウントアップしてい
く。すなわち、I2=I2+1にした後に、I2=NxLならばI
2を0にリセットする。このような演算をするならば、I
2は0からNxL−1の間の整数になる。なお、I2の初期値
はNxL−1とする。 (5)〈メモリ出力値作成部1E〉 整数JをI2に等しくし(J=I2)、メモリ6のラム領域
内のL間隔ずつ離れたNx個のメモリ値群M〔J−nL(mo
d NxL〕(n=1,……,Nx)を使って、次式によりメモリ
出力値V0を作り出す。 ここに、比率Wnの値は、 0<Wn<2/Nx(n=1,……,Nx) ……(2) であり、さらに、 と規格化している。具体的には、Nx≧2の場合に Wn=1/Nx(n=1,……,Nx) ……(4) にすると、(1)式はメモリ値群M〔J−nL(modNx
L)〕(n=1,……,Nx)を単純に加算合成した後にNx
(整数)で割ることになり、演算が非常に簡単になる。
その後に、(1)の動作に復帰する。 (6)〈更新保存部1F〉 メモリ出力値作成部1Eによるメモリ出力値V0と回転誤差
検出部1Aの回転誤差Eを1:1の比率にて演算合成して更
新値を計算し、第2のカウント変数I2に対応したメモリ
6のラム領域内のメモリ値M〔I2〕を更新し(M〔I2〕
=E+V0)、次の更新時まで格納保存する。その後に、
(1)の動作に復帰する。 本実施例のモータの速度制御装置では、第2図の負荷10
の生じる負荷トルク変動の特定の周波数成分に対して極
めて強くなることは、先願の特許と同様である。さら
に、本実施例に示すように、回転誤差検出部1Aが新しい
回転誤差信号を得る毎に制御信号作成部1Bは新しい制御
信号を作り出すようにし、かつ、回転誤差検出部1Aが新
しい回転誤差信号をQ個得る毎に更新保存部1Fが1個の
メモリ値を更新するようになすならば、実質的にメモリ
部に必要とされるメモリ数がQ分の1に削減される。こ
のようにメモリ数を削減しても、前述の負荷トルク変動
の特定の周波数成分に対して極めて強くなる効果(回転
速度変動が生じない効果)は保持されている。これは、
次のように説明できる。Lの値を大きくすると、メモリ
6やメモリ出力値作成部1Eや更新保存部1Fの動作によっ
て改善される周波数成分が回転誤差検出部1A(速度検出
器3)の検出周波数に較べてかなり低くできることがわ
かった。従って、更新保存部1Fにおいて利用する回転誤
差検出部1Aの回転誤差信号の頻度をQ分の1に小さくし
ても、上述の改善効果に悪影響を生じないようにできる
のである。 また、メモリ出力値作成部1Eと更新保存部1Fによってメ
モリ更新部が構成され、1個のメモリ値の更新動作(メ
モリ出力値作成部1Eと更新保存部1Fによるメモリ更新動
作)を回転誤差検出部1Aの回転誤差の検出動作(速度検
出器3の検出信号)に関してタイミングをずらせている
ので、回転誤差検出部1Aの1検出周期内に必要とされる
演算量が少なくなっている。さらに、メモリ出力値作成
部1Eの動作をI1=0の時に行っているので、制御信号作
成部1Bにおいて利用するメモリ出力値V0は遅れなしに変
更される。 また、本発明のモータの速度制御装置においては、L=
(Zq/Q)・k(ここに、kは2以上の整数)とするなら
ば、モータ1の1回転周期のk倍の周期の負荷トルク変
動による回転速度変動を大幅に抑制する効果がある。こ
のような効果は、ビデオテープレコーダのキャプスタン
モータの場合、非常に好ましいものである。これについ
て説明する。キャプスタンモータの負荷は磁気テープや
ピンチローラであるので、負荷10の発生する負荷変動は
モータ1の回転に同期している成分(モータ1の1回転
を基本周期とした周期的な負荷変動)以外に、モータ1
の回転周波数よりも低い周波数の負荷変動成分が生じる
ことが多い。このような負荷変動はキャプスタンモータ
の回転速度変動の原因であり、テープ速度のワウ・フラ
ッタを生じさせる。ところで、このような負荷変動はモ
ータ1の1回転の周期の整数倍の周期を持つ周期的な変
動が多いことがわかった。従って、上述の効果によっ
て、負荷トルク変動によるモータ1の回転速度のかなり
低周波の変動分を効果的に低減できる。なお、QはZqの
約数に限らないことを指摘しておく(たとえば、Q=k
とすれば、QはZqに無関係になる)。 第4図に制御系全体の安定性を考慮にいれた補償器4の
プログラム例を示す。ここでは、更新保存部における更
新値の計算の仕方と、メモリ出力値作成部におけるメモ
リ出力値の準備の個数と、制御信号作成部におけるメモ
リ出力値作成部のメモリ出力値の利用の仕方を改良して
いる。次に、その動作について詳細に説明する(全体の
構成は第2図と同じであり、説明を省略する)。 (11)〈回転誤差検出部4A〉 まず、演算器5は速度検出器3のフリップフロップ35の
出力信号qを入力し、信号qが“H"となるのを待ってい
る。すなわち、速度検出器3が交流信号aの(半)周期
を検出し、新しいデジタル信号bを出力するのをモニタ
している。qが“H"になると、速度検出器3のディジタ
ル信号bを読み込んで、デジタル信号bに対応する速度
検出値S(デジタル値)に直すと共に、リセット信号r
を所定時間“H"にして速度検出器3のカウンタ34とフリ
ップフロップ35をリセットする。所定の基準値Srefから
速度検出値Sを引いて、その値をR倍(ここに、Rは所
定の正の定数)し、モータ1の現時点での回転誤差Eを
計算する 〔E=R・(Sref−S)〕。 (12)〈制御信号作成部4B〉 後述するメモリ出力値作成部4Eによるメモリ出力値V0と
回転誤差検出部4Aの現時点の回転誤差Eを所定の比率D:
1にて演算合成し、制御信号値Yを計算する(Y=E+
D・V0)。制御信号値YをD/A変換器7に出力し、Yの
値に対応した直流的な電圧(制御信号)に変換する。 (13)〈第1のカウント部4C〉 Qをmod(法)として、新しい速度検出値Sを得る毎に
第1のカウント変数I1をカウントアップしていく。I1が
Qa(ここにQaはQよりも小さい整数)に等しくなるとメ
モリ出力値V0を後述のV〔Px〕に変更し、I1がQaに等し
くない場合にはこのような変更動作を行わない。これに
より、I1<Qaの範囲ではV0=V〔Px−1〕(後述)にな
り、I1≧Qaの範囲ではV0=V〔Px〕になっている。さら
に、I1が0ならば(14),(15)の動作を実行し、I1が
1ならば(16)の動作を実行し、I1が0や1でないなら
ば(11)の動作に復帰する。 (14)〈第2のカウント部4D〉 Nx・Lをmod(法)として、第1のカウント変数I1が0
になる毎に(新しい速度検出値SをQ個得る毎に)第2
のカウント変数I2をカウントアップしていく。 (15)〈メモリ出力値作成部4E〉 レジスタ変数V〔m+1〕の内容をV〔m〕に順番に転
送した後に〔m=0,1,……,Px−1〕、NxLをmodとして
第2のカウント変数I2にPx(ここに、Pxは1以上で3以
下の整数であり、Px=1が好ましい)を足した整数Jを
計算する〔J=I2+Px(mod NxL)〕。ラム領域内のメ
モリ値群M〔J−nL(mod NxL)〕(n=1,……,Nx)を
使って次の式によって計算される最新のメモリ出力値を
V〔Px〕に入れる。 ここに、Wnの値は(2)式,(3)式および(4)式を
満たしている。すなわち、V〔Px〕からVBACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a motor speed control device. 2. Description of the Related Art A motor speed control device that detects the rotation speed of a motor with a speed detector and controls the power supplied to the motor by the detection signal is widely used for capstan motors and cylinder motors of video tape recorders. (See, for example, Japanese Patent Application No. 56-142724 proposed by the applicant). However, in such a speed control device, only the conventionally used proportional / integral / derivative control is performed, and it is not possible to sufficiently suppress the fluctuation of the rotation speed due to the fluctuation of the load torque. In order to solve such a problem, the present applicant has filed Japanese Patent Application No.
-229143 and Japanese Patent Application No. 60-229144 have proposed a high-performance motor speed control device that is extremely resistant to load torque fluctuations. That is, in Japanese Patent Application No. 60-229143 and Japanese Patent Application No. 60-229144, a rotation sensor that generates an AC signal with a cycle corresponding to the rotation speed of the motor and a plurality of rotation sensors per rotation of the motor by the AC signal of the rotation sensor. Speed detecting means for detecting, compensating means for calculating and storing a control signal based on the detection signal of the speed detecting means, and power amplifying means for supplying electric power according to the control signal of the compensating means to the motor. The (driving means) constitutes a speed control system. Further, a rotation error detecting means for obtaining a rotation error in response to a detection signal of the speed detecting means, a memory means for storing NxL (plural) memory value groups M [O] to M [NxL-1], and a memory A composite value calculating means (memory output value creating means) for substantially calculating a composite value to be compositely calculated using Nx memory value groups separated by L intervals of the means, and a composite value and rotation of the composite value calculating means. Update storage means for updating and storing the memory values of the memory means substantially in order by the update value corresponding to the value obtained by arithmetically synthesizing the rotation error of the error detection means, rotation of the synthesis value and rotation error detection means of the synthesis value calculation means A high-performance motor speed control device is realized by using a compensating means having a control signal generating means for arithmetically combining the errors to generate a control signal. However, in Japanese Patent Application No. 60-229143 and Japanese Patent Application No. 60-229144, it is indispensable to use a large number of digital memories, and normally a memory of 16 bits × 1000 words = 16 kbits is required. Is required. Although IC devices for memories have been rapidly reduced in price due to recent improvements in semiconductor manufacturing technology, it is not preferable to use a memory of 16 kbits because the cost is significantly increased. Further, there is a considerable amount of calculation in the operation of the compensating unit including the combined value calculating unit (memory output value creating unit) and the update storing unit, and in order to finish the predetermined calculation within the detection period of the speed detector, It was necessary to perform high-speed calculation using an expensive high-speed multiplier or the like. That is, there are considerable restrictions on the configuration and operating speed of the hardware that implements the compensation means. In consideration of such a point, the present invention has examined a speed control device for a motor that uses many memories as shown in the above example, and drastically reduces the required number of memories without deteriorating the control performance. An object of the present invention is to provide a speed control device for a motor, which reduces the number of times and relaxes the constraint on the calculation time. Means for Solving the Problems In order to achieve the above object, in a motor speed control device of the present invention, a rotation sensor that generates an AC signal having a cycle corresponding to the rotation speed of the motor, and the AC signal of the rotation sensor, Speed detecting means for detecting a plurality of times per one rotation of the motor, compensating means for generating a control signal based on the detection signal of the speed detecting means, and driving the motor according to the control signal of the compensating means. The compensation means includes a rotation error detection means that obtains a new rotation error based on the detection signal at each detection timing when the speed detection means obtains a new detection signal, and Nx · L (here) In addition, Nx is an integer of 1 or more, L is an integer of 4 or more, and a memory means for storing and storing ordered memory values, and the rotation error detecting means generates a new rotation error Q times (where Q is 2).
The integer above) is the update timing,
Update storage means for updating and storing the Nx · L memory values in order by an update value obtained by arithmetically combining the rotation error of the rotation error detection means and the memory output value of the memory output value creation means; and when Nx is 1, Uses at least one memory value, and when Nx is 2 or more, at least one set of Nx memory value groups whose update interval is L times or more of the update timing is used in synchronization with the update timing. The memory output value generating means for generating the memory output value, and the rotation error of the rotation error detecting means and the memory output value of the memory output value generating means are arithmetically combined for each detection timing to generate the control signal. It includes a control signal creating means, and a computing means for performing the operations of the rotation error detecting means, the memory output value creating means, the update storing means, and the control signal creating means according to a program. The calculation means executes the operation of the rotation error detection means and the control signal creation means at each detection timing at which the speed detection means obtains a new detection signal, and the memory output value creation means. The operation of updating one memory value by the update storing means is divided into a plurality of partial operations, and each partial operation is executed at different timings of the speed detecting means. Action In the present invention, by using the above-mentioned structure, Japanese Patent Application No.
As described in Japanese Patent Application No. 229143 and Japanese Patent Application No. 60-229144, it is possible to significantly reduce the influence of load torque fluctuation at a specific frequency. Moreover, an economically high-performance motor speed control device is realized by using a small number (1 / Q) of the number of memories. Furthermore, one memory value updating operation by the memory output value creating means and the update storing means is divided into a plurality of partial operations, and each partial operation is executed by the calculating means at different timings of the speed detecting means. Therefore, by using one calculation means with a slow calculation speed,
The rotation error detecting means, the memory output value creating means, the update saving means, and the control signal creating means can be executed. Embodiment Hereinafter, a motor speed control device according to an embodiment of the present invention will be described with reference to the drawings. FIG. 2 shows an overall configuration diagram of the motor speed control device of the present invention. In FIG. 2, the DC motor 1 directly drives the rotation sensor 2 and the load 10 to rotate. The rotation sensor 2 is Zq times per rotation according to the rotation of the motor 1 (Zq is an integer of 2 or more, and normally Zq = 357 in a capstan motor of a video tape recorder).
To generate the AC signal a. The AC signal a of the rotation sensor 2 is input to the speed detector 3 to obtain a digital signal b corresponding to the cycle of the AC signal a. FIG. 3 shows a specific configuration example of the speed detector 3. The AC signal a is waveform-shaped by the waveform shaping circuit 31 to obtain the shaped signal g. The shaping signal g is input to the AND circuit 33 and the flip-flop 35. On the input side of the AND circuit 33, the clock pulse P of the oscillator circuit 32 and the counter are further provided.
34 overflow output signals w are also input. The oscillation circuit 32 is composed of a crystal oscillator, a frequency divider, etc., and has a clock pulse p of a frequency considerably higher than the frequency of the shaping signal g.
(About 500kHz) is generated. The counter 34 is a 12-bit up counter that counts up the contents of the output pulse h of the AND circuit 33 each time it arrives. The overflow output signal w is “H” when the count content of the counter 34 is less than or equal to a predetermined value, and w changes to “L” when the count content of the counter 34 is greater than or equal to the predetermined value (here, “H”). Represents a high potential state, "L" represents a low potential state). The data input flip-flop 35 takes in "H" input to the data input terminal with the falling edge of the shaping signal g as a trigger signal, and outputs its output Q to "H".
(Q = “H”). Further, when the reset signal r from the compensator 4 becomes “H”, the counter 34 and the flip-flop 35.
The internal state of is reset (b = "LLLLLLLLLLLL",
w = “H”, q = “L”). Next, the operation of the speed detector 3 shown in FIG. 3 will be described.
Now, it is assumed that the counter 34 and the flip-flop 35 are reset by the reset signal r. When the output signal g of the waveform shaping circuit 31 changes from “L” to “H”, the clock pulse p of the oscillation circuit 32 is output as the output signal h of the AND circuit 33.
Is output. The counter 34 counts the output signal h,
The internal state is changed. When the output signal g of the waveform shaping circuit 31 changes from "H" to "L", the output signal h of the AND circuit 33 becomes "L", and the counter 34 holds its internal state. Further, the flip-flop 35 takes in the data “H” at the falling edge of the signal g and outputs its output signal q.
Is changed from “L” to “H”. The digital signal b of the counter 34 is a value proportional to the (half) cycle length of the AC signal a of the rotation sensor 2 and inversely proportional to the rotation speed of the motor 1. The compensator 4, which will be described later, looks at the output signal q of the flip-flop 35, inputs the digital signal b of the counter 34 when q becomes “H”, and then outputs the reset signal r to “H” for a predetermined short time. Then, the counter 34 and the flip-flop 35 are reset to the initial state to prepare for the next speed detection operation. When the rotation speed of the motor 1 is too slow, the internal state of the counter 34 exceeds a predetermined value because the cycle of the output signal g of the waveform shaping circuit 31 is long, and the overflow output signal w changes from "H" to "L". In some cases, the output signal h of the AND circuit 33 becomes "L" and the counter 34 holds a predetermined large value. The compensator 4 shown in FIG. 2 is composed of a computing unit 5, a memory 6 and a D / A converter 7. The digital signal b of the speed detector 3 is calculated and processed by a built-in program described later, and a control signal c is output. To do. The control signal c of the compensator 4 is the power amplifier 8
The drive signal d (current proportional to the control signal c), which is input to the (drive unit) and is power-amplified, is supplied to the motor 1. Therefore, the motor 1, the rotation sensor 2, the speed detector 3, the compensator 4, and the power amplifier 8 (driving unit) constitute a speed control system, and the rotation speed of the motor 1 is controlled to a predetermined value. The memory 6 of the compensator 4 is divided into a ROM area (ROM: read only memory) in which a predetermined program and constants are stored and a RAM area (RAM: random access memory) in which a required value is stored at any time. The computing unit 5 performs a predetermined operation or computation according to a program in the ROM area. FIG. 1 shows a concrete example of the program. Next, the operation will be described in detail. (1) <Rotation error detector 1A> First, the calculator 5 inputs the output signal q of the flip-flop 35 of the speed detector 3 and waits for the signal q to become "H". That is, it is monitored that the speed detector 3 detects the (half) cycle of the AC signal a and outputs a new digital signal b. When q becomes "H", the digital signal b of the speed detector 3 is read, the speed detection value S (digital value) corresponding to the digital signal b is read, and the reset signal r is set to "H" for a predetermined time to set the speed. The counter 34 and the flip-flop 35 of the detector 3 are reset. The speed detection value S is subtracted from the predetermined reference value Sref, and the value is multiplied by R (where R is a predetermined positive constant) to calculate the rotation error E of the motor 1 at the present time [E = R. (Sref-S)]. (2) <Control signal creating unit 1B> The memory output value V0 by the memory output value creating unit 1E, which will be described later, and the current rotation error E of the rotation error detecting unit 1A are set to a predetermined ratio D:
1 (where D is a constant 0 <D ≦ 1, preferably D
= 1), the control signal value Y is calculated (Y =
E + D ・ V0). Output the control signal value Y to the D / A converter 7,
It is converted into a DC voltage (control signal) corresponding to the value of Y. (3) <first counting unit 1C> Q (where Q is an integer of 2 or more) is mod (modulus),
Each time a new speed detection value S is obtained, the first count variable I1 is incremented. That is, after setting I1 = I1 + 1 (I1 + 1 is newly set to I1), if I1 = Q, I1 is reset to 0. If such an operation is performed, I1 becomes an integer between 0 and Q-1. The initial value of I1 is 0. If I1 is 0, the operations (4) and (5) are executed, if I1 is 1, the operation (6) is executed, and if I1 is not 0 or 1, the operation returns to (1). (4) <Second Counting Unit 1D> Nx · L (where Nx is an integer and L is an integer of 4 or more. In particular,
Since Nx is preferably an integer of 2 or more and L is an integer multiple of 2 or more of (Zq / Q), such a case will be described below. ) As a mod (modulus), the second count variable I2 is incremented each time the first count variable I1 becomes 0 (every Q new speed detection values S are obtained). That is, after setting I2 = I2 + 1, if I2 = NxL, then I
Reset 2 to 0. If you do such an operation, I
2 will be an integer between 0 and NxL-1. The initial value of I2 is NxL-1. (5) <Memory output value creation unit 1E> The integer J is made equal to I2 (J = I2), and Nx memory value groups M [J-nL (mo
Using d NxL] (n = 1, ..., Nx), a memory output value V0 is created by the following equation. Here, the value of the ratio Wn is 0 <Wn <2 / Nx (n = 1, ..., Nx) (2), and Is standardized. Specifically, if Wn = 1 / Nx (n = 1, ..., Nx) (4) when Nx ≧ 2, the equation (1) is expressed by the memory value group M [J−nL (modNx
L)] (n = 1, ..., Nx) is simply added and synthesized, and then Nx
It will be divided by (integer), which makes the calculation very simple.
After that, the operation returns to (1). (6) <Update storage unit 1F> The memory output value V0 by the memory output value creation unit 1E and the rotation error E of the rotation error detection unit 1A are arithmetically combined at a ratio of 1: 1 to calculate the update value, and the second value is calculated. Update the memory value M [I2] in the RAM area of the memory 6 corresponding to the count variable I2 of (M [I2]
= E + V0), store and save until the next update. After that,
Return to the operation of (1). In the motor speed control device of this embodiment, the load 10 shown in FIG.
It is extremely strong with respect to a specific frequency component of the load torque fluctuation caused by the same as in the patent of the prior application. Further, as shown in the present embodiment, each time the rotation error detection unit 1A obtains a new rotation error signal, the control signal creation unit 1B creates a new control signal, and the rotation error detection unit 1A creates a new rotation error signal. If the update storage unit 1F updates one memory value each time Q is obtained, the number of memories required for the memory unit is substantially reduced to 1 / Q. Even if the number of memories is reduced in this way, the effect of becoming extremely strong with respect to the specific frequency component of the load torque fluctuation (the effect of not causing the rotation speed fluctuation) is retained. this is,
It can be explained as follows. When the value of L is increased, the frequency component improved by the operation of the memory 6, the memory output value creation unit 1E and the update storage unit 1F can be made considerably lower than the detection frequency of the rotation error detection unit 1A (speed detector 3). I understood. Therefore, even if the frequency of the rotation error signal of the rotation error detection unit 1A used in the update storage unit 1F is reduced to 1 / Q, it is possible to prevent the above improvement effect from being adversely affected. Further, the memory output value creation unit 1E and the update storage unit 1F constitute a memory update unit, and a rotation error detection is performed for one memory value update operation (memory update operation by the memory output value creation unit 1E and update storage unit 1F). Since the timing of the rotation error detection operation of the unit 1A (detection signal of the speed detector 3) is shifted, the amount of calculation required in one detection cycle of the rotation error detection unit 1A is reduced. Furthermore, since the operation of the memory output value creation unit 1E is performed when I1 = 0, the memory output value V0 used in the control signal creation unit 1B is changed without delay. Further, in the motor speed control device of the present invention, L =
If (Zq / Q) · k (where k is an integer of 2 or more), there is an effect of greatly suppressing the rotation speed fluctuation due to the load torque fluctuation of a cycle of k times one rotation cycle of the motor 1. . Such an effect is very preferable in the case of a capstan motor of a video tape recorder. This will be described. Since the load of the capstan motor is a magnetic tape or a pinch roller, the load fluctuation generated by the load 10 is a component synchronized with the rotation of the motor 1 (periodic load fluctuation with one rotation of the motor 1 as a basic cycle). Besides, motor 1
In many cases, a load fluctuation component having a frequency lower than the rotation frequency of is generated. Such load fluctuations cause fluctuations in the rotational speed of the capstan motor, causing wow and flutter of the tape speed. By the way, it has been found that such load fluctuations often have periodic fluctuations having a cycle that is an integral multiple of the cycle of one rotation of the motor 1. Therefore, due to the above-mentioned effect, a considerably low frequency fluctuation of the rotation speed of the motor 1 due to the load torque fluctuation can be effectively reduced. Note that Q is not limited to a divisor of Zq (for example, Q = k
Then, Q becomes independent of Zq). FIG. 4 shows a program example of the compensator 4 in consideration of the stability of the entire control system. Here, the method of calculating the update value in the update storage unit, the number of preparations of the memory output value in the memory output value creation unit, and the method of using the memory output value in the memory output value creation unit in the control signal creation unit are improved. is doing. Next, the operation will be described in detail (the entire configuration is the same as that in FIG. 2, and the description is omitted). (11) <Rotation Error Detection Unit 4A> First, the calculator 5 inputs the output signal q of the flip-flop 35 of the speed detector 3 and waits for the signal q to become “H”. That is, it is monitored that the speed detector 3 detects the (half) cycle of the AC signal a and outputs a new digital signal b. When q becomes "H", the digital signal b of the speed detector 3 is read, the speed detection value S (digital value) corresponding to the digital signal b is read, and the reset signal r
Is set to "H" for a predetermined time to reset the counter 34 and the flip-flop 35 of the speed detector 3. The speed detection value S is subtracted from the predetermined reference value Sref, and the value is multiplied by R (where R is a predetermined positive constant) to calculate the rotation error E of the motor 1 at the present time [E = R. (Sref-S)]. (12) <Control signal creating unit 4B> The memory output value V0 by the memory output value creating unit 4E described later and the current rotation error E of the rotation error detecting unit 4A are set to a predetermined ratio D:
Computation is performed in 1 to calculate the control signal value Y (Y = E +
D ・ V0). The control signal value Y is output to the D / A converter 7 and converted into a DC voltage (control signal) corresponding to the value of Y. (13) <First Count Unit 4C> With Q as a mod, the first count variable I1 is incremented each time a new speed detection value S is obtained. I1 is
When it becomes equal to Qa (where Qa is an integer smaller than Q), the memory output value V0 is changed to V [Px] described later, and when I1 is not equal to Qa, such a changing operation is not performed. As a result, V0 = V [Px−1] (described later) in the range of I1 <Qa, and V0 = V [Px] in the range of I1 ≧ Qa. Further, if I1 is 0, the operations (14) and (15) are executed, if I1 is 1, the operation (16) is executed, and if I1 is not 0 or 1, the operation returns to (11). . (14) <Second Counting Unit 4D> When Nx · L is mod (modulus), the first count variable I1 is 0.
Every 2 times (every Q new speed detection values S are obtained)
The count variable I2 of is incremented. (15) <Memory output value creation unit 4E> After transferring the contents of the register variable V [m + 1] to V [m] in order [m = 0, 1, ..., Px-1], and NxL as mod An integer J is calculated by adding Px (where Px is an integer of 1 or more and 3 or less, preferably Px = 1) to the count variable I2 of 2 [J = I2 + Px (mod NxL)]. The latest memory output value calculated by the following equation using the memory value group M [J−nL (mod NxL)] (n = 1, ..., Nx) in the RAM area is input to V [Px]. Here, the value of Wn satisfies the expressions (2), (3), and (4). That is, V [Px] to V
〔0〕に連続
するPx+1個のメモリ出力値群を得る。このとき、V
〔Px〕を計算する時の(5)式中の整数JをJ1とし、V
A group of Px + 1 memory output values consecutive to [0] is obtained. At this time, V
Let V be the integer J in equation (5) when calculating [Px]
〔0〕を計算する時の(5)式中の整数JをJ2とする
と、J1=J2+Pxの関係がある。次に、制御信号作成部4B
において最初に利用されるメモリ出力値V0をV〔Px−
1〕にする(V0=V〔Px−1〕)。その後に、(11)の
動作に復帰する。 (16)〈更新保存部4F〉 レジスタ変数X〔m+1〕の内容をX〔m〕に順番に転
送した後に(n=0,1,2,……,2Kd−1)、X〔2Kd〕
(ここに、Kdは整数であり、Kd=3が好ましい)にメモ
リ出力値作成部4Eによって作成された古いメモリ出力値
VWhen the integer J in the equation (5) when calculating [0] is J2, there is a relationship of J1 = J2 + Px. Next, the control signal generator 4B
The memory output value V0 used first in V [Px−
1] (V0 = V [Px-1]). Then, the operation returns to (11). (16) <Update storage unit 4F> After transferring the contents of the register variable X [m + 1] to X [m] in order (n = 0,1,2, ..., 2Kd-1), X [2Kd]
(Where Kd is an integer, preferably Kd = 3), the old memory output value V created by the memory output value creation unit 4E
〔0〕と回転誤差検出部4Aの回転誤差Eを1:1の比率
にて演算合成した合成値を入れる(X〔2Kd〕=E+V
[0] and the rotation error E of the rotation error detector 4A are arithmetically combined at a ratio of 1: 1 and the combined value is entered (X [2Kd] = E + V
〔0〕)。すなわち、X〔2Kd〕からX[0]). That is, from X [2Kd] to X
〔0〕に連続す
る2Kd+1個の加算値(メモリ出力値と回転誤差の加算
値)を得る。NxLをmodとして第2のカウント変数I2から
Kdを引いた整数Kを計算する〔K=I2−Kd(mod Nx
L)〕。次に、X〔m〕に所定の正の比率Cm(m=0,1,
……,2Kd)を掛けた値を加算合成した新しい更新値を得
て、メモリ6のラム領域内のメモリ値M〔K〕として次
の更新時まで格納保存する。すなわち、 とする。ここに、比率Cmには次の関係がある。 その後に、(11)の動作に復帰する。 本実施例のように、更新保存部4Fに加重平均を取る演算
を挿入したり、制御信号作成部4Bにおいて使用するメモ
リ出力値作成部4Eの第一のメモリ出力値V0(V〔Px〕)
と更新保存部4Fにおいて使用するメモリ出力値作成部4E
の第二のメモリ出力値V2Kd + 1 addition values (addition value of memory output value and rotation error) consecutive to [0] are obtained. From the second count variable I2, where NxL is mod
Calculate the integer K minus Kd [K = I2-Kd (mod Nx
L)]. Next, a predetermined positive ratio Cm (m = 0,1,
.., 2Kd) is added to obtain a new updated value, which is stored and saved as the memory value M [K] in the RAM area of the memory 6 until the next update. That is, And Here, the ratio Cm has the following relationship. Then, the operation returns to (11). As in the present embodiment, a calculation for calculating a weighted average is inserted in the update storage unit 4F, or the first memory output value V0 (V [Px]) of the memory output value creation unit 4E used in the control signal creation unit 4B.
And memory output value creation unit 4E used in the update storage unit 4F
Second memory output value V of
〔0〕の間に所定のズレ(V
〔Px〕がVA certain deviation (V
[Px] is V
〔0〕よりも進んでいる)を設けるならば、
制御系全体の動作も安定になることを確認した。特に、
その利用タイミングに関係するPxやQaの値はQの値に深
く関係し、(QPx−Qa)≧Q/2にしたほうが良いことも解
った。これは、メモリ出力値作成部4Eの同一のメモリ出
力値(たとえば、VIf it is more advanced than [0],
It was confirmed that the operation of the entire control system was stable. In particular,
It was also found that the values of Px and Qa related to the usage timing are deeply related to the value of Q, and it is better to satisfy (QPx−Qa) ≧ Q / 2. This is the same memory output value (for example, V
〔0〕の値)の更新保存部4Fにおけ
る利用タイミングに較べて制御信号作成部4Bにおける利
用タイミングを、回転誤差検出部4Aの検出回数(速度検
出器3の検出回数)に換算したときに、Q/2回以上早く
することを意味する。 また、本実施例に示すように、メモリ出力値作成部4Eの
動作や更新保存部4Fの動作の中に転送や乗算を多数含ん
でいる場合には、メモリ出力値作成部4Eと更新保存部4F
からなるメモリ更新部による1個のメモリ値の更新動作
を複数の部分動作に分割し、各部分動作を回転誤差検出
部4Aの異なった検出タイミングにおいて演算・処理する
ならば、回転誤差検出部4Aの1検出周期内に必要とされ
る演算器5の演算量が大幅に少なくなり、演算器5に必
要な演算速度の制約は大幅に緩和される。 第5図に制御系全体の安定性を考慮にいれた補償器4の
他のプログラム例を示す。ここでは、メモリ出力値作成
部におけるメモリ出力値の計算の仕方および準備の個数
と、制御信号作成部におけるメモリ出力値作成部のメモ
リ出力値の利用の仕方を改良している。次に、その動作
について詳細に説明する(全体の構成は第2図と同じで
あり、説明を省略する)。 (21)〈回転誤差検出部5A〉 まず、演算器5は速度検出器3のフリップフロップ35の
出力信号qを入力し、信号qが“H"となるのを待ってい
る。すなわち、速度検出器3が交流信号aの(半)周期
を検出し、新しいデジタル信号bを出力するのをモニタ
している。qが“H"になると、速度検出器3のデジタル
信号bを読み込んで、デジタル信号bに対応する速度検
出値S(デジタル値)に直すと共に、リセット信号rを
所定時間“H"にして速度検出器3のカウンタ34とフリッ
プフロップ35をリセットする。所定の基準値Srefから速
度検出値Sを引いて、その値をR倍(ここに、Rは所定
の正の定数)し、モータ1の現時点での回転誤差Eを計
算する 〔E=R・(Sref−S)〕。 (22)〈制御信号作成部5B〉 後述するメモリ出力値作成部5Eによるメモリ出力値V0と
回転誤差検出部5Aの現時点の回転誤差Eを所定の比率D:
1にて演算合成し、制御信号値Yを計算する(Y=E+
D・V0)。制御信号値YをD/A変換器7に出力し、Yの
値に対応した直流的な電圧(制御信号)に変換する。 (23)〈第1のカウント部5C〉 Qをmod(法)として、新しい速度検出値Sを得る毎に
第1のカウント変数I1をカウントアップしていく。I1が
Qa(ここに、QaはQよりも小さい整数)に等しくなると
メモリ出力値V0を後述のV〔Px〕に変更し、I1がQaに等
しくない場合にはこのような変更動作を行わない。これ
により、I1<Qaの範囲ではV0=V〔Px−1〕(後述)に
なり、I1≧Qaの範囲ではV0=V〔Px〕になっている。さ
らに、I1が0ならば(24),(25)の動作を実行し、I1
が1ならば(26)の動作を実行し、I1が0や1でないな
らば(21)の動作に復帰する。 (24)〈第2のカウント部5D〉 Nx・Lをmod(法)として、第1のカウント変数I1が0
になる毎に(新しい速度検出値SをQ個得る毎に)第2
のカウント変数I2をカウントアップしていく。 (25)〈メモリ出力値作成部5E〉 レジスタ変換X〔m+1〕の内容をX〔m〕に順番に転
送した後に(m=0,1,2,……,2Kd−1)、NxLをmodとし
て第2のカウント変数I2にPx+Kd(Pxは1以上で3以下
の整数であり、Kdは1以上の整数)を足した整数Jを計
算する〔J=I2+Px+Qx(mod NxL)〕。ラム領域内のN
x個のメモリ値群M〔J−nL(mod NxL)〕(n=1,…
…,Nx)を使って次式によって算出した算出値をX〔2K
d〕に入れる。 ここに、Wnの値は(2)式,(3)式および(4)式を
満たしている。すなわち、X〔2Kd〕からX(Value of [0]) When the use timing in the control signal creation unit 4B is converted into the number of detections of the rotation error detection unit 4A (the number of detections of the speed detector 3) compared to the use timing in the update storage unit 4F, Q / 2 means to be faster than twice. Further, as shown in the present embodiment, when a large number of transfers and multiplications are included in the operation of the memory output value creation unit 4E and the operation of the update storage unit 4F, the memory output value creation unit 4E and the update storage unit 4E. 4F
If one memory value updating operation by the memory updating section is divided into a plurality of partial operations and each partial operation is calculated and processed at different detection timings of the rotation error detecting section 4A, the rotation error detecting section 4A The calculation amount of the arithmetic unit 5 required within one detection period is significantly reduced, and the restriction on the arithmetic speed required for the arithmetic unit 5 is greatly relaxed. FIG. 5 shows another program example of the compensator 4 in consideration of the stability of the entire control system. Here, the method of calculating the memory output value and the number of preparations in the memory output value creating unit, and the method of using the memory output value of the memory output value creating unit in the control signal creating unit are improved. Next, the operation will be described in detail (the entire configuration is the same as that in FIG. 2, and the description is omitted). (21) <Rotation Error Detection Unit 5A> First, the arithmetic unit 5 inputs the output signal q of the flip-flop 35 of the speed detector 3 and waits for the signal q to become “H”. That is, it is monitored that the speed detector 3 detects the (half) cycle of the AC signal a and outputs a new digital signal b. When q becomes "H", the digital signal b of the speed detector 3 is read, the speed detection value S (digital value) corresponding to the digital signal b is read, and the reset signal r is set to "H" for a predetermined time to set the speed. The counter 34 and the flip-flop 35 of the detector 3 are reset. The speed detection value S is subtracted from the predetermined reference value Sref, and the value is multiplied by R (where R is a predetermined positive constant) to calculate the rotation error E of the motor 1 at the present time [E = R. (Sref-S)]. (22) <Control signal creation unit 5B> The memory output value V0 by the memory output value creation unit 5E, which will be described later, and the current rotation error E of the rotation error detection unit 5A are set to a predetermined ratio D:
Computation is performed in 1 to calculate the control signal value Y (Y = E +
D ・ V0). The control signal value Y is output to the D / A converter 7 and converted into a DC voltage (control signal) corresponding to the value of Y. (23) <First Count Unit 5C> With Q as a mod, the first count variable I1 is incremented each time a new speed detection value S is obtained. I1 is
When it becomes equal to Qa (here, Qa is an integer smaller than Q), the memory output value V0 is changed to V [Px] described later, and when I1 is not equal to Qa, such a changing operation is not performed. As a result, V0 = V [Px−1] (described later) in the range of I1 <Qa, and V0 = V [Px] in the range of I1 ≧ Qa. Further, if I1 is 0, the operations of (24) and (25) are executed, and I1
If is 1, the operation of (26) is executed, and if I1 is not 0 or 1, the operation returns to (21). (24) <Second Counting Unit 5D> When Nx · L is mod (modulus), the first count variable I1 is 0.
Every 2 times (every Q new speed detection values S are obtained)
The count variable I2 of is incremented. (25) <Memory output value creation unit 5E> After transferring the contents of register conversion X [m + 1] to X [m] in order (m = 0,1,2, ..., 2Kd−1), NxL is mod Then, an integer J is calculated by adding Px + Kd (Px is an integer of 1 or more and 3 or less and Kd is an integer of 1 or more) to the second count variable I2 [J = I2 + Px + Qx (mod NxL)]. N in the ram region
x memory value group M [J−nL (mod NxL)] (n = 1, ...
, Nx) and the calculated value calculated by the following equation is X [2K
d]. Here, the value of Wn satisfies the expressions (2), (3), and (4). That is, from X [2Kd] to X
〔0〕に連
続する2Kd+1個の算出値(L間隔ずつ離れたNx個のメ
モリ値から求めた算出値)を得ている。次に、レジスタ
変数V〔m+1〕の内容をV〔m〕に順番に転送した後
に(m+0,1,……,Px−1)、X〔m〕(m=0,1,……,
2Kd)に所定の正の比率Cm(m=0,1,……2Kd)を掛けた
値を加算合成した最新のメモリ出力値を得て、V〔Px〕
に入れる。 ここに、比率Cmには(7)式,(8)式の関係がある。
すなわち、V〔Px〕からV2Kd + 1 calculated values (calculated values obtained from Nx memory values separated by L intervals) consecutive to [0] are obtained. Next, after sequentially transferring the contents of the register variable V [m + 1] to V [m] (m + 0,1, ..., Px-1), X [m] (m = 0,1, ...,
2Kd) is multiplied by a predetermined positive ratio Cm (m = 0,1, ... 2Kd) to obtain the latest memory output value, and V [Px]
Put in. Here, the ratio Cm has the relationship of the expressions (7) and (8).
That is, V [Px] to V
〔0〕に連続するPx+1個の
メモリ出力値を得ている。このとき、実質的にV〔Px〕
を計算する時の(9)式中の整数JをJ1とし、実質的に
VPx + 1 memory output values consecutive to [0] are obtained. At this time, substantially V [Px]
Let J1 be the integer J in equation (9) when calculating
〔0〕を計算する時の(9)式中の整数JをJ2とする
と、J1=J2+Pxの関係がある。すなわち、V〔Px〕とV
Assuming that the integer J in the equation (9) when calculating [0] is J2, there is a relation of J1 = J2 + Px. That is, V [Px] and V
〔0〕の間には整数Pxに対応したズレがある。次に、メ
モリ出力値V0をV〔Px−1〕にする(V0=V〔Px−
1〕)。その後に、(21)の動作に復帰する。 (26)〈更新保存部5F〉 メモリ出力値作成部5Eによって作成された古いメモリ値
VThere is a gap corresponding to the integer Px between [0]. Next, the memory output value V0 is set to V [Px-1] (V0 = V [Px-
1]). Then, the operation returns to (21). (26) <Update storage unit 5F> Old memory value V created by the memory output value creation unit 5E
〔0〕と回転誤差検出部5Aの回転誤差Eを1:1の比率
にて演算合成して更新値を計算し、第2のカウント変数
I2に対応したメモリ6のラム領域内のメモリ値M〔I2〕
を更新し(M〔I2〕=E+V[0] and the rotation error E of the rotation error detection unit 5A are arithmetically combined at a ratio of 1: 1 to calculate an updated value, and the second count variable
Memory value M [I2] in RAM area corresponding to I2
Is updated (M [I2] = E + V
〔0〕)、次の更新時まで
格納保存する。その後に、(21)の動作に復帰する。 本実施例のように、メモリ出力値作成部5Eに加重平均を
取る演算および複数個のメモリ出力値を準備する演算を
挿入し、制御信号作成部5Bにおいて使用するメモリ出力
値作成部5Eの第一のメモリ出力値Vo(V〔Px〕)と更新
保存部5Fにおいて使用するメモリ出力値作成部5Eの第二
のメモリ出力値V[0]), store and save until the next update. Then, the operation returns to (21). As in the present embodiment, the arithmetic operation for taking a weighted average and the arithmetic operation for preparing a plurality of memory output values are inserted in the memory output value creating unit 5E, and the first of the memory output value creating unit 5E used in the control signal creating unit 5B is inserted. One memory output value Vo (V [Px]) and the second memory output value V of the memory output value creation unit 5E used in the update storage unit 5F.
〔0〕の間に所定のズレ(V〔Px〕が
VA certain deviation (V [Px] is V
〔0〕よりも進んでいる)を設けておくと、制御系全
体の動作も安定になる。この場合も、(QPx−Qa)≧Q/2
にしたほうがなお、比率WnやCmによる演算は上記の形に
限られるものではなく、上記のプログラムの内容を実質
的に実現するものであればよく、各種の等価的な式変形
が可能であることは言うまでもない。また、新しいデジ
タル回転誤差が得られた時に、最初に制御信号作成部に
よる新しい制御信号の出力動作を行い、その後に、メモ
リ出力値作成部によって次のサンプリング時点で使用す
るメモリ出力値を計算するようになするならば、メモリ
出力値作成部の演算時間を長くとれると共に、制御信号
の出力までの時間遅れを短くできるので、制御系の安定
性を確保し易い。その他、本発明の主旨を変えずして種
々の変更が可能である。 発明の効果 本発明のモータの速度制御装置は、少数のメモリを使用
しながらも、特定の周波数に於て極めて良好な制御特性
が得られるようにしたものである。また、演算器に要求
される演算速度も遅くてよいように改良している。従っ
て、本発明に基ずいて、たとえば、ビデオテープレコー
ダのキャプスタンモータの速度制御装置を構成するなら
ば、高性能なモータの速度制御装置を経済的に実現でき
る。If it is more advanced than [0], the operation of the entire control system becomes stable. Also in this case, (QPx−Qa) ≧ Q / 2
However, the calculation by the ratio Wn or Cm is not limited to the above-mentioned form, and it is sufficient as long as it substantially realizes the contents of the above-mentioned program, and various equivalent formula modifications are possible. Needless to say. Further, when a new digital rotation error is obtained, the control signal creating unit first outputs a new control signal, and then the memory output value creating unit calculates the memory output value to be used at the next sampling time. By doing so, the calculation time of the memory output value creation unit can be made longer and the time delay until the output of the control signal can be shortened, so that the stability of the control system can be easily ensured. Besides, various modifications can be made without changing the gist of the present invention. EFFECTS OF THE INVENTION The motor speed control device of the present invention is designed to obtain extremely good control characteristics at a specific frequency while using a small number of memories. Further, the calculation speed required for the arithmetic unit is improved so that it may be slow. Therefore, if a speed control device for a capstan motor of a video tape recorder is constructed based on the present invention, a high speed motor speed control device can be economically realized.
第1図は第2図の補償器の内蔵プログラムの一例を表す
フローチャート図、第2図は本発明の実施例の全体の構
成を表す構成図、第3図は第2図の速度検出器の具体的
な構成例を表す構成図、第4図は第2図の補償器の内蔵
プログラムの他の例を表すフローチャート図、第5図は
第2図の補償器の内蔵プログラムの他の例を表すフロー
チャート図である。 1……モータ、2……回転センサ、3……速度検出器、
4……補償器、5……演算器、6……メモリ、7……D/
A変換器、8……電力増幅器、10……負荷、1A,4A,5A…
…回転誤差検出部、1B,4B,5B……制御信号作成部、1C,4
C,5C……第1のカウント部、1D,4D,5D……第2のカウン
ト部、1E,4E,5E……メモリ出力値作成部、1F,4F,5F……
更新保存部。FIG. 1 is a flow chart showing an example of a built-in program of the compensator shown in FIG. 2, FIG. 2 is a block diagram showing the entire constitution of an embodiment of the present invention, and FIG. 3 is a diagram showing the speed detector shown in FIG. FIG. 4 is a configuration diagram showing a specific configuration example, FIG. 4 is a flow chart diagram showing another example of the internal program of the compensator shown in FIG. 2, and FIG. 5 is another example of the internal program of the compensator shown in FIG. It is a flowchart figure showing. 1 ... motor, 2 ... rotation sensor, 3 ... speed detector,
4 ... Compensator, 5 ... Calculator, 6 ... Memory, 7 ... D /
A converter, 8 ... Power amplifier, 10 ... Load, 1A, 4A, 5A ...
… Rotation error detector, 1B, 4B, 5B …… Control signal generator, 1C, 4
C, 5C …… First counting section, 1D, 4D, 5D …… Second counting section, 1E, 4E, 5E …… Memory output value creation section, 1F, 4F, 5F ……
Update storage section.
Claims (1)
を生じる回転センサと、前記回転センサの交流信号によ
り前記モータの1回転当たり複数回の検出を行う速度検
出手段と、前記速度検出手段の検出信号にもとずき制御
信号を作り出す補償手段と、前記補償手段の制御信号に
応じて前記モータを駆動する駆動手段とを具備し、 前記補償手段は、前記速度検出手段が新しい検出信号を
得る検出タイミング毎に、前記検出信号に基づいて新し
い回転誤差を得る回転誤差検出手段と、Nx・L個(ここ
に、Nxは1以上の整数、Lは4以上の整数)の順序づけ
られたメモリ値を格納保存するメモリ手段と、前記回転
誤差検出手段が新しい回転誤差をQ回(ここに、Qは2
以上の整数)得るタイミングを更新タイミングとして、
前記Nx・L個のメモリ値を順番に前記回転誤差検出手段
の回転誤差とメモリ出力値作成手段のメモリ出力値を演
算合成した更新値によって更新保存する更新保存手段
と、Nxが1の場合には少なくとも1個のメモリ値を使
い、Nxが2以上の場合には更新間隔が前記更新タイミン
グのL倍以上離れたNx個のメモリ値群を少なくとも1組
使って、前記更新タイミングに同期して前記メモリ出力
値を生成する前記メモリ出力値作成手段と、前記検出タ
イミング毎に前記回転誤差検出手段の回転誤差と前記メ
モリ出力値作成手段のメモリ出力値を演算合成して前記
制御信号を生成する制御信号作成手段と、プログラムに
従って、前記回転誤差検出手段と前記メモリ出力値作成
手段と前記更新保存手段と前記制御信号作成手段の動作
を実行する演算手段を含んで構成され、 前記演算手段は、前記速度検出手段が新しい検出信号を
得る前記検出タイミング毎に、前記回転誤差検出手段と
前記制御信号作成手段の動作を実行し、かつ、前記メモ
リ出力値作成手段と前記更新保存手段による1個の前記
メモリ値の更新動作を複数の部分動作に分割し、前記各
部分動作を前記速度検出手段の異なったタイミングにお
いて実行したことを特徴とするモータの速度制御装置。1. A rotation sensor for generating an AC signal having a cycle corresponding to the rotation speed of a motor, speed detection means for detecting a plurality of times per one rotation of the motor by the AC signal of the rotation sensor, and the speed detection means. Compensation means for generating a control signal based on the detection signal of, and drive means for driving the motor according to the control signal of the compensation means, wherein the compensation means is a new detection signal for the speed detection means. Rotation error detection means for obtaining a new rotation error based on the detection signal and Nx · L (where Nx is an integer of 1 or more and L is an integer of 4 or more) are ordered at each detection timing for obtaining The memory means for storing and storing the memory value and the rotation error detection means generate a new rotation error Q times (where Q is 2
The integer above) is the update timing,
Update storage means for updating and storing the Nx · L memory values in order by an update value obtained by arithmetically combining the rotation error of the rotation error detection means and the memory output value of the memory output value creation means; and when Nx is 1, Uses at least one memory value, and when Nx is 2 or more, at least one set of Nx memory value groups whose update interval is L times or more of the update timing is used in synchronization with the update timing. The memory output value generating means for generating the memory output value, and the rotation error of the rotation error detecting means and the memory output value of the memory output value generating means are arithmetically combined for each detection timing to generate the control signal. It includes a control signal creating means, and a computing means for performing the operations of the rotation error detecting means, the memory output value creating means, the update storing means, and the control signal creating means according to a program. The calculation means executes the operation of the rotation error detection means and the control signal creation means at each detection timing at which the speed detection means obtains a new detection signal, and the memory output value creation means. And an updating operation of the one memory value by the update storing means is divided into a plurality of partial operations, and each partial operation is executed at different timings of the speed detecting means. .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61052909A JPH0681535B2 (en) | 1986-03-11 | 1986-03-11 | Motor speed controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61052909A JPH0681535B2 (en) | 1986-03-11 | 1986-03-11 | Motor speed controller |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63094834A Division JPS63288301A (en) | 1988-04-18 | 1988-04-18 | compensator |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62210882A JPS62210882A (en) | 1987-09-16 |
| JPH0681535B2 true JPH0681535B2 (en) | 1994-10-12 |
Family
ID=12927957
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61052909A Expired - Lifetime JPH0681535B2 (en) | 1986-03-11 | 1986-03-11 | Motor speed controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0681535B2 (en) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4459675A (en) * | 1981-10-16 | 1984-07-10 | International Business Machines Corporation | Printer control system with error count averaging |
| JPS59124054A (en) * | 1982-12-29 | 1984-07-18 | Fujitsu Ltd | Speed controlling method of capstan motor of magnetic tape device |
-
1986
- 1986-03-11 JP JP61052909A patent/JPH0681535B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS62210882A (en) | 1987-09-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0681535B2 (en) | Motor speed controller | |
| JPH0748955B2 (en) | PWM inverter control method and apparatus | |
| JPH0681534B2 (en) | Motor speed controller | |
| JPH0681536B2 (en) | Compensator | |
| JP2574235B2 (en) | Motor speed control device | |
| JPH0681533B2 (en) | Motor speed controller | |
| JPH0773431B2 (en) | Compensator | |
| JPH0524522B2 (en) | ||
| JPH06101949B2 (en) | Cylinder motor control device | |
| JPH0734667B2 (en) | Motor speed controller | |
| JPH06101950B2 (en) | Motor speed controller | |
| JP2666563B2 (en) | Motor speed control device | |
| JP2650251B2 (en) | Motor speed control device | |
| JPS62254675A (en) | Controller for cylinder motor | |
| JPS6289487A (en) | Motor speed control device | |
| JP2650252B2 (en) | Motor speed control device | |
| JPH07115786A (en) | Motor speed controller | |
| JP2819846B2 (en) | Motor speed control device | |
| JPS61240871A (en) | Speed controller for motor | |
| JPS63242189A (en) | Motor speed control device | |
| JPS62233089A (en) | Capstan motor control device | |
| JPS63242188A (en) | Motor speed control device | |
| JPH01129789A (en) | motor control device | |
| JPS62254674A (en) | Cylinder motor control device | |
| JPS62233090A (en) | Capstan motor control device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |