(57)【要約】  効率の良い安定したモータ制御を行うためのモータ駆動制御装置は、現在速度に応じた第１の値をデューティー比換算することで第２の値を生成する速度処理部と、目標トルクに応じた第３の値をデューティー比換算することで第４の値を生成するトルク処理部と、第２の値と第４の値との和に応じた平均デューティー比により、コンプリメンタリ型スイッチングアンプに含まれるスイッチによるスイッチングを制御して、コンプリメンタリ型スイッチングアンプに接続されているモータを駆動する駆動部とを有する。
2012086459.tif 000002
【特許請求の範囲】
【請求項１】
現在速度に応じた第１の値をデューティー比換算することで第２の値を生成する速度処理部と、
目標トルクに応じた第３の値をデューティー比換算することで第４の値を生成するトルク処理部と、
前記第２の値と前記第４の値との和に応じた平均デューティー比により、コンプリメンタリ型スイッチングアンプに含まれるスイッチによるスイッチングを制御して、前記コンプリメンタリ型スイッチングアンプに接続されているモータを駆動する駆動部と、
を有するモータ駆動制御装置。
【請求項２】
前記モータの駆動電流に応じた第５の値をトルク換算した第６の値が前記第３の値から所定の許容量以上乖離している場合に、前記第３の値を乖離度合いに応じて駆動電流を減少させるように修正する修正部
をさらに有する請求項１に記載のモータ駆動制御装置。
【請求項３】
前記駆動部が、
前記第２の値と前記第４の値との和を、電源電圧に応じて補正する
請求項１又は２に記載のモータ駆動制御装置。
【請求項４】
前記第１の値及び前記第３の値から、前記スイッチングのための信号の位相制御を行う信号を生成する進角補正部
をさらに有する請求項１乃至３のいずれか１つに記載のモータ駆動制御装置。
【請求項５】
前記トルク処理部が、
前記第３の値を前記第１の値に応じて補正する
請求項１乃至４のいずれか１つに記載のモータ駆動制御装置。
【請求項６】
前記トルク処理部が、
現在のデューティー比及び電源電圧に応じた電流制限に基づき前記第３の値の範囲に制限を加えるトルク制限部
を有する請求項１乃至５のいずれか１つに記載のモータ駆動制御装置。
【請求項７】
電源が充電可能な電池である場合、前記電源電圧に応じた電流制限が、前記電池の満充電余裕及び残量余裕に応じて設定される
請求項６に記載のモータ駆動制御装置。
【請求項８】
前記トルク制限部が、
前記スイッチの温度に基づく電流制限にさらに基づき前記第３の値の範囲に制限を加える
請求項６に記載のモータ駆動制御装置。
【請求項９】
過去の複数の速度検出結果から前記現在速度を予測する速度予測部
をさらに有する請求項１乃至８のいずれか１つに記載のモータ駆動制御装置。
【請求項１０】
前記トルク処理部が、
ブレーキ指示に応じて、前記第１の値と対応する前記第３の値とについて予め定められた対応関係に従い、現在の第１の値から対応する第３の値を特定し、
前記対応関係において、前記第４の値が前記第２の値とは逆極性の値である
請求項１乃至９のいずれか１つに記載のモータ駆動制御装置。
【請求項１１】
前記対応関係が、
前記第２の値とは逆極性で且つ前記第２の値の絶対値の半分以下となるような関係である
請求項１０に記載のモータ駆動制御装置。
【請求項１２】
前記ブレーキ指示が、ブレーキ量の指示を含み、
前記対応関係が、前記ブレーキ量に対応して異なる対応関係を含む
請求項１１に記載のモータ駆動制御装置。
【請求項１３】
前記対応関係が、
前記第１の値の絶対値が大きくなると対応する前記第３の値の絶対値が小さくなる
請求項１０に記載のモータ駆動制御装置。
【請求項１４】
前記対応関係が、電源電圧に応じた電流制限に基づき決定される対応関係の部分を含む
請求項１０に記載のモータ駆動制御装置。
【請求項１５】
前記第３の値が０であるときに前記モータの駆動電流が０となるように、前記速度処理部におけるデューティー比換算係数又はデューティー比換算関数を修正する修正部
をさらに有する請求項１乃至１４のいずれか１つに記載のモータ駆動制御装置。
【請求項１６】
前記修正部が、
前記第３の値が０である状態を検出すると、前記モータの駆動の遮断時の前記駆動電流値と前記モータの駆動の非遮断時の前記駆動電流値との差が０となるように、前記速度処理部におけるデューティー比換算係数又はデューティー比換算関数を修正する
請求項１５に記載のモータ駆動制御装置。
【請求項１７】
前記現在車速が、モータ駆動輪についての車速であり、
ペダルの回転周波数からペダル駆動輪についての車速を推定する車速推定部と、
前記現在車速と前記ペダル駆動輪についての車速とを比較する比較部と、
前記比較部による比較結果が、前記現在車速の方が前記ペダル駆動輪についての車速よりも速いことを表しており且つペダルによる入力トルクが閾値以上である場合に、モータ駆動を抑制するための制御信号を出力する制御信号出力部と、
をさらに有する請求項１乃至１６のいずれか１つに記載のモータ駆動制御装置。
【請求項１８】
前記現在車速とペダルの回転周波数とペダル駆動輪の周長とを用いて、モータ駆動輪の空転の有無を判断するための指標値を算出し、ペダルによる入力トルクが閾値以上であれば当該指標値に基づき前記モータ駆動輪の空転の有無を判断する回路と、
前記モータ駆動輪の空転があると判断された場合に、モータ駆動を抑制するための制御信号を出力する制御信号出力部と、
をさらに有する請求項１乃至１６のいずれか１つに記載のモータ駆動制御装置。
【請求項１９】
前記現在車速が、モータ駆動輪についての車速であり、ペダル駆動輪の回転周波数からペダル駆動輪についての車速を推定する車速推定部と、
前記現在車速と前記ペダル駆動輪についての車速とを比較する比較部と、
前記比較部による比較結果が、前記現在車速の方が前記ペダル駆動輪についての車速よりも速いことを表している場合に、モータ駆動を抑制するための制御信号を出力する制御信号出力部と、
をさらに有する請求項１乃至１６のいずれか１つに記載のモータ駆動制御装置。
【請求項２０】
前記制御信号により、前記目標トルクを０に設定する回路
をさらに有する請求項１７乃至１９のいずれか１つに記載のモータ駆動制御装置。
【請求項２１】
前記車速推定部により推定された前記ペダル駆動輪についての車速を前記現在車速の代わりに前記速度処理部に処理させる回路
をさらに有する請求項１７乃至１９のいずれか１つ記載のモータ駆動制御装置。
【請求項２２】
前記車速推定部が、
前記ペダルの回転周波数と、前記ペダル駆動輪の周長と、変速機のギア比との積に基づき前記ペダル駆動輪についての車速を推定する
請求項１７記載のモータ駆動制御装置。
【請求項２３】
現在速度に応じた第１の値をデューティー比換算することで第２の値を生成する速度処理部と、
目標トルクに応じた第３の値をデューティー比換算することで第４の値を生成するトルク処理部と、
前記第２の値と前記第４の値との和に応じた平均デューティー比により、コンプリメンタリ型スイッチングアンプに含まれるスイッチによるスイッチングを制御して、前記コンプリメンタリ型スイッチングアンプに接続されているモータを駆動する駆動部と、
前記速度処理部における第１のデューティー比換算係数の基準値と、前記第３の値が０であるときに前記モータの駆動電流が０となるように修正された前記第１のデューティー比換算係数の値と、前記トルク生成部における第２のデューティー比換算係数の基準値とに基づき、前記第２のデューティー比換算係数を補正する補正部と、
を有するモータ駆動制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ駆動制御に関する。
【背景技術】
【０００２】
図１にモータ駆動の基本動作を説明するための図を示す。このようなＨブリッジ回路に含まれるＦＥＴ等のスイッチＳ１乃至Ｓ４のスイッチングのデューティー比を制御することで、モータの駆動状態を制御する。例えば、モータ回転で生じる逆起電力Ｖmotorより大きな電圧Ｖoutを電池battから供給すると、モータが力行状態となる。例えば、ＰＷＭ（Pulse Width Modulation）によってスイッチのデューティー比を制御する場合には、例えばスイッチＳ１及びＳ４をオンにする期間を長くして、Ｖout＝Ｖbatt×Duty（オンの比率）＞Ｖmotorとなれば、力行状態（トルク出力有りの状態）となる。力行状態であれば、図１の実線矢印で示すように、電流がモータ側に流れる。また、スイッチＳ１及びＳ４をオンにする期間を調整すれば、Ｖout＝Ｖmotorという状態（トルクゼロ状態）にすることも可能である。さらに、スイッチＳ１及びＳ４をオンにする期間を短くすれば、Ｖout＜Ｖmotorという状態になり、電池battが蓄電池であれば、図１の点線矢印で示すように、電池batt側に電流が流れる電池回生状態となる。この他にも、スイッチＳ１乃至Ｓ４のスイッチング・デューティー比を調整することによって、モータの逆起電力Ｖmotorを捨ててしまうロスブレーキなどの他の制動状態にすることもできる。【０００３】
なお、当然ながらスイッチＳ１及びＳ２の方から電力をモータに供給する方向を正転とすると、スイッチＳ３及びＳ４の方から電力をモータに供給する逆転方向に駆動することも可能である。【０００４】
電池によりモータを駆動する技術には、（１）ダイオード駆動方式、（２）電流常時フィードバック方式がよく知られている。【０００５】
（１）ダイオード駆動方式
図１に示したようなＨブリッジ回路におけるＦＥＴの寄生ダイオード又は専用のダイオードを利用して、力行方向又は制動方向のみに適当なＰＷＭデューティー比を与え、大まかなフィードフォワードでトルクをかける技術である。オープンループ暴走の心配が無く、簡単確実に力行又は制動方向に制御できるためよく使用される。【０００６】
しかし、ダイオードのドロップ電圧のため効率が犠牲になる。また、ダイオードの整流作用により、力行時は印加電圧が逆起電力以上になった瞬間のみ、制動時は逆起電力以下になった瞬間のみ電流が流れる。逆起電力はモータ回転速度に比例した正弦波電圧出力となるため、印加電圧と電流ひいてはトルクは比例せず、トルク制御のリニアリティは非常に悪くなり、さらに速度によってそのリニアリティも大きく変化するという問題がある。そのため、目標通りのトルクを得るには、速度と目標トルクに応じた極めて複雑な補正制限を必要とする。【０００７】
（２）電流常時フィードバック方式
モータ電流をリアルタイムに検出し、希望トルクに応じたモータ電流になるように、その時の速度に関係なく常時フィードバックして制御する方式である。【０００８】
制御結果である電流を監視して制御するので精度は高いが、負帰還制御によって不安定になり易く、安定なフィードバック制御をするためには一巡応答（モータ電流検出→マイコン計算→出力指令）に対して十分に低いカットオフ周波数となる制御が要求され、応答が遅くなったり、一巡応答をさらに高速高精度化しなければならないなどのデメリットがある。また、どこかで帰還すべき情報が途切れると、制御量が足りないと判断され過度に応答しようとするため暴走することがある。【０００９】
なお、特開平１０−５９２６２号公報には、アシストトルク指令（入力）とモータトルク（出力）の偏差を比例回路（Proportional）及び積分器（Integral）を通してフィードバックを行なう手法が開示されている。一般的にＰＩ制御や位相遅れ補償と呼ばれる手法である。【００１０】
この制御系の場合、積分器により高周波領域で位相が遅れるため、制御対象であるモータに遅れ要素があると発振してしまう恐れがある。そのため、その高周波領域で位相を進める微分回路（differential）を追加することもよく行われる。しかし、そのように制御系を複雑にする場合には、その分制御対象であるインバータやモータをモデル化して考える必要があり、そのモデル化に誤り、又は誤りが無くても装置のばらつきや劣化などで、特性が変わったときに発振してしまう懸念がある。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開平１０−５９２６２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
従って、本発明の目的は、効率の良い安定したモータ制御技術を提供することである。
【課題を解決するための手段】
【００１３】
本発明の第１の態様に係るモータ駆動制御装置は、速度トラッキング・トルク・フィードフォワード方式（以下、トルク・フィードフォワードと略称する）と呼ぶべきもので、（Ａ）現在速度に応じた第１の値をデューティー比換算することで第２の値を生成する速度処理部と、（Ｂ）目標トルクに応じた第３の値をデューティー比換算することで第４の値を生成するトルク処理部と、（Ｃ）第２の値と第４の値との和に応じた平均デューティー比により、コンプリメンタリ型スイッチングアンプに含まれるスイッチによるスイッチングを制御して、コンプリメンタリ型スイッチングアンプに接続されているモータを駆動する駆動部とを有する。【００１４】
このような演算により、ダイオードを使わず現在速度に応じた逆起電力相当電圧でバランスさせた上に目標トルクをトルク・フィードフォーワード加算することができ、安定的に効率の良いモータ駆動制御を行うことができるようになる。なお、第１及び第２の値は共に正又は負の値となり得るものである。【００１５】
また、第１の態様に係るモータ駆動制御装置は、モータの駆動電流に応じた第５の値をトルク換算した第６の値が第３の値から所定の許容量以上乖離している場合に、第３の値を乖離度合いに応じて駆動電流を減少させるように修正する修正部をさらに有するようにしてもよい。このようにすれば、モータの駆動電流が何らかの理由で多くなっている又は多くなっているように検出される場合においても、モータの駆動電流を減少させるように第３の値（すなわち目標トルク）を修正するので、安全である。【００１６】
また、第１の態様に係るモータ駆動制御装置は、第１の値及び第３の値から、上記スイッチングのための信号の位相制御を行う信号を生成する進角補正部をさらに有するようにしても良い。目標トルクに応じた適切なトルクをモータに出させるためには、現在速度に応じた第１の値をも考慮に入れて進角補正を行うことが好ましい。【００１７】
さらに、第１の態様に係るモータ駆動制御装置の駆動部が、第２の値と第４の値との和を、電源電圧に応じて補正するようにしてもよい。電源電圧は、その消耗度合いによって変化する場合があるためである。【００１８】
また、第１の態様に係るモータ駆動制御装置のトルク処理部が、第３の値を第１の値に応じて補正するようにしてもよい。例えば予め補正カーブを現在速度に応じて複数種類用意しておき、例えば現在速度が速い場合には第３の値を増加させるようなカーブを採用するようにしても良い。【００１９】
さらに、第１の態様に係るモータ駆動制御装置のトルク処理部が、現在のデューティー比及び電源電圧に応じた電流制限に基づき第３の値の範囲に制限を加えるトルク制限部を有するようにしてもよい。このようにすれば、トルク・フィードフォワード制御において、電源の制約である電流制限に従って、適切な電流がモータに流れるように、第３の値を制限することができるようになる。【００２０】
なお、上記電源が充電可能な電池である場合、電源電圧に応じた電流制限が、電池の満充電余裕及び残量余裕に応じて設定される場合もある。これによって過放電や過充電を防止して蓄電池の保護がなされる。さらに、上記トルク制限部が、スイッチの温度に基づく電流制限にさらに基づき第３の値の範囲に制限を加えるようにしてもよい。これによってスイッチの保護がなされる。【００２１】
さらに、第１の態様に係るモータ駆動制御装置は、過去の複数の速度検出結果から上記現在速度を予測する速度予測部をさらに有するようにしてもよい。このようにすれば正確な現在速度を得ることができ、適切なトルク・フィードフォワード制御を実施できるようになる。【００２２】
また、上で述べたトルク処理部が、ブレーキ指示に応じて、第１の値と対応する第３の値とについて予め定められた対応関係に従い、現在の第１の値から対応する第３の値を特定するようにしてもよい。その場合、上記対応関係において、第３の値が第１の値とは逆極性の値となる。ブレーキ時に現在速度に応じて適切な目標トルクに調整されるようになる。【００２３】
なお、上で述べた対応関係が、第１の値とは逆極性で且つ第１の値の絶対値の半分以下（「半分以下」は例えば数％程度「半分」を上回る場合も含む）となるような関係であるような場合もある。このようにすればどのような速度であってもある程度の効率で回生を行うことができるようになる。【００２４】
また、上で述べたブレーキ指示が、ブレーキ量の指示を含むようにしてもよい。この場合、上記対応関係が、ブレーキ量に対応して異なる対応関係を含むようにしてもよい。このようにすれば、ブレーキ量に応じて高効率で回生を行うことができるようになる。【００２５】
さらに、上で述べた対応関係が、第１の値の絶対値が大きくなると対応する第３の値の絶対値が小さくなる部分を有するようにしてもよい。様々なカーブを設定することができるが、速度が早い部分ではブレーキトルクを制限して、回生効率を向上させるものである。【００２６】
さらに、上で述べた対応関係が、電源電圧に応じた電流制限に基づき決定される対応関係の部分を含むようにしてもよい。ブレーキについても、蓄電池に回生する場合には電池の状態に応じた電流制限がかかるためである。【００２７】
さらに、第１の態様に係るモータ駆動制御装置は、第３の値が０であるときにモータの駆動電流が０となるように、速度処理部におけるデューティー比換算係数又はデューティー比換算関数を修正する修正部をさらに有するようにしてもよい。電流検出やゲインの誤差をキャンセルできるので、適切にトルク・フィードフォワード制御が実施されるようになる。【００２８】
さらに、上で述べた修正部が、第３の値が０である状態を検出すると、モータの駆動の遮断時の駆動電流値とモータの駆動の非遮断時の駆動電流値との差が０となるように、速度処理部におけるデューティー比換算係数又はデューティー比換算関数を修正するようにしてもよい。より正確に係数又は関数を校正することができる。【００２９】
また、上で述べた現在車速が、モータ駆動輪についての車速であるとすると、第１の態様に係るモータ駆動制御装置は、ペダルの回転周波数からペダル駆動輪についての車速を推定する車速推定部と、現在車速とペダル駆動輪についての車速とを比較する比較部と、比較部による比較結果が、現在車速の方がペダル駆動輪についての車速よりも速いことを表しており且つペダルによる入力トルクが閾値以上である場合に、モータ駆動を抑制するための制御信号を出力する制御信号出力部とをさらに有するようにしてもよい。また、ペダル駆動輪について着目すると、第１の態様に係るモータ駆動制御装置は、ペダル駆動輪の回転周波数からペダル駆動輪についての車速を推定する車速推定部と、現在車速とペダル駆動輪についての車速とを比較する比較部と、比較部による比較結果が、現在車速の方がペダル駆動輪についての車速よりも速いことを表している場合に、モータ駆動を抑制するための制御信号を出力する制御信号出力部とをさらに有するようにしても良い。このようにすれば、モータ駆動輪の空転を検出することができるようになり、これを抑制できるようになる。【００３０】
さらに、第１の態様に係るモータ駆動制御装置は、上で述べた制御信号により、上で述べた目標トルクを０（おおよそ０の場合を含み、本来の値からして十分に小さい値（例えば１／１０）にする場合もある。）に設定する回路をさらに有するようにしても良い。このようにすれば、上で述べた第４の値も０となり、モータ駆動が抑制されるようになる。【００３１】
また、第１の態様に係るモータ駆動制御装置は、上で述べた車速推定部により推定されたペダル駆動輪についての車速を上記現在車速の代わりに速度処理部に処理させる回路をさらに有するようにしても良い。ペダル駆動輪についての車速はほぼ０であるから、上で述べた第１の値がほぼ０となるため、上で述べた第２の値もほぼ０となり、モータ駆動が抑制される。【００３２】
なお、上で述べた車速推定部が、ペダルの回転周波数と、ペダル駆動輪の周長と、変速機のギア比との積に基づきペダル駆動輪についての車速を推定するようにしても良い。なお、ギア比については、不明な場合もあるので、その場合には最大ギア比を用いる。また、各種マージンを織り込むようにしてもよい。【００３３】
また、第１の態様に係るモータ駆動制御装置は、現在車速とペダルの回転周波数とペダル駆動輪の周長とを用いて、モータ駆動輪の空転の有無を判断するための指標値を算出し、ペダルによる入力トルクが閾値以上であれば当該指標値に基づきモータ駆動輪の空転の有無を判断する回路と、モータ駆動輪の空転があると判断された場合に、モータ駆動を抑制するための制御信号を出力する制御信号出力部とをさらに有するようにしても良い。以下でも述べるように、例えば現在車速＞（ペダルの回転周波数×ペダル駆動輪の周長×ギア比（但し１の場合有り））を変形した各種指標値を用いることができる。【００３４】
また、第２の態様に係るモータ駆動制御装置は、（Ａ）現在速度に応じた第１の値をデューティー比換算することで第２の値を生成する速度処理部と、（Ｂ）目標トルクに応じた第３の値をデューティー比換算することで第４の値を生成するトルク処理部と、（Ｃ）第２の値と第４の値との和に応じた平均デューティー比により、コンプリメンタリ型スイッチングアンプに含まれるスイッチによるスイッチングを制御して、コンプリメンタリ型スイッチングアンプに接続されているモータを駆動する駆動部と、（Ｄ）速度処理部における第１のデューティー比換算係数の基準値と、第３の値が０であるときにモータの駆動電流が０となるように修正された第１のデューティー比換算係数の値と、トルク生成部における第２のデューティー比換算係数の基準値とに基づき、第２のデューティー比換算係数を補正する補正部とを有する。これによって、適切に補正された係数値でトルク処理部が処理を行うことができるようになる。【００３５】
なお、上で述べたような処理をマイクロプロセッサに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ（Random Access Memory）等の記憶装置に一時保管される。
【図面の簡単な説明】
【００３６】
【図１】図１は、モータ駆動の基本動作を説明するための図である。
【図２】図２は、第１の実施の形態に係るモータ駆動制御装置の機能ブロック図である。
【図３】図３は、第１の実施の形態に係るモータ駆動制御装置の動作を説明するための図である。
【図４】図４は、第２の実施の形態に係る課題を説明するための図である。
【図５】図５は、第２の実施の形態に係る課題を説明するための図である。
【図６】図６は、第２の実施の形態に係る課題を説明するための図である。
【図７】図７は、第２の実施の形態に係るモータ駆動制御装置の機能ブロック図である。
【図８】図８は、第３の実施の形態に係る電動アシスト自転車の一例を示す図である。
【図９】図９は、第３の実施の形態に係るモータ駆動制御器に関連する機能ブロック図である。
【図１０】図１０（ａ）乃至（ｌ）は、モータ駆動の基本動作を説明するための波形図である。
【図１１】図１１は、第３の実施の形態における演算部の機能ブロック図である。
【図１２】図１２は、車速入力部の第１の機能ブロック図である。
【図１３】図１３は、車速入力部の第２の機能ブロック図である。
【図１４】図１４は、進角補正部の第１の機能ブロック図である。
【図１５】図１５は、進角補正部の第２の機能ブロック図である。
【図１６】図１６は、トルク補正関数の一例を示す図である。
【図１７】図１７は、電流制限部の機能ブロック図である。
【図１８】図１８は、電池のディレーティングカーブの一例を示す図である。
【図１９】図１９は、ＦＥＴ温度と電流制限値の関係を表す図である。
【図２０】図２０は、車速からデューティー比を換算する係数の校正について説明するための図である。
【図２１】図２１は、速度係数修正部の第１の機能ブロック図である。
【図２２】図２２は、速度係数修正部の第２の機能ブロック図である。
【図２３】図２３は、回生ブレーキ目標トルク演算部について説明するための図である。
【図２４】図２４は、回生ブレーキ目標トルク演算部について説明するための図である。
【図２５】図２５は、回生ブレーキ目標トルク演算部について説明するための図である。
【図２６】図２６は、回生ブレーキ目標トルク演算部について説明するための図である。
【図２７】図２７は、回生ブレーキ目標トルク演算部の機能ブロック図である。
【図２８】図２８は、トルク対デューティー比係数の補正部の第１の機能ブロック図である。
【図２９】図２９は、トルク対デューティー比係数の補正部の第２の機能ブロック図である。
【図３０】図３０は、第４の実施の形態における演算部などの機能ブロック図である。
【図３１】図３１は、第４の実施の形態の変形例における演算部などの機能ブロック図である。
【発明を実施するための形態】
【００３７】
［実施の形態１］
図２に、本実施の形態に係るモータ駆動制御装置５００の機能ブロック図を示す。モータ駆動制御装置５００は、第１デューティー比換算部５２０と、第２デューティー比換算部５１０と、加算部５３０と、駆動部５４０とを有する。なお、モータ駆動制御装置５００の駆動部５４０の出力は、コンプリメンタリ型のスイッチングアンプ６１０に接続されており、このスイッチングアンプ６１０によりモータ６２０が駆動されるようになっている。
【００３８】
例えば、モータ駆動制御装置５００には、当該モータ駆動制御装置５００に接続されているセンサなどから現在車速に応じた第１のディジタル値と、当該モータ駆動制御装置５００に接続されている指示機構又はセンサなどから目標トルクに応じた第３のディジタル値とが入力されて処理が行われる。そして、第２デューティー比換算部５１０は、第１のディジタル値に対して換算係数（デューティー比／現在車速に相当する係数）を乗じるなどの処理を実施して、第１のディジタル値をデューティー比換算した第２のディジタル値を出力する。同様に、第１デューティー比換算部５２０は、第３のディジタル値に対して換算係数（デューティー比／トルクに相当する係数）を乗じるなどの処理を実施して、第３のディジタル値をデューティー比換算した第４のディジタル値を出力する。
【００３９】
加算部５３０は、第２デューティー比換算部５１０からの第２のディジタル値及び第１デューティー比換算部５２０からの第４のディジタル値を加算して駆動部５４０に出力する。駆動部５４０は、第２及び第４のディジタル値の和に応じた平均デューティー比になるように、スイッチングアンプ６１０のスイッチをスイッチングさせる。このスイッチングは、ＰＷＭであってもよいし、ＰＮＭ（Pulse Number Modulation）やＰＤＭ（Pulse Density Modulation）や１ビットアンプその他の方式で行うようにしても良い。
【００４０】
このようにすれば、平均デューティー比に応じた電圧及び電流でモータ６２０は駆動されるようになる。
【００４１】
このようなモータ駆動制御装置５００の動作をさらに図３を用いて説明する。ここでは、第２のディジタル値をＤ0と表し、第４のディジタル値をＤTと表すとする。そうすると、上でも述べたように、スイッチングアンプ６１０のスイッチの平均デューティー比Dutyは、以下のように表される。
Duty＝Ｄ0＋ＤT
【００４２】
本実施の形態では、現在の速度のままであればＤ0の直線に沿った形で平均デューティー比Dutyを変化させる。モータ６２０を力行状態にして加速させる場合には、目標トルクは正の値、例えば＋Ｄtに設定されるので、Ｄt分だけこの直線を上方にシフトさせる。そうすれば目標トルクの分だけ加速することになるが、平均デューティー比も相対的に高くすることになる。一方、モータ６２０を例えば制動状態にして減速する場合には、目標トルクは負の値、例えば−Ｄtに設定されるので、Ｄtだけ上記直線を下方にシフトさせる。そうすれば目標トルクの分だけ減速することになり、平均デューティー比も相対的に低くすることになる。
【００４３】
さらに、モータ６２０の正回転及び逆回転に対応するため、現在車速に相当する第２のディジタル値Ｄ0についても、正の値及び負の値が設定される場合がある。
【００４４】
以上のようなトルク・フィードフォワード制御を実施することにより、安定的な制御が行われると共に、ダイオード駆動方式のような効率低下もないため、例えば電動アシスト自転車などに使用するのに好適である。但し、他のモータ駆動に用いることも可能である。
【００４５】
［実施の形態２］
第１の実施の形態において目標トルクに応じた出力トルクが得られる場合には問題はないが、部品ばらつきなどによってモータに流れる電流が多くなってしまって、結果として目標トルクよりも大きなトルクが発生する場合もある。
【００４６】
一般的には、図４に示すように、目標トルクに対する出力トルクは、直線ａで示されるように、目標トルクに一致することが好ましい。また、出力トルクは、安全性などの観点から、目標トルクに応じて設定され且つ直線ｂで示される許容量上限より下の領域の値でなければならない。しかしながら、何らかの理由で、モータに流れる電流が多くなってしまって、図５の点線ｃで示されるように、目標トルクに対して過大な電流が流れて、結果として許容量上限を表す直線ｂを超えるような領域（ハッチング付き）の出力トルクを要求して、モータを駆動してしまう場合も生じ得る。
【００４７】
本実施の形態では、このような事態を回避するための機構を導入する。図６に模式的に示せば、目標トルクに対応する出力トルクが許容量上限を超えている部分については、強制的に、例えば許容量上限（直線ｂ上の値）に修正して、太線ｄに示すような修正後の出力トルクを得るようにモータを駆動する。
【００４８】
具体的には、図７に示すようなモータ駆動制御装置７００を導入する。第２の実施の形態に係るモータ駆動制御装置７００は、トルク処理部７５０と、第２デューティー比換算部７７０と、加算部７８０と、駆動部７９０とを有する。
【００４９】
トルク処理部７５０は、第１絶対値化部７５１と、マージン付加部７５２と、トルク換算部７５３と、第２絶対値化部７５４と、加算部７５６と、第１クランプ部７５７と、積算部７５８と、第１ＬＰＦ（Low Pass Filter）部７５９と、加算部７６０と、第２クランプ部７６１と、極性反転部７６３と、第１デューティー比換算部７６４とを有する。モータ駆動制御装置７００の駆動部７９０は、コンプリメンタリ型のスイッチングアンプ８１０に接続されている。そして、スイッチングアンプ８１０によってモータ８２０が駆動される。
【００５０】
第２デューティー比換算部７７０は、モータ駆動制御装置７００に接続されているセンサなどから現在車速に応じた第１のディジタル値に対して換算係数（デューティー比／現在車速に相当する係数）を乗じるなどの処理を実施して、第１のディジタル値をデューティー比換算した第２のディジタル値を出力する。
【００５１】
トルク処理部７５０の第１絶対値化部７５１は、モータ駆動制御装置７００に接続されている指示機構又はセンサなどから受け取った目標トルクに応じた第３のディジタル値から、符号部分を抽出して極性反転部７６３に出力すると共に、値部分（｜第３のディジタル値｜＝Ｔc）をマージン付加部７５２及び加算部７６０に出力する。
【００５２】
また、トルク換算部７５３は、モータ８２０に流れるモータ駆動電流値に応じた第５のディジタル値に対して換算係数（トルク／モータ駆動電流値に相当する係数）を乗じるなどの処理を実施して、第５のディジタル値をトルク換算した第６のディジタル値を出力する。第２絶対値化部７５４は、第６のディジタル値の符号部分を取り除き、値部分（｜第６のディジタル値｜）を出力する。
【００５３】
マージン付加部７５２は、例えばＴm＝Ｔc×１．１５＋所定数αといった形で｜第３のディジタル値｜に対してマージンを加えるものである。そして、加算部７５６は、第２絶対値化部７５４の出力である｜第６のディジタル値｜と−Ｔmを加算する。この加算結果が負の値になる場合、すなわち、Ｔmの方が｜第６のディジタル値｜より大きい場合には、目標トルクをそのまま出力しても問題がないので、第１クランプ部７５７は、０を出力する。一方、Ｔmの方が｜第６のディジタル値｜よりも小さい場合には、加算結果が正の値となり、目標トルクを補正するため、第１クランプ部７５７は、加算結果をそのまま積算部７５８に出力する。積算部７５８は、電流補正追従時定数ｆｂを加算結果に乗算した上で出力する。そして、１次ＬＰＦ部７５９は、積算部７５８の出力に対して１次のローパスフィルタの平滑化処理を実施して出力する。このようにすれば、モータ電流値に基づいた補正量が算出される。
【００５４】
そして、加算部７６０は、第１絶対値化部７５１の出力である｜第３のディジタル信号｜から１次ＬＰＦ部７５９の出力を減算して（負の補正量を加算して）出力する。第２クランプ部７６１は、加算部７６０の出力結果が負の値となる場合、すなわち補正量の方が多くなってしまっている場合には０を出力し、加算部７６０の出力結果が正の値となる場合にはそのまま出力する。そして、極性判定部７６３は、目標トルクが負の値であって第１絶対値化部７５１から符号部分が負であることを示す信号を受け取った場合には、第２クランプ部７６１からの出力の極性を反転させた上で出力し、符号部分が正であることを示す信号を受け取った場合には、何らの処理を行わずにそのまま出力する。このようにして第３のディジタル値は、モータ電流値に応じて補正を行った上で、第１デューティー比換算部７６４に出力される。
【００５５】
第１デューティー比換算部７６４は、補正後の第３のディジタル値に対して換算係数（デューティー比／トルクに相当する係数）を乗じるなどの処理を実施して、補正後の第３のディジタル値をデューティー比換算した第４のディジタル値を出力する。
【００５６】
加算部７８０は、第２デューティー比換算部７７０からの第２のディジタル値及び第１デューティー比換算部７６４からの第４のディジタル値を加算して駆動部７９０に出力する。駆動部７９０は、第２及び第４のディジタル値の和に応じた平均デューティー比になるように、スイッチングアンプ８１０のスイッチをスイッチングさせる。このスイッチングは、ＰＷＭであってもよいし、ＰＮＭ（Pulse Number Modulation）やＰＤＭ（Pulse Density Modulation）や１ビットアンプその他の方式で行うようにしても良い。
【００５７】
このようにすれば、平均デューティー比に応じた電圧及び電流でモータ８２０は駆動されるようになる。
【００５８】
以上のようなトルク・フィードフォワード制御を実施することにより、モータ電流が流れすぎて過度な駆動状態になりそうな場合でも、目標トルクを下げるように作用するため、安全なモータ駆動が行われるようになる。なお、絶対値化して演算を行っていることからも、目標トルクの値もトルク換算されたモータ電流値も負の値をも想定している。
【００５９】
さらに、第１の実施の形態で述べたような効果も得ることができる。
【００６０】
［実施の形態３］
本発明の第３の実施の形態を図８乃至図２６を用いて説明する。ここでは、モータが自転車に搭載される、いわゆる電動アシスト自転車を一例として説明する。
【００６１】
図８は、第３の実施の形態における電動アシスト自転車の一例を示す外観図である。この電動アシスト自転車１はクランク軸と後輪がチェーンを介して連結されている一般的な後輪駆動型のものであり、モータ駆動装置が搭載されている。モータ駆動装置は、二次電池１０１と、モータ駆動制御器１０２と、トルクセンサ１０３と、ブレーキセンサ１０４と、モータ１０５と、操作パネル１０６とを有する。
【００６２】
二次電池１０１は、例えば供給最大電圧（満充電時の電圧）が２４Ｖのリチウムイオン二次電池であるが、他種の電池、例えばリチウムイオンポリマー二次電池、ニッケル水素蓄電池などであっても良い。
【００６３】
トルクセンサ１０３は、クランク軸に取付けられたホイールに設けられており、搭乗者によるペダルの踏力を検出し、この検出結果をモータ駆動制御器１０２に出力する。
【００６４】
ブレーキセンサ１０４は、磁石と周知のリードスイッチとから構成されている。磁石は、ブレーキレバーを固定するとともにブレーキワイヤーが送通される筐体内において、ブレーキレバーに連結されたブレーキワイヤーに固定されている。ブレーキレバーは手で握られたときにリードスイッチをオン状態にするようになっている。また、リードスイッチは筐体内に固定されている。このリードスイッチの導通信号はモータ駆動制御器１０２に送られる。
【００６５】
モータ１０５は、例えば周知の三相直流ブラシレスモータであり、例えば電動アシスト自転車１の前輪に装着されている。モータ１０５は、前輪を回転させるとともに、前輪の回転に応じてローターが回転するように、ローターが前輪に連結されている。さらに、モータ１０５はホール素子等を備えてローターの回転情報（すなわちホール信号）をモータ駆動制御器１０２に出力する。
【００６６】
操作パネル１０６は、例えばアシストの有無に関する指示入力をユーザから受け付けて、当該指示入力をモータ駆動制御器１０２に出力する。なお、操作パネル１０６は、アシスト比の設定入力をユーザから受け付けて、当該設定入力をモータ駆動制御器１０２に出力するようにしても良い。
【００６７】
このような電動アシスト自転車１のモータ駆動制御器１０２に関連する構成を図９に示す。モータ駆動制御器１０２は、制御器１０２０と、ＦＥＴ（Field Effect Transistor）ブリッジ１０３０とを有する。ＦＥＴブリッジ１０３０には、モータ１０５のＵ相についてのスイッチングを行うハイサイドＦＥＴ（Ｓuh）及びローサイドＦＥＴ（Ｓul）と、モータ１０５のＶ相についてのスイッチングを行うハイサイドＦＥＴ（Ｓvh）及びローサイドＦＥＴ（Ｓvl）と、モータ１０５のＷ相についてのスイッチングを行うハイサイドＦＥＴ（Ｓwh）及びローサイドＦＥＴ（Ｓwl）とを含む。このＦＥＴブリッジ１０３０は、コンプリメンタリ型スイッチングアンプの一部を構成している。また、ＦＥＴブリッジ１０３０には、この温度を測定するためサーミスタ１０８が設けられている。
【００６８】
また、制御器１０２０は、演算部１０２１と、温度入力部１０２２と、電流検出部１０２３と、車速入力部１０２４と、可変遅延回路１０２５と、モータ駆動タイミング生成部１０２６と、トルク入力部１０２７と、ブレーキ入力部１０２８と、ＡＤ入力部１０２９とを有する。
【００６９】
演算部１０２１は、操作パネル１０６からの入力（例えばオン／オフ及び動作モード（例えばアシスト比））、温度入力部１０２２からの入力、電流検出部１０２３からの入力、車速入力部１０２４からの入力、トルク入力部１０２７からの入力、ブレーキ入力部１０２８からの入力、ＡＤ入力部１０２９からの入力を用いて以下で述べる演算を行って、モータ駆動タイミング生成部１０２６及び可変遅延回路１０２５に対して出力を行う。なお、演算部１０２１は、メモリ１０２１１を有しており、メモリ１０２１１は、演算に用いる各種データ及び処理途中のデータ等を格納する。さらに、演算部１０２１は、プログラムをプロセッサが実行することによって実現される場合もあり、この場合には当該プログラムがメモリ１０２１１に記録されている場合もある。
【００７０】
温度入力部１０２２は、サーミスタ１０８からの入力をディジタル化して演算部１０２１に出力する。電流検出部１０２３は、ＦＥＴブリッジ１０３０内のＦＥＴに流れる電流を検出する検出抵抗１０７で、電流に対応する電圧値をディジタル化して演算部１０２１に出力する。車速入力部１０２４は、モータ１０５が出力するホール信号から現在車速を算出して、演算部１０２１に出力する。トルク入力部１０２７は、トルクセンサ１０３からの踏力に相当する信号をディジタル化して演算部１０２１に出力する。ブレーキ入力部１０２８は、ブレーキセンサ１０４からのブレーキ力に相当する信号をディジタル化して演算部１０２１に出力する。ＡＤ（Analog-Digital）入力部１０２９は、二次電池１０１からの出力電圧をディジタル化して演算部１０２１に出力する。また、メモリ１０２１１は、演算部１０２１とは別に設けられる場合もある。
【００７１】
演算部１０２１は、演算結果として進角値を可変遅延回路１０２５に出力する。可変遅延回路１０２５は、演算部１０２１から受け取った進角値に基づきホール信号の位相を調整してモータ駆動タイミング生成部１０２６に出力する。演算部１０２１は、演算結果として例えばＰＷＭのデューティー比に相当するＰＷＭコードをモータ駆動タイミング生成部１０２６に出力する。モータ駆動タイミング生成部１０２６は、可変遅延回路１０２５からの調整後のホール信号と演算部１０２１からのＰＷＭコードとに基づいて、ＦＥＴブリッジ１０３０に含まれる各ＦＥＴに対するスイッチング信号を生成して出力する。
【００７２】
図１０（ａ）乃至（ｌ）を用いて図９に示した構成によるモータ駆動の基本動作を説明する。図１０（ａ）はモータ１０５が出力したＵ相のホール信号ＨＵを表し、図１０（ｂ）はモータ１０５が出力したＶ相のホール信号ＨＶを表し、図１０（ｃ）はモータ１０５が出力したＷ相のホール信号ＨＷを表す。以下でも述べるように、本実施の形態では、モータ１０５のホール素子を、ホール信号が図１０で示すように若干進んだ位相で出力されるよう設置して、可変遅延回路１０２５で調整可能なようにしている。従って、図１０（ｄ）に示すようなＵ相の調整後ホール信号ＨＵ＿Ｉｎが可変遅延回路１０２５からモータ駆動タイミング生成部１０２６に出力され、図１０（ｅ）に示すようなＶ相の調整後ホール信号ＨＶ＿Ｉｎが可変遅延回路１０２５からモータ駆動タイミング生成部１０２６に出力され、図１０（ｆ）に示すようなＷ相の調整後ホール信号ＨＷ＿Ｉｎが可変遅延回路１０２５からモータ駆動タイミング生成部１０２６に出力される。
【００７３】
なお、ホール信号１周期を電気角３６０度として、６つのフェーズに分けられる。
【００７４】
また、図１０（ｇ）乃至（ｉ）に示すように、Ｕ相の端子にMotor_U逆起電力、Ｖ相の端子にMotor_V逆起電力、Ｗ相の端子にMotor_W逆起電力という逆起電力電圧が発生する。このようなモータ逆起電力電圧に位相を合わせて駆動電圧を与えモータ１０５を駆動するためには、図１０（ｊ）乃至（ｌ）に示すようなスイッチング信号をＦＥＴブリッジ１０３０の各ＦＥＴのゲートに出力する。図１０（ｊ）のＵ＿ＨＳはＵ相のハイサイドＦＥＴ（Ｓuh）のゲート信号を表しており、Ｕ＿ＬＳはＵ相のローサイドＦＥＴ（Ｓul）のゲート信号を表している。ＰＷＭ及び「／ＰＷＭ」は、演算部１０２１の演算結果であるＰＷＭコードに応じたデューティー比でオン／オフする期間を表しており、コンプリメンタリ型であるからＰＷＭがオンであれば／ＰＷＭはオフとなり、ＰＷＭがオフであれば／ＰＷＭはオンとなる。ローサイドＦＥＴ（Ｓul）の「Ｏｎ」の区間は、常にオンとなる。図１０（ｋ）のＶ＿ＨＳはＶ相のハイサイドＦＥＴ（Ｓvh）のゲート信号を表しており、Ｖ＿ＬＳはＶ相のローサイドＦＥＴ（Ｓvl）のゲート信号を表している。記号の意味は図１０（ｊ）と同じである。さらに、図１０（ｌ）のＷ＿ＨＳはＷ相のハイサイドＦＥＴ（Ｓwh）のゲート信号を表しており、Ｗ＿ＬＳはＷ相のローサイドＦＥＴ（Ｓwl）のゲート信号を表している。記号の意味は図１０（ｊ）と同じである。
【００７５】
このようにＵ相のＦＥＴ（Ｓuh及びＳul）は、フェーズ１及び２でＰＷＭのスイッチングを行い、Ｕ相のローサイドＦＥＴ（Ｓul）は、フェーズ４及び５でオンになる。また、Ｖ相のＦＥＴ（Ｓvh及びＳvl）は、フェーズ３及び４でＰＷＭのスイッチングを行い、Ｖ相のローサイドＦＥＴ（Ｓvl）は、フェーズ６及び１でオンになる。さらに、Ｗ相のＦＥＴ（Ｓwh及びＳwl）は、フェーズ５及び６でＰＷＭのスイッチングを行い、Ｗ相のローサイドＦＥＴ（Ｓwl）は、フェーズ２及び３でオンになる。
【００７６】
このような信号を出力してデューティー比を適切に制御すれば、モータ１０５を所望のトルクで駆動できるようになる。
【００７７】
次に、演算部１０２１の機能ブロック図を図１１に示す。演算部１０２１は、回生ブレーキ目標トルク演算部１２０１と、回生有効化部１２０２と、駆動トルク目標演算部１２０３と、アシスト有効化部１２０４と、加算部１２０６と、進角補正部１２０７と、トルク補正部１２０８と、電流制限部１２０９と、トルクガード部１２１０と、第１デューティー比換算部１２１１と、トルクスルーレート制限部１２１２と、第２デューティー比換算部１２１３と、速度係数修正部１２１４と、速度スルーレート制限部１２１５と、加算部１２１６と、ＰＷＭコード生成部１２１７とを有する。
【００７８】
車速入力部１０２４からの車速値及びトルク入力部１０２７からのペダルトルク値は、駆動トルク目標演算部１２０３に入力され、アシストトルク値が算出される。駆動トルク目標演算部１２０３の演算内容は、本実施の形態の主旨ではないので詳しく述べないが、例えば、駆動トルク目標演算部１２０３は、ペダルトルク値をＬＰＦで平滑化した上でリップル成分を抽出し、平滑化されたペダルトルク値と当該リップル成分とを所定の混合比で混合した値に応じたアシストトルク値を算出する。この演算の際に、車速に応じて混合比を調整したり、車速に応じて使用するアシスト比を制限した上で平滑化されたペダルトルク値に対して乗ずるといった演算をも行う場合がある。また、回生ブレーキ目標トルク演算部１２０１は、車速入力部１０２４からの車速値に応じて後に述べる演算を実施して回生ブレーキ目標トルク値を算出する。
【００７９】
本実施の形態では、ブレーキ入力部１０２８からブレーキ有りを表す入力信号が入力されると、回生有効化部１２０２は、回生ブレーキ目標トルク演算部１２０１からの回生目標トルク値を加算部１２０６に出力する。それ以外の場合には、０を出力する。一方、ブレーキ入力部１０２８からブレーキ無しを表す入力信号が入力されると、アシスト有効化部１２０４は、駆動トルク目標演算部１２０３からのアシストトルク値を出力する。それ以外の場合には、０を出力する。
【００８０】
加算部１２０６は、回生有効化部１２０２からの回生目標トルク値の極性を反転して出力するか、アシスト有効化部１２０４からのアシストトルク値をそのまま出力する。以下、説明を簡略化するため、アシストトルク値及び回生目標トルク値を目標トルク値と略称するものとする。
【００８１】
進角補正部１２０７は、車速値及び目標トルク値に応じて演算を行って演算結果を可変遅延回路１０２５に出力する。また、トルク補正部１２０８は、目標トルク値及び車速値に応じて後に述べる演算を行って、演算結果を電流制限部１２０９に出力する。さらに、電流制限部１２０９は、トルク補正部１２０８からの出力に対して後に述べる演算を行って、演算結果を出力する。トルクガード部１２１０は、電流制限部１２０９からの出力に対して例えば第２の実施の形態におけるトルク処理部７５０（但し第１デューティー比換算部７６４を除く）についての演算を実施する。続いて、演算結果を第１デューティー比換算部１２１１に出力する。第１デューティー比換算部１２１１は、トルクガード部１２１０からの出力に対して、換算係数ｄtを乗じてトルクデューティーコードを算出し、トルクスルーレート制限部１２１２に出力する。トルクスルーレート制限部１２１２は、第１デューティー比換算部１２１１からの出力に対してよく知られたスルーレート制限処理を実施して、処理結果を加算部１２１６に出力する。
【００８２】
また、速度係数修正部１２１４は、目標トルク値に応じて換算係数ｄsを修正して第２デューティー比換算部１２１３に出力する。第２デューティー比換算部１２１３は、車速値に対して修正後の換算係数ｄsを乗じて車速デューティーコードを算出し、速度スルーレート制限部１２１５に出力する。速度スルーレート制限部１２１５は、第２デューティー比換算部１２１３からの出力に対してよく知られたスルーレート制限処理を実施して、処理結果を加算部１２１６に出力する。
【００８３】
加算部１２１６は、トルクスルーレート制御部１２１２からのトルクデューティーコードと速度スルーレート制限部１２１５からの車速デューティーコードとを加算してデューティーコードを算出し、ＰＷＭコード生成部１２１７に出力する。ＰＷＭコード生成部１２１７は、デューティーコードに対して、ＡＤ入力部１０２９からのバッテリ電圧／基準電圧（例えば２４Ｖ）を乗じてＰＷＭコードを生成する。ＰＷＭコードは、モータ駆動タイミング生成部１０２６に出力される。
【００８４】
以下、主要構成要素の具体的演算内容について説明する。
【００８５】
（１）車速入力部１０２４
本実施の形態では上で述べたように車速に基づく演算が多く行われているので、正確な車速を得ることが精度上重要となる。
【００８６】
そのため、図１２に車速入力部１０２４の機能ブロック図の一例を示す。図１２の例で、車速入力部１０２４は、エッジ検出部３００１と、カウンタ３００２と、第１レジスタ３００３と、第２レジスタ３００４と、乗算部３００５と、加算部３００６と、逆数変換部３００７とを有する。エッジ検出部３００１には、ホール信号が入力されており、ホール信号の例えば立ち上がりを検出して、カウンタ３００２、第１レジスタ３００３及び第２レジスタ３００４に検出信号を出力する。カウンタ３００２は、エッジ検出部３００１からの検出信号に応じて、現カウント値をリセットして、クロック（ＣＬＫ）のカウントを開始する。また、第１レジスタ３００３及び第２レジスタ３００４は、保持している数値を出力する。但し、初期的には保持している値を０に初期化する。
【００８７】
そして、エッジ検出部３００１からの次の検出信号に応じて、カウンタ３００２は、現カウント値を第１レジスタ３００３に出力すると共に、現カウント値をリセットしてクロックＣＬＫのカウントを再開する。また、第１レジスタ３００３は、現在保持している値を出力すると共に、カウンタ３００２からの出力値を保存する。また、第２レジスタ３００４は、現在保持している値を出力すると共に、第１レジスタ３００３からの値を保存する。
【００８８】
さらに、エッジ検出部３００１からさらに次の検出信号を受信すると、カウンタ３００２は、現カウント値を第１レジスタ３００３に出力すると共に、現カウント値をリセットしてクロックＣＬＫのカウントを再開する。また、第１レジスタ３００３は、現在保持している値を出力すると共に、カウンタ３００２からの出力値を保存する。また、第２レジスタ３００４は、現在保持している値を出力すると共に、第１レジスタ３００３からの値を保存する。
【００８９】
このように、カウンタ３００２は、ホール信号の立ち上がりの周期に相当する値をカウントすることになり、第２レジスタ３００４には２つ前の周期、第１レジスタ３００３には１つ前の周期が保存される。
【００９０】
そして、乗算部３００５は第１レジスタ３００３からの出力値を２倍し、加算部３００６は、乗算部３００５からの出力値から第２レジスタ３００４からの出力値を減ずる演算を実施する。すなわち、１つ前の周期を２倍した時間から２つ前の周期を差し引いた値を演算している。
【００９１】
最後に、逆数変換部３００７が、加算部３００６の出力値の逆数を算出すれば、予測の現在車速が得られる。
【００９２】
また、図１２に示した車速入力部１０２４の演算は、図１３のような機能ブロック図でも実現できる。図１３の車速入力部１０２４は、エッジ検出部３０１１と、カウンタ３０１２と、第１レジスタ３０１３と、乗算部３０１４と、加算部３０１５と、第２レジスタ３０１６と、逆数変換部３０１７とを有する。
【００９３】
基本的な動作は図１２とほぼ同じであるが、第１レジスタ３０１３は、１つ前の周期を保持しており、乗算部３０１４は、カウンタ３０１２が出力した値（今回の周期）を２倍して出力する。そして、加算部３０１５は、今回の周期の２倍値から１つ前の周期を差し引く演算を実施し、第２レジスタ３０１６に出力する。第２レジスタ３０１６には、１つ前の予測された周期の値が格納されており、第２レジスタ３０１６は、エッジ検出部３０１１からの検出信号に応じて、逆数変換部３０１７に出力すると共に、加算部３０１５の出力値を保存する。逆数変換部３０１７は、１つ前の予測された周期の逆数を算出し、予測の現在車速が得られる。
【００９４】
このような演算を実施することで、精度良く車速を予測できるようになる。
【００９５】
（２）進角補正部１２０７
モータ１０５のコイル自身の自己インダクタンスや周囲のコイルとの相互インダクタンスなどの影響による電機子反作用や、鉄芯のレラクタンスなどにより、その時の速度や電流によって自分のコイルから出た磁界の影響で逆起電力の移送や波形やレベルが歪み、目標トルクが出せないことがある。それらを補正するために、進角補正を実施する。
【００９６】
例えば、図９の説明でも述べたように、位相が若干進んだホール信号を出力するようにホール素子をモータ１０５内に設置しておき、可変遅延回路１０２５は、演算部１０２１からの出力に応じて、ホール信号の位相を進角又は遅角するようにする。
【００９７】
本実施の形態における進角補正部１２０７（図１１参照）は、例えば図１４に示すような機能ブロック構成で実現される。この例では、進角値が、車速とトルクとで独立に影響を受けるとする場合の構成例を示す。
【００９８】
図１４の例における進角補正部１２０７は、第１進角算出部３０２１と、第２進角算出部３０２２と、加算部３０２３及び３０２４とを有する。
【００９９】
この場合、第１進角算出部３０２１は、目標トルク値に対して、予め設定されている（進角／トルク）係数を乗じて、第１の進角値を算出する。また、第２進角算出部３０２２は、車速値に対して、予め設定されている（進角／車速）係数を乗じて、第２の進角値を算出する。加算部３０２３は、第２の進角値と、予め設定されている初期固定進角値（ホール信号が予め有している進角値）とを加算して、加算結果を加算部３０２４に出力する。加算部３０２４は、加算部３０２３の加算結果と、第１の進角値とを加算して、進角値を得る。
【０１００】
このように車速とトルクとで独立に影響を受けるというモデルの場合には、それぞれについて換算係数を用意することで、調整が可能となる。
【０１０１】
一方、進角値が、車速とトルクとの相乗効果として影響を受ける場合における進角補正部１２０７は、例えば図１５に示すような機能ブロック構成で実現される。
【０１０２】
図１５の例における進角補正部１２０７は、乗算部３０３１と、進角算出部３０３２と、加算部３０３３とを有する。乗算部３０３１は、例えば目標トルク値と車速値との積を算出し、進角算出部３０３２に出力する。進角算出部３０３２は、予め設定されている進角／（トルク・車速）係数を、乗算部３０３１からの出力値に対して乗じて、変動分の進角値を算出する。加算部３０３３は、この進角算出部３０３２の出力値と、予め設定されている初期固定進角値とを加算することで、進角値を算出する。
【０１０３】
このような場合であっても、適切な（進角／（トルク・車速））係数という換算係数を用意することで、進角値の調整が可能となっている。
【０１０４】
（３）トルク補正部１２０８
トルク補正部１２０８は、現在車速に応じて目標トルクを補正する。例えば、図１６に示すような補正関数を用意して適用する。図１６の例では、直線ｆ1は、入力された目標トルクをそのまま補正後の目標トルクとして出力する場合の関数を表している。曲線ｆ2は、車速が０の場合の関数を表しており、また、曲線ｆ3は、車速が０を超える低速時（第１の車速範囲）の関数を表している。曲線ｆ4は、車速が中速時（第１の車速範囲より高速の第２の車速範囲）の関数を表しており、さらに、曲線ｆ5は、車速が高速時の関数（第２の車速範囲より高速の第３の車速範囲）の関数を表している。なお、カーブの形はモータの種類に応じて決定される。図１６では、ブラシレス電流整流且つ鉄心コア付きモータの一例を示している。
【０１０５】
このように、高速時の方が大きな目標トルク値が出力されるような関数を採用しても良い。このようにすれば、現在速度を維持又は上げるような目標トルク値が出力されるようになる。
【０１０６】
（４）電流制限部１２０９
図９に示したような回路においては、（Ａ）二次電池１０１の放電電流及び蓄電電流の制限、（Ｂ）ＦＥＴブリッジ１０３０の温度による電流制限といった電流制限を行うことになる。しかし、全体としてトルク・フィードフォワード制御を行っているため、モータ駆動電流のフィードバック制御は行わずに、電池電圧、１単位時間前のＰＷＭコード及びＦＥＴブリッジ１０３０の温度から、目標トルク値に制限を加える。
【０１０７】
このため本実施の形態に係る電流制限部１２０９は、図１７に示すように、正負判定部３０４１と、ゼロ判定部３０４２と、継続判定部３０４３と、サンプリング部３０４４と、放電ディレーティング部３０４５と、充電ディレーティング部３０４６と、第１電流換算部３０４７と、第２電流換算部３０４８と、選択部３０４９と、電流換算部３０５０と、最小値出力部３０５１と、ＦＥＴ電流制限値設定部３０５４と、トルク換算部３０５２と、トルククリップ部３０５３とを有する。
【０１０８】
正負判定部３０４１は、入力された目標トルク値（電流制限前目標トルク値）の符号を判断して、トルククリップ部３０５３及び選択部３０４９に正又は負を表す信号を出力する。ゼロ判定部３０４２は、入力された目標トルク値が０であるか否かを判定し、目標トルク値が０であれば処理不要であるから出力しない。一方、目標トルク値が０でなければ継続判定部３０４３に出力する。継続判定部３０４３は、例えば４単位期間０を超える値が継続しているか確認した上で、サンプリング部３０４４に対してサンプリング指示を出力する。
【０１０９】
サンプリング部３０４４は、継続判定部３０４３からのサンプリング指示を受け付けている間、ＡＤ入力部１０２９からの電源電圧値を放電ディレーティング部３０４５と充電ディレーティング部３０４６とに出力する。
【０１１０】
本実施の形態では、図１８に示すように、放電用のディレーティングカーブｇ1と、充電用のディレーティングカーブｇ2とが予め二次電池１０１に応じて設定されている。この例では、放電ディレーティング部３０４５は、電源電圧が１８Ｖから２２Ｖまでの間は０から１の間で、電源電圧に対して段階的にまたは連続的に単調増加する値を出力し、１８Ｖ未満であれば「０」を出力し、蓄電量が少ない時の過放電を防止している。また、放電ディレーティング部３０４５は、電源電圧が２２Ｖ以上であれば「１」を出力する。一方、充電ディレーティング部３０４６は、電源電圧が３１Ｖ以上であれば「０」を出力し、２７Ｖから３１Ｖまでの間は０から１の間で、電源電圧に対して段階的にまたは連続的に単調減少する値を出力し、過充電を防止している。また、充電ディレーティング部３０４６が、電源電圧が２７Ｖ以下であれば、「１」を出力する。
【０１１１】
第１電流換算部３０４７は、放電ディレーティング部３０４５からの出力値と予め設定されている放電電流制限値との積（＝電流制限値）を算出し、選択部３０４９に出力する。一方、第２電流換算部３０４８は、充電ディレーティング部３０４６からの出力値と予め設定されている充電電流制限値との積（＝電流制限値）を算出し、選択部３０４９に出力する。
【０１１２】
選択部３０４９は、正負判定部３０４１からの出力が正を表している場合には、第１電流換算部３０４７からの出力を電流換算部３０５０に出力する。一方、選択部３０４９は、正負判定部３０４１からの出力が負を表している場合には、第２電流換算部３０４８からの電流制限値を電流換算部３０５０に出力する。
【０１１３】
電流換算部３０５０は、選択部３０４９が出力した電流制限値を、１単位時間前のＰＷＭコードで除することによって、モータ駆動電流の電流制限値に換算する。
【０１１４】
図２に示すようなスイッチングアンプはＤＣトランスとみなすことができ、スイッチング素子などでのロスが無い限り以下のような式が成立する。
（１）電池電圧×デューティー比＝モータ駆動電圧
スイッチングアンプは定電力変換なので、電圧と電流は反比例するため以下の式が得られる。
（２）電池電流／デューティー比＝モータ駆動電流
【０１１５】
従って、電流換算部３０５０は、電池電圧から得られる電流制限値／ＰＷＭコードから、モータ駆動電流の電流制限値を算出する。
【０１１６】
なお、ＰＷＭコードは「０」となる場合もあるので、「０」で除することを回避するため、例えば下限値を設定しておき、下限値以下の場合には当該下限値で除することにする。
【０１１７】
一方、ＦＥＴ電流制限値設定部３０５４は、例えば図１９に示すような関係から、温度入力部１０２２からの温度に応じてＦＥＴ電流制限値を出力する。図１９の例では、ＦＥＴ温度が８５℃まではＦＥＴ電流制限値は一定値となるが、８５℃以上となると徐々に減少して、１２５℃になるとＦＥＴ電流制限値は０となってしまう。ＦＥＴ電流制限値設定部３０５４は、このようなカーブに従って、ＦＥＴ電流制限値を特定して最小値出力部３０５１に出力する。
【０１１８】
なお、数式化すれば以下のように表される。
ＦＥＴ電流制限値＝（定格温度（１２５℃）−ＦＥＴ温度）＊ＦＥＴ電流制限値／（定格温度（１２５℃）−ディレーティング開始温度（８５℃））
【０１１９】
最小値出力部３０５１は、電流換算部３０５０からの出力（モータ駆動電流の電流制限値）と、ＦＥＴ電流制限値設定部３０５４からの出力（ＦＥＴ電流制限値）とのうち小さい方の値を特定してトルク換算部３０５２に出力する。
【０１２０】
トルク換算部３０５２は、最小値出力部３０５１からの出力値に対して、予め設定されている換算係数（トルク／電流）を乗じて換算トルク値を算出して、トルククリップ部３０５３に出力する。トルククリップ部３０５３は、制限前の目標トルク値が、トルク換算部３０５２からの換算トルク値以下であれば、制限前の目標トルク値を制限後の目標トルク値として出力する。一方、制限前の目標トルク値が、トルク換算部３０５２からの換算トルク値を超えていれば、換算トルク値を制限後の目標トルク値として出力する。
【０１２１】
以上のような演算を実施することによって、トルク・フィードフォワード制御において、（１）二次電池１０１の放電電流及び充電電流の制限、（２）ＦＥＴブリッジ１０３０の温度による電流制限といった電流制限を満たすような目標トルク値を生成することができるようになる。
【０１２２】
（５）第１デューティー比換算部１２１１
第１デューティー比換算部１２１１は、トルクガード部１２１０からの出力に対して、予め設定されている換算係数（デューティー比／トルク＝ｄt）を乗じて、トルクデューティーコードを算出する。なお、このトルクデューティーコードは、トルクスルーレート制限部１２１２を介して加算部１２１６に出力される。
【０１２３】
（６）速度係数修正部１２１４
車速デューティーコードは、第２デューティー比換算部１２１３が、現在車速値に対して換算係数（デューティー比／車速＝ｄs）を乗じて算出するようになっている。
【０１２４】
この換算係数ｄsは、モータ１０５がその速度に応じた逆起電力を発生する際のデューティー比を算出するための換算係数であり、モータ１０５の基本特性から一義的に求まる。
【０１２５】
しかし、実際のモータについては、ばらつきや劣化などの変動要素も存在しており、製品出荷時に一義的に設定した換算係数ｄsのままでは、実際のモータ特性に変動が生じた場合、速度デューティーコードが過大又は過小となってしまう場合もある。例えば、図２０において点線ｐ2で示すようなモータ特性となっており、車速に対してデューティー比Dutyが対応しているものとする。この際、換算係数ｄsの値が大きい場合には、図２０の実線ｐ1で示すようなモータ特性を想定してしまっているため、常に車速に対するデューティー比Dutyが多くなってしまい、制御ではゼロトルクのつもりが、力行状態となってしまう。換算係数ｄsの値が小さい場合には、逆に、制御ではゼロトルクのつもりが、制動状態となってしまう。
【０１２６】
従って、以下で述べるような演算にて換算係数ｄsを動的に修正する。
【０１２７】
具体的には、ＦＥＴブリッジ１０３０のスイッチによるスイッチングを全く行わない場合には、モータ駆動電流は０となる。一方、目標トルク値が０となっている場合にも、本来であればモータ１０５の逆起電力とスイッチングアンプによる供給電圧とは一致しているためモータ駆動電流は０となるはずである。しかし、換算係数ｄsがずれていると、目標トルク値が０であってもトルクが発生し、モータ駆動電流が流れてしまうので、この際のモータ駆動電流を測定して、電流が流れないような方向に換算係数ｄsを修正する。
【０１２８】
このため、速度係数修正部１２１４は、例えば、図２１の機能ブロック図に示すような機能にて実現される。
【０１２９】
すなわち、速度係数修正部１２１４は、ゼロ検出部３０６１と、トルク換算部３０６２と、マルチプレクサ（ＭＵＸ）３０６３と、積分器３０６４と、加算部３０６５とを有する。
【０１３０】
トルク換算部３０６２は、電流検出部１０２３からの電流値に対して、予め設定されている換算係数（トルク／電流）を乗じて、モータ駆動電流に相当するトルク値を算出する。また、ゼロ検出部３０６１は、目標トルク値が０であるか判断して、０を検出すると検出信号をマルチプレクサ３０６３に出力する。マルチプレクサ３０６３は、ゼロ検出部３０６１からの検出信号が出力されている場合には、トルク換算部３０６２からの出力値を積分器３０６４に出力し、検出信号が出力されていない場合には、０を積分器３０６４に出力する。
【０１３１】
積分器３０６４は、マルチプレクサ３０６３からの出力値を所定時間積分して、積分結果を加算部３０６５に出力する。加算部３０６５は、予め設定されている換算係数Ｄssから、積分結果を差し引くことによって今回使用すべき換算係数Ｄsaを算出し、第２デューティー比換算部１２１３に出力する。
【０１３２】
このようにすれば、目標トルク値が０なのにも拘わらずモータ駆動電流が流れてしまっている場合には、それを０にするような方向で換算係数Ｄssが調整される。
【０１３３】
また、速度係数修正部１２１４は、例えば、図２２の機能ブロック図に示すような機能にて実現される場合もある。
【０１３４】
すなわち、速度係数修正部１２１４は、ゼロ検出部３０６１と、間欠遮断制御部３０７２と、第１選択部３０７３と、第２選択部３０７４と、加算部３０７５と、積分器３０７６と、加算部３０７７と、反転部３０７８とを有する。
【０１３５】
ゼロ検出部３０６１は、目標トルク値が０であるか判断して、０を検出すると検出信号を間欠遮断制御部３０７２、第１選択部３０７３及び第２選択部３０７４に出力する。間欠遮断部３０７２は、ゼロ検出部３０６１から検出信号を受け取ると、モータ駆動タイミング生成部１０２６に対して、ＦＥＴブリッジ１０３０のスイッチのスイッチングを停止させる遮断信号を間欠的に出力する。
【０１３６】
第１選択部３０７３は、ゼロ検出部３０６１が検出信号を出力しており且つ間欠遮断制御部３０７２が遮断信号を出力している場合に、電流検出部１０２３からの電流値を選択して出力する。一方、第２選択部３０７４は、ゼロ検出部３０６１が検出信号を出力しており且つ間欠遮断制御部３０７２が遮断信号を出力していない（すなわち反転部３０７８にて間欠遮断制御部３０７２からの遮断信号がオフの際にオンとなる）場合に、電流検出部１０２３からの電流値を選択して出力する。そして。加算部３０７５は、第１選択部３０７３からの出力値から第２選択部３０７４からの出力値を差し引くことによって誤差を算出する。
【０１３７】
このようにすれば、電流検出部１０２３自体に何らかの誤差が発生している場合であっても、第１選択部３０７３及び第２選択部３０７４の出力の差によって電流検出部１０２３の影響をキャンセルすることができるようになる。
【０１３８】
そして、積分器３０７６は、加算部３０７５からの出力値を所定時間積分して、積分結果を加算部３０７７に出力する。加算部３０７７は、予め設定されている換算係数Ｄssから、積分結果を差し引くことによって今回使用すべき換算係数Ｄsaを算出し、第２デューティー比換算部１２１３に出力する。
【０１３９】
このようにすれば、目標トルク値が０なのにも拘わらずモータ駆動電流が流れてしまっている場合には、それを０にするような方向で換算係数Ｄssが調整される。
【０１４０】
なお、本演算については常に実施するというわけではなく、電動アシスト自転車１であれば、例えば車速条件（５ｋｍ／ｈ乃至２０ｋｍ／ｈ）や加速度条件（−０．０２Ｇ乃至＋０．０２Ｇ）など安定に走行している状態等で実施する。
【０１４１】
また、頻繁に上記のような演算を実施するのは無駄であるから、例えば修正後の換算係数の変化幅が収束した場合など安定している場合には、次の演算までの時間を数分後に変えるなど、制御時間間隔をも変動させる。
【０１４２】
（７）第２デューティー比換算部１２１３
上でも述べたが、第２デューティー比換算部１２１３は、現在車速値に対して、換算係数Ｄsaを乗ずることによって、車速デューティーコードを算出する。なお、この車速デューティーコードは、速度スルーレート制限部１２１５を介して加算部１２１６に出力される。
【０１４３】
（８）ＰＷＭコード生成部１２１７
ＰＷＭコード生成部１２１７は、加算部１２１６によるトルクデューティーコード及び車速デューティーコードの加算結果であるデューティーコードに対して、ＡＤ入力部１０２９からの電池電圧／基準電圧（例えば２４Ｖ）を乗ずることによって、最終的なＰＷＭコードを算出して、モータ駆動タイミング生成部１０２６に出力する。
【０１４４】
（９）回生ブレーキ目標トルク演算部１２０１
ブレーキレバーによってユーザがブレーキ指示を入力して、ブレーキセンサ１０４がこのブレーキ指示を検出すると、ブレーキ入力部１０２８にブレーキありを表す信号（場合によってはブレーキの強弱を表す信号）を出力する。ブレーキ入力部１０２８は、この信号に応じて、以下で述べるような演算を行って、適切な回生ブレーキトルク値を算出する。
【０１４５】
具体的には、図２３を用いて説明する。図２３の横軸は、回生ブレーキトルクの設定値を表し、縦軸は、対応するトルク値、効率又は電力を表す。このグラフでは、直線ｒ1で示すように、回生ブレーキトルクの設定値が現在の車速相当値になれば回生効率は０となり、回生ブレーキトルク値が０であれば回生効率は１００％となる。一方、直線ｒ2で示すように、回生ブレーキトルクの設定値が０であれば、ブレーキトルク値は０であり、回生ブレーキトルクの設定値が車速相当値であれば、ブレーキトルク値は車速相当値となる。そうすると直線ｒ1で表される回生効率及び直線ｒ2で表されるブレーキトルクからして、回生電力は曲線ｒ3のようになり、回生ブレーキトルクの設定値が車速相当値の１／２の時に回生効率５０％で回生電力が最大となる。
【０１４６】
すなわち、車速相当値の１／２に回生ブレーキトルクを設定することによって、回生電力を最大化することができる。
【０１４７】
このことをベースに、回生ブレーキ目標トルク演算部１２０１でどのような回生ブレーキ目標トルク値を出力するかについて図２４乃至図２６を用いて説明する。図２４の横軸は車速を表しており、縦軸は回生ブレーキ目標トルク値を表す。点線の直線ｑ1は、車速相当値の回生ブレーキ目標トルク値を出力する場合の車速−トルク関係を表しており、図２３を用いて説明したように回生効率０％（ショートブレーキ）である。この直線ｑ1より上の領域では、電力持ち出しブレーキとなる。また、点線の直線ｑ2は、車速相当値の１／２の回生ブレーキ目標トルク値を出力する場合の車速−トルク関係を表しており、図２３を用いて説明したように回生効率５０％で、最大回生電力を得ることができる。この直線ｑ2より上の領域は、機械ブレーキ併用の方が有利な領域である。従って、直線ｑ2以下の領域で、制約条件を加味しつつ適切なカーブを採用する。
【０１４８】
各速度においての瞬時回生効率は、その瞬間の速度における逆起電力電圧に対するその瞬間の回生ブレーキ電圧の比で決まる。
瞬時回生効率＝１−（回生ブレーキ電圧／逆起電力電圧）
＝１−（回生トルク／車速相当トルク値）
任意の速度から任意の停止要求距離において、停止距離以外の他の制約が一切無い状態では、その停止距離で最大回生効率、すなわちトータルで最大回生電力量を得るには、どの速度でも均等な、回生効率一定のカーブ、すなわち原点を通る比例直線となる。直線ｑ10は、停止要求距離が十分に長ければＸ軸に近づき、回生効率は１００％に近づく。一方、停止要求距離がある程度短くなると直線ｑ10は、最大瞬時回生電力が得られる直線ｑ2と同じになり、その時のトータルの回生効率は５０％となる。さらに、それより停止要求距離が短い場合、回生トルクカーブは最大瞬時回生電力が得られる直線ｑ2と同じままで機械ブレーキの併用が必要となる。それ以上回生ブレーキのトルクを大きくすると、瞬時回生電力が逆に減ってしまうので、それ以上は機械ブレーキに回した方が得だからである。
【０１４９】
また、考慮すべき制約条件としては、高速域での最大定制動ラインを表し且つ横軸に平行な点線の直線群ｑ7、低速域での最低定制動ラインを表し且つ横軸に平行な点線の直線群ｑ6などがある。
実際に直線ｑ10を採用すると、時間に対する減速カーブは指数関数的に減衰するカーブとなり、停止距離は一定でも、停止時間が無限大となってしまうため、低速側では回生効率を多少犠牲にしても大きなトルクを維持する直線ｑ6を採用する。さらに低速で直線ｑ6が直線ｑ2を上回る領域になると回生効率の悪化のみならず、瞬間回生電力も逆に減少することになるため、各速度での瞬間回生電力が最大となる直線ｑ2に移行させ、機械ブレーキを併用して停止に至らせる。
一方、逆に速度が大きい場合には、定率の高効率回生直線である直線ｑ4のままではブレーキトルクが大きくなりすぎて危険なため、一定の最大トルク制限をかけるための直線ｑ7に移行させる。
【０１５０】
これに中速域では、点線の直線ｑ3から直線ｑ5までの１５％乃至３５％定率制動ライン（回生効率８５％乃至６５％）をも考慮すると、太線ｑ11で表されるような折れ線のカーブが採用される場合もある。なお、中速域では、直線ｑ4を採用している。これによって、中速域で高効率に電池回生を行うことができる。
【０１５１】
なお、さらなる制約条件としては、二次電池１０１に基づき設定される電池充電電流制限ラインを表す曲線群ｑ8（電池の種類及び状態によって異なる）、さらなる低速域での回生効率５０％ラインの直線ｑ2などがある。
電池電圧を一定とすると、電池の最大充電電流制限により回生電力が一定となる。
電池電圧×電池充電電流  ＝  一定回生電力  ＝  モータ逆起電力×モータ電流
モータ逆起電力は速度に比例、モータトルクはモータ電流に比例するため、その積が一定なのでモータ電流は速度に反比例する。そのため曲線群ｑ8は速度に反比例した双曲線カーブとなる。電池電圧、すなわち電池残量や電池温度によるディレーティングにより最大充電電流も可変し、上で示した式により一定回生電力自身も電池電圧に比例するため、複数の双曲線カーブとして表されている。
【０１５２】
また、回生ブレーキの優劣は、一定速度から、求められる一定距離（一定時間ではない）以下で停止した場合の総回生電力が大きい方が優秀であるものとする。この際、所定距離以下で止まれない場合は、止まれるところまで機械ブレーキを併用する。一定距離以下という制約が無いと、機械的ロスが問題にならないほどの範囲ではなかなか止まらない効きの悪い軽回生制動ほど回生効率が有利となってしまい、それではブレーキの意味が無いためである。従って、ブレーキ機能として作用するように所定距離以下で止まれる範囲まで機械ブレーキを併用した状態で評価する。
【０１５３】
図２４のカーブｑ11は一例であって、図２５に示すようなカーブｑ13を採用するようにしても良い。カーブｑ13は、低域では上で述べた曲線ｑ2に沿った形を有し、速度が上がると回生ブレーキ目標トルク値は一定となり、高速域では電池充電電流制限ライン群ｑ8により制限されている。なお、点線の直線ｑ12は、２５％制動ライン（回生効率７５％）を表している。高速域になると、電池充電電流制限ライン群ｑ8で制限される付近で、この直線ｑ12を下回るようになる。
【０１５４】
また、図２６に示すようなカーブを採用するようにしても良い。図２６は、ブレーキ入力部１０２８から、要求ブレーキ強度を受け取った場合の例を示している。この例では、要求ブレーキ強度が小の場合には曲線ｑ14を採用し、要求ブレーキ強度が中の場合には曲線ｑ15を採用し、要求ブレーキ強度が大の場合には曲線ｑ16を採用する。曲線ｑ16については、電池充電電流制限ライン群ｑ8の１つによって制限されている。このような場合でも、低速時には直線ｑ2に沿っていて、この直線を上回ることはない。なお、このような３段階ではなく、より多くの段階又は少ない段階に応じた曲線を規定するようにしても良い。さらに、要求ブレーキ強度に応じた回生ブレーキ目標トルク値の関数を別途定義するようにしても良い。
【０１５５】
次に、図２４に示したカーブｑ11を実現するための回生ブレーキ目標トルク演算部１２０１の機能ブロック図を図２７に示す。図２７における回生ブレーキ目標トルク演算部１２０１は、換算部３０８１と、乗算部３０８６と、乗算部３０８２と、最小値出力部３０８３と、最大値出力部３０８４と、最小値出力部３０８５とを有する。
【０１５６】
換算部３０８１は、車速入力部１０２４からの現在車速に対して、予め設定されている換算係数を乗じることによって、現在車速をトルク換算する。この換算係数は、車速をデューティー比に変換する換算係数（デューティー比／車速の係数）を、トルクをデューティー比に変換する換算係数（デューティー比／トルクの係数）で除することによって得られる。
【０１５７】
そして、乗算器３０８２は、換算部３０８１の出力値に１／２を乗じる。これによって、図２４における直線ｑ2上の対応する点を求めている。そして、最小値出力部３０８３は、予め設定されている最小回生トルク設定値（図２４の直線群ｑ6）と、換算部３０８１の出力値の１／２の値とを比較して、小さい方の値を出力する。また、乗算部３０８６は、換算部３０８１の出力値に対して、予め設定されている中速域における回生制動率設定値ｒbを乗じて、最大値出力部３０８４に出力する。最大値出力部３０８４は、最小値出力部３０８３の出力値と図２４における直線ｑ3乃至ｑ5のうち該当する値とを比較して、大きな方の値を出力する。さらに、最小値出力部３０８５は、最大値出力部３０８４からの出力値と、予め設定されている最大回生トルク設定値（図２４の直線群ｑ7）とを比較して、小さい方を回生ブレーキ目標トルク値として出力する。
【０１５８】
このようにすれば、図２４に示したカーブｑ11を実現できるようになる。
【０１５９】
［実施の形態４］
本実施の形態では、目標トルク値からトルクデューティーコードを算出するための換算係数（トルク対デューティー比係数とも呼ぶ）の自動較正をせずにそのばらつきの影響を軽減する。
磁束密度Ｂの中の長さＬに電流Ｉを流した時に発生する力Ｆはフレミングの左手法則より、Ｆ＝Ｂ×Ｌ×Ｉとなり、自転車の車輪におけるトルクＴはこのＦに一定比率Ｋｔで比例し、トルクデューティー比に比例した電圧をＶｔ、コイルの抵抗をＲとすると、以下のような式が成り立つ。
Ｋｔ×Ｔ＝Ｂ×Ｌ×Ｉ＝Ｂ×Ｌ（Ｖｔ／Ｒ）    （Ｋｔは固定比例定数）
【０１６０】
トルク対デューティー比係数をＤｔとすると、
Ｄｔ＝Ｖｔ／Ｔ＝Ｋｔ×Ｒ／（Ｂ×Ｌ）
と変形でき、ばらつき要因はコイルの長さ、抵抗、磁束密度となる。
そのうち、コイルの抵抗は銅線である限り材料による差は少なく機械的寸法のばらつきに起因する。磁束密度Ｂは磁石の起磁力と磁路抵抗によって決まり、磁石の材料、磁路の材料により大きくばらつく。また、磁束密度Ｂの中を長さＬの導体が速度ｖで横切るときに発生する起電力Ｅはフレミングの右手法則より、Ｅ＝ＢＬｖとなる。すなわち、起電力Ｅはモータにおける起電力、すなわち速度デューティー比に一定比率で比例し、自転車の車速Ｓはコイル速度ｖに一定比率で比例するため、速度デューティー比に比例した電圧をＶｓとすると、以下のように表される。
Ｖｓ＝Ｋｖ×Ｂ×Ｌ×Ｓ    （Ｋｖは固定比例定数）
【０１６１】
速度対デューティー比係数をＤｓとすると、
Ｄｓ＝Ｖｓ／Ｓ＝Ｋｖ×Ｂ×Ｌ
と変形でき、ばらつき要因はコイルの長さ、磁束密度となる。
このとき、トルク対デューティー比係数Ｄｔと速度対デューティー比係数Ｄｓの式には共通してＢ×Ｌが入っていて、それぞれ反比例関係と比例関係にある。つまりＢ×Ｌに起因するばらつきに対して、ＤｔとＤｓは反比例連動してばらつくことになる。
【０１６２】
そこで、基準（標準設定）の速度対デューティー比係数をＤss、較正済み速度対デューティー比係数をＤsaとし、基準（標準設定）のトルク対デューティー比係数をＤts、補正済みＤｔをＤtaとすると、以下の式にて、推定補正したＤtaを得ることができる。
Ｄta＝Ｄts×（Ｄss／Ｄsa）
【０１６３】
従って、図２８の機能ブロック図に示すように本実施の形態に係るトルク対デューティー比係数の補正部は、ゼロ検出部３０６１と、トルク換算部３０６２と、マルチプレクサ３０６３と、積分器３０６４と、加算部３０６５と、除算部１３０６６と、乗算部１３０６７とを有する。
【０１６４】
トルク換算部３０６２は、電流検出部１０２３からの電流値に対して、予め設定されている換算係数（トルク／電流）を乗じて、モータ駆動電流に相当するトルク値を算出する。また、ゼロ検出部３０６１は、目標トルク値が０であるか判断して、０を検出すると検出信号をマルチプレクサ３０６３に出力する。マルチプレクサ３０６３は、ゼロ検出部３０６１からの検出信号が出力されている場合には、トルク換算部３０６２からの出力値を積分器３０６４に出力し、検出信号が出力されていない場合には、０を積分器３０６４に出力する。
【０１６５】
積分器３０６４は、マルチプレクサ３０６３からの出力値を所定時間積分して、積分結果を加算部３０６５に出力する。加算部３０６５は、予め設定されているＤssから積分器３０６４の出力値を差し引き、算出結果Ｄsaを除算部１３０６６に出力する。除算部１３０６６は、予め設定されているＤssを加算部３０６５の算出結果Ｄsaで除する演算を実施し、乗算部１３０６７に出力する。そして、乗算部１３０６７は、予め設定されているＤtsと除算部１３０６６との積であるＤtaを算出する。このＤtaが、トルク対デューティー比係数Ｄtaである。
【０１６６】
このようにすれば、コイルの長さ、磁束密度といったばらつき要因からの影響を軽減できるようになる。
【０１６７】
さらに、トルク対デューティー比係数の補正部は、例えば、図２９の機能ブロック図に示すような機能にて実現される場合もある。
【０１６８】
すなわち、トルク対デューティー比係数の補正部は、ゼロ検出部３０６１と、間欠遮断制御部３０７２と、第１選択部３０７３と、第２選択部３０７４と、加算部３０７５と、積分器３０７６と、加算部３０７７と、除算部１３０７８と、乗算部１３０７９と、反転部３０７８とを有する。
【０１６９】
ゼロ検出部３０６１は、目標トルク値が０であるか判断して、０を検出すると検出信号を間欠遮断制御部３０７２、第１選択部３０７３及び第２選択部３０７４に出力する。間欠遮断制御部３０７２は、ゼロ検出部３０６１から検出信号を受け取ると、モータ駆動タイミング生成部１０２６に対して、ＦＥＴブリッジ１０３０のスイッチのスイッチングを停止させる遮断信号を間欠的に出力する。
【０１７０】
第１選択部３０７３は、ゼロ検出部３０６１が検出信号を出力しており且つ間欠遮断制御部３０７２が遮断信号を出力している場合に、電流検出部１０２３からの電流値を選択して出力する。一方、第２選択部３０７４は、ゼロ検出部３０６１が検出信号を出力しており且つ間欠遮断制御部３０７２が遮断信号を出力していない（すなわち反転部３０７８にて間欠遮断制御部３０７２からの遮断信号がオフの際にオンとなる）場合に、電流検出部１０２３からの電流値を選択して出力する。そして。加算部３０７５は、第１選択部３０７３からの出力値から第２選択部３０７４からの出力値を差し引くことによって誤差を算出する。
【０１７１】
このようにすれば、電流検出部１０２３自体に何らかの誤差が発生している場合であっても、第１選択部３０７３及び第２選択部３０７４の出力の差によって電流検出部１０２３の影響をキャンセルすることができるようになる。
【０１７２】
そして、積分器３０７６は、加算部３０７５からの出力値を所定時間積分して、積分結果を加算部３０７７に出力する。加算部３０７７は、予め設定されているＤssから積分器３０７６の出力値を差し引き、算出結果Ｄsaを除算部１３０７８に出力する。除算部１３０７８は、予め設定されているＤssを加算部３０７７の算出結果Ｄsaで除する演算を実施し、乗算部１３０７９に出力する。そして、乗算部１３０７９は、予め設定されているＤtsと除算部１３０７８との積であるＤtaを算出する。このＤtaが、トルク対デューティー比係数Ｄtaである。
【０１７３】
このようにすれば、コイルの長さ、磁束密度といったばらつき要因からの影響を軽減できるようになる。
【０１７４】
［実施の形態５］
例えば鍵でロックした場合などペダル駆動輪（図８の場合には後輪）を動かないようにした場合にペダルを踏むと、例えば第３の実施の形態においては、トルクセンサ１０３によりトルク入力が検出されて、演算部１０２１により入力トルクに応じたモータ駆動が行われる。すなわち、ペダル駆動輪を動かないようにしているので、モータ駆動輪（図８の場合には前輪）が空転するという現象が生ずる。
【０１７５】
そこで、本実施の形態では、例えば第３の実施の形態を図３０のように変形させることで、上記のような現象を防止する。なお、図１１に示した進角補正部１２０７以降の構成要素については図１１と同様であるから図示を省略しているが、その部分については構成も同様であり且つ動作も同じであるから、説明を省略する。
【０１７６】
本実施の形態では、ペダル回転センサ１０９を追加すると共に、例えば操作パネル１０６を介して変速機のギア比（変速比とも呼ぶ）を設定するようになっており、制御器１０２０は、操作パネル１０６からギア比を示す信号を得ることができるものとする。但し、操作パネル１０６からギア比を示す信号が得られない場合であっても、以下で述べるように対処可能である。
【０１７７】
また、本実施の形態では、制御器１０２０は、車速推定部１０３１をさらに有する。車速推定部１０３１は、ペダル回転センサ１０９から得られるペダル回転周波数とギア比と他のパラメータとから、ペダル駆動輪についての車速を推定し、推定車速を演算部１０２１に出力する。
【０１７８】
また、演算部１０２１は、マージン付加部１２６１と、比較部１２６２と、ペダルトルク存在判定部１２６３と、論理積部１２６４と、マルチプレクサ（ＭＵＸ）１２６５とをさらに有する。なお、図１１においては、演算部１０２１において、ブレーキ入力なしの場合にアシスト有効化部１２０４を動作させ、ブレーキ入力ありの場合にアシスト有効化部１２０４を無効化するようになっている。しかし、本実施の形態では、ブレーキ入力なし且つ論理積部１２６４からの出力が「０」（すなわち空転無し）の場合（負論理入力論理積部１２６６の両入力が負論理の場合）にアシスト有効化部１２０４を動作させる。その上で、ブレーキ入力無し又は論理積部１２６４からの出力が「１」（すなわち空転有り）の場合にアシスト有効化部１２０４を無効化させる（０を出力するように制御する）ようになっている。
【０１７９】
車速推定部１０３１は、ペダル回転センサ１０９から得られるペダル回転周波数と、操作パネル１０６から得られるギア比と、ペダル駆動輪の周長との積を、推定車速として算出し、マージン付加部１２６１へ出力する。なお、操作パネル１０６などからギア比が得られない場合には、予め定められた最大ギア比を使用する。なお、最大ギア比自体が「１」である場合もある。マージン付加部１２６１は、推定車速に対して、マージン比率を乗じた上で、全体についてのマージンを加算し、マージン付加後の推定車速を出力する。マージン比率は、例えば１．０６程度であるが、タイヤ個体差マージン、空圧低下時の車輪径マージン、ハンドル切れ角マージンなどを考慮した値となる。また、全体についてのマージンについては、例えば１ｋｍ／時程度であるが、ペダル回転周波数を安定的に検出できる速度などを考慮した値となる。
【０１８０】
マージン付加部１２６１の出力は、比較部１２６２に入力され、比較部１２６２は、車速入力部１０２４からの現在車速Ａとマージン付加部１２６１からのマージン付加後の推定車速Ｂとを比較する。この比較において、Ａ＞Ｂが成立する場合、すなわちモータ駆動輪の車速＞ペダル駆動輪の車速となっているか判断する。比較部１２６２は、モータ駆動輪の車速＞ペダル駆動輪の車速が成立している場合には「１」を論理積部１２６４に出力し、モータ駆動輪の車速＞ペダル駆動輪の車速が成立していない場合には「０」を論理積部１２６４に出力する。
【０１８１】
一方、ペダルトルク存在判定部１２６３は、トルクセンサ１０３からの入力トルクが所定の閾値以上であるか判断する。所定の閾値は、入力トルクが「０」とみなせる上限値として設定される。そして、ペダルトルク存在判定部１２６３は、入力トルクが所定の閾値以上である場合には「１」を出力し、入力トルクが所定の閾値未満である場合には「０」を出力する。
【０１８２】
論理積部１２６４は、ペダルトルク存在判定部１２６３からの出力と比較部１２６２からの出力の論理積を演算する。具体的には、入力トルクが０でなく（所定の閾値以上）且つモータ駆動輪の車速＞ペダル駆動輪の車速が成立する場合に「１」を出力し、入力トルクがほぼ０（所定の閾値未満）又はモータ駆動輪の車速＞ペダル駆動輪の車速が成立しない場合には「０」を出力する。すなわち、「１」の場合にはモータ駆動輪が空転しているとみなすことができ、「０」の場合にはモータ駆動輪は空転していないとみなすことができる。
【０１８３】
従って、マルチプレクサ１２６５は、論理積部１２６４から「１」が入力されると、マージン付加部１２６１の出力（マージン付加後の推定車速）を、第２デューティー比換算部１２１３に出力する。一方、論理積部１２６４から「０」が入力されると、現在車速を第２デューティー比換算部１２１３に出力する。すなわち、モータ駆動輪が空転しているとみなされる場合には、ペダル回転センサ１０９の出力から推定される車速をベースに制御を行う。ペダル駆動輪が動かないようにしている場合には、ペダル駆動輪についての推定車速はほぼ０であるから、モータ駆動は抑制される。また、アシスト有効化部１２０４についても、上で述べたように、モータ駆動輪が空転しているとみなされる場合には、無効化される（出力が０に設定される）ので入力トルクに応じたモータ駆動は行われなくなる。このようにして、前輪が空転するような事態を回避できるようになる。このように、論理積部１２６４の出力は、モータ駆動輪の空転有りとされた場合においてモータ駆動を抑制する制御信号となる。
【０１８４】
なお、車速推定部１０３１とマージン付加部１２６１とを統合して、マージン付加の仕方を変えることもできる。例えば、マージン比率のようにギア比に乗算する形ではなく、ギア比に加算するようなマージンを付加するように変更するようにしても良い。その他の構成要素についても、統合される場合もある。
【０１８５】
さらに、上で述べたように、ほぼ、現在車速＞（ペダル回転周波数×ペダル駆動輪の周長×ギア比）といったような判断を行っている。従って、例えば、ギア比＝現在車速／（ペダル回転周波数×ペダル駆動輪の周長）で算出して、ギア比が最大ギア比を超えるような値となった場合には、比較部１２６２でＡ＞Ｂと判断した場合と同じ信号を出力するようにしても良い。また、現在車速／（ペダル回転周波数×ペダル駆動輪の周長×ギア比）（＝指標値）＞１といったような演算にて判断するようにしても良い。その他の指標値を用いるように変形することも可能である。
【０１８６】
また、ペダル駆動輪の回転数が直接得られる場合には、ペダル回転数の代わりにペダル駆動輪の回転数を用いることができる。例えば図３１に示すように、ペダル回転センサ１０９の代わりにペダル駆動輪回転センサ１２６７を導入する。この場合にはペダル駆動輪の回転数が直接検出されているわけであるから、ペダルとペダル駆動輪の間の動力伝達経路に介在するフリーホイールのロック、アンロックの状態を考慮する必要は無い。従って、図３０の場合には用いられていたペダルトルク存在判定部１２６３及び論理積部１２６４は不要で、比較部１２６２の出力が、マルチプレクサ１２６５及び負論理入力論理積部１２６６に直接供給される。なお、ペダル駆動輪回転センサ１２６７は、図８のような電動アシスト自転車１であれば、後輪駆動なので後輪の車軸などに設けられる。
【０１８７】
なお、本実施の形態は、例えばこぎ出し時に、ほとんど動いていない自転車に、過度にペダルにトルクをかけるような場面においても、モータ駆動が抑制されて安全面で効果がある。
【０１８８】
以上本発明の実施の形態を説明したが、本発明はこれに限定されない。上で述べた機能を実現する具体的な演算手法は複数存在しており、いずれを採用しても良い。
【０１８９】
また、演算部１０２１の一部については専用の回路で実現される場合もあれば、マイクロプロセッサがプログラムを実行することで上記のような機能が実現される場合もある。
【図１】
2012086459.tif 000003
【図２】
2012086459.tif 000004
【図３】
2012086459.tif 000005
【図４】
2012086459.tif 000006
【図５】
2012086459.tif 000007
【図６】
2012086459.tif 000008
【図７】
2012086459.tif 000009
【図８】
2012086459.tif 000010
【図９】
2012086459.tif 000011
【図１０】
2012086459.tif 000012
【図１１】
2012086459.tif 000013
【図１２】
2012086459.tif 000014
【図１３】
2012086459.tif 000015
【図１４】
2012086459.tif 000016
【図１５】
2012086459.tif 000017
【図１６】
2012086459.tif 000018
【図１７】
2012086459.tif 000019
【図１８】
2012086459.tif 000020
【図１９】
2012086459.tif 000021
【図２０】
2012086459.tif 000022
【図２１】
2012086459.tif 000023
【図２２】
2012086459.tif 000024
【図２３】
2012086459.tif 000025
【図２４】
2012086459.tif 000026
【図２５】
2012086459.tif 000027
【図２６】
2012086459.tif 000028
【図２７】
2012086459.tif 000029
【図２８】
2012086459.tif 000030
【図２９】
2012086459.tif 000031
【図３０】
2012086459.tif 000032
【図３１】
2012086459.tif 000033
【手続補正書】
【提出日】平成25年6月4日(2013.6.4)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ駆動制御に関する。
【背景技術】
【０００２】
図１にモータ駆動の基本動作を説明するための図を示す。このようなＨブリッジ回路に含まれるＦＥＴ等のスイッチＳ１乃至Ｓ４のスイッチングのデューティー比を制御することで、モータの駆動状態を制御する。例えば、モータ回転で生じる逆起電力Ｖmotorより大きな電圧Ｖoutを電池battから供給すると、モータが力行状態となる。例えば、ＰＷＭ（Pulse Width Modulation）によってスイッチのデューティー比を制御する場合には、例えばスイッチＳ１及びＳ４をオンにする期間を長くして、Ｖout＝Ｖbatt×Duty（オンの比率）＞Ｖmotorとなれば、力行状態（トルク出力有りの状態）となる。力行状態であれば、図１の実線矢印で示すように、電流がモータ側に流れる。また、スイッチＳ１及びＳ４をオンにする期間を調整すれば、Ｖout＝Ｖmotorという状態（トルクゼロ状態）にすることも可能である。さらに、スイッチＳ１及びＳ４をオンにする期間を短くすれば、Ｖout＜Ｖmotorという状態になり、電池battが蓄電池であれば、図１の点線矢印で示すように、電池batt側に電流が流れる電池回生状態となる。この他にも、スイッチＳ１乃至Ｓ４のスイッチング・デューティー比を調整することによって、モータの逆起電力Ｖmotorを捨ててしまうロスブレーキなどの他の制動状態にすることもできる。
【０００３】
なお、当然ながらスイッチＳ１及びＳ２の方から電力をモータに供給する方向を正転とすると、スイッチＳ３及びＳ４の方から電力をモータに供給する逆転方向に駆動することも可能である。
【０００４】
電池によりモータを駆動する技術には、（１）ダイオード駆動方式、（２）電流常時フィードバック方式がよく知られている。
【０００５】
（１）ダイオード駆動方式
図１に示したようなＨブリッジ回路におけるＦＥＴの寄生ダイオード又は専用のダイオードを利用して、力行方向又は制動方向のみに適当なＰＷＭデューティー比を与え、大まかなフィードフォワードでトルクをかける技術である。オープンループ暴走の心配が無く、簡単確実に力行又は制動方向に制御できるためよく使用される。
【０００６】
しかし、ダイオードのドロップ電圧のため効率が犠牲になる。また、ダイオードの整流作用により、力行時は印加電圧が逆起電力以上になった瞬間のみ、制動時は逆起電力以下になった瞬間のみ電流が流れる。逆起電力はモータ回転速度に比例した正弦波電圧出力となるため、印加電圧と電流ひいてはトルクは比例せず、トルク制御のリニアリティは非常に悪くなり、さらに速度によってそのリニアリティも大きく変化するという問題がある。そのため、目標通りのトルクを得るには、速度と目標トルクに応じた極めて複雑な補正制限を必要とする。
【０００７】
（２）電流常時フィードバック方式
モータ電流をリアルタイムに検出し、希望トルクに応じたモータ電流になるように、その時の速度に関係なく常時フィードバックして制御する方式である。
【０００８】
制御結果である電流を監視して制御するので精度は高いが、負帰還制御によって不安定になり易く、安定なフィードバック制御をするためには一巡応答（モータ電流検出→マイコン計算→出力指令）に対して十分に低いカットオフ周波数となる制御が要求され、応答が遅くなったり、一巡応答をさらに高速高精度化しなければならないなどのデメリットがある。また、どこかで帰還すべき情報が途切れると、制御量が足りないと判断され過度に応答しようとするため暴走することがある。
【０００９】
なお、特開平１０−５９２６２号公報には、アシストトルク指令（入力）とモータトルク（出力）の偏差を比例回路（Proportional）及び積分器（Integral）を通してフィードバックを行なう手法が開示されている。一般的にＰＩ制御や位相遅れ補償と呼ばれる手法である。
【００１０】
この制御系の場合、積分器により高周波領域で位相が遅れるため、制御対象であるモータに遅れ要素があると発振してしまう恐れがある。そのため、その高周波領域で位相を進める微分回路（differential）を追加することもよく行われる。しかし、そのように制御系を複雑にする場合には、その分制御対象であるインバータやモータをモデル化して考える必要があり、そのモデル化に誤り、又は誤りが無くても装置のばらつきや劣化などで、特性が変わったときに発振してしまう懸念がある。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開平１０−５９２６２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
従って、本発明の目的は、効率の良い安定したモータ制御技術を提供することである。
【課題を解決するための手段】
【００１３】
本発明の第１の態様に係るモータ駆動制御装置は、速度トラッキング・トルク・フィードフォワード方式（以下、トルク・フィードフォワードと略称する）と呼ぶべきもので、（Ａ）現在速度に応じた第１の値をデューティー比換算することで第２の値を生成する速度処理部と、（Ｂ）目標トルクに応じた第３の値をデューティー比換算することで第４の値を生成するトルク処理部と、（Ｃ）第２の値と第４の値との和に応じた平均デューティー比により、コンプリメンタリ型スイッチングアンプに含まれるスイッチによるスイッチングを制御して、コンプリメンタリ型スイッチングアンプに接続されているモータを駆動する駆動部とを有する。
【００１４】
このような演算により、ダイオードを使わず現在速度に応じた逆起電力相当電圧でバランスさせた上に目標トルクをトルク・フィードフォーワード加算することができ、安定的に効率の良いモータ駆動制御を行うことができるようになる。なお、第１及び第２の値は共に正又は負の値となり得るものである。
【００１５】
また、第１の態様に係るモータ駆動制御装置は、モータの駆動電流に応じた第５の値をトルク換算した第６の値が第３の値から所定の許容量以上乖離している場合に、第３の値を乖離度合いに応じて駆動電流を減少させるように修正する修正部をさらに有するようにしてもよい。このようにすれば、モータの駆動電流が何らかの理由で多くなっている又は多くなっているように検出される場合においても、モータの駆動電流を減少させるように第３の値（すなわち目標トルク）を修正するので、安全である。
【００１６】
また、第１の態様に係るモータ駆動制御装置は、第１の値及び第３の値から、上記スイッチングのための信号の位相制御を行う信号を生成する進角補正部をさらに有するようにしても良い。目標トルクに応じた適切なトルクをモータに出させるためには、現在速度に応じた第１の値をも考慮に入れて進角補正を行うことが好ましい。
【００１７】
さらに、第１の態様に係るモータ駆動制御装置の駆動部が、第２の値と第４の値との和を、電源電圧に応じて補正するようにしてもよい。電源電圧は、その消耗度合いによって変化する場合があるためである。
【００１８】
また、第１の態様に係るモータ駆動制御装置のトルク処理部が、第３の値を第１の値に応じて補正するようにしてもよい。例えば予め補正カーブを現在速度に応じて複数種類用意しておき、例えば現在速度が速い場合には第３の値を増加させるようなカーブを採用するようにしても良い。
【００１９】
さらに、第１の態様に係るモータ駆動制御装置のトルク処理部が、現在のデューティー比及び電源電圧に応じた電流制限に基づき第３の値の範囲に制限を加えるトルク制限部を有するようにしてもよい。このようにすれば、トルク・フィードフォワード制御において、電源の制約である電流制限に従って、適切な電流がモータに流れるように、第３の値を制限することができるようになる。
【００２０】
なお、上記電源が充電可能な電池である場合、電源電圧に応じた電流制限が、電池の満充電余裕及び残量余裕に応じて設定される場合もある。これによって過放電や過充電を防止して蓄電池の保護がなされる。さらに、上記トルク制限部が、スイッチの温度に基づく電流制限にさらに基づき第３の値の範囲に制限を加えるようにしてもよい。これによってスイッチの保護がなされる。
【００２１】
さらに、第１の態様に係るモータ駆動制御装置は、過去の複数の速度検出結果から上記現在速度を予測する速度予測部をさらに有するようにしてもよい。このようにすれば正確な現在速度を得ることができ、適切なトルク・フィードフォワード制御を実施できるようになる。
【００２２】
また、上で述べたトルク処理部が、ブレーキ指示に応じて、第１の値と対応する第３の値とについて予め定められた対応関係に従い、現在の第１の値から対応する第３の値を特定するようにしてもよい。その場合、上記対応関係において、第３の値が第１の値とは逆極性の値となる。ブレーキ時に現在速度に応じて適切な目標トルクに調整されるようになる。
【００２３】
なお、上で述べた対応関係が、第１の値とは逆極性で且つ第１の値の絶対値の半分以下（「半分以下」は例えば数％程度「半分」を上回る場合も含む）となるような関係であるような場合もある。このようにすればどのような速度であってもある程度の効率で回生を行うことができるようになる。
【００２４】
また、上で述べたブレーキ指示が、ブレーキ量の指示を含むようにしてもよい。この場合、上記対応関係が、ブレーキ量に対応して異なる対応関係を含むようにしてもよい。このようにすれば、ブレーキ量に応じて高効率で回生を行うことができるようになる。
【００２５】
さらに、上で述べた対応関係が、第１の値の絶対値が大きくなると対応する第３の値の絶対値が小さくなる部分を有するようにしてもよい。様々なカーブを設定することができるが、速度が早い部分ではブレーキトルクを制限して、回生効率を向上させるものである。
【００２６】
さらに、上で述べた対応関係が、電源電圧に応じた電流制限に基づき決定される対応関係の部分を含むようにしてもよい。ブレーキについても、蓄電池に回生する場合には電池の状態に応じた電流制限がかかるためである。
【００２７】
さらに、第１の態様に係るモータ駆動制御装置は、第３の値が０であるときにモータの駆動電流が０となるように、速度処理部におけるデューティー比換算係数又はデューティー比換算関数を修正する第２の修正部をさらに有するようにしてもよい。電流検出やゲインの誤差をキャンセルできるので、適切にトルク・フィードフォワード制御が実施されるようになる。
【００２８】
さらに、上で述べた第２の修正部が、第３の値が０である状態を検出すると、モータの駆動の遮断時の駆動電流値とモータの駆動の非遮断時の駆動電流値との差が０となるように、速度処理部におけるデューティー比換算係数又はデューティー比換算関数を修正するようにしてもよい。より正確に係数又は関数を校正することができる。
【００２９】
また、上で述べた現在速度が、モータ駆動輪についての車速であるとすると、第１の態様に係るモータ駆動制御装置は、ペダルの回転周波数からペダル駆動輪についての車速を推定する車速推定部と、現在速度とペダル駆動輪についての車速とを比較する比較部と、比較部による比較結果が、現在速度の方がペダル駆動輪についての車速よりも速いことを表しており且つペダルによる入力トルクが閾値以上である場合に、モータ駆動を抑制するための制御信号を出力する制御信号出力部とをさらに有するようにしてもよい。また、ペダル駆動輪について着目すると、第１の態様に係るモータ駆動制御装置は、ペダル駆動輪の回転周波数からペダル駆動輪についての車速を推定する車速推定部と、現在速度とペダル駆動輪についての車速とを比較する比較部と、比較部による比較結果が、現在速度の方がペダル駆動輪についての車速よりも速いことを表している場合に、モータ駆動を抑制するための制御信号を出力する制御信号出力部とをさらに有するようにしても良い。このようにすれば、モータ駆動輪の空転を検出することができるようになり、これを抑制できるようになる。
【００３０】
さらに、第１の態様に係るモータ駆動制御装置は、上で述べた制御信号により、上で述べた目標トルクを０（おおよそ０の場合を含み、本来の値からして十分に小さい値（例えば１／１０）にする場合もある。）に設定する回路をさらに有するようにしても良い。このようにすれば、上で述べた第４の値も０となり、モータ駆動が抑制されるようになる。
【００３１】
また、第１の態様に係るモータ駆動制御装置は、上で述べた車速推定部により推定されたペダル駆動輪についての車速を上記現在速度の代わりに速度処理部に処理させる回路をさらに有するようにしても良い。ペダル駆動輪についての車速はほぼ０であるから、上で述べた第１の値がほぼ０となるため、上で述べた第２の値もほぼ０となり、モータ駆動が抑制される。
【００３２】
なお、上で述べた車速推定部が、ペダルの回転周波数と、ペダル駆動輪の周長と、変速機のギア比との積に基づきペダル駆動輪についての車速を推定するようにしても良い。なお、ギア比については、不明な場合もあるので、その場合には最大ギア比を用いる。また、各種マージンを織り込むようにしてもよい。
【００３３】
また、第１の態様に係るモータ駆動制御装置は、現在速度とペダルの回転周波数とペダル駆動輪の周長とを用いて、モータ駆動輪の空転の有無を判断するための指標値を算出し、ペダルによる入力トルクが閾値以上であれば当該指標値に基づきモータ駆動輪の空転の有無を判断する回路と、モータ駆動輪の空転があると判断された場合に、モータ駆動を抑制するための制御信号を出力する制御信号出力部とをさらに有するようにしても良い。以下でも述べるように、例えば現在速度＞（ペダルの回転周波数×ペダル駆動輪の周長×ギア比（但し１の場合有り））を変形した各種指標値を用いることができる。
【００３４】
また、第２の態様に係るモータ駆動制御装置は、（Ａ）現在速度に応じた第１の値をデューティー比換算することで第２の値を生成する速度処理部と、（Ｂ）目標トルクに応じた第３の値をデューティー比換算することで第４の値を生成するトルク処理部と、（Ｃ）第２の値と第４の値との和に応じた平均デューティー比により、コンプリメンタリ型スイッチングアンプに含まれるスイッチによるスイッチングを制御して、コンプリメンタリ型スイッチングアンプに接続されているモータを駆動する駆動部と、（Ｄ）速度処理部における第１のデューティー比換算係数の基準値と、第３の値が０であるときにモータの駆動電流が０となるように修正された第１のデューティー比換算係数の値と、トルク処理部における第２のデューティー比換算係数の基準値とに基づき、第２のデューティー比換算係数を補正する補正部とを有する。これによって、適切に補正された係数値でトルク処理部が処理を行うことができるようになる。
【００３５】
なお、上で述べたような処理をマイクロプロセッサに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ（Random Access Memory）等の記憶装置に一時保管される。
【図面の簡単な説明】
【００３６】
【図１】図１は、モータ駆動の基本動作を説明するための図である。
【図２】図２は、第１の実施の形態に係るモータ駆動制御装置の機能ブロック図である。
【図３】図３は、第１の実施の形態に係るモータ駆動制御装置の動作を説明するための図である。
【図４】図４は、第２の実施の形態に係る課題を説明するための図である。
【図５】図５は、第２の実施の形態に係る課題を説明するための図である。
【図６】図６は、第２の実施の形態に係る課題を説明するための図である。
【図７】図７は、第２の実施の形態に係るモータ駆動制御装置の機能ブロック図である。
【図８】図８は、第３の実施の形態に係る電動アシスト自転車の一例を示す図である。
【図９】図９は、第３の実施の形態に係るモータ駆動制御器に関連する機能ブロック図である。
【図１０】図１０（ａ）乃至（ｌ）は、モータ駆動の基本動作を説明するための波形図である。
【図１１】図１１は、第３の実施の形態における演算部の機能ブロック図である。
【図１２】図１２は、車速入力部の第１の機能ブロック図である。
【図１３】図１３は、車速入力部の第２の機能ブロック図である。
【図１４】図１４は、進角補正部の第１の機能ブロック図である。
【図１５】図１５は、進角補正部の第２の機能ブロック図である。
【図１６】図１６は、トルク補正関数の一例を示す図である。
【図１７】図１７は、電流制限部の機能ブロック図である。
【図１８】図１８は、電池のディレーティングカーブの一例を示す図である。
【図１９】図１９は、ＦＥＴ温度と電流制限値の関係を表す図である。
【図２０】図２０は、車速からデューティー比を換算する係数の校正について説明するための図である。
【図２１】図２１は、速度係数修正部の第１の機能ブロック図である。
【図２２】図２２は、速度係数修正部の第２の機能ブロック図である。
【図２３】図２３は、回生ブレーキ目標トルク演算部について説明するための図である。
【図２４】図２４は、回生ブレーキ目標トルク演算部について説明するための図である。
【図２５】図２５は、回生ブレーキ目標トルク演算部について説明するための図である。
【図２６】図２６は、回生ブレーキ目標トルク演算部について説明するための図である。
【図２７】図２７は、回生ブレーキ目標トルク演算部の機能ブロック図である。
【図２８】図２８は、トルク対デューティー比係数の補正部の第１の機能ブロック図である。
【図２９】図２９は、トルク対デューティー比係数の補正部の第２の機能ブロック図である。
【図３０】図３０は、第４の実施の形態における演算部などの機能ブロック図である。
【図３１】図３１は、第４の実施の形態の変形例における演算部などの機能ブロック図である。
【発明を実施するための形態】
【００３７】
［実施の形態１］
図２に、本実施の形態に係るモータ駆動制御装置５００の機能ブロック図を示す。モータ駆動制御装置５００は、第１デューティー比換算部５２０と、第２デューティー比換算部５１０と、加算部５３０と、駆動部５４０とを有する。なお、モータ駆動制御装置５００の駆動部５４０の出力は、コンプリメンタリ型のスイッチングアンプ６１０に接続されており、このスイッチングアンプ６１０によりモータ６２０が駆動されるようになっている。
【００３８】
例えば、モータ駆動制御装置５００には、当該モータ駆動制御装置５００に接続されているセンサなどから現在車速に応じた第１のディジタル値と、当該モータ駆動制御装置５００に接続されている指示機構又はセンサなどから目標トルクに応じた第３のディジタル値とが入力されて処理が行われる。そして、第２デューティー比換算部５１０は、第１のディジタル値に対して換算係数（デューティー比／現在車速に相当する係数）を乗じるなどの処理を実施して、第１のディジタル値をデューティー比換算した第２のディジタル値を出力する。同様に、第１デューティー比換算部５２０は、第３のディジタル値に対して換算係数（デューティー比／トルクに相当する係数）を乗じるなどの処理を実施して、第３のディジタル値をデューティー比換算した第４のディジタル値を出力する。
【００３９】
加算部５３０は、第２デューティー比換算部５１０からの第２のディジタル値及び第１デューティー比換算部５２０からの第４のディジタル値を加算して駆動部５４０に出力する。駆動部５４０は、第２及び第４のディジタル値の和に応じた平均デューティー比になるように、スイッチングアンプ６１０のスイッチをスイッチングさせる。このスイッチングは、ＰＷＭであってもよいし、ＰＮＭ（Pulse Number Modulation）やＰＤＭ（Pulse Density Modulation）や１ビットアンプその他の方式で行うようにしても良い。
【００４０】
このようにすれば、平均デューティー比に応じた電圧及び電流でモータ６２０は駆動されるようになる。
【００４１】
このようなモータ駆動制御装置５００の動作をさらに図３を用いて説明する。ここでは、第２のディジタル値をＤ0と表し、第４のディジタル値をＤTと表すとする。そうすると、上でも述べたように、スイッチングアンプ６１０のスイッチの平均デューティー比Dutyは、以下のように表される。
Duty＝Ｄ0＋ＤT
【００４２】
本実施の形態では、現在の速度のままであればＤ0の直線に沿った形で平均デューティー比Dutyを変化させる。モータ６２０を力行状態にして加速させる場合には、目標トルクは正の値、例えば＋Ｄtに設定されるので、Ｄt分だけこの直線を上方にシフトさせる。そうすれば目標トルクの分だけ加速することになるが、平均デューティー比も相対的に高くすることになる。一方、モータ６２０を例えば制動状態にして減速する場合には、目標トルクは負の値、例えば−Ｄtに設定されるので、Ｄtだけ上記直線を下方にシフトさせる。そうすれば目標トルクの分だけ減速することになり、平均デューティー比も相対的に低くすることになる。
【００４３】
さらに、モータ６２０の正回転及び逆回転に対応するため、現在車速に相当する第２のディジタル値Ｄ0についても、正の値及び負の値が設定される場合がある。
【００４４】
以上のようなトルク・フィードフォワード制御を実施することにより、安定的な制御が行われると共に、ダイオード駆動方式のような効率低下もないため、例えば電動アシスト自転車などに使用するのに好適である。但し、他のモータ駆動に用いることも可能である。
【００４５】
［実施の形態２］
第１の実施の形態において目標トルクに応じた出力トルクが得られる場合には問題はないが、部品ばらつきなどによってモータに流れる電流が多くなってしまって、結果として目標トルクよりも大きなトルクが発生する場合もある。
【００４６】
一般的には、図４に示すように、目標トルクに対する出力トルクは、直線ａで示されるように、目標トルクに一致することが好ましい。また、出力トルクは、安全性などの観点から、目標トルクに応じて設定され且つ直線ｂで示される許容量上限より下の領域の値でなければならない。しかしながら、何らかの理由で、モータに流れる電流が多くなってしまって、図５の点線ｃで示されるように、目標トルクに対して過大な電流が流れて、結果として許容量上限を表す直線ｂを超えるような領域（ハッチング付き）の出力トルクを要求して、モータを駆動してしまう場合も生じ得る。
【００４７】
本実施の形態では、このような事態を回避するための機構を導入する。図６に模式的に示せば、目標トルクに対応する出力トルクが許容量上限を超えている部分については、強制的に、例えば許容量上限（直線ｂ上の値）に修正して、太線ｄに示すような修正後の出力トルクを得るようにモータを駆動させる。
【００４８】
具体的には、図７に示すようなモータ駆動制御装置７００を導入する。第２の実施の形態に係るモータ駆動制御装置７００は、トルク処理部７５０と、第２デューティー比換算部７７０と、加算部７８０と、駆動部７９０とを有する。
【００４９】
トルク処理部７５０は、第１絶対値化部７５１と、マージン付加部７５２と、トルク換算部７５３と、第２絶対値化部７５４と、加算部７５６と、第１クランプ部７５７と、積算部７５８と、第１ＬＰＦ（Low Pass Filter）部７５９と、加算部７６０と、第２クランプ部７６１と、極性反転部７６３と、第１デューティー比換算部７６４とを有する。モータ駆動制御装置７００の駆動部７９０は、コンプリメンタリ型のスイッチングアンプ８１０に接続されている。そして、スイッチングアンプ８１０によってモータ８２０が駆動される。
【００５０】
第２デューティー比換算部７７０は、モータ駆動制御装置７００に接続されているセンサなどから現在車速に応じた第１のディジタル値に対して換算係数（デューティー比／現在車速に相当する係数）を乗じるなどの処理を実施して、第１のディジタル値をデューティー比換算した第２のディジタル値を出力する。
【００５１】
トルク処理部７５０の第１絶対値化部７５１は、モータ駆動制御装置７００に接続されている指示機構又はセンサなどから受け取った目標トルクに応じた第３のディジタル値から、符号部分を抽出して極性反転部７６３に出力すると共に、値部分（｜第３のディジタル値｜＝Ｔc）をマージン付加部７５２及び加算部７６０に出力する。
【００５２】
また、トルク換算部７５３は、モータ８２０に流れるモータ駆動電流値に応じた第５のディジタル値に対して換算係数（トルク／モータ駆動電流値に相当する係数）を乗じるなどの処理を実施して、第５のディジタル値をトルク換算した第６のディジタル値を出力する。第２絶対値化部７５４は、第６のディジタル値の符号部分を取り除き、値部分（｜第６のディジタル値｜）を出力する。
【００５３】
マージン付加部７５２は、例えばＴm＝Ｔc×１．１５＋所定数αといった形で｜第３のディジタル値｜に対してマージンを加えるものである。そして、加算部７５６は、第２絶対値化部７５４の出力である｜第６のディジタル値｜と−Ｔmを加算する。この加算結果が負の値になる場合、すなわち、Ｔmの方が｜第６のディジタル値｜より大きい場合には、目標トルクをそのまま出力しても問題がないので、第１クランプ部７５７は、０を出力する。一方、Ｔmの方が｜第６のディジタル値｜よりも小さい場合には、加算結果が正の値となり、目標トルクを補正するため、第１クランプ部７５７は、加算結果をそのまま積算部７５８に出力する。積算部７５８は、電流補正追従時定数ｆｂを加算結果に乗算した上で出力する。そして、１次ＬＰＦ部７５９は、積算部７５８の出力に対して１次のローパスフィルタの平滑化処理を実施して出力する。このようにすれば、モータ電流値に基づいた補正量が算出される。
【００５４】
そして、加算部７６０は、第１絶対値化部７５１の出力である｜第３のディジタル信号｜から１次ＬＰＦ部７５９の出力を減算して（負の補正量を加算して）出力する。第２クランプ部７６１は、加算部７６０の出力結果が負の値となる場合、すなわち補正量の方が多くなってしまっている場合には０を出力し、加算部７６０の出力結果が正の値となる場合にはそのまま出力する。そして、極性反転部７６３は、目標トルクが負の値であって第１絶対値化部７５１から符号部分が負であることを示す信号を受け取った場合には、第２クランプ部７６１からの出力の極性を反転させた上で出力し、符号部分が正であることを示す信号を受け取った場合には、何らの処理を行わずにそのまま出力する。このようにして第３のディジタル値は、モータ電流値に応じて補正を行った上で、第１デューティー比換算部７６４に出力される。
【００５５】
第１デューティー比換算部７６４は、補正後の第３のディジタル値に対して換算係数（デューティー比／トルクに相当する係数）を乗じるなどの処理を実施して、補正後の第３のディジタル値をデューティー比換算した第４のディジタル値を出力する。
【００５６】
加算部７８０は、第２デューティー比換算部７７０からの第２のディジタル値及び第１デューティー比換算部７６４からの第４のディジタル値を加算して駆動部７９０に出力する。駆動部７９０は、第２及び第４のディジタル値の和に応じた平均デューティー比になるように、スイッチングアンプ８１０のスイッチをスイッチングさせる。このスイッチングは、ＰＷＭであってもよいし、ＰＮＭ（Pulse Number Modulation）やＰＤＭ（Pulse Density Modulation）や１ビットアンプその他の方式で行うようにしても良い。
【００５７】
このようにすれば、平均デューティー比に応じた電圧及び電流でモータ８２０は駆動されるようになる。
【００５８】
以上のようなトルク・フィードフォワード制御を実施することにより、モータ電流が流れすぎて過度な駆動状態になりそうな場合でも、目標トルクを下げるように作用するため、安全なモータ駆動が行われるようになる。なお、絶対値化して演算を行っていることからも、目標トルクの値もトルク換算されたモータ電流値も負の値をも想定している。
【００５９】
さらに、第１の実施の形態で述べたような効果も得ることができる。
【００６０】
［実施の形態３］
本発明の第３の実施の形態を図８乃至図２７を用いて説明する。ここでは、モータが自転車に搭載される、いわゆる電動アシスト自転車を一例として説明する。
【００６１】
図８は、第３の実施の形態における電動アシスト自転車の一例を示す外観図である。この電動アシスト自転車１はクランク軸と後輪がチェーンを介して連結されている一般的な後輪駆動型のものであり、モータ駆動装置が搭載されている。モータ駆動装置は、二次電池１０１と、モータ駆動制御器１０２と、トルクセンサ１０３と、ブレーキセンサ１０４と、モータ１０５と、操作パネル１０６とを有する。
【００６２】
二次電池１０１は、例えば供給最大電圧（満充電時の電圧）が２４Ｖのリチウムイオン二次電池であるが、他種の電池、例えばリチウムイオンポリマー二次電池、ニッケル水素蓄電池などであっても良い。
【００６３】
トルクセンサ１０３は、クランク軸に取付けられたホイールに設けられており、搭乗者によるペダルの踏力を検出し、この検出結果をモータ駆動制御器１０２に出力する。
【００６４】
ブレーキセンサ１０４は、磁石と周知のリードスイッチとから構成されている。磁石は、ブレーキレバーを固定するとともにブレーキワイヤーが送通される筐体内において、ブレーキレバーに連結されたブレーキワイヤーに固定されている。ブレーキレバーは手で握られたときにリードスイッチをオン状態にするようになっている。また、リードスイッチは筐体内に固定されている。このリードスイッチの導通信号はモータ駆動制御器１０２に送られる。
【００６５】
モータ１０５は、例えば周知の三相直流ブラシレスモータであり、例えば電動アシスト自転車１の前輪に装着されている。モータ１０５は、前輪を回転させるとともに、前輪の回転に応じてローターが回転するように、ローターが前輪に連結されている。さらに、モータ１０５はホール素子等を備えてローターの回転情報（すなわちホール信号）をモータ駆動制御器１０２に出力する。
【００６６】
操作パネル１０６は、例えばアシストの有無に関する指示入力をユーザから受け付けて、当該指示入力をモータ駆動制御器１０２に出力する。なお、操作パネル１０６は、アシスト比の設定入力をユーザから受け付けて、当該設定入力をモータ駆動制御器１０２に出力するようにしても良い。
【００６７】
このような電動アシスト自転車１のモータ駆動制御器１０２に関連する構成を図９に示す。モータ駆動制御器１０２は、制御器１０２０と、ＦＥＴ（Field Effect Transistor）ブリッジ１０３０とを有する。ＦＥＴブリッジ１０３０には、モータ１０５のＵ相についてのスイッチングを行うハイサイドＦＥＴ（Ｓuh）及びローサイドＦＥＴ（Ｓul）と、モータ１０５のＶ相についてのスイッチングを行うハイサイドＦＥＴ（Ｓvh）及びローサイドＦＥＴ（Ｓvl）と、モータ１０５のＷ相についてのスイッチングを行うハイサイドＦＥＴ（Ｓwh）及びローサイドＦＥＴ（Ｓwl）とを含む。このＦＥＴブリッジ１０３０は、コンプリメンタリ型スイッチングアンプの一部を構成している。また、ＦＥＴブリッジ１０３０には、この温度を測定するためサーミスタ１０８が設けられている。
【００６８】
また、制御器１０２０は、演算部１０２１と、温度入力部１０２２と、電流検出部１０２３と、車速入力部１０２４と、可変遅延回路１０２５と、モータ駆動タイミング生成部１０２６と、トルク入力部１０２７と、ブレーキ入力部１０２８と、ＡＤ入力部１０２９とを有する。
【００６９】
演算部１０２１は、操作パネル１０６からの入力（例えばオン／オフ及び動作モード（例えばアシスト比））、温度入力部１０２２からの入力、電流検出部１０２３からの入力、車速入力部１０２４からの入力、トルク入力部１０２７からの入力、ブレーキ入力部１０２８からの入力、ＡＤ入力部１０２９からの入力を用いて以下で述べる演算を行って、モータ駆動タイミング生成部１０２６及び可変遅延回路１０２５に対して出力を行う。なお、演算部１０２１は、メモリ１０２１１を有しており、メモリ１０２１１は、演算に用いる各種データ及び処理途中のデータ等を格納する。さらに、演算部１０２１は、プログラムをプロセッサが実行することによって実現される場合もあり、この場合には当該プログラムがメモリ１０２１１に記録されている場合もある。
【００７０】
温度入力部１０２２は、サーミスタ１０８からの入力をディジタル化して演算部１０２１に出力する。電流検出部１０２３は、ＦＥＴブリッジ１０３０内のＦＥＴに流れる電流を検出する検出抵抗１０７で、電流に対応する電圧値をディジタル化して演算部１０２１に出力する。車速入力部１０２４は、モータ１０５が出力するホール信号から現在車速を算出して、演算部１０２１に出力する。トルク入力部１０２７は、トルクセンサ１０３からの踏力に相当する信号をディジタル化して演算部１０２１に出力する。ブレーキ入力部１０２８は、ブレーキセンサ１０４からのブレーキ力に相当する信号をディジタル化して演算部１０２１に出力する。ＡＤ（Analog-Digital）入力部１０２９は、二次電池１０１からの出力電圧をディジタル化して演算部１０２１に出力する。また、メモリ１０２１１は、演算部１０２１とは別に設けられる場合もある。
【００７１】
演算部１０２１は、演算結果として進角値を可変遅延回路１０２５に出力する。可変遅延回路１０２５は、演算部１０２１から受け取った進角値に基づきホール信号の位相を調整してモータ駆動タイミング生成部１０２６に出力する。演算部１０２１は、演算結果として例えばＰＷＭのデューティー比に相当するＰＷＭコードをモータ駆動タイミング生成部１０２６に出力する。モータ駆動タイミング生成部１０２６は、可変遅延回路１０２５からの調整後のホール信号と演算部１０２１からのＰＷＭコードとに基づいて、ＦＥＴブリッジ１０３０に含まれる各ＦＥＴに対するスイッチング信号を生成して出力する。
【００７２】
図１０（ａ）乃至（ｌ）を用いて図９に示した構成によるモータ駆動の基本動作を説明する。図１０（ａ）はモータ１０５が出力したＵ相のホール信号ＨＵを表し、図１０（ｂ）はモータ１０５が出力したＶ相のホール信号ＨＶを表し、図１０（ｃ）はモータ１０５が出力したＷ相のホール信号ＨＷを表す。以下でも述べるように、本実施の形態では、モータ１０５のホール素子を、ホール信号が図１０で示すように若干進んだ位相で出力されるよう設置して、可変遅延回路１０２５で調整可能なようにしている。従って、図１０（ｄ）に示すようなＵ相の調整後ホール信号ＨＵ＿Ｉｎが可変遅延回路１０２５からモータ駆動タイミング生成部１０２６に出力され、図１０（ｅ）に示すようなＶ相の調整後ホール信号ＨＶ＿Ｉｎが可変遅延回路１０２５からモータ駆動タイミング生成部１０２６に出力され、図１０（ｆ）に示すようなＷ相の調整後ホール信号ＨＷ＿Ｉｎが可変遅延回路１０２５からモータ駆動タイミング生成部１０２６に出力される。
【００７３】
なお、ホール信号１周期を電気角３６０度として、６つのフェーズに分けられる。
【００７４】
また、図１０（ｇ）乃至（ｉ）に示すように、Ｕ相の端子にMotor_U逆起電力、Ｖ相の端子にMotor_V逆起電力、Ｗ相の端子にMotor_W逆起電力という逆起電力電圧が発生する。このようなモータ逆起電力電圧に位相を合わせて駆動電圧を与えモータ１０５を駆動するためには、図１０（ｊ）乃至（ｌ）に示すようなスイッチング信号をＦＥＴブリッジ１０３０の各ＦＥＴのゲートに出力する。図１０（ｊ）のＵ＿ＨＳはＵ相のハイサイドＦＥＴ（Ｓuh）のゲート信号を表しており、Ｕ＿ＬＳはＵ相のローサイドＦＥＴ（Ｓul）のゲート信号を表している。ＰＷＭ及び「／ＰＷＭ」は、演算部１０２１の演算結果であるＰＷＭコードに応じたデューティー比でオン／オフする期間を表しており、コンプリメンタリ型であるからＰＷＭがオンであれば／ＰＷＭはオフとなり、ＰＷＭがオフであれば／ＰＷＭはオンとなる。ローサイドＦＥＴ（Ｓul）の「Ｏｎ」の区間は、常にオンとなる。図１０（ｋ）のＶ＿ＨＳはＶ相のハイサイドＦＥＴ（Ｓvh）のゲート信号を表しており、Ｖ＿ＬＳはＶ相のローサイドＦＥＴ（Ｓvl）のゲート信号を表している。記号の意味は図１０（ｊ）と同じである。さらに、図１０（ｌ）のＷ＿ＨＳはＷ相のハイサイドＦＥＴ（Ｓwh）のゲート信号を表しており、Ｗ＿ＬＳはＷ相のローサイドＦＥＴ（Ｓwl）のゲート信号を表している。記号の意味は図１０（ｊ）と同じである。
【００７５】
このようにＵ相のＦＥＴ（Ｓuh及びＳul）は、フェーズ１及び２でＰＷＭのスイッチングを行い、Ｕ相のローサイドＦＥＴ（Ｓul）は、フェーズ４及び５でオンになる。また、Ｖ相のＦＥＴ（Ｓvh及びＳvl）は、フェーズ３及び４でＰＷＭのスイッチングを行い、Ｖ相のローサイドＦＥＴ（Ｓvl）は、フェーズ６及び１でオンになる。さらに、Ｗ相のＦＥＴ（Ｓwh及びＳwl）は、フェーズ５及び６でＰＷＭのスイッチングを行い、Ｗ相のローサイドＦＥＴ（Ｓwl）は、フェーズ２及び３でオンになる。
【００７６】
このような信号を出力してデューティー比を適切に制御すれば、モータ１０５を所望のトルクで駆動できるようになる。
【００７７】
次に、演算部１０２１の機能ブロック図を図１１に示す。演算部１０２１は、回生ブレーキ目標トルク演算部１２０１と、回生有効化部１２０２と、駆動トルク目標演算部１２０３と、アシスト有効化部１２０４と、加算部１２０６と、進角補正部１２０７と、トルク補正部１２０８と、電流制限部１２０９と、トルクガード部１２１０と、第１デューティー比換算部１２１１と、トルクスルーレート制限部１２１２と、第２デューティー比換算部１２１３と、速度係数修正部１２１４と、速度スルーレート制限部１２１５と、加算部１２１６と、ＰＷＭコード生成部１２１７とを有する。
【００７８】
車速入力部１０２４からの車速値及びトルク入力部１０２７からのペダルトルク値は、駆動トルク目標演算部１２０３に入力され、アシストトルク値が算出される。駆動トルク目標演算部１２０３の演算内容は、本実施の形態の主旨ではないので詳しく述べないが、例えば、駆動トルク目標演算部１２０３は、ペダルトルク値をＬＰＦで平滑化した上でリップル成分を抽出し、平滑化されたペダルトルク値と当該リップル成分とを所定の混合比で混合した値に応じたアシストトルク値を算出する。この演算の際に、車速に応じて混合比を調整したり、車速に応じて使用するアシスト比を制限した上で平滑化されたペダルトルク値に対して乗ずるといった演算をも行う場合がある。また、回生ブレーキ目標トルク演算部１２０１は、車速入力部１０２４からの車速値に応じて後に述べる演算を実施して回生ブレーキ目標トルク値を算出する。
【００７９】
本実施の形態では、ブレーキ入力部１０２８からブレーキ有りを表す入力信号が入力されると、回生有効化部１２０２は、回生ブレーキ目標トルク演算部１２０１からの回生目標トルク値を加算部１２０６に出力する。それ以外の場合には、０を出力する。一方、ブレーキ入力部１０２８からブレーキ無しを表す入力信号が入力されると、アシスト有効化部１２０４は、駆動トルク目標演算部１２０３からのアシストトルク値を出力する。それ以外の場合には、０を出力する。
【００８０】
加算部１２０６は、回生有効化部１２０２からの回生目標トルク値の極性を反転して出力するか、アシスト有効化部１２０４からのアシストトルク値をそのまま出力する。以下、説明を簡略化するため、アシストトルク値及び回生目標トルク値を目標トルク値と略称するものとする。
【００８１】
進角補正部１２０７は、車速値及び目標トルク値に応じて演算を行って演算結果を可変遅延回路１０２５に出力する。また、トルク補正部１２０８は、目標トルク値及び車速値に応じて後に述べる演算を行って、演算結果を電流制限部１２０９に出力する。さらに、電流制限部１２０９は、トルク補正部１２０８からの出力に対して後に述べる演算を行って、演算結果を出力する。トルクガード部１２１０は、電流制限部１２０９からの出力に対して例えば第２の実施の形態におけるトルク処理部７５０（但し第１デューティー比換算部７６４を除く）についての演算を実施する。続いて、演算結果を第１デューティー比換算部１２１１に出力する。第１デューティー比換算部１２１１は、トルクガード部１２１０からの出力に対して、換算係数ｄtを乗じてトルクデューティーコードを算出し、トルクスルーレート制限部１２１２に出力する。トルクスルーレート制限部１２１２は、第１デューティー比換算部１２１１からの出力に対してよく知られたスルーレート制限処理を実施して、処理結果を加算部１２１６に出力する。
【００８２】
また、速度係数修正部１２１４は、目標トルク値に応じて換算係数ｄsを修正して第２デューティー比換算部１２１３に出力する。第２デューティー比換算部１２１３は、車速値に対して修正後の換算係数ｄsを乗じて車速デューティーコードを算出し、速度スルーレート制限部１２１５に出力する。速度スルーレート制限部１２１５は、第２デューティー比換算部１２１３からの出力に対してよく知られたスルーレート制限処理を実施して、処理結果を加算部１２１６に出力する。
【００８３】
加算部１２１６は、トルクスルーレート制限部１２１２からのトルクデューティーコードと速度スルーレート制限部１２１５からの車速デューティーコードとを加算してデューティーコードを算出し、ＰＷＭコード生成部１２１７に出力する。ＰＷＭコード生成部１２１７は、デューティーコードに対して、ＡＤ入力部１０２９からのバッテリ電圧／基準電圧（例えば２４Ｖ）を乗じてＰＷＭコードを生成する。ＰＷＭコードは、モータ駆動タイミング生成部１０２６に出力される。
【００８４】
以下、主要構成要素の具体的演算内容について説明する。
【００８５】
（１）車速入力部１０２４
本実施の形態では上で述べたように車速に基づく演算が多く行われているので、正確な車速を得ることが精度上重要となる。
【００８６】
そのため、図１２に車速入力部１０２４の機能ブロック図の一例を示す。図１２の例で、車速入力部１０２４は、エッジ検出部３００１と、カウンタ３００２と、第１レジスタ３００３と、第２レジスタ３００４と、乗算部３００５と、加算部３００６と、逆数変換部３００７とを有する。エッジ検出部３００１には、ホール信号が入力されており、ホール信号の例えば立ち上がりを検出して、カウンタ３００２、第１レジスタ３００３及び第２レジスタ３００４に検出信号を出力する。カウンタ３００２は、エッジ検出部３００１からの検出信号に応じて、現カウント値をリセットして、クロック（ＣＬＫ）のカウントを開始する。また、第１レジスタ３００３及び第２レジスタ３００４は、保持している数値を出力する。但し、初期的には保持している値を０に初期化する。
【００８７】
そして、エッジ検出部３００１からの次の検出信号に応じて、カウンタ３００２は、現カウント値を第１レジスタ３００３に出力すると共に、現カウント値をリセットしてクロックＣＬＫのカウントを再開する。また、第１レジスタ３００３は、現在保持している値を出力すると共に、カウンタ３００２からの出力値を保存する。また、第２レジスタ３００４は、現在保持している値を出力すると共に、第１レジスタ３００３からの値を保存する。
【００８８】
さらに、エッジ検出部３００１からさらに次の検出信号を受信すると、カウンタ３００２は、現カウント値を第１レジスタ３００３に出力すると共に、現カウント値をリセットしてクロックＣＬＫのカウントを再開する。また、第１レジスタ３００３は、現在保持している値を出力すると共に、カウンタ３００２からの出力値を保存する。また、第２レジスタ３００４は、現在保持している値を出力すると共に、第１レジスタ３００３からの値を保存する。
【００８９】
このように、カウンタ３００２は、ホール信号の立ち上がりの周期に相当する値をカウントすることになり、第２レジスタ３００４には２つ前の周期、第１レジスタ３００３には１つ前の周期が保存される。
【００９０】
そして、乗算部３００５は第１レジスタ３００３からの出力値を２倍し、加算部３００６は、乗算部３００５からの出力値から第２レジスタ３００４からの出力値を減ずる演算を実施する。すなわち、１つ前の周期を２倍した時間から２つ前の周期を差し引いた値を演算している。
【００９１】
最後に、逆数変換部３００７が、加算部３００６の出力値の逆数を算出すれば、予測の現在車速が得られる。
【００９２】
また、図１２に示した車速入力部１０２４の演算は、図１３のような機能ブロック図でも実現できる。図１３の車速入力部１０２４は、エッジ検出部３０１１と、カウンタ３０１２と、第１レジスタ３０１３と、乗算部３０１４と、加算部３０１５と、第２レジスタ３０１６と、逆数変換部３０１７とを有する。
【００９３】
基本的な動作は図１２とほぼ同じであるが、第１レジスタ３０１３は、１つ前の周期を保持しており、乗算部３０１４は、カウンタ３０１２が出力した値（今回の周期）を２倍して出力する。そして、加算部３０１５は、今回の周期の２倍値から１つ前の周期を差し引く演算を実施し、第２レジスタ３０１６に出力する。第２レジスタ３０１６には、１つ前の予測された周期の値が格納されており、第２レジスタ３０１６は、エッジ検出部３０１１からの検出信号に応じて、逆数変換部３０１７に出力すると共に、加算部３０１５の出力値を保存する。逆数変換部３０１７は、１つ前の予測された周期の逆数を算出し、予測の現在車速が得られる。
【００９４】
このような演算を実施することで、精度良く車速を予測できるようになる。
【００９５】
（２）進角補正部１２０７
モータ１０５のコイル自身の自己インダクタンスや周囲のコイルとの相互インダクタンスなどの影響による電機子反作用や、鉄芯のレラクタンスなどにより、その時の速度や電流によって自分のコイルから出た磁界の影響で逆起電力の移送や波形やレベルが歪み、目標トルクが出せないことがある。それらを補正するために、進角補正を実施する。
【００９６】
例えば、図９の説明でも述べたように、位相が若干進んだホール信号を出力するようにホール素子をモータ１０５内に設置しておき、可変遅延回路１０２５は、演算部１０２１からの出力に応じて、ホール信号の位相を進角又は遅角するようにする。
【００９７】
本実施の形態における進角補正部１２０７（図１１参照）は、例えば図１４に示すような機能ブロック構成で実現される。この例では、進角値が、車速とトルクとで独立に影響を受けるとする場合の構成例を示す。
【００９８】
図１４の例における進角補正部１２０７は、第１進角算出部３０２１と、第２進角算出部３０２２と、加算部３０２３及び３０２４とを有する。
【００９９】
この場合、第１進角算出部３０２１は、目標トルク値に対して、予め設定されている（進角／トルク）係数を乗じて、第１の進角値を算出する。また、第２進角算出部３０２２は、車速値に対して、予め設定されている（進角／車速）係数を乗じて、第２の進角値を算出する。加算部３０２３は、第２の進角値と、予め設定されている初期固定進角値（ホール信号が予め有している進角値）とを加算して、加算結果を加算部３０２４に出力する。加算部３０２４は、加算部３０２３の加算結果と、第１の進角値とを加算して、進角値を得る。
【０１００】
このように車速とトルクとで独立に影響を受けるというモデルの場合には、それぞれについて換算係数を用意することで、調整が可能となる。
【０１０１】
一方、進角値が、車速とトルクとの相乗効果として影響を受ける場合における進角補正部１２０７は、例えば図１５に示すような機能ブロック構成で実現される。
【０１０２】
図１５の例における進角補正部１２０７は、乗算部３０３１と、進角算出部３０３２と、加算部３０３３とを有する。乗算部３０３１は、例えば目標トルク値と車速値との積を算出し、進角算出部３０３２に出力する。進角算出部３０３２は、予め設定されている進角／（トルク・車速）係数を、乗算部３０３１からの出力値に対して乗じて、変動分の進角値を算出する。加算部３０３３は、この進角算出部３０３２の出力値と、予め設定されている初期固定進角値とを加算することで、進角値を算出する。
【０１０３】
このような場合であっても、適切な（進角／（トルク・車速））係数という換算係数を用意することで、進角値の調整が可能となっている。
【０１０４】
（３）トルク補正部１２０８
トルク補正部１２０８は、現在車速に応じて目標トルクを補正する。例えば、図１６に示すような補正関数を用意して適用する。図１６の例では、直線ｆ1は、入力された目標トルクをそのまま補正後の目標トルクとして出力する場合の関数を表している。曲線ｆ2は、車速が０の場合の関数を表しており、また、曲線ｆ3は、車速が０を超える低速時（第１の車速範囲）の関数を表している。曲線ｆ4は、車速が中速時（第１の車速範囲より高速の第２の車速範囲）の関数を表しており、さらに、曲線ｆ5は、車速が高速時の関数（第２の車速範囲より高速の第３の車速範囲）の関数を表している。なお、カーブの形はモータの種類に応じて決定される。図１６では、ブラシレス電流整流且つ鉄心コア付きモータの一例を示している。
【０１０５】
このように、高速時の方が大きな目標トルク値が出力されるような関数を採用しても良い。このようにすれば、現在速度を維持又は上げるような目標トルク値が出力されるようになる。
【０１０６】
（４）電流制限部１２０９
図９に示したような回路においては、（Ａ）二次電池１０１の放電電流及び蓄電電流の制限、（Ｂ）ＦＥＴブリッジ１０３０の温度による電流制限といった電流制限を行うことになる。しかし、全体としてトルク・フィードフォワード制御を行っているため、モータ駆動電流のフィードバック制御は行わずに、電池電圧、１単位時間前のＰＷＭコード及びＦＥＴブリッジ１０３０の温度から、目標トルク値に制限を加える。
【０１０７】
このため本実施の形態に係る電流制限部１２０９は、図１７に示すように、正負判定部３０４１と、ゼロ判定部３０４２と、継続判定部３０４３と、サンプリング部３０４４と、放電ディレーティング部３０４５と、充電ディレーティング部３０４６と、第１電流換算部３０４７と、第２電流換算部３０４８と、選択部３０４９と、電流換算部３０５０と、最小値出力部３０５１と、ＦＥＴ電流制限値設定部３０５４と、トルク換算部３０５２と、トルククリップ部３０５３とを有する。
【０１０８】
正負判定部３０４１は、入力された目標トルク値（電流制限前目標トルク値）の符号を判断して、トルククリップ部３０５３及び選択部３０４９に正又は負を表す信号を出力する。ゼロ判定部３０４２は、入力された目標トルク値が０であるか否かを判定し、目標トルク値が０であれば処理不要であるから出力しない。一方、目標トルク値が０でなければ継続判定部３０４３に出力する。継続判定部３０４３は、例えば４単位期間０を超える値が継続しているか確認した上で、サンプリング部３０４４に対してサンプリング指示を出力する。
【０１０９】
サンプリング部３０４４は、継続判定部３０４３からのサンプリング指示を受け付けている間、ＡＤ入力部１０２９からの電源電圧値を放電ディレーティング部３０４５と充電ディレーティング部３０４６とに出力する。
【０１１０】
本実施の形態では、図１８に示すように、放電用のディレーティングカーブｇ1と、充電用のディレーティングカーブｇ2とが予め二次電池１０１に応じて設定されている。この例では、放電ディレーティング部３０４５は、電源電圧が１８Ｖから２２Ｖまでの間は０から１の間で、電源電圧に対して段階的にまたは連続的に単調増加する値を出力し、１８Ｖ未満であれば「０」を出力し、蓄電量が少ない時の過放電を防止している。また、放電ディレーティング部３０４５は、電源電圧が２２Ｖ以上であれば「１」を出力する。一方、充電ディレーティング部３０４６は、電源電圧が３１Ｖ以上であれば「０」を出力し、２７Ｖから３１Ｖまでの間は０から１の間で、電源電圧に対して段階的にまたは連続的に単調減少する値を出力し、過充電を防止している。また、充電ディレーティング部３０４６は、電源電圧が２７Ｖ以下であれば、「１」を出力する。
【０１１１】
第１電流換算部３０４７は、放電ディレーティング部３０４５からの出力値と予め設定されている放電電流制限値との積（＝電流制限値）を算出し、選択部３０４９に出力する。一方、第２電流換算部３０４８は、充電ディレーティング部３０４６からの出力値と予め設定されている充電電流制限値との積（＝電流制限値）を算出し、選択部３０４９に出力する。
【０１１２】
選択部３０４９は、正負判定部３０４１からの出力が正を表している場合には、第１電流換算部３０４７からの出力を電流換算部３０５０に出力する。一方、選択部３０４９は、正負判定部３０４１からの出力が負を表している場合には、第２電流換算部３０４８からの電流制限値を電流換算部３０５０に出力する。
【０１１３】
電流換算部３０５０は、選択部３０４９が出力した電流制限値を、１単位時間前のＰＷＭコードで除することによって、モータ駆動電流の電流制限値に換算する。
【０１１４】
図２に示すようなスイッチングアンプはＤＣトランスとみなすことができ、スイッチング素子などでのロスが無い限り以下のような式が成立する。
（１）電池電圧×デューティー比＝モータ駆動電圧
スイッチングアンプは定電力変換なので、電圧と電流は反比例するため以下の式が得られる。
（２）電池電流／デューティー比＝モータ駆動電流
【０１１５】
従って、電流換算部３０５０は、電池電圧から得られる電流制限値／ＰＷＭコードから、モータ駆動電流の電流制限値を算出する。
【０１１６】
なお、ＰＷＭコードは「０」となる場合もあるので、「０」で除することを回避するため、例えば下限値を設定しておき、下限値以下の場合には当該下限値で除することにする。
【０１１７】
一方、ＦＥＴ電流制限値設定部３０５４は、例えば図１９に示すような関係から、温度入力部１０２２からの温度に応じてＦＥＴ電流制限値を出力する。図１９の例では、ＦＥＴ温度が８５℃まではＦＥＴ電流制限値は一定値となるが、８５℃以上となると徐々に減少して、１２５℃になるとＦＥＴ電流制限値は０となってしまう。ＦＥＴ電流制限値設定部３０５４は、このようなカーブに従って、ＦＥＴ電流制限値を特定して最小値出力部３０５１に出力する。
【０１１８】
なお、数式化すれば以下のように表される。
ＦＥＴ電流制限値＝（定格温度（１２５℃）−ＦＥＴ温度）＊ＦＥＴ電流制限値／（定格温度（１２５℃）−ディレーティング開始温度（８５℃））
【０１１９】
最小値出力部３０５１は、電流換算部３０５０からの出力（モータ駆動電流の電流制限値）と、ＦＥＴ電流制限値設定部３０５４からの出力（ＦＥＴ電流制限値）とのうち小さい方の値を特定してトルク換算部３０５２に出力する。
【０１２０】
トルク換算部３０５２は、最小値出力部３０５１からの出力値に対して、予め設定されている換算係数（トルク／電流）を乗じて換算トルク値を算出して、トルククリップ部３０５３に出力する。トルククリップ部３０５３は、制限前の目標トルク値が、トルク換算部３０５２からの換算トルク値以下であれば、制限前の目標トルク値を制限後の目標トルク値として出力する。一方、制限前の目標トルク値が、トルク換算部３０５２からの換算トルク値を超えていれば、換算トルク値を制限後の目標トルク値として出力する。
【０１２１】
以上のような演算を実施することによって、トルク・フィードフォワード制御において、（１）二次電池１０１の放電電流及び充電電流の制限、（２）ＦＥＴブリッジ１０３０の温度による電流制限といった電流制限を満たすような目標トルク値を生成することができるようになる。
【０１２２】
（５）第１デューティー比換算部１２１１
第１デューティー比換算部１２１１は、トルクガード部１２１０からの出力に対して、予め設定されている換算係数（デューティー比／トルク＝ｄt）を乗じて、トルクデューティーコードを算出する。なお、このトルクデューティーコードは、トルクスルーレート制限部１２１２を介して加算部１２１６に出力される。
【０１２３】
（６）速度係数修正部１２１４
車速デューティーコードは、第２デューティー比換算部１２１３が、現在車速値に対して換算係数（デューティー比／車速＝ｄs）を乗じて算出するようになっている。
【０１２４】
この換算係数ｄsは、モータ１０５がその速度に応じた逆起電力を発生する際のデューティー比を算出するための換算係数であり、モータ１０５の基本特性から一義的に求まる。
【０１２５】
しかし、実際のモータについては、ばらつきや劣化などの変動要素も存在しており、製品出荷時に一義的に設定した換算係数ｄsのままでは、実際のモータ特性に変動が生じた場合、速度デューティーコードが過大又は過小となってしまう場合もある。例えば、図２０において点線ｐ2で示すようなモータ特性となっており、車速に対してデューティー比Dutyが対応しているものとする。この際、換算係数ｄsの値が大きい場合には、図２０の実線ｐ1で示すようなモータ特性を想定してしまっているため、常に車速に対するデューティー比Dutyが大きくなってしまい、制御ではゼロトルクのつもりが、力行状態となってしまう。換算係数ｄsの値が小さい場合には、逆に、制御ではゼロトルクのつもりが、制動状態となってしまう。
【０１２６】
従って、以下で述べるような演算にて換算係数ｄsを動的に修正する。
【０１２７】
具体的には、ＦＥＴブリッジ１０３０のスイッチによるスイッチングを全く行わない場合には、モータ駆動電流は０となる。一方、目標トルク値が０となっている場合にも、本来であればモータ１０５の逆起電力とスイッチングアンプによる供給電圧とは一致しているためモータ駆動電流は０となるはずである。しかし、換算係数ｄsがずれていると、目標トルク値が０であってもトルクが発生し、モータ駆動電流が流れてしまうので、この際のモータ駆動電流を測定して、電流が流れないような方向に換算係数ｄsを修正する。
【０１２８】
このため、速度係数修正部１２１４は、例えば、図２１の機能ブロック図に示すような機能にて実現される。
【０１２９】
すなわち、速度係数修正部１２１４は、ゼロ検出部３０６１と、トルク換算部３０６２と、マルチプレクサ（ＭＵＸ）３０６３と、積分器３０６４と、加算部３０６５とを有する。
【０１３０】
トルク換算部３０６２は、電流検出部１０２３からの電流値に対して、予め設定されている換算係数（トルク／電流）を乗じて、モータ駆動電流に相当するトルク値を算出する。また、ゼロ検出部３０６１は、目標トルク値が０であるか判断して、０を検出すると検出信号をマルチプレクサ３０６３に出力する。マルチプレクサ３０６３は、ゼロ検出部３０６１からの検出信号が出力されている場合には、トルク換算部３０６２からの出力値を積分器３０６４に出力し、検出信号が出力されていない場合には、０を積分器３０６４に出力する。
【０１３１】
積分器３０６４は、マルチプレクサ３０６３からの出力値を所定時間積分して、積分結果を加算部３０６５に出力する。加算部３０６５は、予め設定されている換算係数Ｄssから、積分結果を差し引くことによって今回使用すべき換算係数Ｄsaを算出し、第２デューティー比換算部１２１３に出力する。
【０１３２】
このようにすれば、目標トルク値が０なのにも拘わらずモータ駆動電流が流れてしまっている場合には、それを０にするような方向で換算係数Ｄssが調整される。
【０１３３】
また、速度係数修正部１２１４は、例えば、図２２の機能ブロック図に示すような機能にて実現される場合もある。
【０１３４】
すなわち、速度係数修正部１２１４は、ゼロ検出部３０６１と、間欠遮断制御部３０７２と、第１選択部３０７３と、第２選択部３０７４と、加算部３０７５と、積分器３０７６と、加算部３０７７と、反転部３０７８とを有する。
【０１３５】
ゼロ検出部３０６１は、目標トルク値が０であるか判断して、０を検出すると検出信号を間欠遮断制御部３０７２、第１選択部３０７３及び第２選択部３０７４に出力する。間欠遮断部３０７２は、ゼロ検出部３０６１から検出信号を受け取ると、モータ駆動タイミング生成部１０２６に対して、ＦＥＴブリッジ１０３０のスイッチのスイッチングを停止させる遮断信号を間欠的に出力する。
【０１３６】
第１選択部３０７３は、ゼロ検出部３０６１が検出信号を出力しており且つ間欠遮断制御部３０７２が遮断信号を出力している場合に、電流検出部１０２３からの電流値を選択して出力する。一方、第２選択部３０７４は、ゼロ検出部３０６１が検出信号を出力しており且つ間欠遮断制御部３０７２が遮断信号を出力していない（すなわち反転部３０７８にて間欠遮断制御部３０７２からの遮断信号がオフの際にオンとなる）場合に、電流検出部１０２３からの電流値を選択して出力する。そして。加算部３０７５は、第１選択部３０７３からの出力値から第２選択部３０７４からの出力値を差し引くことによって誤差を算出する。
【０１３７】
このようにすれば、電流検出部１０２３自体に何らかの誤差が発生している場合であっても、第１選択部３０７３及び第２選択部３０７４の出力の差によって電流検出部１０２３の影響をキャンセルすることができるようになる。
【０１３８】
そして、積分器３０７６は、加算部３０７５からの出力値を所定時間積分して、積分結果を加算部３０７７に出力する。加算部３０７７は、予め設定されている換算係数Ｄssから、積分結果を差し引くことによって今回使用すべき換算係数Ｄsaを算出し、第２デューティー比換算部１２１３に出力する。
【０１３９】
このようにすれば、目標トルク値が０なのにも拘わらずモータ駆動電流が流れてしまっている場合には、それを０にするような方向で換算係数Ｄssが調整される。
【０１４０】
なお、本演算については常に実施するというわけではなく、電動アシスト自転車１であれば、例えば車速条件（５ｋｍ／ｈ乃至２０ｋｍ／ｈ）や加速度条件（−０．０２Ｇ乃至＋０．０２Ｇ）など安定に走行している状態等で実施する。
【０１４１】
また、頻繁に上記のような演算を実施するのは無駄であるから、例えば修正後の換算係数の変化幅が収束した場合など安定している場合には、次の演算までの時間を数分後に変えるなど、制御時間間隔をも変動させる。
【０１４２】
（７）第２デューティー比換算部１２１３
上でも述べたが、第２デューティー比換算部１２１３は、現在車速値に対して、換算係数Ｄsaを乗ずることによって、車速デューティーコードを算出する。なお、この車速デューティーコードは、速度スルーレート制限部１２１５を介して加算部１２１６に出力される。
【０１４３】
（８）ＰＷＭコード生成部１２１７
ＰＷＭコード生成部１２１７は、加算部１２１６によるトルクデューティーコード及び車速デューティーコードの加算結果であるデューティーコードに対して、ＡＤ入力部１０２９からの電池電圧／基準電圧（例えば２４Ｖ）を乗ずることによって、最終的なＰＷＭコードを算出して、モータ駆動タイミング生成部１０２６に出力する。
【０１４４】
（９）回生ブレーキ目標トルク演算部１２０１
ブレーキレバーによってユーザがブレーキ指示を入力して、ブレーキセンサ１０４がこのブレーキ指示を検出すると、ブレーキ入力部１０２８にブレーキありを表す信号（場合によってはブレーキの強弱を表す信号）を出力する。ブレーキ入力部１０２８は、この信号に応じて、以下で述べるような演算を行って、適切な回生ブレーキトルク値を算出する。
【０１４５】
具体的には、図２３を用いて説明する。図２３の横軸は、回生ブレーキトルクの設定値を表し、縦軸は、対応するトルク値、効率又は電力を表す。このグラフでは、直線ｒ1で示すように、回生ブレーキトルクの設定値が現在の車速相当値になれば回生効率は０となり、回生ブレーキトルク値が０であれば回生効率は１００％となる。一方、直線ｒ2で示すように、回生ブレーキトルクの設定値が０であれば、ブレーキトルク値は０であり、回生ブレーキトルクの設定値が車速相当値であれば、ブレーキトルク値は車速相当値となる。そうすると直線ｒ1で表される回生効率及び直線ｒ2で表されるブレーキトルクからして、回生電力は曲線ｒ3のようになり、回生ブレーキトルクの設定値が車速相当値の１／２の時に回生効率５０％で回生電力が最大となる。
【０１４６】
すなわち、車速相当値の１／２に回生ブレーキトルクを設定することによって、回生電力を最大化することができる。
【０１４７】
このことをベースに、回生ブレーキ目標トルク演算部１２０１でどのような回生ブレーキ目標トルク値を出力するかについて図２４乃至図２６を用いて説明する。図２４の横軸は車速を表しており、縦軸は回生ブレーキ目標トルク値を表す。点線の直線ｑ1は、車速相当値の回生ブレーキ目標トルク値を出力する場合の車速−トルク関係を表しており、図２３を用いて説明したように回生効率０％（ショートブレーキ）である。この直線ｑ1より上の領域では、電力持ち出しブレーキとなる。また、点線の直線ｑ2は、車速相当値の１／２の回生ブレーキ目標トルク値を出力する場合の車速−トルク関係を表しており、図２３を用いて説明したように回生効率５０％で、最大回生電力を得ることができる。この直線ｑ2より上の領域は、機械ブレーキ併用の方が有利な領域である。従って、直線ｑ2以下の領域で、制約条件を加味しつつ適切なカーブを採用する。
【０１４８】
各速度においての瞬時回生効率は、その瞬間の速度における逆起電力電圧に対するその瞬間の回生ブレーキ電圧の比で決まる。
瞬時回生効率＝１−（回生ブレーキ電圧／逆起電力電圧）
＝１−（回生トルク／車速相当トルク値）
任意の速度から任意の停止要求距離において、停止距離以外の他の制約が一切無い状態では、その停止距離で最大回生効率、すなわちトータルで最大回生電力量を得るには、どの速度でも均等な、回生効率一定のカーブ、すなわち原点を通る比例直線となる。直線ｑ10は、停止要求距離が十分に長ければＸ軸に近づき、回生効率は１００％に近づく。一方、停止要求距離がある程度短くなると直線ｑ10は、最大瞬時回生電力が得られる直線ｑ2と同じになり、その時のトータルの回生効率は５０％となる。さらに、それより停止要求距離が短い場合、回生トルクカーブは最大瞬時回生電力が得られる直線ｑ2と同じままで機械ブレーキの併用が必要となる。それ以上回生ブレーキのトルクを大きくすると、瞬時回生電力が逆に減ってしまうので、それ以上は機械ブレーキに回した方が得だからである。
【０１４９】
また、考慮すべき制約条件としては、高速域での最大定制動ラインを表し且つ横軸に平行な点線の直線群ｑ7、低速域での最低定制動ラインを表し且つ横軸に平行な点線の直線群ｑ6などがある。
実際に直線ｑ10を採用すると、時間に対する減速カーブは指数関数的に減衰するカーブとなり、停止距離は一定でも、停止時間が無限大となってしまうため、低速側では回生効率を多少犠牲にしても大きなトルクを維持する直線ｑ6を採用する。さらに低速で直線ｑ6が直線ｑ2を上回る領域になると回生効率の悪化のみならず、瞬間回生電力も逆に減少することになるため、各速度での瞬間回生電力が最大となる直線ｑ2に移行させ、機械ブレーキを併用して停止に至らせる。
一方、逆に速度が大きい場合には、定率の高効率回生直線である直線ｑ4のままではブレーキトルクが大きくなりすぎて危険なため、一定の最大トルク制限をかけるための直線ｑ7に移行させる。
【０１５０】
これに中速域では、点線の直線ｑ3から直線ｑ5までの１５％乃至３５％定率制動ライン（回生効率８５％乃至６５％）をも考慮すると、太線ｑ11で表されるような折れ線のカーブが採用される場合もある。なお、中速域では、直線ｑ4を採用している。これによって、中速域で高効率に電池回生を行うことができる。
【０１５１】
なお、さらなる制約条件としては、二次電池１０１に基づき設定される電池充電電流制限ラインを表す曲線群ｑ8（電池の種類及び状態によって異なる）、さらなる低速域での回生効率５０％ラインの直線ｑ2などがある。
電池電圧を一定とすると、電池の最大充電電流制限により回生電力が一定となる。
電池電圧×電池充電電流  ＝  一定回生電力  ＝  モータ逆起電力×モータ電流
モータ逆起電力は速度に比例、モータトルクはモータ電流に比例するため、その積が一定なのでモータ電流は速度に反比例する。そのため曲線群ｑ8は速度に反比例した双曲線カーブとなる。電池電圧、すなわち電池残量や電池温度によるディレーティングにより最大充電電流も可変し、上で示した式により一定回生電力自身も電池電圧に比例するため、複数の双曲線カーブとして表されている。
【０１５２】
また、回生ブレーキの優劣は、一定速度から、求められる一定距離（一定時間ではない）以下で停止した場合の総回生電力が大きい方が優秀であるものとする。この際、所定距離以下で止まれない場合は、止まれるところまで機械ブレーキを併用する。一定距離以下という制約が無いと、機械的ロスが問題にならないほどの範囲ではなかなか止まらない効きの悪い軽回生制動ほど回生効率が有利となってしまい、それではブレーキの意味が無いためである。従って、ブレーキ機能として作用するように所定距離以下で止まれる範囲まで機械ブレーキを併用した状態で評価する。
【０１５３】
図２４のカーブｑ11は一例であって、図２５に示すようなカーブｑ13を採用するようにしても良い。カーブｑ13は、低域では上で述べた曲線ｑ2に沿った形を有し、速度が上がると回生ブレーキ目標トルク値は一定となり、高速域では電池充電電流制限ライン群ｑ8により制限されている。なお、点線の直線ｑ12は、２５％制動ライン（回生効率７５％）を表している。高速域になると、カーブｑ13は、電池充電電流制限ライン群ｑ8で制限される付近で、この直線ｑ12を下回るようになる。
【０１５４】
また、図２６に示すようなカーブを採用するようにしても良い。図２６は、ブレーキ入力部１０２８から、要求ブレーキ強度を受け取った場合の例を示している。この例では、要求ブレーキ強度が小の場合には曲線ｑ14を採用し、要求ブレーキ強度が中の場合には曲線ｑ15を採用し、要求ブレーキ強度が大の場合には曲線ｑ16を採用する。曲線ｑ16については、電池充電電流制限ライン群ｑ8の１つによって制限されている。このような場合でも、低速時には直線ｑ2に沿っていて、この直線を上回ることはない。なお、このような３段階ではなく、より多くの段階又は少ない段階に応じた曲線を規定するようにしても良い。さらに、要求ブレーキ強度に応じた回生ブレーキ目標トルク値の関数を別途定義するようにしても良い。
【０１５５】
次に、図２４に示したカーブｑ11を実現するための回生ブレーキ目標トルク演算部１２０１の機能ブロック図を図２７に示す。図２７における回生ブレーキ目標トルク演算部１２０１は、換算部３０８１と、乗算部３０８６と、乗算部３０８２と、最小値出力部３０８３と、最大値出力部３０８４と、最小値出力部３０８５とを有する。
【０１５６】
換算部３０８１は、車速入力部１０２４からの現在車速に対して、予め設定されている換算係数を乗じることによって、現在車速をトルク換算する。この換算係数は、車速をデューティー比に変換する換算係数（デューティー比／車速の係数）を、トルクをデューティー比に変換する換算係数（デューティー比／トルクの係数）で除することによって得られる。
【０１５７】
そして、乗算器３０８２は、換算部３０８１の出力値に１／２を乗じる。これによって、図２４における直線ｑ2上の対応する点を求めている。そして、最小値出力部３０８３は、予め設定されている最小回生トルク設定値（図２４の直線群ｑ6）と、換算部３０８１の出力値の１／２の値とを比較して、小さい方の値を出力する。また、乗算部３０８６は、換算部３０８１の出力値に対して、予め設定されている中速域における回生制動率設定値ｒbを乗じて、最大値出力部３０８４に出力する。最大値出力部３０８４は、最小値出力部３０８３の出力値と図２４における直線ｑ3乃至ｑ5のうち該当する値とを比較して、大きな方の値を出力する。さらに、最小値出力部３０８５は、最大値出力部３０８４からの出力値と、予め設定されている最大回生トルク設定値（図２４の直線群ｑ7）とを比較して、小さい方を回生ブレーキ目標トルク値として出力する。
【０１５８】
このようにすれば、図２４に示したカーブｑ11を実現できるようになる。
【０１５９】
［実施の形態４］
本実施の形態では、目標トルク値からトルクデューティーコードを算出するための換算係数（トルク対デューティー比係数とも呼ぶ）の自動較正をせずにそのばらつきの影響を軽減する。
磁束密度Ｂの中の長さＬに電流Ｉを流した時に発生する力Ｆはフレミングの左手法則より、Ｆ＝Ｂ×Ｌ×Ｉとなり、自転車の車輪におけるトルクＴはこのＦに一定比率Ｋｔで比例し、トルクデューティー比に比例した電圧をＶｔ、コイルの抵抗をＲとすると、以下のような式が成り立つ。
Ｋｔ×Ｔ＝Ｂ×Ｌ×Ｉ＝Ｂ×Ｌ（Ｖｔ／Ｒ）    （Ｋｔは固定比例定数）
【０１６０】
トルク対デューティー比係数をＤｔとすると、
Ｄｔ＝Ｖｔ／Ｔ＝Ｋｔ×Ｒ／（Ｂ×Ｌ）
と変形でき、ばらつき要因はコイルの長さ、抵抗、磁束密度となる。
そのうち、コイルの抵抗は銅線である限り材料による差は少なく機械的寸法のばらつきに起因する。磁束密度Ｂは磁石の起磁力と磁路抵抗によって決まり、磁石の材料、磁路の材料により大きくばらつく。また、磁束密度Ｂの中を長さＬの導体が速度ｖで横切るときに発生する起電力Ｅはフレミングの右手法則より、Ｅ＝ＢＬｖとなる。すなわち、起電力Ｅはモータにおける起電力、すなわち速度デューティー比に一定比率で比例し、自転車の車速Ｓはコイル速度ｖに一定比率で比例するため、速度デューティー比に比例した電圧をＶｓとすると、以下のように表される。
Ｖｓ＝Ｋｖ×Ｂ×Ｌ×Ｓ    （Ｋｖは固定比例定数）
【０１６１】
速度対デューティー比係数をＤｓとすると、
Ｄｓ＝Ｖｓ／Ｓ＝Ｋｖ×Ｂ×Ｌ
と変形でき、ばらつき要因はコイルの長さ、磁束密度となる。
このとき、トルク対デューティー比係数Ｄｔと速度対デューティー比係数Ｄｓの式には共通してＢ×Ｌが入っていて、それぞれ反比例関係と比例関係にある。つまりＢ×Ｌに起因するばらつきに対して、ＤｔとＤｓは反比例連動してばらつくことになる。
【０１６２】
そこで、基準（標準設定）の速度対デューティー比係数をＤss、較正済み速度対デューティー比係数をＤsaとし、基準（標準設定）のトルク対デューティー比係数をＤts、補正済みＤｔをＤtaとすると、以下の式にて、推定補正したＤtaを得ることができる。
Ｄta＝Ｄts×（Ｄss／Ｄsa）
【０１６３】
従って、図２８の機能ブロック図に示すように本実施の形態に係るトルク対デューティー比係数の補正部は、ゼロ検出部３０６１と、トルク換算部３０６２と、マルチプレクサ３０６３と、積分器３０６４と、加算部３０６５と、除算部１３０６６と、乗算部１３０６７とを有する。
【０１６４】
トルク換算部３０６２は、電流検出部１０２３からの電流値に対して、予め設定されている換算係数（トルク／電流）を乗じて、モータ駆動電流に相当するトルク値を算出する。また、ゼロ検出部３０６１は、目標トルク値が０であるか判断して、０を検出すると検出信号をマルチプレクサ３０６３に出力する。マルチプレクサ３０６３は、ゼロ検出部３０６１からの検出信号が出力されている場合には、トルク換算部３０６２からの出力値を積分器３０６４に出力し、検出信号が出力されていない場合には、０を積分器３０６４に出力する。
【０１６５】
積分器３０６４は、マルチプレクサ３０６３からの出力値を所定時間積分して、積分結果を加算部３０６５に出力する。加算部３０６５は、予め設定されているＤssから積分器３０６４の出力値を差し引き、算出結果Ｄsaを除算部１３０６６に出力する。除算部１３０６６は、予め設定されているＤssを加算部３０６５の算出結果Ｄsaで除する演算を実施し、乗算部１３０６７に出力する。そして、乗算部１３０６７は、予め設定されているＤtsと除算部１３０６６との積であるＤtaを算出する。このＤtaが、トルク対デューティー比係数Ｄtaである。
【０１６６】
このようにすれば、コイルの長さ、磁束密度といったばらつき要因からの影響を軽減できるようになる。
【０１６７】
さらに、トルク対デューティー比係数の補正部は、例えば、図２９の機能ブロック図に示すような機能にて実現される場合もある。
【０１６８】
すなわち、トルク対デューティー比係数の補正部は、ゼロ検出部３０６１と、間欠遮断制御部３０７２と、第１選択部３０７３と、第２選択部３０７４と、加算部３０７５と、積分器３０７６と、加算部３０７７と、除算部１３０７８と、乗算部１３０７９と、反転部３０７８とを有する。
【０１６９】
ゼロ検出部３０６１は、目標トルク値が０であるか判断して、０を検出すると検出信号を間欠遮断制御部３０７２、第１選択部３０７３及び第２選択部３０７４に出力する。間欠遮断制御部３０７２は、ゼロ検出部３０６１から検出信号を受け取ると、モータ駆動タイミング生成部１０２６に対して、ＦＥＴブリッジ１０３０のスイッチのスイッチングを停止させる遮断信号を間欠的に出力する。
【０１７０】
第１選択部３０７３は、ゼロ検出部３０６１が検出信号を出力しており且つ間欠遮断制御部３０７２が遮断信号を出力している場合に、電流検出部１０２３からの電流値を選択して出力する。一方、第２選択部３０７４は、ゼロ検出部３０６１が検出信号を出力しており且つ間欠遮断制御部３０７２が遮断信号を出力していない（すなわち反転部３０７８にて間欠遮断制御部３０７２からの遮断信号がオフの際にオンとなる）場合に、電流検出部１０２３からの電流値を選択して出力する。そして。加算部３０７５は、第１選択部３０７３からの出力値から第２選択部３０７４からの出力値を差し引くことによって誤差を算出する。
【０１７１】
このようにすれば、電流検出部１０２３自体に何らかの誤差が発生している場合であっても、第１選択部３０７３及び第２選択部３０７４の出力の差によって電流検出部１０２３の影響をキャンセルすることができるようになる。
【０１７２】
そして、積分器３０７６は、加算部３０７５からの出力値を所定時間積分して、積分結果を加算部３０７７に出力する。加算部３０７７は、予め設定されているＤssから積分器３０７６の出力値を差し引き、算出結果Ｄsaを除算部１３０７８に出力する。除算部１３０７８は、予め設定されているＤssを加算部３０７７の算出結果Ｄsaで除する演算を実施し、乗算部１３０７９に出力する。そして、乗算部１３０７９は、予め設定されているＤtsと除算部１３０７８との積であるＤtaを算出する。このＤtaが、トルク対デューティー比係数Ｄtaである。
【０１７３】
このようにすれば、コイルの長さ、磁束密度といったばらつき要因からの影響を軽減できるようになる。
【０１７４】
［実施の形態５］
例えば鍵でロックした場合などペダル駆動輪（図８の場合には後輪）を動かないようにした場合にペダルを踏むと、例えば第３の実施の形態においては、トルクセンサ１０３によりトルク入力が検出されて、演算部１０２１により入力トルクに応じたモータ駆動が行われる。すなわち、ペダル駆動輪を動かないようにしているので、モータ駆動輪（図８の場合には前輪）が空転するという現象が生ずる。
【０１７５】
そこで、本実施の形態では、例えば第３の実施の形態を図３０のように変形させることで、上記のような現象を防止する。なお、図１１に示した進角補正部１２０７以降の構成要素については図１１と同様であるから図示を省略しているが、その部分については構成も同様であり且つ動作も同じであるから、説明を省略する。
【０１７６】
本実施の形態では、ペダル回転センサ１０９を追加すると共に、例えば操作パネル１０６を介して変速機のギア比（変速比とも呼ぶ）を設定するようになっており、制御器１０２０は、操作パネル１０６からギア比を示す信号を得ることができるものとする。但し、操作パネル１０６からギア比を示す信号が得られない場合であっても、以下で述べるように対処可能である。
【０１７７】
また、本実施の形態では、制御器１０２０は、車速推定部１０３１をさらに有する。車速推定部１０３１は、ペダル回転センサ１０９から得られるペダル回転周波数とギア比と他のパラメータとから、ペダル駆動輪についての車速を推定し、推定車速を演算部１０２１に出力する。
【０１７８】
また、演算部１０２１は、マージン付加部１２６１と、比較部１２６２と、ペダルトルク存在判定部１２６３と、論理積部１２６４と、マルチプレクサ（ＭＵＸ）１２６５とをさらに有する。なお、図１１においては、演算部１０２１において、ブレーキ入力なしの場合にアシスト有効化部１２０４を動作させ、ブレーキ入力ありの場合にアシスト有効化部１２０４を無効化するようになっている。しかし、本実施の形態では、ブレーキ入力なし且つ論理積部１２６４からの出力が「０」（すなわち空転無し）の場合（負論理入力論理積部１２６６の両入力が負論理の場合）にアシスト有効化部１２０４を動作させる。その上で、ブレーキ入力無し又は論理積部１２６４からの出力が「１」（すなわち空転有り）の場合にアシスト有効化部１２０４を無効化させる（０を出力するように制御する）ようになっている。
【０１７９】
車速推定部１０３１は、ペダル回転センサ１０９から得られるペダル回転周波数と、操作パネル１０６から得られるギア比と、ペダル駆動輪の周長との積を、推定車速として算出し、マージン付加部１２６１へ出力する。なお、操作パネル１０６などからギア比が得られない場合には、予め定められた最大ギア比を使用する。なお、最大ギア比自体が「１」である場合もある。マージン付加部１２６１は、推定車速に対して、マージン比率を乗じた上で、全体についてのマージンを加算し、マージン付加後の推定車速を出力する。マージン比率は、例えば１．０６程度であるが、タイヤ個体差マージン、空圧低下時の車輪径マージン、ハンドル切れ角マージンなどを考慮した値となる。また、全体についてのマージンについては、例えば１ｋｍ／時程度であるが、ペダル回転周波数を安定的に検出できる速度などを考慮した値となる。
【０１８０】
マージン付加部１２６１の出力は、比較部１２６２に入力され、比較部１２６２は、車速入力部１０２４からの現在車速Ａとマージン付加部１２６１からのマージン付加後の推定車速Ｂとを比較する。この比較において、Ａ＞Ｂが成立する場合、すなわちモータ駆動輪の車速＞ペダル駆動輪の車速となっているか判断する。比較部１２６２は、モータ駆動輪の車速＞ペダル駆動輪の車速が成立している場合には「１」を論理積部１２６４に出力し、モータ駆動輪の車速＞ペダル駆動輪の車速が成立していない場合には「０」を論理積部１２６４に出力する。
【０１８１】
一方、ペダルトルク存在判定部１２６３は、トルクセンサ１０３からの入力トルクが所定の閾値以上であるか判断する。所定の閾値は、入力トルクが「０」とみなせる上限値として設定される。そして、ペダルトルク存在判定部１２６３は、入力トルクが所定の閾値以上である場合には「１」を出力し、入力トルクが所定の閾値未満である場合には「０」を出力する。
【０１８２】
論理積部１２６４は、ペダルトルク存在判定部１２６３からの出力と比較部１２６２からの出力の論理積を演算する。具体的には、入力トルクが０でなく（所定の閾値以上）且つモータ駆動輪の車速＞ペダル駆動輪の車速が成立する場合に「１」を出力し、入力トルクがほぼ０（所定の閾値未満）又はモータ駆動輪の車速＞ペダル駆動輪の車速が成立しない場合には「０」を出力する。すなわち、「１」の場合にはモータ駆動輪が空転しているとみなすことができ、「０」の場合にはモータ駆動輪は空転していないとみなすことができる。
【０１８３】
従って、マルチプレクサ１２６５は、論理積部１２６４から「１」が入力されると、マージン付加部１２６１の出力（マージン付加後の推定車速）を、第２デューティー比換算部１２１３に出力する。一方、論理積部１２６４から「０」が入力されると、現在車速を第２デューティー比換算部１２１３に出力する。すなわち、モータ駆動輪が空転しているとみなされる場合には、ペダル回転センサ１０９の出力から推定される車速をベースに制御を行う。ペダル駆動輪が動かないようにしている場合には、ペダル駆動輪についての推定車速はほぼ０であるから、モータ駆動は抑制される。また、アシスト有効化部１２０４についても、上で述べたように、モータ駆動輪が空転しているとみなされる場合には、無効化される（出力が０に設定される）ので入力トルクに応じたモータ駆動は行われなくなる。このようにして、前輪が空転するような事態を回避できるようになる。このように、論理積部１２６４の出力は、モータ駆動輪の空転有りとされた場合においてモータ駆動を抑制する制御信号となる。
【０１８４】
なお、車速推定部１０３１とマージン付加部１２６１とを統合して、マージン付加の仕方を変えることもできる。例えば、マージン比率のようにギア比に乗算する形ではなく、ギア比に加算するようなマージンを付加するように変更するようにしても良い。その他の構成要素についても、統合される場合もある。
【０１８５】
さらに、上で述べたように、ほぼ、現在車速＞（ペダル回転周波数×ペダル駆動輪の周長×ギア比）といったような判断を行っている。従って、例えば、ギア比＝現在車速／（ペダル回転周波数×ペダル駆動輪の周長）で算出して、ギア比が最大ギア比を超えるような値となった場合には、比較部１２６２でＡ＞Ｂと判断した場合と同じ信号を出力するようにしても良い。また、現在車速／（ペダル回転周波数×ペダル駆動輪の周長×ギア比）（＝指標値）＞１といったような演算にて判断するようにしても良い。その他の指標値を用いるように変形することも可能である。
【０１８６】
また、ペダル駆動輪の回転数が直接得られる場合には、ペダル回転数の代わりにペダル駆動輪の回転数を用いることができる。例えば図３１に示すように、ペダル回転センサ１０９の代わりにペダル駆動輪回転センサ１２６７を導入する。この場合にはペダル駆動輪の回転数が直接検出されているわけであるから、ペダルとペダル駆動輪の間の動力伝達経路に介在するフリーホイールのロック、アンロックの状態を考慮する必要は無い。従って、図３０の場合には用いられていたペダルトルク存在判定部１２６３及び論理積部１２６４は不要で、比較部１２６２の出力が、マルチプレクサ１２６５及び負論理入力論理積部１２６６に直接供給される。なお、ペダル駆動輪回転センサ１２６７は、図８のような電動アシスト自転車１であれば、後輪駆動なので後輪の車軸などに設けられる。
【０１８７】
なお、本実施の形態は、例えばこぎ出し時に、ほとんど動いていない自転車に、過度にペダルにトルクをかけるような場面においても、モータ駆動が抑制されて安全面で効果がある。
【０１８８】
以上本発明の実施の形態を説明したが、本発明はこれに限定されない。上で述べた機能を実現する具体的な演算手法は複数存在しており、いずれを採用しても良い。
【０１８９】
また、演算部１０２１の一部については専用の回路で実現される場合もあれば、マイクロプロセッサがプログラムを実行することで上記のような機能が実現される場合もある。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
現在速度に応じた第１の値をデューティー比換算することで第２の値を生成する速度処理部と、
目標トルクに応じた第３の値をデューティー比換算することで第４の値を生成するトルク処理部と、
前記第２の値と前記第４の値との和に応じた平均デューティー比により、コンプリメンタリ型スイッチングアンプに含まれるスイッチによるスイッチングを制御して、前記コンプリメンタリ型スイッチングアンプに接続されているモータを駆動する駆動部と、
を有するモータ駆動制御装置。
【請求項２】
前記モータの駆動電流に応じた第５の値をトルク換算した第６の値が前記第３の値から所定の許容量以上乖離している場合に、前記第３の値を乖離度合いに応じて駆動電流を減少させるように修正する修正部
をさらに有する請求項１に記載のモータ駆動制御装置。
【請求項３】
前記駆動部が、
前記第２の値と前記第４の値との和を、電源電圧に応じて補正する
請求項１又は２に記載のモータ駆動制御装置。
【請求項４】
前記第１の値及び前記第３の値から、前記スイッチングのための信号の位相制御を行う信号を生成する進角補正部
をさらに有する請求項１乃至３のいずれか１つに記載のモータ駆動制御装置。
【請求項５】
前記トルク処理部が、
前記第３の値を前記第１の値に応じて補正する
請求項１乃至４のいずれか１つに記載のモータ駆動制御装置。
【請求項６】
前記トルク処理部が、
現在のデューティー比及び電源電圧に応じた電流制限に基づき前記第３の値の範囲に制限を加えるトルク制限部
を有する請求項１乃至５のいずれか１つに記載のモータ駆動制御装置。
【請求項７】
電源が充電可能な電池である場合、前記電源電圧に応じた電流制限が、前記電池の満充電余裕及び残量余裕に応じて設定される
請求項６に記載のモータ駆動制御装置。
【請求項８】
前記トルク制限部が、
前記スイッチの温度に基づく電流制限にさらに基づき前記第３の値の範囲に制限を加える
請求項６に記載のモータ駆動制御装置。
【請求項９】
過去の複数の速度検出結果から前記現在速度を予測する速度予測部
をさらに有する請求項１乃至８のいずれか１つに記載のモータ駆動制御装置。
【請求項１０】
前記トルク処理部が、
ブレーキ指示に応じて、前記第１の値と対応する前記第３の値とについて予め定められた対応関係に従い、現在の第１の値から対応する第３の値を特定し、
前記対応関係により、前記第４の値が前記第２の値とは逆極性の値となる
請求項１乃至９のいずれか１つに記載のモータ駆動制御装置。
【請求項１１】
前記対応関係が、
前記第４の値の絶対値は前記第２の値の絶対値の半分以下となるような関係である
請求項１０に記載のモータ駆動制御装置。
【請求項１２】
前記ブレーキ指示が、ブレーキ量の指示を含み、
前記対応関係が、前記ブレーキ量に対応して異なる対応関係を含む
請求項１１に記載のモータ駆動制御装置。
【請求項１３】
前記対応関係が、
前記第１の値の絶対値が大きくなると対応する前記第３の値の絶対値が小さくなる
請求項１０に記載のモータ駆動制御装置。
【請求項１４】
前記対応関係が、電源電圧に応じた電流制限に基づき決定される対応関係の部分を含む
請求項１０に記載のモータ駆動制御装置。
【請求項１５】
前記第３の値が０であるときに前記モータの駆動電流が０となるように、前記速度処理部におけるデューティー比換算係数又はデューティー比換算関数を修正する第２修正部
をさらに有する請求項１乃至１４のいずれか１つに記載のモータ駆動制御装置。
【請求項１６】
前記第２修正部が、
前記第３の値が０である状態を検出すると、前記モータの駆動の遮断時の前記駆動電流値と前記モータの駆動の非遮断時の前記駆動電流値との差が０となるように、前記速度処理部におけるデューティー比換算係数又はデューティー比換算関数を修正する
請求項１５に記載のモータ駆動制御装置。
【請求項１７】
前記現在速度が、モータ駆動輪についての車速であり、
ペダルの回転周波数からペダル駆動輪についての車速を推定する車速推定部と、
前記現在速度と前記ペダル駆動輪についての車速とを比較する比較部と、
前記比較部による比較結果が、前記現在速度の方が前記ペダル駆動輪についての車速よりも速いことを表しており且つペダルによる入力トルクが閾値以上である場合に、モータ駆動を抑制するための制御信号を出力する制御信号出力部と、
をさらに有する請求項１乃至１６のいずれか１つに記載のモータ駆動制御装置。
【請求項１８】
前記現在速度とペダルの回転周波数とペダル駆動輪の周長とを用いて、モータ駆動輪の空転の有無を判断するための指標値を算出し、ペダルによる入力トルクが閾値以上であれば当該指標値に基づき前記モータ駆動輪の空転の有無を判断する回路と、
前記モータ駆動輪の空転があると判断された場合に、モータ駆動を抑制するための制御信号を出力する制御信号出力部と、
をさらに有する請求項１乃至１６のいずれか１つに記載のモータ駆動制御装置。
【請求項１９】
前記現在速度が、モータ駆動輪についての車速であり、ペダル駆動輪の回転周波数からペダル駆動輪についての車速を推定する車速推定部と、
前記現在速度と前記ペダル駆動輪についての車速とを比較する比較部と、
前記比較部による比較結果が、前記現在速度の方が前記ペダル駆動輪についての車速よりも速いことを表している場合に、モータ駆動を抑制するための制御信号を出力する制御信号出力部と、
をさらに有する請求項１乃至１６のいずれか１つに記載のモータ駆動制御装置。
【請求項２０】
前記制御信号により、前記目標トルクを０に設定する回路
をさらに有する請求項１７乃至１９のいずれか１つに記載のモータ駆動制御装置。
【請求項２１】
前記車速推定部により推定された前記ペダル駆動輪についての車速を前記現在速度の代わりに前記速度処理部に処理させる回路
をさらに有する請求項１７又は１９記載のモータ駆動制御装置。
【請求項２２】
前記車速推定部が、
前記ペダルの回転周波数と、前記ペダル駆動輪の周長と、変速機のギア比との積に基づき前記ペダル駆動輪についての車速を推定する
請求項１７記載のモータ駆動制御装置。
【請求項２３】
現在速度に応じた第１の値をデューティー比換算することで第２の値を生成する速度処理部と、
目標トルクに応じた第３の値をデューティー比換算することで第４の値を生成するトルク処理部と、
前記第２の値と前記第４の値との和に応じた平均デューティー比により、コンプリメンタリ型スイッチングアンプに含まれるスイッチによるスイッチングを制御して、前記コンプリメンタリ型スイッチングアンプに接続されているモータを駆動する駆動部と、
前記速度処理部における第１のデューティー比換算係数の基準値と、前記第３の値が０であるときに前記モータの駆動電流が０となるように修正された前記第１のデューティー比換算係数の値と、前記トルク処理部における第２のデューティー比換算係数の基準値とに基づき、前記第２のデューティー比換算係数を補正する補正部と、
を有するモータ駆動制御装置。
【国際調査報告】
2012086459.tif 000034
2012086459.tif 000035
2012086459.tif 000036
2012086459.tif 000037