(57)【特許請求の範囲】
【請求項１】
ステッピングモータを駆動するためのｎ＋１（ｎは整数、ただしｎ≧０）ビットの波形データを記憶する波形データ記憶回路と、
ｎ＋１ビット数分のレジスタからなり、それぞれのレジスタが２つの入力端子と１つの出力端子とを有し、それぞれのレジスタの出力端子が次段のレジスタの２つの入力端子のうちの一方の入力端子に接続され、最終段のレジスタの出力端子が第１段目のレジスタの２つの入力端子のうちの一方の入力端子に接続され、それぞれのレジスタが保持しているデータをクロック信号に同期したタイミングで順次シフトさせるシフトレジスタと、
前記シフトレジスタと同じビット数分の選択回路からなり、それぞれの選択回路は２つのデータ入力端子と１つのデータ出力端子とセレクト信号入力端子とを有し、それぞれの選択回路の一方のデータ入力端子は、前記波形データ記憶回路の各ビットの出力に接続され、それぞれの選択回路の他方のデータ入力端子は、ｋビット目の選択回路の他方のデータ入力端子が前記シフトレジスタのｎ−ｋ（ｋは、０≦ｋ≦ｎの整数）ビット目のレジスタの出力端子に接続される接続関係をもって前記シフトレジスタのそれぞれのレジスタの出力端子に接続され、それぞれの選択回路のデータ出力端子は、前記シフトレジスタの対応するビットのレジスタの他方の入力端子に接続され、それぞれの選択回路の前記一方のデータ入力端子を介して前記波形データ記憶回路から入力される波形データと、それぞれの選択回路の前記他方のデータ入力端子を介して前記シフトレジスタの前記接続関係にあるそれぞれのレジスタから入力されるデータの一方をそれぞれの選択回路の前記セレクト信号入力端子から入力されるセレクト信号に基づいて選択してそれぞれの選択回路の前記データ出力端子から対応する前記シフトレジスタのそれぞれのレジスタに出力する選択回路群と、
を備えることを特徴とするステッピングモータ駆動回路。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ステッピングモータの駆動回路に関する。
【０００２】
【従来の技術】
ステッピングモータを駆動するためには、ステッピングモータの励磁巻線に供給する信号位相を切り換える必要がある。ステッピングモータの駆動回路として、図４及び図５に示すようなものが考えらる。
【０００３】
図４の駆動回路は、２個のトグルフリップフロップ１１及び１２と、インバータ１３とで構成されており、一方のトグルフリップフロップ１１のクロック端子にクロック信号ＣＬＫが直接供給され、他方のトグルフリップフロップ１３のクロック端子に、インバータ１３で反転されたクロック信号ＣＬＫが供給されている。
【０００４】
この駆動回路は、クロック信号ＣＬＫの立ち上がりに同期したタイミングで、トグルフリップフロップ１１のＱ出力信号（信号Ａ）が、例えば「１」となり、同時に反転Ｑ出力信号（反転信号Ａ）が「０」となり、クロック信号ＣＬＫの立ち下がりに同期してトグルフリップフロップ１２のＱ出力信号（信号Ｂ）が「１」となり、同時に反転Ｑ出力信号（反転信号Ｂ）が「０」となる。
【０００５】
そして、次のクロック信号の立ち上がりに同期したタイミングで、トグルフリップフロップ１１のＱ出力信号（信号Ａ）が「０」となり、反転Ｑ出力信号（反転信号Ａ）が「１」となる。さらに、そのクロックＣＬＫの立ち下がりに同期したタイミングでトグルフリップフロップ１２のＱ出力信号（信号Ｂ）が「０」となり、反転Ｑ出力信号（反転信号Ｂ）が「１」となる。これらの動作が繰り返されて、図６（Ｂ）に示すような２相励磁の場合の駆動信号Ａ，Ｂ，及びその反転信号Ａ，Ｂが出力される。なお、図６（Ａ）は、１相励磁の場合の駆動信号を示し、同図（Ｃ）は１−２相励磁の場合の駆動信号を示している。
【０００６】
しかしながら、図４の駆動回路では、図６（Ａ）に示すような駆動信号、あるいは図６（Ｃ）に示すような駆動信号を出力することはできない。
図５は、シフトレジスタを用いたステッピングモータ駆動回路の構成を示す図である。
【０００７】
この駆動回路は、トグルフリップフロップ２１と、３個のＤフリップフロップ２２〜２４と１個のインバータ２５とで構成されており、トグルフリップフロップ２１とＤフリップフロップ２３のクロック端子にクロック信号ＣＬＫが直接供給され、Ｄフリップフロップ２２及び２４のクロック端子にインバータ２５で反転されたクロック信号ＣＬＫが供給されている。
【０００８】
この駆動回路は、初期状態において各フリップフロップ２１〜２４の出力信号は全て「０」になっており、最初のクロック信号ＣＬＫの立ち上がりに同期したタイミングで、トグルフリップフロップ２１の出力信号Ａが「１」となり、そのクロック信号ＣＬＫの立ち下がりに同期したタイミングで、トグルフリップフロップ２１の出力信号Ａ（このとき、「１」）がフリップフロップ２２にラッチされ、フリップフロップ２２の出力信号Ｂが「１」となる。
【０００９】
そして、次のクロック信号ＣＬＫの立ち上がりに同期したタイミングで、フリップフロップ２２の出力信号Ｂがフリップフロップ２３にラッチされ、トグルフリップフロップ２１の出力信号Ａが「０」となり、同時にフリップフロップ２３の出力信号、すなわち反転信号Ａが「１」となる。そして、そのクロック信号ＣＬＫの立ち下がりに同期したタイミングで、トグルフリップフロップ２１の「０」の出力信号がフリップフロップ２２にラッチされて、フリップフロップ２２の出力信号Ｂが「０」となり、同時にフリップフロップ２３の「１」の出力信号がフリップフロップ２４にラッチされ、フリップフロップ２４の出力信号、すなわち反転信号Ｂが「１」となる。
【００１０】
これらの動作が繰り返されて、図５（Ｂ）に示すような駆動信号Ａ，Ｂ及びその反転信号Ａ，Ｂが出力される。
この図４の駆動回路は、上述した図３の駆動回路に比べて駆動信号の変更が可能であり、例えばデータのシフト方向を反転させることができれば、ステッピングモータを逆転させる駆動信号を出力することができる。
【００１１】
しかしながら、図４の駆動回路も、ステッピングモータを１相励磁する場合の図５（Ａ）の駆動信号、あるいは１−２相励磁する場合の図５（Ｂ）のような駆動信号をそのままでは作成することができない。
【００１２】
【発明が解決しようとする課題】
上述したように従来のステッピングモータ駆動回路は、励磁位相の変更、あるいはモータの正転、逆転の切り換えを自由に行うことができないという問題点があった。
【００１３】
本発明の課題は、ステッピングモータの励磁位相の変更、あるいは正転、逆転の切り換えを簡単に行うことのできるステッピングモータ駆動回路を提供することである。
【００１４】
【課題を解決するための手段】
本発明のステッピングモータ駆動回路は、ステッピングモータを駆動するためのｎ＋１（ｎは整数、ただしｎ≧０）ビットの波形データを記憶する波形データ記憶回路と、ｎ＋１ビット数分のレジスタからなり、それぞれのレジスタが２つの入力端子と１つの出力端子とを有し、それぞれのレジスタの出力端子が次段のレジスタの２つの入力端子のうちの一方の入力端子に接続され、最終段のレジスタの出力端子が第１段目のレジスタの２つの入力端子のうちの一方の入力端子に接続され、それぞれのレジスタが保持しているデータをクロック信号に同期したタイミングで順次シフトさせるシフトレジスタと、前記シフトレジスタと同じビット数分の選択回路からなり、それぞれの選択回路は２つのデータ入力端子と１つのデータ出力端子とセレクト信号入力端子とを有し、それぞれの選択回路の一方のデータ入力端子は、前記波形データ記憶回路の各ビットの出力に接続され、それぞれの選択回路の他方のデータ入力端子は、ｋビット目の選択回路の他方のデータ入力端子が前記シフトレジスタのｎ−ｋ（ｋは、０≦ｋ≦ｎの整数）ビット目のレジスタの出力端子に接続される接続関係をもって前記シフトレジスタのそれぞれのレジスタの出力端子に接続され、それぞれの選択回路のデータ出力端子は、前記シフトレジスタの対応するビットのレジスタの他方の入力端子に接続され、それぞれの選択回路の前記一方のデータ入力端子を介して前記波形データ記憶回路から入力される波形データと、それぞれの選択回路の前記他方のデータ入力端子を介して前記シフトレジスタの前記接続関係にあるそれぞれのレジスタから入力されるデータの一方をそれぞれの選択回路の前記セレクト信号入力端子から入力されるセレクト信号に基づいて選択してそれぞれの選択回路の前記データ出力端子から対応する前記シフトレジスタのそれぞれのレジスタに出力する選択回路群とを備える。
【００１５】
【作用】
本発明によれば、そのときシフトレジスタに保持されているデータの上位ビットと下位ビットをクロスさせたデータを選択してシフトレジスタの入力端子に供給することで、ステッピングモータの回転を反転させるための波形データをシフトレジスタにプリセットすることができる。これにより、ステッピングモータの回転を正転状態から逆転状態に、あるいは逆転状態から正転状態に簡単に切り換えることができる。また、選択回路群に入力する波形データを変更することで、励磁位相の変更を簡単に実現できる。
【００１６】
【実施例】
以下、本発明の実施例を図面を参照しながら説明する。図１は、本発明の実施例のステッピングモータ駆動回路の回路構成図である。
【００１７】
図１には、ステッピングモータの１相分の駆動回路を示してあり、同様な回路がステッピングモータの相数分設けられている。
同図において、励磁波形設定レジスタ１は、励磁波形の時系列の波形データを記憶する８ビットのレジスタＲ０〜Ｒ７から構成され、設定された波形データをセレクタ群２へ出力する。
【００１８】
セレクタ群（選択回路）２は、それぞれ２つの入力端子と１つの出力端子を有し、２つの入力端子から入力されるデータの一方を選択して出力する８ビットのセレクタＳ０〜Ｓ７で構成されている。このセレクタＳ０〜Ｓ７の一方の入力端子は励磁波形設定レジスタ１の各ビットの出力端子に接続され、他方の入力端子は、後述するシフトレジスタ３の各ビットの出力端子に接続されている。セレクタ群２は、セレクト端子に与えられるセレクト信号ＳＥＬによって、励磁波形設定レジスタ１に設定される波形データと、レシフトレジスタ３に保持されている波形データとの一方を選択し、選択したデータをシフトレジスタ３へ出力する。なお、セレクタ群２は、選択したデータをラッチし、そのラッチしたデータをシフトレジスタ３へ出力するようにしてもよい。
【００１９】
シフトレジスタ３は、それぞれ１ビットのレジスタＦ０〜Ｆ７が８ビット分縱続に接続されて構成され、セレクタ群２からレジスタＦ０〜Ｆ７に出力される波形データをロード信号ＬＯＡＤに同期したタイミングで取り込み、取り込んだデータをシフトクロック信号ＳＣＬＫに同期して順次シフトしていく。また、シフトレジスタ３の最上位ビットのレジスタＦ７の出力端子は、最下位ビットのレジスタＦ０の入力端子に接続されており、シフトレジスタ３にプリセットされた波形データが循環するようになっている。
【００２０】
セレクタ群２の０ビット（最下位ビット）目のセレクタＳ０の入力端子に、シフトレジスタ３の７ビット（最上位ビット）目のレジスタＦ７の出力端子が接続され、１ビット目のセレクタＳ１の入力端子に、シフトレジスタ３の６ビット目のレジスタＦ６の出力端子が接続され、２ビット目のセレクタＳ２の入力端子に、シフトレジスタ３の５ビット目の出力端子が接続され、３ビット目のセレクタＳ３の入力端子に、シフトレジスタ３の４ビット目のレジスタＦ４の出力端子が接続されている。また、４ビット目のセレクタＳ４の入力端子に、シフトレジスタ３の３ビット目のレジスタＦ３の出力端子が接続され、５ビット目のセレクタＳ５の入力端子に、シフトレジスタ３の２ビット目のレジスタＦ２の出力端子が接続され、６ビット目のセレクタＳ６の入力端子に、シフトレジスタＦ１の１ビット目のレジスタＦ１の出力端子が接続され、７ビット目のセレクタＳ７の入力端子に、シフトレジスタ３の０ビット目のレジスタＦ０の出力端子が接続されている。
【００２１】
すなわち、シフトレジスタ３の上位ビットとセレクタ群２の下位ビット及びシフトレジスタ３の下位ビットとセレクタ群２の上位ビットとがクロスするように（たすき状）に接続されており、セレクタ群２が、励磁波形設定レジスタ１の出力データではなく、シフトレジスタ３の出力データを選択した場合には、シフトレジスタ３のシフト方向を反転させた場合と同じ波形データがシフトレジスタ３にプリセットされ、反転させた波形データがシフトレジスタ３から順に出力されるようになっている。
【００２２】
次に、以上のような構成の駆動回路の動作を、図２（Ａ）、（Ｂ）のタイミングチャートを参照しながら説明する。同図（Ａ）は、回転時の信号波形を示し、同図（Ｂ）はホールド時（停止時）の信号波形を示している。
【００２３】
シフトレジスタ３にシフトクロック信号ＳＣＬＫが供給されないときには、シフトレジスタ３は直前の出力信号ＯＵＴ０（図２（Ｂ）では「１」）を保持しており、次のシフトクロック信号ＳＣＬＫが入力するまでその状態を保持している。
【００２４】
次にステッピングモータが回転しているときの駆動回路の動作を説明する。先ず、ステッピングモータを正転させる場合について説明する。
今、セレクタ群２のセレクタ端子には「０」のセレクト信号ＳＥＬが与えられ、励磁波形設定レジスタ１に「０１０１００１１」という波形データが設定されているものとする。このとき、セレクト信号ＳＥＬが「０」であるのでセレクタ群２は、励磁波形設定レジスタ１に設定されている波形データ「０１０１００１１」を選択しシフトレジスタ３に出力しており、その波形データがロード信号ＬＯＡＤの立ち上がりに同期したタイミングてシフトレジスタ３にプリセットされる。そして、次のシフトクロック信号ＳＣＬＫの立ち上がりに同期したタイミングで（図２（Ａ）▲１▼のタイミング）、プリセットされた波形データがシフトレジスタ３のレジスタＦ０〜Ｆ７の各出力端子に出力される。
【００２５】
この結果、シフトレジスタ３の出力データＯＵＴ０として、励磁波形設定レジスタ１の最上位ビットの７ビット目に設定されていた波形データ「１」が出力される。
【００２６】
そして、次のシフトクロック信号ＳＣＬＫに同期して、レジスタＦ０の出力データがレジスタＦ１に、レジスタＦ１の出力データがレジスタＦ２に、レジスタＦ２の出力データがレジスタＦ３というように、下位ビットのレジスタの出力データが上位ビットのレジスタに順にシフトされる。
【００２７】
この結果、シフトレジスタ３の最上位ビットの出力データとして、励磁波形設定レジスタ１の６ビット目の波形データ「１」が出力され、それまでレジスタＦ７にラッチされていた７ビット目の波形データの「１」が、０ビット目のレジスタＦ０にシフトされる。
【００２８】
以下、シフトクロック信号ＳＣＬＫに同期して、シフトレジスタ３の出力端子ＯＵＴ０から、励磁波形設定レジスタ１の５ビット目、４ビット目、３ビット目・・・の波形データが順に出力され、０ビット目の波形データが出力されると、再度、７ビット目の波形データから順に出力される。
【００２９】
ステッピングモータの２相目、３相目、４相目についても同様な動作が繰り返ステッピングモータが正転する。
なお、ステッピングモータの励磁位相の変更は、励磁波形設定レジスタ１に設定する波形データを変更することで、つまり１相励磁用、あるいは１−２相励磁用の波形データを設定することで簡単に実現できる。
【００３０】
次に、ステッピングモータの回転を逆転させる場合について説明する。この場合、セレクタ群２のセレクタ端子にセレクト信号ＳＥＬとして「１」が与えられ、そのセレクト信号ＳＥＬによりセレクタ群２はシフトレジスタ３の出力データを選択し、選択されたデータがシフトレジスタ３にプリセットされる。
【００３１】
すなわち、ロード信号ＬＯＡＤの立ち上がりに同期して、セレクタ群２の７ビット目のセレクタＳ７を介して与えられるシフトレジスタ３の０ビット目のレジスタＦ０の出力データが、シフトレジスタ３の７ビット目のレジスタＦ７にプリセットされ、セレクタ群２の６ビット目のセレクタＳ６を介して与えられるシフトレジスタ３の１ビット目のレジスタＦ１の出力データが、シフトレジスタ３の６ビット目のレジスタＦ６にプリセットされ、セレクタ群２の５ビット目のセレクタＳ５を介して与えられるシフトレジスタ３の２ビット目のレジスタＦ２の出力データが、シフトレジスタ３のビット目のレジスタＦ５にプリセットされ、以下同様にシフトレジスタ３の３ビット目、４ビット目・・・７ビット目の出力データが、シフトレジスタ３の４ビット目、３ビット目・・・０ビット目のレジスタにプリセットされる。
【００３２】
そして、次のシフトクロック信号ＳＣＬＫの立ち上がりに同期して、プリセットされた波形データがシフトレジスタ３のレジスタＦ０〜Ｆ７のそれぞれの出力端子に出力され、以後シフトクロック信号ＳＣＬＫの立ち上がりに同期してその波形データが順次シフトされる。
【００３３】
例えば、図２（Ａ）に示すタイミングでセレクト信号ＳＥＬが「１」に変化し、ロード信号ＬＯＡＤが「１」に変化したとする。このとき、シフトレジスタ３の各レジスタＦ０〜Ｆ７の出力データは下位ビットから上位ビット方向に「００１１０１０１」となっており、その出力データの上位ビットと下位ビットを入れ換えた波形データは下位ビットから上位ビット方向に「１０１０１１００」となり、その波形データがシフトレジスタ３にプリセットされる。そして、次のシフトクロック信号ＳＣＬＫの立ち上がりに同期して、プリセットされたデータが各レジスタＦ０〜Ｆ７の出力端子に出力され、シフトレジスタ３の出力信号ＯＵＴ０として「０」が出力される。以後、シフトクロック信号ＳＣＬＫに同期して波形データが順にシフトされ、出力データＯＵＴ０として、図２（Ａ）に示すように「０」、「１」、「１」・・・が順に出力される。
【００３４】
これにより、シフトレジスタ３の出力データＯＵＴ０として、右方向にシフトされていた波形データを左方向にシフトさせた場合と同じ波形データが得られるので、ステッピングモータを逆転させることができる。
【００３５】
次に、テッピングモータの回転を逆転状態から正転状態に切り換える場合について説明する。
セレクト信号ＳＥＬが「１」の状態で、ロード信号が「１」となると、上述した逆転時と同様に、シフトレジスタ３の７ビット目のレジスタＦ７の出力データが、セレクタ群２の０ビット目のセレクタＳ０を介してシフトレジスタ３の０ビット目のレジスタＦ０にプリセットされ、シフトレジスタ３の６ビット目のレジスタＦ６の出力データが、セレクタ群２の１ビット目のセレクタＳ１を介してシフトレジスタ３の１ビット目のレジスタＦ１にプリセットされる。以下同様にシフトレジスタ３の５ビット目、４ビット目・・・０ビット目のレジスタの出力データが、それぞれセレクタ群２の２ビット目、３ビット目・・・７ビット目のセレクタを介してシフトレジスタ３の２ビット目、３ビット目・・・７ビット目のレジスタにプリセットされる。
【００３６】
これにより、「０１０１００１１」の波形データを逆転した波形データを、さらに逆転した波形データ、すなわち元の波形データがシフトレジスタ３にプリセットされる。
【００３７】
そして、次のクロック信号の立ち上がりに同期して、プリセットされた波形データがそれぞれのレジスタＦ０〜Ｆ７の出力端子に出力され、以後シフトクロック信号ＳＣＬＫに同期して波形データが順次シフトされる。ステッピングモータの２相目。３相目、４相目にも同様な波形データが供給され、ステッピングモータは逆回転から正回転に切り換わる。
【００３８】
以上のように上記第１実施例によれば、セレクタ群２を利用してシフトレジスタ３の上位ビットと下位ビットとを入れ換えることで、ステッピングモータを正転、あるいは逆転させることができ、回転方向の制御を簡単な構成で実現できる。さらに、励磁波形設定レジスタ１に設定する波形データを変更することで、１相励磁、２相励磁、あるいは１−２相励磁等の励磁方法の変更を簡単に実現でき、励磁方法を変更する場合でも、従来のように駆動回路の構成自体を変更する必要がない。
【００３９】
次に、図３は、本発明の第２実施例の駆動回路の構成を示す図である。上述した第１実施例は、図示しないＲＡＭ等に記憶されている波形データを励磁波形設定レジスタ１に設定するようになっているのに対し、この第２実施例は、１相励磁、２相励磁、１ー２相励磁の波形データを生成するロジック回路１１、１２。１３を設け、それらのロジック回路１１〜１３の出力の１つをセレクタ１４で選択し、選択した波形データを前述したセレクタ群２に出力するようになっている。
【００４０】
この第２実施例によれば、１相励磁、２相励磁等を行うための波形データを、ユーザがＲＡＭ等に予め設定する必要がないので、１相励磁、２相励磁等の波形データをユーザが意識せずにステッピングモータの回転制御を実現できる。
【００４１】
【発明の効果】
本発明によれば、駆動回路の構成を変更することなく、波形データを変更するだけで任意の励磁方法を実現できる。また、選択回路を用いてシフトレジスタの上位ビットと下位ビットのデータを入れ換えることで、ステッピングモータの正転、逆転を容易に実現できる。
【図面の簡単な説明】
【図１】本発明の第１実施例の駆動回路の回路構成図である。
【図２】同図（Ａ）は、第１実施例の駆動回路の動作を示すタイミングチャート、同図（Ｂ）は、回転時及び停止時のタイミングチャートである。
【図３】第２実施例の駆動回路の回路構成図である。
【図４】従来の駆動回路の一例を示す図である。
【図５】従来の駆動回路の一例を示す図である。
【図６】同図（Ａ），（Ｂ），（Ｃ）は、励磁波形の一例を示す図である。
【符号の説明】
１    励磁波形設定レジスタ
２    セレクタ群
３    シフトレジスタ
【図１】
0003567256.tif 000002
【図２】
0003567256.tif 000003
【図３】
0003567256.tif 000004
【図４】
0003567256.tif 000005
【図５】
0003567256.tif 000006
【図６】
0003567256.tif 000007