(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0018】
[実施の形態1]
図1は、本実施の形態における電動アシスト車であるモータ付き自転車の一例を示す外観図である。このモータ付き自転車1は、モータ駆動装置を搭載している。モータ駆動装置は、二次電池101と、モータ駆動制御器102と、トルクセンサ103と、ブレーキセンサ104a及び104bと、モータ105と、操作パネル106とを有する。
【0019】
二次電池101は、例えば供給最大電圧(満充電時の電圧)が24Vのリチウムイオン二次電池であるが、他種の電池、例えばリチウムイオンポリマー二次電池、ニッケル水素蓄電池などであっても良い。
【0020】
トルクセンサ103は、クランク軸に取付けられたホイールに設けられており、搭乗者によるペダルの踏力を検出し、この検出結果をモータ駆動制御器102に出力する。
【0021】
ブレーキセンサ104aは、
図2のように、ハンドル部90の左端に設けられたグリップ91aと、ブレーキレバー93aとをある程度握った状態になると、オン状態になって当該オン状態を表す信号をモータ駆動制御器102に伝えるようになっている。また、グリップ91a及びブレーキレバー93aを握る程度に応じてブレーキワイヤ92aが引かれて、例えば後輪が機械的に制動される。
【0022】
ブレーキセンサ104bも、グリップ91bとブレーキレバー93bとをある程度握った状態になると、オン状態になって、当該オン状態を表す信号をモータ駆動制御器102に伝えるようになっている。また、グリップ91b及びブレーキレバー93bを握る程度に応じてブレーキワイヤ92bが引かれて、例えば前輪が機械的に制動される。
【0023】
より詳しくは、ブレーキセンサ104a及び104bは、例えば磁石と周知のリードスイッチとから構成されている。磁石は、ブレーキレバー93a及び93bを固定するとともにブレーキワイヤ92a及び92bが送通される筐体内において、ブレーキレバー93a及び93bに連結されたブレーキワイヤ92a及び92bに固定されている。ブレーキレバー93a及び93bが手で握られたときにリードスイッチをオン状態にするようになっている。また、リードスイッチは筐体内に固定されている。このリードスイッチの信号はモータ駆動制御器102に送られる。なお、ブレーキセンサ104a及び104bの構成は、このような方式に限定されるものではなく、光学的にブレーキ操作を検出する方法、機械的なスイッチによりブレーキ操作を検出する方法、電気抵抗の変動によりブレーキ操作を検出する方法などであってもよい。
【0024】
モータ105は、例えば周知の三相直流ブラシレスモータであり、例えばモータ付き自転車1の前輪に装着されている。モータ105は、前輪を回転させるとともに、前輪の回転に応じてローターが回転するように、ローターが前輪に連結されている。さらに、モータ105はホール素子等の回転センサを備えてローターの回転情報(すなわちホール信号)をモータ駆動制御器102に出力する。
【0025】
操作パネル106は、例えばアシストの有無に関する指示入力を乗員から受け付けて、当該指示入力をモータ駆動制御器102に出力する。なお、操作パネル106は、アシスト比(Mポジションのアシスト比。希望アシスト比とも呼ぶ。)の設定入力を乗員から受け付けて、当該設定入力をモータ駆動制御器102に出力する。また変速機などから、変速比を表す信号がモータ駆動制御器102に出力される場合もある。
【0026】
このようなモータ付き自転車1のモータ駆動制御器102に関連する構成を
図3に示す。モータ駆動制御器102は、制御器1020と、FET(Field Effect Transistor)ブリッジ1030とを有する。FETブリッジ1030には、モータ105のU相についてのスイッチングを行うハイサイドFET(S
uh)及びローサイドFET(S
ul)と、モータ105のV相についてのスイッチングを行うハイサイドFET(S
vh)及びローサイドFET(S
vl)と、モータ105のW相についてのスイッチングを行うハイサイドFET(S
wh)及びローサイドFET(S
wl)とを含む。このFETブリッジ1030は、コンプリメンタリ型スイッチングアンプの一部を構成している。
【0027】
また、制御器1020は、演算部1021と、温度入力部1022と、電流検出部1023と、車速入力部1024と、可変遅延回路1025と、モータ駆動タイミング生成部1026と、トルク入力部1027と、ブレーキ入力部1028と、AD入力部1029とを有する。
【0028】
演算部1021は、操作パネル106からの入力(例えばオン/オフ及び動作モード(例えばアシスト比))、電流検出部1023からの入力、車速入力部1024からの入力、トルク入力部1027からの入力、ブレーキ入力部1028からの入力、AD入力部1029からの入力を用いて以下で述べる演算を行って、モータ駆動タイミング生成部1026及び可変遅延回路1025に対して出力を行う。なお、演算部1021は、メモリ10211を有しており、メモリ10211は、演算に用いる各種データ及び処理途中のデータ等を格納する。さらに、演算部1021は、プログラムをプロセッサが実行することによって実現される場合もあり、この場合には当該プログラムがメモリ10211に記録されている場合もある。
【0029】
電流検出部1023は、FETブリッジ1030内のFETに流れる電流を検出する検出抵抗107で、電流に対応する電圧値をディジタル化して演算部1021に出力する。車速入力部1024は、モータ105が出力するホール信号から現在車速及び後輪の回転周期を算出して、演算部1021に出力する。トルク入力部1027は、トルクセンサ103からの踏力に相当する信号をディジタル化して演算部1021に出力する。ブレーキ入力部1028は、ブレーキセンサ104a及び104bからの信号に応じて、オン信号をいずれのブレーキセンサ104a及び104bからも受信しないブレーキなし状態、ブレーキセンサ104a及び104bのうちの一方からのみオン信号を受信している片ブレーキ状態、ブレーキセンサ104a及び104bの両方からオン信号を受信している両ブレーキ状態のいずれかを表す信号を演算部1021に出力する。AD(Analog-Digital)入力部1029は、二次電池101からの出力電圧をディジタル化して演算部1021に出力する。また、メモリ10211は、演算部1021とは別に設けられる場合もある。
【0030】
演算部1021は、演算結果として進角値を可変遅延回路1025に出力する。可変遅延回路1025は、演算部1021から受け取った進角値に基づきホール信号の位相を調整してモータ駆動タイミング生成部1026に出力する。演算部1021は、演算結果として例えばPWMのデューティー比に相当するPWM(Pulse Width Modulation)コードをモータ駆動タイミング生成部1026に出力する。モータ駆動タイミング生成部1026は、可変遅延回路1025からの調整後のホール信号と演算部1021からのPWMコードとに基づいて、FETブリッジ1030に含まれる各FETに対するスイッチング信号を生成して出力する。
【0031】
図4(a)乃至(l)を用いて
図3に示した構成によるモータ駆動の基本動作を説明する。
図4(a)はモータ105が出力したU相のホール信号HUを表し、
図4(b)はモータ105が出力したV相のホール信号HVを表し、
図4(c)はモータ105が出力したW相のホール信号HWを表す。このように、ホール信号はモータの回転位相を表している。なお、ここでは回転位相を連続値として得られるわけではないが、他のセンサ等により得られるようにしてもよい。以下でも述べるように、本実施の形態では、モータ105のホール素子を、ホール信号が
図4で示すように若干進んだ位相で出力されるよう設置して、可変遅延回路1025で調整可能なようにしている。従って、
図4(d)に示すようなU相の調整後ホール信号HU_Inが可変遅延回路1025からモータ駆動タイミング生成部1026に出力され、
図4(e)に示すようなV相の調整後ホール信号HV_Inが可変遅延回路1025からモータ駆動タイミング生成部1026に出力され、
図4(f)に示すようなW相の調整後ホール信号HW_Inが可変遅延回路1025からモータ駆動タイミング生成部1026に出力される。
【0032】
なお、ホール信号1周期を電気角360度として、6つのフェーズに分けられる。
【0033】
また、
図4(g)乃至(i)に示すように、U相の端子にMotor_U逆起電力、V相の端子にMotor_V逆起電力、W相の端子にMotor_W逆起電力という逆起電力電圧が発生する。このようなモータ逆起電力電圧に位相を合わせて駆動電圧を与えモータ105を駆動するためには、
図4(j)乃至(l)に示すようなスイッチング信号をFETブリッジ1030の各FETのゲートに出力する。
図4(j)のU_HSはU相のハイサイドFET(S
uh)のゲート信号を表しており、U_LSはU相のローサイドFET(S
ul)のゲート信号を表している。PWM及び「/PWM」は、演算部1021の演算結果であるPWMコードに応じたデューティー比でオン/オフする期間を表しており、コンプリメンタリ型であるからPWMがオンであれば/PWMはオフとなり、PWMがオフであれば/PWMはオンとなる。ローサイドFET(S
ul)の「On」の区間は、常にオンとなる。
図4(k)のV_HSはV相のハイサイドFET(S
vh)のゲート信号を表しており、V_LSはV相のローサイドFET(S
vl)のゲート信号を表している。記号の意味は
図4(j)と同じである。さらに、
図4(l)のW_HSはW相のハイサイドFET(S
wh)のゲート信号を表しており、W_LSはW相のローサイドFET(S
wl)のゲート信号を表している。記号の意味は
図4(j)と同じである。
【0034】
このようにU相のFET(S
uh及びS
ul)は、フェーズ1及び2でPWMのスイッチングを行い、U相のローサイドFET(S
ul)は、フェーズ4及び5でオンになる。また、V相のFET(S
vh及びS
vl)は、フェーズ3及び4でPWMのスイッチングを行い、V相のローサイドFET(S
vl)は、フェーズ6及び1でオンになる。さらに、W相のFET(S
wh及びS
wl)は、フェーズ5及び6でPWMのスイッチングを行い、W相のローサイドFET(S
wl)は、フェーズ2及び3でオンになる。
【0035】
このような信号を出力してデューティー比を適切に制御すれば、モータ105を所望のトルクで駆動できるようになる。
【0036】
次に、演算部1021の機能ブロック図を
図5に示す。演算部1021は、制御係数算出部1201と、回生目標算出部1202と、乗算器1203と、PWMコード生成部1204とを有する。なお、乗算器1203とPWMコード生成部1204とは、PWM制御部として動作する。
【0037】
制御係数算出部1201は、ブレーキ入力部1028からの入力に応じて以下で述べるように制御係数を算出し、乗算器1203に出力する。また、回生目標算出部1202は、車速入力部1024からの車速などに応じて回生目標量を算出し、乗算器1203に出力する。乗算器1203は、制御係数と回生目標量とを乗算して乗算結果をPWMコード生成部1204に出力する。PWMコード生成部1204は、乗算器1203からの出力と車速などから、PWMのデューティー比に相当するPWMコードを生成して、モータ駆動タイミング生成部1026に出力する。
【0038】
本実施の形態において制御係数算出部1201は、基本的には
図6Aに示すような制御係数の値を出力する。
図6Aにおいて縦軸は制御係数の値を表し、横軸は時間を表す。例えば、両ブレーキ状態を表す信号を時刻0で受信し、当該信号が継続する場合には、制御係数の値は、太い実線で表されるように、時間経過に応じて制御係数の上限値まで傾きβで上昇する。制御係数の値が上限値に達すると、両ブレーキ状態を表す信号を受信している間は制御係数の値は上限値に維持される。一方、片ブレーキ状態を表す信号を時刻0で受信し、当該信号が継続する場合には、制御係数の値は、点線で表されるように、時間経過に応じて制御係数の上限値まで傾きα(β>α)で上昇する。
【0039】
このように、本実施の形態では、直ぐにブレーキ状態に応じた大きさの回生制動を行わせるのではなく、制御係数の値を漸増させることで、急に大きな回生制動がかかってしまってショックを感じるなどの乗り心地の問題を回避している。
【0040】
例えば、
図6Bのように制御係数に初期値(初動値とも呼ぶ)を持たせる場合もある。これは回生の初動動作として、ある程度は運転者に回生スタートを認識できるレベルを確保するためである。そのため、この初期値は、両ブレーキスタートであるとか、片ブレーキスタートであるとかに関わらず一定値とするものである。
【0041】
さらに、本実施の形態では、両ブレーキ状態と片ブレーキ状態とについて、最終的な制御係数の上限値は同じであるが、その上限値に至るまでの傾きに大小関係を設けることで、回生制動が上限に達するまでの時間に長短が生ずるようになる。すなわち、両ブレーキ状態であれば短い時間で制御係数の値が上限値に達するので、回生制動が大きい状態が長くなり、回生制動も大きくなる。また、回生電力量も大きくなる。一方、片ブレーキ状態であれば制御係数の値が上限値に達するのに時間がかかるようになり、回生制動も徐々に大きくなる。このように、乗員の指示に応じて回生制動について大小をつけることで、乗員の意図に応じた制動を加えることができる。
【0042】
なお、本実施の形態では、制御係数の上限値は「1」を想定しているが、「1」以上の数値を設定するようにしてもよい。場合によっては、制御係数の上限値が時間によって可変の場合もある。
【0043】
また、回生目標算出部1202は、車速などに応じて回生目標量を算出する。例えば、
図7Aに示すように、車速によって回生効率が最大となる電力量が決まっており、
図7Bに示すように、このように回生効率が最大となる電力量を生じさせるように例えば車速に応じて回生目標量を設定することが好ましい。但し、回生目標量については、電力量、デューティー、トルク、電流量など、PWMコード生成部1204における演算で用いられる単位の量について設定する。例えば、トルク単位で演算を行う場合には、回生効率が最大となるようなトルクと車速の関係を予め特定しておき、回生目標算出部1202が、現在の車速に応じてトルクの目標量を算出する。なお、ブレーキによって車速が減少すれば、回生目標量も減少する。
【0044】
乗算器1203は、制御係数算出部1201から出力された制御係数の値Cと、回生目標算出部1202から出力された回生目標量Vとを乗算し、C×VをPWMコード生成部1204に出力する。PWMコード生成部1204は、車速などとC×Vとに応じてデューティー比に応じたPWMコードを生成する。例えば、VがトルクであればC×Vもトルクとなるので、トルクC×Vと、車速に応じたトルクとから、例えば変換係数などによってPWMコードに変換する。
【0045】
なお、
図6Aは非常に簡単なブレーキ操作に応じた制御係数の値の変化の一例を示すものであり、実際のブレーキ操作はより複雑である。
【0046】
本実施の形態では、例えば、片ブレーキ状態から、両ブレーキ状態に遷移し、その後片ブレーキ状態に遷移するような場合や、両ブレーキ状態から片ブレーキ状態に遷移するような場合もある。
【0047】
例えば、前者であれば、
図8に示すような制御係数の値の変化が発生する可能性がある。すなわち、片ブレーキ状態であれば傾きαで制御係数の値が増加し、両ブレーキ状態に遷移すると、傾きβで制御係数の値が増加する。しかし、上限値に達する前に片ブレーキ状態に戻る場合には、本実施の形態では、再上昇点B3={片ブレーキ状態に遷移する直前の制御係数の値C+両ブレーキ状態に遷移する直前の制御係数の値B2}/2に戻るように、傾きγで制御係数の値が減少する。再上昇点B3={C+B2}/2まで制御係数の値が戻ると、傾きαで再度制御係数の値が増加する。本実施の形態では、両ブレーキ状態であればモードYであり、両ブレーキ状態に遷移する前の片ブレーキ状態についてはモードXであり、両ブレーキ状態に遷移した後に片ブレーキ状態に遷移した場合にはモードZであるものとする。
【0048】
また、後者であれば、
図9に示すような制御係数の値の変化が発生する可能性がある。すなわち、両ブレーキ状態であれば傾きβで制御係数の値が増加し、制御係数の値が上限値まで達すると、上限値で維持される。その後、片ブレーキ状態に遷移すると、本実施の形態では、再上昇点B3={片ブレーキ状態に遷移する直前の制御係数の値C(現在制御係数値)+両ブレーキ状態に遷移する直前の制御係数の値B2=0}/2に戻るように、傾きγで制御係数の値が減少する。再上昇点B3={C+B2}/2まで制御係数の値が戻ると、傾きαで再度制御係数の値が増加し、その後上限値に達する。上でも述べたように、両ブレーキ状態であればモードYであり、両ブレーキ状態に遷移した後に片ブレーキ状態に遷移した場合にはモードZである。
【0049】
このような制御係数を算出するために制御係数算出部1201の処理内容について
図10乃至
図12を用いて説明する。
【0050】
なお、初期的にはブレーキ無し状態で走行しているものとする。そして、制御係数算出部1201は、モード決定処理を実行する(
図10:ステップS1)。モード決定処理については、
図11及び
図12を用いて説明する。
【0051】
制御係数算出部1201は、現在片ブレーキ状態であるか判断する(ステップS11)。片ブレーキ状態でなければ、端子Aを介して
図11の処理に移行する。端子A以降の処理は、
図11の処理に関係するので、端子A以降の処理について先に説明する。
【0052】
図11の処理に移行すると、制御係数算出部1201は、両ブレーキ状態であるか判断する(ステップS21)。両ブレーキ状態でない場合には、ブレーキ無し状態である。従って、制御係数算出部1201は、現制御係数の値C=0を維持する初期モードに遷移する(ステップS24)。そして端子Bを介して
図10の処理に戻り、さらに呼出元の処理に戻る。
【0053】
一方、両ブレーキ状態であれば、制御係数算出部1201は、片ブレーキ状態から両ブレーキ状態に遷移したか判断する(ステップS23)。片ブレーキ状態から両ブレーキ状態に遷移したのではなく、ブレーキ無し状態から両ブレーキ状態に遷移した場合には、制御係数算出部1201は、変化点B2に0を設定し(ステップS25)、処理はステップS29に移行する。ステップS25は、例えば
図9の左端の部分に相当する。
【0054】
一方、片ブレーキ状態から両ブレーキ状態へ遷移した場合には、制御係数算出部1201は、変化点B2に、現制御係数の値Cを設定する(ステップS27)。ステップS27は、例えば
図8においてモードYへ遷移する場面に相当する。
【0055】
そして、制御係数算出部1201は、現制御係数の値Cを傾きβで上限値まで増加させ且つ上限値に達すると上限値を維持するモードYに遷移する(ステップS29)。そして、端子Bを介して
図10の処理に戻り、さらに呼出元の処理に戻る。このように、両ブレーキ状態に遷移すると、モードYで制御係数の値を出力することになる。
【0056】
図11の処理の説明に戻って、片ブレーキ状態であれば、制御係数算出部1201は、両ブレーキ状態から遷移して片ブレーキ状態になったのか否かを判断する(ステップS13)。そうでなく、最初から片ブレーキ状態であれば、制御係数算出部1201は、現制御係数の値Cを傾きα(<β)で上限値まで増加させ且つ上限値に達すると上限値を維持するモードXに遷移する(ステップS19)。そして、呼出元の処理に戻る。このように最初から片ブレーキ状態であればモードXで制御係数の値を出力することになる。
【0057】
一方、両ブレーキ状態から片ブレーキ状態に戻った場合には、
図8及び
図9で示したように、制御係数の値を減少させることになる。
【0058】
従って、制御係数算出部1201は、再上昇点B3=(変化点B2+現制御係数の値C)/2によって、再上昇点B3の値を計算する(ステップS15)。そして、制御係数算出部1201は、再上昇点B3に達するまで傾きγ(負の値)で現制御係数の値Cを減少させ且つ再上昇点B3に達すると傾きαで現制御係数の値Cを増加させるモードZに遷移する(ステップS17)。これによって
図8及び
図9において、後半部分の点線に相当する制御係数の値の変化が得られるようになる。なお、モードZでも、上限値以上に制御係数の値が増加することはない。
【0059】
図10の処理の説明に戻って、制御係数算出部1201は、決定されたモードに従って、現制御係数の値Cを変更する(ステップS3)。モードXであれば、1単位時間に増加する係数の値αだけ制御係数の値Cが増加し、モードYであれば、1単位時間に増加する係数の値βだけ制御係数の値Cが増加し、モードZであれば、再上昇点B3に達するまでは1単位時間に減少する係数の値γだけ制御係数の値Cが減少するか、再上昇点B3に達した後であれば1単位時間に増加する係数の値αだけ制御係数の値Cが増加する。但し、上限値を超えて制御係数の値Cは増加しない。また、制御係数の値Cは、下限値(例えば0)を下回らないものとする。
【0060】
そして、制御係数算出部1201は、処理終了が指示されたか判断する(ステップS5)。例えば、電源がオフに設定された場合など、処理終了のイベントがあれば処理を終了する。一方処理終了でなければ、制御係数算出部1201は、ブレーキ状態の状態遷移が検出されたか判断する(ステップS7)。状態遷移が存在しない場合には処理はステップS3に戻る。一方、状態遷移が存在する場合には処理はステップS1に戻る。
【0061】
以上のような処理を実行することで、適切な制御係数の値が、時々刻々と算出されるようになる。
【0062】
例えば、回生目標量が変化しない間であれば、
図8及び
図9に示したカーブはそのまま乗算器1203の出力の時間変化を表すようになる。但し、上でも述べたように車速が減少すると、回生目標量も減少するので、一般的には、時間が経過すると、
図8及び
図9に示したカーブより下がるようになる。
【0063】
[実施の形態2]
第1の実施の形態では、両ブレーキ状態から片ブレーキ状態へ遷移した時点の現制御係数の値Cと変化点B2との平均値を再上昇点B3に設定していた。これは傾きγにもよるが、比較的大きな制御係数の値が再上昇点B3として設定される傾向がある。これは、乗員からすると、ブレーキを片方のみにしたのに減速が思ったほど減らない、ということになる。
【0064】
そこで、例えば
図13に示すように制御係数を変化させることが好ましい場合もある。
図13の例では、片ブレーキ状態であれば傾きαで制御係数の値が増加し、両ブレーキ状態に遷移すると、傾きβで制御係数の値が増加する。しかし、上限値に達する前に片ブレーキ状態に戻る場合には、本実施の形態では、再上昇点B3を、両ブレーキ状態に遷移する直前の制御係数の値B2から傾きαで増加する半直線と、片ブレーキ状態に遷移する直前の制御係数の値C(=B1)から傾きγで減少する半直線との交点として設定する。本実施の形態では、両ブレーキ状態であればモードYであり、両ブレーキ状態に遷移する前の片ブレーキ状態についてはモードXであり、両ブレーキ状態に遷移した後に片ブレーキ状態に遷移した場合にはモードZであるものとする。
【0065】
また、
図14の例では、最初から両ブレーキ状態であるから、モードYから開始される。その後、片ブレーキ状態に遷移するのでモードZとなる。再上昇点B3以降は、そのまま傾きαで増加して、上限値に達すると上限値が維持される。
【0066】
次に、このような制御係数の値を出力するための制御係数算出部1201の処理について、
図15乃至
図17を用いて説明する。
【0067】
まず、制御係数算出部1201は、モード決定処理2を実行する(
図15:ステップS31)。モード決定処理2は、第1の実施の形態とは少々異なっている部分がある。まず、モード決定処理2を
図16を用いて説明する。
【0068】
制御係数算出部1201は、片ブレーキ状態であるか判断する(
図16:ステップS41)。片ブレーキ状態ではない場合には、端子Aを介して
図12の処理に移行する。初期モード及びモードYを設定する処理については第1の実施の形態と同様であり、説明を省略する。
【0069】
一方、片ブレーキ状態であれば、制御係数算出部1201は、両ブレーキ状態から片ブレーキ状態に遷移したか判断する(ステップS43)。最初から片ブレーキ状態であれば、制御係数算出部1201は、現制御係数の値Cを傾きαで上限値まで増加させ且つ上限値に達すると上限値を維持するモードXに遷移させる(ステップS45)。そして処理は呼出元の処理に戻る。
【0070】
一方、両ブレーキ状態から片ブレーキ状態に遷移した場合には、制御係数算出部1201は、再上昇点B3に達するまで傾きγ(負の値)で現制御係数の値Cを減少させ且つ再上昇点B3に達すると傾きαで上限値まで増加させるモードZに遷移させる(ステップS47)。モードZでも上限値に達した場合には上限値を維持する。そして処理は呼出元の処理に戻る。本実施の形態では、再上昇点B3については、単位時間毎に計算し直すので、モード決定処理2から分離されている。
【0071】
図15の処理の説明に戻って、制御係数算出部1201は、再上昇点設定処理を実行する(ステップS33)。この再上昇点設定処理は、モードZのために実行される。そして、再上昇点設定処理について
図17を用いて説明する。
【0072】
制御係数算出部1201は、現在モードがモードZであるか判断する(
図17:ステップS51)。現在モードがモードZでなければ、処理は呼出元の処理に戻る。
【0073】
一方、現在モードがモードZであれば、制御係数算出部1201は、モードZに遷移した直後であるか判断する(ステップS53)。すなわち、1単位時間前においては異なるモードであったか否かを判断する。モードZに遷移した直後であれば、制御係数算出部1201は、再上昇点B3=変化点B2+αと算出する(ステップS55)。そして処理は呼出元の処理に戻る。
【0074】
一方、モードZに遷移した直後ではなくモードZが継続されている場合には、制御係数算出部1201は、再上昇点B3=再上昇点B3+αと算出する(ステップS57)。そして処理は、呼出元の処理に戻る。
【0075】
図15の処理の説明に戻って、制御係数算出部1201は、決定されたモードに従って、現制御係数の値Cを変更する(ステップS35)。モードXであれば、1単位時間に増加する係数の値αだけ制御係数の値Cが増加し、モードYであれば、1単位時間に増加する係数の値βだけ制御係数の値Cが増加する。一方、モードZであれば、再上昇点B3に達したか判断した上で、再上昇点B3に達していない場合には1単位時間に減少する係数の値γだけ制御係数の値Cが減少し、再上昇点B3に達した後であれば1単位時間に増加する係数の値αだけ制御係数の値Cが増加する。
【0076】
そして、制御係数算出部1201は、処理終了が指示されたか判断する(ステップS37)。例えば、電源がオフに設定された場合など、処理終了のイベントがあれば処理を終了する。一方処理終了でなければ、制御係数算出部1201は、ブレーキ状態の状態遷移が検出されたか判断する(ステップS39)。状態遷移が存在しない場合には処理はステップS33に戻る。一方、状態遷移が存在する場合には処理はステップS31に戻る。
【0077】
以上のような処理を実行することで、適切な制御係数の値が、時々刻々と算出されるようになる。
【0078】
例えば、回生目標量が変化しない間であれば、
図13及び
図14に示したカーブはそのまま乗算器1203の出力の時間変化を表すようになる。但し、上でも述べたように車速が減少すると、回生目標量も減少するので、一般的には、時間が経過すると、
図13及び
図14に示したカーブより下がるようになる。
【0079】
[実施の形態3]
第1の実施の形態でも第2の実施の形態でも再上昇点B3を演算で求めなければならない。しかしながら、
図18に示すように、変化点B2をそのまま再上昇点B3に採用するようにしても良い。この他は第1の実施の形態と同様である。
【0080】
従って、本実施の形態に係る制御係数算出部1201が実行すべき処理は、基本的には第1の実施の形態と同様である。但し、
図11の代わりに、
図19に示すようなモード決定処理3を実行する。
【0081】
制御係数算出部1201は、現在片ブレーキ状態であるか判断する(ステップS61)。片ブレーキ状態でなければ、端子Aを介して
図12の処理に移行する。
【0082】
片ブレーキ状態であれば、制御係数算出部1201は、両ブレーキ状態から遷移して片ブレーキ状態になったのか否かを判断する(ステップS63)。そうでなく、最初から片ブレーキ状態であれば、制御係数算出部1201は、現制御係数の値Cを傾きα(<β)で上限値まで増加させ且つ上限値に達すると上限値を維持するモードXに遷移する(ステップS65)。そして、処理は呼出元の処理に戻る。このように最初から片ブレーキ状態であればモードXで制御係数の値を出力することになる。
【0083】
一方、両ブレーキ状態から片ブレーキ状態に戻った場合には、
図18で示したように、制御係数の値を減少させることになる。
【0084】
従って、制御係数算出部1201は、再上昇点B3=変化点B2と設定する(ステップS67)。そして、制御係数算出部1201は、再上昇点B3に達するまで傾きγ(負の値)で現制御係数の値Cを減少させ且つ再上昇点B3に達すると傾きαで現制御係数の値Cを増加させるモードZに遷移する(ステップS69)。これによって
図18において、後半部分の点線に相当する制御係数の値の変化が得られるようになる。
【0085】
上でも述べたように、その他の処理は第1の実施の形態と同様である。
【0086】
以上本発明の実施の形態を説明したが、本発明はこれらに限定されるわけではない。例えば、上で述べたモードX及びモードYにおける傾きα及びβは一種類だけではなく、2種類以上の傾きの組み合わせであっても良い。例えば、初期的には第1の傾きで制御係数の値が増加して、所定時間後には第2の傾きで制御係数の値が増加するようにしても良い。
【0087】
また、演算部1021の一部については専用の回路で実現される場合もあれば、マイクロプロセッサがプログラムを実行することで上記のような機能が実現される場合もある。
【0088】
また、モータ駆動制御器102の一部又は全部については専用の回路で実現される場合もあれば、マイクロプロセッサがプログラムを実行することで上記のような機能が実現される場合もある。
【0089】
この場合、モータ駆動制御器102は、
図20に示すように、RAM(Random Access Memory)4501とプロセッサ4503とROM(Read Only Memory)4507とセンサ群4515とがバス4519で接続されている。本実施の形態における処理を実施するためのプログラム及び存在している場合にはオペレーティング・システム(OS:Operating System))は、ROM4507に格納されており、プロセッサ4503により実行される際にはROM4507からRAM4501に読み出される。なお、ROM4507は、閾値その他のパラメータをも記録しており、このようなパラメータも読み出される。プロセッサ4503は、上で述べたセンサ群4515を制御して、測定値を取得する。また、処理途中のデータについては、RAM4501に格納される。なお、プロセッサ4503は、ROM4507を含む場合もあり、さらに、RAM4501を含む場合もある。本技術の実施の形態では、上で述べた処理を実施するための制御プログラムは、コンピュータ読み取り可能なリムーバブル・ディスクに格納されて頒布され、ROMライタによってROM4507に書き込まれる場合もある。このようなコンピュータ装置は、上で述べたプロセッサ4503、RAM4501、ROM4507などのハードウエアとプログラム(場合によってはOSも)とが有機的に協働することにより、上で述べたような各種機能を実現する。