(57)【要約】【課題】パルス生成タイミングの演算における演算誤差が少なくし、演算負荷を低減し、パルスモータにより駆動する制御対象の動作速度や移動距離の設計が取り扱いやすくする。【解決手段】制御区間ごとに制御区間の演算値の初期値および制御区間の終了条件が記憶される記憶手段４と、現在の制御区間から次の制御区間へと切り替わる点である変化点を検出する変化点検出手段２と、記憶手段４に記憶された制御区間の演算値の初期値に基づいて、演算を行うとともに、演算された演算値が所定の閾値以上となるとパルス生成タイミングを出力する有界演算器６と、有界演算器６が出力したパルス生成タイミングに基づいて、パルスモータ１３を制御するためのパルス信号を生成するパルス生成手段１１とを備え、有界演算器６の距離値保持手段６４は、ｎ進数のカウンタで構成される。【選択図】図１
2014176171.tif 000002
【特許請求の範囲】
【請求項１】
制御区間ごとに前記制御区間の演算値の初期値および前記制御区間の終了条件が記憶される記憶手段と、
前記記憶手段に記憶された前記制御区間の終了条件に基づいて、現在の制御区間から次の制御区間へと切り替わる点である変化点を検出する変化点検出手段と、
前記記憶手段に記憶された前記制御区間の演算値の初期値に基づいて、演算を行うとともに、演算された演算値が所定の閾値以上となるとパルス生成タイミングを出力する有界演算器と、
前記有界演算器が出力した前記パルス生成タイミングに基づいて、パルスモータを制御するためのパルス信号を生成するパルス生成手段と、を備え、
前記有界演算器は、
加加速度を保持する加加速度値保持手段、加速度を保持する加速度値保持手段、速度を保持する速度値保持手段、距離を保持する距離値保持手段、第１の１／２演算手段、第２の１／２演算手段、および、１／３演算手段を有し、
前記演算において、
前記加加速度値保持手段に保持された加加速度値と、前記加速度値保持手段に保持された加速度値とを、加算演算した値が前記加速度値保持手段に入力され、
前記加加速度値保持手段に保持された加加速度値を前記第１の１／２演算手段で処理した値と、前記加速度値保持手段に保持された加速度値と、前記速度値保持手段に保持された速度値とを、加算演算した値が前記速度値保持手段に入力され、
前記加加速度値保持手段に保持された加加速度値を前記第１の１／２演算手段および前記１／３演算手段で処理した値と、前記加速度値保持手段に保持された加速度値を前記第２の１／２演算手段で処理した値と、前記速度値保持手段に保持された速度値と、前記距離値保持手段に保持された距離値とを、加算演算した値が前記距離値保持手段に入力され、
少なくとも前記距離値保持手段は、ｎ進数のカウンタで構成される
ことを特徴とするパルスモータ制御装置。
【請求項２】
前記有界演算器は、
前記加加速度値保持手段に保持された加加速度値を前記第１の１／２演算手段および前記１／３演算手段で処理した値と、前記加速度値保持手段に保持された加速度値を前記第２の１／２演算手段で処理した値と、前記速度値保持手段に保持された速度値と、前記距離値保持手段に保持された距離値とを、加算演算した値が、前記距離値保持手段のｎ進数のカウンタの桁数で定義される最大値よりも小さな値である第１定数以上となると前記パルス生成タイミングを出力する
ことを特徴とする請求項１に記載のパルスモータ制御装置。
【請求項３】
前記有界演算器は、
起動直後またはパルス生成タイミング出力時に前記距離値保持手段に入力される値に第２定数を加算するオフセット手段を更に備え、
前記第２定数は、前記距離値保持手段のｎ進数のカウンタの桁数で定義される最大値から前記第１定数を減算した値である
ことを特徴とする請求項２に記載のパルスモータ制御装置。
【請求項４】
前記パルス生成タイミングは、
前記距離値保持手段のオーバーフロー信号である
ことを特徴とする請求項３に記載のパルスモータ制御装置。
【請求項５】
前記有界演算器は、
前記加加速度値保持手段に保持された加加速度値を前記第１の１／２演算手段および前記１／３演算手段で処理した値、前記加速度値保持手段に保持された加速度値を前記第２の１／２演算手段で処理した値、前記速度値保持手段に保持された速度値、並びに、前記距離値保持手段に保持された距離値を加算演算した値と、前記第１定数と、を比較する比較手段を更に備え、
比較手段が、前記パルス生成タイミングを出力する
ことを特徴とする請求項２に記載のパルスモータ制御装置。
【請求項６】
前記第１の定数および前記有界演算器の動作周波数から算出されるパルス周波数の分機能が有理数となるように、記第１の定数を設定する
ことを特徴とする請求項２乃至請求項５のいずれか１項に記載のパルスモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パルス信号を用いてモータを制御するパルスモータ制御装置に関する。
【背景技術】
【０００２】
パルスモータ（「ステッピングモータ」ともいう。）は、入力される単一パルスの立下りエッジにおいて、パルスモータの内部機構によって定義される最小角（ステップ角）だけモータ回転軸に対して回転する電動機である。このパルスモータの回転を制御対象に伝達して、制御対象を駆動するのが一般的な利用方法である。制御対象としては、機械式アームや試料台ステージがある。伝達機構としては回転ベルトや水平移動機構を持つアクチュエータ等がある。パルス信号を発生してパルスモータを制御する装置として、パルスモータ制御装置（パルスジェネレータ）が知られている。
【０００３】
パルスモータは、パルスモータ制御装置が発生するパルス信号により駆動され、パルス信号の出力間隔であるパルス周波数に対応する角速度で回転する。ここで、パルスモータ制御装置が出力するパルス周波数を高くすることにより、パルスモータが高速回転し、制御対象を高速動作させることができる。また、パルスモータ制御装置が出力するパルス周波数を低くすることにより、パルスモータが低速回転し、制御対象を低速動作させることができる。なお、パルス周波数とパルスモータの回転速度との関係は、パルスモータの構成で決まる係数に比例する。また、パルスモータの回転速度と制御対象の移動速度との関係は、回転ベルト、水平移動機構を持つアクチュエータ等の構成で決まる係数に比例する。また、パルス信号のパルス数に対応する角度（パルス数×ステップ角）だけパルスモータが回転し、これが、パルスモータが駆動する制御対象の移動距離となる。
【０００４】
したがって、制御対象の動作速度や制御対象の移動距離の制御を行うためには、パルスモータ制御装置から発生されるパルス信号のパルス周波数（単位時間あたりのパルス数）およびパルス数を制御する必要がある。
【０００５】
通常、パルスモータの駆動制御においては、時間に対する速度制御（即ち、パルス信号の周波数制御）を台形駆動制御として行う（例えば、特許文献１の第１図参照）。
【０００６】
ここで、図１０を用いて、台形駆動制御について説明する。図１０は、台形駆動制御を説明するグラフであり、（ａ）は横軸を時間［ｓ］(second)とし縦軸を速度［ｐｐｓ］(pulse per second)としたグラフであり、（ｂ）は横軸を時間［ｓ］とし縦軸を加速度［ｐｐｓ／ｓ］としたグラフである。
【０００７】
即ち、図１０（ｂ）に示すように、まず、パルスモータの起動時から一定の正の加速度を与える（正定加速）ことにより、図１０（ａ）に示すように、速度（パルス信号の周波数）を徐々に上昇させてパルスモータの回転速度を徐々に上昇させる（加速区間）。
【０００８】
次に、パルスモータの回転速度が目標の速度に達すると、図１０（ｂ）に示すように、加速度をゼロにする（加速＝０）ことで、図１０（ａ）に示すように、速度（パルス信号の周波数）を一定にしてパルスモータの回転速度を一定にする（定速区間）。
【０００９】
更に、パルスモータの停止時には、図１０（ｂ）に示すように、一定の負の加速度を与える（負定加速）ことにより、図１０（ａ）に示すように、速度（パルス信号の周波数）を徐々に低下させてパルスモータの回転速度を徐々に低下させ（減速区間）、目標速度に到達後にパルス信号を停止させる。
【００１０】
ここで、図１０の加速区間に注目して、加速区間における速度制御について図１１を用いて更に説明する。図１１は、台形駆動制御における加速区間を説明するグラフであり、（ａ）は横軸を時間［ｓ］とし縦軸を速度［ｐｐｓ］としたグラフであり、（ｂ）は横軸を時間［ｓ］とし縦軸を加速度［ｐｐｓ／ｓ］としたグラフである。
【００１１】
図１１（ａ）に示すように、速度の初速度をＦＬ［ｐｐｓ］とし、速度の到達速度（目標の速度）をＦＨ［ｐｐｓ］とし、速度が到達速度ＦＨに到達までのパルス数をＮ［ｐ］(pulse)とし、図１１（ｂ）に示すように、加速区間における加速度をＡ［ｐｐｓ／ｓ］
とする。
【００１２】
一般的にこの時の演算は、速度が初速度ＦＬから到達速度ＦＨに到達までの時間をｔn ［ｓ］とすると、以下の式（１）で表すことができる。
【００１３】
【数１】
2014176171.tif 000003
【００１４】
ここで、パルスモータによる駆動において、常に、１パルス毎の移動距離が等しいことから、速度が初速度ＦＬから到達速度ＦＨに到達までのパルス数Ｎは、以下の式（２）で表すことができる。
【００１５】
【数２】
2014176171.tif 000004
【００１６】
そして、これら式（１）および式（２）より、時間ｔn は、以下の式（３）という演算式が導かれる。また、加速度Ａは、以下の式（４）という演算式が導かれる。なお、式（３）および式（４）の導出は、非特許文献１および非特許文献２に開示されている。
【００１７】
【数３】
2014176171.tif 000005
【００１８】
【数４】
2014176171.tif 000006
【００１９】
従来のパルスモータ制御装置は、これら式（１）から式（４）に示す演算式を用いて、パルス生成タイミングを演算、または、特許文献２のように、あらかじめ演算結果を記憶しておき記憶された演算結果を読み出して使用することにより、パルスモータの回転速度制御を可能としている。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特公平６１−０３５７９９号公報
【特許文献２】特開２００３−１７０６３５号公報
【非特許文献】
【００２１】
【非特許文献１】見城尚志著、菅原晟著、「ステッピングモータとマイコン制御」、総合電子出版社、１９９４年、p.１５１−１５５
【非特許文献２】高橋久著、「Ｃ言語によるモータ制御入門講座−ＳＨマイコンで学ぶプログラミングと制御技法−」、電波新聞社、２００７年、p.２３９−２４２
【発明の概要】
【発明が解決しようとする課題】
【００２２】
近年、制御対象の高速応答に対する要求が高まっており、パルスモータ制御装置に求められる応答時間はサブマイクロ秒台となることがしばしばである。ここで、応答時間とは、パルスモータ制御装置の中央演算処理装置からパルス出力指令を発行してから、パルスモータ制御装置からパルスの出力が開始されるまでの時間をいう。
【００２３】
また、制御対象の小型化により、制御対象の高精度動作に対する要求が高まっており、制御対象の許容移動誤差がパルスモータのステップ角程度というアプリケーションもある。パルスエッジに従いステップ角だけ移動する制御対象にとって、計算誤差によるパルス出力誤差は１パルス未満となっている。
【００２４】
しかしながら、前述のような演算によるパルスモータの回転速度制御の場合、全ての演算をリアルタイムで行うものとすると、演算が複雑で時間がかかるため、パルスモータの高速動作に適切に応答することが困難になってくるという課題がある。
【００２５】
また、低速時のスローアップが不要な場合であっても、複雑な演算を行うこととなるため、演算に時間を要して、パルスモータの動作時間がかかり、システム全体のスループットの低下をまねく場合が生じてしまうという課題がある。
【００２６】
一方、これらの課題を解決する為に、演算式の簡易化を行うと、特許文献１のように演算誤差の補正演算を追加しても、累積演算誤差を発生させる場合が生じてしまうという課題がある。
【００２７】
また、特許文献２のように、あらかじめ演算結果をメモリ等のデータ保持手段に記憶させておき、記憶された演算結果を読み出して使用する方式においては、必要な駆動パターン数や、駆動時間が増加するとデータ保持手段の容量が増大し、高価なシステムになってしまうという課題がある。
【００２８】
したがって、演算負荷の低減が可能な演算式で、演算誤差が少ない演算方式を採用することが望ましい。
【００２９】
また、パルスモータ制御装置がパルス生成タイミングを制御する際、パルスモータ制御装置のパルス生成タイミングの分解能（現出力パルスと次出力パルスの時間間隔の最小時間長）によって制約を受ける。このため、パルス生成タイミングの分解能が、取り扱いの複雑な数値（例えば、無理数）や高精度化の為に桁数の大きな数値（例えば、６４桁以上）である場合、制御対象の動作速度や移動距離を設計するための計算が煩雑となり、リアルタイム処理が難くなる。したがって、煩雑な計算を必要としない、ユーザが取り扱いやすいパルスモータ制御装置とすることが望ましい。
【００３０】
そこで、本発明は、パルス生成タイミングの演算における演算誤差が少なく、演算負荷の低減が可能で、パルスモータにより駆動する制御対象の動作速度や移動距離の設計が取り扱いやすいパルスモータ制御装置を提供することを課題とする。
【課題を解決するための手段】
【００３１】
このような課題を解決するために、本発明に係るパルスモータ制御装置は、制御区間ごとに前記制御区間の演算値の初期値および前記制御区間の終了条件が記憶される記憶手段と、前記記憶手段に記憶された前記制御区間の終了条件に基づいて、現在の制御区間から次の制御区間へと切り替わる点である変化点を検出する変化点検出手段と、前記記憶手段に記憶された前記制御区間の演算値の初期値に基づいて、演算を行うとともに、演算された演算値が所定の閾値以上となるとパルス生成タイミングを出力する有界演算器と、前記有界演算器が出力した前記パルス生成タイミングに基づいて、パルスモータを制御するためのパルス信号を生成するパルス生成手段と、を備え、前記有界演算器は、加加速度を保持する加加速度値保持手段、加速度を保持する加速度値保持手段、速度を保持する速度値保持手段、距離を保持する距離値保持手段、第１の１／２演算手段、第２の１／２演算手段、および、１／３演算手段を有し、前記演算において、前記加加速度値保持手段に保持された加加速度値と、前記加速度値保持手段に保持された加速度値とを、加算演算した値が前記加速度値保持手段に入力され、前記加加速度値保持手段に保持された加加速度値を前記第１の１／２演算手段で処理した値と、前記加速度値保持手段に保持された加速度値と、前記速度値保持手段に保持された速度値とを、加算演算した値が前記速度値保持手段に入力され、前記加加速度値保持手段に保持された加加速度値を前記第１の１／２演算手段および前記１／３演算手段で処理した値と、前記加速度値保持手段に保持された加速度値を前記第２の１／２演算手段で処理した値と、前記速度値保持手段に保持された速度値と、前記距離値保持手段に保持された距離値とを、加算演算した値が前記距離値保持手段に入力され、少なくとも前記距離値保持手段は、ｎ進数のカウンタで実装されることを特徴とする。
【発明の効果】
【００３２】
本発明によれば、パルス生成タイミングの演算における演算誤差が少なく、演算負荷の低減が可能で、パルスモータにより駆動する制御対象の動作速度や移動距離の設計が取り扱いやすいパルスモータ制御装置を提供することができる。
【図面の簡単な説明】
【００３３】
【図１】パルスモータを制御する本実施形態に係るパルスモータ制御装置の構成ブロック図である。
【図２】有界演算器の構成を示す機能ブロック図である。
【図３】Ｓ字駆動制御を説明するグラフであり、（ａ）は横軸を時間とし縦軸を速度としたグラフであり、（ｂ）はＳ字駆動制御の加速区間について横軸を時間とし縦軸を加速度としたグラフである。
【図４】制御情報メモリに格納される格納データの例である。
【図５】制御情報メモリに格納される格納データの例である。
【図６】加加速区間における有界演算器の演算経過の例である。
【図７】定加速区間における有界演算器の演算経過の例である。
【図８】減加速区間における有界演算器の演算経過の例である。
【図９】変形例に係る有界演算器の構成を示す機能ブロック図である。
【図１０】台形駆動制御を説明するグラフであり、（ａ）は横軸を時間とし縦軸を速度としたグラフであり、（ｂ）は横軸を時間とし縦軸を加速度としたグラフである。
【図１１】台形駆動制御における加速区間を説明するグラフであり、（ａ）は横軸を時間とし縦軸を速度としたグラフであり、（ｂ）は横軸を時間とし縦軸を加速度としたグラフである。
【図１２】台形駆動制御における加速区間でのパルス生成タイミングの変化を説明するグラフであり、横軸を時間とし縦軸を速度としたグラフである。
【図１３】Ｓ字駆動制御の加速区間でのパルス生成タイミングの変化を示すグラフであり、（ａ）は横軸を時間とし縦軸を速度としたグラフであり、（ｂ）は横軸を時間とし縦軸を加速度としたグラフである。
【図１４】参考例に係る有界演算器の構成を示す機能ブロック図である。
【発明を実施するための形態】
【００３４】
以下、本発明を実施するための形態（以下「実施形態」という）について、適宜図面を参照しながら詳細に説明する。なお、各図において、共通する部分には同一の符号を付し重複した説明を省略する。
【００３５】
≪パルスモータ制御装置１≫
図１を用いて本実施形態に係るパルスモータ制御装置１について説明する。図１は、パルスモータ１３を制御する本実施形態に係るパルスモータ制御装置１の構成ブロック図である。
【００３６】
パルスモータ制御装置１は、パルスモータ１３を駆動させるためのパルス信号を生成して駆動回路１２に送信することにより、パルスモータ１３の回転速度やパルスモータ１３の回転角を制御することができるようになっている。
【００３７】
駆動回路１２は、パルスモータ制御装置１（後述するパルス生成手段１１）で生成されたパルス信号に基づいてパルスモータ１３の励磁電流を生成し、パルスモータ１３に出力するようになっている。
【００３８】
パルスモータ１３は、駆動回路１２から入力した励磁電流により回転するようになっている。なお、パルスモータ１３により駆動する図示しない制御対象（例えば、回転運動を直線運動に変換する回転直動機構）が設けられている場合には、パルスモータ制御装置１は、パルスモータ１３を制御することにより、制御対象（図示せず）の速度および移動距離を制御することができるようになっている。
【００３９】
パルスモータ制御装置１の各部について更に説明する。
パルスモータ制御装置１は、変化点検出手段２と、メモリアドレス生成手段３と、制御情報メモリ４と、演算定数選択手段５と、有界演算器６と、演算値計測手段７と、クロック計測手段８と、外部計測手段９と、パルス計測手段１０と、パルス生成手段１１と、を備えている。
【００４０】
変化点検出手段２は、後述する演算値計測手段７、クロック計測手段８、外部計測手段９およびパルス計測手段１０からの各種計測情報と、制御情報メモリ４から入力された計測制御値に基づいて、変化点であるか否かを判定することができるようになっている。ここで、変化点とは、速度−時間特性（後述する図３参照）において、ある制御区間から次の制御区間に切り替わる点をいう。
そして、変化点であると判定した場合、変化点検出手段２は、メモリアドレス生成手段３および演算定数選択手段５に条件成立信号を出力するようになっている。
【００４１】
メモリアドレス生成手段３は、メモリアドレスを保持し、制御情報メモリ４に保持されたメモリアドレスを出力するようになっている。
また、メモリアドレス生成手段３は、変化点検出手段２から条件成立信号が入力されると、メモリアドレスに記憶されているアドレスを「１」加算するようになっている。なお、アドレス値は、速度−時間特性（後述する図３参照）における１つの制御区間に対応するようになっている。
【００４２】
制御情報メモリ４は、アドレス（制御区間）に対応するように、計測制御値と演算設定値が記憶されている。ここで、計測制御値とは、変化点検出手段２で変化点であると判定するための閾値である。また、演算設定値とは、アドレスに対応する制御区間における演算値（加加速度Ｂ、加速度Ａ、速度Ｖ）の初期値である。
また、制御情報メモリ４は、メモリアドレス生成手段３から入力されたアドレスに対応する計測制御値を変化点検出手段２に出力するとともに、メモリアドレス生成手段３から入力されたアドレスに対応する演算設定値を演算定数選択手段５に出力するようになっている。
【００４３】
演算定数選択手段５は、制御情報メモリ４の演算設定値と、有界演算器６の演算結果値とのいずれかを選択して、有界演算器６に出力するようになっている。
具体的には、変化点検出手段２の条件成立信号が入力された場合には、制御情報メモリ４の演算設定値を有界演算器６に出力し、変化点検出手段２の条件成立信号が入力されなかった場合には、有界演算器６の演算結果値を有界演算器６に出力するようになっている。
【００４４】
有界演算器６は、演算定数選択手段５から入力した値（演算設定値または演算結果値）に基づいて、演算周期（演算用クロックの周期）で演算を実行し、その演算結果値を、演算定数選択手段５および演算値計測手段７に出力するようになっている。
また、有界演算器６は、所定の条件を満たすことにより、パルス生成信号（後述するオーバーフロー信号）をパルス計測手段１０およびパルス生成手段１１に出力するようになっている。
なお、有界演算器６における演算については、図２等を用いて後述する。
【００４５】
演算値計測手段７は、有界演算器６の演算結果値を保持するとともに、その演算結果値を計測情報として変化点検出手段２に出力することができるようになっている。
【００４６】
クロック計測手段８は、クロック（有界演算器６における演算回数）をカウントするとともに、そのクロックカウントを計測情報として変化点検出手段２に出力することができるようになっている。
【００４７】
外部計測手段９は、パルスモータ制御装置１の外部の情報（例えば、図示しない制御対象が所定の位置まで移動したことを検知するセンサの検知信号）を取得するとともに、その外部情報を計測情報として変化点検出手段２に出力することができるようになっている。
【００４８】
パルス計測手段１０は、有界演算器６からパルス生成信号（オーバーフロー信号）が入力した回数をカウントすることにより、パルス生成手段１１が生成したパルス信号の数を計測するとともに、その生成したパルス信号の数を計測情報として変化点検出手段２に出力することができるようになっている。
【００４９】
パルス生成手段１１は、有界演算器６から入力したパルス生成信号（オーバーフロー信号）を受信することにより、パルス信号を生成して駆動回路１２に送信することができるようになっている。
【００５０】
≪有界演算器６における演算処理≫
次に、本実施形態に係るパルスモータ制御装置１が備える有界演算器６について更に説明する。
【００５１】
＜演算式＞
まず、本実施形態に係るパルスモータ制御装置１が用いる演算式について説明する。
【００５２】
図１０および図１１を用いて説明した台形駆動制御を例に、台形駆動制御の加速区間でのパルス生成タイミングについて図１２を用いて更に説明する。図１２は、台形駆動制御における加速区間でのパルス生成タイミングの変化を説明するグラフであり、横軸を時間［ｓ］とし縦軸を速度［ｐｐｓ］としたグラフである。
【００５３】
パルスモータによる駆動において、時間ｔ0 ，ｔ1 ，ｔ2 ，・・・，ｔn においてパルス信号を出力するものとすると、常に、１パルス毎の移動距離が等しいことから、図１２に示す速度−時間特性における面積Ｓ0 ，Ｓ1 ，Ｓ2 ，・・・，Ｓn-1 は、Ｓ0 ＝Ｓ1 ＝Ｓ2 ＝・・・＝Ｓn-1 の関係が成立する。
また、一般的に、速度＝∫加速度dt、距離＝∫速度dt、の関係が成立する。
【００５４】
そこで、図１３に示すような２次曲線を採用したＳ字駆動制御を例に、Ｓ字駆動制御の加速区間でのパルス生成タイミングについて説明する。図１３は、Ｓ字駆動制御の加速区間でのパルス生成タイミングの変化を示すグラフであり、（ａ）は横軸を時間［ｓ］とし縦軸を速度［ｐｐｓ］としたグラフであり、（ｂ）は横軸を時間［ｓ］とし縦軸を加速度［ｐｐｓ／ｓ］としたグラフである。
【００５５】
即ち、図１３（ｂ）に示すように、一定の正の加加速度を与えて加速度を上昇させることにより、図１３（ａ）に示すように、速度を２次曲線で徐々に上昇させる（加加速区間）。
【００５６】
次に、図１３（ｂ）に示すように、加加速度をゼロにすることで加速度を一定にさせることにより、図１３（ａ）に示すように、速度を一定の傾きで上昇させる（定加速区間）。
【００５７】
そして、図１３（ｂ）に示すように、一定の負の加加速度を与えて加速度を低下させることにより、図１３（ａ）に示すように、速度を２次曲線で徐々に低下させる（減加速区間）。
【００５８】
このようにＳ字駆動制御することにより、台形駆動制御（図１０参照）と比較して、加速区間開始時および加速区間終了時における加速度の急激な変化を低減させることができるようになっている。即ち、図示しない制御対象にかかる力が、急激に変化することを抑制することができるようになっている。
【００５９】
ここで、距離（パルス数）をｄ［ｐ］とし、速度（パルス信号の周波数）をｖ［ｐｐｓ］とし、加速度をａ［ｐｐｓ／ｓ］とし、加加速度をｂ［ｐｐｓ／ｓ2 ］として、ある時間ｔn ［ｓ］での距離ｄn 、速度ｖn 、加速度ａn 、加加速度ｂn の関係は、以下の式（５）で表すことができる。
【００６０】
【数５】
2014176171.tif 000007
【００６１】
この式（５）から、特定の時間（Δｔ［ｓ］）が経過した時間ｔn+1 ［ｓ］（すなわち、ｔn+1 ＝ｔn ＋Δｔ）おける演算式は、以下の式（６）で表すことができる。
【００６２】
【数６】
2014176171.tif 000008
【００６３】
この式（６）のままでは、演算が複雑となるため、特定の時間（Δｔ）を演算用クロックの周波数１クロック分の時刻として、即ち、「Δｔ＝１」として、演算式の簡略化を行った。簡略化された演算式を以下の式（７）に示す。なお、この簡略化された演算式（７）における加速度ａ、加加速度ｂは、演算用クロックで換算された値となっている。
【００６４】
【数７】
2014176171.tif 000009
【００６５】
演算式（７）において、各演算式のｎが１進んだときの演算結果が、１クロック分の変化結果に相当することを示している。ここで、１パルス毎の移動距離が等しいことから、距離ｄが所定の値を超える（オーバーフローする）タイミングがパルス生成タイミングとなる。
【００６６】
このように、演算式（７）に演算用クロックで換算した加速度ａ、加加速度ｂを与えて、クロック時刻に同期して演算を繰返すことで、パルス生成タイミングを生成することができ、複雑な演算が不要なパルス生成方式が可能となる。
【００６７】
＜有界演算器６の構成＞
図２を用いて、演算式（７）を実現する有界演算器６の構成について説明する。図２は、有界演算器６の構成を示す機能ブロック図である。
有界演算器６は、加加速度値保持手段６１と、加速度値保持手段６２と、速度値保持手段６３と、距離値保持手段６４と、加算器６５ａ、６５ｂ、６５ｃ、６５ｄ、６５ｅ、６５ｆと、１／２演算器６６ａ、６６ｂと、１／３演算器６７と、定数保持手段６８と、出力選択手段６９と、を備えている。
【００６８】
まず、演算定数選択手段５（図１参照）から入力した値（演算設定値または演算結果値）のうち、加加速度値が加加速度値保持手段６１に保持され、加速度値が加速度値保持手段６２に保持され、速度値が速度値保持手段６３に保持され、距離値が距離値保持手段６４に保持される。
【００６９】
加速度値保持手段６２には、加加速度値保持手段６１に保持された加加速度値と加速度値保持手段６２に保持された加速度値を加算器６５ａで加算した値が入力され、保持される。
【００７０】
速度値保持手段６３には、加加速度値保持手段６１に保持された加加速度値を１／２演算器６６ａで処理した値と、加速度値保持手段６２に保持された加速度値と、速度値保持手段６３に保持された速度値を加算器６５ｂ、６５ｃで加算した値が入力され、保持される。
【００７１】
加算器６５ｄには、加加速度値保持手段６１に保持された加加速度値を１／２演算器６６ａおよび１／３演算器６７で処理した値と、加速度値保持手段６２に保持された加速度値を１／２演算器６６ｂで処理した値と、速度値保持手段６３に保持された速度値とが、入力され、これらを加算した値が加算器６５ｅに出力される。
【００７２】
加算器６５ｅには、加算器６５ｄから出力された値と距離値保持手段６４に保持された距離値が入力され、これらを加算した値が加算器６５ｆおよび出力選択手段６９に出力される。
【００７３】
また、加算器６５ｅは、オーバーフローが発生した際には、図２の破線矢印で示すように、オーバーフローの発生を示すオーバーフロー信号をパルス生成信号としてパルス計測手段１０およびパルス生成手段１１に出力するとともに、出力選択手段６９にも出力するようになっている。
【００７４】
定数保持手段６８には、所定の定数Ｃoffset が保持されている。定数保持手段６８に保持されている定数Ｃoffset は、距離値保持手段６４に保持される値をオフセットするためのものであり、詳細は後述する。
【００７５】
加算器６５ｆには、加算器６５ｅから出力された値と定数保持手段６８に保持された定数Ｃoffset が入力され、これらを加算した値が出力選択手段６９に出力される。
【００７６】
出力選択手段６９は、加算器６５ｅから出力された値と、加算器６５ｆから出力された値とのいずれかを選択して、距離値保持手段６４に出力するようになっている。
具体的には、加算器６５ｅからパルス生成信号（オーバーフロー信号）が入力された場合には、加算器６５ｆから出力された値を距離値保持手段６４に出力し、加算器６５ｅのパルス生成信号（オーバーフロー信号）が入力されなかった場合には、加算器６５ｅから出力された値を距離値保持手段６４に出力するようになっている。
【００７７】
距離値保持手段６４には、出力選択手段６９から出力された値が入力され、保持される。
【００７８】
そして、加加速度値保持手段６１に保持された加加速度値と、加速度値保持手段６２に保持された加速度値と、速度値保持手段６３に保持された速度値と、距離値保持手段６４に保持された距離値とを、演算結果値として演算定数選択手段５（図１参照）および演算値計測手段７（図１参照）に出力するようになっている。
【００７９】
なお、有界演算器６において、１／２演算器６６ａ、６６ｂを１ビットシフトとし、１／３演算器６７を３クロックに１回の割合で出力するものとすることにより、有界演算器６における必要な演算を加算のみにすることができる。
【００８０】
＜参考例に係る有界演算器６Ｒの構成＞
ここで、参考例に係る有界演算器６Ｒを備えるパルスモータ制御装置１ついて説明する。図１４は、参考例に係る有界演算器６Ｒの構成を示す機能ブロック図である。参考例に係るパルスモータ制御装置１は、有界演算器６（図２参照）かえて、有界演算器６Ｒ（図１４参照）を備えている。
【００８１】
図１４に示すように、参考例に係る有界演算器６Ｒは、加加速度値保持手段６１と、加速度値保持手段６２と、速度値保持手段６３と、距離値保持手段６４と、加算器６５ａ、６５ｂ、６５ｃ、６５ｄ、６５ｅと、１／２演算器６６ａ、６６ｂと、１／３演算器６７と、を備えている。即ち、参考例に係る有界演算器６Ｒは、本実施形態に係る有界演算器６（図２参照）と比較して、加算器６５ｆ、定数保持手段６８および出力選択手段６９が省略され、加算器６５ｅの出力値がそのまま距離値保持手段６４に入力され、保持されるようになっている点で異なっている。その他は、本実施形態に係る有界演算器６（図２参照）と同様であり、説明を省略する。
【００８２】
＜パルス生成タイミングの分解能＞
本実施形態に係る有界演算器６（図２参照）を備えるパルスモータ制御装置１のパルス生成タイミングの分解能について、参考例（図１４参照）と対比しつつ説明する。
【００８３】
有界演算器６（図２参照）および有界演算器６Ｒ（図１４参照）が備える距離値保持手段６４として、１０ＭＨｚのベースクロックで動作する２４ビットのバイナリカウンタを用いた場合を例に説明する。前述したように、有界演算器６、６Ｒは、オーバーフローが発生すると、パルス生成信号（オーバーフロー信号）をパルス計測手段１０およびパルス生成手段１１に出力する。
【００８４】
ここで、図１４に示す参考例に係る有界演算器６Ｒを備えるパルスモータ制御装置１のパルス周波数の最小値は、約０．６ｐｐｓ（＝１／２24 ×１０ＭＨｚ）となる。この値が、参考例に係るパルスモータ制御装置１（有界演算器６Ｒ）におけるパルス周波数の分解能となる。このため、参考例に係るパルスモータ制御装置１（有界演算器６Ｒ）は、パルス周波数を約０．６ｐｐｓ（パルス周波数の分解能）の整数倍でしか制御することができない。参考例に係るパルスモータ制御装置１（有界演算器６Ｒ）を用いて、パルスモータ１３の回転を制御し制御対象の駆動を制御する場合、パルスモータ１３の回転速度はパルス周波数とステップ角から算出されるため、パルスモータ１３が駆動する制御対象の動作速度や移動距離の導出は複雑になる。
【００８５】
また、パルス周波数の最小値（分解能）が約０．６ｐｐｓであるということは、毎秒約１．７回（＝1／約０．６）のオーバーフローが発生するということであり、例えば、オーバーフローが毎秒１００回発生するパルス周波数１００．０ｐｐｓのような出力要求に対応することができない。
【００８６】
ちなみに、距離値保持手段６４を１６ビットのバイナリカウンタを用いた場合では、パルス周波数の最小値（分解能）は、約１５２．６ｐｐｓ（＝１／２16 ×１０ＭＨｚ）となる。パルス周波数１００．０ｐｐｓのような出力要求に対して、１６ビットのバイナリカウンタを０．７ｓだけカウントアップすることにより、約１０６．８ｐｐｓ（＝０．７×約１５２．６ｐｐｓ）が近似値として得られる。
【００８７】
また、距離値保持手段６４を１５ビットのバイナリカウンタを用いた場合では、パルス周波数の最小値（分解能）は、約３０５．２ｐｐｓ（＝１／２15 ×１０ＭＨｚ）となる。パルス周波数１００．０ｐｐｓのような出力要求に対して、１５ビットのバイナリカウンタを０．３ｓだけカウントアップすることにより、約９１．５ｐｐｓ（＝０．３×約３０５．２ｐｐｓ）が近似値として得られる。
【００８８】
いずれにしても、有界演算器６Ｒの距離値保持手段６４に用いるバイナリカウンタの桁数を２４ビットから１６ビット、１５ビットに変更しただけでは、例えば、パルス周波数１００．０ｐｐｓのような出力要求に正確に対応することができない。
【００８９】
以上のように、図１４に示す参考例に係る有界演算器６Ｒを備えるパルスモータ制御装置１について、距離値保持手段６４にバイナリカウンタを用いた場合、パルス周波数の分解能が取り扱い難い数値（例えば、無理数）となる場合がある。また、パルス周波数と、パルス出力間隔（現出力パルスと次出力パルスの時間間隔）とは、逆数の関係にあるため、パルス周波数が取り扱い難い数値（例えば、無理数）となる場合や、パルス出力タイミングが取り扱い難い数値（例えば、無理数）となる場合がある。この場合、パルスモータ１３の回転速度はパルス周波数とステップ角から算出されるため、パルスモータ１３により駆動する制御対象の動作速度や移動距離を正確に設計するための計算が煩雑となるという課題がある。
【００９０】
これに対し、図２に示す本実施形態に係る有界演算器６を備えるパルスモータ制御装置１は、距離値保持手段６４に固定長のカウンタ（例えば、２４ビットのバイナリカウンタ）を用いても、パルス出力タイミングを扱い易く、区切りのよい数値とすることにより、参考例に係るパルスモータ制御装置１（有界演算器６Ｒ）の課題を解決することができる。
【００９１】
固定長のカウンタ（２４ビットのバイナリカウンタ）を用いても、パルス出力タイミングを扱い易く、区切りのよい数値とする方法について説明する。
２４ビットのバイナリカウンタでは、１６，７７７，２１６（＝２24 ）カウントされると、オーバーフローする。ここで、区切りのよい数値として、例えば、１０，０００，０００（Ｃcount ）でオーバーフローを得たい場合、６，７７７，２１６が余分となる。この６，７７７，２１６（Ｃoffset ）を演算の前に予めバイナリカウンタ（距離値保持手段６４）にカウントしておく。そして、演算を開始すると、バイナリカウンタには、６，７７７，２１６（Ｃoffset ）カウントされているので、実質１０，０００，０００（Ｃcount ）カウントされた際に、オーバーフローする。ちなみに、１０ＭＨｚのベースクロックで、１０，０００，０００は、パルス周波数の最小値（分解能）１．０ｐｐｓ（＝１／(２24 −６，７７７，２１６)×１０ＭＨｚ）に相当する。
【００９２】
このように、固定長のカウンタ（２４ビットのバイナリカウンタ）に、予め定数（Ｃoffset ）をカウント（オフセット）しておくことにより、オーバーフローを得たいカウント（定数Ｃcount ）のタイミングでオーバーフローさせることができる。なお、定数Ｃcount は、固定長のカウンタ桁数で定義される最大値（２４ビットのバイナリカウンタでは、２24 ）よりも小さな値である。これにより、オーバーフローのタイミング、即ち、パルス周波数（パルスレート）の分解能を、計算上扱い易い数値にすることができる。また、パルス出力間隔およびパルス出力タイミングを計算上扱い易い数値にすることができる。
【００９３】
図２を用いて、本実施形態に係るパルスモータ制御装置１が備える有界演算器６において、予め定数（Ｃoffset ）をカウント（オフセット）させる機能について、距離値保持手段６４、加算器６５ｅ、６５ｆ、定数保持手段６８、出力選択手段６９を中心に説明する。
【００９４】
定数保持手段６８には、６，７７７，２１６（定数Ｃoffset ）が保持されている。また、出力選択手段６９は、初期状態では、加算器６５ｆから出力された値を選択して、距離値保持手段６４に出力するようになっている。
【００９５】
有界演算器６（パルスモータ制御装置１）を起動させて、各値保持手段６１、６２、６３、６４が、加算値の保持を開始すると、出力選択手段６９は、最初は加算器６５ｆから出力された値を選択して距離値保持手段６４に出力する。これにより、距離値保持手段６４には、定数保持手段６８に保持された６，７７７，２１６（定数Ｃoffset ）が入力（オフセット）される。次の時刻では、出力選択手段６９は、加算器６５ｅから出力された値を選択して距離値保持手段６４に出力するように入力を切り替える。そして、距離値保持手段６４において、カウントアップを行う。
【００９６】
ここで、距離値保持手段６４が、２４ビットのバイナリカウンタの場合、１０，０００，０００（２24 −６，７７７，２１６）（定数Ｃcount ）だけカウントアップされた時点で距離値保持手段６４の桁数の最大値が満了になる。即ち、カウントアップの間隔がベースクロック１０ＭＨｚで定義されている場合、起動から第１回目のパルスが出力されるまでの間隔は、１ｓ（１０，０００，０００／１０ＭＨｚ）、即ち、パルス周波数は１ｐｐｓとなる。
【００９７】
更に、距離値保持手段６４の桁数の最大値が満了になると、加算器６５ｅからパルス生成信号（オーバーフロー信号）が出力される。オーバーフローに際して、距離値保持手段６４はゼロになる場合もあれば、値を持つ場合もある。これは加算器６５ｄに入力される値に依存する。ここでは例として、距離値保持手段６４がゼロにならない、値を持つ場合を考える。仮にこの値をＣres と呼ぶ。加算器６５ｅからパルス生成信号が入力されると、出力選択手段６９は、加算器６５ｆから出力された値を選択して距離値保持手段６４に出力する。即ち、加算器６５ｅから出力された値Ｃres に定数保持手段６８に保持された６，７７７，２１６（定数Ｃoffset ）を加算して、距離値保持手段６４に出力する。これにより、距離値保持手段６４には、定数保持手段６８に保持された６，７７７，２１６（定数Ｃoffset ）にＣres を加えた（Ｃoffset ＋Ｃres ）が入力される。次の時刻では、出力選択手段６９は、加算器６５ｅから出力された値を選択して距離値保持手段６４に出力するように入力を切り替える。そして、これまでと同様に、距離値保持手段６４において、カウントアップを行う。
【００９８】
即ち、出力選択手段６９は、起動直後および加算器６５ｅからパルス生成信号（オーバーフロー信号）が入力された時刻だけ、加算器６５ｆから出力された値、即ち、加算器６５ｅから出力された値に定数保持手段６８に保持された定数Ｃoffset を加算した値を出力し、それ以外の時刻は、加算器６５ｅから出力された値をそのまま出力する。
【００９９】
このように、出力選択手段６９が動作することにより、起動直後またはパルス生成信号（オーバーフロー信号）生成直後に距離値保持手段６４に定数Ｃoffset が入力され、距離値保持手段６４はこの定数Ｃoffset からカウントアップを開始する。これにより、パルス周波数の分解能を一定値（１．０ｐｐｓ）に固定することができる。図１の方式によるパルス出力装置１において、パルス周波数は、分解能の整数倍で制御するため、パルス周波数の分解能を計算上扱い易い数値とすることにより、例えば、パルス周波数１００．０ｐｐｓのような出力要求に対しても、好適に対応することができる。
【０１００】
また、換言すれば、本実施形態に係るパルスモータ制御装置１が備える有界演算器６（図２参照）は、距離値保持手段６４を固定長のカウンタ（２４ビットのバイナリカウンタ）で構成しても、加算器６５ｆ、定数保持手段６８、出力選択手段６９を備え、定数保持手段６８、に定数Ｃoffset を保持することにより、参考例に係るパルスモータ制御装置１が備える有界演算器６（図１４参照）の距離値保持手段６４を定数Ｃcount （＝２24 −Ｃoffset ）のカウンタで構成したものと同等とすることができる。即ち、距離値保持手段６４のオーバーフローを得たいカウント（定数Ｃcount ）を設定することができるので、パルス周波数（パルスレート）の分解能を、例えば有理数のような計算上扱い易い数値にすることができる。また、パルス出力間隔およびパルス出力タイミングを例えば有理数のような計算上扱い易い数値にすることができる。
【０１０１】
≪パルスモータ制御装置１の動作（Ｓ字駆動制御）≫
次に、図３（ａ）に示すＳ字駆動制御を行う場合において、図３（ｂ）に示す加速区間における加速度制御を例に、本実施形態に係るパルスモータ制御装置１の動作について説明する。
【０１０２】
図４は、制御情報メモリ４に格納されている格納データの例である。
図３（ａ）に示すように、パルスモータ１３の起動から停止に至る一連の動作を、速度、加速度、加加速度などの制御条件が変化する毎の「制御区間」に分割されている。そして、各制御区間内における速度、加速度、加加速度などの初期値や制御区間の終了条件（次の制御区間への移行条件）を予め求めておき、格納データとして制御情報メモリ４に格納されている。
図３（ａ）に示すＳ字駆動制御は、制御区間ＴS1 〜ＴS8 の区間で区切られた曲線で構成されていることから、制御情報メモリ４に格納されている格納データは、例えば、図４に示すようになる。
【０１０３】
変化点情報選択条件には、その制御区間において、変化点検出手段２が、いずれの計測情報と計測制御値に基づいて変化点であるか否かを判定するかが格納されている。
また、演算条件には、演算定数選択手段５において、制御情報メモリ４から出力される各初期値（速度、加速度、加加速度）を選択（上書き）して次の区間演算を始めるか、または、有界演算器６から出力される各演算結果値（速度、加速度、加加速度）を選択（継承）して次の区間演算を始めるか、を示す選択フラグとしての演算条件が格納されている。
なお、変化点情報選択条件（選択条件）と演算条件とは、後述する図５のように一つのフラグで管理されていてもよい。
【０１０４】
計測制御値には、変化点検出手段２で変化点であると判定するための閾値が格納されている。
演算設定値には、アドレスに対応する制御区間における演算値（加加速度Ｂ、加速度Ａ、速度Ｖ）の初期値が格納されている。
【０１０５】
例えば、図３における入力パラメータを、加速区間における初速度ＦＬ＝２００００［ｐｐｓ］、加速区間における到達速度ＦＨ＝１０００００［ｐｐｓ］、制御区間ＴS1 ＝１２５［μｓ］、制御区間ＴS2 ＝３２［μｓ］、制御区間ＴS3 ＝５５［μｓ］、であるものとして説明する。
また、有界演算器６の演算周期（演算用クロック）を１［ＭＨｚ］の周期で演算するものとし、図５に示す格納データを制御情報メモリ４に格納する。
また、オーバーフロー判定は距離Ｄが１００００００を超える度に発生するものとして説明する。
【０１０６】
まず、メモリアドレス生成手段３には、アドレス「０」が保持されている。制御情報メモリ４は、アドレス「０」に基づいて、フラグ「０」、クロック設定値「０」、パルス設定値「０」（図５参照）を変化点検出手段２に出力する。
演算をスタートすると、変化点検出手段２は、条件成立信号をメモリアドレス生成手段３および演算定数選択手段５に出力する。
【０１０７】
メモリアドレス生成手段３は、メモリアドレスを１加算してアドレス「１」を保持するとともに、制御情報メモリ４にアドレス「１」を出力する。
制御情報メモリ４は、アドレス「１」に基づいて、フラグ「１」、計測制御値（クロック設定値「１２５」）（図５参照）を変化点検出手段２に出力する。また、制御情報メモリ４は、演算設定値（加加速度Ｂ「５」、加速度Ａ「０」、速度Ｖ「２００００」）を演算定数選択手段５に出力する。
なお、フラグ「１」とは、計測制御値のうちクロック設定値を用いて変化点の判定を行うことを示すフラグであり、演算定数選択手段５に演算設定値として加加速度Ｂ、加速度Ａ、速度Ｖを出力することを示すフラグである。
【０１０８】
演算定数選択手段５は、変化点検出手段２から条件成立信号が入力されたことにより、演算設定値（加加速度Ｂ「５」、加速度Ａ「０」、速度Ｖ「２００００」）を有界演算器６に出力する。
有界演算器６は、加加速度値保持手段６１に「５」、加速度値保持手段６２に「０」、速度値保持手段６３に「２００００」を格納し、出力選択手段６９により定数保持手段６８に保持されている定数Ｃoffset １５７７７２１６（＝２24−１００００００）が距離値保持手段６４に格納され、（後述する図６の０クロック目参照）、演算を開始する。そして、有界演算器６は、演算結果値（加加速度Ｂ「５」、加速度Ａ「５」、速度Ｖ「２０００５」、距離Ｄ（バイナリカウンタ）「１５７９７２２４」）（後述する図６の１クロック目参照）を演算定数選択手段５および演算値計測手段７に出力するようになっている。
【０１０９】
次の演算周期において、演算定数選択手段５は、変化点検出手段２から条件成立信号が入力されていないため、演算結果値（加加速度Ｂ「５」、加速度Ａ「５」、速度Ｖ「２０００５」、距離Ｄ（バイナリカウンタ）「１５７９７２２４」）を有界演算器６に出力する。そして、変化点検出手段２から演算定数選択手段５に条件成立信号が入力されるまで演算を繰り返す。
【０１１０】
そして、クロック計測手段８が計測したカウントが「１２５」（即ち、制御区間ＴS1 終了）となると、変化点検出手段２は、条件成立信号をメモリアドレス生成手段３および演算定数選択手段５に出力する。
【０１１１】
図６に加加速区間ＴS1 における有界演算器６の演算経過の例を示す。
なお、クロックは有界演算器６における演算回数であり、加加速度Ｂは加加速度値保持手段６１に保持される値であり、加速度Ａは加速度値保持手段６２に保持される値であり、速度Ｖは速度値保持手段６３に保持される値である。また、距離Ｄは、定数Ｃoffset でオフセットされていない本来の距離（参考例に係る有界演算器６の距離保持手段６４に保持されている値で、オーバーフローが発生せず加算し続けた場合の値に相当）であり、バイナリカウンタは、実際に距離保持手段６４に保持されている値（定数Ｃoffset でオフセットされた値）である。ちなみに、オーバーフロー判定は距離Ｄが１００００００を超える度に発生するため、定数保持手段６８に保持されている定数Ｃoffset は、１５，７７７，２１６（＝２24−１００００００）が保持されている。
【０１１２】
１〜４５クロック目において、オーバーフローは発生しないため、出力選択手段６９は、加算器６５ｅの出力値をそのまま距離値保持手段６４（バイナリカウンタ）に入力し、保持させる。
【０１１３】
そして、４６クロック目において、加算器６５ｅは、加算器６５ｄの出力値「２５６３３」と距離値保持手段６４に保持された値「１６７６３３９１」が入力され、オーバーフロー（１６７８９０２４＞１６７７７２１６）が発生する。このため、出力選択手段６９は、加算器６５ｆの出力値、即ち、加算器６５ｅの出力値「１１８０８」（＝１６７８９０２４-１６７７７２１６）と、定数保持手段６８の定数Ｃoffset 「１５７７７２１６」とを加算した値「１５７８９０２４」を距離値保持手段６４（バイナリカウンタ）に入力し、保持させる。
【０１１４】
４７〜７８クロック目において、オーバーフローは発生しないため、出力選択手段６９は、加算器６５ｅの出力値をそのまま距離値保持手段６４（バイナリカウンタ）に入力し、保持させる。７９クロック目において、オーバーフローが発生すると、加算器６５ｆの出力値（加算器６５ｅの出力値と、定数保持手段６８の定数Ｃoffsetとを加算した値）を距離値保持手段６４（バイナリカウンタ）に入力し、保持させる。以下、変化点であると判定（１２５クロック目）されるまで同様の演算を繰り返す。
このように、１２５クロック目の加速度が６２５、速度が５９６８５に達しており、４個のパルスが生成したことがわかる。
【０１１５】
制御区間ＴS1 終了時に、条件成立信号が出力されたことにより、メモリアドレス生成手段３は、メモリアドレスを１加算してアドレス「２」を保持するとともに、制御情報メモリ４にアドレス「２」を出力する。
制御情報メモリ４は、アドレス「２」に基づいて、フラグ「２」、計測制御値（クロック設定値「３２」）（図５参照）を変化点検出手段２に出力する。また、制御情報メモリ４は、演算設定値（加加速度Ｂ「０」、加速度Ａ「６２５」）を演算定数選択手段５に出力する。
なお、フラグ「２」とは、計測制御値のうちクロック設定値を用いて変化点の判定を行うことを示すフラグであり、演算定数選択手段５に演算設定値として加加速度Ｂ、加速度Ａを出力することを示すフラグである。
【０１１６】
演算定数選択手段５は、変化点検出手段２から条件成立信号が入力されたことにより、
演算設定値（加加速度Ｂ「０」、加速度Ａ「６２５」）と演算結果値（速度Ｖ「５９６８５」、距離Ｄ（バイナリカウンタ）「１５９８３２５８」）を有界演算器６に出力する。そして、変化点検出手段２から演算定数選択手段５に条件成立信号が入力されるまで演算を繰り返す。
【０１１７】
そして、クロック計測手段８が計測したカウントが「３２」（即ち、制御区間ＴS2 終了）となると、変化点検出手段２は、条件成立信号をメモリアドレス生成手段３および演算定数選択手段５に出力する。
【０１１８】
図７に加加速区間ＴS2 における有界演算器６の演算経過の例を示す。
変化点であると判定（３２クロック目）されるまで同様の演算を繰り返す。
このように、３２クロック目の速度が７９６８５に達しており、２個のパルスが生成したことがわかる。
【０１１９】
制御区間ＴS2 終了時に、条件成立信号が出力されたことにより、メモリアドレス生成手段３は、メモリアドレスを１加算してアドレス「３」を保持するとともに、制御情報メモリ４にアドレス「３」を出力する。
制御情報メモリ４は、アドレス「３」に基づいて、フラグ「２」、計測制御値（クロック設定値「５５」）（図５参照）を変化点検出手段２に出力する。また、制御情報メモリ４は、演算設定値（加加速度Ｂ「−１０」、加速度Ａ「０」）を演算定数選択手段５に出力する。
【０１２０】
演算定数選択手段５は、変化点検出手段２から条件成立信号が入力されたことにより、演算設定値（加加速度Ｂ「−１０」、加速度Ａ「０」）と演算結果値（速度Ｖ「７９６８５」、距離Ｄ「１６２３３１７８」）を有界演算器６に出力する。そして、変化点検出手段２から演算定数選択手段５に条件成立信号が入力されるまで演算を繰り返す。
【０１２１】
そして、クロック計測手段８が計測したカウントが「５５」（即ち、制御区間ＴS3 終了）となると、変化点検出手段２は、条件成立信号をメモリアドレス生成手段３および演算定数選択手段５に出力する。
【０１２２】
図８に加加速区間ＴS3 における有界演算器６の演算経過の例を示す。
変化点であると判定（５５クロック目）されるまで同様の演算を繰り返す。
このように、５５クロック目の速度が１０００００に達しており、５個のパルスが生成したことがわかる。
【０１２３】
制御区間ＴS4 終了時に、条件成立信号が出力されたことにより、メモリアドレス生成手段３は、メモリアドレスを１加算してアドレス「４」を保持するとともに、制御情報メモリ４にアドレス「４」を出力する。
制御情報メモリ４は、アドレス「４」に基づいて、フラグ「３」、計測制御値（パルス設定値「５」）（図５参照）を変化点検出手段２に出力する。また、制御情報メモリ４は、演算設定値（加加速度Ｂ「０」、加速度Ａ「０」、速度Ｖ「１０００００」）を演算定数選択手段５に出力する。
なお、フラグ「３」とは、計測制御値のうちパルス設定値を用いて変化点の判定を行うことを示すフラグであり、演算定数選択手段５に演算設定値として加加速度Ｂ、加速度Ａ、速度を出力することを示すフラグである。
【０１２４】
演算定数選択手段５は、変化点検出手段２から条件成立信号が入力されたことにより、演算設定値（加加速度Ｂ「０」、加速度Ａ「０」、速度Ｖ「１０００００」）と演算結果値（距離Ｄ「１６３０４０９７」）を有界演算器６に出力する。そして、変化点検出手段２から演算定数選択手段５に条件成立信号が入力されるまで演算を繰り返す。
【０１２５】
そして、パルス計測手段１０が計測したカウントが制御区間ＴS5 開始から「５」増えると、変化点検出手段２は、条件成立信号をメモリアドレス生成手段３および演算定数選択手段５に出力する。
【０１２６】
これらの一連の動作により、本実施形態に係るパルスモータ制御装置１は、入力パラメータで指定した動作が可能となる。
【０１２７】
このように、本実施形態に係るパルスモータ制御装置１によれば、演算式（７）の有界演算器６（図２参照）を用いることにより、前記した式（１）〜（４）に基づいて制御する従来のパルスモータ制御装置と比較して、除算回路を不要とし、高速に動作させることができるので、演算誤差が少なく、演算負荷を低減させることができる。
【０１２８】
また、式（１）〜（４）に基づいて制御する従来のパルスモータ制御装置では、制御パルスの生成が困難であったＳ字駆動制御（２次曲線速度制御）についても、本実施形態に係るパルスモータ制御装置１によれば、容易に実現することができる。
【０１２９】
また、除算を不要とすることで、距離に対する累積誤差が発生しない演算回路とすることができる。更に、演算式（７）では、精度への制限が無いことから、演算周期と演算有効幅を適宜変更することで、システムが要求する演算精度に合せることも可能である。
【０１３０】
また、定数保持手段６８に定数Ｃoffset を保持させることにより、オーバーフローを得たいカウント（Ｃcount ）のタイミングでオーバーフローさせることができる。これにより、パルス周波数（パルスレート）の分解能を、計算上扱い易い数値にすることができる。また、パルス出力間隔およびパルス出力タイミングを計算上扱い易い数値にすることができる。制御対象の移動速度と移動距離を設計する際に煩雑な計算を省くように設定でき、ユーザインターフェースが向上する。
【０１３１】
≪変形例に係るパルスモータ制御装置１≫
次に、変形例に係る有界演算器６Ａを備えるパルスモータ制御装置１ついて説明する。図９は、変形例に係る有界演算器６Ａの構成を示す機能ブロック図である。変形例に係るパルスモータ制御装置１は、有界演算器６（図２参照）かえて、有界演算器６Ａ（図９参照）を備えている。
【０１３２】
図９に示すように、変形例に係る有界演算器６Ａは、加加速度値保持手段６１と、加速度値保持手段６２と、速度値保持手段６３と、距離値保持手段６４と、加算器６５ａ、６５ｂ、６５ｃ、６５ｄ、６５ｅと、１／２演算器６６ａ、６６ｂと、１／３演算器６７と、定数保持手段６８Ａと、出力選択手段６９と、減算器７０と、比較器７１と、を備えている。即ち、変形例に係る有界演算器６Ａは、本実施形態に係る有界演算器６（図２参照）と比較して、加算器６５ｆおよび定数保持手段６８にかえて、減算器７０、比較器７１および定数保持手段６８Ａを備えている。その他は、本実施形態に係る有界演算器６（図２参照）と同様であり、説明を省略する。
【０１３３】
加算器６５ｅには、加算器６５ｄの出力値と距離値保持手段６４に保持された距離値が入力され、これらを加算した値を出力選択手段６９、減算器７０および比較器７１に出力するようになっている。
【０１３４】
定数保持手段６８Ａには、オーバーフローを得たいカウントである定数Ｃcount が保持されている。
【０１３５】
減算器７０には、加算器６５ｅの出力値と定数保持手段６８Ａの定数Ｃcount とが入力され、加算器６５ｅの出力値から定数保持手段６８Ａの定数Ｃcount を減算した値を出力選択手段６９にも出力するようになっている。
【０１３６】
比較器７１は、加算器６５ｅの出力値と定数保持手段６８Ａの定数Ｃcount とが入力され、加算器６５ｅの出力値が定数保持手段６８Ａの定数Ｃcount 以上となると、パルス生成信号をパルス計測手段１０およびパルス生成手段１１に出力するとともに、出力選択手段６９にも出力するようになっている。
【０１３７】
出力選択手段６９は、加算器６５ｅの出力値と、減算器７０の出力された値とのいずれかを選択して、距離値保持手段６４に出力するようになっている。
具体的には、比較器７１からパルス生成信号が入力された場合には、減算器７０から出力された値を距離値保持手段６４に出力し、加算器６５ｅのパルス生成信号が入力されなかった場合には、加算器６５ｅから出力された値を距離値保持手段６４に出力するようになっている。
【０１３８】
このように、比較器７１により、距離値保持手段６４のカウント（加算器６５ｅの出力値）を閾値（定数Ｃcount ）で監視して、パルス生成信号を生成するようになっている。この閾値監視方式では、図２に示す有界演算器６の場合と比較して、定数保持手段６８Ａに閾値（定数Ｃcount ）を保持しておくことと、距離値保持手段６４のカウントをゼロから開始する点が異なる。変形例に係る有界演算器６Ａによれば、図２に示す有界演算器６の場合と同様の作用・効果を奏する。
しかし、変形例に係る有界演算器６Ａは、比較器７１を使用するため、図２に示す有界演算器６の場合と比較して、コストが増加する。また、比較器７１において、比較判断するため、オーバーフローの発生が図２に示す有界演算器６の場合と比較して、遅延する点が異なる。
【０１３９】
なお、本実施形態および変形例に係るパルスモータ制御装置１は、上記実施形態の構成に限定されるものではなく、発明の趣旨を逸脱しない範囲内で種々の変更が可能である。
【０１４０】
変化点検出手段２は、クロック計測手段８の計測情報（クロック数）またはパルス計測手段１０の計測情報（パルス数）に基づいて変化点であるか否かを判定するものを例に説明したが、これに限られるものではなく、演算値計測手段７の計測情報（演算された加速度、速度、距離等）や外部計測手段９の計測情報（図示しないセンサの出力値）に基づいて判定するものでもよく、これらを組み合せて判定するものであってもよい。
【０１４１】
また、本実施形態に係るパルスモータ制御装置１は、図３に示すＳ字駆動制御するものとして説明したが、これに限られるものではない。本実施形態に係るパルスモータ制御装置１において、加加速度ｂn＝０とすることにより、台形駆動制御（図１０参照）としてもよい。
【０１４２】
距離値保持手段６４は、２４ビットのバイナリカウンタを用いるものとして説明したが、これに限られるものではない。固定長のカウンタであればよく、ｎ進数のカウンタ（ｎは２以上の自然数）であってもよい。また、加加速度値保持手段６１、加速度値保持手段６２、速度値保持手段６３についても、ｎ進数のカウンタ（ｎは２以上の自然数）であってもよい。
【０１４３】
定数保持手段６８に保持される定数Ｃoffset （定数保持手段６８Ａに保持される定数Ｃcount ）は、予め入力されているものとして説明したが、これに限られるものではない。図示しない定数入力手段を備え、ユーザが定数Ｃoffset （定数Ｃcount ）を入力できるような構成であってもよい。
【符号の説明】
【０１４４】
１              パルスモータ制御装置
２              変化点検出手段
３              メモリアドレス生成手段
４              制御情報メモリ（記憶手段）
５              演算定数選択手段
６              有界演算器
７              演算値計測手段
８              クロック計測手段
９              外部計測手段
１０            パルス計測手段
１１            パルス生成手段
１２            駆動回路
１３            パルスモータ
６１            加加速度値保持手段
６２            加速度値保持手段
６３            速度値保持手段
６４            距離値保持手段
６５ａ，６５ｂ，６５ｃ，６５ｄ，６５ｅ  加算器
６５ｆ          加算器（オフセット手段）
６６ａ，６６ｂ  １／２演算器（１／２演算手段）
６７            １／３演算器（１／３演算手段）
６８，６８Ａ    定数保持手段（オフセット手段）
６９            出力選択手段（オフセット手段）
７０            減算器
７１            比較器（比較手段）
Ｃcount         定数（第１定数）
Ｃoffset        定数（第２定数）
【図１】
2014176171.tif 000010
【図２】
2014176171.tif 000011
【図３】
2014176171.tif 000012
【図４】
2014176171.tif 000013
【図５】
2014176171.tif 000014
【図６】
2014176171.tif 000015
【図７】
2014176171.tif 000016
【図８】
2014176171.tif 000017
【図９】
2014176171.tif 000018
【図１０】
2014176171.tif 000019
【図１１】
2014176171.tif 000020
【図１２】
2014176171.tif 000021
【図１３】
2014176171.tif 000022
【図１４】
2014176171.tif 000023