(57)【要約】【課題】複数のモータドライバを内蔵するＩＣは、外部端子が数多く必要になり、ＩＣ単価の価格が上昇する問題がある。【解決手段】本発明は、複数のモータドライバを内蔵しても、１つシリアルポートを共有して使用することで、外部端子数を削減すると共に、少ない端子で、リアルタイムでの制御が求められるモータ制御を実現するモータ制御回路に関する。【選択図】    図１
2010088184.tif 000002
【特許請求の範囲】
【請求項１】
モータの駆動を制御するモータ制御回路において、
外部とシリアル通信を行うシリアル通信回路と、
前記シリアル通信回路からのデータを記憶する記憶装置と、
前記モータの動作を決める設定を保持する設定保持回路と、
前記モータの駆動パルスの変化を検知する検知回路と、を備え、
前記検知回路の検知結果に応じて、前記記憶装置に保持されているデータを前記設定保持回路に転送することを特徴とするモータ制御回路。
【請求項２】
請求項１記載のモータ制御回路において、
前記モータの駆動パルスを遅延させる遅延回路と、を備え、
前記遅延回路による遅延時間の間に、前記記憶装置に保持されているデータを前記設定保持回路に転送し、前記モータの動作設定に反映することを特徴とするモータ制御回路。
【請求項３】
請求項２記載のモータ制御回路において、
アドレス一致検出回路と、を備え、
前記アドレス一致検出回路は、記憶部と比較部と有し、前記記憶部には、固有のアドレスを保持しており、前記比較部は、前記固有のアドレスと前記シリアル通信回路から送られてくるアドレスとを比較し、一致した場合には、前記シリアル通信回路を通じて、通信を許可することを特徴とするモータ制御回路。
【請求項４】
前記記憶装置は、前記設定保持回路と同じ容量を持つことを特徴とする請求項３記載のモータ制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御回路に関し、特にシリアル通信を用いて、外部から制御を行うモータ制御回路に関する。
【背景技術】
【０００２】
従来のモータ制御において、ドライバはモータの数に応じて必要であり、複数個のモータを制御する為には、同じだけ複数個ドライバが必要である。近年、複数個のドライバの機能を内蔵するＩＣが販売されている。
【０００３】
また、複数個のドライバを内蔵する構成では、例えば、特許文献１には、複数のモータを駆動する多チャンネル負荷駆動装置が提案されている。
【特許文献１】特開２００７−３０６６３７
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した複数個のドライバを内蔵するＩＣでは、単体のドライバＩＣを単純に、詰め込んだに過ぎず、例えば、単体のドライバＩＣで、電源及びグランドを除き、仮に外部からの制御端子が１０本、必要であったとすると、３個のドライバを内蔵するＩＣでは、３倍の３０端子が必要となり、外部端子の数は、全く合理化されていなかった。モータの制御は、リアルタイムでの制御が必要であり、外部からの制御端子の兼用が難しく、外部端子の合理化が困難であった。この為、複数個のドライバを１つのＩＣに内蔵しても、合理化による利益を十分に享受すること出来ないという問題があった。
【課題を解決するための手段】
【０００５】
本発明は、  モータの駆動を制御するモータ制御回路において、外部とシリアル通信を行うシリアル通信回路と、前記シリアル通信回路からのデータを記憶する記憶装置と、前記モータの動作を決める設定を保持する設定保持回路と、前記モータの駆動パルスの変化を検知する検知回路と、を備え、前記検知回路の検知結果に応じて、前記記憶装置に保持されているデータを前記設定保持回路に転送することを特徴とするモータ制御回路を提供する。
【０００６】
更に前記モータの駆動パルスを遅延させる遅延回路と、を備え、前記遅延回路による遅延時間の間に、前記記憶装置に保持されているデータを前記設定保持回路に転送し、前記モータの動作設定に反映することを特徴とするモータ制御回路を提供する。
【発明の効果】
【０００７】
本発明は、少ない端子を用いて、モータの制御することが出来る。端子を削減することで、ＩＣ単価を下げることが出来、小型化も可能になる。
【０００８】
また、基板と基板を配線する手間も大幅に削減することが出来る。
【発明を実施するための最良の形態】
【０００９】
図１は、本発明に係るモータ制御回路のモータ制御回路１を示すブロック図である。モータ制御回路１はマイコン２と接続されており、マイコン２によって制御される。マイコン２は、シリアルポートを持ち、このシリアルポートを使って、他のＩＣを制御することが出来る。パラレルポートでも良いが、パラレルポートは通信に多数の外部端子が必要になり、現実的は不向きである。
【００１０】
シリアルポートはクロック端子と当該クロック端子に同期するデータ端子との２端子で構成されるものが一般的であり、その中でも、Ｉ２Ｃバスは、特に一般的で、数多くのＩＣで用いられており、汎用性が高い。今回は一例として、Ｉ２Ｃバスを用いたケースで紹介する。Ｉ２Ｃバスでは、複数のスレーブＩＣを接続する事が出来、マスタＩＣは個別に決められたスレーブＩＣのアドレスを指定し、スレーブＩＣと通信することで、そのスレーブＩＣを自由自在に制御することが出来る。
【００１１】
Ｉ２Ｃバスの詳細仕様に関しては、一般的な事項であり、詳細はフィリプス社のホームページ等に開示されており、ここでは省略する。Ｉ２Ｃバスで用いられる２本の信号線は、シリアルクロック（ＳＣＫ）とシリアルデータ（ＳＤＡ）であり、ＳＣＫは端子１０４、ＳＤＡは端子１０５から、それぞれ印加される。通信を始めるには、マスタＩＣが通信により選択されるスレーブＩＣのアドレスを指定する必要がある。マスタＩＣはマイコン２に相当し、スレーブＩＣはモータ制御回路１に相当する。
【００１２】
モータ制御回路１の内部には、第１モータ３と第２モータ４をドライブする第１ドライバ回路７と第２ドライバ回路８の２つのドライバ回路が内蔵されている。但し、１つのＩ２Ｃバスで、２つのドライバ回路を個別に制御するために、それぞれのモータドライバ回路に固有のアドレスを２つ用意する必要は無く、１つの固有のアドレスを用意すれば良い。
【００１３】
ここで、固有のアドレスを設定するために、本実施例ではアドレス端子を設けている。端子１０６、端子１０７、端子１０８の３端子がそれに相当し、一般的なＩ２Ｃバスで設定されるスレーブＩＣに割り振られた固有のアドレス値７ビットのうち、下位３ビットを端子の状態により、外部から設定できる様にしている。これは、下位の３ビットを変えることで、最大で８個のＩＣを同一のＩ２Ｃバスに接続できる構成としている。また、１個しか接続しない場合や、外部端子を設けられない場合には、内部のＲＯＭを用いて、ＲＯＭのデータと照合しても良い。
【００１４】
図２に示す様に、マイコン２から、Ｉ２Ｃバスで通信するためのスタートコンディションが送られた後に、クロックに同期して、スレーブＩＣに割り振られた固有のアドレス値（７ビット）が出力される。インターフェイス回路１１の内にあるＩ２Ｃバスコントローラ回路１２は、スタートコンディション後に送られたデータ（アドレス）を、受信データバッファ回路１３に送る。受信データバッファ回路１３は、保持したデータ（アドレス）を、アドレス一致検出回路１４に送る。
【００１５】
アドレス一致検出回路１４では、予め、内部にアドレス値を保持している。もし、送られて来たデータ（アドレス値）が、第１モータ３、第２モータ４を示すアドレス値であることを確認出来ると、マイコン２からのデータが順次、送信が許可され、当モータ制御回路と通信可能状態となる。
【００１６】
アドレス一致検出回路１４は、第１モータ３のアドレス値と、第２モータ４のアドレス値、それぞれ、２つのアドレス値を持って、第１モータ３と第２モータ４、それぞれに個別に設定しても良いが、アドレスが１つでも、その１つのアドレスが示すメモリのうち、最初の半分の２４ビットが第１モータ３の設定で、後の半分の２４ビットが第２モータ４の設定と分けておけば、敢えて、２つのアドレスを必要としない。
【００１７】
これにより、それぞれのモータドライバ回路に固有のアドレスを設定する必要は無く、ＩＣとしての単一アドレスを設定することが出来る。これにより複数のドライバ回路を有する場合でも、Ｉ２Ｃバスのアドレスを１つ用意すれば良く、ＩＣ識別としてアドレス数に制限を受けても有効に使うことが出来る。
【００１８】
従来は、モータドライバを２個搭載する場合には、ＩＣは別々となるので、当然、個別に設定する必要があり、２つのアドレスを必要としたが、内蔵するモータドライバの個数が増えても、レジスタの容量を増やすだけで対応することが出来、１つのＩ２Ｃバスのアドレス端子のみを用いて、複数のモータとの通信が可能となる。例えば、モータドドライバ４個入りＩＣが８個あっても、３２個分のアドレスは必要なく、ＩＣの個数と同じ、８個あれば良い。
【００１９】
本実施例では、モータドライバの２個分の設定値の通信が終了すると、マイコン２はモータ制御回路１にデータ転送終了のストップコンディションを送信し、第１モータ３と第２モータ４への設定が終了する。データ転送の間、受信バッファ回路１３では、受け取ったデータを８ビット単位で、受信データ格納レジスタ１５に書き込んで行く。
【００２０】
受信データバッファ回路１３と受信データ格納レジスタ１５は、フリップフロップで構成されたレジスタ（記憶装置）が利用される。ＳＲＡＭやＤＲＡＭの様なメモリで構成しても良いが、アドレス管理が必要になり、返って、ＩＣのチップ面積が拡大し、システム設計も複雑になってしまう。レジスタだと  決まった順序で記憶するだけで、アドレス管理は必要なく、必要な情報を効率よく記憶出来る。
【００２１】
一般的に、モータは動作中にモータの動作環境が大きく変更されると、モータ自体の故障の原因になることがあるので、受信データ格納レジスタ１５に書き込まれた最新の設定値は、直ぐに第１モータ３の動作環境には反映されない。
【００２２】
モータの最新の設定値の反映は、Ｉ２Ｃバスを通じて、ストップコンディションによりデータ転送が終了した後、Ｉ２Ｃバスのクロック端子（ＳＣＫ）とは、別途、設けられたモータの駆動用パルス（ＣＬＫ１）端子１００を用いて、その駆動パルスの変化を検出し、その変化のタイミングによって、最新の設定がモータ動作環境に反映される。端子１００から印加されたモータの駆動パルス（ＣＬＫ１）は、第１整形ノイズ除去回路２０によって、ヒゲの様なノイズを除去し、第１立上り検出回路２４と第１遅延回路２８の双方に印加される。
【００２３】
第１立上り検出回路２４では、停止状態から、駆動パルス（ＣＬＫ１）の変化を検知する。第１立上り検出回路２４の構成は、内部にコンパレータとカウンタを持ち、一定の期間、変化が無いと停止状態と判断し、その後、入力信号である駆動パルスの状態の変化を検知すると、その変化を第１モータモード設定保持回路１６に知らせる。第１モータモード設定保持回路１６は、第１立上り検出回路２４からの信号に応じて、受信データ格納レジスタ回路１５に保持されているデータがそのまま転送されてくる。
【００２４】
第１遅延回路２８は、駆動パルス（ＣＬＫ１）を遅延させる。第１遅延回路２８は、１サイクル程の大きな遅れは必要ないので、バッファを数段組み合わせた基本的な遅延回路で構成する。十分に時間を取りたい場合には、シフトレジスタを用いて、遅延させても良い。この第１遅延回路２８で遅延されている間に、第１モータモード設定保持回路１６の設定値は、実際にモータを制御する第１ドライバ回路７内に設けられたモータ動作環境に反映されることになる。
【００２５】
図３は、上記のＩ２Ｃバスを通じたストップコンディションの後のモータ駆動パルス（ＣＬＫ１）の立上り変化によって、最新の設定値が反映される詳細タイミング図を示す。先ず、受信データ格納レジスタ回路１５に最新のモータ設定値が保持される。次に、モータ駆動パルス（ＣＬＫ１）及びモータ駆動パルス（ＣＬＫ２）の立上り変化を検知し、そのタイミングで受信データ格納レジスタ回路１５に保持されている最新の設定値を、第１モータモード設定保持回路１６及び第２モータモード設定保持回路１７に書き込む。
【００２６】
この時、ストップコンディションの後、受信データ格納レジスタ回路１５に、最新のデータが格納されても、直ちに、最新の設定値を反映した動作を行わない。シリアルポートを使った通信では、シリアルでデータを送信して行くため、短い時間で、最新の設定値が完成する分けでは無い。時間がかかるので、いつも決まったタイミングで更新できないという問題がある。
【００２７】
そこで、最新の設定値を反映するタイミングを確定するため、駆動パルス（ＣＬＫ１）を利用する。駆動パルス（ＣＬＫ１）を一定の期間、Ｌレベル（停止状態）とし、次に、動作を開始するタイミング（再始動タイミング）で、最新のモータ設定値を反映する。
【００２８】
この処理により、第１モータ３に最新の設定値を反映させるタイミングを明確にすることが出来る。しかし、駆動パルス（ＣＬＫ１）は、モータの回転に直接、関係しているので、第１モータモード設定保持回路１６の内容が切り換わり、直ちに、回転を制御することは難しい。そこで、若干の時間差が必要になる。この若干の時間差を作成するために、第１遅延回路２８が必要になる。
【００２９】
この動作のポイントは、比較的に時間の掛かるシリアルポートを用いて、最新の設定値を受信データレジスタ回路１５に格納させておき、一定期間の駆動パルスの停止期間を利用し、最新の設定値に更新するタイミングを確定するために構成とする。
【００３０】
上記の手順により、マイコン２から、第１モータ３の最新の設定値に更新するタイミングを自由自在に操作することが可能となる。モータは必ずしも、停止状態からの回転状態になるとは限らない。モータの回転中に、設定値を変更することはよくあることで、動作中に、カウンタの設定値を変更すると、誤動作を引き越す可能性があり、連続したモータ動作が出来ない不都合が生じる。そこで、駆動パルスを一定期間、停止状態とし、次の動作開始のタイミングで設定値を更新することは、モータに取っては、最も安全なタイミングでもある。
【００３１】
受信データ格納レジスタ回路１５の容量は、モータを制御するのに必要なビット数分だけ、記憶容量が必要であり、４８ビット程度あると、第１モータ３、第２モータ４を制御するのに、必要なビット数となる。受信データバッファ回路１３は、８ビットとすると、６回、受信データ格納レジスタ回路１５に送信すると、データは一杯になる。つまり、Ｉ２Ｃバスを通じて、６回分、データを送信した後に、ストップコンディションを送り、データを完成させる必要がある。
【００３２】
更に、受信データ格納レジスタ回路１５は、第１モータモード設定保持回路１６と第２モータモード設定保持回路１７を合わせたビット数と同じであると、都合が良い。同じビット数であると、アドレスデコーダなどの介在は必要とせず、そのまま、同じビットの位置に、転送するだけ済み、シンプルな構成が可能となる。
【００３３】
図４は、第１ドライバ回路７の内部のブロック図を示す。第１ドライバ回路７の内部には、モータを制御するクロックの立上り／立下り検出回路７１、モータの各励磁モードを設定する励磁モード設定回路７２、基準電圧を生成しモータの電流を決定する基準電圧生成回路７３、立上り／立下り検出回路７１からの検出結果と励磁モード設定回路７２からの設定信号に応じて、動作する進相カウンタ７４と、実際に第１モータ３を制御するトランジスタ５０、５１、５２、５３のスイッチング制御を行う相励磁信号生成回路７５、基準電圧生成回路７３と進相カウンタ７４からの信号を受け、擬似的な正弦波を生成する擬似正弦波生成回路７６、擬似正弦波生成回路７６からの正弦波を受け、その正弦波に応じたＰＷＭ波形を生成するＰＷＭ制御回路７７を備えている。
【００３４】
第１モータモード設定保持回路１６では、順番に、最初の４ビット（１ビット目〜４ビット目まで）が立上り／立下り検出回路７１の設定に利用され、次の４ビット（５ビット目〜８ビット目まで）が励磁モード設定回路７２の設定に利用され、次の４ビット（９ビット目〜１２ビット目まで）が進相カウンタ７４の設定に利用され、次の４ビット（１３ビット目〜１６ビット目まで）が相励磁信号生成回路７５の設定に利用され、次の４ビット（１７ビット目〜２０ビット目まで）が基準電圧生成回路７３の設定に利用される。各ビットの順序は、第１ドライバ回路の動作環境に合わせれば良い。  
相励磁信号生成回路７５では、進相カウンタ７４からカウント値を用いて、その励磁モードに必要な信号を作成する。これら一連の設定により、モータ制御回路１は、第１モータ３に対し、２相の駆動端子φ１（Ａ）、φ２（ＡＢ）、φ３（Ｂ）、φ４（ＢＢ）を出力する。
【００３５】
具体的な出力例として、図５に２相励磁モードのタイミングチャートを示し、図６に１−２相励磁モードのタイミングチャートを示す。相励磁信号生成回路７５からの進相カウンタ値によって、多岐に渡るモータ励磁モードを自在に設定することが出来る。
【００３６】
また、上記の実施例では、２相のステッピングモータを用いた場合を説明したが、３相モータ、５相モータでも、制御トランジスタが増加するだけ、基本的な回路構成には大きな変更は無い。
【００３７】
以上発明を実施するための最良の形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【００３８】
例えば、図１に示したモータドライバ回路は、２個を内蔵したケースとしたが、モータドライバを３個、４個を内蔵した場合でも、同様に利用することが出来る。図７に、モータドライバ回路を４個、内蔵した場合を示す。モータドライバ回路を４個、内蔵した場合でも、アドレス一致検出回路内には、固有のアドレス値を１つ、予め用意しておけば良い。以上の様に、モータドライバ回路が増えてもレジスタの容量を増やせばよく、新たに外部端子を設ける必要がなく、効率的にモータの制御を実現できる。
【図面の簡単な説明】
【００３９】
【図１】本実施形態に係るモータ制御回路の構成を示すブロック図である。
【図２】本実施形態に係るシリアル通信処理の概要を示すタイミング図である。
【図３】本実施形態に係るモータの設定値更新におけるタイミング図である。
【図４】本実施形態に係る第１ドライバ回路７の構成を示すブロック図である。
【図５】本実施形態に係る２相励磁モードの場合を示すタイミング図である。
【図６】本実施形態に係る１−２相励磁モードの場合を示すタイミング図である。
【図７】本実施形態に係るモータ制御回路の構成を示すブロック図である。
【符号の説明】
【００４０】
１  モータ制御回路
２  マイコン
３  第１モータ
４  第２モータ
５  第３モータ
６  第４モータ
７  第１ドライバ回路
８  第２ドライバ回路
１１  インターフェイス回路
１２  Ｉ２Ｃバスコントローラ回路
１３  受信バッファ回路
１４  アドレス一致検出回路
１５  受信データ格納レジスタ回路
１６  第１モータモード設定保持回路
１７  第２モータモード設定保持回路
２０  第１整形ノイズ除去回路
２１  第２整形ノイズ除去回路
２４  第１立上り検出回路
２５  第２立上り検出回路
２８  第１遅延回路
２９  第２遅延回路
【図１】
2010088184.tif 000003
【図２】
2010088184.tif 000004
【図３】
2010088184.tif 000005
【図４】
2010088184.tif 000006
【図５】
2010088184.tif 000007
【図６】
2010088184.tif 000008
【図７】
2010088184.tif 000009