以下、本発明の実施の形態について、電動アシスト車の一例である電動アシスト自転車の例をもって説明する。しかしながら、本発明の実施の形態は、電動アシスト自転車だけに適用対象を限定するものではなく、人力に応じて移動する移動体(例えば、台車、車いす、昇降機など)の移動を補助するモータなどに対するモータ駆動制御装置についても適用可能である。
[実施の形態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の速度が、ユーザの意図する速度であると推定して、その速度を基準にして速度上昇を抑制する。
このような回生制御によって生ずる回生制動により、ユーザによるブレーキ操作の頻度や時間を削減してユーザの手間を削減すると共に、バッテリに対する充電量を増加させることができる。さらに、ユーザの意図に従った走行状態を実現するように回生量が制御されるので、より快適な走行が行えるようになる。
但し、基準速度設定部3200は、例えば、基準速度を決定した後に、自動的に基準速度を変更する。基準速度の変更は、基準速度を減少させる場合と、基準速度を増加させる場合とがある。基準速度を減少させるのは、回生による充電量を増加させるためである。例えば、下り坂を下っている場面において、例えば現在速度と基準速度との差に応じて回生量を決定するが、基準速度が減少すれば、上記差が大きくなって回生量が多くなる。また、空気抵抗は速度の二乗に比例して大きくなり、高速であれば空気抵抗によるエネルギーの損失が大きい。しかしながら、回生制動力によって減速させれば空気抵抗による損失が減少して、その分同じ距離の場合回生している時間が長くなり、この点においても回生による充電量を増加させることができる。
一方、基準速度を増加させるのは、例えば、走行による快適性を向上させるためである。例えば、緩やかな長い坂などを走行して、目が慣れてくると、回生による速度抑制が邪魔に感じることもある。すなわち、走行による快適性、例えば爽快感を得たいようなユーザであれば、例えば当該ユーザの設定に基づき、基準速度を増加させることで、例えば現在速度と基準速度との差が小さくなるので回生制動が小さくなって、速度減少が抑制され、ある程度の速度での走行を楽しむことができるようになる。なお、このような場合でも、完全に回生を行わないわけでは無いので、回生による充電量の増加はある程度見込める。
次に、図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つで十分である場合もある。また、これらについてはこの順番で判断するのでは無く、異なる順番で判断したり、並列に判断するようにしても良い。
一方、基準速度設定部3200は、例えば、ステップS21又はS23に応じて、図10に示すような処理をも行う。図10は、基準速度V0を減少させる場合の処理例を示すものである。
基準速度設定部3200は、ステップS21又はS23の後に基準速度V0決定後の走行時間を計測するものとする。走行時間であるから、モータ回転入力に応じてモータの回転が検出されている間は計測を継続し、モータの回転が検出されない間は計測を中断するものとする。
そして、基準速度設定部3200は、V0決定後の走行時間が閾値THa以上であるか否かを判断する(図10:ステップS61)。THaは、例えば10秒である。V0決定後の走行時間が閾値THa未満であれば、基準速度設定部3200は、V0決定後の走行時間が閾値THb以上であるか否かを判断する(ステップS65)。THbは、例えば5秒である。V0決定後の走行時間が閾値THb未満であれば、基準速度設定部3200は、V0の変化幅を0に設定し、処理はステップS71に移行する。
一方、V0決定後の走行時間が閾値THb以上となると、基準速度設定部3200は、V0の変化幅を、V0×THc×(V0決定後の走行時間-THb)/(THa-THb)と設定する(ステップS67)。最大変化比率THcは、例えば5%(=0.05)である。(THa-THb)に対する(V0決定後の走行時間-THb)の割合をTHcに乗じた上で、さらにV0に乗ずることで、V0の現在の変化幅を決定する。例えば、V0決定後の走行時間が8秒であれば、0.05×(8-5)/(10-5)=0.03と計算される。その後処理はステップS71に移行する。
一方、V0決定後の走行時間がTHa以上となると、基準速度設定部3200は、V0の変化幅をV0×THcと設定する(ステップS63)。
そして、基準速度設定部3200は、処理時点における基準速度Vaを、V0-変化幅にて算出する(ステップS71)。そうすると、基準速度設定部3200は、処理時点における基準速度Vaを、基準速度V0として制御部3300に出力する(ステップS73)。
基準速度設定部3200は、ステップS21又はS23でV0が新たに設定される場合やその他の理由で処理を終了すべき場合であるか否かを判断し(ステップS75)、処理を終了しない場合には、処理はステップS61に戻る。一方、処理すべき場合には処理を終了する。なお、ステップS61乃至S73の処理については、単位時間毎に行われる。
THa乃至THcについては、一例であって、他の値を設定することも可能である。
図10の処理の影響について、図11を用いて説明する。図11において、横軸は速度を表しており、縦軸は回生係数を表す。図10の処理を行わない場合には、図11において例えば実線で示すように、現在の速度が基準速度V0以下ではステップS45での回生を行わないが、現在速度が基準速度V0を超えると例えば(現在速度-V0)に比例して回生量が増加し、現在速度がV0+αになると回生係数が100%となるので、回生係数はそれ以上増えない。
ところが、図10の処理を行う場合には、図11で矢印で示すように、V0決定後の走行時間がTHb以上になると、V0決定後の走行時間に応じて徐々に実線が左側(低速側)に移動し始める。そして、V0決定後の走行時間がTHaに達すると、一点鎖線で示すように、V0×THcだけ左側に実線を移動させたようになる。
このように、初期的なV0より低速でも回生が行われるようになり、さらに、同じ速度であればより大きい回生係数が出力される領域も設けられる。
なお、図10の処理フローでは、THbを0より大きな値に設定しているが、THbを0に設定しても良い。すなわち、V0決定後の走行時間が0を超えると直ぐに基準速度V0を変化させるようにしても良い。また、図10の処理フローでは、変化比率及び変化幅が線形に変化するような例を示したが、非線形の所定のカーブに沿って変化するようにしても良い。
さらに、変化幅は、基準速度V0に応じて変化する例、すなわち最大変化比率THc×基準速度V0で決定されたが、最大変化幅は固定値であってもよい。なお、予め基準速度V0等に基づき、所定のテーブルから予め定められた最大変化幅又は最大変化率を読み出すような仕組みであっても良いし、他の手法によって変化幅を決定しても良い。
また、図10の処理フローについては、予め定められた速度以上の場合に実行するようにしても良い。また、最大変化幅とは別に、変化後の速度の下限を設定しても良い。例えば、Vaが下限未満となってしまった場合には、Vaに下限を設定する。
さらに、図10の処理フローでは、基準速度V0を減少させる例を示しているが、基準速度V0を増加させるようにしても良い。例えば、図10のステップS71でV0-変化幅を、V0+変化幅とするようにしても良い。
このような場合には、例えば図11の代わりに、図12に示すような形で基準速度変更処理による基準速度変更の影響が現れる。図12においても、横軸は速度を表しており、縦軸は回生係数を表す。基準速度V0を増加させる処理を実行する場合には、図11と同じで、実線で表される。一方、基準速度V0を増加させる処理を実行する場合には、図12で矢印で示すように、V0決定後の走行時間がTHb以上になると、V0決定後の走行時間に応じて徐々に実線が右側(高速側)に移動し始める。そして、V0決定後の走行時間がTHaに達すると、二点鎖線で示すように、V0×THcだけ右側に実線を移動させたようになる。
このように、初期的なV0より高速にならないと回生が行われないようになり、同じ速度であればより小さい回生係数が出力される領域も設けられる。
基準速度V0を増加させる場合においても、減少させる場合と同様の変形を行ってもよい。変化幅とは異なる上限を設定するようにして、Vaが上限を上回る場合には、Vaに上限を設定するようにしても良い。
[実施の形態1の変形1]
第1の実施の形態では、図10の処理フローでも示したように、基準速度V0決定後の走行時間に応じて基準速度V0を変化させるような例を示したが、例えば、V0決定後の走行距離に応じて基準速度V0を変化させるようにしても良い。
基準速度設定部3200は、例えば、ステップS21又はS23に応じて、図13に示すような処理を行う。図13は、基準速度V0を増加させる場合の処理例を示すものである。
基準速度設定部3200は、ステップS21又はS23の後に基準速度V0決定後の走行距離を計測するものとする。走行距離であるから、モータ回転入力に応じてモータの回転が検出されている間は計測を継続し、モータの回転が検出されない間は計測を中断するものとする。
基準速度設定部3200は、V0決定後の走行距離を、例えばV0決定後のタイヤ回転数(=モータ回転数)[回数]×タイヤ周長で計算する(図13:ステップS81)。その他の方法(例えば速度の積分など)で、走行距離を計算できる場合には、その計算方法を用いるようにしても良い。
次に、基準速度設定部3200は、V0決定後の走行距離が閾値THd以上であるか否かを判断する(ステップS83)。THdは、例えば100mである。V0決定後の走行距離が閾値THd未満であれば、基準速度設定部3200は、V0決定後の走行距離が閾値THe以上であるか否かを判断する(ステップS87)。THeは、例えば50mである。V0決定後の走行距離が閾値THe未満であれば、基準速度設定部3200は、V0の変化幅を0に設定し、処理はステップS93に移行する。
一方、V0決定後の走行距離が閾値THe以上となると、基準速度設定部3200は、V0の変化幅を、THf×(V0決定後の走行距離-THe)/(THd-THe)と設定する(ステップS89)。最大変化幅THfは、例えば1km/hである。(THd-THe)に対する(V0決定後の走行距離-THe)の割合をTHfに乗ずることで、V0の現在の変化幅を決定する。例えば、V0決定後の走行時間が80mであれば、1×(80-50)/(100-50)=0.6km/hと計算される。その後処理はステップS93に移行する。
一方、V0決定後の走行距離がTHd以上となると、基準速度設定部3200は、V0の変化幅をTHfと設定する(ステップS85)。
そして、基準速度設定部3200は、処理時点における基準速度Vaを、V0+変化幅にて算出する(ステップS93)。そうすると、基準速度設定部3200は、処理時点における基準速度Vaを、基準速度V0として制御部3300に出力する(ステップS95)。
基準速度設定部3200は、新たにステップS21又はS23でV0が新たに設定される場合やその他の理由で処理を終了すべき場合であるか否かを判断し(ステップS97)、処理を終了しない場合には、処理はステップS81に戻る。一方、処理すべき場合には処理を終了する。なお、ステップS81乃至S93の処理については、単位時間毎に行われる。
THd乃至THfについては、一例であって、他の値を設定することも可能である。
なお、図13の処理フローでは、THeを0より大きな値に設定しているが、THeを0に設定しても良い。すなわち、V0決定後の走行距離が0を超えると直ぐに基準速度V0を変化させるようにしても良い。また、図13の処理フローでは、変化幅が線形に変化するような例を示したが、非線形の所定のカーブに沿って変化するようにしても良い。
さらに、最大変化幅は、THfのように固定値であってもよいし、基準速度V0等に応じて変化させるようにしてもよい。基準速度V0等の一定比率で決定するようにしても良いし、予め基準速度V0等基づき、所定のテーブルから予め定められた最大変化幅を読み出すような仕組みであっても良いし、他の手法によって最大変化幅を決定しても良い。
また、図13の処理フローについても、予め定められた速度以下の場合に実行するようにしても良い。また、最大変化幅とは別に、上限を設定するようにしても良い。すなわち、Vaが上限を超える場合には、Vaに上限を設定するようにしてもよい。
さらに、図13の処理フローでは、基準速度V0を増加させる例を示しているが、基準速度V0を減少させるようにしても良い。例えば、図13のステップS93でV0+変化幅を、V0-変化幅とするようにしても良い。
基準速度V0を走行時間に応じて変化させる処理と、基準速度V0を走行距離に応じて変化させる処理とは、いずれを選択しても良い。ユーザが選択しても良い。両方計算して、より大きな変動幅が算出された方を採用するようにする場合もある。
[実施の形態1の変形2]
第1の実施の形態では、ΔVと回生係数との対応関係を予め定めておき、現在のΔVに対応する回生係数を特定するようにしていたが、加速度と回生係数との対応関係を予め定めておき、現在の加速度に対応する回生係数を特定するようにしても良い。
すなわち、図6の処理を、図14の処理に置き換える。
図14においても、図6と同じ処理については同じステップ番号を付している。具体的に変更された部分は、図6のステップS43がステップS101で置換されている部分である。
本実施の形態では、ステップS101で、制御部3300は、モータ回転処理部2000からの現在の加速度に対応する回生係数を設定する。例えば、加速度と回生係数との対応関係を予め定めておき、現在の加速度に対応する回生係数を特定するようにする。より具体的には、図15に示すような対応関係を定めておく。
図15の例では、縦軸は回生係数[%]を表し、横軸は加速度[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の代わりに図16の処理を実行し、図5の代わりに図17の処理を実行する。図6の処理については同じであるから説明を省略する。
まず、図16の処理について説明する。
基準速度設定部3200は、ブレーキ操作の有無の推定結果を表すブレーキフラグがOFFであるか否かを判断する(ステップS200)。ブレーキフラグがOFFである、すなわち、ブレーキ操作が無いと推定されている状態である場合(ステップS200:Yesルート)、基準速度設定部3200は、モータ回転処理部2000からの現在の加速度が閾値TH11以下であるか否かを判断する(ステップS201)。閾値TH11は、ブレーキがONになったことを検出するために予め設定される閾値である。
通常のブレーキ操作を行った場合における加速度の時間変化の一例を図18に示す。図18において(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を介して図17の処理に移行する。
一方、現在の加速度が閾値TH11を超えている場合には(ステップS201:Noルート)、処理は端子Dを介して図17の処理に移行する。これにより、ブレーキフラグがOFFの状態で現在の加速度が閾値TH11以下である場合にのみステップS203に移行することになる。これに対して、ブレーキフラグがOFFではない、すなわちブレーキフラグがONであって、ブレーキ操作があったことが推定される場合(ステップS200:Noルート)、基準速度設定部3200は、現在の加速度が閾値TH12以上となっているか否かを判断する(ステップS209)。閾値TH12は、ブレーキがOFFになったことを検出するために予め設定される閾値である。
現在の加速度が閾値TH12未満である場合には(ステップS209:Noルート)、処理は端子Dを介して図17の処理に移行する。一方、現在の加速度が閾値TH12以上である場合には(ステップS209:Yesルート)、基準速度設定部3200は、現在の速度を、第2の基準候補速度V2に設定する(ステップS211)。また、基準速度設定部3200は、ブレーキフラグをOFFにセットする(ステップS213)。後の処理のためである。さらに、基準速度設定部3200は、ブレーキがONからOFFに変化したか否かを表す第1フラグをON(ブレーキがONからOFFに変化した)に設定する(ステップS215)。そして処理は、端子Dを介して図17の処理に移行する。
図17の処理の説明に移行して、基準速度設定部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)。
急ブレーキを行った場合における加速度の時間変化の一例を図19に示す。図19において(a)は、加速度の時間変化を表し、(b)は、ブレーキフラグのON/OFFの時間変化を表す。図18と同じように、閾値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)。本ステップの具体例を、図20を用いて説明する。
本実施の形態では、加速度と速度との関係を規定して、最小加速度a1に対応する速度を基準速度として特定する。例えば図20では、横軸は加速度の絶対値を表し、縦軸は速度を表しており、図20に示すように、加速度の絶対値が0の時に速度V2となり、加速度の絶対値が|amin|以上である時に速度V1となる直線gを規定して、|a1|に対応する速度を基準速度V0に設定する。ここでは直線を用いているが、他に適切な曲線があれば、それを採用しても良い。また、図20で点線で示すように、加速度の絶対値が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を特定する処理を行っていたが、他の特徴的な加速度を特定したり、他の特徴的なタイミングの加速度を特定するようにしても良い。
他の特徴的なタイミングが存在する場合には、その特徴的なタイミングにおける速度を基準速度に採用する場合もある。
なお、基準速度の変更処理(図10及び図13の処理)については、図17のステップS227又はS231の後に実行される。
[実施の形態2の変形1]
例えば、図17の処理については、図21に示すような処理に変更するようにしても良い。
図21は、図17におけるステップS231をステップS301に変更すると共に、ステップS301の後には端子Bを介して図6の処理に移行するように変更するものである。
ステップS301では、基準速度設定部3200は、基準速度に基づく回生制御を許可するための第3フラグをOFF(不許可)に設定する。
図20では、加速度と速度との関係を規定して、最小の加速度a1に対応する速度を基準速度を特定するものだったが、急ブレーキでなければ、最小の加速度の絶対値|a1|は、閾値の絶対値|amin|以下になるので、想定範囲内で基準速度が決定される。しかし、急ブレーキの場合には、図22において図20と同じようにV1及びV2と|amin|とから加速度と速度との関係を規定した場合、最小の加速度の絶対値|a1|は、閾値の絶対値|amin|を超えてしまうような状態で、想定外の状況である。また、ユーザの意図に反した急ブレーキの可能性がある。例えば、0から20km/hで加速している途中で、15km/h(=V1)の時点で何らかの事情で急ブレーキを実施することで5km/h(=V2)まで減速した場合、ユーザの目標速度は20km/hのため本実施の形態に係る回生制御は不要である。従って、本変形のような処理を行うようにしても良い。図22では、閾値の絶対値|amin|を超える部分については定義を行わない状態を示しており、本変形の目的に応じた加速度と速度との関係が規定される。なお、直線jは、図20の直線gの一部分であり、点線の直線kは、図20の直線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の実施の形態では、図18及び図19について述べたように、加速度の時間変化からブレーキフラグのON/OFFが設定され、ブレーキフラグがONとなったタイミングからブレーキフラグがOFFとなったタイミングまで加速度の時間変化が観測される。
一方、本変形では、図23及び図24のように、ブレーキセンサのON/OFFに応じて、加速度の推移を観測する期間が確定する。図23は、通常のブレーキ操作を行った場合におけるブレーキセンサ及び加速度の時間変化の一例を示す。図23において(a)は、ブレーキセンサのON/OFFの時間変化を表し、本変形ではブレーキフラグのON/OFFの時間変化も同様である。また、(b)は、加速度の時間変化を表す。加速度の時間変化自体は図14の(a)と同じであって、時刻t33は図18の(a)における時刻t13と同じであるが、観測期間は、時刻t31から時刻t32までで、この期間は時刻t11から時刻t12までとは異なっている。しかしながら、特徴的な加速度であるa1を含んでいる。
また、図24は、急ブレーキを行った場合におけるブレーキセンサ及び加速度の時間変化の一例を示す。図24において(a)は、ブレーキセンサのON/OFFの時間変化を表し、ブレーキフラグのON/OFFの時間変化も同様である。また、(b)は、加速度の時間変化を表す。加速度の時間変化自体は図19の(a)と同じであって、時刻t43は図19の(a)における時刻t23と同じであるが、観測期間は、時刻t41から時刻t42までで、この期間は時刻t21から時刻t22までとは異なっている。しかしながら、特徴的な加速度であるa1を含んでいる。
このようにすれば、ブレーキがONになっている時間帯を確実に把握できるので、閾値TH11及びTH12の調整及び設定を行わずに済む。
[実施の形態3]
図25に、本実施の形態に係る回生制御部3000bに関連する機能ブロック構成例(本実施の形態に係る部分)を示す。回生制御部3000bは、回生目標算出部3100bと、基準速度設定部3200bと、制御部3300bとを有する。なお、演算部1021は、モータ回転入力部1024からのモータ回転入力からモータ105の回転数(前輪の回転数)、電動アシスト自転車1の速度(=車速)及び加速度(速度の時間変化量)等を算出するモータ回転処理部2000bを有している。
回生目標算出部3100bは、速度又は加速度等に応じて予め定められた回生目標量を、現在の速度又は加速度等から特定して出力する。基準速度設定部3200bは、回生制御を行う上で基準となる速度である基準速度を設定する。基準速度設定部3200bが基準速度を設定する上で用いるパラメータは、さまざまであるが、ペダルトルク入力を用いる場合もあれば、ペダルトルク入力とペダル回転入力を用いる場合もある。さらに、前輪の回転数又は車速と、ペダル回転に基づき換算される後輪の回転数(ペダル回転をギア比等に基づき後輪の回転数に換算した回転数であり、ペダル換算回転数とも呼ぶ)又は後輪の車速(ペダル回転換算速度(ペダル回転をギア比等に基づき車速に換算した速度)とも呼ぶ)とを用いる場合もある。いずれの場合も、ユーザには加速の意図がないことを検出するためにそれらのパラメータを用いる。また、第1及び第2の実施の形態と同様に、基準速度設定部3200bは、基準速度の変更処理も行う。
制御部3300bは、基準速度設定部3200bからの基準速度及び回生可能フラグと、モータ回転処理部2000bからの速度等と、回生目標算出部3100bからの回生目標量と、ペダル回転入力部1022からのペダル回転入力と、トルク入力部1027からのペダルトルク入力とに基づき、回生量を算出して当該回生量に従って回生制御を行う。本実施の形態では、制御部3300bは、得られたデータから回生係数を決定し、当該回生係数を回生目標量に対して乗ずることで、回生量を算出する。なお、制御部3300bは、本実施の形態に係る回生制御のみならず、他の観点に基づく回生制御も行う場合もある。例えば、加速度又は速度に基づく自動回生制御を行う場合もある。
なお、回生を行わない場合には、演算部1021は、従来の力行駆動を行うようにモータ駆動タイミング生成部1026、可変遅延回路1025及びFETブリッジ1030を介してモータ105を駆動する。一方、回生を行う場合には、演算部1021は、制御部3300bが出力する回生量を実現するように、モータ駆動タイミング生成部1026、可変遅延回路1025及びFETブリッジ1030を介してモータ105を回生制御する。
本実施の形態では、例えば、ユーザがもう加速は不要ということで、ペダル回転数を下げたりやめたりして、ペダルトルク入力がほぼ無くなったタイミング、ペダルトルク入力及びペダル回転がほぼ無くなったタイミングや、同様に加速意図がないと推定される、モータ回転とペダル回転との所定の関係が検出されたタイミングなどで、現在車速を基準速度として設定する。そして、その後に、下り坂に入るなどして、基準速度を現在速度が上回ることを検出した場合には、本実施の形態に係る回生制御を開始して、速度上昇を抑制させる。例えば、基準速度と現在速度との差に基づき回生係数を設定して回生制動を働かせる。これによって、早期に回生制動が働き始めるため、バッテリへの充電量が増加すると共に、ユーザがブレーキ操作を行わなくても速度上昇が抑制されて、ユーザの手間が削減され、安全性も向上する。
さらに、ユーザの意図に従った走行状態を実現するように回生量が制御されるので、より快適な走行が行えるようになる。
次に、図26乃至図31を用いて図25に示した回生制御部3000bの処理内容について説明する。なお、図26の処理は、単位時間毎に実行される。
まず、回生制御部3000bは、各種データの測定を行う(図26:ステップS401)。本実施の形態では、ペダルトルク、車速、ペダル回転角度などを測定する。なお、他の実施の形態では、追加のパラメータを測定する場合もある。
次に、基準速度設定部3200bは、回生可能フラグがONになっているか否かを判断する(ステップS403)。回生可能フラグがONであれば、処理はステップS407に移行する。一方、回生可能フラグがOFFであれば、基準速度設定部3200bは、基準速度設定処理を実行する(ステップS405)。本実施の形態に係る基準速度設定処理については、図27を用いて後に述べる。
その後、制御部3300bは、本実施の形態に係る回生制御を行って良いのか否かについて確認する確認処理を実行する(ステップS407)。確認処理については、図28を用いて後に述べる。
その後、制御部3300bは、確認処理の処理結果に基づき回生量決定処理を実行する(ステップS409)。回生量決定処理については、図29を用いて後に述べる。この回生量決定処理では、本実施の形態に係る回生制御を実行する場合には、基準速度に基づき回生係数を決定し、回生目標算出部3100bにより算出された回生目標量と回生係数とから回生量を決定し、当該回生量を実現すべくFETブリッジ1030等を介してモータ105に回生制動を行わせる。
そして、回生制御部3000bは、電源オフなどの指示に基づき処理を終了するか否かを判断する(ステップS411)。処理を終了しない場合には、処理はステップS401に戻る。一方、処理を終了すべき場合には、ここで処理を終了する。
本実施の形態では、ユーザに加速意図がないことを検出すると回生可能フラグを予め設定しておくと共に、そのタイミングで基準速度を設定し、その基準速度からの速度上昇を検出すると当該速度上昇を抑制するように回生量を決定して回生制動を実行させるものである。
次に、図27を用いて本実施の形態に係る基準速度設定処理Aを説明する。なお、回生可能フラグ及び時間フラグは初期的にはOFFにセットされている。
基準速度設定部3200bは、ペダルトルクが、予め定められた閾値TH111以下であるか否かを判断する(図27:ステップS421)。閾値TH111は、ペダルトルク入力がほとんど無いことを判断するための閾値である。ペダルトルクが閾値TH111を超える場合には、ユーザには加速意図があると判断されるので、処理はステップS435に移行する。
一方、ペダルトルクが閾値TH111以下である場合には、ユーザには加速意図がないと判断されるので、基準速度設定部3200bは、時間計測中か否かを表す時間フラグがONになっているか否かを判断する(ステップS423)。時間フラグがONになっていなければ、基準速度設定部3200bは、時間フラグをONにセットする(ステップS425)。さらに、基準速度設定部3200bは、時間計測を開始する(ステップS427)。そして処理は呼び出し元の処理に戻る。
一方、時間フラグがONにセットされている場合、すなわち、継続的にペダルトルクが閾値TH111以下である場合には、基準速度設定部3200bは、ステップS427からの計測時間が一定時間を経過したか否かを判断する(ステップS429)。まだ、計測時間が一定時間を経過していない場合には、処理は呼び出し元の処理に戻る。
一方、ステップS427からの計測時間が一定時間を経過した場合には、ペダルトルクが閾値TH111以下である状態が一定時間以上継続したことになるので、基準速度設定部3200bは、回生可能な状態か否かを表す回生可能フラグをONにセットする(ステップS431)。さらに、基準速度設定部3200bは、基準速度V0に、モータ回転処理部2000からの現在の速度を設定する(ステップS433)。これによって、回生可能な状態が検出され、基準速度V0が設定されたことになる。なお、回生可能フラグ及び基準速度V0は、制御部3300bに出力される。また、基準速度設定部3200bは、ステップS433の後に、基準速度の変更処理(図10又は図13の処理)を実行する。
その後、基準速度設定部3200bは、時間フラグをOFFにセット、計測時間をクリアする(ステップS435)。これによって、次に時間計測を行う際に適切に処理できるようになる。そして処理は呼び出し元の処理に戻る。
このように、本実施の形態に係る基準速度設定処理Aによれば、ペダルトルクの入力がほとんど無い状態が一定時間以上継続すれば、ユーザには加速意図がないと推定して、基準速度V0を設定すると共に、回生可能フラグをセットすることで、回生制御の準備を行う。
次に、図28を用いて本実施の形態に係る確認処理の処理内容について説明する。
まず、制御部3300bは、ペダル回転角度が閾値TH102未満であるか否かを判断する(図28:ステップS441)。ペダル回転角度がある程度(閾値TH102)以上なされると、ユーザはペダルを漕いで加速しようとしていると推定されるので、回生を行うことが好ましくないためである。よって、ペダル回転角度が閾値TH102以上である場合には、制御部3300bは、回生可能フラグをOFFにセットする(ステップS447)。そして処理は呼び出し元の処理に戻る。
一方、ペダル回転角度が閾値TH102未満である場合には、制御部3300bは、ペダルトルクが閾値TH103未満であるか否かを判断する(ステップS443)。閾値TH103は、閾値TH111と同じであってもよいが、閾値TH111よりも大きな値であってもよい。閾値TH103>閾値TH111であれば、測定誤差などにより回生可能フラグがONになったりOFFになったりする揺れを抑えることができる。ペダルトルクが閾値TH103以上であれば、処理はステップS447に移行する。
一方、ペダルトルクが閾値TH103未満である場合には、制御部3300bは、モータ回転処理部2000bからの現在の速度が閾値TH104を超えているか否かを判断する(ステップS445)。ある程度の速度が出ていない場合に本回生制御を行うことが不適切だからである。現在の速度が閾値TH104以下であれば、処理はステップS447に移行する。一方、現在の速度が閾値TH104を超えている場合には、回生可能フラグをOFFにセットすることはなく、処理は呼び出し元の処理に戻る。
このように、一旦回生可能フラグをONにセットした後に走行状態が変化して、本実施の形態に係る回生制御を行うのが不適切な状態になったことを検出した場合には、回生可能フラグをOFFにセットする。
次に、図29を用いて本実施の形態に係る回生量決定処理について説明する。
まず、制御部3300bは、回生可能フラグがONになっているか否かを判断する(図29:ステップS451)。回生可能フラグがOFFになっている場合、本実施の形態に係る回生制御を行うことは不適切なので、制御部3300bは、他の条件にて回生量(0の場合もある)を決定して、当該回生量に従ったモータ105の回生制動をFETブリッジ1030などに行わせる(ステップS459)。そして処理は呼び出し元の処理に戻る。
一方、回生可能フラグがONになっている場合、制御部3300bは、モータ回転処理部2000bからの現在の速度が基準速度V0を超えているか否かを判断する(ステップS453)。本実施の形態では、現在の速度が基準速度V0を超えている場合に回生制動にて速度を抑制することにしているので、現在の速度が基準速度V0以下であれば、本実施の形態に係る回生制御を行わないものとしている。但し、現在の回生係数よりも小さい回生係数を用いるような制御を行うようにしても良い。
本実施の形態では、現在の速度が基準速度V0以下であれば、処理はステップS459に移行する。一方、現在の速度が基準速度V0を超えている場合には、制御部3300bは、ΔV(=現在速度-V0)に基づき回生係数を設定する(ステップS455)。例えば、ΔVと回生係数[%]の対応関係を予め定めておく。この対応関係の一例を図30に示す。図30の例では、縦軸は回生係数[%]を表しており、横軸はΔ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になったことを検出した時点から、決定された回生係数まで漸増させるような制御も行う。
制御部3300bは、回生目標算出部3100bから出力された現在の加速度等に応じた回生目標量に対して回生係数を乗ずることで回生量を決定し、当該回生量に従ってFETブリッジ1030等を介してモータ105に回生制動を行わせる(ステップS457)。そして処理は呼び出し元の処理に戻る。
以上のような処理を実行することで、ユーザに加速意図がないと推定される第1の例である、ペダルトルクがほとんど検出されない状態が一定時間以上継続する場合に、そのタイミングで設定される基準速度V0及び変化処理後の基準速度V0に基づき回生制御が行われるようになる。
ここで、図31に動作例を示す。ここでは、図31最上段に示すように、電動アシスト自転車1が走行中に、平地から下り坂に路面が変化する場合における動作を説明する。比較のため、ブレーキ操作に応じて回生を行う場合をまず説明する。時刻t51では、ユーザはペダルを漕いでおり、回生は行われていない。その後ユーザがペダルを漕ぐのをやめて、時刻t52で、ペダルトルクが閾値TH111以下である状態が一定時間継続すると、図31(b)ではペダルトルクオフを表す信号がオンになる。その後時刻t53になると、電動アシスト自転車1は下り坂に入り、図31(d)において点線cが表すように、速度が上昇し始める。そしてユーザが危険を感じる速度に達すると、ユーザが時刻t54でブレーキ操作を行う(図31(a))。この時刻t54で、図31(e)において点線fで示すように回生動作状態となる。なお、便宜上、図31(c)において点線bで表すように、回生可能フラグも時刻t54でオンになるものとしている。時刻t54以降(例えば時刻t55)については、下り坂を走行しているが、図31(d)において点線cが表すように、回生制動により速度上昇は抑制されている。
一方、本実施の形態に係る電動アシスト自転車1の場合、ユーザがペダルを漕ぐのをやめて、時刻t52で、ペダルトルクが閾値TH111以下である状態が一定時間継続すると、図31(b)に示すようにペダルトルクオフを表す信号がオンになるのと同時に、図31(c)において実線aで示すように回生可能フラグが時刻t52でオンになる。但し、まだ回生は働かない。なお、時刻t52の速度が基準速度V0にセットされる。
その後時刻t53で下り坂に入り、速度が上昇し始めると、既に回生可能フラグがオンになっているので、図31(e)において実線eで表すように回生動作状態となる。すなわち、基準速度V0を超える車速が検出されれば回生動作状態となり、図31(d)において実線dで表されるように基準速度V0が維持されるように回生制動が行われるようになる。これは下り坂を下っている時刻t55においても同様である。但し、基準速度の変更処理(図10又は図13の処理)を行えば、図31のような速度は一定とはならない。
このように、ブレーキ操作に応じて回生制御を行う場合には、時刻t54において回生動作状態になるが、本実施の形態では、時刻t53になると回生動作状態となる。これによって、ユーザはブレーキ操作を行わずとも基準速度V0が維持されるので、ブレーキ操作を行わずとも安全な走行が可能となり、さらに、回生が前倒しで実行されることによりブレーキ操作に応じて回生を行う場合に比して充電量も増加することになる。
[実施の形態4]
本実施の形態では、ユーザに加速意図がないと推定される第2の例について説明する。そのため、本実施の形態では、基準速度設定処理Aの代わりに基準速度設定処理Bを実行する。
図32に、基準速度設定処理Bの処理フローを示す。なお、基準速度設定処理Aと同じ部分については同じ参照符号を付している。すなわち、図27と図32の差は、冒頭にステップS461が追加されている部分のみである。
具体的には、基準速度設定部3200bは、ペダル回転角度が閾値TH112以下であるか否かを判断する(ステップS461)。ペダル回転角度が閾値TH112を超える場合には、処理はステップS435に移行する。一方、ペダル回転角度が閾値TH112以下であれば、処理はステップS421に移行する。なお、閾値TH112は、閾値TH102と同じであってもよいし、閾値TH102より小さな値であってもよい。TH112>TH102であれば、測定誤差や微少なペダル回転などにより回生可能フラグがONになったりOFFになったりする揺れを抑えることができる。
本実施の形態では、第3の実施の形態におけるペダルトルクに加えてペダル回転角度も併せてチェックすることで、確実にユーザに加速意図がないことを確認するものである。
[実施の形態5]
本実施の形態では、ユーザに加速意図がないと推定される第3の例について説明する。そのため、本実施の形態では、基準速度設定処理A及びBの代わりに基準速度設定処理Cを実行する。
図33に、基準速度設定処理Cの処理フローを示す。なお、基準速度設定処理Aと同じ部分については同じ参照符号を付している。すなわち、図27と図33の差は、冒頭におけるステップS421の代わりに、ステップS471及びS473が設けられている部分である。
すなわち、基準速度設定部3200bは、本実施の形態に係る回転差を算出する(図33:ステップS471)。本実施の形態では、モータ105によって駆動される前輪の回転と比較してペダル回転があまりなされていない状態を、ユーザには加速意図がないと判定するものである。そのため、本実施の形態に係る回転差とは、例えば、前輪の回転数と、ペダル回転に基づき換算される、後輪の回転数との差である。また、前輪についての車速と、ペダル回転に基づき換算された後輪についての車速との差を用いてもよい。なお、差ではなく、比などを用いて、それらの乖離が所定レベル以上であるか否かを判断するようにしてもよい。なお、前輪の回転数等は車輪回転に応じた第1の指標値であり、後輪の回転数等はペダル回転に応じた第2の指標値であり、それらの一致度や乖離度を算出して、それに基づき第1の指標値と第2の指標値とが所定レベル以上乖離しているか否かを判断してもよい。
そして、基準速度設定部3200は、回転差が閾値TH113以上であるか否かを判断する(ステップS473)。回転差が閾値TH113以上である場合には、ユーザには加速意図がないと推定して処理はステップS423に移行する。一方、回転差が閾値TH113未満である場合には、処理はステップS435に移行する。
本実施の形態では、モータ105が前輪に設けられているので、前輪の回転に着目しているが、本実施の形態では、電動アシスト自転車1の車輪の回転が検出できればよいし、車速が計測されれば良い。
このように、ユーザに加速意図がなく回生可能な状態が一定時間以上継続する事象を検出できて、基準速度が設定されれば、その基準速度からの速度上昇を、第3の実施の形態と同様に抑制できるようになる。
[その他の実施の形態]
上では走行状態に応じて基準速度を設定する例を示したが、例えば、速度が一定速度以上になると回生制動をかけるような回生制御を行う場合においても、図10又は図13のような処理を行うことで、基準速度を変更するようにしても良い。
また、走行時間や走行距離に応じて基準速度を変化させる例が示されているが、加速度など他のパラメータに応じて変化させるようにする場合もある。
さらに、走行距離と走行時間とは別の処理フローを示したが、例えば、走行距離が一定距離以上になった後に走行時間に応じて基準速度を変化させたり、走行時間が一定時間以上となった後に走行距離に応じて基準速度を変化させたりしても良い。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、目的に応じて、上で述べた各実施の形態における任意の技術的特徴を省略するようにしても良いし、他の実施の形態で述べた任意の技術的特徴を追加するようにしても良い。
さらに、上で述べた機能ブロック図は一例であって、1の機能ブロックを複数の機能ブロックに分けても良いし、複数の機能ブロックを1つの機能ブロックに統合しても良い。処理フローについても、処理内容が変わらない限り、ステップの順番を入れ替えたり、複数のステップを並列に実行するようにしても良い。
演算部1021は、一部又は全部を専用の回路にて実装しても良いし、予め用意したプログラムを実行することで、上で述べたような機能を実現させるようにしても良い。
センサの種類も上で述べた例は一例であり、上で述べたパラメータを得られるような他のセンサを用いるようにしても良い。
以上述べた実施の形態をまとめると以下のようになる。
本発明に係るモータ制御装置は、(A)予め定められた第1の車速又は走行状態に応じて設定された第2の車速である基準速度に基づき回生量を決定し、当該決定された回生量に従ってモータによる回生を制御する制御部と、(B)回生の制御中に、基準速度を自動的に変化させる基準速度設定部とを有する。
適切に設定した基準速度に基づき回生量を決定する場合であっても、当該基準速度を維持するよりも、幾つかの観点から好ましい方向に変化させた方が良い場合もある。例えば、下り坂での走行で爽快感を得たいというユーザの観点や、より回生量を増加させて充電量を増加させたり、回生制動力を増すことで安全性を向上させるという観点もある。そこで、予め定められた態様で基準速度設定部が自動的に基準速度を変化させることで、これらの観点からの要求に応えられるようにするものである。
なお、上で述べた基準速度設定部は、基準速度を、走行時間又は走行距離に応じて変化させるようにしても良い。様々なパラメータに応じて基準速度を変化させることが考えられるが、走行時間又は走行距離であれば、ユーザに速度変化による違和感をあまり感じさせずに徐々に変化させることができる。
また、上で述べた基準速度設定部は、基準速度を、所定の変化幅又は所定の比率だけ減少させるようにしても良い。例えば、基準速度と現在速度との差に応じた回生量が決定される場合には、基準速度が減少すれば上記差が大きくなるので、回生量が大きくなる。そうすれば、充電量が増加して航続距離が伸びたり、回生制動力が大きくなるのでより安全性が高まる。
一方、上で述べた基準速度設定部は、基準速度を、所定の変化幅又は所定の比率だけ増加させるようにしても良い。スポーツタイプの電動アシスト自転車を運転するようなユーザであれば、例えば下り坂を下る爽快感を求めている場合もある。このようなユーザは、あまり大きな回生量が設定されると満足感が得られないので、基準速度を増加させることで回生制動力を小さくさせ、減速度合いを抑えるものである。但し、全く回生が行われなくなるわけでは無いので、充電量の増加も見込める。
さらに、上で述べた基準速度設定部は、基準速度を、走行時間又は走行距離が増加しても変化させないようにした後、走行時間又は走行距離に応じて変化させるようにしても良い。基準速度をどのように変化させるかについては様々なバリエーションが考えられるが、走行時間又走行距離について不感区間を設けることで、回生による充電量を確保した上で、基準速度を変化させる効果も得ることができるようになる。
また、上で述べた基準速度設定部は、モータにより移動する車両のブレーキがオフになったことを検出した時点における車両の速度を、第2の車速として設定するようにしてもよい。ブレーキオフは、減速を停止させるタイミングであり、そのタイミングの速度は基準速度として適切な場合がある。
また、この基準速度設定部は、車両のブレーキがオンになったと推定又は検出される第1の時点から車両のブレーキがオフになったと推定又は検出される第2の時点にまでに検出された加速度のうち、特徴部分における加速度に対応する速度を、第2の車速として設定するようにしてもよい。第1の時点から第2の時点までは着目すべき加速度変化があることが見いだされたため、その中でも特徴部分における加速度から基準速度を特定するものである。
さらに、上記基準速度設定部は、(i)第1の閾値未満のペダルトルク入力が一定時間以上継続される状態、(ii)第2の閾値未満のペダルトルク入力及び第3の閾値未満のペダル回転角度が一定時間以上継続される状態、又は、(iii)車輪回転に応じた第1の値とペダル回転に応じた第2の値との一致度又は乖離度から第1の値と前記第2の値とが所定レベル以上異なるようになったと判断された状態を検出した場合における車両の速度を、第2の車速として設定するようにしても良い。これらの状態は、これ以上加速しないという意図を示す状態の例であり、その状態を検出した時点の車速を基準速度として特定するものである。
このようにして特定される第2の車速は、ユーザの意図に近いと推定される車速であり、このような車速を基準速度に設定すれば、当初はユーザの意図に近い車速を維持しようと回生制御が行われるようになる。
このような構成は、実施の形態に述べられた事項に限定されるものではなく、実質的に同一の効果を奏する他の構成にて実施される場合もある。