"各気筒毎に燃料噴射弁が設けられるとともに、長手方向の一部に伝達される回転動力により回転駆動されるカムシャフトに、複数の気筒の吸気弁もしくは排気弁を開閉作動させる複数のカムが設けられた多気筒内燃機関の制御装置において、上記カムシャフトに取り付けられ、このカムシャフトのねじれを検出する歪みセンサと、各気筒の空燃比を均一化するように、上記カムシャフトのねじれに基づいて、燃料噴射量を各気筒毎に補正する燃料噴射量補正手段と、を有することを特徴とする多気筒内燃機関の制御装置。上記燃料噴射量補正手段は、上記カムシャフトのねじれに基づいて、上記吸気弁もしくは排気弁のバルブタイミングを各気筒毎に算出し、このバルブタイミングに基づいて、吸入空気量を各気筒毎に算出し、この吸入空気量に基づいて、燃料噴射量を各気筒毎に補正することを特徴とする請求項1に記載の多気筒内燃機関の制御装置。燃焼室内の混合気を火花点火する点火装置が各気筒毎に設けられ、各気筒の発生トルクを均一化するように、上記燃料噴射量補正手段による補正後の燃料噴射量に応じて、点火時期を各気筒毎に補正する点火時期補正手段を有することを特徴とする請求項1又は2に記載の多気筒内燃機関の制御装置。上記歪みセンサは、カムシャフトの長手方向の複数箇所前端位置、後端位置及び中央位置の三箇所に設けられていることを特徴とする請求項1~3のいずれかに記載の多気筒内燃機関の制御装置。上記歪みセンサは、半導体基板に複数の拡散抵抗からなるホイートストンブリッジ回路を形成した半導体型歪みセンサであることを特徴とする請求項1~4のいずれかに記載の多気筒内燃機関の制御装置。内燃機関の回転体であるカムシャフトは、長手方向の一端側でタイミングベルトやチェーンを介して回転駆動されることから、特に高回転高負荷側において、長手方向の一端と他端との間でねじれを生じる。このねじれによる歪み変形によって、カムシャフトにより駆動される複数の気筒の吸気弁のバルブタイミングが異なるものとなると、気筒間で吸入空気量のばらつきを生じ、ひいては気筒間で空燃比のばらつきを生じて、三元触媒等による所期の排気浄化性能を阻害するおそれがある。本発明は、このような事情に鑑みてなされたものであり、上述したような歪みセンサを利用して、多気筒内燃機関のカムシャフトのねじれに起因する気筒間の空燃比のばらつきを抑制することを目的としている。そこで本発明では、歪センサをカムシャフトに取り付けて、このカムシャフトのねじれを検出し、このねじれに基づいて、各気筒の空燃比を均一化するように、燃料噴射量を各気筒毎に補正するように構成した。歪センサとしては、半導体基板に拡散抵抗及び増幅回路を形成した半導体型の歪みセンサが好適である。このような半導体型歪みセンサは、非常に高い感度が得られるために、カムシャフトのねじれによる僅かな歪みや変位を高精度に検出することができる。特に、増幅回路を一体化したものでは、耐ノイズ性が高く、内燃機関の動弁系の振動やノイズの影響を受けない。さらに、歪センサは1~2mm角以下の非常に小型で軽量であることから、カムシャフトに取り付けた場合であっても自身の質量に起因した遠心力が小さく、カムシャフトへの接着や接合も容易に行うことができる。本発明によれば、多気筒内燃機関のカムシャフトのねじれに起因する気筒間の空燃比のばらつきを抑制することができる。以下、本発明に係る多気筒内燃機関の制御装置の好ましい実施の形態を図面を参照して説明する。図1は、本発明の一実施例に係る直列4気筒火花点火式内燃機関の制御装置を示す概略構成図である。内燃機関1のシリンダブロック1aには、ピストン3が摺動自在に配置されたシリンダボア2が形成されており、ピストン3の上方に燃焼室4が画成されている。シリンダヘッド1bに形成されるペントルーフ型の燃焼室4の天井部中央には、燃焼室4内の混合気を火花点火する点火装置としての点火プラグ5が設けられている。また、燃焼室4には、吸気弁6を介して吸気通路7が接続するとともに、排気弁8を介して排気通路9が接続している。吸気通路7には、吸入空気量を調整するスロットル弁10が設けられるとともに、吸気ポートへ向けて燃料を噴射供給する燃料噴射弁17が各気筒毎に設けられている。なお、このようなポート噴射型の構成に限らず、後述するように、各気筒の燃焼室4内に燃料を直接的に噴射する筒内直接噴射型の構成であっても良い。排気通路9には、排気ガスを浄化する三元触媒11が設けられるとともに、この触媒11の上流側と下流側のそれぞれに、排気の空燃比を検出する酸素濃度センサ等の空燃比センサ12,13が設けられており、これらの空燃比センサ12,13の検出信号に応じて空燃比制御が行われる。例えば特定の運転条件下では、排気の空燃比を目標空燃比理論空燃比の近傍に維持するように、空燃比センサ12,13により検出される空燃比と目標空燃比との差分に応じて燃料噴射量を調整する、周知の空燃比フィードバック制御が行われる。また、内燃機関1には、ウォータジャケット18内の冷却水温を検出する水温センサ14、スロットル弁10の開度を検出するスロットル開度センサ15、後述するカムシャフト23,24の回転角度からカム角を検出するカム角センサ16、クランクシャフト21のひいてはクランク角を検出するクランク角センサ196図2参照の他、後述する歪みセンサ35などの各種センサが設けられており、これらの検出信号ないし出力信号が、エンジンコントロールユニットECU20に入力されている。なお、カム角センサとクランク角センサの一方の回転角度からカム角及びクランク角を検出するとを別個に備えた構成としても良い。図2は、この内燃機関の動弁系を示す斜視図であり、図3は、動弁系の要部を示す概略斜視図である。この内燃機関1は、気筒列方向に沿って機関前側より4つの1~4気筒が直列に配置された直列4気筒式のものである。クランクシャフト21はコネクティングロッド22を介して各気筒のピストン3と接続しており、これらピストン3及びコネクティングロッド22を介して燃焼圧がクランクシャフト21に回転動力として伝達される。一例として、点火順序は1→3→4→2とされ、爆発間隔が等間隔となるように、各気筒のクランクピンは点火順に180度の位相差をもって配置されている。なお、図2では分かり易くするために4つの気筒のうち機関後端の4気筒の構成のみを描いている。動弁系は、各気筒毎に一対の吸気弁6及び一対の排気弁8が設けられるとともに、吸気弁6の上方に吸気側カムシャフト23、排気弁8の上方に排気側カムシャフト24がクランクシャフト21と平行に設けられた、いわゆるDOHCダブルオーバーヘッドカム機構とされている。なお、動弁系としてはこれに限らず、例えばロッカアームやスイングアームを用いた機構であっても良い。クランクシャフト21の回転を1/2に減速してカムシャフト23,24へ伝達する機構として、この例では歯付きベルトであるタイミングベルト25を備えた機構が用いられている。タイミングベルト25は、クランクシャフト21の前端に設けられたクランクプーリ26と、カムシャフト23,24の前端に設けられたカムプーリ27,28と、にわたって巻き掛けられている。また、タイミングベルト25のベルト張力を適切に保ちつつ軌跡レイアウトを適正化するように、タイミングベルト25には、テンショナ29Aやアイドラプーリ29B等が設けられている。なお、吸排気弁への動力伝達機構としては、このようなタイミングベルト25を用いたものに限らず、ギヤやチェーンを用いた機構であっても良い。図3にも示すように、吸気側カムシャフト23には、各気筒毎に一対のカム30が設けられており、各カム30には、バルブリフト特性に応じた所定のカムプロフィールを有するカムノーズ31が設けられている。カムシャフト23の回転に応じてカムノーズ31がバルブリフタ32を押圧することで、バルブスプリング反力及び筒内圧に抗して吸気弁6がバルブステム33を介して機械的に開閉作動するようになっている。排気側カムシャフト24についても吸気側カムシャフト23と同様の構造である。各気筒の燃焼サイクルに応じて吸気弁や排気弁が適切なタイミングで開閉するように、各気筒のカム30は点火順に90度クランク角で180度の位相差をもって配置されている。カムシャフト23,24は、カムプーリ27,28が設けられた長手方向の一端側機関前端側で駆動されるために、エンジン負荷やエンジン回転数回転速度に応じて、カムシャフトの前端と後端とで回転位相差を生じ、いわゆるねじれを生じる。このねじれによるカムシャフトのねじれ角前端のカムプーリ27,28の回転位相に対する回転位相差は、機関後側に向かうほど大きくなる。このため、例えば図4に示すように、図中の二点鎖線の特性で示す機関前側の1気筒のバルブタイミングに対し、図中の実線の特性で示す機関後側の4気筒のバルブタイミングが遅角して、バルブタイミングが気筒間で不均一となる。図示の例では、1気筒に比して4気筒の吸気弁のバルブタイミングが遅角することで、吸気弁の開時期が排気上死点TDCから遅れるとともに、吸気弁の閉時期が吸気下死点BDCから更に遅角している。このため、吸入空気量が低下するとともに、燃焼安定性が低下することとなる。このように気筒間でバルブタイミングがばらつくと、気筒毎に吸入空気量がばらつき、ひいては、気筒毎に空燃比が異なる形となって、目標空燃比から乖離して、三元触媒11を利用した所期の排気浄化性能を得ることができない。そこで本実施例では、カムシャフト23のねじれを検出する歪みセンサ35を設けている。そして、後述するように、このカムシャフト23のねじれに基づいて、燃料噴射量を各気筒毎に補正することで、各気筒の空燃比を均一化するように構成している。なお、ここでは、吸入空気量に対する影響の大きい吸気側カムシャフト23に歪みセンサ35を設けた例について説明しているが、排気側カムシャフト24にも同様に歪みセンサ35を設け、このセンサ出力を後述する吸入空気量の算出等に反映させるようにしても良い。歪みセンサ35は、例えば接着剤を用いてカムシャフト23の外周面に接着され、あるいは接合もしくは嵌合される。この歪みセンサ35により検出されるカムシャフト23の歪みに対応するセンサ出力に基づいて、各気筒におけるカムシャフト23のねじれ角前端位置に対する回転位相差が求められる。カムシャフト23のねじれ角は後端側へ向かうに従って累積する形で大きくなることから、各気筒のねじれ角は、例えばカムシャフト23の前端位置からの所定区間毎のねじれ角を積算することにより求められる。この実施例では、図3に示すように、歪みセンサ35が、カムシャフト23における外周面の三箇所、詳しくは、前端に設けられたカムプーリ27と1気筒のカム30との間の前端位置35A、2気筒のカム30と3気筒のカム30との間の中央位置35B、及び4気筒のカム30の後方の後端位置35C、の三箇所に設けられている。この場合、カムシャフト23を長手方向で前側部分,中央部分,及び後側部分の3つの区間に分けて各区間毎にねじれ角を測定することが可能となるために、カムシャフト23の長手方向位置によって変形量が異なる場合であっても、個々の気筒のねじれ角を高精度に検出することが可能となる。なお、歪みセンサ35の設置位置や個数はこれに限られず、検出精度やコスト等を勘案して適宜に設定することができ、例えば、前端位置35Aと後端位置35Cの二箇所、あるいは中央位置35Bの一箇所のみとしても良い。歪みセンサ35の具体的な構造については、上記の特開2006-220574号公報に記載されているように公知であるために、詳細な説明は省略するが、基本的には、半導体基板に複数の拡散抵抗からなるホイートストンブリッジ回路を形成するとともに、増幅回路を同じ基板上に形成した半導体型歪みセンサから構成されている。原理としては、カムシャフト23にねじれによる歪みが生じると、せん断応力が発生し、このせん断応力をシリコン基板のピエゾ抵抗効果を利用して検出することにより、カムシャフト23のねじれを計測するものである。このような半導体型歪みセンサ35は、特定の方向一般的には互いに直交する2方向に沿った歪みに対して高い感度を有している。従って、この歪み検出方向がカムシャフト23のねじれを精度良く検出可能なように歪みセンサ35が配置される。一例として、図示するように、この歪みセンサ35の歪み検出方向である矩形状のチップの対角線の方向が、カムシャフト23の周方向及び軸方向に沿うように配置される。半導体型歪みセンサ35の感度は非常に高く、カムシャフト23の極僅かな歪みやねじれを高精度に測定することができる。また、1~2mm角程度の小型軽量の構成であるために、カムシャフト23に取り付けた場合であっても自身の質量に起因した遠心力が小さく、接合も容易である。特に、増幅回路を一体化した半導体型歪みセンサ35にあっては、耐ノイズ性が高く、振動等のノイズ源の多い動弁系のカムシャフト23に適用しても、ノイズの影響を受けることがない。この歪みセンサ35は、ワイヤレスで給電ならびにエンジンコントロールユニット20へ出力信号の送信が可能な構成となっている。図5に示すように、エンジンコントロールユニット20は、周知のように、各種制御処理を演算実行するCPU101、記憶装置としてのROM102,RAM103及びEEPROM外部記憶部120の他、入力側に、IGイグニッションスイッチ41からの信号が入力されるデジタル入力回路104、カム角センサ16及びクランク角センサ196からのパルス信号が入力されるパルス入力回路105、吸入空気量を検出するエアフローセンサ42、水温センサ14、空燃比センサ12,13及び歪みセンサ35等からの信号が入力されるアナログ入力回路106が備えられ、出力側に、リレー制御43用のデジタル出力回路111が設けられるとともに、燃料噴射弁17,点火プラグ5,及びスロットル弁10用のタイマー設定出力回路112が設けられ、更に、スキャンツール44用の通信回路113等が備えられている。図6に示すように、エンジンコントロールユニット20のCPU101には、エアフローセンサ42、吸気温度を検出する吸気温センサ45、水温センサ14、クランク角センサ16、スロットル開度センサ15、空燃比センサ12,13、イグニッションスイッチ41の他、3つの歪みセンサ35A~35Cからの入力信号を入力する入出力インターフェース302が設けられる。また、4つの気筒の燃料噴射弁17と、4つの気筒の点火プラグ5には、ドライバ310を介して制御信号が出力される。この制御信号に応じて、燃料噴射量,燃料噴射時期及び点火時期が各気筒毎に制御される。図7は、エンジンコントロールユニット20により実現される制御処理を機能ブロック図として示している。エンジン運転状態検出手段51は、エアフローセンサ42,カム角センサ16、クランク角センサ196及び水温センサ14等の各種センサからの信号により、吸入空気量,エンジン回転数及び冷却水温等のエンジン運転状態を検出する。バルブタイミング算出手段52は、歪みセンサ35により検出されるカムシャフト23のねじれ角に基づいて、各気筒の実際のバルブタイミングを算出する。上述したように、後端寄りの気筒ほど、カムシャフト23のねじれ角が大きくなるために、実際のバルブタイミングは遅角する。吸入空気量算出手段53は、算出した実際のバルブタイミングに基づいて、各気筒の実際の吸入空気量を算出する。燃料噴射量補正手段54は、算出した実際の吸入空気量に基づいて、目標空燃比が得られるように、各気筒毎に燃料噴射量の補正量を算出する。燃料噴射量算出手段55は、各気筒毎の燃料噴射量の補正量と、上記のエンジン運転状態検出手段51により検出されるエンジン運転状態と、に基づいて、最終的な燃料噴射量を各気筒毎に算出する。この最終的な燃料噴射量に応じて各気筒の燃料噴射弁17が駆動制御される。なお、この例では、先ずクランクシャフトのねじれを考慮した燃料噴射量の補正量を求め、その後、エンジン運転状態を考慮して最終的な燃料噴射量を算出しているが、演算ロジックとしてはこれに限らず、エンジン運転状態に応じて基本燃料噴射量を求めた後、クランクシャフトのねじれを考慮して個々の気筒の燃料噴射量を補正するようにしても良い。図8は、歪みセンサ35を利用した燃料噴射量及び点火時期の補正制御の流れを示すフローチャートである。本ルーチンは、エンジンコントロールユニット20により各気筒毎に所定期間毎例えば、10ms毎に繰り返し実行され、これにより各気筒毎に燃料噴射量や点火時期が個別に設定される。ステップS11では、カムシャフトのねじれ角に対応する歪みセンサ35のセンサ出力を取り込む。ステップS12では、この歪みセンサ35のセンサ出力に基づいて、各気筒の実際のバルブタイミングを算出する。ステップS13では、実際のバルブタイミングに基づいて、気筒間の空燃比のばらつきを抑制するための燃料噴射量の補正が必要であるか否かを判断する。例えば、気筒間のバルブタイミングのばらつきが大きい場合には補正が必要であると判断して、ステップS14以降へ進む。一方、気筒間のバルブタイミングのばらつきが小さい場合には補正が不要であると判断して本ルーチンを終了する。ステップS14では、算出した実際のバルブタイミングに基づいて、各気筒の実際の吸入空気量を算出する。一例としては、バルブタイミングと吸入空気量との関係を予めテーブルやマップとして設定記憶しておき、これを参照して吸入空気量を求めることができる。エンジン回転数や負荷等のエンジン運転状態にもよるが、基本的には上述したように、バルブタイミングが遅角するほど、実際の吸入空気量は低下することとなる。ステップS15では、各気筒の空燃比を目標空燃比に均一化して、気筒間の空燃比のばらつきを抑制するように、各気筒毎に算出した吸入空気量に基づいて燃料噴射量を各気筒毎に補正算出する。つまり、目標空燃比が得られるように、各気筒毎に算出した吸入空気量に応じて燃料噴射量を各気筒毎に算出する。ステップS16では、算出した燃料噴射量に基づいて該当する気筒の燃料噴射弁17を駆動制御して、燃料噴射を実行する。このように気筒間の空燃比のばらつきを抑制して、各気筒の空燃比を目標空燃比に揃えることで、三元触媒11による所期の排気浄化性能を安定して維持することが可能となる。一方、このように燃料噴射量を各気筒毎に調整した場合、各気筒で発生するトルクが異なるものとなり、このような気筒間のトルクのばらつきによって振動を生じ、車両搭乗者に不快感を与えるおそれがある。従って、気筒間の発生トルクのばらつきがエンジン運転上問題となるような場合には、ステップS17において、点火時期の補正制御を各気筒毎に行う。つまり、各気筒の発生トルクを均一化するように、補正後の燃料噴射量に応じて、点火時期を各気筒毎に補正する。一例として、燃料噴射量が多く発生トルクが大きい気筒では、最適点火時期MBTに対する点火時期のリタード量を大きくして、発生トルクが最も小さい気筒のトルクに各気筒のトルクを揃えることで、各気筒の発生トルクを均一にすることができる。通常、カムシャフト後端の気筒実施例では4気筒が、ねじれの影響が大となって発生トルクが最も小さくなり、逆に、カムシャフト前端の1気筒ではねじれの影響が最も小さいために、発生トルクが大きく、点火時期のリタード量が最も大きく設定される。このように燃料噴射量の補正とあわせて点火時期の補正を各気筒毎に行うことで、各気筒の空燃比を目標空燃比に揃えた上で、更に各気筒の発生トルクを均一化することができる。図9を参照して、エンジン回転数が一定でスロットル開度の増加に伴い負荷が増加する場合Aと、負荷が一定でエンジン回転数が増加する場合Bとを比較すると、負荷が増加する場合Aの方が、エンジン回転数が増加する場合Bに比して、筒内圧の増加等の影響により、歪みセンサ35のセンサ出力の増加分R1が大きくR1>R2、つまりカムシャフトのねじれが大きい。従って、負荷が増加する加速時にはカムシャフトのねじれが大きくなって、空燃比のばらつきが大きくなる傾向にあり、本発明の適用が特に有効である。図10及び図11を参照して、上記実施例のようなポート噴射式の内燃機関とは異なり、気筒内に直接燃料を噴射する筒内直接噴射式の内燃機関に本発明を適用した場合について説明する。このような筒内直接噴射式の内燃機関にあっては、図10に示すように、高い筒内圧の燃焼室内に燃料を直接噴射する必要があるために、20MPa以上の高い燃圧が要求され、特に、高負荷側では30MPa程度といった非常に高い燃圧が必要とされる。このため、燃料タンク内の燃料を低圧燃料配管に送給するフィードポンプとは別に、高い燃圧が得られるように燃料を昇圧する高圧燃料ポンプが用いられる。この高圧燃料ポンプは、周知のように、一般的には、カムシャフトの後端部に取り付けられ、このカムシャフトの後端部に設けられた専用のカムによりプランジャを機械的に往復駆動させて燃料を昇圧するものである。この場合、カムシャフトには、カムプーリが設けられた前端部に回転動力が伝達される一方、高圧燃料ポンプが設けられた後端部に大きな負荷が作用するために、カムシャフトのねじれが大きくなる傾向にある。具体的には図11に示すように、筒内直接噴射式内燃機関では、上記実施例のようなポート噴射式内燃機関に比して、負荷の増加に伴う歪みセンサのセンサ出力の増加分R3が大きくなるとともにR3>R1、エンジン回転数の増加に伴う歪みセンサのセンサ出力の増加分R4も大きくなるR4>R2。このように筒内直接噴射式内燃機関では、負荷や回転数の増加に伴うカムシャフトのねじれが更に大きくなり、気筒間の空燃比のばらつきも大きくなることから、特に、本発明の適用が極めて有効なものとなる。"