JP2004173372A - Motor controller - Google Patents

Motor controller Download PDF

Info

Publication number
JP2004173372A
JP2004173372A JP2002334231A JP2002334231A JP2004173372A JP 2004173372 A JP2004173372 A JP 2004173372A JP 2002334231 A JP2002334231 A JP 2002334231A JP 2002334231 A JP2002334231 A JP 2002334231A JP 2004173372 A JP2004173372 A JP 2004173372A
Authority
JP
Japan
Prior art keywords
motor
command value
mpu
motor command
change amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002334231A
Other languages
Japanese (ja)
Other versions
JP4052099B2 (en
Inventor
Hiroshi Suzuki
浩 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyoda Koki KK
Original Assignee
Toyoda Koki KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyoda Koki KK filed Critical Toyoda Koki KK
Priority to JP2002334231A priority Critical patent/JP4052099B2/en
Publication of JP2004173372A publication Critical patent/JP2004173372A/en
Application granted granted Critical
Publication of JP4052099B2 publication Critical patent/JP4052099B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a motor controller which can improve a reliability in motor drive control. <P>SOLUTION: The second MPU limits a variation ▵ between this motor command value A sent from a first MPU and the last motor command value X into a specified value P assumed beforehand or under. That is, the second MPU calculates the variation ▵ between this motor command value A and the last motor command value X, and when it determines that this variation ▵ is over a specified value P, it calculates a new motor command value, based on the variation ▵, the last motor command value X, and the specified value P. The second MPU makes this new motor command value a normal motor command value Y, and controls the drive of the electric motor, based on this motor command value Y. Accordingly, even if instant communication trouble or bit transformation occurs, the variation ▵ of the motor command value is suppressed to the specified value P or under, whereby the action change of the electric motor is minimized, too. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、分散型のモータ制御装置に関するものである。
【0002】
【従来の技術】
従来より、分散型のモータ制御装置としては、2つのMPU間のデータ通信をパラレル通信で行うようにしたもの(以下、「第1の従来技術」という。)と、シリアル通信で行うようにしたもの(以下、「第2の従来技術」という。)が知られている。
【0003】
(第1の従来技術)
まず、2つのMPU間のデータ通信をパラレル通信で行うようにした従来のモータ制御装置について説明する。図13に示すように、例えば電動パワーステアリング装置のモータ制御装置100は、操舵トルクT及び車速V等に基づいてモータ指令値を演算する第1のMPU(Micro Processing Unit)101と、この第1のMPU101により算出されたモータ指令値に基づいてモータ102を駆動する第2のMPU103とを備えている。第1のMPU101のパラレルポート101aと第2のMPU103のパラレルポート103aとの間はパラレル通信ライン104により相互に接続されている。モータ指令値は8ビットのデータであるので、パラレル通信ライン104は8本のデータラインD0〜D7を備えている。
【0004】
図14(a)に示すように、第1のMPU101はまず各種のセンサにより検出されたセンサ信号を読み込む。即ち、トルクセンサ(図示略)により検出された操舵トルクT及び車速センサ(図示略)により検出された車速Vを読み込む(S301)。次に、第1のMPU101は、操舵トルクT及び車速Vに基づいて予め記憶された特性マップを参照してモータ指令値(アシスト指令電流値)を演算する(S302)。そして、第1のMPU101は算出したモータ指令値をパラレルポート101aにセットして処理を終了する。第1のMPU101により算出されたモータ指令値は各データラインD0〜D7によりビット毎に第2のMPU103へ送られる。以後、第1のMPU101はS301〜S303の処理を所定の制御周期毎に繰り返す。
【0005】
一方、第2のMPU103においては、次のような処理が行われる。即ち、図14(b)に示すように、第2のMPU103はまず第1のMPU101から送られてきたモータ指令値をパラレルポート103aにラッチ(保持)、即ち受信する(S401)。そして、第2のMPU103は受信したモータ指令値に基づいてモータ102を駆動制御する(S402)。以後、第2のMPU103はS401及びS402の処理を所定の制御周期毎に繰り返す。
【0006】
(第2の従来技術)
次に、2つのMPU間のデータ通信をシリアル通信で行うようにした従来のモータ制御装置について説明する。この第2の従来技術のモータ制御装置は2つのMPU間のデータ通信をパラレル通信で行うようにした点で前記第1の従来技術と異なる。従って、前記第1の従来技術と同様の構成については同一の符号を付し、その詳細な説明を省略する。
【0007】
図16に示すように、第1のMPU101と第2のMPU103との間はシリアル通信ライン105により相互に接続されている。
図17(a)に示すように、まず第1のMPU101は各種のセンサにより検出されたセンサ信号を読み込む。即ち、トルクセンサ(図示略)により検出された操舵トルクT及び車速センサ(図示略)により検出された車速Vを読み込む(S501)。次に、第1のMPU101は、操舵トルクT及び車速Vに基づいて予め記憶された特性マップを参照してモータ指令値(アシスト指令電流値)を演算する(S502)。そして、第1のMPU101は算出したモータ指令値(例えば8ビットのデータ)をシリアル通信ライン105により第2のMPU103へ送る(S503)。モータ指令値を構成するデータは直列的に1ビットずつ第2のMPU22へ送られる。以後、第1のMPU101はS501〜S503の処理を所定の制御周期毎に繰り返す。
【0008】
一方、第2のMPU103においては、次のような処理が行われる。即ち、図17(b)に示すように、第2のMPU103はまずシリアル通信が正常に行われているか否かを判断する(S601)。例えば第2のMPU103はチェックサム等によりシリアル通信の正常異常を判定する。そして、シリアル通信が正常に行われていると判断したとき(S601でYES)、第2のMPU103はシリアル通信ライン105により送られてきたデータ、即ちモータ指令値を受信し(S602)、この受信したモータ指令値に基づいてモータ102を駆動制御する(S603)。
【0009】
シリアル通信が正常に行われていないと判断したとき(S601でNO)、第2のMPU103はモータ102の駆動制御を停止する(S604)。シリアル通信が異常の場合、第2のMPU103へのデータ送信が途切れ、第2のMPU103はモータ指令値(目標値)を認識不能となる。そして、モータ指令値が不明な状態でモータ102が駆動制御された場合、当該モータ102は予期しない挙動を示すおそれがある。このため、モータ102を停止させるのである。以後、第2のMPU103はS601及びS602の処理を所定の制御周期毎に繰り返す。
【0010】
【発明が解決しようとする課題】
(第1の従来技術)
ところが、2つのMPU間のデータ通信をパラレル通信で行うようにした前記従来のモータ制御装置においては、次のような問題があった。即ち、電動パワーステアリング装置で使用されている分散型のモータ制御装置は小型化の傾向にあり、これに伴って、シグナル系とパワー系との干渉に起因して信号にスイッチングノイズ等の各種ノイズが重畳しやすくなる。そして、第1のMPU101により算出されたモータ指令値を8ビットのパラレル通信ライン105で第2のMPU103へ送る際、ノイズが発生したタイミングでデータが第2のMPU103のパラレルポート103aにラッチされると、第2のMPU103は「0」を「1」又は「1」を「0」と誤認識する。換言すれば、いわゆるビット化けが発生する。この結果、第2のMPU103は、正しいモータ指令値を受け取ることができない。
【0011】
第1のMPU101により算出されたモータ指令値を例えば「+100」とした場合、これを符号付の2進数で表すと「01100100(B)」となる。ここで、最上位ビットは正負(+,−)を示す符号ビットであり、最上位から2桁目以降が数値を示す数値ビットとなる。ちなみに、正は「0」、負は「1」で示される。このモータ指令値の各ビットはパラレル通信ライン104の8本のデータラインD0〜D7によりそれぞれ第2のMPU103へ送られる。
【0012】
そして、このモータ指令値の送信時において、上位ビット(例えば上位4ビット「0110」)のうち最上位から2桁目以降のいずれかの数値ビットにビット化けが発生すると、第2のMPU103は誤認識した過剰なモータ指令値に基づいてモータ102を駆動制御する。
【0013】
例えば第1のMPU101により算出されたモータ指令値を「+36=00100100(B)」とした場合に最上位から2桁目がビット化けすると、第2のMPU103はモータ指令値を「01100100(B)」と誤認識する。これは10進数で表すと+100であり、本来のモータ指令値「+36」に比べて過大な値となる。
【0014】
また、図15に示すように、例えばモータ指令値の最上位ビットの信号にノイズが重畳し、このタイミングで第2のMPU103でラッチされると、第2のMPU103はモータ指令値を11100100(B)と誤認識する。これは10進数で表すと「−100」である。即ち、第2のMPU103は本来とは逆方向の電流指令をモータ102へ出力し、モータ102は本来正回転されるべきであるにもかかわらず、逆回転(逆アシストの方向へ回転)する。
【0015】
このように、上位のビットほど桁数が大きいのでモータ102の挙動に与える影響が大きい。そして、このモータ指令値の上位ビットがビット化けすると、前述したような過大なモータ指令値又は逆方向のモータ指令値に基づいてモータ102が駆動されることとなり、当該モータ102が意図しない挙動を示すおそれがあった。ひいては、モータ駆動制御の信頼性が損なわれるという問題があった。
【0016】
(第2の従来技術)
一方、2つのMPU間のデータ通信をシリアル通信で行うようにした前記従来のモータ制御装置においては、シリアル通信が正常に行われていないと判断したときにはモータ102の駆動制御を停止するようにしていた。これにより、モータ102の予期しない挙動は回避できるものの、モータ駆動制御の信頼性が損なわれるという問題があった。このモータ制御装置が例えば電動パワーステアリング装置に使用されている場合、モータ102が停止されることにより操舵性能が著しく低下する。
【0017】
本発明は上記問題点を解決するためになされたものであって、その目的は、モータ駆動制御の信頼性を確保することができるモータ制御装置を提供することにある。
【0018】
【課題を解決するための手段】
請求項1に記載の発明は、前記第2のMPUには、今回のモータ指令値と前回のモータ指令値との変化量を予め想定された所定値以下に制限する変化量制限手段を備えたことを要旨とする。
【0019】
請求項2に記載の発明は、請求項1に記載のモータ制御装置において、前記変化量制限手段は、今回のモータ指令値と前回のモータ指令値との変化量を演算する変化量演算手段と、前記変化量演算手段により算出されたモータ指令値の変化量が予め想定された所定値以下か否かを判断する変化量判断手段と、前記変化量判断手段によりモータ指令値の変化量が前記所定値を越えていると判断されたとき、前記変化量演算手段により算出されたモータ指令値の変化量と前回のモータ指令値と前記予め想定されたモータ指令値の変化量とに基づいて新たなモータ指令値を演算するモータ指令値演算手段と、を備えたことを要旨とする。
【0020】
請求項3に記載の発明は、請求項1又は請求項2に記載のモータ制御装置において、前記モータ指令値は、モータ電流指令値、モータ角速度指令値及びモータ角度指令値のうち少なくとも一つであることを要旨とする。
(作用)
請求項1に記載の発明によれば、第1のMPUにより演算されたモータ指令値は通信ラインにより第2のMPUへ送られる。第2のMPUは、今回のモータ指令値と前回のモータ指令値との変化量を予め想定された所定値以下に制限する。即ち、モータ指令値が前記所定値を越えて変化することはない。
【0021】
請求項2に記載の発明によれば、請求項1に記載のモータ制御装置の作用に加えて、今回のモータ指令値と前回のモータ指令値との変化量が演算され、この変化量が予め想定された所定値以下かどうかが判断される。モータ指令値の変化量が前記所定値を越えていると判断されたとき、前記変化量と前回のモータ指令値と前記所定値とに基づいて新たなモータ指令値が演算される。
【0022】
請求項3に記載の発明によれば、請求項1又は請求項2に記載の発明の作用に加えて、第2のMPUは、モータ電流指令値、モータ角速度指令値及びモータ角度指令値のうち少なくとも一つに基づいてモータを駆動制御する。
【0023】
【発明の実施の形態】
(第1実施形態;EPS;パラレル通信)
以下、本発明を電動パワーステアリング装置のモータ制御装置に具体化した第1実施形態を図1〜図4に従って説明する。
【0024】
(全体構成)
図1に示すように、電動パワーステアリング装置(EPS)1は、電動パワーステアリング制御装置(以下「制御装置2」という。)及び当該制御装置2により駆動制御される電動モータ3を備えており、この電動モータ3の出力軸にはギヤ4が固定されている。電動モータ3は三相同期式永久磁石モータで構成したブラシレスモータであり、モータ回転角センサ(例えばホール素子)5を備えている。モータ回転角センサ5は電動モータ3の回転角θm、即ち電動モータ3を構成するロータの磁極位置を示す電気角を検出し、この検出結果(モータ回転角信号)を制御装置2へ送る。
【0025】
一方、ステアリングホイール(以下、「ハンドル7」という)にはステアリングシャフト8が連結されており、同ステアリングシャフト8には減速歯車9が固定されている。この減速歯車9には前記電動モータ3のギヤ4が噛合している。ステアリングシャフト8にはトーションバー(ねじりばね)10が組み込まれており、当該トーションバー10にはトルクセンサ11が設けられている。トルクセンサ11は、運転者によりハンドル7が操舵されてステアリングシャフト8が回転した際のトーションバー10の捻れ量に基づいて、当該ハンドル7に作用する操舵トルクTを検出する。この操舵トルク信号は制御装置2へ送られる。
【0026】
前記減速歯車9にはピニオンシャフト12を介してピニオンギヤ13が固定されている。このピニオンギヤ13はラック14と噛合しており、当該ラック14の両端にはそれぞれタイロッド15が固定されている。タイロッド15の先端部にはナックルアーム16が回動可能に連結されており、両ナックルアーム16,16間にはクロスメンバ17が回動可能に連結されている。両ナックルアーム16,16にはそれぞれ前輪18が取り付けられている。
【0027】
前後左右の各車輪にはそれぞれ車速センサ19が設けられている(図1では、一方の前輪18の車速センサ19のみ図示する)。車速センサ19は車輪速(車輪の単位時間当たりの回転数、即ち回転速度)を検出し、この検出結果(車輪速信号)を制御装置2へ送る。制御装置2は車速センサ19から送られてきた車輪速信号に基づいて車速Vを演算する。
【0028】
さて、運転者によりハンドル7が回動操作されると、ステアリングシャフト8が回転する。この回転はトーションバー10、ピニオンシャフト12及びピニオンギヤ13を介してラック14へ伝達され、同ラック14の軸動に変換される。これにより、両前輪18,18が転舵される。
【0029】
このとき、制御装置2は、トルクセンサ11により検出された操舵トルクT及び車速センサ19により検出された車速Vに基づいて、所定の操舵補助トルク(アシストトルク)を発生させるように電動モータ3を正逆駆動制御する。電動モータ3の回転はギヤ4を介して減速歯車9に伝達され、当該減速歯車9により回転数が減少されてピニオンシャフト12及びピニオンギヤ13に伝達される。ピニオンギヤ13の回転はラック14に伝達され、同ラック14の軸動に変換される。このようにして、ハンドル7の回動操作による前輪18の操舵に対してアシストトルクが付与される。
【0030】
(制御装置)
次に、制御装置2の電気的構成について説明する。
図1に示すように、制御装置2は、第1のMPU(Micro Processing Unit)21、第2のMPU22、第1のROM(読み出し専用メモリ)23、第1のRAM(読み出し書き込み専用メモリ)24、第2のROM25、第2のRAM26及びモータ駆動装置27を備えている。また、制御装置2は電流センサ28を備えている。
【0031】
第1のROM23には、第1のMPU21が実行する基本アシスト制御プログラム及びハンドル戻し制御プログラム等の各種の制御プログラム、各種のデータ及び各種の特性マップ等が格納されている。各種の特性マップはそれぞれ車両モデルによる実験データ及び周知の理論計算等によって予め求められたものであり、例えば車速Vと操舵トルクTとに基づいて基本アシスト電流を求めるための基本アシストトルクマップや車速、操舵角速度及び操舵絶対角に基づいてハンドル戻し指令電流を求めるためのマップがある。
【0032】
第1のRAM24は、第1のROM23に書き込まれた各種の制御プログラムを展開して第1のMPU21が各種の演算処理を実行するためのデータ作業領域である。また、第1のRAM24は第1のMPU21が各種の演算処理を行う際の各種の演算処理結果等を一時的に記憶する。
【0033】
第1のMPU21にはトルクセンサ11及び車速センサ19がそれぞれ入出力インターフェイス(図示略)を介して接続されている。第1のMPU21はトルクセンサ11及び車速センサ19から得られる各種の情報に基づいて基本アシスト制御プログラム及びハンドル戻し制御プログラム等の各種の制御プログラムを実行する。
【0034】
第2のROM25には、第2のMPU22が実行する電流制御プログラムやPWM演算プログラム等の各種の制御プログラム及び各種のデータ等が格納されている。
【0035】
第2のRAM26は、第2のMPU22に書き込まれた各種の制御プログラムを展開して第2のMPU22が各種の演算処理を実行するためのデータ作業領域である。また、第2のRAM26は第2のMPU22が各種の演算処理を行う際の各種の演算処理結果等を一時的に記憶する。
【0036】
第2のMPU22にはモータ回転角センサ5及び電流センサ28がそれぞれ入出力インターフェイス(図示略)を介して接続されている。第2のMPU22は、第1のMPU21における演算結果やモータ回転角センサ5及び電流センサ28から得られる各種の情報等に基づいて電流制御プログラムやPWM演算プログラム等の各種の制御プログラムを実行する。
【0037】
(モータ駆動装置)
図2に示すように、モータ駆動装置27は、FET(電界効果トランジスタ)31U,32Uの直列回路と、FET31V,32Vの直列回路と、FET31W,32Wの直列回路とが並列に接続されることにより構成されている。FET31U,32U間の接続点33Uは電動モータ3のU相巻線に接続され、FET31V,32V間の接続点33Vは電動モータ3のV相巻線に接続され、FET31W,32W間の接続点33Wは電動モータ3のW相巻線に接続されている。
【0038】
モータ駆動装置27と車両に搭載されたバッテリ34との間の電源ラインLp上には昇圧回路(図示略)が設けられており、当該昇圧回路は第2のMPU22からの指令信号(昇圧回路制御信号)に基づいてバッテリ34の電圧を昇圧し、これをモータ駆動装置27の各直列回路にそれぞれ印加する。
【0039】
図2に示すように、電流センサ28はモータ駆動装置27から電動モータ3へ出力される3相の励磁電流Iu,Iv,Iwをそれぞれ検出するu相電流センサ28u、v相電流センサ28v及びw相電流センサ28wを備えている。u相電流センサ28u、v相電流センサ28v及びw相電流センサ28wは検出したu相励磁電流Iu、v相励磁電流Iv及びw相励磁電流Iwをそれぞれ第2のMPU22へ送る。
【0040】
(第1及び第2のMPUの接続間係)
図2に示すように、第1のMPU21と第2のMPU22との間はパラレル通信ラインLcにより接続されている。パラレル通信ラインLcは第1のMPU21から第2のMPU22へ送るモータ指令値のビット長と同じ本数のデータラインを備えている。本実施形態では、モータ指令値のビット長は8ビットとされているので、パラレル通信ラインLは8本のデータラインD0〜D7を備えている。
【0041】
また、第1のMPU21はパラレルポート41を備えており、第2のMPU22はパラレルポート42を備えている。両パラレルポート41,42はそれぞれビット位置b0〜b7の8ビット長のパラレルポートである。第1のMPU21のパラレルポート41と第2のMPU22のパラレルポート42との間、具体的には両パラレルポート41,42のビット位置b0〜b7間はそれぞれデータラインD0〜D7により接続されている。
【0042】
第1のMPU21は、前記基本アシストトルクマップに基づいて、車速V及び操舵トルクTに対応した基本アシスト電流値を演算し、この演算結果(即ち、モータ指令値)をパラレル通信ラインLcにより第2のMPU22へ送る。
【0043】
第2のMPU22はモータ回転角センサ5により検出された電動モータ3の回転角θmに基づいて、u相電流センサ28u、v相電流センサ28v及びw相電流センサ28wにより検出されたu相励磁電流Iu、v相励磁電流Iv及びw相励磁電流Iwをd−q変換してd軸及びq軸電流を求める。そして、第2のMPU22は第1のMPU21から送られてきた基本アシスト電流値と前記q軸電流とに基づいてPI制御値を演算する。
【0044】
第2のMPU22はPI制御値に応じたPWM演算を行い、このPWM演算の結果(モータ制御信号)をモータ駆動装置27に対して、具体的にはFET31U,32U、FET31V,32V、FET31W,32Wに対してそれぞれ出力する。モータ駆動装置27は、送られてきたPWM演算の結果に基づいて電動モータ3に対する基本アシスト電流(3相の励磁電流)の供給を3相の励磁電流路を介して行う。電動モータ3は基本アシスト電流の供給に基づいてハンドル7に対して基本アシスト力を付与する。
【0045】
(実施形態の作用)
次に、前述のように構成した電動パワーステアリング制御装置の動作を図3(a),(b)に示すフローチャートに従って説明する。図3(a)に示すフローチャートは第1のROM23に予め格納された各種の制御プログラムに従って実行される。図3(b)に示すフローチャートは第2のROM25に予め格納された各種の制御プログラムに従って実行される。尚、本実施形態では「ステップ」を「S」と略記する。
【0046】
(第1のMPUの動作)
図3(a)に示すように、第1のMPU21は、まずセンサ信号、即ちトルクセンサ11により検出された操舵トルクT及び車速センサ19により検出された車速Vを読込む(S101)。そして、第1のMPU21は、操舵トルクT及び車速Vに基づいてmビット(本実施形態では8ビット)のモータ指令値(アシスト指令電流値)Aを演算する(S102)。
【0047】
次に、第1のMPU21は算出したモータ指令値Aの全ビットをパラレルポート41にセットする(S103)。このとき、パラレルポート41の各ビット位置b0〜b7とモータ指令値の各ビット位置とが相互に対応している。そして、第1のMPU21はパラレルポート41にセットされたデータをパラレル通信ラインLcにより第2のMPU22へ送る。
【0048】
以後、第1のMPU21はS101〜S103の処理を所定の制御周期毎に繰り返す。
(第2のMPUの動作)
一方、第2のMPU22においては、次のような処理が行われる。即ち、図3(b)に示すように、第2のMPU22は、まず第1のMPU21からパラレル通信ラインLcにより送られてきたモータ指令値Aをパラレルポート42にラッチ、即ち受信する(S201)。
【0049】
次に、第2のMPU22は、今回受信したモータ指令値Aと前回受信したモータ指令値Xとの差、即ちモータ指令値の変化量Δ(Δ=A−X)を演算する(S202)。
【0050】
次に、第2のMPU22は、S202において算出されたモータ指令値の変化量Δが所定値P以下か否かを判断する(S203)。この所定値Pはモータ指令の変化量の許容可能な最大の変化量であり、装置モデルによる実験データ及び周知の理論計算等によって予め求められた値である。
【0051】
モータ指令値の変化量Δが所定値P以下であると判断したとき(S203でYES)、第2のMPU22は今回受信したモータ指令値Aを正規のモータ指令値Yとして採用し(S204)、この正規のモータ指令値Yに基づいて電動モータ3を駆動制御する(S205)。そして、第2のMPU22は今回のモータ指令値Yを前回のモータ指令値Xとして記憶し(S206)、処理を終了する。
【0052】
一方、モータ指令値の変化量Δが所定値Pを越えていると判断したとき(S203でNO)、第2のMPU22は今回受信したモータ指令値Aは異常値であると判断して、所定の変化量ガード処理を実行する(S207)。即ち、第2のMPU22は、次式(1)に基づいてモータ指令値の変化量Δが所定値P以下となるように新たなモータ指令値を求め、この新たなモータ指令値を正規のモータ指令値Yとして採用する。
【0053】
Y=X+Sign(Δ)×P…(1)
ここで、Yは今回採用する正規のモータ指令値である。Xは前回採用されたモータ指令値である。例えばエンジン始動時においては、前回のエンジン停止時に記憶されたモータ指令値を今回の初期値(暫定値)として使用する。Sign(Δ)は、変化量Δ>0ならばSign(Δ)=+1、変化量Δ<0=0ならばSign(Δ)=0、変化量Δ<0ならばSign(Δ)=−1の値を取る符号関数である。Pは予め想定されたモータ指令値の許容され得る最大の変化量である。
【0054】
このように、第2のMPU22は、式(1)に基づく演算により前回のモータ指令値Xに対して所定値Pを加算した結果を今回のモータ指令値に設定する処理を行う。即ち、モータ指令値の変化量は最大で所定値Pとされる。換言すれば、モータ指令値の変化量は所定値P以下に制限される。また、今回のモータ指令値と前回のモータ指令値との変化量Δが所定値Pを越えている場合にはS207における変化量ガード処理が実行されることにより、その度に採用されるモータ指令値は傾き1で徐々に正常値に接近し、収束する。
【0055】
そして、第2のMPU22はS207で設定された正規のモータ指令値Yに基づいて電動モータ3を駆動制御する(S205)と共に、前回のモータ指令値Xを更新し(S206)、処理を終了する。
【0056】
次に、前述したモータ指令値の変化量ガード処理をより具体的に説明する。例えば、図4に示すように、通信途中において信号にノイズが重畳し、第1のMPU21により算出されたモータ指令値が例えば2.5であるにもかかわらず、第2のMPU22ではモータ指令値を15と認識されるような場合がある(図3(b)のS201を参照)。
【0057】
前回のモータ指令値を例えば「6」とすると、変化量Δは「+9」(Δ=15−6=9)となる(図3(b)のS202を参照)。このとき、モータ指令値の採り得る最大の変化量である所定値Pを「5」とすると、この場合のモータ指令値の変化量は「+9」であり所定値P(P=5)を越えている(図3(b)のS203を参照)。
【0058】
従って、第2のMPU22は前記式(1)に基づいて新たな正規のモータ指令値Yを演算する。いま、前回のモータ指令値X=6、変化量Δ>0なのでSign(Δ)=+1、所定値P=5であるので、新たなモータ指令値Yの値は11(Y=6+1×5=11)となる(図3(b)のS207を参照)。第2のMPU22は、算出した「11」を正規のモータ指令値として採用する。
【0059】
この新たなモータ指令値Yは前回のモータ指令値Xに対して予め想定されたモータ指令値の許容され得る最大の変化量(=所定値P;ここではP=5)だけ増加された値であるので、この新たなモータ指令値に基づいて電動モータ3を駆動制御しても、当該電動モータ3が予期しない動作を示すことはない。電動モータ3は実験段階で予期し得る範囲内の挙動を示すにとどまり、何ら問題はない。そして、モータ指令値は徐々に正常値(図4における変化量ガード後のモータ指令値)に接近するように変化する。
【0060】
このため、図4に示すように、例えばビット化け(ビットエラー)に起因してモータ指令値が急激に変化しても、このモータ指令値の変化量は所定値P以下の値に制限される。電動モータ3はこの制限されたモータ指令値に基づいて駆動制御されるので、当該電動モータ3の挙動変化も最小限に抑えられる。
【0061】
例えばモータ指令値の符号ビットがビット化けしても、前回のモータ指令値に対する変化量が所定値P以下に制限されることにより、いきなり電動モータ3が逆回転駆動(逆アシスト)されるようなことはない。同様に、モータ指令値の最上位から2桁目等の重みの大きい数値ビットにビット化けが発生した場合であっても、モータ指令値は所定値Pを越えるような変化をすることはない。即ち、第2のMPU22は、ビット化けしたデータ(モータ指令値)に基づいて電動モータ3を駆動制御しても、当該電動モータ3が予期しない挙動を示すことはない。従って、電動モータ3の駆動制御の信頼性が向上する。
【0062】
尚、本実施形態において、S202、S203、S204及びS207の各処理は、今回のモータ指令値Aと前回のモータ指令値Xとの変化量Δを予め想定された所定値P以下に制限する変化量制限手段を構成する。S202の処理は今回のモータ指令値Aと前回のモータ指令値Xとの変化量Δを演算する変化量演算手段を構成する。S203は前記変化量演算手段により算出されたモータ指令値の変化量Δが予め想定された所定値P以下か否かを判断する変化量判断手段を構成する。S207は前記変化量演算手段により算出されたモータ指令値の変化量Δと前回のモータ指令値Xと前記予め想定されたモータ指令値の変化量Pとに基づいて新たなモータ指令値を演算するモータ指令値演算手段を構成する。
【0063】
(実施形態の効果)
従って、本実施形態によれば、以下の効果を得ることができる。
(1)第2のMPU22は今回のモータ指令値Aと前回のモータ指令値Xとの変化量Δを予め想定された所定値P以下に制限するようにした。具体的には、第2のMPU22は、今回のモータ指令値Aと前回のモータ指令値Xとの変化量Δを演算し、この変化量Δが予め想定された所定値P以下かどうかを判断する。モータ指令値の変化量Δが前記所定値Pを越えていると判断したとき、第2のMPU22は前記変化量Δと前回のモータ指令値Xと前記所定値Pとに基づいて新たなモータ指令値を演算する。第2のMPU22はこの新たなモータ指令値を正規の今回のモータ指令値Yとして採用し、このモータ指令値Yに基づいて電動モータ3を駆動制御する。従って、瞬時の通信不良やビット化けが発生してもモータ指令値の変化量Δが所定値P以下に抑えられることにより、電動モータ3の挙動変化も最小限に抑制される。このため、通信不良やビット化けが発生しても電動モータ3の駆動制御を停止することなく、継続することができる。モータ指令値は所定値Pを越えて変化することがないので、電動モータ3の駆動制御性能、ひいては電動パワーステアリング装置1の操舵性能が著しく悪化することはない。従って、電動モータ3の駆動制御の信頼性を確保することができる。ひいては、電動パワーステアリング装置1の信頼性を確保することもできる。
【0064】
(2)モータ指令値としてモータ電流指令値(具体的には、基本アシスト電流値)が使用されている。このため、モータを同じく電流制御するシステムに制御装置2を応用することができる。
【0065】
(第2実施形態;EPS;シリアル通信)
次に、本発明の第2実施形態を説明する。本実施形態はパラレル通信ラインがシリアル通信ラインに置換されている点で前記第1実施形態と異なる。従って、前記第1実施形態と同様の部材構成は同一の符号を付し、その重複した説明を省略する。
【0066】
図5に示すように、第1のMPU21と第2のMPU22との間はシリアル通信ラインLcsによりそれぞれ接続されている。第1のMPU21は算出したモータ指令値をシリアル通信ラインLcsにより直列的に1ビットずつ第2のMPU22へ送る(図3(a)のフローチャート及び図6(a)のS103をそれぞれ参照)。そして、第2のMPU22はシリアル通信ラインLcsにより送られてきたモータ指令値Aを受信し(図6(b)におけるS201を参照)、このモータ指令値Aに前述した変化量制限処理(図3(b)におけるS202〜S204及びS207)を施す。第2のMPU22は、この変化量ガード処理後のモータ指令値を正規のモータ指令値Yとして採用し、このモータ指令値Yに基づいて電動モータ3を駆動制御する(図3(b)のフローチャート参照)。
【0067】
従って、本実施形態によれば、第1のMPU21と第2のMPU22との間のデータ通信をシリアル通信により行うようにした制御装置2において、前記第1実施形態の(1)及び(2)番目の効果と同様の効果を得ることができる。
【0068】
(第3実施形態;VGRS;パラレル通信)
次に、本発明をギヤ比可変ステアリングシステム(VGRS)に具体化した第3実施形態を説明する。本実施形態は制御対象が電動パワーステアリング装置の電動モータではなくギヤ比可変ステアリングシステムの電動モータである点で前記第1実施形態と異なる。従って、前記第1実施形態と同様の部材構成は同一の符号を付し、その重複した説明を省略する。
【0069】
図7に示すように、ギヤ比可変ステアリングシステム51のステアリングホイール(以下、ハンドル52」という。)には第1ステアリングシャフト53の一端が接続されており、この第1ステアリングシャフト53の他端にはギヤ比可変ユニット54の入力側に接続されている。ギヤ比可変ユニット54の出力側には第2ステアリングシャフト55の一端が接続されており、この第2ステアリングシャフト55の他端はステアリングギヤボックス56の入力側に接続されている。このステアリングギヤボックス56はピニオンギヤ(図示略)を備えており、このピニオンギヤはラック軸57に噛み合っている。第2ステアリングシャフト55に入力された回転運動はピニオンギヤを介してラック軸57に伝達され、当該ラック軸57の軸方向運動に変換される。
【0070】
ギヤ比可変ユニット54は第1ステアリングシャフト53と第2ステアリングシャフト55とを作動連結する減速機58及びこの減速機58を駆動する電動モータ59等を備えている。この電動モータ59の駆動により第1ステアリングシャフト53と第2ステアリングシャフト55との間の伝達比(ステアリングギヤ比)が減速機58を介して変化する。ちなみに、ステアリングギヤ比とは、本実施形態におけるラック&ピニオン方式の電動パワーステアリング装置1の場合、ハンドル7の全回転角度(ロックからロックまで)と車輪(転舵輪)の切れ角との比をいう。
【0071】
図8に示すように、ギヤ比可変ステアリングシステム51は、第1ステアリングシャフト53の回転角(即ち、操舵角θh)を検出する操舵角センサ61及び第2ステアリングシャフト55の回転角(即ち、出力角θp)を検出する出力角センサ62を備えている。また、ギヤ比可変ステアリングシステム51は、車速Vを検出する車速センサ63及び電動モータ59の回転角(電気角)を検出する回転角センサ64を備えている。
【0072】
操舵角センサ61により検出された操舵角θh、出力角センサ62により検出された出力角θp、車速センサ63により検出された車速V及び回転角センサ64により検出された電動モータ59の回転角θmはそれぞれギヤ比可変ステアリングシステム51の制御装置65へ送られる。制御装置65は操舵角θh、出力角θp、車速V及び回転角θmに基づいて電動モータ59を駆動制御する。
【0073】
即ち、制御装置65の第1のMPU21は、操舵角θh及び車速Vに基づいて、第1のROM23(図1参照)に予め格納されたモータ回転角特性マップ(図示略)を参照してギヤ比可変ユニット54における電動モータ59のモータ回転角指令値(モータ角度指令値)を演算する。モータ回転角特性マップは、車速Vの増加に対するモータ回転角指令値の変化を示したものであり、モータ回転角指令値は車速Vに応じて一義的に決まる。
【0074】
第1のMPU21は算出したモータ指令値(モータ回転角指令値)Aの全ビット(8ビット)をパラレル通信ラインLcにより第2のMPU22へ送る(図3(a)のフローチャート参照)。そして、第2のMPU22はパラレル通信ラインLcにより送られてきたモータ指令値Aを受信し、このモータ指令値Aに前述した変化量制限処理(図3(b)におけるS202〜S204及びS207)を施す。第2のMPU22は、この変化量ガード処理後のモータ指令値を正規のモータ指令値Yとして採用し、このモータ指令値Yに基づいて電動モータ3を駆動制御する(図3(b)のフローチャート参照)。
【0075】
このとき、回転角センサ64により検出された電動モータ59の回転角θmは第2のMPU22へ帰還される。そして、第2のMPU22は、第1のMPU21により算出されたモータ回転角指令値と実際の電動モータ59の回転角θmとが一致するようにモータ電流をフィードバック制御する。
【0076】
車速Vに応じた伝達比(ステアリングギヤ比)が設定されることにより、ハンドル7の取り回し性能が向上する。例えば停車時や低速走行時にはハンドル7の操舵角θhに対してギヤ比可変ユニット54の出力角θpが大きくなるようにステアリングギヤ比が設定される。この結果、より少ないハンドル操作で旋回することができる。また、高速走行時にはハンドル7の操舵角θhに対してギヤ比可変ユニット54の出力角θpが小さくなるようにステアリングギヤ比が設定される。この結果、穏やかで安定感のある車両応答が実現される。
【0077】
従って、本実施形態によれば、モータ指令値としてモータ角度指令値(具体的には、モータ回転角指令値)を使用するようにしたシステムにおいて、前記第1実施形態の(1)及び(2)番目の効果と同様の効果を得ることができる。また、モータを同じく角度制御(位置制御)する他のシステムに制御装置65を応用することもできる。
【0078】
(第4実施形態;工作機械(NC);パラレル通信)
次に、本発明をNC工作機械に具体化した第4実施形態を説明する。本実施形態は制御対象が電動パワーステアリング装置の電動モータではなくNC工作機械のテーブル送り用の電動モータである点で前記第1実施形態と異なる。従って、前記第1実施形態と同様の部材構成は同一の符号を付し、その重複した説明を省略する。
【0079】
図9に示すように、NC工作機械71の固定テーブル72にはボールねじ73が軸受け(図示略)を介して回転可能に支持されており、このボールねじ73の外端部は送り用電動モータ74の出力軸にカップリング(図示略)を介して連結されている。また、ボールねじ73にはナット75が螺合されている。このナット75はボールねじ73の正逆回転に伴って螺進及び螺退可能とされている。ナット75の上面には移動テーブル76を介して主軸台77が一体移動可能に設けられている。主軸台77には主軸用モータ78が固定されており、主軸用モータ78の出力軸には主軸79が作動連結されている。主軸79の先端にはタップ等の工具80が取り付けられている。
【0080】
従って、送り用電動モータ74が駆動されると、ボールねじ73の回転によりナット75が当該ボールねじ73に沿って往復移動し、これに伴って移動テーブル76もボールねじ73の軸線に沿う方向(図9に示す矢印方向)へ往復移動する。主軸用モータ78が駆動されると、主軸79と共に工具80が正逆回転する。
【0081】
NC工作機械71は送り用電動モータ74の回転角θmsを検出する送り用モータ回転角センサ81、及び主軸用モータ78の回転角θmpを検出する主軸用モータ回転角センサ82を備えている。送り用モータ回転角センサ81及び主軸用モータ回転角センサ82により検出された回転角θms及び回転角θmpはそれぞれNC工作機械71の制御装置91へ送られる。
【0082】
図10に示すように、制御装置91は第1のMPU21、第2のMPU22、送り用モータ駆動装置92、主軸用モータ駆動装置93及びPLO(プログラム可能論理制御装置)94を備えている。このPLO94は第1のMPU21に接続されている。また、PLO94には入出力装置(操作盤)95が接続されている。PLO94はシーケンサ機能を備えており、第1のMPU21が実行すべきNCプログラムを判断及び選択して所定のプログラム指令により、第1のMPU21にそのNCプログラムを実行させる。
【0083】
即ち、第1のMPU21は、所定の制御周期毎にPLO94からの所定のプログラム指令に基づいて送り用電動モータ74に対するモータ指令値(モータ角度指令値;移動テーブル76の送り量)及び主軸用モータ78に対するモータ指令値(モータ角速度指令値;主軸79の回転角速度)をそれぞれ演算する。
【0084】
第1のMPU21は算出したモータ指令値(モータ角度指令値及びモータ角速度指令値)Aの全ビット(8ビット)をパラレル通信ラインLcにより第2のMPU22へ送る(図3(a)のフローチャート参照)。そして、第2のMPU22はパラレル通信ラインLcにより送られてきたモータ指令値Aを受信し、このモータ指令値Aに前述した変化量制限処理(図3(b)におけるS202〜S204及びS207)を施す。第2のMPU22は、この変化量ガード処理後のモータ指令値を正規のモータ指令値Yとして採用し、このモータ指令値Yに基づいて送り用電動モータ74及び主軸用モータ78をそれぞれ駆動制御する(図3(b)のフローチャート参照)。
【0085】
このとき、送り用モータ回転角センサ81により検出された回転角θms及び主軸用モータ回転角センサ82により検出された回転角θmpはそれぞれ第2のMPU22へ帰還される。第2のMPU22はこれら回転角θms,θmpに基づいて送り用電動モータ74及び主軸用モータ78のモータ電流をそれぞれフィードバック制御する。即ち、第2のMPU22は、モータ指令値(モータ角度指令値及びモータ角速度指令値)と実際のモータの回転角(電気角)θms,θmpとをそれぞれ一致させるように送り用電動モータ74及び主軸用モータ78をそれぞれ駆動制御する。
【0086】
従って、本実施形態によれば、モータ指令値としてモータ角度指令値及びモータ角速度指令値を使用するようにしたシステムにおいて、前記第1実施形態の(1)及び(2)番目の効果と同様の効果を得ることができる。また、モータを同じく速度(角速度)制御する他のシステムに制御装置91を応用することもできる。
【0087】
(別例)
尚、前記実施形態は以下のような別例に変更して実施してもよい。
・第3実施形態において、図11に示すように、パラレル通信ラインLcをシリアル通信ラインLcsに置き換えるようにしてもよい。このようにしても、前記第3実施形態と同様の効果を得ることができる。
【0088】
・第4実施形態において、図12に示すように、パラレル通信ラインLcをシリアル通信ラインLcsに置き換えるようにしてもよい。このようにしても、第4実施形態と同様の効果を得ることができる。
【0089】
・第1〜第6実施形態では、第1のMPU21及び第2のMPU22をそれぞれ同一の制御装置2,65,91に備えるようにしたが、例えば第1のMPU21を制御装置2,65,91の外部に設けるようにしてもよい。このようにすれば、制御装置2,65,91の小型化が図られる。
【0090】
・第1〜第3実施形態において、第1のMPU21の機能を電動パワーステアリング装置1及びギヤ比可変ステアリングシステム51以外の他のシステムのMPUに行わせるようにしてもよい。例えば、電動パワーステアリング装置1、ギヤ比可変ステアリングシステム51及びSC(スタビリティコントロール;安定性制御)等を組み合わせて統合制御するようにした車両システムにおいて、この車両システムを統合制御する統合制御ECU(電子制御装置)によりモータ指令値を演算する。そして、この演算結果を例えばCAN(Controller Area Network)通信(即ち,自動車内LAN)により第2のMPU22へ送る。この演算結果(モータ指令値)に基づいてモータ電流制御を行い、電動パワーステアリング装置1の電動モータ3及びギヤ比可変ステアリングシステム51の電動モータ59等の駆動制御を行う。このようにすれば、制御装置2,65の小型化が図られる。
【0091】
・本実施形態では第1のMPU21及び第2のMPU22をそれぞれ8ビットシステムとしたが、例えば16ビットシステムなど任意のビット数のシステムとしてもよい。
【0092】
(付記)
次に前記実施形態及び別例から把握できる技術的思想を以下に追記する。
・車両の操舵系にトルク伝達可能に設けられて操舵補助トルクを発生するモータと、前記モータを駆動するモータ駆動手段と、前記モータ駆動手段を通電制御することにより前記モータを駆動制御するモータ制御装置とを備えた電動パワーステアリング装置において、請求項1〜請求項3のうちいずれか一項に記載のモータ制御装置を備えた電動パワーステアリング装置。
【0093】
・ステアリングホイールの操舵角と転舵輪の転舵角との間の伝達比を変化させる伝達比可変機構を備えた車両用操舵制御装置であって、前記ステアリングホイールの操舵角を検出する操舵角センサと、車速を検出する車速センサと、前記伝達比可変機構を駆動する電動モータと、車速センサにより検出された車速に基づいて前記伝達比を設定すると共に操舵角センサにより検出された操舵角に基づいて前記電動モータを駆動制御する制御手段とを備えたギヤ比可変ステアリングシステムにおいて、請求項1〜請求項3のうちいずれか一項に記載のモータ制御装置を備えたギヤ比可変ステアリングシステム。
【0094】
【発明の効果】
本発明によれば、今回のモータ指令値と前回のモータ指令値との変化量を予め想定された所定値以下に制限するようにしたので、モータ指令値が急激に変化することが抑制され、モータ駆動制御の信頼性を確保させることができる。
【図面の簡単な説明】
【図1】第1実施形態における電動パワーステアリング装置の概略構成図。
【図2】第1実施形態におけるモータ制御装置の回路図。
【図3】(a)は第1実施形態における第1のMPUのデータ送信時の処理を示すフローチャート、
(b)は第1実施形態における第2のMPUのデータ受信時の処理を示すフローチャート。
【図4】第1実施形態における変化量ガード処理によるモータ指令値の変化の状態を示す特性図。
【図5】第2実施形態におけるモータ制御装置の回路図。
【図6】(a)は第2実施形態における第1のMPUのデータ送信時の処理の一部を示すフローチャート、
(b)は第2実施形態における第2のMPUのデータ受信時の処理の一部を示すフローチャート。
【図7】第3実施形態におけるギヤ比可変ステアリングシステムの概略構成図。
【図8】第3実施形態におけるモータ制御装置の回路図。
【図9】第4実施形態におけるNC工作機械の概略構成図。
【図10】第4実施形態におけるモータ制御装置の回路図。
【図11】別の実施形態におけるモータ制御装置の回路図。
【図12】別の実施形態におけるモータ制御装置の回路図。
【図13】第1の従来のモータ制御装置の回路図。
【図14】(a)は第1の従来の第1のMPUのデータ送信時における処理を示すフローチャート、
(b)は第1の従来の第2のMPUのデータ受信時における処理を示すフローチャート。
【図15】データのビット化けの発生状況を示すタイミングチャート。
【図16】第2の従来のモータ制御装置の回路図。
【図17】(a)は第2の従来の第1のMPUのデータ送信時における処理を示すフローチャート、
(b)は第2の従来の第2のMPUのデータ受信時における処理を示すフローチャート。
【符号の説明】
3,59,74,78…電動モータ、
2,65,91…モータ制御装置を構成する制御装置、
21…第1のMPU、
22…第2のMPU、
43…ローパスフィルタ 、
A…今回のモータ指令値、
Lc…パラレル通信ライン、
Lcs…シリアル通信ライン、
P…所定値(モータ指令の変化量の許容可能な最大の変化量)、
X…前回のモータ指令値、
Y…正規のモータ指令値、
Δ…モータ指令値の変化量。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a distributed motor control device.
[0002]
[Prior art]
Conventionally, as a distributed motor control device, data communication between two MPUs is performed by parallel communication (hereinafter, referred to as “first conventional technology”), and serial communication is performed. (Hereinafter, referred to as "second related art").
[0003]
(First prior art)
First, a conventional motor control device in which data communication between two MPUs is performed by parallel communication will be described. As shown in FIG. 13, for example, a motor control device 100 of an electric power steering device includes a first MPU (Micro Processing Unit) 101 that calculates a motor command value based on a steering torque T, a vehicle speed V, and the like, and the first MPU 101. And a second MPU 103 for driving the motor 102 based on the motor command value calculated by the MPU 101. The parallel port 101a of the first MPU 101 and the parallel port 103a of the second MPU 103 are mutually connected by a parallel communication line 104. Since the motor command value is 8-bit data, the parallel communication line 104 has eight data lines D0 to D7.
[0004]
As shown in FIG. 14A, the first MPU 101 first reads sensor signals detected by various sensors. That is, a steering torque T detected by a torque sensor (not shown) and a vehicle speed V detected by a vehicle speed sensor (not shown) are read (S301). Next, the first MPU 101 calculates a motor command value (assist command current value) based on the steering torque T and the vehicle speed V with reference to a previously stored characteristic map (S302). Then, the first MPU 101 sets the calculated motor command value in the parallel port 101a and ends the processing. The motor command value calculated by the first MPU 101 is sent to the second MPU 103 bit by bit through the data lines D0 to D7. Thereafter, the first MPU 101 repeats the processing of S301 to S303 at every predetermined control cycle.
[0005]
On the other hand, in the second MPU 103, the following processing is performed. That is, as shown in FIG. 14B, the second MPU 103 first latches (holds) the motor command value transmitted from the first MPU 101 to the parallel port 103a, that is, receives the motor command value (S401). Then, the second MPU 103 controls the driving of the motor 102 based on the received motor command value (S402). Thereafter, the second MPU 103 repeats the processing of S401 and S402 at every predetermined control cycle.
[0006]
(Second conventional technology)
Next, a conventional motor control device in which data communication between two MPUs is performed by serial communication will be described. This second prior art motor control device differs from the first prior art in that data communication between two MPUs is performed by parallel communication. Therefore, the same components as those of the first related art are denoted by the same reference numerals, and detailed description thereof will be omitted.
[0007]
As shown in FIG. 16, the first MPU 101 and the second MPU 103 are mutually connected by a serial communication line 105.
As shown in FIG. 17A, first, the first MPU 101 reads sensor signals detected by various sensors. That is, a steering torque T detected by a torque sensor (not shown) and a vehicle speed V detected by a vehicle speed sensor (not shown) are read (S501). Next, the first MPU 101 calculates a motor command value (assist command current value) based on the steering torque T and the vehicle speed V with reference to a previously stored characteristic map (S502). Then, the first MPU 101 sends the calculated motor command value (for example, 8-bit data) to the second MPU 103 via the serial communication line 105 (S503). Data constituting the motor command value is sent to the second MPU 22 serially one bit at a time. Thereafter, the first MPU 101 repeats the processing of S501 to S503 every predetermined control cycle.
[0008]
On the other hand, in the second MPU 103, the following processing is performed. That is, as shown in FIG. 17B, the second MPU 103 first determines whether or not serial communication is normally performed (S601). For example, the second MPU 103 determines whether the serial communication is normal or abnormal based on a checksum or the like. When it is determined that the serial communication is normally performed (YES in S601), the second MPU 103 receives the data transmitted through the serial communication line 105, that is, the motor command value (S602). The drive of the motor 102 is controlled based on the motor command value thus obtained (S603).
[0009]
When it is determined that the serial communication is not normally performed (NO in S601), the second MPU 103 stops the drive control of the motor 102 (S604). If the serial communication is abnormal, data transmission to the second MPU 103 is interrupted, and the second MPU 103 cannot recognize the motor command value (target value). If the motor 102 is drive-controlled in a state where the motor command value is unknown, the motor 102 may exhibit unexpected behavior. Therefore, the motor 102 is stopped. After that, the second MPU 103 repeats the processing of S601 and S602 every predetermined control cycle.
[0010]
[Problems to be solved by the invention]
(First prior art)
However, the conventional motor control device in which data communication between two MPUs is performed by parallel communication has the following problems. That is, the distributed motor control device used in the electric power steering device tends to be miniaturized, and accordingly, various kinds of noises such as switching noise are included in the signal due to interference between the signal system and the power system. Are easily superimposed. Then, when the motor command value calculated by the first MPU 101 is transmitted to the second MPU 103 via the 8-bit parallel communication line 105, data is latched by the parallel port 103a of the second MPU 103 at the timing when noise occurs. Then, the second MPU 103 erroneously recognizes “0” as “1” or “1” as “0”. In other words, so-called garbled bits occur. As a result, the second MPU 103 cannot receive a correct motor command value.
[0011]
When the motor command value calculated by the first MPU 101 is, for example, “+100”, this is “01100100 (B)” when represented by a signed binary number. Here, the most significant bit is a sign bit indicating positive / negative (+,-), and the second and subsequent digits from the most significant are numerical bits indicating a numerical value. Incidentally, positive is indicated by “0” and negative is indicated by “1”. Each bit of the motor command value is sent to the second MPU 103 via eight data lines D0 to D7 of the parallel communication line 104, respectively.
[0012]
At the time of transmission of the motor command value, if any of the upper 2 bits (for example, the upper 4 bits “0110”) is garbled in any of the numerical bits after the second digit from the most significant bit, the second MPU 103 erroneously performs The drive of the motor 102 is controlled based on the recognized excessive motor command value.
[0013]
For example, when the motor command value calculated by the first MPU 101 is “+ 36 = 00100100 (B)” and the second digit from the highest digit is garbled, the second MPU 103 sets the motor command value to “01100100 (B)”. ". This is +100 in decimal notation, which is an excessive value compared to the original motor command value “+36”.
[0014]
Also, as shown in FIG. 15, for example, when noise is superimposed on the signal of the most significant bit of the motor command value and latched by the second MPU 103 at this timing, the second MPU 103 changes the motor command value to 11100100 (B ). This is "-100" in decimal notation. That is, the second MPU 103 outputs a current command in the direction opposite to the original direction to the motor 102, and the motor 102 rotates in the reverse direction (rotates in the direction of the reverse assist) although the motor 102 is supposed to rotate in the normal direction.
[0015]
As described above, the higher-order bits have a larger number of digits, and thus have a greater effect on the behavior of the motor 102. If the upper bits of the motor command value are garbled, the motor 102 is driven based on the excessive motor command value or the reverse motor command value as described above, and the motor 102 Could be shown. As a result, there is a problem that the reliability of the motor drive control is impaired.
[0016]
(Second conventional technology)
On the other hand, in the conventional motor control device in which the data communication between the two MPUs is performed by serial communication, the drive control of the motor 102 is stopped when it is determined that the serial communication is not normally performed. Was. As a result, although unexpected behavior of the motor 102 can be avoided, there is a problem that the reliability of motor drive control is impaired. When this motor control device is used, for example, in an electric power steering device, the stopping performance of the motor 102 significantly reduces the steering performance.
[0017]
The present invention has been made to solve the above problems, and an object of the present invention is to provide a motor control device that can ensure the reliability of motor drive control.
[0018]
[Means for Solving the Problems]
In the first aspect of the present invention, the second MPU includes a change amount limiting unit that limits a change amount between the current motor command value and the previous motor command value to a predetermined value or less. That is the gist.
[0019]
According to a second aspect of the present invention, in the motor control device according to the first aspect, the change amount limiting means includes a change amount calculating means for calculating a change amount between a current motor command value and a previous motor command value. A change amount determining means for determining whether the change amount of the motor command value calculated by the change amount calculating means is equal to or less than a predetermined value, and a change amount of the motor command value by the change amount determining means; When it is determined that the difference exceeds the predetermined value, a new value is obtained based on the change amount of the motor command value calculated by the change amount calculating means, the previous motor command value, and the previously assumed change amount of the motor command value. And a motor command value calculating means for calculating a desired motor command value.
[0020]
According to a third aspect of the present invention, in the motor control device according to the first or second aspect, the motor command value is at least one of a motor current command value, a motor angular velocity command value, and a motor angle command value. The gist is that there is.
(Action)
According to the first aspect, the motor command value calculated by the first MPU is sent to the second MPU via the communication line. The second MPU limits the amount of change between the current motor command value and the previous motor command value to a predetermined value or less. That is, the motor command value does not change beyond the predetermined value.
[0021]
According to the second aspect of the invention, in addition to the operation of the motor control device according to the first aspect, a change amount between the current motor command value and the previous motor command value is calculated, and the change amount is calculated in advance. It is determined whether the value is equal to or less than an assumed predetermined value. When it is determined that the change amount of the motor command value exceeds the predetermined value, a new motor command value is calculated based on the change amount, the previous motor command value, and the predetermined value.
[0022]
According to the invention described in claim 3, in addition to the effect of the invention described in claim 1 or 2, the second MPU includes a motor current command value, a motor angular speed command value, and a motor angle command value. The drive of the motor is controlled based on at least one of them.
[0023]
BEST MODE FOR CARRYING OUT THE INVENTION
(First embodiment; EPS; parallel communication)
Hereinafter, a first embodiment in which the present invention is embodied in a motor control device of an electric power steering device will be described with reference to FIGS.
[0024]
(overall structure)
As shown in FIG. 1, an electric power steering device (EPS) 1 includes an electric power steering control device (hereinafter, referred to as “control device 2”) and an electric motor 3 that is driven and controlled by the control device 2. A gear 4 is fixed to an output shaft of the electric motor 3. The electric motor 3 is a brushless motor composed of a three-phase synchronous permanent magnet motor, and includes a motor rotation angle sensor (for example, a Hall element) 5. The motor rotation angle sensor 5 detects the rotation angle θm of the electric motor 3, that is, an electrical angle indicating the position of the magnetic pole of the rotor constituting the electric motor 3, and sends the detection result (motor rotation angle signal) to the control device 2.
[0025]
On the other hand, a steering shaft 8 is connected to a steering wheel (hereinafter, referred to as a “handle 7”), and a reduction gear 9 is fixed to the steering shaft 8. The gear 4 of the electric motor 3 meshes with the reduction gear 9. A torsion bar (torsion spring) 10 is incorporated in the steering shaft 8, and the torsion bar 10 is provided with a torque sensor 11. The torque sensor 11 detects the steering torque T acting on the steering wheel 7 based on the amount of twist of the torsion bar 10 when the steering wheel 8 is rotated by the steering of the steering wheel 7 by the driver. This steering torque signal is sent to the control device 2.
[0026]
A pinion gear 13 is fixed to the reduction gear 9 via a pinion shaft 12. The pinion gear 13 meshes with a rack 14, and tie rods 15 are fixed to both ends of the rack 14. A knuckle arm 16 is rotatably connected to the tip of the tie rod 15, and a cross member 17 is rotatably connected between the knuckle arms 16, 16. A front wheel 18 is attached to each of the knuckle arms 16,16.
[0027]
Each of the front, rear, left and right wheels is provided with a vehicle speed sensor 19 (in FIG. 1, only the vehicle speed sensor 19 of one front wheel 18 is shown). The vehicle speed sensor 19 detects the wheel speed (the number of rotations of the wheel per unit time, that is, the rotation speed), and sends the detection result (wheel speed signal) to the control device 2. The control device 2 calculates the vehicle speed V based on the wheel speed signal sent from the vehicle speed sensor 19.
[0028]
When the driver rotates the steering wheel 7, the steering shaft 8 rotates. This rotation is transmitted to the rack 14 via the torsion bar 10, the pinion shaft 12, and the pinion gear 13, and is converted into the axial movement of the rack 14. As a result, both front wheels 18, 18 are steered.
[0029]
At this time, the control device 2 controls the electric motor 3 to generate a predetermined steering assist torque (assist torque) based on the steering torque T detected by the torque sensor 11 and the vehicle speed V detected by the vehicle speed sensor 19. Controls forward / reverse drive. The rotation of the electric motor 3 is transmitted to the reduction gear 9 via the gear 4, and the rotation speed is reduced by the reduction gear 9 and transmitted to the pinion shaft 12 and the pinion gear 13. The rotation of the pinion gear 13 is transmitted to the rack 14 and is converted into the axial movement of the rack 14. In this way, assist torque is applied to the steering of the front wheel 18 by the turning operation of the handle 7.
[0030]
(Control device)
Next, the electrical configuration of the control device 2 will be described.
As shown in FIG. 1, the control device 2 includes a first MPU (Micro Processing Unit) 21, a second MPU 22, a first ROM (read only memory) 23, a first RAM (read only memory) 24. , A second ROM 25, a second RAM 26, and a motor driving device 27. Further, the control device 2 includes a current sensor 28.
[0031]
The first ROM 23 stores various control programs such as a basic assist control program and a handle return control program executed by the first MPU 21, various data, various characteristic maps, and the like. The various characteristic maps are obtained in advance by experimental data based on a vehicle model and well-known theoretical calculations. For example, a basic assist torque map and a vehicle speed for obtaining a basic assist current based on the vehicle speed V and the steering torque T are provided. There is a map for obtaining the steering wheel return command current based on the steering angular velocity and the steering absolute angle.
[0032]
The first RAM 24 is a data work area in which various control programs written in the first ROM 23 are developed and the first MPU 21 executes various arithmetic processes. In addition, the first RAM 24 temporarily stores various calculation processing results when the first MPU 21 performs various calculation processing.
[0033]
The torque sensor 11 and the vehicle speed sensor 19 are connected to the first MPU 21 via input / output interfaces (not shown), respectively. The first MPU 21 executes various control programs such as a basic assist control program and a steering wheel return control program based on various information obtained from the torque sensor 11 and the vehicle speed sensor 19.
[0034]
The second ROM 25 stores various control programs such as a current control program and a PWM operation program executed by the second MPU 22 and various data.
[0035]
The second RAM 26 is a data work area in which various control programs written in the second MPU 22 are developed and the second MPU 22 executes various arithmetic processes. In addition, the second RAM 26 temporarily stores various calculation processing results when the second MPU 22 performs various calculation processing.
[0036]
The motor rotation angle sensor 5 and the current sensor 28 are connected to the second MPU 22 via input / output interfaces (not shown). The second MPU 22 executes various control programs such as a current control program and a PWM calculation program based on the calculation results of the first MPU 21 and various information obtained from the motor rotation angle sensor 5 and the current sensor 28.
[0037]
(Motor drive)
As shown in FIG. 2, the motor driving device 27 is configured such that a series circuit of FETs (field effect transistors) 31U and 32U, a series circuit of FETs 31V and 32V, and a series circuit of FETs 31W and 32W are connected in parallel. It is configured. A connection point 33U between the FETs 31U and 32U is connected to a U-phase winding of the electric motor 3, a connection point 33V between the FETs 31V and 32V is connected to a V-phase winding of the electric motor 3, and a connection point 33W between the FETs 31W and 32W. Is connected to the W-phase winding of the electric motor 3.
[0038]
A booster circuit (not shown) is provided on a power supply line Lp between the motor drive device 27 and a battery 34 mounted on the vehicle, and the booster circuit provides a command signal (boost circuit control) from the second MPU 22. The voltage of the battery 34 is boosted based on the signal) and applied to each series circuit of the motor driving device 27.
[0039]
As shown in FIG. 2, current sensors 28 are u-phase current sensors 28 u, v-phase current sensors 28 v and w which respectively detect three-phase excitation currents Iu, Iv, and Iw output from motor drive device 27 to electric motor 3. A phase current sensor 28w is provided. The u-phase current sensor 28u, the v-phase current sensor 28v, and the w-phase current sensor 28w send the detected u-phase excitation current Iu, v-phase excitation current Iv, and w-phase excitation current Iw to the second MPU 22, respectively.
[0040]
(Connection between the first and second MPUs)
As shown in FIG. 2, the first MPU 21 and the second MPU 22 are connected by a parallel communication line Lc. The parallel communication lines Lc have the same number of data lines as the bit length of the motor command value sent from the first MPU 21 to the second MPU 22. In the present embodiment, since the bit length of the motor command value is 8 bits, the parallel communication line L includes eight data lines D0 to D7.
[0041]
The first MPU 21 has a parallel port 41, and the second MPU 22 has a parallel port 42. The parallel ports 41 and 42 are 8-bit parallel ports at bit positions b0 to b7, respectively. The data lines D0 to D7 are connected between the parallel port 41 of the first MPU 21 and the parallel port 42 of the second MPU 22, specifically, the bit positions b0 to b7 of the two parallel ports 41 and 42, respectively. .
[0042]
The first MPU 21 calculates a basic assist current value corresponding to the vehicle speed V and the steering torque T based on the basic assist torque map, and outputs the calculation result (that is, the motor command value) to the second communication line Lc via the parallel communication line Lc. To the MPU 22.
[0043]
The second MPU 22 detects the u-phase excitation current detected by the u-phase current sensor 28u, the v-phase current sensor 28v, and the w-phase current sensor 28w based on the rotation angle θm of the electric motor 3 detected by the motor rotation angle sensor 5. The d-axis and q-axis currents are obtained by dq conversion of Iu, v-phase excitation current Iv and w-phase excitation current Iw. Then, the second MPU 22 calculates a PI control value based on the basic assist current value sent from the first MPU 21 and the q-axis current.
[0044]
The second MPU 22 performs a PWM operation according to the PI control value, and outputs the result of the PWM operation (motor control signal) to the motor driving device 27, specifically, FETs 31U and 32U, FETs 31V and 32V, FETs 31W and 32W. Is output for each. The motor drive device 27 supplies the basic assist current (three-phase excitation current) to the electric motor 3 via the three-phase excitation current path based on the result of the PWM calculation sent. The electric motor 3 applies a basic assist force to the steering wheel 7 based on the supply of the basic assist current.
[0045]
(Operation of the embodiment)
Next, the operation of the electric power steering control device configured as described above will be described with reference to the flowcharts shown in FIGS. The flowchart shown in FIG. 3A is executed according to various control programs stored in the first ROM 23 in advance. The flowchart shown in FIG. 3B is executed according to various control programs stored in the second ROM 25 in advance. In this embodiment, “step” is abbreviated as “S”.
[0046]
(Operation of the first MPU)
As shown in FIG. 3A, the first MPU 21 first reads a sensor signal, that is, a steering torque T detected by the torque sensor 11 and a vehicle speed V detected by the vehicle speed sensor 19 (S101). Then, the first MPU 21 calculates an m-bit (8-bit in this embodiment) motor command value (assist command current value) A based on the steering torque T and the vehicle speed V (S102).
[0047]
Next, the first MPU 21 sets all bits of the calculated motor command value A in the parallel port 41 (S103). At this time, the bit positions b0 to b7 of the parallel port 41 and the bit positions of the motor command value correspond to each other. Then, the first MPU 21 sends the data set in the parallel port 41 to the second MPU 22 via the parallel communication line Lc.
[0048]
Thereafter, the first MPU 21 repeats the processing of S101 to S103 at every predetermined control cycle.
(Operation of the second MPU)
On the other hand, in the second MPU 22, the following processing is performed. That is, as shown in FIG. 3B, the second MPU 22 first latches the motor command value A sent from the first MPU 21 via the parallel communication line Lc to the parallel port 42, that is, receives the motor command value A (S201). .
[0049]
Next, the second MPU 22 calculates a difference between the currently received motor command value A and the previously received motor command value X, that is, a change amount Δ (Δ = A−X) of the motor command value (S202).
[0050]
Next, the second MPU 22 determines whether or not the variation Δ of the motor command value calculated in S202 is equal to or less than a predetermined value P (S203). The predetermined value P is a maximum allowable change amount of the change amount of the motor command, and is a value obtained in advance by experimental data based on a device model, a well-known theoretical calculation, or the like.
[0051]
When it is determined that the change amount Δ of the motor command value is equal to or smaller than the predetermined value P (YES in S203), the second MPU 22 adopts the motor command value A received this time as a normal motor command value Y (S204). The drive of the electric motor 3 is controlled based on the regular motor command value Y (S205). Then, the second MPU 22 stores the current motor command value Y as the previous motor command value X (S206), and ends the processing.
[0052]
On the other hand, when it is determined that the variation Δ of the motor command value exceeds the predetermined value P (NO in S203), the second MPU 22 determines that the motor command value A received this time is an abnormal value, and Is executed (S207). That is, the second MPU 22 determines a new motor command value based on the following equation (1) so that the change amount Δ of the motor command value is equal to or less than the predetermined value P, and converts the new motor command value to a regular motor command value. Adopted as command value Y.
[0053]
Y = X + Sign (Δ) × P (1)
Here, Y is a regular motor command value adopted this time. X is the motor command value used last time. For example, when starting the engine, the motor command value stored when the engine was stopped last time is used as the current initial value (temporary value). Sign (Δ) is Sign (Δ) = + 1 if the change amount Δ> 0, Sign (Δ) = 0 if the change amount Δ <0 = 0, and Sign (Δ) = − 1 if the change amount Δ <0. Is a sign function that takes the value of P is the maximum allowable variation of the motor command value assumed in advance.
[0054]
As described above, the second MPU 22 performs the process of setting the result obtained by adding the predetermined value P to the previous motor command value X by the calculation based on Expression (1) as the current motor command value. That is, the amount of change in the motor command value is set to the predetermined value P at maximum. In other words, the amount of change in the motor command value is limited to the predetermined value P or less. When the change amount Δ between the current motor command value and the previous motor command value exceeds the predetermined value P, the change amount guard process in S207 is executed, so that the motor command value adopted each time is changed. The value gradually approaches a normal value with a slope 1 and converges.
[0055]
Then, the second MPU 22 controls the drive of the electric motor 3 based on the regular motor command value Y set in S207 (S205), updates the previous motor command value X (S206), and ends the process. .
[0056]
Next, the above-described motor command value change amount guard processing will be described more specifically. For example, as shown in FIG. 4, noise is superimposed on a signal during communication, and although the motor command value calculated by the first MPU 21 is, for example, 2.5, the motor command value is calculated by the second MPU 22. May be recognized as 15 (see S201 in FIG. 3B).
[0057]
Assuming that the previous motor command value is, for example, “6”, the change amount Δ is “+9” (Δ = 15−6 = 9) (see S202 in FIG. 3B). At this time, assuming that the predetermined value P, which is the maximum change amount that the motor command value can take, is “5”, the change amount of the motor command value in this case is “+9” and exceeds the predetermined value P (P = 5). (See S203 in FIG. 3B).
[0058]
Therefore, the second MPU 22 calculates a new regular motor command value Y based on the above equation (1). Now, since the previous motor command value X = 6 and the change amount Δ> 0, Sign (Δ) = + 1 and the predetermined value P = 5. Therefore, the value of the new motor command value Y is 11 (Y = 6 + 1 × 5 = 11) (see S207 in FIG. 3B). The second MPU 22 adopts the calculated “11” as a regular motor command value.
[0059]
This new motor command value Y is a value that is increased by the maximum allowable change amount (= predetermined value P; here, P = 5) of the motor command value assumed in advance with respect to the previous motor command value X. Therefore, even when the electric motor 3 is drive-controlled based on the new motor command value, the electric motor 3 does not exhibit an unexpected operation. The electric motor 3 only behaves within a range that can be expected in the experimental stage, and there is no problem. Then, the motor command value gradually changes so as to approach a normal value (the motor command value after the variation guard in FIG. 4).
[0060]
For this reason, as shown in FIG. 4, even if the motor command value changes rapidly due to, for example, bit corruption (bit error), the amount of change in the motor command value is limited to a value equal to or less than the predetermined value P. . Since the drive of the electric motor 3 is controlled based on the limited motor command value, a change in the behavior of the electric motor 3 is also minimized.
[0061]
For example, even if the sign bit of the motor command value is garbled, the amount of change with respect to the previous motor command value is limited to a predetermined value P or less, so that the electric motor 3 is immediately driven in reverse rotation (reverse assist). Never. Similarly, even if a bit is garbled in a numerical bit having a large weight such as the second digit from the most significant position of the motor command value, the motor command value does not change beyond the predetermined value P. That is, even when the second MPU 22 controls the drive of the electric motor 3 based on the garbled data (motor command value), the electric motor 3 does not exhibit unexpected behavior. Therefore, the reliability of the drive control of the electric motor 3 is improved.
[0062]
Note that, in the present embodiment, the processes of S202, S203, S204, and S207 are performed by changing the amount of change Δ between the current motor command value A and the previous motor command value X to a predetermined value P or less. The quantity limiting means is constituted. The processing of S202 constitutes a change amount calculating means for calculating a change amount Δ between the current motor command value A and the previous motor command value X. S203 constitutes a change amount determining means for determining whether or not the change amount Δ of the motor command value calculated by the change amount calculating means is equal to or less than a predetermined value P assumed in advance. In step S207, a new motor command value is calculated based on the change amount Δ of the motor command value calculated by the change amount calculating means, the previous motor command value X, and the previously assumed change amount P of the motor command value. It constitutes motor command value calculation means.
[0063]
(Effects of the embodiment)
Therefore, according to the present embodiment, the following effects can be obtained.
(1) The second MPU 22 limits the amount of change Δ between the current motor command value A and the previous motor command value X to a predetermined value P or less. Specifically, the second MPU 22 calculates a change amount Δ between the current motor command value A and the previous motor command value X, and determines whether or not the change amount Δ is equal to or less than a predetermined value P assumed in advance. I do. When the second MPU 22 determines that the change amount Δ of the motor command value exceeds the predetermined value P, the second MPU 22 generates a new motor command based on the change amount Δ, the previous motor command value X, and the predetermined value P. Calculate the value. The second MPU 22 adopts this new motor command value as a regular current motor command value Y, and controls the driving of the electric motor 3 based on the motor command value Y. Therefore, even if an instantaneous communication failure or garbled bit occurs, the change amount Δ of the motor command value is suppressed to the predetermined value P or less, so that a change in the behavior of the electric motor 3 is also minimized. Therefore, even if a communication failure or bit corruption occurs, the drive control of the electric motor 3 can be continued without stopping. Since the motor command value does not change beyond the predetermined value P, the drive control performance of the electric motor 3 and, consequently, the steering performance of the electric power steering device 1 do not significantly deteriorate. Therefore, the reliability of the drive control of the electric motor 3 can be ensured. As a result, the reliability of the electric power steering device 1 can be ensured.
[0064]
(2) A motor current command value (specifically, a basic assist current value) is used as the motor command value. For this reason, the control device 2 can be applied to a system that similarly controls the current of the motor.
[0065]
(Second embodiment; EPS; serial communication)
Next, a second embodiment of the present invention will be described. This embodiment differs from the first embodiment in that the parallel communication line is replaced by a serial communication line. Therefore, the same components as those of the first embodiment are denoted by the same reference numerals, and the description thereof will not be repeated.
[0066]
As shown in FIG. 5, the first MPU 21 and the second MPU 22 are connected by a serial communication line Lcs. The first MPU 21 sends the calculated motor command value to the second MPU 22 serially one bit at a time via the serial communication line Lcs (see the flowchart in FIG. 3A and S103 in FIG. 6A, respectively). Then, the second MPU 22 receives the motor command value A sent by the serial communication line Lcs (see S201 in FIG. 6B), and applies the above-described change amount limiting process (FIG. 3) to the motor command value A. (S202 to S204 and S207 in (b)) are performed. The second MPU 22 adopts the motor command value after the change amount guard processing as a regular motor command value Y, and controls the drive of the electric motor 3 based on the motor command value Y (flowchart in FIG. 3B). reference).
[0067]
Therefore, according to the present embodiment, in the control device 2 configured to perform data communication between the first MPU 21 and the second MPU 22 by serial communication, (1) and (2) of the first embodiment The same effect as the second effect can be obtained.
[0068]
(Third embodiment; VGRS; parallel communication)
Next, a third embodiment in which the present invention is embodied in a variable gear ratio steering system (VGRS) will be described. This embodiment is different from the first embodiment in that the control target is not the electric motor of the electric power steering device but the electric motor of the variable gear ratio steering system. Therefore, the same components as those of the first embodiment are denoted by the same reference numerals, and the description thereof will not be repeated.
[0069]
As shown in FIG. 7, one end of a first steering shaft 53 is connected to a steering wheel (hereinafter, referred to as a handle 52) of the variable gear ratio steering system 51, and the other end of the first steering shaft 53 is connected to the other end. Is connected to the input side of the variable gear ratio unit 54. One end of a second steering shaft 55 is connected to the output side of the variable gear ratio unit 54, and the other end of the second steering shaft 55 is connected to the input side of a steering gear box 56. The steering gear box 56 includes a pinion gear (not shown), and the pinion gear meshes with a rack shaft 57. The rotational motion input to the second steering shaft 55 is transmitted to the rack shaft 57 via the pinion gear, and is converted into the axial motion of the rack shaft 57.
[0070]
The variable gear ratio unit 54 includes a speed reducer 58 that operatively connects the first steering shaft 53 and the second steering shaft 55, and an electric motor 59 that drives the speed reducer 58. By the driving of the electric motor 59, the transmission ratio (steering gear ratio) between the first steering shaft 53 and the second steering shaft 55 changes via the speed reducer 58. Incidentally, in the case of the rack and pinion type electric power steering device 1 in the present embodiment, the steering gear ratio is a ratio between the total rotation angle (from lock to lock) of the handle 7 and the turning angle of the wheel (steered wheel). Say.
[0071]
As shown in FIG. 8, the variable gear ratio steering system 51 includes a steering angle sensor 61 for detecting a rotation angle of the first steering shaft 53 (ie, the steering angle θh) and a rotation angle (ie, output) of the second steering shaft 55. An output angle sensor 62 for detecting the angle θp) is provided. The variable gear ratio steering system 51 includes a vehicle speed sensor 63 for detecting a vehicle speed V and a rotation angle sensor 64 for detecting a rotation angle (electric angle) of the electric motor 59.
[0072]
The steering angle θh detected by the steering angle sensor 61, the output angle θp detected by the output angle sensor 62, the vehicle speed V detected by the vehicle speed sensor 63, and the rotation angle θm of the electric motor 59 detected by the rotation angle sensor 64 are: Each is sent to the control device 65 of the variable gear ratio steering system 51. The control device 65 controls the driving of the electric motor 59 based on the steering angle θh, the output angle θp, the vehicle speed V, and the rotation angle θm.
[0073]
That is, the first MPU 21 of the control device 65 refers to the motor rotation angle characteristic map (not shown) stored in advance in the first ROM 23 (see FIG. 1) based on the steering angle θh and the vehicle speed V to change the gear. A motor rotation angle command value (motor angle command value) of the electric motor 59 in the ratio variable unit 54 is calculated. The motor rotation angle characteristic map shows a change in the motor rotation angle command value with an increase in the vehicle speed V, and the motor rotation angle command value is uniquely determined according to the vehicle speed V.
[0074]
The first MPU 21 sends all bits (8 bits) of the calculated motor command value (motor rotation angle command value) A to the second MPU 22 via the parallel communication line Lc (see the flowchart of FIG. 3A). Then, the second MPU 22 receives the motor command value A sent by the parallel communication line Lc, and performs the above-described change amount limiting process (S202 to S204 and S207 in FIG. 3B) on the motor command value A. Apply. The second MPU 22 adopts the motor command value after the change amount guard processing as a regular motor command value Y, and controls the drive of the electric motor 3 based on the motor command value Y (flowchart in FIG. 3B). reference).
[0075]
At this time, the rotation angle θm of the electric motor 59 detected by the rotation angle sensor 64 is returned to the second MPU 22. Then, the second MPU 22 performs feedback control on the motor current so that the motor rotation angle command value calculated by the first MPU 21 matches the actual rotation angle θm of the electric motor 59.
[0076]
By setting the transmission ratio (steering gear ratio) according to the vehicle speed V, the steering performance of the steering wheel 7 is improved. For example, when the vehicle is stopped or running at low speed, the steering gear ratio is set such that the output angle θp of the variable gear ratio unit 54 becomes larger than the steering angle θh of the steering wheel 7. As a result, it is possible to turn with less steering operation. Further, the steering gear ratio is set such that the output angle θp of the variable gear ratio unit 54 becomes smaller than the steering angle θh of the steering wheel 7 during high-speed running. As a result, a gentle and stable vehicle response is realized.
[0077]
Therefore, according to the present embodiment, in the system in which the motor angle command value (specifically, the motor rotation angle command value) is used as the motor command value, (1) and (2) of the first embodiment are used. ) The same effect as that of the second effect can be obtained. Further, the control device 65 can be applied to another system for controlling the angle of the motor (position control).
[0078]
(Fourth embodiment; machine tool (NC); parallel communication)
Next, a fourth embodiment in which the present invention is embodied in an NC machine tool will be described. This embodiment is different from the first embodiment in that the control target is not the electric motor of the electric power steering device but the table feed electric motor of the NC machine tool. Therefore, the same components as those of the first embodiment are denoted by the same reference numerals, and the description thereof will not be repeated.
[0079]
As shown in FIG. 9, a ball screw 73 is rotatably supported on a fixed table 72 of an NC machine tool 71 via a bearing (not shown). An outer end of the ball screw 73 is connected to an electric motor for feeding. 74 is connected to the output shaft via a coupling (not shown). A nut 75 is screwed into the ball screw 73. The nut 75 can be advanced and retracted with the forward and reverse rotation of the ball screw 73. A headstock 77 is provided on an upper surface of the nut 75 via a moving table 76 so as to be integrally movable. A spindle motor 78 is fixed to the headstock 77, and a spindle 79 is operatively connected to an output shaft of the spindle motor 78. A tool 80 such as a tap is attached to the tip of the main shaft 79.
[0080]
Therefore, when the feed electric motor 74 is driven, the rotation of the ball screw 73 causes the nut 75 to reciprocate along the ball screw 73, and accordingly, the moving table 76 also moves in the direction along the axis of the ball screw 73 ( (Arrow direction shown in FIG. 9). When the spindle motor 78 is driven, the tool 80 rotates forward and backward together with the spindle 79.
[0081]
The NC machine tool 71 includes a feed motor rotation angle sensor 81 that detects the rotation angle θms of the feed electric motor 74, and a spindle motor rotation angle sensor 82 that detects the rotation angle θmp of the spindle motor 78. The rotation angle θms and the rotation angle θmp detected by the feed motor rotation angle sensor 81 and the main shaft motor rotation angle sensor 82 are sent to the control device 91 of the NC machine tool 71, respectively.
[0082]
As shown in FIG. 10, the control device 91 includes a first MPU 21, a second MPU 22, a feed motor drive device 92, a spindle motor drive device 93, and a PLO (programmable logic control device) 94. This PLO 94 is connected to the first MPU 21. An input / output device (operation panel) 95 is connected to the PLO 94. The PLO 94 has a sequencer function, determines and selects an NC program to be executed by the first MPU 21, and causes the first MPU 21 to execute the NC program according to a predetermined program command.
[0083]
That is, the first MPU 21 controls the motor command value (motor angle command value; feed amount of the moving table 76) for the feed electric motor 74 and the spindle motor based on a predetermined program command from the PLO 94 at each predetermined control cycle. The motor command value for 78 (motor angular speed command value; rotational angular speed of the main shaft 79) is calculated.
[0084]
The first MPU 21 sends all bits (8 bits) of the calculated motor command value (motor angle command value and motor angular velocity command value) A to the second MPU 22 via the parallel communication line Lc (see the flowchart of FIG. 3A). ). Then, the second MPU 22 receives the motor command value A sent by the parallel communication line Lc, and performs the above-described change amount limiting process (S202 to S204 and S207 in FIG. 3B) on the motor command value A. Apply. The second MPU 22 adopts the motor command value after the change amount guard processing as a normal motor command value Y, and controls the drive of the feed electric motor 74 and the main shaft motor 78 based on the motor command value Y. (Refer to the flowchart of FIG. 3B).
[0085]
At this time, the rotation angle θms detected by the feed motor rotation angle sensor 81 and the rotation angle θmp detected by the main shaft motor rotation angle sensor 82 are respectively fed back to the second MPU 22. The second MPU 22 feedback-controls the motor currents of the feed electric motor 74 and the spindle motor 78 based on the rotation angles θms and θmp. That is, the second MPU 22 controls the feed electric motor 74 and the main shaft so that the motor command values (motor angle command value and motor angular velocity command value) and the actual motor rotation angles (electrical angles) θms and θmp respectively match. Drive motors 78 are respectively controlled.
[0086]
Therefore, according to the present embodiment, in a system in which the motor angle command value and the motor angular velocity command value are used as the motor command value, the same effects as (1) and (2) of the first embodiment are obtained. The effect can be obtained. Further, the control device 91 can be applied to another system for controlling the speed (angular speed) of the motor.
[0087]
(Another example)
The above-described embodiment may be modified and implemented as follows.
In the third embodiment, as shown in FIG. 11, the parallel communication line Lc may be replaced with a serial communication line Lcs. Even in this case, the same effect as in the third embodiment can be obtained.
[0088]
In the fourth embodiment, as shown in FIG. 12, the parallel communication line Lc may be replaced with a serial communication line Lcs. Even in this case, the same effect as in the fourth embodiment can be obtained.
[0089]
In the first to sixth embodiments, the first MPU 21 and the second MPU 22 are provided in the same control device 2, 65, 91, respectively. For example, the first MPU 21 is provided in the control device 2, 65, 91. May be provided outside. By doing so, the size of the control devices 2, 65, 91 can be reduced.
[0090]
In the first to third embodiments, the function of the first MPU 21 may be performed by an MPU of a system other than the electric power steering device 1 and the variable gear ratio steering system 51. For example, in a vehicle system in which the electric power steering device 1, the variable gear ratio steering system 51, and SC (stability control; stability control) are combined for integrated control, an integrated control ECU (IC) for integrated control of the vehicle system is provided. An electronic control unit) calculates a motor command value. Then, the calculation result is sent to the second MPU 22 by, for example, CAN (Controller Area Network) communication (ie, in-vehicle LAN). Motor current control is performed based on the calculation result (motor command value), and drive control of the electric motor 3 of the electric power steering device 1 and the electric motor 59 of the variable gear ratio steering system 51 is performed. By doing so, the size of the control devices 2 and 65 can be reduced.
[0091]
In the present embodiment, each of the first MPU 21 and the second MPU 22 is an 8-bit system, but may be a system having an arbitrary number of bits such as a 16-bit system.
[0092]
(Note)
Next, technical ideas that can be grasped from the embodiment and other examples will be additionally described below.
A motor provided in the steering system of the vehicle so as to be capable of transmitting torque to generate a steering assist torque, a motor driving means for driving the motor, and a motor control for driving and controlling the motor by energizing the motor driving means An electric power steering device comprising: a motor control device according to claim 1;
[0093]
A steering control device for a vehicle including a transmission ratio variable mechanism that changes a transmission ratio between a steering angle of a steering wheel and a steering angle of a steered wheel, wherein the steering angle sensor detects a steering angle of the steering wheel. A vehicle speed sensor for detecting a vehicle speed, an electric motor for driving the transmission ratio variable mechanism, and the transmission ratio set based on the vehicle speed detected by the vehicle speed sensor, and based on a steering angle detected by a steering angle sensor. A variable gear ratio steering system comprising a motor control device according to any one of claims 1 to 3, wherein the variable gear ratio steering system includes a control unit for controlling the electric motor.
[0094]
【The invention's effect】
According to the present invention, since the amount of change between the current motor command value and the previous motor command value is limited to a predetermined value or less, a sudden change in the motor command value is suppressed, It is possible to ensure the reliability of the motor drive control.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram of an electric power steering device according to a first embodiment.
FIG. 2 is a circuit diagram of a motor control device according to the first embodiment.
FIG. 3A is a flowchart illustrating a process of transmitting data by a first MPU according to the first embodiment;
FIG. 4B is a flowchart illustrating a process when the second MPU receives data in the first embodiment.
FIG. 4 is a characteristic diagram showing a state of a change in a motor command value by a change amount guard process in the first embodiment.
FIG. 5 is a circuit diagram of a motor control device according to a second embodiment.
FIG. 6A is a flowchart illustrating a part of a process at the time of data transmission of a first MPU according to the second embodiment;
(B) is a flowchart showing a part of a process at the time of data reception of the second MPU in the second embodiment.
FIG. 7 is a schematic configuration diagram of a variable gear ratio steering system according to a third embodiment.
FIG. 8 is a circuit diagram of a motor control device according to a third embodiment.
FIG. 9 is a schematic configuration diagram of an NC machine tool according to a fourth embodiment.
FIG. 10 is a circuit diagram of a motor control device according to a fourth embodiment.
FIG. 11 is a circuit diagram of a motor control device according to another embodiment.
FIG. 12 is a circuit diagram of a motor control device according to another embodiment.
FIG. 13 is a circuit diagram of a first conventional motor control device.
FIG. 14A is a flowchart showing a process at the time of data transmission of a first conventional MPU,
(B) is a flowchart showing processing at the time of data reception of the first conventional second MPU.
FIG. 15 is a timing chart showing the occurrence of garbled data.
FIG. 16 is a circuit diagram of a second conventional motor control device.
FIG. 17 (a) is a flowchart showing processing of the second conventional first MPU when transmitting data,
10B is a flowchart illustrating a process performed by the second conventional MPU when receiving data.
[Explanation of symbols]
3,59,74,78 ... electric motor,
2, 65, 91: a control device constituting a motor control device;
21 ... First MPU,
22 ... the second MPU,
43 ... Low-pass filter,
A: Current motor command value
Lc: parallel communication line,
Lcs: Serial communication line,
P: predetermined value (maximum allowable change amount of the change amount of the motor command),
X: Previous motor command value,
Y: Regular motor command value,
Δ: the amount of change in the motor command value.

Claims (3)

モータ指令値を演算する第1のMPUと、第1のMPUにより算出されたモータ指令値に基づいてモータを駆動制御する第2のMPUと、第1のMPUと第2のMPUとの間を接続する通信ラインとを備えたモータ制御装置において、前記第2のMPUには、今回のモータ指令値と前回のモータ指令値との変化量を予め想定された所定値以下に制限する変化量制限手段を備えたモータ制御装置。A first MPU that calculates a motor command value, a second MPU that drives and controls a motor based on the motor command value calculated by the first MPU, and a first MPU and a second MPU. In the motor control device provided with a communication line to be connected, the second MPU includes a change amount limit that limits a change amount between a current motor command value and a previous motor command value to a predetermined value or less. Motor control device with means. 前記変化量制限手段は、今回のモータ指令値と前回のモータ指令値との変化量を演算する変化量演算手段と、
前記変化量演算手段により算出されたモータ指令値の変化量が予め想定された所定値以下か否かを判断する変化量判断手段と、
前記変化量判断手段によりモータ指令値の変化量が前記所定値を越えていると判断されたとき、前記変化量演算手段により算出されたモータ指令値の変化量と前回のモータ指令値と前記予め想定されたモータ指令値の変化量とに基づいて新たなモータ指令値を演算するモータ指令値演算手段と、を備えた請求項1に記載のモータ制御装置。
The change amount limiter is a change amount calculator that calculates a change amount between a current motor command value and a previous motor command value,
Change amount determining means for determining whether the change amount of the motor command value calculated by the change amount calculating means is equal to or less than a predetermined value assumed in advance,
When the change amount determining means determines that the change amount of the motor command value exceeds the predetermined value, the change amount of the motor command value calculated by the change amount calculating means, the previous motor command value, and the 2. The motor control device according to claim 1, further comprising: a motor command value calculation unit configured to calculate a new motor command value based on the assumed change amount of the motor command value. 3.
前記モータ指令値は、モータ電流指令値、モータ角速度指令値及びモータ角度指令値のうち少なくとも一つである請求項1又は請求項2に記載のモータ制御装置。3. The motor control device according to claim 1, wherein the motor command value is at least one of a motor current command value, a motor angular velocity command value, and a motor angle command value. 4.
JP2002334231A 2002-11-18 2002-11-18 Motor control device Expired - Fee Related JP4052099B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002334231A JP4052099B2 (en) 2002-11-18 2002-11-18 Motor control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002334231A JP4052099B2 (en) 2002-11-18 2002-11-18 Motor control device

Publications (2)

Publication Number Publication Date
JP2004173372A true JP2004173372A (en) 2004-06-17
JP4052099B2 JP4052099B2 (en) 2008-02-27

Family

ID=32698741

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002334231A Expired - Fee Related JP4052099B2 (en) 2002-11-18 2002-11-18 Motor control device

Country Status (1)

Country Link
JP (1) JP4052099B2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009248922A (en) * 2008-04-10 2009-10-29 Nsk Ltd Electric power steering device
JP2009248923A (en) * 2008-04-10 2009-10-29 Nsk Ltd Electric power steering device
JP2009248921A (en) * 2008-04-10 2009-10-29 Nsk Ltd Electric power steering device
JP2009269501A (en) * 2008-05-08 2009-11-19 Nsk Ltd Electric power steering device
US7624838B2 (en) 2006-02-28 2009-12-01 Mitsubishi Electric Corporation Electric power steering control apparatus
JP2014141969A (en) * 2014-03-10 2014-08-07 Toyota Motor Corp Vehicle control device
JP2015012699A (en) * 2013-06-28 2015-01-19 富士電機株式会社 Drive apparatus
JP2015195727A (en) * 2015-08-12 2015-11-05 株式会社明電舎 Position control device for motor
US9353693B2 (en) 2010-09-13 2016-05-31 Toyota Jidosha Kabushiki Kaisha Vehicle control device

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7624838B2 (en) 2006-02-28 2009-12-01 Mitsubishi Electric Corporation Electric power steering control apparatus
JP2009248922A (en) * 2008-04-10 2009-10-29 Nsk Ltd Electric power steering device
JP2009248923A (en) * 2008-04-10 2009-10-29 Nsk Ltd Electric power steering device
JP2009248921A (en) * 2008-04-10 2009-10-29 Nsk Ltd Electric power steering device
JP2009269501A (en) * 2008-05-08 2009-11-19 Nsk Ltd Electric power steering device
US9353693B2 (en) 2010-09-13 2016-05-31 Toyota Jidosha Kabushiki Kaisha Vehicle control device
JP2015012699A (en) * 2013-06-28 2015-01-19 富士電機株式会社 Drive apparatus
JP2014141969A (en) * 2014-03-10 2014-08-07 Toyota Motor Corp Vehicle control device
JP2015195727A (en) * 2015-08-12 2015-11-05 株式会社明電舎 Position control device for motor

Also Published As

Publication number Publication date
JP4052099B2 (en) 2008-02-27

Similar Documents

Publication Publication Date Title
US9815491B2 (en) Electric power steering apparatus
JP5971512B2 (en) Vehicle steering system
EP2323250B1 (en) Motor control unit and vehicle steering system
JP6774622B2 (en) Motor control device
US10538265B2 (en) Rotary electric device control device, and electric power steering device using the same
JP2007008447A (en) Controller for electric power steering apparatus
JP2013071559A (en) Power steering system
JP4052099B2 (en) Motor control device
JP2013086586A (en) Electric power steering system
JP2000184773A (en) Motor controller
JP5719177B2 (en) Electric power steering device
JP4000896B2 (en) Motor control device
JP4023301B2 (en) Motor control device
JP4023298B2 (en) Motor control device
JP4023300B2 (en) Motor control device
JP2016192882A (en) Motor control device
JP6764564B2 (en) Motor control device
JP4023299B2 (en) Motor control device
JP2020005388A (en) Motor control method and motor controller
JP5012157B2 (en) Electric power steering device
JP6222427B2 (en) Vehicle steering system
JP5131423B2 (en) Electric power steering device
JP4333441B2 (en) Power steering device
JP6024976B2 (en) Steering angle sensor reliability determination device
JP6905669B2 (en) Motor control device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050318

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20060301

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070911

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071019

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071126

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees