JP4052099B2 - Motor control device - Google Patents

Motor control device Download PDF

Info

Publication number
JP4052099B2
JP4052099B2 JP2002334231A JP2002334231A JP4052099B2 JP 4052099 B2 JP4052099 B2 JP 4052099B2 JP 2002334231 A JP2002334231 A JP 2002334231A JP 2002334231 A JP2002334231 A JP 2002334231A JP 4052099 B2 JP4052099 B2 JP 4052099B2
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.)
Expired - Fee Related
Application number
JP2002334231A
Other languages
Japanese (ja)
Other versions
JP2004173372A (en
Inventor
浩 鈴木
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.)
JTEKT Corp
Original Assignee
JTEKT Corp
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 JTEKT Corp filed Critical JTEKT Corp
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

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】
また、請求項に記載の発明は、前記変化量制限手段は、今回のモータ指令値と前回のモータ指令値との変化量を演算する変化量演算手段と、前記変化量演算手段により算出されたモータ指令値の変化量が予め想定された所定値以下か否かを判断する変化量判断手段と、前記変化量判断手段によりモータ指令値の変化量が前記所定値を越えていると判断されたとき、前記変化量演算手段により算出されたモータ指令値の変化量の符号関数をSign(Δ)、前回のモータ指令値をX、前記予め想定された所定値をP、新たなモータ指令値をYとした式、Y=X+Sign(Δ)×Pに基づいて新たなモータ指令値を演算するモータ指令値演算手段と、を備えたことを要旨とする。
【0020】
請求項に記載の発明は、請求項1に記載のモータ制御装置において、前記モータ指令値は、モータ電流指令値、モータ角速度指令値及びモータ角度指令値のうち少なくとも一つであることを要旨とする。
(作用)
請求項1に記載の発明によれば、第1のMPUにより演算されたモータ指令値は通信ラインにより第2のMPUへ送られる。第2のMPUは、今回のモータ指令値と前回のモータ指令値との変化量を予め想定された所定値以下に制限する。
即ち、モータ指令値が前記所定値を越えて変化することはない。
【0021】
また、請求項に記載の発明によれば、今回のモータ指令値と前回のモータ指令値との変化量が演算され、この変化量が予め想定された所定値以下かどうかが判断される。モータ指令値の変化量が前記所定値を越えていると判断されたとき、前記変化量と前回のモータ指令値と前記所定値とに基づいて新たなモータ指令値が演算される。
【0022】
請求項に記載の発明によれば、請求項1に記載の発明の作用に加えて、第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又は請求項に記載のモータ制御装置を備えた電動パワーステアリング装置。
【0093】
・ステアリングホイールの操舵角と転舵輪の転舵角との間の伝達比を変化させる伝達比可変機構を備えた車両用操舵制御装置であって、前記ステアリングホイールの操舵角を検出する操舵角センサと、車速を検出する車速センサと、前記伝達比可変機構を駆動する電動モータと、車速センサにより検出された車速に基づいて前記伝達比を設定すると共に操舵角センサにより検出された操舵角に基づいて前記電動モータを駆動制御する制御手段とを備えたギヤ比可変ステアリングシステムにおいて、請求項1又は請求項に記載のモータ制御装置を備えたギヤ比可変ステアリングシステム。
【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]
BACKGROUND 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 prior art”) is known.
[0003]
(First prior art)
First, a conventional motor control apparatus that performs data communication between two MPUs by parallel communication will be described. As shown in FIG. 13, for example, the motor control device 100 of the electric power steering device includes a first MPU (Micro Processing Unit) 101 that calculates a motor command value based on the steering torque T, the vehicle speed V, and the like, and the first MPU. And a second MPU 103 that drives 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 connected to each other by a parallel communication line 104. Since the motor command value is 8-bit data, the parallel communication line 104 includes 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, the steering torque T detected by the torque sensor (not shown) and the vehicle speed V detected by the vehicle speed sensor (not shown) are read (S301). Next, the first MPU 101 calculates a motor command value (assist command current value) with reference to a characteristic map stored in advance based on the steering torque T and the vehicle speed V (S302). Then, the first MPU 101 sets the calculated motor command value in the parallel port 101a and ends the process. 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 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), ie, receives, the motor command value sent from the first MPU 101 in the parallel port 103a (S401). Then, the second MPU 103 drives and controls the motor 102 based on the received motor command value (S402). Thereafter, the second MPU 103 repeats the processing of S401 and S402 every predetermined control cycle.
[0006]
(Second prior art)
Next, a conventional motor control apparatus in which data communication between two MPUs is performed by serial communication will be described. The motor controller of the second prior art is different from the first prior art in that data communication between two MPUs is performed by parallel communication. Accordingly, the same components as those in the first prior art are denoted by the same reference numerals, and detailed description thereof is omitted.
[0007]
As shown in FIG. 16, the first MPU 101 and the second MPU 103 are connected to each other by a serial communication line 105.
As shown in FIG. 17A, the first MPU 101 first reads sensor signals detected by various sensors. That is, the steering torque T detected by the torque sensor (not shown) and the vehicle speed V detected by the vehicle speed sensor (not shown) are read (S501). Next, the first MPU 101 calculates a motor command value (assist command current value) with reference to a characteristic map stored in advance based on the steering torque T and the vehicle speed V (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). The data composing the motor command value is sent to the second MPU 22 serially bit by bit. 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 normality / abnormality of serial communication based on a checksum or the like. When it is determined that serial communication is normally performed (YES in S601), the second MPU 103 receives data sent through the serial communication line 105, that is, a motor command value (S602). The motor 102 is driven and controlled based on the motor command value (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). When 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). When the motor 102 is driven and controlled with the motor command value unknown, the motor 102 may behave unexpectedly. For this reason, the motor 102 is stopped. Thereafter, 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 apparatus in which data communication between two MPUs is performed by parallel communication has the following problems. In other words, distributed motor control devices used in electric power steering devices tend to be miniaturized, and along with this, various noises such as switching noise are generated in signals due to interference between the signal system and the power system. Becomes easier to overlap. When the motor command value calculated by the first MPU 101 is sent to the second MPU 103 via the 8-bit parallel communication line 105, the data is latched in the parallel port 103a of the second MPU 103 when noise is generated. Then, the second MPU 103 erroneously recognizes “0” as “1” or “1” as “0”. In other words, so-called bit corruption occurs. 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 expressed as “01100100 (B)” when expressed as 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 through eight data lines D0 to D7 of the parallel communication line 104, respectively.
[0012]
When the motor command value is transmitted, if any of the upper bits (for example, the upper 4 bits “0110”) is garbled in any of the numerical bits after the second digit, the second MPU 103 generates an error. The motor 102 is driven and controlled based on the recognized excessive motor command value.
[0013]
For example, if the motor command value calculated by the first MPU 101 is “+ 36 = 00100100 (B)” and the second digit from the most significant bit is garbled, the second MPU 103 sets the motor command value to “01100100 (B). "Is mistakenly recognized." This is +100 in decimal notation, which is an excessive value compared to the original motor command value “+36”.
[0014]
Further, as shown in FIG. 15, for example, when noise is superimposed on the most significant bit signal of the motor command value and is latched by the second MPU 103 at this timing, the second MPU 103 sets the motor command value to 11100100 (B ) This is “−100” in decimal. That is, the second MPU 103 outputs a current command in the reverse direction to the original to the motor 102, and the motor 102 rotates in the reverse direction (rotates in the reverse assist direction) although it should be normally rotated in the normal direction.
[0015]
In this way, the higher-order bits have a larger number of digits, so the influence on the behavior of the motor 102 is greater. When the upper bits of the motor command value are garbled, the motor 102 is driven based on the excessive motor command value or the motor command value in the reverse direction as described above, and the motor 102 has an unintended behavior. There was a risk of showing. As a result, there was a problem that the reliability of motor drive control was impaired.
[0016]
(Second prior art)
On the other hand, in the conventional motor control apparatus in which data communication between two MPUs is performed by serial communication, the drive control of the motor 102 is stopped when it is determined that serial communication is not normally performed. It was. Thereby, although the unexpected behavior of the motor 102 can be avoided, there is a problem that the reliability of the motor drive control is impaired. When this motor control device is used in, for example, an electric power steering device, the steering performance is significantly reduced by stopping the motor 102.
[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 capable of ensuring the reliability of motor drive control.
[0018]
[Means for Solving the Problems]
According to a 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. This is the gist.
[0019]
Also, Claim 1 The invention described in ,in front The change amount limiting means assumes a change amount calculation means for calculating a change amount between the current motor command value and the previous motor command value, and a change amount of the motor command value calculated by the change amount calculation means. A change amount determining means for determining whether or not the predetermined value is less than or equal to a predetermined value; and when the change amount determining means determines that the change amount of the motor command value exceeds the predetermined value, the change amount calculating means calculates Change in motor command value The sign function of is Sign (Δ), Previous motor command value X, Pre-supposed Expression where P is a predetermined value and Y is a new motor command value, Y = X + Sign (Δ) × P And a motor command value calculating means for calculating a new motor command value based on the above.
[0020]
Claim 2 The invention described in claim 1 The gist of the motor control device described is that 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.
(Function)
According to the first aspect of the present invention, the motor command value calculated by the first MPU is sent to the second MPU through 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 assumed in advance.
That is, the motor command value does not change beyond the predetermined value.
[0021]
Also, Claim 1 According to the invention described in ,now The amount of change between the current motor command value and the previous motor command value is calculated, and it is determined whether the amount of change is equal to or less than a 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]
Claim 2 According to the invention described in claim 1 In addition to the operation of the described invention, the second MPU drives and controls the motor based on at least one of the motor current command value, the motor angular velocity command value, and the motor angle command value.
[0023]
DETAILED DESCRIPTION OF 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, the 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 the output shaft of the electric motor 3. The electric motor 3 is a brushless motor constituted by 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, the electric angle indicating the magnetic pole position 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 “handle 7”), and a reduction gear 9 is fixed to the steering shaft 8. The reduction gear 9 is engaged with the gear 4 of the electric motor 3. A torsion bar (torsion spring) 10 is incorporated in the steering shaft 8, and a torque sensor 11 is provided in the torsion bar 10. The torque sensor 11 detects the steering torque T acting on the handle 7 based on the twist amount of the torsion bar 10 when the steering wheel 7 is steered by the driver and the steering shaft 8 rotates. 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 and 16. A front wheel 18 is attached to each of the knuckle arms 16 and 16.
[0027]
A vehicle speed sensor 19 is provided for each of the front, rear, left and right wheels (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]
Now, when the steering wheel 7 is turned by the driver, 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. Thereby, both front wheels 18 and 18 are steered.
[0029]
At this time, the control device 2 causes 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. Forward / reverse drive control. The rotation of the electric motor 3 is transmitted to the reduction gear 9 through the gear 4, and the number of rotations 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 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, and a first RAM (read-write only memory) 24. , A second ROM 25, a second RAM 26, and a motor driving device 27. 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 vehicle models and well-known theoretical calculations, for example, a basic assist torque map or vehicle speed for obtaining a basic assist current based on the vehicle speed V and the steering torque T, for example. There is a map for obtaining a 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 expanded and the first MPU 21 executes various arithmetic processes. Further, the first RAM 24 temporarily stores various arithmetic processing results and the like when the first MPU 21 performs various arithmetic processes.
[0033]
A torque sensor 11 and a vehicle speed sensor 19 are connected to the first MPU 21 via input / output interfaces (not shown). 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 calculation program executed by the second MPU 22, various data, and the like.
[0035]
The second RAM 26 is a data work area in which various control programs written in the second MPU 22 are expanded and the second MPU 22 executes various arithmetic processes. Further, the second RAM 26 temporarily stores various arithmetic processing results and the like when the second MPU 22 performs various arithmetic processes.
[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 result in the first MPU 21 and various information obtained from the motor rotation angle sensor 5 and the current sensor 28.
[0037]
(Motor drive device)
As shown in FIG. 2, the motor drive device 27 is configured by connecting 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 in parallel. It is configured. The connection point 33U between the FETs 31U and 32U is connected to the U-phase winding of the electric motor 3, the connection point 33V between the FETs 31V and 32V is connected to the V-phase winding of the electric motor 3, and the 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 the battery 34 mounted on the vehicle, and the booster circuit receives a command signal from the second MPU 22 (boost circuit control). The voltage of the battery 34 is boosted based on the signal) and applied to each series circuit of the motor drive device 27.
[0039]
As shown in FIG. 2, the current sensor 28 includes a u-phase current sensor 28u and v-phase current sensors 28v and w for detecting three-phase excitation currents Iu, Iv, and Iw output from the motor drive device 27 to the electric motor 3, respectively. 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 line Lc includes 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 this 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]
Further, the first MPU 21 includes a parallel port 41, and the second MPU 22 includes a parallel port 42. Both parallel ports 41 and 42 are 8-bit long parallel ports at bit positions b0 to b7, respectively. The parallel ports 41 of the first MPU 21 and the parallel ports 42 of the second MPU 22 are connected by data lines D0 to D7, specifically, between bit positions b0 to b7 of both 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) by the parallel communication line Lc. To MPU22.
[0043]
The second MPU 22 is based on the rotation angle θm of the electric motor 3 detected by the motor rotation angle sensor 5, and 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. 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 PWM calculation according to the PI control value, and the result of the PWM calculation (motor control signal) is specifically sent to the motor drive device 27, specifically, FETs 31U and 32U, FETs 31V and 32V, FETs 31W and 32W. Respectively. The motor drive device 27 supplies the basic assist current (three-phase excitation current) to the electric motor 3 through the three-phase excitation current path on the basis of the sent PWM calculation result. The electric motor 3 applies a basic assist force to the handle 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 advance in the first ROM 23. The flowchart shown in FIG. 3B is executed according to various control programs stored in advance in the second ROM 25. 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 the sensor signal, that is, the steering torque T detected by the torque sensor 11 and the vehicle speed V detected by the vehicle speed sensor 19 (S101). Then, the first MPU 21 calculates a motor command value (assist command current value) A of m bits (8 bits in this embodiment) based on the steering torque T and the vehicle speed V (S102).
[0047]
Next, the first MPU 21 sets all the 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 through the parallel communication line Lc.
[0048]
Thereafter, the first MPU 21 repeats the processing of S101 to S103 every predetermined control cycle.
(Operation of the second MPU)
On the other hand, the following processing is performed in the second MPU 22. That is, as shown in FIG. 3B, the second MPU 22 first latches, that is, receives the motor command value A sent from the first MPU 21 through the parallel communication line Lc into the parallel port 42 (S201). .
[0049]
Next, the second MPU 22 calculates a difference between the motor command value A received this time and the motor command value X received last time, that is, a change amount Δ (Δ = A−X) of the motor command value (S202).
[0050]
Next, the second MPU 22 determines whether or not the change amount Δ 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 by a device model, a known theoretical calculation, or the like.
[0051]
When it is determined that the change amount Δ of the motor command value is equal to or less than the predetermined value P (YES in S203), the second MPU 22 adopts the motor command value A received this time as the normal motor command value Y (S204), The electric motor 3 is driven and 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 process.
[0052]
On the other hand, when it is determined that the change amount Δ 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. The change amount guard process is executed (S207). That is, the second MPU 22 obtains 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 uses this new motor command value as a regular motor. The command value Y is adopted.
[0053]
Y = X + Sign (Δ) × P (1)
Here, Y is a regular motor command value adopted this time. X is the motor command value adopted last time. For example, when the engine is started, the motor command value stored at the previous engine stop is used as the current initial value (provisional value). Sign (Δ) is Sign (Δ) = + 1 if the variation Δ> 0, Sign (Δ) = 0 if the variation Δ <0 = 0, and Sign (Δ) = − 1 if the variation Δ <0. This is a sign function that takes the value of. P is the maximum allowable change amount of the motor command value assumed in advance.
[0054]
As described above, the second MPU 22 performs a process of setting the result obtained by adding the predetermined value P to the previous motor command value X to the current motor command value by the calculation based on the formula (1). That is, the change amount of the motor command value is set to a predetermined value P at the maximum. In other words, the change amount of the motor command value is limited to the predetermined value P or less. Further, 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 adopted each time is executed. The value gradually approaches the normal value with a slope of 1 and converges.
[0055]
Then, the second MPU 22 controls the drive of the electric motor 3 based on the normal 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 process will be described more specifically. For example, as shown in FIG. 4, noise is superimposed on the signal during communication, and the motor command value calculated by the first MPU 21 is 2.5, for example, even though the motor command value is 2.5. May be recognized as 15 (see S201 in FIG. 3B).
[0057]
If the previous motor command value is “6”, for example, the variation Δ is “+9” (Δ = 15−6 = 9) (see S202 in FIG. 3B). At this time, if 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 normal motor command value Y based on the equation (1). Now, since the previous motor command value X = 6 and the change amount Δ> 0, Sign (Δ) = + 1 and the predetermined value P = 5, so the new motor command value Y is 11 (Y = 6 + 1 × 5 = 11) (see S207 in FIG. 3B). The second MPU 22 employs the calculated “11” as a regular motor command value.
[0059]
This new motor command value Y is a value increased by a 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 if the electric motor 3 is driven and controlled based on the new motor command value, the electric motor 3 does not exhibit an unexpected operation. The electric motor 3 only shows a behavior within a range that can be expected in the experimental stage, and there is no problem. The motor command value gradually changes so as to approach the normal value (the motor command value after the change amount guard in FIG. 4).
[0060]
Therefore, as shown in FIG. 4, for example, even if the motor command value changes suddenly due to bit corruption (bit error), the change amount of the motor command value is limited to a value equal to or less than a predetermined value P. . Since the electric motor 3 is driven and controlled based on the limited motor command value, the behavior change of the electric motor 3 can be 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 suddenly reversely driven (reverse assist). There is nothing. Similarly, even when bit corruption occurs in a numerical bit with a large weight such as the second digit from the most significant motor command value, the motor command value does not change beyond the predetermined value P. That is, even if the second MPU 22 drives and controls 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 drive control of the electric motor 3 is improved.
[0062]
In this embodiment, each process of S202, S203, S204, and S207 is a change that 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. The amount limiting means is configured. The process of S202 constitutes a change amount calculation 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 S207, a new motor command value is calculated based on the change amount Δ of the motor command value calculated by the change amount calculation means, the previous motor command value X, and the previously assumed change amount P of the motor command value. The motor command value calculation means is configured.
[0063]
(Effect of 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 the change amount Δ is equal to or less than a predetermined value P assumed in advance. To do. When determining that the change amount Δ of the motor command value exceeds the predetermined value P, the second MPU 22 determines 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 the new motor command value as the regular current motor command value Y, and drives and controls the electric motor 3 based on the motor command value Y. Therefore, even if instantaneous communication failure or bit corruption occurs, the change amount Δ of the motor command value is suppressed to the predetermined value P or less, so that the behavior change of the electric motor 3 is also suppressed to the minimum. For this reason, even if 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 thus the steering performance of the electric power steering device 1 does not deteriorate significantly. 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 apparatus 1 can be ensured.
[0064]
(2) A motor current command value (specifically, a basic assist current value) is used as the motor command value. Therefore, 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 is different from the first embodiment in that the parallel communication line is replaced with a serial communication line. Therefore, the same member configuration as that of the first embodiment is denoted by the same reference numeral, and redundant description thereof is omitted.
[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 serially to the second MPU 22 bit by bit through 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 via the serial communication line Lcs (see S201 in FIG. 6B), and the motor command value A is subjected to the above-described change amount limiting process (FIG. 3). Steps S202 to S204 and S207 in (b) are performed. The second MPU 22 adopts the motor command value after the change amount guard process as the normal 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 object to be controlled is not the electric motor of the electric power steering apparatus but the electric motor of the variable gear ratio steering system. Therefore, the same member configuration as that of the first embodiment is denoted by the same reference numeral, and redundant description thereof is omitted.
[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. Is connected to the input side of the gear ratio variable unit 54. One end of the second steering shaft 55 is connected to the output side of the gear ratio variable unit 54, and the other end of the second steering shaft 55 is connected to the input side of the steering gear box 56. The steering gear box 56 includes a pinion gear (not shown), and the pinion gear meshes with the 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 converted into the axial motion of the rack shaft 57.
[0070]
The variable gear ratio unit 54 includes a reduction gear 58 that operatively connects the first steering shaft 53 and the second steering shaft 55, an electric motor 59 that drives the reduction gear 58, and the like. By driving 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, the steering gear ratio is the ratio of the total rotation angle of the handle 7 (from lock to lock) and the turning angle of the wheel (steered wheel) in the rack and pinion type electric power steering apparatus 1 in this embodiment. Say.
[0071]
As shown in FIG. 8, the variable gear ratio steering system 51 includes a steering angle sensor 61 that detects a rotation angle (that is, a steering angle θh) of the first steering shaft 53 and a rotation angle (that is, an output) of the second steering shaft 55. An output angle sensor 62 for detecting the angle θp) is provided. The gear ratio variable steering system 51 includes a vehicle speed sensor 63 that detects the vehicle speed V and a rotation angle sensor 64 that detects the rotation angle (electrical 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 drives and controls 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. The motor rotation angle command value (motor angle command value) of the electric motor 59 in the variable ratio unit 54 is calculated. The motor rotation angle characteristic map shows the change in the motor rotation angle command value with respect to the increase in the vehicle speed V. The motor rotation angle command value is uniquely determined according to the vehicle speed V.
[0074]
The first MPU 21 sends all the 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 through the parallel communication line Lc, and the motor command value A is subjected to the above-described change amount limiting process (S202 to S204 and S207 in FIG. 3B). Apply. The second MPU 22 adopts the motor command value after the change amount guard process as the normal 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 fed back to the second MPU 22. Then, the second MPU 22 feedback-controls 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 handling performance of the handle 7 is improved. For example, the steering gear ratio is set so that the output angle θp of the gear ratio variable unit 54 is larger than the steering angle θh of the handle 7 when the vehicle is stopped or traveling at a low speed. As a result, it is possible to turn with fewer handle operations. Further, the steering gear ratio is set so that the output angle θp of the gear ratio variable unit 54 is smaller than the steering angle θh of the handle 7 during high speed traveling. As a result, a calm 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. ) The same effect as the second effect can be obtained. The control device 65 can also be applied to other systems that similarly control 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 object to be controlled is not the electric motor of the electric power steering device but the electric motor for table feed of the NC machine tool. Therefore, the same member configuration as that of the first embodiment is denoted by the same reference numeral, and redundant description thereof is omitted.
[0079]
As shown in FIG. 9, a ball screw 73 is rotatably supported by a fixed table 72 of an NC machine tool 71 via a bearing (not shown), and an outer end portion of the ball screw 73 is an electric motor for feeding. It is connected to 74 output shafts via a coupling (not shown). A nut 75 is screwed onto the ball screw 73. The nut 75 can be screwed and unscrewed as the ball screw 73 rotates forward and backward. A headstock 77 is provided on the upper surface of the nut 75 via a moving table 76 so as to be movable together. A main shaft motor 78 is fixed to the main shaft base 77, and a main shaft 79 is operatively connected to the output shaft of the main shaft 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 nut 75 reciprocates along the ball screw 73 by the rotation of the ball screw 73, and accordingly, the moving table 76 also moves along the axis of the ball screw 73 ( It reciprocates in the direction of the arrow shown in FIG. 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 spindle 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. The 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, and 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 receives a motor command value for the feed electric motor 74 (motor angle command value; feed amount of the moving table 76) and a spindle motor based on a predetermined program command from the PLO 94 every predetermined control cycle. The motor command value for 78 (motor angular velocity command value; rotational angular velocity of the spindle 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 speed 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 through the parallel communication line Lc, and the motor command value A is subjected to the above-described change amount limiting process (S202 to S204 and S207 in FIG. 3B). Apply. The second MPU 22 adopts the motor command value after the change amount guard process as a normal motor command value Y, and drives and controls the feed electric motor 74 and the spindle motor 78 based on the motor command value Y, respectively. (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 spindle motor rotation angle sensor 82 are fed back to the second MPU 22, respectively. The second MPU 22 performs feedback control on the motor currents of the feed electric motor 74 and the spindle motor 78 based on the rotation angles θms and θmp, respectively. That is, the second MPU 22 includes 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 are respectively matched. The motors 78 are driven and controlled.
[0086]
Therefore, according to the present embodiment, in the 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 the effects (1) and (2) of the first embodiment. An effect can be obtained. The controller 91 can also be applied to other systems that similarly control the speed (angular speed) of the motor.
[0087]
(Another example)
In addition, you may implement the said embodiment by changing into the following other examples.
In the third embodiment, as shown in FIG. 11, the parallel communication line Lc may be replaced with a serial communication line Lcs. Even if it does in this way, the effect similar to the said 3rd Embodiment can be acquired.
[0088]
-In 4th Embodiment, as shown in FIG. 12, you may make it replace the parallel communication line Lc with the serial communication line Lcs. Even if it does in this way, the effect similar to 4th Embodiment can be acquired.
[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 devices 2, 65, 91. You may make it provide outside. In this way, the control devices 2, 65, 91 can be downsized.
[0090]
-In 1st-3rd embodiment, you may make it make the function of 1st MPU21 perform MPU of systems other than the electric power steering apparatus 1 and the gear ratio variable steering system 51. FIG. For example, in a vehicle system in which the electric power steering device 1, the gear ratio variable steering system 51 and SC (stability control; stability control) and the like are combined and controlled, an integrated control ECU (integrated control ECU ( The motor command value is calculated by an electronic control unit). Then, this calculation result is sent to the second MPU 22 by, for example, CAN (Controller Area Network) communication (that is, 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 apparatus 1 and the electric motor 59 of the gear ratio variable steering system 51 is performed. In this way, the control devices 2 and 65 can be downsized.
[0091]
In the present embodiment, each of the first MPU 21 and the second MPU 22 is an 8-bit system. However, for example, a system having an arbitrary number of bits such as a 16-bit system may be used.
[0092]
(Appendix)
Next, a technical idea that can be grasped from the embodiment and another example will be added below.
A motor that is capable of transmitting torque to a steering system of a vehicle and generates steering assist torque, a motor drive unit that drives the motor, and a motor control that controls the drive of the motor by energizing the motor drive unit An electric power steering apparatus comprising the apparatus according to claim 1. Or Claim 2 An electric power steering device comprising the motor control device described in 1.
[0093]
A vehicle steering control device having a transmission ratio variable mechanism that changes a transmission ratio between a steering angle of a steering wheel and a steered wheel, and a steering angle sensor that detects the steering angle of the steering wheel A vehicle speed sensor for detecting the vehicle speed, an electric motor for driving the transmission ratio variable mechanism, the transmission ratio is set based on the vehicle speed detected by the vehicle speed sensor, and based on the steering angle detected by the steering angle sensor. And a gear ratio variable steering system comprising control means for controlling the driving of the electric motor. Or Claim 2 A gear ratio variable steering system comprising the motor control device described in 1.
[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 that is assumed in advance, the motor command value is suppressed from rapidly changing, The reliability of motor drive control can be ensured.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram of an electric power steering apparatus 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 showing processing at the time of data transmission of the first MPU in the first embodiment;
FIG. 6B is a flowchart showing processing at the time of data reception of the second MPU in the first embodiment.
FIG. 4 is a characteristic diagram showing a change state of 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 showing a part of processing at the time of data transmission of the first MPU in the second embodiment;
FIG. 6B is a flowchart showing a part of processing at the time of data reception of the second MPU in the second embodiment.
FIG. 7 is a schematic configuration diagram of a gear ratio variable 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 processing at the time of data transmission of the first conventional first 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 illustrating the occurrence of data bit corruption.
FIG. 16 is a circuit diagram of a second conventional motor control device.
FIG. 17A is a flowchart showing processing at the time of data transmission of the second conventional first MPU;
(B) is a flowchart showing processing at the time of data reception of the second conventional second MPU.
[Explanation of symbols]
3, 59, 74, 78 ... electric motor,
2, 65, 91 ... a control device constituting a motor control device,
21. First MPU,
22 ... second MPU,
43 ... Low-pass filter
A ... This motor command value,
Lc: Parallel communication line,
Lcs: Serial communication line,
P: Predetermined value (maximum allowable change in motor command change),
X: Previous motor command value,
Y: Regular motor command value,
Δ: Change in motor command value.

Claims (2)

モータ指令値を演算する第1のMPUと、第1のMPUにより算出されたモータ指令値に基づいてモータを駆動制御する第2のMPUと、第1のMPUと第2のMPUとの間を接続する通信ラインとを備えたモータ制御装置において、前記第2のMPUには、今回のモータ指令値と前回のモータ指令値との変化量を予め想定された所定値以下に制限する変化量制限手段を備え
前記変化量制限手段は、今回のモータ指令値と前回のモータ指令値との変化量を演算する変化量演算手段と、
前記変化量演算手段により算出されたモータ指令値の変化量が予め想定された所定値以下か否かを判断する変化量判断手段と、
前記変化量判断手段によりモータ指令値の変化量が前記所定値を越えていると判断されたとき、前記変化量演算手段により算出されたモータ指令値の変化量の符号関数をSign(Δ)、前回のモータ指令値をX、前記予め想定された所定値をP、新たなモータ指令値をYとした式、
Y=X+Sign(Δ)×P
に基づいて新たなモータ指令値を演算するモータ指令値演算手段と
を備えたモータ制御装置。
Between the first MPU that calculates the motor command value, the second MPU that drives and controls the motor based on the motor command value calculated by the first MPU, and the first MPU and the second MPU. In the motor control device including a communication line to be connected, the second MPU includes a change amount restriction that restricts a change amount between a current motor command value and a previous motor command value to a predetermined value or less. With means ,
The change amount limiting means is a change amount calculating means for calculating a change amount between the current motor command value and the previous motor command value;
Change amount determination means for determining whether or not the change amount of the motor command value calculated by the change amount calculation means is equal to or less than a predetermined value assumed in advance;
When the change amount determination means determines that the change amount of the motor command value exceeds the predetermined value, a sign function of the change amount of the motor command value calculated by the change amount calculation means is Sign (Δ), Formula where X is a previous motor command value, P is a predetermined value assumed in advance, and Y is a new motor command value.
Y = X + Sign (Δ) × P
Motor command value calculating means for calculating a new motor command value based on
A motor control device comprising:
前記モータ指令値は、モータ電流指令値、モータ角速度指令値及びモータ角度指令値のうち少なくとも一つである請求項1に記載のモータ制御装置。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 .
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 JP2004173372A (en) 2004-06-17
JP4052099B2 true 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)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007236075A (en) 2006-02-28 2007-09-13 Mitsubishi Electric Corp Electric power steering control device
JP5169410B2 (en) * 2008-04-10 2013-03-27 日本精工株式会社 Electric power steering device
JP5169411B2 (en) * 2008-04-10 2013-03-27 日本精工株式会社 Electric power steering device
JP5169412B2 (en) * 2008-04-10 2013-03-27 日本精工株式会社 Electric power steering device
JP2009269501A (en) * 2008-05-08 2009-11-19 Nsk Ltd Electric power steering device
WO2012035601A1 (en) 2010-09-13 2012-03-22 トヨタ自動車株式会社 Vehicle control device
JP6201457B2 (en) * 2013-06-28 2017-09-27 富士電機株式会社 Drive equipment
JP2014141969A (en) * 2014-03-10 2014-08-07 Toyota Motor Corp Vehicle control device
JP6011697B2 (en) * 2015-08-12 2016-10-19 株式会社明電舎 Electric motor position control device

Also Published As

Publication number Publication date
JP2004173372A (en) 2004-06-17

Similar Documents

Publication Publication Date Title
JP6579376B2 (en) Vehicle steering system
EP3517405B1 (en) Steering control device
JP5971512B2 (en) Vehicle steering system
JP2004314891A (en) Steering device for vehicle
US11827296B2 (en) Steering control device
US9415801B2 (en) Power steering system
JP2007008447A (en) Controller for electric power steering apparatus
JP4052099B2 (en) Motor control device
JP2021011229A (en) Steering control device
JP2015229385A (en) Electric power steering device
JP4000896B2 (en) Motor control device
JP6764561B2 (en) Vehicle steering system
JP4023301B2 (en) Motor control device
JP4023298B2 (en) Motor control device
JP3915595B2 (en) Rotation angle detection device using resolver and control device using this device
JP4023300B2 (en) Motor control device
JP4023299B2 (en) Motor control device
JP2016192882A (en) Motor control device
JP6764564B2 (en) Motor control device
JP5012157B2 (en) Electric power steering device
JP5131423B2 (en) Electric power steering device
JP4254671B2 (en) Vehicle steering system
JP6852580B2 (en) Steering control device
JP2007283926A (en) Steering device for vehicle
JP2008296829A (en) Electric power steering 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