(58)【調査した分野】(Int.Cl.,DB名)
モータの回転センサから受信し且つ当該モータの回転位相に応じて複数のフェーズに分割可能である周期的な信号を受信して、前記複数のフェーズの各々について時間を計測する計測部と、
前記計測部により計測された、所定の観測区間におけるフェーズの少なくとも一部の時間に基づき、前記信号の1周期分に相当する時間と、前記所定の観測区間におけるあるフェーズの時間の変化量に対して第1の定数を乗じた値と、前記変化量に対して前記信号の1周期分に相当する時間の逆数と第2の定数とを乗じた値との和を算出し、当該和から現在速度を推定する速度算出部と、
推定された前記現在速度に応じて前記モータの駆動を制御する制御部と、
を有するモータ駆動制御装置。
【発明の概要】
【発明が解決しようとする課題】
【0008】
従って、本発明の目的は、モータ駆動制御において用いられる現在
速度を精度良く推定できるようにするための技術を提供することである。
【0009】
また、本発明の他の目的は、現在
速度を推定する際に用いられるモータの回転センサにおける不具合を検出できるようにするための技術を提供することである。
【課題を解決するための手段】
【0010】
本発明の第1の態様に係るモータ駆動制御装置は、(A)モータの回転センサから受信し且つ当該モータの回転位相に応じて複数のフェーズに分割可能である周期的な信号を受信して、複数のフェーズの各々について時間を計測する計測部と、(B)計測部により計測された
、所定の観測区間におけるフェーズの
少なくとも一部の時間に基づき、上記信号の1周期分
に相当する時間と、
所定の観測区間におけるあるフェーズ
の時間の変化量に
応じた値との和を算出し、当該和から現在
速度を推定する
速度算出部と、推定された現在
速度に応じてモータの駆動を制御する制御部とを有する。
【0011】
このように1周期分の時間を、
所定の観測区間における複数のフェーズ(例えば実施の形態の部分周期)のうちの
あるフェーズの時間の変化量に応じて調整することにより、精度良く周期を算出できるので、結果として現在
速度も精度良く算出できる。
【0012】
また、上で述べた計測部は、上で述べた信号から複数のフェーズの各々について回転方向を特定するようにしても良い。この場合、上で述べた
速度算出部は、所定の観測区間において回転方向が一定であり且つ所定の観測区間において複数のフェーズの各々の時間が所定時間未満である場合、観測区間における第1のフェーズの時間と第2のフェーズの時間との差により上記変化量を算出するようにしても良い。
【0013】
通常の走行時には、このような演算によって加速補償を実施することが好ましい。なお、所定の係数については第1のフェーズ及び第2のフェーズについての検出遅延や制御遅延などから決定される。さらに、1周期分のフレームレイテンシに応じた遅延も考慮されることもある。固定の遅延を加えることもある。
【0014】
なお、上で述べた所定の観測区間が、上記信号の1周期分の複数のフェーズと当該複数のフェーズのうち最新のフェーズに対応する上記信号の1周期前のフェーズとを含むようにしても良い。この場合、上で述べた変化量が、最新のフェーズの時間と最新のフェーズに対応する上記信号の1周期前のフェーズの時間との差で算出される場合もある。
【0015】
また、上で述べた計測部は、上記信号から複数のフェーズの各々について回転方向を特定する場合もある。この場合、上で述べた
速度算出部は、所定の観測区間において直近所定個数のフェーズ以外に、時間が所定時間以上となったか又は回転方向が反転したフェーズが含まれている場合、直近所定個数のフェーズのいずれかから上記信号の1周期相当の時間を算出し、直近所定個数のフェーズに含まれる2つのフェーズの時間差により上記変化量を算出するようにしても良い。このように、回転方向が少し反転した後であったり、走行開始した少し後の場合には、通常走行時のようには算出できないので、直近所定個数のフェーズの時間から
速度を推定する。
【0016】
なお、上で述べた直近所定個数が2であり、直近所定個数のフェーズのうち最新のフェーズから信号の1周期相当の時間が算出される場合もある。
【0017】
さらに、上で述べた計測部は、上記信号から複数のフェーズの各々について回転方向を特定する場合もある。その場合、上で述べた
速度算出部は、所定の観測区間において直近所定個数のフェーズにおいて回転方向の反転が発生しているか又は直近所定個数のフェーズの少なくともいずれかの時間が所定時間以上となっている場合には、最新のフェーズから上記信号の1周期相当の時間を算出し、当該信号の1周期相当の時間から現在
速度を推定するようにしても良い。ちょうど反転を開始したり、低速になったりした場合には、このようにして対処するようにしても良い。
【0018】
本発明の第2の態様に係る制御装置は、(A)モータの回転センサから受信し且つ当該モータの回転位相に応じて複数のフェーズに分割可能である周期的な信号を受信して、複数のフェーズの各々について時間を計測する計測部と、(B)計測部により計測された複数のフェーズの各々についての時間を用いて、信号の1周期分の時間から求められる1フェーズ分の平均時間と、複数のフェーズのうちのあるフェーズの時間と当該あるフェーズから上記信号の1周期前の対応するフェーズの時間との平均又は加重平均とを比較して、所定の条件を満たす場合に回転センサのエラーを出力する判定部とを有する。
【0019】
このようにすれば回転センサのエラーを的確に検出できるようになる。
【0020】
また、上で述べた判定部が、平均時間と平均又は加重平均との比が所定範囲内であるか判断するようにしても良い。
【0021】
さらに、上で述べた判定部は、所定の条件を満たす状態が所定時間継続した場合にエラーを出力するようにしても良い。一時的にエラー状態になるだけの場合もあるためである。
【0022】
なお、第2の態様に係る制御装置は、上記エラーに応じてモータの駆動を制御する制御部をさらに有するようにしても良い。
【0023】
以下で述べる実施の形態は例に過ぎず、上で述べた構成を実現するための態様は様々に存在する。また、ハードウエアのみではなく、ソフトウエアとプロセッサの組み合わせにて実現される場合もある。
【発明の効果】
【0024】
一側面によれば、モータ駆動制御において用いられる、現在
速度を精度良く推定できるようになる。
【0025】
また、他の側面によれば、現在
速度を推定する際に用いられるモータの回転センサにおける不具合を検出できるようになる。
【発明を実施するための形態】
【0027】
[実施の形態1]
図1は本発明の第1の実施の形態に係る電動アシスト自転車の外観を示す図である。この電動アシスト自転車1はクランク軸と後輪がチェーンを介して連結されている一般的な後輪駆動型のものであり、二次電池101と、モータ駆動制御装置102、トルクセンサ103、ブレーキセンサ104、操作パネル105、モータ106を備えている。
【0028】
二次電池101は、例えば供給最大電圧(満充電時の電圧)が24Vのリチウム二次電池であるが、他の種類の二次電池を用いても良い。
【0029】
モータ駆動制御装置102は、例えば前輪の上部に固定された筐体内に収容されている。なお、モータ駆動制御装置102の詳細については後に詳しく述べる。
【0030】
トルクセンサ103は、クランク軸に設けられており、搭乗者によるペダルの踏力を検出し、検出結果をモータ駆動制御装置102に出力する。
【0031】
ブレーキセンサ104は、例えば磁石と周知のリードスイッチとを含む。磁石は、ブレーキレバーを固定するとともにブレーキワイヤーが送通される筐体内において、ブレーキレバーに連結されたブレーキワイヤーに固定され、ブレーキレバーが握られたときにリードスイッチをオン状態にする。また、リードスイッチはその筐体内に固定されている。リードスイッチの導通信号はモータ駆動制御装置102に出力される。
【0032】
操作パネル105は、ハンドル中央部に固定されており、操作パネルからアシスト開始などの指示情報がモータ駆動制御装置102に出力される。
【0033】
モータ106は、例えばよく知られている三相直流ブラシレスモータであり、電動アシスト自転車1の例えば前輪に装着され、前輪を回転させるとともに、前輪の回転に応じてローターが回転するようにローターが前輪に連結されている。さらに、モータ106はホール素子等を備えており、ローターの回転情報をモータ駆動制御装置102に出力する。
【0034】
次に、
図2を用いて、モータ駆動制御装置102などの回路例を示す。
【0035】
モータ駆動制御装置102は、制御部300と、駆動部400とを有する。制御部300は、トルクセンサ103、ブレーキセンサ104及び操作パネル105と接続されている。さらに、制御部300及び駆動部400には、モータ106が有するホール素子からのホール信号(Hall−U,Hall−V,Hall−W)が入力されるようになっている。
【0036】
制御部300は、専用の回路にて実装されることもあれば、以下で述べる処理を実行させるためのプログラムと当該プログラムを実行するプロセッサとの組み合わせにて実装されることもあれば、専用の回路とプロセッサ及びプログラム
の組み合わせとにて実装されることもある。プロセッサ及びプログラムの組み合わせにて実装される場合には、不揮発性メモリにプログラムを保持しておき、プロセッサは、当該プログラムをRAM(Random Access Memory)に読み出して実行する。また、プログラムの実行に用いられる固定のデータについては、不揮発性メモリに格納されている。
【0037】
また、制御部300は、操作パネル105からアシスト開始が指示され且つトルクセンサ103から出力される入力トルクに相当する信号が入力されると、現在車速と目標トルクとに応じた制御信号を駆動部400に出力する。なお、この処理には、モータ106に含まれるホール信号が用いられる。
【0038】
なお、ブレーキ操作が行われ、ブレーキセンサ104からブレーキ信号が制御部300に入力された場合、制御部300は、ブレーキセンサ104からの入力信号に基づいて、駆動部400の出力電圧をモータ起電力以下に制御してモータ106から電力を回生することによりブレーキ制御力を得ることができるようにする。なお、このような回生処理については、本実施の形態の主要部ではないのでこれ以上の説明は省略する。
【0039】
駆動部400は、制御部300からの制御信号とホール信号とから駆動制御を行う駆動制御回路410と、ドライブ素子421乃至423を含むドライブ回路420と、FET(Field Effect Transistor)Q11乃至Q32を含む3相ブリッジ回路とを含む。
【0040】
3相ブリッジ回路においては、U相のためにFETQ11及びQ12が直列に接続され、V相のためにFETQ21及びQ22が直列に接続され、W相のためにFETQ31及びQ32が直列に接続されている。そして、制御部300からの制御信号に応じて駆動制御回路410は、ドライブ回路420における3つのドライブ素子421乃至423にそれぞれPWM(Pulse Width Modulation)信号(U−PWM,V−PWM,W−PWM)を出力することで、各FETのスイッチング動作を制御する。そうすると、二次電池101から印加される電圧Vbatの、モータ106への印加時間と非印加時間の比率(デューティー比)が調整される。このようにして、モータ106への供給電力(Vu,Vv,Vw)を調整して適切なモータ106の回転数が実現される。FETQ11乃至Q32の具体的な駆動方法についてはよく知られているので、ここでは説明を省略する。
【0041】
次に、
図3を用いて、制御部300の構成例を説明する。制御部300は、目標トルク算出部350と、車速算出部310と、第1デューティー比換算部330と、第2デューティー比換算部320と、加算部340とを有する。
【0042】
目標トルク算出部350は、トルクセンサ103からの入力トルクに相当する信号から目標トルクを算出して、第1デューティー比換算部330に出力する。第1デューティー比換算部330は、換算係数(デューティー比/トルクに相当する係数)を乗じるなどの処理を実施して、デューティー比換算された第1の値を算出し、加算部340に出力する。一方、車速算出部310は、ホール信号から以下で詳細に述べるように現在車速を算出し、第2デューティー比換算部320に出力する。第2デューティー比換算部320は、現在車速に対して換算係数(デューティー比/現在車速に相当する係数)を乗じるなどの処理を実施して、デューティー比換算した第2の値を、加算部340に出力する。
【0043】
加算部340は、第1デューティー比換算部330からの第1の値と、第2デューティー比換算部320からの第2の値とを加算して制御信号を生成し、駆動部400に出力する。駆動部400は、当該制御信号に応じて上で述べたようにモータ106の駆動を行う。
【0044】
このようなモータ駆動制御装置102の動作をさらに
図4を用いて説明する。ここでは、現在車速をD
0と表し、目標トルクをD
Tと表すとする。そうすると、上でも述べたように、3相ブリッジ回路におけるFETの平均デューティー比Dutyは、以下のように表される。
Duty=D
0+D
T
【0045】
本実施の形態では、現在の速度のままであればD
0の直線に沿った形で平均デューティー比Dutyを変化させる。モータ106を力行状態にして加速させる場合には、目標トルクは正の値、例えば+D
tに設定されるので、D
t分だけこの直線を上方にシフトさせる。そうすれば目標トルクの分だけ加速することになるが、平均デューティー比も相対的に高くすることになる。一方、モータ106を例えば制動状態にして減速する場合には、目標トルクは負の値、例えば−D
tに設定されるので、D
tだけ上記直線を下方にシフトさせる。そうすれば目標トルクの分だけ減速することになり、平均デューティー比も相対的に低くすることになる。
【0046】
さらに、モータ106の正回転及び逆回転に対応するため、現在車速D
0についても、正の値及び負の値が設定される場合がある。
【0047】
以上のようなトルク・フィードフォワード制御を実施することにより、安定的な制御が行われるので、電動アシスト自転車などに好適である。
【0048】
次に、車速算出部310の構成例について、
図5を用いて説明する。
図5に示すように、車速算出部310は、部分周期検出部311と、現在車速算出部312とを有する。部分周期検出部311は、モータ106からのホール信号を以下で述べるように処理して、以下で詳細に説明する部分周期の長さ及び回転方向を現在車速算出部312に出力する。現在車速算出部312は、部分周期検出部311からの部分周期の長さ及び回転方向に従って現在車速を算出する。
【0049】
本実施の形態では、ホール信号の1周期を6つの部分周期に分割する。ホール信号(Hall−U,Hall−V,Hall−W)は、
図6に示すように、それぞれハイの期間とローの期間とがずれているので、各ホール信号の立ち上がりエッジと立ち下がりエッジを検出して、これらのエッジによって1周期を6つの部分周期に分割する。但し、モータ106の回転速度によって、各部分周期の長さは変化する。また、以下で具体的に示すように、立ち上がりエッジと立ち下がりエッジの検出順序によって、回転方向の正回転(前進)、負回転(後退)を区別する。
【0050】
次に、
図7を用いて部分周期検出部311の構成を説明する。部分周期検出部311は、各ホール信号が入力される第1段目のD−FF(フリップフロップ)と、第1段目のD−FFの出力が入力される第2段目のD−FFと、ホールエッジ検出部3111と、第1段目のD−FFの出力を一部分周期ごとの相番号(PN:Phase Number)に変換する相番号変換部3112と、相番号変換部3112の出力を1相分(すなわち一部分周期分)遅延させるための第1の相遅延D−FFと、相番号変換部3112の出力と第1の相遅延D−FFの出力との差を算出する減算部3113と、減算部3113からの出力により正回転又は負回転の判定を行う相エッジ方向判定部3114と、相エッジ方向判定部3114の出力を1相分遅延させるための第2の相遅延D−FFと、相エッジ方向判定部3114の出力と第2の相遅延D−FFとから回転方向を判定する部分周期方向判定部3115と、ホールエッジ検出部3111が出力するホールエッジの間隔で高周波クロックのクロック数をカウントする部分周期カウンタ3116と、部分周期カウンタ3116がフルカウントになったことを検出するフルカウント検出部3117と、部分周期カウンタ3116の出力を保持する部分周期レジスタ3119とを有する。なお、ここでいう「相」とは、部分周期単位の固有の位相を示し、上述してきた「フェーズ」も同様の意味である。また、これ以降で使う「相」も同様の意味である。
【0051】
第1段目のD−FF及び第2段目のD−FFには、高周波クロックが入力されている。高周波クロックは、部分周期カウンタ3116、第1及び第2の相遅延D−FF、及び部分周期レジスタ3119とにも入力される。また、ホールエッジ検出部3111は、同一のホール信号に関連する第1段目のD−FFの出力及び第2段目のD−FFの出力に対して各々排他的論理和を算出し、当該排他的論理和の和を算出することでホールエッジを生成する。
【0052】
次に、部分周期検出部311の動作を説明する。なお、同時に
図8の状態遷移図を参照のこと。
【0053】
まず、Hall−U,Hall−V,Hall−W信号は第1段目のD−FFにより高周波クロックに同期化される。そして、ホールエッジ検出部3111では、第1段目のD−FFの出力と、第2段目のD−FFによりさらに1クロック遅延(高周波クロックのクロック周波数はホール信号よりはるかに高い周波数なので遅延量は微小)されたホール信号出力の変化点を検出してホールエッジが検出される。そして、Hall−U,Hall−V,Hall−W各信号の立ち上がり及び立ち下りの両エッジ検出の結果について論理和を算出すると、ホール信号1周期に6発の細いホールエッジパルスが出力される。
【0054】
また、相番号変換部3112は、第1段目のD−FF出力のHDU,HDV,HDW信号の組み合わせより6相の相番号PNを出力する。相番号は、正回転時(前進)にはHDUの立ち上がりから順に1から6までとなる。逆回転(逆方向回転、後退回転)時には、6乃至1の順となる。
【0055】
相番号(PN)は、第1の相遅延D−FFでもう1相(部分周期)分の遅延が付加された相遅延相番号PNDとなる。そして、減算部3113で遅延前の相番号PNから相遅延相番号PNDが減算されて相番号差(PN−PND)が得られる。相番号差は、正回転(前進)中、相番号が1増加する+1または−5(相番号6から1への変化時)となる。一方、負回転(後退)中は、相番号差は、相番号が1減少する−1または+5(相番号1から6への変化時)となる。これにより、次の相エッジ方向判定部3114で、その直前のホールエッジを正回転通過したか、負回転通過したかが判定され、エッジ回転方向(1:正回転/0:負回転)が出力される。
【0056】
さらに、相エッジ方向判定部3114の出力であるエッジ回転方向は、さらに第2の相遅延D−FFでもう1相(部分周期)分の遅延が付加されて部分周期方向判定部3115に出力される。部分周期方向判定部3115では、遅延前後のエッジ回転方向が比較され、(A)遅延前後の両エッジとも正回転ならその間の部分周期方向も正回転、(B)遅延前後の両エッジとも負回転ならその間の部分周期方向も負回転、(C)遅延前後の両エッジで回転方向が異なる場合はその間の部分周期方向は反転(その部分周期中に反転が起こっている)と判定される。
【0057】
一方、部分周期検出部311の右半分のブロックでは、ホールエッジパルスにより、部分周期カウンタ3116は、クロック同期クリアされ、ゼロから高周波クロックでカウントアップして行く。次回のホールエッジパルスにより、部分周期カウント値が次段の部分周期レジスタ3119に更新取込みされ、部分周期レジスタ3119は取り込んだ部分周期を出力する。同時に、部分周期カウンタ3116は同期クリアされる。
【0058】
ほぼ停止と見られる超低速時には、部分周期カウンタ3116が所定のフルカウント(車速がほぼ0とみなすことができるカウント値)になったとフルカウント検出部3117により検出された時点で、フルカウント検出部3117により部分周期カウンタ3116のカウントイネーブル(CE)端子でカウントが停止され、カウント値は飽和する。その飽和した部分周期の値が部分周期レジスタ3119に取り込まれ出力されると、現在車速算出部312では停止(ほぼ停止)扱いとされる。
【0059】
なお、部分周期レジスタ3119のクロックイネーブル(EN)端子にORゲートから入力される信号は、部分周期カウンタ3116がフルカウントになったとフルカウント検出部3117により検出された時点でハイとなって、部分周期レジスタ3119に、強制的にフルカウントの値(飽和部分周期)を取込ませる。すなわち、フルカウント検出部3117がフルカウントを検出した場合には、その部分周期は飽和部分周期となる。
【0060】
これにより、完全停止時に次のホールエッジが来ないために、ほぼ停止と判断すべき最後の飽和部分周期が、部分周期レジスタ3119に取り込まれないという事態を防止できる。
【0061】
なお、
図8に示すように、期間Iで回転方向の反転が発生すると、エッジ回転方向については1相後で負回転Rが検出されるようになり、さらに相遅延エッジ回転方向についてはさらに1相後で負回転Rが検出されるようになる。部分周期回転方向については、エッジ回転方向について負回転Rが検出されると、回転方向の反転が検出されることになる。
【0062】
次に、車速算出部310の演算内容について説明する。
【0063】
本実施の形態では、
図9に示すように、現在の部分周期をP(n)とすると、6つ前の部分周期P(n−6)までの7つの部分周期を観測して、現在の走行状態を把握する。すなわち、RAM等のメモリに直近7部分周期及び回転方向を保持しておく。そして
図9に示すように、部分周期P(n)乃至P(n−6)のいずれもが飽和部分周期ではなく(所定値以上の速度絶対値がある)、回転方向が同方向(
図9では正回転。但し負回転でも可。)である場合には、(1)7つの部分周期を用いて高精度加速度補償演算を行って現在車速を算出する。
【0064】
また、最新の2つの部分周期P(n)及びP(n−1)(ここで「2つ」は一例で他の値であっても良い。)については同方向回転で飽和部分周期でないが、それ以外の部分に回転方向の反転があったり飽和部分周期がある場合には、(2)最新の2つの部分周期を用いて加速度補償演算を行って現在車速を算出する。
【0065】
さらに、最新の2つの部分周期P(n)及びP(n−1)(ここで「2つ」は一例で他の値であっても良い。)の少なくともいずれかで、回転方向の反転が生じているか又は飽和部分周期である場合には、(3)最新の1つの部分周期のみを用いて現在車速を算出する。
【0066】
図10に示すように、(A)及び(B)の状態の場合には(1)の処理を行う。また、(C)乃至(F)のように、P(n−1)及びP(n)については非飽和部分周期であり且つ回転方向が同一である場合には、(2)の処理を行う。(G)乃至(I)の場合には、P(n−1)もしくはP(n)において飽和部分周期となっているか又は回転方向の反転が検出されているので、(3)の処理を行う。
【0067】
(1)高精度加速度補償演算付き現在車速算出
この場合、加速度補償後周期を以下のように算出する。
加速度補償後周期=定常速度項+第1補正項+第2補正項
【0068】
定常速度項は、以下のように算出される。
定常速度項=P(n)+P(n-1)+P(n-2)+P(n-3)+P(n-4)+P(n-5)
このようにホール信号の1周期分の部分周期の総和となっている。
【0069】
また、第1補正項は、以下のように表される。
第1補正項=(6/2+1/2)×{P(n)−P(n-6)}/6
={P(n)−P(n-6)}×(7/12)
上記の「6/2」は6部分周期分の平均遅延であって、速度検出遅延分を表す。また、「1/2」は、検出後即刻出力され、次回パルスによる出力更新までホールドされるPWM出力の平均遅延であって、制御遅延分を表す。すなわち、第1補正項はパルス周期に比例した遅延成分を表す。
【0070】
さらに、第2補正項は、以下のように表される。
第2補正項={P(n)−P(n-6)}×{Lf×周期カウント周波数(=定数)/(定常速度項の値)}
遅延時間Lf(=フレームレイテンシ)は、例えば10m秒であり、第2補正項では、ホール信号の1周期に換算するため定常速度項の値(P(n)+P(n-1)+P(n-2)+P(n-3)+P(n-4)+P(n-5) )で除している。
【0071】
遅延時間Lfは、具体的には以下のように決められる。
Lf={Kfl/フレーム周波数}秒
Kfl=等価遅延フレーム数
=ホール信号からPWMに反映するまでの平均遅延0.5フレーム
+PWMの1フレーム間維持による平均遅延0.5フレーム
+計算遅延αフレーム
=1+α
0≦Kfl<2
標準期待値=1+α(αは計算などの遅延分)
このように、Kflを調整可能定数としておく。
【0072】
加速度補償後周期が得られれば、
1/(加速度補償後周期×1回転当りのホール周期の数)
によって回転数が得られる。さらにモータ駆動輪の周長を乗ずれば、車速が得られる。
【0073】
なお、本実施の形態では、{P(n)−P(n−6)}というように最新の部分周期からホール信号1周期前の部分周期の差(変化量)を平均加速として算出しているが、他の部分周期によって加速度を算出するようにしても良い。
【0074】
(2)加速度補償演算付き現在車速算出
(2)の場合にはP(n)及びP(n−1)のみが正常時のデータなので、以下のように算出する。
加速度補償後周期=P(n)×6+(P(n)−P(n−1))×6
=6(2P(n)−P(n−1))
本実施の形態では(P(n)−P(n−1))という部分周期の変化量を平均加速として算出している。
【0075】
加速度補償後周期が得られれば、
1/(加速度補償後周期×1回転当りのホール周期の数)
によって回転数が得られる。さらにモータ駆動輪の周長を乗ずれば、車速が得られる。
【0076】
(3)現在車速の算出
本実施の形態では、(3)のような状態の場合には、以下のようにして周期を算出する。加速度補償は行わない。このとき、P(n)自身が飽和周期の場合、またはP(n)自身の期間で反転が生じている場合、P(n)として飽和周期を使用する。
周期=P(n)×6
このように周期が得られれば、
1/(周期×1回転当りのホール周期の数)
によって回転数が得られる。さらにモータ駆動輪の周長を乗ずれば、車速が得られる。
【0077】
このように、本実施の形態では、上で述べたようにホール信号のエッジを用いた時刻測定に基づき現在車速を算出しているため、フィードバック法の電流検出に比べて、きわめて高精度且つノイズの影響を受けることなく測定することができる。
【0078】
したがって、モータ駆動制御装置102によれば、従来例のように所定時間や一定周期分の遅れを生じることなく、モータに駆動制御が届く時点のリアルタイムに即した周期を計算して利用しているため、ペダル速度の変化に迅速に対応することができる。これにより、車両の速度が急激に変化する急発進動作や急停止動作を行った場合にも、速度演算結果が実際にモータに駆動信号が届く時点での現在速度と大きくずれることがなく、的確なモータ駆動制御を行うことができ、従来のようにモータ106に過大電流が流れることがなく、過大電流による回路の破損が生じたり、急激な動作変化による事故が生じることがない。
【0079】
[実施の形態2]
第1の実施の形態ではホール信号により現在車速の算出を行っているので、ホール信号を出力するホール素子に故障が発生していると問題である。従って、
図11に示すように、部分周期検出部311からの部分周期の出力を用いてエラー検出を行うエラー検出部360を設ける。エラー検出出力がなされた場合には、制御部300においてエラー対応処理を実施する。例えば、ペダル回転センサの出力から推定される車速をベースに制御を行うようにしても良い。さらに、警告表示を操作パネル105に行うことによって、修理を促すようにしても良い。
【0080】
本実施の形態におけるエラー検出部360は、第1の方法として、以下の判定式にてエラーを判定する。
判定値={(P(n)+P(n-6))/2}/{(P(n)+P(n-1)+P(n-2)+P(n-3)+P(n-4)+P(n-5))/6}
【0081】
すなわち、ホール信号1周期分の平均部分周期に対する{(P(n)+P(n-6))/2}の比率を算出する。{(P(n)+P(n-6))/2}は、最新の部分周期と、当該最新の部分周期からホール信号1周期分前の部分周期との平均である。但し、単純な平均ではなく、加重平均であっても良い。
【0082】
この判定値が例えば1±0.1の許容範囲内に入らなければエラーと判定する。
【0083】
さらに精度良くエラー検出を行う第2の方法としては、加速度補償を含む以下のような判定式を用いる。
判定値={(7/12)×P(n)+(5/12)×P(n-6)}/[{P(n)+P(n-1)+P(n-2)+P(n-3)+P(n-4)+P(n-5)}/6]
【0084】
この判定式の分母における6部分周期平均はその検出平均遅延が3部分周期となるが、分子の2部分周期の平均遅延は(0.5+6.5)/2=3.5部分周期となり、分母と0.5周期のずれが生ずる。定速度時はそれで問題ないが、加減速中はその時間差分だけずれることになるため、そのずれ分を加速補償して分母と同じ3部分周期前の周期が得られるよう、P(n)とP(n−6)の内分比を3:3から3.5:2.5に替えてある。すなわち、7/12と5/12が重みとして用いられている。
【0085】
第1の方法及び第2の方法でも、例えば1秒など所定時間エラーが継続した場合に、エラー出力を行う。
【0086】
本実施の形態では、モータ106の回転センサから出力されるホール信号を用いて回転センサのエラー発生や回転センサの故障の判定を行っているので、ホール信号の断線や異常周期などに対処可能となる。
【0087】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、制御部300の構成については、ハードウエアで実装してもプログラムとプロセッサの組み合わせで実装しても良い。上で述べた機能ブロック構成は一例であって、必ずしも実際の回路モジュール構成やプログラムモジュール構成と一致しない場合がある。
【0088】
また、上で述べた実施の形態では、モータ106の回転に応じて電気角120°位相がずれた3つのホール信号(Hall-U,Hall-V,Hall-W)を前提にした処理の説明を行ったが、位相がずれた2つ以上の任意の数の位相検出信号を出力する任意の種類の回転センサを用いて、上記と同様の処理を行ってもよい。
【0089】
また、上ではPWM制御の例を示したが、必ずしもPWM制御でなくても良い。PNM(Pulse Number Modulation)やPDM(Pulse Density Modulation)や1ビットアンプその他の方式で行うようにしても良い。
【0090】
また、上記モータ駆動制御装置は、電動アシスト自転車以外にも、電動オートバイ、電気自動車、ハイブリッド自動車、電車、エレベータ、エスカレータなどを含む電動車両、およびその他電動機駆動においてモータ駆動制御を行う装置に適用可能である。