現在速度に応じた第1の値をデューティー比換算することで第2の値を生成する速度処理部と、目標トルクに応じた第3の値をデューティー比換算することで第4の値を生成するトルク処理部と、前記第2の値と前記第4の値との和に応じた平均デューティー比により、コンプリメンタリ型スイッチングアンプに含まれるスイッチによるスイッチングを制御して、前記コンプリメンタリ型スイッチングアンプに接続されているモータを駆動する駆動部と、を有するモータ駆動制御装置。前記モータの駆動電流に応じた第5の値をトルク換算した第6の値が前記第3の値から所定の許容量以上乖離している場合に、前記第3の値を乖離度合いに応じて駆動電流を減少させるように修正する修正部をさらに有する請求項1に記載のモータ駆動制御装置。前記駆動部が、前記第2の値と前記第4の値との和を、電源電圧に応じて補正する請求項1又は2に記載のモータ駆動制御装置。前記第1の値及び前記第3の値から、前記スイッチングのための信号の位相制御を行う信号を生成する進角補正部をさらに有する請求項1乃至3のいずれか1つに記載のモータ駆動制御装置。前記トルク処理部が、前記第3の値を前記第1の値に応じて補正する請求項1乃至4のいずれか1つに記載のモータ駆動制御装置。前記トルク処理部が、現在のデューティー比及び電源電圧に応じた電流制限に基づき前記第3の値の範囲に制限を加えるトルク制限部を有する請求項1乃至5のいずれか1つに記載のモータ駆動制御装置。電源が充電可能な電池である場合、前記電源電圧に応じた電流制限が、前記電池の満充電余裕及び残量余裕に応じて設定される請求項6に記載のモータ駆動制御装置。前記トルク制限部が、前記スイッチの温度に基づく電流制限にさらに基づき前記第3の値の範囲に制限を加える請求項6に記載のモータ駆動制御装置。過去の複数の速度検出結果から前記現在速度を予測する速度予測部をさらに有する請求項1乃至8のいずれか1つに記載のモータ駆動制御装置。前記トルク処理部が、ブレーキ指示に応じて、前記第1の値と対応する前記第3の値とについて予め定められた対応関係に従い、現在の第1の値から対応する第3の値を特定し、前記対応関係において、前記第4の値が前記第2の値とは逆極性の値である請求項1乃至9のいずれか1つに記載のモータ駆動制御装置。前記対応関係が、前記第2の値とは逆極性で且つ前記第2の値の絶対値の半分以下となるような関係である請求項10に記載のモータ駆動制御装置。前記ブレーキ指示が、ブレーキ量の指示を含み、前記対応関係が、前記ブレーキ量に対応して異なる対応関係を含む請求項11に記載のモータ駆動制御装置。前記対応関係が、前記第1の値の絶対値が大きくなると対応する前記第3の値の絶対値が小さくなる請求項10に記載のモータ駆動制御装置。前記対応関係が、電源電圧に応じた電流制限に基づき決定される対応関係の部分を含む請求項10に記載のモータ駆動制御装置。前記第3の値が0であるときに前記モータの駆動電流が0となるように、前記速度処理部におけるデューティー比換算係数又はデューティー比換算関数を修正する修正部をさらに有する請求項1乃至14のいずれか1つに記載のモータ駆動制御装置。前記修正部が、前記第3の値が0である状態を検出すると、前記モータの駆動の遮断時の前記駆動電流値と前記モータの駆動の非遮断時の前記駆動電流値との差が0となるように、前記速度処理部におけるデューティー比換算係数又はデューティー比換算関数を修正する請求項15に記載のモータ駆動制御装置。前記現在車速が、モータ駆動輪についての車速であり、ペダルの回転周波数からペダル駆動輪についての車速を推定する車速推定部と、前記現在車速と前記ペダル駆動輪についての車速とを比較する比較部と、前記比較部による比較結果が、前記現在車速の方が前記ペダル駆動輪についての車速よりも速いことを表しており且つペダルによる入力トルクが閾値以上である場合に、モータ駆動を抑制するための制御信号を出力する制御信号出力部と、をさらに有する請求項1乃至16のいずれか1つに記載のモータ駆動制御装置。前記現在車速とペダルの回転周波数とペダル駆動輪の周長とを用いて、モータ駆動輪の空転の有無を判断するための指標値を算出し、ペダルによる入力トルクが閾値以上であれば当該指標値に基づき前記モータ駆動輪の空転の有無を判断する回路と、前記モータ駆動輪の空転があると判断された場合に、モータ駆動を抑制するための制御信号を出力する制御信号出力部と、をさらに有する請求項1乃至16のいずれか1つに記載のモータ駆動制御装置。前記現在車速が、モータ駆動輪についての車速であり、ペダル駆動輪の回転周波数からペダル駆動輪についての車速を推定する車速推定部と、前記現在車速と前記ペダル駆動輪についての車速とを比較する比較部と、前記比較部による比較結果が、前記現在車速の方が前記ペダル駆動輪についての車速よりも速いことを表している場合に、モータ駆動を抑制するための制御信号を出力する制御信号出力部と、をさらに有する請求項1乃至16のいずれか1つに記載のモータ駆動制御装置。前記制御信号により、前記目標トルクを0に設定する回路をさらに有する請求項17乃至19のいずれか1つに記載のモータ駆動制御装置。前記車速推定部により推定された前記ペダル駆動輪についての車速を前記現在車速の代わりに前記速度処理部に処理させる回路をさらに有する請求項17乃至19のいずれか1つ記載のモータ駆動制御装置。前記車速推定部が、前記ペダルの回転周波数と、前記ペダル駆動輪の周長と、変速機のギア比との積に基づき前記ペダル駆動輪についての車速を推定する請求項17記載のモータ駆動制御装置。現在速度に応じた第1の値をデューティー比換算することで第2の値を生成する速度処理部と、目標トルクに応じた第3の値をデューティー比換算することで第4の値を生成するトルク処理部と、前記第2の値と前記第4の値との和に応じた平均デューティー比により、コンプリメンタリ型スイッチングアンプに含まれるスイッチによるスイッチングを制御して、前記コンプリメンタリ型スイッチングアンプに接続されているモータを駆動する駆動部と、前記速度処理部における第1のデューティー比換算係数の基準値と、前記第3の値が0であるときに前記モータの駆動電流が0となるように修正された前記第1のデューティー比換算係数の値と、前記トルク生成部における第2のデューティー比換算係数の基準値とに基づき、前記第2のデューティー比換算係数を補正する補正部と、を有するモータ駆動制御装置。従って、本発明の目的は、効率の良い安定したモータ制御技術を提供することである。本発明の第1の態様に係るモータ駆動制御装置は、速度トラッキングトルクフィードフォワード方式以下、トルクフィードフォワードと略称すると呼ぶべきもので、A現在速度に応じた第1の値をデューティー比換算することで第2の値を生成する速度処理部と、B目標トルクに応じた第3の値をデューティー比換算することで第4の値を生成するトルク処理部と、C第2の値と第4の値との和に応じた平均デューティー比により、コンプリメンタリ型スイッチングアンプに含まれるスイッチによるスイッチングを制御して、コンプリメンタリ型スイッチングアンプに接続されているモータを駆動する駆動部とを有する。このような演算により、ダイオードを使わず現在速度に応じた逆起電力相当電圧でバランスさせた上に目標トルクをトルクフィードフォーワード加算することができ、安定的に効率の良いモータ駆動制御を行うことができるようになる。なお、第1及び第2の値は共に正又は負の値となり得るものである。また、第1の態様に係るモータ駆動制御装置は、モータの駆動電流に応じた第5の値をトルク換算した第6の値が第3の値から所定の許容量以上乖離している場合に、第3の値を乖離度合いに応じて駆動電流を減少させるように修正する修正部をさらに有するようにしてもよい。このようにすれば、モータの駆動電流が何らかの理由で多くなっている又は多くなっているように検出される場合においても、モータの駆動電流を減少させるように第3の値すなわち目標トルクを修正するので、安全である。また、第1の態様に係るモータ駆動制御装置は、第1の値及び第3の値から、上記スイッチングのための信号の位相制御を行う信号を生成する進角補正部をさらに有するようにしても良い。目標トルクに応じた適切なトルクをモータに出させるためには、現在速度に応じた第1の値をも考慮に入れて進角補正を行うことが好ましい。さらに、第1の態様に係るモータ駆動制御装置の駆動部が、第2の値と第4の値との和を、電源電圧に応じて補正するようにしてもよい。電源電圧は、その消耗度合いによって変化する場合があるためである。また、第1の態様に係るモータ駆動制御装置のトルク処理部が、第3の値を第1の値に応じて補正するようにしてもよい。例えば予め補正カーブを現在速度に応じて複数種類用意しておき、例えば現在速度が速い場合には第3の値を増加させるようなカーブを採用するようにしても良い。さらに、第1の態様に係るモータ駆動制御装置のトルク処理部が、現在のデューティー比及び電源電圧に応じた電流制限に基づき第3の値の範囲に制限を加えるトルク制限部を有するようにしてもよい。このようにすれば、トルクフィードフォワード制御において、電源の制約である電流制限に従って、適切な電流がモータに流れるように、第3の値を制限することができるようになる。なお、上記電源が充電可能な電池である場合、電源電圧に応じた電流制限が、電池の満充電余裕及び残量余裕に応じて設定される場合もある。これによって過放電や過充電を防止して蓄電池の保護がなされる。さらに、上記トルク制限部が、スイッチの温度に基づく電流制限にさらに基づき第3の値の範囲に制限を加えるようにしてもよい。これによってスイッチの保護がなされる。さらに、第1の態様に係るモータ駆動制御装置は、過去の複数の速度検出結果から上記現在速度を予測する速度予測部をさらに有するようにしてもよい。このようにすれば正確な現在速度を得ることができ、適切なトルクフィードフォワード制御を実施できるようになる。また、上で述べたトルク処理部が、ブレーキ指示に応じて、第1の値と対応する第3の値とについて予め定められた対応関係に従い、現在の第1の値から対応する第3の値を特定するようにしてもよい。その場合、上記対応関係において、第3の値が第1の値とは逆極性の値となる。ブレーキ時に現在速度に応じて適切な目標トルクに調整されるようになる。なお、上で述べた対応関係が、第1の値とは逆極性で且つ第1の値の絶対値の半分以下半分以下は例えば数程度半分を上回る場合も含むとなるような関係であるような場合もある。このようにすればどのような速度であってもある程度の効率で回生を行うことができるようになる。また、上で述べたブレーキ指示が、ブレーキ量の指示を含むようにしてもよい。この場合、上記対応関係が、ブレーキ量に対応して異なる対応関係を含むようにしてもよい。このようにすれば、ブレーキ量に応じて高効率で回生を行うことができるようになる。さらに、上で述べた対応関係が、第1の値の絶対値が大きくなると対応する第3の値の絶対値が小さくなる部分を有するようにしてもよい。様々なカーブを設定することができるが、速度が早い部分ではブレーキトルクを制限して、回生効率を向上させるものである。さらに、上で述べた対応関係が、電源電圧に応じた電流制限に基づき決定される対応関係の部分を含むようにしてもよい。ブレーキについても、蓄電池に回生する場合には電池の状態に応じた電流制限がかかるためである。さらに、第1の態様に係るモータ駆動制御装置は、第3の値が0であるときにモータの駆動電流が0となるように、速度処理部におけるデューティー比換算係数又はデューティー比換算関数を修正する修正部をさらに有するようにしてもよい。電流検出やゲインの誤差をキャンセルできるので、適切にトルクフィードフォワード制御が実施されるようになる。さらに、上で述べた修正部が、第3の値が0である状態を検出すると、モータの駆動の遮断時の駆動電流値とモータの駆動の非遮断時の駆動電流値との差が0となるように、速度処理部におけるデューティー比換算係数又はデューティー比換算関数を修正するようにしてもよい。より正確に係数又は関数を校正することができる。また、上で述べた現在車速が、モータ駆動輪についての車速であるとすると、第1の態様に係るモータ駆動制御装置は、ペダルの回転周波数からペダル駆動輪についての車速を推定する車速推定部と、現在車速とペダル駆動輪についての車速とを比較する比較部と、比較部による比較結果が、現在車速の方がペダル駆動輪についての車速よりも速いことを表しており且つペダルによる入力トルクが閾値以上である場合に、モータ駆動を抑制するための制御信号を出力する制御信号出力部とをさらに有するようにしてもよい。また、ペダル駆動輪について着目すると、第1の態様に係るモータ駆動制御装置は、ペダル駆動輪の回転周波数からペダル駆動輪についての車速を推定する車速推定部と、現在車速とペダル駆動輪についての車速とを比較する比較部と、比較部による比較結果が、現在車速の方がペダル駆動輪についての車速よりも速いことを表している場合に、モータ駆動を抑制するための制御信号を出力する制御信号出力部とをさらに有するようにしても良い。このようにすれば、モータ駆動輪の空転を検出することができるようになり、これを抑制できるようになる。さらに、第1の態様に係るモータ駆動制御装置は、上で述べた制御信号により、上で述べた目標トルクを0おおよそ0の場合を含み、本来の値からして十分に小さい値例えば1/10にする場合もある。に設定する回路をさらに有するようにしても良い。このようにすれば、上で述べた第4の値も0となり、モータ駆動が抑制されるようになる。また、第1の態様に係るモータ駆動制御装置は、上で述べた車速推定部により推定されたペダル駆動輪についての車速を上記現在車速の代わりに速度処理部に処理させる回路をさらに有するようにしても良い。ペダル駆動輪についての車速はほぼ0であるから、上で述べた第1の値がほぼ0となるため、上で述べた第2の値もほぼ0となり、モータ駆動が抑制される。なお、上で述べた車速推定部が、ペダルの回転周波数と、ペダル駆動輪の周長と、変速機のギア比との積に基づきペダル駆動輪についての車速を推定するようにしても良い。なお、ギア比については、不明な場合もあるので、その場合には最大ギア比を用いる。また、各種マージンを織り込むようにしてもよい。また、第1の態様に係るモータ駆動制御装置は、現在車速とペダルの回転周波数とペダル駆動輪の周長とを用いて、モータ駆動輪の空転の有無を判断するための指標値を算出し、ペダルによる入力トルクが閾値以上であれば当該指標値に基づきモータ駆動輪の空転の有無を判断する回路と、モータ駆動輪の空転があると判断された場合に、モータ駆動を抑制するための制御信号を出力する制御信号出力部とをさらに有するようにしても良い。以下でも述べるように、例えば現在車速>ペダルの回転周波数×ペダル駆動輪の周長×ギア比但し1の場合有りを変形した各種指標値を用いることができる。また、第2の態様に係るモータ駆動制御装置は、A現在速度に応じた第1の値をデューティー比換算することで第2の値を生成する速度処理部と、B目標トルクに応じた第3の値をデューティー比換算することで第4の値を生成するトルク処理部と、C第2の値と第4の値との和に応じた平均デューティー比により、コンプリメンタリ型スイッチングアンプに含まれるスイッチによるスイッチングを制御して、コンプリメンタリ型スイッチングアンプに接続されているモータを駆動する駆動部と、D速度処理部における第1のデューティー比換算係数の基準値と、第3の値が0であるときにモータの駆動電流が0となるように修正された第1のデューティー比換算係数の値と、トルク生成部における第2のデューティー比換算係数の基準値とに基づき、第2のデューティー比換算係数を補正する補正部とを有する。これによって、適切に補正された係数値でトルク処理部が処理を行うことができるようになる。なお、上で述べたような処理をマイクロプロセッサに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD-ROMなどの光ディスク、光磁気ディスク、半導体メモリ例えばROM、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAMRandomAccessMemory等の記憶装置に一時保管される。[実施の形態1]図2に、本実施の形態に係るモータ駆動制御装置500の機能ブロック図を示す。モータ駆動制御装置500は、第1デューティー比換算部520と、第2デューティー比換算部510と、加算部530と、駆動部540とを有する。なお、モータ駆動制御装置500の駆動部540の出力は、コンプリメンタリ型のスイッチングアンプ610に接続されており、このスイッチングアンプ610によりモータ620が駆動されるようになっている。例えば、モータ駆動制御装置500には、当該モータ駆動制御装置500に接続されているセンサなどから現在車速に応じた第1のディジタル値と、当該モータ駆動制御装置500に接続されている指示機構又はセンサなどから目標トルクに応じた第3のディジタル値とが入力されて処理が行われる。そして、第2デューティー比換算部510は、第1のディジタル値に対して換算係数デューティー比/現在車速に相当する係数を乗じるなどの処理を実施して、第1のディジタル値をデューティー比換算した第2のディジタル値を出力する。同様に、第1デューティー比換算部520は、第3のディジタル値に対して換算係数デューティー比/トルクに相当する係数を乗じるなどの処理を実施して、第3のディジタル値をデューティー比換算した第4のディジタル値を出力する。加算部530は、第2デューティー比換算部510からの第2のディジタル値及び第1デューティー比換算部520からの第4のディジタル値を加算して駆動部540に出力する。駆動部540は、第2及び第4のディジタル値の和に応じた平均デューティー比になるように、スイッチングアンプ610のスイッチをスイッチングさせる。このスイッチングは、PWMであってもよいし、PNMPulseNumberModulationやPDMPulseDensityModulationや1ビットアンプその他の方式で行うようにしても良い。このようにすれば、平均デューティー比に応じた電圧及び電流でモータ620は駆動されるようになる。このようなモータ駆動制御装置500の動作をさらに図3を用いて説明する。ここでは、第2のディジタル値をD0と表し、第4のディジタル値をDTと表すとする。そうすると、上でも述べたように、スイッチングアンプ610のスイッチの平均デューティー比Dutyは、以下のように表される。Duty=D0DT本実施の形態では、現在の速度のままであればD0の直線に沿った形で平均デューティー比Dutyを変化させる。モータ620を力行状態にして加速させる場合には、目標トルクは正の値、例えばDtに設定されるので、Dt分だけこの直線を上方にシフトさせる。そうすれば目標トルクの分だけ加速することになるが、平均デューティー比も相対的に高くすることになる。一方、モータ620を例えば制動状態にして減速する場合には、目標トルクは負の値、例えば-Dtに設定されるので、Dtだけ上記直線を下方にシフトさせる。そうすれば目標トルクの分だけ減速することになり、平均デューティー比も相対的に低くすることになる。さらに、モータ620の正回転及び逆回転に対応するため、現在車速に相当する第2のディジタル値D0についても、正の値及び負の値が設定される場合がある。以上のようなトルクフィードフォワード制御を実施することにより、安定的な制御が行われると共に、ダイオード駆動方式のような効率低下もないため、例えば電動アシスト自転車などに使用するのに好適である。但し、他のモータ駆動に用いることも可能である。[実施の形態2]第1の実施の形態において目標トルクに応じた出力トルクが得られる場合には問題はないが、部品ばらつきなどによってモータに流れる電流が多くなってしまって、結果として目標トルクよりも大きなトルクが発生する場合もある。一般的には、図4に示すように、目標トルクに対する出力トルクは、直線aで示されるように、目標トルクに一致することが好ましい。また、出力トルクは、安全性などの観点から、目標トルクに応じて設定され且つ直線bで示される許容量上限より下の領域の値でなければならない。しかしながら、何らかの理由で、モータに流れる電流が多くなってしまって、図5の点線cで示されるように、目標トルクに対して過大な電流が流れて、結果として許容量上限を表す直線bを超えるような領域ハッチング付きの出力トルクを要求して、モータを駆動してしまう場合も生じ得る。本実施の形態では、このような事態を回避するための機構を導入する。図6に模式的に示せば、目標トルクに対応する出力トルクが許容量上限を超えている部分については、強制的に、例えば許容量上限直線b上の値に修正して、太線dに示すような修正後の出力トルクを得るようにモータを駆動する。具体的には、図7に示すようなモータ駆動制御装置700を導入する。第2の実施の形態に係るモータ駆動制御装置700は、トルク処理部750と、第2デューティー比換算部770と、加算部780と、駆動部790とを有する。トルク処理部750は、第1絶対値化部751と、マージン付加部752と、トルク換算部753と、第2絶対値化部754と、加算部756と、第1クランプ部757と、積算部758と、第1LPFLowPassFilter部759と、加算部760と、第2クランプ部761と、極性反転部763と、第1デューティー比換算部764とを有する。モータ駆動制御装置700の駆動部790は、コンプリメンタリ型のスイッチングアンプ810に接続されている。そして、スイッチングアンプ810によってモータ820が駆動される。第2デューティー比換算部770は、モータ駆動制御装置700に接続されているセンサなどから現在車速に応じた第1のディジタル値に対して換算係数デューティー比/現在車速に相当する係数を乗じるなどの処理を実施して、第1のディジタル値をデューティー比換算した第2のディジタル値を出力する。トルク処理部750の第1絶対値化部751は、モータ駆動制御装置700に接続されている指示機構又はセンサなどから受け取った目標トルクに応じた第3のディジタル値から、符号部分を抽出して極性反転部763に出力すると共に、値部分|第3のディジタル値|=Tcをマージン付加部752及び加算部760に出力する。また、トルク換算部753は、モータ820に流れるモータ駆動電流値に応じた第5のディジタル値に対して換算係数トルク/モータ駆動電流値に相当する係数を乗じるなどの処理を実施して、第5のディジタル値をトルク換算した第6のディジタル値を出力する。第2絶対値化部754は、第6のディジタル値の符号部分を取り除き、値部分|第6のディジタル値|を出力する。マージン付加部752は、例えばTm=Tc×1.15所定数αといった形で|第3のディジタル値|に対してマージンを加えるものである。そして、加算部756は、第2絶対値化部754の出力である|第6のディジタル値|と-Tmを加算する。この加算結果が負の値になる場合、すなわち、Tmの方が|第6のディジタル値|より大きい場合には、目標トルクをそのまま出力しても問題がないので、第1クランプ部757は、0を出力する。一方、Tmの方が|第6のディジタル値|よりも小さい場合には、加算結果が正の値となり、目標トルクを補正するため、第1クランプ部757は、加算結果をそのまま積算部758に出力する。積算部758は、電流補正追従時定数fbを加算結果に乗算した上で出力する。そして、1次LPF部759は、積算部758の出力に対して1次のローパスフィルタの平滑化処理を実施して出力する。このようにすれば、モータ電流値に基づいた補正量が算出される。そして、加算部760は、第1絶対値化部751の出力である|第3のディジタル信号|から1次LPF部759の出力を減算して負の補正量を加算して出力する。第2クランプ部761は、加算部760の出力結果が負の値となる場合、すなわち補正量の方が多くなってしまっている場合には0を出力し、加算部760の出力結果が正の値となる場合にはそのまま出力する。そして、極性判定部763は、目標トルクが負の値であって第1絶対値化部751から符号部分が負であることを示す信号を受け取った場合には、第2クランプ部761からの出力の極性を反転させた上で出力し、符号部分が正であることを示す信号を受け取った場合には、何らの処理を行わずにそのまま出力する。このようにして第3のディジタル値は、モータ電流値に応じて補正を行った上で、第1デューティー比換算部764に出力される。第1デューティー比換算部764は、補正後の第3のディジタル値に対して換算係数デューティー比/トルクに相当する係数を乗じるなどの処理を実施して、補正後の第3のディジタル値をデューティー比換算した第4のディジタル値を出力する。加算部780は、第2デューティー比換算部770からの第2のディジタル値及び第1デューティー比換算部764からの第4のディジタル値を加算して駆動部790に出力する。駆動部790は、第2及び第4のディジタル値の和に応じた平均デューティー比になるように、スイッチングアンプ810のスイッチをスイッチングさせる。このスイッチングは、PWMであってもよいし、PNMPulseNumberModulationやPDMPulseDensityModulationや1ビットアンプその他の方式で行うようにしても良い。このようにすれば、平均デューティー比に応じた電圧及び電流でモータ820は駆動されるようになる。以上のようなトルクフィードフォワード制御を実施することにより、モータ電流が流れすぎて過度な駆動状態になりそうな場合でも、目標トルクを下げるように作用するため、安全なモータ駆動が行われるようになる。なお、絶対値化して演算を行っていることからも、目標トルクの値もトルク換算されたモータ電流値も負の値をも想定している。さらに、第1の実施の形態で述べたような効果も得ることができる。[実施の形態3]本発明の第3の実施の形態を図8乃至図26を用いて説明する。ここでは、モータが自転車に搭載される、いわゆる電動アシスト自転車を一例として説明する。図8は、第3の実施の形態における電動アシスト自転車の一例を示す外観図である。この電動アシスト自転車1はクランク軸と後輪がチェーンを介して連結されている一般的な後輪駆動型のものであり、モータ駆動装置が搭載されている。モータ駆動装置は、二次電池101と、モータ駆動制御器102と、トルクセンサ103と、ブレーキセンサ104と、モータ105と、操作パネル106とを有する。二次電池101は、例えば供給最大電圧満充電時の電圧が24Vのリチウムイオン二次電池であるが、他種の電池、例えばリチウムイオンポリマー二次電池、ニッケル水素蓄電池などであっても良い。トルクセンサ103は、クランク軸に取付けられたホイールに設けられており、搭乗者によるペダルの踏力を検出し、この検出結果をモータ駆動制御器102に出力する。ブレーキセンサ104は、磁石と周知のリードスイッチとから構成されている。磁石は、ブレーキレバーを固定するとともにブレーキワイヤーが送通される筐体内において、ブレーキレバーに連結されたブレーキワイヤーに固定されている。ブレーキレバーは手で握られたときにリードスイッチをオン状態にするようになっている。また、リードスイッチは筐体内に固定されている。このリードスイッチの導通信号はモータ駆動制御器102に送られる。モータ105は、例えば周知の三相直流ブラシレスモータであり、例えば電動アシスト自転車1の前輪に装着されている。モータ105は、前輪を回転させるとともに、前輪の回転に応じてローターが回転するように、ローターが前輪に連結されている。さらに、モータ105はホール素子等を備えてローターの回転情報すなわちホール信号をモータ駆動制御器102に出力する。操作パネル106は、例えばアシストの有無に関する指示入力をユーザから受け付けて、当該指示入力をモータ駆動制御器102に出力する。なお、操作パネル106は、アシスト比の設定入力をユーザから受け付けて、当該設定入力をモータ駆動制御器102に出力するようにしても良い。このような電動アシスト自転車1のモータ駆動制御器102に関連する構成を図9に示す。モータ駆動制御器102は、制御器1020と、FETFieldEffectTransistorブリッジ1030とを有する。FETブリッジ1030には、モータ105のU相についてのスイッチングを行うハイサイドFETSuh及びローサイドFETSulと、モータ105のV相についてのスイッチングを行うハイサイドFETSvh及びローサイドFETSvlと、モータ105のW相についてのスイッチングを行うハイサイドFETSwh及びローサイドFETSwlとを含む。このFETブリッジ1030は、コンプリメンタリ型スイッチングアンプの一部を構成している。また、FETブリッジ1030には、この温度を測定するためサーミスタ108が設けられている。また、制御器1020は、演算部1021と、温度入力部1022と、電流検出部1023と、車速入力部1024と、可変遅延回路1025と、モータ駆動タイミング生成部1026と、トルク入力部1027と、ブレーキ入力部1028と、AD入力部1029とを有する。演算部1021は、操作パネル106からの入力例えばオン/オフ及び動作モード例えばアシスト比、温度入力部1022からの入力、電流検出部1023からの入力、車速入力部1024からの入力、トルク入力部1027からの入力、ブレーキ入力部1028からの入力、AD入力部1029からの入力を用いて以下で述べる演算を行って、モータ駆動タイミング生成部1026及び可変遅延回路1025に対して出力を行う。なお、演算部1021は、メモリ10211を有しており、メモリ10211は、演算に用いる各種データ及び処理途中のデータ等を格納する。さらに、演算部1021は、プログラムをプロセッサが実行することによって実現される場合もあり、この場合には当該プログラムがメモリ10211に記録されている場合もある。温度入力部1022は、サーミスタ108からの入力をディジタル化して演算部1021に出力する。電流検出部1023は、FETブリッジ1030内のFETに流れる電流を検出する検出抵抗107で、電流に対応する電圧値をディジタル化して演算部1021に出力する。車速入力部1024は、モータ105が出力するホール信号から現在車速を算出して、演算部1021に出力する。トルク入力部1027は、トルクセンサ103からの踏力に相当する信号をディジタル化して演算部1021に出力する。ブレーキ入力部1028は、ブレーキセンサ104からのブレーキ力に相当する信号をディジタル化して演算部1021に出力する。ADAnalogDigital入力部1029は、二次電池101からの出力電圧をディジタル化して演算部1021に出力する。また、メモリ10211は、演算部1021とは別に設けられる場合もある。演算部1021は、演算結果として進角値を可変遅延回路1025に出力する。可変遅延回路1025は、演算部1021から受け取った進角値に基づきホール信号の位相を調整してモータ駆動タイミング生成部1026に出力する。演算部1021は、演算結果として例えばPWMのデューティー比に相当するPWMコードをモータ駆動タイミング生成部1026に出力する。モータ駆動タイミング生成部1026は、可変遅延回路1025からの調整後のホール信号と演算部1021からのPWMコードとに基づいて、FETブリッジ1030に含まれる各FETに対するスイッチング信号を生成して出力する。図10a乃至lを用いて図9に示した構成によるモータ駆動の基本動作を説明する。図10aはモータ105が出力したU相のホール信号HUを表し、図10bはモータ105が出力したV相のホール信号HVを表し、図10cはモータ105が出力したW相のホール信号HWを表す。以下でも述べるように、本実施の形態では、モータ105のホール素子を、ホール信号が図10で示すように若干進んだ位相で出力されるよう設置して、可変遅延回路1025で調整可能なようにしている。従って、図10dに示すようなU相の調整後ホール信号HU_Inが可変遅延回路1025からモータ駆動タイミング生成部1026に出力され、図10eに示すようなV相の調整後ホール信号HV_Inが可変遅延回路1025からモータ駆動タイミング生成部1026に出力され、図10fに示すようなW相の調整後ホール信号HW_Inが可変遅延回路1025からモータ駆動タイミング生成部1026に出力される。なお、ホール信号1周期を電気角360度として、6つのフェーズに分けられる。また、図10g乃至iに示すように、U相の端子にMotorU逆起電力、V相の端子にMotorV逆起電力、W相の端子にMotorW逆起電力という逆起電力電圧が発生する。このようなモータ逆起電力電圧に位相を合わせて駆動電圧を与えモータ105を駆動するためには、図10j乃至lに示すようなスイッチング信号をFETブリッジ1030の各FETのゲートに出力する。図10jのU_HSはU相のハイサイドFETSuhのゲート信号を表しており、U_LSはU相のローサイドFETSulのゲート信号を表している。PWM及び/PWMは、演算部1021の演算結果であるPWMコードに応じたデューティー比でオン/オフする期間を表しており、コンプリメンタリ型であるからPWMがオンであれば/PWMはオフとなり、PWMがオフであれば/PWMはオンとなる。ローサイドFETSulのOnの区間は、常にオンとなる。図10kのV_HSはV相のハイサイドFETSvhのゲート信号を表しており、V_LSはV相のローサイドFETSvlのゲート信号を表している。記号の意味は図10jと同じである。さらに、図10lのW_HSはW相のハイサイドFETSwhのゲート信号を表しており、W_LSはW相のローサイドFETSwlのゲート信号を表している。記号の意味は図10jと同じである。このようにU相のFETSuh及びSulは、フェーズ1及び2でPWMのスイッチングを行い、U相のローサイドFETSulは、フェーズ4及び5でオンになる。また、V相のFETSvh及びSvlは、フェーズ3及び4でPWMのスイッチングを行い、V相のローサイドFETSvlは、フェーズ6及び1でオンになる。さらに、W相のFETSwh及びSwlは、フェーズ5及び6でPWMのスイッチングを行い、W相のローサイドFETSwlは、フェーズ2及び3でオンになる。このような信号を出力してデューティー比を適切に制御すれば、モータ105を所望のトルクで駆動できるようになる。次に、演算部1021の機能ブロック図を図11に示す。演算部1021は、回生ブレーキ目標トルク演算部1201と、回生有効化部1202と、駆動トルク目標演算部1203と、アシスト有効化部1204と、加算部1206と、進角補正部1207と、トルク補正部1208と、電流制限部1209と、トルクガード部1210と、第1デューティー比換算部1211と、トルクスルーレート制限部1212と、第2デューティー比換算部1213と、速度係数修正部1214と、速度スルーレート制限部1215と、加算部1216と、PWMコード生成部1217とを有する。車速入力部1024からの車速値及びトルク入力部1027からのペダルトルク値は、駆動トルク目標演算部1203に入力され、アシストトルク値が算出される。駆動トルク目標演算部1203の演算内容は、本実施の形態の主旨ではないので詳しく述べないが、例えば、駆動トルク目標演算部1203は、ペダルトルク値をLPFで平滑化した上でリップル成分を抽出し、平滑化されたペダルトルク値と当該リップル成分とを所定の混合比で混合した値に応じたアシストトルク値を算出する。この演算の際に、車速に応じて混合比を調整したり、車速に応じて使用するアシスト比を制限した上で平滑化されたペダルトルク値に対して乗ずるといった演算をも行う場合がある。また、回生ブレーキ目標トルク演算部1201は、車速入力部1024からの車速値に応じて後に述べる演算を実施して回生ブレーキ目標トルク値を算出する。本実施の形態では、ブレーキ入力部1028からブレーキ有りを表す入力信号が入力されると、回生有効化部1202は、回生ブレーキ目標トルク演算部1201からの回生目標トルク値を加算部1206に出力する。それ以外の場合には、0を出力する。一方、ブレーキ入力部1028からブレーキ無しを表す入力信号が入力されると、アシスト有効化部1204は、駆動トルク目標演算部1203からのアシストトルク値を出力する。それ以外の場合には、0を出力する。加算部1206は、回生有効化部1202からの回生目標トルク値の極性を反転して出力するか、アシスト有効化部1204からのアシストトルク値をそのまま出力する。以下、説明を簡略化するため、アシストトルク値及び回生目標トルク値を目標トルク値と略称するものとする。進角補正部1207は、車速値及び目標トルク値に応じて演算を行って演算結果を可変遅延回路1025に出力する。また、トルク補正部1208は、目標トルク値及び車速値に応じて後に述べる演算を行って、演算結果を電流制限部1209に出力する。さらに、電流制限部1209は、トルク補正部1208からの出力に対して後に述べる演算を行って、演算結果を出力する。トルクガード部1210は、電流制限部1209からの出力に対して例えば第2の実施の形態におけるトルク処理部750但し第1デューティー比換算部764を除くについての演算を実施する。続いて、演算結果を第1デューティー比換算部1211に出力する。第1デューティー比換算部1211は、トルクガード部1210からの出力に対して、換算係数dtを乗じてトルクデューティーコードを算出し、トルクスルーレート制限部1212に出力する。トルクスルーレート制限部1212は、第1デューティー比換算部1211からの出力に対してよく知られたスルーレート制限処理を実施して、処理結果を加算部1216に出力する。また、速度係数修正部1214は、目標トルク値に応じて換算係数dsを修正して第2デューティー比換算部1213に出力する。第2デューティー比換算部1213は、車速値に対して修正後の換算係数dsを乗じて車速デューティーコードを算出し、速度スルーレート制限部1215に出力する。速度スルーレート制限部1215は、第2デューティー比換算部1213からの出力に対してよく知られたスルーレート制限処理を実施して、処理結果を加算部1216に出力する。加算部1216は、トルクスルーレート制御部1212からのトルクデューティーコードと速度スルーレート制限部1215からの車速デューティーコードとを加算してデューティーコードを算出し、PWMコード生成部1217に出力する。PWMコード生成部1217は、デューティーコードに対して、AD入力部1029からのバッテリ電圧/基準電圧例えば24Vを乗じてPWMコードを生成する。PWMコードは、モータ駆動タイミング生成部1026に出力される。以下、主要構成要素の具体的演算内容について説明する。1車速入力部1024本実施の形態では上で述べたように車速に基づく演算が多く行われているので、正確な車速を得ることが精度上重要となる。そのため、図12に車速入力部1024の機能ブロック図の一例を示す。図12の例で、車速入力部1024は、エッジ検出部3001と、カウンタ3002と、第1レジスタ3003と、第2レジスタ3004と、乗算部3005と、加算部3006と、逆数変換部3007とを有する。エッジ検出部3001には、ホール信号が入力されており、ホール信号の例えば立ち上がりを検出して、カウンタ3002、第1レジスタ3003及び第2レジスタ3004に検出信号を出力する。カウンタ3002は、エッジ検出部3001からの検出信号に応じて、現カウント値をリセットして、クロックCLKのカウントを開始する。また、第1レジスタ3003及び第2レジスタ3004は、保持している数値を出力する。但し、初期的には保持している値を0に初期化する。そして、エッジ検出部3001からの次の検出信号に応じて、カウンタ3002は、現カウント値を第1レジスタ3003に出力すると共に、現カウント値をリセットしてクロックCLKのカウントを再開する。また、第1レジスタ3003は、現在保持している値を出力すると共に、カウンタ3002からの出力値を保存する。また、第2レジスタ3004は、現在保持している値を出力すると共に、第1レジスタ3003からの値を保存する。さらに、エッジ検出部3001からさらに次の検出信号を受信すると、カウンタ3002は、現カウント値を第1レジスタ3003に出力すると共に、現カウント値をリセットしてクロックCLKのカウントを再開する。また、第1レジスタ3003は、現在保持している値を出力すると共に、カウンタ3002からの出力値を保存する。また、第2レジスタ3004は、現在保持している値を出力すると共に、第1レジスタ3003からの値を保存する。このように、カウンタ3002は、ホール信号の立ち上がりの周期に相当する値をカウントすることになり、第2レジスタ3004には2つ前の周期、第1レジスタ3003には1つ前の周期が保存される。そして、乗算部3005は第1レジスタ3003からの出力値を2倍し、加算部3006は、乗算部3005からの出力値から第2レジスタ3004からの出力値を減ずる演算を実施する。すなわち、1つ前の周期を2倍した時間から2つ前の周期を差し引いた値を演算している。最後に、逆数変換部3007が、加算部3006の出力値の逆数を算出すれば、予測の現在車速が得られる。また、図12に示した車速入力部1024の演算は、図13のような機能ブロック図でも実現できる。図13の車速入力部1024は、エッジ検出部3011と、カウンタ3012と、第1レジスタ3013と、乗算部3014と、加算部3015と、第2レジスタ3016と、逆数変換部3017とを有する。基本的な動作は図12とほぼ同じであるが、第1レジスタ3013は、1つ前の周期を保持しており、乗算部3014は、カウンタ3012が出力した値今回の周期を2倍して出力する。そして、加算部3015は、今回の周期の2倍値から1つ前の周期を差し引く演算を実施し、第2レジスタ3016に出力する。第2レジスタ3016には、1つ前の予測された周期の値が格納されており、第2レジスタ3016は、エッジ検出部3011からの検出信号に応じて、逆数変換部3017に出力すると共に、加算部3015の出力値を保存する。逆数変換部3017は、1つ前の予測された周期の逆数を算出し、予測の現在車速が得られる。このような演算を実施することで、精度良く車速を予測できるようになる。2進角補正部1207モータ105のコイル自身の自己インダクタンスや周囲のコイルとの相互インダクタンスなどの影響による電機子反作用や、鉄芯のレラクタンスなどにより、その時の速度や電流によって自分のコイルから出た磁界の影響で逆起電力の移送や波形やレベルが歪み、目標トルクが出せないことがある。それらを補正するために、進角補正を実施する。例えば、図9の説明でも述べたように、位相が若干進んだホール信号を出力するようにホール素子をモータ105内に設置しておき、可変遅延回路1025は、演算部1021からの出力に応じて、ホール信号の位相を進角又は遅角するようにする。本実施の形態における進角補正部1207図11参照は、例えば図14に示すような機能ブロック構成で実現される。この例では、進角値が、車速とトルクとで独立に影響を受けるとする場合の構成例を示す。図14の例における進角補正部1207は、第1進角算出部3021と、第2進角算出部3022と、加算部3023及び3024とを有する。この場合、第1進角算出部3021は、目標トルク値に対して、予め設定されている進角/トルク係数を乗じて、第1の進角値を算出する。また、第2進角算出部3022は、車速値に対して、予め設定されている進角/車速係数を乗じて、第2の進角値を算出する。加算部3023は、第2の進角値と、予め設定されている初期固定進角値ホール信号が予め有している進角値とを加算して、加算結果を加算部3024に出力する。加算部3024は、加算部3023の加算結果と、第1の進角値とを加算して、進角値を得る。このように車速とトルクとで独立に影響を受けるというモデルの場合には、それぞれについて換算係数を用意することで、調整が可能となる。一方、進角値が、車速とトルクとの相乗効果として影響を受ける場合における進角補正部1207は、例えば図15に示すような機能ブロック構成で実現される。図15の例における進角補正部1207は、乗算部3031と、進角算出部3032と、加算部3033とを有する。乗算部3031は、例えば目標トルク値と車速値との積を算出し、進角算出部3032に出力する。進角算出部3032は、予め設定されている進角/トルク車速係数を、乗算部3031からの出力値に対して乗じて、変動分の進角値を算出する。加算部3033は、この進角算出部3032の出力値と、予め設定されている初期固定進角値とを加算することで、進角値を算出する。このような場合であっても、適切な進角/トルク車速係数という換算係数を用意することで、進角値の調整が可能となっている。3トルク補正部1208トルク補正部1208は、現在車速に応じて目標トルクを補正する。例えば、図16に示すような補正関数を用意して適用する。図16の例では、直線f1は、入力された目標トルクをそのまま補正後の目標トルクとして出力する場合の関数を表している。曲線f2は、車速が0の場合の関数を表しており、また、曲線f3は、車速が0を超える低速時第1の車速範囲の関数を表している。曲線f4は、車速が中速時第1の車速範囲より高速の第2の車速範囲の関数を表しており、さらに、曲線f5は、車速が高速時の関数第2の車速範囲より高速の第3の車速範囲の関数を表している。なお、カーブの形はモータの種類に応じて決定される。図16では、ブラシレス電流整流且つ鉄心コア付きモータの一例を示している。このように、高速時の方が大きな目標トルク値が出力されるような関数を採用しても良い。このようにすれば、現在速度を維持又は上げるような目標トルク値が出力されるようになる。4電流制限部1209図9に示したような回路においては、A二次電池101の放電電流及び蓄電電流の制限、BFETブリッジ1030の温度による電流制限といった電流制限を行うことになる。しかし、全体としてトルクフィードフォワード制御を行っているため、モータ駆動電流のフィードバック制御は行わずに、電池電圧、1単位時間前のPWMコード及びFETブリッジ1030の温度から、目標トルク値に制限を加える。このため本実施の形態に係る電流制限部1209は、図17に示すように、正負判定部3041と、ゼロ判定部3042と、継続判定部3043と、サンプリング部3044と、放電ディレーティング部3045と、充電ディレーティング部3046と、第1電流換算部3047と、第2電流換算部3048と、選択部3049と、電流換算部3050と、最小値出力部3051と、FET電流制限値設定部3054と、トルク換算部3052と、トルククリップ部3053とを有する。正負判定部3041は、入力された目標トルク値電流制限前目標トルク値の符号を判断して、トルククリップ部3053及び選択部3049に正又は負を表す信号を出力する。ゼロ判定部3042は、入力された目標トルク値が0であるか否かを判定し、目標トルク値が0であれば処理不要であるから出力しない。一方、目標トルク値が0でなければ継続判定部3043に出力する。継続判定部3043は、例えば4単位期間0を超える値が継続しているか確認した上で、サンプリング部3044に対してサンプリング指示を出力する。サンプリング部3044は、継続判定部3043からのサンプリング指示を受け付けている間、AD入力部1029からの電源電圧値を放電ディレーティング部3045と充電ディレーティング部3046とに出力する。本実施の形態では、図18に示すように、放電用のディレーティングカーブg1と、充電用のディレーティングカーブg2とが予め二次電池101に応じて設定されている。この例では、放電ディレーティング部3045は、電源電圧が18Vから22Vまでの間は0から1の間で、電源電圧に対して段階的にまたは連続的に単調増加する値を出力し、18V未満であれば0を出力し、蓄電量が少ない時の過放電を防止している。また、放電ディレーティング部3045は、電源電圧が22V以上であれば1を出力する。一方、充電ディレーティング部3046は、電源電圧が31V以上であれば0を出力し、27Vから31Vまでの間は0から1の間で、電源電圧に対して段階的にまたは連続的に単調減少する値を出力し、過充電を防止している。また、充電ディレーティング部3046が、電源電圧が27V以下であれば、1を出力する。第1電流換算部3047は、放電ディレーティング部3045からの出力値と予め設定されている放電電流制限値との積=電流制限値を算出し、選択部3049に出力する。一方、第2電流換算部3048は、充電ディレーティング部3046からの出力値と予め設定されている充電電流制限値との積=電流制限値を算出し、選択部3049に出力する。選択部3049は、正負判定部3041からの出力が正を表している場合には、第1電流換算部3047からの出力を電流換算部3050に出力する。一方、選択部3049は、正負判定部3041からの出力が負を表している場合には、第2電流換算部3048からの電流制限値を電流換算部3050に出力する。電流換算部3050は、選択部3049が出力した電流制限値を、1単位時間前のPWMコードで除することによって、モータ駆動電流の電流制限値に換算する。図2に示すようなスイッチングアンプはDCトランスとみなすことができ、スイッチング素子などでのロスが無い限り以下のような式が成立する。1電池電圧×デューティー比=モータ駆動電圧スイッチングアンプは定電力変換なので、電圧と電流は反比例するため以下の式が得られる。2電池電流/デューティー比=モータ駆動電流従って、電流換算部3050は、電池電圧から得られる電流制限値/PWMコードから、モータ駆動電流の電流制限値を算出する。なお、PWMコードは0となる場合もあるので、0で除することを回避するため、例えば下限値を設定しておき、下限値以下の場合には当該下限値で除することにする。一方、FET電流制限値設定部3054は、例えば図19に示すような関係から、温度入力部1022からの温度に応じてFET電流制限値を出力する。図19の例では、FET温度が85°CまではFET電流制限値は一定値となるが、85°C以上となると徐々に減少して、125°CになるとFET電流制限値は0となってしまう。FET電流制限値設定部3054は、このようなカーブに従って、FET電流制限値を特定して最小値出力部3051に出力する。なお、数式化すれば以下のように表される。FET電流制限値=定格温度125°C-FET温度FET電流制限値/定格温度125°C-ディレーティング開始温度85°C最小値出力部3051は、電流換算部3050からの出力モータ駆動電流の電流制限値と、FET電流制限値設定部3054からの出力FET電流制限値とのうち小さい方の値を特定してトルク換算部3052に出力する。トルク換算部3052は、最小値出力部3051からの出力値に対して、予め設定されている換算係数トルク/電流を乗じて換算トルク値を算出して、トルククリップ部3053に出力する。トルククリップ部3053は、制限前の目標トルク値が、トルク換算部3052からの換算トルク値以下であれば、制限前の目標トルク値を制限後の目標トルク値として出力する。一方、制限前の目標トルク値が、トルク換算部3052からの換算トルク値を超えていれば、換算トルク値を制限後の目標トルク値として出力する。以上のような演算を実施することによって、トルクフィードフォワード制御において、1二次電池101の放電電流及び充電電流の制限、2FETブリッジ1030の温度による電流制限といった電流制限を満たすような目標トルク値を生成することができるようになる。5第1デューティー比換算部1211第1デューティー比換算部1211は、トルクガード部1210からの出力に対して、予め設定されている換算係数デューティー比/トルク=dtを乗じて、トルクデューティーコードを算出する。なお、このトルクデューティーコードは、トルクスルーレート制限部1212を介して加算部1216に出力される。6速度係数修正部1214車速デューティーコードは、第2デューティー比換算部1213が、現在車速値に対して換算係数デューティー比/車速=dsを乗じて算出するようになっている。この換算係数dsは、モータ105がその速度に応じた逆起電力を発生する際のデューティー比を算出するための換算係数であり、モータ105の基本特性から一義的に求まる。しかし、実際のモータについては、ばらつきや劣化などの変動要素も存在しており、製品出荷時に一義的に設定した換算係数dsのままでは、実際のモータ特性に変動が生じた場合、速度デューティーコードが過大又は過小となってしまう場合もある。例えば、図20において点線p2で示すようなモータ特性となっており、車速に対してデューティー比Dutyが対応しているものとする。この際、換算係数dsの値が大きい場合には、図20の実線p1で示すようなモータ特性を想定してしまっているため、常に車速に対するデューティー比Dutyが多くなってしまい、制御ではゼロトルクのつもりが、力行状態となってしまう。換算係数dsの値が小さい場合には、逆に、制御ではゼロトルクのつもりが、制動状態となってしまう。従って、以下で述べるような演算にて換算係数dsを動的に修正する。具体的には、FETブリッジ1030のスイッチによるスイッチングを全く行わない場合には、モータ駆動電流は0となる。一方、目標トルク値が0となっている場合にも、本来であればモータ105の逆起電力とスイッチングアンプによる供給電圧とは一致しているためモータ駆動電流は0となるはずである。しかし、換算係数dsがずれていると、目標トルク値が0であってもトルクが発生し、モータ駆動電流が流れてしまうので、この際のモータ駆動電流を測定して、電流が流れないような方向に換算係数dsを修正する。このため、速度係数修正部1214は、例えば、図21の機能ブロック図に示すような機能にて実現される。すなわち、速度係数修正部1214は、ゼロ検出部3061と、トルク換算部3062と、マルチプレクサMUX3063と、積分器3064と、加算部3065とを有する。トルク換算部3062は、電流検出部1023からの電流値に対して、予め設定されている換算係数トルク/電流を乗じて、モータ駆動電流に相当するトルク値を算出する。また、ゼロ検出部3061は、目標トルク値が0であるか判断して、0を検出すると検出信号をマルチプレクサ3063に出力する。マルチプレクサ3063は、ゼロ検出部3061からの検出信号が出力されている場合には、トルク換算部3062からの出力値を積分器3064に出力し、検出信号が出力されていない場合には、0を積分器3064に出力する。積分器3064は、マルチプレクサ3063からの出力値を所定時間積分して、積分結果を加算部3065に出力する。加算部3065は、予め設定されている換算係数Dssから、積分結果を差し引くことによって今回使用すべき換算係数Dsaを算出し、第2デューティー比換算部1213に出力する。このようにすれば、目標トルク値が0なのにも拘わらずモータ駆動電流が流れてしまっている場合には、それを0にするような方向で換算係数Dssが調整される。また、速度係数修正部1214は、例えば、図22の機能ブロック図に示すような機能にて実現される場合もある。すなわち、速度係数修正部1214は、ゼロ検出部3061と、間欠遮断制御部3072と、第1選択部3073と、第2選択部3074と、加算部3075と、積分器3076と、加算部3077と、反転部3078とを有する。ゼロ検出部3061は、目標トルク値が0であるか判断して、0を検出すると検出信号を間欠遮断制御部3072、第1選択部3073及び第2選択部3074に出力する。間欠遮断部3072は、ゼロ検出部3061から検出信号を受け取ると、モータ駆動タイミング生成部1026に対して、FETブリッジ1030のスイッチのスイッチングを停止させる遮断信号を間欠的に出力する。第1選択部3073は、ゼロ検出部3061が検出信号を出力しており且つ間欠遮断制御部3072が遮断信号を出力している場合に、電流検出部1023からの電流値を選択して出力する。一方、第2選択部3074は、ゼロ検出部3061が検出信号を出力しており且つ間欠遮断制御部3072が遮断信号を出力していないすなわち反転部3078にて間欠遮断制御部3072からの遮断信号がオフの際にオンとなる場合に、電流検出部1023からの電流値を選択して出力する。そして。加算部3075は、第1選択部3073からの出力値から第2選択部3074からの出力値を差し引くことによって誤差を算出する。このようにすれば、電流検出部1023自体に何らかの誤差が発生している場合であっても、第1選択部3073及び第2選択部3074の出力の差によって電流検出部1023の影響をキャンセルすることができるようになる。そして、積分器3076は、加算部3075からの出力値を所定時間積分して、積分結果を加算部3077に出力する。加算部3077は、予め設定されている換算係数Dssから、積分結果を差し引くことによって今回使用すべき換算係数Dsaを算出し、第2デューティー比換算部1213に出力する。このようにすれば、目標トルク値が0なのにも拘わらずモータ駆動電流が流れてしまっている場合には、それを0にするような方向で換算係数Dssが調整される。なお、本演算については常に実施するというわけではなく、電動アシスト自転車1であれば、例えば車速条件5km/h乃至20km/hや加速度条件-0.02G乃至0.02Gなど安定に走行している状態等で実施する。また、頻繁に上記のような演算を実施するのは無駄であるから、例えば修正後の換算係数の変化幅が収束した場合など安定している場合には、次の演算までの時間を数分後に変えるなど、制御時間間隔をも変動させる。7第2デューティー比換算部1213上でも述べたが、第2デューティー比換算部1213は、現在車速値に対して、換算係数Dsaを乗ずることによって、車速デューティーコードを算出する。なお、この車速デューティーコードは、速度スルーレート制限部1215を介して加算部1216に出力される。8PWMコード生成部1217PWMコード生成部1217は、加算部1216によるトルクデューティーコード及び車速デューティーコードの加算結果であるデューティーコードに対して、AD入力部1029からの電池電圧/基準電圧例えば24Vを乗ずることによって、最終的なPWMコードを算出して、モータ駆動タイミング生成部1026に出力する。9回生ブレーキ目標トルク演算部1201ブレーキレバーによってユーザがブレーキ指示を入力して、ブレーキセンサ104がこのブレーキ指示を検出すると、ブレーキ入力部1028にブレーキありを表す信号場合によってはブレーキの強弱を表す信号を出力する。ブレーキ入力部1028は、この信号に応じて、以下で述べるような演算を行って、適切な回生ブレーキトルク値を算出する。具体的には、図23を用いて説明する。図23の横軸は、回生ブレーキトルクの設定値を表し、縦軸は、対応するトルク値、効率又は電力を表す。このグラフでは、直線r1で示すように、回生ブレーキトルクの設定値が現在の車速相当値になれば回生効率は0となり、回生ブレーキトルク値が0であれば回生効率は100となる。一方、直線r2で示すように、回生ブレーキトルクの設定値が0であれば、ブレーキトルク値は0であり、回生ブレーキトルクの設定値が車速相当値であれば、ブレーキトルク値は車速相当値となる。そうすると直線r1で表される回生効率及び直線r2で表されるブレーキトルクからして、回生電力は曲線r3のようになり、回生ブレーキトルクの設定値が車速相当値の1/2の時に回生効率50で回生電力が最大となる。すなわち、車速相当値の1/2に回生ブレーキトルクを設定することによって、回生電力を最大化することができる。このことをベースに、回生ブレーキ目標トルク演算部1201でどのような回生ブレーキ目標トルク値を出力するかについて図24乃至図26を用いて説明する。図24の横軸は車速を表しており、縦軸は回生ブレーキ目標トルク値を表す。点線の直線q1は、車速相当値の回生ブレーキ目標トルク値を出力する場合の車速-トルク関係を表しており、図23を用いて説明したように回生効率0ショートブレーキである。この直線q1より上の領域では、電力持ち出しブレーキとなる。また、点線の直線q2は、車速相当値の1/2の回生ブレーキ目標トルク値を出力する場合の車速-トルク関係を表しており、図23を用いて説明したように回生効率50で、最大回生電力を得ることができる。この直線q2より上の領域は、機械ブレーキ併用の方が有利な領域である。従って、直線q2以下の領域で、制約条件を加味しつつ適切なカーブを採用する。各速度においての瞬時回生効率は、その瞬間の速度における逆起電力電圧に対するその瞬間の回生ブレーキ電圧の比で決まる。瞬時回生効率=1-回生ブレーキ電圧/逆起電力電圧=1-回生トルク/車速相当トルク値任意の速度から任意の停止要求距離において、停止距離以外の他の制約が一切無い状態では、その停止距離で最大回生効率、すなわちトータルで最大回生電力量を得るには、どの速度でも均等な、回生効率一定のカーブ、すなわち原点を通る比例直線となる。直線q10は、停止要求距離が十分に長ければX軸に近づき、回生効率は100に近づく。一方、停止要求距離がある程度短くなると直線q10は、最大瞬時回生電力が得られる直線q2と同じになり、その時のトータルの回生効率は50となる。さらに、それより停止要求距離が短い場合、回生トルクカーブは最大瞬時回生電力が得られる直線q2と同じままで機械ブレーキの併用が必要となる。それ以上回生ブレーキのトルクを大きくすると、瞬時回生電力が逆に減ってしまうので、それ以上は機械ブレーキに回した方が得だからである。また、考慮すべき制約条件としては、高速域での最大定制動ラインを表し且つ横軸に平行な点線の直線群q7、低速域での最低定制動ラインを表し且つ横軸に平行な点線の直線群q6などがある。実際に直線q10を採用すると、時間に対する減速カーブは指数関数的に減衰するカーブとなり、停止距離は一定でも、停止時間が無限大となってしまうため、低速側では回生効率を多少犠牲にしても大きなトルクを維持する直線q6を採用する。さらに低速で直線q6が直線q2を上回る領域になると回生効率の悪化のみならず、瞬間回生電力も逆に減少することになるため、各速度での瞬間回生電力が最大となる直線q2に移行させ、機械ブレーキを併用して停止に至らせる。一方、逆に速度が大きい場合には、定率の高効率回生直線である直線q4のままではブレーキトルクが大きくなりすぎて危険なため、一定の最大トルク制限をかけるための直線q7に移行させる。これに中速域では、点線の直線q3から直線q5までの15乃至35定率制動ライン回生効率85乃至65をも考慮すると、太線q11で表されるような折れ線のカーブが採用される場合もある。なお、中速域では、直線q4を採用している。これによって、中速域で高効率に電池回生を行うことができる。なお、さらなる制約条件としては、二次電池101に基づき設定される電池充電電流制限ラインを表す曲線群q8電池の種類及び状態によって異なる、さらなる低速域での回生効率50ラインの直線q2などがある。電池電圧を一定とすると、電池の最大充電電流制限により回生電力が一定となる。電池電圧×電池充電電流=一定回生電力=モータ逆起電力×モータ電流モータ逆起電力は速度に比例、モータトルクはモータ電流に比例するため、その積が一定なのでモータ電流は速度に反比例する。そのため曲線群q8は速度に反比例した双曲線カーブとなる。電池電圧、すなわち電池残量や電池温度によるディレーティングにより最大充電電流も可変し、上で示した式により一定回生電力自身も電池電圧に比例するため、複数の双曲線カーブとして表されている。また、回生ブレーキの優劣は、一定速度から、求められる一定距離一定時間ではない以下で停止した場合の総回生電力が大きい方が優秀であるものとする。この際、所定距離以下で止まれない場合は、止まれるところまで機械ブレーキを併用する。一定距離以下という制約が無いと、機械的ロスが問題にならないほどの範囲ではなかなか止まらない効きの悪い軽回生制動ほど回生効率が有利となってしまい、それではブレーキの意味が無いためである。従って、ブレーキ機能として作用するように所定距離以下で止まれる範囲まで機械ブレーキを併用した状態で評価する。図24のカーブq11は一例であって、図25に示すようなカーブq13を採用するようにしても良い。カーブq13は、低域では上で述べた曲線q2に沿った形を有し、速度が上がると回生ブレーキ目標トルク値は一定となり、高速域では電池充電電流制限ライン群q8により制限されている。なお、点線の直線q12は、25制動ライン回生効率75を表している。高速域になると、電池充電電流制限ライン群q8で制限される付近で、この直線q12を下回るようになる。また、図26に示すようなカーブを採用するようにしても良い。図26は、ブレーキ入力部1028から、要求ブレーキ強度を受け取った場合の例を示している。この例では、要求ブレーキ強度が小の場合には曲線q14を採用し、要求ブレーキ強度が中の場合には曲線q15を採用し、要求ブレーキ強度が大の場合には曲線q16を採用する。曲線q16については、電池充電電流制限ライン群q8の1つによって制限されている。このような場合でも、低速時には直線q2に沿っていて、この直線を上回ることはない。なお、このような3段階ではなく、より多くの段階又は少ない段階に応じた曲線を規定するようにしても良い。さらに、要求ブレーキ強度に応じた回生ブレーキ目標トルク値の関数を別途定義するようにしても良い。次に、図24に示したカーブq11を実現するための回生ブレーキ目標トルク演算部1201の機能ブロック図を図27に示す。図27における回生ブレーキ目標トルク演算部1201は、換算部3081と、乗算部3086と、乗算部3082と、最小値出力部3083と、最大値出力部3084と、最小値出力部3085とを有する。換算部3081は、車速入力部1024からの現在車速に対して、予め設定されている換算係数を乗じることによって、現在車速をトルク換算する。この換算係数は、車速をデューティー比に変換する換算係数デューティー比/車速の係数を、トルクをデューティー比に変換する換算係数デューティー比/トルクの係数で除することによって得られる。そして、乗算器3082は、換算部3081の出力値に1/2を乗じる。これによって、図24における直線q2上の対応する点を求めている。そして、最小値出力部3083は、予め設定されている最小回生トルク設定値図24の直線群q6と、換算部3081の出力値の1/2の値とを比較して、小さい方の値を出力する。また、乗算部3086は、換算部3081の出力値に対して、予め設定されている中速域における回生制動率設定値rbを乗じて、最大値出力部3084に出力する。最大値出力部3084は、最小値出力部3083の出力値と図24における直線q3乃至q5のうち該当する値とを比較して、大きな方の値を出力する。さらに、最小値出力部3085は、最大値出力部3084からの出力値と、予め設定されている最大回生トルク設定値図24の直線群q7とを比較して、小さい方を回生ブレーキ目標トルク値として出力する。このようにすれば、図24に示したカーブq11を実現できるようになる。[実施の形態4]本実施の形態では、目標トルク値からトルクデューティーコードを算出するための換算係数トルク対デューティー比係数とも呼ぶの自動較正をせずにそのばらつきの影響を軽減する。磁束密度Bの中の長さLに電流Iを流した時に発生する力Fはフレミングの左手法則より、F=B×L×Iとなり、自転車の車輪におけるトルクTはこのFに一定比率Ktで比例し、トルクデューティー比に比例した電圧をVt、コイルの抵抗をRとすると、以下のような式が成り立つ。Kt×T=B×L×I=B×LVt/RKtは固定比例定数トルク対デューティー比係数をDtとすると、Dt=Vt/T=Kt×R/B×Lと変形でき、ばらつき要因はコイルの長さ、抵抗、磁束密度となる。そのうち、コイルの抵抗は銅線である限り材料による差は少なく機械的寸法のばらつきに起因する。磁束密度Bは磁石の起磁力と磁路抵抗によって決まり、磁石の材料、磁路の材料により大きくばらつく。また、磁束密度Bの中を長さLの導体が速度vで横切るときに発生する起電力Eはフレミングの右手法則より、E=BLvとなる。すなわち、起電力Eはモータにおける起電力、すなわち速度デューティー比に一定比率で比例し、自転車の車速Sはコイル速度vに一定比率で比例するため、速度デューティー比に比例した電圧をVsとすると、以下のように表される。Vs=Kv×B×L×SKvは固定比例定数速度対デューティー比係数をDsとすると、Ds=Vs/S=Kv×B×Lと変形でき、ばらつき要因はコイルの長さ、磁束密度となる。このとき、トルク対デューティー比係数Dtと速度対デューティー比係数Dsの式には共通してB×Lが入っていて、それぞれ反比例関係と比例関係にある。つまりB×Lに起因するばらつきに対して、DtとDsは反比例連動してばらつくことになる。そこで、基準標準設定の速度対デューティー比係数をDss、較正済み速度対デューティー比係数をDsaとし、基準標準設定のトルク対デューティー比係数をDts、補正済みDtをDtaとすると、以下の式にて、推定補正したDtaを得ることができる。Dta=Dts×Dss/Dsa従って、図28の機能ブロック図に示すように本実施の形態に係るトルク対デューティー比係数の補正部は、ゼロ検出部3061と、トルク換算部3062と、マルチプレクサ3063と、積分器3064と、加算部3065と、除算部13066と、乗算部13067とを有する。トルク換算部3062は、電流検出部1023からの電流値に対して、予め設定されている換算係数トルク/電流を乗じて、モータ駆動電流に相当するトルク値を算出する。また、ゼロ検出部3061は、目標トルク値が0であるか判断して、0を検出すると検出信号をマルチプレクサ3063に出力する。マルチプレクサ3063は、ゼロ検出部3061からの検出信号が出力されている場合には、トルク換算部3062からの出力値を積分器3064に出力し、検出信号が出力されていない場合には、0を積分器3064に出力する。積分器3064は、マルチプレクサ3063からの出力値を所定時間積分して、積分結果を加算部3065に出力する。加算部3065は、予め設定されているDssから積分器3064の出力値を差し引き、算出結果Dsaを除算部13066に出力する。除算部13066は、予め設定されているDssを加算部3065の算出結果Dsaで除する演算を実施し、乗算部13067に出力する。そして、乗算部13067は、予め設定されているDtsと除算部13066との積であるDtaを算出する。このDtaが、トルク対デューティー比係数Dtaである。このようにすれば、コイルの長さ、磁束密度といったばらつき要因からの影響を軽減できるようになる。さらに、トルク対デューティー比係数の補正部は、例えば、図29の機能ブロック図に示すような機能にて実現される場合もある。すなわち、トルク対デューティー比係数の補正部は、ゼロ検出部3061と、間欠遮断制御部3072と、第1選択部3073と、第2選択部3074と、加算部3075と、積分器3076と、加算部3077と、除算部13078と、乗算部13079と、反転部3078とを有する。ゼロ検出部3061は、目標トルク値が0であるか判断して、0を検出すると検出信号を間欠遮断制御部3072、第1選択部3073及び第2選択部3074に出力する。間欠遮断制御部3072は、ゼロ検出部3061から検出信号を受け取ると、モータ駆動タイミング生成部1026に対して、FETブリッジ1030のスイッチのスイッチングを停止させる遮断信号を間欠的に出力する。第1選択部3073は、ゼロ検出部3061が検出信号を出力しており且つ間欠遮断制御部3072が遮断信号を出力している場合に、電流検出部1023からの電流値を選択して出力する。一方、第2選択部3074は、ゼロ検出部3061が検出信号を出力しており且つ間欠遮断制御部3072が遮断信号を出力していないすなわち反転部3078にて間欠遮断制御部3072からの遮断信号がオフの際にオンとなる場合に、電流検出部1023からの電流値を選択して出力する。そして。加算部3075は、第1選択部3073からの出力値から第2選択部3074からの出力値を差し引くことによって誤差を算出する。このようにすれば、電流検出部1023自体に何らかの誤差が発生している場合であっても、第1選択部3073及び第2選択部3074の出力の差によって電流検出部1023の影響をキャンセルすることができるようになる。そして、積分器3076は、加算部3075からの出力値を所定時間積分して、積分結果を加算部3077に出力する。加算部3077は、予め設定されているDssから積分器3076の出力値を差し引き、算出結果Dsaを除算部13078に出力する。除算部13078は、予め設定されているDssを加算部3077の算出結果Dsaで除する演算を実施し、乗算部13079に出力する。そして、乗算部13079は、予め設定されているDtsと除算部13078との積であるDtaを算出する。このDtaが、トルク対デューティー比係数Dtaである。このようにすれば、コイルの長さ、磁束密度といったばらつき要因からの影響を軽減できるようになる。[実施の形態5]例えば鍵でロックした場合などペダル駆動輪図8の場合には後輪を動かないようにした場合にペダルを踏むと、例えば第3の実施の形態においては、トルクセンサ103によりトルク入力が検出されて、演算部1021により入力トルクに応じたモータ駆動が行われる。すなわち、ペダル駆動輪を動かないようにしているので、モータ駆動輪図8の場合には前輪が空転するという現象が生ずる。そこで、本実施の形態では、例えば第3の実施の形態を図30のように変形させることで、上記のような現象を防止する。なお、図11に示した進角補正部1207以降の構成要素については図11と同様であるから図示を省略しているが、その部分については構成も同様であり且つ動作も同じであるから、説明を省略する。本実施の形態では、ペダル回転センサ109を追加すると共に、例えば操作パネル106を介して変速機のギア比変速比とも呼ぶを設定するようになっており、制御器1020は、操作パネル106からギア比を示す信号を得ることができるものとする。但し、操作パネル106からギア比を示す信号が得られない場合であっても、以下で述べるように対処可能である。また、本実施の形態では、制御器1020は、車速推定部1031をさらに有する。車速推定部1031は、ペダル回転センサ109から得られるペダル回転周波数とギア比と他のパラメータとから、ペダル駆動輪についての車速を推定し、推定車速を演算部1021に出力する。また、演算部1021は、マージン付加部1261と、比較部1262と、ペダルトルク存在判定部1263と、論理積部1264と、マルチプレクサMUX1265とをさらに有する。なお、図11においては、演算部1021において、ブレーキ入力なしの場合にアシスト有効化部1204を動作させ、ブレーキ入力ありの場合にアシスト有効化部1204を無効化するようになっている。しかし、本実施の形態では、ブレーキ入力なし且つ論理積部1264からの出力が0すなわち空転無しの場合負論理入力論理積部1266の両入力が負論理の場合にアシスト有効化部1204を動作させる。その上で、ブレーキ入力無し又は論理積部1264からの出力が1すなわち空転有りの場合にアシスト有効化部1204を無効化させる0を出力するように制御するようになっている。車速推定部1031は、ペダル回転センサ109から得られるペダル回転周波数と、操作パネル106から得られるギア比と、ペダル駆動輪の周長との積を、推定車速として算出し、マージン付加部1261へ出力する。なお、操作パネル106などからギア比が得られない場合には、予め定められた最大ギア比を使用する。なお、最大ギア比自体が1である場合もある。マージン付加部1261は、推定車速に対して、マージン比率を乗じた上で、全体についてのマージンを加算し、マージン付加後の推定車速を出力する。マージン比率は、例えば1.06程度であるが、タイヤ個体差マージン、空圧低下時の車輪径マージン、ハンドル切れ角マージンなどを考慮した値となる。また、全体についてのマージンについては、例えば1km/時程度であるが、ペダル回転周波数を安定的に検出できる速度などを考慮した値となる。マージン付加部1261の出力は、比較部1262に入力され、比較部1262は、車速入力部1024からの現在車速Aとマージン付加部1261からのマージン付加後の推定車速Bとを比較する。この比較において、A>Bが成立する場合、すなわちモータ駆動輪の車速>ペダル駆動輪の車速となっているか判断する。比較部1262は、モータ駆動輪の車速>ペダル駆動輪の車速が成立している場合には1を論理積部1264に出力し、モータ駆動輪の車速>ペダル駆動輪の車速が成立していない場合には0を論理積部1264に出力する。一方、ペダルトルク存在判定部1263は、トルクセンサ103からの入力トルクが所定の閾値以上であるか判断する。所定の閾値は、入力トルクが0とみなせる上限値として設定される。そして、ペダルトルク存在判定部1263は、入力トルクが所定の閾値以上である場合には1を出力し、入力トルクが所定の閾値未満である場合には0を出力する。論理積部1264は、ペダルトルク存在判定部1263からの出力と比較部1262からの出力の論理積を演算する。具体的には、入力トルクが0でなく所定の閾値以上且つモータ駆動輪の車速>ペダル駆動輪の車速が成立する場合に1を出力し、入力トルクがほぼ0所定の閾値未満又はモータ駆動輪の車速>ペダル駆動輪の車速が成立しない場合には0を出力する。すなわち、1の場合にはモータ駆動輪が空転しているとみなすことができ、0の場合にはモータ駆動輪は空転していないとみなすことができる。従って、マルチプレクサ1265は、論理積部1264から1が入力されると、マージン付加部1261の出力マージン付加後の推定車速を、第2デューティー比換算部1213に出力する。一方、論理積部1264から0が入力されると、現在車速を第2デューティー比換算部1213に出力する。すなわち、モータ駆動輪が空転しているとみなされる場合には、ペダル回転センサ109の出力から推定される車速をベースに制御を行う。ペダル駆動輪が動かないようにしている場合には、ペダル駆動輪についての推定車速はほぼ0であるから、モータ駆動は抑制される。また、アシスト有効化部1204についても、上で述べたように、モータ駆動輪が空転しているとみなされる場合には、無効化される出力が0に設定されるので入力トルクに応じたモータ駆動は行われなくなる。このようにして、前輪が空転するような事態を回避できるようになる。このように、論理積部1264の出力は、モータ駆動輪の空転有りとされた場合においてモータ駆動を抑制する制御信号となる。なお、車速推定部1031とマージン付加部1261とを統合して、マージン付加の仕方を変えることもできる。例えば、マージン比率のようにギア比に乗算する形ではなく、ギア比に加算するようなマージンを付加するように変更するようにしても良い。その他の構成要素についても、統合される場合もある。さらに、上で述べたように、ほぼ、現在車速>ペダル回転周波数×ペダル駆動輪の周長×ギア比といったような判断を行っている。従って、例えば、ギア比=現在車速/ペダル回転周波数×ペダル駆動輪の周長で算出して、ギア比が最大ギア比を超えるような値となった場合には、比較部1262でA>Bと判断した場合と同じ信号を出力するようにしても良い。また、現在車速/ペダル回転周波数×ペダル駆動輪の周長×ギア比=指標値>1といったような演算にて判断するようにしても良い。その他の指標値を用いるように変形することも可能である。また、ペダル駆動輪の回転数が直接得られる場合には、ペダル回転数の代わりにペダル駆動輪の回転数を用いることができる。例えば図31に示すように、ペダル回転センサ109の代わりにペダル駆動輪回転センサ1267を導入する。この場合にはペダル駆動輪の回転数が直接検出されているわけであるから、ペダルとペダル駆動輪の間の動力伝達経路に介在するフリーホイールのロック、アンロックの状態を考慮する必要は無い。従って、図30の場合には用いられていたペダルトルク存在判定部1263及び論理積部1264は不要で、比較部1262の出力が、マルチプレクサ1265及び負論理入力論理積部1266に直接供給される。なお、ペダル駆動輪回転センサ1267は、図8のような電動アシスト自転車1であれば、後輪駆動なので後輪の車軸などに設けられる。なお、本実施の形態は、例えばこぎ出し時に、ほとんど動いていない自転車に、過度にペダルにトルクをかけるような場面においても、モータ駆動が抑制されて安全面で効果がある。以上本発明の実施の形態を説明したが、本発明はこれに限定されない。上で述べた機能を実現する具体的な演算手法は複数存在しており、いずれを採用しても良い。また、演算部1021の一部については専用の回路で実現される場合もあれば、マイクロプロセッサがプログラムを実行することで上記のような機能が実現される場合もある。