1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。なお、以下の説明では、一例として、発明の構成要素に対応する図面上の参照符号を、括弧を付して記載している。
〔1〕本発明の代表的な実施の形態に係るモータ駆動制御装置(10)は、バス(3)を介してマスタ(2)と接続可能にされ、モータ(60)の駆動を制御するとともに前記マスタに対するスレイブとして動作可能な装置である。モータ駆動制御装置(10)は、前記バスを構成する前記マスタ側の信号線(35_0)に接続するための第1端子(15)と、前記バスを構成する前記マスタとは反対側の信号線(35_1)に接続するための第2端子(16)と、前記第1端子と前記第2端子との間に接続されたスイッチ(14)と、前記第1端子から信号を受信するとともに、前記第1端子に信号を送信する通信回路(115)と、前記通信回路によって受信した信号に基づいて、前記モータの回転を制御するための駆動制御信号(Sc)を生成するとともに前記スイッチの開閉を制御する制御回路(110)と、前記駆動制御信号に基づいて前記モータに通電する制御を行うモータ駆動回路(13)と、を有することを特徴とする。
〔2〕上記〔1〕に記載のモータ駆動制御装置において、前記制御回路は、前記スイッチをオンした状態において、前記マスタから送信された、前記スレイブのアドレス設定の開始を指示する第1のリクエスト(Rq1)を前記通信回路が受信した場合に前記スイッチをオフし、前記スイッチをオフした後に、前記マスタから送信された、前記スレイブのアドレスを指定する指定ノード識別子(AD_1,AD_2,AD_3)を含む第2のリクエスト(Rq2,Rq2_1〜Rq2_3)を前記通信回路が受信した場合に前記スイッチをオンしてもよい。
〔3〕上記〔2〕に記載のモータ駆動制御装置において、前記制御回路は、前記第2のリクエストの受信に応じて、前記指定ノード識別子を自身のアドレスとして設定してもよい。
〔4〕上記〔2〕に記載のモータ駆動制御装置において、前記制御回路は、前記第2のリクエストの受信に応じて、受信した前記指定ノード識別子を記憶し、前記第2のリクエストの受信後に前記マスタから第3のリクエスト(Rq3)を受信した場合に、記憶した前記指定ノード識別子を自身のアドレスとして設定してもよい。
〔5〕上記〔2〕乃至〔4〕の何れか一項にモータ駆動制御装置において、前記制御回路は、前記第2のリクエストを受信した場合に、前記第2のリクエストに応じたレスポンス(Rs2,Rs2_1〜Rs2_3)を前記通信回路から送信させてもよい。
〔6〕本発明の代表的な実施の形態に係るアクチュエータ(1)は、上記〔1〕乃至〔5〕の何れか一項に記載のモータ駆動制御装置(10)と、前記モータ(60)と、前記モータの回転力を駆動対象に伝達する動力伝達機構(31,32,33)と、を備えることを特徴とする。
〔7〕本発明の代表的な実施の形態に係る通信システム(100)は、マスタ(2)と、複数のバスライン(35_0〜35_n)を有するバス(3)と、前記バスを介して前記マスタと接続された複数のスレイブ(1_1〜1_n)とを備える。前記スレイブは、隣り合う前記スレイブ同士を接続する前記バスライン間に直列に接続されたスイッチ(14_1〜14_n)を有し、前記マスタは、前記スレイブのアドレス設定の開始を指示する第1のリクエスト(Rq1)を前記バスに送信し、前記第1のリクエストの送信後に、前記スレイブのアドレスを指定する指定ノード識別子(AD_1、AD_2、AD_3)を含む第2のリクエスト(Rq2)を前記バスに送信する。前記スレイブは、前記スイッチをオンした状態において、前記第1のリクエストを受信した場合に前記スイッチをオフし、前記スイッチをオフした後に前記第2のリクエストを受信した場合に、前記スイッチをオンすることを特徴とする。
〔8〕上記〔7〕に記載の通信システムにおいて、前記スレイブは、前記第2のリクエストを受信した場合に、前記第2のリクエストに応じたレスポンス(Rs2)を前記バスに送信し、前記マスタは、前記レスポンスを受信した場合に、送信済みの前記指定ノード識別子とは異なる前記指定ノード識別子を含む前記第2のリクエストを前記バスに送信してもよい。
〔9〕上記〔8〕に記載の通信システムにおいて、前記マスタは、所定の期間内に前記レスポンスを受信しなかった場合に、前記スレイブのアドレス設定の終了を指示する第3のリクエスト(Rq3)を送信してもよい。
〔10〕上記〔7〕に記載の通信システムにおいて、前記マスタは、予め設定された回数だけ前記第2のリクエストを送信した場合に、前記スレイブのアドレス設定の終了を指示する第3のリクエスト(Rq3)を送信してもよい。
〔11〕上記〔7〕乃至〔10〕の何れか一項に記載の通信システムにおいて、前記スレイブは、前記第2のリクエストの受信に応じて、受信した前記指定ノード識別子を自身のアドレスとして設定してもよい。
〔12〕上記〔9〕または〔10〕に記載の通信システムにおいて、前記スレイブは、前記第2のリクエストの受信に応じて、受信した前記指定ノード識別子を記憶し、前記第2のリクエストの受信後に前記第3のリクエストを受信した場合に、記憶した前記指定ノード識別子を自身のアドレスとして設定してもよい。
2.実施の形態の具体例
以下、本発明の実施の形態の具体例について図を参照して説明する。なお、以下の説明において、各実施の形態において共通する構成要素には同一の参照符号を付し、繰り返しの説明を省略する。
図1は、本実施の形態に係るモータ駆動制御装置を備えたアクチュエータを含む通信システムの構成を示す図である。
図1に示される通信システム100は、例えば、マスタとしての一つの上位装置2と、スレイブとしての複数のアクチュエータ1_1〜1_n(nは2以上の整数)と、上位装置2と各スレイブ1_1〜1_nとを互いに接続するバス3とを備えている。
通信システム100は、例えば、上位装置2と複数のアクチュエータ1_1〜1_nとが、LINバスとしてのバス3によって互いに接続されたLIN通信ネットワークを構成している。例えば、通信システム100は、車載用途の空調ユニットとしてのHVAC(Heating Ventilation and Air−Conditioning)システムである。
上位装置2とアクチュエータ1_1〜1_nとは、バス3によってデイジーチェーン接続されている。具体的には、上位装置2と各アクチュエータ1_1〜1_nとは、バス3を構成する信号線であるバスライン35_0〜35_n間に設けられた後述する複数のスイッチ14を介して直列的に接続されている。
以下の説明において、バス3における上位装置2側を「上位側」と称し、バス3における上位装置2と反対側(アクチュエータ1_n側)を「下位側」と称する。
上位装置2は、スレイブとしての複数のアクチュエータ1_1〜1_nの動作を統括的に制御するマスタとして機能する装置である。上位装置2は、例えば、車載用途のHVACシステムにおけるECUである。上位装置2は、バス3を介して指定したアクチュエータ1_1〜1_nに制御信号(リクエスト)を送信することにより、指定したアクチュエータ1_1〜1_nの動作を制御する。
アクチュエータ1_1〜1_nは、例えば、車載用途のHVACシステムにおける空調装置を駆動するための装置である。アクチュエータ1_1〜1_nとしては、ダンパアクチュエータ、弁アクチュエータ、ファンアクチュエータ、ポンプアクチュエータ等のHVACシステムで使用可能な各種のアクチュエータを例示することができる。
以下の説明において、各アクチュエータ1_1〜1_nを区別しない場合には、単に、「アクチュエータ1」と表記する場合がある。
図2は、本実施の形態に係るアクチュエータ1の構造の一例を示す分解斜視図である。
図2に示されるように、アクチュエータ1は、ケース51とカバー52とで覆われている。アクチュエータ1の内部には、モータ60と、モータ60の駆動を制御するモータ駆動制御装置10と、モータ60の回転力を駆動対象に伝達する動力伝達機構としての2次ギヤ31、3次ギヤ32、および出力ギヤ33とが収納されている。
モータ60は、アクチュエータ1の駆動力を発生させる。モータ60は、例えばステッピングモータである。以下、モータ60をステッピングモータ60とも表記する。ステッピングモータ60は、例えば、A相及びB相の2相励磁で駆動する。ステッピングモータ60は、A相のコイル(不図示)及びB相のコイル(不図示)を有する。ステッピングモータ60は、モータ駆動制御装置10から各相のコイルに駆動電力が供給されて動作する。
モータ60の出力軸65には、1次ギヤ66が取り付けられている。モータ60の1次ギヤ66は、2次ギヤ31と噛み合う。2次ギヤ31は、3次ギヤ32と噛み合う。3次ギヤ32は、出力ギヤ33と噛み合う。ケース51の底面には、出力ギヤ33に設けられている外部出力ギヤが露出し、この外部出力ギヤが駆動対象に連結されている。
モータ駆動制御装置10は、バス3(LINバス)を介して上位装置2との間で通信を行い、上位装置2から受信した制御フレーム(指令)に基づいてモータ60の駆動を制御することにより、アクチュエータ全体の動作を制御する。モータ駆動制御装置10が上位装置2からの指令に基づいてモータ60を駆動すると、モータ60の出力軸65に接続された1次ギヤ66が回転する。1次ギヤ66の回転による駆動力が2次ギヤ31、3次ギヤ32、出力ギヤ33、外部出力ギヤと順に伝達され、外部出力ギヤが駆動対象である空調装置の可動部を駆動する。
モータ駆動制御装置10は、ハードウェア資源として、プリント基板42や、プリント基板42とモータ60のモータ端子69とを接続するフレキシブルプリント基板43等を有している。プリント基板42には、後述するモータ制御回路11、モータ駆動回路13、スイッチ14、および複数の外部接続端子が設けられている。複数の外部接続端子としては、例えば、モータ駆動制御装置10に電源を供給するための電源端子17、グラウンド電位に接続されるグラウンド端子18、モータ駆動制御装置10が上位装置2とLIN通信を行うための通信用端子15,16等を例示することができる。図2に示すように、各外部接続端子は、ケース51及びカバー52の外側に露出している。
なお、ケース51及びカバー52の内部に収納される回路は、例えばモータ駆動回路13だけであってもよい。例えば、モータ制御回路11は、ケース51およびカバー52の内部に設けられたモータ駆動回路13と、ケース51およびカバー52の外部に設けられたモータ制御回路11とによって構成されるようにしてもよい。
図3は、本実施の形態に係るモータ駆動制御装置10の構成を示すブロック図である。
本実施の形態において、各アクチュエータ1_1〜1_nは同一の構成を有しているものとする。図3には、一例として、アクチュエータ1_1〜1_nのうちアクチュエータ1_1の内部構成が代表的に示されている。
図3に示すように、モータ駆動制御装置10は、モータ制御回路11、モータ駆動回路13、スイッチ14、通信用端子15,16、電源端子17、およびグラウンド端子18を備えている。
電源端子17には、例えばバッテリから直流の入力電圧V_subが入力される。グラウンド端子18は、グラウンド電位GNDに接続される。
モータ制御回路11は、上位装置2からの指令に基づいて、モータ60の回転を制御するための駆動制御信号Scを生成してモータ駆動回路13を制御することにより、モータ60の回転を制御する。駆動制御信号Scは、例えばPWM信号である。モータ制御回路11の詳細については後述する。
モータ駆動回路13は、モータ制御回路11から出力された駆動制御信号Scに基づいて、ステッピングモータ60に通電する制御を行う。モータ駆動回路13は、モータ駆動部131と電流センサ132とを有する。
モータ駆動部131は、駆動制御信号Scに基づいて、ステッピングモータ60の各相のコイルに電圧を印加する。本実施の形態では、モータ駆動回路13とステッピングモータ60とは、A相の正極(+)、A相の負極(−)、B相の正極(+)、B相の負極(−)の4つのラインで接続されている。モータ駆動部131は、例えば、複数のトランジスタを含むインバータ回路である。モータ駆動部131は、駆動制御信号Scに応じて、これらの各ラインを介してステッピングモータ60に駆動電力を供給する。ステッピングモータ60の駆動電力は、駆動制御信号ScとしてのPWM信号のデューティ比に応じて変化する。
電流センサ132は、ステッピングモータ60の各相のコイルに流れる電流(コイル電流)をセンシングする。電流センサ132は、例えばシャント抵抗である。電流センサ132は、コイル電流のセンシング結果を、電流測定部112に出力する。
スイッチ14は、バス3における隣り合うバスライン35_0,35_1間の接続と遮断を切り換えるための部品である。スイッチ14は、例えばFET等のトランジスタを含んで構成されている。
例えば、通信システム100におけるアクチュエータ1_1のスイッチ14は、バス3の上位側のバスライン35_0に接続される通信用端子15と、バス3の下位側のバスライン35_1に接続される通信用端子16との間に接続されている。スイッチ14の開閉は、モータ制御回路11からの制御信号CNTSによって制御される。
アクチュエータ1_1のスイッチ14がオンしたとき、バスライン35_0とバスライン35_1とが接続状態となる。これにより、上位装置2は、アクチュエータ1_1のみならず、アクチュエータ1_2とも接続される。一方、スイッチ14がオフしたとき、バスライン35_0とバスライン35_1とが非接続状態となる。これにより、上位装置2は、アクチュエータ1_1のみと接続され、アクチュエータ1_2とは接続されない。すなわち、アクチュエータ1のスイッチ14をオフすることにより、当該アクチュエータ1(スレイブ)よりもバス3の下位側に接続されている他のアクチュエータ1を、上位装置2(マスタ)から遮断することができる。
図3に示すように、モータ制御回路11は、例えば、制御回路110、温度測定部111、電流測定部112、入力電圧測定部113、逆起電圧測定部114、および通信回路115を含む。
温度測定部111は、例えば、モータ制御回路11の内部温度を測定する温度センサである。温度測定部111は、モータ制御回路11の温度を示す温度情報を制御回路110に出力する。
電流測定部112は、ステッピングモータ60のコイル電流を測定する。電流測定部112は、電流センサ132から出力されたコイル電流のセンシング結果を受け付ける。電流測定部112は、入力されたセンシング結果に基づいてコイル電流を測定する。電流測定部112は、コイル電流の測定結果を、制御回路110に出力する。電流測定部112は、例えばA/D変換回路を含んで構成されている。
入力電圧測定部113は、モータ駆動制御装置10の電源端子17に入力される電源電圧としての入力電圧V_subを測定する。入力電圧V_subは、例えば、バッテリから供給される直流電圧である。入力電圧測定部113は、入力電圧の測定結果を制御回路110に出力する。入力電圧測定部113は、例えばA/D変換回路を含んで構成されている。
逆起電圧測定部114は、ステッピングモータ60の複数相のコイルのうち、通電が停止しているコイルに誘起される逆起電圧を測定する。本実施の形態において、逆起電圧測定部114は、モータ駆動回路13とステッピングモータ60とを接続する4つのラインの夫々に接続されている。逆起電圧測定部114は、逆起電圧の測定結果を、制御回路110に出力する。逆起電圧測定部114は、例えばA/D変換回路を含んで構成されている。
通信回路115は、第1端子としての通信用端子15から信号を受信するとともに、通信用端子15に信号を送信する回路である。通信回路115は、例えばLINトランシーバである。以下、通信回路115をLINトランシーバ115とも称する。
制御回路110は、モータ制御回路11の統括的な制御を行うための回路である。制御回路110は、例えば、CPU(Central Processing Unit)等のプロセッサ、ROM(Read Only Memory)やRAM(Random Access Memory)等の各種メモリ、タイマ(カウンタ)、A/D変換回路、入出力I/F回路、およびクロック生成回路等のハードウェア要素を有し、各構成要素がバスや専用線を介して互いに接続されたプログラム処理装置(例えば、マイクロコントローラ:MCU(Micro Control Unit))によって構成されている。
なお、上述した温度測定部111、電流測定部112、入力電圧測定部113、および逆起電圧測定部114は、制御回路110を構成するMCU内のA/D変換回路を用いて実現されていてもよいし、MCUとは別に設けられたA/D変換回路を含むIC(Integrated Circuit)によって実現されていてもよい。
制御回路110は、例えば、入出力I/F回路としてUART(Universal Asynchronous Receiver/Transmitter)を有する。制御回路110は、UARTを介してLINトランシーバ115と接続されている。制御回路110は、LINトランシーバ115を介して、バス3に接続された上位装置2とLIN通信を行う。
制御回路110は、主に、バス3を介して上位装置2とLIN通信を行う通信機能と、駆動制御信号Scを生成する駆動制御機能と、LIN通信システムにおけるスレイブとしてのアクチュエータ1自身のアドレスを設定するアドレス設定機能とを有している。制御回路110は、上述した各機能を実現するために、以下の機能ブロックを有している。
図4は、制御回路110の機能ブロック構成を示す図である。
図4に示すように、制御回路110は、通信機能、駆動制御機能、およびアドレス設定機能を実現するための機能ブロックとして、通信部120、駆動制御信号生成部121、アドレス設定部122、記憶部123、およびスイッチ制御部124を有している。これらの機能ブロックは、上述したMCU内のCPUがメモリに記憶されているプログラムに従って各種演算を実行するとともに、タイマ(カウンタ)、A/D変換回路および入出力I/F回路を制御することによって、実現される。
通信部120は、LINトランシーバ115を制御して、上位装置2とLIN通信を行うための機能部である。通信部120は、マスタとしての上位装置2から送信されたリクエスト(ヘッダ)を受信するとともに、リクエストに対するレスポンス(データ)を送信する。
駆動制御信号生成部121は、駆動制御信号Scを生成するための機能部である。駆動制御信号生成部121は、温度測定部111、電流測定部112、入力電圧測定部113、および逆起電圧測定部114による夫々の測定結果と、通信部120によって受信した上位装置2からのリクエストに基づいて、駆動制御信号Scを生成する。
記憶部123は、通信部120によって受信した上位装置2からの信号に含まれる各種情報を記憶するための機能部である。例えば、通信部120は、上位装置2から送信されたリクエスト(ヘッダ)に含まれる、スレイブとしてのアクチュエータ1のアドレスを指定する指定ノード識別子AD_1を記憶部123に一時的に記憶する。また、記憶部123には、受信したヘッダに含まれる、ステッピングモータ60の目標回転速度の情報等が記憶されてもよい。
アドレス設定部122は、アクチュエータ1にスレイブとしてのアドレスを設定するための機能部である。アドレス設定部122は、記憶部123に記憶されている指定ノード識別子ADを、アクチュエータ1自身のアドレスとして設定する。
スイッチ制御部124は、制御信号CNTSを生成し、制御信号CNTSによってスイッチ14の開閉を切り換えるための機能部である。スイッチ制御部124は、モータ駆動制御装置10の電源投入後の初期状態や通常状態において、スイッチ14をオンさせている。
初期状態とは、アクチュエータ1が電源投入後からアドレス設定開始メッセージを受信するまでの状態である。アドレス設定開始メッセージについては後述する。通常状態とは、アクチュエータ1がアドレス設定終了メッセージを受信した後の状態である。アクチュエータ1がアドレス設定終了メッセージを受信したことに応じて、モータ制御回路11は通常状態に遷移する。アドレス設定終了メッセージについては後述する。なお、アクチュエータ1は、アクチュエータ1自身にアドレスが設定されたことに応じて、モータ制御回路11は通常状態に遷移してもよい。
スイッチ制御部124は、アクチュエータ1にアドレスを設定する際に、スイッチ14の開閉を切り換える。具体的には、スイッチ制御部124は、スイッチ14をオンした状態において、上位装置2から送信された、スレイブのアドレス設定の開始を指示する第1のリクエストとしてのアドレス設定開始メッセージRq1をLINトランシーバ115(通信部120)が受信した場合に、スイッチ14をオン状態からオフ状態にする。スイッチ制御部124は、スイッチ14をオフした後に、上位装置2から送信された、第2のリクエストとしての指定ノード識別子ADを含むアドレス指定メッセージRq2をLINトランシーバ115(通信部120)が受信した場合に、スイッチ14をオフ状態からオン状態にする。
図5は、本実施の形態に係る通信システム100における上位装置2と各アクチュエータ1_1〜1_nとの接続関係を概略的に示す図である。
マスタとしての上位装置2は、上位装置2の統括的な制御を行うデータ処理制御部200と、LIN通信を行うためのLINトランシーバ201とを備えている。スレイブとしての各アクチュエータ1_1〜1_nは、上述したように、モータ駆動制御装置10と、ステッピングモータ60と、動力伝達機構(2次ギヤ31、3次ギヤ32、および出力ギヤ33等)とを備えている。
図5には、説明の便宜上、アクチュエータ1の構成要素のうち、制御回路110、LINトランシーバ115、およびスイッチ14のみが図示されている。また、図5において、各アクチュエータ1_1〜1_nのスイッチ14を「スイッチ14_1〜14_n」、各アクチュエータ1_1〜1_nの制御回路110を「制御回路110_1〜110_n」と表記している。
各アクチュエータ1のLINトランシーバ115は、例えば図5に示すように、抵抗Rと、ダイオードDと、トランジスタTR(例えばFET(Field Effect Transister))とを含んで構成されている。例えば、アクチュエータ1_1において、抵抗RおよびダイオードDは、バス3の上位側のバスライン35_0と入力電圧V_subとの間に直列に接続されている。トランジスタTRは、バスライン35_0とグラウンド電位GNDとの間に接続されている。
例えば、アクチュエータ1_1がバス3からデータを受信する場合には、バスライン35_0の電圧が制御回路110に入力される。一方、アクチュエータ1がバス3にデータを送信する場合には、制御回路110が、LINトランシーバ115のトランジスタTRの制御電極(例えば、FETのゲート電極)を駆動することにより、バスライン35_0の電圧を変化させる。
なお、本実施の形態では、マスタ側のLINトランシーバ201は、スレイブ側のLINトランシーバ115と同一の回路構成を有し、データ処理制御部200によって制御回路110と同様の手法により、駆動されるものとする。また、図5に示されるLINトランシーバ115,201は、一例であって、他の回路構成を採用してもよい。
図5に示すように、LIN通信システムとしての通信システム100において、各アクチュエータ1_1〜1_nのスイッチ14_1〜14_nは、隣り合うアクチュエータ1同士を接続するバスライン35に直列に接続されている。換言すれば、バス3を構成する各バスライン35_0〜35_nは、スイッチ14_1〜14_nを介して互いに直列的に接続されている。
ここで、通信システム100におけるスレイブとしてのアクチュエータ1のアドレスの設定方法について説明する。
図6A乃至図6Fは、通信システム100におけるスレイブとしての各アクチュエータ1_1〜1_nのアドレスの設定方法の概要を説明するための図である。
図6Aに示すように、先ず、例えば各アクチュエータ1_1〜1_nの電源投入後の初期状態において、各アクチュエータ1_1〜1_nの制御回路110のスイッチ制御部124は、スイッチ14_1〜14_nをオンさせる。これにより、通信システム100の初期状態において、上位装置2は、バス3を介して全てのアクチュエータ1_1〜1_nに接続される。
次に、各アクチュエータ1_1〜1_nのスイッチ14_1〜14_nがオンしている状態において、上位装置2のデータ処理制御部200が、ブロードキャストにより、スレイブとしてのアクチュエータ1_1〜1_nのアドレス設定の開始を指示する第1のリクエストとしてのアドレス設定開始メッセージRq1をバス3に送信する。図6Aに示すように、各アクチュエータ1_1〜1_nはバス3に接続されているので、各アクチュエータ1_1〜1_nの制御回路110_1〜110_nは、アドレス設定開始メッセージRq1を夫々受信する。
次に、図6Bに示すように、アドレス設定開始メッセージRq1を受信したアクチュエータ1_1〜1_nの制御回路110_1〜110_nは、スイッチ制御部124により、スイッチ14_1〜14_nをそれぞれオフする。これにより、アクチュエータ1_2〜1_nがバス3から遮断されるため、上位装置2は、アクチュエータ1_1にのみ接続される。
次に、図6Cに示すように、上位装置2のデータ処理制御部200が、第2のリクエストとして、指定ノード識別子AD_1を含むアドレス指定メッセージRq2_1をバス3に送信する。このとき、上述したようにアクチュエータ1_2〜1_nがバス3から遮断されるため、上位装置2から出力されたアドレス指定メッセージRq2_1は、アクチュエータ1_1のみ伝達され、アクチュエータ1_1の制御回路110_1がアドレス指定メッセージRq2_1を受信する。
次に、アクチュエータ1_1の制御回路110_1は、アドレス指定メッセージRq2_1の受信に応じてアドレス設定処理を実行し、指定ノード識別子AD_1を自身のアドレスとして設定する。
具体的に、制御回路110_1は、アドレス設定処理として、先ず、通信部120によって受信した第2のリクエストRq2に含まれる指定ノード識別子ADを記憶部123に記憶し、アドレス設定部122によって、記憶部123に記憶された指定ノード識別子ADをアクチュエータ1_1のアドレスとして設定する。次に、制御回路110_1は、スイッチ制御部124によってスイッチ14_1をオフ状態からオン状態にする。これにより、バスライン35_0とバスライン35_1とが接続され、バス3は、上位装置2からアクチュエータ1_2まで接続されることになる。次に、制御回路110_1は、通信部120によって、アクチュエータ1_1のアドレスの設定が完了したことを示すレスポンスとしての応答メッセージRs2_1をバス3に送信する。上位装置2は、バス3から応答メッセージRs2_1を受信する。
以上の手順により、アクチュエータ1_1によるアドレス設定処理が行われる。
次に、図6Dに示すように、応答メッセージRs2_1を受信した上位装置2のデータ処理制御部200は、送信済みの指定ノード識別子AD_1とは異なる指定ノード識別子AD_2を含む第2のリクエストとしてのアドレス指定メッセージRq2_2をバス3に送信する。このとき、図6Dに示すように、バス3は上位装置2からアクチュエータ1_2まで接続されているので、上位装置2から送信された指定ノード識別子AD_2を含むアドレス指定メッセージRq2_2は、アクチュエータ1_2まで送信される。
指定ノード識別子AD_2を含むアドレス指定メッセージRq2_2を受信したアクチュエータ1_2は、上述したアクチュエータ1_1と同様の手法によりアドレス設定処理を実行して、受信した指定ノード識別子AD_2を自身のアドレスとして設定する。
具体的には、アクチュエータ1_2において、通信部120が受信した第2のリクエストRq2_2に含まれる指定ノード識別子AD_2を記憶部123に記憶し、アドレス設定部122が記憶部123に記憶された指定ノード識別子AD_2をアクチュエータ1_2のアドレスとして設定する。次に、アクチュエータ1_2のスイッチ制御部124がスイッチ14_2をオンする。これにより、バスライン35_1とバスライン35_2とが接続されるので、バス3は、上位装置2からアクチュエータ1_3までに接続されることになる。次に、アクチュエータ1_2の通信部120がアクチュエータ1_2のアドレスの設定が完了したことを示す応答メッセージRs2_2をバス3に送信し、上位装置2が応答メッセージRs2_2をバス3から受信する。
以上の手順により、アクチュエータ1_2によるアドレス設定処理が行われる。
なお、指定ノード識別子AD_2を含む第2のリクエストRq2は、アクチュエータ1_1にも送信されるが、アクチュエータ1_1は、既にアドレスが設定されているため、指定ノード識別子AD_2に基づくアドレス設定処理を行わない。
次に、図6Eに示すように、応答メッセージRs2_2を受信した上位装置2のデータ処理制御部200は、送信済みの指定ノード識別子AD_1,AD_2とは異なる指定ノード識別子AD_3を含む第2のリクエストとしてのアドレス指定メッセージRq2_3をバス3に送信する。このとき、図6Eに示すように、バス3は上位装置2からアクチュエータ1_3まで接続されているので、上位装置2から送信された指定ノード識別子AD_3を含むアドレス指定メッセージRq2_3は、アクチュエータ1_3まで送信される。
指定ノード識別子AD_3を含む第2のリクエストRq2_3を受信したアクチュエータ1_3は、上述したアクチュエータ1_1,1_2と同様の手法により、アドレス設定処理を実行して、受信した指定ノード識別子AD_3の自身のアドレスとして設定する。アクチュエータ1_3は、指定ノード識別子AD_3の自身のアドレスとして設定するとともに、スイッチ14_3をオンし、自身のアドレス設定が完了したことを示す応答メッセージRs2_3を上位装置2に送信する。
その後は、上位装置2が、アドレス設定が完了したことを示す応答メッセージRs2を受信しなくなるまで、指定ノード識別子を含むアドレス指定メッセージRq2の送信を繰り返す。これにより、アクチュエータ1_4からアクチュエータ1_nまでのアドレスが、上記と同様の手順により順次設定される。各アクチュエータ1_1〜1_nのアドレス設定が完了したら、図6Fに示すように、上位装置2が、第3のリクエストとしてのアドレス設定終了メッセージRq3を、ブロードキャストによりバス3に送信する。
以上のように、バス3に直列的に設けられたスイッチ14_1〜14_nを上位側から下位側に向かって順次オンさせていくことにより、マスタ(上位装置2)は、アドレスが未設定のスレイブ(アクチュエータ1)に対して、一台ずつ順次、指定ノード識別子を送信することが可能となる。これにより、各スレイブに対して一意のアドレスを確実に設定することができる。
次に、上述したアドレスの設定方法を実現するための、上位装置2およびアクチュエータ1による具体的な処理について説明する。
図7は、本実施の形態に係るアドレスの設定方法におけるマスタ側(上位装置2)の処理の一例を示すフロー図である。
図7に示すように、各アクチュエータ1_1〜1_nのアドレス設定を行うとき、先ず、上位装置2のデータ処理制御部200が、LINトランシーバ201を制御して、スレイブとしてのアクチュエータ1のアドレス設定の開始を指示する第1のリクエスト(アドレス設定開始メッセージ)Rq1を、ブロードキャストによりバス3に送信する(ステップS21)。
次に、データ処理制御部200が、例えばデータ処理制御部200内部の記憶装置に記憶されている1つの指定ノード識別子を読み出す(ステップS22)。次に、データ処理制御部200が、LINトランシーバ201を制御して、ステップS22で読みだした指定ノード識別子とともに、当該指定ノード識別子をアドレスとして設定することを指示するアドレス指定メッセージ(第2のリクエスト)Rq2を、バス3に送信する(ステップS23)。
次に、データ処理制御部200は、アクチュエータ1_1〜1_nの何れかから送信された、アドレス指定メッセージ(第2のリクエスト)Rq2に対するレスポンス(応答メッセージ)Rs2を受信したか否かを判定する(ステップS24)。具体的には、データ処理制御部200は、所定の期間内に、アドレス指定メッセージに対する応答メッセージRs2を受信したか否かを判定する。
上位装置2が所定期間内に応答メッセージを受信した場合には(ステップS24:Yes)、上位装置2は、ステップS22からステップS24までの処理を再度実行する。2回目以降のステップS22〜S24では、データ処理制御部200は、送信済みの指定ノード識別子とは異なる指定ノード識別子を上記記憶装置から読み出して、アドレス指定メッセージ(第2のリクエスト)Rq2とともにバス3に送信する。
一方、上位装置2が所定期間内にアドレス指定メッセージに対する応答メッセージRs2を受信しなかった場合には(ステップS24:No)、データ処理制御部200は、全てのアクチュエータ1_1〜1_nに対してアドレスが設定されたと判断し、第3のリクエストとしてのアドレス設定終了メッセージRq3を、ブロードキャストによりバス3に送信する(ステップS25)。
図8は、本実施の形態に係るアドレスの設定方法におけるスレイブ側(アクチュエータ1)の処理の一例を示すフロー図である。
図8に示すように、先ず、アクチュエータ1において、制御回路110の通信部120が第1のリクエストとしてのアドレス設定開始メッセージRq1をバス3から受信する(ステップS11)。制御回路110は、アドレス設定開始メッセージRq1の受信に応じて、スイッチ制御部124によりスイッチ14をオフする(ステップS12)。
次に、制御回路110が、指定ノード識別子を含むアドレス指定メッセージRq2を受信したか否かを判定する(ステップS13)。アクチュエータ1がアドレス指定メッセージRq2を受信している場合には(ステップS13:Yes)、制御回路110が、スイッチ14がオフ状態であるか否かを判定する(ステップS14)。スイッチ14がオフ状態である場合には(ステップS14:Yes)、制御回路110が、ステップS13において受信したアドレス指定メッセージRq2に含まれる指定ノード識別子を、自身のアクチュエータ1のアドレスとして設定する(ステップS15)。
ステップS15によるアクチュエータ1のアドレスの設定後、制御回路110が、スイッチ制御部124によってスイッチ14をオフ状態からオン状態にする(ステップS16)。次に、制御回路110が、ステップS13で受信したアドレス指定メッセージRq2に対するレスポンス(応答メッセージ)Rs2をバス3に送信する(ステップS17)。
ステップS17の後、制御回路110は、アドレス設定終了メッセージRq3を受信したか否かを判定する(ステップS18)。なお、ステップS13においてアドレス指定メッセージRq2を受信していない場合(ステップS13:No)、およびステップS14においてスイッチ14がオフ状態でない(オン状態である)場合(ステップS14:No)も同様に、制御回路110は、ステップS18の処理を行う。
ステップS18において、アドレス設定終了メッセージを受信していない場合(ステップS18:No)、制御回路110が、ステップS13〜S17までの処理を再度実行する。一方、アドレス設定終了メッセージを受信している場合には(ステップS18:Yes)、制御回路110が、アドレス設定に係る一連処理を終了する。
以上、本実施の形態に係るモータ駆動制御装置10は、LIN通信システムのバス3(LINバス)を構成する各バスライン35間に接続可能なスイッチ14を備えているので、LIN通信システムのスレイブとしてのアクチュエータ1_1〜1_nにモータ駆動制御装置10を搭載することにより、バス3によって、上位装置2とアクチュエータ1_1〜1_nとをスイッチ14_1〜14_nを介して直列的に接続することが可能となる。これにより、スイッチ14_1〜14_nの開閉を制御することによって、上位装置2と接続させたいアクチュエータ1をバス3の上位側から順に選択することが可能となる。
すなわち、上述したように、上位装置2がバス3の上位側から順にスイッチ14をオフ状態からオン状態に切り替えて、指定ノード識別子をバス3に送信することを繰り返すことにより、バス3の上位側から順に、アクチュエータ1_1〜1_nのアドレスを割り当てることが可能となる。
具体的には、上述したように、アクチュエータ1のモータ駆動制御装置10におけるスイッチ14がオンしている状態において、アクチュエータ1が上位装置2から送信されたアドレス設定開始メッセージRq1(第1のリクエスト)を受信した場合に、モータ駆動制御装置10がスイッチ14をオフし、スイッチ14をオフした後に、アクチュエータ1が上位装置2から送信された指定ノード識別子を含むアドレス指定メッセージ(第2のリクエスト)Rq2を受信した場合に、モータ駆動制御装置10がスイッチ14をオンする。
これによれば、バス3の上位側に接続されているアクチュエータ1が指定ノード識別子を受信するまでは、バス3の下位側に接続されているアクチュエータ1に指定ノード識別子が届かないので、バス3の上位側から順に、アクチュエータ1_1〜1_nのアドレスを順次設定することが可能となる。すなわち、モータ駆動制御装置10によれば、マスタと複数のスレイブとが一つの通信線で接続された通信システムにおいて、スレイブのアドレスを簡単に設定することが可能となる。
また、モータ駆動制御装置10によれば、上述した特許文献1に係るLIN通信システムのように、スレイブのアドレス設定を行うためにスレイブ毎に電流検出回路を設ける必要がなく、電流値を高精度に検出するための高分解能のA/D変換回路等も設ける必要がない。したがって、モータ駆動制御装置10によれば、スレイブ側の回路構成をより簡素にすることが可能となり、アドレス設定機能の追加に伴う部品コストの増大を抑えることが可能となる。
また、モータ駆動制御装置10は、特許文献1に係るLIN通信システムのような、電流検出をマスタとの間の通信に同期して行うための複雑なタイミング制御が不要であるので、モータ駆動制御装置10の制御回路110(マイクロコントローラ)に実装するプログラムを単純にすることができる。したがって、モータ駆動制御装置10によれば、アドレス設定機能の追加に伴うソフトウェアの開発工数の増大を抑えることが可能となる。
また、本実施の形態に係る通信システム100では、各アクチュエータ1_1〜1_nがバス3の上位側から順にアドレス設定処理を実行するので、例えば、故障しているアクチュエータ1(モータ駆動制御装置10)が存在する場合には、故障しているアクチュエータ1はアドレス設定処理を適切に実行することができないので、通信システム100におけるアドレス設定に係る一連の処理が途中で停止することになる。したがって、通信システム100において、上述した手法でアクチュエータ1のアドレス設定を行うことにより、不具合があるモータ駆動制御装置10を含むアクチュエータ1を容易に特定することが可能となる。
≪実施の形態の拡張≫
以上、本発明者によってなされた発明を実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、上記実施の形態では、アクチュエータ1(制御回路110)によるアドレス設定処理において、アクチュエータ1が、指定ノード識別子を含む第2のリクエストRq2の受信に応じて(受信後、速やかに)、受信した指定ノード識別子を自身のアドレスとして設定する場合を例示したが、これに限られない。例えば、アクチュエータ1(制御回路110)は、指定ノード識別子を含むアドレス指定メッセージ(第2のリクエスト)Rq2を受信した場合に、先ず、指定ノード識別情報を記憶部123に記憶し、その後、上位装置2から送信された第3のリクエストとしてのアドレス設定終了メッセージRq3を受信したときに、記憶部123に記憶されている指定ノード識別子を自身のアドレスとして設定してもよい。この場合のスレイブ側(アクチュエータ1)の処理手順の一例を図9に示す。
図9は、本実施の形態に係るアドレスの設定方法におけるスレイブ側(アクチュエータ1)の処理の別の一例を示すフロー図である。
図9に示すように、先ず、アクチュエータ1の制御回路110は、上述した図8に示した処理手順と同様に、ステップS11からステップS14までの処理を実行する。ステップS14において、スイッチ14がオフ状態である場合には、制御回路110がステップS13において受信した指定ノード識別子を記憶部123に記憶する(ステップS19)。その後、アクチュエータ1は、上述した図8に示した処理手順と同様に、ステップS16からステップS18までの処理を実行する。
ステップS18においてアドレス設定終了メッセージを受信している場合には(ステップS18:Yes)、制御回路110は、アドレス設定部122によって、記憶部123に記憶されている指定ノード識別子を自身のアドレスとして設定する(ステップS20)。
これによれば、各アクチュエータ1_1〜1_nのアドレスは、バス3の上位側から順に設定されるのではなく、上位装置2からのアドレス設定終了メッセージの送信に応じて、一斉に設定される。
また、上記実施の形態では、上位装置2が、アドレス指定メッセージRq2(第2のリクエスト)に対する応答メッセージRs2(レスポンス)を受信した場合に、次の指定ノード識別子を含むアドレス指定メッセージRq2を送信する場合を例示したが、これに限られない。例えば、上位装置2は、スレイブからの応答メッセージRs2の送信を待つことなく、指定ノード識別子を含むアドレス指定メッセージRq2を予め設定された回数だけバス3に送信した後に、第3のリクエストとしてのアドレス設定終了メッセージRq3を送信してもよい。この場合のマスタ側(上位装置2)の処理手順の一例を図10に示し、スレイブ側(アクチュエータ1)の処理手順の一例を図11に示す。
図10は、本実施の形態に係るアドレスの設定方法におけるマスタ側(上位装置2)の処理の別の一例を示すフロー図である。
先ず、上位装置2のデータ処理制御部200は、例えばデータ処理制御部200内の記憶装置に予め記憶されている、通信システム100に接続されるスレイブの台数の情報(スレイブ数)を取得する(ステップS20A)。次に、上位装置2は、上述の図7に示した処理手順と同様に、アドレス設定開始メッセージ(第1のリクエスト)Rq1をブロードキャストによりバス3に送信し(ステップS21)、データ処理制御部200の内部の記憶装置から一つの指定ノード識別子を読み出す(ステップS22)。次に、上位装置2は、ステップS22で読みだした指定ノード識別子を含むアドレス指定メッセージ(第2のリクエスト)Rq2をバス3に送信する(ステップS23)。
その後、上位装置2のデータ処理制御部200が、アドレス指定メッセージの送信回数をカウントアップする(ステップS26A)。次に、データ処理制御部200が、アドレス指定メッセージの送信回数がステップS20Aで取得したスレイブ数以上であるか否かを判定する(ステップS27A)。
ステップS27Aにおいて、アドレス指定メッセージの送信回数がスレイブ数より小さい場合には(ステップS27A:No)、データ処理制御部200が、ステップS22からステップS27Aまでの処理を再度実行して、未送信の指定ノード識別子を含むアドレス指定メッセージRq2をバス3に送信する。一方、アドレス指定メッセージの送信回数がスレイブ数以上である場合には(ステップS27A:Yes)、データ処理制御部200が、全てのアクチュエータ1_1〜1_nに対してアドレスが設定されたと判定し、第3のリクエストとしてのアドレス設定終了メッセージRq3をブロードキャストによりバス3に送信する(ステップS25A)。
図11は、本実施の形態に係るアドレスの設定方法におけるスレイブ側(アクチュエータ1)の処理の別の一例を示すフロー図である。
図11に示すように、アクチュエータ1の制御回路110は、先ず、上述の図8に示した処理手順と同様に、ステップS11からステップS16までの処理を実行する。
ステップS16の後、制御回路110は、第2のリクエストとしてのアドレス指定メッセージRq2に対する応答メッセージRs2をバス3に送信することなく、第2のリクエストとしてのアドレス設定終了メッセージRq3を受信したか否かを判定する(ステップS18A)。アドレス設定終了メッセージを受信していない場合(ステップS18A:No)、制御回路110は、ステップS13〜S16までの処理を再度実行する。一方、アドレス設定終了メッセージを受信している場合には(ステップS18A:Yes)、制御回路110は、アドレス設定に係る一連処理を終了する。
以上のように、上位装置2が予め設定されたスレイブ数だけアドレス指定メッセージを送信するように設計することにより、各アクチュエータ1_1〜1_nのモータ駆動制御装置10がアドレス指定メッセージに対するレスポンスを送信しなくても、各アクチュエータ1_1〜1_nのアドレスを設定することができる。これによれば、アドレス設定時に行われる上位装置2とアクチュエータ1との間の通信の回数を減らすことが可能となり、アドレス設定に要する時間をより短くすることが可能となる。
なお、この場合も図9に示した処理フローと同様に、各アクチュエータ1が、上位装置2からアドレス設定終了メッセージの受信に応じて、アドレスを一斉に設定するようにしてもよい。
図12は、本実施の形態に係るアドレスの設定方法におけるスレイブ側(アクチュエータ1)の処理の別の一例を示すフロー図である。
図12に示すように、アクチュエータ1の制御回路110は、上述した図9に示した処理手順と同様に、ステップS11からステップS14までの処理を実行する。ステップS14において、スイッチ14がオフ状態である場合には、制御回路110がステップS13において受信したアドレス指定メッセージRq2に含まれる指定ノード識別子を記憶部123に記憶する(ステップS19)。その後、制御回路110が、スイッチ制御部124によってスイッチ14をオンする(ステップS16)。
その後、制御回路110が、応答メッセージRs2をバス3に送信することなく、アドレス設定終了メッセージを受信したか否かを判定する(ステップS18)。アドレス設定終了メッセージRq3を受信していない場合には(ステップS18:No)、制御回路110が、ステップS13,S14,S19,S16の各処理を再度実行する。一方、アドレス設定終了メッセージRq3を受信している場合には(ステップS18:Yes)、制御回路110が、アドレス設定部122によって、記憶部123に記憶されている指定ノード識別子を自身のアドレスとして設定する(ステップS20)。
これによれば、アクチュエータ1から応答メッセージRs2を送信しない場合においても、上位装置2によるアドレス設定終了メッセージRq3の送信に応じて、各アクチュエータ1_1〜1_nのアドレスを一斉に設定することが可能となる。
また、上記実施の形態において、モータ60がステッピングモータである場合を例示したが、これに限られず、モータ60は、ブラシレスモータ等の他の種類のモータであってもよい。
また、上述のフローチャートは、動作を説明するための一例を示すものであって、これに限定されない。すなわち、フローチャートの各図に示したステップは具体例であって、このフローに限定されるものではない。例えば、一部の処理の順番が変更されてもよいし、各処理間に他の処理が挿入されてもよいし、一部の処理が並列に行われてもよい。