以下、本発明の実施の形態について、電動アシスト車の一例である電動アシスト自転車の例をもって説明する。しかしながら、本発明の実施の形態は、電動アシスト自転車だけに適用対象を限定するものではなく、人力に応じて移動する移動体(例えば、台車、車いす、昇降機など)の移動を補助するモータなどに対するモータ駆動制御装置についても適用可能である。
[実施の形態1]
図1は、本実施の形態における電動アシスト車の一例である電動アシスト自転車の一例を示す外観図である。この電動アシスト自転車1は、モータ駆動装置を搭載している。モータ駆動装置は、バッテリパック101と、モータ駆動制御装置102と、トルクセンサ103と、ペダル回転センサ104と、モータ105と、操作パネル106と、ブレーキセンサ107とを有する。
また、電動アシスト自転車1は、前輪、後輪、前照灯、フリーホイール、変速機等も有している。
バッテリパック101は、例えばリチウムイオン二次電池であるが、他種の電池、例えばリチウムイオンポリマー二次電池、ニッケル水素蓄電池などであってもよい。そして、バッテリパック101は、モータ駆動制御装置102を介してモータ105に対して電力を供給し、回生時にはモータ駆動制御装置102を介してモータ105からの回生電力によって充電も行う。
トルクセンサ103は、クランク軸周辺に設けられており、運転者によるペダルの踏力を検出し、この検出結果をモータ駆動制御装置102に出力する。また、ペダル回転センサ104は、トルクセンサ103と同様に、クランク軸周辺に設けられており、回転に応じた信号をモータ駆動制御装置102に出力する。
モータ105は、例えば周知の三相直流ブラシレスモータであり、例えば電動アシスト自転車1の前輪に装着されている。モータ105は、前輪を回転させるとともに、前輪の回転に応じてローターが回転するように、ローターが前輪に連結されている。さらに、モータ105はホール素子等の回転センサを備えてローターの回転情報(すなわちホール信号)をモータ駆動制御装置102に出力する。
モータ駆動制御装置102は、モータ105の回転センサ、ブレーキセンサ107、トルクセンサ103及びペダル回転センサ104等からの信号に基づき所定の演算を行って、モータ105の駆動を制御し、モータ105による回生の制御も行う。
操作パネル106は、例えばアシストの有無に関する指示入力(すなわち、電源スイッチのオン及びオフ)、アシスト有りの場合には希望アシスト比等の入力をユーザから受け付けて、当該指示入力等をモータ駆動制御装置102に出力する。また、操作パネル106は、モータ駆動制御装置102によって演算された結果である走行距離、走行時間、消費カロリー、回生電力量等のデータを表示する機能を有する場合もある。また、操作パネル106は、LED(Light Emitting Diode)などによる表示部を有している場合もある。これによって、例えばバッテリパック101の充電レベルや、オンオフの状態、希望アシスト比に対応するモードなどを運転者に提示する。
ブレーキセンサ107は、運転者のブレーキ操作を検出して、ブレーキ操作に関する信号(例えば、ブレーキの有無を表す信号)をモータ駆動制御装置102に出力する。具体的には、磁石とリードスイッチを用いたセンサである。
本実施の形態に係るモータ駆動制御装置102に関連する構成を図2に示す。モータ駆動制御装置102は、制御器1020と、FET(Field Effect Transistor)ブリッジ1030とを有する。FETブリッジ1030は、モータ105のU相についてのスイッチングを行うハイサイドFET(Suh)及びローサイドFET(Sul)と、モータ105のV相についてのスイッチングを行うハイサイドFET(Svh)及びローサイドFET(Svl)と、モータ105のW相についてのスイッチングを行うハイサイドFET(Swh)及びローサイドFET(Swl)とを含む。このFETブリッジ1030は、コンプリメンタリ型スイッチングアンプの一部を構成している。
また、制御器1020は、演算部1021と、ペダル回転入力部1022と、モータ回転入力部1024と、可変遅延回路1025と、モータ駆動タイミング生成部1026と、トルク入力部1027と、ブレーキ入力部1028と、AD(Analog-Digital)入力部1029とを有する。
演算部1021は、操作パネル106からの入力(例えばアシストのオン/オフなど)、ペダル回転入力部1022からの入力、モータ回転入力部1024からの入力、トルク入力部1027からの入力、ブレーキ入力部1028からの入力、AD入力部1029からの入力を用いて所定の演算を行って、モータ駆動タイミング生成部1026及び可変遅延回路1025に対して出力を行う。なお、演算部1021は、メモリ10211を有しており、メモリ10211は、演算に用いる各種データ及び処理途中のデータ等を格納する。さらに、演算部1021は、プログラムをプロセッサが実行することによって実現される場合もあり、この場合には当該プログラムがメモリ10211に記録されている場合もある。また、メモリ10211は、演算部1021とは別に設けられる場合もある。
ペダル回転入力部1022は、ペダル回転センサ104からの、ペダル回転位相角(クランク回転位相角とも呼ぶ。なお、回転方向を表す信号を含む場合もある)を、ディジタル化して演算部1021に出力する。モータ回転入力部1024は、モータ105が出力するホール信号からモータ105の回転(本実施の形態においては前輪の回転)に関する信号(例えば回転位相角、回転方向など)を、ディジタル化して演算部1021に出力する。トルク入力部1027は、トルクセンサ103からの踏力に相当する信号をディジタル化して演算部1021に出力する。ブレーキ入力部1028は、ブレーキセンサ107からのブレーキ有り又は無しを表す信号をディジタル化して演算部1021に出力する。AD入力部1029は、二次電池からの出力電圧をディジタル化して演算部1021に出力する。
演算部1021は、演算結果として進角値を可変遅延回路1025に出力する。可変遅延回路1025は、演算部1021から受け取った進角値に基づきホール信号の位相を調整してモータ駆動タイミング生成部1026に出力する。演算部1021は、演算結果として例えばPWM(Pulse Width Modulation)のデューティー比に相当するPWMコードをモータ駆動タイミング生成部1026に出力する。モータ駆動タイミング生成部1026は、可変遅延回路1025からの調整後のホール信号と演算部1021からのPWMコードとに基づいて、FETブリッジ1030に含まれる各FETに対するスイッチング信号を生成して出力する。演算部1021の演算結果によって、モータ105は、力行駆動される場合もあれば、回生駆動される場合もある。なお、モータ駆動の基本動作については、国際公開第2012/086459号パンフレット等に記載されており、本実施の形態の主要部ではないので、ここでは説明を省略する。
次に、図3に、演算部1021における回生制御部3000に関連する機能ブロック構成例(本実施の形態に係る部分)を示す。回生制御部3000は、回生目標算出部3100と、基準速度設定部3200と、制御部3300とを有する。なお、演算部1021は、モータ回転入力部1024からのモータ回転入力から電動アシスト自転車1の速度及び加速度(速度の時間変化量)を算出するモータ回転処理部2000を有している。
回生目標算出部3100は、速度又は加速度等に応じて予め定められた回生目標量を、現在の速度又は加速度等から特定して出力する。基準速度設定部3200は、ブレーキ入力部1028からのブレーキ入力と、モータ回転処理部2000からの速度及び加速度とから、回生制御を行う上で基準となる速度である基準速度を設定する。
制御部3300は、ブレーキ入力部1028からのブレーキ入力、基準速度設定部3200からの基準速度と、モータ回転処理部2000からの速度及び加速度と、回生目標算出部3100からの回生目標量と、ペダル回転入力部1022からのペダル回転入力と、トルク入力部1027からのペダルトルク入力とに基づき、回生量を算出して当該回生量に従って回生制御を行う。本実施の形態では、制御部3300は、得られたデータから回生係数を決定し、当該回生係数を回生目標量に対して乗ずることで、回生量を算出する。なお、制御部3300は、本実施の形態に係る回生制御のみならず、他の観点に基づく回生制御も行う。例えば、加速度又は速度に基づく自動回生制御をブレーキ操作前に行っても良い。また、ブレーキセンサ107がオンになったことを検出した時点からブレーキセンサ107がオフになったことを検出した時点まで、所定の回生量による自動回生制御を行っても良い。
なお、回生を行わない場合には、演算部1021は、従来の力行駆動を行うようにモータ駆動タイミング生成部1026、可変遅延回路1025及びFETブリッジ1030を介してモータ105を駆動する。一方、回生を行う場合には、演算部1021は、制御部3300が出力する回生量を実現するように、モータ駆動タイミング生成部1026、可変遅延回路1025及びFETブリッジ1030を介してモータ105を回生駆動する。
本実施の形態によれば、例えば下り坂を下っている際に、速度が上昇してユーザが危険を感じるとブレーキをかける、という基本動作に着目する。すなわち、急ブレーキではない通常のブレーキ操作の場合には、ブレーキをかけたタイミング(ブレーキセンサ107がオン)ではなく、ブレーキレバーを放したタイミング(ブレーキセンサ107がオフ)における電動アシスト自転車1の速度が、ユーザが好ましいと感じた速度であると推定して、その速度を基準にして速度上昇を抑制する。一方、急ブレーキが行われた場合には、ブレーキレバーを放したタイミングにおける電動アシスト自転車1の速度ではなく、ブレーキをかけたタイミングにおける電動アシスト自転車1の速度が、ユーザの意図する速度であると推定して、その速度を基準にして速度上昇を抑制する。
このような回生制御によって生ずる回生制動により、ユーザによるブレーキ操作の頻度や時間を削減してユーザの手間を削減すると共に、バッテリに対する充電量を増加させることができる。さらに、ユーザの意図に従った走行状態を実現するように回生量が制御されるので、より快適な走行が行えるようになる。
次に、図4乃至図9を用いて図3に示した回生制御部3000の処理内容について説明する。
まず、基準速度設定部3200は、ブレーキがOFFからONに変化したか否かを、ブレーキ入力部1028からのブレーキ入力から判断する(ステップS1)。ブレーキがOFFからONに変化したと判断した場合には(ステップS1:Yesルート)、基準速度設定部3200は、第1の基準候補速度V1に、モータ回転処理部2000からの現在の速度を設定する(ステップS3)。そして処理は端子Aを介して図5の処理に移行する。
一方、ブレーキがOFFからONに変化していないと判断した場合には(ステップS1:Noルート)、基準速度設定部3200は、ブレーキがONからOFFに変化したか否かを、ブレーキ入力部1028からのブレーキ入力から判断する(ステップS5)。ブレーキがONからOFFに変化していないと判断した場合には(ステップS5:Noルート)、処理は端子Aを介して図5の処理に移行する。一方、ブレーキがONからOFFに変化したと判断した場合には(ステップS5:Yesルート)、基準速度設定部3200は、第2の基準候補速度V2に、モータ回転処理部2000からの現在の速度を設定する(ステップS7)。さらに、基準速度設定部3200は、ブレーキがONからOFFに変化したか否かを表す第1フラグをON(ブレーキがONからOFFに変化した)に設定する(ステップS9)。そして処理は、端子Aを介して図5の処理に移行する。
図5の処理の説明に移行して、基準速度設定部3200は、ブレーキがONになっているか否かを、ブレーキ入力部1028からのブレーキ入力から判断する(ステップS11)。ブレーキがONになっている場合には(ステップS11:Yesルート)、基準速度設定部3200は、ブレーキがOFFからONに変化したことを検出した後におけるモータ回転処理部2000からの加速度のうち最小の加速度(加速度が負の値であり、その加速度の絶対値の最大値)が、急ブレーキを判定するための閾値TH1(<0)以下になっているか否かを判断する(ステップS13)。本実施の形態では、急ブレーキの有無を、加速度で判定する例を示すが、ブレーキがONになってから最小の加速度に至るまでの時間をも加味して判断するようにしても良い。
ステップS13における条件を満たしていない場合には(ステップS13:Noルート)、処理は端子Bを介して図6の処理に移行する。一方、ブレーキがOFFからONに変化したことを検出した後における最小の加速度が、急ブレーキを判定するための閾値TH1以下になっていると判断した場合には(ステップS13:Yesルート)、基準速度設定部3200は、急ブレーキの有無を表す第2フラグをON(急ブレーキ有り)に設定する(ステップS15)。そして処理は端子Bを介して図6の処理に移行する。
ステップS11で、ブレーキがONになっていない、すなわちブレーキがOFFになっていると判断されると(ステップS11:Noルート)、基準速度設定部3200は、ブレーキがONからOFFに変化したか否かを表す第1フラグがONであるか否かを判断する(ステップS17)。第1フラグがOFFであれば(ステップS17:Noルート)、処理は端子Bを介して図6の処理に移行する。一方、第1フラグがONであれば(ステップS17:Yesルート)、基準速度設定部3200は、急ブレーキの有無を表す第2フラグがONであるか否かを判断する(ステップS19)。第2フラグがOFFである場合(ステップS19:Noルート)、基準速度設定部3200は、基準速度V0に、第2の基準候補速度V2を設定する(ステップS23)。すなわち、ブレーキがOFFになったと検出した時点における速度を基準速度に設定する。そして、基準速度設定部3200は、基準速度V0を制御部3300に出力する。その後処理はステップS27に移行する。
一方、第2フラグがONである場合(ステップS19:Yesルート)、基準速度設定部3200は、基準速度V0に、第1の基準候補速度V1を設定する(ステップS21)。すなわち、ブレーキがONになったと検出した時点における速度を基準速度に設定する。また、基準速度設定部3200は、基準速度V0を制御部3300に出力する。そして、基準速度設定部3200は、第2フラグをOFFに設定する(ステップS25)。次の急ブレーキ検出のためである。さらに、基準速度設定部3200は、基準速度に基づく回生制御を許可するための第3フラグをONに設定すると共に、ブレーキがONからOFFに変化したか否かを表す第1フラグをOFFに設定する(ステップS27)。第1フラグのOFFは、次のブレーキ操作に備えるためである。その後処理は端子Bを介して図6の処理に移行する。
図6の処理の説明に移行して、制御部3300は、ペダル回転入力部1022からのペダル回転入力から特定されるペダル回転角度(例えば直前の単位時間内におけるペダル回転角度)が閾値TH2未満であるか否かを判断する(ステップS31)。ユーザが意図的にペダルを回転させている場合には、本回生制御を行うことが不適切だからである。ステップS31の条件を満たさない場合には(ステップS31:Noルート)、制御部3300は、基準速度に基づく回生制御を許可するための第3フラグをOFFに設定する(ステップS37)。そして処理はステップS39に移行する。
一方、ペダル回転角度が閾値TH2未満である場合には(ステップS31:Yesルート)、制御部3300は、トルク入力部1027からのペダルトルク入力が閾値TH3未満であるか否かを判断する(ステップS33)。ユーザが意図的にペダルを漕いでペダルトルク入力を行っている場合には、本回生制御を行うことが不適切だからである。ステップS33の条件を満たさない場合には(ステップS33:Noルート)、処理はステップS37に移行する。一方、ペダルトルク入力が閾値TH3未満である場合(ステップS33:Yesルート)、制御部3300は、モータ回転処理部2000からの現在の速度が閾値TH4を超えているか否かを判断する(ステップS35)。ある程度の速度が出ていない場合に本回生制御を行うことが不適切だからである。現在の速度が閾値TH4以下であれば(ステップS35:Noルート)、処理はステップS37に移行する。
現在の速度が閾値TH4を超えている場合には(ステップS35:Yesルート)、制御部3300は、第3フラグがONになっているか否かを判断する(ステップS39)。第3フラグがOFFになっている場合(ステップS39:Noルート)、本実施の形態に係る回生制御を行うことは不適切なので、制御部3300は、他の条件にて回生量(0の場合もある)を決定して、当該回生量に従ったモータ105の回生駆動をFETブリッジ1030などに行わせる(ステップS47)。そして処理はステップS49に移行する。
一方、第3フラグがONになっている場合(ステップS39:Yesルート)、制御部3300は、モータ回転処理部2000からの現在の速度が基準速度V0を超えているか否かを判断する(ステップS41)。本実施の形態では、基準速度V0を超えている場合に回生制動にて速度を抑制することにしているので、現在の速度が基準速度V0以下であれば、本実施の形態に係る回生制御を行わないものとしている。但し、現在の回生係数よりも小さい回生係数を用いるような制御を行うようにしても良い。
本実施の形態では、現在の速度が基準速度V0以下であれば(ステップS41:Noルート)、処理はステップS47に移行する。一方、現在の速度が基準速度V0を超えている場合には、制御部3300は、ΔV(=現在速度-V0)に基づき回生係数を設定する(ステップS43)。例えば、ΔVと回生係数[%]の対応関係を予め定めておく。この対応関係の一例を図7に示す。図7の例では、縦軸は回生係数[%]を表しており、横軸はΔV[km/h]を表している。例えば、ΔV=0の時の回生係数がRMIN(0であってもよいし、0を超える値である場合もある)であり、ΔV=v1(所定値)の時の回生係数がRMAX(100であってもよいし、100未満の値である場合もある)である直線aで表される対応関係であってもよい。また、ΔV=0の時の回生係数がRMIN(0であってもよいし、0を超える値である場合もある)であり、ΔV=v1の時の回生係数がRMAX(100であってもよいし、100未満の値である場合もある)である指数関数の曲線bで表される関係であってもよい。その他の関数で表される曲線であってもよい。また、単純なΔVではなく、(現在の速度-V0)項を含む他の指標値を基に回生係数を決定しても良い。
なお、決定された回生係数をそのまま採用すると、加速度の大幅変化によるショックをユーザに与えることになるので、ブレーキがOFFになったことを検出した時点から、決定された回生係数まで漸増させるような制御も行う。
制御部3300は、回生目標算出部3100から出力された現在の回生目標量に対して回生係数を乗ずることで回生量を決定し、当該回生量に従って回生制御を行う(ステップS45)。そして処理はステップS49に移行する。
ステップS1乃至S47の処理については、ユーザなどによって処理の終了が指示されるまで繰り返される(ステップS49)。処理の終了が指示されなければ処理は端子Cを介して図4のステップS1に戻る。一方、処理の終了が指示されれば、そこで処理を終了する。なお、ステップS1乃至S47については、単位時間毎に実行される。
このような処理を実行することで、ブレーキ操作に現れるユーザの意図と推定される基準速度に基づく回生制御を行うことができるようになる。
次に、図8及び図9を用いて本実施の形態に係る回生制御の例を説明する。図8は、通常のブレーキ操作が行われた場合を示している。図8において、右の縦軸は速度を表し、左の縦軸は回生係数を表しており、横軸は時間[s]を表す。
図8の例では、例えば下り坂を下っている場合を想定しており、一点鎖線で表す速度Vは、徐々に増加していく。時刻t1になると、ユーザが危険を感じてブレーキをかけて、ブレーキセンサ107がONを出力する。時刻t1における速度が第1の基準候補速度V1である。その後、ブレーキセンサ107がONを出力している間は電動アシスト自転車1は減速して、時刻t2になると、十分減速したためユーザはブレーキを放し、ブレーキセンサ107がOFFを出力する。時刻t2における速度が第2の基準候補速度V2である。本例では、急ブレーキでは無いので、基準速度V0=V2となる。
時刻t2で基準速度V0=V2が設定されると、太い点線で表されるように第3フラグがONに設定され、本実施の形態に係る回生制御が開始される。但し、本実施の形態に係る回生制御では、時刻t2までは回生係数が0となっているので、時刻t2でブレーキが放されると、再度速度Vは増加するようになる。また、本実施の形態に係る回生制御では、ΔV(=現在速度-V0)に応じた回生係数が設定されるが、この例では時刻t3になるまで、速度Vが徐々に増加するので、二点鎖線で表されるΔVも徐々に増加して、ΔVに応じて回生係数も増加する。時刻t3になると、速度Vの増加が抑えられて一定速度になり、ΔVも一定値となる。よって、回生係数も一定値で維持される。
このような処理にて、基準速度V0=V2からの、現在速度の乖離度合いに応じた回生係数が設定され、速度の増加が抑制される。なお、上でも述べたように、加速度などに基づき時刻t1までにおいても回生を行っても良い。また、ブレーキセンサ107がONになっている時間である、時刻t1から時刻t2までの時間においても、ブレーキセンサ107がONに応じた回生を行っても良い。
また、この例では、上限よりも小さい値の回生係数と速度とΔVとが均衡して一定値で維持される例を示したが、下り坂の状態によっては、速度が減少して、ΔVが減少するため、回生係数も徐々に減少するような場面も生じ得る。同様に、速度が再度増加して、ΔVが増加するため、回生係数も徐々に増加するような場面も生じ得る。
また、図9は、急ブレーキが行われた場合を示している。図9において、右の縦軸は速度を表し、左の縦軸は回生係数を表しており、横軸は時間を表す。
図9の例でも、例えば下り坂を下っている場合を想定しており、一点鎖線で表す速度Vは、徐々に増加していく。時刻t5になると、ユーザが危険を感じて急ブレーキをかけて、ブレーキセンサ107がONを出力する。時刻t5における速度が第1の基準候補速度V1である。急ブレーキなので、ブレーキセンサ107がONを出力している間は電動アシスト自転車1は急速に減速して、時刻t6になるとユーザはブレーキを放し、ブレーキセンサ107がOFFを出力する。時刻t6における速度が第2の基準候補速度V2である。本例では、急ブレーキの例であるから、基準速度V0=V1となる。
時刻t6で基準速度V0=V1が設定されると、太い点線で表されるように第3フラグがONに設定され、本実施の形態に係る回生制御が開始される。但し、本実施の形態に係る回生制御では、時刻t6までは回生係数が0となっているので、時刻t6でブレーキが放されると、再度速度Vは増加するようになる。
図8の例では、ブレーキセンサ107がOFFになった時点の速度が基準速度になっているので、直ぐに現在の速度>V0となるが、図9の例では、V2<V1となるので、直ぐには回生係数の値は決定されない。時刻t7で速度が再度V1(=V0)に達すると、本実施の形態に係る回生制御では、ΔV(=現在速度-V0)に応じた回生係数が設定されるが、ΔVが0から漸増しているので、太い実線で表されるように回生係数も漸増する。
この例では時刻t7以降、速度Vが徐々に増加するので、二点鎖線dで表されるΔVも徐々に増加するが、回生係数も増加するので、速度の増加はそれまでより抑制されている。但し、時刻t8で回生係数が上限である100%に達してしまうので、これ以上回生制動は増加しなくなる。従って、時刻t8以降では、それまでより速度増加は抑制されているが、ΔVも増加してしまう。
このような処理にて、基準速度V0=V1からの、現在速度の乖離度合いに応じた回生係数が設定され、速度の増加が抑制される。但し、回生係数が上限に達すれば、それ以上の回生制動は行われないので、路面の傾斜によっては、十分な減速が得られず、再度ブレーキ操作がなされる場合もある。次のブレーキ操作では、通常のブレーキ操作と判定される場合もある。
なお、図10におけるステップS31乃至S35の3条件については、全てをチェックするのでは無く、少なくともいずれか1つで十分である場合もある。また、これらについてはこの順番で判断するのでは無く、異なる順番で判断したり、並列に判断するようにしても良い。
[実施の形態1の変形]
第1の実施の形態では、ΔVと回生係数との対応関係を予め定めておき、現在のΔVに対応する回生係数を特定するようにしていたが、加速度と回生係数との対応関係を予め定めておき、現在の加速度に対応する回生係数を特定するようにしても良い。
すなわち、図6の処理を、図10の処理に置き換える。
図10においても、図6と同じ処理については同じステップ番号を付している。具体的に変更された部分は、図6のステップS43がステップS101で置換されている部分である。
本実施の形態では、ステップS101で、制御部3300は、モータ回転処理部2000からの現在の加速度に対応する回生係数を設定する。例えば、加速度と回生係数との対応関係を予め定めておき、現在の加速度に対応する回生係数を特定するようにする。より具体的には、図11に示すような対応関係を定めておく。
図11の例では、縦軸は回生係数[%]を表し、横軸は加速度[G]を表す。ここでは、加速度=0の時の回生係数がRMIN(0であってもよいし、0を超える値である場合もある)であり、加速度=aref(所定値)の時の回生係数がRMAX(100であってもよいし、100未満の値である場合もある)である直線cで表される対応関係であってもよい。また、加速度=0の時の回生係数がRMIN(0であってもよいし、0を超える値である場合もある)であり、加速度=arefの時の回生係数がRMAX(100であってもよいし、100未満の値である場合もある)である指数関数の曲線dで表される関係であってもよい。その他の関数で表される曲線であってもよい。
本実施の形態によっても、現在の速度が基準速度より大きい場合には、現在の加速度に応じた回生量が決定されて回生制御がなされるので、速度増加が抑制され、充電量が増加する。また、ブレーキ操作に現れるユーザの意図と推定される基準速度に基づく回生制御を行うことができるようになる。
[実施の形態2]
第1の実施の形態及びその変形では、ブレーキセンサ107を用いてユーザによるブレーキ操作を把握していたが、ブレーキセンサ107の分だけコストが増加する。本実施の形態では、ブレーキセンサ107を用いないでブレーキ操作を推定する場合の処理について説明する。
本実施の形態では、第1の実施の形態における図4乃至図6のうち、図4の代わりに図12の処理を実行し、図5の代わりに図13の処理を実行する。図6の処理については同じであるから説明を省略する。
まず、図12の処理について説明する。
基準速度設定部3200は、ブレーキ操作の有無の推定結果を表すブレーキフラグがOFFであるか否かを判断する(ステップS200)。ブレーキフラグがOFFである、すなわち、ブレーキ操作が無いと推定されている状態である場合(ステップS200:Yesルート)、基準速度設定部3200は、モータ回転処理部2000からの現在の加速度が閾値TH11以下であるか否かを判断する(ステップS201)。閾値TH11は、ブレーキがONになったことを検出するために予め設定される閾値である。
通常のブレーキ操作を行った場合における加速度の時間変化の一例を図14に示す。図14において(a)は、加速度の時間変化を表し、(b)ブレーキフラグのON/OFFの時間変化を表す。なお、閾値TH11は例えば-50mGであり、閾値TH12は例えば0である。加速度は一旦増加した後、時刻t11において閾値TH11以下になるので、ブレーキフラグがONになる。その後、時刻t13まで加速度は指数関数的に減少し、時刻t13で加速度が最小になる。最小の加速度をa1と記すものとする。最小の加速度は、ブレーキ操作毎に異なるが、絶対値が最大となる負の加速度である。時刻t13の後に、加速度は徐々に増加し、その後急に増加するようにもなり、時刻t12で閾値TH12以上となると、ブレーキフラグがOFFになる。なお、加速度aminは、本実施の形態において急ブレーキを判定するための閾値であって、予め設定される。
現在の加速度が閾値TH11以下である場合には(ステップS201:Yesルート)、基準速度設定部3200は、モータ回転処理部2000からの現在の速度を、第1の基準候補速度V1に設定する(ステップS203)。また、基準速度設定部3200は、ブレーキフラグをONにセットする(ステップS205)。その後処理は端子Dを介して図13の処理に移行する。
一方、現在の加速度が閾値TH11を超えている場合には(ステップS201:Noルート)、処理は端子Dを介して図13の処理に移行する。これにより、ブレーキフラグがOFFの状態で現在の加速度が閾値TH11以下である場合にのみステップS203に移行することになる。これに対して、ブレーキフラグがOFFではない、すなわちブレーキフラグがONであって、ブレーキ操作があったことが推定される場合(ステップS200:Noルート)、基準速度設定部3200は、現在の加速度が閾値TH12以上となっているか否かを判断する(ステップS209)。閾値TH12は、ブレーキがOFFになったことを検出するために予め設定される閾値である。
現在の加速度が閾値TH12未満である場合には(ステップS209:Noルート)、処理は端子Dを介して図13の処理に移行する。一方、現在の加速度が閾値TH12以上である場合には(ステップS209:Yesルート)、基準速度設定部3200は、現在の速度を、第2の基準候補速度V2に設定する(ステップS211)。また、基準速度設定部3200は、ブレーキフラグをOFFにセットする(ステップS213)。後の処理のためである。さらに、基準速度設定部3200は、ブレーキがONからOFFに変化したか否かを表す第1フラグをON(ブレーキがONからOFFに変化した)に設定する(ステップS215)。そして処理は、端子Dを介して図13の処理に移行する。
図13の処理の説明に移行して、基準速度設定部3200は、現在の加速度が閾値TH12未満であるか否かを判断する(ステップS217)。すなわち、ブレーキがまだONであるか否かを判断するものである。現在の加速度が閾値TH12未満である場合には(ステップS217:Yesルート)、基準速度設定部3200は、現在の加速度が、これまでの最小加速度a1より小さいか否かを判断する(ステップS219)。最小加速度a1の初期値は、例えば0である。ステップS219の条件が満たされない場合には(ステップS219:Noルート)、最小加速度a1を更新すること無く、処理は端子Bを介して図6の処理に移行する。
一方、現在の加速度がこれまでの最小加速度a1未満である場合には(ステップS219:Yesルート)、基準速度設定部3200は、最小加速度a1に対して、現在の加速度を設定する(ステップS221)。そして処理は端子Bを介して図6の処理に移行する。
ステップS217で現在の加速度が閾値TH12以上であると判断された場合には(ステップS217:Noルート)、基準速度設定部3200は、ブレーキがONからOFFに変化したか否かを表す第1フラグがON(ブレーキがONからOFFに変化した)になっているか否かを判断する(ステップS223)。第1フラグがOFFである場合(ステップS223:Noルート)、処理は端子Bを介して図6の処理に移行する。
一方、第1フラグがONである場合には(ステップS223:Yesルート)、基準速度設定部3200は、最小の加速度a1が、急ブレーキを判定するための閾値amin以上であるか否かを判断する(ステップS225)。
急ブレーキを行った場合における加速度の時間変化の一例を図15に示す。図15において(a)は、加速度の時間変化を表し、(b)は、ブレーキフラグのON/OFFの時間変化を表す。図14と同じように、閾値TH11は例えば-50mGであり、閾値TH12は例えば0である。加速度は一旦増加した後、時刻t21において閾値TH11以下になるので、ブレーキフラグがONになる。その後、時刻t23まで加速度は急速に減少し、時刻t23で加速度が最小になる。この例では、最小の加速度a1は、急ブレーキを判定するための閾値aminを下回っている。時刻t23の後に、加速度は徐々に増加し、時刻t22を経過すると正の値になる。よって、ブレーキフラグもOFFになる。
このように、最小の加速度a1が閾値amin未満であって、急ブレーキが発生したと判断した場合には(ステップS225:Noルート)、基準速度設定部3200は、基準速度V0に、第1の基準候補速度V1を設定する(ステップS231)。そして処理はステップS229に移行する。
一方、最小の加速度a1が閾値amin以上である場合には(ステップS225:Yesルート)、基準速度設定部3200は、基準速度V0に、最小の加速度a1に基づく速度を設定する(ステップS227)。本ステップの具体例を、図16を用いて説明する。
本実施の形態では、加速度と速度との関係を規定して、最小加速度a1に対応する速度を基準速度として特定する。例えば図16では、横軸は加速度の絶対値を表し、縦軸は速度を表しており、図16に示すように、加速度の絶対値が0の時に速度V2となり、加速度の絶対値が|amin|以上である時に速度V1となる直線gを規定して、|a1|に対応する速度を基準速度V0に設定する。ここでは直線を用いているが、他に適切な曲線があれば、それを採用しても良い。また、図16で点線で示すように、加速度の絶対値が0以上|amin|未満である時に速度V2となり、加速度の絶対値が|amin|以上である時に速度V1となる直線hを規定して、|a1|に対応する速度を基準速度V0に設定するようにしても良い。これらの直線に近い曲線を定義しても良い。
その後、基準速度設定部3200は、基準速度に基づく回生制御を許可するための第3フラグをONに設定し、ブレーキがONからOFFに変化したか否かを表す第1フラグをOFF(ブレーキがONからOFFに変化していない)に設定する(ステップS229)。そして処理は端子Bを介して図6の処理に移行する。
このような処理を実行することによって、ブレーキセンサ107を用いずとも、基準速度V0を決定して、当該基準速度V0に基づく回生量により回生制御を行うことができるようになる。
なお、上では最小の加速度a1を、ブレーキ操作中における特徴的な加速度として採用したが、例えば最小の加速度a1の前後所定範囲(ごく短い幅の範囲)を特徴部分として設定して、その特徴部分に含まれるいずれかの加速度を、最小の加速度a1の代わりに用いるようにしても良い。特徴部分については他の方法で決定しても良い。
また、ブレーキがONになったと推定されたタイミングからブレーキがOFFになったと推定されたタイミングまでの加速度の推移を観測して、特徴的な加速度である最小の加速度a1を特定する処理を行っていたが、他の特徴的な加速度を特定したり、他の特徴的なタイミングの加速度を特定するようにしても良い。
他の特徴的なタイミングが存在する場合には、その特徴的なタイミングにおける速度を基準速度に採用する場合もある。
[実施の形態2の変形1]
例えば、図13の処理については、図17に示すような処理に変更するようにしても良い。
図17は、図13におけるステップS231をステップS301に変更すると共に、ステップS301の後には端子Bを介して図6の処理に移行するように変更するものである。
ステップS301では、基準速度設定部3200は、基準速度に基づく回生制御を許可するための第3フラグをOFF(不許可)に設定する。
図16では、加速度と速度との関係を規定して、最小の加速度a1に対応する速度を基準速度を特定するものだったが、急ブレーキでなければ、最小の加速度の絶対値|a1|は、閾値の絶対値|amin|以下になるので、想定範囲内で基準速度が決定される。しかし、急ブレーキの場合には、図18において図16と同じようにV1及びV2と|amin|とから加速度と速度との関係を規定した場合、最小の加速度の絶対値|a1|は、閾値の絶対値|amin|を超えてしまうような状態で、想定外の状況である。また、ユーザの意図に反した急ブレーキの可能性がある。例えば、0から20km/hで加速している途中で、15km/h(=V1)の時点で何らかの事情で急ブレーキを実施することで5km/h(=V2)まで減速した場合、ユーザの目標速度は20km/hのため本実施の形態に係る回生制御は不要である。従って、本変形のような処理を行うようにしても良い。図18では、閾値の絶対値|amin|を超える部分については定義を行わない状態を示しており、本変形の目的に応じた加速度と速度との関係が規定される。なお、直線jは、図16の直線gの一部分であり、点線の直線kは、図16の直線hの一部分である。
[実施の形態2の変形2]
第2の実施の形態においても図6を用いるような例を示したが、図10を代わりに用いるようにしてもよい。
このようにすれば、第2の実施の形態に、第1の実施の形態の変形例を導入することができるようになる。
[実施の形態2の変形3]
第2の実施の形態では、ブレーキセンサ107を用いない例を説明したが、ブレーキセンサ107を他の目的などで設ける場合には、当該ブレーキセンサ107からの出力を用いるように変形しても良い。
すなわち、ブレーキがONになったと推定されたタイミングからブレーキがOFFになったと推定されたタイミングまでの加速度の推移を上では観測していたが、本変形では、推定されたタイミングではなく、ブレーキがONになったと検出されたタイミングからブレーキがOFFになったと検出されたタイミングまでの加速度の推移を観測する。
具体的には、図12におけるステップS201において、現在の加速度がTH11以下であるか否かを判断しているが、ブレーキセンサ107がONを出力しているか否かを判断すれば良い。また、ステップS209において、現在の加速度がTH12以上であるか否かを判断しているが、ブレーキセンサ107がOFFを出力しているか否かを判断すればよい。
別の側面から述べると、第2の実施の形態では、図14及び図15について述べたように、加速度の時間変化からブレーキフラグのON/OFFが設定され、ブレーキフラグがONとなったタイミングからブレーキフラグがOFFとなったタイミングまで加速度の時間変化が観測される。
一方、本変形では、図19及び図20のように、ブレーキセンサのON/OFFに応じて、加速度の推移を観測する期間が確定する。図19は、通常のブレーキ操作を行った場合におけるブレーキセンサ及び加速度の時間変化の一例を示す。図19において(a)は、ブレーキセンサのON/OFFの時間変化を表し、本変形ではブレーキフラグのON/OFFの時間変化も同様である。また、(b)は、加速度の時間変化を表す。加速度の時間変化自体は図14の(a)と同じであって、時刻t33は図14の(a)における時刻t13と同じであるが、観測期間は、時刻t31から時刻t32までで、この期間は時刻t11から時刻t12までとは異なっている。しかしながら、特徴的な加速度であるa1を含んでいる。
また、図20は、急ブレーキを行った場合におけるブレーキセンサ及び加速度の時間変化の一例を示す。図20において(a)は、ブレーキセンサのON/OFFの時間変化を表し、ブレーキフラグのON/OFFの時間変化も同様である。また、(b)は、加速度の時間変化を表す。加速度の時間変化自体は図15の(a)と同じであって、時刻t43は図15の(a)における時刻t23と同じであるが、観測期間は、時刻t41から時刻t42までで、この期間は時刻t21から時刻t22までとは異なっている。しかしながら、特徴的な加速度であるa1を含んでいる。
このようにすれば、ブレーキがONになっている時間帯を確実に把握できるので、閾値TH11及びTH12の調整及び設定を行わずに済む。
[他の変形]
上で述べた実施の形態では、基準速度に基づき回生係数を決定する回生制御を、第3フラグがOFFにセットされるまで行うようにしていたが、第3フラグがOFFにセットされなくても、1回のブレーキ操作の影響をフェードアウトさせるようにしてよい。
例えば、回生係数を、ブレーキがOFFになったことを検出したタイミング又はOFFになったと推定されたタイミングからの時間経過に応じて漸減するようにする。
具体的には、回生係数に対して、上で述べたように時間経過に応じて漸減する調整係数αを乗ずるようにする。調整係数αは、0以上1以下の値をとる。
調整係数αの時間変化の一例を図21に示す。図21において縦軸は調整係数αを表し、横軸は、ブレーキがOFFになったことを検出したタイミング又はOFFになったと推定されたタイミングからの経過時間[s]を表す。図21において直線eは、調整係数αが、ブレーキがOFFになったことを検出したタイミング又はOFFになったと推定されたタイミングから直ぐに直線的に減少する例を示している。
一方、図21の直線群fは、調整係数αが、ブレーキがOFFになったことを検出したタイミング又はOFFになったと推定されたタイミングから一定時間は1を維持し、一定時間経過後に直線的に減少する例を示している。上で述べた実施の形態では、回生係数は徐々に増加するので、ある程度増加させている間においては調整係数αを1にしておき、その後徐々に減少させるものである。なお、調整係数αを減少させる場合直線的では無く他の曲線に従って減少させるようにしても良い。
長い下り坂において、ブレーキをOFFにした後に、急な加速はしたくないが時間が経過したら徐々に加速したい場合もあるので、このような場面にも対応するものである。なお、その後速度が速すぎるように感じれば、ブレーキ操作を行うので、上で述べたような回生制御を再度発動させることも可能である。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、目的に応じて、上で述べた各実施の形態における任意の技術的特徴を削除するようにしても良いし、他の実施の形態で述べた任意の技術的特徴を追加するようにしても良い。また、上では、ブレーキがONになってからブレーキがOFFになる1サイクルについてのみ説明したが、次のサイクルにおいては、基準速度V0を更新して同様の処理を行えば良い。例えば長い下り坂を下りる際に2度、3度とブレーキをかける場合もあるが、その都度基準速度V0を更新すれば良い。そうすれば、その時々に応じた適切な制御が行われるようになる。
さらに、上で述べた機能ブロック図は一例であって、1の機能ブロックを複数の機能ブロックに分けても良いし、複数の機能ブロックを1つの機能ブロックに統合しても良い。処理フローについても、処理内容が変わらない限り、ステップの順番を入れ替えたり、複数のステップを並列に実行するようにしても良い。
演算部1021は、一部又は全部を専用の回路にて実装しても良いし、予め用意したプログラムを実行することで、上で述べたような機能を実現させるようにしても良い。
センサの種類も上で述べた例は一例であり、上で述べたパラメータを得られるような他のセンサを用いるようにしても良い。
以上述べた実施の形態をまとめると以下のようになる。
本実施の形態における第1の態様に係るモータ駆動制御装置は、(A)モータを駆動する駆動部と、(B)駆動されたモータにより移動する車両のブレーキがオフになったことを検出した第1の時点における車両の第1の速度に基づき回生量を決定し、当該回生量に従って駆動部を制御する制御部とを有する。
ブレーキ操作に現れるユーザの意図として、ブレーキがオフになったことを検出した第1の時点における車両の第1の速度が好ましいことが分かったので、この第1の速度に基づき回生制御を行うものである。
また、上で述べた制御部が、ブレーキがオンになっている時間における車両の加速度が閾値を下回る場合には、ブレーキがオンになったことを検出した第2の時点における車両の第2の速度に基づき回生量を決定し、当該回生量に基づき駆動部を制御するようにしても良い。例えば急ブレーキを行った場合には、第1の時点よりも第2の時点における第2の速度の方が好ましいと考えられるためである。
さらに、上で述べた制御部が、処理時点における車両の加速度にさらに基づき回生量を決定するようにしても良い。例えば、上で述べた制御部が、処理時点における車両の速度が第1の速度を超えている場合に、処理時点における車両の加速度に応じた回生量を決定するようにしても良い。加速度に応じた回生量を決定することで、好ましい速度になるように制御するものである。
また、上で述べた制御部が、処理時点における車両の速度が第1の速度を超えている場合に、処理時点における車両の速度と第1の速度との差に応じた回生量を決定するようにしても良い。速度を、可能な限り第1の速度に収束するように制御するものである。
さらに、上で述べた制御部が、ブレーキがオンになっている時間における車両の加速度が閾値を下回る場合であって、且つ処理時点における車両の速度が第2の速度を超えている場合に、処理時点における車両の加速度に応じた回生量を決定するようにしても良い。第2の速度を基準にする場合においても、加速度に応じた回生量を決定する方が好ましい場合もある。
本実施の形態における第2の態様に係るモータ駆動制御装置は、(C)モータを駆動する駆動部と、(D)駆動されたモータにより移動する車両の加速度の推移に基づき、基準となる車両の第1の速度を決定して、当該第1の速度に基づく回生量に従って駆動部を制御する制御部とを有する。
加速度の推移によりユーザの意図が推定されるので、当該加速度の推移に基づき、基準となる第1の速度を決定して、当該第1の速度に基づき回生制御を行えば、ユーザの意図に沿った走行が行えるようになる。なお、上記制御は、処理時点における車両の速度が第1の速度を超えている場合に行うようにしても良い。
また、上で述べた車両の加速度の推移は、車両のブレーキがオンになったと推定される第1の時点から車両のブレーキがオフになったと推定される第2の時点までの加速度の推移である場合もある。ブレーキ操作に現れるユーザの意図を推定するためである。
さらに、上で述べた制御部が、車両のブレーキがオンになったと推定又は検出される第1の時点から車両のブレーキがオフになったと推定又は検出される第2の時点にまでに検出された加速度のうち、特徴部分における加速度に対応する速度を、第1の速度として決定するようにしても良い。特徴部分は、例えば加速度最小の部分であり、最小加速度そのものでなくとも同等の加速度であってもよい。
さらに、上で述べた制御部が、処理時点における車両の速度が第1の速度を超えている場合に、処理時点における車両の速度と第1の速度との差に基づき回生量を決定するようにしても良い。速度を、可能な限り第1の速度に収束するように制御するものである。
また、上で述べた制御部が、処理時点における車両の速度が第1の速度を超えている場合に、処理時点における車両の加速度に基づき回生量を決定するようにしても良い。加速度に応じた回生量を決定することで、好ましい速度になるように制御するものである。
さらに、上で述べた制御部が、上記特徴部分における加速度が閾値未満である場合に、第1の速度に基づく回生量に従った制御を行わないようにしても良い。走行状態を意図せざる理由で急変させることもあるためである。
また、上で述べた制御部が、特徴部分における加速度が閾値未満である場合に、第1の時点における車両の第3の速度に基づき回生量を決定するようにしても良い。急ブレーキの場合には、このようにする方が好ましい場合もあるためである。
なお、上で述べた制御部が、上記回生量を、時間経過に応じて漸減するように補正するようにしても良い。回生制動をフェードアウトさせて走行状態を変化させる方が良い場合もあるためである。
また、ペダル回転角が閾値以上であること、ペダルトルク入力が閾値以上であること及び処理時点の車両の速度が所定速度以下であることのうち少なくともいずれかを満たした場合には、上で述べた回生量に従った制御を行わないようにしても良い。ユーザがペダルをある程度回転させている場合やペダルにある程度力を入れて漕いでいる場合、速度があまりに遅い場合には、上で述べたような回生制動が好ましくない場合があるためである。
このような構成は、実施の形態に述べられた事項に限定されるものではなく、実質的に同一の効果を奏する他の構成にて実施される場合もある。