(57)【要約】【課題】ユーザによる個々のモータ制御装置の具体的な運用状況等の検討を必要とせずに、デッドタイムの電圧制御への影響を容易に抑制する。【解決手段】制御回路（１０）は、ＰＷＭ信号のデューティがデッドタイム（Ｔｄ）よりも大きくなるよう、降圧コンバータ回路（４０）に、インバータ回路（６０）への直流電圧を降圧させる。【選択図】図１
2019140804.tif 000002
【特許請求の範囲】
【請求項１】
ＰＷＭ（Pulse Width Modulation）信号によるスイッチング素子のオン・オフに基づいてモータを駆動するインバータ回路を備えたモータ制御装置であって、
前記インバータ回路に信号線を介して接続し、前記インバータ回路に前記ＰＷＭ信号を出力する制御回路を備え、
前記制御回路は、前記ＰＷＭ信号のデューティが、前記スイッチング素子の短絡を防止するために予め設定されているデッドタイムよりも大きくなるよう、前記インバータ回路に印加される電圧を制御する
ことを特徴とするモータ制御装置。
【請求項２】
前記制御回路に信号線を介して接続するとともに、前記インバータ回路に電力供給線を介して接続し、前記インバータ回路に直流電圧を印加する降圧コンバータ回路をさらに備え、
前記制御回路は、
（１）前記インバータ回路から前記モータに印加すべき電圧である指令電圧を算出し、
（２）前記降圧コンバータ回路に、前記インバータ回路に印加する電圧を前記指令電圧に応じて降圧させる
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記制御回路は、前記指令電圧が所定値以下の場合に、前記降圧コンバータ回路に、前記インバータ回路に印加する電圧を前記指令電圧に応じて降圧させる
ことを特徴とする請求項２に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＷＭ（Pulse Width Modulation）信号によるスイッチング素子のオン・オフに基づいてモータを駆動するインバータ回路を備えたモータ制御装置に関する。
【背景技術】
【０００２】
従来、ＰＷＭ方式によりモータを制御するモータ制御装置について、スイッチ素子の短絡を防止するためにＰＷＭ信号に設けたデッドタイム（オンデレイ）が、電圧制御誤差を生じることが知られている。例えば、下掲の特許文献１には、インバータ出力電流の大きさ、あるいは該出力電流の位相に応じて、ＰＷＭ波形信号のパルス幅を修正し、または、デッドタイムを設定することにより、デッドタイムの影響を抑制するインバータ装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平３−１６４０７１号公報（１９９１年７月１６日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のような従来技術は、実際にデッドタイムの電圧制御への影響を抑制するには、個々のモータ制御装置の具体的な運用状況に応じた個別的な検討が必要であり、ユーザにとって、必ずしも実現が容易ではないという問題がある。
【０００５】
すなわち、前記従来技術に係るモータ制御装置において、必要なパルス幅の修正量および望ましいデッドタイムの算出には、インバータ回路のスイッチング特性を特定することが必要となる。ここで、スイッチング特性は、実際に回路を構成する部品の部品特性のバラつきから影響を受ける。また、スイッチング特性は、モータ制御装置とモータとをつなぐケーブルからの影響（具体的には、配線状況に依存する「ケーブルと大地との間の浮遊容量」、および、ケーブルの自己インダクタンス等からの影響）を受ける。したがって、上述のような従来技術はデッドタイムの電圧制御への影響を抑制するためにスイッチング特性を特定する必要があるが、スイッチング特性の特定には部品特性およびケーブル等に係る個別的な検討が必要なため、ユーザが特定するのは容易ではない。
【０００６】
本発明の一態様は、ユーザによる個々のモータ制御装置の具体的な運用状況等の検討を必要とせずに、デッドタイムの電圧制御への影響を容易に抑制することのできるモータ制御装置等を実現することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明の一態様に係るモータ制御装置は、ＰＷＭ（Pulse Width Modulation）信号によるスイッチング素子のオン・オフに基づいてモータを駆動するインバータ回路を備えたモータ制御装置であって、前記インバータ回路に信号線を介して接続し、前記インバータ回路に前記ＰＷＭ信号を出力する制御回路を備え、前記制御回路は、前記ＰＷＭ信号のデューティが、前記スイッチング素子の短絡を防止するために予め設定されているデッドタイムよりも大きくなるよう、前記インバータ回路に印加される電圧を制御することを特徴としている。
【０００８】
前記の構成によれば、前記モータ制御装置は、前記ＰＷＭ信号のデューティが前記デッドタイムよりも大きく（長く）なるよう、前記インバータ回路に印加される電圧を制御する。
【０００９】
ここで、前記インバータ回路から前記モータへ出力すべき電圧が一定の場合、前記インバータ回路に印加される直流電圧を制御することによって、前記ＰＷＭ信号のデューティを制御することができる。つまり、前記モータ制御装置は、前記インバータ回路に印加される直流電圧を制御することで、前記スイッチング素子のスイッチング特性から独立して前記ＰＷＭ信号のデューティを制御し、前記ＰＷＭ信号に対する前記デッドタイムの影響を抑制することができる。
【００１０】
したがって、前記モータ制御装置は、ユーザによる個々のモータ制御装置の具体的な運用状況等の検討を必要とせずに、前記デッドタイムの電圧制御への影響を容易に抑制することができるという効果を奏する。
【００１１】
本発明の一態様に係るモータ制御装置は、前記制御回路に信号線を介して接続するとともに、前記インバータ回路に電力供給線を介して接続し、前記インバータ回路に直流電圧を印加する降圧コンバータ回路をさらに備え、前記制御回路は、（１）前記インバータ回路から前記モータに印加すべき電圧である指令電圧を算出し、（２）前記降圧コンバータ回路に、前記インバータ回路に印加する電圧を前記指令電圧に応じて降圧させてもよい。
【００１２】
前記の構成によれば、前記モータ制御装置は、前記インバータ回路に直流電圧を印加する前記降圧コンバータ回路を備えている。前記モータ制御装置は、前記モータに印加すべき電圧である指令電圧を算出し、算出した指令電圧に応じて、前記インバータ回路への印加電圧を、前記降圧コンバータ回路により降圧する。
【００１３】
ここで、前記インバータ回路への印加電圧が一定の場合、前記指令電圧が小さくなるのに従って前記ＰＷＭ信号のデューティは小さくなり、つまり、前記ＰＷＭ信号のデューティは、前記指令電圧に比例する。
【００１４】
また、前記インバータ回路から前記モータへ出力すべき電圧である前記指令電圧が一定の場合、前記インバータ回路に印加される直流電圧を降圧することによって、前記ＰＷＭ信号のデューティを大きく（長く）することができる。
【００１５】
つまり、前記モータ制御装置は、前記降圧コンバータ回路に、前記インバータ回路に印加する電圧を前記指令電圧に応じて降圧させることによって、前記ＰＷＭ信号のデューティを、前記デッドタイムよりも大きく（長く）することができる。
【００１６】
したがって、前記モータ制御装置は、ユーザによる個々のモータ制御装置の具体的な運用状況等の検討を必要とせずに、デッドタイムの電圧制御への影響を、前記降圧コンバータ回路によって容易に抑制することができるという効果を奏する。
【００１７】
本発明の一態様に係るモータ制御装置において、前記制御回路は、前記指令電圧が所定値以下の場合に、前記降圧コンバータ回路に、前記インバータ回路に印加する電圧を前記指令電圧に応じて降圧させてもよい。
【００１８】
前記の構成によれば、前記モータ制御装置は、前記指令電圧が前記所定値以下の場合に、前記インバータ回路への印加電圧を降圧する。
【００１９】
前述の通り、前記インバータ回路への印加電圧が一定の場合、前記指令電圧が小さくなるのに従って前記ＰＷＭ信号のデューティは小さくなる。つまり、前記インバータ回路への印加電圧が一定の場合、前記指令電圧が前記所定値以下となったときに、前記ＰＷＭ信号のデューティは、前記デッドタイム以下となる。
【００２０】
したがって、前記モータ制御装置は、前記指令電圧が前記所定値以下の場合に、前記ＰＷＭ信号のデューティが前記デッドタイム以下となるのを防ぐため、前記降圧コンバータ回路に、前記インバータ回路に印加する電圧を前記指令電圧に応じて降圧させる。
【００２１】
前記モータ制御装置は、前記指令電圧が前記所定値以下となって前記デッドタイムが電圧制御に影響し得る場合に、前記インバータ回路への印加電圧を降圧させて、その影響を抑制することができるという効果を奏する。
【発明の効果】
【００２２】
本発明の一態様によれば、ユーザによる個々のモータ制御装置の具体的な運用状況等の検討を必要とせずに、デッドタイムの電圧制御への影響を容易に抑制することができるという効果を奏する。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施形態１に係るサーボドライバの制御回路等の要部構成等を示すブロック図である。
【図２】本発明の実施形態１に係るサーボドライバを含むモータ制御システムの全体概要を示す図である。
【図３】本発明の実施形態１に係るサーボドライバの記憶部に格納されている電圧補正値テーブルの一例を示す図である。
【図４】降圧コンバータ回路を備えていない従来までのモータ制御装置の概要を説明する図である。
【図５】インバータ回路の保護のために設けられるデッドタイムを説明する図である。
【図６】電圧制御への、デッドタイムの影響を説明する図である。
【図７】電圧制御への、デッドタイムの影響を説明する、図６とは別の図である。
【発明を実施するための形態】
【００２４】
〔実施形態１〕
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図１から図７に基づいて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。本実施の形態においては、例えばサーボモータ２の駆動を制御するサーボドライバ１をモータ制御装置の典型例として説明を行う。本発明の一態様に係るサーボドライバ１についての理解を容易にするため、先ず、サーボドライバ１を含むモータ制御システムＳｙｓの概要を、図２を用いて説明する。
【００２５】
§１．適用例
図２は、サーボドライバ１を含むモータ制御システムＳｙｓの全体概要を示す図である。図２に例示するように、モータ制御システムＳｙｓは、サーボドライバ１、サーボモータ２、および、エンコーダ３を含んでいる。モータ制御システムＳｙｓは、さらに、不図示の上位コントローラおよびツールを含んでいてもよい。
【００２６】
モータ制御システムＳｙｓにおいて、サーボドライバ１とサーボモータ２とは専用ケーブルによって接続され、サーボドライバ１は、サーボモータ２の駆動を制御するモータ制御装置であり、サーボモータ２は、例えば３相電動モータである。サーボドライバ１には、信号線を介してエンコーダ３が接続されており、エンコーダ３は、サーボモータ２の位置（モータ位置）を検出し、検出したモータ位置をサーボドライバ１へ出力する。
【００２７】
サーボドライバ１は、例えば、不図示の上位装置またはツールから受け付けた「サーボモータ２を制御する指令値（モータ駆動指令）」と、エンコーダ３からのモータ位置等のフィードバック情報と、の差（偏差）に基づいて、サーボモータ２への操作量を決定する。図２に例示するサーボドライバ１は、直流を交流に変換するインバータ回路６０と、インバータ回路６０を駆動するＰＷＭ（Pulse Width Modulation：パルス幅変調）信号（モータ駆動信号）を生成する制御回路１０と、降圧コンバータ回路４０と、を備えている。
【００２８】
図４は、降圧コンバータ回路を備えていない従来までのモータ制御装置９９の概要を説明する図である。サーボドライバ１についての理解を容易にするため、先ず、従来までのモータ制御装置９９の概要を説明しておく。詳細は後述するが、サーボドライバ１が降圧コンバータ回路４０を備えているのに対して、従来までのモータ制御装置９９は降圧コンバータ回路を備えていない。
【００２９】
図４に例示する従来までのモータ制御装置９９は、サーボモータ２のＵ相、Ｖ相、Ｗ相それぞれに対応した３つのスイッチング素子対を備えている。すなわち、従来までのモータ制御装置９９は、サーボモータ２のＵ相に対応する「Ｕ相上側（Ｈｉｇｈ）スイッチング素子ＱｕｈおよびＵ相下側（Ｌｏｗ）スイッチング素子Ｑｕｌ」を備えている。また、従来までのモータ制御装置９９は、Ｖ相に対応する「Ｖ相上側スイッチング素子ＱｖｈおよびＶ相下側スイッチング素子Ｑｖｌ」、および、Ｗ相に対応する「Ｗ相上側スイッチング素子ＱｗｈおよびＷ相下側スイッチング素子Ｑｗｌ」を備えている。
【００３０】
従来までのモータ制御装置９９は、サーボモータ２の各相に対応した上側スイッチング素子（Ｑｕｈ、Ｑｖｈ、および、Ｑｗｈ）と、下側スイッチング素子（Ｑｕｌ、Ｑｖｌ、および、Ｑｗｌ）と、を切り替えることにより、サーボモータ２を駆動する。すなわち、従来までのモータ制御装置９９は、「Ｕ相上側スイッチング素子ＱｕｈおよびＵ相下側スイッチング素子Ｑｕｌ」のオン／オフを切り替えることにより、サーボモータ２のＵ相に流れる電流Ｉｕを制御する。従来までのモータ制御装置９９は、「Ｖ相上側スイッチング素子ＱｖｈおよびＶ相下側スイッチング素子Ｑｖｌ」のオン／オフを切り替えることにより、サーボモータ２のＶ相に流れる電流Ｉｖを制御する。従来までのモータ制御装置９９は、「Ｗ相上側スイッチング素子ＱｗｈおよびＷ相下側スイッチング素子Ｑｗｌ」のオン／オフを切り替えることにより、サーボモータ２のＷ相に流れる電流Ｉｗを制御する。
【００３１】
同様に、サーボドライバ１のインバータ回路６０は、制御回路１０から出力されたＰＷＭ信号に基づいて、サーボモータ２の各相に対応した上側スイッチング素子と下側スイッチング素子とを切り替えることにより、サーボモータ２を駆動する。
【００３２】
なお、以下の説明においては、上側スイッチング素子は、高電位側スイッチング素子、または、Ｈｉｇｈｓｉｄｅスイッチング素子とも呼ばれ、下側スイッチング素子は、低電位側スイッチング素子、または、Ｌｏｗｓｉｄｅスイッチング素子とも呼ばれる。
【００３３】
図５は、インバータ回路の保護のために設けられるデッドタイムを説明する図である。なお、図５、図６、および図７において、「ＨｉｇｈｓｉｄｅのＰＷＭ」とは、上側スイッチング素子に与えられるＰＷＭ信号を、「ＬｏｗｓｉｄｅのＰＷＭ」とは、下側スイッチング素子に与えられるＰＷＭ信号を、示している。また、「ＰＷＭ波形」とは、ＰＷＭ信号におけるオン／オフ状態を示している。
【００３４】
図５に示すように、ＰＷＭ用カウンタにより実現される所定のタイミングごとに、キャリア信号の電圧レベルに対して、デューティ指示値に応じた参照値（閾値）が設定（更新）される。そして、キャリア信号の電圧レベルが閾値以上である区間を「Ｈ」（High）、キャリア信号の電圧レベルが閾値未満である区間を「Ｌ」（Low）として、キャリア信号は２値化され、デューティ指示値（参照値）に応じたデューティを持ったＰＷＭ信号が得られる。
【００３５】
なお詳細は後述するが、図６および図７は、通常のＰＷＭ変調について、電圧制御へのデッドタイムＴｄの影響を説明する図である。しかしながら、サーボドライバ１がＰＷＭ変調を採用することは必須ではなく、サーボドライバ１は、ＳＶ−ＰＷＭ方式の変調を採用してもよい。
【００３６】
従来までのモータ制御装置９９およびサーボドライバ１には、図５に例示するように、インバータ回路（インバータ回路６０）の保護のため、デッドタイム（Dead Time）Ｔｄが設けられる。各相の「上側スイッチング素子および下側スイッチング素子」が共にオフとなる期間である「デッドタイム」は、「オンデレイ」とも呼ばれ、上側スイッチング素子と下側スイッチング素子とが共にオンになって短絡が発生するのを防止している。
【００３７】
しかしながら、デッドタイムＴｄは、インバータ回路６０からサーボモータ２へ出力する電圧の歪みの原因となるという問題を有することが知られている。すなわち、デッドタイムＴｄ中の実電圧（インバータ回路６０からサーボモータ２へ出力する電圧）は、電流（インバータ回路６０とサーボモータ２との間を流れる電流）の向きと大きさに応じて変化する。そのため、インバータ回路６０は、制御回路１０の指令通りに、つまり、制御回路１０が出力するＰＷＭ信号に従って、サーボモータ２へ所望の電圧（指令電圧Ｖｏｕｔ）を出力することができない。
【００３８】
そこで、サーボドライバ１は、降圧コンバータ回路４０を用いて、インバータ回路６０へと入力される直流電圧を降下させる。これにより、サーボドライバ１は、小出力時でも、ＰＷＭ信号におけるオンの時間幅（デューティＴｏｎ）に対するデッドタイムＴｄの比率を少なくし、デッドタイムＴｄの影響を抑制して、小電流時でも高い応答性の電流制御を実現することができる。
【００３９】
一般に、インバータ回路６０へと入力される直流電圧を一定とすると、低回転かつ軽負荷の時には、変調率が低くなり、つまり、デューティＴｏｎが小さくなるため、サーボモータ２へ出力する電圧について、デッドタイムＴｄからの影響が大きくなる。そこで、サーボドライバ１は、低回転かつ軽負荷の時には、インバータ回路６０へと入力される（印加される）直流電圧を降下させることにより、変調率を高くし、つまり、デューティＴｏｎを大きくする。これにより、サーボドライバ１は、低回転かつ軽負荷の時にも、インバータ回路６０からサーボモータ２へ出力する電圧について、デッドタイムＴｄからの影響を低減する。
【００４０】
すなわち、サーボドライバ１は、降圧コンバータ回路４０を用いることにより、インバータ回路６０への入力電圧を降下させ、小電力時（つまり、低回転かつ軽負荷の時）でも、ＰＷＭ信号のデューティＴｏｎに対するデッドタイムＴｄの比率を少なくする。したがって、サーボドライバ１は、デッドタイムＴｄからの影響を抑制し、小電流時（小電力時）でも高い応答性の電流制御を実現することができる。言い換えれば、サーボドライバ１は、モータ制御時の小電流特性の改善を実現し、電流制御応答の周波数帯域を向上する。
【００４１】
また、ユーザは、サーボドライバ１によって、小電流時の電流応答性能を向上させ、つまり、軽負荷時においても高速・高精度な制御が可能となる。これによって、ユーザは、軽負荷時から高負荷時にわたる広い負荷領域において、制御性能の高いアプリケーションを実現することができる。
【００４２】
以上に説明した通り、サーボドライバ１は、インバータ回路６０および制御回路１０に加えて、インバータ回路６０に供給される直流電力の電圧を降圧する降圧コンバータ回路４０を備えている。これにより、サーボドライバ１は、インバータ回路６０からサーボモータ２へ所望の電力を出力させる場合に、降圧コンバータ回路４０によってインバータ回路６０への印加電圧を降下させ、ＰＷＭ信号のデューティＴｏｎをデッドタイムＴｄよりも大きくする。
【００４３】
§２．構成例
（システム全体の構成概要）
サーボモータ２の制御装置であるサーボドライバ１は、「サーボモータ２を制御する指令値（モータ駆動指令）」を、例えば不図示の上位コントローラまたはツールから受け付ける。また、サーボドライバ１は、モータ位置などのフィードバック値を、例えばエンコーダ３（位置センサ）から受け付ける。サーボドライバ１は、フィードバック値がモータ駆動指令に近づくように、サーボモータ２を駆動するための電力（電圧）を調整する。
【００４４】
（例１、上位コントローラからのモータ駆動指令）
例えば、サーボドライバ１には、フィールドネットワークを介して、不図示の上位装置が接続される。上位コントローラは、例えば、プログラマブルロジックコントローラ（Programmable Logic Controller、以下「ＰＬＣ」と略記）等の産業用制御装置であり、サーボモータ２などの制御機器を制御するためのユーザプログラムを実行する。上位コントローラは、モータ制御システムＳｙｓにおいて、フィールドネットワークを介したデータ伝送を管理しているという意味で「マスタ装置」と呼ばれ、一方、サーボドライバ１は「スレーブ装置」と呼ばれてもよい。すなわち、モータ制御システムＳｙｓは、マスタ装置としての上位コントローラと、マスタ装置にフィールドネットワークを介して接続される１つ以上のスレーブ装置としてのサーボドライバ１とを含むマスタースレーブ制御システムであってもよい。
【００４５】
フィールドネットワークは、サーボドライバ１と上位コントローラとの間で送受信される各種データを伝送する。すなわち、フィールドネットワークは、上位コントローラが受信し、または上位コントローラが送信する各種データを伝送する。フィールドネットワークとしては、典型的には、各種の産業用イーサネット（登録商標）を用いることができる。産業用イーサネット（登録商標）としては、たとえば、ＥｔｈｅｒＣＡＴ（登録商標）、Ｐｒｏｆｉｎｅｔ ＩＲＴ、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩＩ、Ｐｏｗｅｒｌｉｎｋ、ＳＥＲＣＯＳ（登録商標）−ＩＩＩ、ＣＩＰ Ｍｏｔｉｏｎなどが知られており、これらのうちのいずれを採用してもよい。
【００４６】
サーボドライバ１は、例えば、上位コントローラからのモータ駆動指令（すなわち、上位コントローラによるユーザプログラムの実行結果としての制御指示）を、フィールドネットワークを介して、上位コントローラから受信する。そして、サーボドライバ１は、フィールドネットワークを介して受信した上位コントローラからの制御指示に従ってサーボモータ２を駆動してもよい。例えば、サーボドライバ１は、上位コントローラから一定周期で、位置指令値、速度指令値、トルク指令値といったモータ駆動指令を受ける。
【００４７】
また、サーボドライバ１は、サーボモータ２の軸に接続されているエンコーダ３、電流検出器、および、トルクセンサといった検出器から、位置、速度（典型的には、今回位置と前回位置との差から算出される）、トルクといったサーボモータ２の動作に係る実測値を取得する。そして、サーボドライバ１は、モータ駆動指令（例えば、上位コントローラからのモータ駆動指令）を目標値に設定し、実測値をフィードバック値として、フィードバック制御を行なってもよい。すなわち、サーボドライバ１は、実測値が目標値に近づくようにサーボモータ２を駆動するための電力（電圧）を調整する。なお、サーボドライバ１は、サーボモータアンプと称されることもある。
【００４８】
（例２、ツールからのモータ駆動指令）
サーボドライバ１には、例えばＵＳＢ（Universal Serial Bus）ケーブルである通信ケーブルを介して、ツールが接続されてもよい。ツールは、モータ制御システムＳｙｓにおける各種のパラメータ（特に、サーボドライバ１に記憶される制御パラメータ）を設定および調整するための情報処理装置である。また、ツールは、サーボモータ２の駆動等を制御しようとするユーザ操作を受け付けてもよい。
【００４９】
サーボドライバ１は、ツールによって設定および調整された制御パラメータを記憶するとともに、その制御パラメータに従ってサーボモータ２を駆動する。また、サーボドライバ１は、ツールの受け付けたユーザ操作に対応するモータ駆動指令に従ってサーボモータ２を駆動することができる。サーボドライバ１は、エンコーダ３から受け付けたモータ位置などのフィードバック値が、ツールから受け付けたモータ駆動指令に近づくように、サーボモータ２を駆動するための電力（電圧）を調整する。
【００５０】
（サーボドライバの構成概要）
これまでに概要を説明してきたサーボドライバ１について、次にその詳細を説明していく。サーボドライバ１についての理解を容易にするため、サーボドライバ１の概要を整理しておけば以下の通りである。
【００５１】
サーボドライバ１（モータ制御装置）は、「ＰＷＭ信号によるスイッチング素子のオン・オフに基づいてサーボモータ２（モータ）を駆動する」インバータ回路６０を備えたモータ制御装置である。サーボドライバ１は、「インバータ回路６０に信号線を介して接続し、インバータ回路６０にＰＷＭ信号を出力する」制御回路１０を備えている。制御回路１０は、ＰＷＭ信号のデューティＴｏｎが、インバータ回路６０のスイッチング素子の短絡を防止するために予め設定されているデッドタイムＴｄよりも大きくなるよう、インバータ回路６０に印加される電圧（直流電圧Ｖ’ｐｎ）を制御する。
【００５２】
前記の構成によれば、サーボドライバ１は、ＰＷＭ信号のデューティＴｏｎがデッドタイムＴｄよりも大きく（長く）なるよう、インバータ回路６０に印加される直流電圧Ｖ’ｐｎを制御する。
【００５３】
ここで、インバータ回路６０からサーボモータ２へ出力すべき電圧（指令電圧Ｖｏｕｔ）が一定の場合、インバータ回路６０に印加される直流電圧Ｖ’ｐｎを制御することによって、ＰＷＭ信号のデューティＴｏｎを制御することができる。つまり、サーボドライバ１は、インバータ回路６０に印加される直流電圧Ｖ’ｐｎを制御することで、前記スイッチング素子のスイッチング特性から独立してＰＷＭ信号のデューティＴｏｎを制御して、ＰＷＭ信号に対するデッドタイムＴｄの影響を抑制することができる。
【００５４】
したがって、サーボドライバ１は、ユーザによる個々のモータ制御装置の具体的な運用状況等の検討を必要とせずに、デッドタイムＴｄの電圧制御への影響を容易に抑制することができるという効果を奏する。
【００５５】
サーボドライバ１は、「制御回路１０に信号線を介して接続するとともに、インバータ回路６０に電力供給線を介して接続し、インバータ回路６０に直流電圧Ｖ’ｐｎを印加する」降圧コンバータ回路４０をさらに備えている。サーボドライバ１において、制御回路１０は、（１）インバータ回路６０からサーボモータ２に印加すべき電圧である指令電圧Ｖｏｕｔを算出し、（２）降圧コンバータ回路４０に、インバータ回路６０に印加する電圧を、指令電圧Ｖｏｕｔに応じて降圧させる。
【００５６】
前記の構成によれば、サーボドライバ１は、インバータ回路６０に直流電圧Ｖ’ｐｎを印加する降圧コンバータ回路４０を備えている。サーボドライバ１は、サーボモータ２に印加すべき電圧である指令電圧Ｖｏｕｔを算出し、算出した指令電圧Ｖｏｕｔに応じて、インバータ回路６０への印加電圧を、降圧コンバータ回路４０により降圧する。
【００５７】
ここで、インバータ回路６０への印加電圧が一定の場合、指令電圧Ｖｏｕｔが小さくなるのに従ってＰＷＭ信号のデューティＴｏｎは小さくなり、つまり、ＰＷＭ信号のデューティＴｏｎは、指令電圧Ｖｏｕｔに比例する。
【００５８】
また、インバータ回路６０からサーボモータ２へ出力すべき電圧である指令電圧Ｖｏｕｔが一定の場合、インバータ回路６０に印加される直流電圧を降圧することによって、ＰＷＭ信号のデューティＴｏｎを大きく（長く）することができる。
【００５９】
つまり、サーボドライバ１は、降圧コンバータ回路４０に、インバータ回路６０に印加する電圧を指令電圧Ｖｏｕｔに応じて降圧させることによって、ＰＷＭ信号のデューティＴｏｎを、デッドタイムＴｄよりも大きく（長く）することができる。
【００６０】
したがって、サーボドライバ１は、ユーザによる個々のモータ制御装置の具体的な運用状況等の検討を必要とせずに、デッドタイムＴｄの電圧制御への影響を、降圧コンバータ回路４０によって容易に抑制することができるという効果を奏する。
【００６１】
サーボドライバ１において、制御回路１０は、指令電圧Ｖｏｕｔが閾値電圧Ｖｔｈ（所定値）以下の場合に、降圧コンバータ回路４０に、インバータ回路６０に印加する電圧を、指令電圧Ｖｏｕｔに応じて降圧させる。
【００６２】
前記の構成によれば、サーボドライバ１は、指令電圧Ｖｏｕｔが閾値電圧Ｖｔｈ以下の場合に、インバータ回路６０への印加電圧を降圧する。
【００６３】
前述の通り、インバータ回路６０への印加電圧が一定の場合、指令電圧Ｖｏｕｔが小さくなるのに従ってＰＷＭ信号のデューティＴｏｎは小さくなる。つまり、インバータ回路６０への印加電圧が一定の場合、指令電圧Ｖｏｕｔが閾値電圧Ｖｔｈ以下となったときに、ＰＷＭ信号のデューティＴｏｎは、デッドタイムＴｄ以下となる。
【００６４】
したがって、サーボドライバ１は、指令電圧Ｖｏｕｔが閾値電圧Ｖｔｈ以下の場合に、ＰＷＭ信号のデューティＴｏｎがデッドタイムＴｄ以下となるのを防ぐため、降圧コンバータ回路４０に、インバータ回路６０に印加する電圧を、指令電圧Ｖｏｕｔに応じて降圧させる。
【００６５】
サーボドライバ１は、指令電圧Ｖｏｕｔが閾値電圧Ｖｔｈ以下となってデッドタイムＴｄが電圧制御に影響し得る場合に、インバータ回路６０への印加電圧を降圧させて、その影響を抑制することができるという効果を奏する。
【００６６】
（サーボドライバの具体的構成）
図２に例示するサーボドライバ１は、制御回路１０、３相交流電源２０、整流回路３０、降圧コンバータ回路４０、電圧検出回路５０、インバータ回路６０、電流検出回路７０、および、コンデンサ８０を備えている。
【００６７】
３相交流電源２０は、交流電力を出力し、電源供給線によって整流回路３０に接続している。整流回路３０は、交流電源（例えば、３相交流電源２０）から入力された交流を整流し、電源供給線を介して整流回路３０に接続されている降圧コンバータ回路４０に直流を出力する。
【００６８】
整流回路３０と降圧コンバータ回路４０との間には、図２に例示するようにコンデンサ８０を挿入してもよい。図２において、整流回路３０の正側出力端子と降圧コンバータ回路４０の正側との間にはコンデンサ８０の正極端子が電気的に接続され、整流回路３０の負側出力端子と降圧コンバータ回路４０の負側との間にはコンデンサ８０の負極端子が電気的に接続されている。コンデンサ８０は、整流回路３０から出力された直流電流を平滑する。整流回路３０から出力され、コンデンサ８０により平滑された直流電流は、降圧コンバータ回路４０を介して、インバータ回路６０に入力される。なお、整流回路３０からコンデンサ８０を介して降圧コンバータ回路４０に出力される直流電圧を「Ｖｐｎ」と称する。
【００６９】
降圧コンバータ回路４０は、電源供給線を介してインバータ回路６０に接続され、信号線を介して制御回路１０に接続されている。図２において、降圧コンバータ回路４０の正側出力端子はインバータ回路６０の正側に電気的に接続され、降圧コンバータ回路４０の負側出力端子はインバータ回路６０の負側に電気的に接続されている。降圧コンバータ回路４０は、整流回路３０から出力された直流電圧Ｖｐｎを、制御回路１０（特に、降圧値算出部１０４）からの指示（電圧補正値Ｖａ）に従って降圧した直流電圧Ｖ’ｐｎを、インバータ回路６０に出力する（印加する）。すなわち、３相交流電源２０が出力した交流電力は、整流回路３０により整流され、降圧コンバータ回路４０により電圧を所望の値（直流電圧Ｖ’ｐｎ）に調整された後、インバータ回路６０に出力される。
【００７０】
電圧検出回路５０は、降圧コンバータ回路４０からインバータ回路６０へと供給される直流電力の電圧Ｖ’ｐｎ（電圧値）を検出し、つまり、インバータ回路６０に印加される直流電圧Ｖ’ｐｎを検出し、検出した電圧Ｖ’ｐｎを制御回路１０に出力する。電圧検出回路５０は、例えば、降圧コンバータ回路４０からインバータ回路６０への電源供給線に電気的に接続し、また、信号線を介して、制御回路１０に接続している。
【００７１】
インバータ回路６０は、降圧コンバータ回路４０から供給された直流電圧Ｖ’ｐｎ（主回路電力、主回路電源）を、ＰＷＭ制御により三相交流（モータ駆動電力、モータ駆動電源）に変換してサーボモータ２へ供給する。インバータ回路６０は、「パワー回路」、または、「主回路」とも呼ばれ、サーボモータ２に、サーボモータ２を駆動するための電流（電力）を供給する。
【００７２】
図２において、インバータ回路６０は、電力供給線を介して降圧コンバータ回路４０と接続し、降圧コンバータ回路４０から直流電力を供給されている。また、インバータ回路６０は、信号線を介して制御回路１０と接続し、制御回路１０からＰＷＭ信号を供給される。
【００７３】
インバータ回路６０は、スイッチング素子のオン・オフによりサーボモータ２を駆動する。すなわち、インバータ回路６０は、典型的には、サーボモータ２のＵ相、Ｖ相、Ｗ相それぞれに対応した３つのスイッチング素子対を備えている。インバータ回路６０において、サーボモータ２のＵ相に対応するスイッチング素子対は、Ｕ相上側（Ｈｉｇｈ）スイッチング素子ＱｕｈとＵ相下側（Ｌｏｗ）スイッチング素子Ｑｕｌとを直列に接続したものである。また、Ｖ相に対応するスイッチング素子対は、Ｖ相上側スイッチング素子ＱｖｈとＶ相下側スイッチング素子Ｑｖｌとを直列に接続したものである。そして、Ｗ相に対応するスイッチング素子対は、Ｗ相上側スイッチング素子ＱｗｈとＷ相下側スイッチング素子Ｑｗｌとを直列に接続したものである。高電位側スイッチング素子Ｑｕｈ／Ｑｖｈ／Ｑｗｈと、低電位側スイッチング素子Ｑｕｌ／Ｑｖｌ／Ｑｗｌと、の接続点は、各々、サーボモータ２の各相Ｕ／Ｖ／Ｗに接続されている。
【００７４】
インバータ回路６０は、制御回路１０から出力されたＰＷＭ信号に基づいて、上側スイッチング素子（Ｑｕｈ、Ｑｖｈ、および、Ｑｗｈ）と、下側スイッチング素子（Ｑｕｌ、Ｑｖｌ、および、Ｑｗｌ）とを切り替えることにより、サーボモータ２を駆動する。言い換えれば、インバータ回路６０は、「インバータ回路６０に印加される電圧Ｖ’ｐｎ」に対して、制御回路１０からのＰＷＭ信号を用いてＰＷＭ制御を実行し、「出力電圧算出部１０３が算出した指令電圧Ｖｏｕｔ」をサーボモータ２に出力する（印加する）。
【００７５】
インバータ回路６０のスイッチング素子（Ｑｕｈ、Ｑｖｈ、Ｑｗｈ、Ｑｕｌ、Ｑｖｌ、および、Ｑｗｌ）は、ＰＷＭ信号生成部１０５から与えられるＰＷＭ信号によりオン・オフ動作を行う。具体的には、上側スイッチング素子と下側スイッチング素子とは、ＰＷＭ信号に基づいて交互にオン／オフするとともに、各相間で１２０°ずれた位相でオン／オフする。これにより、降圧コンバータ回路４０からの直流電圧Ｖ’ｐｎが、Ｕ相、Ｖ相、Ｗ相の三相交流電圧（具体的には、指令電圧Ｖｏｕｔ）に変換されてサーボモータ２に与えられる。サーボモータ２は、この３相交流電圧によって回転する。ＰＷＭ信号のデューティＴｏｎに応じたスイッチング素子（Ｑｕｈ、Ｑｖｈ、Ｑｗｈ、Ｑｕｌ、Ｑｖｌ、および、Ｑｗｌ）のオン・オフのパターンに従って、サーボモータ２に流れる電流の大きさおよび方向が制御される。
【００７６】
電流検出回路７０は、インバータ回路６０からサーボモータ２に供給する電力の電流（電流値）を検出し、特に、インバータ回路６０を通って流れるサーボモータ２の各相の電流（検出相電流値Ｉｕ／Ｉｖ／Ｉｗ）を検出する。電流検出回路７０は、検出した検出相電流値Ｉｕ／Ｉｖ／Ｉｗを、信号線を介して接続している制御回路１０に出力する。
【００７７】
制御回路１０は、例えば、ＣＰＵとメモリとを備えるマイクロコンピュータにより構成され、サーボモータ２の制御量がモータ駆動指令に追従するように、ＰＷＭ信号を用いてインバータ回路６０を制御する。制御回路１０は、インバータ回路６０にＰＷＭ信号を出力して、インバータ回路６０にＰＷＭ信号に従った電力をサーボモータ２へと供給させることにより、サーボモータ２の駆動を制御する。
【００７８】
制御回路１０は、不図示の上位装置またはツールから受け付けたモータ駆動指令と、エンコーダ３からのモータ位置（フィードバック値）と、から、サーボモータ２を駆動するＰＷＭ信号を出力する。以下に、制御回路１０の詳細を、図1等を用いて説明する。
【００７９】
（制御回路の構成）
図１は、サーボドライバ１の制御回路１０などの要部構成等を示すブロック図である。図１に例示した速度指令受付部１０１、電流指令生成部１０２、出力電圧算出部１０３、降圧値算出部１０４、および、ＰＷＭ信号生成部１０５は、例えば、プロセッサ（ＣＰＵ、central processing unit）等が、ＲＯＭ（read only memory）、ＮＶＲＡＭ（non-Volatile random access memory）等で実現された不揮発性メモリ（記憶部１０６）に記憶されているプログラムを、ＲＡＭ等により実現されるメインメモリに読み出して実行することで実現できる。以下、制御回路１０における各機能ブロックについて説明する。
【００８０】
（記憶部以外の機能ブロックの詳細）
制御回路１０は、インバータ回路６０からサーボモータ２に出力すべき（つまり、印加すべき）電圧である指令電圧Ｖｏｕｔを算出し、インバータ回路６０にこの指令電圧Ｖｏｕｔを出力させるためのＰＷＭ信号を生成する。そして、制御回路１０は、生成したＰＷＭ信号をインバータ回路６０に出力することにより、インバータ回路６０に指令電圧Ｖｏｕｔを出力させる。また、制御回路１０は、電圧補正値Ｖａを降圧コンバータ回路４０に通知し、降圧コンバータ回路４０に、整流回路３０からの直流電圧Ｖｐｎを電圧補正値Ｖａだけ降下させ、降圧後の直流電圧Ｖ’ｐｎをインバータ回路６０に印加させる。
【００８１】
速度指令受付部１０１は、例えば、不図示の上位コントローラ、ツール等から速度指令を取得し、取得した速度指令を電流指令生成部１０２に通知する。
【００８２】
電流指令生成部１０２は、速度指令受付部１０１が受け付けた速度指令と、エンコーダ３が検出したサーボモータ２のモータ位置（フィードバック値）と、を用いて、サーボモータ２に流すべき電流を指令する電流指令Ｉｏｕｔを生成する。電流指令生成部１０２は、電流指令Ｉｏｕｔとして、例えば、サーボモータ２の各相に流すべき電流を指令する相電流指令値Ｉｃｕ／Ｉｃｖ／Ｉｃｗを生成する。電流指令生成部１０２は、生成した電流指令Ｉｏｕｔ（相電流指令値Ｉｃｕ／Ｉｃｖ／Ｉｃｗ）を出力電圧算出部１０３に通知する。
【００８３】
出力電圧算出部１０３は、電流指令生成部１０２が生成した電流指令Ｉｏｕｔ（相電流指令値Ｉｃｕ／Ｉｃｖ／Ｉｃｗ）と、電流検出回路７０が検出した電流値（検出相電流値Ｉｕ／Ｉｖ／Ｉｗ）と、を受け付ける。出力電圧算出部１０３は、受け付けた相電流指令値Ｉｃｕ／Ｉｃｖ／Ｉｃｗと検出相電流値Ｉｕ／Ｉｖ／Ｉｗとを用いて、インバータ回路６０からサーボモータ２へ出力すべき電圧である指令電圧Ｖｏｕｔを生成する。
【００８４】
出力電圧算出部１０３は、相電流指令値Ｉｃｕ／Ｉｃｖ／Ｉｃｗと検出相電流値Ｉｕ／Ｉｖ／Ｉｗとを用いて、指令電圧Ｖｏｕｔとして、例えば、サーボモータ２の各相に印加すべき電圧である相電圧指令値Ｖｃｕ／Ｖｃｖ／Ｖｃｗを算出する。具体的には、出力電圧算出部１０３は、検出相電流値と相電流指令値とを比較して、両者の偏差を算出し、当該偏差がゼロとなるように、すなわち、検出相電流値と相電流指令値とが等しくなるように、相電圧指令値Ｖｃｕ／Ｖｃｖ／Ｖｃｗを算出する。出力電圧算出部１０３は、算出した指令電圧Ｖｏｕｔ（相電圧指令値Ｖｃｕ／Ｖｃｖ／Ｖｃｗ）を、降圧値算出部１０４およびＰＷＭ信号生成部１０５に通知する。
【００８５】
降圧値算出部１０４は、出力電圧算出部１０３から指令電圧Ｖｏｕｔ（相電圧指令値Ｖｃｕ／Ｖｃｖ／Ｖｃｗ）を通知されると、記憶部１０６の電圧補正値テーブル１０６１を参照して、指令電圧Ｖｏｕｔごとの電圧補正値Ｖａを取得する。降圧値算出部１０４は、取得した電圧補正値Ｖａを、降圧コンバータ回路４０に通知する。降圧値算出部１０４から電圧補正値Ｖａを通知された降圧コンバータ回路４０は、整流回路３０から印加されている直流電圧Ｖｐｎを、電圧補正値Ｖａ分だけ降圧した直流電圧Ｖ’ｐｎ（＝Ｖｐｎ−Ｖａ）を、インバータ回路６０に出力する（印加する）。降圧値算出部１０４は、出力電圧算出部１０３から指令電圧Ｖｏｕｔを通知されると、指令電圧Ｖｏｕｔから「指令電圧Ｖｏｕｔごとの電圧補正値Ｖａ」を演算し、演算した電圧補正値Ｖａを、降圧コンバータ回路４０に通知してもよい。なお、降圧値算出部１０４が、降圧コンバータ回路４０の出力電圧Ｖ‘ｐｎを直接制御する構成にしてもよい。
【００８６】
ＰＷＭ信号生成部１０５は、「電圧検出回路５０が検出した直流電圧Ｖ’ｐｎ（つまり、インバータ回路６０に印加される直流電圧）」を変換して「出力電圧算出部１０３が算出した指令電圧Ｖｏｕｔ」をインバータ回路６０に出力させるＰＷＭ信号を生成する。ＰＷＭ信号生成部１０５は、生成したＰＷＭ信号をインバータ回路６０の各スイッチング素子に出力する。
【００８７】
具体的には、ＰＷＭ信号生成部１０５は、「電圧検出回路５０が検出した直流電圧Ｖ’ｐｎ」と、「出力電圧算出部１０３が算出した指令電圧Ｖｏｕｔ（相電圧指令値Ｖｃｕ／Ｖｃｖ／Ｖｃｗ）」と、に基づいて、以下のように、ＰＷＭ信号を生成する。
【００８８】
先ず、ＰＷＭ信号生成部１０５は、「電圧検出回路５０が検出した直流電圧Ｖ’ｐｎ」を、「電圧指令値Ｖｃｕ／Ｖｃｖ／Ｖｃｗ」へと変換するための、「インバータ回路６０の各スイッチング素子のスイッチングを制御するデューティ指示値」を生成する。例えば、ＰＷＭ信号生成部１０５は、インバータ回路６０の各スイッチング素子（Ｑｕｈ／Ｑｖｈ／Ｑｗｈ／Ｑｕｌ／Ｑｖｌ／Ｑｗｌ）のスイッチングを制御するデューティ指示値Ｄｃｕｈ／Ｄｃｖｈ／Ｄｃｗｈ／Ｄｃｕｌ／Ｄｃｖｌ／Ｄｃｗｌを生成する。
【００８９】
そして、ＰＷＭ信号生成部１０５は、このデューティ指示値Ｄｃｕｈ／Ｄｃｖｈ／Ｄｃｗｈ／Ｄｃｕｌ／Ｄｃｖｌ／Ｄｃｗｌに基づいて、サーボモータ２を回転駆動させるＰＷＭ信号を生成し、生成したＰＷＭ信号をインバータ回路６０に出力する。具体的には、ＰＷＭ信号生成部１０５は、キャリア信号（図６および図７の「ＰＷＭ生成用搬送波」）と、デューティ指示値Ｄｃｕｈ／Ｄｃｖｈ／Ｄｃｗｈ／Ｄｃｕｌ／Ｄｃｖｌ／Ｄｃｗｌの各々とから、各スイッチング素子に出力するＰＷＭ信号を生成する。
【００９０】
ＰＷＭ信号生成部１０５は、デューティ指示値Ｄｃｕｈ／Ｄｃｖｈ／Ｄｃｗｈ／Ｄｃｕｌ／Ｄｃｖｌ／Ｄｃｗｌに基づいて生成したＰＷＭ信号を、インバータ回路６０の各スイッチング素子に出力する。インバータ回路６０の各スイッチング素子（Ｑｕｈ／Ｑｖｈ／Ｑｗｈ／Ｑｕｌ／Ｑｖｌ／Ｑｗｌ）は、ＰＷＭ信号のＤｃｕｈ／Ｄｃｖｈ／Ｄｃｗｈ／Ｄｃｕｌ／Ｄｃｖｌ／Ｄｃｗｌに従ってオン・オフ動作を実行し、サーボモータ２へ指令電圧Ｖｏｕｔを印加する。すなわち、ＰＷＭ信号は各々、高電位側スイッチング素子Ｑｕｈ／Ｑｖｈ／Ｑｗｈおよび低電位側スイッチング素子Ｑｕｌ／Ｑｖｌ／Ｑｗｌに入力され、インバータ回路６０は、降圧コンバータ回路４０からの直流電圧を指令電圧Ｖｏｕｔに変換してサーボモータ２へ供給する。
【００９１】
ここで、ＰＷＭ信号生成部１０５が生成するＰＷＭ信号のデューティＴｏｎは、デッドタイムＴｄよりも長い。すなわち、ＰＷＭ信号生成部１０５が、デューティ指示値Ｄｃｕｈ／Ｄｃｖｈ／Ｄｃｗｈ／Ｄｃｕｌ／Ｄｃｖｌ／Ｄｃｗｌの各々から生成したＰＷＭ信号のオン期間・オンの時間幅は、デッドタイムＴｄよりも長い。言い換えれば、インバータ回路６０が「降圧コンバータ回路４０からインバータ回路６０に出力される電圧Ｖ’ｐｎ」を「指令電圧Ｖｏｕｔ」へと変換するために、インバータ回路６０へと出力されるＰＷＭ信号のデューティＴｏｎは、デッドタイムＴｄよりも大きい。降圧コンバータ回路４０がＶｐｎをＶ’ｐｎへと降圧することにより、ＰＷＭ信号生成部１０５は、デッドタイムＴｄよりも大きなデューティＴｏｎのＰＷＭ信号によって、インバータ回路６０に、電圧Ｖ’ｐｎを指令電圧Ｖｏｕｔへと変換させることができる。
【００９２】
（記憶部の詳細）
記憶部１０６は、サーボドライバ１（特に、制御回路１０）が使用する各種データ（例えば、ツールによって設定および調整された、サーボドライバ１の動作に必要なプログラムおよび各種パラメータ）を格納する記憶装置である。記憶部１０６は、サーボドライバ１が実行する（１）制御プログラム、（２）サーボドライバ１が有する各種機能を実行するためのアプリケーションプログラム、および、（３）該アプリケーションプログラムを実行するときに読み出す各種データを非一時的に記憶してもよい。記憶部１０６はさらに、電圧補正値テーブル１０６１を格納している。
【００９３】
電圧補正値テーブル１０６１には、指令電圧Ｖｏｕｔに対応付けられて電圧補正値Ｖａが格納されており、つまり、指令電圧Ｖｏｕｔごとの電圧補正値Ｖａが格納されている。以下、電圧補正値テーブル１０６１に格納されている電圧補正値Ｖａについて、図３等を用いて詳細を説明する。
【００９４】
（電圧補正値についての詳細）
（デッドタイムの影響）
図６は、電圧制御への、デッドタイムＴｄの影響を説明する図である。また、図７は、電圧制御への、デッドタイムＴｄの影響を説明する、図６とは別の図である。具体的には、図６は、「ＬｏｗｓｉｄｅのＰＷＭ（下側スイッチング素子に与えられるＰＷＭ信号）」のＯＮタイム（デューティＴｏｎ）がデッドタイムＴｄよりも短い（小さい）場合を例示している。また、図７は、「ＨｉｇｈｓｉｄｅのＰＷＭ（上側スイッチング素子に与えられるＰＷＭ信号）」のＯＮタイム（デューティＴｏｎ）がデッドタイムＴｄよりも短い（小さい）場合を例示している。
【００９５】
なお、図６および図７において、「モータ駆動用の電圧指令値」とは、指令電圧Ｖｏｕｔを指している。また、ＰＷＭ信号について、ＰＷＭ周期を「Ｔ」、ＯＮタイム（デューティ）を「Ｔｏｎ」、ＯＦＦタイムを「Ｔｏｆｆ（＝Ｔ−Ｔｏｎ）」としている。
【００９６】
降圧コンバータ回路４０が、整流回路３０からの直流電圧Ｖｐｎを降圧せずにインバータ回路６０に出力する場合、ＰＷＭ信号を受け付けたインバータ回路６０がサーボモータ２に印加する電圧（印加電圧Ｖｍ）は、一般に「Ｖｍ＝Ｖｐｎ×Ｔｏｎ／Ｔ」となる。
【００９７】
ただし、図６および図７に示唆されている通り、デッドタイムＴｄ中は上側スイッチング素子および下側スイッチング素子がともにＯＦＦになっている。このため出力電圧が確定せず、デッドタイムＴｄの影響によって、インバータ回路６０は、本来の電圧（指令電圧Ｖｏｕｔ）を出力することができない。言い換えれば、「Ｔｄ≧Ｔｏｎ」である場合、印加電圧Ｖｍは「Ｖｍ＝Ｖｐｎ×Ｔｏｎ／Ｔ」を満たさないため、インバータ回路６０は、印加電圧Ｖｍを、指令電圧Ｖｏｕｔに等しくなるよう制御することができない。
【００９８】
（降圧コンバータ回路による、インバータ回路への印加電圧の制御）
そこで、インバータ回路６０が印加電圧Ｖｍを制御することができるよう、サーボドライバ１（特に、制御回路１０）は、インバータ回路６０に供給するＰＷＭ信号のデューティＴｏｎを、「Ｔｄ＜Ｔｏｎ」となるよう調整する。
【００９９】
ここで、前述の通り、「Ｖｍ＝Ｖｐｎ×Ｔｏｎ／Ｔ」であるから、「Ｖｍ＝一定」とすると、デューティＴｏｎをデッドタイムＴｄよりも大きくする（長くする）ためには、Ｖｐｎを、つまり、インバータ回路６０に供給される（印加される）電圧を下げればよい。
【０１００】
したがって、制御回路１０は、降圧コンバータ回路４０に、整流回路３０からの直流電圧ＶｐｎをＶ’ｐｎに降圧させて、降圧後の電圧Ｖ’ｐｎを、インバータ回路６０に供給させる（印加させる）。降圧コンバータ回路４０が降圧後の直流電圧Ｖ’ｐｎをインバータ回路６０に出力する（印加する）ことにより、制御回路１０は、インバータ回路６０に供給するＰＷＭ信号のデューティＴｏｎを、「Ｔｄ＜Ｔｏｎ」となるよう調整することができる。「Ｔｄ＜Ｔｏｎ」を満たすデューティＴｏｎのＰＷＭ信号を供給されることにより、インバータ回路６０は、印加電圧Ｖｍを、指令電圧Ｖｏｕｔに等しくなるよう制御することができ、つまり、直流電圧Ｖ’ｐｎを変換して指令電圧Ｖｏｕｔを出力することができる。
【０１０１】
つまり、サーボドライバ１は、「印加電圧Ｖｍ＝指令電圧Ｖｏｕｔ」を満たす印加電圧Ｖｍを実現するに際し、「Ｖｍ＝Ｖ’ｐｎ×Ｔｏｎ／Ｔ」であるから、Ｖ’ｐｎを調整して、具体的には、Ｖ’ｐｎを小さくする（降圧する）ことにより、Ｔｏｎを大きくする。具体的には、サーボドライバ１において、降圧コンバータ回路４０は、制御回路１０（特に、降圧値算出部１０４）から通知された電圧補正値Ｖａの分だけ直流電圧Ｖｐｎを降圧した直流電圧Ｖ’ｐｎを、インバータ回路６０に出力する（印加する）。これにより、制御回路１０は、デッドタイムＴｄよりも大きなデューティＴｏｎのＰＷＭ信号をインバータ回路６０に出力して、インバータ回路６０によるサーボモータ２への印加電圧を「指令電圧Ｖｏｕｔ」に制御する。
【０１０２】
（降圧コンバータ回路のための電圧補正値算出方法の一例）
前述の通り、デッドタイムＴｄ中は上側スイッチング素子および下側スイッチング素子がともにＯＦＦになっているため、インバータ回路６０がサーボモータ２に印加する電圧（印加電圧Ｖｍ）は、インバータ回路６０とサーボモータ２との間を流れる電流の向きに応じて変化し、インバータ回路６０は、印加電圧Ｖｍを制御することができない。ここで、印加電圧Ｖｍは、一般に「Ｖｍ＝Ｖ’ｐｎ×Ｔｏｎ／Ｔ」と表すことができ、インバータ回路６０は、印加電圧Ｖｍを制御して、指令電圧Ｖｏｕｔに等しくしようとするので、「Ｔｄ≧Ｔｏｎ」は、以下のように表すことができる。すなわち、「Ｔｄ≧Ｔｏｎ」は、「Ｖｐｎ×Ｔｄ／Ｔ≧Ｖｏｕｔ」と表すことができる。つまり、インバータ回路６０からサーボモータ２への出力電圧（指令電圧Ｖｏｕｔ）が「Ｖｐｎ×Ｔｄ／Ｔ≧Ｖｏｕｔ」を満たす場合、インバータ回路６０は、デッドタイムＴｄが原因となって、指令電圧Ｖｏｕｔを出力することができない。
【０１０３】
そこで、「閾値電圧Ｖｔｈ＝Ｖｐｎ×Ｔｄ／Ｔ×ｎ（ｎは調整値）」として、降圧値算出部１０４は、出力電圧算出部１０３から通知された指令電圧Ｖｏｕｔと、閾値電圧Ｖｔｈと、を比較して、以下の処理を実行する。
【０１０４】
「指令電圧Ｖｏｕｔ＞閾値電圧Ｖｔｈ」である場合、降圧値算出部１０４は、降圧コンバータ回路４０に、「整流回路３０からの直流電圧Ｖｐｎを降圧する必要がない」ことを通知する。または、降圧値算出部１０４は、「電圧補正値Ｖａ＝０」を通知する。降圧値算出部１０４から、「整流回路３０からの直流電圧Ｖｐｎを降圧する必要がない」こと、または、「電圧補正値Ｖａ＝０」を通知された降圧コンバータ回路４０は、「整流回路３０からの直流電圧Ｖｐｎ」を降圧せずに、インバータ回路６０に印加する。すなわち、降圧コンバータ回路４０は、インバータ回路６０に、直流電圧Ｖ’ｐｎ（＝Ｖｐｎ）を印加する。
【０１０５】
「閾値電圧Ｖｔｈ≧指令電圧Ｖｏｕｔ」である場合、降圧値算出部１０４は、記憶部１０６の電圧補正値テーブル１０６１を参照して、指令電圧Ｖｏｕｔごとの電圧補正値Ｖａを取得する。降圧値算出部１０４は、取得した電圧補正値Ｖａを、降圧コンバータ回路４０に通知する。降圧値算出部１０４から電圧補正値Ｖａを通知された降圧コンバータ回路４０は、整流回路３０から印加されている直流電圧Ｖｐｎを、電圧補正値Ｖａ分だけ降圧した直流電圧Ｖ’ｐｎ（＝Ｖｐｎ−Ｖａ）を、インバータ回路６０に印加する。
【０１０６】
電圧補正値Ｖａは、直流電圧Ｖ’ｐｎ（＝Ｖｐｎ−Ｖａ）が、「Ｔｄ＜Ｔｏｎ」を満たすＴｏｎによって「Ｖ’ｐｎ×Ｔｏｎ／Ｔ＝Ｖｏｕｔ」となるように、例えば、指令電圧Ｖｏｕｔごとに予め算出されて、電圧補正値テーブル１０６１に格納されている。
【０１０７】
図３は、サーボドライバ１の記憶部１０６に格納されている電圧補正値テーブル１０６１の一例を示す図である。図３に示す例では、電圧補正値テーブル１０６１は、電圧補正値Ｖａと指令電圧Ｖｏｕｔとの対応関係を示す関数で表されている。図３に示す電圧補正値テーブル１０６１では、「閾値電圧Ｖｔｈ≧指令電圧Ｖｏｕｔ」の範囲において、指令電圧Ｖｏｕｔが増加するに従って、電圧補正値Ｖａが減少し、「指令電圧Ｖｏｕｔ＞閾値電圧Ｖｔｈ」の範囲において、「Ｖａ＝０」となっている。つまり、図３に示すように、Ｘ軸を「指令電圧Ｖｏｕｔ」とし、Ｙ軸を「電圧補正値Ｖａ」とした場合、電圧補正値テーブル１０６１は、「閾値電圧Ｖｔｈ≧指令電圧Ｖｏｕｔ」の範囲においては、右下がりのグラフとなる。また、「指令電圧Ｖｏｕｔ＞閾値電圧Ｖｔｈ」の範囲においては、「Ｖａ＝０」である直線となっている。例えば、「閾値電圧Ｖｔｈ≧指令電圧Ｖｏｕｔ」の範囲において、「電圧補正値Ｖａ」は、指令電圧Ｖｏｕｔと、「Ｔｄ＜Ｔ’ｏｎ」を満たすＴ’ｏｎと、により、「Ｖａ＝Ｖｐｎ−Ｖｏｕｔ×Ｔ／Ｔ’ｏｎ」と定義されてもよい。また、電圧補正値Ｖａは、「Ｖｏｕｔ＞Ｖｔｈ」の範囲において、「Ｖａ＝０」と定義されてもよい。
【０１０８】
ただし、電圧補正値テーブル１０６１は、図３に示す関数に限るものではない。「電圧補正値Ｖａ」は、傾きが負である「指令電圧Ｖｏｕｔ」の一次関数として定義されることは必須ではなく、指令電圧Ｖｏｕｔごとに決定することのできる値であればよい。電圧補正値Ｖａは、直流電圧Ｖ’ｐｎ（＝Ｖｐｎ−Ｖａ）が、「Ｔｄ＜Ｔｏｎ」を満たすＴｏｎによって、「Ｖ’ｐｎ×Ｔｏｎ／Ｔ＝Ｖｏｕｔ」となるように設定されればよい。
【０１０９】
また、前述の通り、降圧値算出部１０４が、電圧補正値テーブル１０６１を参照して、指令電圧Ｖｏｕｔに対応付けられた電圧補正値Ｖａを取得することは必須ではない。降圧値算出部１０４は、指令電圧Ｖｏｕｔを通知されると、所定の計算式（例えば、図３に例示されているような関数）を用いて指令電圧Ｖｏｕｔから電圧補正値Ｖａを算出し、算出した電圧補正値Ｖａを出力してもよい。すなわち、降圧値算出部１０４は、出力電圧算出部１０３から指令電圧Ｖｏｕｔを通知されると、「閾値電圧Ｖｔｈ≧指令電圧Ｖｏｕｔ」である場合、「Ｖａ＝Ｖｐｎ−Ｖｏｕｔ×Ｔ／Ｔ’ｏｎ」として、電圧補正値Ｖａを算出してもよい。また、降圧値算出部１０４は、「Ｖｏｕｔ＞Ｖｔｈ」である場合、「Ｖａ＝０」として、電圧補正値Ｖａを算出してもよい。
【０１１０】
§３．動作例
制御回路１０の出力電圧算出部１０３は、インバータ回路６０からサーボモータ２へ出力すべき電圧である指令電圧Ｖｏｕｔ（例えば、サーボモータ２の各相に印加すべき電圧である相電圧指令値Ｖｃｕ／Ｖｃｖ／Ｖｃｗ）を算出する。出力電圧算出部１０３は、算出した指令電圧Ｖｏｕｔ（相電圧指令値Ｖｃｕ／Ｖｃｖ／Ｖｃｗ）を、降圧値算出部１０４およびＰＷＭ信号生成部１０５に通知する。
【０１１１】
出力電圧算出部１０３から指令電圧Ｖｏｕｔを通知された降圧値算出部１０４は、記憶部１０６の電圧補正値テーブル１０６１を参照して、指令電圧Ｖｏｕｔごとの電圧補正値Ｖａを取得する。降圧値算出部１０４は、取得した電圧補正値Ｖａを、降圧コンバータ回路４０に通知する。降圧値算出部１０４は、出力電圧算出部１０３から指令電圧Ｖｏｕｔを通知されると、指令電圧Ｖｏｕｔから「指令電圧Ｖｏｕｔごとの電圧補正値Ｖａ」を算出し、算出した電圧補正値Ｖａを、降圧コンバータ回路４０に通知してもよい。
【０１１２】
降圧値算出部１０４から電圧補正値Ｖａを通知された降圧コンバータ回路４０は、整流回路３０から印加されている直流電圧Ｖｐｎを、電圧補正値Ｖａ分だけ降圧した直流電圧Ｖ’ｐｎ（＝Ｖｐｎ−Ｖａ）を、インバータ回路６０に出力する（印加する）。なお、前述の通り降圧値算出部１０４が降圧コンバータ回路４０の出力電圧Ｖ‘ｐｎを直接制御する構成にしてもよい。
【０１１３】
ＰＷＭ信号生成部１０５は、「インバータ回路６０に、直流電圧Ｖ’ｐｎを指令電圧Ｖｏｕｔ（相電圧指令値Ｖｃｕ／Ｖｃｖ／Ｖｃｗ）へと変換させる」ＰＷＭ信号を生成し、生成したＰＷＭ信号をインバータ回路６０の各スイッチング素子に出力する。特に、ＰＷＭ信号生成部１０５は、デッドタイムＴｄよりも長いデューティＴｏｎ（具体的には、デューティ指示値Ｄｃｕｈ／Ｄｃｖｈ／Ｄｃｗｈ／Ｄｃｕｌ／Ｄｃｖｌ／Ｄｃｗｌの各々に対応する、ＰＷＭ信号のオン期間・オンの時間幅）のＰＷＭ信号を生成する。
【０１１４】
インバータ回路６０は、「直流電圧Ｖ’ｐｎを、制御回路１０からのＰＷＭ信号を用いて変換した指令電圧Ｖｏｕｔ（相電圧指令値Ｖｃｕ／Ｖｃｖ／Ｖｃｗ）」を、サーボモータ２に出力する（印加する）。
【０１１５】
ここで、インバータ回路６０（特に、各スイッチング素子）に供給されるＰＷＭ信号のデューティＴｏｎはデッドタイムＴｄよりも大きい。それゆえ、インバータ回路６０は、デッドタイムによる影響を受けずに、制御回路１０の指令通りに、つまり、ＰＷＭ信号に従って、サーボモータ２へ所望の電圧（指令電圧Ｖｏｕｔ）を供給する（印加する）ことができる。したがって、サーボドライバ１は、デッドタイムＴｄによる影響を受けずに、サーボモータ２に所望の駆動を実行させることができる。
【０１１６】
つまり、降圧値算出部１０４は、「インバータ回路６０が、『Ｔｏｎ＞Ｔｄ』を満たすデューティＴｏｎのＰＷＭ信号によって、直流電圧Ｖ’ｐｎを指令電圧Ｖｏｕｔへと変換する」ことができるように、電圧補正値Ｖａを降圧コンバータ回路４０に出力する。具体的には、降圧値算出部１０４は、降圧コンバータ回路４０に電圧補正値Ｖａを通知し、降圧コンバータ回路４０に、「整流回路３０からの直流電圧Ｖｐｎを、電圧補正値Ｖａ分だけ降下した」直流電圧Ｖ’ｐｎを、インバータ回路６０に出力させる（印加させる）。
【０１１７】
降圧値算出部１０４から電圧補正値Ｖａを通知された降圧値算出部１０４は、整流回路３０からの直流電圧Ｖｐｎを、電圧補正値Ｖａ分だけ降下した直流電圧Ｖ’ｐｎを、インバータ回路６０に印加する。
【０１１８】
インバータ回路６０に印加される電圧が、ＶｐｎからＶ’ｐｎへと降圧されることにより、制御回路１０は、インバータ回路６０に指令電圧Ｖｏｕｔを出力させるためのＰＷＭ信号のデューティＴｏｎを、デッドタイムＴｄよりも大きく（長く）することができる。制御回路１０は、デッドタイムＴｄよりも大きなデューティＴｏｎのＰＷＭ信号を、インバータ回路６０（特に、インバータ回路６０の各スイッチング素子）に出力する。
【０１１９】
インバータ回路６０は、各スイッチング素子をＰＷＭ信号に従ってオン／オフすることにより、降圧コンバータ回路４０からの直流電圧Ｖ’ｐｎを、指令電圧Ｖｏｕｔ（相電圧指令値Ｖｃｕ／Ｖｃｖ／Ｖｃｗ）に変換してサーボモータ２に印加する（出力する）。
【０１２０】
§４．変形例
これまでに説明してきた実施形態においては、本発明に係るモータ制御装置として、サーボドライバ１について説明を行なってきた。しかしながら、本発明の一態様に係るモータ制御装置がサーボドライバであることは必須ではない。本発明の一態様に係るモータ制御装置としてインバータを使用しても、本発明を適用することができる。サーボドライバ１は、ＡＣサーボモータドライバであってもよいし、ＤＣブラシレスモータドライバであってもよい。
【０１２１】
また、これまでに説明してきた実施形態においては、エンコーダ３から与えられるモータ位置に基づいて、サーボドライバ１がサーボモータ２を制御する例を挙げたが、サーボドライバ１がモータ位置を用いてサーボモータ２の駆動を制御することは必須ではない。エンコーダ３の代わりに、例えば、サーボモータ２のトルクを検出するトルクセンサを設け、サーボドライバ１は、トルクセンサから与えられるトルク値に基づいて、サーボモータ２を制御してもよい。また、エンコーダ３の代わりに、例えば、サーボモータ２の速度を検出する速度センサを設け、サーボドライバ１は、速度センサから与えられる速度値に基づいて、サーボモータ２を制御してもよい。さらに、サーボドライバ１は、電流検出回路７０からモータ位置を推定する構成であってもよい。
【０１２２】
サーボドライバ１にとって、電圧検出回路５０を備えることは必須ではなく、サーボドライバ１は、例えば、降圧コンバータ回路４０について、オープンループ制御を実行することにより、インバータ回路６０への印加電圧を制御してもよい。
【０１２３】
これまで、サーボドライバ１が、サーボモータ２に流れる電流を検出して、検出した電流を用いて、サーボモータ２に出力すべき電力の電圧値を示す指令電圧Ｖｏｕｔを算出する例を説明してきた。しかしながら、サーボドライバ１が、サーボモータ２に流れる電流を用いて指令電圧Ｖｏｕｔを算出することは必須ではない。サーボドライバ１は、サーボモータ２の駆動に伴って発生する、サーボモータ２における所定の物理量（例えば、サーボモータ２に流れる電流）を検出し、検出した物理量を用いて指令電圧Ｖｏｕｔを算出することができればよい。
【０１２４】
また、これまでに説明してきた実施形態においては、サーボモータ２が３相モータである例について述べたが、サーボドライバ１は、３相モータ以外のモータの制御についても適用することができる。多相モータを制御する場合、サーボドライバ１は、インバータ回路６０において、上下一対のアームを相数分だけ設ければよい。例えば、２相モータを制御する場合、ＰＷＭ信号の数は４つでよい。同様にして、サーボドライバ１は、４相以上の多相モータの制御装置にも適用することができる。
【０１２５】
これまでに説明してきた実施形態において、インバータ回路６０のスイッチング素子は、例えば、ＦＥＴでもよく、また、ＩＧＢＴ（絶縁ゲート型バイポーラモードトランジスタ）のような他のスイッチング素子を使用してもよい。
【０１２６】
サーボドライバ１により駆動を制御されるモータは、サーボモータ２に限られず、サーボドライバ１は、ステッピングモータ（ブラシレスモータ）等のモータを制御する場合にも適用することができる。また、ＡＣ誘導モータ、ＳＲモータなど、交流駆動するモータを制御する場合にも、サーボドライバ１を用いることができる。
【０１２７】
サーボドライバ１が、３相交流電源２０および整流回路３０を備えることは必須ではなく、サーボドライバ１は主回路用電力（つまり、インバータ回路６０に供給される電力）として、直流電力（直流電源）を供給されてもよい。サーボドライバ１は、降圧コンバータ回路４０が、「『インバータ回路６０からサーボモータ２へと出力される電圧』を制御するＰＷＭ信号のデューティＴｏｎが、デッドタイムＴｄよりも大きくなる」ように、インバータ回路６０への印加電圧を降圧できればよい。サーボドライバ１が、「主回路電源として３相交流電源２０を備え、３相交流電源２０の出力電力を整流回路３０により整流してインバータ回路６０に供給する」ことは必須ではなく、サーボドライバ１は、主回路電源として、直流電源を備えてもよい。
【０１２８】
これまで、サーボドライバ１が降圧コンバータ回路４０を備え、降圧コンバータ回路４０によって、インバータ回路６０に印加される電圧（直流電圧Ｖ’ｐｎ）を制御する例を説明してきた。しかしながら、サーボドライバ１が降圧コンバータ回路４０を備えることは必須ではない。サーボドライバ１は、ＰＷＭ信号のデューティＴｏｎが、インバータ回路６０のスイッチング素子の短絡を防止するために予め設定されているデッドタイムＴｄよりも大きくなるよう、インバータ回路６０に印加される電圧（直流電圧Ｖ’ｐｎ）を制御できればよい。例えば、サーボドライバ１は、昇圧インバータ回路を備え、指令電圧Ｖｏｕｔが閾値電圧Ｖｔｈ以下であるか否かに応じて、昇圧インバータ回路に、インバータ回路６０に印加する電圧を切り替えさせてもよい。具体的には、サーボドライバ１は、（１）指令電圧Ｖｏｕｔが閾値電圧Ｖｔｈよりも大きい場合、昇圧コンバータ回路に、インバータ回路６０へ電圧Ｖｏｒｄ（通常電圧）を印加させ、（２）指令電圧Ｖｏｕｔが閾値電圧Ｖｔｈ以下である場合、昇圧インバータ回路に、電圧Ｖｏｒｄを指令電圧Ｖｏｕｔに応じて降圧させた電圧を、インバータ回路６０へ印加させてもよい。また、サーボドライバ１は、電圧を制御可能な、コンバータ回路以外の周知の構成によって、インバータ回路６０に印加される電圧（直流電圧Ｖ’ｐｎ）を制御してもよい。
【０１２９】
また、前述の通り、サーボドライバ１がＰＷＭ変調を採用することは必須ではない。サーボドライバ１は、ＳＶ−ＰＷＭ方式の変調を採用してもよい。
【０１３０】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【０１３１】
１  サーボドライバ
２  サーボモータ
１０  制御回路
４０  降圧コンバータ回路
６０  インバータ回路
Ｔｄ  デッドタイム
Ｔｏｎ  デューティ
Ｖｔｈ  閾値電圧（所定値）
Ｖｏｕｔ  指令電圧
【図１】
2019140804.tif 000003
【図２】
2019140804.tif 000004
【図３】
2019140804.tif 000005
【図４】
2019140804.tif 000006
【図５】
2019140804.tif 000007
【図６】
2019140804.tif 000008
【図７】
2019140804.tif 000009