(57)【要約】【課題】より不都合の少ない新規な構成のモータ制御装置を得る。【解決手段】実施形態のモータ制御装置は、制御指令値決定部と、モータ制御部と、を備えている。制御指令値決定部は、第一指令値に応じて変化する波形の特徴が設定された第一信号から得られた第一値と、第一指令値のデータを示す第二信号から得られた第二値と、に基づいて第二指令値を決定する。モータ制御部は、第二指令値に基づいてモータを制御する。【選択図】図２
2019161714.tif 000002
【特許請求の範囲】
【請求項１】
第一指令値に応じて変化する波形の特徴が設定された第一信号から得られた第一値と、前記第一指令値のデータを示す第二信号から得られた第二値と、に基づいて第二指令値を決定する制御指令値決定部と、
前記第二指令値に基づいてモータを制御するモータ制御部と、
を備えた、モータ制御装置。
【請求項２】
前記第一値および前記第二値のうち一方が得られなかった場合に第一通知信号を送信するよう通信部を制御する第一通知制御部を備えた、請求項１に記載のモータ制御装置。
【請求項３】
センサによる検出値を示す第二通知信号を送信するよう前記通信部を制御する第二通知制御部を備えた、請求項２に記載のモータ制御装置。
【請求項４】
前記第一信号はＰＷＭ信号である、請求項１〜３のうちいずれか一つに記載のモータ制御装置。
【請求項５】
前記第二信号はＣＡＮ信号である、請求項１〜４のうちいずれか一つに記載のモータ制御装置。
【請求項６】
コンピュータを、
第一指令値に応じて変化する波形の特徴が設定された第一信号から得られた第一値と、前記第一指令値のデータを示す第二信号から得られた第二値と、を比較する比較部、および
前記比較部による比較結果に基づいて第二指令値を決定する制御指令値決定部、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、モータ制御装置およびプログラムに関する。
【背景技術】
【０００２】
従来、主制御装置と通信可能に構成され、主制御装置から受信した回転数指令に基づいてモータを制御するモータ制御装置が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２３３１７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、より不都合の少ない新規な構成のモータ制御装置が得られれば、有益である。
【課題を解決するための手段】
【０００５】
実施形態のモータ制御装置は、制御指令値決定部と、モータ制御部と、を備えている。制御指令値決定部は、第一指令値に応じて変化する波形の特徴が設定された第一信号から得られた第一値と、第一指令値のデータを示す第二信号から得られた第二値と、に基づいて第二指令値を決定する。モータ制御部は、第二指令値に基づいてモータを制御する。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施形態のモータシステムの模式的かつ例示的なブロック図である。
【図２】図２は、実施形態のモータ制御装置の模式的かつ例示的なブロック図である。
【図３】図３は、実施形態のモータ制御装置において実行される処理の手順を示す模式的かつ例示的なフローチャートである。
【図４】図４は、実施形態のモータシステムとしてのドローンの模式的かつ例示的な斜視図である。
【発明を実施するための形態】
【０００７】
以下、モータ制御装置および当該モータ制御装置を含むモータシステムの例示的な実施形態が開示される。以下に示される実施形態の構成や制御（技術的特徴）は、一例である。また、本明細書において、序数は、単に信号や、値、構成要素等を区別するためだけに用いられており、優先順位や、順番を示すものではない。
【０００８】
図１は、モータシステム１００のブロック図である。図１に示されるように、モータシステム１００は、主制御装置１０と、複数のモータ制御装置２０と、複数のモータ３０と、を有している。
【０００９】
主制御装置１０は、各モータ制御装置２０と通信可能に構成されている。主制御装置１０は、各モータ制御装置２０に、モータ３０の回転速度や回転方向の指令値（第一指令値）を示す信号を送信する。第一指令値は、送信指令値とも称されうる。
【００１０】
モータ制御装置２０は、受信した主制御装置１０からの信号を復調したり復号したりすることにより得た値（受信値）から指令値（第二指令値）を決定し、当該第二指令値に基づいてモータ３０を制御する。第二指令値は、制御指令値や決定指令値とも称されうる。モータ３０は、例えば、３相ブラシレスモータである。
【００１１】
ここで、本実施形態では、主制御装置１０は、複数のモータ制御装置２０のうち少なくとも一つのモータ制御装置２０に対し、各タイムステップにおいて、一つの第一指令値を示す複数の信号を並列に送信する。すなわち、この主制御装置１０とモータ制御装置２０との間では、通信、特に第一指令値を示す信号の送信に関して、多重系が構成されていることになる。並列に送信された第一指令値を示す複数の信号のモータ制御装置２０における取り扱いについては後述する。
【００１２】
図２は、モータ制御装置２０のブロック図である。図２に示されるように、主制御装置１０とモータ制御装置２０との間では、第一指令値を示す信号の送信に関し、多重系が構成されている。
【００１３】
モータ制御装置２０は、第一通信回路２１、第二通信回路２２、モータ制御回路２３、駆動回路２４、インバータ２５、および検出部２６を備えている。
【００１４】
主制御装置１０は、各タイムステップにおいて、モータ制御装置２０に向けて、モータ３０に対する一つの第一指令値を、第一信号および第二信号によって並行して送信する。第一信号および第二信号は、互いに異なる通信方式（通信プロトコル、ハードウエア構成）によって伝送される信号である。
【００１５】
第一信号には、モータ３０の第一指令値に応じて変化する波形の特徴が設定されている。第一信号は、例えば、pulse  width  modulation（ＰＷＭ）信号である。この場合、第一信号は、一定の周期で出力されるパルス信号であり、そのパルス幅（デューティ比、ハイレベル（Ｈ）であり時間長）が大きいほど指令値の高い値を示すよう、設定されている。例えば、第一指令値が、回転速度を示す場合、パルス幅が大きいほど、回転速度が高くなる。第一指令値とパルス幅との関係は線形である。このような例では、パルス幅が第一指令値に応じて変化する波形の特徴の一例である。
【００１６】
第一通信回路２１は、第一信号を受信し、当該第一信号が示す第一値（第一受信値）を取得する。第一通信回路２１は、例えば、所定の閾値を超えた時間間隔に対応したカウント値を取得し、当該カウント値に対応した第一値を取得する。カウント値が高いほど第一値は大きくなる。第一通信回路２１は、取得した第一値を、モータ制御回路２３の演算処理部２３２に送る。
【００１７】
第二信号は、第一指令値のデータを示すディジタル信号である。第二信号は、例えば、controller  area  network（ＣＡＮ）信号である。
【００１８】
第二通信回路２２および第二通信回路制御部２３１は、第二信号を受信し、第二信号が示す第二値（第二受信値）を取得する。この場合、第二通信回路２２は、ＣＡＮ−ＨおよびＣＡＮ−Ｌの差動信号をシリアル信号（受信信号）に変換し、第二通信回路制御部２３１は、シリアル信号から第二値を取得する。第二通信回路２２は、例えば、ＣＡＮトランシーバであり、第二通信回路制御部２３１は、例えば、ＣＡＮコントローラである。
【００１９】
第二通信回路２２および第二通信回路制御部２３１は、主制御装置１０に情報を通知するための信号（第一通知信号、第二通知信号）を送信することができる。この場合、第二通信回路制御部２３１は、伝達する情報を示すシリアル信号（送信信号）を生成し、第二通信回路２２は、シリアル信号をＣＡＮ−ＨおよびＣＡＮ−Ｌの差動信号（第一通知信号、第二通知信号）に変換する。第二通信回路２２および第二通信回路制御部２３１は、通信部の一例である。主制御装置１０に通知される情報については後述する。
【００２０】
モータ制御回路２３は、第二通信回路制御部２３１の他、演算処理部２３２と、モータ制御部２３３と、記憶部２３４と、を有している。モータ制御回路２３は、例えば、micro  control  unit（ＭＣＵ）である。
【００２１】
演算処理部２３２は、比較部２３２ａと、制御指令値決定部２３２ｂと、第一通知制御部２３２ｃと、第二通知制御部２３２ｄと、検出値取得部２３２ｅと、を有している。演算処理部２３２は、例えば、micro  processing  unit（ＭＰＵ）である。
【００２２】
比較部２３２ａは、第一信号から取得された第一値と、第二信号から取得された第二値と、を比較する。制御指令値決定部２３２ｂは、比較部２３２ａにおける第一値と第二値との比較結果に基づいて、第二指令値を決定する。
【００２３】
主制御装置１０は、各タイムステップにおいて、モータ３０に対する一つの第一指令値に基づいて第一信号および第二信号を生成している。よって、対応するタイミングで取得された第一値および第二値、言い換えると、主制御装置１０において同じ第一指令値に対応して生成された第一信号および第二信号から得られた第一値および第二値は、理想的には同じ値である。しかしながら、装置の故障や、ノイズの混入、変復調の精度等により、第一信号および第二信号の受信状況に差異が生じたり、第一値と第二値との差異が生じたりする虞がある。そこで、制御指令値決定部２３２ｂは、以下のように、第二指令値を決定することができる。
【００２４】
（１）第一値と第二値との差（の絶対値）が所定値（第一閾値）以下である場合
（１）の場合、制御指令値決定部２３２ｂは、第一値および第二値のうちいずれか一方を、現在のタイムステップでの第二指令値として決定することができる。また、この場合、制御指令値決定部２３２ｂは、例えば、第二値を、第二指令値として決定することができる。一般的には、ＰＷＭ信号よりもＣＡＮ信号の方がノイズ等の影響を受け難く信頼性が高い場合が多いからである。
【００２５】
（２）第一値と第二値との差（の絶対値）が所定値（第一閾値）よりも大きい場合
（２）の場合、制御指令値決定部２３２ｂは、例えば、第一値および第二値のうち直前のタイムステップでの第二指令値に近い方、すなわち直前のタイムステップでの第二指令値との差の絶対値が小さい方を、現在のタイムステップでの第二指令値として決定することができる。ただし、この場合、制御指令値決定部２３２ｂは、第一値あるいは第二値と前のタイムステップでの第二指令値との差が、所定値（第二閾値）以上である場合には、前のタイムステップでの第二指令値を現在のタイムステップでの第二指令値として決定してもよい。なお、第二閾値は、第一閾値よりも大きい。
【００２６】
（３）第一信号が受信でき（第一値有り）第二信号が受信できなかった（第二値無し）場合、または、
（４）第一信号が受信でき（第一値無し）第二信号が受信できなかった（第二値有り）場合
（３）または（４）の場合であって、第一値または第二値と前のタイムステップでの第二指令値との差が所定値（第二閾値）以下である場合には、得られた第一値（（３）の場合）または得られた第二値（（４）の場合）を、第二指令値として決定することができる。他方、第一値または第二値と前のタイムステップでの第二指令値との差が所定値（第二閾値）よりも大きい場合には、前のタイムステップでの第二指令値を現在のタイムステップでの第二指令値として決定することができる。
【００２７】
（５）主制御装置１０から第一値および第二値のうち一方を第二指令値とするよう指示された場合
（５）の場合、モータ制御部２３３は、当該指示、言い換えると、主制御装置１０からの第一値および第二値のうち一方を指定する指示情報にしたがって、第一値および第二値のうち一方を第二指令値として決定する。演算処理部２３２は、例えば、第二通信回路２２および第二通信回路制御部２３１を経由して、当該指示情報を示す指示信号を受け取ることができる。
【００２８】
第一通知制御部２３２ｃは、第一信号および第二信号のうち一方が受信できなかった場合、言い換えると第一値および第二値のうち一方が得られ他方が得られなかった場合（上記（３）または（４）であった場合）、あるいは、第一値と第二値との差が所定値（第一閾値）よりも大きかった場合、すなわち上記（２）であった場合に、第一通知情報を生成する。第一通知情報には、例えば、受信できなかった信号（第一信号または第二信号）を示す情報や、受信された信号から得られた第一値および第二値のうち少なくとも一つ、上記（２）、（３）、または（４）の事象が発生した時刻を示す情報、その他の情報等が、含まれうる。そして、第一通知制御部２３２ｃは、第一通知情報を示す第一通知信号を送信するよう、第二通信回路制御部２３１ひいては第二通信回路２２を制御する。
【００２９】
第二通知制御部２３２ｄは、第二通知情報を生成する。第二通知情報は、検出値取得部２３２ｅで得られた検出値を主制御装置１０のような他の装置に通知するための情報である。第二通知情報には、例えば、検出値を示す情報や、当該検出値の検出時刻を示す情報、その他の情報等が、含まれうる。第二通知制御部２３２ｄは、第二通知情報を、第一信号および第二信号の受信状況や、第一値および第二値の差等によらず、例えば、一定の時間間隔をあけた時刻のような所定の時刻で生成することができる。そして、第二通知制御部２３２ｄは、第二通知情報を示す第二通知信号を送信するよう、第二通信回路制御部２３１ひいては第二通信回路２２を制御する。
【００３０】
検出値取得部２３２ｅは、検出部２６（センサ）における検出信号から検出値を取得する。
【００３１】
モータ制御部２３３は、モータ３０が制御指令値決定部２３２ｂで決定された第二指令値で制御されるよう、駆動回路２４に制御信号を送る。モータ制御部２３３は、例えば、ベクトル制御部であるが、これには限定されず、Ｖ／ｆ制御部等であってもよい。
【００３２】
モータ制御回路２３は、記憶部２３４として、read  only  memory（ＲＯＭ）や、random  access  memory（ＲＡＭ）等の主記憶部や、solid  state  drive（ＳＳＤ）、フラッシュメモリ等の補助記憶部を含む。
【００３３】
演算処理部２３２は、ＲＯＭや、ＳＳＤ、フラッシュメモリ等に記憶されたプログラム（アプリケーション）を読み出して実行する。演算処理部２３２は、プログラムにしたがって動作することにより、演算処理部２３２に含まれる各部、すなわち、比較部２３２ａや、制御指令値決定部２３２ｂ、第一通知制御部２３２ｃ、第二通知制御部２３２ｄ、検出値取得部２３２ｅ等として、機能する。この場合、プログラムには、上記各部に対応するモジュールが含まれる。
【００３４】
プログラムは、それぞれインストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭや、ＦＤ、ＣＤ−Ｒ、ＤＶＤ、ＵＳＢメモリ等の、コンピュータで読み取り可能な記録媒体（記憶媒体）に記録されて提供されうる。また、プログラムは、通信ネットワークに接続されたコンピュータの記憶部に記憶され、ネットワーク経由でダウンロードされることによって導入されうる。また、プログラムは、ＲＯＭ等に予め組み込まれてもよい。
【００３５】
なお、演算処理部２３２の全部あるいは一部がハードウエアによって構成される場合、演算処理部２３２には、例えば、field  programmable  gate  array（ＦＰＧＡ）や、application  specific  integrated  circuit（ＡＳＩＣ）等が含まれうる。
【００３６】
駆動回路２４は、モータ制御部２３３から得た制御信号に基づいてインバータ２５に含まれる各相のスイッチング素子（不図示）の開閉を制御する。スイッチング素子は、例えば、metal-oxide-semiconductor  field  effect  transistor  （ＭＯＳ−ＦＥＴ）や、insulated  gate  bipolar  transistor（ＩＧＢＴ）等である。駆動回路２４は、ゲートドライバと称されうる。
【００３７】
インバータ２５は、駆動回路２４によるスイッチング素子の開閉の切り替えにより、直流から３相交流を生成する。インバータ２５は、相毎にブリッジ接続された複数のスイッチング素子（不図示）を含む。スイッチング素子の開閉の切り替えによって、電源（不図示）からモータ３０の各相の巻線に印加される電力が変化する。モータ３０の３相は、Ｙ結線（スター結線）や、Δ結線等で接続されている。なお、モータ３０の各巻線には、電力増幅回路等が設けられてもよい。
【００３８】
また、モータ制御回路２３は、検出部２６として、例えば、モータ３０の各相の電流値を検出するセンサや、モータ３０の回転速度を検出する回転センサ、温度センサ等を含むことができる。
【００３９】
図３は、モータ制御装置２０において実行される処理の手順を示すフローチャートである。
【００４０】
図３に示されるように、演算処理部２３２は、第一信号から得られた第一値を第一通信回路２１から取得するとともに（Ｓ１０）、第二信号から得られた第二値を第二通信回路制御部２３１から取得する（Ｓ１１）。Ｓ１０およびＳ１１の順番は入れ替わってもよい。
【００４１】
次に、演算処理部２３２は、比較部２３２ａとして機能し、第一値と第二値とを比較する（Ｓ１２）。
【００４２】
次に、演算処理部２３２は、制御指令値決定部２３２ｂとして機能し、上述した（１）〜（５）の場合分けにしたがって、第二指令値を決定する。なお、Ｓ１０において第一値が得られず、かつＳ１１において第二値が得られなかった場合には、モータ３０が停止するよう、第二指令値を決定することができる（Ｓ１３）。
【００４３】
次に、モータ制御部２３３は、モータ３０が第二指令値の回転速度となるよう、駆動回路２４ひいてはインバータ２５を制御する（Ｓ１４）。
【００４４】
次に、演算処理部２３２は、第二通知制御部２３２ｄとして機能し、所定のタイムステップにおいて、第二通知情報を主制御装置１０のような他の装置に通知するための第二通知情報を生成する。また、演算処理部２３２は、上記（２），（３），および（４）の事象が発生した場合にあっては、第一通知制御部２３２ｃとして機能し、第一通知情報を主制御装置１０のような他の装置に通知するための第二通知情報を生成する。また、これらの場合、第二通信回路制御部２３１および第二通信回路２２は、第一通知情報を通知するための第一通知信号を他の装置に送信するとともに、第二通知情報を通知するための第二通知信号を他の装置に送信する（Ｓ１５）。
【００４５】
図４は、モータシステム１００を、ドローンとして構成した場合の当該ドローンの斜視図である。モータシステム１００（ドローン）は、ボディ１０１と、複数（例えば四つ）のプロペラ３１と、各プロペラ３１を回転させる複数（例えば四つ）のモータ３０と、を有している。ボディ１０１には、検出部２７として、ボディ１０１（モータシステム１００）の姿勢を検出する慣性計測装置２７Ａや、複数のカメラ２７Ｂが設けられている。主制御装置１０は、これら検出部２７の検出値に基づいて、第一指令値を決定し、各モータ３０を制御することができる。
【００４６】
以上、説明したように、本実施形態のモータ制御装置２０では、制御指令値決定部２３２ｂは、第一信号から得られた第一値と、第二信号から得られた第二値と、に基づいて第二指令値を決定する。第一信号は、モータ３０の第一指令値に応じて変化する波形の特徴が設定された信号であり、第二信号は、当該第一指令値のデータを示す信号である。このような構成によれば、第一指令値を示す信号の送信に関して、多重系が構成されるため、よりロバスト性の高い、より冗長性の高い、あるいはフェイルセーフ機能を有したモータシステム１００を実現することができる。
【００４７】
また、モータ制御装置２０は、第一信号および第二信号のうち一方が受信できなかった場合、言い換えると第一値および第二値のうち一方が得られなかった場合に、第一通知信号を送信するよう第二通信回路２２および第二通信回路制御部２３１（通信部）を制御する第一通知制御部２３２ｃを備えている。このような構成によれば、主制御装置１０は、例えば、第一通知信号から得られる第一通知情報に基づいて、モータ制御装置２０における第一信号および第二信号の受信状況に応じて、モータ制御装置２０に第一値および第二値のうち一方を第二指令値とする指示情報を示す指示信号を送信することにより、モータ制御装置２０によるモータ３０の制御を継続することができる。また、主制御装置１０は、例えば、第一通知信号から得られる第一通知情報に基づいて、モータ３０の出力の低下を他のモータ３０の出力を調整することで安定飛行できるように、他のモータ制御装置２０を制御することができる。すなわち、このような構成によれば、より一層ロバスト性の高いモータシステム１００を実現することができる。
【００４８】
また、モータ制御装置２０は、検出部２６（センサ）による検出値を示す第二通知信号を送信するよう第二通信回路２２および第二通信回路制御部２３１（通信部）を制御する第二通知制御部２３２ｄを備えている。このような構成によれば、例えば、主制御装置１０は、第二通知信号から得られる第二通知情報に基づいて、故障予測演算等を実行することができる。
【００４９】
以上、本発明の実施形態を例示したが、上記実施形態は一例であって、発明の範囲を限定することは意図していない。実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、組み合わせ、変更を行うことができる。実施形態は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。また、実施形態の構成や形状は、部分的に入れ替えて実施することも可能である。また、各構成や形状等のスペック（構造や、種類、方向、形式、大きさ、長さ、幅、厚さ、高さ、角度、数、配置、位置、材質等）は、適宜に変更して実施することができる。
【００５０】
例えば、モータやモータ制御装置の数は、４には限定されない。また、モータシステムは、ドローンとは異なるシステムや装置として構成することができる。また、第一指令値に応じて変化する波形の特徴は、パルス幅（デューティ比）には限定されない。また、モータ制御装置は、例えば、第二通信回路および第二通信回路制御部とは別の通信部を備えてもよい。
【符号の説明】
【００５１】
２０…モータ制御装置、２２…第二通信回路、２３１…第二通信回路制御部、２３２ｂ…制御指令値決定部、２３２ｃ…第一通知制御部、２３２ｄ…第二通知制御部、２６…検出部（センサ）。
【図１】
2019161714.tif 000003
【図２】
2019161714.tif 000004
【図３】
2019161714.tif 000005
【図４】
2019161714.tif 000006