(57)【要約】【課題】モータが回転し続ける不具合を防止できるモータ駆動装置を提供する。【解決手段】モータ１８を駆動するための指令値Ｄ０を出力するモータコントローラ１１と、指令値Ｄ０に基づいてモータ１８を駆動するモータ駆動モジュール１２とを備えたモータ駆動装置１０において、モータ駆動モジュール１２は指令値Ｄ０が変更されたか否かを検出する指令値変更検出部１３と、指令値Ｄ０を補正する指令値補正部１４とを有し、所定期間内に指令値Ｄ０が変更されていないときに指令値補正部１４により指令値Ｄ０をモータ１８が減速する方向に補正した補正指令値Ｄ１を導出し、補正指令値Ｄ１によりモータ１８を駆動した。【選択図】図２
2010081772.tif 000002
【特許請求の範囲】
【請求項１】
モータを駆動するための指令値を出力するモータコントローラと、前記指令値に基づいてモータを駆動するモータ駆動モジュールとを備えたモータ駆動装置において、前記モータ駆動モジュールは前記指令値が変更されたか否かを検出する指令値変更検出部と、前記指令値を補正する指令値補正部とを有し、所定期間内に前記指令値が変更されていないときに前記指令値補正部により前記指令値をモータが減速する方向に補正した補正指令値を導出し、前記補正指令値によりモータを駆動することを特徴とするモータ駆動装置。
【請求項２】
前記指令値補正部によって制御周期毎に前記指令値変更検出手段の検出結果を監視し、前記指令値補正部は該検出結果が連続して前記指令値の変更がない場合に前記補正指令値をモータを停止させる値まで漸次可変することを特徴とする請求項１に記載のモータ駆動装置。
【請求項３】
前記補正指令値によりモータを駆動した次回の前記制御周期内に前記指令値が変更された場合に、前回の前記補正指令値によるモータ駆動状態から前記指令値によるモータ駆動状態に近づく方向に前記指令値を補正した前記補正指令値によりモータを駆動することを特徴とする請求項２に記載のモータ駆動装置。
【請求項４】
前記モータコントローラは前記指令値が前回出力した前記指令値と同じときに前記指令値の最小桁を可変して出力することを特徴とする請求項１〜請求項３のいずれかに記載のモータ駆動装置。
【請求項５】
請求項１〜請求項４のいずれかに記載のモータ駆動装置と、前記モータ駆動装置によって駆動されるモータとを備えたことを特徴とするモータ駆動システム。
【請求項６】
請求項５に記載のモータ駆動システムと、前記モータコントローラにスロットルの開度を伝達するメインコントローラと、前記モータにより回転する車輪とを備え、前記スロットルの開度に応じた前記指令値を前記モータコントローラにより出力して前記車輪が駆動されることを特徴とする電動車。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータを駆動するモータ駆動装置及びモータ駆動システムに関する。また本発明は、モータ駆動システムにより走行する電動車に関する。
【背景技術】
【０００２】
従来のモータを駆動するモータ駆動装置は特許文献１に開示されている。このモータ駆動装置はモータコントローラ、制御回路及び代替信号手段を備えている。モータコントローラはモータを駆動するための指令値を制御回路に出力する。指令値はモータを駆動する電流、電圧、速度等のデジタル信号から成り、シリアル通信により制御回路に送信される。制御回路はモータの回転状態を監視し、モータコントローラから受信した指令値に適合するようにモータに通電する。
【０００３】
故障や信号線の断線等によってモータコントローラと制御回路との通信が途絶えると、代替信号手段によって所定の代替信号が制御回路に送られる。制御回路は代替信号に基づいてモータに通電を行う。これにより、指令値が途絶しても途絶前の指令値が変更されないままモータが回転し続ける無制御状態を回避することができる。
【０００４】
【特許文献１】特開２００２−１７０９５号公報（第３頁−第４頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来のモータ駆動装置によると、モータコントローラが制御ソフトウェアのバグ等により制御回路に指令値を送信した状態が維持され、一定の指令値が出力され続ける場合がある。この時、モータコントローラから制御回路に指令値が送られるため代替信号に切り替えられず、モータが回転し続ける問題があった。特に、モータ駆動装置及びモータを備えたモータ駆動システムによって車輪が駆動される電動車の場合には、同じ速度で走行が継続されるため危険性が大きくなる。
【０００６】
本発明は、モータが回転し続ける不具合を防止できるモータ駆動装置及びそれを用いたモータ駆動システム、電動車を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明は、モータを駆動するための指令値を出力するモータコントローラと、前記指令値に基づいてモータを駆動するモータ駆動モジュールとを備えたモータ駆動装置において、前記モータ駆動モジュールは前記指令値が変更されたか否かを検出する指令値変更検出部と、前記指令値を補正する指令値補正部とを有し、所定期間内に前記指令値が変更されていないときに前記指令値補正部により前記指令値をモータが減速する方向に補正した補正指令値を導出し、前記補正指令値によりモータを駆動することを特徴としている。
【０００８】
この構成によると、モータコントローラからトルク等の指令値がモータ駆動モジュールに送られる。モータ駆動モジュールでは指令値変更検出部によってモータコントローラの出力を監視し、指令値が変更されたか否かを判別する。所定期間内に指令値が変更されなかった場合は、指令値補正部によって指令値をモータが減速する方向に補正した補正指令値が導出される。例えば、指令値がトルクから成る場合は指令値に対して小さい補正指令値が導出される。そして、指令値補正部から出力される補正指令値に基づいてモータが駆動される。所定期間内に指令値が変更された場合は指令値補正部から指令値の出力や、指令値に近づけた補正指令値の出力等が行われる。
【０００９】
また本発明は、上記構成のモータ駆動装置において、前記指令値補正部によって制御周期毎に前記指令値変更検出手段の検出結果を監視し、前記指令値補正部は該検出結果が連続して前記指令値の変更がない場合に前記補正指令値をモータを停止させる値まで漸次可変することを特徴としている。
【００１０】
この構成によると、所定期間内に指令値の変更がない場合にモータを減速する方向に補正した補正指令値が出力され、その後の制御周期内に指令値の変更がない場合に前回の補正指令値を更にモータを減速する方向に補正した補正指令値が出力される。指令値に変更がない期間はこの動作が繰り返し行われ、所定回数繰り返されるとモータが停止する。
【００１１】
また本発明は、上記構成のモータ駆動装置において、前記補正指令値によりモータを駆動した次回の前記制御周期内に前記指令値が変更された場合に、前回の前記補正指令値によるモータ駆動状態から前記指令値によるモータ駆動状態に近づく方向に前記指令値を補正した前記補正指令値によりモータを駆動することを特徴としている。
【００１２】
この構成によると、所定期間内に指令値の変更がない場合にモータを減速する方向に補正した補正指令値が出力される。その後の制御周期内に指令値の変更があると、前回の補正指令値のモータ駆動状態に対して入力された指令値のモータ駆動状態に近づけるように補正指令値が可変される。そして、可変した補正指令値を出力してモータが駆動される。例えば、トルクから成る指令値が変更されて前回の補正指令値よりも大きい場合は補正指令値が増加される。
【００１３】
また本発明は、上記構成のモータ駆動装置において、前記モータコントローラは前記指令値が前回出力した前記指令値と同じときに前記指令値の最小桁を可変して出力することを特徴としている。
【００１４】
この構成によると、モータコントローラから例えば、トルク等の指令値のデジタル信号が出力される。指令値は出力毎に最小桁となる最下位ビットが０と１に切り替えられ、前回と異なる指令値が出力される。また、指令値が前回と同じ場合に最小桁となる最下位ビットに例えば１が加算または減算され、前回と異なる指令値が出力される。指令値の最小桁は誤差の範囲となるためモータの動作に影響がなく、指令値変更検出部はモータコントローラから出力される指令値が前回に対して変更されたと検出する。モータコントローラは指令値が所定回数継続して同じであった場合に直前の指令値の最小桁を可変して出力してもよい。
【００１５】
また本発明のモータ駆動システムは、上記各構成のモータ駆動装置と、前記モータ駆動装置によって駆動されるモータとを備えたことを特徴としている。
【００１６】
また本発明の電動車は、上記構成のモータ駆動システムと、前記モータコントローラにスロットルの開度を伝達するメインコントローラと、前記モータにより回転する車輪とを備え、前記スロットルの開度に応じた前記指令値を前記モータコントローラにより出力して前記車輪が駆動されることを特徴としている。
【００１７】
この構成によると、メインコントローラからスロットルの開度がモータコントローラに出力され、モータコントローラはスロットルの開度に応じた指令値を出力する。モータ駆動モジュールは指令値補正部から出力される補正指令値に基づいてモータを駆動する。
【発明の効果】
【００１８】
本発明によると、指令値が途絶した場合やモータコントローラのバグ等によって一定の指令値が送信され続けた際にモータを減速することができる。従って、モータ駆動装置及びそれを備えたモータ駆動システム、電動車のモータが回転し続ける不具合を防止することができる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明の実施形態を図面を参照して説明する。図１は一実施形態の電動車の構成を示すブロック図である。電動車１は各部を制御するメインコントローラ２を有している。メインコントローラ２にはキー５、スロットル６、電装系７、バッテリコントローラ３及びモータ駆動システム２０が接続される。
【００２０】
キー５は使用者により操作され、メインコントローラ２を起動させる。スロットル６は使用者により開閉され、開度に応じて電動車１の増速や減速の指示を行う。電装系７は電動車１に設けられる各種電送装置から成る。バッテリ４は電動車１の各部に電力を供給する。バッテリコントローラ３はバッテリ４に接続され、バッテリ４の充放電を制御する。
【００２１】
モータ駆動システム２０はモータコントローラ１１及びモータ駆動モジュール１２を有したモータ駆動装置１０と、車輪（不図示）を回転させるモータ１８とを有している。メインコントローラ２、バッテリコントローラ３、モータコントローラ１１及びモータ駆動モジュール１２間は通信ライン８により接続され、ＣＡＮ等のＬＡＮによって通信可能になっている。
【００２２】
モータコントローラ１１にはメインコントローラ２からスロットル６の開度の情報が伝達され、モータ駆動モジュール１２からモータ１８の回転速度の情報が伝達される。モータコントローラ１１はスロットル６の開度及びモータ１８の回転速度に基づいてモータ１８を駆動するトルクや回転速度等の指令値Ｄ０を導出し、モータ駆動モジュール１２に送信する。
【００２３】
尚、モータコントローラ１１とメインコントローラ２とを一体に構成してもよく、モータコントローラ１１とモータ駆動モジュール１２とを一体に構成してもよい。この時、これらの間の通信ライン８が省かれ、ＬＡＮ等を介することなく各情報が受け渡しされる。
【００２４】
図２はモータ駆動モジュール１２の詳細を示すブロック図である。モータ駆動モジュール１２は指令値変更検出部１３、指令値補正部１４、タイマー１５、ベクトル制御部１６及びインバータ１７を有している。指令値変更検出部１３はモータコントローラ１１から出力される指令値Ｄ０を受信し、指令値Ｄ０に変更があったか否かを検出する。また、指令値変更検出部１３は指令値Ｄ０が途絶した場合に指令値Ｄ０に変更がないと判断する。
【００２５】
指令値補正部１４はモータコントローラ１１から指令値Ｄ０を受け取る。また、指令値補正部１４はタイマー１５の検知による所定の制御周期で指令値変更検出部１３から指令値Ｄ０に変更があったか否かの情報を受け取る。そして、指令値補正部１４は指令値Ｄ０及び指令値Ｄ０の変更有無に基づいて、指令値Ｄ０を補正した補正指令値Ｄ１を出力する。
【００２６】
ベクトル制御部１６は指令値補正部１４から補正指令値Ｄ１を受け取り、モータ１８に流れる電流が補正指令値Ｄ１の示す電流値になるようにインバータ１７の出力を制御する。インバータ１７はベクトル制御部１６によって操作され、バッテリ４からの直流電流を交流電流に変換してモータ１８に供給する。
【００２７】
図３はモータコントローラ１１の動作を示すフローチャートである。ステップ＃１１では指令値Ｄ０の最下位ビットを示すフラグＦ１を初期化して０が代入される。ステップ＃１２ではスロットル６の開度及びモータ１８の回転速度に基づいてトルクの指令値Ｄ０が算出される。ステップ＃１３ではフラグＦ１が０か否かが判断される。フラグＦ１が０の場合はステップ＃１４に移行し、フラグＦ１が１の場合はステップ＃１６に移行する。
【００２８】
ステップ＃１４ではステップ＃１２で算出した指令値Ｄ０の最下位ビットを０にする。そして、ステップ＃１５でフラグＦ１に１が代入される。ステップ＃１６ではステップ＃１２で算出した指令値Ｄ０の最下位ビットを１にする。そして、ステップ＃１７でフラグＦ１に０が代入される。
【００２９】
ステップ＃１８では指令値Ｄ０が指令値変更検出部１３及び指令値補正部１４に送信され、ステップ＃１２〜＃１８が繰り返し行われる。
【００３０】
これにより、ステップ＃１２で算出される指令値Ｄ０が同じ値であっても、最小桁となる最下位ビットが前回と異なる指令値Ｄ０が送信される。ステップ＃１２で算出される指令値Ｄ０が前回と同じ値か否かを判別し、同じ値の時に最小桁に１を加算または減算して前回と異なる指令値Ｄ０を送信してもよい。
【００３１】
図４は指令値変更検出部１３の動作を示すフローチャートである。ステップ＃２１では指令値Ｄ０を受信したか否かが判断される。指令値Ｄ０を受信していない場合は後述するステップ＃２５に移行する。指令値Ｄ０を受信した場合はステップ＃２２で前回受信した指令値Ｄ０と異なるか否かが判別される。前回受信した指令値Ｄ０と異なる場合はステップ＃２３で指令値Ｄ０の変更の有無を示すフラグＦ２に１が代入される。そして、ステップ＃２４で今回受信して変更された指令値Ｄ０がメモリに記憶される。
【００３２】
前回受信した指令値Ｄ０と同じ場合はステップ＃２５に移行する。ステップ＃２５ではフラグＦ２に０が代入される。指令値Ｄ０は変更されていないのでメモリに改めて記憶させる必要はない。ステップ＃２６ではフラグＦ２が指令値補正部１４に送信され、ステップ＃２１〜＃２６が繰り返し行われる。
【００３３】
これにより、モータコントローラ１１の制御ソフトウェアのバグ等により同じ指令値Ｄ０を送信し続ける場合や通信が途絶した場合に、指令値Ｄ０に変更がないことがフラグＦ２（＝０）によって指令値補正部１４に伝達される。
【００３４】
図５は指令値補正部１４の動作を示すフローチャートである。ステップ＃３１では制御周期の回数を示すカウンタｉが初期化されて１０が代入される。ステップ＃３２では補正指令値Ｄ１に初期値０が代入される。ステップ＃３３ではタイマー１５の検知によって制御周期が経過したか否かが判別される。
【００３５】
制御周期が経過するとステップ＃３４で指令値Ｄ０及びフラグＦ２が取得される。この時、モータコントローラ１１及び指令値変更検出部１３から前述のステップ＃１８、＃２６によってフラグＦ２及び指令値Ｄ０が同期して送信される。ステップ＃３５ではフラグＦ２が１か否かが判断される。フラグＦ２が０の場合（指令値Ｄ０に変更がない場合）はステップ＃５１に移行する。フラグＦ２が１の場合（指令値Ｄ０に変更がある場合）はステップ＃３６に移行する。
【００３６】
モータ駆動システム２０の起動時には指令値Ｄ０が変更されるためステップ＃３６に移行する。ステップ＃３６ではカウンタｉが初期化されて１０が代入される。そして、後述するステップ＃４１〜＃４６が行われる。
【００３７】
ステップ＃３５の判断で指令値Ｄ０に変更がない場合（フラグＦ２＝０）はステップ＃５１に移行してカウンタｉがデクリメントされる。ステップ＃５２ではカウンタｉが０以下になったか否かが判別される。カウンタｉが０よりも大きい場合はステップ＃４１に移行する。
【００３８】
ステップ＃５２の判断でカウンタｉが０以下になった場合はステップ＃５３で補正指令値Ｄ１が所定値δ２だけ減算される。これにより、トルクを表わす補正指令値Ｄ１が小さくなり、モータ１８が減速する方向に補正される。ステップ＃５４では補正指令値Ｄ１が減算によって０よりも小さくなったか否かが判別される。
【００３９】
補正指令値Ｄ１が０以上の場合はステップ＃６１に移行する。補正指令値Ｄ１が０よりも小さい場合はステップ＃５５で補正指令値Ｄ１に０が代入され、ステップ＃６１に移行する。ステップ＃６１では補正指令値Ｄ１がメモリに記憶される。ステップ＃６２では補正指令値Ｄ１がベクトル制御部１６に送信され、ステップ＃３３に戻る。
【００４０】
これにより、１０回の制御周期から成る所定期間内に指令値Ｄ０に変更がないと指令値Ｄ０がモータ１８が減速する方向に補正された補正指令値Ｄ１が出力される。また、指令値Ｄ０に変更がない間はカウンタｉが負となり、制御周期毎に補正指令値Ｄ１が更に所定値δ２だけ小さくなる。これにより、補正指令値Ｄ１が制御周期毎にモータ１８が停止される値になるまで漸次可変される。
【００４１】
ステップ＃５１〜＃５５によって補正指令値Ｄ１が減算される間に指令値Ｄ０に変更があるとステップ＃３５の判断によりステップ＃３６に移行する。ステップ＃３６ではカウンタｉが初期化されて１０が代入され、ステップ＃４１に移行する。
【００４２】
ステップ＃４１では前回の補正指令値Ｄ１が新たに取得した指令値Ｄ０以下か否かが判別される。前回の補正指令値Ｄ１が指令値Ｄ０以下の場合はステップ＃４２で補正指令値Ｄ１が所定値δ１だけ加算される。これにより、補正指令値Ｄ１が指令値Ｄ０に近づけられた値に可変される。
【００４３】
ステップ＃４３では所定値δ１が加算された補正指令値Ｄ１が指令値Ｄ０よりも大きくなった否かが判別される。補正指令値Ｄ１が指令値Ｄ０以下の場合はステップ＃６１に移行する。補正指令値Ｄ１が指令値Ｄ０よりも大きくなった場合はステップ＃４４で補正指令値Ｄ１に指令値Ｄ０が代入され、ステップ＃６１に移行する。
【００４４】
前回の補正指令値Ｄ１が指令値Ｄ０よりも大きい場合はステップ＃４５で補正指令値Ｄ１が所定値δ１だけ減算される。これにより、補正指令値Ｄ１が指令値Ｄ０に近づけられた値に可変される。ステップ＃４６では所定値δ１が減算された補正指令値Ｄ１が指令値Ｄ０よりも小さくなったか否かが判別される。補正指令値Ｄ１が指令値Ｄ０以上の場合はステップ＃６１に移行する。補正指令値Ｄ１が指令値Ｄ０よりも小さくなった場合はステップ＃４４で補正指令値Ｄ１に指令値Ｄ０が代入され、ステップ＃６１に移行する。
【００４５】
ステップ＃４１〜＃４６によって指令値Ｄ０に変更があると所定値δ１だけ指令値Ｄ０に近づけるように補正指令値Ｄ１が可変される。従って、モータ１８の急激なトルク変動を防止することができ、モータ駆動システム２０及び電動車１の安全性を向上することができる。また、モータ駆動システム２０の起動時には補正指令値Ｄ１が０から指令値Ｄ０に近づけるように可変される。
【００４６】
本実施形態によると、所定期間（制御周期１０回）内に指令値Ｄ０が変更されていないときに指令値補正部１４により指令値Ｄ０をモータ１８が減速する方向に補正した補正指令値Ｄ１によりモータ１８を駆動するので、モータコントローラ１１の制御ソフトのバグ等によって一定の指令値Ｄ０が送信され続けた際にモータ１８を減速することができる。また、指令値Ｄ０の通信が途絶した場合も同様にモータ１８を減速することができる。従って、モータ駆動装置及びそれを備えたモータ駆動システム、電動車のモータが回転し続ける不具合を防止することができる。
【００４７】
また、ステップ＃５１〜＃５５によって所定期間経過後に制御周期毎に指令値Ｄ０の変更を監視し、連続して指令値Ｄ０の変更がない場合に補正指令値Ｄ１をモータ１８を停止させる値まで漸次可変する。従って、指令値Ｄ０の途絶やバグによる無制御状態になった際にモータ１８を停止することができる。加えて、モータコントローラ１１から指令値Ｄ０の出力を停止してモータ１８を停止させることができる。これにより、モータ１８を停止させるための通信を行う必要がなく、通信の負荷を軽減することができる。
【００４８】
また、ステップ＃４１〜＃４６によって補正指令値Ｄ１によりモータを駆動した後の制御周期内に指令値Ｄ０が変更された場合に、前回の補正指令値Ｄ１によるモータ駆動状態から指令値Ｄ０によるモータ駆動状態に近づく方向に指令値Ｄ０を補正した補正指令値Ｄ１によりモータを駆動する。従って、モータ１８の急激なトルク変動を防止することができる。
【００４９】
また、モータコントローラ１１は指令値Ｄ０が前回出力した指令値Ｄ０と同じときに指令値Ｄ０の最小桁を可変して出力するので、正常動作時に同じ指令値Ｄ０が出力されない。この時、指令値Ｄ０の最小桁は誤差の範囲となるためモータ１８の動作に影響はない。尚、モータコントローラ１１は指令値Ｄ０が所定回数同じ時にその後の指令値Ｄ０の最小桁を可変して出力してもよい。
【００５０】
本実施形態において、ステップ＃４２、＃４５の所定値δ１よりもステップ＃５３の所定値δ２を小さくしてもよい。これにより、指令値Ｄ０に変更がない場合はモータ１８が徐々に減速するとともに、変更があった場合は所望の指令値Ｄ０に迅速に近づけてモータ１８を駆動することができる。
【００５１】
尚、モータ駆動システム２０を搭載した電動車１について説明しているが、モータ１８を駆動するモータ駆動システム２０を用いた種々の機器についても同様の効果を得ることができる。
【産業上の利用可能性】
【００５２】
本発明によると、モータを駆動するモータ駆動装置及びモータ駆動システムに利用することができる。また、モータ駆動システムを用いた電動車等の機器に利用することができる。
【図面の簡単な説明】
【００５３】
【図１】本発明の実施形態の電動車の構成を示すブロック図
【図２】本発明の実施形態の電動車のモータ駆動モジュールの構成を示すブロック図
【図３】本発明の実施形態の電動車のモータコントローラの動作を示すフローチャート
【図４】本発明の実施形態の電動車の指令値変更検出部の動作を示すフローチャート
【図５】本発明の実施形態の電動車の指令値補正部の動作を示すフローチャート
【符号の説明】
【００５４】
１    電動車
２    メインコントローラ
３    バッテリコントローラ
４    バッテリ
５    キー
６    スロットル
７    電装系
８    通信ライン
１０    モータ駆動装置
１１    モータコントローラ
１２    モータ駆動モジュール
１３    指令値変更検出部
１４    指令値補正部
１５    タイマー
１６    ベクトル制御部
１７    インバータ
１８    モータ
２０    モータ駆動システム
【図１】
2010081772.tif 000003
【図２】
2010081772.tif 000004
【図３】
2010081772.tif 000005
【図４】
2010081772.tif 000006
【図５】
2010081772.tif 000007