(57)【特許請求の範囲】
【請求項１】
モータをステッピング制御するモータの制御装置において、
ロータの位置を検出するホール素子による位置検出手段と、ドライブパルスの制御手段とを有し、
前記制御手段は、
前記ロータが１ステップ角進むまで、前記ロータの回転数に応じて設定された所定の第1ドライブパルスを所定パルス数入力し、前記位置検出手段により前記ロータが１ステップ角進んだことを検出すると、
所定時間経過するまで前記第1ドライブパルスの入力を停止し、
前記ロータの位置が目標ロータパターンに対して遅れている場合、所定の第2ドライブパルスを所定パルス数入力し、前記位置検出手段により前記ロータの位置が前記目標ロータパターンに追いついたことを検出すると、前記所定時間経過するまで前記第2ドライブパルスの入力を停止することを特徴とするモータ制御装置。
【請求項２】
前記制御手段は、パルス幅の異なる前記第1ドライブパルス及び/又は波高の異なる前記第1ドライブパルスを入力することを特徴とする請求項１記載のモータ制御装置。
【請求項３】
前記制御手段は、高い電圧をかける部分と低い電圧をかける部分とで構成されている前記第1ドライブパルスを入力するものであることを特徴とする請求項１又は請求項２記載のモータ制御装置。
【請求項４】
モータをステッピング制御するモータの制御装置において、
ロータの位置を検出するホール素子による位置検出手段と、ドライブパルスの制御手段とを有し、
前記制御手段は、
前記ロータの位置が目標ロータパターンに対して遅れている場合、所定のドライブパルスを所定パルス数入力し、前記位置検出手段により前記ロータの位置が前記目標ロータパターンに追いついたことを検出すると、所定時間経過するまで前記ドライブパルスの入力を停止することを特徴とするモータ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、モータの制御装置に関し、特に、医療用ポンプに使用されるモータを超低速から高速回転までの広範囲で制御するモータの制御装置に関する。
【０００２】
【従来の技術】
医療用ポンプには、薬液を押し出すための駆動源としてステッピングモータが使われ、薬液の吐出量の複雑な制御が行なわれているものが多い。このステッピングモータの制御方式には、回転精度を確保するために閉ループ制御方式が採用されている。このように、医療用ポンプの駆動には、確実な回転精度が求められているが、その一方で駆動電源電流の低減やモータの騒音の低減も要請されている。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来のステッピング制御では、確実な回転精度を維持しながら駆動電源電流を低減させたり騒音の低減をはかることは難しく、騒音を低減させるために駆動電源電流を低減させると、回転精度を維持できないという問題点があった。
【０００４】
本発明は、上記問題に鑑みてなされたものであって、その目的とするところは、回転精度を維持しながら低消費電流で低騒音のステッピングモータの制御装置を提供することである。
【０００５】
【課題を解決するための手段】
本発明の態様のひとつは、モータをステッピング制御するモータの制御装置において、ロータの位置を検出するホール素子による位置検出手段と、ドライブパルスの制御手段とを有し、前記制御手段は、前記ロータが１ステップ角進むまで、前記ロータの回転数に応じて設定された所定の第1ドライブパルスを所定パルス数入力する。
【０００６】
そして、前記位置検出手段により前記ロータが１ステップ角進んだことを検出すると、所定時間経過するまで前記第1ドライブパルスの入力を停止する。
【０００７】
そして、前記ロータの位置が目標ロータパターンに対して遅れている場合、所定の第2ドライブパルスを所定パルス数入力し、前記位置検出手段により前記ロータの位置が前記目標ロータパターンに追いついたことを検出すると、前記所定時間経過するまで前記第2ドライブパルスの入力を停止することを特徴とするモータ制御装置である。
【０００８】
このように、ロータが１ステップ角進むまで所定の第1ドライブパルスを所定パルス数入力することにより、確実に回転精度を維持できる。低電圧で短時間の第1ドライブパルスを入力することにより、駆動電源電流の低減及び騒音の低減を図ることができる。さらに、ロータが１ステップ角進んだことを検出すると、所定時間経過するまで第1ドライブパルスの入力を停止するため、駆動電源電流の低減及び騒音の低減を一層図ることができる。
【０００９】
所定時間は、設定されたモータの回転数に応じて定まる時間であり、ステップ角あたりのロータ移動時間である。また、ステップ角は、ステッピングモータのコイル数によって異なり、２相全波４コイルのステッピングモータの場合には、14回転角（90度）を意味する。さらに、第1ドライブパルスは、所定パルス数入力されるため、ステッピングモータの回転に最低限必要な低電圧かつ短時間のパルスに設定するのが好ましい。
【００１０】
目標ロータパターンは、２相全波４コイルのステッピングモータの場合、ロータは４つのロータ位置があり、そのうちの一つの位置である。第2ドライブパルスは、第1ドライブパルスに比べてより確実にロータを回転させるために、第1ドライブパルスの高い印加電圧以上の印加電圧のパルスに設定するのが好ましい。
【００１１】
このように、ロータの位置が目標ロータパターンに対して遅れている場合、所定の第2ドライブパルスを所定パルス数入力することによって、ロータを目標位置に追いつかせることができる。
【００１２】
このように、ロータの回転数に応じて入力する第1ドライブパルスを切り替えることによって、より一層回転制度の維持と駆動電源電流の低減と騒音の低減を図ることができる。
【００１３】
また、本発明の他の態様では、前記制御手段が、パルス幅の異なる前記第1ドライブパルス及び/又は波高の異なる前記第1ドライブパルスを入力することを特徴とする。
【００１４】
第1ドライブパルスのパルス幅は、電圧を印加する時間を表わし、波高は、印加電圧を表わす。このように、電圧を印加する時間の異なる第1ドライブパルスや印加電圧の異なる第1ドライブパルスを所定パルス数入力することにより、回転精度の維持と駆動電源電流の低減と騒音の低減を一層図ることができる。
【００１５】
また、本発明の他の態様では、前記制御手段が、高い電圧をかける部分と低い電圧をかける部分とで構成されている前記第1ドライブパルスを入力するものであることを特徴とする。
【００１６】
１個の第1ドライブパルスが、高い電圧をかける部分と低い電圧をかける部分とで構成されているため、高い電圧部分で回転精度の維持を図り、低い電圧部分で駆動電源電流の低減と騒音の低減を図ることができる。
【００１７】
また、本発明の他の態様では、モータをステッピング制御するモータの制御装置において、ロータの位置を検出するホール素子による位置検出手段と、ドライブパルスの制御手段とを有し、前記制御手段は、前記ロータの位置が目標ロータパターンに対して遅れている場合、所定のドライブパルスを所定パルス数入力し、前記位置検出手段により前記ロータの位置が前記目標ロータパターンに追いついたことを検出すると、所定時間経過するまで前記ドライブパルスの入力を停止することを特徴とするモータ制御装置。
【００１８】
このように、ロータの位置が目標ロータパターンに対して遅れている場合、所定のドライブパルスを所定パルス数入力することによって、ロータを目標ロータパターンに追いつかせることができる。
【００１９】
【発明の実施の形態】
本発明の実施形態に係るモータの制御装置１は、図１に示すように、位置検出手段を構成するホール素子２a・２bと、制御手段を構成する制御部３・４とを有しており、低電流制御により２相全波４コイルの円筒ブラシレスモータ５を90度毎にステッピング駆動させるようになっている。
【００２０】
ブラシレスモータ５は、図２に示すように、モータ外装ケースとなるハウジング６と、筒状の駆動用の巻線コイル７と、径方向N-S２極で円柱状に形成されたロータ８と、回転出力軸となるシャフト９とを備え、ステップ角90度づつ回転するようなコイル配置になっている。
【００２１】
ホール素子２a・２bは、ブラシレスモータ５のハウジング6の内周面に２個それぞれ90度ずらして設けられており、ロータ８の位置を検知できるようになっている。具体的には、図２(a)に示すN-Sパターン、(b)に示すN-Nパターン、(c)に示すS-Nパターン、(d)に示すＳ-Ｓパターンの４つの位置を検出するようになっている。このホール素子2a・2ｂは、アンプ10a・10b、Ａ／Ｄ変換器11a・11bを介して制御部３・４に接続されている。アンプ10a・10bは、ホール素子2a・2ｂから出力された磁極検知信号を一定レベルに増幅、又は、コンパレートするようになっている。
【００２２】
制御部３・４は、図１に示すように、制御回路３と駆動回路４とを有しており、制御回路３から出力される制御信号に基づいてモータ５をステッピング制御するようになっている。
【００２３】
制御回路３は、CPU12と、ROM13と、RAM14と、Ａ／Ｄ変換器11a・11bとを有しており、CPU12が出力する制御信号を駆動回路４に出力するようになっている。CPU12は、モータ５の各部の動作を制御する信号を生成するために種々の演算を実行し、演算結果に応じたステッピング動作指令を出力する。CPU12で生成された信号は、駆動回路４に供給される。CPU12は目標ロータパターンを設定し、モータ５の制御を実行する。RAM14は、ホール素子２a・２bから検出した現状のロータ位置や目標ロータパターンやエラーカウンタのカウント数やドライブパルスの入力数やCPU12での演算結果などを記憶する。ROM13は、CPU12で行なわれる演算のプログラムやそれに必要なデータを記憶している。Ａ／Ｄ変換器11a・11bは、アンプ10a・10ｂで増幅されたロータ位置検知信号（アナログ信号）をデジタルの信号に変換するようになっている。
【００２４】
駆動回路４は、電圧切替部15と、励磁切替部16とを有しており、モータ５をステップ駆動させるようになっている。駆動回路４は、制御回路３の制御信号にしたがってブラシレスモータ５を駆動するドライバであり、ＦＥＴ（Field EffectTransistor ：電界効果トランジスタ）によって構成されている。なお、図１においては電源回路部分については電圧切替部15に電源供給を行なうものであり、ここでは省略してある。
【００２５】
電圧切替部15は、CPU12と接続されており、制御回路３の制御信号に基づいて図３に示す各種ドライブパルス信号を出力するようになっている。図３(a)に示すドライブパルスは、第1パターンの通電処理において印加される第1ドライブパルスのパルス波形を示している。１つ目のドライブパルスは、1.7Vの電圧を12.8msec間印加する波形で、２つ目の第1ドライブパルスは、1.7Vの電圧を12.4msec間印加する波形で、３つ目及び４つ目の第1ドライブパルスは、4.2Vの電圧を12.4msec間印加する波形を示している。また、図３(b)に示すドライブパルスは、第2パターンの通電処理において印加される第1ドライブパルスのパルス波形を示している。１つ目のドライブパルスは、はじめに4.2Ｖの電圧を印加する部分と1.7Vの電圧を印加する部分とで構成されている。２〜４つ目の第１ドライブパルスは、4.2Vの電圧を12.4msec間印加する波形を示している。さらに、図３(c)に示す第２ドライブパルスは、第３パターンの通電処理において印加される第２ドライブパルスのパルス波形を示している。第2ドライブパルスは、4.2Vの電圧を6.4msec間印加する波形を示している。
【００２６】
励磁切替部16は、CPU12と電圧切替部15に接続されており、CPU12の目標ロータパターンを表わす制御信号と電圧切替部15の各種ドライブパルス信号とに基づいて目標ロータパターンの巻線コイル７に通電するようになっている。
【００２７】
次に、上記構成に基づいて、モータの制御装置１の動作を図４乃至図７に基づいて説明する。図４に示すフローチャートは、ステップ角あたりのロータ移動時間である1/4回転時間内に行われる処理を表している。即ち、1/4回転時間内に図４に示すフローチャートに示す処理が終了し、次の1/4回転時間の開始から再度、図４に示すフローチャートのスタートから処理が開始される。このように、図４に示す処理を繰り返すことによってモータは1/4回転（90度）毎にステッピング駆動する。
【００２８】
ここでは、モータ５がステッピング駆動しており、図２(a)に示すN-Sパターンから図２(b)に示すN-Nパターンに90度回転させる場合の制御装置１の処理を図４に基づいて説明する。
【００２９】
まず、ロータ８が前回の1/4回転時間内に図２(d)に示すS-Sパターンから図２(a)に示すN-Sパターンに90度回転したか否かを判断する（S1）。現状のロータ位置は、図２(a)に示すN-Sパターンであり、図２(d)に示すS-Sパターンから90度回転しているので（S1、YES）、CPU12は、次の目標ロータパターンを図２(b)に示すN-Nパターンに設定する（S2）。目標ロータパターンを設定すると、エラーカウンタのカウント値が（n=0）であるか否か（S3）、即ち、現状のロータ位置である図２(a)に示すN-Sパターンが、前回の目標ロータパターンである図２(a)に示すN-Sパターンに対して遅れているか否かを判断する。現状のロータ位置は、図２(a)に示すN-Sパターンであり、現状のロータ位置が、前回の目標ロータパターンである図２(a)に示すN-Sパターンと一致しているので、エラーカウンタのカウント値は（n=0）である。このように、エラーカウンタのカウント値が（n=0）の場合（現状のロータ位置が前回の目標ロータパターンと一致する場合）（S3、YES）、モータの回転数が所定のしきい値（例えば1136rpm）より小さいか否か判断する（S4）。モータ５の回転数が所定のしきい値より小さい場合、第１パターンの通電処理が実行される（S5）。なお、Ｓ１〜Ｓ４までの処理は、図３に示す1/4回転時間の開始からドライブパルスの入力までに行われる処理である。
【００３０】
次に、図５に示すように、第1ドライブパルスの入力数をカウントし（S６）、RAM14のドライブパルスカウンタにはカウント値（n=1）が格納される。次に、図３（a）に示す第1ドライブパルスを１個入力することにより、コイル７に12.8msec間1.7Vの電圧を印加する（Ｓ７）。次に、CPU12は、RAM14に格納された第1ドライブパルス入力前のロータ位置（「前回のロータ位置」という。）と、ホール素子2a・2ｂにより検知した、第1ドライブパルス入力後のロータ位置（「現状のロータ位置」という。）とを比較することにより、ロータ８が90度回転したか否かを判断する（S8）。ロータ８が90度回転し、現状のロータ位置が図２(b)に示すN-Nパターンになると、前回のロータ位置である図２（a）に示すN-Sパターンに対してロータ８が90度回転したと判断し（S8、YES）、第1ドライブパルスの入力を停止する（S10）。第１ドライブパルスの入力を停止すると、14回転時間が経過するまで処理を待機する。そして、1/4回転時間が経過すると、再度、図４に示すスタートから処理を開始する。このように、本実施形態に係るモータの制御装置１は、1/4回転時間毎に図４に示す処理を繰り返す。
【００３１】
一方、図５に示すS8において、第1ドライブパルスを１回入力してもロータ８が回転しなかった場合（S8、NO）、第1ドライブパルスを４回入力したか否か、つまり通電４回目であるか否かをRAM14のドライブパルスカウンタのカウント値から判断する（S9）。ドライブパルスカウンタのカウント値が（ｎ＜４）である場合（S9、NO）、S6に移行する。S6において、RAM14のドライブパルスカウンタにはカウント値（n=２）が格納され、図３（a）に示す２つ目の第1ドライブパルスを１つ入力することにより、コイル７に12.4msec間1.7Vの電圧を印加する（Ｓ7）。2回目の第1ドライブパルスの入力によってもロータ８が90度回転しなかった場合、S6〜Ｓ9の処理を繰返し、S7において、1回目や２回目の第1ドライブパルスより電圧の高い３つ目又は４つ目の第１ドライブパルスを１個入力する。このように、ロータ８が90度回転するまでS6〜Ｓ9の処理を４回繰返し、S8においてロータ８が回転した場合（S8、YES）、第1ドライブパルスの入力を停止する（Ｓ10）。第１ドライブパルスの入力を停止すると、上記と同様に、1/4回転時間が経過するまで処理を待機し、1/4回転時間が経過すると、再度、図４に示すスタ-トから処理を開始し、1/4回転時間毎に図４に示す処理を繰り返す。
【００３２】
また、S９において、ドライブパルスカウンタのカウンタ値が（ｎ＝４）である場合（S９、YES）、即ち、第１ドライブパルスを４回入力してもロータ８が回転しなかった場合、第1ドライブパルスの入力を停止する（S10）。第１ドライブパルスの入力を停止すると、ロータ８が回転した場合（S８、YES）と同様に、1/4回転時間が経過するまで処理を待機する。そして、1/4回転時間が経過すると、再度、図４に示すスタートから処理を開始するが、第1パターンの通電処理(S5)において、ロータ８が90度回転しなかったため、ロータ８の回転遅れを取り戻す追いかけ処理を実行する。以下、この追いかけ処理について説明する。
【００３３】
まず、ロータ８が前回の1/4回転時間内に図２(a)に示すN-Sパターンから図２(b)に示すN-Nパターンに90度回転したか否かを、現状のロータ位置と前回の目標ロータパターンとを比較して判断する（S1）。前回の1/4回転時間内の第１パターンの通電処理(S5)において、ロータ８が目標ロータパターンである図２(b)に示すN-Nパターンに90度回転せず、現状のロータ位置は、図２(a)に示すN-Sパターンのままであるので、CPU12は、ロータ８が回転しなかったと判断する（S1、NO）。そして、RAM14のエラーカウンタのカウント値を加算し(S11)、エラーカウンタのカウント値が（n=1）となる。なお、エラーカウンタのカウント値が（n=1）の場合、ロータ８は目標ロータパターンに対して90度遅れていることを示す。
【００３４】
次に、エラーカウンタのカウント値が(n=8)であるか否かを判断する(S12)。エラーカウンタのカウント値は、（n=1）であるため（S12、NO）、目標ロータパターンに対して90度の遅れを取り戻すように、第3パターンの通電処理が実行される（S13）。図６に示すように、まず、第３ドライブパルスの入力数をカウントする（S14）。RAM14のドライブパルスカウンタにはカウント値（n=1）が格納される。次に、図３（c）に示す１つ目の第3ドライブパルスを１個入力することにより、コイル７に6.4msec間4.2Vの電圧を印加する（Ｓ15）。
【００３５】
次に、CPU12は、RAM14に格納された前回のロータ位置と現状のロータ位置とを比較することにより、ロータ８が90度回転したか否かを判断する(Ｓ16)。現状のロータ位置が図２(b)に示すN-Nパターンである場合、前回のロータ位置である図２（a）に示すN-Sパターンに対してロータ８が90度回転したと判断し（S16、YES）、CPU12は、RAM14のエラーカウンタのカウント値を１つ減算する（S17）。エラーカウンタのカウント値が１つ減算されると、エラーカウンタのカウント値は、(n=0)になる。このように、ロータ８が図２（a）に示すN-Sパターン（前回のロータ位置）から図２(b)に示すN-Nパターン（現状のロータ位置）に90度回転すると、第１パターンの通電処理において発生した90度の回転遅れが取り戻され、現状のロータ位置が、前回の1/4回転時間で設定された目標ロータパターン（図２(b)に示すN-Nパターン）に追いつく。
【００３６】
次に、CPU12は、RAM14に次の目標ロータパターンである図２(c)に示すS-Nパターンを格納し（S18）、第３ドライブパルスの入力数をカウントする(S19)。ドライブパルスカウンタのカウント値は(n=2)となる。そして、図３（c）に示す２個目の第３ドライブパルスを１個入力することにより、コイル７に6.0msec間4.2Vの電圧を印加する（Ｓ20）。CPU12は、RAM14に格納された第３ドライブパルス入力前のロータ位置である図２(b)に示すN-Nパターン（前回のロータ位置）と、ホール素子2a・2ｂにより検知した、第３ドライブパルス入力後のロータ位置（現状のロータ位置）とを比較することにより、ロータ８が90度回転したか否かを判断する（S21）。ロータ８が90度回転し、現状のロータ位置が図２(c)に示すS-Nパターンになると、前回のロータ位置である図２（b）に示すN-Nパターンに対してロータ８が90度回転したと判断し（S21、YES）、エラーカウンタのカウント値が(n=0)であるか否か、即ち、第１パターンの通電処理における回転の遅れを取り戻しているか否かを判断する（S22）。エラーカウンタのカウント値は、(n=0)であり、第１パターンの通電処理における回転の遅れを取り戻しているため（S22、YES）、第3ドライブパルスの入力を停止する（S24）。以上のように、この14回転時間内では、上記の第１パターンの通電処理において発生した回転遅れ分と、この1/4回転時間内に回転する通常の回転分との２回分ステッピング駆動する。
【００３７】
第３ドライブパルスの入力を停止すると、1/4回転時間が経過するまで処理を待機する。そして、1/4回転時間が経過すると、再度、図４に示すスタートから処理を開始する。このように、本実施形態に係るモータの制御装置１は、1/4回転時間毎に図４に示す処理を繰り返す。
【００３８】
一方、図６に示すS16において、ロータ８が回転しなかった場合(S16、NO)、S26に移行し、第３ドライブパルスを８回入力したか否か、つまり通電８回目であるか否かをRAM14のドライブパルスカウンタのカウント値から判断する（S26）。ドライブパルスカウンタのカウント値は（n=1）であるため（S26、NO）、S14に移行する。S14において、RAM14のドライブパルスカウンタにはカウント値（n=２）が格納され、図３（ｃ）に示す２つ目の第３ドライブパルスを１つ入力することにより、コイル７に6.0msec間4.2Vの電圧を印加する（Ｓ15）。2つ目の第３ドライブパルスの入力によってもロータ８が90度回転しなかった場合、S14〜Ｓ16、S26の処理を繰返す。S16においてロータ８が回転した場合（S16、YES）、S17へ移行する。S17以降の処理は、上記と同様であるので、説明を省略する。
【００３９】
また、S14〜Ｓ16、S26の処理において、第3ドライブパルスの入力を８回行なってもロータ８が90度回転しない場合には、S26において、ドライブパルスカウンタのカウント値がn=8となり（S26、YES）、第３ドライブパルスの入力を停止し(S24)、14回転時間が経過するまで処理を待機する。この場合、第１パターンの通電処理で発生した90度の回転遅れが取り戻せず、この第３パターンの通電処理において、さらに90度の回転遅れを生じることになるため、180度の回転遅れが生じることになる。14回転時間が経過し、図４に示すスタートから処理を開始すると、再度、180度の遅れを取り戻すために追いかけ処理（S1、S11、S12、S13）が実行される。以下、180度の回転遅れを取り戻す追いかけ処理を説明する。
【００４０】
まず、ロータ８が前回の14回転時間内に図２(a)に示すN-Sパターンから図２(b)に示すN-Nパターンに90度回転したか否かを、現状のロータ位置と前回の目標ロータパターンとを比較して判断する（S1）。前回の1/4回転時間内の第3パターンの通電処理(S13)において、ロータ８が目標ロータパターンである図２(b)に示すN-Nパターンに90度回転せず、現状のロータ位置は、図２(a)に示すN-Sパターンのままであるので、CPU12は、ロータ８が回転しなかったと判断する（S1、NO）。そして、RAM14のエラーカウンタのカウント値を加算し(S11)、エラーカウンタのカウント値が（n=2）となる。なお、エラーカウンタのカウント値が（n=2）の場合、ロータ８は目標ロータパターンに対して180度遅れていることを示す。
【００４１】
図６に示すように、まず、第３ドライブパルスの入力数をカウントする（S14）。RAM14のドライブパルスカウンタにはカウント値（n=1）が格納される。次に、図３（c）に示す１つ目の第3ドライブパルスを１個入力することにより、コイル７に6.4msec間4.2Vの電圧を印加する（Ｓ15）。次に、CPU12は、RAM14に格納された前回のロータ位置と現状のロータ位置とを比較することにより、ロータ８が90度回転したか否かを判断する(Ｓ16)。現状のロータ位置が図２(b)に示すN-Nパターンである場合、前回のロータ位置である図２（a）に示すN-Sパターンに対してロータ８が90度回転したと判断し（S16、YES）、CPU12は、RAM14のエラーカウンタのカウント値を１つ減算する（S17）。エラーカウンタのカウント値が１つ減算されると、カウント値は、(n=1)になる。このように、ロータ８が図２（a）に示すN-Sパターン（前回のロータ位置）から図２(b)に示すN-Nパターン（現状のロータ位置）に90度回転すると、第１パターンの通電処理において発生した90度の回転遅れが取り戻される。
【００４２】
次に、CPU12は、RAM14に次の目標ロータパターンである図２(c)に示すS-Nパターンを格納し（S18）、第３ドライブパルスの入力数をカウントする(S19)。ドライブパルスカウンタのカウント値は(n=2)となる。そして、図３（c）に示す２個目の第３ドライブパルスを１個入力することにより、コイル７に6.0msec間4.2Vの電圧を印加する（Ｓ20）。CPU12は、RAM14に格納された第３ドライブパルス入力前のロータ位置である図２(b)に示すN-Nパターン（前回のロータ位置）と、ホール素子2a・2ｂにより検知した、第３ドライブパルス入力後のロータ位置（現状のロータ位置）とを比較することにより、ロータ８が90度回転したか否かを判断する（S21）。ロータ８が90度回転し、現状のロータ位置が図２(c)に示すS-Nパターンになると、前回のロータ位置である図２（b）に示すN-Nパターンに対してロータ８が90度回転したと判断し（S21、YES）、エラーカウンタのカウント値が(n=0)であるか否か判断する（S22）。エラーカウンタのカウント値は、(n=1)であり（S22、NO）、第３ドライブパルスの通電回数は２回（ドライブパルスカウンタのカウンタ値がｎ＝１）であるため（S23、NO）、S17に移行する。S17において、エラーカウンタを１つ減算するため、エラーカウンタのカウント値は、(n=0)となる。このように、エラーカウンタのカウント値が(n=0)になり、上記の第３パターンの通電処理において発生した90度の回転の遅れが取り戻される。その後のＳ18以降の処理は、上記と処理と同様であるので説明を省略するが、S2０においてロータ８が回転した場合、この1/4回転時間内では、上記の第１パターンの通電処理において発生した回転遅れ分と、上記の第３パターンの通電処理において発生した回転遅れ分と、この1/4回転時間内に回転する通常の回転分との３回分ステッピング駆動する。
【００４３】
一方、S21において、ロータ８が回転しなかった場合(S21、NO)の処理は、上記のS14〜S16、S26の処理と同様であるので説明を省略する。
【００４４】
次に、図４に示すS4において、モータ５の回転数が所定のしきい値より大きい場合（S4、NO）の動作を説明する。この場合、第2パターン通電処理が実行される（S27）。第2パターンの通電処理は、図７に示すように、モータ５の回転数が所定のしきい値より大きい場合の処理である。S29において図３（b）に示す波形の第１ドライブパルスを入力する点以外は、第１パターンの通電処理と同様であるので、S28〜S32の 説明を省略する。
【００４５】
なお、本実施形態では、２相全波４コイル、ホール素子２個を90度向かい合わせて配置した構成の小型のブラシレスモータを例にとって説明したが、ブラシレスモータはこれに限定されるものではない。また、各種ドライブパルスの波形や電圧やパルス幅は図３に示すものに限定されない。
【００４６】
【発明の効果】
本発明によれば、ロータが１ステップ角進むまで所定の第1ドライブパルスを所定パルス数入力することにより、確実に回転精度を維持できるという効果を奏する。また、低電圧で短時間の第1ドライブパルスを入力することにより、駆動電源電流の低減及び騒音の低減を図ることができるという効果を奏する。さらに、ロータが１ステップ角進んだことを検出すると、所定時間経過するまで第1ドライブパルスの入力を停止するため、駆動電源電流の低減及び騒音の低減を一層図ることができるという効果を奏する。また、所定パルス数以上入力しないことにより、ロータが回転しなくても、余分な電流を流さなくて済むため、駆動電源電流の低減を図ることができるという効果を奏する。
【００４７】
また、第1ドライブパルスのパルス幅は、電圧の印加時間を表わし、波高は、印加電圧を表わすため、電圧の印加時間の異なる第1ドライブパルスや印加電圧の異なる第1ドライブパルスを所定パルス数入力することにより、回転精度の維持と駆動電源電流の低減と騒音の低減を一層図ることができるという効果を奏する。
【００４８】
また、１個の第1ドライブパルスが、高い電圧をかける部分と低い電圧をかける部分とで構成されているため、高い電圧部分で回転精度の維持を図り、低い電圧部分で駆動電源電流の低減と騒音の低減を図ることができるという効果を奏する。
【００４９】
また、ロータの位置が目標ロータパターンに対して遅れている場合、所定の第2ドライブパルスを所定パルス数入力することによって、ロータの位置を目標ロータパターンに追いつかせることができるという効果を奏する。
【００５０】
また、請求項２乃至請求項４のいずれかに記載の発明の効果に加えて、ロータの回転数に応じて入力する第1ドライブパルスを切り替えることによって、より一層回転制度の維持と駆動電源電流の低減と騒音の低減を図ることができるという効果を奏する。
【００５１】
また、ロータの位置が目標ロータパターンに対して遅れている場合、所定のドライブパルスを所定パルス数入力することによって、ロータの位置を目標ロータパターンに追いつかせることができるという効果を奏する。
【図面の簡単な説明】
【図１】本実施形態に係るブラシレスモータの制御装置の構成を示すブロック図である。
【図２】本実施形態に係るブラシレスモータのロータの位置パターンを説明する図である。
【図３】（a）は、第1ドライブパルスの波形を説明する図である。(b)は、第1ドライブパルスの波形を説明する図である。（c）は、第2ドライブパルスの波形を説明する図である。
【図４】本実施形態に係るモータの制御装置の動作を説明するフローチャートである。
【図５】本実施形態に係るモータの制御装置の第１パターンの通電処理を説明するフローチャートである。
【図６】本実施形態に係るモータの制御装置の第３パターンの通電処理を説明するフローチャートである。
【図７】本実施形態に係るモータの制御装置の第２パターンの通電処理を説明するフローチャートである。
【符号の説明】
１  モータの制御装置
２a、２b  ホール素子
３  制御回路
４  駆動回路
５  ブラシレスモータ
６  ハウジング
７  巻線コイル
８  ロータ
９  シャフト
10a、10b  アンプ
11a、11b  A/D変換器
12  CPU
13  ROM
14  RAM
15 電圧切替部
16 励磁切替部
【図１】
0004803335.tif 000002
【図２】
0004803335.tif 000003
【図３】
0004803335.tif 000004
【図４】
0004803335.tif 000005
【図５】
0004803335.tif 000006
【図６】
0004803335.tif 000007
【図７】
0004803335.tif 000008