以下、図面を用いて本発明の実施形態を詳細に説明する。以下では、主に芝刈車両が旋回指示具及び加速指示具の両方の機能を有する構成として、左右2つの操作レバーを有する左右レバー式操作子を使用する場合を説明するが、これは例示であって、ステアリングハンドルであるステアリング操作子を旋回指示具として使用し、座席の前側に設けられた操作子であるアクセルペダルを加速指示具として使用してもよい。また、以下では、芝刈車両に補助モータであるデッキモータが3つ設けられる場合を説明するが、デッキモータは、1つまたは2つまたは4つ以上でもよい。また、以下では、モータ駆動車両が補助モータで駆動される装置として、対地作業を行う作業機である芝刈り機を有する芝刈車両の場合を説明する。ただし、これも例示であって、モータ駆動車両は電動モータで駆動される車輪を有するものであれば、補助モータで駆動される耕うん機、掘削機等の他の作業機を有する対地作業車両や、補助モータで駆動される清掃機等の別の装置を有する他の車両としてもよい。なお、以下ではすべての図面において同様の要素には同一の符号を付して説明する。
図1から図6は、本発明の実施形態を示している。図1は、本実施形態のモータ制御システム12を搭載するモータ駆動車両である芝刈車両10の構成を上方から見た概略構成を示している。なお、以下では、モータ制御システム12は、単に制御システム12という場合がある。
まず、芝刈車両10の全体構成を説明し、その後、モータ制御システム12の構成を説明する。図1に示すように、エンジン非搭載型の乗用型対地作業車両である芝刈車両10は、車体を構成するメインフレーム16と、左右2つのキャスタ輪18,20と、左右2つの車輪22,24と、作業機である芝刈り機25を構成する芝刈り機本体30と、左右2つの操作レバー34,36と、モータ制御システム12とを備える。モータ制御システム12については後で詳しく説明する。メインフレーム16は、鉄等の金属により構成され、上部に横方向にかけ渡された図示しない板部が固定され、その板部の上側に図示しない座席が固定される。
左右のキャスタ輪18,20は、メインフレーム16の前側である図1の左側に支持される。各キャスタ輪18,20は、前側車輪であり、操向輪である。各キャスタ輪18,20は、鉛直方向である図1の表裏方向の軸を中心とする360度以上の自由操向を可能とする。左右の車輪22,24は、メインフレーム16の後側である図1の右側に支持される。左右の車輪22,24は、後側車輪であり、主駆動輪であり、後述する左右の電動モータである走行モータ26,28により駆動される。
なお、キャスタ輪18,20は、2つ以外、例えば、1つのみを芝刈車両10に設けることもでき、3つ以上の複数個を設けることもできる。また、本実施形態では、主駆動輪である左右車輪22,24を後輪として、キャスタ輪18,20を前輪としているが、主駆動輪である左右車輪22,24を前輪として、キャスタ輪18,20を後輪とすることもできる。
芝刈り機本体30は、モアと呼ばれるもので、メインフレーム16の前後方向中間部で下側に支持されている。芝刈り機本体30は、モアデッキ40と、モアデッキ40の内側にそれぞれ鉛直方向の軸を中心として回転可能な芝刈り用回転工具である図示しない3つの芝刈りブレードとを含む。芝刈りブレードは、鉛直方向の軸の周りに配置された複数の切断用ブレード要素を含み、切断用ブレード要素が回転されることで芝等を破断して刈り取り可能とする。このような芝刈り機本体30の芝刈りブレードは、それぞれ後述するモア関係電動モータであるデッキモータ42により駆動される。
芝刈りブレードの回転により芝の刈り取りが可能であり、刈り取られた芝は、モアデッキ40の内側から車両の幅方向片側に排出される。なお、芝刈車両10に図示しない集草タンクを搭載するとともに、集草タンクとモアデッキ40とをダクトにより接続し、刈り取った芝を集草タンクに集める構成を採用してもよい。
また、芝刈り機の芝刈用回転工具として、芝刈りブレード型以外に、地表に平行に回転軸を有するシリンダに例えばらせん状の刃を配置し、芝等を挟み取って刈り取る機能を有し、デッキモータにより駆動される芝刈用リール型も使用できる。
左右2つの操作レバー34,36は、運転席の左右両側において、左右方向に向いた水平軸を中心に前後方向の揺動可能に設けられる。各操作レバー34,36は、揺動により対応する側の走行モータ26,28を、揺動側に回転させることを指示する機能を有する。各操作レバー34,36は、直立した中立状態で、走行モータ26,28の回転停止を指示する機能も有する。例えば右の操作レバー36を直立位置から前側に倒すように揺動させることで右の走行モータ28を停止状態から前進方向に回転させることを指示する。また、右の操作レバー36を後側に倒すように揺動させることで右の走行モータ28を後進方向に回転させることを指示する。
また、旋回指示具としてステアリングホイール等のステアリング操作子を使用する場合には、ステアリング操作子の操作量及び操作方向を操舵センサにより検出し、操作子である加速指示具としてアクセルペダルを使用する場合には、アクセルペダルのペダル位置をアクセルセンサにより検出する。
以上が芝刈車両10の全体構成であり、次にこの芝刈車両10に搭載されるモータ制御システム12を説明する。モータ制御システム12は、左右2つの走行モータ26,28と、3つの補助モータであるデッキモータ42と、バッテリ43と、モア起動スイッチであるデッキスイッチ44(図2)と、操作子センサである左右のレバーセンサ46,48と、メインスイッチであるキースイッチ58と、コントローラユニット14とを備える。
左右の走行モータ26,28は、3相の同期モータまたは誘導モータ等の電動モータであり、それぞれ対応する側の車輪22,24を独立に走行駆動する。左右の走行モータ26,28は、左右車輪22,24のそれぞれに、図示しない減速機構を含む動力伝達部を介して動力の伝達可能に接続される。動力伝達部に設けられる減速機構として、例えば1段または複数段の減速歯車装置を使用してもよい。
左右の走行モータ26,28の駆動により左右車輪22,24の回転速度が一致すると、車両の直進走行が可能となる。一方、左右車輪22,24の回転速度差が発生すると、車両の旋回走行が可能となる。
図1では、左右の走行モータ26,28及び減速機構は、左右のモータ収容ケース38内に設けられ、各モータ収容ケース38は、メインフレーム16の左右両側に支持されている。なお、左右車輪22,24に減速機構を介さずに走行モータ26,28の動力が伝達される構成を採用してもよい。左右の走行モータ26,28の回転速度は、左右車輪22,24の回転速度と同一か、または左右で互いに同じ係数で比例した大きさである。このため、左右走行モータ26,28の回転速度が同一であれば、左右車輪22,24の回転速度も同一である。
3つのデッキモータ42は、モア関係電動モータであり、芝刈り機本体30を構成するモアデッキ40の上側等に設けられ、3つの芝刈りブレードの回転軸にそれぞれ連結されている。各デッキモータ42と、図1に示す芝刈り機本体30とにより、芝刈り機25が構成される。デッキモータ42の起動及び起動停止は、デッキスイッチ44で指示される。
デッキスイッチ44は、図示しない座席の近くに、運転者の操作可能な位置に設けられ、運転者の操作によりオンまたはオフが切り換えられ、オン操作またはオフ操作を表す信号をコントローラユニット14が有するECU50(図2)に出力、すなわち送信する。
バッテリ43は、直流電源部であり、かつ、蓄電部であり、各走行モータ26,28及び各デッキモータに接続され、それぞれに電力を供給する。バッテリ43は、鉛蓄電池、ニッケル水素電池、リチウム電池等を採用でき、例えば48V等の電圧を有する。バッテリ43は、外部の商用交流電源から充電器を介して充電可能としてもよい。
なお、芝刈車両10は、エンジン及び発電機を備えていわゆるハイブリッド式としてもよい。この場合、エンジンの動力を用いて発電機を発電させ、発電させた電力をバッテリ43に供給可能とする。また、バッテリ43の代わりにキャパシタ等の他の電源部である蓄電部を用いてもよい。
左右のレバーセンサ46,48は、対応する側の操作レバー34,36の揺動方向及び揺動角度を表すレバー位置を検出し、検出されたレバー位置を表す信号をコントローラユニット14に送信する。
キースイッチ58は、キーを入れた状態でオンオフ操作可能なキー操作部がユーザによってオン操作またはオフ操作されたことをそれぞれ取得可能である。すなわちキーがキー操作部に差し込まれて回転されることでキースイッチのオンとオフとが切り換わる。キースイッチ58は、バッテリ43と後述するECU50との間に接続され、オン操作されることでバッテリ43からECU50への電力供給を可能とする。ECU50は、電力が供給されることで起動する。
一方、キースイッチ58がオフ操作されると、すべての走行モータ26,28及びデッキモータ42の回転停止を条件として、バッテリ43からECU50への電力供給が遮断され、ECU50の起動が停止される。このような機能は、図3に示す自己保持リレー60と図示しないスイッチ接続リレーとを、ECU50で制御することにより実現されるが詳細は後で説明する。
コントローラユニット14は、各走行モータ26,28及び各デッキモータ42を制御する。図1では、コントローラユニット14は、車体の略中心部で図示しない座席の下側に配置されている。図2は、コントローラユニット14の構成をブロック図で示している。
コントローラユニット14は、コントローラでありメインコントローラであるECU50と、左走行モータコントローラ52及び右走行モータコントローラ54(図3)と、3つのデッキモータコントローラ56とを含む。なお、図2では簡略化のため、3つのデッキモータコントローラ56の1つを示している。左走行モータコントローラ52は左走行モータ26の駆動を制御し、右走行モータコントローラ54は右走行モータ28の駆動を制御する。
ECU50は、CPU、メモリ等を有するマイクロコンピュータを含む。ECU50は、走行モータ目標回転数算出部88及びデッキモータ目標回転数設定部90を有する。走行モータ目標回転数算出部88は、レバーセンサ46,48から入力された信号が表す左右の操作レバー34,36のレバー位置に応じて、左右の走行モータ26,28の単位時間である毎分または毎秒当たりの回転数である目標回転数を算出する。ECU50は、対応する下位コントローラである走行モータコントローラ52,54へ算出された目標回転数を表す制御信号である目標信号を出力する。ECU50は、走行モータ目標回転数算出部88の代わりに、走行モータ目標トルク算出部89を持つ構成としてもよい。走行モータ目標トルク算出部89は、検出された左右のレバー位置に応じて、左右の走行モータ26,28の目標トルクを算出し、ECU50は、対応する走行モータコントローラ52,54へ算出された目標トルクを表す目標信号を出力する。
デッキモータ目標回転数設定部90は、デッキモータ42の予め設定された目標回転数を記憶部に記憶させて設定している。ECU50は、デッキスイッチ44から入力されたオンを表す信号に応じて、デッキモータ42の目標回転数を表す目標信号を各デッキモータコントローラ56に出力する。なお、ECU50は、デッキモータ目標回転数設定部90の代わりに、デッキモータ目標トルク設定部91を持つ構成としてもよい。デッキモータ目標トルク設定部91は、目標トルクを記憶部で記憶させ、デッキスイッチ44から入力されたオンを表す信号に応じて、デッキモータ42の目標トルクを表す目標信号を各デッキモータコントローラ56に出力する。なお、ECU50は、過負荷処理部55を有するが、これについては後で詳しく説明する。
各走行モータコントローラ52,54(54は図3参照)は、ドライバである走行インバータ62と、走行インバータ62を制御する走行制御回路64とを含む。図2では、左右走行モータコントローラ52,54のうち、代表して左走行モータコントローラ52のみを示しているが、右走行モータコントローラ54の構成も同様である。走行制御回路64は、それぞれCPU、メモリ等の記憶部等を含み、ECU50から目標信号が入力される。
走行制御回路64は、モータ制御部66と、過負荷判定部68とを有する。モータ制御部66は、ECU50から目標信号が入力された場合に目標信号が表す目標回転数または目標トルクで、対応する走行モータ26,28を回転させるように走行インバータ62を制御することで、対応する走行モータ26,28を制御する。モータ制御部66は、PI制御またはPID制御を含むフィードバック制御で検出または算出された実回転数または実トルクを目標回転数または目標トルクに近づけるように、走行インバータ62に駆動用の制御信号を生成する。
過負荷判定部68は、対応する走行モータ26,28の運転状態または走行モータコントローラ52,54自身の動作状態に基づいて、対応する走行モータ26,28が過負荷か否かを判定する。過負荷判定部68は、対応する走行モータ26,28が予め設定された所定時間以上過負荷である場合に過負荷判定信号OL1をECU50へ出力する。過負荷判定部68を含めて、各走行制御回路64の構成は後で詳しく説明する。各走行モータコントローラ52,54は、ECU50に図3に示すCAN通信線78で接続される。なお、各走行モータコントローラ52,54は、モータ実トルク算出部79を有する構成としてもよい。モータ実トルク算出部79は、後述する電流センサ96から入力されるモータ電流及び回転角度センサ92から入力される回転角度から、対応する走行モータ26,28の実トルクを算出し、算出した実トルクを表す信号をECU50へ出力する。
各デッキモータコントローラ56は、下位コントローラであり、ドライバであるデッキインバータ72と、デッキインバータ72を制御するデッキ制御回路74とを含む。デッキインバータ72は、デッキモータ42を駆動する。図2では、3つのデッキモータコントローラ56の1つを図示しているが、各デッキモータコントローラ56の構成は互いに同じである。
デッキ制御回路74は、CPU、メモリ等の記憶部等を含み、ECU50から目標信号が入力される。デッキ制御回路74は、モータ制御部75と、過負荷判定部76とを有する。モータ制御部75は、ECU50から目標信号が入力された場合に、目標信号が表す目標回転数または目標トルクで、対応するデッキモータ42を回転させるようにデッキインバータ72を制御することで、対応するデッキモータ42を制御する。モータ制御部75は、モータ制御部66と同様に、フィードバック制御で検出または算出された実回転数または実トルクを目標回転数または目標トルクに近づけるように、デッキインバータ72に駆動用の制御信号を生成する。
過負荷判定部76は、対応するデッキモータ42の運転状態またはデッキモータコントローラ56自身の動作状態に基づいて、対応するデッキモータ42が過負荷か否かを判定する。過負荷判定部76は、対応するデッキモータ42が予め設定された所定時間以上過負荷である場合に過負荷判定信号OL2をECU50へ出力する。各デッキモータコントローラ56は、ECU50に図3に示すCAN通信線78で接続される。過負荷判定部76を含めて、各デッキ制御回路74の構成は後で詳しく説明する。なお、各デッキモータコントローラ56は、モータ実トルク算出部83を有する構成としてもよい。モータ実トルク算出部83は、後述する電流センサ102から入力されるモータ電流及び回転角度センサ98から入力される回転角度から、対応するデッキモータ42の実トルクを算出し、算出した実トルクを表す信号をECU50へ出力する。
なお、デッキモータコントローラ56は、ECU50及び各走行モータコントローラ52,54を含むコントローラユニットと一体に設けても、分離して設けてもよい。また、各モータコントローラ52,54,56及びECU50を芝刈車両10上で分離して配置してもよい。例えば、左右走行モータコントローラ52,54を、対応する側の走行モータ26,28の近傍に配置することもできる。
図3は、図1に示されるモータ制御システム12の全体構成を示すブロック図である。バッテリ43と各走行モータコントローラ52,54との間に2つのリレー80が接続されており、各リレー80はECU50によりオンオフ状態が制御される。各走行モータコントローラ52,54は、バッテリ43に対し互いに並列に接続される。また、バッテリ43と各デッキモータコントローラ56との間にも2つのリレー81が接続されており、各リレー81もECU50によりオンオフ状態が制御される。各デッキモータコントローラ56も、バッテリ43に対し互いに並列に接続される。
また、図3では、左右のレバーセンサ46,48をメインとサブとのそれぞれ2つずつ設けた場合を示している。このように各レバーセンサ46,48で2つのセンサを用いることで同じ側のセンサ同士で異なる検出値が検出された場合にECU50がセンサに異常が生じたと判定し、車両を停止させる等、異常対応処理を実行することができる。ただし、左右のレバーセンサ46,48は、それぞれ1つずつのみを設けることもできる。
また、ECU50は、DC/DCコンバータ82と、自己保持リレー60とを介してバッテリ43に接続される。DC/DCコンバータ82は、バッテリ43の電圧を降圧してECU50に供給する。例えば、バッテリ43の電圧が48Vである場合、DC/DCコンバータ82で12Vに降圧してECU50に供給し、ECU50を起動させる。
ECU50は、自己保持リレー60と、キースイッチ58に接続された図示しないスイッチ接続リレーとを介してバッテリ43に接続されている。自己保持リレー60は、バッテリ43とECU50との間に、キースイッチ58と並列に接続され、ECU50からの制御信号によりオンとオフとが切り換えられる。キースイッチ58がオンされたときにはバッテリ43からDC/DCコンバータ82及びスイッチ接続リレーを介してECU50に電力が供給され、ECU50は自己保持リレー60をオンする。これによって、自己保持リレー60は、バッテリ43とECU50とを、バッテリ43の電力をECU50に供給可能に接続する。一方、キースイッチ58がオンからオフに切り換えられたときには、スイッチ接続リレーは遮断されるが、各走行モータ26,28及び各デッキモータ42のすべてが停止されるまでは、自己保持リレー60をオンのまま維持する。各走行モータ26,28及び各デッキモータ42のすべてが停止されると、ECU50は自己保持リレー60にオンからオフに切り換える制御信号を出力し、自己保持リレー60のオフによりバッテリ43からECU50への電力供給が遮断される。このような構成により、各走行モータ26,28及び各デッキモータ42のいずれか1つでも駆動中であれば、誤ってキースイッチ58がオフされてもECU50の電力がすぐに遮断されることはない。勿論、自己保持リレー60を備えず、バッテリ43からDC/DCコンバータ82とキースイッチ58とを介してECU50に電力を供給する構成を採用してもよい。
電圧センサ84はバッテリ43に接続され、バッテリ43の出力電圧VBを検出し、検出された出力電圧VBを表す信号をECU50に送信する。温度センサ86は、バッテリ43の温度TBを検出し、検出された温度TBを表す信号をECU50に送信する。
図2に戻って、回転角度センサ92は、レゾルバ等により構成され、走行モータ26の回転角度を検出し、検出された回転角度を表す信号を走行モータコントローラ52へ送信する。モータ温度センサ94は、走行モータ26の温度Tm1を検出し、検出温度Tm1を表す信号を走行モータコントローラ52へ送信する。コントローラ温度センサ95は、走行モータコントローラ52の温度Tc1を検出し、検出温度Tc1を表す信号を走行モータコントローラ52へ送信する。電流センサ96は、走行モータ26のステータコイルに入力されるモータ電流を検出し、検出されたモータ電流を表す信号を走行モータコントローラ52へ送信する。電流センサ96は、例えば走行モータ26の2相のステータコイルに流れるモータ電流を検出して、検出されたモータ電流を表す信号を走行モータコントローラ52へ送信する。残りの1相のステータコイルに流れるモータ電流は、2相のモータ電流の検出値から算出できるが、3相すべてのモータ電流を電流センサ96により検出してもよい。また、電流センサ96は、いずれか1相のモータ電流のみを検出してもよい。右走行モータコントローラ54に接続される回転角度センサ、温度センサ及び電流センサも図示は省略するが同様である。
同様に、回転角度センサ98は、レゾルバ等により構成され、デッキモータ42の回転角度を検出し、検出された回転角度を表す信号をデッキモータコントローラ56へ送信する。モータ温度センサ100は、デッキモータ42の温度Tm2を検出し、検出温度Tm2を表す信号をデッキモータコントローラ56へ送信する。コントローラ温度センサ101は、デッキモータコントローラ56の温度Tc2を検出し、検出温度Tc2を表す信号をデッキモータコントローラ56へ送信する。電流センサ102は、デッキモータ42のステータコイルに入力されるモータ電流を検出し、検出されたモータ電流を表す信号をデッキモータコントローラ56へ送信する。各デッキモータコントローラ56の残りの2つのデッキモータコントローラ56に接続される回転角度センサ、温度センサ及び電流センサも図示は省略するが同様である。
次に、各走行モータコントローラ52,54及び各デッキモータコントローラ56が有する過負荷判定部68、76と、ECU50が有する過負荷処理部55とを説明する。各過負荷判定部68,76は、
(1)対応する走行モータ26,28またはデッキモータ42の目標回転数及び実回転数の差
(2)対応する走行モータ26,28またはデッキモータ42に入力されるモータ電流の時間積算値
(3)対応する走行モータ26,28またはデッキモータ42の目標トルクまたは実トルク
(4)対応する走行モータ26,28またはデッキモータ42の温度
(5)対応するモータコントローラ52,54,56自身の温度
の少なくとも1つから、対応する走行モータ26,28またはデッキモータ42が過負荷であるか否かを判定する。(1)から(4)は対応する走行モータ26,28またはデッキモータ42の運転状態であり、(5)はモータコントローラ52,54,56自身の動作状態である。
走行制御回路64及びデッキ制御回路74は、対応する走行モータ26,28またはデッキモータ42が予め設定された所定時間以上過負荷であると判定した場合に、過負荷判定信号OL1、OL2をECU50へ出力する。
1例として、走行制御回路64及びデッキ制御回路74が(1)(2)(4)の少なくとも1つから、対応する走行モータ26,28またはデッキモータ42が過負荷であるか否かを判定する場合を説明する。走行制御回路64は、モータ目標実回転数差算出部104と、モータ電流積算部106とを有する。モータ目標実回転数差算出部104は、回転角度センサ92から受け取った走行モータ26,28の回転角度の検出値から実回転数Nb1を算出し、ECU50から受け取った対応する走行モータ26,28の目標回転数Na1から、算出された実回転数Nb1を減算することで目標実回転数差Nd1(=Na1−Nb1)を算出する。モータ電流積算部106は、予め設定した所定時間で、電流センサ96から受け取ったいずれか1相のモータ電流の検出値を時間積算する。
過負荷判定部68は、モータ目標実回転数差算出部104から目標実回転数差Nd1を受け取って、目標実回転数差Nd1が予め設定した閾値α1以上であるか否かを判定し、閾値α1以上であると判定された場合に過負荷であると判定し、その過負荷が予め設定された所定時間以上生じた場合に、ECU50に異常発生検出信号として、過負荷判定信号OL1を出力する。
過負荷判定部68は、モータ電流積算部106からモータ電流の時間積算値を受け取って、対応する走行モータ26,28のモータ電流の時間積算値が予め設定した閾値積算値以上であるか否かも判定し、閾値積算値以上であると判定された場合に過負荷であると判定し、その過負荷が予め設定された所定時間以上生じた場合に、ECU50に過負荷判定信号OL1を出力する。なお、閾値積算値を、モータ実回転数Nb1との関係で変化させるように設定することもできる。この場合、モータ実回転数Nb1が低い場合に小さい閾値積算値が設定され、モータ電流の時間積算値が閾値積算値以上で過負荷と判定される。
過負荷判定部68は、モータ温度センサ94から対応する走行モータ26,28の検出温度Tm1を受け取って、検出温度Tm1が予め設定した閾値温度以上であるか否かも判定し、閾値温度以上であると判定された場合に過負荷であると判定し、その過負荷が予め設定された所定時間以上生じた場合に、ECU50に過負荷判定信号OL1を出力する。
過負荷判定部68は、コントローラ温度センサ95から走行モータコントローラ52,54自身の検出温度Tc1を受け取って、検出温度Tc1が予め設定した閾値温度以上であるか否かも判定し、閾値温度以上であると判定された場合に過負荷であると判定し、その過負荷が予め設定された所定時間以上生じた場合に、ECU50に過負荷判定信号OL1を出力する。
デッキ制御回路74も、走行制御回路64と同様に、モータ目標実回転数差算出部108と、モータ電流積算部110と、上記の過負荷判定部76とを有する。モータ目標実回転数差算出部108と、モータ電流積算部110と、過負荷判定部76との機能は、対象とするモータがデッキモータ42となるだけで、走行制御回路64のモータ目標実回転数差算出部104、モータ電流積算部106、及び過負荷判定部68と同様である。過負荷判定部76は、過負荷が所定時間以上生じたと判定した場合に、ECU50に過負荷判定信号OL2を出力する。
ECU50の過負荷処理部55は、少なくとも1つのモータコントローラ52,54,56から過負荷判定信号OL1またはOL2が入力された場合に予め設定された過負荷対応処理を実行する。この場合、ECU50は、過負荷対応処理として、処理対象のモータコントローラ52,54,56から少なくとも1つを選択し、選択したモータコントローラ52,54,56において、算出または設定された対応するモータ26,28,42の目標回転数または目標トルクを変化させる。例えば、過負荷処理部55は、デッキモータコントローラ56の少なくとも1つから過負荷判定信号OL2が入力され、デッキモータ42が過負荷である場合に、過負荷対応処理として、各走行モータ26,28を通常制御の場合に比べて減速させるように目標回転数または目標トルクを変化させる。例えば、左右レバーセンサ46、48からECU50に送信される検出レバー位置に応じて、過負荷発生時でない通常制御時に算出される左右走行モータ26,28の目標回転数のそれぞれに対して、予め設定した所定割合または所定回転数分、左右走行モータ26,28を減速させるように目標回転数または目標トルクを変化させる。
さらに、過負荷処理部55は、左右走行モータ26,28の減速後、デッキモータ42の過負荷が予め設定された所定時間以上さらに継続された場合に、すべてのデッキモータ42を停止させるように目標回転数を変化させる。
なお、ECU50の各機能は、記憶されたプログラムの実行等によりソフトウェアで実現することもできるが、一部または全部をハードウェアで実現することもできる。
このようなモータ制御システム12は、各走行モータ26,28及び各デッキモータ42を図4に示す制御方法により制御する。図4は、モータ制御システム12を用いて走行モータ26,28及びデッキモータ42を制御する方法の1例を示すフローチャートである。ステップS10(以下、ステップSは単にSという。)で、各デッキモータコントローラ56は、モータ目標実回転数差算出部108によりデッキモータ42の目標回転数Na2と実回転数Nb2との差である目標実回転数差Nd2(=Na2−Nb2)を算出し、過負荷判定部76により目標実回転数差Nd2が予め設定した閾値α2以上か否かを判定する。目標実回転数差Nd2が閾値α2以上と判定された場合、S11で、過負荷判定部76は制御対象のデッキモータ42が過負荷であると判定し、過負荷時間TLに予め設定された設定時間分TBを加算し、その値をデッキモータコントローラ56の記憶部に記憶させ、S14に移行する。過負荷時間TLは初期時にはリセット値であり、0である。S10で目標実回転数差Nd2が閾値α2以上でないと判定された場合、過負荷時間TLはリセットされ(S12)、0となり、通常制御が実行される(S13)。
S14では、過負荷判定部76により記憶部に記憶された過負荷時間TLが予め設定された所定時間以上となったか否かが判定され、過負荷時間TLが所定時間以上であると判定されると、デッキモータ42が連続して所定時間過負荷が生じたと判定され、S15で、デッキモータコントローラ56は過負荷判定信号OL2をECU50へ出力する。デッキモータコントローラ56からECU50に過負荷判定信号OL2が出力された場合、ECU50の過負荷処理部55により過負荷対応処理が実行される。この場合、過負荷処理部55は、過負荷対応処理として、S16で、左右走行モータ26,28の少なくとも1つの目標回転数が0でない、すなわち少なくとも1つの走行モータ26,28が駆動中であると判定された場合に、S17で、駆動中の走行モータ26,28を減速させるように、減速指令を走行モータコントローラ52,54に出力する。具体的には走行モータ26,28の目標回転数を通常制御時に比べて低下させ、その目標回転数を表す信号を走行モータコントローラ52,54に出力する。
一方、S16の判定結果が否定である場合、S13で通常制御が実行される。S17で走行モータ26,28が減速された後、S10からS15と同様の処理でデッキモータ42にさらに所定時間以上過負荷が生じたと判定される(S18)と、S19ですべてのデッキモータ42を停止させるように、停止指令を各デッキモータコントローラ56に出力する。具体的には、デッキモータコントローラ56に出力する信号が表す目標回転数を0とする。S18の判定結果が否定の場合には、S13で通常制御が実行される。
図4では、破線枠ECU、DCにより、それぞれECU50、デッキモータコントローラ56が行う処理を示している。以下の図において、同様である。なお、以下の図において、破線枠RCにより、モータコントローラ52,54が行う処理を示す場合がある。
このような芝刈車両10のモータ制御システム12によれば、デッキモータ42の少なくとも1つに所定時間以上の過負荷が生じた場合に、走行モータ26,28の減速が行われるので、デッキモータ42にバッテリ43から供給される電流が不足することがなく、過負荷が迅速に緩和または解消されてデッキモータ42の保護を図れる。
図5は、デッキモータ42の負荷の増大により実回転数が低下する理由を説明するための実回転数及び発生トルクの関係を示す図である。上記の構成では、各走行モータ26,28及び各デッキモータ42は、バッテリ43に対して並列に接続されている。この場合、各モータ26,28,42が駆動中である場合で、芝刈り機25が、芝が過度に密集していたり、雨天時の状態で駆動される等によりデッキモータ42に加わる負荷が高くなる場合がある。この場合、図5に示すように、等電流曲線L1に沿ってデッキモータ42の実回転数と発生トルクとの関係が変化するので、通常時の点Aから点Bに変化し、実回転数がN1からN2に低下することが考えられる。
また、この場合に、同じバッテリ43に接続される走行モータ26,28を減速させると、デッキモータ42に流れる電流が増大して等電流曲線がL1からL2に変化する。このため、点Bと同じ負荷がデッキモータ42に加わる場合でも、実回転数をN2からN1に増大させて、デッキモータ42に対する過負荷を解消することができる。
図6は、本実施形態において、デッキモータ42が途中で過負荷になる場合に、デッキモータ42の目標回転数Na2と実回転数Nb2との差である目標実回転数差Nd2の時間的変化の1例を示す図である。図6では、デッキモータ42に過負荷が生じて徐々に目標実回転数差Nd2が大きくなる場合を示している。この場合、時間t1で目標実回転数差Nd2が閾値D1以上になるとデッキモータコントローラ56がデッキモータ42に過負荷が生じたと判定する。そして、デッキモータ42の過負荷が、時間t2まで続き、過負荷時間TLが予め設定された所定時間T1(=t2−t1)以上になると、デッキモータコントローラ56は、過負荷判定信号OL2をECU50に出力する。ECU50は、過負荷処理部55により、走行モータ26,28の減速指令を走行モータコントローラ52,54へ出力し、走行モータ26,28を減速させる。これによってデッキモータ42の過負荷が緩和され、デッキモータ42の目標実回転数差Nd2が徐々に小さくなる。
走行モータ26,28の減速が行われた後、デッキモータ42の過負荷時間TLがさらに予め設定された所定時間T2(=t3−t2)分加算されると、時間t3でデッキモータ42が停止され、デッキモータ42の過負荷に対する保護が図られる。なお、所定時間T1は所定時間T2と同じでも、異なっていてもよい。
図7は、実施形態において、デッキモータ42を制御する方法を示すフローチャートである。図7の制御方法では、図4の場合と異なり、走行モータ26,28の過負荷を緩和または解消することを目的とする。図7の制御を行う構成も、図1から図3に示した構成と同様であるが、ECU50が有する過負荷処理部55は、走行モータコントローラ52,54の少なくとも1つから過負荷判定信号OL1が入力され、対応する走行モータ26,28が過負荷である場合に、過負荷対応処理として、デッキモータ42のすべてを停止させる。なお、以下では走行モータ26(または28)に過負荷が生じる場合に、説明の簡略化のために左走行モータ26に過負荷が生じた場合として説明する。
このような構成によりデッキモータ42を制御する場合、図7のS20で、各走行モータコントローラ52,54が、モータ目標実回転数差算出部104により対応する走行モータ26,28の目標回転数Na1と実回転数Nb1との差である目標実回転数差Nd1(=Na1−Nb1)を算出し、過負荷判定部68により目標実回転数差Nd1が予め設定した閾値α1以上か否かを判定する。走行モータコントローラ52の過負荷判定部68で、目標実回転数差Nd1が閾値α1以上と判定された場合、S21で、過負荷判定部68は制御対象の走行モータ26が過負荷であると判定し、過負荷時間TLに予め設定された設定時間分TBを加算し、その値を走行モータコントローラ52の記憶部に記憶させ、S24に移行する。S20で目標実回転数差Nd1が閾値α1以上でないと判定された場合、過負荷時間TLはリセットされ(S22)、通常制御が実行される(S23)。
S24では、過負荷判定部68により記憶部に記憶された過負荷時間TLが予め設定された所定時間以上となったか否かが判定され、過負荷時間TLが所定時間以上であると判定されると、走行モータ26が連続して所定時間過負荷が生じたと判定され、S25で、走行モータコントローラ52は過負荷判定信号OL1をECU50へ出力する。走行モータコントローラ52からECU50に過負荷判定信号OL1が出力された場合、ECU50の過負荷処理部55により過負荷対応処理が実行される。この場合、過負荷処理部55は、過負荷対応処理として、S26で、デッキモータ42が駆動中か否かを判定し、駆動中である場合に、S27で、すべてのデッキモータ42を停止させるように、停止指令をデッキモータコントローラ56に出力する。一方、S26の判定結果が否定である場合、S23で通常制御が実行される。
このような構成によれば、走行モータ26,28の少なくとも1つに所定時間以上の過負荷が生じた場合に、デッキモータ42が停止されるので、走行モータ26,28にバッテリ43から供給される電流が不足することがなく、過負荷が迅速に緩和または解消されて走行モータ26,28の保護を図れる。
なお、図4、図7の例では、デッキモータ42または走行モータ26,28の目標実回転数差Nd2,Nd1により過負荷判定を行う場合を説明したが、上記の(1)から(5)の少なくとも1つにより過負荷判定を行い、予め設定された所定時間以上過負荷が生じた場合に、デッキモータコントローラ56または走行モータコントローラ52,54から過負荷判定信号OL1,OL2をECU50に出力することもできる。
図8は、実施形態において、デッキモータ42及び走行モータ26,28を制御する方法を示すフローチャートである。図8の制御方法では、図7の場合と同様、走行モータ26,28の過負荷を緩和または解消することを目的とする。図8の制御を行う構成も、図1から図3に示した構成と同様であるが、ECU50が有する過負荷処理部55は、走行モータコントローラ52から過負荷判定信号OL1が入力され、対応する走行モータ26が過負荷である場合に、過負荷対応処理として、デッキモータ42のすべてを停止させた後、さらに過負荷が生じた場合に第1ステップ及び第2ステップを実行させる。第1ステップは、デッキモータ42の停止後、走行モータ26の過負荷が予め設定された所定時間以上継続された場合に、各走行モータ26,28を通常制御の場合に比べて減速させるステップである。第2ステップは、各走行モータ26,28の減速後、走行モータ26の過負荷が予め設定された所定時間以上継続された場合に、各走行モータ26,28を停止させるステップである。
このような構成によりデッキモータ42及び走行モータ26,28を制御する場合、図8のS30で、走行モータコントローラ52が、過負荷判定部68により制御対象の走行モータ26が過負荷であると判定し、過負荷時間TLが所定時間以上であると判定されると、S31に移行する。S31では、走行モータコントローラ52は過負荷判定信号OL1をECU50へ出力する。走行モータコントローラ52からECU50に過負荷判定信号OL1が出力された場合、ECU50の過負荷処理部55により過負荷対応処理が実行される。この場合、過負荷処理部55は、過負荷対応処理として、S33で、すべてのデッキモータ42を停止させるように、停止指令をデッキモータコントローラ56に出力する。一方、S30の判定結果が否定である場合、S32で通常制御が実行される。
S34ですべてのデッキモータ42の停止後、走行モータ26の過負荷がさらに所定時間以上継続されたと判定されると、走行モータコントローラ52は、さらに過負荷判定信号OL1をECU50へ出力する(S35)。走行モータコントローラ52からECU50に過負荷判定信号OL1が出力された場合、S36で過負荷処理部55は、過負荷対応処理として、各走行モータ26,28を通常制御の場合に比べて減速させるよう減速指令を各走行モータコントローラ52,54へ出力する。次いで、S37で、走行モータ26の過負荷がさらに所定時間以上継続されたと判定されると、走行モータコントローラ52は、さらに過負荷判定信号OL1をECU50へ出力する(S38)。走行モータコントローラ52からECU50に過負荷判定信号OL1が出力された場合、S39で過負荷処理部55は、各走行モータ26,28を停止させるよう停止指令を各走行モータコントローラ52,54へ出力する。一方、S34、S37の判定結果が否定である場合、S32で通常制御が実行される。
このような構成の場合も、走行モータ26,28の過負荷が迅速に緩和または解消されて走行モータ26,28の保護を図れる。
図9は、実施形態において、デッキモータ42及び走行モータ26,28を制御する方法の別例を示すフローチャートである。図9の制御方法では、デッキモータ42及び走行モータ26,28の過負荷を緩和または解消することを目的とする。図9の制御を行う構成も、図1から図3に示した構成と同様であるが、ECU50が有する過負荷処理部55は、走行モータコントローラ52と、デッキモータコントローラ56とから過負荷判定信号OL1、OL2が入力され、対応する走行モータ26とデッキモータ42とが過負荷である場合に、過負荷対応処理として、第1から第3ステップを実行させる。第1ステップは、デッキモータ42のすべてを停止させるステップである。第2ステップは、デッキモータ42の停止後、走行モータ26の過負荷が予め設定された所定時間以上継続された場合に、各走行モータ26,28を通常制御の場合に比べて減速させるステップである。第3ステップは、各走行モータ26,28の減速後、走行モータ26の過負荷が予め設定された所定時間以上継続された場合に、各走行モータ26,28を停止させるステップである。
このような構成によりデッキモータ42及び走行モータ26,28を制御する場合、図9のS40の前のステップで、走行モータコントローラ52,54が、過負荷判定部68により制御対象の走行モータ26、28が過負荷であり、その過負荷時間が所定時間以上であると判定した場合に、過負荷判定信号OL1をECU50に出力する。また、デッキモータコントローラ56が、過負荷判定部76によりデッキモータ42が過負荷であり、その過負荷時間が所定時間であると判定した場合に、過負荷判定信号OL2をECU50に出力する。以下では、走行モータ26に過負荷が生じた場合を説明する。S40では、ECU50の過負荷処理部55が、走行モータコントローラ52と、デッキモータコントローラ56の少なくとも1つとから、過負荷判定信号OL1、OL2が入力されたか否かを判定する。過負荷処理部55は、ECU50に過負荷判定信号OL1、OL2の両方が入力されたと判定した場合、過負荷対応処理を実行する。この場合、過負荷処理部55は、過負荷対応処理として、S41で、すべてのデッキモータ42を停止させるように、停止指令をデッキモータコントローラ56に出力する。一方、S40の判定結果が否定である場合、S42で通常制御が実行される。
S43ですべてのデッキモータ42の停止後、走行モータ26の過負荷がさらに所定時間以上継続されたと判定されると、走行モータコントローラ52は、さらに過負荷判定信号OL1をECU50へ出力する(S44)。S43からS48の処理は、上記の図8に示したS34からS39の処理と同様である。
このような構成の場合、走行モータ26,28及びデッキモータ42の過負荷が迅速に緩和または解消されて走行モータ26,28及びデッキモータ42の保護を図れる。
なお、ECU50の過負荷処理部55は、過負荷判定信号OL1、OL2の入力状態に応じて、図4と、図7または図8と、図9との過負荷対応処理のいずれを行うかを選択し、選択した処理を実行する構成としてもよい。また、過負荷処理部55は、図4と、図7または図8と、図9との過負荷対応処理のいずれか1つのみを実行する機能を持つ構成としてもよい。
図10は、実施形態において、デッキモータ42及び走行モータ26,28を制御する方法の別例の第2例を示すフローチャートである。図10の制御方法も、図9の場合と同様、デッキモータ42及び走行モータ26,28の過負荷を緩和または解消することを目的とする。図10の制御を行う構成も、図1から図3に示した構成と同様であるが、ECU50が有する過負荷処理部55は、デッキモータコントローラ56から過負荷判定信号OL2が入力された場合に、過負荷対応処理として、第1から第3ステップを実行させる。第1ステップは、デッキモータ42のすべてを停止させるステップである。第2ステップは、デッキモータ42の停止後、走行モータ26の過負荷が予め設定された所定時間以上継続された場合に、各走行モータ26,28を通常制御の場合に比べて減速させるステップである。第3ステップは、各走行モータ26,28の減速後、走行モータ26の過負荷が予め設定された所定時間以上継続された場合に、各走行モータ26,28を停止させるステップである。
このような構成によりデッキモータ42及び走行モータ26,28を制御する場合、図10のS50で、各デッキモータコントローラ56の少なくともが1つが、過負荷判定部76によりデッキモータ42が過負荷であると判定し、その過負荷時間が所定時間以上であると判定されると、S51に移行する。S51では、デッキモータコントローラ56は過負荷判定信号OL2をECU50へ出力する。ECU50に過負荷判定信号OL2が入力された場合、ECU50の過負荷処理部55により過負荷対応処理が実行される。この場合、過負荷処理部55は、過負荷対応処理として、S53で、すべてのデッキモータ42を停止させるように、停止指令をデッキモータコントローラ56に出力する。一方、S50の判定結果が否定である場合、S52で通常制御が実行される。
S54ですべてのデッキモータ42の停止後、走行モータ26の過負荷が所定時間以上継続されたと判定されると、走行モータコントローラ52は、過負荷判定信号OL1をECU50へ出力する(S55)。S54からS59の処理は、上記の図8に示したS34からS39の処理と同様である。このような構成の場合も、走行モータ26,28及びデッキモータ42の保護を図れる。
図11は、実施形態において、デッキモータ42及び走行モータ26,28を制御する方法の別例の第3例を示すフローチャートである。図11の制御方法も、図9の場合と同様、デッキモータ42及び走行モータ26,28の過負荷を緩和または解消することを目的とする。図11の制御を行う構成も、図1から図3に示した構成と同様であるが、ECU50は、図2に示す異常判定部112を有する。異常判定部112は、バッテリ43の温度と電圧変化とのうち、少なくとも1つを監視して、異常があるか否かを判定する。例えば、ECU50は、温度センサ86から送信された信号によりバッテリ43の検出温度Tbを取得する。また、ECU50は、電圧センサ84から送信された信号によりバッテリ43の検出電圧VBを取得する。異常判定部112は、バッテリ43の検出温度Tbが予め設定された所定温度以上の場合、またはバッテリ43の検出電圧VBの所定時間での変化幅または時間的変化率である電圧変化が予め設定された所定値以上の場合、バッテリ43に異常があると判定する。
過負荷処理部55は、バッテリ43の異常が所定時間以上継続したと判定した場合に、走行モータ26,28及びデッキモータ42のいずれが過負荷であるかを特定し、過負荷の走行モータ26,28またはデッキモータ42である過負荷モータに応じた過負荷対応処理を実行する。過負荷モータの特定を行う場合、上記の図4から図10で説明した構成と同様に、各走行モータコントローラ52,54及び各デッキモータコントローラ56で所定時間以上の過負荷が生じているか否かを判定させ、所定時間以上の過負荷が生じているものを過負荷モータとして特定する。また、過負荷対応処理は、上記の図4から図10で説明した構成の少なくとも1つで過負荷処理部55が行う処理を用いる。
このような構成によりデッキモータ42及び走行モータ26,28を制御する場合、図11のS60で、異常判定部112がバッテリ43の温度Tbまたは電圧変化に異常が生じたか否かを判定し、異常が生じたと判定した場合にはその異常が所定時間以上継続したか否かを判定する(S61)。S61の判定結果が肯定である場合、S63で過負荷処理部55が、走行モータコントローラ52,54及びデッキモータコントローラ56を用いて、走行モータ26,28及びデッキモータ42のうち、過負荷モータを特定し、S64で特定した過負荷モータに応じた過負荷対応処理を実行する。一方、S60、S61の判定結果が否定である場合、S62で通常制御が実行される。
このような構成の場合、まず、走行モータ26,28及びデッキモータ42のいずれかに過負荷が生じたと判定し、その後、過負荷モータの特定を行い、対応する処理を行う。このような構成の場合も、走行モータ26,28及びデッキモータ42の保護を図れる。
図12は、実施形態の別例の第1例において、左右走行モータ26,28を制御する方法を示すフローチャートである。本例では、上記の図1から図3に示した構成と基本的に同様の構成を備え、各走行モータコントローラ52,54が有する走行制御回路64は、回転角度センサ92により検出された対応する左右走行モータ26,28の回転角度から左右走行モータ26,28の実回転数NL,NRを算出する。さらに、本例の構成では、各走行モータコントローラ52,54は、算出された実回転数NL,NRを表す信号をECU50にCAN通信線78で出力する。ECU50は、走行モータ目標回転数算出部88で算出された左右走行モータ26,28の目標回転数が一致し、かつ、各走行モータコントローラ52,54からほぼ同時に受け取った左走行モータ26の実回転数NLと右走行モータ28の実回転数NRとの差の絶対値|NL−NR|が予め設定した所定値βよりも大きいか否かを判定する。ECU50は、絶対値|NL−NR|が所定値βよりも大きいと判定した場合に、左右走行モータ26,28の目標回転数を、左右走行モータ26,28の実回転数NL、NRのうち、低い実回転数に一致させるように左右走行モータ26,28の駆動を制御する。
このような構成により左右走行モータ26,28の回転数を制御する方法は、次のように行う。まず、図12のS70で、各走行モータコントローラ52,54により左右走行モータ26,28の実回転数NL,NRを算出し、ECU50にその実回転数NL,NRを表す信号を出力する。S71でECU50は左右走行モータ26,28の目標回転数が一致しているか否かを判定し、一致している場合には左右走行モータ26,28の実回転数差の絶対値|NL−NR|が所定値βよりも大きいか否かを判定する。S71の判定結果が肯定であれば、ECU50は、左右走行モータ26,28の目標回転数を左右走行モータ26,28の実回転数NL、NRのうち、低い実回転数に一致させるように制御する(S74)。具体的には、低い実回転数に一致させた目標回転数を表す指令信号を各モータコントローラ52,54に出力し、各モータコントローラ52,54はこの目標回転数に応じて各走行モータ26,28を制御する。一方、S71、S73で判定結果が否定であれば、S72で通常制御が実行される。
このような構成によれば、車両の直進走行が指示される場合であって、左右走行モータ26,28のいずれか一方の目標回転数と実回転数との間に大きなずれが生じている場合でも、低速側で左右走行モータ26,28の目標回転数が一致するので、車両を減速させて直進走行を実現でき、走行フィーリングの向上と運転者の操作負担の低減を図れる。なお、左右走行モータ26,28の目標回転数を低速側の実回転数に一致させる処理を、左右操作レバー34,36またはアクセルペダルにより最大速度での直進走行が指示されたと判定された場合にのみ実施させることもできる。例えば、左右操作レバー34,36が直立の中立状態から前側(または後側)に最大量操作された位置にある場合、運転者は最大速度で直進走行を指示していると判定され、この構成による効果が顕著になる。
図13は、実施形態の別例の第2例及び第3例において、主要部の構成を示すブロック図である。まず、実施形態の別例の第2例を説明する。本例では、上記の図1から図3に示した構成と同様の構成を備えるが、制御システム12は、デッキモータ速度切替部であるデッキスイッチ114を備える。デッキスイッチ114は、図2に示したデッキスイッチ44の代わりに使用されるもので、摘み部116を操作することでOFF、L、M、Hの位置のそれぞれに切替可能である。OFF位置に切り替えることで、デッキモータ42の停止が指示される。L,M,Hのいずれかに切り替えることで、それぞれデッキモータ42を低速、中速、高速で駆動することが指示される。デッキスイッチ114の指示を表す信号はECU50に出力される。この信号には、停止指示で信号が0となる場合も含まれる。
ECU50はデッキモータ回転数選択部118を有する。デッキモータ回転数選択部118は、デッキスイッチ114から入力された指示が低速、中速、高速のいずれかの駆動である場合に、その指示に応じて、デッキモータ42に対して設定された目標回転数を変更する。例えば、L位置で低速駆動が指示される場合、デッキモータ回転数選択部118は、初期設定で中速で設定された目標回転数を予め設定された低速側の回転数に変更する。H位置で高速駆動が指示される場合、デッキモータ回転数選択部118は、目標回転数を予め設定された高速側の回転数に変更する。ECU50は目標回転数が変更された場合に変更された目標回転数を表す信号をデッキモータコントローラ56に出力し、デッキモータ42をその目標回転数で駆動させる。
このような構成によれば、芝刈り車両10の機能性及び芝刈り作業の自由度の向上を図れる。なお、図13では、デッキスイッチ114は速度を3段階で調整可能としているが、これに限定するものではなく、2段階または4段階以上で調整可能とすることもできる。また、デッキスイッチ114からOFF位置を省略し、図2に示したオンとオフとを切り替える別のデッキスイッチ44とデッキスイッチ114とを併用することもできる。また、デッキモータ速度切替部として、デッキスイッチ114の代わりに、デッキモータ42の回転数の無段階調整が可能なボリューム型を使用することもできる。
次に、図13を用いて実施形態の別例の第3例を説明する。本例では、上記の図1から図3に示した構成と同様の構成を備えるが、制御システム12は、走行モータ発進速度切替部である速度調整スイッチ120を備える。速度調整スイッチ120は、摘み部122を操作することでL、M、Hの位置のそれぞれに切替可能である。M位置に切り替えることで、発進速度の調整を行わない通常制御を行い、各走行モータ26,28の目標回転数に対する制御の応答性を中間とすることが指示される。L,Hのいずれかに切り替えることで、それぞれ各走行モータ26,28を停止から駆動に移行させる駆動開始時に、目標回転数に対する制御の応答性を低い、または高い状態に切り替えることが指示される。速度調整スイッチ120の指示を表す信号はECU50に出力される。
ECU50は発進モード選択部124を有する。発進モード選択部124は、速度調整スイッチ120から入力された指示が低、高のいずれかの応答性の切替を指示するものである場合に、その指示に応じて、予め設定された発進モードの選択を行い、各走行モータ26,28の駆動開始時の目標回転数に対する応答性を変化させることを各走行モータコントローラ52,54に指示する。すなわち、低い応答性が指示される場合、発進モード選択部124は低い応答性の低応答モードを選択し、高い応答性が指示される場合、発進モード選択部124は高い応答性の高応答モードを選択する。また、中間の応答性が指示される場合、発進モード選択部124は通常制御時の中間応答モードを選択する。発進モード選択部124は低応答モードまたは高応答モードが選択された場合に、各走行モータ26,28の駆動開始時に目標車速に対応する目標回転数でフィードバック制御する場合の一次遅れについて、予め設定された時定数を小さい側、または大きい側の時定数に設定する。ECU50は設定された時定数を表す信号を各走行モータコントローラ52,54に出力する。ECU50から変更された時定数が各走行モータコントローラ52,54に入力された場合に、各走行モータコントローラ52,54は、駆動開始時の予め設定された所定時間または所定速度以下で、各走行モータ26,28の回転数を目標回転数でフィードバック制御する場合の時定数を変更された時定数に切り替える。
このような構成により、芝刈り車両10の発進性能をユーザが選択可能となる。例えば、速度調整スイッチ120がL位置に切り替えられ、低い応答性が指示された場合、時定数が小さくなり、各走行モータ26,28の実回転数を目標回転数に近づける場合の応答性が低くなる。このため、左右車輪22,24のスリップが生じにくくなり、芝地走行時に芝が荒れることを抑制できる。
図14は、本例において、発進モード選択部124の選択により走行モータ26,28の回転数を制御する場合の回転数の時間的変化を示す図である。図14では、曲線L,M,Hにより、それぞれ低応答、中間応答、高応答モードが選択された場合を示しており、それぞれ時定数がt1、t2、t3となっている。このため、速度調整スイッチ120の切替により、走行モータ26,28の目標回転数に対する応答性を3段階に切り替えることができ、曲線Lの低応答モードでは緩やかな発進加速を得ることができる。
なお、本例の構成では、速度調整スイッチ120は、発進時の応答性を3段階で調整可能としているが、これに限定するものではなく、2段階または4段階以上で調整可能とすることもできる。また、走行モータ発進速度切替部として、速度調整スイッチ120の代わりに、左右走行モータ26,28についての時定数の無段階調整が可能なボリューム型を使用することもできる。
図15は、実施形態の別例の第4例において、走行モータ26,28を制御する方法を示すフローチャートである。本例では、上記の図1から図3に示した構成と同様の構成を備えるが、図3に示すように、制御システム12は車速センサ126を備える。車速センサ126は、例えば加速度センサを含み、加速度センサから得られた車両の加速度の時間積分等により車両の実車速Vaを検出する。車速センサ126で検出された実車速Vaを表す信号はECU50に出力される。各走行モータコントローラ52,54が有する走行制御回路64は、回転角度センサ92により検出された対応する走行モータ26,28の回転角度から走行モータ26,28の実回転数を算出し、実回転数を表す信号をECU50にCAN通信線78で出力する。
ECU50は、入力された各走行モータ26,28の実回転数の平均値から算出された実車速推定値であるモータ関係推定車速Vbと、車速センサ126で検出された検出実車速Vaとを比較し、モータ関係推定車速Vbと検出実車速Vaとの差の絶対値|Va−Vb|が予め設定した所定値γよりも大きい場合、各走行モータ26,28の目標回転数の調整制御を実行する。調整制御は、各走行モータ26,28の回転数を通常制御の場合に比べて所定割合または所定回転数分減少させるよう、左右操作レバー34,36のレバー位置に応じた目標回転数を低下させることである。ECU50は、低下させた目標回転数を各走行モータコントローラ52,54に出力し、各走行モータコントローラ52,54はその目標回転数で各走行モータ26,28を駆動するように制御する。
なお、調整制御として、ECU50は、各走行モータ26,28の回転数を通常制御の場合に比べて、絶対値|Va−Vb|の大きさに応じた割合で、左右操作レバー34,36のレバー位置に応じた目標回転数を低下させてもよい。例えば、絶対値|Va−Vb|が大きい場合、各走行モータ26,28の目標回転数を大きく低下させる。
このような構成により左右走行モータ26,28の回転数を制御する方法は、次のように行う。まず、図15のS80で、車速センサ126により実車速Vaを検出し、各走行モータコントローラ52,54及びECU50で回転角度センサ92の検出値からモータ関係推定車速Vbを算出する。次いで、S81で、モータ関係推定車速Vbと検出実車速Vaとの差の絶対値|Va−Vb|が予め設定した所定値γよりも大きいか否かを判定し、その判定結果が肯定であればS82で上記の調整制御を実行する。一方、S81で判定結果が否定であれば、S83で通常制御が実行される。
このような構成によれば、左右車輪22,24の少なくとも一方が湿地でスリップする等で、実車速Vaがほぼ0または極低速である場合で、各走行モータ26,28の回転速度の平均値が過度に大きくなり、モータ関係推定車速Vbが過度に大きくなる場合に、各走行モータ26,28の目標回転数が低下する。このため、車両のスリップが生じにくくなり、芝地走行時に芝の荒れが生じにくくなる。
図16は、実施形態の別例の第5例において、走行モータ26,28を制御する方法を示すフローチャートである。本例では、上記の図1から図3に示した構成と同様の構成を備えるが、各走行モータコントローラ52,54において、ECU50から入力された走行モータ26,28の目標回転数Na1と、回転角度センサ92からの検出値から算出された走行モータ26,28の実回転数Nb1とを取得し、目標回転数Na1と実回転数Nb1との差(Na1−Nb1)が予め設定した所定値δよりも大きいと判定した場合に、PI制御またはPID制御で走行モータ26,28の回転数を制御する場合の比例制御ゲインを通常制御時よりも大きい別の比例制御ゲインに変更する。
このような構成により左右走行モータ26,28の回転数を制御する方法は、次のように行う。まず、図16のS90で、各走行モータコントローラ52,54で走行モータ26,28の目標回転数Na1と実回転数Nb1とを取得し、S91で、目標回転数Na1と実回転数Nb1との差(Na1−Nb1)が所定値δよりも大きいか否かを判定する。なお、所定値δは0としてもよい。S91の判定結果が肯定であればS92で比例制御ゲインを、別の大きい比例制御ゲインに変更し、各走行モータコントローラ52,54で増大した比例制御ゲインで走行モータ26,28を制御する。一方、S91で判定結果が否定であれば、S94で通常制御が実行される。通常制御では初期設定の制御ゲインが使用される。なお、S91で判定結果が肯定の場合に、それを表す信号をECU50に出力し、ECU50で比例制御ゲインを別の大きい比例制御ゲインに変更する指令を、対応する走行モータコントローラ52(または54)に出力することもできる。この場合、走行モータコントローラ52(または54)は、対応する走行モータ26,28の駆動を大きい比例制御ゲインで制御する。
このような構成によれば、各走行モータ26,28の実回転数Nb1をより迅速で、より精度よく目標回転数Na1に近づけることができ、制御精度の向上を図れ、運転者の操作フィーリングを向上することができる。なお、目標回転数Na1と実回転数Nb1との差(Na1−Nb1)が所定値δよりも大きい場合に、差(Na1−Nb1)が大きくなるのに応じて、段階的にまたは無段階で比例制御ゲインを増大させることもできる。また、上記では、走行モータ26,28の制御を行う場合を説明したが、デッキモータ42の制御に図16の構成を適用し、目標回転数と実回転数との差が大きい場合に比例制御ゲインを増大させることもできる。
図17は、実施形態の別例の第6例において、走行モータ26,28を制御する方法を示すフローチャートである。本例では、上記の図1から図3に示した構成と同様の構成を備えるが、ECU50は、走行モータ目標回転数算出部88で算出された左走行モータ26及び右走行モータ28のそれぞれの目標回転数から、左右両方の目標回転数の平均値Nmを算出する。ECU50は、平均値Nmが予め設定した所定値ηよりも大きいと判定した場合に、PI制御またはPID制御で各走行モータ26,28の回転数を制御する場合の比例制御ゲインを通常制御時よりも大きい別の比例制御ゲインに変更する。
このような構成により左右走行モータ26,28の回転数を制御する方法は、次のように行う。まず、図17のS100で、レバーセンサ46,48は左右レバー位置を検出し、検出したレバー位置を表す信号をECU50に出力する。S101でECU50は左右レバー位置に応じた各走行モータ26,28の目標回転数を算出し、各目標回転数の平均値Nmを算出する。S102では、ECU50は、平均値Nmが所定値ηよりも大きいか否かを判定し、S102の判定結果が肯定であれば、S103で各走行モータコントローラ52,54に比例制御ゲインを増大させる指令を出力する。この場合、各走行モータコントローラ52,54は、比例制御ゲインを通常制御時よりも大きい別の比例制御ゲインに変更し、増大した比例制御ゲインで走行モータ26,28を制御する。一方、S102で判定結果が否定であれば、S105で通常制御が実行される。通常制御では初期設定の比例制御ゲインが使用される。
このような構成によれば、車速に応じて比例制御ゲインが変更され、車速が高い場合に、各走行モータ26,28の実回転数をより迅速で、より精度よく目標回転数に近づけることができ、制御精度の向上を図れ、運転者の操作フィーリングを向上することができる。なお、左右走行モータ26,28の目標回転数の平均値Nmが所定値ηよりも大きい場合に、平均値Nmが大きくなるのに応じて、段階的にまたは無段階で比例制御ゲインを増大させることもできる。また、上記では、各走行モータ26,28の目標回転数の平均値Nmを検出された左右レバー位置から算出する場合を説明したが、アクセルペダルを用いる場合に、検出されたアクセルペダル位置から目標回転数の平均値を算出してもよい。
図18は、実施形態の別例の第7例において、デッキモータ42の回転数の制御に用いる制御ブロック図である。本例では、上記の図1から図3に示した構成と基本的に同様の構成を用いるが、各デッキモータコントローラ56は、デッキモータ42の目標回転数Na2を実回転数Nb2に一致させるようにフィードバック制御する場合に演算されるトルク増分指令値Tdが予め設定された所定値以下である場合に、目標回転数Na2を低下させるように制御を変更する機能を有する。具体的には、図18にブロック図で示すモータ制御部75が有する回転数制御部128は、第1演算部130、第2演算部132及び第3演算部134を有する。第1演算部130は、デッキモータ42の目標回転数Na2と実回転数Nb2との偏差の入力に応じてPI演算またはPID演算によりトルク増分指令値Tdを出力する。第2演算部132は、トルク増分指令値Tdの入力に応じてPI演算またはPID演算により回転数を出力する。第3演算部134は、トルク増分指令値Tdが所定値以下である場合にのみ機能し、トルク増分指令値Tdの入力に応じてPI演算またはPID演算により回転数低下分Neを出力する。第3演算部134が機能する場合に、付加減算器136で目標回転数Na2と第3演算部134の出力Neとの偏差(Na2−Ne)が演算され、その偏差(Na2−Ne)が基本減算器138に出力される。基本減算器138では、付加減算器136から出力された偏差(Na2−Ne)と実回転数Nb2との偏差が演算され、その偏差が第1演算部130に出力される。
このような構成によれば、デッキモータ42により芝を刈り取る場合に、実質的にデッキモータ42の制御のトルク増分指令値Tdにより芝の状態を判断できる。例えばデッキモータ42の負荷が過度に低い場合、芝刈りブレード周辺部に刈り取るための芝がないかまたは少ないと判断でき、第3演算部134でデッキモータ42の回転数を低下させることができる。このため、デッキモータ42で消費される消費電流の低減を図れるとともに、芝刈りブレードの空回り時の回転速度を低下させ、不要時の芝刈りブレードの回転音の発生を抑制して騒音を低減することができる。例えば、第1演算部130から出力されるトルク増分指令値Tdが所定値以下である場合、第3演算部134が機能する。この場合、第3演算部134が、トルク増分指令値Tdから演算した回転数Neを出力し、付加減算器136で目標回転数Na2が回転数Neで減算され、減算された目標回転数(Na2−Ne)が基本減算器138に出力される。このため、実回転数Nb2が低下し、消費電流及び騒音の低減を図れる。
一方、図19は、比較例において、デッキモータの回転数の制御に用いる制御ブロック図である。比較例は、芝刈車両で常に一定の目標回転数で芝を刈り取る構造を有する。図19のブロック図は、図18で第3演算部134を省略した構成と同様である。このような比較例では、デッキモータの駆動源であるバッテリの容量によりデッキモータの動作時間が限定される。また、比較例では、デッキモータの負荷が低い場合でも芝刈りブレードの回転数が高くなり、騒音が大きくなる可能性がある。図18の構成によればこのような不都合を防止できる。
なお、上記では図18の構成で、トルク増分指令値Tdが低い場合に目標回転数Na2を低下させる場合を説明したが、図18の構成で、トルク増分指令値Tdが高い場合に目標回転数Na2を増大させることもできる。この場合、第3演算部134は、トルク増分指令値Tdが予め設定した第2所定値以上である場合にのみ機能させ、トルク増分指令値Tdの入力に応じてPI演算またはPID演算により回転数増大分を出力する。この場合、付加減算器136の代わりに付加加算器を用いて、第3演算部134から出力された回転数増大分を目標回転数Na2に加算する。その他の構成は、上記の図18で説明した構成と同様である。
このような構成によれば、デッキモータ42の負荷が過度に高い場合、芝の刈り取り前、または芝が過度に密集していると判断でき、第3演算部134でデッキモータ42の目標回転数を増大させることができる。なお、上記の図18の構成で、トルク増分指令値Tdが所定値以下である場合と、第2所定値以上である場合との両方のみで第3演算部134を機能させることもできる。この場合、トルク増分指令値Tdが所定値以下である場合、第3演算部134から付加減算器136に回転数低下分Neを出力し、トルク増分指令値Tdが第2所定値以上である場合、第3演算部134から付加加算器に回転数増大分を出力する。この場合には、負荷が過度に低い場合と過度に高い場合との両方でそれぞれに応じた処理を実行できる。
また、図示は省略するが、別の実施形態として、各デッキモータ42の駆動開始時に、通常動作する正回転方向と逆方向にデッキモータ42を回転させるように、逆トルクを発生させるように制御する構成を採用することもできる。この場合、逆方向への逆回転は、予め設定した角度分または所定時間分発生させる。そして逆回転後に正回転を実行させる。このような制御は、各デッキモータコントローラ56で実行する。この場合、正回転と逆回転とを予め設定した回数(例えば、2,3回)分、交互に繰り返し実行させることもできる。また、各デッキモータコントローラ56で、デッキモータ42の検出電流から算出される負荷トルクが所定値以上の場合、または目標回転数及び実回転数の差が所定値以上の場合に負荷が過度に大きいと判断し、その場合にのみ、上記の逆回転後の正回転動作を行う正逆回転制御を実行させることもできる。この場合、ECU50から正逆回転制御の実行指令を各デッキモータコントローラ56へ出力してもよい。
このような構成によれば、芝刈り動作の初期時にデッキモータ42の逆回転を行うので、芝刈りブレードの駆動初期時に芝刈りブレードと芝との間に隙間がない場合でも、逆回転で隙間を大きくした状態で正回転動作を実行でき、芝刈りブレードが芝に衝突する際の初期速度を高くして芝の刈り取り動作不良が生じにくくなる。一方、このような構成を採用しない場合、デッキモータ42の駆動初期時に回転方向が一定となるため、密集した芝の刈り取り初期時にデッキモータ42の発生トルクを有効に利用できない可能性がある。上記の構成によればこのような不都合を防止できる。
図20は、別の実施形態のコントローラユニット14の構成を示すブロック図であって、図2に対応するブロック図である。本実施形態では、上記の図1から図10の実施形態において、左走行モータコントローラ52及び図3で参照される右走行モータコントローラ54とデッキモータコントローラ56とは、それぞれモータ目標実回転数差算出部104,108を有しない。その代わりに、左走行モータコントローラ52と右走行モータコントローラ54とは、モータ実回転数算出部103を有し、モータ実回転数算出部103は、回転角度センサ92から受け取った各走行モータ26,28の回転角度の検出値からモータの運転状態としてそれぞれの実回転数Nb1を算出し、ECU50に実回転数Nb1を表す信号を出力する。
同様に、デッキモータコントローラ56は、モータ実回転数算出部107を有し、モータ実回転数算出部107は、回転角度センサ98から受け取った各デッキモータ42の回転角度の検出値からモータの運転状態としてそれぞれの実回転数Nb2を算出し、ECU50に実回転数Nb2を表す信号を出力する。
ECU50は、走行モータ目標実回転数差算出部105とデッキモータ目標実回転数差算出部109と過負荷判定部140とを有する。走行モータ目標実回転数差算出部105は、各走行モータコントローラ52,54から入力された信号が表す実回転数Nb1と、対応する走行モータ26,28の目標回転数Na1とに基づいて、対応する走行モータ26,28が過負荷であるか否かを判定する。具体的には、走行モータ目標実回転数差算出部105は、走行モータ26,28の目標回転数Na1から、対応する走行モータ26,28について算出された実回転数Nb1を減算することで目標実回転数差Nd1(=Na1−Nb1)を算出する。過負荷判定部140は、走行モータ目標実回転数差算出部105から目標実回転数差Nd1を受け取って、目標実回転数差Nd1が予め設定した閾値α1以上であるか否かを判定し、閾値α1以上であると判定された場合に過負荷であると判定し、その過負荷が予め設定された所定時間以上生じた場合に、過負荷処理部55に過負荷判定信号を出力する。
同様に、デッキモータ目標実回転数差算出部109は、各デッキモータコントローラ56から入力された信号が表す実回転数Nb2と、対応するデッキモータ42の目標回転数Na2とに基づいて、対応するデッキモータ42が過負荷であるか否かを判定する。具体的には、デッキモータ目標実回転数差算出部109は、各デッキモータ42の目標回転数Na2から、対応するデッキモータ42について算出された実回転数Nb2を減算することで目標実回転数差Nd2(=Na2−Nb2)を算出する。過負荷判定部140は、デッキモータ目標実回転数差算出部109から目標実回転数差Nd2を受け取って、目標実回転数差Nd2が予め設定した閾値α2以上であるか否かを判定し、閾値α2以上であると判定された場合に過負荷であると判定し、その過負荷が予め設定された所定時間以上生じた場合に、過負荷処理部55に過負荷判定信号を出力する。
過負荷処理部55は、走行モータ目標実回転数差算出部105とデッキモータ目標実回転数差算出部109とのうちの少なくとも1つから過負荷判定信号が入力された場合に、上記の図4から図10で説明した予め設定された過負荷対応処理を実行する。例えば、デッキモータ42が過負荷である場合に、過負荷処理部55は、過負荷対応処理として、各走行モータ26,28を通常制御の場合に比べて減速させるように目標回転数を変化させる。
さらに、過負荷処理部55は、左右走行モータ26,28の減速後、デッキモータ42の過負荷が予め設定された所定時間以上さらに継続された場合に、すべてのデッキモータ42を停止させるように目標回転数を変化させる。
このような実施形態の芝刈車両のモータ制御システムは、走行モータおよび補助モータと、走行モータコントローラ及び補助モータコントローラと、メインコントローラとを備える。各モータコントローラは、対応するモータの運転状態を表す信号をメインコントローラへ出力する。メインコントローラは、少なくとも1つのモータコントローラから入力されたモータの運転状態として、対応するモータの実回転数を表す信号に基づいて、モータが過負荷であるか否かを判定し、モータが予め設定された所定時間以上過負荷である場合に予め設定された過負荷対応処理を実行する。メインコントローラは、少なくとも1つのモータコントローラから入力された信号が表すモータの実回転数と、モータの目標回転数との差に基づいて、モータが過負荷であるか否かを判定する。
このような構成によれば、モータの過負荷が迅速に緩和または解消されてモータの保護を図れる。例えばデッキモータ42の少なくとも1つに所定時間以上の過負荷が生じた場合に、過負荷対応処理として走行モータ26,28の減速が行われる場合、デッキモータ42にバッテリから供給される電流が不足することがなく、過負荷が迅速に緩和または解消される。その他の構成及び作用は、上記の図1から図10の実施形態と同様である。