(第1実施形態)
図1を参照して、実施形態の自転車用制御装置を搭載する自転車について説明する。
自転車10は、駆動機構12、操作部14、バッテリ16、アシスト装置18、および、自転車用制御装置30を備える。自転車10は、例えばマウンテンバイクであるが、ロードバイクまたはシティバイクであってもよい。
駆動機構12は、クランク12Aおよびペダル12Dを含む。クランク12Aは、クランク軸12Bおよびクランクアーム12Cを含む。駆動機構12は、ペダル12Dに加えられた人力駆動力を後輪(図示略)に伝達する。駆動機構12は、たとえばチェーン、ベルト、またはシャフト(いずれも図示略)を介して、クランクの回転を後輪に伝達するように構成される。駆動機構12は、クランク軸12Bにワンウェイクラッチ(図示略)を介して結合される、フロント回転体(図示略)を含む。ワンウェイクラッチは、クランク12Aが前転したときに、フロント回転体を前転させ、クランク12Aが後転したときに、フロント回転体を後転させないように構成される。フロント回転体は、スプロケット、プーリーまたはベベルギア(いずれも図示略)を含む。フロント回転体は、クランク軸12Bにワンウェイクラッチを介さずに結合してもよい。
操作部14は、自転車10に設けられる。操作部14は、自転車10のハンドルバー(図示略)に取り付けられる。操作部14は、自転車用制御装置30の制御部32と通信可能である。操作部14は、自転車用制御装置30の制御部32と有線または無線によって通信可能に接続されている。操作部14は、例えば操作部材と、操作部材の動きを検出するセンサと、センサの出力信号に応じて、制御部32と通信を行う電子回路とを含む。操作部14は、モータ22の走行モードを変更するための1つ以上の操作部材を含む。各操作部材は、プッシュスイッチ、レバー式スイッチ、または、タッチパネルを含む。ライダーによって操作部14が操作されるとき、操作部14は自転車10の走行モードを切り替えるための切替信号を制御部32に送信する。走行モードは、第1のモードおよび第2のモードを含む。第1のモードは、凹凸の多い悪路を走行するのに適したモードである。第2のモードは、平坦な道を走行するのに適したモードである。
バッテリ16は、1または複数のバッテリセルを含む。バッテリセルは、充電池を含む。バッテリ16は、アシスト装置18のモータ22に電気的に接続されて、モータ22に電力を供給する。バッテリ16は、自転車用制御装置30と、自転車10に搭載され、バッテリ16と有線で電気的に接続されている他の電気部品とに電力を供給する。
アシスト装置18は、駆動回路20およびモータ22を含む。駆動回路20は、バッテリ16からモータ22に供給される電力を制御する。モータ22は、自転車10の推進をアシストする。モータ22は、電気モータを含む。モータ22は、ペダル12Dから後輪(図示略)までの人力駆動力の伝達経路、または、前輪(図示略)に回転を伝達するように設けられる。モータ22は、自転車10のフレーム(図示略)、後輪、または前輪に設けられる。一例では、モータ22は、クランク軸12Bからフロント回転体までの動力伝達経路に結合される。モータ22とクランク軸12Bとの間の動力伝達経路には、クランク軸12Bを自転車10が前進する方向に回転させたときにクランクの回転力によってモータ22が回転しないようにワンウェイクラッチ(図示略)が設けられるのが好ましい。アシスト装置18は、モータ22の回転を減速して出力する減速機を含んでいてもよい。
自転車用制御装置30は、制御部32を含む。一例では、自転車用制御装置30は、記憶部34、傾斜検出部36、トルクセンサ38、および、回転角度センサ40をさらに含むことが好ましい。
制御部32は、予め定められる制御プログラムを実行する演算処理装置を含む。演算処理装置は、例えばCPU(Central Processing Unit)またはMPU(Micro Processing Unit)を含む。記憶部34には、各種の制御プログラムおよび各種の制御処理に用いられる情報が記憶される。記憶部34は、例えば不揮発性メモリおよび揮発性メモリを含む。
傾斜検出部36は、自転車10の傾斜角度Dを検出する。傾斜検出部36は、有線または無線によって制御部32と通信可能に接続されている。傾斜検出部36は、3軸のジャイロセンサ36Aおよび3軸の加速度センサ36Bを含む。傾斜検出部36の出力は、3軸のそれぞれの姿勢角度、および、3軸のそれぞれの加速度の情報を含む。なお、3軸の姿勢角度は、ピッチ角度DA、ロール角度DB、および、ヨー角度DCである。ジャイロセンサ36Aの3軸と、加速度センサ36Bの3軸とは一致することが好ましい。傾斜検出部36は、ジャイロセンサ36Aの出力を加速度センサ36Bの出力に応じて補正し、自転車10の傾斜角度Dに応じた信号を制御部32に出力する。自転車10の傾斜角度Dは、ピッチ角度DAの絶対値である。自転車10が上り坂を走行しているとき、ピッチ角度DAは正になる。自転車10の上り坂における傾斜角度Dが大きくなるほど、ピッチ角度DAは大きくなる。自転車10は下り坂を走行しているとき、ピッチ角度DAは負になる。自転車10の下り坂における傾斜角度Dが大きくなるほど、ピッチ角度DAは小さくなる。アシスト装置18は、ジャイロセンサ36Aおよび加速度センサ36Bに代えて、1軸の加速度センサまたは2軸の加速度センサを含む構成とすることもできる。
トルクセンサ38は、人力駆動力Tに応じた信号を出力する。トルクセンサ38は、クランク軸12Bに与えられる人力駆動力Tを検出する。トルクセンサ38は、クランク軸12Bからフロント回転体(図示略)までの間に設けられてもよく、クランク軸12Bまたはフロントスプロケットに設けられてもよく、クランクアーム12Cまたはペダル12Dに設けられてもよい。トルクセンサ38は、例えば、歪センサ、磁歪センサ、光学センサ、および、圧力センサなどを用いて実現することができ、クランクアーム12Cまたはペダル12Dに加えられる人力駆動力Tに応じた信号を出力するセンサであれば、いずれのセンサを採用することもできる。
回転角度センサ40は、クランクの回転速度Nおよびクランク12Aの回転角度を検出する。回転角度センサ40は、自転車10のフレーム(図示略)またはアシスト装置18のハウジング(図示略)に取り付けられる。回転角度センサ40は、第1の磁石M1の磁界を検出する第1の素子40Aと、第2の磁石M2との位置関係に応じた信号を出力する第2の素子40Bとを含む。第1の磁石M1は、クランク軸12Bまたはクランクアーム12Cに設けられ、クランク軸12Bに同軸に配置される。第1の磁石M1は、環状の磁石であって、周方向に複数の磁極が交互に並んで配置されている。第1の素子40Aは、フレームに対するクランク12Aの回転角度を検出する。第1の素子40Aは、クランク12Aが1回転するとき、360度を同極の磁極の数で割った角度を1周期とした信号を出力する。回転角度センサ40が検出可能なクランク12Aの回転角度の最小値は、180度以下であり、好ましくは15度であり、さらに好ましくは、6度である。第2の磁石M2は、クランク軸12Bまたはクランクアーム12Cに設けられる。第2の素子40Bは、フレームに対するクランク12Aの基準角度(例えば、クランク12Aの上死点または下死点)を検出する。第2の素子40Bは、クランク軸12Bの1回転を1周期とした信号を出力する。
回転角度センサ40は、第1の素子40Aおよび第2の素子40Bに代えて、磁界の強度に応じた信号を出力する磁気センサを含んで構成されてもよい。この場合、第1の磁石M1および第2の磁石M2に代えて、周方向に磁界の強度が変化する環状の磁石をクランク軸12Bに、クランク軸12Bと同軸に設ける。磁界の強度に応じた信号を出力する磁気センサを用いることによって、1つのセンサで、クランクの回転速度Nおよびクランク12Aの回転角度を検出することができ、構成および組立を簡略化することができる。
制御部32は、モータ22を、人力駆動力Tに応じて制御する。
制御部32は、ローパスフィルタ52を用いて人力駆動力Tの変化に対するモータ22の応答速度を変更する。制御部32は、人力駆動力Tが低下するときに、モータ22の応答速度を変更する。人力駆動力Tが低下するときのモータ22の応答速度を、応答速度Rと記載する。
制御部32は、自転車10の傾斜角度Dに応じて、応答速度Rを変更する。制御部32は、自転車10の傾斜角度Dに応じて、応答速度Rを段階的に変化させる。制御部32は、クランクの回転速度Nに応じて、応答速度Rを変更する。制御部32は、操作部14の操作に応じて第1のモードおよび第2のモードを切り替え可能である。第1のモードおよび第2のモードは、傾斜角度Dおよびクランクの回転速度Nに対する応答速度Rが互いに異なる。
制御部32は、上り坂における自転車10の傾斜角度Dが大きくなるとモータ22の応答速度Rを低くする。制御部32は、上り坂における自転車10の傾斜角度Dが第1の角度D1以上になると、応答速度Rを一定にする。具体的には、制御部32は、第1のモードにおいて上り坂における自転車10の傾斜角度Dが大きくなると、モータ22の応答速度を低くする。制御部32は、第1のモードにおいて、上り坂における自転車10の傾斜角度Dが第1の角度D1以上になると、応答速度Rを一定にする。制御部32は、第2のモードにおいて上り坂における自転車10の傾斜角度Dが大きくなると、モータ22の応答速度を低くする。
制御部32は、下り坂における自転車10の傾斜角度Dが大きくなると、応答速度Rを高くする。制御部32は、下り坂における自転車10の傾斜角度Dが第2の角度D2以上になると、応答速度Rを一定にする。具体的には、制御部32は、第2のモードにおいて下り坂における自転車10の傾斜角度Dが大きくなると、応答速度Rを高くする。制御部32は、第2のモードにおいて、下り坂における自転車10の傾斜角度Dが第2の角度D2以上になると、応答速度Rを一定にする。制御部32は、第1のモードにおいても、下り坂における自転車10の傾斜角度Dが大きくなると、応答速度Rを高くし、下り坂における自転車10の傾斜角度Dが第2の角度D2以上になると、応答速度Rを一定にしてもよい。
制御部32は、クランクの回転速度Nが高くなると応答速度Rが低くなる第1のモードで、モータ22を制御可能である。制御部32は、第1のモードにおいて、クランクの回転速度Nが第1の速度N1以上になると、応答速度Rを一定にする。制御部32は、クランクの回転速度Nが高くなると応答速度Rが高くなる第2のモードで、モータ22を制御可能である。制御部32は、第2のモードにおいて、クランクの回転速度Nが第2の速度N2以上になると、応答速度Rを一定にする。
制御部32は、モード切替部42、人力駆動力演算部44、増減判定部46、補正部48、および、出力演算部50を含む。制御部32の演算処理装置がプログラムを実行することによって、モード切替部42、人力駆動力演算部44、増減判定部46、補正部48、および、出力演算部50として機能する。
モード切替部42は、操作部14からの切替信号に基づいて自転車10の走行モードを切り替える。モード切替部42は、操作部14から走行モードを第1のモードに切り替える旨の切替信号を受信したとき、記憶部34に記憶されている第1のモードと対応する第1のマップを設定する旨の信号を補正部48に送信する。モード切替部42は、操作部14から走行モードを第2のモードに切り替える旨の切替信号を受信したとき、記憶部34に記憶されている第2のモードと対応する第2のマップを設定する旨の信号を補正部48に送信する。
人力駆動力演算部44は、トルクセンサ38からの出力に基づいて人力駆動力Tを演算する。
増減判定部46は、人力駆動力Tが増加しているか減少しているかを判定する。例えば、今回の演算周期における人力駆動力Tが前回の演算周期における人力駆動力Tよりも増加しているか減少しているかを演算する。
補正部48は、ローパスフィルタ52および応答速度設定部54を含む。補正部48は、人力駆動力Tを補正する。
ローパスフィルタ52は、一次ローパスフィルタである。ローパスフィルタ52は、時定数Kを用いて人力駆動力Tを補正駆動力TXに補正する。時定数Kが大きいほど応答速度Rは低くなり、人力駆動力Tの変化に対する補正駆動力TXの変化が遅れる。
応答速度設定部54は、ローパスフィルタ52で用いられる時定数Kを設定する。応答速度設定部54は、モード切替部42によって設定された第1のマップまたは第2のマップ、傾斜角度D、および、クランクの回転速度Nによって時定数Kを設定する。
出力演算部50は、人力駆動力Tに基づいてモータ22の出力(以下、「モータ出力TM」)を決定する。出力演算部50は、モータ出力TMとして、例えばモータトルクおよびモータ回転数の少なくとも一方を決定する。出力演算部50は、増減判定部46の判定結果と、人力駆動力Tおよび補正駆動力TXの比較結果とに基づいて、人力駆動力Tおよび補正駆動力TXの一方を選択し、選択した人力駆動力Tまたは補正駆動力TXに基づいてモータ出力TMを決定する。具体的には、出力演算部50は、人力駆動力Tが低下するとき、補正駆動力TXに所定値を乗算した値をモータ出力TMとして決定する。出力演算部50は、人力駆動力Tが増加するとき、人力駆動力Tが補正駆動力TXよりも小さいときには、補正駆動力TXに所定値を乗算した値をモータ出力TMとして決定する。出力演算部50は、人力駆動力Tが増加するとき、人力駆動力Tが補正駆動力TX以上になると、人力駆動力Tに所定値を乗算した値をモータ出力TMとして決定する。なお、所定値は、人力駆動力Tに対するモータ出力TMの比率の異なる走行モードに応じて変更される。走行モードは、ライダーによる操作部14の操作等によって切り替えられる。制御部32は、決定したモータ出力TMに基づいて駆動回路20に制御信号を出力する。
図2を参照して、制御部32によって実行されるモータ制御について説明する。モータ制御は、制御部32に電力が供給されている間、所定周期ごとに繰り返される。
制御部32は、ステップS11において人力駆動力Tを演算する。次に、制御部32は、ステップS12において現在の走行モードが第1のモードか否かを判定する。制御部32は、走行モードが第1のモードであると判定したとき、ステップS13へと移行する。制御部32は、ステップS13において、第1のマップ、傾斜角度D、クランクの回転速度N、および、人力駆動力Tに基づいて補正駆動力TXを演算し、ステップS14に移行する。
制御部32は、ステップS14において人力駆動力Tが低下しているか否かを判定する。例えば、制御部32は、今回の演算周期における人力駆動力Tが前回の演算周期における人力駆動力Tよりも小さいとき、人力駆動力Tが低下している旨を判定する。
制御部32は、ステップS14において人力駆動力Tが低下していると判定したとき、ステップS15において、ステップS13において演算した補正駆動力TXに基づいてモータ出力TMを演算し、ステップS16に移行する。制御部32は、ステップS16においてモータ出力TMに基づいてモータ22を制御し、所定周期後に再びステップS11からの処理を実行する。
第1のモードが選択されているとき、クランクの回転速度Nが変化しなければ、上り坂における傾斜角度Dが大きいほど応答速度Rが低くなる。第1のモードが選択されているとき、上り坂における傾斜角度Dが第1の角度D1以上のとき、応答速度Rが第1の値R1となる。第1のモードが選択されているとき、傾斜角度Dが変化しなければ、クランクの回転速度Nが高くなると応答速度Rが低くなる。第1のモードが選択されているとき、クランクの回転速度Nが第1の速度N1以上になると、応答速度Rが一定になる。
図3に示されるとおり、第1のマップでは、ピッチ角度DAが大きいほど、所定のクランクの回転速度Nに対する時定数Kが大きくなる。このため、第1のマップでは、上り坂における傾斜角度Dが大きいほど、所定のクランクの回転速度Nに対する時定数Kが大きくなり、応答速度Rが小さくなる。
図3の第1の線L11は、ピッチ角度DAが第1のピッチ角度DA1のときのクランクの回転速度Nと時定数Kとの関係を示す。第1の線L11は、実線で示される。第2の線L12は、ピッチ角度DAが第2のピッチ角度DA2のときのクランクの回転速度Nと時定数Kとの関係を示す。第2の線L12は、点線で示される。第3の線L13は、ピッチ角度DAが第3のピッチ角度DA3のときのクランクの回転速度Nと時定数Kとの関係を示す。第3の線L13は、一点鎖線で示される。第1のピッチ角度DA1、第2のピッチ角度DA2、および、第3のピッチ角度DA3は、「DA1>DA2>DA3」の関係を有する。第1のピッチ角度DA1は、例えば道路の斜度10%と対応する自転車10のピッチ角度DAであり、正の値を示す。ピッチ角度DAが第1のピッチ角度DA1のとき、自転車10の上り坂における傾斜角度Dは、第1の角度D1である。一例では、第1のピッチ角度DA1は、+5.7度であり、第2のピッチ角度DA2は、+2.8度であり、第3のピッチ角度DA3は、0度である。
第1のマップでは、ピッチ角度DAが第1のピッチ角度DA1以上のとき、時定数Kが一定となるように設定されている。第1の線L11に示されるとおり、ピッチ角度DAが第1のピッチ角度DA1のとき、クランクの回転速度Nに関わらず第1の所定値K1が時定数Kに選択される。
第1のマップでは、ピッチ角度DAが第1のピッチ角度DA1未満のとき、クランクの回転速度Nが高くなると時定数Kが大きくなるように設定されている。第1のマップによれば、ピッチ角度DAが第1のピッチ角度DA1未満のとき、クランクの回転速度Nが第1の速度N1以上になると、時定数Kが一定になるように設定されている。一例では、ピッチ角度DAが第1のピッチ角度DA1未満のとき、かつ、クランクの回転速度Nが第1の速度N1以上になるときの時定数Kは、ピッチ角度DAが第1のピッチ角度DA1以上のときの時定数K1と等しい。
第2の線L12に示されるとおり、ピッチ角度DAが第2のピッチ角度DA2のとき、クランクの回転速度Nが高いほど時定数Kは直線的に増加し、第1の速度N1以上では第1の所定値K1になる。第3の線L13に示されるとおり、ピッチ角度DAが第3のピッチ角度DA3のとき、クランクの回転速度Nが高いほど時定数Kは直線的に増加し、第1の速度N1以上では第1の所定値K1になる。ピッチ角度DAが第3のピッチ角度DA3のとき、クランクの回転速度Nが第1の速度N1未満の範囲においてクランクの回転速度Nが同一の条件下では、時定数Kはピッチ角度DAが第2のピッチ角度DA2のときよりも小さい。
第1のマップのうちのクランクの回転速度Nが第1の速度N1以下の範囲におけるクランクの回転速度Nと時定数Kとの関係は、第1の演算式を用いて予め設定される。第1の演算式は、傾斜角度Dに応じて決定される係数を含む。第1の演算式は、例えば以下の式(1)によって示される。
K=(4×A1×N)+(L1×A2) …(1)
「L1」は、定数である。「N」は、クランクの回転速度Nである。「A1」は、傾斜角度Dに応じて決定される係数である。「A2」は、傾斜角度Dに応じて決定される係数である。「A1」は、傾斜角度Dが大きいほど小さくなるように設定される。「A2」は、傾斜角度Dが大きいほど大きくなるように設定される。表1は、「A1」および[A2]と、傾斜角度Dとの関係の一例を示す。
図2に示されるとおり、制御部32は、ステップS12において現在の走行モードが第1のモードではないと判定したとき、すなわち現在の走行モードが第2のモードであるとき、ステップS17へと移行する。制御部32は、ステップS17において、第2のマップ、傾斜角度D、クランクの回転速度N、および、人力駆動力Tに基づいて補正駆動力TXを演算し、ステップS14に移行する。
制御部32は、ステップS14において人力駆動力Tが低下しているか否かを判定する。制御部32は、ステップS14において人力駆動力Tが低下していると判定したとき、ステップS15において、ステップS17において演算した補正駆動力TXに基づいてモータ出力TMを演算し、ステップS16に移行する。制御部32は、ステップS16においてモータ出力TMに基づいてモータ22を制御し、所定周期後に再びステップS11からの処理を実行する。
第2のモードが選択されているとき、クランクの回転速度Nが変化しなければ、下り坂における傾斜角度Dが大きいほど応答速度Rは高い。第2のモードが選択されているとき、下り坂における傾斜角度Dが第2の角度D2以下のとき、応答速度Rが第2の値R2となる。第2の値R2のとき、応答速度Rは最も高い。一例では、第2の値R2は、人力駆動力Tが上昇するときの応答速度Rと等しい。第2のモードが選択されているとき、傾斜角度Dが変化しなければ、クランクの回転速度Nが高くなると応答速度Rが高くなるように設定されている。第2のモードが選択されているとき、クランクの回転速度Nが第2の速度N2以上になると、応答速度Rが一定になる。
図4に示されるとおり、第2のマップでは、ピッチ角度DAが大きいほど、所定のクランクの回転速度Nに対する時定数Kが大きくなる。このため、第2のマップによれば、下り坂における傾斜角度Dが大きいほど、所定のクランクの回転速度Nに対する時定数Kが小さくなり、応答速度Rが小さくなる。
図4の第1の線L21は、ピッチ角度DAが第4のピッチ角度DA4のときのクランクの回転速度Nと時定数Kとの関係を示す。第1の線L21は、実線で示される。第2の線L22は、ピッチ角度DAが第5のピッチ角度DA5のときのクランクの回転速度Nと時定数Kとの関係を示す。第2の線L22は、一点鎖線で示される。第3の線L23は、ピッチ角度DAが第6のピッチ角度DA6のときのクランクの回転速度Nと時定数Kとの関係を示す。第3の線L23は、長点線で示される。第4の線L24は、ピッチ角度DAが第7のピッチ角度DA7のときのクランクの回転速度Nと時定数Kとの関係を示す。第4の線L24は、短点線で示される。第5の線L25は、ピッチ角度DAが第8のピッチ角度DA8のときのクランクの回転速度Nと時定数Kとの関係を示す。第5の線L25は、二点鎖線で示される。第4のピッチ角度DA4、第5のピッチ角度DA5、第6のピッチ角度DA6、第7のピッチ角度DA7、第8のピッチ角度DA8は、「DA4<DA5<DA6<DA7<DA8」の関係を有する。第4のピッチ角度DA4は、例えば道路の斜度-10%と対応する自転車10のピッチ角度DAであり、負の値を示す。ピッチ角度DAが第4のピッチ角度DA4のとき、自転車10の下り坂における傾斜角度Dは、第2の角度D2である。一例では、第4のピッチ角度DA4は、-5.7度であり、第5のピッチ角度DA5は、-2.8度であり、第6のピッチ角度DA6は、0度であり、第7のピッチ角度DA7は、+2.8度であり、第8のピッチ角度DA8は、+5.7度である。
第2のマップでは、ピッチ角度DAが第4のピッチ角度DA4以下のとき、時定数Kが一定となるように設定されている。第1の線L21に示されるとおり、ピッチ角度DAが第4のピッチ角度DA4のとき、クランクの回転速度Nに関わらず第2の所定値K2が時定数Kに選択される。第2の所定値K2は、例えば「0」である。
第2のマップでは、ピッチ角度DAが第4のピッチ角度DA4より大きいとき、クランクの回転速度Nが高くなると時定数Kが小さくなるように設定されている。第2のマップでは、ピッチ角度DAが第4のピッチ角度DA4より大きいとき、クランクの回転速度Nが第2の速度N2以上になると、時定数Kが一定になるように設定されている。一例では、ピッチ角度DAが第4のピッチ角度DA4より大きいとき、かつ、クランクの回転速度Nが第2の速度N2以上になるときの時定数Kは、ピッチ角度DAが第4のピッチ角度DA4以下のときの時定数K2と等しい。
第2の線L22に示されるとおり、ピッチ角度DAが第5のピッチ角度DA5のとき、クランクの回転速度Nが高いほど時定数Kは指数関数的に減少し、第2の速度N2以上では第2の所定値K2になる。
第3の線L23に示されるとおり、ピッチ角度DAが第6のピッチ角度DA6のとき、クランクの回転速度Nが高いほど時定数Kは指数関数的に減少し、第2の速度N2以上では第2の所定値K2になる。ピッチ角度DAが第6のピッチ角度DA6のとき、クランクの回転速度Nが第2の速度N2未満の範囲においてクランクの回転速度Nが同一の条件下では、時定数Kはピッチ角度DAが第5のピッチ角度DA5のときよりも大きい。
第4の線L24に示されるとおり、ピッチ角度DAが第7のピッチ角度DA7のとき、クランクの回転速度Nが高いほど時定数Kは指数関数的に減少し、第2の速度N2以上では第2の所定値K2になる。ピッチ角度DAが第7のピッチ角度DA7のとき、クランクの回転速度Nが第2の速度N2未満の範囲においてクランクの回転速度Nが同一の条件下では、時定数Kはピッチ角度DAが第6のピッチ角度DA6のときよりも大きい。
第5の線L25に示されるとおり、ピッチ角度DAが第8のピッチ角度DA8のとき、クランクの回転速度Nが高いほど時定数Kは指数関数的に減少し、第2の速度N2以上では第2の所定値K2になる。ピッチ角度DAが第8のピッチ角度DA8のとき、クランクの回転速度Nが第2の速度N2未満の範囲においてクランクの回転速度Nが同一の条件下では、時定数Kはピッチ角度DAが第7のピッチ角度DA7のときよりも大きい。
第2のマップのうちのクランクの回転速度Nが第2の速度N2以下の範囲におけるクランクの回転速度Nと時定数Kとの関係は、第2の演算式を用いて予め設定される。第2の演算式は、傾斜角度Dに応じて決定される係数を含む。第2の演算式は、例えば以下の式(2)によって示される。
K=(L2×B)÷100÷N×1000 …(2)
「L2」は、定数である。「N」は、クランクの回転速度Nである。「B」は、傾斜角度Dに応じて決定される係数である。「B」は、傾斜角度Dが大きいほど大きくなるように設定される。表2は、「B」と傾斜角度Dとの関係の一例を示す。
図2に示されるとおり、制御部32は、ステップS14において人力駆動力Tが低下していないと判定したとき、ステップS18において人力駆動力Tは補正駆動力TXよりも大きいか否かを判定する。制御部32は、ステップS18において人力駆動力Tが補正駆動力TXよりも大きいと判定したとき、ステップS19において人力駆動力Tに基づいてモータ出力TMを演算し、ステップS16に移行する。制御部32は、ステップS16においてモータ出力TMに基づいてモータ22を制御し、所定周期後に再びステップS11からの処理を実行する。
他方、制御部32は、ステップS18において人力駆動力Tが補正駆動力TX以下と判定したとき、ステップS15において補正駆動力TXに基づいてモータ出力TMを演算し、ステップS16に移行する。制御部32は、ステップS16においてモータ出力TMに基づいてモータ22を制御し、所定周期後に再びステップS11からの処理を実行する。すなわち、人力駆動力Tが増加している期間においては、人力駆動力Tおよび補正駆動力TXのうちの大きな方に基づいてモータ22が制御される。
図5を参照して、第1のモードが選択されているときのモータ制御の一例について説明する。図5(a)は、時間と人力駆動力Tとの関係を示す。図5(b)は、時間とピッチ角度DAとの関係を示す。図5(c)は、時間とモータ出力TMとの関係を示す。図5は、クランクの回転速度Nが一定で自転車10が走行している状態を示す。図5(c)において実線は、走行中に傾斜角度Dが変化したときのモータ出力TMを示し、二点鎖線は、走行中に傾斜角度Dが変化しないときのモータ出力TMを示す。
図5の時刻t10から時刻t11までは、ピッチ角度DAが第1のピッチ角度DA1以上のピッチ角度DAの期間を示す。この期間において、人力駆動力Tが増加するとき、すなわち、クランクアーム12C(図1参照)が上死点または下死点から上死点と下死点との中間角に向かって回転するとき、補正駆動力TXよりも人力駆動力Tが大きければ、モータ出力TMは人力駆動力Tの増加度合いと実質的に等しい増加度合いで変化する。また、人力駆動力Tが減少するとき、すなわち、クランクアーム12C(図1参照)が上死点と下死点との中間角から上死点または下死点に向かって回転するとき、モータ出力TMは人力駆動力Tの減少度合いよりも緩やかな減少度合いで減少する。
時刻t11は、ピッチ角度DAが第1のピッチ角度DA1以下かつ第2のピッチ角度DA2より大きくなった時刻を示す。このとき、制御部32は、時定数Kをピッチ角度DAに応じて小さくする。このため、補正駆動力TXの減少度合いが時刻t10から時刻t11までの期間よりも大きくなり、補正駆動力TXの減少度合いが人力駆動力Tの減少度合いに近づく。このため、モータ出力TMの減少度合いが人力駆動力Tの減少度合いに近づく。すなわち、人力駆動力Tの変化に対するモータ22の応答速度Rが高くなる。制御部32は、ピッチ角度DAが第1のピッチ角度DA1以下かつ第2のピッチ角度DA2よりも大きい状態が維持されるとき、人力駆動力Tが減少するときには一定の応答速度Rでモータ22を制御する。
時刻t12は、ピッチ角度DAが第2のピッチ角度DA2以下かつ第3のピッチ角度DA3より大きくなった時刻を示す。このため、補正駆動力TXの減少度合いが時刻t11からt12までの期間よりも大きくなる。このため、モータ出力TMの減少度合いが人力駆動力Tの減少度合いにさらに近づく。すなわち、人力駆動力Tの変化に対するモータ22の応答速度Rが高くなる。制御部32は、ピッチ角度DAが第3のピッチ角度DA3以上の状態が維持されるとき、人力駆動力Tが減少するときには一定の応答速度Rでモータ22を制御する。
図6を参照して、第2のモードが選択されているときのモータ制御の一例について説明する。図6(a)は、時間と人力駆動力Tとの関係を示す。図6(b)は、時間とピッチ角度DAとの関係を示す。図6(c)は、時間とモータ出力TMとの関係を示す。図6は、クランクの回転速度Nが一定で自転車10が走行している状態を示す。図6(c)において実線は、走行中に傾斜角度Dが変化したときのモータ制御の実行態様の一例を示し、二点鎖線は、走行中に傾斜角度Dが変化しないときのモータ制御の実行態様の一例を示す。
図6の時刻t20から時刻t21までは、ピッチ角度DAが第6のピッチ角度DA6以下かつ第5のピッチ角度DA5より大きい期間を示す。この期間において、補正駆動力TXよりも人力駆動力Tが大きければ、人力駆動力Tが増加するとき、モータ出力TMは人力駆動力Tの増加度合いと実質的に等しい増加度合いで変化する。また、人力駆動力Tが減少するとき、モータ出力TMは人力駆動力Tの減少度合いよりも緩やかな減少度合いで減少する。
時刻t21は、ピッチ角度DAが第5のピッチ角度DA5以下かつ第4のピッチ角度DA4より大きくなった時刻を示す。このとき、制御部32は、時定数Kをピッチ角度DAに応じて小さくする。このため、補正駆動力TXの減少度合いが大きくなり、補正駆動力TXの減少度合いが人力駆動力Tの減少度合いに近づく。このため、モータ出力TMの減少度合いが人力駆動力Tの減少度合いに近づく。すなわち、人力駆動力Tの変化に対するモータ22の応答速度Rが高くなる。制御部32は、ピッチ角度DAが第5のピッチ角度DA5以下かつ第4のピッチ角度DA4よりも大きい状態が維持されるとき、人力駆動力Tが減少するときには一定の応答速度Rでモータ22を制御する。
時刻t22は、ピッチ角度DAが第4のピッチ角度DA4以下になった時刻を示す。このとき、制御部32は、時定数Kを「0」にする。このため、補正駆動力TXの減少度合いが大きくなり、補正駆動力TXの減少度合いが人力駆動力Tの減少度合いと実質的に等しくなる。このため、モータ出力TMの減少度合いが人力駆動力Tの減少度合いと実質的に等しくなる。すなわち、人力駆動力Tの変化に対するモータ22の応答速度Rが高くなる。制御部32は、ピッチ角度DAが第4のピッチ角度DA4以下の状態が維持されるとき、人力駆動力Tが減少するときには一定の応答速度Rでモータ22を制御する。
自転車用制御装置30の作用および効果について説明する。
自転車用制御装置30は、上り坂の傾斜角度Dが大きいほどモータ出力TMを大きい状態で維持することができるので、上り坂を走行するときに運転者の負荷を軽減することができる。自転車用制御装置30は、下り坂または平坦な道では、人力駆動力Tの変化に応じてモータ出力TMを応答よく変化させるので、下り坂または平坦な道を走行するときにライダーが自転車10をコントロールしやすくなる。
自転車10が凹凸の多いオフロードにおいて上り坂を走行するとき、自転車10が平坦な道において上り坂を走行するときよりも自転車10の後方に働く力が大きいが、自転車用制御装置30を用いれば第1のモードを選択することによって運転者がモータ出力TMの不足を感じにくい。
(第2実施形態)
図1および図7~図9を参照して、第2実施形態の自転車用制御装置30について説明する。第2実施形態の自転車用制御装置30は、人力駆動力Tが上昇する場合にも傾斜角度Dに応じてモータ22の応答速度Qを変更する点以外は第1実施形態の自転車用制御装置30と同様である。このため、第1実施形態と共通する構成については、第1実施形態と同一の符号を付し、重複する説明を省略する。
制御部32は、人力駆動力Tが上昇する場合に、モータ22の応答速度を変更する。人力駆動力Tが上昇するときのモータ22の応答速度を、応答速度Qと記載する。制御部32は、自転車10の傾斜角度Dに応じて、応答速度Qを段階的に変化させてもよい。制御部32は、自転車10の傾斜角度Dに応じて、応答速度Qを連続的に変化させてもよい。
制御部32は、上り坂における自転車10の傾斜角度Dが大きくなると、応答速度Qを高くする。制御部32は、上り坂における自転車10の傾斜角度Dが大きくなると、人力駆動力Tが上昇する場合のモータ22の応答速度Qを高くする。制御部32は、上り坂における自転車10の傾斜角度Dが第1の角度D1以上になると、人力駆動力Tが上昇する場合の応答速度Qを一定にする。
制御部32は、下り坂における自転車10の傾斜角度Dが大きくなると、応答速度Qを低くする。制御部32は、下り坂における自転車10の傾斜角度Dが大きくなると、人力駆動力Tが上昇する場合の応答速度Qを低くする。制御部32は、下り坂における自転車10の傾斜角度Dが第2の角度D2以上になると、人力駆動力Tが上昇する場合の応答速度Qを一定にする。
記憶部34は、人力駆動力Tの上昇速度、傾斜角度D、および、補正値CXの関係を規定する第3のマップおよび第4のマップを記憶している。制御部32は、人力駆動力Tが上昇する場合、人力駆動力Tに補正値CXを加算または乗算し、補正駆動力TXを演算する。
第3のマップは、第1のモードにおいて人力駆動力Tが上昇する場合の補正値CXを規定する。一例では、第3のマップでは、人力駆動力Tの上昇速度が大きいほど補正値CXが大きくなるように規定され、かつ、ピッチ角度DAが大きいほど、補正値CXが大きくなるように規定されている。第4のマップは、第2モードにおいて人力駆動力Tが上昇する場合の補正値CXを規定する。一例では、第4のマップでは、人力駆動力Tの上昇速度が大きいほど補正値CXが大きくなるように規定され、かつ、ピッチ角度DAが大きいほど、補正値CXが小さくなるように規定される。第3のマップでは、人力駆動力Tの上昇速度とは関係なく、ピッチ角度DAが大きいほど、補正値CXが大きくなるように規定されていてもよい。第4のマップでは、人力駆動力Tの上昇速度とは関係なく、ピッチ角度DAが大きいほど、補正値CXが小さくなるように規定されていてもよい。
制御部32は、人力駆動力Tに補正値CXを加算して補正駆動力TXを演算する場合、第3のマップおよび第4のマップにおいて、人力駆動力Tの上昇速度が所定速度よりも小さい場合には、補正値CXを負の値にすることもできる。制御部32は、人力駆動力Tに補正値CXを乗算して補正駆動力TXを演算する場合、第3のマップおよび第4のマップにおいて、人力駆動力Tの上昇速度が所定速度よりも小さい場合には、補正値CXを1未満にすることもできる。
図7を参照して、制御部32によって実行されるモータ制御について説明する。モータ制御は、制御部32に電力が供給されている状態で、所定周期ごとに繰り返される。
制御部32は、ステップS31において人力駆動力Tを演算する。次に、制御部32は、ステップS32において現在の走行モードが第1のモードか否かを判定する。制御部32は、走行モードが第1のモードであると判定したとき、ステップS33へと移行する。
制御部32は、ステップS33において、人力駆動力Tが低下しているか否かを判定する。制御部32は、人力駆動力Tが低下していると判定した場合、ステップS34に移行する。制御部32は、ステップS34において、第1のマップ、傾斜角度D、クランクの回転速度N、および、人力駆動力Tに基づいて補正駆動力TXを演算し、ステップS35に移行する。制御部32は、ステップS35において、演算した補正駆動力TXに基づいてモータ出力TMを演算し、ステップS36に移行する。制御部32は、ステップS36においてモータ出力TMに基づいてモータ22を制御し、所定周期後に再びステップS31からの処理を実行する。
制御部32は、ステップS33において、人力駆動力Tが上昇しているか、または変化していないと判定した場合、ステップS37に移行する。制御部32は、ステップS37において、第3のマップ、傾斜角度D、および、人力駆動力Tに基づいて補正駆動力TXを演算し、ステップS35に移行する。具体的には、制御部32は、人力駆動力Tの上昇速度に第3のマップに規定される補正値CXを乗算または加算した値を補正駆動力TXとして演算する。制御部32は、ステップS35において、演算した補正駆動力TXに基づいてモータ出力TMを演算し、ステップS36に移行する。制御部32は、ステップS36においてモータ出力TMに基づいてモータ22を制御し、所定周期後に再びステップS31からの処理を実行する。
制御部32は、ステップS32において現在の走行モードが第1のモードではないと判定したとき、すなわち現在の走行モードが第2のモードであるとき、ステップS38へと移行する。制御部32は、ステップS38において、人力駆動力Tが低下しているか否かを判定する。制御部32は、人力駆動力Tが低下していると判定した場合、ステップS39に移行する。制御部32は、ステップS39において、第2のマップ、傾斜角度D、クランクの回転速度N、および、人力駆動力Tに基づいて補正駆動力TXを演算し、ステップS35に移行する。制御部32は、ステップS35において、演算した補正駆動力TXに基づいてモータ出力TMを演算し、ステップS36に移行する。制御部32は、ステップS36においてモータ出力TMに基づいてモータ22を制御し、所定周期後に再びステップS31からの処理を実行する。
制御部32は、ステップS38において、人力駆動力Tが上昇していると判定した場合、ステップS40に移行する。制御部32は、ステップS40において、第4のマップ、傾斜角度D、および、人力駆動力Tに基づいて補正駆動力TXを演算し、ステップS35に移行する。具体的には、制御部32は、人力駆動力Tの上昇速度に第4のマップに規定される補正値CXを乗算または加算した値を補正駆動力TXとして演算する。制御部32は、ステップS35において、演算した補正駆動力TXに基づいてモータ出力TMを演算し、ステップS36に移行する。制御部32は、ステップS36においてモータ出力TMに基づいてモータ22を制御し、所定周期後に再びステップS31からの処理を実行する。
図8を参照して、第1のモードが選択されているときのモータ制御の一例について説明する。図8(a)は、時間と人力駆動力Tとの関係を示す。図8(b)は、時間とピッチ角度DAとの関係を示す。図8(c)は、時間とモータ出力TMとの関係を示す。図8は、クランクの回転速度Nが一定で自転車10が走行している状態を示す。図8(c)において実線は、走行中に傾斜角度Dが変化したときのモータ出力TMを示し、二点鎖線は、走行中に傾斜角度Dが変化しないときのモータ出力TMを示す。
図8の時刻t30から時刻t31までは、ピッチ角度DAが第1のピッチ角度DA1以上のピッチ角度DAの期間を示す。時刻t30から時刻t31までの期間内の補正駆動力TXが減少する期間X1において、人力駆動力Tおよびモータ出力TMは、図5の時刻t11から時刻t12までと同様に変化する。時刻t30から時刻t31までの期間内の補正駆動力TXが上昇する期間X2において、すなわち、クランクアーム12C(図1参照)が上死点または下死点から上死点と下死点との中間角に向かって回転するとき、モータ出力TMは人力駆動力Tの増加度合いよりも大きい増加度合いで変化する。
時刻t31は、ピッチ角度DAが第1のピッチ角度DA1以下かつ第2のピッチ角度DA2より大きくなった時刻を示す。時刻t31から時刻t32までの期間内の補正駆動力TXが減少する期間X1において、人力駆動力Tおよびモータ出力TMは、図5の時刻t11から時刻t12までと同様に変化する。制御部32は、時刻t31から時刻t32までの期間内の補正駆動力TXが上昇する期間X2において、応答速度Qをピッチ角度DAに応じて小さくする。このため、補正駆動力TXの増加度合いが時刻t30から時刻t31までの期間よりも小さくなる。
時刻t32は、ピッチ角度DAが第2のピッチ角度DA2以下かつ第3のピッチ角度DA3より大きくなった時刻を示す。時刻t32以降の補正駆動力TXが減少する期間X1において、人力駆動力Tおよびモータ出力TMは、図5の時刻t12以降と同様に変化する。制御部32は、時刻t32以降の補正駆動力TXが上昇する期間X2において、応答速度Qをピッチ角度DAに応じて小さくする。このため、補正駆動力TXの増加度合いが時刻t31から時刻t32までの期間よりも小さくなる。
図9を参照して、第2のモードが選択されているときのモータ制御の一例について説明する。図9(a)は、時間と人力駆動力Tとの関係を示す。図9(b)は、時間とピッチ角度DAとの関係を示す。図9(c)は、時間とモータ出力TMとの関係を示す。図9は、クランクの回転速度Nが一定で自転車10が走行している状態を示す。図9(c)において実線は、走行中に傾斜角度Dが変化したときのモータ制御の実行態様の一例を示し、二点鎖線は、走行中に傾斜角度Dが変化しないときのモータ制御の実行態様の一例を示す。
図9の時刻t40から時刻t41までは、ピッチ角度DAが第6のピッチ角度DA6以下かつ第5のピッチ角度DA5より大きいピッチ角度DAの期間を示す。時刻t40から時刻t41までの期間内の補正駆動力TXが減少する期間X1において、人力駆動力Tおよびモータ出力TMは、図6の時刻t21から時刻t22までと同様に変化する。時刻t40から時刻t41までの期間内の補正駆動力TXが上昇する期間X2において、すなわち、クランクアーム12C(図1参照)が上死点または下死点から上死点と下死点との中間角に向かって回転するとき、モータ出力TMは人力駆動力Tの増加度合いよりも大きい増加度合いで変化する。
時刻t41は、ピッチ角度DAが第5のピッチ角度DA5以下かつ第4のピッチ角度DA4より大きくなった時刻を示す。時刻t41から時刻t42までの期間内の補正駆動力TXが減少する期間X1において、人力駆動力Tおよびモータ出力TMは、図6の時刻t21から時刻t22までと同様に変化する。制御部32は、時刻t41から時刻t42までの期間内の補正駆動力TXが上昇する期間X2において、応答速度Qをピッチ角度DAに応じて小さくする。このため、補正駆動力TXの増加度合いが時刻t40から時刻t41までの期間よりも小さくなる。
時刻t42は、ピッチ角度DAが第4のピッチ角度DA4以下になる時刻を示す。時刻t42以降の補正駆動力TXが減少する期間X1において、人力駆動力Tおよびモータ出力TMは、図6の時刻t22以降と同様に変化する。制御部32は、時刻t42以降の補正駆動力TXが上昇する期間X2において、応答速度Qをピッチ角度DAに応じて小さくする。このため、補正駆動力TXの増加度合いが時刻t41から時刻t42までの期間よりも小さくなる。
(第3実施形態)
図1、図10、および、図11を参照して、第3実施形態の自転車用制御装置30について説明する。第3実施形態の自転車用制御装置30は、車速Vおよび傾斜角度Dに応じて応答速度Qを変更する制御を実行する点以外は第1実施形態の自転車用制御装置30と同様である。このため、第1実施形態と共通する構成については、第1実施形態と同一の符号を付し、重複する説明を省略する。
本実施形態では、図1に示す制御部32は、自転車10の車速Vが第1速度V1以下の場合の応答速度R,Qと、自転車10の車速Vが第1速度V1を超えた場合の応答速度R,Qとを異ならせる。第1速度V1は、自転車10の走行の開始を判定可能な車速Vが設定されることが好ましい。第1速度V1は、時速1km~時速10kmの範囲で設定されることが好ましい。一例では、第1速度V1は、時速3kmに設定される。第1速度V1は、予め記憶部34に記憶されることが好ましい。記憶部34は、第1速度V1を変更可能に構成される。例えば、操作部14が操作されることによって、または、外部の装置によって、記憶部34に記憶される第1速度V1が変更される。制御部32は、自転車10の車速Vが第1速度V1以下の場合における応答速度Qを、自転車10の車速Vが第1速度V1を超えた場合における応答速度Qよりも高くする。制御部32は、自転車10の車速Vが第1速度V1以下の場合における応答速度Rを、自転車10の車速Vが第1速度V1を超えた場合における応答速度Rよりも低くする。
制御部32は、自転車10が走行を開始してから所定期間PX1以内の場合と、所定期間PX1が経過した場合とにおいて、応答速度R,Qを異ならせる。所定期間PX1は、1秒~10秒の範囲で設定されることが好ましい。一例では、所定期間PX1は、3秒に設定される。所定期間PX1は、予め記憶部34に記憶されることが好ましい。記憶部34は、所定期間PX1を変更可能に構成される。例えば、操作部14が操作されることによって、または、外部の装置によって、記憶部34に記憶される所定期間PX1が変更される。制御部32は、自転車10が走行を開始してから所定期間PX1以内の場合における応答速度Qを、所定期間PXが経過した場合における応答速度Qよりも高くする。制御部32は、自転車10が走行を開始してから所定期間PX1以内の場合における応答速度Rを、所定期間PX1が経過した場合における応答速度Rよりも低くする。
制御部32は、上り坂における傾斜角度Dが大きくなると、人力駆動力Tが低下する場合の応答速度Rを低くし、人力駆動力Tが上昇する場合の応答速度Qを高くする。具体的には、制御部32は、ピッチ角度DAが第1所定角度DX1よりも大きい上り坂において、人力駆動力Tが上昇する場合の応答速度Qを高くする。第1所定角度DX1は、正の値に設定され、一例では、9度に設定される。
制御部32は、下り坂における傾斜角度Dが大きくなると、人力駆動力Tが低下する場合の応答速度Rを高くし、人力駆動力Tが上昇する場合の応答速度Qを低くする。具体的には、制御部32は、ピッチ角度DAが第2所定角度DX2未満の下り坂において、人力駆動力Tが上昇する場合の応答速度Qを高くする。第2所定角度DX2は、負の値に設定され、一例では、-9度に設定される。
図10~図12を参照して、車速Vおよび傾斜角度Dに応じて応答速度R,Qを変更するモータ制御について説明する。モータ制御は、制御部32に電力が供給されている間、所定周期ごとに繰り返される。
制御部32は、ステップS41において、車速Vが第1速度V1以下か否かを判定する。制御部32は、車速Vが第1速度V1以下と判定した場合、ステップS42に移行する。制御部32は、ステップS42において、ピッチ角度DAが第1所定角度DX1よりも大きいか否かを判定する。制御部32は、ピッチ角度DAが第1所定角度DX1よりも大きいと判定した場合、ステップS43に移行する。制御部32は、ステップS43において、応答速度Rを低くし、応答速度Qを高くし、ステップS44に移行する。例えば、制御部32は、予め記憶部34に記憶されている応答速度Rの初期値RXよりも応答速度Rを低くし、予め記憶部34に記憶されている応答速度Qの初期値QXよりも応答速度Qを高くする。応答速度Q,Rの初期値QX,RXは、車速Vが第1速度V1よりも大きい場合に平道を走行する場合に好適な値が設定されていることが好ましい。
制御部32は、ステップS44において、所定期間PX1が経過したか否かを判定する。制御部32は、例えばステップS41において車速Vが第1速度V1以下と判定してからの経過期間が所定期間PX1以上になった場合、所定期間PX1が経過したと判定する。制御部32は、所定期間PX1が経過するまで、ステップS44の判定処理を繰り返す。所定期間PX1は、1秒~10秒の範囲で設定されることが好ましい。一例では、所定期間PX1は、3秒に設定される。制御部32は、所定期間PX1が経過した場合、ステップS45に移行する。制御部32は、ステップS45において、応答速度Rおよび応答速度Qを元に戻す。ステップS45の処理によって、応答速度Rおよび応答速度Qは、ステップS43で変更する前の応答速度Rおよび応答速度Qに設定される。例えば、制御部32は、応答速度Rおよび応答速度Qを予め記憶部34に記憶されている初期値QX,RXに戻す。
制御部32は、ステップS42において、ピッチ角度DAが第1所定角度DX1よりも大きくないと判定した場合、ステップS46に移行する。制御部32は、ステップS46において、ピッチ角度DAが第2所定角度DX2未満か否かを判定する。制御部32は、ピッチ角度DAが第2所定角度DX2以上と判定した場合、処理を終了する。このため、ピッチ角度DAが第1所定角度DX1以下かつ第2所定角度DX2以上の走行路に自転車10がいる場合には、制御部32は、応答速度R,Qを変更せずに処理を終了する。
制御部32は、ステップS46において、ピッチ角度DAが第2所定角度DX2未満と判定した場合、ステップS47に移る。制御部32は、ステップS47において応答速度Rを高くし、応答速度Qを低くし、ステップS44に移行する。例えば、制御部32は、予め記憶部34に記憶されている応答速度Rの初期値RXよりも応答速度Rを高くし、予め記憶部34に記憶されている応答速度Qの初期値QXよりも応答速度Qを低くする。制御部32は、ステップS46において、ピッチ角度DAが第2所定角度DX2未満と判定した場合、ステップS47において応答速度Rを高くし、応答速度Qを低くし、ステップS44に移行する。
制御部32は、ステップS44において、所定期間PX1が経過したか否かを判定する。制御部32は、例えばステップS41において車速Vが第1速度V1以下と判定してからの経過期間が所定期間PX1以上になった場合、所定期間PX1が経過したと判定する。制御部32は、所定期間PX1が経過するまで、ステップS44の判定処理を繰り返す。制御部32は、所定期間PX1が経過した場合、ステップS45に移行する。制御部32は、ステップS45において、応答速度Rおよび応答速度Qを元に戻す。ステップS45の処理によって、応答速度Rおよび応答速度Qは、ステップS47で変更する前の応答速度Rおよび応答速度Qに設定される。例えば、制御部32は、応答速度Rおよび応答速度Qを予め記憶部34に記憶されている初期値QX,RXに戻す。
制御部32は、ステップS41において、車速Vが第1速度V1よりも大きいと判定した場合、ステップS48に移行する。制御部32は、ステップS48において、ピッチ角度DAが第1所定角度DX1よりも大きいか否かを判定する。制御部32は、ピッチ角度DAが第1所定角度DX1よりも大きいと判定した場合、ステップS49に移行する。制御部32は、ステップS49において、応答速度Rを低くし、応答速度Qを高くして、ステップS50に移行する。例えば、制御部32は、予め記憶部34に記憶されている応答速度Rの初期値RXよりも応答速度Rを低くし、予め記憶部34に記憶されている応答速度Qの初期値QXよりも応答速度Qを高くする。制御部32は、ステップS49において、ステップS43の場合と応答速度Rおよび応答速度Qを異なる大きさに設定する。制御部32は、例えば、ステップS43において設定される応答速度Rを、ステップS49において設定される応答速度Rよりも低くし、ステップS43において設定される応答速度Qを、ステップS49において設定される応答速度Qよりも高くする。
制御部32は、ステップS50において、所定期間PX2が経過したか否かを判定する。制御部32は、具体的には、ステップS49において応答速度R,Qを変更してからの経過期間が所定期間PX2以上になった場合、所定期間PX2が経過したと判定する。所定期間PX2は、1秒~10秒の範囲で設定されることが好ましい。一例では、所定期間PX2は、3秒に設定される。所定期間PX2は、予め記憶部34に記憶されることが好ましい。記憶部34は、所定期間PX2を変更可能に構成される。例えば、操作部14が操作されることによって、または、外部の装置によって、記憶部34に記憶される所定期間PX2が変更される。制御部32は、所定期間PX2が経過するまで、ステップS50の判定処理を繰り返す。制御部32は、所定期間PX2が経過した場合、ステップS51に移行する。制御部32は、ステップS51において、応答速度Rおよび応答速度Qを元に戻す。ステップS51の処理によって、応答速度Rおよび応答速度Qは、ステップS49で変更する前の応答速度Rおよび応答速度Qに設定される。例えば、制御部32は、応答速度Rおよび応答速度Qを予め記憶部34に記憶されている初期値RX,QXに戻す。
制御部32は、ステップS48において、ピッチ角度DAが第1所定角度DX1よりも大きくないと判定した場合、ステップS48に移行する。制御部32は、ステップS48において、ピッチ角度DAが第2所定角度DX2未満か否かを判定する。制御部32は、ピッチ角度DAが第2所定角度DX2以上と判定した場合、処理を終了する。このため、ピッチ角度DAが第1所定角度DX1以下かつ第2所定角度DX2以上の走行路に自転車10がいる場合には、制御部32は、応答速度R,Qを変更せずに処理を終了する。
制御部32は、ステップS52において、ピッチ角度DAが第2所定角度DX2未満と判定した場合、ステップS53において応答速度Rを高くし、応答速度Qを低くし、ステップS50に移行する。例えば、制御部32は、予め記憶部34に記憶されている応答速度Rの初期値RXよりも応答速度Rを高くし、予め記憶部34に記憶されている応答速度Qの初期値QXよりも応答速度Qを低くする。制御部32は、例えば、ステップS53において設定される応答速度Rを、ステップS49において設定される応答速度Rよりも高くし、ステップS53において設定される応答速度Qを、ステップS49において設定される応答速度Qよりも低くする。
制御部32は、ステップS50において、所定期間PX2が経過したか否かを判定する。制御部32は、具体的には、ステップS53において応答速度R,Qを変更してからの経過期間が所定期間PX2以上になった場合、所定期間PX2が経過したと判定する。制御部32は、所定期間PX2が経過するまで、ステップS50の判定処理を繰り返す。制御部32は、所定期間PX2が経過した場合、ステップS51に移行する。
(第4実施形態)
図1、図12、および、図13を参照して、第4実施形態の自転車用制御装置30について説明する。第4実施形態の自転車用制御装置30は、傾斜角度Dに応じてモータ22の出力トルクTAを変更する制御を行う点以外は第1実施形態の自転車用制御装置30と同様である。このため、第1実施形態と共通する構成については、第1実施形態と同一の符号を付し、重複する説明を省略する。
本実施形態では、図1に示す制御部32は、走行モードにおいて、人力駆動力Tに応じてモータ22を制御可能に構成され、人力駆動力Tに応じてモータ22を制御する。走行モードにおいて、制御部32は、モータ22の出力トルクTAが所定トルクTY以下になるように制御する。所定トルクTYは、自転車10の傾斜角度Dに応じて変更される。所定トルクTYは、第1トルクTY1を含む。第1トルクTY1は、モータ22の出力特性に応じて設定され、モータ22の出力トルクTAの上限トルクよりも小さくかつ上限トルク近傍の値が設定される。
制御部32は、人力駆動力Tに応じてモータ22を制御する場合、モータ22の出力トルクTAが第1トルクTY1以下になるように制御する。第1トルクTY1は、自転車10の傾斜角度Dに応じて変更される。記憶部34は、第1トルクTY1は、クランクの回転速度Nとの関係を規定する第5のマップを記憶している。図12の実線L31は、第5のマップの一例を示す。第1トルクTY1は、走行モードごとに設定されることが好ましい。制御部32は、上り坂における自転車10の傾斜角度Dが大きくなると、第1トルクTY1を大きくする。制御部32は、下り坂における自転車10の傾斜角度Dが大きくなると、第1トルクTY1を小さくする。
図13を参照して、傾斜角度Dに応じて第1トルクTY1を変更するモータ制御について説明する。モータ制御は、制御部32に電力が供給されている間、所定周期ごとに繰り返される。
制御部32は、ステップS61において、ピッチ角度DAが第1所定角度DX1よりも大きいか否かを判定する。制御部32は、ピッチ角度DAが第1所定角度DX1よりも大きいと判定した場合、ステップS62に移行する。制御部32は、ステップS62において、第1トルクTY1を大きくし、ステップS63に移行する。具体的には、制御部32は、図12の実線L31に示す第1トルクTY1とクランクの回転速度Nとの関係を規定したマップから、図12の破線L32に示す第1トルクTY1とクランクの回転速度Nとの関係を規定したマップを用いたモータ22の制御に切り替える。
制御部32は、ステップS63において、ピッチ角度DAが第1所定角度DX1よりも大きいか否かを判定する。制御部32は、ステップS63において、ピッチ角度DAが第1所定角度DX1よりも大きいと判定する限り、ステップS63の判定処理を繰り返す。制御部32は、ステップS63において、ピッチ角度DAが第1所定角度DX1以下と判定した場合、ステップS64において第1トルクTY1を元に戻して処理を終了する。具体的には、制御部32は、ステップS62において切り替える前の第1トルクTY1とクランクの回転速度Nとの関係を規定したマップを用いたモータ22の制御に切り替える。
制御部32は、ステップS61において、ピッチ角度DAが第1所定角度DX1以下と判定した場合、ステップS65に移行する。制御部32は、ステップS65において、ピッチ角度DAが第2所定角度DX2未満か否かを判定する。制御部32は、ピッチ角度DAが第2所定角度DX2未満と判定した場合、ステップS66に移行する。制御部32は、ステップS66において、第1トルクTY1を小さくし、ステップS67に移行する。具体的には、制御部32は、図12の実線L31に示す第1トルクTY1とクランクの回転速度Nとの関係を規定したマップから、図12の一点鎖線L33に示す第1トルクTY1とクランクの回転速度Nとの関係を規定したマップを用いたモータ22の制御に切り替える。
制御部32は、ステップS67において、ピッチ角度DAが第2所定角度DX2未満か否かを判定する。制御部32は、ステップS67において、ピッチ角度DAが第2所定角度DX2未満と判定する限り、ステップS67の判定処理を繰り返す。制御部32は、ステップS67において、ピッチ角度DAが第2所定角度DX2以上と判定した場合、ステップS64において第1トルクTY1を元に戻して処理を終了する。具体的には、制御部32は、ステップS66において切り替える前の第1トルクTY1とクランクの回転速度Nとの関係を規定したマップを用いたモータ22の制御に切り替える。
人力駆動力Tに対するモータ出力TMの比率の異なる走行モードが複数あり、ステップS62において制御部32が第1トルクTY1を大きくする場合、制御部32は、第1トルクTY1を、人力駆動力Tに対するモータ出力TMの比率が最も大きくなる走行モードにおけるモータ出力TMの最大トルクの値とするのが好ましい。人力駆動力Tに対するモータ出力TMの比率の異なる走行モードが複数あり、ステップS66において制御部32が第1トルクTY1を小さくする場合、制御部32は、第1トルクTY1を、人力駆動力Tに対するモータ出力TMの比率が最も小さくなる走行モードにおけるモータ出力TMの最大トルクの値とするのが好ましい。
(第5実施形態)
図1、図14~図16を参照して、第5実施形態の自転車用制御装置30について説明する。第5実施形態の自転車用制御装置30は、モータ22を操作部14の操作に応じて駆動させる制御を行う点以外は第1実施形態の自転車用制御装置30と同様である。このため、第1実施形態と共通する構成については、第1実施形態と同一の符号を付し、重複する説明を省略する。
本実施形態では、図1に示す操作部14を操作することによって、制御部32は、走行モードとウォークモードとを切り替え可能に構成される。制御部32は、モータ22を、操作部14の操作に応じて制御する。具体的には、制御部32は、ウォークモードでモータ22を駆動するために操作部14が操作されると、人力駆動力Tが0の場合、モータ22の駆動を開始する。制御部32は、操作部14の操作に応じてモータ22を制御する場合、モータ22の出力トルクTAが第2トルクTY2以下になるように制御する。制御部32は、操作部14の操作に応じてモータ22を制御する場合、車速Vが所定の車速V以下になるように制御する。制御部32は、自転車10の傾斜角度Dに応じて、モータ22の出力トルクTAの増加速度を変更する。制御部32は、上り坂における自転車10の傾斜角度Dが大きくなると、モータ22の出力トルクTAの増加速度を高くする。制御部32は、下り坂における自転車10の傾斜角度Dが大きくなると、モータ22の出力トルクTAの増加速度を低くする。
図14~図16を参照して、ウォークモードにおけるモータ制御について説明する。モータ制御は、制御部32に電力が供給されている間、所定周期ごとに繰り返される。
制御部32は、ステップS71において、ウォークモードでのモータ22の駆動の開始要求があるか否かを判定する。具体的には、制御部32は、ウォークモードでモータ22を駆動するために操作部14が操作され、人力駆動力Tが0の場合、ウォークモードでのモータ22の駆動の開始要求があると判定する。制御部32は、ウォークモードでのモータ22の駆動の開始要求がないと判定した場合は、処理を終了する。
制御部32は、ウォークモードでのモータ22の駆動の開始要求があると判定した場合、ステップS72に移行する。制御部32は、ステップS72において、ピッチ角度DAが第1所定角度DX1よりも大きいか否かを判定する。制御部32は、ピッチ角度DAが第1所定角度DX1よりも大きいと判定した場合、ステップS73に移行する。制御部32は、ステップS73において、出力トルクTAの増加速度を第1増加速度に設定し、ステップS77に移行する。
制御部32は、ステップS72において、ピッチ角度DAが第1所定角度DX1以下と判定した場合、ステップS74に移行する。制御部32は、ステップS74において、ピッチ角度DAが第2所定角度DX2未満か否かを判定する。制御部32は、ピッチ角度DAが第2所定角度DX2未満と判定した場合、ステップS75に移行する。制御部32は、ステップS75において、出力トルクTAの増加速度を第2増加速度に設定し、ステップS77に移行する。
制御部32は、ステップS74において、ピッチ角度DAが第2所定角度DX2以上と判定した場合、ステップS76に移行する。制御部32は、ステップS76において、出力トルクTAの増加速度を第3増加速度に設定し、ステップS77に移行する。図16の破線L41は、第1増加速度が設定されているときの出力トルクTAを示し、一点鎖線L42は、第2増加速度が設定されているときの出力トルクTAを示し、実線L43は、第3増加速度が設定されているときの出力トルクTAを示す。第1増加速度は、第3増加速度よりも高い。第2増加速度は、第3増加速度よりも低い。
制御部32は、ステップS77において、ステップS73、S75、または、S76において設定した増加速度でモータ22の駆動を開始し、ステップS78に移行する。制御部32は、ステップS78において、出力トルクTAが第2トルクTY2以上になったか否かを判定する。制御部32は、出力トルクTAが第2トルクTY2になるまでステップS78の判定処理を繰り返す。ステップS78の処理によって、出力トルクTAは、図16の破線L41、一点鎖線L42、または、実線L43のように第2トルクTY2まで増加する。
制御部32は、出力トルクTAが第2トルクTY2以上になったと判定した場合、ステップS79に移行する。制御部32は、ステップS79において、車速Vに応じたモータ22の制御を開始し、ステップS80に移行する。制御部32は、ステップS80において、ウォークモードでのモータ22の駆動終了要求があるか否かを判定する。制御部32は、ウォークモードでモータ22を駆動するために操作部14が操作されなくなった場合、走行モードへの切り替えの操作が操作部14に入力された場合、または、人力駆動力Tが0よりも大きくなった場合に、ウォークモードでのモータ22の駆動終了要求があると判定する。制御部32は、ウォークモードでのモータ22の駆動終了要求があると判定するまで、ステップS79およびステップS80の処理を繰り返す。制御部32は、ウォークモードでのモータ22の駆動終了要求があると判定した場合、ステップS81においてウォークモードでのモータ22の駆動を停止して処理を終了する。
(第6実施形態)
図17を参照して、第6実施形態の自転車用制御装置30について説明する。第6実施形態の自転車用制御装置30は、自転車が走行を開始したときに応答速度R,Qを変更する制御を行う点以外は第1実施形態の自転車用制御装置30と同様である。このため、第1実施形態と共通する構成については、第1実施形態と同一の符号を付し、重複する説明を省略する。
本実施形態では、図1に示す制御部32は、自転車10が走行を開始してから所定期間PX以内の場合と、所定期間PXが経過した場合とにおいて、応答速度R,Qを異ならせる。一例では、所定期間PXは、3秒に設定される。制御部32は、自転車10が走行を開始してから所定期間PX以内の場合における応答速度Qを、所定期間PXが経過した場合における応答速度Qよりも高くする。
図17を参照して、自転車が走行を開始したときに応答速度R,Qを変更するモータ制御について説明する。モータ制御は、制御部32に電力が供給されている間、所定周期ごとに繰り返される。
制御部32は、ステップS91において、自転車10が走行を開始したか否かを判定する。制御部32は、自転車10が走行を開始していないと判定した場合、処理を終了する。例えば、制御部32は、自転車10の車速Vが0から0以上になった場合に自転車10が走行を開始したと判定し、それ以外の場合には、自転車10が走行を開始していないと判定する。制御部32は、自転車10が走行を開始したと判定した場合、ステップS92に移行する。制御部32は、ステップS92において、応答速度Rを小さくし、応答速度Qを大きくし、ステップS93に移行する。具体的には、制御部32は、予め記憶部34に記憶されている応答速度Rの初期値RXよりも応答速度Rを小さくし、予め記憶部34に記憶されている応答速度Qの初期値QXよりも応答速度Qを大きくする。
制御部32は、ステップS93において、所定期間PXが経過したか否かを判定する。例えば、制御部32は、ステップS91において自転車10が走行を開始したと判定してからの期間が所定期間PX以上になった場合、所定期間PXが経過したと判定する。制御部32は、所定期間PXが経過するまでステップS93の判定処理を繰り返す。制御部32は、所定期間PXが経過したと判定した場合、ステップS94に移行する。制御部32は、ステップS94において、応答速度Rおよび応答速度Qを元に戻し、処理を終了する。具体的には、制御部32は、応答速度Rおよび応答速度Qを予め記憶部34に記憶されている初期値RX,QXに戻す。
(第7実施形態)
図1および図18を参照して、第7実施形態の自転車用制御装置30について説明する。第7実施形態の自転車用制御装置30は、車速Vに応じて応答速度R,Qを変更する制御を行う点以外は第1実施形態の自転車用制御装置30と同様である。このため、第1実施形態と共通する構成については、第1実施形態と同一の符号を付し、重複する説明を省略する。
本実施形態では、図1に示す制御部32は、自転車10の車速Vが第1速度V1以下の場合の応答速度R,Qと、自転車10の車速Vが第1速度V1を超えた場合の応答速度R,Qとを異ならせる。第1速度V1は、自転車10の走行の開始を判定可能な車速Vが設定されることが好ましい。一例では、第1速度V1は、時速1km~時速10kmの範囲で設定されることが好ましい。一例では、第1速度V1は、時速3kmに設定される。制御部32は、自転車10の車速Vが第1速度V1以下の場合における応答速度Qを、自転車10の車速Vが第1速度V1を超えた場合における応答速度Qよりも高くする。制御部32は、自転車10の車速Vが第1速度V1以下の場合における応答速度Rを、自転車10の車速Vが第1速度V1を超えた場合における応答速度Rよりも低くする。
図18を参照して、傾斜角度Dに応じて第1トルクTY1を変更するモータ制御について説明する。モータ制御は、制御部32に電力が供給されている間、所定周期ごとに繰り返される。
制御部32は、ステップS95において、車速Vが第1速度V1以下か否かを判定する。制御部32は、車速Vが第1速度V1よりも大きいと判定した場合、処理を終了する。制御部32は、車速Vが第1速度V1以下と判定した場合、ステップS96に移行する。制御部32は、ステップS96において、応答速度Rを小さくし、応答速度Qを大きくし、ステップS97に移行する。具体的には、制御部32は、予め記憶部34に記憶されている応答速度Rの初期値RXよりも応答速度Rを小さくし、予め記憶部34に記憶されている応答速度Qの初期値QXよりも応答速度Qを大きくする。
制御部32は、ステップS97において、車速Vが第1速度V1以下か否かを判定する。制御部32は、車速Vが第1速度V1よりも大きくなるまでステップS97の判定処理を繰り返す。制御部32は、車速Vが第1速度V1よりも大きくなったと判定した場合、ステップS98において、応答速度Rおよび応答速度Qを元に戻し、処理を終了する。具体的には、制御部32は、応答速度Rおよび応答速度Qを予め記憶部34に記憶されている初期値RX,QXに戻す。
(変形例)
上記各実施形態に関する説明は、本発明に従う自転車用制御装置が取り得る形態の例示であり、その形態を制限することを意図していない。本発明に従う自転車用制御装置は、例えば以下に示される上記各実施形態の変形例、および、相互に矛盾しない少なくとも2つの変形例が組み合わせられた形態を取り得る。
・図2のモータ制御を、図19に示すモータ制御に変更することもできる。図19のモータ制御では、制御部32は、ステップS11において人力駆動力Tを演算し、走行モードの判定を行わずにステップS13へと進む。制御部32は、ステップS13において、第1のマップ、傾斜角度D、クランクの回転速度N、および、人力駆動力Tに基づいて補正駆動力TXを演算し、ステップS14に進む。この変形例においては、自転車用制御装置30は、1つの走行モードのみを備え、第2のマップを記憶せず、第1のマップのみを記憶している。
・図2のモータ制御を、図20に示すモータ制御に変更することもできる。図20のモータ制御では、制御部32は、ステップS11において人力駆動力Tを演算し、走行モードの判定を行わずにステップS17へと進む。制御部32は、ステップS17において、第2のマップ、傾斜角度D、クランクの回転速度N、および、人力駆動力Tに基づいて補正駆動力TXを演算し、ステップS14に進む。この変形例においては、自転車用制御装置30は、1つの走行モードのみを備え、第1のマップを記憶せず、第2のマップのみを記憶している。
・図2のモータ制御を、図21に示すモータ制御に変更することもできる。補正部48は、人力駆動力Tを補正するのではなく、出力演算部50が人力駆動力Tに基づいて演算したモータ出力TMを補正する構成とすることができる。図21のモータ制御では、制御部32は、ステップS21において人力駆動力Tを演算する。次に、制御部32は、ステップS22において人力駆動力Tに所定値を乗算することによってモータ出力TMを演算する。次に、制御部32は、ステップS23において現在の走行モードが第1のモードか否かを判定する。制御部32は、走行モードが第1のモードであると判定したとき、ステップS24へと移行する。制御部32は、ステップS24において、第1のマップ、傾斜角度D、クランクの回転速度N、および、モータ出力TMに基づいて補正出力TDを演算し、ステップS25に移行する。他方、制御部32は、ステップS23において現在の走行モードが第1のモードではないと判定したとき、すなわち現在の走行モードが第2のモードであるとき、ステップS27へと移行する。制御部32は、ステップS27において、第2のマップ、傾斜角度D、クランクの回転速度N、および、モータ出力TMに基づいて補正出力TDを演算し、ステップS25に移行する。
制御部32は、ステップS25において人力駆動力Tが低下しているか否かを判定する。制御部32は、ステップS25において人力駆動力Tが低下していると判定したとき、ステップS26において補正出力TDに基づいてモータ22を制御し、所定周期後に再びステップS21からの処理を実行する。
制御部32は、ステップS25において人力駆動力Tが低下していないと判定したとき、ステップS28においてモータ出力TMは補正出力TDよりも大きいか否かを判定する。制御部32は、ステップS28においてモータ出力TMが補正出力TDよりも大きいと判定したとき、ステップS29においてモータ出力TMに基づいてモータ22を制御し、所定周期後に再びステップS21からの処理を実行する。
他方、制御部32は、ステップS28においてモータ出力TMが補正出力TD以下と判定したとき、ステップS26において補正出力TDに基づいてモータ22を制御し、所定周期後に再びステップS21からの処理を実行する。
・第1および第2実施形態において、制御部32は、クランクの回転速度Nに関わらず、傾斜角度Dに応じて応答速度Rを変更するように構成されてもよい。具体的には、制御部32は、傾斜角度Dと時定数Kとの関係のみを含む第1のマップおよび第2のマップを用いて時定数Kを設定することもできる。すなわち、制御部32は、クランクの回転速度Nに関わらず、傾斜角度Dに応じて時定数Kを設定する。
・第1および第2実施形態において、制御部32は、第1のマップまたは第2のマップを用いて時定数Kを設定しているが、マップに代えて演算式を用いて時定数Kを設定することもできる。この場合、記憶部34には、走行モードに応じた演算式(例えば、上記式(1)および式(2))が記憶される。
・第1および第2実施形態において、制御部32は、第1のモードおよび第2のモードにおいて傾斜角度Dに応じて応答速度Rを段階的に変更しているが、傾斜角度Dに応じて応答速度Rを連続的に変更するようにしてもよい。この場合、例えば上記式(1)および式(2)に用いられる補正値C1、A2、Bを傾斜角度Dに応じて変化する関数によって算出する。
・第1実施形態において、制御部32は、下り坂において人力駆動力Tが増加するときに、下り坂における傾斜角度Dが大きいほど応答速度Qを低くするようにしてもよい。
・第2実施形態において、応答速度Qに初期値QXが設定されている場合の人力駆動力Tの増加の度合いよりも人力駆動力Tの増加の度合いを低く設定することもできる。この場合、初期値QXよりも応答速度Qを高くするほど、人力駆動力Tの増加度合いに補正駆動力TXの増加度合い近づく。初期値QXよりも応答速度Qを低くするほど、人力駆動力Tの増加度合いに対する補正駆動力TXの増加度合いが遅れるようになる。この変形例において、制御部32は、人力駆動力Tが増加するときに、人力駆動力Tに補正値CXを乗算または加算して応答速度Qを変化させるのではなく、時定数Kを変更することによって、応答速度Qを変化させることもできる。具体的には、初期値QXと対応する時定数Kを0よりも大きい値にする。この場合、例えば、図8の時刻t30から時刻t31までの期間X2のモータ出力TMの増加の度合いは、時刻t31から時刻t32までの期間X2のモータ出力TMの増加の度合いよりも人力駆動力Tの増加の度合いに近くなる。また、図9の時刻t40から時刻t41までの期間X2のモータ出力TMの増加の度合いは、時刻t41から時刻t42までの期間X2のモータ出力TMの増加の度合いよりも人力駆動力Tの増加の度合いに近くなる。
・第2実施形態において、第1のモードおよび第2のモードの一方を省略してもよい。例えば、第2のモードを省略する場合、図7のモータ制御において、制御部32は、ステップS32、S38、S39、および、S40を省略することもできる。この場合、制御部32は、ステップS31の処理を実行した後、ステップS33に移行する。第1のモードを省略する場合、図7のモータ制御において、制御部32は、ステップS32、S33、S34、および、S37を省略することもできる。この場合、制御部32は、ステップS31の処理を実行した後、ステップS38に移行する。
・第3実施形態において、制御部32は、ステップS44の判定処理に代えて、車速Vが第2速度V2以上か否かの判定処理を行うこともできる。第2速度V2は、一例では時速15kmが設定される。制御部32は、車速Vが第2速度V2以上になるまで、ステップS44の判定処理を繰り返す。制御部32は、車速Vが第2速度V2以上になった場合、ステップS45に移行する。
・第3実施形態において、制御部32は、ステップS50の判定処理に代えて、車速Vが第2速度V2以上か否かの判定処理を行うこともできる。制御部32は、車速Vが第2速度V2以上になった場合、ステップS51に移行する。
・第3実施形態において、応答速度Rおよび応答速度Qの一方を自転車10が走行を開始してから所定期間PX1以内の場合と、所定期間PX1が経過した場合とにおいて異ならせないようにしてもよい。具体的には、制御部32は、図10のステップS43およびステップS47の少なくとも一方において、応答速度Rおよび応答速度Qの一方のみを変更し、他方を変更しない。
・第3実施形態において、図10および図11のフローチャートからステップS44およびステップS50の少なくとも一方を省略してもよい。ステップS44を省略する場合には、制御部32は、ステップS43またはステップS47の処理を実行すると、処理を終了する。この場合、制御部32は、ステップS46において、ピッチ角度DAが第2所定角度DX2以上と判定した場合、ステップS45に移るようにしてもよい。ステップS50を省略する場合には、制御部32は、ステップS49またはステップS53の処理を実行すると、処理を終了する。この場合、制御部32は、ステップS52において、ピッチ角度DAが第2所定角度DX2以上と判定した場合、ステップS51に移るようにしてもよい。
・第3実施形態において、制御部32は、自転車10の車速Vが第1速度V1以下の場合の応答速度R,Qと、自転車10の車速Vが第1速度V1を超えた場合の応答速度R,Qとを異ならせなくてもよい。
・第3実施形態およびその変形例において、図10および図11のフローチャートからステップS41およびS48~S53を省略してもよい。
・第3実施形態において、制御部32は、自転車10の車速Vが第1速度V1以下の場合の応答速度R,Qと、自転車10の車速Vが第1速度V1を超えた場合の応答速度R,Qとを異ならせる場合、応答速度Rおよび応答速度Qの一方のみを異ならせるように変更してもよい。例えば、図10のステップS43およびS47において、応答速度Rおよび応答速度Qの一方のみを変更し、図11のステップS49およびS53において、応答速度Rおよび応答速度Qの一方のみを変更する。
・第3実施形態およびその変形例において、制御部32は、自転車10のピッチ角度DAに応じて応答速度R,Qとを異ならせる場合、応答速度Rおよび応答速度Qの一方のみを異ならせるように変更してもよい。例えば、図10および図11のステップS43、S47、S49、および、S53の少なくとも1つにおいて、応答速度Rおよび応答速度Qの一方のみを変更し、他方を変更しない。
・第3実施形態およびその変形例において、図10のフローチャートからステップS46およびS47を省略してもよい。この場合、制御部32は、ステップS42でピッチ角度DAが第1所定角度DX1以下と判定すると、ステップS44に移る。
・第3実施形態およびその変形例において、図10のフローチャートからステップS42およびS43を省略してもよい。この場合、制御部32は、ステップS41で車速Vが第1速度V1以下と判定すると、ステップS46に移る。
・第3実施形態およびその変形例において、図11のフローチャートからステップS52およびS53を省略してもよい。この場合、制御部32は、ステップS48でピッチ角度DAが第1所定角度DX1以下と判定すると、ステップS50に移る。
・第3実施形態およびその変形例において、図11のフローチャートからステップS48およびS49を省略してもよい。この場合、制御部32は、ステップS41で車速Vが第1速度V1よりも大きいと判定すると、ステップS52に移る。
・第3実施形態およびその変形例において、図10のフローチャートのステップS47の処理が終了すると、フローチャートを終了するようにしてもよい。図10および図11のフローチャートにおいて、ステップS53の処理が終了すると、フローチャートを終了するようにしてもよい。
・第4実施形態において、図13のフローチャートからステップS65、S66、および、S67を省略してもよい。この場合、制御部32は、ステップS61において、ピッチ角度DAが第1所定角度DX1以下と判定した場合、処理を終了する。
・第4実施形態において、図13のフローチャートからステップS61、S62、および、S63を省略してもよい。この場合、制御部32は、制御部32に電力が供給されるとステップS65の処理を実行する。
・第5実施形態において、図14のフローチャートからステップS74およびS75を省略してもよい。この場合、制御部32は、ステップS72においてピッチ角度DAが第1所定角度DX1以下と判定すると、ステップS76に移行する。
・第5実施形態において、図14のフローチャートからステップS72およびS73を省略してもよい。この場合、制御部32は、ステップS71においてウォークモードでのモータ22の駆動開始要求があったと判定すると、ステップS74に移行する。
・第5実施形態およびその変形例において、第2トルクTY2を、自転車10の傾斜角度Dに応じて変更するようにしてもよい。一例では、制御部32は、上り坂における自転車10の傾斜角度が大きくなると、第2トルクTY2を大きくする。制御部32は、下り坂における自転車10の傾斜角度Dが大きくなると、第2トルクTY2を小さくする。例えば、制御部32は、図22に示すように、図14のステップS73の処理に代えてステップS82を実行し、図14のステップS75の処理に代えてステップS83を実行し、図14のステップS76の処理に代えてステップS84の処理を実行する。制御部32は、ステップS82において、出力トルクTAの増加速度を第1増加速度に設定し、第2トルクTY2を第1の値TZ1に設定する。制御部32は、ステップS83において、出力トルクTAの増加速度を第2増加速度に設定し、第2トルクTY2を第2の値TZ2に設定する。制御部32は、ステップS84において、出力トルクTAの増加速度を第3増加速度に設定し、第2トルクTY2を第3の値TZ3に設定する。第1の値TZ1は、第3の値TZ3よりも大きい。第2の値TZ2は、第3の値TZ3よりも小さい。このため、ピッチ角度DAが第1所定角度DX1よりも大きい場合、制御部32は、ピッチ角度DAが第2所定角度DX2以上かつ第1所定角度DX1以下の場合よりも大きい第2トルクTY2以下になるようにモータ22を制御する。ピッチ角度DAが第2所定角度DX2未満の場合、制御部32は、ピッチ角度DAが第2所定角度DX2以上かつ第1所定角度DX1以下の場合よりも小さい第2トルクTY2以下になるようにモータ22を制御する。
・図22に示す変形例のステップS82、S83、および、S84の少なくとも1つの処理において、出力トルクTAの増加速度を変更する処理を省略することもできる。この場合、自転車10の傾斜角度Dに関わらず、出力トルクTAの増加速度は一定になる。
・図22に示す変形例のフローチャートからステップS74およびS83を省略してもよい。この場合、制御部32は、ステップS72においてピッチ角度DAが第1所定角度DX1以下と判定すると、ステップS84に移行する。
・図22に示す変形例のフローチャートからステップS72およびS82を省略してもよい。この場合、制御部32は、ステップS71においてウォークモードでのモータ22の駆動開始要求があったと判定すると、ステップS74に移行する。
・第5実施形態において、制御部32は、自転車10の傾斜角度Dの変化量に応じて、モータ22の出力トルクTAの増加速度を変更してもよい。一例では、制御部32は、上り坂における自転車10の傾斜角度Dの増加速度が大きくなると、モータ22の出力トルクTAの増加速度を高くする。制御部32は、下り坂における自転車10の傾斜角度Dの増加速度が大きくなると、モータ22の出力トルクTAの増加速度を低くする。例えば、制御部32は、図14のステップS73、S75、または、S76において出力トルクTAの増加速度を設定後、図23に示すステップS85に移行する。制御部32は、ステップS85において、ピッチ角度DAが0よりも大きくかつピッチ角度DAの増加速度が大きくなったか否かを判定する。制御部32は、ピッチ角度DAが0よりも大きくかつピッチ角度DAの増加速度が大きくなったと判定した場合、ステップS86に移行する。制御部32は、ステップS86において出力トルクTAの増加速度を高くし、ステップS78に移行する。制御部32は、ステップS85において、ピッチ角度DAが0以下という判定およびピッチ角度DAの増加速度が大きくなっていないという判定の少なくとも一方を行った場合、ステップS87に移行する。制御部32は、ステップS87において、ピッチ角度DAが0よりも小さくかつピッチ角度DAの減少速度が大きくなったか否かを判定する。制御部32は、ピッチ角度DAが0よりも小さくかつピッチ角度DAの減少速度が大きくなったと判定した場合、ステップS88に移行する。制御部32は、ステップS88において出力トルクTAの増加速度を低下させ、ステップS78に移行する。制御部32は、ステップS78において、出力トルクTAが第2トルクTY2以上になるまで、ステップS85からの処理を繰り返す。制御部32は、ステップS78において、出力トルクTAが第2トルクTY2以上になったと判定した場合、ステップS79に移行する。制御部32は、ステップS87において、ピッチ角度DAが0以上という判定およびピッチ角度DAの減少速度が大きくなっていないという判定の少なくとも一方を行った場合、ステップS78に移行する。
・図23に示す変形例のフローチャートからステップS87およびS88を省略してもよい。この場合、制御部32は、ステップS85においてピッチ角度DAが0以下という判定およびピッチ角度DAの増加速度が大きくなっていないという判定の少なくとも一方を行った場合、ステップS78に移行する。
・図23に示す変形例のフローチャートからステップS85およびS86を省略してもよい。この場合、制御部32は、ステップS77の処理の後、ステップS87に移行する。
・第6実施形態において、制御部32は、応答速度Rを変更しなくてもよい。具体的には、制御部32は、図17のステップS92の処理において、応答速度Qを変更し、応答速度Rを変更しない。
・第6実施形態において、制御部32は、制御部32に電力が供給されてから自転車10が走行を開始するまでに応答速度R,Qを変更するようにしてもよい。例えば、図17のフローチャートにおいて、ステップS91とステップS92とを入れ替える。この場合、自転車10が停止したときに、制御部32は、ステップS92の処理を行うようにしてもよい。制御部32は、自転車10が走行を開始するとステップS91に移行する。制御部32は、ステップS91において自転車10が走行を開始したと判定するとステップS93に移る。
・第7実施形態において、制御部32は、応答速度Rを変更しなくてもよい。具体的には、制御部32は、図18のステップS96の処理において、応答速度Qを変更し、応答速度Rを変更しない。
・第7実施形態において、制御部32は、制御部32に電力が供給されてから車速Vが0よりも大きくかつ第1速度V1以下になるまでに応答速度R,Qを変更するようにしてもよい。例えば、図18のフローチャートにおいて、ステップS95とステップS96とを入れ替える。この場合、自転車10が停止したときに、制御部32は、ステップS96の処理を行うようにしてもよい。制御部32は、ステップS95において車速Vが第1速度V1以下であると判定すると、ステップS97に移る。
・制御部32は、自転車10の傾斜角度Dの変化に応じて、応答速度R,Qを変化させてもよい。制御部32は、上り坂における自転車10の傾斜角度Dの増加速度が大きくなると、人力駆動力Tが上昇する場合における応答速度Qを高くする。制御部32は、上り坂における自転車10の傾斜角度Dの増加速度が大きくなると、応答速度Rを低くする。例えば、制御部32は、図24に示す制御を実行する。制御部32は、ステップS101において、ピッチ角度DAが0よりも大きくかつピッチ角度DAの増加速度が大きくなったか否かを判定する。制御部32は、ピッチ角度DAが0よりも大きくかつピッチ角度DAの増加速度が大きくなったと判定した場合、ステップS102に移行する。制御部32は、ステップS102において、応答速度Rを低くし、応答速度Qを高くし、処理を終了する。制御部32は、ステップS101において、ピッチ角度DAが0以下という判定およびピッチ角度DAの増加速度が大きくなっていないという判定の少なくとも一方を行った場合、ステップS103に移行する。制御部32は、ステップS103において、ピッチ角度DAが0よりも小さくかつピッチ角度DAの減少速度が大きくなったか否かを判定する。制御部32は、ピッチ角度DAが0よりも小さくかつピッチ角度DAの減少速度が大きくなったと判定した場合、ステップS104に移行する。制御部32は、ステップS104において、応答速度Rを高くし、応答速度Qを低くし、処理を終了する。制御部32は、ステップS103において、ピッチ角度DAが0以上という判定およびピッチ角度DAの減少速度が大きくなっていないという判定の少なくとも一方を行った場合、応答速度R,Qを変更せずに処理を終了する。この変形例において、制御部32は、ステップS102およびステップS104において応答速度R,Qを変更したあと、所定期間後に応答速度R,Qを戻すようにしてもよい。
・図24に示す変形例のフローチャートからステップS103およびS104を省略してもよい。この場合、制御部32は、ステップS101においてピッチ角度DAが0以下という判定およびピッチ角度DAの増加速度が大きくなっていないという判定の少なくとも一方を行った場合、処理を終了する。
・図24に示す変形例のフローチャートからステップS101およびS102を省略してもよい。この場合、制御部32は、制御部32に電力が供給されるとステップS103の処理を実行する。
・制御部32は、第1期間内に自転車10の傾斜角度Dが上り坂と対応する角度から下り坂における第3角度DX3以上に変化すると、人力駆動力Tが上昇する場合における応答速度Qを低くしてもよい。制御部32は、第1期間内に自転車10の傾斜角度Dが上り坂と対応する角度から下り坂における第3角度DX3以上に変化すると、応答速度Rを高くしてもよい。第1期間は、1秒~10秒の範囲で設定されることが好ましい。一例では、第1期間は、3秒に設定される。第1期間は、予め記憶部34に記憶されることが好ましい。記憶部34は、第1期間を変更可能に構成される。例えば、操作部14が操作されることによって、または、外部の装置によって、記憶部34に記憶される第1期間が変更される。例えば、制御部32は、図25に示す制御を実行する。制御部32は、ステップS105において、ピッチ角度DAが0よりも大きい角度から0よりも小さい第3角度DX3以下に変化したか否かを判定する。制御部32は、ピッチ角度DAが0よりも大きい角度から0よりも小さい第3角度DX3以下に変化したと判定した場合、ステップS106に移行する。制御部32は、ステップS106において、応答速度Rを高くし、応答速度Qを低くし、処理を終了する。制御部32は、ステップS105において、ピッチ角度DAが0よりも大きい角度から0よりも小さい第3角度DX3以下に変化していないと判定した場合、応答速度R,Qを変更せずに処理を終了する。この変形例において、制御部32は、ステップS106において応答速度R,Qを変更したあと、所定期間後に応答速度R,Qを戻すようにしてもよい。図25のフローチャートにおいて、制御部32は、応答速度Rを変更しなくてもよい。
・制御部32は、傾斜角度DをGPS(Global Positioning System)と高度情報を含む地図情報とを用いて取得することもできる。また、制御部32は、気圧等を検出する高度検出センサを備え、GPSの情報に加えて高度検出センサの出力を用いて傾斜角度Dを精度よく取得することもできる。傾斜検出部が、GPS受信機、地図情報を記憶しているメモリ、高度検出センサを含んでいてもよく、GPSによる傾斜角度Dの情報は、例えばサイクルコンピュータまたはスマートフォン等を介して制御部32に入力されてもよい。制御部32は、傾斜角度Dをライダーの入力によって取得することもできる。
・ローパスフィルタ52を移動平均フィルタに変更することもできる。要するに、人力駆動力Tの変化に対するモータ22の応答速度Rを変更できる構成であれば、いずれの構成を採用することもできる。
・制御部32は、人力駆動力Tおよびクランクの回転速度Nに基づいて傾斜角度Dを演算することもできる。この場合、制御部32は、例えば人力駆動力Tが大きくかつクランクの回転速度Nが低いほど、ピッチ角度DAが大きくなるように演算する。すなわち、制御部32は、人力駆動力Tが大きくかつクランクの回転速度Nが低いほど、上り坂における傾斜角度Dが大きく、人力駆動力Tが小さくかつクランクの回転速度Nが高いほど、下り坂における傾斜角度Dが大きいと判断する。また、この変形例において、人力駆動力Tおよびクランクの回転速度Nに加えて自転車10の車速を用いて傾斜角度Dを演算することもできる。
・制御部32は、自転車10の車速を用いてクランクの回転速度Nを推定することもできる。例えば、制御部32は、タイヤ径と自転車10の変速比とを用いてクランクの回転速度Nを推定する。