(57)【特許請求の範囲】
【請求項１】
パルスモータの速度制御を行なうために、上記パルスモータに対してパルス信号を出力するモータ制御装置において、
加速期間、一定速期間及び減速期間と速度とからなり、傾きで加速度を表す速度直線を、加速期間或いは減速期間を複数の期間に区分けし、各期間にて、Ｒiをi番目の速度直線の速度とし、αuを上記i番目の速度直線の加速度とし、Ｒi−1をi−1番目の速度直線の速度とすると、Ｒi＝Ｒi−1 ＋ αu／Ｒi−1、なる漸化式により、上記i番目の速度直線の速度Ｒiを演算し、上記i番目の速度直線の期間をｔiとすると、ｔi ＝ １／Ｒi、なる式により、上記i番目の速度直線の期間ｔiを演算して、速度直線を演算し、
互いに隣接する速度直線どうしの接続部分における速度Ｒiを、αu+1をi+1番目の速度直線の加速度とすると、Ｒi＝Ｒi−1 ＋ αu+1／Ｒi−1、なる式により演算することにより、互いに隣接する上記速度直線どうしの接続部分における加速度変化を抑制する制御演算部を備え、
上記制御演算部は、演算した速度直線の加速度と、上記モータの速度と時間との関係を表す理想曲線が示す加速度との誤差を算出し、算出した誤差に基づいて、補正値を演算する学習機能を有することを特徴とするモータ制御装置。
【請求項２】
請求項１記載のモータ制御装置において、さらに他のモータ制御装置への制御情報を通信する通信機能を備えることを特徴とするモータ制御装置。
【請求項３】
請求項１又は２記載のモータ制御装置において、上記制御演算部は、ＬＳＩであることを特徴とするモータ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パルス演算により制御されるモータ制御装置に関する。
【０００２】
【従来の技術】
パルスモータ（ステッピングモータ）は、パルス発生装置から発生されるパルス信号により駆動され、パルス信号の周波数に対応する回転速度でパルス信号のパルス数に対応する角度だけ回転する。したがって、パルスモータの速度制御を行うためには、パルス信号の周波数及びパルス数を制御する必要がある。また、ＤＣ／ＡＣサーボモータパックにあるように、パルス信号入力による速度制御などにもパルス信号を制御する必要がある。
【０００３】
通常、パルスモータにおいては、図１４に示すように、時間に対する速度制御を台形制御とする。つまり、パルスモータの起動時に、パルス信号の周波数を徐々に上昇させて回転速度を徐々に上昇させ、パルスモータの回転速度が所定の速度に達するとパルス信号の周波数を一定にして回転速度を一定にし、パルスモータの停止時にはパルス信号の周波数を徐々に低下させて回転速度を徐々に低下させる。この演算の一例としては、特開平７−１６３１９５号公報にあるような簡易演算があり、この簡易演算により速度制御が可能である。
【０００４】
また、パルス信号を様々な加減速パターンへ変化させるために、各種の速度曲線の加減速パターンデータを記憶するパターンメモリを用いた加減速パルス発生装置が考えられている。この加減速パルス発生装置は、パターンメモリに記憶された加減速パターンデータを順次読み出し、並直列変換回路により直列データに変換してパルス信号として出力するものである。
【０００５】
また、パルス間隔に対応する計数値データと加減速モードまたは定速モードの別を示すビットデータとを記憶するメモリを用いたパルスモータ制御装置が考えられている。このパルスモータ制御装置は、メモリから計数値データ及びビットデータを読み出し、計数値データ及びビットデータに基づいてカウンタからパルス信号を出力するものである。
【０００６】
他方、周波数及びパルス数を加減速テーブルとして記憶するメモリを用いたステップモータの速度制御装置が考えられている。この速度制御装置は、ＣＰＵ（中央演算処理装置）によりメモリに記憶された周波数及びパルス数を順次読み出し、読み出された周波数及びパルス数に基づいて分周器及びカウンタによりパルス信号を発生するものである。
【０００７】
台形制御における加速度変化をおさえる方法の別方式としては、図１５に示すような二次関数パターンを組み合わせたＳ字曲線加減速特性で変化させるためのパルス発生回路（例えば、特開平２−１０６７２号公報）が知られている。
【０００８】
また、二次関数パターンのかわりに、三角関数（ＳＩＮ，ＣＯＳ）を用いた曲線加減速特性で変化させるためのパルス発生回路も考えられている。
【０００９】
【発明が解決しようとする課題】
しかしながら、上記簡易演算による速度制御の場合には、加速度の急激な変化を抑制し、振動を抑制するための時間が多く必要であるという問題があった。つまり、速度上昇時から一定速度への変化が急激であると、振動が発生するため、速度上昇時の加速度を低くしなければならず、一定速度に達するまでに多くの時間が必要であった。
【００１０】
また、上記加減速パターンデータ等をメモリに記憶させる方式にあっては、加減速パターンが増加するに従って必要なメモリの容量が増大する。しかしながら、記憶させる加減速パターンの量には限界があるため、加減速パターンの増加に対応することができない。もちろん、長距離移動によるパルス数の増大にも対応不可能である。
【００１１】
また、上記二次元関数パターンや三角関数を用いる方法は、演算が複雑で時間がかかることより、高速動作に適切に応答することが困難になってくるという問題がある。また、低速時のスローアップが不要なものには、複雑な演算を行っていると、動作時間がかかりシステム全体のスループットの低下をまねく場合が生じてしまう。
【００１２】
したがって、メモリアクセス参照方式などによらずに、演算を簡易な方式を採用することにより高速での反応を良くし、ハードウェアの大きさをおさえる必要がある。しかし、簡易な方式によると、演算誤差が生じる場合があるので、この補正が可能でかつ、ＭＰＵの負荷を低減させることが望ましい。
【００１３】
これに加え、加速度の変化を抑制することによる、システム的な振動が収まるまでの待ち時間などの低減を図る必要がある。しかし、この加速度の変化はそのシステムの大きさなどにより抑制し得る値が異なるので、不要な低加速変化をすることなく、システム毎に選択できることが望ましい。
【００１４】
本発明の目的は、簡易な演算式を用いていながら、演算誤差が少なく、かつ、加速の変化を充分抑制可能なモータ制御装置を実現することである。
【００１５】
【課題を解決するための手段】
上記目的を達成するため、本発明は次のように構成される。
（１）パルスモータの速度制御を行なうために、上記パルスモータに対してパルス信号を出力するモータ制御装置において、加速期間、一定速期間及び減速期間と速度とからなり、傾きで加速度を表す速度直線を、加速期間或いは減速期間を複数の期間に区分けし、各期間にて、Ｒiをi番目の速度直線の速度とし、αuを上記i番目の速度直線の加速度とし、Ｒi−1をi−1番目の速度直線の速度とすると、Ｒi＝Ｒi−1 ＋ αu／Ｒi−1、なる漸化式により、上記i番目の速度直線の速度Ｒiを演算し、上記i番目の速度直線の期間をｔiとすると、ｔi ＝ １／Ｒi、なる式により、上記i番目の速度直線の期間ｔiを演算して、速度直線を演算し、互いに隣接する速度直線どうしの接続部分における速度Ｒiを、αu+1をi+1番目の速度直線の加速度とすると、Ｒi＝Ｒi−1 ＋ αu+1／Ｒi−1、なる式により演算することにより、互いに隣接する上記速度直線どうしの接続部分における加速度変化を抑制する制御演算部を備え、上記制御演算部は、演算した速度直線の加速度と、上記モータの速度と時間との関係を表す理想曲線が示す加速度との誤差を算出し、算出した誤差に基づいて、補正値を演算する学習機能を有する。
【００１６】
簡易演算式により演算された複数の速度直線を組み合わせて速度パターンを演算するとともに、互いに隣接する速度直線どうしの接続部分における加速度変化を抑制するので、複雑な演算を行うことなく、かつ、加速度変化が抑制される。
【００１９】
（２）好ましくは、上記（１）において、さらに他のモータ制御装置への制御情報を通信する通信機能を備える。
【００２０】
モータ制御装置は、簡易演算により速度パターンを演算するので、速度パターンの演算についての負荷が減少し、これにより通信機能を備えることができる。そして、通信機能を備えることにより、複数のモータを複数のモータ制御装置により分散制御することが可能となる。
【００２１】
（３）また、好ましくは、上記（１）又は（２）において、上記制御演算部は、ＬＳＩである。
【００２３】
誤差学習機能により、速度直線の演算誤差が補正され、より正確な速度制御が可能となる。
【００２４】
【発明の実施の形態】
本発明による実施形態であるモータ制御装置について、添付図面を参照して説明する。
モータの加減速パターンを複数の直線（速度直線）の組み合わせで行う一例として、図１に示すような直線加速度のパターンを示す。この一例において、加減速パターンは、加減速と一定速とを合わせて８本の直線からなる。
【００２５】
図１において、▲１▼〜▲３▼の直線が加速パターン（▲１▼；スロースタート、▲２▼；加速、▲３▼；加速ランディング）、▲４▼が高速一定速、▲５▼〜▲７▼が減速パターン（▲５▼；スローダウン、▲６▼；減速、▲７▼；減速ランディング）、▲８▼が低速一定速の役目をする。
【００２６】
台形制御をこの方式、つまり、複数の直線パターンで表わせば、パターン▲２▼、▲４▼、▲６▼、▲８▼で構成される。台形制御に加えて図１の８直線▲１▼〜▲８▼は、上記直線▲２▼、▲４▼、▲６▼、▲８▼の他に、加速度の変化を抑制するために有効なスロースタートの直線▲１▼を、直線▲２▼の前に加え、直線▲２▼の後に高速一定速への加速度変化を抑制するに有効な直線▲３▼を加えている。さらに、直線▲４▼の後に、減速の変化開始を滑らかにするに有効な直線▲５▼を加え、停止前振動を抑制するに有効な直線▲７▼を直線▲６▼と▲８▼との間に加えている。
【００２７】
図２に、モータの速度制御を行うために出力するパルス信号の出力波形例を示す。パルス信号の１周期毎の周期時間を演算するためには、モータ速度を一定に加速する観点からも周期と逆数である速度をまず算出する必要がある。その例として、速度を算出する漸化式として次式（１）を示し、時間（期間）ｔi を算出する式として次式（２）を示す。
Ｒi ＝  Ｒi-1  ＋  αu ／ Ｒi-1   ・・・・ （１）
ｔi ＝  １ ／ Ｒi    ・・・・ （２）
ただし、Ｒｉは、ｉ番目の直線の速度であり、αuはｉ番目の直線の傾き（加速度）である。
【００２８】
上記式（１）及び（２）から分かるように、１つ前の速度情報（Ｒi-1)から、次の速度情報（Ｒi）を算出することができる。また、（１）式中のαuは加速度、つまり、速度の傾きを表わし、図１の直線▲１▼、▲２▼及び▲３▼においては、α1、α2、α3の３つの傾斜をもっている。もちろん、直線▲１▼の中では傾斜α1は変化しない。  また、αuの係数を変えるだけで同一演算式（１）で、直線▲１▼〜▲３▼、▲５▼〜▲７▼を計算可能であることから、ハードの共通化によりモータ制御装置の小型化を図ることができる。
これにより、ハードのＬＳＩ化が特に有効となる。
【００２９】
次に、複数の直線からなる加減速パターンの指令方法の例を図３を参照して説明する。
モータのトルクが大きい部分や負荷される物が軽量の場合は、通常発進（スタート）速度は高速から行い、かつスローアップ（直線▲１▼の部分）は不要である。そのため、直線▲１▼が不要で、直線▲２▼以降を必要とする場合の指令方法の例として、あるレジスタにその必要有無を“１”が必要、“０”が不要として指令値をコマンド形式でモータ起動時に与えておけば選択可能である。つまり、図３に示すように、“１１１１１１１０”であれば、直線▲１▼は“０”で、直線▲２▼〜▲８▼は、“１”であるので、直線▲１▼は不要、直線▲２▼〜▲８▼は必要であることが示されている。また、図５に、直線▲３▼は不要、直線▲１▼、▲２▼、▲４▼〜▲８▼は必要である速度パターンの例を示す。
【００３０】
図３の例のように、発進速度を高速で行う例に対して、発進についてスローアップを重視したモータの速度パターンの例を図４に示す。
図４において、直線▲１▼〜▲３▼を必要として、これらの加速をすべて有効にすることに加えて、直線▲１▼及び▲２▼の２つでスローアップを２段階で、徐々に加速することにより、さらに滑らかな立ち上がりの加速が可能である。
【００３１】
もちろん、この図４の例は、計８直線による速度パターンの例であるが、この速度パターンの分割数を増やして、そのシステムに必要な部位にさらに滑らかな加速を行なうことができるのはいうまでもない。
【００３２】
図３、図４に示した例は、速度パターンの分割数が固定の場合の例であるが、分割数が固定では無く、可変できる場合の速度指令方法の例を図６を用いて説明する。
【００３３】
図６において、まず、最初の２ｂｉｔにより“００”；加速、“０１”；高速一定速、“１０”；減速、“１１”；低速一定速を示すように、４つの種類に分ける。そして、それぞれの種類について、加速度αuを設定する。つまり、加速“００”では加速度がα1〜αm、高速一定速“０１”では一定速度ＲH、減速“１０”では、加速度（減速度）α1〜αn、低速一定速“１１”では一定速度ＲLが設定されている。
【００３４】
これにより、加速“００”、高速一定速“０１”、減速“１０”、低速一定速“１１”のうち、任意の個数の任意の加速度又は一定速度を選択して、ハード演算部の切替えを行なう。ある加速度から他の加速度への切り替えタイミングは、例えば、α1 → α2 への切替えタイミングは、一般的には、出力パルス数により管理することにより容易に可能である。
【００３５】
速度パターンの分割数を可変とする別方式としては、図６に示した例のうち、上位２ｂｉｔを省略し、加速、減速の分割数をあらかじめ指令して、指令された数の加速度又は減速度を図６の上方から順に選択することにより、上位２ｂｉｔを省略する方法が考えられる。
【００３６】
次に、速度パターンを構成する直線と直線との接続部分における加速度変化を抑制する例を説明する。
図７は図１に示すＡ部の拡大図であり、時点（ａ）〜（ｅ）のパルス信号出力に関して着目すると、初期スピードにより演算を行ない、直線▲１▼の加速度（α1）から直線▲２▼の加速度（α2）に傾き（加速度）が変化する時点が（ｃ）である。通常の演算及び加速度切替えの考えによれば、直線▲１▼と直線▲２▼との交点に時点（ｃ）が位置する。
【００３７】
しかし、これでは時点（ｃ）における速度変化が急激となり、振動その他の問題が生ずる。
そこで、図８に示すように、時点（ｃ）における加速度演算を直線▲２▼の開始点とせずに直線▲１▼の延長として考え、かつ、傾きは直線▲２▼の加速度（α2）として切替えを開始し、演算を行なう。
【００３８】
つまり、時点（ｂ）での速度をＲb、時点（ｃ）での速度をＲcとして、上記式（１）に代入すると、次式（３）のようになる。
Ｒc ＝ Ｒb  ＋  α2／Ｒb  ・・・  （３）
上記式（３）のように演算すれば、図８に示すように、加速度をα1として演算する場合と比較して、直線▲１▼から直線▲２▼との接続部分の速度変化が抑制され、振動等の発生が抑制される。
【００３９】
また、直線▲１▼と直線▲２▼との２直線間の変化をさらに抑制する方法の他の例としては、加速度を時点（ｃ）から（α2）を切替えるのではなく、時点（ｂ）もしくは時点（ａ）から加速度を（α2）に置き換えることにより、直線間の接続部分の滑らかさを確保することができる。
【００４０】
この逆の方式として、図９に示すように、時点（ｄ）も加速度（α1）で演算し、時点（ｅ）から加速度（α2）に切替えを行なう方法により、加速度の変化を抑制することも可能である（図９の実線は、時点（ｄ）から加速度（α2）で演算した場合を示す）。
上述した加速度変化の抑制方法は、減速パターン演算にも同様に適用可能である。
【００４１】
さて、図１の（ｂ）は、図１の（ａ）での加速度変化を示すグラフである。この図１の（ｂ）に示すように、直線▲１▼から直線▲２▼に変化する部分で、加速度変化が大きいが、上述の方式により、この急激な加速度変化を抑制することが可能である。
【００４２】
次に、直線方式による漸化式の誤差の補正方法について説明する。
上記式（１）で示した漸化式は、ハード演算上、簡易で、演算時間が短く、かつ、ＣＰＵに対する負荷を極端に低減できるという利点をもつ。しかし、あくまで漸化式ということから、スピード、加速度のアップにより誤差を生じる場合がでてくる。
【００４３】
そこで、上記誤差を抑制する方法として、以下の（１）、（２）、（３）が考えられる。
（１）あらかじめ、指令値によりプリ演算をしておき、誤差を見積もった上でαu値の補正または演算切替えのタイミングを可変させる方式。
（２）プリ演算を行なわずに、ある加速度（傾き）、速度範囲より漸化式の誤差方向／量を算出して、算出した誤差から補正値をあらかじめ学習しておき、学習した補正値により（１）と同様な補正を行なう方式。
（３）高速一定速指令値以上または、低速一定速指令値以下に演算結果が出た場合、これらの比較回路を具備することにより演算誤差の累積による指令値を超えることを防止する補正方式。
【００４４】
上記（１）及び（２）の方式では、図１０の（ａ）に示す例において、理想曲線（αu）に対して、演算結果（α’u）が点線のように誤差を生じた場合、（α’u） ＞ （αu）という大小関係の値を与えることにより、理想曲線（実線（αｕ））に近づけることが可能なことを示す。また、上記（３）の方式として、図１０の（ｂ）に示すように、速度の上限として、リミッタを設けることが可能である。これらの誤差補正方式のより、さらに、正確な速度制御が可能となる。
【００４５】
上述したモータ速度制御装置の制御部の構成例を図１１に示す。この図１１の例の制御部は、モータの起動を行なう制御用ＣＰＵ１と、初期演算及び補正演算を行なう演算部２と、多直線近似パルス演算部３（制御演算部）と、モータ相出力演算部４とを備える。
【００４６】
また、パルス演算部３の構成例を図１２に示す。このパルス演算部３は、ＬＳＩ化が可能であり、式（１）を演算する加減速演算部３１と、この加減速演算部３１に演算に必要な傾きαuを切り替えて供給する傾き切り替え部３２と、一定速演算部３４と、加減速演算部３１により演算された速度か一定速演算部３４による一定速かを切替えるための切り替え回路３５と、傾き切り替え部３２の切り替えタイミング及び切り替え回路３５の切り替えタイミングを指示する切り替えタイミング指示部３３と、上記式（２）に基づいて、周期を演算する周期演算部３６とを備える。
【００４７】
加減速演算部３１は、速度Ｒiの１パルス前の速度（Ｒi-1）を演算の入力として演算する機構を有する。つまり、一度起動をかければ終了報告を受ける（割込み等）まで別処理に移れ、ＣＰＵ負荷の低減が図られている。
【００４８】
上述した本発明の一実施形態であるモータ制御装置によれば、簡単な漸化式（１）を用いて、複数の直線からなる速度パターンを演算し、かつ、加速度変化点においては、漸化式（１）に代入する加速度を次の直線又は前の直線の加速度とすることにより、加速度の変化を抑制し、さらに、演算誤差も補正しているので、簡易な演算式を用いていながら、演算誤差が少なく、かつ、加速の変化を充分抑制可能なモータ制御装置を実現することができる。
【００４９】
また、本発明のモータ制御装置によれば、簡単な演算式が使用可能であるため、ＣＰＵの負荷を格段に小さくすることができる。これによって、複数のモータを制御する場合には、ＣＰＵの負荷が少なくなった分だけ、通信機能をそのＣＰＵに備えることができ、複数の通信機能付きＣＰＵにより各モータを分散して制御することができる。
【００５０】
この場合、通信機能を有さない一つのＣＰＵで全モータを制御する場合と比較して、ＣＰＵと各モータとの距離を短縮化することができる。通常、ＣＰＵとモータとの間の制御信号線は、ＣＰＵ間の通信信号線より複雑であるので、信号線の省配線化を図ることができる。また、モータのモジュール化によるハード、ソフトのシステム構築の柔軟性を増加することができる。
【００５１】
つまり、従来においては、図１３の（ａ）に示すように、高機能及び高処理能力を備えたＣＰＵ１０を選ぶ必要があり、かつ、その一つのＣＰＵ１０で複数のモータ１１-1、１１-1・・・１１-8を集中制御する必要があった。この場合、ＣＰＵ１０の負荷が重なって大きくなるばかりではなく、制御方式の複雑化を招き、システム構築上、大規模システムになるほど複雑、かつ変更が困難となってくる。
【００５２】
これに対して、本発明のモータ制御装置によれば、ＣＰＵの負荷が小さくなることから、図１３の（ｂ）に示すように、通信機能を有し、低機能、低処理能力な複数のＣＰＵ１-1・・・１-nが、それぞれ、複数のモータ（１１-1、１１-2）、（１１-3、１１-4）、（１１-5、１１-6）を分散制御することが可能となる。
【００５３】
これにより、制御信号線の省配線化、モータのモジュール化によるハード、ソフトのシステム構築の柔軟性が増し、いわゆる分散化によるメリットがモータ制御分野にも適用可能となる。
【００５４】
【発明の効果】
本発明のモータ制御装置によれば、簡易な演算式を用いていながら、演算誤差が少なく、かつ、加速の変化を充分抑制可能なモータ制御装置を実現することができる。
【００５５】
また、本発明のモータ制御装置によれば、簡単な演算式が使用可能であるため、ＣＰＵの負荷を格段に小さくすることができる。これによって、複数のモータを制御する場合には、ＣＰＵの負荷が少なくなった分だけ、通信機能をそのＣＰＵに備えることができ、複数の通信機能付きＣＰＵにより各モータを分散して制御できるので、制御信号線の省配線化、モータのモジュール化によるハード、ソフトのシステム構築の柔軟性を増加させることができる。
【図面の簡単な説明】
【図１】直線による加速度パターンの一例を示す図である。
【図２】モータの速度制御のためのパルス信号の出力波形例を示す図である。
【図３】７つの直線からなる加減速パターンの一例を示す図である。
【図４】８つの直線からなる加減速パターンの一例を示す図である。
【図５】７つの直線からなる加減速パターンの他の例を示す図である。
【図６】速度パターンの分割数が可変の場合の速度指令方法説明図である。
【図７】速度パターンの加速度変化を抑制する一例の説明図である。
【図８】加速度変化を抑制した速度パターンの一例の説明図である。
【図９】加速度変化を抑制した速度パターンの他の例の説明図である。
【図１０】直線の演算誤差に対する補正の一例を示す図である。
【図１１】モータ速度制御装置の制御部の構成図である。
【図１２】図１１に示したパルス演算部の内部構成図である。
【図１３】複数のモータを制御する場合の例の説明図である。
【図１４】モータ速度制御を台形制御する例の説明図である。
【図１５】モータ速度制御をＳ字曲線で制御する例の説明図である。
【符号の説明】
１              制御用ＣＰＵ
２              初期演算及び補正演算部
３              多直線近似パルス演算部
４              相出力演算部
１１-1〜１１-n  モータ
３１            加減算演算部
３２            傾き切り替え部
３３            切り替えタイミング部
３４            一定速演算部
３５            切り替え回路
３６            周期演算部
【図１】
0003734968.tif 000002
【図２】
0003734968.tif 000003
【図３】
0003734968.tif 000004
【図４】
0003734968.tif 000005
【図５】
0003734968.tif 000006
【図６】
0003734968.tif 000007
【図７】
0003734968.tif 000008
【図８】
0003734968.tif 000009
【図９】
0003734968.tif 000010
【図１０】
0003734968.tif 000011
【図１１】
0003734968.tif 000012
【図１２】
0003734968.tif 000013
【図１３】
0003734968.tif 000014
【図１４】
0003734968.tif 000015
【図１５】
0003734968.tif 000016