JP4023299B2 - Motor control device - Google Patents

Motor control device Download PDF

Info

Publication number
JP4023299B2
JP4023299B2 JP2002334228A JP2002334228A JP4023299B2 JP 4023299 B2 JP4023299 B2 JP 4023299B2 JP 2002334228 A JP2002334228 A JP 2002334228A JP 2002334228 A JP2002334228 A JP 2002334228A JP 4023299 B2 JP4023299 B2 JP 4023299B2
Authority
JP
Japan
Prior art keywords
motor
mpu
command value
parallel communication
communication line
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
JP2002334228A
Other languages
Japanese (ja)
Other versions
JP2004173369A (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 JP2002334228A priority Critical patent/JP4023299B2/en
Publication of JP2004173369A publication Critical patent/JP2004173369A/en
Application granted granted Critical
Publication of JP4023299B2 publication Critical patent/JP4023299B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Power Steering Mechanism (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Safety Devices In Control Systems (AREA)
  • Control Of Electric Motors In General (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、分散型のモータ制御装置に関するものである。
【0002】
【従来の技術】
従来より、次のような分散型のモータ制御装置が知られている。即ち、図9に示すように、例えば電動パワーステアリング装置のモータ制御装置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を備えている。
【0003】
次に、前述のように構成された従来のモータ制御装置の動作を図10(a),(b)に示すフローチャートに従って説明する。
図10(a)に示すように、第1のMPU101はまず各種のセンサにより検出されたセンサ信号を読み込む。即ち、トルクセンサ(図示略)により検出された操舵トルクT及び車速センサ(図示略)により検出された車速Vを読み込む(S301)。次に、第1のMPU101は、操舵トルクT及び車速Vに基づいて予め記憶された特性マップを参照してモータ指令値(アシスト指令電流値)を演算する(S302)。そして、第1のMPU101は算出したモータ指令値をポート101aにセットして処理を終了する。第1のMPU101により算出されたモータ指令値は各データラインD0〜D7によりビット毎に第2のMPU103へ送られる。以後、第1のMPU101はS301〜S303の処理を所定の制御周期毎に繰り返す。
【0004】
一方、第2のMPU103においては、次のような処理が行われる。即ち、図10(b)に示すように、第2のMPU103はまず第1のMPU101から送られてきたモータ指令値をポート103aにラッチ(保持)、即ち受信する(S401)。そして、第2のMPU103は受信したモータ指令値に基づいてモータ102を駆動制御する(S402)。以後、第2のMPU103はS401及びS402の処理を所定の制御周期毎に繰り返す。
【0005】
【発明が解決しようとする課題】
ところが、前記従来のモータ制御装置には次のような問題があった。即ち、電動パワーステアリング装置で使用されている分散型のモータ制御装置は小型化の傾向にあり、これに伴って、シグナル系とパワー系との干渉に起因して信号にスイッチングノイズ等の各種ノイズが重畳しやすくなる。そして、第1のMPU101により算出されたモータ指令値を8ビットのパラレル通信ライン104で第2のMPU103へ送る際、ノイズが発生したタイミングでデータが第2のMPU103のポート103aにラッチされると、第2のMPU103は「0」を「1」又は「1」を「0」と誤認識する。このビットエラー(いわゆるビット化け)の結果、第2のMPU103は、正しいモータ指令値を受け取ることができない。
【0006】
第1のMPU101により算出されたモータ指令値を例えば「+100」とした場合、これを符号付の2進数で表すと「01100100(B)」となる。ここで、最上位ビットは正負(+,−)を示す符号ビットであり、最上位から2桁目以降が数値を示す数値ビットとなる。ちなみに、正は「0」、負は「1」で示される。このモータ指令値の各ビットはパラレル通信ライン104の8本のデータラインD0〜D7によりそれぞれ第2のMPU103へ送られる。
【0007】
そして、このモータ指令値の送信時において、上位ビット(例えば上位4ビット「0110」)のうち最上位から2桁目以降のいずれかの数値ビットにビット化けが発生すると、第2のMPU103は誤認識した過剰なモータ指令値に基づいてモータ102を駆動制御する。
【0008】
例えば第1のMPU101により算出されたモータ指令値を「+36=00100100(B)」とした場合に最上位から2桁目がビット化けすると、第2のMPU103はモータ指令値を「01100100(B)」と誤認識する。これは10進数で表すと+100であり、本来のモータ指令値「+36」に比べて過大な値となる。
【0009】
また、図11に示すように、例えばモータ指令値の最上位ビットの信号にノイズが重畳し、このタイミングで第2のMPU103でラッチされると、第2のMPU103はモータ指令値を11100100(B)と誤認識する。これは10進数で表すと「−100」である。即ち、第2のMPU103は本来とは逆方向の電流指令をモータ102へ出力し、モータ102は本来正回転されるべきであるにもかかわらず、逆回転(逆アシストの方向へ回転)する。
【0010】
このように、上位のビットほど桁数が大きいのでモータ102の挙動に与える影響が大きい。そして、このモータ指令値の上位ビットがビット化けすると、前述したような過大なモータ指令値又は逆方向のモータ指令値に基づいてモータ102が駆動されることとなり、当該モータ102が意図しない挙動を示すおそれがあった。
【0011】
本発明は上記問題点を解決するためになされたものであって、その目的は、モータの意図しない挙動を抑制することができるモータ制御装置を提供することにある。
【0012】
【課題を解決するための手段】
請求項1に記載の発明は、モータ指令値を演算する第1のMPUと、第1のMPUにより算出されたモータ指令値に基づいてモータを駆動制御する第2のMPUと、第1のMPUと第2のMPUとの間を接続する主パラレル通信ラインとを備えたモータ制御装置において、第1のMPUと第2のMPUとの間には前記主パラレル通信ラインとは別の複数の副パラレル通信ラインを設け、第2のMPUは、主パラレル通信ラインにより送られてきたモータ指令値と各副パラレル通信ラインによりそれぞれ送られてきたモータ指令値とのビット毎の多数決をとり、この結果に基づいて決定されたモータ指令値に基づいてモータを駆動制御するようにしたことを要旨とする。
【0013】
請求項2に記載の発明は、請求項1に記載のモータ制御装置において、主パラレル通信ラインはモータ指令値の全ビット分のデータラインを備え、各副パラレル通信ラインはモータ指令値の予め設定された複数ビット分のデータラインを備え、第1のMPUは算出したモータ指令値の全ビットを主パラレル通信ラインにより第2のMPUへ送ると共に、同じくモータ指令値の予め設定された上位複数ビットを各副パラレル通信ラインによりそれぞれ第2のMPUへ送るようにしたことを要旨とする。
【0014】
請求項3に記載の発明は、請求項1又は請求項2に記載のモータ制御装置において、第1のMPUは算出したmビットのモータ指令値をnビットだけ桁下げしたデータを各副パラレル通信ラインによりそれぞれ第2のMPUへ送るようにし、第2のMPUは各副パラレル通信ラインにより送られてきたデータをそれぞれnビットだけ桁上げし、主パラレル通信ラインにより送られてきたモータ指令値と前記桁上げされた各データとの上位(m−n)ビットにおいてビット毎の多数決をとり、この結果に基づいてモータ指令値のうち上位(m−n)ビットの値を決定するようにしたことを要旨とする。
【0015】
請求項4に記載の発明は、請求項1〜請求項3のうちいずれか一項に記載のモータ制御装置において、前記モータ指令値は、モータ電流指令値、モータ角速度指令値及びモータ角度指令値のうち少なくとも一つであることを要旨とする。
【0016】
(作用)
請求項1に記載の発明によれば、第1のMPUにより演算されたモータ指令値は主パラレル通信ライン及び複数の副パラレル通信ラインによりそれぞれ第2のMPUへ送られる。第2のMPUは、主パラレル通信ラインにより送られてきたモータ指令値と各副パラレル通信ラインによりそれぞれ送られてきたモータ指令値との多数決をビット毎にとり、この結果に基づいて決定されたモータ指令値に基づいてモータを駆動制御する。このため、モータ指令値(データ)の正確性が確保される。
【0017】
請求項2に記載の発明によれば、請求項1に記載のモータ制御装置において、主パラレル通信ラインによりモータ指令値の全ビットが第2のMPUへ送られる。各副パラレル通信ラインによりモータ指令値の予め設定された上位複数ビットがそれぞれ第2のMPUへ送られる。第2のMPUは、主パラレル通信ラインにより送られてきたモータ指令値と各副パラレル通信ラインによりそれぞれ送られてきたモータ指令値の予め設定された上位複数ビットとの多数決をビット毎にとり、この結果に基づいて決定されたモータ指令値に基づいてモータを駆動制御する。このため、モータ指令値(データ)の少なくとも上位複数ビットの正確性が確保される。
【0018】
請求項3に記載の発明によれば、請求項1又は請求項2に記載の発明の作用に加えて、第1のMPUは算出したmビットのモータ指令値をnビットだけ桁下げしたデータを各副パラレル通信ラインによりそれぞれ第2のMPUへ送る。第2のMPUは各副パラレル通信ラインにより送られてきたデータをそれぞれnビットだけ桁上げする。そして、第2MPUは主パラレル通信ラインにより送られてきたモータ指令値と前記桁上げされた各データとの上位(m−n)ビットにおいてビット毎の多数決をとり、この結果に基づいてモータ指令値のうち上位(m−n)ビットの値を決定する。このため、モータ指令値(データ)の少なくとも上位(m−n)ビットの正確性が確保される。
【0019】
請求項4に記載の発明によれば、請求項1又は請求項2に記載の発明の作用に加えて、第2のMPUは、主パラレル通信ライン及び各副通信ラインによりそれぞれ送られてきたモータ電流指令値、モータ角速度指令値及びモータ角度指令値のうち少なくとも一つに基づいてモータを駆動制御する。
【0020】
【発明の実施の形態】
(第1実施形態;EPS)
以下、本発明を電動パワーステアリング装置のモータ制御装置に具体化した第1実施形態を図1〜図4に従って説明する。
【0021】
(全体構成)
図1に示すように、電動パワーステアリング装置(EPS)1は、電動パワーステアリング制御装置(以下「制御装置2」という。)及び当該制御装置2により駆動制御される電動モータ3を備えており、この電動モータ3の出力軸にはギヤ4が固定されている。電動モータ3は三相同期式永久磁石モータで構成したブラシレスモータであり、モータ回転角センサ(例えばホール素子)5を備えている。モータ回転角センサ5は電動モータ3の回転角θm、即ち電動モータ3を構成するロータの磁極位置を示す電気角を検出し、この検出結果(モータ回転角信号)を制御装置2へ送る。
【0022】
一方、ステアリングホイール(以下、「ハンドル7」という)にはステアリングシャフト8が連結されており、同ステアリングシャフト8には減速歯車9が固定されている。この減速歯車9には前記電動モータ3のギヤ4が噛合している。ステアリングシャフト8にはトーションバー(ねじりばね)10が組み込まれており、当該トーションバー10にはトルクセンサ11が設けられている。トルクセンサ11は、運転者によりハンドル7が操舵されてステアリングシャフト8が回転した際のトーションバー10の捻れ量に基づいて、当該ハンドル7に作用する操舵トルクTを検出する。この操舵トルク信号は制御装置2へ送られる。
【0023】
前記減速歯車9にはピニオンシャフト12を介してピニオンギヤ13が固定されている。このピニオンギヤ13はラック14と噛合しており、当該ラック14の両端にはそれぞれタイロッド15が固定されている。タイロッド15の先端部にはナックルアーム16が回動可能に連結されており、両ナックルアーム16,16間にはクロスメンバ17が回動可能に連結されている。両ナックルアーム16,16にはそれぞれ前輪18が取り付けられている。
【0024】
前後左右の各車輪にはそれぞれ車速センサ19が設けられている(図1では、一方の前輪18の車速センサ19のみ図示する)。車速センサ19は車輪速(車輪の単位時間当たりの回転数、即ち回転速度)を検出し、この検出結果(車輪速信号)を制御装置2へ送る。制御装置2は車速センサ19から送られてきた車輪速信号に基づいて車速Vを演算する。
【0025】
さて、運転者によりハンドル7が回動操作されると、ステアリングシャフト8が回転する。この回転はトーションバー10、ピニオンシャフト12及びピニオンギヤ13を介してラック14へ伝達され、同ラック14の軸動に変換される。これにより、両前輪18,18が転舵される。
【0026】
このとき、制御装置2は、トルクセンサ11により検出された操舵トルクT及び車速センサ19により検出された車速Vに基づいて、所定の操舵補助トルク(アシストトルク)を発生させるように電動モータ3を正逆駆動制御する。電動モータ3の回転はギヤ4を介して減速歯車9に伝達され、当該減速歯車9により回転数が減少されてピニオンシャフト12及びピニオンギヤ13に伝達される。ピニオンギヤ13の回転はラック14に伝達され、同ラック14の軸動に変換される。このようにして、ハンドル7の回動操作による前輪18の操舵に対してアシストトルクが付与される。
【0027】
(制御装置)
次に、制御装置2の電気的構成について説明する。
図1に示すように、制御装置2は、第1のMPU(Micro Processing Unit)21、第2のMPU22、第1のROM(読み出し専用メモリ)23、第1のRAM(読み出し書き込み専用メモリ)24、第2のROM25、第2のRAM26及びモータ駆動装置27を備えている。また、制御装置2は電流センサ28を備えている。
【0028】
第1のROM23には、第1のMPU21が実行する基本アシスト制御プログラム及びハンドル戻し制御プログラム等の各種の制御プログラム、各種のデータ及び各種の特性マップ等が格納されている。各種の特性マップはそれぞれ車両モデルによる実験データ及び周知の理論計算等によって予め求められたものであり、例えば車速Vと操舵トルクTとに基づいて基本アシスト電流を求めるための基本アシストトルクマップや車速、操舵角速度及び操舵絶対角に基づいてハンドル戻し指令電流を求めるためのマップがある。
【0029】
第1のRAM24は、第1のROM23に書き込まれた各種の制御プログラムを展開して第1のMPU21が各種の演算処理を実行するためのデータ作業領域である。また、第1のRAM24は第1のMPU21が各種の演算処理を行う際の各種の演算処理結果等を一時的に記憶する。
【0030】
第1のMPU21にはトルクセンサ11及び車速センサ19がそれぞれ入出力インターフェイス(図示略)を介して接続されている。第1のMPU21はトルクセンサ11、車速センサ19及びモータ回転角センサ5から得られる各種の情報に基づいて基本アシスト制御プログラム及びハンドル戻し制御プログラム等の各種の制御プログラムを実行する。
【0031】
第2のROM25には、第2のMPU22が実行する電流制御プログラムやPWM演算プログラム等の各種の制御プログラム及び各種のデータ等が格納されている。
【0032】
第2のRAM26は、第2のMPU22に書き込まれた各種の制御プログラムを展開して第2のMPU22が各種の演算処理を実行するためのデータ作業領域である。また、第2のRAM26は第2のMPU22が各種の演算処理を行う際の各種の演算処理結果等を一時的に記憶する。
【0033】
第2のMPU22にはモータ回転角センサ5及び電流センサ28がそれぞれ入出力インターフェイス(図示略)を介して接続されている。第2のMPU22は、第1のMPU21における演算結果やモータ回転角センサ5及び電流センサ28から得られる各種の情報等に基づいて電流制御プログラムやPWM演算プログラム等の各種の制御プログラムを実行する。
【0034】
(モータ駆動装置)
図2に示すように、モータ駆動装置27は、FET(電界効果トランジスタ)31U,32Uの直列回路と、FET31V,32Vの直列回路と、FET31W,32Wの直列回路とが並列に接続されることにより構成されている。FET31U,32U間の接続点33Uは電動モータ3のU相巻線に接続され、FET31V,32V間の接続点33Vは電動モータ3のV相巻線に接続され、FET31W,32W間の接続点33Wは電動モータ3のW相巻線に接続されている。
【0035】
モータ駆動装置27と車両に搭載されたバッテリ34との間の電源ラインLp上には昇圧回路(図示略)が設けられており、当該昇圧回路は第2のMPU22からの指令信号(昇圧回路制御信号)に基づいてバッテリ34の電圧を昇圧し、これをモータ駆動装置27の各直列回路にそれぞれ印加する。
【0036】
図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へ送る。
【0037】
(第1及び第2のMPUの接続間係)
図2に示すように、第1のMPU21と第2のMPU22との間は第1のパラレル通信ラインLc1、第2のパラレル通信ラインLc2及び第3のパラレル通信ラインLc3によりそれぞれ接続されている。第1のパラレル通信ラインLc1はメイン(主)の通信ラインであり、第2のパラレル通信ラインLc2及び第3のパラレル通信ラインLc3はそれぞれサブ(副)の通信ラインである。
【0038】
第1のパラレル通信ラインLc1は第1のMPU21から第2のMPU22へ送るモータ指令値のビット長と同じ本数のデータラインを備えている。本実施形態では、モータ指令値のビット長は8ビットとされており、第1のパラレル通信ラインLc1は8本のデータラインDm0〜Dm7を備えている。また、第2のパラレル通信ラインLc2及び第3のパラレル通信ラインLc3はそれぞれ4本のデータラインDs0〜Ds3を備えている。
【0039】
第1のMPU21は第1のポート41、第2のポート42及び第3のポート43を備えている。第2のMPU22は第1のポート44、第2のポート45及び第3のポート46を備えている。両第1のポート41,44はそれぞれビット位置b0〜b7の8ビット長のパラレルポートであり、両第2のポート42,45及び両第3のポート43,46はそれぞれビット位置b0〜b3の4ビット長のパラレルポートである。
【0040】
第1のMPU21の第1のポート41と第2のMPU22の第1のポート44との間、具体的には両第1のポート41,44のビット位置b0〜b7間はそれぞれデータラインDm0〜Dm7により接続されている。第1のMPU21の第2のポート42と第2のMPU22の第2のポート45との間、具体的には両第2のポート42,45のビット位置b0〜b3間はそれぞれデータラインDs0〜Ds3により接続されている。第1のMPU21の第3のポート43と第2のMPU22の第3のポート46との間、具体的には両第3のポート43,46のビット位置b0〜b3間はそれぞれデータラインDs0〜Ds3により接続されている。
【0041】
第1のMPU21は、前記基本アシストトルクマップに基づいて、車速V及び操舵トルクTに対応した基本アシスト電流値を演算する。そして、第1のMPU21は、この演算結果(即ち、モータ指令値)を第1のパラレル通信ラインLc1、第2のパラレル通信ラインLc2及び第3のパラレル通信ラインLc3を介してそれぞれ第2のMPU22へ送る。
【0042】
第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制御値を演算する。
【0043】
第2のMPU22はPI制御値に応じたPWM演算を行い、このPWM演算の結果(モータ制御信号)をモータ駆動装置27に対して、具体的にはFET31U,32U、FET31V,32V、FET31W,32Wに対してそれぞれ出力する。モータ駆動装置27は、送られてきたPWM演算の結果に基づいて電動モータ3に対する基本アシスト電流(3相の励磁電流)の供給を3相の励磁電流路を介して行う。電動モータ3は基本アシスト電流の供給に基づいてハンドル7に対して基本アシスト力を付与する。
【0044】
(実施形態の作用)
次に、前述のように構成した電動パワーステアリング制御装置の動作を図3(a),(b)に示すフローチャートに従って説明する。図3(a)に示すフローチャートは第1のROM23に予め格納された各種の制御プログラムに従って実行される。図3(b)に示すフローチャートは第2のROM25に予め格納された各種の制御プログラムに従って実行される。尚、本実施形態では「ステップ」を「S」と略記する。
【0045】
(第1のMPUの動作)
図3(a)に示すように、第1のMPU21は、まずセンサ信号、即ちトルクセンサ11により検出された操舵トルクT及び車速センサ19により検出された車速Vを読込む(S101)。
【0046】
次に、第1のMPU21は、操舵トルクT及び車速Vに基づいてmビットのモータ指令値(アシスト指令電流値)を演算する(S102)。本実施形態において、モータ指令値は8ビット(即ち、m=8)のデータである。モータ指令値を例えば「+100」としたとき、これを符号付の2進数で表すと、「01100100(B)」となる。ちなみに、(B)は2進数であるということを示す記号である。また、最上位ビットは符号ビットであり、モータ指令値の正負、即ち「+」,「−」を示す。符号ビットが「0」のときは「+」、「1」のときは「−」を示す。最上位から2桁目以降が数値を示す数値ビットである。
【0047】
次に、第1のMPU21は算出したモータ指令値の全ビット(8ビット)を第1のポート41にセットする(S103)。このとき、第1のポート41の各ビット位置b0〜b7とモータ指令値の各ビット位置とが相互に対応するように、第1のポート41の各ビット位置b0〜b7にはそれぞれ0,1,1,0,0,1,0,0がセットされる。
【0048】
次に、第1のMPU21はnビットだけ右にシフト(桁下げ)したモータ指令値(いわゆる桁落ちしたモータ指令値)を第1のMPU21の第2のポート42にセットする(S104)。
【0049】
ここで、n,mはいずれも整数でありシフト数n<モータ指令値のビット数m」の関係が成立する。本実施形態ではn=4とされている。即ち、8ビットのモータ指令値において、上位4ビットをそれぞれ4桁ずつ繰り下げる。具体的には、第1のMPU21はモータ指令値「01100100(B)」における上位4桁「0110」を第2のポート42の各ビット位置b0〜b3にそれぞれセットする。
【0050】
次に、第1のMPU21は前記S104と同様にしてnビットだけ右にシフトしたモータ指令値を第1のMPU21の第3のポート43にセットする(S105)。
【0051】
第1のMPU21における第2のポート42及び第3のポート43にセットされたモータ指令値のデータ構成はそれぞれ図4に示すデータB及びデータCのようになる。そして、第1のMPU21は第1のポート41、第2のポート42及び第3のポート43にそれぞれセットされたデータを第1のパラレル通信ラインLc1、第2のパラレル通信ラインLc2及び第3のパラレル通信ラインLc3によりそれぞれ第2のMPU22へ送る。
【0052】
ちなみに、2進数においては1桁上がる毎に2(nは桁数)ずつデータの重みが増加する。即ち、上位のビットほど電動モータ3の挙動に影響を与える。本実施形態では重みの大きい上位4ビットが優先して第2のMPU22へ送られる。以後、第1のMPU21はS101〜S104の処理を所定の制御周期毎に繰り返す。
【0053】
(第2のMPUの動作)
一方、第2のMPU22においては、次のような処理が行われる。即ち、図3(b)に示すように、第2のMPU22は、まず第1のMPU21から第1のパラレル通信ラインLc1により送られてきたモータ指令値を第1のポート44にラッチ、即ち受信する(S201)。通信中においてデータにノイズが重畳し、例えば最上位ビットにビット化けが発生したとすると(図11参照)、第1のポート44には図4に示すデータAが保持される。即ち、第1のポート44の各ビット位置b0〜b7にはそれぞれ1,1,1,0,0,1,0,0が保持される。ちなみに、ビット化けがない場合には、第1のポート44の各ビット位置b0〜b7にはそれぞれ0,1,1,0,0,1,0,0が保持される。
【0054】
次に、第2のMPU22は、第1のMPU21から第2のパラレル通信ラインLc2により送られてきたモータ指令値(桁落ちしたモータ指令値;4ビット右シフトしたデータ)を第2のポート45にラッチ、即ち受信する(S202)。ビット化けがない場合、第2のポート45には図4に示すデータBが保持される。具体的には、第2のポート45の各ビット位置b0〜b3にはそれぞれ0,1,1,0が保持される。
【0055】
次に、第2のMPU22は、第1のMPU21から第3のパラレル通信ラインLc3を介して送られてきたモータ指令値を第3のポート46にラッチ、即ち受信する(S203)。ビット化けがない場合、第2のポート45には図4に示すデータCが保持される。具体的には、第3のポート46の各ビット位置b0〜b3にはそれぞれ0,1,1,0が保持される。
【0056】
次に、第2のMPU22は、第2のポート45に保持された桁落ちしたモータ指令値(図4に示すデータB)を第1のMPU21におけるS104で右シフトされたビット数と同じビット数である4ビットだけ左へシフト(桁上げ)する。(S204)。即ち、図4に示すように、第2のMPU22は第2のポート45のビット位置b3〜b0に保持されたデータ「0110」の各ビットをそれぞれ4桁繰り上げてデータBaとする。第2のMPU22は数値のないビット位置(この場合、b0〜b3)のビットを0と認識し、第2のパラレル通信ラインLc2により送られてきたモータ指令値を「01100000」と認識する。
【0057】
また、第2のMPU22は、第3のポート46に保持された桁落ちしたモータ指令値(図4に示すデータC)を第1のMPU21におけるS105において右シフトしたビット数を同じビット数である4ビットだけ左へシフトする。(S205)。即ち、図4に示すように、第2のMPU22は第3のポート46のビット位置b3〜b0に保持されたデータ「0110」の各ビットをそれぞれ4桁繰り上げてデータCaとする。第2のMPU22は数値のないビット位置(この場合、b0〜b3)のビットを0と認識し、第3のパラレル通信ラインLc3により送られてきたモータ指令値を「01100000」と認識する。
【0058】
次に、第2のMPU22は、第1のパラレル通信ラインLc1、第2のパラレル通信ラインLc2及び第3のパラレル通信ラインLc3によりそれぞれ送られてきたデータに基づいて採用するモータ指令値を最終的に決定する(S206)。本実施形態では、データA,Ba,Caの上位(m−n)ビット、即ち上位4ビットに対してビット毎の多数決をとり、多い方のデータ(1又は0)を採用する。
【0059】
例えば、図4に示すように、データA,Ba,Caにおいて、それぞれのビット位置b7に保持されているデータは「1」,「0」,「0」である。即ち、ビット位置b7においては「1」が1つで「0」が2つとなっているので、第2のMPU22は「0」を正と判断して採用する。同様にして、ビット位置b7,b6,b5のデータについては、第2のMPU22はそれぞれ「1」,「1」,「0」を正と判断して採用する。
【0060】
残りの下位4ビット、即ちビット位置b3,b2,b1,b0のデータについては、第2のMPU22は第1のパラレル通信ラインLc1により送られてきたデータAの値をそのまま採用する。この下位4ビットは上位4ビットに比べて重みが小さいので、仮にビット化けしていても電動モータ3の挙動に著しい影響を及ぼすことはない。
【0061】
第2のMPU22は前記S206の多数決の結果をモータ指令値の上位ビットとして反映させることにより図4に示すデータD「01100100」を構成する。これは、第1のMPU21により算出された正しいモータ指令値と同じ値である。即ち、第1のパラレル通信ラインLc1から送られてきたモータ指令値の最上位ビットに誤りがあるにもかかわらず、データA,Ba,Caの上位4ビットにおいてビット毎の多数決をとることによりモータ指令値の上位4ビット(本実施形態では、最上位ビット)におけるデータの誤りが訂正される。
【0062】
次に、第2のMPU22はデータD、即ち「01100100」をモータ指令値と認識し、このモータ指令値に基づいて電動モータ3を駆動制御する(S207)。第1のパラレル通信ラインLc1から送られてきたモータ指令値(図4におけるデータA)の最上位ビットに誤りがあるにもかかわらず、電動モータ3は正常なモータ指令値に基づいて駆動制御される。
【0063】
このように、重みのある上位ビット(本実施形態では、4ビット)のビット化けに起因する過剰なモータ指令や本来の指令とは逆方向の電流指令に基づいて電動モータ3が駆動制御されることが回避される。ひいては、電動モータ3の意図しない挙動が抑制される。
【0064】
(実施形態の効果)
従って、本実施形態によれば、以下の効果を得ることができる。
(1)第1のMPU21により算出されたモータ指令値を第2のMPU22へ送る第1のパラレル通信ラインLc1に加えて、同じくモータ指令値を第2のMPU22へ送る第2のパラレル通信ラインLc2及び第3のパラレル通信ラインLc3を備えた。そして、第2のMPU22は、第1のパラレル通信ラインLc1により送られてきたモータ指令値と、第2及び第3のパラレル通信ラインLc2,Lc3によりそれぞれ送られてきたモータ指令値とのビット毎の多数決をとるようにした。第2のMPU22はこの多数決の結果に基づいて決定されたモータ指令値に基づいてモータを駆動制御するようにした。このため、第1のパラレル通信ラインLc1により送られてきたモータ指令値に誤りがあっても、この誤りは第2及び第3のパラレル通信ラインLc2,Lc3によりそれぞれ送られてきたモータ指令値とビット毎に多数決をとることにより訂正される。従って、第1のパラレル通信ラインLc1により送られてきたモータ指令値に誤りがあっても、電動モータ3を停止させることなく継続して駆動制御することができる。ひいては、モータ指令値の正確性が確保され、電動モータ3の意図しない挙動を抑制することができる。
【0065】
(2)第1のパラレル通信ラインLc1にはモータ指令値の全ビット数(8ビット)分のデータラインDm0〜Dm7を備えるようにした。また、第2及び第3のパラレル通信ラインLc2,Lc3にはそれぞれモータ指令値の予め設定された複数ビット分(4ビット分)のデータラインを備えるようにした。そして、第1のMPU21はモータ指令値の全ビットを第1のパラレル通信ラインLc1を介して第2のMPU22へ送るようにした。また、第1のMPU21はモータ指令値の予め設定された上位複数ビット(上位4ビット)を第2及び第3のパラレル通信ラインLc2,Lc3によりそれぞれ第2のMPU22へ送るようにした。このため、第1のパラレル通信ラインLc1により送られてきたモータ指令値の少なくとも上位複数ビットの正確性を確保することができる。従って、重みのある上位ビットのビット化けに起因する過剰指令や逆回転指令に基づいて電動モータ3が駆動制御されることが回避され、電動モータ3の意図しない挙動を抑制することができる。
【0066】
(3)第1のMPU21は算出したmビット(8ビット)のモータ指令値をnビット(4ビット)だけ桁下げしたデータを第2及び第3のパラレル通信ラインLc2,Lc3によりそれぞれ第2のMPU22へ送るようにした。また、第2のMPU22は第2及び第3のパラレル通信ラインLc2,Lc3により送られてきたデータをそれぞれnビットだけ桁上げするようにした。そして、第2のMPU22は第1のパラレル通信ラインLc1により送られてきたモータ指令値と前記桁上げされた各データとの上位(m−n)ビット、即ち4ビットにおいてビット毎の多数決をとり、この結果に基づいてモータ指令値のうち上位4ビットの値を決定するようにした。このため、第1のパラレル通信ラインLc1により送られてきたモータ指令値の少なくとも上位4ビットの誤りを訂正することができる。
【0067】
(4)第2及び第3のパラレル通信ラインLc2,Lc3のデータライン数を第1のパラレル通信ラインLc1のデータライン数よりも少なくなるようにした。このため、第2及び第3のパラレル通信ラインLc2,Lc3のデータライン数をそれぞれ第1のパラレル通信ラインLc1のデータライン数と同じ数だけ設けるようにした場合に比べて、制御装置2の製品コストを低減させることができる。また、第1のポート41,44、第2のポート42,45及び第3のポート43,46のポート(ビット位置)をそれぞれ節約することができる。
【0068】
(5)第1のMPU21と第2のMPU22との間の通信ラインの数は奇数(本実施形態では3つ)となるようにした。このため、第1〜第3のパラレル通信ラインLc1〜Lc3によりそれぞれ送られてきたモータ指令値においてビット毎に多数決をとったとき、必ず「1」又は「0」となる。従って、第2のMPU22では必ず多数決の結果が得られる。ちなみに、通信ラインの数が偶数(例えば4ライン)の場合、あるビットにおいて「1」が2つ、「0」が2つのように認識されたときには多数決がとれない。
【0069】
(6)モータ指令値としてモータ電流指令値(具体的には、基本アシスト電流値)が使用されている。このため、モータを同じく電流制御するシステムに制御装置2を応用することができる。
【0070】
(第2実施形態;VGRS)
次に、本発明をギヤ比可変ステアリングシステム(VGRS)に具体化した第2実施形態を説明する。本実施形態は制御対象が電動パワーステアリング装置の電動モータではなくギヤ比可変ステアリングシステムの電動モータである点で前記第1実施形態と異なる。従って、前記第1実施形態と同様の部材構成は同一の符号を付し、その重複した説明を省略する。
【0071】
図5に示すように、ギヤ比可変ステアリングシステム51のステアリングホイール(以下、ハンドル52」という。)には第1ステアリングシャフト53の一端が接続されており、この第1ステアリングシャフト53の他端にはギヤ比可変ユニット54の入力側に接続されている。ギヤ比可変ユニット54の出力側には第2ステアリングシャフト55の一端が接続されており、この第2ステアリングシャフト55の他端はステアリングギヤボックス56の入力側に接続されている。ステアリングギヤボックス56はピニオンギヤ(図示略)を備えており、このピニオンギヤはラック軸57に噛み合っている。第2ステアリングシャフト55に入力された回転運動はピニオンギヤを介してラック軸57に伝達され、当該ラック軸57の軸方向運動に変換される。
【0072】
ギヤ比可変ユニット54は第1ステアリングシャフト53と第2ステアリングシャフト55とを作動連結する減速機58及びこの減速機58を駆動する電動モータ59等を備えている。この電動モータ59の駆動により第1ステアリングシャフト53と第2ステアリングシャフト55との間の伝達比(ステアリングギヤ比)が減速機58を介して変化する。ちなみに、ステアリングギヤ比とは、本実施形態におけるラック&ピニオン方式の電動パワーステアリング装置1の場合、ハンドル7の全回転角度(ロックからロックまで)と車輪(転舵輪)の切れ角との比をいう。
【0073】
図6に示すように、ギヤ比可変ステアリングシステム51は、第1ステアリングシャフト53の回転角(即ち、操舵角θh)を検出する操舵角センサ61及び第2ステアリングシャフト55の回転角(即ち、出力角θp)を検出する出力角センサ62を備えている。また、ギヤ比可変ステアリングシステム51は、車速Vを検出する車速センサ63及び電動モータ59の回転角(電気角)を検出する回転角センサ64を備えている。
【0074】
操舵角センサ61により検出された操舵角θh、出力角センサ62により検出された出力角θp、車速センサ63により検出された車速V及び回転角センサ64により検出された電動モータ59の回転角θmはそれぞれギヤ比可変ステアリングシステム51の制御装置65へ送られる。制御装置65は操舵角θh、出力角θp、車速V及び回転角θmに基づいて電動モータ59を駆動制御する。
【0075】
即ち、制御装置65の第1のMPU21は、操舵角θh及び車速Vに基づいて、第1のROM23(図1参照)に予め格納されたモータ回転角特性マップ(図示略)を参照してギヤ比可変ユニット54における電動モータ59のモータ回転角指令値(モータ角度指令値)を演算する。モータ回転角特性マップは、車速Vの増加に対するモータ回転角指令値の変化を示したものであり、モータ回転角指令値は車速Vに応じて一義的に決まる。
【0076】
第1のMPU21は算出したモータ回転角指令値の全ビット(8ビット)を第1のパラレル通信ラインLc1により第2のMPU22へ送る。また、第1のMPU21は第2及び第3のパラレル通信ラインLc2,Lc3によりモータ回転角指令値の上位4ビットをそれぞれ第2のMPU22へ送る(図3(a)のフローチャート参照)。
【0077】
第2のMPU22は第1のパラレル通信ラインLc1により送られてきたモータ回転角指令値、第2のパラレル通信ラインLc2により送られてきたモータ回転角指令値及び第3のパラレル通信ラインLc3により送られてきたモータ回転角指令値の上位4ビットに対してビット毎の多数決をとる。そして、第2のMPU22は数の多い方の値を正と判断して採用し、最終的なモータ指令値を決定する。このモータ指令値に基づいて第2のMPU22は電動モータ59を駆動制御する(図3(b)のフローチャート参照)。
【0078】
このとき、回転角センサ64により検出された電動モータ59の回転角θmは第2のMPU22へ帰還される。そして、第2のMPU22は、第1のMPU21により算出されたモータ回転角指令値と実際の電動モータ59の回転角θmとが一致するようにモータ電流をフィードバック制御する。
【0079】
車速Vに応じた伝達比(ステアリングギヤ比)が設定されることにより、ハンドル7の取り回し性能が向上する。例えば停車時や低速走行時にはハンドル7の操舵角θhに対してギヤ比可変ユニット54の出力角θpが大きくなるようにステアリングギヤ比が設定される。この結果、より少ないハンドル操作で旋回することができる。また、高速走行時にはハンドル7の操舵角θhに対してギヤ比可変ユニット54の出力角θpが小さくなるようにステアリングギヤ比が設定される。この結果、穏やかで安定感のある車両応答が実現される。
【0080】
従って、本実施形態によれば、モータ指令値としてモータ角度指令値(具体的には、モータ回転角指令値)を使用するようにしたシステムにおいて、前記第1実施形態の(1)〜(5)番目と同様の効果を得ることができる。また、モータを角度制御(位置制御)する他のシステムに制御装置65を応用することもできる。
【0081】
(第3実施形態;NC工作機械)
次に、本発明をNC工作機械に具体化した第3実施形態を説明する。本実施形態は制御対象が電動パワーステアリング装置の電動モータではなくNC工作機械のテーブル送り用の電動モータである点で前記第1実施形態と異なる。従って、前記第1実施形態と同様の部材構成は同一の符号を付し、その重複した説明を省略する。
【0082】
図7に示すように、NC工作機械71の固定テーブル72にはボールねじ73が軸受け(図示略)を介して回転可能に支持されており、このボールねじ73の外端部は送り用電動モータ74の出力軸にカップリング(図示略)を介して連結されている。また、ボールねじ73にはナット75が螺合されている。このナット75はボールねじ73の正逆回転に伴って螺進及び螺退可能とされている。ナット75の上面には移動テーブル76を介して主軸台77が一体移動可能に設けられている。主軸台77には主軸用モータ78が固定されており、主軸用モータ78の出力軸には主軸79が作動連結されている。主軸79の先端にはタップ等の工具80が取り付けられている。
【0083】
従って、送り用電動モータ74が駆動されると、ボールねじ73の回転によりナット75が当該ボールねじ73の軸線に沿って往復移動し、これに伴って移動テーブル76もボールねじ73に沿う方向(図7に示す矢印方向)へ往復移動する。主軸用モータ78が駆動されると、主軸79と共に工具80が正逆回転する。
【0084】
NC工作機械71は送り用電動モータ74の回転角θmsを検出する送り用モータ回転角センサ81、及び主軸用モータ78の回転角θmpを検出する主軸用モータ回転角センサ82を備えている。送り用モータ回転角センサ81及び主軸用モータ回転角センサ82により検出された回転角θms及び回転角θmpはそれぞれNC工作機械71の制御装置91へ送られる。
【0085】
図8に示すように、制御装置91は第1のMPU21、第2のMPU22、送り用モータ駆動装置92、主軸用モータ駆動装置93及びPLO(プログラム可能論理制御装置)94を備えている。このPLO94は第1のMPU21に接続されている。また、PLO94には入出力装置(操作盤)95が接続されている。PLO94はシーケンサ機能を備えており、第1のMPU21が実行すべきNCプログラムを判断及び選択して所定のプログラム指令により、第1のMPU21にそのNCプログラムを実行させる。
【0086】
即ち、第1のMPU21は、所定の制御周期毎にPLO94からの所定のプログラム指令に基づいて送り用電動モータ74に対するモータ指令値(モータ角度指令値;移動テーブル76の送り量)及び主軸用モータ78に対するモータ指令値(モータ角速度指令値;主軸79の回転角速度)をそれぞれ演算する。
【0087】
第1のMPU21は算出したモータ角度指令値及びモータ角速度指令値の全ビット(8ビット)をそれぞれ第1のパラレル通信ラインLc1を介して第2のMPU22へ送る。また、第1のMPU21は第2及び第3のパラレル通信ラインLc2,Lc3を介してモータ角度指令値及びモータ角速度指令値の上位4ビットをそれぞれ第2のMPU22へ送る(図3(a)のフローチャート参照)。
【0088】
第2のMPU22は第1〜第3のパラレル通信ラインLc1〜Lc3により送られてきたモータ角度指令値及びモータ角速度指令値の上位4ビットに対してビット毎の多数決をとる。そして、第2のMPU22は数の多い方の値を正と判断して採用し、最終的なモータ指令値(モータ角度指令値及びモータ角速度指令値)を決定する。このモータ指令値に基づいて第2のMPU22は電動モータ59を駆動制御する(図3(b)のフローチャート参照)。
【0089】
このとき、送り用モータ回転角センサ81により検出された回転角θms及び主軸用モータ回転角センサ82により検出された回転角θmpはそれぞれ第2のMPU22へ帰還される。第2のMPU22はこれら回転角θms,θmpに基づいて送り用電動モータ74及び主軸用モータ78のモータ電流をそれぞれフィードバック制御する。即ち、第2のMPU22は、モータ指令値(モータ角度指令値及びモータ角速度指令値)と実際のモータの回転角(電気角)θms,θmpとをそれぞれ一致させるように送り用電動モータ74及び主軸用モータ78をそれぞれ駆動制御する。
【0090】
従って、本実施形態によれば、モータ指令値としてモータ角度指令値及びモータ角速度指令値を使用するようにしたシステムにおいて、前記第1実施形態の(1)〜(5)番目と同様の効果を得ることができる。また、モータを速度(角速度)制御する他のシステムに制御装置91を応用することもできる。
【0091】
(別例)
尚、本実施形態は以下のような別例に変更して実施してもよい。
・第1〜第3実施形態では、第1のMPU21及び第2のMPU22をそれぞれ同一の制御装置2,65,91に備えるようにしたが、例えば第1のMPU21を制御装置2,65,91の外部に設けるようにしてもよい。このようにすれば、制御装置2,65,91の小型化が図られる。
【0092】
・第1及び第2実施形態において、第1のMPU21の機能を電動パワーステアリング装置1及びギヤ比可変ステアリングシステム51以外の他のシステムのMPUに行わせるようにしてもよい。例えば、電動パワーステアリング装置1、ギヤ比可変ステアリングシステム51及びSC(スタビリティコントロール;安定性制御)等を組み合わせて統合制御するようにした車両システムにおいて、この車両システムを統合制御する統合制御ECU(電子制御装置)によりモータ指令値を演算する。そして、この演算結果を例えばCAN(ControllerArea Network)通信(即ち,自動車内LAN)により第2のMPU22へ送る。この演算結果(モータ指令値)に基づいてモータ電流制御を行い、電動パワーステアリング装置1の電動モータ3及びギヤ比可変ステアリングシステム51の電動モータ59等の駆動制御を行う。このようにすれば、制御装置2,65の小型化が図られる。
【0093】
・第1〜第3実施形態では、第1のMPU21により演算したモータ指令値の上位4ビットを第2及び第3のパラレル通信ラインLc2,Lc3によりそれぞれ第2のMPU22へ送るようにしたが、少なくとも上位2ビットを送るようにしてもよい。即ち、図3(a)に示すフローチャートにおけるS104及びS105において、モータ指令値のシフト数nの値を少なくとも「6」とする。このようにすれば、少なくとも電流指令値の正逆及び最も重みのある数値が間違ったまま電動モータ3が駆動制御されることを回避することができる。
【0094】
・第1〜第3実施形態において、モータ指令値の全ビット数mとS104,S105(図3(a)参照)におけるモータ指令値のシフト数nとの間に、「m>n」の関係が成立する範囲で、「n」の値を任意に変更するようにしてもよい。この場合、第2のポート42,45及び第3のポート43,46のビット位置をそれぞれ(m−n)ビット分確保すると共に、第2及び第3のパラレル通信ラインLc2,Lc3にはそれぞれ(m−n)本のデータラインを備える。第1〜第3実施形態においては、第2及び第3のパラレル通信ラインLc2,Lc3においてもモータ指令値の全ビットを送るようにすることが望ましい。モータ指令値の全ビットを送る場合にはn=0となる。例えばモータ指令値のシフト数nを0〜3のいずれかとした場合、モータ指令値の正確性をより工場させることができる。
【0095】
・第1〜第3実施形態において、第1〜第3のパラレル通信ラインLc1〜Lc3で送るデータ毎にパリティチェックを行うようにしてもよい。即ち、第1のMPU21は、モータ指令値(8ビット)の中に含まれる1( 又は0) の個数の偶奇( パリティビット) を添付してデータを転送する。第2のMPU22は添付されたパリティビットと、データ中に含まれる1( 又は0) の個数を比較して、偶奇が合わなければデータに誤りがあると判断する。このようにすれば、第1〜第3のパラレル通信ラインLc1〜Lc3によりそれぞれ送られてきたデータ(図4におけるデータA,B,C)の全てにおいてビット化けが発生した場合においてもデータの誤りを検出することができる。
【0096】
・第1〜第3実施形態において、第1〜第3のパラレル通信ラインLc1〜Lc3で送るデータ毎にチェックサム(検査合計)を行うようにしてもよい。即ち、第1のMPU21はモータ指令値(8ビット)の合計の値(チェックサム)を計算し、これを添付してデータを送る。第2のMPU22は送られてきたデータ列から同様にチェックサムを計算して、第1のMPU21から送られてきたチェックサムと一致するかどうかを検査する。両者が異なれば、第2のMPU22は通信系路上でデータに誤りが生じていると判断する。このようにすれば、第1〜第3のパラレル通信ラインLc1〜Lc3によりそれぞれ送られてきたデータ(図4におけるデータA,B,C)の全てにおいてビット化けが発生した場合においてもデータの誤りを検出することができる。
【0097】
・本実施形態では第1のMPU21及び第2のMPU22をそれぞれ8ビットシステムとしたが、例えば16ビットシステムなど任意のビット数のシステムとしてもよい。
【0098】
(付記)
次に前記実施形態及び別例から把握できる技術的思想を以下に追記する。
(イ)前記副パラレル通信ラインは奇数とした請求項1〜請求項3のうちいずれか一項に記載のモータ制御装置。
【0099】
(ロ)車両の操舵系にトルク伝達可能に設けられて操舵補助トルクを発生するモータと、前記モータを駆動するモータ駆動手段と、前記モータ駆動手段を通電制御することにより前記モータを駆動制御するモータ制御装置とを備えた電動パワーステアリング装置において、請求項1〜請求項3のうちいずれか一項に記載のモータ制御装置を備えた電動パワーステアリング装置。
【0100】
(ハ)ステアリングホイールの操舵角と転舵輪の転舵角との間の伝達比を変化させるギヤ比可変ユニットを備えたギヤ比可変ステアリングシステムであって、前記ステアリングホイールの操舵角を検出する操舵角センサと、車速を検出する車速センサと、前記ギヤ比可変ユニットを駆動する電動モータと、車速センサにより検出された車速に基づいて前記伝達比を設定すると共に操舵角センサにより検出された操舵角に基づいて前記電動モータを駆動制御する制御手段とを備えたギヤ比可変ステアリングシステムにおいて、請求項1〜請求項4のうちいずれか一項に記載のモータ制御装置を備えたギヤ比可変ステアリングシステム。
【0101】
(ニ)第1のMPUにより演算されたデータを主パラレル通信ラインにより第2のMPUへ送るデータ伝送方法において、第1のMPUと第2のMPUとの間には前記主パラレル通信ラインとは別の複数の副パラレル通信ラインを設け、第2のMPUは主パラレル通信ラインにより送られてきたモータ指令値と各副パラレル通信ラインによりそれぞれ送られてきたモータ指令値とのビット毎の多数決をとり、これにより前記主パラレル通信ラインにより送られてきたデータの誤りを訂正するようにしたデータ伝送方法。
【0102】
(ホ)第1のMPUは算出したデータの予め設定された複数ビットを各副パラレル通信ラインによりそれぞれ第2のMPUへ送るようにし、第2のMPUは、主パラレル通信ラインにより送られてきたデータと各副パラレル通信ラインにより送られてきた上位複数ビットとのビット毎の多数決をとるようにした前記(ニ)項に記載のデータ伝送方法。
【0103】
【発明の効果】
本発明によれば、モータ指令値の誤りが訂正されることにより、モータの意図しない挙動を抑制することができる。
【図面の簡単な説明】
【図1】 第1実施形態における電動パワーステアリング装置の概略構成図。
【図2】 第1実施形態におけるモータ制御装置の回路図。
【図3】 (a)は第1実施形態における第1のMPUのデータ送信時の処理を示すフローチャート、
(b)は第1実施形態における第2のMPUのデータ受信時の処理を示すフローチャート。
【図4】 第1実施形態における第2のMPUの第1のポート及び第2のポートにそれぞれラッチされたデータの構成を示すデータ構成図。
【図5】 第2実施形態におけるギヤ比可変ステアリングシステムの概略構成図。
【図6】 第2実施形態におけるモータ制御装置の回路図。
【図7】 第3実施形態におけるNC工作機械の概略構成図。
【図8】 第3実施形態におけるモータ制御装置の回路図。
【図9】 従来のモータ制御装置の回路図。
【図10】(a)は従来の第1のMPUのデータ送信時における処理を示すフローチャート、
(b)は従来の第2のMPUのデータ受信時における処理を示すフローチャート。
【図11】データのビット化けの発生状況を示すタイミングチャート。
【符号の説明】
3,59,74,78…電動モータ、
2,65,91…モータ制御装置を構成する制御装置、
21…第1のMPU、
22…第2のMPU、
A,B,Ba,C,Ca,D…データ、
Dm0〜Dm7…第1のパラレル通信ラインのデータライン、
Ds0〜Ds3…第2及び第3のパラレル通信ラインのデータライン、
Lc1…主パラレル通信ラインを構成する第1のパラレル通信ライン、
Lc2…副パラレル通信ラインを構成する第2のパラレル通信ライン、
Lc2…副パラレル通信ラインを構成する第3のパラレル通信ライン 、
m…モータ指令値のビット数、
n…シフト数。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a distributed motor control device.
[0002]
[Prior art]
Conventionally, the following distributed motor control devices are known. That is, as shown in FIG. 9, 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 a second MPU 103 that drives the motor 102 based on the motor command value calculated by the first MPU 101. The port 101 a of the first MPU 101 and the port 103 a 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.
[0003]
Next, the operation of the conventional motor control apparatus configured as described above will be described with reference to the flowcharts shown in FIGS.
As shown in FIG. 10A, 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 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.
[0004]
On the other hand, in the second MPU 103, the following processing is performed. That is, as shown in FIG. 10B, the second MPU 103 first latches (holds) the motor command value sent from the first MPU 101 at the port 103a, that is, receives it (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.
[0005]
[Problems to be solved by the invention]
However, the conventional motor control device 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 104, the data is latched at the port 103a of the second MPU 103 when noise occurs. The second MPU 103 misrecognizes “0” as “1” or “1” as “0”. As a result of this bit error (so-called bit corruption), the second MPU 103 cannot receive a correct motor command value.
[0006]
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.
[0007]
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.
[0008]
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”.
[0009]
As shown in FIG. 11, 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.
[0010]
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.
[0011]
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 suppressing unintended behavior of the motor.
[0012]
[Means for Solving the Problems]
The invention described in claim 1 includes a first MPU that calculates a motor command value, a second MPU that controls driving of the motor based on the motor command value calculated by the first MPU, and a first MPU. In the motor control device having a main parallel communication line connecting between the first MPU and the second MPU, a plurality of sub-lines different from the main parallel communication line are provided between the first MPU and the second MPU. A parallel communication line is provided, and the second MPU takes a majority decision for each bit between the motor command value sent by the main parallel communication line and the motor command value sent by each sub-parallel communication line. The gist is that the motor is driven and controlled based on the motor command value determined based on the above.
[0013]
According to a second aspect of the present invention, in the motor control device according to the first aspect, the main parallel communication line includes data lines for all bits of the motor command value, and each sub-parallel communication line is preset with the motor command value. The first MPU sends all the bits of the calculated motor command value to the second MPU through the main parallel communication line, and also sets the higher order multiple bits of the motor command value in advance. Is sent to the second MPU through each sub-parallel communication line.
[0014]
According to a third aspect of the present invention, in the motor control device according to the first or second aspect, the first MPU carries out the sub-parallel communication of the data obtained by carrying the calculated m-bit motor command value by n bits. The second MPU carries the data sent by each sub-parallel communication line by n bits, and sends the motor command value sent by the main parallel communication line to the second MPU. The majority (m−n) bits of the carry data are taken for each bit, and based on the result, the value of the upper (mn) bits of the motor command value is determined. Is the gist.
[0015]
According to a fourth aspect of the present invention, in the motor control device according to any one of the first to third aspects, the motor command value includes a motor current command value, a motor angular velocity command value, and a motor angle command value. The summary is at least one of the above.
[0016]
(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 main parallel communication line and the plurality of sub parallel communication lines. The second MPU takes a majority vote between the motor command value sent by the main parallel communication line and the motor command value sent by each sub parallel communication line for each bit, and the motor determined based on the result The motor is driven and controlled based on the command value. For this reason, the accuracy of the motor command value (data) is ensured.
[0017]
According to a second aspect of the present invention, in the motor control device according to the first aspect, all bits of the motor command value are sent to the second MPU through the main parallel communication line. Each of the sub-parallel communication lines sends the higher order multiple bits set in advance of the motor command value to the second MPU. The second MPU takes for each bit a majority decision between the motor command value sent by the main parallel communication line and the preset upper multiple bits of the motor command value sent by each sub parallel communication line. The motor is driven and controlled based on the motor command value determined based on the result. Therefore, the accuracy of at least the upper multiple bits of the motor command value (data) is ensured.
[0018]
According to the invention described in claim 3, in addition to the operation of the invention described in claim 1 or 2, the first MPU obtains data obtained by reducing the calculated m-bit motor command value by n bits. Each sub-parallel communication line is sent to the second MPU. The second MPU carries the data sent by each sub-parallel communication line by n bits. The second MPU takes a majority for each bit in the upper (mn) bits of the motor command value sent through the main parallel communication line and the carry-up data, and the motor command value is based on the result. The value of the upper (mn) bits is determined. For this reason, the accuracy of at least the upper (mn) bits of the motor command value (data) is ensured.
[0019]
According to the invention described in claim 4, in addition to the operation of the invention described in claim 1 or 2, the second MPU is a motor sent by the main parallel communication line and each sub communication line, respectively. The motor is driven and controlled based on at least one of the current command value, the motor angular velocity command value, and the motor angle command value.
[0020]
DETAILED DESCRIPTION OF THE INVENTION
(First embodiment: EPS)
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.
[0021]
(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.
[0022]
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.
[0023]
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.
[0024]
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.
[0025]
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.
[0026]
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.
[0027]
(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.
[0028]
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.
[0029]
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.
[0030]
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, the vehicle speed sensor 19, and the motor rotation angle sensor 5.
[0031]
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.
[0032]
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.
[0033]
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.
[0034]
(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.
[0035]
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.
[0036]
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.
[0037]
(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 first parallel communication line Lc1, a second parallel communication line Lc2, and a third parallel communication line Lc3, respectively. The first parallel communication line Lc1 is a main communication line, and the second parallel communication line Lc2 and the third parallel communication line Lc3 are sub (sub) communication lines, respectively.
[0038]
The first parallel communication line Lc1 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, the motor command value has a bit length of 8 bits, and the first parallel communication line Lc1 includes eight data lines Dm0 to Dm7. Each of the second parallel communication line Lc2 and the third parallel communication line Lc3 includes four data lines Ds0 to Ds3.
[0039]
The first MPU 21 includes a first port 41, a second port 42, and a third port 43. The second MPU 22 includes a first port 44, a second port 45, and a third port 46. Both the first ports 41 and 44 are 8-bit long parallel ports at bit positions b0 to b7, respectively. Both the second ports 42 and 45 and the third ports 43 and 46 are respectively at bit positions b0 to b3. This is a 4-bit parallel port.
[0040]
Between the first port 41 of the first MPU 21 and the first port 44 of the second MPU 22, more specifically, between the bit positions b0 to b7 of the first ports 41 and 44, respectively, the data lines Dm0 to Dm0. Connected by Dm7. Between the second port 42 of the first MPU 21 and the second port 45 of the second MPU 22, specifically, between the bit positions b0 to b3 of both the second ports 42 and 45, respectively, the data lines Ds0 to Ds0. Connected by Ds3. Between the third port 43 of the first MPU 21 and the third port 46 of the second MPU 22, specifically, between the bit positions b0 to b3 of the third ports 43 and 46, respectively, the data lines Ds0 to Ds0. Connected by Ds3.
[0041]
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. Then, the first MPU 21 sends the calculation result (that is, the motor command value) to the second MPU 22 via the first parallel communication line Lc1, the second parallel communication line Lc2, and the third parallel communication line Lc3. Send to.
[0042]
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.
[0043]
The second MPU 22 performs a PWM calculation according to the PI control value, and the result of the PWM calculation (motor control signal) is supplied 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.
[0044]
(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”.
[0045]
(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).
[0046]
Next, the first MPU 21 calculates an m-bit motor command value (assist command current value) based on the steering torque T and the vehicle speed V (S102). In the present embodiment, the motor command value is 8-bit (that is, m = 8) data. When the motor command value is “+100”, for example, this is expressed as “01100100 (B)” in a binary number with a sign. Incidentally, (B) is a symbol indicating that it is a binary number. The most significant bit is a sign bit, which indicates the sign of the motor command value, that is, “+”, “−”. When the sign bit is “0”, it indicates “+”, and when it is “1”, it indicates “−”. The second and subsequent digits from the most significant are numerical bits indicating numerical values.
[0047]
Next, the first MPU 21 sets all bits (8 bits) of the calculated motor command value in the first port 41 (S103). At this time, the bit positions b0 to b7 of the first port 41 correspond to the bit positions b0 to b7 of the first port 41 and the bit positions b0 to b7 of the first port 41, respectively, so that they correspond to each other. , 1, 0, 0, 1, 0, 0 are set.
[0048]
Next, the first MPU 21 sets a motor command value shifted to the right by n bits (digit reduction) (so-called motor command value with a digit loss) in the second port 42 of the first MPU 21 (S104).
[0049]
Here, n and m are both integers, and the relationship of shift number n <number of bits of motor command value m ”is established. In this embodiment, n = 4. That is, in the 8-bit motor command value, the upper 4 bits are each lowered by 4 digits. Specifically, the first MPU 21 sets the upper 4 digits “0110” in the motor command value “01100100 (B)” in the bit positions b0 to b3 of the second port 42, respectively.
[0050]
Next, the first MPU 21 sets the motor command value shifted to the right by n bits in the third port 43 of the first MPU 21 as in S104 (S105).
[0051]
The data structures of the motor command values set in the second port 42 and the third port 43 in the first MPU 21 are as shown in data B and data C shown in FIG. Then, the first MPU 21 transfers the data set in the first port 41, the second port 42, and the third port 43, respectively, to the first parallel communication line Lc1, the second parallel communication line Lc2, and the third port. Each is sent to the second MPU 22 by the parallel communication line Lc3.
[0052]
By the way, in binary numbers, every time one digit goes up, 2 n The data weight increases by n (n is the number of digits). That is, the higher bit affects the behavior of the electric motor 3. In the present embodiment, the upper 4 bits having a larger weight are preferentially sent to the second MPU 22. Thereafter, the first MPU 21 repeats the processing of S101 to S104 every predetermined control cycle.
[0053]
(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 the motor command value sent from the first MPU 21 through the first parallel communication line Lc1 into the first port 44, that is, receives it. (S201). If noise is superimposed on data during communication and, for example, bit corruption occurs in the most significant bit (see FIG. 11), data A shown in FIG. That is, 1, 1, 1, 0, 0, 1, 0, 0 are held in the bit positions b0 to b7 of the first port 44, respectively. Incidentally, when there is no bit corruption, 0, 1, 1, 0, 0, 1, 0, 0 are held in the bit positions b0 to b7 of the first port 44, respectively.
[0054]
Next, the second MPU 22 uses the second port 45 for the motor command value (the motor command value with the digit dropped; the data shifted to the right by 4 bits) sent from the first MPU 21 through the second parallel communication line Lc2. (S202). When there is no garbled bit, the data B shown in FIG. Specifically, 0, 1, 1, 0 are held in the bit positions b0 to b3 of the second port 45, respectively.
[0055]
Next, the second MPU 22 latches, that is, receives, the motor command value sent from the first MPU 21 via the third parallel communication line Lc3 to the third port 46 (S203). When there is no bit corruption, the second port 45 holds the data C shown in FIG. Specifically, 0, 1, 1, 0 are held in the bit positions b0 to b3 of the third port 46, respectively.
[0056]
Next, the second MPU 22 has the same number of bits as the number of bits shifted to the right in S104 in the first MPU 21 by the motor command value (data B shown in FIG. 4) held in the second port 45. Shift left by 4 bits. (S204). That is, as shown in FIG. 4, the second MPU 22 raises each bit of the data “0110” held in the bit positions b3 to b0 of the second port 45 by 4 digits to obtain data Ba. The second MPU 22 recognizes the bit at the bit position having no numerical value (in this case, b0 to b3) as 0, and recognizes the motor command value sent through the second parallel communication line Lc2 as “01100000”.
[0057]
Further, the second MPU 22 has the same number of bits as the number of bits obtained by shifting the motor command value (data C shown in FIG. 4) held in the third port 46 to the right in S105 in the first MPU 21. Shift left by 4 bits. (S205). That is, as shown in FIG. 4, the second MPU 22 raises each bit of the data “0110” held in the bit positions b3 to b0 of the third port 46 by 4 digits to obtain data Ca. The second MPU 22 recognizes the bit at the bit position having no numerical value (in this case, b0 to b3) as 0, and recognizes the motor command value sent through the third parallel communication line Lc3 as “01100000”.
[0058]
Next, the second MPU 22 finally uses the motor command value to be adopted based on the data respectively sent by the first parallel communication line Lc1, the second parallel communication line Lc2, and the third parallel communication line Lc3. (S206). In the present embodiment, the majority (bit or bit) is taken for the upper (mn) bits of data A, Ba, and Ca, that is, the upper 4 bits, and the larger data (1 or 0) is adopted.
[0059]
For example, as shown in FIG. 4, in the data A, Ba, and Ca, the data held in the respective bit positions b7 are “1”, “0”, and “0”. That is, since there is one “1” and two “0” at the bit position b7, the second MPU 22 determines that “0” is positive and adopts it. Similarly, for the data at bit positions b7, b6, and b5, the second MPU 22 adopts “1”, “1”, and “0” as positive.
[0060]
For the remaining lower 4 bits, that is, data at bit positions b3, b2, b1, and b0, the second MPU 22 adopts the value of the data A sent through the first parallel communication line Lc1 as it is. Since the lower 4 bits have a smaller weight than the upper 4 bits, even if the bits are garbled, the behavior of the electric motor 3 is not significantly affected.
[0061]
The second MPU 22 configures the data D “01100100” shown in FIG. 4 by reflecting the result of the majority decision in S206 as the upper bits of the motor command value. This is the same value as the correct motor command value calculated by the first MPU 21. That is, even if the most significant bit of the motor command value sent from the first parallel communication line Lc1 is incorrect, the motor is obtained by taking the majority for each bit in the upper 4 bits of the data A, Ba, and Ca. Data errors in the upper 4 bits (the most significant bit in this embodiment) of the command value are corrected.
[0062]
Next, the second MPU 22 recognizes the data D, that is, “01100100” as a motor command value, and drives and controls the electric motor 3 based on the motor command value (S207). Although the most significant bit of the motor command value (data A in FIG. 4) sent from the first parallel communication line Lc1 has an error, the electric motor 3 is driven and controlled based on the normal motor command value. The
[0063]
As described above, the electric motor 3 is driven and controlled based on the excessive motor command or the current command in the direction opposite to the original command due to the garbled bits of the higher-order bits (4 bits in this embodiment). It is avoided. As a result, the unintended behavior of the electric motor 3 is suppressed.
[0064]
(Effect of embodiment)
Therefore, according to the present embodiment, the following effects can be obtained.
(1) In addition to the first parallel communication line Lc1 that sends the motor command value calculated by the first MPU 21 to the second MPU 22, the second parallel communication line Lc2 that also sends the motor command value to the second MPU 22 And a third parallel communication line Lc3. Then, the second MPU 22 bit by bit between the motor command value sent via the first parallel communication line Lc1 and the motor command value sent via the second and third parallel communication lines Lc2 and Lc3. The majority vote was taken. The second MPU 22 controls the drive of the motor based on the motor command value determined based on the majority result. For this reason, even if there is an error in the motor command value sent through the first parallel communication line Lc1, this error is different from the motor command value sent through the second and third parallel communication lines Lc2 and Lc3. It is corrected by taking a majority vote for each bit. Therefore, even if there is an error in the motor command value sent through the first parallel communication line Lc1, the drive control can be continued without stopping the electric motor 3. As a result, the accuracy of the motor command value is ensured, and the unintended behavior of the electric motor 3 can be suppressed.
[0065]
(2) The first parallel communication line Lc1 includes data lines Dm0 to Dm7 corresponding to the total number of bits (8 bits) of the motor command value. The second and third parallel communication lines Lc2 and Lc3 are each provided with a data line for a plurality of bits (4 bits) set in advance for the motor command value. The first MPU 21 sends all the bits of the motor command value to the second MPU 22 via the first parallel communication line Lc1. Further, the first MPU 21 is configured to send the upper multiple bits (upper 4 bits) set in advance of the motor command value to the second MPU 22 through the second and third parallel communication lines Lc2 and Lc3, respectively. For this reason, it is possible to ensure the accuracy of at least the higher-order multiple bits of the motor command value sent through the first parallel communication line Lc1. Therefore, it is possible to avoid the drive control of the electric motor 3 based on the excessive command or the reverse rotation command caused by the garbled bits of the higher-order bits, and the unintended behavior of the electric motor 3 can be suppressed.
[0066]
(3) The first MPU 21 uses the second and third parallel communication lines Lc2 and Lc3 to generate data obtained by reducing the calculated m-bit (8-bit) motor command value by n bits (4 bits). I sent it to MPU22. Further, the second MPU 22 carries the data sent through the second and third parallel communication lines Lc2 and Lc3 by n bits. Then, the second MPU 22 takes the majority for each bit in the upper (mn) bits, that is, 4 bits, of the motor command value sent by the first parallel communication line Lc1 and the carried data. Based on this result, the upper 4 bits of the motor command value are determined. For this reason, it is possible to correct an error of at least the upper 4 bits of the motor command value sent through the first parallel communication line Lc1.
[0067]
(4) The number of data lines of the second and third parallel communication lines Lc2 and Lc3 is made smaller than the number of data lines of the first parallel communication line Lc1. For this reason, the product of the control device 2 is compared with the case where the number of data lines of the second and third parallel communication lines Lc2 and Lc3 is the same as the number of data lines of the first parallel communication line Lc1. Cost can be reduced. Further, the ports (bit positions) of the first ports 41 and 44, the second ports 42 and 45, and the third ports 43 and 46 can be saved.
[0068]
(5) The number of communication lines between the first MPU 21 and the second MPU 22 is an odd number (three in this embodiment). For this reason, when a majority decision is taken for each bit in the motor command values sent by the first to third parallel communication lines Lc1 to Lc3, it always becomes “1” or “0”. Therefore, the second MPU 22 always obtains a majority result. Incidentally, when the number of communication lines is an even number (for example, 4 lines), a majority decision cannot be made when two “1” s and two “0” s are recognized in a certain bit.
[0069]
(6) 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.
[0070]
(Second embodiment; VGRS)
Next, a second 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.
[0071]
As shown in FIG. 5, one end of a first steering shaft 53 is connected to a steering wheel (hereinafter referred to as a handle 52) of the gear ratio variable 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.
[0072]
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.
[0073]
As shown in FIG. 6, 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.
[0074]
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.
[0075]
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.
[0076]
The first MPU 21 sends all bits (8 bits) of the calculated motor rotation angle command value to the second MPU 22 through the first parallel communication line Lc1. Further, the first MPU 21 sends the upper 4 bits of the motor rotation angle command value to the second MPU 22 through the second and third parallel communication lines Lc2 and Lc3 (see the flowchart of FIG. 3A).
[0077]
The second MPU 22 sends the motor rotation angle command value sent via the first parallel communication line Lc1, the motor rotation angle command value sent via the second parallel communication line Lc2, and the third parallel communication line Lc3. The majority of each bit is taken for the upper 4 bits of the motor rotation angle command value. Then, the second MPU 22 determines that the larger value is positive and adopts it, and determines the final motor command value. Based on this motor command value, the second MPU 22 drives and controls the electric motor 59 (see the flowchart in FIG. 3B).
[0078]
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.
[0079]
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. In addition, 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.
[0080]
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) to (5) of the first embodiment. The same effect as the) th can be obtained. Further, the control device 65 can be applied to other systems for controlling the angle of the motor (position control).
[0081]
(Third embodiment: NC machine tool)
Next, a third 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.
[0082]
As shown in FIG. 7, a ball screw 73 is rotatably supported on 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.
[0083]
Therefore, when the feed electric motor 74 is driven, the nut 75 is reciprocated along the axis of the ball screw 73 by the rotation of the ball screw 73, and the moving table 76 is also moved along the ball screw 73 along with this ( 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.
[0084]
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.
[0085]
As shown in FIG. 8, 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.
[0086]
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.
[0087]
The first MPU 21 sends all bits (8 bits) of the calculated motor angle command value and motor angular velocity command value to the second MPU 22 via the first parallel communication line Lc1. Further, the first MPU 21 sends the upper 4 bits of the motor angle command value and the motor angular velocity command value to the second MPU 22 via the second and third parallel communication lines Lc2 and Lc3 (in FIG. 3A). (Refer to the flowchart).
[0088]
The second MPU 22 takes a majority for each bit with respect to the upper 4 bits of the motor angle command value and the motor angular velocity command value sent through the first to third parallel communication lines Lc1 to Lc3. Then, the second MPU 22 determines that the larger value is positive and adopts it, and determines the final motor command value (motor angle command value and motor angular velocity command value). Based on this motor command value, the second MPU 22 drives and controls the electric motor 59 (see the flowchart in FIG. 3B).
[0089]
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.
[0090]
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 (1) to (5) th of the first embodiment are obtained. Obtainable. The control device 91 can also be applied to other systems that control the speed (angular speed) of the motor.
[0091]
(Another example)
In addition, you may implement this embodiment by changing into the following another examples.
In the first to third 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.
[0092]
In the first and second embodiments, the function of the first MPU 21 may be performed by the 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 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 (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 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.
[0093]
In the first to third embodiments, the upper 4 bits of the motor command value calculated by the first MPU 21 are sent to the second MPU 22 through the second and third parallel communication lines Lc2 and Lc3, respectively. At least the upper 2 bits may be sent. That is, in S104 and S105 in the flowchart shown in FIG. 3A, the value of the motor command value shift number n is set to at least “6”. In this way, it is possible to avoid the drive control of the electric motor 3 while at least the forward / reverse current command value and the most weighted numerical value are incorrect.
[0094]
In the first to third embodiments, there is a relationship of “m> n” between the total number of bits m of the motor command value and the shift number n of the motor command value in S104 and S105 (see FIG. 3A). The value of “n” may be arbitrarily changed within the range in which In this case, (mn) bits are reserved for the second ports 42 and 45 and the third ports 43 and 46, respectively, and the second and third parallel communication lines Lc2 and Lc3 are respectively ( mn) comprises data lines. In the first to third embodiments, it is desirable to send all the bits of the motor command value also in the second and third parallel communication lines Lc2 and Lc3. When all the bits of the motor command value are sent, n = 0. For example, when the motor command value shift number n is any one of 0 to 3, the accuracy of the motor command value can be made more factory.
[0095]
In the first to third embodiments, a parity check may be performed for each data transmitted through the first to third parallel communication lines Lc1 to Lc3. That is, the first MPU 21 transfers data with 1 (or 0) number of even / odd numbers (parity bits) included in the motor command value (8 bits). The second MPU 22 compares the attached parity bit with the number of 1 (or 0) included in the data, and determines that there is an error in the data if even / odd does not match. In this way, even if bit corruption occurs in all of the data (data A, B, and C in FIG. 4) respectively sent through the first to third parallel communication lines Lc1 to Lc3, an error in data occurs. Can be detected.
[0096]
In the first to third embodiments, a checksum (check sum) may be performed for each data transmitted through the first to third parallel communication lines Lc1 to Lc3. That is, the first MPU 21 calculates the total value (check sum) of the motor command value (8 bits), and sends the data with the calculated value. The second MPU 22 similarly calculates a checksum from the transmitted data string, and checks whether it matches the checksum transmitted from the first MPU 21. If they are different, the second MPU 22 determines that an error has occurred in the data on the communication path. In this way, even if bit corruption occurs in all of the data (data A, B, and C in FIG. 4) respectively sent through the first to third parallel communication lines Lc1 to Lc3, an error in data occurs. Can be detected.
[0097]
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.
[0098]
(Appendix)
Next, a technical idea that can be grasped from the embodiment and another example will be added below.
(A) The motor control device according to any one of claims 1 to 3, wherein the sub-parallel communication line is an odd number.
[0099]
(B) A motor that is provided in a vehicle steering system so as to be able to transmit torque and generates steering assist torque, a motor drive unit that drives the motor, and energization control of the motor drive unit to control the drive of the motor. The electric power steering apparatus provided with the motor control apparatus, The electric power steering apparatus provided with the motor control apparatus as described in any one of Claims 1-3.
[0100]
(C) A gear ratio variable steering system including a variable gear ratio unit that changes a transmission ratio between the steering angle of the steering wheel and the steered wheel, and steering for detecting the steering angle of the steering wheel. An angle sensor; a vehicle speed sensor that detects a vehicle speed; an electric motor that drives the gear ratio variable unit; and a steering angle that is set by the steering angle sensor and sets the transmission ratio based on the vehicle speed detected by the vehicle speed sensor. A variable gear ratio steering system comprising a control means for controlling the drive of the electric motor on the basis of a gear ratio variable steering system comprising the motor control device according to any one of claims 1 to 4. .
[0101]
(D) In a data transmission method in which data calculated by the first MPU is sent to the second MPU through the main parallel communication line, the main parallel communication line is between the first MPU and the second MPU. A plurality of sub parallel communication lines are provided, and the second MPU determines a majority for each bit between the motor command value sent by the main parallel communication line and the motor command value sent by each sub parallel communication line. Thus, a data transmission method for correcting an error in data sent through the main parallel communication line.
[0102]
(E) The first MPU sends a plurality of preset bits of the calculated data to the second MPU via each sub-parallel communication line, and the second MPU is sent via the main parallel communication line. The data transmission method according to the above item (d), wherein a majority vote is taken for each bit of the data and the higher order multiple bits sent by each sub-parallel communication line.
[0103]
【The invention's effect】
According to the present invention, an unintended behavior of the motor can be suppressed by correcting an error in the motor command value.
[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 data configuration diagram showing a configuration of data latched in a first port and a second port of a second MPU in the first embodiment, respectively.
FIG. 5 is a schematic configuration diagram of a gear ratio variable steering system according to a second embodiment.
FIG. 6 is a circuit diagram of a motor control device according to a second embodiment.
FIG. 7 is a schematic configuration diagram of an NC machine tool 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 circuit diagram of a conventional motor control device.
FIG. 10A is a flowchart showing processing at the time of data transmission of a conventional first MPU;
(B) is a flowchart showing processing at the time of data reception of a conventional second MPU.
FIG. 11 is a timing chart illustrating a situation where data is garbled.
[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,
A, B, Ba, C, Ca, D ... data,
Dm0 to Dm7: Data line of the first parallel communication line,
Ds0 to Ds3 ... data lines of the second and third parallel communication lines,
Lc1 ... a first parallel communication line constituting a main parallel communication line,
Lc2 ... a second parallel communication line constituting a sub-parallel communication line,
Lc2 ... a third parallel communication line constituting a sub-parallel communication line,
m: Number of bits of motor command value,
n: Number of shifts.

Claims (4)

モータ指令値を演算する第1のMPUと、第1のMPUにより算出されたモータ指令値に基づいてモータを駆動制御する第2のMPUと、第1のMPUと第2のMPUとの間を接続する主パラレル通信ラインとを備えたモータ制御装置において、
第1のMPUと第2のMPUとの間には前記主パラレル通信ラインとは別の複数の副パラレル通信ラインを設け、
第2のMPUは、主パラレル通信ラインにより送られてきたモータ指令値と各副パラレル通信ラインによりそれぞれ送られてきたモータ指令値とのビット毎の多数決をとり、この結果に基づいて決定されたモータ指令値に基づいてモータを駆動制御するようにしたモータ制御装置。
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 a motor control device having a main parallel communication line to be connected,
A plurality of sub parallel communication lines different from the main parallel communication line are provided between the first MPU and the second MPU,
The second MPU takes a majority for each bit of the motor command value sent by the main parallel communication line and the motor command value sent by each sub parallel communication line, and is determined based on this result. A motor control device that drives and controls a motor based on a motor command value.
主パラレル通信ラインはモータ指令値の全ビット分のデータラインを備え、
各副パラレル通信ラインはモータ指令値の予め設定された複数ビット分のデータラインを備え、
第1のMPUは算出したモータ指令値の全ビットを主パラレル通信ラインにより第2のMPUへ送ると共に、同じくモータ指令値の予め設定された上位複数ビットを各副パラレル通信ラインによりそれぞれ第2のMPUへ送るようにした請求項1に記載のモータ制御装置。
The main parallel communication line has a data line for all bits of the motor command value,
Each sub-parallel communication line has a data line for a plurality of bits set in advance for the motor command value,
The first MPU sends all the bits of the calculated motor command value to the second MPU via the main parallel communication line, and similarly, the upper plurality of bits set in advance of the motor command value are respectively sent to the second MPU via the sub parallel communication lines. The motor control device according to claim 1, wherein the motor control device is sent to the MPU.
第1のMPUは算出したmビットのモータ指令値をnビットだけ桁下げしたデータを各副パラレル通信ラインによりそれぞれ第2のMPUへ送るようにし、
第2のMPUは各副パラレル通信ラインにより送られてきたデータをそれぞれnビットだけ桁上げし、
主パラレル通信ラインにより送られてきたモータ指令値と前記桁上げされた各データとの上位(m−n)ビットにおいてビット毎の多数決をとり、この結果に基づいてモータ指令値のうち上位(m−n)ビットの値を決定するようにした請求項1又は請求項2に記載のモータ制御装置。
The first MPU sends data obtained by reducing the calculated m-bit motor command value by n bits to the second MPU via each sub-parallel communication line,
The second MPU carries the data sent by each secondary parallel communication line by n bits,
The majority (m−n) bits of the motor command value sent by the main parallel communication line and the carry-up data are taken for each bit, and based on the result, the upper (m 3. The motor control device according to claim 1, wherein the value of the bit is determined.
前記モータ指令値は、モータ電流指令値、モータ角速度指令値及びモータ角度指令値のうち少なくとも一つである請求項1〜請求項3のうちいずれか一項に記載のモータ制御装置。The motor control device according to any one of claims 1 to 3, 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.
JP2002334228A 2002-11-18 2002-11-18 Motor control device Expired - Fee Related JP4023299B2 (en)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2004173369A JP2004173369A (en) 2004-06-17
JP4023299B2 true JP4023299B2 (en) 2007-12-19

Family

ID=32698738

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP4023299B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5783802B2 (en) 2011-05-27 2015-09-24 ミネベア株式会社 Motor drive device, integrated circuit device, motor device, and motor drive system

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6579376B2 (en) Vehicle steering system
JP5971512B2 (en) Vehicle steering system
US20150232120A1 (en) Electric power steering apparatus
US9415801B2 (en) Power steering system
JP6774622B2 (en) Motor control device
JP2004161147A (en) Control device of electric power steering
JP6756243B2 (en) Rotating electric machine control device and electric power steering device using this
JP4052099B2 (en) Motor control device
JP2021011229A (en) Steering control device
JP2013086586A (en) Electric power steering system
JP4023298B2 (en) Motor control device
JP4000896B2 (en) Motor control device
JP2015229385A (en) Electric power steering device
JP6764564B2 (en) Motor control device
JP4023300B2 (en) Motor control device
JP4023301B2 (en) Motor control device
JP4023299B2 (en) Motor control device
JP2016192882A (en) Motor control device
JP2020005388A (en) Motor control method and motor controller
JP2002240734A (en) Transmission ratio variable steering control device for vehicle
JP6852580B2 (en) Steering control device
JP4254671B2 (en) Vehicle steering system
JP6024976B2 (en) Steering angle sensor reliability determination device
JP5131423B2 (en) Electric power steering 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: 20070824

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: 20070911

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070924

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101012

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees