(57)【要約】【課題】電力供給が停止された後のモータの回転位置の誤差を補正すること。【解決手段】モータ制御装置は、ロータを回転させるモータの回転位置を算出する回転位置算出部と、回転位置算出部の動作電力の供給状態を制御する動作状態制御部と、ロータの停止目標回転位置と、コイルへの駆動電流の供給が停止された後、回転位置算出部への動作電力の供給が停止される前のロータの回転位置とに基づいて、ロータの回転位置の偏差を算出する偏差算出部と、偏差を記憶部に記憶させる記憶制御部と、記憶部に記憶させた偏差と、ロータの停止目標回転位置とに基づいて、ロータの回転位置を制御する回転位置制御信号を生成する回転位置制御信号生成部と、動作状態制御部により回転位置算出部の動作電力の供給が再開された後に、回転位置制御信号に基づいて、コイルに駆動電流を出力する駆動電流出力部とを備える。【選択図】図２
2019129590.tif 000002
【特許請求の範囲】
【請求項１】
駆動電流が流されるコイルが巻かれる磁性体と永久磁石との間の磁力による相互作用によりロータを回転させるモータの回転位置を算出する回転位置算出部と、
前記回転位置算出部の動作電力の供給状態を制御する動作状態制御部と、
前記ロータの停止目標回転位置と、前記コイルへの前記駆動電流の供給が停止された後、前記動作状態制御部により前記回転位置算出部への動作電力の供給が停止される前の前記回転位置算出部によって算出された前記ロータの回転位置とに基づいて、前記ロータの回転位置の偏差を算出する偏差算出部と、
前記偏差算出部が算出した前記偏差を、前記コイルへの前記駆動電流の供給が停止された後に記憶部に記憶させる記憶制御部と、
前記記憶制御部が前記コイルへの前記駆動電流の供給が停止された後に前記記憶部に記憶させた前記偏差と、前記ロータの停止目標回転位置とに基づいて、前記ロータの回転位置を制御する回転位置制御信号を生成する回転位置制御信号生成部と、
前記動作状態制御部により前記回転位置算出部の動作電力の供給が再開された後に、前記回転位置制御信号生成部が生成した前記回転位置制御信号に基づいて、前記コイルに前記駆動電流を出力する駆動電流出力部と、
を備えるモータ制御装置。
【請求項２】
前記回転位置算出部は、前記コイルへの前記駆動電流の供給停止から、所定の時間が経過した後、前記回転位置を算出する
請求項１に記載のモータ制御装置。
【請求項３】
前記偏差算出部は、前記コイルへの前記駆動電流の供給が停止された後、前記動作状態制御部により前記回転位置算出部への動作電力の供給が停止される前に前記回転位置算出部によって算出された前記回転位置の時間変動が所定の値以下である場合、前記偏差を算出する
請求項１または請求項２に記載のモータ制御装置。
【請求項４】
前記偏差算出部は、前記コイルへの前記駆動電流の供給が停止された後、前記動作状態制御部により前記回転位置算出部への動作電力の供給が停止される前に前記回転位置算出部によって算出された前記回転位置の時間変動が所定の値より大きい場合、前記コイルへの前記駆動電流の供給を再開させ、
前記回転位置算出部は、前記コイルへの前記駆動電流の供給が再開された後、前記回転位置を算出する
請求項３に記載のモータ制御装置。
【請求項５】
請求項１から請求項４のいずれか一項に記載のモータ制御装置を備えるモータ装置。
【請求項６】
コンピュータに、
駆動電流が流されるコイルが巻かれる磁性体と永久磁石との間の磁力による相互作用によりロータを回転させるモータの回転位置を算出する回転位置算出ステップと、
前記回転位置算出ステップにおける動作電力の供給状態を制御する動作状態制御ステップと、
前記ロータの停止目標回転位置と、前記コイルへの前記駆動電流の供給が停止された後、前記動作状態制御ステップにおいて前記回転位置算出ステップにおける動作電力の供給が停止される前の前記回転位置算出ステップにおいて算出された前記ロータの回転位置とに基づいて、前記ロータの回転位置の偏差を算出する偏差算出ステップと、
前記偏差算出ステップにおいて算出された前記偏差を、前記コイルへの前記駆動電流の供給が停止された後に記憶部に記憶させる記憶制御ステップと、
前記記憶制御ステップにおいて前記コイルへの前記駆動電流の供給が停止された後に前記記憶部に記憶された前記偏差と、前記ロータの停止目標回転位置とに基づいて、前記ロータの回転位置を制御する回転位置制御信号を生成する回転位置制御信号生成ステップと、
前記動作状態制御ステップにより前記回転位置算出ステップにおける動作電力の供給が再開された後に、前記回転位置制御信号生成ステップにおいて生成された前記回転位置制御信号に基づいて、前記コイルに前記駆動電流を出力する駆動電流出力ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置、モータ装置、及びプログラムに関する。
【背景技術】
【０００２】
医療用の薬剤投与器具においては、薬剤の注入を電動で行うことにより薬剤投与の作業に伴う負担を軽減させることができる。薬剤投与の作業に伴う負担を軽減させることができる反面、薬剤投与器具には、モータなどの駆動部をはじめとして電動注射器が正常に動作しているか否かについて患者が不安を感じる場合がある。電動注射器が正常に動作しない場合、投与される薬剤の量に誤差が生じ適切な治療ができなくなってしまう。
【０００３】
患者に対する肉体的、精神的苦痛を低減し、より安定した状態で薬剤の投与を行うことができる医療用投与器具が知られている（特許文献１）。特許文献１に記載の医療用投与器具では、投与すべき薬剤の投与量を、過去の投与量の設定値からプログラム処理により検出し、使用者により設定された投与量を電子回路により検出する。特許文献１に記載の医療用投与器具では、投与すべき薬剤の投与量と設定された投与量とを比較して、設定された投与量が投与すべき薬剤の投与量の所定の値の以下であれば、モータを動作させ注入処理を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−５２８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載されるような医療用投与器具では、ポンプと、ポンプを駆動するモータとを備える吐出装置が用いられ、一定時間毎に一定量の薬剤の吐出を行う。このような吐出装置では、適切な治療のため、吐出量には高い精度が要求される。
吐出量の精度は、一回の吐出に伴う吐出量の誤差だけでなく、複数回の吐出に伴い累積される誤差にも要求される。そのため、吐出量の精度を向上させるためには、ポンプを駆動させるモータの回転位置を正確に制御し、停止させることが必要である。特許文献１に記載されるような医療用投与器具においては、少ない消費電力において動作することが求められるため、薬剤投与の動作時以外の時間においては電力供給の停止が行われることがある。
【０００６】
電力供給の停止が行われた場合のモータの停止位置には、電力供給が停止される毎に誤差が生じることがあり、複数回の動作によって誤差が累積されることがある。この誤差は、モータ自身の磁力やモータに接続されるギヤユニットからの外力などにより、モータの停止時にロータに回転力が生じることにより発生する。例えば、コアドモータの場合、この誤差は主にモータの停止時のコギングトルクにより生じる。
特許文献１に記載の医療用投与器具では、設定された投与量の確認が行われてからモータが動作したとしても、実際に投与される薬剤の吐出量は、停止時のモータの回転位置の誤差の影響を受けてしまう。
【０００７】
本発明は上記の点に鑑みてなされたものであり、電力供給が停止された後のモータの回転位置の誤差を補正することができるモータ制御装置、モータ装置、及びプログラムを提供する。モータの回転位置とは、モータを構成するロータの回転位置である。
【課題を解決するための手段】
【０００８】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、駆動電流が流されるコイルが巻かれる磁性体と永久磁石との間の磁力による相互作用によりロータを回転させるモータの回転位置を算出する回転位置算出部と、前記回転位置算出部の動作電力の供給状態を制御する動作状態制御部と、前記ロータの停止目標回転位置と、前記コイルへの前記駆動電流の供給が停止された後、前記動作状態制御部により前記回転位置算出部への動作電力の供給が停止される前の前記回転位置算出部によって算出された前記ロータの回転位置とに基づいて、前記ロータの回転位置の偏差を算出する偏差算出部と、前記偏差算出部が算出した前記偏差を、前記コイルへの前記駆動電流の供給が停止された後に記憶部に記憶させる記憶制御部と、前記記憶制御部が前記コイルへの前記駆動電流の供給が停止された後に前記記憶部に記憶させた前記偏差と、前記ロータの停止目標回転位置とに基づいて、前記ロータの回転位置を制御する回転位置制御信号を生成する回転位置制御信号生成部と、前記動作状態制御部により前記回転位置算出部の動作電力の供給が再開された後に、前記回転位置制御信号生成部が生成した前記回転位置制御信号に基づいて、前記コイルに前記駆動電流を出力する駆動電流出力部と、を備えるモータ制御装置である。
【０００９】
また、本発明の一態様は、上記のモータ制御装置において、前記回転位置算出部は、前記コイルへの前記駆動電流の供給停止から、所定の時間が経過した後、前記回転位置を算出する。
【００１０】
また、本発明の一態様は、上記のモータ制御装置において、前記偏差算出部は、前記コイルへの前記駆動電流の供給が停止された後、前記動作状態制御部により前記回転位置算出部への動作電力の供給が停止される前に前記回転位置算出部によって算出された前記回転位置の時間変動が所定の値以下である場合、前記偏差を算出する。
【００１１】
また、本発明の一態様は、上記のモータ制御装置において、前記偏差算出部は、前記コイルへの前記駆動電流の供給が停止された後、前記動作状態制御部により前記回転位置算出部への動作電力の供給が停止される前に前記回転位置算出部によって算出された前記回転位置の時間変動が所定の値より大きい場合、前記コイルへの前記駆動電流の供給を再開させ、前記回転位置算出部は、前記コイルへの前記駆動電流の供給が再開された後、前記回転位置を算出する。
【００１２】
また、本発明の一態様は、上記のモータ制御装置を備えるモータ装置である。
【００１３】
また、本発明の一態様は、コンピュータに、駆動電流が流されるコイルが巻かれる磁性体と永久磁石との間の磁力による相互作用によりロータを回転させるモータの回転位置を算出する回転位置算出ステップと、前記回転位置算出ステップにおける動作電力の供給状態を制御する動作状態制御ステップと、前記ロータの停止目標回転位置と、前記コイルへの前記駆動電流の供給が停止された後、前記動作状態制御ステップにおいて前記回転位置算出ステップにおける動作電力の供給が停止される前の前記回転位置算出ステップにおいて算出された前記ロータの回転位置とに基づいて、前記ロータの回転位置の偏差を算出する偏差算出ステップと、前記偏差算出ステップにおいて算出された前記偏差を、前記コイルへの前記駆動電流の供給が停止された後に記憶部に記憶させる記憶制御ステップと、前記記憶制御ステップにおいて前記コイルへの前記駆動電流の供給が停止された後に前記記憶部に記憶された前記偏差と、前記ロータの停止目標回転位置とに基づいて、前記ロータの回転位置を制御する回転位置制御信号を生成する回転位置制御信号生成ステップと、前記動作状態制御ステップにより前記回転位置算出ステップにおける動作電力の供給が再開された後に、前記回転位置制御信号生成ステップにおいて生成された前記回転位置制御信号に基づいて、前記コイルに前記駆動電流を出力する駆動電流出力ステップと、を実行させるためのプログラムである。
【発明の効果】
【００１４】
本発明によれば、電力供給が停止された後のモータの回転位置の誤差を補正することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態に係る薬剤投与器具の外観の一例を示す図である。
【図２】本発明の第１の実施形態に係る駆動制御部の構成の一例を示す図である。
【図３】本発明の第１の実施形態に係る偏差の一例を示す図である。
【図４】本発明の第１の実施形態に係る電源供給の状態を示す区間の一例を示す図である。
【図５】本発明の第１の実施形態に係るサーボロックを用いる場合の１回の動作に対する回転位置の一例を示す図である。
【図６】本発明の第１の実施形態に係るサーボロックを用いない場合の１回の動作に対する回転位置の一例を示す図である。
【図７】本発明の第１の実施形態に係るモータの回転位置制御処理の一例を示す図である。
【図８】本発明の第１の実施形態に係る指令値の補正の一例を示す図である。
【図９】本発明の第１の実施形態に係るモータの停止シーケンスの一例を示す図である。
【図１０】本発明の第１の実施形態に係る動作回数に対する回転位置の一例を示す図である。
【図１１】本発明の第１の実施形態に係る動作回数に対するモータの回転位置の実測値の一例を示す図である。
【図１２】本発明の第１の実施形態に係るモータの回転位置の誤差の実測値の一例を示す図である。
【図１３】本発明の第１の実施形態に係る条件毎のモータの回転位置の実測値の一例を示す図である。
【図１４】本発明の第１の実施形態に係るモータの停止シーケンスの変形例の一例を示す図である。
【図１５】従来技術の動作回数に対するモータの回転位置の一例を示す図である。
【図１６】従来技術の動作回数に対するモータの回転位置の実測値の一例を示す図である。
【図１７】従来技術のモータの回転位置の誤差の実測値の一例を示す図である。
【発明を実施するための形態】
【００１６】
（実施形態）
以下、図面を参照しながら本発明の実施形態について詳しく説明する。図１は、本実施形態に係る薬剤投与器具Ｄの外観の一例を示す図である。薬剤投与器具Ｄは、患者に薬剤を投与するための携帯型の器具である。薬剤投与器具Ｄによる薬剤の投与は、例えば一週間に数回又は一日の間に数回行われる。
薬剤投与器具Ｄは、ケースＣＳ内に、薬剤吐出部Ｐと、基板Ｂと、電源Ｖとを備える。ケースＣＳの外側には、操作部Ｍが設けられる。操作部Ｍは、薬剤投与器具Ｄの薬剤の投与量を設定などの使用者による操作を受け付ける。基板Ｂは、操作部Ｍから設定された薬剤の投与量に基づいて、薬剤吐出部Ｐを制御する。電源Ｖは、薬剤投与器具Ｄに電力を供給する。電源Ｖは、例えば乾電池である。
【００１７】
薬剤吐出部Ｐは、例えば、モータと、シリンジとを備える。
シリンジには、薬剤が充填されている。シリンジは、モータの回転に合わせて薬剤を吐出する。
モータは、ギヤヘッドと、モータ本体と、エンコーダとを備える。
【００１８】
モータ本体は、ロータと、ハウジングと、コミテータと、エンドベルとを備える。
ロータは、コアと、コイルと、シャフトとを備える。モータ本体は、駆動電流が流されるコイルが巻かれる磁性体と永久磁石との間の磁力による相互作用によりロータを回転させるモータである。モータ本体は、例えばコアドモータである。
【００１９】
ギヤヘッドは、モータ本体に係合する。ギヤヘッドの出力軸は、ロータが所定数回転すると１回転する。
エンコーダは、一例として磁気エンコーダである。
エンコーダは、ロータの回転位置及びロータの回転の向きを検出する。エンコーダは、検出したロータの回転位置及びロータの回転の向きを示す信号を基板Ｂに供給する。ここでロータの回転位置を示す信号は、例えばパルス数である。
【００２０】
図２は、本実施形態に係る駆動制御部５の構成の一例を示す図である。駆動制御部５と、指令部６とは、図１の基板Ｂにより実現される。駆動制御部５は、演算部５０と、駆動電流出力部５１と、記憶部５２と、動作状態制御部５３とを備える。
【００２１】
演算部５０は、回転位置算出部５００と、偏差算出部５０１と、記憶制御部５０２と、指令値補正部５０３と、回転位置制御信号生成部５０４とを備える。
回転位置算出部５００は、エンコーダ１２から供給される回転位置信号ＥＮＳに基づいてモータ１の回転位置を算出する。ここでモータ１の回転位置とは、ロータの回転位置である。回転位置信号ＥＮＳとは、ロータの回転位置ＥＮを示す信号であり、例えばパルス数である。回転位置算出部５００は、算出した回転位置ＥＮを偏差算出部５０１に供給する。
【００２２】
偏差算出部５０１は、指令値補正部５０３から供給される補正指令値ＤＰと、回転位置算出部５００から供給される回転位置ＥＮとに基づいて、偏差ＤＥを算出する。偏差算出部５０１は、算出した偏差ＤＥを記憶制御部５０２、及び回転位置制御信号生成部５０４に供給する。ここで偏差算出部５０１は、回転位置算出部５００が回転位置ＥＮを供給する度に、算出した偏差ＤＥを記憶制御部５０２、及び回転位置制御信号生成部５０４に供給する。
【００２３】
ここで図３を参照し偏差算出部５０１が算出する偏差ＤＥの一例について説明する。
図３は、本実施形態に係る偏差ＤＥの一例を示す図である。偏差算出部５０１が算出する偏差ＤＥとは、補正指令値ＤＰと回転位置ＥＮとの差である。
補正指令値ＤＰはロータの停止目標回転位置を示す。ここでロータの停止目標回転位置は、ロータが停止制御された際のロータの回転位置に一致する。ロータの停止目標回転位置は、例えばパルス数によって示される。
偏差ＤＥ１は、コイルへの駆動電流の供給が停止された後の偏差ＤＥの一例である。偏差ＤＥ１は、ロータの停止位置の誤差である。
【００２４】
なお、本実施形態では偏差ＤＥが補正指令値ＤＰと回転位置ＥＮとの差である態様について説明するが、これに限らない。偏差ＤＥは、補正指令値ＤＰが示す目標回転位置に停止時に到達するために各時刻においてロータが回転しているべき回転位置と、回転位置ＥＮとの差であってもよい。偏差ＤＥが、補正指令値ＤＰが示す目標回転位置に停止時に到達するために各時刻においてロータが回転しているべき回転位置と、回転位置ＥＮとの差である場合であっても、偏差ＤＥが補正指令値ＤＰと回転位置ＥＮとの差である場合であっても、コイルへの駆動電流の供給が停止された後の偏差ＤＥである偏差ＤＥ１の値は変わらない。
【００２５】
図２に戻って駆動制御部５の構成の説明を続ける。
記憶制御部５０２は、記憶部５２を制御する。記憶制御部５０２は、偏差算出部５０１から供給される偏差ＤＥを、コイルへの駆動電流の供給が停止された後に記憶部５２に記憶させる。ここで記憶制御部５０２は、偏差算出部５０１から供給される偏差ＤＥのうち、最後に供給される偏差ＤＥを記憶部５２に記憶させる。
また、記憶制御部５０２は、記憶部５２に記憶させた偏差ＤＥを取得し、指令値補正部５０３に供給する。
【００２６】
指令値補正部５０３は、指令部６から供給される指令値ＰＮを、記憶制御部５０２から供給される偏差ＤＥを用いて補正する。ここで指令値ＰＮとは、ロータの停止目標回転位置を示す値である。記憶制御部５０２から供給される偏差ＤＥとは、ロータの停止位置の誤差である。つまり指令値補正部５０３は、ロータの停止目標回転位置を、ロータの停止位置の誤差を用いて補正する。
指令値補正部５０３は、補正した指令値ＰＮを補正指令値ＤＰとして偏差算出部５０１に供給する。
【００２７】
回転位置制御信号生成部５０４は、偏差算出部５０１から供給される偏差ＤＥに基づいて、回転位置制御信号ＲＳを生成する。回転位置制御信号ＲＳとは、ロータの回転位置を制御するための信号である。回転位置制御信号生成部５０４は、生成した回転位置制御信号ＲＳを駆動電流出力部５１に供給する。
【００２８】
駆動電流出力部５１は、回転位置制御信号生成部５０４から供給される回転位置制御信号ＲＳに基づいて、駆動電流ＭＣを生成する。駆動電流出力部５１は、生成した駆動電流ＭＣをモータ１に出力する。また、駆動電流出力部５１は、動作状態制御部５３により回転位置算出部５００の動作電力の供給が再開された後に、回転位置制御信号生成部５０４が生成した回転位置制御信号ＲＳに基づいて、コイルに駆動電流ＭＣを出力する。
【００２９】
記憶部５２は、偏差算出部５０１によって算出された偏差ＤＥを記憶する。記憶部５２には、電源Ｖ０から電力が供給される。
動作状態制御部５３は、演算部５０の動作電力の供給状態と、エンコーダ１２の動作電力の供給状態と、駆動電流出力部５１の動作電力の供給状態とを制御する。動作状態制御部５３には、電源Ｖ０から電力が供給される。動作状態制御部５３は、電源Ｖ１と電源Ｖ２とを制御する。電源Ｖ１とは、演算部５０と、エンコーダ１２とに電力を供給する電源である。したがって、動作状態制御部５３は、電源Ｖ１を制御することにより、演算部５０に含まれる回転位置算出部５００の動作電力の供給状態を制御する。電源Ｖ２とは、駆動電流出力部５１に電力を供給する電源である。
【００３０】
ここで図４を参照し、駆動制御部５及びエンコーダ１２への電源供給の状態について説明する。図４は、本実施形態に係る電源供給の状態を示す区間の一例を示す図である。
電源Ｖ０は、動作状態制御部５３及び記憶部５２に常時電力を供給する。電源Ｖ０は、図１の電源Ｖである。
動作状態制御部５３が電源Ｖ１及び電源Ｖ２をオンにするかオフにするかに応じて、電源供給の状態を示す区間には、駆動区間Ｐ１、停止区間Ｐ２、及びスリープ区間Ｐ３の３つの区間がある。
【００３１】
駆動区間Ｐ１は、演算部５０、エンコーダ１２、及び駆動電流出力部５１に電力が供給される区間である。駆動区間Ｐ１は、演算部５０及びエンコーダ１２への電源Ｖ１による電力供給が開始される時刻ｔ１から、駆動電流出力部５１への電源Ｖ２による電力供給が停止される時刻ｔ４までの区間である。駆動区間Ｐ１に含まれる時刻ｔ２は、駆動電流出力部５１への電源Ｖ２による電力供給が開始される時刻である。駆動区間Ｐ１に含まれる時刻ｔ３は、コイルへの駆動電流ＭＣの供給が停止される停止シーケンスが開始される時刻である。停止シーケンスについては後述する。
駆動区間Ｐ１において、薬剤吐出部Ｐにより薬剤の吐出が行われる。駆動区間Ｐ１の長さは、例えば数秒程度である。
【００３２】
停止区間Ｐ２は、演算部５０及びエンコーダ１２に電力が供給され、駆動電流出力部５１には電力が供給されない区間である。停止区間Ｐ２は、時刻ｔ４から演算部５０及びエンコーダ１２への電源Ｖ１による電力供給が停止される時刻ｔ６までの区間である。停止区間Ｐ２に含まれる時刻ｔ５は、コイルへの駆動電流ＭＣの供給が停止された後においてエンコーダ１２がロータの回転位置を検出する時刻である。
停止区間Ｐ２の長さは、数ミリ秒程度である。
【００３３】
スリープ区間Ｐ３は、演算部５０、エンコーダ１２、及び駆動電流出力部５１に電力が供給されない区間である。スリープ区間Ｐ３は、時刻ｔ６から、演算部５０及びエンコーダ１２への電源Ｖ１による電力供給が開始される時刻ｔ７までの区間である。演算部５０及びエンコーダ１２への電源Ｖ１による電力供給が開始されると、時刻ｔ８において駆動電流出力部５１への電源Ｖ２による電力供給が開始される。
スリープ区間Ｐ３は、薬剤投与の間隔に応じて決められる。スリープ区間Ｐ３の長さは、例えば数時間程度である。
【００３４】
図２に戻り駆動制御部５の構成の説明を続ける。
指令部６は、指令値ＰＮを指令値補正部５０３に供給する。指令部６は、図１の操作部Ｍから設定された薬剤の投与量に基づいて、指令値ＰＮを算出する。
エンコーダ１２は、モータ１のロータの回転位置及びロータの回転の向きを検出し、検出した結果に基づき、回転位置信号ＥＮＳを生成する。エンコーダ１２は、生成した回転位置信号ＥＮＳを回転位置算出部５００に供給する。
モータ１は、駆動制御部５から供給される駆動電流ＭＣがコイルに流れることにより駆動する。モータ１が駆動することにより、シリンジ４は、薬剤を吐出させる。
【００３５】
ここでロータの停止位置の誤差について説明する。
図５は、本実施形態に係るサーボロックを用いる場合の１回の動作に対する回転位置の一例を示す図である。ここでサーボロックとは、ロータの停止位置を保持する機能である。サーボロックでは、外力によりロータが停止位置から１パルスでも回転すると、コイルに駆動電流ＭＣを流し外力と反対向きのトルクを発生させロータの停止位置を保持する。
【００３６】
サーボロックは駆動制御部５により制御される。駆動制御部５がサーボロックを有効にしている状態では、電源Ｖ１からの演算部５０への電力の供給、及び電源Ｖ２からの駆動電流出力部５１への電力の供給がされている。サーボロックでは、演算部５０は、エンコーダ１２から供給される回転位置信号ＥＮＳに基づいて、外力と反対向きのトルクを発生させるための回転位置制御信号ＲＳを生成する。駆動電流出力部５１は、演算部５０が生成した回転位置制御信号ＲＳに基づいて駆動電流ＭＣをコイルに流す。
【００３７】
駆動制御部５は、ロータの回転位置ＡＰ９が目標位置ＴＰ９に到達すると、サーボロック区間ＳＬ９においてサーボロックを有効にする。目標位置ＴＰ９とは、指令部６から供給される指令値ＰＮにより示される回転位置である。サーボロックを解除するための条件が満たされるとサーボロックを解除する。駆動制御部５は、動作状態制御部５３に電源Ｖ２からの駆動電流出力部５１への電力の供給を停止させることによりサーボロックを解除する。
サーボロックが解除されると、ショートブレーキ区間ＳＢ９においてロータにショートブレーキがかかる。ここでショートブレーキとは、モータ１のコイルを短絡し、モータ１の誘起電力に応じた制動力をロータにかけて回転を停止させる機構である。
図５に示す例では、ショートブレーキ区間ＳＢ９においてロータが停止した後、回転位置ＡＰ９と、目標位置ＴＰ９との間には停止位置の誤差が生じている。
【００３８】
ロータの停止位置の誤差は、コギングトルクや、ギヤヘッドから受ける力により生じる。コギングトルクとは、駆動電流ＭＣが停止された状態において、コイルが巻かれる磁性体と永久磁石との間の磁力による相互作用により生じるトルクである。ギヤヘッドから受ける力とは、ギヤ間のバックラッシュにより生じる力や、シリンジから押し返される力である。
ロータの停止位置の誤差は、動作を繰り返すにつれて累積され大きな誤差となる。
【００３９】
図６は、本実施形態に係るサーボロックを用いない場合の１回の動作に対する回転位置の一例を示す図である。図６に示す例では、ショートブレーキ区間ＳＢ１０において、ロータが停止した後、回転位置ＡＰ１０と、目標位置ＴＰ１０との間には停止位置の誤差が生じている。
なお、本実施形態では、一例としてショートブレーキが用いられる場合について説明するが、ショートブレーキは用いられなくてもよい。
【００４０】
図７は、本実施形態に係るモータ１の回転位置制御処理の一例を示す図である。図７に示す処理は、薬剤投与の時間が到来し、駆動制御部５、指令部６及びエンコーダ１２に電力の供給が開始された場合に開始される。
【００４１】
ステップＳ１００：指令値補正部５０３は、指令部６が供給する指令値ＰＮを取得する。なお本実施形態において指令部６が供給する指令値ＰＮが示すパルス、薬剤吐出部Ｐの動作回数毎に変わらないとする。
ステップＳ１１０：指令値補正部５０３は、記憶制御部５０２から記憶部５２に記憶された偏差ＤＥを取得する。
ステップＳ１２０：指令値補正部５０３は、取得した偏差ＤＥにより指令値ＰＮを補正する。指令値補正部５０３は、補正した指令値ＰＮを補正指令値ＤＰとして偏差算出部５０１に供給する。
ここで図１２を参照し、指令値補正部５０３による指令値ＰＮの補正処理について説明する。
【００４２】
図８は、本実施形態に係る指令値ＰＮの補正の一例を示す図である。例えば、１回目の動作において、指令値ＰＮが示す指令パルスは４００クワッドカウント（ＱＣ：Ｑｕａｄ  Ｃｏｕｎｔ）である。補正指令値ＤＰ、つまり補正された指令パルスは、指令値補正部５０３が、指令値ＰＮが示す指令パルスを偏差ＤＥにより補正した値である。ただし、１回目の動作では、指令パルスは補正されないため、補正指令値ＤＰは、指令値ＰＮが示す指令パルスに等しい。実績パルスは、薬剤吐出部Ｐが１回目の動作を終了したときのロータの回転位置を示す。累積パルスは、実績パルスの値を、過去の動作回数毎に足し上げたパルス数である。偏差ＤＥは、補正指令値ＤＰと実績パルスとの差である。偏差ＤＥは、ロータの停止位置の誤差である。偏差ＤＥは、補正指令値ＤＰよりも実績パルスが大きい場合、正の値をとる。偏差ＤＥは、補正指令値ＤＰよりも実績パルスが小さい場合、負の値をとる。
指令値補正部５０３は、指令値ＰＮが示す指令パルスから前回の動作における偏差ＤＥを減算した値を、補正指令値ＤＰの値とする。
【００４３】
図７に戻ってモータ１の回転位置制御処理の説明を続ける。
ステップＳ１３０：回転位置算出部５００は、エンコーダ１２が供給する回転位置信号ＥＮＳを取得する。回転位置算出部５００は、取得した回転位置信号ＥＮＳからロータの回転位置ＥＮをパルス数として算出する。回転位置算出部５００は、算出した回転位置ＥＮを偏差算出部５０１に供給する。
【００４４】
ステップＳ１４０：偏差算出部５０１は、指令値補正部５０３から供給される補正指令値ＤＰと、回転位置算出部５００から供給される回転位置ＥＮとに基づいて、偏差ＤＥを算出する。偏差算出部５０１は、算出した偏差ＤＥを記憶制御部５０２、及び回転位置制御信号生成部５０４に供給する。
記憶制御部５０２は、偏差算出部５０１が供給する偏差ＤＥを取得するが、コイルへの駆動電流ＭＣの供給されている間は、取得した偏差ＤＥを記憶部５２に記憶させない。
【００４５】
ステップＳ１５０：偏差算出部５０１は、回転位置ＥＮが指令値ＰＮに到達しているか否かを判定する。偏差算出部５０１は、回転位置算出部５００が供給する回転位置ＥＮを取得し、取得した回転位置ＥＮと、補正指令値ＤＰとを比較する。偏差算出部５０１は、比較結果に基づいて回転位置ＥＮが補正指令値ＤＰにより示される回転位置に到達しているか否かを判定する。
偏差算出部５０１は、回転位置ＥＮが、補正指令値ＤＰが示す回転位置に到達していると判定する場合（ステップＳ１５０；ＹＥＳ）、駆動制御部５に回転位置ＥＮが補正指令値ＤＰにより示される回転位置に到達していることを示す信号を供給する。その後、駆動制御部５はステップＳ１６０の処理を実行する。一方、偏差算出部５０１は、回転位置ＥＮが補正指令値ＤＰにより示される回転位置に到達していないと判定する場合（ステップＳ１５０；ＮＯ）、ステップＳ１７０の処理を実行する。
【００４６】
ステップＳ１６０：駆動制御部５は、停止シーケンスの処理を開始する。ここで図９を参照し停止シーケンスについて説明する。
【００４７】
図９は、本実施形態に係るモータ１の停止シーケンスの一例を示す図である。
ステップＳ１６００：駆動制御部５は、サーボロックを有効にする。
ステップＳ１６０１：駆動制御部５は、サーボロック停止条件が満たされたか否かを判定する。ここでサーボロック停止条件とは、ロータの回転位置が補正指令値ＤＰにより示される回転位置に到達してから所定の時間が経過することである。ここで所定の時間とは、一例として１００ミリ秒である。
駆動制御部５は、サーボロック停止条件が満たされたと判定する場合（ステップＳ１６０１；ＹＥＳ）、ステップＳ１６０２の処理を実行する。一方、駆動制御部５は、サーボロック停止条件が満たされていないと判定する場合（ステップＳ１６０１；ＮＯ）、ステップＳ１６００の処理を繰り返す。
【００４８】
なお、本実施形態では、サーボロック停止条件が、一例として、ロータの回転位置が補正指令値ＤＰにより示される回転位置に到達してから所定の時間が経過することである場合について説明するが、サーボロック停止条件はこれに限らない。
サーボロック停止条件は、例えば、薬剤吐出部Ｐに電力が供給されてから所定の時間が経過することであってもよい。ここで所定の時間は、例えば、ロータの回転位置が補正指令値ＤＰにより示される回転位置に到達するまでの時間を予め測定することにより定められる。
また、サーボロック停止条件は、例えば、駆動電流ＭＣが所定の値以下となることであってもよい。サーボロック停止条件は、薬剤吐出部Ｐの１回の動作についてモータ１の負荷が所定の値以上となることであってもよい。サーボロック停止条件は、薬剤吐出部Ｐの１回の動作についてロータの回転位置の変位が所定のパルス数以上となることであってもよい。サーボロック停止条件は、ロータの回転速度が所定の値以下となることであってもよい。
【００４９】
ステップＳ１６０２：駆動制御部５は、サーボロックを停止する。動作状態制御部５３は、電源Ｖ２による駆動電流出力部５１への電力の供給を停止する。
ステップＳ１６０３：回転位置算出部５００は、回転位置検出時間が経過したか否かを判定する。ここで回転位置検出時間とは、駆動電流出力部５１への電力の供給を停止が停止されてから計時される所定の時間である。
回転位置算出部５００は、回転位置検出時間が経過したと判定する場合（ステップＳ１６０２；ＹＥＳ）、ステップＳ１６０４の処理を実行する。一方、回転位置算出部５００は、回転位置検出時間が経過していないと判定する場合（ステップＳ１６０２；ＮＯ）、ステップＳ１６０３の処理を繰り返す。
【００５０】
ステップＳ１６０４：回転位置算出部５００は、エンコーダ１２が供給する回転位置信号ＥＮＳに基づいて回転位置ＥＮを算出する。つまり、回転位置算出部５００は、コイルの駆動電流ＭＣの供給停止から、所定の時間が経過した後、ロータの回転位置ＥＮを算出する。回転位置算出部５００は、算出した回転位置ＥＮを偏差算出部５０１に供給する。
ステップＳ１６０５：偏差算出部５０１は、指令値補正部５０３から供給される補正指令値ＤＰと、回転位置算出部５００から供給される回転位置ＥＮとに基づいて、偏差ＤＥを算出する。
つまり、偏差算出部５０１は、補正指令値ＤＰと、コイルへの駆動電流ＭＣの供給が停止された後、動作状態制御部５３により回転位置算出部５００への動作電力の供給が停止される前の回転位置算出部５００によって算出されたロータの回転位置ＥＮとに基づいて、偏差ＤＥを算出する。偏差算出部５０１は、回転位置算出部５００が回転位置ＥＮを供給する度に、算出した偏差ＤＥを記憶制御部５０２、及び回転位置制御信号生成部５０４に供給する。
ステップＳ１６０６：記憶制御部５０２は、偏差算出部５０１から供給される偏差ＤＥを記憶部５２に記憶させる。つまり、記憶制御部５０２は、偏差算出部５０１が算出した偏差ＤＥを、コイルへの駆動電流ＭＣの供給が停止された後に記憶部５２に記憶させる。
【００５１】
ステップＳ１６０７：動作状態制御部５３は、演算部５０への電源Ｖ１による電力の供給を停止する。動作状態制御部５３は、エンコーダ１２への電源Ｖ１による電力の供給を停止する。駆動制御部５は、次回の薬剤投与時刻まで動作を停止する。
【００５２】
ここで図９のステップＳ１６０５及びステップＳ１６０６と、図７のステップＳ１４０とを比較する。図７のステップＳ１４０においては、コイルへの駆動電流ＭＣが供給されており、偏差算出部５０１は、回転位置算出部５００から回転位置ＥＮが供給される度に偏差ＤＥを算出する。ただし、図７のステップＳ１４０においては、記憶制御部５０２は、偏差算出部５０１が算出した偏差ＤＥを記憶部５２に記憶させない。
一方、図９のステップＳ１６０５及びステップＳ１６０６においては、コイルへの駆動電流ＭＣの供給が停止された後であり、演算部５０への電源Ｖ１による電力の供給が停止される前に、偏差算出部５０１は偏差ＤＥを算出する。記憶制御部５０２は、偏差算出部５０１が算出した偏差ＤＥを記憶部５２に記憶させる。つまり、ステップＳ１６０６において、記憶制御部５０２が記憶部５２に記憶させる偏差ＤＥとは、演算部５０への電源Ｖ１による電力の供給が停止される前の最後に、偏差算出部５０１が算出した偏差ＤＥである。
【００５３】
図７に戻ってモータ１の回転位置制御処理の説明を続ける。
ステップＳ１７０：回転位置制御信号生成部５０４は、偏差算出部５０１から供給される偏差ＤＥに基づいて、回転位置制御信号ＲＳを生成する。ここで偏差ＤＥは、ロータの停止目標回転位置と、コイルへの駆動電流ＭＣの供給が停止された後、動作状態制御部５３により回転位置算出部５００への動作電力の供給が停止される前の回転位置算出部５００によって算出されたロータの回転位置ＥＮとに基づいて、偏差算出部５０１によって算出され、記憶制御部５０２がコイルへの駆動電流ＭＣの供給が停止された後に記憶部５２に記憶させた偏差ＤＥである。つまり、回転位置制御信号生成部５０４は、記憶制御部５０２がコイルへの駆動電流ＭＣの供給が停止された後に記憶部５２に記憶させた偏差ＤＥと、ロータの停止目標回転位置とに基づいて、ロータの回転位置ＥＮを制御する回転位置制御信号ＲＳを生成する
回転位置制御信号生成部５０４は、生成した回転位置制御信号ＲＳを駆動電流出力部５１に供給する。
【００５４】
ステップＳ１８０：駆動電流出力部５１は、回転位置制御信号生成部５０４から供給される回転位置制御信号ＲＳに基づいて、駆動電流ＭＣを生成する。駆動電流出力部５１は、生成した駆動電流ＭＣをモータ１に出力する。
【００５５】
以下、図１０〜図１４を参照しモータ１の動作の結果得られたロータの回転数について説明する。
図１０は、本実施形態に係る動作回数に対する回転位置ＥＮの一例を示す図である。図１０（Ａ）において、回転位置ＡＰ１〜回転位置ＡＰ４は、開始位置ＳＰからのロータの回転位置ＥＮである。図１０（Ａ）からは、ロータの停止位置の変位を読み取ることができる。
図１０（Ｂ）において、回転位置ＲＰ１〜回転位置ＲＰ４は、各々前回の動作時の目標回転数からのロータの回転位置ＥＮである。例えば、回転位置ＲＰ１は、開始位置ＳＰからのロータの回転位置ＥＮであり、回転位置ＲＰ２は、１回目の動作時の目標位置ＴＰ１からのロータの回転位置ＥＮである。図１０（Ｂ）からは、動作毎のロータの停止位置の誤差を読み取ることができる。
図１０（Ａ）の例は、ロータの停止位置の誤差が、動作回数を増やした場合に累積されていないことを示す。
【００５６】
比較のために図１５を参照し、従来の制御によるモータの場合の結果について説明する。
図１５は、従来技術の動作回数に対するモータの回転位置の一例を示す図である。図１５（Ｂ）から、１回目の動作と４回目の動作においては目標位置ＴＰに対するロータの停止位置の誤差は生じおらず、２回目の動作と３回目の動作においては目標位置ＴＰに対するロータの停止位置の誤差は生じていることがわかる。図１５（Ｂ）を参照すると４回目の動作におけるロータの停止位置の誤差は生じていないが、図１５（Ａ）を参照すると、２回目の動作と３回目の動作におけるロータの停止位置の誤差が累積したため、４回目の動作においては開始位置ＳＰからロータの停止位置の誤差（−１５ＱＣ）が生じてしまっていることがわかる。
【００５７】
図１１は、本実施形態に係る動作回数に対するモータ１の回転位置ＥＮの実測値の一例を示す図である。図１１に示す例では、目標位置が４００ＱＣである場合の１００回の動作におけるモータ１の回転位置の実測値が示されている。図１１に示す例では、モータ１の駆動停止時にサーボロックを１００ミリ秒の間有効にしている。モータ１の回転位置ＥＮに、負の値をもつ偏差ＤＥが発生した場合は、指令値ＰＮが示す回転数は、負の値をもつ偏差ＤＥだけ減算された値に補正される。つまり指令値ＰＮが示す回転数は、正の値が加算されて補正される。一方、モータ１の回転位置ＥＮに、正の値をもつ偏差ＤＥが発生した場合は、指令値ＰＮが示す回転数は、正の値をもつ偏差ＤＥだけ減算された値に補正される。
したがって、モータ１の回転位置の実測値が、目標位置よりも低い回転位置範囲ＭＥに含まれる場合や、目標位置よりも高い回転位置範囲ＰＥに含まれる場合、目標位置である４００ＱＣに近づくように補正される。
【００５８】
図１２は、本実施形態に係るモータ１の回転位置ＥＮの誤差の実測値の一例を示す図である。１００回の動作における誤差率は０．００パーセントである。ロータの停止位置の誤差はない。
【００５９】
比較のために図１６及び図１７を参照し、従来の制御によるモータの場合の結果について説明する。
図１６は、従来技術の動作回数に対するモータの回転位置の実測値の一例を示す図である。図１６に示す例では、モータの動作条件は、指令値を補正しないこと以外は図１２及び図１３に示したモータ１の動作条件と同じである。動作回数６０回から８０回にかけて、モータの回転位置の実測値が、目標位置よりも低い回転位置範囲Ｅにある。
図１７は、従来技術のモータの回転位置の誤差の実測値の一例を示す図である。１００回の動作における誤差率は−１．８５パーセントである。従来技術では、ロータの停止位置の誤差が生じてしまう。
【００６０】
図１３は、本実施形態に係る条件毎のモータ１の回転位置ＥＮの実測値の一例を示す図である。図１３では、１回の動作における目標回転位置を４００ＱＣとし、１００回動作させており、１００回の動作における目標回転位置は４００００ＱＣである。指令値ＰＮが補正される場合と、指令値ＰＮが補正されない場合との各々において、サーボロックを用いた場合と、サーボロックを用いない場合のモータ１の回転位置ＥＮの実測値が、４種類のサンプルについて示されている。
目標回転位置４００００ＱＣと、各実測値とを比較すると、サーボロックのみを用いる場合よりも、サーボロックを用いて指令値を補正した場合、及びサーボロックを用いずに指令値ＰＮを補正した場合の方が実測値の目標回転位置に対する偏差ＤＥは小さい。
【００６１】
（まとめ）
以上に説明したように、本実施形態に係るモータ駆動装置（駆動制御部５）は、回転位置算出部５００と、動作状態制御部５３と、偏差算出部５０１と、記憶制御部５０２と、回転位置制御信号生成部５０４と、駆動電流出力部５１とを備える。
回転位置算出部５００は、駆動電流ＭＣが流されるコイルが巻かれる磁性体と永久磁石との間の磁力による相互作用によりロータを回転させるモータ１の回転位置ＥＮを算出する。
動作状態制御部５３は、回転位置算出部５００の動作電力の供給状態を制御する。
偏差算出部５０１は、ロータの停止目標回転位置と、コイルへの駆動電流ＭＣの供給が停止された後、動作状態制御部５３により回転位置算出部５００への動作電力の供給が停止される前の回転位置算出部５００によって算出されたロータの回転位置ＥＮとに基づいて、ロータの回転位置補の偏差ＤＥを算出する。
記憶制御部５０２は、偏差算出部５０１が算出した偏差ＤＥを、コイルへの駆動電流ＭＣの供給が停止された後に記憶部５２に記憶させる。
回転位置制御信号生成部５０４は、記憶制御部５０２がコイルへの駆動電流ＭＣの供給が停止された後に記憶部５２に記憶させた偏差ＤＥと、ロータの停止目標回転位置とに基づいて、ロータの回転位置ＥＮを制御する回転位置制御信号を生成する。
駆動電流出力部５１は、動作状態制御部５３により回転位置算出部５００の動作電力の供給が再開された後に、回転位置制御信号生成部５０４が生成した回転位置制御信号ＲＳに基づいて、コイルに駆動電流ＭＣを出力する。
ただし、偏差算出部５０１は、コイルへの駆動電流ＭＣの供給が停止される前においても、回転位置算出部５００から回転位置ＥＮが供給される度に偏差ＤＥを算出する。したがって、記憶制御部５０２が記憶部５２に記憶させる偏差ＤＥとは、回転位置算出部５００への動作電力（電源Ｖ１による電力）の供給が停止される前の最後に、偏差算出部５０１が算出した偏差ＤＥである。
【００６２】
この構成により、本実施形態に係るモータ駆動装置（駆動制御部５）では、ロータの停止目標回転位置と、コイルへの駆動電流ＭＣの供給が停止された後、動作状態制御部５３により回転位置算出部５００への動作電力の供給が停止される前の回転位置算出部５００によって算出されたロータの回転位置ＥＮとに基づいて、偏差ＤＥを算出することができるため、電力供給が停止された後のモータ１の回転位置ＥＮの目標回転位置に対する誤差を補正することができる。
【００６３】
また、本実施形態に係るモータ駆動装置（駆動制御部５）では、回転位置算出部５００は、コイルへの駆動電流ＭＣの供給停止から、所定の時間が経過した後、ロータの回転位置を算出する。
この構成により、モータ駆動装置（駆動制御部５）では、偏差ＤＥをいつ算出するか簡便に指定することができる。
【００６４】
なお、上述した実施形態においては、偏差算出部５０１は、指令値補正部５０３が指令値ＰＮを補正した補正指令値ＤＰと、回転位置算出部５００が算出した回転位置ＥＮとの偏差ＤＥを算出する態様について説明したが、これに限らない。演算部５０は、指令値補正部５０３を備えていなくてもよく、偏差算出部５０１が、記憶制御部５０２から記憶部５２に記憶された偏差ＤＥを取得し、取得した偏差ＤＥにより指令値ＰＮを補正し補正指令値ＤＰとしてもよい。
【００６５】
（変形例）
図１４は、本実施形態に係るモータ１の停止シーケンスの変形例の一例を示す図である。図１４におけるステップＳ２６００〜ステップＳ２６０２、及びステップＳ２６０４〜ステップＳ２６０７の処理は、図９におけるステップＳ１６００〜ステップＳ１６０２、及びステップＳ１６０４〜ステップＳ１６０７の処理と各々同様であるため説明を省略する。
【００６６】
ステップＳ２６０３：回転位置算出部５００は、回転位置検出条件が満たされたか否かを判定する。ここで回転位置検出条件とは、例えば、回転位置算出部５００によって算出されたロータの回転速度が所定の値以下であることである。
回転位置算出部５００は、回転位置検出条件が満たされたと判定する場合（ステップＳ２６０３；ＹＥＳ）、ステップＳ２６０４、Ｓ２６０５の処理を実行する。つまり、偏差算出部５０１は、コイルへの駆動電流ＭＣの供給が停止された後、動作状態制御部５３により回転位置算出部５００への動作電力の供給が停止される前に回転位置算出部５００によって算出されたロータの回転位置ＥＮの時間変動が所定の値以下である場合の偏差ＤＥを算出する。
一方、回転位置算出部５００は、回転位置検出条件が満たされていないと判定する場合（ステップＳ２６０３；ＮＯ）、ステップＳ２６０８の処理を実行する。
【００６７】
ステップＳ２０４８：動作状態制御部５３は、駆動電流出力部５１への電源Ｖ２による電力の供給を再開する。つまり、偏差算出部５０１は、コイルへの駆動電流ＭＣの供給が停止された後、動作状態制御部５３により回転位置算出部５００への動作電力の供給が停止される前に回転位置算出部５００によって算出されたロータの回転位置ＥＮの時間変動が所定の値より大きい場合、コイルへの駆動電流ＭＣの供給を再開させる。その後、駆動制御部５は、ステップＳ２６００〜ステップＳ２６０３の処理を繰り返す。ステップＳ２６０３において回転位置検出条件が満たされた場合、回転位置算出部５００は、ステップＳ２６０４の処理を実行する。つまり、回転位置算出部５００は、コイルへの駆動電流ＭＣの供給が再開された後、ロータの回転位置ＥＮを算出する。
【００６８】
本変形例におけるモータ駆動装置（駆動制御部５）では、偏差算出部５０１は、コイルへの駆動電流ＭＣの供給が停止された後、動作状態制御部５３により回転位置算出部５００への動作電力（電源Ｖ１による電力）の供給が停止される前に回転位置算出部５００によって算出されたロータの回転位置ＥＮの時間変動が所定の値以下である場合の偏差ＤＥを算出する。そして、記憶制御部５０２は、偏差算出部５０１から供給される偏差ＤＥを記憶部５２に記憶させる。つまり、記憶制御部５０２は、偏差算出部５０１が算出した偏差ＤＥを、コイルへの駆動電流ＭＣの供給が停止された後に記憶部５２に記憶させる。
ただし、偏差算出部５０１は、コイルへの駆動電流ＭＣの供給が停止される前においても、回転位置算出部５００から回転位置ＥＮが供給される度に偏差ＤＥを算出する。したがって、記憶制御部５０２が記憶部５２に記憶させる偏差ＤＥとは、回転位置算出部５００への動作電力（電源Ｖ１による電力）の供給が停止される前の最後に、偏差算出部５０１が算出した偏差ＤＥである。
この構成により、本変形例におけるモータ駆動装置（駆動制御部５）では、ロータが十分に速度を落としてからの偏差ＤＥを確実に算出することができる。
【００６９】
また、本変形例におけるモータ駆動装置（駆動制御部５）では、偏差算出部５０１は、コイルへの駆動電流ＭＣの供給が停止された後、動作状態制御部５３により回転位置算出部５００への動作電力（電源Ｖ１による電力）の供給が停止される前に回転位置算出部５００によって算出されたロータの回転位置ＥＮの時間変動が所定の値より大きい場合、コイルへの駆動電流ＭＣの供給を再開させ、回転位置算出部５００は、コイルへの駆動電流ＭＣの供給が再開された後、ロータの回転位置ＥＮを算出する。
この構成により、本変形例におけるモータ駆動装置（駆動制御部５）では、ロータが十分に速度を落とす条件が満たされず偏差ＤＥを算出するタイミングを逃してしまうことを防ぐことができる。
【００７０】
なお、上述した実施形態における駆動制御部５の一部、例えば、演算部５０、駆動電流出力部５１、及び動作状態制御部５３をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、駆動制御部５に内蔵されたコンピュータシステムであって、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
また、上述した実施形態における駆動制御部５の一部、または全部を、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路として実現してもよい。駆動制御部５の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【００７１】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【００７２】
Ｄ…薬剤投与器具、Ｍ…操作部、ＣＳ…ケース、Ｖ、Ｖ０、Ｖ１、Ｖ２…電源、Ｂ…基板、Ｐ…薬剤吐出部、１…モータ、１２…エンコーダ、５…駆動制御部、６…指令部、５０…演算部、５１…駆動電流出力部、５２…記憶部、５３…動作状態制御部、５００…回転位置算出部、５０１…偏差算出部、５０２…記憶制御部、５０３…指令値補正部、５０４…回転位置制御信号生成部
【図１】
2019129590.tif 000003
【図２】
2019129590.tif 000004
【図３】
2019129590.tif 000005
【図４】
2019129590.tif 000006
【図５】
2019129590.tif 000007
【図６】
2019129590.tif 000008
【図７】
2019129590.tif 000009
【図８】
2019129590.tif 000010
【図９】
2019129590.tif 000011
【図１０】
2019129590.tif 000012
【図１１】
2019129590.tif 000013
【図１２】
2019129590.tif 000014
【図１３】
2019129590.tif 000015
【図１４】
2019129590.tif 000016
【図１５】
2019129590.tif 000017
【図１６】
2019129590.tif 000018
【図１７】
2019129590.tif 000019