以下、開示の技術の実施形態の一例を図面を参照しつつ説明する。なお、各図面において同一または等価な構成要素および部分には同一の参照符号を付与している。
[参考実施形態]
以下においては、モータが発生させる補助駆動力によって前輪を駆動する前輪駆動型の電動機付自転車に本発明を適用する場合について説明する。
図3は、本発明の実施形態に係る電動機付自転車1の側面図である。電動機付自転車1は、前ホーク11、ヘッドパイプ12、ダウンチューブ13、シートチューブ14、シートステー15、チェーンステー16からなるフレームを有している。前輪17は前ホーク11に回動自在に取り付けられ、後輪18はシートステー15とチェーンステー16との交点である回転軸19に回動自在に取り付けられている。ヘッドパイプ12には、ハンドルステム20が回動自在に挿通され、ハンドルステム20の上端にはハンドル21が取り付けられている。一方、シートチューブ14には、シートポスト22が嵌合されており、シートポスト22の上端にはサドル23が取り付けられている。チェーンステー16の一端にクランク軸24が支持されており、クランク軸24には、クランク25が取り付けられている。クランク25の先端には、ペダル26が回動自在に支持されている。
モータ160は、前輪17の回転軸29に装着され、前輪17を駆動する補助駆動力を発生させる。すなわち、本実施形態において、モータ160は、前輪のハブに搭載されたハブマウント型である。モータ160の回転は、減速機構(図示せず)によって減速され、前輪17に伝達されるように構成されている。モータ160は、例えばブラシレスDCモータによって構成することができる。
モータ160を駆動するための電力は、シートチューブ14に沿って着脱可能に設けられたバッテリ110から供給される。バッテリ110は、例えばリチウムイオン二次電池により構成され、充電を行うことによって繰り返し使用することが可能となっている。なお、バッテリ110の取り付け位置は、シートチューブ以外の他の部位であってもよい。例えば、バッテリ110は、ダウンチューブ13に取り付けられていてもよい。
図4は、参考実施形態に係る電動機付自転車1の電気系統の構成を示すブロック図である。
トルクセンサ210は、ペダル26に加えられた踏力による入力トルクの大きさを検出し、検出した入力トルクの大きさを示すトルク検出信号STを出力する。トルク検出信号STは、演算処理装置200に供給される。トルクセンサ210として、例えば、磁歪効果を利用した公知のトルクセンサを用いることが可能である。
モータ回転角センサ220は、モータ160の回転角度位置を検出し、検出したモータ160の回転角度位置を示すモータ回転角検出信号SMを出力する。モータ回転角検出信号SMは、演算処理装置200に供給される。モータ回転角センサ220は、例えば、モータ160を構成するロータの角度位置を検出するホール素子によって構成されていてもよい。
クランク角センサ230は、クランク軸24の回転角度位置を検出し、検出したクランク軸24の回転角度位置を示すクランク角検出信号SCを出力する。クランク角検出信号SCは、演算処理装置200に供給される。クランク角センサ230は、例えば、クランク軸24の近傍に配置されたホール素子などによって構成されていてもよい。
舵角センサ240は、ハンドル21の舵角φを検出し、検出した舵角φの大きさを示す舵角検出信号Sφを出力する。舵角検出信号Sφは、演算処理装置200に供給される。舵角センサ240は、ロータリーエンコーダやポテンショメータ等を用いた公知の回転角度検出手段を用いて構成することができる。また、後述する図18に示す機構によって舵角φを検出することも可能である。
演算処理装置200は、例えば、単一の半導体チップにCPU(演算処理装置)、メモリ、入出力回路、タイマー回路などを含むコンピュータシステムを集積したLSI(Large Scale Integration)を含んで構成されている。演算処理装置200は、モータ回転角センサ220から出力されるモータ回転角検出信号SMに基づいて自車両の走行速度Vを導出し、導出した走行速度Vと、トルクセンサ210から出力されるトルク検出信号STと、に基づいてモータ駆動指令値Cを生成する。また、演算処理装置200は、前輪17のスリップを検出した場合には、前輪17を駆動する補助駆動力の大きさを低減させるようにモータ駆動指令値Cを生成する。なお、演算処理装置200は、前輪17のスリップを検出した場合に、前輪17を駆動する補助駆動力の大きさをゼロにまで低減させるようにモータ駆動指令値Cを生成してもよい。なお、演算処理装置200は、本発明における補助駆動力制御部の一例である。
モータ駆動回路120は、演算処理装置200から供給されるモータ駆動指令値Cによって示されるトルク目標値に対応した駆動電力をバッテリ110から取り出してモータ160に供給する。演算処理装置200によって前輪17のスリップが検出された場合には、モータ駆動回路120は、モータ駆動指令値Cに基づいて、モータ160に供給する駆動電力の大きさを低減させる。これにより、補助駆動力の大きさが低減され、スリップが解消される。なお、演算処理装置200によって前輪17のスリップが検出された場合には、モータ駆動回路120は、モータ駆動指令値Cに基づいて、モータ160に供給する駆動電力の大きさをゼロとしてもよい。
図5は、演算処理装置200によって実行されるスリップ解消処理プログラムにおける処理の流れを示すフローチャートである。このスリップ解消処理プログラムは、演算処理装置200が備える不揮発性のメモリ(図示せず)に記憶されている。
ステップS1において、演算処理装置200は、モータ回転角センサ220から出力されるモータ回転角検出信号SMの読み込みを行う。
ステップS2において、演算処理装置200は、クランク角センサ230から出力されるクランク角検出信号SCの読み込みを行う。
ステップS3において、演算処理装置200は、舵角センサ240から出力される舵角検出信号Sφの読み込みを行う。
ステップS4において、演算処理装置200は、モータ回転角検出信号SMに基づいて前輪17の回転速度Vfを導出し、クランク角検出信号SCに基づいて後輪18の回転速度Vrを導出する。なお、前輪17の回転速度Vfは、前輪17の単位時間あたりの回転角度、すなわち、前輪17の角速度であり、後輪18の回転速度Vrは、後輪18の単位時間あたりの回転角度、すなわち、後輪18の角速度である。
ステップS5において、演算処理装置200は、前輪17の回転速度Vfと後輪18の回転速度Vrとの差(Vf−Vr)が閾値Vth以上であるか否かを判定する。換言すれば、演算処理装置200は、前輪17の回転速度Vfの大きさが、後輪18の回転速度Vrに閾値Vthを加算して得られる大きさ以上であるか否かを判定する。演算処理装置200は、前輪17の回転速度Vfと後輪18の回転速度Vrとの差(Vf−Vr)が閾値Vth以上であると判定した場合には、処理をステップS6に移行する。一方、演算処理装置200は、前輪17の回転速度Vfと後輪18の回転速度Vrとの差(Vf−Vr)が閾値Vth以上ではないと判定した場合には、処理をステップS1に戻す。
ステップS6において、演算処理装置200は、舵角検出信号Sφに基づいて、ハンドル21が操舵されているか否かを判定する。この判定処理において、車両が実質的に直進走行しているとみなせる舵角範囲である場合には、ハンドル21が操舵されているとはみなさないものとしてもよい。演算処理装置200は、ハンドル21が操舵されていないと判定した場合には処理をステップS7に移行し、ハンドル21が操舵されていると判定した場合には処理をステップS1に戻す。
ステップS6において、演算処理装置200は、具体的に以下のような処理を行ってもよい。すなわち、演算処理装置200は、舵角検出信号Sφによって示される舵角φが所定範囲内にあるか否かを判定してもよい。つまり、ハンドル21の右方向および左方向の操舵量が所定範囲内であるか否かを判定する。上記所定範囲は、車両が略直進状態にあるとみなせる場合の舵角範囲とすることが好ましい。すなわち、直進状態における舵角をφ0とした場合に、舵角検出信号Sφによって示される舵角φがφ0±αの範囲内であれば、車両が実質的に直進走行しているものとみなして、ハンドル21が操舵されていないと判定してもよい。より具体的には、車両が直進状態にある場合の舵角φを0°とした場合に、例えば、右方向5°および左方向5°を上記の所定範囲として設定してもよい。演算処理装置200は、舵角検出信号Sφによって示される舵角φが所定範囲内にあると判定した場合には処理をステップS7に移行し、舵角検出信号Sφによって示される舵角φが所定範囲内にないと判定した場合には処理をステップS1に戻す。
ステップS7において、演算処理装置200は、前輪17を駆動する補助駆動力の大きさを低減させるようにモータ駆動指令値Cを生成し、これをモータ駆動回路120に供給する。モータ駆動回路120は、モータ駆動指令値Cに基づいて、モータ160に供給する駆動電力の大きさを低減させる。これにより、モータ160から前輪17に供給される補助駆動力が低減され、前輪17のスリップが解消される。なお、演算処理装置200は、ステップS7において、補助駆動力の大きさをゼロにまで低減させるようにモータ駆動指令値Cを生成することにより、前輪17への補助駆動力の供給を停止させてもよい。
以上のように、本実施形態に係る電動機付自転車においては、前輪17の回転速度Vfと後輪18の回転速度Vrとの差(Vf−Vr)が閾値Vth以上になった場合に前輪17にスリップが発生したものと推定し、補助駆動力の大きさを低減させる低減処理を実施して前輪17に生じたスリップの解消を図る。一方、前輪17の回転速度Vfと後輪18の回転速度Vrとの差(Vf−Vr)が閾値Vth以上になった場合でも、ハンドル21の操舵を伴う場合には上記の低減処理を実施しない。
上記したように、ハンドルの操舵によって前輪と後輪との間に回転速度差が生じることから、前輪と後輪との間に回転速度差が生じた場合に、直ちにスリップが発生したものとみなして補助駆動力を低減させた場合には、ハンドルの操舵が補助駆動力制御に不適切に介入してしまうおそれがある。本実施形態に係る電動機付自転車1によれば、前輪17と後輪18との間に回転速度差が生じた場合でも、ハンドル21の操舵を伴う場合には、補助駆動力を低減する低減処理は実施されない。従って、本実施形態に係る電動機付自転車1によれば、ハンドル21の操舵が補助駆動力制御に不適切に介入することを防止することができる。
上記の実施形態では、モータが発生させる補助駆動力によって前輪17を駆動する前輪駆動型の電動機付自転車に、本発明を適用する場合を例示したが、モータが発生させる補助駆動力によって後輪を駆動する後輪駆動型の電動機付自転車に本発明を適用することも可能である。
図6は、後輪駆動型の電動機付自転車において適用されるスリップ解消処理プログラムにおける処理の流れを示すフローチャートである。図6に示すフローチャートは、図5に示すフローチャートのステップS5がステップS5Aに置き換えられたものであり、それ以外の各ステップS1〜S4、S6およびS7は、図5に示すフローチャートと同様であるので、重複する説明は省略する。
後輪駆動型の電動機付自転車においては、ステップS5Aにおいて、演算処理装置200は、後輪18の回転速度Vrと前輪17の回転速度Vfとの差(Vr−Vf)が閾値Vth以上であるか否かを判定する。換言すれば、演算処理装置200は、後輪18の回転速度Vrの大きさが、前輪17の回転速度Vfに閾値Vthを加算して得られる大きさ以上であるか否かを判定する。演算処理装置200は、後輪18の回転速度Vrと前輪17の回転速度Vfとの差(Vr−Vf)が閾値Vth以上であると判定した場合には、処理をステップS6に移行する。一方、演算処理装置200は、後輪18の回転速度Vrと前輪17の回転速度Vfとの差(Vr−Vf)が閾値Vth以上ではないと判定した場合には処理をステップS1に戻す
上記したように、後輪駆動型の電動機付自転車においてもハンドルの操舵によって前輪と後輪との間に回転速度差が生じることから、前輪と後輪との間に回転速度差が生じた場合に、直ちにスリップまたはウイリーが発生したものとみなして補助駆動力を低減させた場合には、ハンドルの操舵が補助駆動力制御に不適切に介入してしまうおそれがある。本実施形態に係る電動機付自転車によれば、前輪17と後輪18との間に回転速度差が生じた場合でも、ハンドル21の操舵を伴う場合には、補助駆動力を低減する低減処理は実施されない。従って、本実施形態に係る電動機付自転車1によれば、ハンドル21の操舵が補助駆動力制御に不適切に介入することを防止することができる。
なお、上記の実施形態においては、前輪17と後輪18のうち、モータ160が発生させる補助駆動力によって駆動される方の車輪の回転速度が、他方の車輪の回転速度よりも大きい場合に、補助駆動力によって駆動される方の車輪にスリップが生じたものと推定する場合を例示したが、この態様に限定されるものではない。
例えば、前輪17の回転数とクランク軸24の回転数との比に基づいてスリップの発生を推定してもよい。すなわち、前輪駆動型については、図5に示すフローチャートのステップS5において、前輪17の回転数R1とクランク軸24の回転数R2との比(R1/R2)が閾値よりも大であるか否かを判定し、比(R1/R2)が閾値よりも大であると判定した場合に前輪17にスリップが生じたものと推定する。一方、後輪駆動型については、図5に示すフローチャートのステップS5において、前輪17の回転数R1とクランク軸24の回転数R2との比(R2/R1)が閾値よりも大であるか否かを判定し、比(R2/R1)が閾値よりも大であると判定した場合に後輪18にスリップが生じたものと推定する。
また、前輪17と後輪18のうち、モータ160が発生させる補助駆動力によって駆動される方の車輪の加速度の値が閾値を超えた場合にスリップが生じたものと推定してもよい。すなわち、前輪駆動型については、図5に示すフローチャートのステップS5において、前輪17の加速度の値が閾値を上回ったか否かの判定を行い、前輪17の加速度の値が閾値を上回ったと判定した場合には、前輪17にスリップが生じたものと推定する。後輪駆動型については、図5に示すフローチャートのステップS5において、後輪18の加速度の値が閾値を上回ったか否かの判定を行い、後輪18の加速度の値が閾値を上回ったと判定した場合には、後輪18にスリップが生じたものと推定する。なお、上記した各方法によるスリップ検出は、ユーザが、車両に乗車している状態か車両から降車して手押ししている状態であるかにかかわらず行われる。
上記の実施形態では、舵角センサ240から出力される舵角検出信号Sφに基づいてハンドル21が操舵されているか否かを判定し、ハンドル21が操舵されているものと判定した場合には、補助駆動力の低減処理を実施しないことにより、ハンドル21の操舵が補助駆動力制御に不適切に介入することを防止しているが、本発明は、この態様に限定されるものではない。例えば、通常使用時におけるハンドルの操舵に起因して生じる前輪と後輪との間の回転速度差の推定される最大値を実験やシミュレーション等によって取得し、当該推定された回転速度差の最大値を、上記の閾値Vthとして設定してもよい。かかる態様によれば、舵角センサ240等のハンドルの操舵を検出するデバイスを用いることなくハンドル21の操舵が補助駆動力制御に不適切に介入することを防止することができる。
以上のように、本発明の実施形態に係る電動機付自転車においては、車両の状態が所定状態となった場合に補助駆動力の大きさを低減する低減処理が実施され、車両の状態がハンドルの操舵を伴って若しくはハンドルの操舵に起因して上記所定状態になった場合には低減処理が実施されない。
[第2の実施形態]
図7は、本発明の第2の実施形態に係る電動機付自転車の電気系統の構成を示すブロック図である。第2の実施形態に係る電動機付自転車は、スリップの発生有無の判定に用いる閾値Vthをハンドルの操舵に応じて変化させる。以下においては、モータが発生させる補助駆動力によって前輪を駆動する前輪駆動型の電動機付自転車に本発明を適用する場合について説明する。
第2の実施形態に係る電動機付自転車は、舵角センサ240に代えて、操舵速度センサ250を含む点において、上記した参考実施形態に係る電動機付自転車と異なる。
操舵速度センサ250は、ハンドル21の操舵速度Vφを検出し、検出した操舵速度Vφの大きさを示す操舵速度検出信号SVφを出力する。操舵速度検出信号SVφは、演算処理装置200に供給される。操舵速度センサ250は、例えば、公知のジャイロセンサによって構成されていてもよい。
操舵速度Vφは、単位時間当たりのハンドル21の舵角の変化量(操舵量)、すなわち、操舵軸まわりに回転するハンドル21の角速度であり、舵角が大きくなる方向を正とする。すなわち、図8に示すように、直進状態のハンドルポジションから左右旋回状態のハンドルポジションに向かう方向(ハンドルを切る方向)を操舵速度Vφにおける正の方向とする。一方、左右旋回状態のハンドルポジションから直進状態のハンドルポジションに向かう方向(ハンドルを戻す方向)を操舵速度Vφにおける負の方向とする。なお、操舵速度Vφの正負を判定するために、ハンドルの舵角を検出する公知の舵角センサを併用してもよい。
図9は、操舵速度センサ250の取り付け位置の一例を示す図である。操舵速度センサ250は、例えば、ハンドルグリップ21Aの近傍に取り付けることができる。操舵速度センサ250を、ハンドルグリップ21Aの近傍に取り付けることで、操舵軸Lを回転軸として回転するハンドル21の角速度、すなわち、操舵速度Vφを検出することができる。なお、操舵速度センサ250は、既存の操作・表示部260の内部に設けられていてもよい。操作・表示部260は、踏力に対する補助駆動力の比率(アシスト比率)の設定やライトのオンオフの切り替え操作を行う操作部(図示せず)と、車速やバッテリ残量などを表示する表示部(図示せず)とを含んで構成されている。操舵速度センサ250を、既存の操作・表示部260の内部に設けることで、操舵速度センサ250の取り付けが容易となる。なお、操舵速度センサ250は、ハンドルステム20とヘッドパイプ12との相対的な位置関係を検出するように配置されたロータリーエンコーダによって構成されていてもよい。また、操舵速度センサ250は、操作・表示部260の内部に設けられた加速度センサによって構成されていてもよい。
図10は、演算処理装置200によって実行される本発明の第2の実施形態に係るスリップ解消処理プログラムにおける処理の流れを示すフローチャートである。
ステップS11において、演算処理装置200は、モータ回転角センサ220から出力されるモータ回転角検出信号SMの読み込みを行う。
ステップS12において、演算処理装置200は、クランク角センサ230から出力されるクランク角検出信号SCの読み込みを行う。
ステップS13において、演算処理装置200は、操舵速度センサ250から出力される操舵速度検出信号SVφの読み込みを行う。
ステップS14において、演算処理装置200は、モータ回転角検出信号SMに基づいて前輪17の回転速度Vfを導出し、クランク角検出信号SCに基づいて後輪18の回転速度Vrを導出する。
ステップS15において、演算処理装置200は、操舵速度検出信号SVφに基づいて、スリップの発生有無の判定に用いる閾値Vthを導出する。
ここで、図11(a)および図11(b)は、操舵速度Vφと閾値Vthとの関係の一例を示すグラフである。演算処理装置200は、操舵速度検出信号SVφによって示される操舵速度Vφが正の方向に大きくなる程、閾値Vthを大きくする。
演算処理装置200は、例えば、図11(a)に示すように、操舵速度Vφに応じて閾値Vthを連続的に変化させてもよい。この場合において、操舵速度Vφの変化に対して閾値Vthを直線的に変化させてもよいし、非直線的に変化させてもよい。また、図11(b)に示すように、操舵速度Vφに応じて閾値Vthを段階的に変化させてもよい。この場合において、操舵速度Vφの変化に対して閾値Vthを2段階または3段階以上で変化させてもよい。図11(a)および図11(b)に示されるような、操舵速度Vφと閾値Vthとの関係を示すデータは、演算処理装置200が備える不揮発性のメモリ(図示せず)に記憶されている。演算処理装置200は、かかるデータを参照することで、ステップS13において読み込んだ操舵速度検出信号SVφによって示される操舵速度Vφに対応する閾値Vthを導出する。
ステップS16において、演算処理装置200は、前輪17の回転速度Vfと後輪18の回転速度Vrとの差(Vf−Vr)がステップS15において導出した閾値Vth以上であるか否かを判定する。演算処理装置200は、前輪17の回転速度Vfと後輪18の回転速度Vrとの差(Vf−Vr)が閾値Vth以上であると判定した場合には、前輪17にスリップが生じたものと判定し、処理をステップS17に移行する。一方、演算処理装置200は、前輪17の回転速度Vfと後輪18の回転速度Vrとの差(Vf−Vr)が閾値Vth以上ではないと判定した場合には、前輪17にスリップが生じていないと判定し、処理をステップS11に戻す。
ステップS17において、演算処理装置200は、前輪17を駆動する補助駆動力の大きさを低減させるようにモータ駆動指令値Cを生成し、これをモータ駆動回路120に供給する。モータ駆動回路120は、モータ駆動指令値Cに基づいて、モータ160に供給する駆動電力の大きさを低減させる。これにより、モータ160から前輪17に供給される補助駆動力が低減され、前輪17のスリップが解消される。なお、演算処理装置200は、前輪17にスリップが生じているものと判定した場合に、補助駆動力の大きさをゼロにまで低減させるようにモータ駆動指令値Cを生成することにより、前輪17への補助駆動力の供給を停止させてもよい。
上記したように、舵角が大きくなる方向にハンドル21の操舵を行うと、前輪17には、車両が前進する方向、すなわち正転方向に回転する力が加わり、前輪17と後輪18との間に回転速度差ΔVθが生じることとなる。ここで、図12は、ハンドル21の操舵速度Vφと、ハンドル21の操舵に起因して生じる前輪17と後輪18との間の回転速度差ΔVθ(=Vf−Vr)との関係の一例を示すグラフである。図12に示すように、ハンドル21の操舵速度Vφが正の方向に大きくなる程、前輪17の回転速度が大きくなり、前輪17と後輪18との間の回転速度差ΔVθ(=Vf−Vr)は、大きくなる。本実施形態に係る電動機付自転車によれば、スリップの発生有無の判定に用いる閾値Vthは、操舵速度Vφが正の方向に大きくなる程大きくなるように変化するので、前輪駆動型の電動機付自転車におけるスリップ検出において、ハンドル21の操舵に起因して生じる前輪17と後輪18との間の回転速度差ΔVθ(=Vf−Vr)がキャンセルされるように作用する。従って、本実施形態に係る電動機付自転車によれば、ハンドル21の操舵が補助駆動力制御に不適切に介入することを防止することが可能となる。また、操舵速度Vφは、ジャイロセンサ等の操舵速度センサ250をハンドル21に取り付けることで検出することができるので、舵角を検出する場合と比較して、簡便な構成とすることができる。
なお、上記の実施形態においては、前輪17と後輪18のうち、モータ160が発生させる補助駆動力によって駆動される方の車輪の回転速度が、他方の車輪の回転速度よりも大きい場合に、補助駆動力によって駆動される方の車輪にスリップが生じたものと推定する場合を例示したが、この態様に限定されるものではない。
例えば、前輪17の回転数とクランク軸24の回転数との比に基づいてスリップの発生を推定してもよい。すなわち、前輪駆動型については、図10に示すフローチャートのステップS16において、前輪17の回転数R1とクランク軸24の回転数R2との比(R1/R2)が閾値よりも大であるか否かを判定し、比(R1/R2)が閾値よりも大であると判定した場合に前輪17にスリップが生じたものと推定する。一方、後輪駆動型については、図10に示すフローチャートのステップS16において、前輪17の回転数R1とクランク軸24の回転数R2との比(R2/R1)が閾値よりも大であるか否かを判定し、比(R2/R1)が閾値よりも大であると判定した場合に後輪18にスリップが生じたものと推定する。
また、前輪17と後輪18のうち、モータ160が発生させる補助駆動力によって駆動される方の車輪の加速度の値が閾値を超えた場合にスリップが生じたものと推定してもよい。すなわち、前輪駆動型については、図10に示すフローチャートのステップS16において、前輪17の加速度の値が閾値を上回ったか否かの判定を行い、前輪17の加速度の値が閾値を上回ったと判定した場合には、前輪17にスリップが生じたものと推定する。後輪駆動型については、図10に示すフローチャートのステップS16において、後輪18の加速度の値が閾値を上回ったか否かの判定を行い、後輪18の加速度の値が閾値を上回ったと判定した場合には、後輪18にスリップが生じたものと推定する。
スリップ検出において上記したいずれの方法を採用する場合でもスリップの発生有無の判定に用いる閾値Vthは、操舵速度Vφが正の方向に大きくなる程大きくなるように変化する。これにより、ハンドル21の操舵が補助駆動力制御に不適切に介入することを防止することが可能となる。後述する第3の実施形態においても、スリップ検出において、上記したいずれの方法も採用することが可能である。
また、上記の実施形態では、モータが発生させる補助駆動力によって前輪17を駆動する前輪駆動型の電動機付自転車に本発明を適用する場合を例示したが、モータが発生させる補助駆動力によって後輪を駆動する後輪駆動型の電動機付自転車に本発明を適用することも可能である。
図13は、後輪駆動型の電動機付自転車において適用されるスリップ解消処理プログラムにおける処理の流れを示すフローチャートである。図13に示すフローチャートのステップS11〜S14およびS17は、図10に示すフローチャートのステップS11〜S14およびS17と同様であるので、重複する説明を省略する。
ステップS15Aにおいて、演算処理装置200は、操舵速度検出信号SVφに基づいて、スリップの発生有無またはウイリーの発生有無の判定に用いる閾値Vthを導出する。後輪駆動型の電動機付自転車においては、操舵速度検出信号SVφによって示される操舵速度Vφが負の方向(ハンドルを直進ポジションに戻す方向)に大きくなる程、閾値Vthを大きくする。操舵速度Vφに対応する閾値Vthの設定は、図11(a)および図11(b)の例に倣って行うことが可能である。
ステップS16Aにおいて、演算処理装置200は、後輪18の回転速度Vrと前輪17の回転速度Vfとの差(Vr−Vf)がステップS15Aにおいて導出した閾値Vth以上であるか否かを判定する。演算処理装置200は、後輪18の回転速度Vrと前輪17の回転速度Vfとの差(Vr−Vf)が閾値Vth以上であると判定した場合には、後輪18にスリップが生じたものと判定し、または前輪17が地面から浮き上がるウイリーが生じたものと判定し、処理をステップS17に移行する。一方、演算処理装置200は、後輪18の回転速度Vrと前輪17の回転速度Vfとの差(Vr−Vf)が閾値Vth以上ではないと判定した場合には、後輪18にスリップが生じていないと判定し、またはウイリーが生じていないと判定し、処理をステップS11に戻す。
図12に示すように、ハンドル21の操舵速度Vφが負の方向(ハンドルを直進ポジションに戻す方向)に大きくなる程、前輪17の回転速度Vfが低下して、後輪18の回転速度Vrと前輪17の回転速度Vfとの差ΔVθ(=Vr−Vf)が大きくなる。本実施形態に係る電動機付自転車によれば、スリップの発生有無の判定に用いる閾値Vthは、操舵速度Vφが負の方向に大きくなる程大きくなるように変化するので、後輪駆動型の電動機付自転車におけるスリップ検出またはウイリー検出において、ハンドル21の操舵に起因して生じる前輪17と後輪18との間の回転速度差ΔVθ(=Vr−Vf)がキャンセルされるように作用する。従って、ハンドル21の操舵が補助駆動力制御に不適切に介入することを防止することが可能となる。
なお、本実施形態において、演算処理装置200は、本発明における補助駆動力制御部および閾値設定部の一例である。
[第3の実施形態]
本発明の第3の実施形態に係る電動機付自転車は、上記した第2の実施形態に係る電動機付自転車と同様、スリップの発生有無の判定に用いる閾値Vthをハンドルの操舵角に応じて変化させる。本発明の第3の実施形態に係る電動機付自転車の電気系統の構成は、図4に示す参考実施形態に係る構成と同様であり、舵角センサ240を含む。以下においては、モータが発生させる補助駆動力によって前輪を駆動する前輪駆動型の電動機付自転車に本発明を適用する場合について説明する。
図14は、演算処理装置200によって実行される本発明の第3の実施形態に係るスリップ解消処理プログラムにおける処理の流れを示すフローチャートである。
ステップS21において、演算処理装置200は、モータ回転角センサ220から出力されるモータ回転角検出信号SMの読み込みを行う。
ステップS22において、演算処理装置200は、クランク角センサ230から出力されるクランク角検出信号SCの読み込みを行う。
ステップS23において、演算処理装置200は、舵角センサ240から出力される舵角検出信号Sφの読み込みを行う。
ステップS24において、演算処理装置200は、モータ回転角検出信号SMに基づいて前輪17の回転速度Vfを導出し、クランク角検出信号SCに基づいて後輪18の回転速度Vrを導出する。
ステップS25において、演算処理装置200は、舵角検出信号Sφに基づいて、スリップの発生有無の判定に用いる閾値Vthを導出する。ここで、図15(a)および図15(b)は、ハンドル21の舵角φと閾値Vthとの関係の一例を示すグラフである。なお、直進状態のハンドル21のポジションを舵角ゼロとし、舵角ゼロの状態からハンドル21の左右への操舵量が大きくなる程、舵角は大きくなるものとする。
演算処理装置200は、舵角検出信号Sφによって示されるハンドル21の舵角φが大きくなる程、閾値Vthを大きくする。演算処理装置200は、例えば、図15(a)に示すように、舵角φに応じて閾値Vthを連続的に変化させてもよい。この場合において、舵角φの変化に対して閾値Vthを直線的に変化させてもよいし、非直線的に変化させてもよい。また、図15(b)に示すように、舵角φに応じて閾値Vthを段階的に変化させてもよい。この場合において、舵角φの変化に対して閾値Vthを2段階または3段階以上で変化させてもよい。図15(a)および図15(b)に示されるような、舵角φと閾値Vthとの関係を示すデータは、演算処理装置200が備える不揮発性のメモリ(図示せず)に記憶されている。演算処理装置200は、かかるデータを参照することで、ステップS23において読み込んだ舵角検出信号Sφによって示される舵角φに対応する閾値Vthを導出する。
図16は、ハンドル21の舵角φと前輪17の回転角θとの関係の一例を示すグラフである。図16に示すように、ハンドル21の操舵に起因して回転する前輪17の回転角θは、舵角φの変化量に対して非直線的に変化する。閾値Vthの設定は、舵角φと前輪17の回転角θとの関係に基づいて行うことが好ましい。例えば、舵角φの変化量に対する前輪17の回転角θの変化量の割合が比較的大きい領域Aにおいては、舵角φの変化量に対する閾値Vthの変化量を、他の領域よりも大きくしてもよい。
ステップS26において、演算処理装置200は、前輪17の回転速度Vfと後輪18の回転速度Vrとの差(Vf−Vr)がステップS25において導出した閾値Vth以上であるか否かを判定する。演算処理装置200は、前輪17の回転速度Vfと後輪18の回転速度Vrとの差(Vf−Vr)が閾値Vth以上であると判定した場合には、前輪17にスリップが生じたものと判定し、処理をステップS27に移行する。一方、演算処理装置200は、前輪17の回転速度Vfと後輪18の回転速度Vrとの差(Vf−Vr)が閾値Vth以上ではないと判定した場合には、前輪17にスリップが生じていないと判定し、処理をステップS21に戻す。
ステップS27において、演算処理装置200は、前輪17を駆動する補助駆動力の大きさを低減させるようにモータ駆動指令値Cを生成し、これをモータ駆動回路120に供給する。モータ駆動回路120は、モータ駆動指令値Cに基づいて、モータ160に供給する駆動電力の大きさを低減させる。これにより、モータ160から前輪17に供給される補助駆動力が低減され、前輪17のスリップが解消される。なお、演算処理装置200は、前輪17にスリップが生じているものと判定した場合に、補助駆動力の大きさをゼロにまで低減させるようにモータ駆動指令値Cを生成することにより、前輪17への補助駆動力の供給を停止させてもよい。
図12に示すように、ハンドル21の操舵速度Vφが大きくなる程、前輪17と後輪18との間の回転速度差ΔVθは大きくなるところ、本実施形態に係る電動機付自転車によれば、スリップの発生有無の判定に用いる閾値Vthは、ハンドル21の舵角φが大きくなる程大きくなるように変化する。ハンドル21の操舵速度Vφが大きくなる程、ハンドル21の舵角φは大きくなるものと考えられるので、ハンドル21の舵角φが大きくなる程、前輪17と後輪18との間の回転速度差は大きくなると考えられる。従って、本実施形態に係る電動機付自転車によれば、上記した第2の実施形態の場合と同様、スリップ検出において、ハンドル21の操舵に起因して生じる前輪17と後輪18との間の回転速度差ΔVθ(=Vf−Vr)がキャンセルされるように作用する。従って、本実施形態に係る電動機付自転車によれば、ハンドル21の操舵が補助駆動力制御に不適切に介入することを防止することが可能となる。また、本実施形態に係る電動機付自転車によれば、スリップ解消処理のために検出した舵角φを他の制御に利用することが可能となる。例えば、舵角φに応じてモータによるアシスト量を変化させたり、モータから取り出す回生電流の大きさを変化させたりしてもよい。
なお、上記の実施形態では、モータが発生させる補助駆動力によって前輪17を駆動する前輪駆動型の電動機付自転車に本発明を適用する場合を例示したが、モータが発生させる補助駆動力によって後輪を駆動する後輪駆動型の電動機付自転車に本発明を適用することも可能である。
図17は、後輪駆動型の電動機付自転車において適用されるスリップ解消処理プログラムにおける処理の流れを示すフローチャートである。図17に示すフローチャートは、図14に示すフローチャートのステップS26がステップS26Aに置き換えられたものであり、それ以外の各ステップS21〜S23およびS25〜S27は、図14に示すフローチャートと同様である。
すなわち、後輪駆動型の電動機付自転車においては、ステップS26Aにおいて、演算処理装置200は、後輪18の回転速度Vrと前輪17の回転速度Vfとの差(Vr−Vf)が閾値Vth以上であるか否かを判定する。換言すれば、演算処理装置200は、後輪18の回転速度Vrの大きさが、前輪17の回転速度Vfに閾値Vthを加算して得られる大きさ以上であるか否かを判定する。演算処理装置200は、後輪18の回転速度Vrと前輪17の回転速度Vfとの差(Vr−Vf)が閾値Vth以上であると判定した場合には、後輪18にスリップが生じたものと判定し、または、前輪17が地面から浮き上がるウイリーが生じたものと判定し、処理をステップS27に移行する。一方、演算処理装置200は、後輪18の回転速度Vrと前輪17の回転速度Vfとの差(Vr−Vf)が閾値Vth以上ではないと判定した場合には、後輪18にスリップが生じていないと判定し、または、ウイリーが生じていないと判定し、処理をステップS21に戻す。
上記の制御を行うことで、後輪駆動型の電動機付自転車におけるスリップ検出またはウイリー検出において、ハンドル21の操舵に起因して生じる前輪17と後輪18との間の回転速度差がキャンセルされるように作用する。従って、ハンドル21の操舵が補助駆動力制御に不適切に介入することを防止することが可能となる。
なお、本実施形態において、演算処理装置200は、本発明における補助駆動力制御部および閾値設定部の一例である。
図18は、ハンドル21の舵角を検出するための舵角検出機構の一例を示す図である。ハンドル21を支持するハンドルステム20(図3参照)の下端は、ヘッドパイプ12に挿入されたホークステム11Aに結合されている。すなわち、ホークステム11Aは、ハンドル21の操舵に応じて操舵軸L周りに回転する。なお、ホークステム11Aは前ホーク11(図3参照)の一部を構成する。ホークステム11Aの外周面には、リング状のカム部材60が取り付けられている。
図19は、操舵軸Lと直交する平面におけるカム部材60の平面図である。カム部材60は、操舵中心Oを中心点とする略真円形状の内周面P1と、操舵中心Oからの距離が、周方向に沿って変化している外周面P2とを有する。すなわち、カム部材60の厚さは、周方向に沿って変化している。カム部材60は、ハンドル21の操舵に応じて操舵中心Oを回転中心として回転する。
図18に示すように、ヘッドパイプ12には、カム部材60の取り付け位置に対応する位置にストロークセンサ50が取り付けられている。なお、ストロークセンサ50は、上記した舵角センサ240の一例である。ストロークセンサ50は、測定対象物との接触によって直線移動するセンサヘッド52を有し、センサヘッド52のストローク量に応じた電気信号を出力する直線変位センサである。ヘッドパイプ12には、ストロークセンサ50の取り付け位置に開口部12Cが設けられており、センサヘッド52の先端は、開口部12Cを経由してヘッドパイプ12の内部に侵入し、カム部材60の外周面P2に接触している。センサヘッド52は、その先端が、常にカム部材60の外周面P2に接触するように、スプリング等によって突出方向に付勢力が付与されている。従って、ハンドル21が操作されると、カム部材60の外周面P2とセンサヘッド52との接触位置がカム部材60の周方向に沿って移動する。上記のように、カム部材60の外周面P2は、操舵中心Oからの距離が周方向に沿って変化しているので、ハンドル21の舵角に応じてセンサヘッド52のストローク量が変化する。ストロークセンサ50の出力信号は、演算処理装置200に供給される。演算処理装置200は、ストロークセンサ50の出力信号からハンドル21の舵角を取得することが可能である。
カム部材60の外周面P2の形状は、ハンドル21の操舵に応じてセンサヘッド52のストローク量を変化させることによってハンドル21の舵角を連続的または段階的に検出できるように構成されていればよい。例えば、図19に示すように、カム部材60の外周面P2の操舵中心Oからの距離が、基準点Zにおいて最も小さくなり、且つ基準点Zを起点として周方向に沿って所定の舵角φ1まで連続的に大きくなるように、左右対称形状にカム部材60を構成してもよい。この場合において、基準点Zを舵角0°に対応させてもよい。この構成によれば、センサヘッド52は、舵角0°のときに最も突出し、φ1までの角度範囲において舵角が大きくなるに従って徐々に後退するので、操舵量に応じた舵角を精度よく検出することができる。