(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024139799
(43)【公開日】2024-10-10
(54)【発明の名称】モータ制御装置及びモータ制御プログラム
(51)【国際特許分類】
H02P 29/00 20160101AFI20241003BHJP
【FI】
H02P29/00
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023050703
(22)【出願日】2023-03-28
(71)【出願人】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】110003166
【氏名又は名称】弁理士法人山王内外特許事務所
(72)【発明者】
【氏名】石井 智範
(72)【発明者】
【氏名】川阪 泰平
(72)【発明者】
【氏名】宮本 直生
【テーマコード(参考)】
5H501
【Fターム(参考)】
5H501HB07
5H501JJ03
5H501JJ17
5H501JJ30
5H501LL51
5H501MM09
(57)【要約】
【課題】モータを制御するための制御情報を受信したタイミングで、モータの制御に関するパスタスクを演算処理することができるモータ制御装置を提供する。
【解決手段】モータ制御装置40は、通信部31が外部通信機器11から一定の通信周期で受信した、モータ21を制御するための制御情報を取得した後、この取得した制御情報の割り込み処理を行う割り込み処理部41と、モータ21の制御に関する演算処理項目が含まれるパスタスクの演算処理時間を、割り込み処理部41によって割り込みされた制御情報の通信周期よりも短い時間に設定し、パスタスクの演算処理開始時刻を、割り込み処理部41による制御情報の割り込み時刻に同期させる演算処理部42と、演算処理部42によって演算処理されたパスタスクの演算処理結果を、モータ21を制御するためのインバータ部33に出力するモータ制御部43とを備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
通信部が外部通信機器から一定の通信周期で受信した、モータを制御するための制御情報を取得した後、この取得した制御情報の割り込み処理を行う割り込み処理部と、
モータの制御に関する演算処理項目が含まれるパスタスクの演算処理時間を、前記割り込み処理部によって割り込みされた制御情報の通信周期よりも短い時間に設定し、前記パスタスクの演算処理開始時刻を、前記割り込み処理部による制御情報の割り込み時刻に同期させる演算処理部と、
前記演算処理部によって演算処理されたパスタスクの演算処理結果を、前記モータを制御するためのインバータ部に出力するモータ制御部とを備える
ことを特徴とするモータ制御装置。
【請求項2】
前記演算処理部は、
前記割り込み処理部によって割り込みされた1つのパスタスクが、互いに種類が異なる複数の演算処理項目から構成されるパスタスクである場合、そのパスタスクを、演算処理項目の種類ごとに分割して、分割タスクを生成し、
分割した分割パスタスクのうち、モータの制御に関する演算処理項目となる分割パスタスクの演算処理開始時刻を、前記割り込み処理部による制御情報の割り込み時刻に同期させる
ことを特徴とする請求項1記載のモータ制御装置。
【請求項3】
前記演算処理部は、
モータの制御に関する演算処理項目となる分割パスタスクを、モータの制御以外に関する演算処理項目となる分割パスタスクよりも優先して、演算処理する
ことを特徴とする請求項2記載のモータ制御装置。
【請求項4】
コンピュータを、
通信部が外部通信機器から一定の通信周期で受信した、モータを制御するための制御情報を取得した後、この取得した制御情報の割り込み処理を行う割り込み処理部と、
モータの制御に関する演算処理項目が含まれるパスタスクの演算処理時間を、前記割り込み処理部によって割り込みされた制御情報の通信周期よりも短い時間に設定し、前記パスタスクの演算処理開始時刻を、前記割り込み処理部による制御情報の割り込み時刻に同期させる演算処理部と、
前記演算処理部によって演算処理されたパスタスクの演算処理結果を、前記モータを制御するためのインバータ部に出力するモータ制御部
として機能させるためのモータ制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モータ制御装置及びモータ制御プログラムに関する。
【背景技術】
【0002】
特許文献1には、モータを制御するための技術が開示されている。この特許文献1に開示されたモータ制御技術は、モータを制御するための外部信号を出力する外部通信機器と、その外部信号に基づいてモータを制御するモータ制御装置(マイクロコンピュータ)とを備えている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示されたモータ制御技術は、外部通信機器とモータ制御装置との間における通信の高速化及び安定化を図ることで、モータの応答性を向上させるものであり、モータ制御装置が、外部信号を受信してから、演算処理結果をモータに接続するインバータ部に出力するまでの期間に、対応するものではない。外部通信機器からの外部信号の受信タイミングによっては、遅延した演算処理結果が、インバータ部に出力することになる。この結果、モータの応答性及びモータ制御の安定性が低下するおそれがある。
【0005】
本開示は、上記のような課題を解決するためになされたもので、モータを制御するための制御情報を受信したタイミングで、モータの制御に関するパスタスクを演算処理することができるモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示に係るモータ制御装置は、通信部が外部通信機器から一定の通信周期で受信した、モータを制御するための制御情報を取得した後、この取得した制御情報の割り込み処理を行う割り込み処理部と、モータの制御に関する演算処理項目が含まれるパスタスクの演算処理時間を、割り込み処理部によって割り込みされた制御情報の通信周期よりも短い時間に設定し、パスタスクの演算処理開始時刻を、割り込み処理部による制御情報の割り込み時刻に同期させる演算処理部と、演算処理部によって演算処理されたパスタスクの演算処理結果を、モータを制御するためのインバータ部に出力するモータ制御部とを備えるものである。
【発明の効果】
【0007】
本開示によれば、モータを制御するための制御情報を受信したタイミングで、モータの制御に関するパスタスクを演算処理することができる。このため、本開示は、モータの制御に関する反応時間の短縮化を図ることができるので、モータの応答性及びモータ制御の安定性を向上させることができる。
【図面の簡単な説明】
【0008】
【
図1】実施の形態1に係るモータ制御装置が適用されるモータ制御システムの構成を示すブロック図である。
【
図2】従来のモータ制御装置の一連の処理の流れを示す図である。
【
図3】実施の形態1に係るモータ制御装置の一連の処理の流れを示す図である。
【
図4】実施の形態1に係るモータ制御方法を示すフローチャートである。
【
図5】
図5A及び
図5Bは、実施の形態1に係るモータ制御装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、本開示の実施の形態について図面を参照しながら詳細に説明する。
【0010】
実施の形態1.
実施の形態1に係るモータ制御装置40について、
図1から
図5を用いて説明する。
【0011】
先ず、実施の形態1に係るモータ制御装置40が適用されるモータ制御システム30について、
図1を用いて説明する。
図1は、実施の形態1に係るモータ制御装置40が適用されるモータ制御システム30の構成を示すブロック図である。
【0012】
図1に示すように、モータ制御システム30は、外部通信機器11、モータ21、及び、モータ回転検出部22と接続されている。
【0013】
外部通信機器11は、例えば、モータ21を制御するための制御情報を、一定の通信周期で、モータ制御システム30に送信する。また、外部通信機器11は、例えば、モータ21の制御に関する実際の情報(以下、実情報と称す)を、モータ制御システム30から受信する。
【0014】
なお、制御情報とは、例えば、モータ21の目標回転位置及び目標回転数等を含む情報である。また、実情報とは、モータ21の実回転位置及び実回転数等を含む情報である。制御情報及び実情報は、信号として送受信される。
【0015】
モータ21は、モータ制御システム30から送信された、後述するパスタスクの演算処理結果に基づいて、制御される。
【0016】
モータ回転検出部22は、例えば、モータ21の回転子に埋め込まれた永久磁石の磁界に基づいて、モータ21の実情報を検出する。また、モータ回転検出部22は、検出したモータ21の実情報を、モータ制御システム30における後述するモータ制御装置40に送信する。なお、上述したように、モータ回転検出部22は、モータ21の回転子に埋め込まれた永久磁石の磁界に基づいて、モータ21の実情報を検出するものとしているが、例えば、エンコーダであっても構わない。
【0017】
モータ制御システム30は、モータ制御装置40、通信部31、記憶部32、及び、インバータ部33を備えている。
【0018】
通信部31は、モータ制御装置40及び外部通信機器11と接続されている。通信部31は、外部通信機器11から送信されたモータ21の制御情報を、一定の通信周期で受信した後、この受信したモータ21の制御情報を、モータ制御装置40に送信する。また、通信部31は、モータ制御装置40から送信されたモータ21の実情報及び故障情報を受信した後、この受信したモータ21の実情報及び故障情報を、外部通信機器11に送信する。
【0019】
記憶部32は、外部通信機器11から送信されたモータ21の制御情報を、通信部31及びモータ制御装置40を介して記憶する。また、記憶部32は、モータ制御装置40によって演算処理された、パスタスクの演算処理結果又は後述する分割パスタスクの演算処理結果を記憶する。なお、モータ制御システム30には、記憶部32が無くても構わない。
【0020】
インバータ部33は、モータ制御装置40から送信されたパスタスクの演算処理結果に基づいて、直流電圧を交流電圧に変換した後、その交流電圧をモータ21に出力する。このため、インバータ部33は、モータ21を制御可能とする。
【0021】
モータ制御装置40は、割り込み処理部41、演算処理部42、モータ制御部43、及び、故障判定部44を有している。
【0022】
割り込み処理部41は、通信部31が外部通信機器11から一定の通信周期で受信した、モータ21の制御情報を取得した後、この取得した制御情報の割り込み処理を行う。具体的には、割り込み処理部41は、取得したモータ21の制御情報を、記憶部32に出力して、その制御情報を記憶部32に記憶させる。また、割り込み処理部41は、取得したモータ21の制御情報を、通信部31における一定の通信周期と同期して、後述する演算処理部42に出力する(割り込みする)。
【0023】
演算処理部42は、モータ21の制御に関する演算処理項目が含まれるパスタスクの演算処理時間を、割り込み処理部41によって割り込みされた制御情報の通信周期よりも短い時間に設定する。また、演算処理部42は、パスタスクの演算処理開始時刻を、割り込み処理部41による制御情報の割り込み時刻に同期させる。そして、演算処理部42は、パスタスクの演算処理結果、又は、後述する分割パスタスクの演算処理結果を、記憶部32及びインバータ部33に出力する。
【0024】
ここで、演算処理部42は、割り込み処理部41によって割り込みされた1つのパスタスクが、互いに種類が異なる複数の演算処理項目から構成されるパスタスクである場合、そのパスタスクを、演算処理項目の種類ごとに分割し、分割タスクを生成する。そして、演算処理部42は、分割した分割タスクのうち、モータ21の制御に関する演算処理項目となる分割パスタスクの演算処理開始時刻を、割り込み処理部41による制御情報の割り込み時刻に同期させる。
【0025】
また、演算処理部42は、モータ21の制御に関する演算処理項目となる分割パスタスクを、モータ21の制御以外に関する演算処理項目となる分割パスタスクよりも優先して、演算処理する。
【0026】
モータ制御部43は、演算処理部42によって演算処理された、パスタスクの演算処理結果又は分割パスタスクの演算処理結果を、記憶部32及びインバータ部33に出力する。
【0027】
故障判定部44は、モータ制御装置40の内部回路が故障しているか否かを判定する。そして、故障判定部44は、その内部回路が故障しているか否かの判定結果を、故障情報として、通信部31を介して、外部通信機器11に出力する。
【0028】
また、故障判定部44は、モータ回転検出部22によって検出されたモータ21の実情報に基づいて、モータ21が故障しているか否かを判定する。そして、故障判定部44は、モータ21が故障しているか否かの判定結果を、故障情報として、通信部31を介して、外部通信機器11に出力する。このとき、故障判定部44は、通信部31が外部通信機器11から一定の通信周期で受信したモータ21の制御情報と、モータ回転検出部22によって検出されたモータ21の実情報とに基づいて、モータ21が故障しているか否かを判定しても構わない。
【0029】
なお、モータ制御装置40には、故障判定部44が無くても構わない。
【0030】
次に、実施の形態1に係るモータ制御装置40の動作について、従来のモータ制御装置の動作と比較しながら、
図2及び
図3を用いて説明する。
図2は、従来のモータ制御装置の一連の処理の流れを示す図である。
図3は、実施の形態1に係るモータ制御装置40の一連の処理の流れを示す図である。なお、
図2及び
図3は、外部信号(モータ21の制御情報)を受信してから演算処理結果をインバータ部33に出力するまでの一連の処理を示すものである。
【0031】
図2における縦項目には、4つの動作が記載されている。この4つの動作は、上段から順位に、モータ21の制御情報を示す外部信号の受信、記憶、演算処理、及び、インバータ部33への出力を示している。演算処理を示す段、及び、インバータ部33への出力を示す段には、更に、上段を、処理負荷が一定の場合を示す段とし、下段を、処理負荷が中又は高の場合を示す段としている。また、
図2における横方向は、右側に進むに従って時間の経過を示している。
【0032】
先ず、外部信号は、一定の通信周期(又は、サンプリング周期とも言う)で複数回受信される。外部信号の各受信時刻は、A~Dで示す。
【0033】
次いで、これらの外部信号は、一旦、記憶される。このとき、割り込み処理時間(割り込み処理期間)A~Dは、外部信号の受信時刻A~Dに対応するものである。
【0034】
次いで、演算処理の演算周期はTである。この演算処理は、互いに種類が異なる演算処理項目a1~a4から構成されるパスタスクを、1つずつ処理する。例えば、a4を、モータ21の制御に関する演算処理項目とし、a1~a3を、モータ21の制御以外に関する演算処理項目とする。なお、各演算処理項目の下に記載された「〇」印は、割り込み頻度を示すものである。「〇」が多いほど、割り込み頻度が高いことを示している。
【0035】
次いで、インバータ部33への出力時間(出力期間)A~Dは、外部信号の受信時刻A~Dに対応するものである。即ち、外部信号を受信してから演算処理結果(直流電圧)をインバータ部33に出力するまでの時間が、装置の反応時間(又は、処理速度と言う)となる。
【0036】
このような場合、直前に発生した演算処理における演算処理項目a4の割り込み処理による負荷変動によって、直度の演算処理における演算処理項目a4の演算処理開始時刻が、演算周期T内において、大きく遅れてしまう。このため、反応時間が、ばらついてしまい、遅延した演算処理結果が、インバータ部33に出力されることになる。この結果、モータ21の応答性、及び、モータ制御の安定性の低下を、招くおそれがある。
【0037】
これに対して、
図3における縦項目についても、同様の4つの動作が記載されている。この4つの動作は、上段から順位に、割り込み処理部41におけるモータ21の制御情報を示す外部信号の受信、記憶部32の記憶、演算処理部42の演算処理、及び、モータ制御部43におけるインバータ部33への出力を示している。演算処理部42における演算処理を示す段、及び、モータ制御部43におけるインバータ部33への出力を示す段には、更に、上段を、処理負荷が一定の場合を示す段とし、下段を、処理負荷が中又は高の場合を示す段としている。また、
図3における横方向は、右側に進むに従って時間の経過を示している。なお、
図2で説明したA~Dに対応する説明については、省略する。
【0038】
演算処理部42は、予め、1つのパスタスク(
図2参照)を、演算処理項目a1~a4の種類ごとに分割し、分割パスタスクを生成する。各分割パスタスクの演算処理時間は、tに設定される。この演算処理時間tは、通信周期よりも短い時間に設定されている。また、演算処理部42は、モータ21の制御に関する演算処理項目a4となる分割パスタスクの演算処理開始時刻を、割り込み処理部41による外部信号(制御情報)の割り込み時刻に同期させておく。更に、演算処理部42は、モータ21の制御に関する演算処理項目a4となる分割パスタスクを、モータ21の制御以外に関する演算処理項目a1~a3となる分割パスタスクよりも優先して、演算処理するものとする。
【0039】
このため、モータ制御装置40は、外部信号を受信したタイミングで、優先順位が最も高い分割パスタスクを、演算処理することができる。この結果、モータ制御装置40は、モータ21の制御に関する反応時間の短縮化を図ることができるので、モータ21の応答性を向上させることができる。また、モータ制御装置40は、上記反応時間のばらつきを抑えることができるので、モータ制御の安定性を向上させることができる。更に、モータ制御装置40は、演算処理部42の演算周期Tが外部信号の通信周期よりも長い場合にも対応することができるため、当該モータ制御装置40を比較的処理速度の遅いマイクロコンピュータとすることができる。
【0040】
次に、実施の形態1に係るモータ制御方法について、
図4を用いて説明する。
図4は、実施の形態1に係るモータ制御方法を示すフローチャートである。
【0041】
図4に示すように、ステップST11において、割り込み処理部41は、通信部31が外部通信機器11から一定の通信周期で受信した、モータ21の制御情報を取得する。
【0042】
ステップST12において、割り込み処理部41は、取得したモータ21の制御情報を、記憶部32又は演算処理部42に出力する。
【0043】
ステップST13において、演算処理部42は、モータ21の制御に関する演算処理項目が含まれるパスタスク又は分割パスタスクの演算処理時間を、割り込み処理部41によって割り込みされた制御情報の通信周期よりも短い時間に設定する。
【0044】
ステップST14において、演算処理部42は、パスタスク又は分割パスタスクの演算処理開始時刻を、割り込み処理部41による制御情報の割り込み時刻に同期させる。
【0045】
ステップST15において、演算処理部42は、パスタスク又は分割パスタスクを演算処理した後、その演算処理結果をモータ制御部43に出力する。例えば、演算処理部42は、割り込み処理部41によって割り込まれた制御情報、又は、記憶部32から読み出した制御情報と、モータ回転検出部22によって検出されたモータ21の実情報とに基づいて、パスタスク又は分割パスタスクを演算処理する。
【0046】
ステップST16において、モータ制御部43は、演算処理部42によって演算処理された、パスタスク又は分割パスタスクの演算処理結果に応じた直流電圧を、インバータ部33に出力する。
【0047】
次に、実施の形態1に係るモータ制御装置40のハードウェア構成例について、
図5を用いて説明する。
図5A及び
図5Bは、実施の形態1に係るモータ制御装置40のハードウェア構成の一例を示す図である。
【0048】
図5Aに示す如く、モータ制御装置40は、コンピュータにより構成されており、当該コンピュータは、プロセッサ51及びメモリ52を有している。メモリ52には、そのコンピュータを、割り込み処理部41、演算処理部42、モータ制御部43、及び、故障判定部44として機能させるためのプログラムが記憶されている。メモリ52に記憶されているプログラムをプロセッサ51が読み出して実行することにより、割り込み処理部41、演算処理部42、モータ制御部43、及び、故障判定部44の機能が実現される。
【0049】
又は、
図5Bに示す如く、モータ制御装置40は、処理回路53を有するものであっても良い。この場合、処理回路53は、割り込み処理部41、演算処理部42、モータ制御部43、及び、故障判定部44により実現されるものであっても良い。
【0050】
又は、モータ制御装置40は、プロセッサ51、メモリ52、及び、処理回路53を有するものであっても良い(不図示)。この場合、割り込み処理部41、演算処理部42、モータ制御部43、及び、故障判定部44の機能のうちの一部がプロセッサ51及びメモリ52により実現されて、残余の機能が処理回路53により実現されるものであっても良い。
【0051】
プロセッサ51は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、マイクロプロセッサ、マイクロコントローラ又はDSP(Digital Signal Processor)のうちの少なくとも一つを用いたものである。
【0052】
メモリ52は、例えば、半導体メモリ又は磁気ディスクのうちの少なくとも一方を用いたものである。より具体的には、メモリ52は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、SSD(Solid State Drive)又はHDD(Hard Disk Drive)のうちの少なくとも一つを用いたものである。
【0053】
処理回路53は、例えば、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field-Programmable Gate Array)、SoC(System-on-a-Chip)又はシステムLSI(Large-Scale Integration)のうちの少なくとも一つを用いたものである。
【0054】
以上、実施の形態1に係るモータ制御装置40は、通信部31が外部通信機器11から一定の通信周期で受信した、モータ21を制御するための制御情報を取得した後、この取得した制御情報の割り込み処理を行う割り込み処理部41と、モータ21の制御に関する演算処理項目が含まれるパスタスクの演算処理時間を、割り込み処理部41によって割り込みされた制御情報の通信周期よりも短い時間に設定し、パスタスクの演算処理開始時刻を、割り込み処理部41による制御情報の割り込み時刻に同期させる演算処理部42と、演算処理部42によって演算処理されたパスタスクの演算処理結果を、モータ21を制御するためのインバータ部33に出力するモータ制御部43とを備える。このため、モータ制御装置40は、モータ21を制御するための制御情報を受信したタイミングで、モータ21の制御に関するパスタスクを演算処理することができる。この結果、モータ制御装置40は、モータ21の制御に関する反応時間の短縮化を図ることができるので、モータ21の応答性を向上させることができる。
【0055】
また、モータ制御装置40においては、演算処理部42は、割り込み処理部41によって割り込みされた1つのパスタスクが、互いに種類が異なる複数の演算処理項目から構成されるパスタスクである場合、そのパスタスクを、演算処理項目の種類ごとに分割して、分割タスクを生成し、分割した分割パスタスクのうち、モータ21の制御に関する演算処理項目となる分割パスタスクの演算処理開始時刻を、割り込み処理部41による制御情報の割り込み時刻に同期させる。このため、モータ制御装置40は、直前に発生した演算処理における演算処理項目の割り込み処理による負荷変動が生じても、直度の演算処理における演算処理項目の演算処理開始時刻に対して、影響を与えることが無い。この結果、モータ制御装置40は、反応時間のばらつきを抑えることができるので、モータ制御の安定性を向上させることができる。
【0056】
更に、モータ制御装置40においては、演算処理部42は、モータ21の制御に関する演算処理項目となる分割パスタスクを、モータ21の制御以外に関する演算処理項目となる分割パスタスクよりも優先して、演算処理する。このため、モータ制御装置40は、モータ21の制御に関する演算処理項目となる分割パスタスクの演算頻度を増加させることができるので、モータ21の応答性を更に向上させることができる。
【0057】
なお、本開示は、その開示の範囲内において、実施の形態の任意の構成要素の変形、若しくは、実施の形態の任意の構成要素の省略が可能である。
【符号の説明】
【0058】
11 外部通信機器、21 モータ、22 モータ回転検出部、30 モータ制御システム、31 通信部、32 記憶部、33 インバータ部、40 モータ制御装置、41 割り込み処理部、42 演算処理部、43 モータ制御部、44 故障判定部、51 プロセッサ、52 メモリ、53 処理回路。