(57)【特許請求の範囲】
【請求項１】
モータに電力を供給する駆動回路部と、前記駆動回路部に出力するモータ指令値を演算する演算部と、前記演算部の演算時間を計時するタイマ部とを備えるモータ制御部を一系統として、複数系統のモータ制御部を備え、各モータ制御部が自身の系統のタイマ部の計時により、系統間を同期させて前記モータを制御するモータ制御装置であって、
各系統のモータ制御部における演算部の演算オフ期間が相互に重なっているときに、前記各系統のタイマ部に対してリセット動作を開始させるタイマリセット部を有するモータ制御装置。
【請求項２】
前記タイマリセット部は、前記複数系統のモータ制御部のうち、一つのモータ制御部の演算部であり、該演算部は、演算オフに同期して、残りの全系統のモータ制御部に対して同期トリガ信号を出力し、前記残りの全系統のモータ制御部における演算部は、自身が演算オフ期間にある場合に、入力した前記同期トリガ信号に基づき、自身の系統のタイマ部をリセットする請求項１に記載のモータ制御装置。
【請求項３】
前記タイマリセット部は、全系統のモータ制御部における演算部が、演算オフ期間にともに入ったときに、全系統のモータ制御部に対して同期トリガ信号を出力し、前記全系統のモータ制御部の演算部は、入力した前記同期トリガ信号に基づいて自身の系統のタイマ部をリセットする請求項１に記載のモータ制御装置。
【請求項４】
請求項１乃至請求項３のうちいずれか１項に記載のモータ制御装置において、
各系統のモータ制御部は、前記演算部がモータ指令値に演算に使用する外部パラメータのアナログ値をデジタル値に変換するＡ／Ｄ変換部を備え、
前記駆動回路部は、インバータ回路を含み、
前記Ａ／Ｄ変換部のＡＤ変換タイミング及び前記インバータ回路のスイッチングタイミングは、前記演算部の演算周期タイミングと同じとしているモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置に関する。
【背景技術】
【０００２】
モータ制御装置は、例えば、特許文献１に記載の電動パワーステアリング装置が公知である。このモータ制御装置は、電流指令値の演算及びその出力をそれぞれ行う２つのマイコンを備えている。各マイコンは、同一の電流フィートバック演算を実行して電流指令値を演算し、駆動回路を構成する一対のスイッチングアームに出力する。各スイッチングアームは、その電流指令値に応じて独立して作動する。そして、各マイコンは電流指令値と実電流との電流偏差が所定の閾値を超える場合は、システムの異常を判定するようにしている。
【０００３】
このように、制御部（マイコン）を２つにして冗長性を有した制御装置により、モータを制御することが近年行われている。このような制御装置では、２コア演算、ロックステップ、或いはマイコン内での２重演算が行われていて、自己監視機能を有する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２０４８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１では、２つのマイコンは、各駆動回路を同期して制御することになるが、同期がずれた場合の対処の方法は開示されていない。
本発明の目的は、モータを複数系統のモータ制御部により同期制御する際、複数系統におけるモータ制御部における同期ずれを抑制することができ、モータの同期制御を好適に行うことができるモータ制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記問題点を解決するために、本発明のモータ制御装置は、モータに電力を供給する駆動回路部と、前記駆動回路部に出力するモータ指令値を演算する演算部と、前記演算部の演算時間を計時するタイマ部とを備えるモータ制御部を一系統として、複数系統のモータ制御部を備え、各モータ制御部が自身の系統のタイマ部の計時により、系統間を同期させて前記モータを制御するモータ制御装置であって、各系統のモータ制御部における演算部の演算オフ期間が相互に重なっているときに、前記各系統のタイマ部に対してリセット動作を開始させるタイマリセット部を有するものである。
【０００７】
上記構成によれば、タイマリセット部は、各系統のモータ制御部における演算部の演算オフ期間が相互に重なっているときに、各系統のタイマ部に対してリセット動作を開始させる。このことにより、各系統のタイマ部がリセットされた後、計時が開始され、この結果、系統間を同期させて前記モータを制御する。
【０００８】
また、前記タイマリセット部は、前記複数系統のモータ制御部のうち、一つのモータ制御部の演算部であり、該演算部は、演算オフに同期して、残りの全系統のモータ制御部に対して同期トリガ信号を出力し、前記残りの全系統のモータ制御部における演算部は、自身が演算オフ期間にある場合に、入力した前記同期トリガ信号に基づき、自身の系統のタイマ部をリセットするようにしてもよい。
【０００９】
上記構成により、複数系統のモータ制御部のうち、一つのモータ制御部の演算部がタイマリセット部として、演算オフに同期して、残りの全系統のモータ制御部に対して同期トリガ信号を出力する。この同期トリガ信号を入力した残りの全系統のモータ制御部における演算部は、自身が演算オフ期間にある場合に、入力した前記同期トリガ信号に基づき、自身の系統のタイマ部をリセットする。このことにより、各系統のタイマ部はリセットされた後、計時を開始するため、系統間を同期させて前記モータを制御することになる。
【００１０】
また、前記タイマリセット部は、全系統のモータ制御部における演算部が、演算オフ期間にともに入ったときに、全系統のモータ制御部に対して同期トリガ信号を出力し、前記全系統のモータ制御部の演算部は、入力した前記同期トリガ信号に基づいて自身の系統のタイマ部をリセットしてもよい。
【００１１】
上記構成により、タイマリセット部は、全系統のモータ制御部における演算部が、演算オフ期間にともに入ったときに、全系統のモータ制御部に対して同期トリガ信号を出力することにより、全系統のタイマ部はリセットされ、この後、計時を開始するため、系統間を同期させて前記モータを制御することになる。
【００１２】
また、各系統のモータ制御部は、前記演算部がモータ指令値に演算に使用する外部パラメータのアナログ値をデジタル値に変換するＡ／Ｄ変換部を備え、前記駆動回路部は、インバータ回路を含み、前記Ａ／Ｄ変換部のＡＤ変換タイミング及び前記インバータ回路のスイッチングタイミングは、前記演算部の演算周期タイミングと同じとしていてもよい。
【００１３】
上記構成により、Ａ／Ｄ変換部のＡＤ変換タイミングが、インバータ回路のスイッチングタイミングと同じであるため、インバータ回路のスイッチングによるノイズが、他の系統のＡＤ変換値（データ）に重畳することがなく、正確なモータ制御を行うものとなる。
【発明の効果】
【００１４】
本発明によれば、モータを複数のモータ制御部により同期制御する際、モータ制御部間の同期ずれを抑制することができ、モータの同期制御を好適に行うことができる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態のモータ制御装置の回路ブロック図。
【図２】第１実施形態のモータ制御部の回路ブロック図。
【図３】（ａ）は第１実施形態における演算周期及び同期トリガ出力タイミングの説明図、（ｂ）は第１実施形態の変形例の演算周期及び同期トリガ出力タイミングの説明図。
【図４】第２実施形態のモータ制御装置の回路ブロック図。
【図５】第２実施形態のモータ制御部の回路ブロック図。
【図６】第２実施形態におけるタイマリセットのタイミングチャート。
【図７】従来例のモータ制御装置の回路ブロック図。
【図８】従来例のモータ制御部の回路ブロック図。
【図９】従来例のモータ制御部間のタイマのズレを示す説明図。
【図１０】従来例の各モータ制御部における、センサが検出した信号のＡＤ変換のタイミングチャートの説明図。
【発明を実施するための形態】
【００１６】
（第１実施形態）
以下、本発明のモータ制御装置を、電動パワーステアリング装置における力の発生源であるモータのモータ制御装置に具体化した第１実施形態を図１〜図３を参照して説明する。
【００１７】
本実施形態では、制御対象であるモータは、たとえば電動パワーステアリング装置における操舵アシスト力の発生源であるモータであるが、制御対象であるモータは、電動パワーステアリング装置のモータに限定するものではない。
【００１８】
＜モータの構成＞
まず、制御装置の制御対象であるモータの構成を説明する。
図１に示すように、本実施形態では、モータ１１は、いわゆるＩＰＭモータ（Interior Permanent Magnet Motor）である。なお、モータは、ＩＰＭモータに限定するものではなく、ＳＰＭモータ（Surface Permanent Magnet Motor）であってもよい。
【００１９】
モータ１１は、図示しないステータとロータ１４とを備えている。ロータ１４は、内部において円周方向に複数の永久磁石（図示しない）が埋設されており、各永久磁石は、ロータの半径方向に沿って着磁されるとともに、ロータ１４の円周方向において互いに隣り合う２つの永久磁石の着磁の向きが互いに反対になるように設けられている。
【００２０】
前記ステータは、図示しないステータコアに巻回された複数のコイル１６を有し、コイル１６は、第１コイル群１６Ａと第２コイル群１６Ｂに分類される。第１コイル群１６Ａ及び第２コイル群１６Ｂは、それぞれスター結線されたＵ相、Ｖ相、Ｗ相のコイル１６を含む。
【００２１】
＜モータ制御装置の構成＞
次に、モータ１１の駆動を制御するモータ制御装置２０を説明する。
図１に示すように、モータ制御装置２０は、第１制御演算部２１及び第２制御演算部２２、並びに第１モータ駆動部２３及び第２モータ駆動部２４を備えている。第１モータ駆動部２３及び第２モータ駆動部２４はそれぞれ駆動回路部に相当する。第１制御演算部２１と第２制御演算部２２とは、同一構成のため、第１制御演算部２１について説明し、第２制御演算部２２の構成については、第１制御演算部２１（モータ制御部）を構成する各部に付した符号を付してその詳細説明を省略する。第１制御演算部２１及び第２制御演算部２２は、複数系統のモータ制御部の一例である。
【００２２】
図２に示すように、第１制御演算部２１は、マイクロプロセスユニット（ＭＰＵ）からなり、演算部（ＣＰＵ）３１、クロック発生部３２、タイマ生成部３３、三角波生成部３４、Ａ／Ｄ変換部３５及びモータ駆動指令生成部３６を備えている。
【００２３】
クロック発生部３２は、逓倍器であって、水晶素子等からなる発振器３０から入力した基本周波数のクロックを所定倍数で逓倍し、演算部（ＣＰＵ）３１及びタイマ生成部３３に出力する。
【００２４】
タイマ生成部３３は、公知の分周器及びアップダウンカウンタからなり、前記分周器で分周されたクロックを前記アップダウンカウンタでアップカウント及びダウンカウントし、そのカウント値を三角波生成部３４、Ａ／Ｄ変換部３５及び演算部３１に出力する。タイマ生成部３３は、タイマ部に相当する。
【００２５】
三角波生成部３４は、タイマ生成部３３から入力したカウント値に基づいて、搬送波としての三角波を生成して、モータ駆動指令生成部３６に三角波を出力する。
また、三角波生成部３４は、前記生成した三角波に基づいて、Ａ／Ｄ変換部３５に対して、ＡＤ変換実行タイミング信号を出力するとともに、演算部３１に対して、演算周期タイミング信号を出力する。なお、ＡＤ変換実行タイミングとは、前記三角波における山（頂点）と谷（最下点）となる時点で、ＡＤ変換を実行するタイミングであり、前記三角波における山（頂点）と谷（最下点）と同期する。
【００２６】
また、演算周期タイミングとは、前記三角波における山（頂点）と谷（最下点）となる時点で、演算部３１が各種の演算を実行するタイミングであり、前記三角波における山（頂点）と谷（最下点）と同期する。従って、演算周期は、三角波の山（頂点）と谷（最下点）の期間である。
【００２７】
Ａ／Ｄ変換部３５は、前記ＡＤ変換実行タイミング信号に基づいて、各種センサ（センサ４２）から入力した検出信号（アナログ信号）をＡＤ変換した後、演算部３１に入力する。
【００２８】
モータ駆動指令生成部３６は、三角波生成部３４から入力した三角波と、演算部３１から入力したモータ駆動指令（Ｄｕｔｙ比）に基づいて前記演算周期タイミングで制御信号（ＰＷＭ信号）を生成して第１モータ駆動部２３に出力する。演算部３１からのモータ駆動指令は、モータ指令値に相当する。
【００２９】
第１モータ駆動部２３は、三相（Ｕ相、Ｖ相、Ｗ相）のインバータ回路を有してなる。前記インバータ回路は、前記演算周期タイミングで出力された制御信号（ＰＷＭ信号）に基づいて、インバータ回路を構成するＭＯＳＦＥＴ等のスイッチング素子をオンオフすることによりバッテリなどの直流電源から供給される直流電力を三相交流電力に変換する。第１モータ駆動部２３は、直列に接続された２つのＦＥＴ（field-effect transistor）を１組とする３組のアーム（単相ハーフブリッジ）が、それぞれ直流電源の＋端子と−端子との間に並列に接続されてなる。
【００３０】
また、第２モータ駆動部２４は、第１モータ駆動部２３と同一の構成である。
第１モータ駆動部２３及び第２モータ駆動部２４の各ＦＥＴが、第１制御演算部２１及び第２制御演算部２２により生成される制御信号（ＰＷＭ信号）に基づきスイッチングすることにより直流電力が三相の交流電力に変換される。
【００３１】
図１に示す第１電流センサ２５は、第１モータ駆動部２３と第１コイル群１６Ａにおける各相のコイル１６との間の給電経路に生じる各相の電流を検出する。図１に示す第２電流センサ２６は、第２モータ駆動部２４と第２コイル群１６Ｂにおける各相のコイル１６との間の給電経路に生じる各相の電流を検出する。
【００３２】
上述のようにして第１制御演算部２１及び第２制御演算部２２は、第１モータ駆動部２３及び第２モータ駆動部２４の制御を通じて第１コイル群１６Ａ（系統Ａ）及び第２コイル群１６Ｂへの給電を制御する。また、第２制御演算部２２は、第２モータ駆動部２４の制御を通じて第２コイル群１６Ｂ（系統Ｂ）への給電を制御する。
【００３３】
また、第１制御演算部２１及び第２制御演算部２２は、モータ１１に設けられた回転角センサ４０を通じて検出されるロータ１４の回転角θ（回転位置）に基づき第１モータ駆動部２３及び第２モータ駆動部２４に対する前記制御信号をそれぞれ生成する。回転角センサ４０としては、たとえばホールセンサまたはレゾルバなどが採用される。
【００３４】
このようにして第１制御演算部２１及び第２制御演算部２２は、第１モータ駆動部２３及び第２モータ駆動部２４の制御を通じて第１コイル群１６Ａ及び第２コイル群１６Ｂにそれぞれ電力を供給することによりモータ１１を駆動する。
【００３５】
＜センサ４２について＞
モータ１１が電動パワーステアリング装置における操舵アシスト力の発生源として使用される場合、第１制御演算部２１及び第２制御演算部２２は車両に設けられる各種のセンサの検出結果を運転者の要求あるいは走行状態を示す情報として取得し、これら取得される各種の情報に応じてモータ１１を制御する。
【００３６】
ここで運転者の要求あるいは走行状態を示す各種センサ（センサ４２）としては、たとえば先の回転角センサ４０に加えてトルクセンサ及び車速センサが含まれる。トルクセンサはたとえば図示しないステアリングシャフトに設けられて、図示しないステアリングホイールに加えられる操舵トルクＴを検出する。車速センサは車両の走行速度である車速Ｖを検出する。本実施形態の、トルク及び車速は外部パラメータの一例である。前記センサ４２にて検出された信号はアナログ値である。第１制御演算部２１及び第２制御演算部２２はＡ／Ｄ変換部３５にてデジタル値に変換された操舵トルクＴ及び車速Ｖに基づき、前記演算周期タイミングで目標アシスト力を発生させるためモータ駆動指令（Ｄｕｔｙ比）を演算する。第１制御演算部２１及び第２制御演算部２２は、モータ１１の回転角θに対応する各相のコイル１６に供給すべく、モータ駆動指令生成部３６にモータ駆動指令（Ｄｕｔｙ比）を出力する。
【００３７】
このように、第１制御演算部２１及び第２制御演算部２２はロータ１４の回転角θに基づきステータ（第１コイル群１６Ａ及び第２コイル群１６Ｂ）へ供給する電流の制御を行う。
【００３８】
＜実施形態の作用＞
上記のように構成されたモータ制御装置２０の作用を図３（ａ）を参照して説明する。
本実施形態では、第１制御演算部２１及び第２制御演算部２２の両演算部３１は、その演算周期は同じであり、同期して演算を行うように、系統Ａ及び系統Ｂの発振器３０と、独立して同じ基本周波数のクロックを生成する。しかし、系統Ａ及び系統Ｂの発振器３０の発振子（例えば、水晶素子）にばらつきがある場合、両者が生成するクロックにはずれが生ずる。
【００３９】
本実施形態では、図３（ａ）に示すように、演算周期は「演算中期間ｅ＋演算未実施期間ｋ」を含む。すなわち、演算周期の中で、演算を行わない演算未実施期間ｋが必ず設けられている。演算未実施期間ｋは、演算オフ期間に相当する。そして、本実施形態では、各系統の演算部３１の演算周期は、演算中期間ｅから開始されるようにしている。
【００４０】
第１制御演算部２１の演算部３１は、この演算オフ期間中のいずれかの時点で、同期トリガ信号を、第２制御演算部２２の演算部３１に出力する。
本実施形態では、第１制御演算部２１の演算部３１が演算周期中の中で、演算が終了した時点（すなわち、演算未実施期間ｋが開始される時点）に、同期トリガ信号を出力し、同期フラグＦをリセットする。そして、第１制御演算部２１の演算部３１は、演算未実施期間ｋを計時（カウント）した後に、自身の系統Ａのタイマ生成部３３のアップダウンカウンタのカウント値を０にリセットするとともに同期フラグＦをセットする。第１制御演算部２１の演算部３１は、タイマリセット部に相当する。
【００４１】
一方、第２制御演算部２２の演算部３１は前記同期トリガ信号を入力した時、演算未実施期間に入っているときは、この同期トリガ信号を入力したときから、あらためて、演算未実施期間ｋを計時（カウント）した後、系統Ｂのタイマ生成部３３のアップダウンカウンタのカウント値を０にリセット（図２参照）し、次の演算を行う。第２制御演算部２２の演算部３１は演算未実施期間ｋ経過後に、自身の系統Ｂのタイマ生成部３３をリセットする。
【００４２】
なお、同期トリガを入力した第２制御演算部２２の演算部３１は、前記同期トリガを入力した時に演算中であれば、これを無視する。
なお、本実施形態では、演算周期の開始時には、第１制御演算部２１及び第２制御演算部２２のタイマ生成部３３のカウンタはアップカウントから開始する。
【００４３】
このようにして、第２制御演算部２２の演算部３１は、第１制御演算部２１のタイマ生成部３３と同期してカウントを開始する。
従って、本実施形態では、モータを２つのモータ制御部により同期制御する際、モータ制御部間の同期ずれを抑制することができ、モータの同期制御を好適に行うことができる。
【００４４】
＜従来例について＞
ここで、従来例を図７〜図１０を参照して説明する。
従来例のモータ制御装置のハード構成は、図７及び図８に示すように本実施形態と同様のハード構成を有している。このため、図７及び図８では、従来例のモータ制御装置のハード構成には本実施形態と同一符号が付されている。
【００４５】
従来例においても、第１制御演算部２１及び第２制御演算部２２における、演算部３１の演算、モータ駆動指令生成部３６のインバータ回路のスイッチタイミング（オンオフタイミング）、及びＡ／Ｄ変換部３５のＡＤ変換タイミングは、前記演算周期タイミングで行われる。
【００４６】
図１０には、従来例の系統Ａにおいて、第１制御演算部２１の三角波生成部３４が生成した三角波Ｗａの山（頂点）と谷（最下点）のタイミング（演算周期タイミング）で、第１制御演算部２１のＡ／Ｄ変換部３５がＡＤ変換することが図示されている。
【００４７】
また、図１０には、従来例の系統Ｂにおいて、第２制御演算部２２の三角波生成部３４が生成した三角波Ｗａの山（頂点）と谷（最下点）のタイミング（演算周期タイミング）で、第２制御演算部２２のＡ／Ｄ変換部３５がＡＤ変換することが図示されている。
【００４８】
図１０に示すように系統Ａ、系統Ｂでの各系統内では、モータ駆動指令生成部３６のインバータ回路のスイッチタイミングと、ＡＤ変換タイミング、並びに演算部３１における演算周期タイミングを、同じタイマ生成部３３で制御しているため、インバータ回路とＡＤ変換タイミング等が異なることはない。
【００４９】
しかし、系統間では、相互に独立した、発振器３０及びタイマ生成部３３を使用している。系統Ａ及び系統Ｂの発振器３０の発振子（例えば、水晶素子）にばらつきがある場合、図９に示すように系統Ａと系統Ｂのクロック発生部３２が生成するクロックにずれが生じ、そのずれは解消することなく、時間が経過するほど演算ずれ時間が大きくなり、制御のタイミングズレが生ずる。
【００５０】
例えば、系統Ａにおけるインバータ回路のスイッチングタイミングと系統ＢにおけるＡＤ変換の期間が図１０に示すように「ズレ」分だけ重なる。すると、系統Ａにおけるインバータ回路のスイッチングによるノイズが、系統ＢのＡＤ変換値（データ）に重畳する。この結果、系統Ｂの演算部３１は、ノイズが重畳したデータに基づいて、第２モータ駆動部２４を制御してしまうことにより、正確なモータ制御（本実施形態では、アシスト制御）ができなくなる。
【００５１】
なお、モータ１１は、ロータ１４を第１コイル群１６Ａ及び第２コイル群１６Ｂのそれぞれで回転駆動できるという冗長性を有する。このような冗長性を有するモータは、例えば、自動操舵装置を実現する場合に使用されることが期待されている。なお、自動操舵装置の場合、例えば、系統Ａ、Ｂのうち、いずれか一方の系統が使用できなくなった場合でも、残った他方の系統により、継続して自動操舵を行うことができることが求められる。
【００５２】
このため、上記のような従来例を自動操舵装置に適用する場合、両系統が正常である場合において、目標の舵角を正確に制御することができなくなる虞がある。
本実施形態では、上記のような従来例の問題はない。
【００５３】
本実施形態では、下記の特徴を有する。
（１）本実施形態のモータ制御装置２０は、複数系統、すなわち２系統の第１制御演算部２１及び第２制御演算部２２（モータ制御部）を有する。系統Ａの第１制御演算部２１（モータ制御部）は、モータ１１に電力を供給する第１モータ駆動部２３（駆動回路部）と、第１モータ駆動部２３に出力するモータ駆動指令（モータ指令値）を演算する演算部３１と、演算部３１の演算時間を計時するタイマ生成部３３（タイマ部）とを備える。また、系統Ｂの第２制御演算部２２（モータ制御部）は、モータ１１に電力を供給する第２モータ駆動部２４（駆動回路部）と、第２モータ駆動部２４に出力するモータ駆動指令（モータ指令値）を演算する演算部３１と、演算部３１の演算時間を計時するタイマ生成部３３（タイマ部）とを備える。両系統間は、第１制御演算部２１、第２制御演算部２２が自身の系統のタイマ生成部３３（タイマ部）の計時により、同期させてモータ１１を制御する。そして、系統Ａの演算部３１（タイマリセット部）は、各系統における演算部３１の演算未実施期間ｋ（演算オフ期間）が相互に重なっているときに、各系統のタイマ生成部３３（タイマ部）に対してリセット動作を開始させる。この結果、本実施形態によれば、モータを各系統のモータ制御部により同期制御する際、モータ制御部間の同期ずれを抑制することができ、モータの同期制御を好適に行うことができる。
【００５４】
（２）本実施形態のモータ制御装置２０では、第１制御演算部２１及び第２制御演算部２２（モータ制御部）は、演算部３１がモータ駆動指令（モータ指令値）に演算に使用する車速、トルク（外部パラメータ）のアナログ値をデジタル値に変換するＡ／Ｄ変換部３５を備えている。また、第１モータ駆動部２３及び第２モータ駆動部２４（駆動回路部）は、インバータ回路を含む。また、Ａ／Ｄ変換部３５のＡＤ変換タイミング及びインバータ回路のスイッチングタイミングは、演算部３１の演算周期タイミングと同じとしている。上記構成により、Ａ／Ｄ変換部のＡＤ変換タイミングが、インバータ回路のスイッチングタイミングと同じであるため、インバータ回路のスイッチングによるノイズが、他の系統のＡＤ変換値（データ）に重畳することがなく、正確なモータ制御を行うことができる。
【００５５】
（第２実施形態）
次に、第２実施形態を図４〜図６を参照して説明する。なお、第１実施形態と同一構成には、同一符号を付してその詳細説明を省略し、異なる構成について説明する。
【００５６】
第１実施形態では、系統Ａの第１制御演算部２１が系統Ｂの第２制御演算部２２に同期トリガ信号を出力したが、図４に示すように本実施形態のモータ制御装置２０は、第１実施形態のハード構成に加えて同期トリガ生成部５０を備えているところが異なっている。同期トリガ生成部５０は、タイマリセット部に相当する。
【００５７】
（第２実施形態の作用）
第２実施形態の作用を図６を参照して説明する。
本実施形態においても、両系統の各演算部３１の演算周期は同じであり、図６に示すように、演算周期は「演算中期間ｅ＋演算未実施期間ｋ」を含み、各系統の演算部３１の演算周期は、演算中期間ｅの開始時点から開始される。
【００５８】
また、両系統の各発振器３０は、独立して同じ基本周波数のクロックを生成し、各演算部３１は同期して演算を行う。しかし、両系統の各発振器３０の発振子（例えば、水晶素子）にばらつきがある場合、両者が生成するクロックにはずれが生ずる。
【００５９】
図６は、上記のようにしてクロックにズレが生じた結果、系統Ｂの演算部３１の演算中期間ｅが、系統Ａの各演算部３１の演算中期間ｅよりも先に終了した場合を示している。図６に示すように、系統Ｂの演算部３１は、演算中期間ｅが終了した時点（すなわち、演算未実施期間の開始時点）で同期フラグを同期トリガ生成部５０に出力する。
【００６０】
また、系統Ａの演算部３１は、演算中期間ｅが終了した時点（すなわち、演算未実施期間ｋの開始時点）で同期フラグを同期トリガ生成部５０に出力する。同期トリガ生成部５０は、両系統の同期フラグをともに入力した時、同期トリガ信号を、各系統の第１制御演算部２１、第２制御演算部２２にそれぞれ出力する。この同期トリガ信号が出力されるタイミングは同期トリガ出力タイミングに相当する。
【００６１】
各系統の演算部３１は、同期トリガ信号を入力すると、この同期トリガ信号の入力に基づいて、同時に演算未実施期間ｋを計時（カウント）した後に、自身のタイマ生成部３３のアップダウンカウンタのカウント値を０にリセットする。このリセットにより、同期ずれが解消されて両系統の各演算部３１における演算周期が同期する。すなわち、モータの同期制御を好適に行うことができる。
【００６２】
なお、同期トリガ生成部５０は、同期トリガ信号を出力した時から演算部３１の演算周期の期間よりも短い時間で該同期トリガ信号の出力を停止する。また、各系統の演算部３１は、同期トリガ信号を入力した時から所定時間ｔ１経過後、リセットする。所定時間ｔ１は、演算未実施期間ｋよりも短い時間が好ましい。所定時間ｔ１を演算未実施期間ｋよりも短くする理由は、同期トリガ信号を入力したとき、各演算部３１において、演算中期間ｅが開始されている可能性を避けるためである。
【００６３】
本実施形態では、下記の特徴を有する。
（１）本実施形態のモータ制御装置２０では、同期トリガ生成部５０をタイマリセット部としている。同期トリガ生成部５０は、系統Ａ、Ｂの演算部３１が、演算未実施期間ｋ（演算オフ期間）にともに入ったときに、系統Ａ、Ｂの第１制御演算部２１及び第２制御演算部２２（モータ制御部）に対して同期トリガ信号を出力する。そして、系統Ａ、Ｂの第１制御演算部２１及び第２制御演算部２２（モータ制御部）の演算部３１は、入力した同期トリガ信号に基づいて自身の系統のタイマ生成部３３（タイマ部）をリセットする。
【００６４】
上記構成により、系統Ａ、Ｂの演算部３１が、演算未実施期間ｋ（演算オフ期間）にともに入ったときに両系統のタイマ部はリセットされて、計時を開始するため、両系統間を同期させて前記モータを制御することができる。
【００６５】
なお、本発明の実施形態は前記実施形態に限定されるものではなく、下記のように変更しても良い。
・第１実施形態では、第１制御演算部２１からの同期トリガの出力タイミングを演算未実施期間ｋが開始される時点で出力し、演算未実施期間ｋが経過した時点で第１制御演算部２１におけるタイマ生成部３３のアップダウンカウントを０にリセットした。
【００６６】
しかし、第２制御演算部２２が前記同期トリガの受信タイミング合せでオフセットが必要な場合は、例えば、同期トリガの出力タイミング時から数μｓ後に、第１制御演算部２１におけるタイマ生成部３３のアップダウンカウントを、０にリセットしてもよい。
【００６７】
・上記実施形態では、第１制御演算部２１の演算部３１の演算周期は、演算中期間ｅから開始されるようにしている。これに代えて、図３（ｂ）に示すように、第１制御演算部２１の演算部３１の演算周期は、演算未実施期間ｋから開始するようにしてもよい。
【００６８】
・第１実施形態において、演算周期は、「第１演算未実施期間ｋ１＋演算中期間ｅ＋第２演算未実施期間ｋ２」の順序を有する期間としてもよい。この場合、系統Ａの演算部３１は第２演算未実施期間ｋ２が開始された時点を同期トリガ出力タイミングにして、第２演算未実施期間ｋ２経過した時点で、系統Ａのタイマ生成部３３をリセットする。
【００６９】
一方、系統Ｂの演算部３１は、第２演算未実施期間ｋ２となっているときに、同期トリガを入力すると、既に計時中の第２演算未実施期間の計時をリセットし直してその時点から第２演算未実施期間ｋ２経過した時点で、系統Ｂのタイマ生成部３３をリセットする。なお、第１演算未実施期間ｋ１と第２演算未実施期間ｋ２は同じでもよく、或いは、いずれか一方が長くてもよい。
【００７０】
・第１実施形態では、演算中期間ｅが終了した時点（すなわち演算未実施期間が開始された時点）を同期トリガ出力タイミングとしたが、演算未実施期間が開始された時点から、演算未実施期間中であって、演算未実施期間に入ってから所定期間経過した時点を同期トリガ出力タイミングとしてもよい。この場合、同期トリガ信号を出力した演算部３１は、当該演算未実施期間の終了まで経過した時間ｔ後、当該系統のタイマ生成部３３をリセットする。
【００７１】
一方、同期トリガ信号を入力した他の系統の演算部は、演算未実施期間の終了まで経過した時間ｔ後、当該系統のタイマ生成部３３をリセットする。
・上記実施形態では、２系統のモータ制御部の場合について説明したが、３系統以上の複数系統のモータ制御部を備えたモータ制御装置においても同様に適用できることは自明である。
【符号の説明】
【００７２】
１１…モータ、１４…ロータ、１６…コイル、
１６Ａ…第１コイル群、１６Ｂ…第２コイル群、２０…モータ制御装置、
２１…第１制御演算部（モータ制御部、タイマリセット部）、
２２…第２制御演算部（モータ制御部）、
２３…第１モータ駆動部（駆動回路部）、
２４…第２モータ駆動部（駆動回路部）、
２５…第１電流センサ、２６…第２電流センサ、
３０…発振器、３１…演算部、３２…クロック発生部、
３３…タイマ生成部（タイマ部）、
３４…三角波生成部、３５…Ａ／Ｄ変換部、３６…モータ駆動指令生成部、
４０…回転角センサ、４２…センサ、
５０…同期トリガ生成部（タイマリセット部）、
ｅ…演算中期間、ｋ…演算未実施期間（演算オフ期間）、
ｋ１…第１演算未実施期間、ｋ２…第２演算未実施期間（演算オフ期間）。
【図１】
0006642111.tif 000002
【図２】
0006642111.tif 000003
【図３】
0006642111.tif 000004
【図４】
0006642111.tif 000005
【図５】
0006642111.tif 000006
【図６】
0006642111.tif 000007
【図７】
0006642111.tif 000008
【図８】
0006642111.tif 000009
【図９】
0006642111.tif 000010
【図１０】
0006642111.tif 000011