(57)【特許請求の範囲】
【請求項１】
Ｎ極およびＳ極が対向配置されたマグネットをもち、モータのアーマチュアシャフトに結合されて該アーマチュアシャフトとともに回転する回転体と、該回転体のまわりに回転体に非接触で配置されていて前記マグネットのＮ極およびＳ極の境界線から予め定められた角度まで前記回転体が回転した位置での磁束密度に対するしきい値をもち、該しきい値によりパルス信号を発生する信号発生器を備えた回転検出センサと、オン切換えされることにより下降指令信号を発生する開スイッチと、オン切換えされることにより上昇指令信号を発生する閉スイッチと、オン切換えされることにより連続指令信号を発生する自動スイッチと、ウインドガラスに結合され、通電により該ウインドガラスを開側に駆動する一方、通電により該ウインドガラスを閉側に駆動するアーマチュアシャフトをもつモータと、上記モータに電気的に接続された駆動回路と、電源に接続されているとともに上記駆動回路に電気的に接続され、上記開スイッチの下降指令信号、上記閉スイッチの上昇指令信号、上記自動スイッチの連続指令信号により該電源の電流を駆動回路に与えるとともに、上記回転体が回転したときに回転検出センサが発生したパルス信号のエッジから、上記回転体が一回転したときに回転検出センサが発生したパルス信号のエッジまでの時間に基づき上記アーマチュアシャフトの回転速度を検出して上記ウインドガラスの動作制御を行うマイクロコンピュータをもつ制御ユニットを備えていることを特徴とするパワーウインド制御装置。
【請求項２】
マグネットには、単一のＮ極および単一のＳ極の２極が対向配置され、回転検出センサには、第１のパルス信号を発生する第１の信号発生器と、この第１の信号発生器に対し予め定められた角度を介して配置されて第２のパルス信号を発生する第２の信号発生器とが備えられており、制御ユニットのマイクロコンピュータには、時間の経過によりカウントアップするフリーランニングカウンタと、回転検出センサの第１の信号発生器が発生した第１のパルス信号の立上りエッジから、その後に回転体が一回転したときに該第１の信号発生器が発生した第１のパルス信号の立上りエッジまでの時間を回転体の回転毎に計測する第１のタイマと、回転検出センサの第２の信号発生器が発生した第２のパルス信号の立上りエッジから、その後に回転体が一回転したときに該第２の信号発生器が発生した第２のパルス信号の立上りエッジまでの時間を回転体の回転毎に計測する第２のタイマと、回転検出センサの第１の信号発生器が発生した第１のパルス信号の立下りエッジから、その後に回転体が一回転したときに該第１の信号発生器が発生した第１のパルス信号の立下りエッジまでの時間を回転体の回転毎に計測する第３のタイマと、回転検出センサの第２の信号発生器が発生した第２のパルス信号の立下りエッジから、その後に回転体が一回転したときに該第２の信号発生器が発生した第２のパルス信号の立下りエッジまでの時間を回転体の回転毎に計測する第４のタイマを備え、制御ユニットのマイクロコンピュータは、上記フリーランニングカウンタの値と、上記第１、第２、第３、第４のタイマの値とによりパルス周期の算出処理を行うことを特徴とする請求項１に記載のパワーウインド制御装置。
【請求項３】
マグネットには、一対のＮ極および一対のＳ極の４極が対向配置され、回転検出センサには、第１のパルス信号を発生する第１の信号発生器と、この第１の信号発生器に対し予め定められた角度を介して配置されて第２のパルス信号を発生する第２の信号発生器とが備えられており、制御ユニットのマイクロコンピュータには、時間の経過によりカウントアップするフリーランニングカウンタと、回転検出センサの第１の信号発生器が発生した第１のパルス信号の立上りエッジから、その後に回転体が一回転したときに該第１の信号発生器が発生した第１のパルス信号の立上りエッジまでの時間を回転体の回転毎に計測する第１のタイマと、回転検出センサの第２の信号発生器が発生した第２のパルス信号の立上りエッジから、その後に回転体が一回転したときに該第２の信号発生器が発生した第２のパルス信号の立上りエッジまでの時間を回転体の回転毎に計測する第２のタイマと、上記第１のタイマに１／４周期隔て、回転検出センサの第１の信号発生器が発生した第１のパルス信号の立下りエッジから、その後に回転体が一回転したときに該第１の信号発生器が発生した第１のパルス信号の立下りエッジまでの時間を回転体の回転毎に計測する第３のタイマと、上記第２のタイマに１／４周期隔て、回転検出センサの第２の信号発生器が発生した第２のパルス信号の立下りエッジから、その後に回転体が一回転したときに該第２の信号発生器が発生した第２のパルス信号の立下りエッジまでの時間を回転体の回転毎に計測する第４のタイマと、上記第３のタイマに１／４周期隔て、回転検出センサの第１の信号発生器が発生した第１のパルス信号の立上りエッジから、その後に回転体が一回転したときに該第１の信号発生器が発生した第１のパルス信号の立上りエッジまでの時間を回転体の回転毎に計測する第５のタイマと、上記第４のタイマに１／４周期隔て、回転検出センサの第２の信号発生器が発生した第２のパルス信号の立上りエッジから、その後に回転体が一回転したときに該第２の信号発生器が発生した第２のパルス信号の立上りエッジまでの時間を回転体の回転毎に計測する第６のタイマと、上記第５のタイマに１／４周期隔て、回転検出センサの第１の信号発生器が発生した第１のパルス信号の立下りエッジから、その後に回転体が一回転したときに該第１の信号発生器が発生した第１のパルス信号の立下りエッジまでの時間を回転体の回転毎に計測する第７のタイマと、上記第６のタイマに１／４周期隔て、回転検出センサの第２の信号発生器が発生した第２のパルス信号の立下りエッジから、その後に回転体が一回転したときに該第２の信号発生器が発生した第２のパルス信号の立下りエッジまでの時間を回転体の回転毎に計測する第８のタイマとを備え、制御ユニットのマイクロコンピュータは、上記フリーランニングカウンタの値と、上記第１、第２、第３、第４、第５、第６、第７、第８のタイマの値とによりパルス周期の算出処理を行うことを特徴とする請求項１に記載のパワーウインド制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ウインドガラスを自動的に駆動させるパワーウインド制御装置に関する。
【０００２】
【従来の技術】
ウインドガラスを自動的に駆動させるパワーウインド制御装置としては、モータに備えたアーマチュアシャフトがガラス昇降器を介してウインドガラスに結合されているものが知られている。そして、モータのアーマチュアシャフトに回転検出センサが結合されている。回転検出センサは、アーマチュアシャフト上に取付けられたマグネットと、このマグネットのまわりに配置されたホール素子とからなる。アーマチュアシャフトが回転するとマグネットが回転し、マグネットが回転することにより、ホール素子よりパルス状の検出信号（ホール電圧）が発生するため、コントローラにより検出信号のパルス幅を検出することによってアーマチュアシャフトの回転数が算出される。
【０００３】
【発明が解決しようとする課題】
ところが、上記のパワーウインド制御装置において、回転検出センサのマグネットのＮ極およびＳ極の着磁にばらつきがあると、マグネットが回転する際に、ホール素子によって検出されるパルス状の検出信号のパルス幅に狂いが生ずるため、結果的に、コントローラによって算出した回転数データに誤差が発生して正確な回転数が得られ難いという問題点があった。
【０００４】
また、回転検出センサのマグネットが外径の小さいものであると、着磁される磁極が単一のＮ極および単一のＳ極の２個が限度になるため、多数の極が着磁されたマグネットを用いる場合と比べて、細かい回転数データを得難いという問題点があった。
【０００５】
【発明の目的】
この発明に係わるパワーウインド制御装置は、モータの正確な回転数を得ることによってウインドガラスの正確な位置データを得ることができるとともに、極数が少ない回転検出センサを用いても細かな回転数データを得ることができるパワーウインド制御装置を提供することを目的としている。
【０００６】
【発明の構成】
【０００７】
【課題を解決するための手段】
この発明の請求項１に係わるパワーウインド制御装置では、Ｎ極およびＳ極が対向配置されたマグネットをもち、モータのアーマチュアシャフトに結合されて該アーマチュアシャフトとともに回転する回転体と、回転体のまわりに回転体に非接触で配置されていてマグネットのＮ極およびＳ極の境界線から予め定められた角度まで回転体が回転した位置での磁束密度に対するしきい値をもち、しきい値によりパルス信号を発生する信号発生器を備えた回転検出センサと、オン切換えされることにより下降指令信号を発生する開スイッチと、オン切換えされることにより上昇指令信号を発生する閉スイッチと、オン切換えされることにより連続指令信号を発生する自動スイッチと、ウインドガラスに結合され、通電により該ウインドガラスを開側に駆動する一方、通電によりウインドガラスを閉側に駆動するアーマチュアシャフトをもつモータと、モータに電気的に接続された駆動回路と、電源に接続されているとともに駆動回路に電気的に接続され、開スイッチの下降指令信号、閉スイッチの上昇指令信号、自動スイッチの連続指令信号により電源の電流を駆動回路に与えるとともに、回転体が回転したときに回転検出センサが発生したパルス信号のエッジから、回転体が一回転したときに回転検出センサが発生したパルス信号のエッジまでの時間に基づきアーマチュアシャフトの回転速度を検出してウインドガラスの動作制御を行うマイクロコンピュータをもつ制御ユニットを備えている構成としたことを特徴としている。
【０００８】
この発明の請求項２に係わるパワーウインド制御装置では、マグネットには、単一のＮ極および単一のＳ極の２極が対向配置され、回転検出センサには、第１のパルス信号を発生する第１の信号発生器と、この第１の信号発生器に対し予め定められた角度を介して配置されて第２のパルス信号を発生する第２の信号発生器とが備えられており、制御ユニットのマイクロコンピュータには、時間の経過によりカウントアップするフリーランニングカウンタと、回転検出センサの第１の信号発生器が発生した第１のパルス信号の立上りエッジから、その後に回転体が一回転したときに第１の信号発生器が発生した第１のパルス信号の立上りエッジまでの時間を回転体の回転毎に計測する第１のタイマと、回転検出センサの第２の信号発生器が発生した第２のパルス信号の立上りエッジから、その後に回転体が一回転したときに第２の信号発生器が発生した第２のパルス信号の立上りエッジまでの時間を回転体の回転毎に計測する第２のタイマと、回転検出センサの第１の信号発生器が発生した第１のパルス信号の立下りエッジから、その後に回転体が一回転したときに第１の信号発生器が発生した第１のパルス信号の立下りエッジまでの時間を回転体の回転毎に計測する第３のタイマと、回転検出センサの第２の信号発生器が発生した第２のパルス信号の立下りエッジから、その後に回転体が一回転したときに第２の信号発生器が発生した第２のパルス信号の立下りエッジまでの時間を回転体の回転毎に計測する第４のタイマを備え、制御ユニットのマイクロコンピュータは、フリーランニングカウンタの値と、第１、第２、第３、第４のタイマの値とによりパルス周期の算出処理を行う構成としたことを特徴としている。
【０００９】
この発明の請求項３に係わるパワーウインド制御装置では、マグネットには、一対のＮ極および一対のＳ極の４極が対向配置され、回転検出センサには、第１のパルス信号を発生する第１の信号発生器と、この第１の信号発生器に対し予め定められた角度を介して配置されて第２のパルス信号を発生する第２の信号発生器とが備えられており、制御ユニットのマイクロコンピュータには、時間の経過によりカウントアップするフリーランニングカウンタと、回転検出センサの第１の信号発生器が発生した第１のパルス信号の立上りエッジから、その後に回転体が一回転したときに第１の信号発生器が発生した第１のパルス信号の立上りエッジまでの時間を回転体の回転毎に計測する第１のタイマと、回転検出センサの第２の信号発生器が発生した第２のパルス信号の立上りエッジから、その後に回転体が一回転したときに第２の信号発生器が発生した第２のパルス信号の立上りエッジまでの時間を回転体の回転毎に計測する第２のタイマと、上記第１のタイマに１／４周期隔て、回転検出センサの第１の信号発生器が発生した第１のパルス信号の立下りエッジから、その後に回転体が一回転したときに第１の信号発生器が発生した第１のパルス信号の立下りエッジまでの時間を回転体の回転毎に計測する第３のタイマと、上記第２のタイマに１／４周期隔て、回転検出センサの第２の信号発生器が発生した第２のパルス信号の立下りエッジから、その後に回転体が一回転したときに第２の信号発生器が発生した第２のパルス信号の立下りエッジまでの時間を回転体の回転毎に計測する第４のタイマと、上記第３のタイマに１／４周期隔て、回転検出センサの第１の信号発生器が発生した第１のパルス信号の立上りエッジから、その後に回転体が一回転したときに第１の信号発生器が発生した第１のパルス信号の立上りエッジまでの時間を回転体の回転毎に計測する第５のタイマと、上記第４のタイマに１／４周期隔て、回転検出センサの第２の信号発生器が発生した第２のパルス信号の立上りエッジから、その後に回転体が一回転したときに第２の信号発生器が発生した第２のパルス信号の立上りエッジまでの時間を回転体の回転毎に計測する第６のタイマと、上記第５のタイマに１／４周期隔て、回転検出センサの第１の信号発生器が発生した第１のパルス信号の立下りエッジから、その後に回転体が一回転したときに第１の信号発生器が発生した第１のパルス信号の立下りエッジまでの時間を回転体の回転毎に計測する第７のタイマと、上記第６のタイマに１／４周期隔て、回転検出センサの第２の信号発生器が発生した第２のパルス信号の立下りエッジから、その後に回転体が一回転したときに第２の信号発生器が発生した第２のパルス信号の立下りエッジまでの時間を回転体の回転毎に計測する第８のタイマとを備え、制御ユニットのマイクロコンピュータは、フリーランニングカウンタの値と、第１、第２、第３、第４、第５、第６、第７、第８のタイマの値とによりパルス周期の算出処理を行う構成としたことを特徴としている。
【００１０】
【発明の作用】
この発明の請求項１に係わるパワーウインド制御装置において、回転検出センサは、回転体が回転し、信号発生器に対してマグネットのＮ極およびＳ極の境界線から予め定められた位置まで来ると、その位置でのマグネットの磁束密度に対してのしきい値によって信号発生器がパルス信号を発生する。それ故、回転体の円周上の同一点での計測が行われるから、回転体のマグネットに着磁のばらつきがあったとしても、パルス信号の周期に狂いが生ずることがなくなり、また、回転検出センサのマグネットが外径の小さいものであっても、細かい回転数データが得られる。
【００１１】
この発明の請求項２に係わるパワーウインド制御装置において、制御ユニットのマイクロコンピュータは、それぞれが１／４周期つづ位相差をもっていて回転体の一回転毎にパルス信号を発生する第１、第２、第３、第４のタイマの値と、フリーランニングカウンタの値とによりパルス周期の算出処理を行うことによって、アーマチュアシャフトの回転速度が検出される。それ故、請求項１の作用に加え、マイクロコンピュータに内蔵するタイマが４個で済む。
【００１２】
この発明の請求項３に係わるパワーウインド制御装置において、制御ユニットのマイクロコンピュータは、それぞれが１／８周期つづ位相差をもっていて回転体の一回転毎にパルス信号を発生する第１、第２、第３、第４、第５、第６、第７、第８のタイマの値と、フリーランニングカウンタの値とによりパルス周期の算出処理を行うことによって、アーマチュアシャフトの回転速度が検出される。それ故、請求項１の作用に加え、マイクロコンピュータに内蔵するタイマが８個で済む。
【００１３】
【実施例】
図１ないし図１４にはこの発明に係わるパワーウインド制御装置の第１実施例が示されている。
【００１４】
図示されるパワーウインド制御装置１は、主として、開スイッチ２、閉スイッチ３、自動スイッチ４、イグニションスイッチ５、電源５０、モータ６、回転検出センサ（センサ）７、ウインドガラス６０、制御ユニット２０から構成されており、制御ユニット２０に、定電圧回路２１、リセット回路２２、電源電圧検出回路２３、マイクロコンピュータＣＰＵ、駆動回路２４が備えられている。
【００１５】
開スイッチ２は、オン切換えされることによって下降指令信号を発生する。開スイッチ２が発生した下降指令信号は、図示しない電圧クランプ回路を通じて制御ユニット２０に備えたマイクロコンピュータＣＰＵの第１のスイッチ入力ポートＰ１に与えられる。
【００１６】
閉スイッチ３は、オン切換えされることによって上昇指令信号を発生する。閉スイッチ３が発生した上昇指令信号は、図示しない電圧クランプ回路を通じて制御ユニット２０に備えたマイクロコンピュータＣＰＵの第２のスイッチ入力ポートＰ２に与えられる。
【００１７】
自動スイッチ４は、オン切換えされることによって自動指令信号を発生する。自動スイッチ４が発生した自動指令信号は、図示しない電圧クランプ回路を通じて制御ユニット２０に備えたマイクロコンピュータＣＰＵの第３のスイッチ入力ポートＰ３に与えられる。
【００１８】
イグニションスイッチ５は、一方が電源５０に接続され、他方が制御ユニット２０に備えた電源電圧検出回路２３に接続されている。イグニションスイッチ５はオン切換えされることによって電源電圧検出回路２３に電源５０の電位を与える。
【００１９】
電源電圧検出回路２３は、他方がマイクロコンピュータＣＰＵの電圧検出ポートＰ４に接続されている。電源電圧検出回路２３は、マイクロコンピュータＣＰＵに与えられる電源電圧のレベルを検出する。
【００２０】
定電圧回路２１は、一方がイグニションスイッチ５に接続され、他方がマイクロコンピュータＣＰＵのレギュレータポートＰ５に接続されている。定電圧回路２１は、イグニションスイッチ５がオン切換えされることによって、マイクロコンピュータＣＰＵのレギュレータポートＰ５に所定のマイコンドライブ電圧を与える。
【００２１】
リセット回路２２は、一方がイグニションスイッチ５に接続され、他方がマイクロコンピュータＣＰＵのリセットポートＰ６に接続されている。リセット回路２２は、電源５０が制御ユニット２０に接続されることによって、マイクロコンピュータＣＰＵのリセットポートＰ６を所定時間ローレベルとすることによってマイクロコンピュータＣＰＵを初期状態にリセットする。
【００２２】
駆動回路２４は、リレーやスイッチングトランジスタなどによって構成されており、一方がマイクロコンピュータＣＰＵの第１の出力ポートＰ７、第２の出力ポートＰ８にそれぞれ接続され、他方がモータ６に備えた第１のブラシ端子６ａ、第２のブラシ端子６ｂにそれぞれ接続されている。
【００２３】
駆動回路２４は、マイクロコンピュータＣＰＵの第１の出力ポートＰ７がハイレベルになるとともに、マイクロコンピュータＣＰＵの第２の出力ポートＰ８がローレベルになることによって正回転側がオンし、モータ６の第２のブラシ端子６ｂにローレベルを与えるとともに、モータ６の第１のブラシ端子６ａに電源５０の電位（ハイレベル）を与える。これに反して、駆動回路２４は、マイクロコンピュータＣＰＵの第１の出力ポートＰ７がローレベルになるとともに、マイクロコンピュータＣＰＵの第２の出力ポートＰ８がハイレベルになることによって逆回転側がオンし、モータ６の第１のブラシ端子６ａにローレベルを与えるとともに、モータ６の第２のブラシ端子６ｂに電源５０の電位（ハイレベル）を与える。
【００２４】
モータ６には、図示しないアーマチュアに備えたアーマチュアシャフト６ｃが図示しないガラス昇降器を介してウインドガラス６０に結合されている。モータ６は、第１のブラシ端子６ａにハイレベルが与えられ、第２のブラシ端子６ｂにローレベルが与えられることによってアーマチュアシャフト６ｃが正回転し、アーマチュアシャフト６ｃの正回転によってウインドガラス６０を開ける。これに反して、モータ６は、第２のブラシ端子６ｂにハイレベルが与えられ、第２のブラシ端子６ａにローレベルが与えられることによってアーマチュアシャフト６ｃが逆回転し、アーマチュアシャフト６ｃの逆回転によってウインドガラス６０を閉める。モータ６のアーマチュアシャフト６ｃには回転検出センサ７が結合されている。
【００２５】
回転検出センサ７には、図２に示されるように、回転体７ａ、第１の信号発生器７ｂ、第２の信号発生器７ｃが備えられている。
【００２６】
回転体７ａには、単一のＮ極および単一のＳ極が対向配置されたマグネット７ｄが備えられている。回転体７ａは、中心がモータ６のアーマチュアシャフト６ｃに同心に結合されているため、アーマチュアシャフト６ｃとともに回転する。
【００２７】
第１、第２の信号発生器７ｂ、７ｃは、回転体７ａのまわりに配置されている。第１、第２の信号発生器７ｂ、７ｃはそれぞれホール素子であり、回転体７ａに非接触で配置されている。第１の信号発生器７ｂと第２の信号発生器７ｃとは回転体７ａの円周上に９０度の範囲を置いて配置されている。
【００２８】
第１の信号発生器７ｂは、電源端子が定電圧回路２１に接続されているとともに、接地端子が接地され、ホール電圧出力端子がマイクロコンピュータＣＰＵの第１の回転検出ポートＰ９に接続されている。第１の信号発生器７ｂは、図２に示されるように、マグネット７ｄのＳ極に対してのしきい値ＴＨＳと、マグネット７ｄのＮ極に対してのしきい値ＴＨＮをもっているため、マグネット７ｄのＳ極とＮ極との境界線からＳ極側に予め定められた角度の位置まで回転体７ａが回転した際に、しきい値ＴＨＳによりホール電圧が発生し、マグネット７ｄのＳ極とＮ極との境界線からＮ極側に予め定められた角度の位置まで回転体７ａが回転した際に、しきい値ＴＨＮによりホール電圧が消滅する。
【００２９】
第２の信号発生器７ｃは、電源端子が定電圧回路２１に接続されているとともに、接地端子が接地され、ホール電圧出力端子がマイクロコンピュータＣＰＵの第２の回転検出ポートＰ１０に接続されている。第２の信号発生器７ｃは、第１の信号発生器７ｂと同様にして図２に示されるように、マグネット７ｄのＳ極に対してのしきい値ＴＨＳと、マグネット７ｄのＮ極に対してのしきい値ＴＨＮをもっているため、マグネット７ｄのＳ極とＮ極との境界線からＳ極側に予め定められた角度の位置まで回転体７ａが回転した際に、しきい値ＴＨＳによりホール電圧が発生し、マグネット７ｄのＳ極とＮ極との境界線からＮ極側に予め定められた角度の位置まで回転体７ａが回転した際に、しきい値ＴＨＮによりホール電圧が消滅する。
【００３０】
回転検出センサ７は、アーマチュアシャフト６ｃが正回転することによって回転体７ａがアーマチュアシャフト６ｃとともに正回転するため、図２に示されるように、第１の信号発生器７ｂから第１のパルス信号Ａが発生し、マイクロコンピュータＣＰＵの第１の回転検出ポートＰ９に第１のパルス信号Ａが取り込まれる。そして、アーマチュアシャフト６ｃの回転によって、第１のパルス信号Ａに１／４周期ずれて第２の信号発生器７ｃから第２のパルス信号Ｂが発生し、マイクロコンピュータＣＰＵの第２の回転検出ポートＰ１０に第２のパルス信号Ｂが取り込まれる。
【００３１】
マイクロコンピュータＣＰＵには、計時用のクロック、図４に示されるフリーランニングカウンタＦＲＣ（８ビット）、図２に示される第１、第２、第３、第４のタイマＴＡＲ、ＴＢＲ、ＴＡＦ、ＴＢＦがそれぞれ内蔵されている。
【００３２】
マイクロコンピュータＣＰＵでは、第１のスイッチ入力ポートＰ１に下降指令信号が与えられると、駆動回路２４の正回転側がオンし、モータ６の第２のブラシ端子６ｂにローレベルを与えるとともに、モータ６の第１のブラシ端子６ａに電源５０の電位（ハイレベル）を与えてマニュアル開状態となる。
【００３３】
また、マイクロコンピュータＣＰＵでは、第２のスイッチ入力ポートＰ２に上昇指令信号が与えられると、駆動回路２４の逆回転側がオンし、モータ６の第１のブラシ端子６ａにローレベルを与えるとともに、モータ６の第２のブラシ端子６ｂに電源５０の電位（ハイレベル）を与えてマニュアル閉状態となる。
【００３４】
そして、マイクロコンピュータＣＰＵでは、第１のスイッチ入力ポートＰ１に下降指令信号が与えられ、且つ、第３のスイッチ入力ポートＰ３に自動指令信号が与えられると、駆動回路２４の正回転側がオンし、モータ６の第２のブラシ端子６ｂにローレベルを与えるとともに、モータ６の第１のブラシ端子６ａに電源５０の電位（ハイレベル）を与え、開スイッチ２がオフ切換えされてからも、駆動回路２４の正回転側をオンし続け、モータ６の第２のブラシ端子６ｂにローレベルを与えるとともに、モータ６の第１のブラシ端子６ａに電源５０の電位（ハイレベル）を与え続けて自動開状態となる。
【００３５】
そしてまた、マイクロコンピュータＣＰＵでは、第２のスイッチ入力ポートＰ２に上昇指令信号が与えられ、且つ、第３のスイッチ入力ポートＰ３に自動指令信号が与えられると、駆動回路２４の逆回転側がオンし、モータ６の第１のブラシ端子６ａにローレベルを与えるとともに、モータ６の第２のブラシ端子６ｂに電源５０の電位（ハイレベル）を与え、閉スイッチ３がオフ切換えされてからも、駆動回路２４の逆回転側をオンし続け、モータ６の第１のブラシ端子６ａにローレベルを与えるとともに、モータ６の第２のブラシ端子６ｂに電源５０の電位（ハイレベル）を与え続けて自動閉状態となる。
【００３６】
マイクロコンピュータＣＰＵのフリーランニングカウンタＦＲＣは、クロックに同期してカウントアップされ、図４に示されるように、カウント値がＦＦ（１６）になることによってオーバフローし、次のカウントでは“０”カウントにリセットされる。フリーランニングカウンタＦＲＣがリセットされることによってマイクコンピュータＣＰＵでは、図５に示されるタイマ割り込みが実行される。タイマ割込みでは、ステップ４００において第１のタイマＴＡＲがインクリメントされてステップ４０１に移行し、ステップ４０１において第２のタイマＴＢＲがインクリメントされてステップ４０２に移行し、ステップ４０２において第３のタイマＴＡＦがインクリメントされてステップ４０３に移行し、ステップ４０３において第４のタイマＴＢＦがインクリメントされるルーチンが実行される。
【００３７】
第１のタイマＴＡＲは、図２に示されるように、時間Ｔ2 において回転検出センサ７の第１の信号発生器７ｂが発生した第１のパルス信号Ａの立上りエッジから、その後に回転体７ａが一回転した時間Ｔ10において第１の信号発生器７ｂが発生した第１のパルス信号Ａの立上りエッジまでの時間を回転体７ａの回転毎に計測する１６ビットのメモリである。第１のタイマＴＡＲは、立上りＴ０への読み出しが実行されると“０”カウントにリセットされる。また、第１のタイマＴＡＲは、タイマ割り込みのルーチンで上位バイト（Ｈ）の値がインクリメント（＋１）される。
【００３８】
第２のタイマＴＢＲは、図２に示されるように、時間Ｔ4 において回転検出センサ７の第２の信号発生器７ｃが発生した第２のパルス信号Ｂの立上りエッジから、その後に回転体７ａが一回転した時間Ｔ12において第２の信号発生器７ｃが発生した第２のパルス信号Ｂの立上りエッジまでの時間を回転体７ａの回転毎に計測する１６ビットのメモリである。第２のタイマＴＢＲは、立上りＴ０への読み出しが実行されると“０”カウントにリセットされる。また、第２のタイマＴＢＲは、タイマ割り込みのルーチンで上位バイト（Ｈ）の値がインクリメント（＋１）される。
【００３９】
第３のタイマＴＡＦは、図２に示されるように、時間Ｔ6 において回転検出センサ７の第１の信号発生器７ｂが発生した第１のパルス信号Ａの立下りエッジから、その後に回転体７ａが一回転した時間Ｔ14において第１の信号発生器７ｂが発生した第１のパルス信号Ａの立下りエッジまでの時間を回転体７ａの回転毎に計測する１６ビットのメモリである。第３のタイマＴＡＦは、立上りＴ０への読み出しが実行されると“０”カウントにリセットされる。また、第３のタイマＴＡＦは、タイマ割り込みのルーチンで上位バイト（Ｈ）の値がインクリメント（＋１）される。
【００４０】
第４のタイマＴＢＦは、図２に示されるように、時間Ｔ8 において回転検出センサ７の第２の信号発生器７ｃが発生した第２のパルス信号Ｂの立下りエッジから、その後に回転体７ａが一回転した時間Ｔ16において第２の信号発生器７ｃが発生した第２のパルス信号Ｂの立下りエッジまでの時間を回転体７ａの回転毎に計測する１６ビットのメモリである。第４のタイマＴＢＦは、立下がりＴ０への読み出しが実行されると“０”カウントにリセットされる。また、第４のタイマＴＢＦは、タイマ割り込みのルーチンで上位バイト（Ｈ）の値がインクリメント（＋１）される。
【００４１】
マイクロコンピュータＣＰＵでは、図４に示される時間Ｋにおいて、パルスエッジが検出されると、パルスエッジ割込みルーチンが実行される。そして、タイマ割込みで処理された第１、第２、第３、第４のタイマＴＡＲ、ＴＢＲ、ＴＡＦ、ＴＢＦの上位バイト（Ｈ）の値と、フリーランニングカウンタＦＲＣの下位バイト（Ｌ）の値が求められる。
【００４２】
このとき、ｔ１≧ｔ０であると、ＴＡＲ（Ｌ）＝ｔ１−ｔ０となる。これに反して、ｔ１＜ｔ０であると、ＴＡＲ（Ｈ）＝ＴＡＲ（Ｈ）−１、ＴＡＲ（Ｌ）＝ｔ１＋（ＦＦ−ｔ０）となる。ｔ０は前回パルスエッジが検出されたときのフリーランニングカウンタＦＲＣのカウンタ値であり、ｔ１は今回パルスエッジが検出されたときのフリーランニングカウンタＦＲＣのカウンタ値である。マイクロのタイマＴＡＲ、ＴＢＲ、ＴＡＦ、ＴＢＦに入る値を算出処理する。
【００４３】
そして、マイクロコンピュータＣＰＵでは、図６に示されるように、第１のパルス信号Ａの立上りエッジが検出された際に第２のパルス信号Ｂがローレベルにあって、その後に第２のパルス信号Ｂの立上りが検出された場合をモータ６のアーマチュアシャフト６ｃが正回転してウインドガラス６０が開く側に移動していると認識し、これに対して、第１のパルス信号Ａの立上りエッジが検出された際に、第２のパルス信号Ｂがハイレベルにあって、その後に第２のパルス信号Ｂの立下りが検出された場合をモータ６のアーマチュアシャフト６ｃが逆回転してウインドガラス６０が閉る側に移動していると認識することによって、作動方向を検出する。
【００４４】
また、マイクロコンピュータＣＰＵでは、ウインドガラス６０が全閉位置にある際のカウンタ値ＰＣを“０”とし、カウンタ値ＰＣが“０”から、ウインドガラス６０が全閉位置からわずかに開く側に移動したときのカウンタ値ＰＣＸまでを非反転領域として反転動作を行わない範囲とし、カウンタ値ＰＣＸからウインドガラス６０が全開位置のカウンタ値までを反転領域として反転動作を行う範囲としている。カウンタ値は、ウインドガラス６０が開く側に移動する際にプラスカウントされ、これに反して、ウインドガラス６０が閉る側に移動する際にプラスカウントされる。
【００４５】
上記のパワーウインド制御装置１は、図７ないし図９に示されるメインルーチン、図１０に示される出力ルーチン、図１１および図１２に示されるパルスエッジ割り込みルーチン、図１３に示される負荷検出ルーチンを実行することによってウインドガラス６０の動きを制御する。
【００４６】
イグニションスイッチ５がオン切換えされ、開スイッチ２、閉スイッチ３、自動スイッチ４がいずれもオン切換えされていないと、メインルーチンのステップ１００においての判別で“停止状態がセットされているので”ステップ１０１に移行し、ステップ１０１においての判別で“反転要求はセットされていないので”ステップ１０２に移行し、ステップ１０２においての判別で“閉スイッチ３はオン切換えされておらず、上昇指令信号が与えられていないので”ステップ１０３に移行し、ステップ１０３においての判別で“開スイッチ２はオン切換えされておらず、下降指令信号が与えられていないので”ステップ１００に復帰するルーチンが実行され、出力ルーチンに移行する。
【００４７】
出力ルーチンのステップ３００においての判別で“停止状態がセットされているので”ステップ３０６に移行し、ステップ３０６において“停止出力”が実行される。
【００４８】
開スイッチ２、閉スイッチ３、自動スイッチ５がいずれもオン切換えされていないと、マイクロコンピュータＣＰＵの第１、第２の出力ポートＰ７、Ｐ８はいずれもローレベルになり、駆動回路２４は作動せずに、モータ５に電流が供給されないから、ウインドガラス６０は全閉位置に停止している。
【００４９】
ウインドガラス６０が全閉位置にある状態で、イグニションスイッチ５がオン切換えされ、図２に示される時間Ｔ1 において開スイッチ２がオン切換えされると、開スイッチ２が発生した下降指令信号がマイクロコンピュータＣＰＵに取込まれる。すると、メインルーチンのステップ１００においての判別で“停止状態がセットされているので”ステップ１０１に移行し、ステップ１０１においての判別で“反転要求はセットされていないので”ステップ１０２に移行し、ステップ１０２においての判別で“閉スイッチ３はオン切換えされていないので”ステップ１０３に移行し、ステップ１０３においての判別で“開スイッチ２がオン切換えされていて下降指令信号が取込まれているので”ステップ１０７に移行して“開状態（マニュアル開状態）”をセットして出力ルーチンに移行する。
【００５０】
出力ルーチンのステップ３００においての判別で“停止状態がセットされていないので”ステップ３０１に移行し、ステップ３０１においての判別で“マニュアル閉状態がセットされていないので”ステップ３０２に移行し、ステップ３０２においての判別で“マニュアル開状態がセットされているので”ステップ３０８に移行して“開駆動出力”が実行される。“開駆動出力”が実行されることによって、マイクロコンピュータＣＰＵの第１の出力ポートＰ７がハイレベルになるとともにマイクロコンピュータＣＰＵの第２の出力ポートＰ８がローレベルになり、モータ６の第２のブラシ端子６ｂが接地されている状態でモータ６の第１のブラシ端子６ａに電源の電位が与えられるため、アーマチュアシャフト６ｃが正回転することによってウインドガラス６０が開く。
【００５１】
図２に示される時間Ｔ1 においてアーマチュアシャフト６ｃが正回転を開始してウインドガラス６０が開く側に移動を開始すると、時間Ｔ2 において回転検出センサ７は、第１の信号発生器７ｂが第１のパルス信号Ａを発生し、第１のパルス信号Ａに１／４周期の位相差をもって第２の信号発生器７ｃが第２のパルス信号Ｂを発生する。
【００５２】
時間Ｔ2 において第１のパルス信号Ａが発生し、第１のパルス信号Ａの立上りエッジが検出されると、パルスエッジ割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジであるので”ステップ２０２に移行して“第１のタイマＴＡＲのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第１のタイマＴＡＲのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【００５３】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジであるので”ステップ２１０に移行し、ステップ２１０においての判別で“第２のパルス信号Ｂはローレベルなので”ステップ２１２に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【００５４】
時間Ｔ2 の以後、回転検出センサ７の回転体７ａが１／４回転した図２に示される時間Ｔ4 において第２のパルス信号Ｂが立上る。第２のパルス信号Ｂが立上ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジであるので”ステップ２０６に移行して“第２のタイマＴＢＲのカウント値の０クリア“が実行されてステップ２０３に移行し、ステップ２０３において“第２のタイマＴＢＲのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【００５５】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジであるので”ステップ２１７に移行し、ステップ２１７においての判別で“第１のパルス信号Ａはローレベルではないので”ステップ２２０に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【００５６】
時間Ｔ4 の以後、回転検出センサ７の回転体７ａが１／２回転した図２に示される時間Ｔ6 において第１のパルス信号Ａが立下る。第１のパルス信号Ａが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジではないので”ステップ２０５に移行して“第３のタイマＴＡＦのカウント値の０クリア“が実行されてステップ２０３に移行し、ステップ２０３において“第３のタイマＴＡＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【００５７】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジではないので”ステップ２１１に移行し、ステップ２１１においての判別で“第２のパルス信号Ｂはローレベルではないので”ステップ２１５に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【００５８】
時間Ｔ6 の以後、回転検出センサ７の回転体７ａが３／４回転した図２に示される時間Ｔ8 において第２のパルス信号Ｂが立下る。第２のパルス信号Ｂが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジではないので”ステップ２０７に移行して“第４のタイマＴＢＦのカウント値の０クリア“が実行されてステップ２０３に移行し、ステップ２０３において“第４のタイマＴＢＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【００５９】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジではないので”ステップ２１８に移行し、ステップ２１８においての判別で“第１のパルス信号Ａはローレベルなので”ステップ２２１に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【００６０】
時間Ｔ8 の以後、回転検出センサ７の回転体７ａは図２に示される時間Ｔ10において１回転を終了し、２回転目に入るため、第１のパルス信号Ａが再び立上る。第１のパルス信号Ａが立上ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジであるので”ステップ２０２に移行して“第１のタイマＴＡＲのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第１のタイマＴＡＲのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【００６１】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジであるので”ステップ２１０に移行し、ステップ２１０においての判別で“第２のパルス信号Ｂはローレベルなので”ステップ２１２に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【００６２】
時間Ｔ10の以後、回転検出センサ７の回転体７ａが５／４回転した図２に示される時間Ｔ12において第２のパルス信号Ｂが再び立上る。第２のパルス信号Ｂが立上ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジであるので”ステップ２０６に移行して“第２のタイマＴＢＲのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第２のタイマＴＢＲのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【００６３】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジであるので”ステップ２１７に移行し、ステップ２１７においての判別で“第１のパルス信号Ａはローレベルではないので”ステップ２２０に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【００６４】
時間Ｔ12の以後、回転検出センサ７の回転体７ａが３／２回転した図２に示される時間Ｔ14において第１のパルス信号Ａが立下る。第１のパルス信号Ａが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジではないので”ステップ２０５に移行して“第３のタイマＴＡＦのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第３のタイマＴＡＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【００６５】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジではないので”ステップ２１１に移行し、ステップ２１１においての判別で“第２のパルス信号Ｂはローレベルではないので”ステップ２１５に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【００６６】
時間Ｔ14の以後、回転検出センサ７の回転体７ａが７／４回転した図２に示される時間Ｔ16において第２のパルス信号Ｂが立下る。第２のパルス信号Ｂが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジではないので”ステップ２０７に移行して“第４のタイマＴＢＦのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第４のタイマＴＢＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【００６７】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジではないので”ステップ２１８に移行し、ステップ２１８においての判別で“第１のパルス信号Ａはローレベルなので”ステップ２２１に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【００６８】
上述したように、アーマチュアシャフト６ｃが正回転を開始してウインドガラス６０が開く側に移動を開始することによって、回転検出センサ７が第１のパルス信号Ａ、第２のパルス信号Ｂを発生すると、第１のタイマＴＡＲが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第１のタイマＴＡＲに１／４周期ずれて、第２のタイマＴＢＲが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第１のタイマＴＢＲに１／４周期ずれて、第３のタイマＴＡＦが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第３のタイマＴＢＲに１／４周期ずれて、第４のタイマＴＢＦが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行うことによって、マイクロコンピュータＣＰＵがウインドガラス６０の現在位置を間接的に検出する。
【００６９】
このとき、アーマチュアシャフト６ｃが正回転を開始してウインドガラス６０が開く側に移動を開始した際に、負荷検出ルーチンが同時に実行されている。負荷検出ルーチンのステップ５００においての判別で“閉動作がセットされていないので”ステップ５０８に移行し、ステップ５０８においての判別でウインドガラス６０が開く側に移動していることによって“パルスエッジ割り込みルーチンで算出された速度ω０が予め定められた最小値ωｍｉｎより小さくなっていないので”最初のステップ５００に戻るルーチンが繰り返し実行される。
【００７０】
ウインドガラス６０が開く側に移動している途中で、開スイッチ２がオフ切換えされると、開スイッチ２が発生していた下降指令信号がマイクロコンピュータＣＰＵに取込まれなくなる。すると、メインルーチンのステップ１００においての判別で“停止状態がセットされていないので”ステップ１０８に移行し、ステップ１０８においての判別で“マニュアル閉状態がセットされていないので”ステップ１１７に移行し、ステップ１１７においての判別で“マニュアル開状態がセットされているので”ステップ１１８に移行し、ステップ１１８においての判別で“モータロックの検出はされていないので”ステップ１１９に移行し、ステップ１１９においての判別で“開スイッチ２がオフ切換えされているので”ステップ１２２に移行して“停止状態”をセットして出力ルーチンに移行する。
【００７１】
出力ルーチンのステップ３００においての判別で“停止状態がセットされているので”ステップ３０６に移行して“停止出力”が実行される。“停止出力”が実行されることによって、マイクロコンピュータＣＰＵの第１の出力ポートＰ７がローレベルになるとともにマイクロコンピュータＣＰＵの第２の出力ポートＰ８がローレベルになるため、モータ６の第１、第２のブラシ端子６ａ、６ｂに電流が供給されなくなり、アーマチュアシャフト６ｃが正回転を停止することによってウインドガラス６０が止まる。
【００７２】
ウインドガラス６０が停止している際に、開スイッチ２がオン切換えされるとともに自動スイッチ４がオン切換えされると、開スイッチ２よりの下降指令信号、自動スイッチ４よりの自動指令信号がマイクロコンピュータＣＰＵに取り込まれる。すると、メインルーチンのステップ１００においての判別で“停止状態がセットされているので”ステップ１０１に移行し、ステップ１０１においての判別で“反転要求はセットされていないので”ステップ１０２に移行し、ステップ１０２においての判別で“閉スイッチ３はオン切換えされていないので”ステップ１０３に移行し、ステップ１０３においての判別で“開スイッチ２はオン切換えされているので”ステップ１０７に移行して“開状態”をセットしてステップ１００に戻り、次の回のメインルーチンのステップ１００においての判別で“停止状態はセットされていないので”ステップ１０８に移行し、ステップ１０８においての判別で“マニュアル閉状態がセットされていないので”ステップ１１７に移行し、ステップ１１７においての判別で“マニュアル開状態がセットされているので”ステップ１１８に移行し、ステップ１１８においての判別で“モータロックの検出はされていないので”ステップ１１９に移行し、ステップ１１９においての判別で開スイッチ２はオフ切換えされていないので”ステップ１２０に移行し、ステップ１２０においての判別で“自動スイッチ４はオン切換えされているので”ステップ１２３に移行して“自動開状態”をセットして出力ルーチンに移行する。
【００７３】
出力ルーチンのステップ３００においての判別で“停止状態はセットされていないので”ステップ３０１に移行し、ステップ３０１においての判別で“マニュアル閉状態がセットされていないので”ステップ３０２に移行し、ステップ３０２においての判別で“マニュアル開状態がセットされていないので”ステップ３０３に移行し、ステップ３０３においての判別で“自動閉状態がセットされていないので”ステップ３０４に移行し、ステップ３０４においての判別で“自動開状態がセットされているので”ステップ３１０に移行して開駆動出力が連続的に実行される。
【００７４】
連続的な開駆動出力によって、モータ６の第１のブラシ端子６ａに電源が接続されるとともに、モータ６の第２のブラシ端子６ｂが接地され、開駆動出力は、その後に開スイッチ２がオフ切換えされてからも続けられるため、アーマチュアシャフト６ｃが正回転して、ウインドガラス６０が開く側に連続的に移動する。
【００７５】
そして、図２に示されるように、時間Ｔ1 においてモータ６のアーマチュアシャフト６ｃが正回転を開始することによって、時間Ｔ2 において回転検出センサ７は、第１の信号発生器７ｂが第１のパルス信号Ａを発生し、第１のパルス信号Ａに１／４周期の位相差をもって第２の信号発生器７ｃが第２のパルス信号Ｂを発生する。
【００７６】
時間Ｔ2 において第１のパルス信号Ａが発生し、第１のパルス信号Ａの立上りエッジが検出されると、パルスエッジ割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジであるので”ステップ２０２に移行して“第１のタイマＴＡＲのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第１のタイマＴＡＲのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【００７７】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジであるので”ステップ２１０に移行し、ステップ２１０においての判別で“第２のパルス信号Ｂはローレベルなので”ステップ２１２に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【００７８】
時間Ｔ2 の以後、回転検出センサ７の回転体７ａが１／４回転した図２に示される時間Ｔ4 において第２のパルス信号Ｂが立上る。第２のパルス信号Ｂが立上ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジであるので”ステップ２０６に移行して“第２のタイマＴＢＲのカウント値の０クリア“が実行されてステップ２０３に移行し、ステップ２０３において“第２のタイマＴＢＲのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【００７９】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジであるので”ステップ２１７に移行し、ステップ２１７においての判別で“第１のパルス信号Ａはローレベルではないので”ステップ２２０に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【００８０】
時間Ｔ4 の以後、回転検出センサ７の回転体７ａが１／２回転した図２に示される時間Ｔ6 において第１のパルス信号Ａが立下る。第１のパルス信号Ａが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジではないので”ステップ２０５に移行して“第３のタイマＴＡＦのカウント値の０クリア“が実行されてステップ２０３に移行し、ステップ２０３において“第３のタイマＴＡＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【００８１】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジではないので”ステップ２１１に移行し、ステップ２１１においての判別で“第２のパルス信号Ｂはローレベルではないので”ステップ２１５に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【００８２】
時間Ｔ6 の以後、回転検出センサ７の回転体７ａが３／４回転した図２に示される時間Ｔ8 において第２のパルス信号Ｂが立下る。第２のパルス信号Ｂが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジではないので”ステップ２０７に移行して“第４のタイマＴＢＦのカウント値の０クリア“が実行されてステップ２０３に移行し、ステップ２０３において“第４のタイマＴＢＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【００８３】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジではないので”ステップ２１８に移行し、ステップ２１８においての判別で“第１のパルス信号Ａはローレベルなので”ステップ２２１に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【００８４】
時間Ｔ8 の以後、回転検出センサ７の回転体７ａは図２に示される時間Ｔ10において１回転を終了し、２回転目に入るため、第１のパルス信号Ａが再び立上る。第１のパルス信号Ａが立上ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジであるので”ステップ２０２に移行して“第１のタイマＴＡＲのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第１のタイマＴＡＲのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【００８５】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジであるので”ステップ２１０に移行し、ステップ２１０においての判別で“第２のパルス信号Ｂはローレベルなので”ステップ２１２に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【００８６】
時間Ｔ10の以後、回転検出センサ７の回転体７ａが５／４回転した図２に示される時間Ｔ12において第２のパルス信号Ｂが再び立上る。第２のパルス信号Ｂが立上ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジであるので”ステップ２０６に移行して“第２のタイマＴＢＲのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第２のタイマＴＢＲのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【００８７】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジであるので”ステップ２１７に移行し、ステップ２１７においての判別で“第１のパルス信号Ａはローレベルではないので”ステップ２２０に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【００８８】
時間Ｔ12の以後、回転検出センサ７の回転体７ａが３／２回転した図２に示される時間Ｔ14において第１のパルス信号Ａが立下る。第１のパルス信号Ａが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジではないので”ステップ２０５に移行して“第３のタイマＴＡＦのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第３のタイマＴＡＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【００８９】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジではないので”ステップ２１１に移行し、ステップ２１１においての判別で“第２のパルス信号Ｂはローレベルではないので”ステップ２１５に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【００９０】
時間Ｔ14の以後、回転検出センサ７の回転体７ａが７／４回転した図２に示される時間Ｔ16において第２のパルス信号Ｂが立下る。第２のパルス信号Ｂが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジではないので”ステップ２０７に移行して“第４のタイマＴＢＦのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第４のタイマＴＢＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【００９１】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジではないので”ステップ２１８に移行し、ステップ２１８においての判別で“第１のパルス信号Ａはローレベルではないので”ステップ２２１に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【００９２】
上述したように、アーマチュアシャフト６ｃが正回転を開始してウインドガラス６０が開く側に移動を開始することによって、回転検出センサ７が第１のパルス信号Ａ、第２のパルス信号Ｂを発生すると、第１のタイマＴＡＲが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第１のタイマＴＡＲに１／４周期ずれて、第２のタイマＴＢＲが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第１のタイマＴＢＲに１／４周期ずれて、第３のタイマＴＡＦが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第３のタイマＴＢＲに１／４周期ずれて、第４のタイマＴＢＦが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行うことによって、マイクロコンピュータＣＰＵがウインドガラス６０の現在位置を間接的に検出する。
【００９３】
このとき、アーマチュアシャフト６ｃが正回転を開始してウインドガラス６０が開く側に移動を開始した際に、負荷検出ルーチンが同時に実行されている。負荷検出ルーチンのステップ５００においての判別で“閉動作がセットされていないので”ステップ５０８に移行し、ステップ５０８においての判別でウインドガラス６０が開く側に移動していることによって“パルスエッジ割り込みルーチンで算出された速度ω０が予め定められた最小値ωｍｉｎより小さくなっていないので”最初のステップ５００に戻るルーチンが繰り返し実行される。
【００９４】
ウインドガラス６０は、開く側に移動を続けると、全開位置で車体側に衝突することによって移動を阻止される。すると、負荷検出ルーチンのステップ５００においての判別で“閉動作がセットされていないので”ステップ５０８に移行し、ステップ５０８においての判別でウインドガラス６０が開く側に移動していることによって“パルスエッジ割り込みルーチンで算出された速度ω０が予め定められた最小値ωｍｉｎより小さくなるので”ステップ５０９に移行して“モータロック検知”をセットしてメインルーチンに移行する。
【００９５】
メインルーチンのステップ１００においての判別で“停止状態がセットされていないので”ステップ１０８に移行し、ステップ１０８においての判別で“マニュアル閉状態がセットされていないので”ステップ１１７に移行し、ステップ１１７においての判別で“マニュアル開状態がセットされていないので”ステップ１２４に移行し、ステップ１２４においての判別で“自動閉状態がセットされていないので”ステップ１３１に移行し、ステップ１３１においての判別で“自動開状態がセットされているので”ステップ１３２に移行し、ステップ１３２においての判別で“モータロック検知”がセットされているので”ステップ１３４に移行して“停止状態”がセットされて出力ルーチンに移行する。
【００９６】
出力ルーチンのステップ３００においての判別で“停止状態がセットされているので”ステップ３０６に移行して“停止出力”が実行される。停止出力によって、モータ６の第１、第２のブラシ端子６ａ、６ｂがローレベルになるため、モータ６はアーマチュアシャフト６ｃが回転を停止して、ウインドガラス６０が全開位置で停止する。
【００９７】
ウインドガラス６０が全開位置に停止している際に、閉スイッチ３がオン切換えされると、閉スイッチ３よりの上昇指令信号がマイクロコンピュータＣＰＵに取り込まれる。すると、メインルーチンのステップ１００においての判別で“停止状態がセットされているので”ステップ１０１に移行し、ステップ１０１においての判別で“反転要求がセットされていないので”ステップ１０２に移行し、ステップ１０２においての判別で“閉スイッチ３はオン切換えされているので”ステップ１０４に移行し、ステップ１０４においての判別で“開スイッチ２はオフ切換えされているので”ステップ１０６に移行して“閉状態（マニュアル閉状態）”をセットして出力ルーチンに移行する。
【００９８】
そして、出力ルーチンのステップ３００においての判別で“閉状態がセットされているので”ステップ３０１に移行し、ステップ３０１においての判別で“マニュアル閉状態がセットされているので”ステップ３０７に移行して閉駆動出力が実行される。
【００９９】
閉駆動出力によって、モータ６の第１のブラシ端子６ａが接地されるとともに、モータ６の第２のブラシ端子６ｂに電源が接続されるため、アーマチュアシャフト６ｃが逆回転して、ウインドガラス６０が閉る側に移動を開始する。
【０１００】
そして、図３に示されるように、モータ６のアーマチュアシャフト６ｃが時間Ｔ18において逆回転を開始することによって、時間Ｔ19において回転検出センサ７は、第１の信号発生器７ｂが第１のパルス信号Ａを発生し、第１のパルス信号Ａに１／４周期の位相差をもって第２の信号発生器７ｃが第２のパルス信号Ｂを発生する。
【０１０１】
時間Ｔ19において第１のパルス信号Ａが発生し、第１のパルス信号Ａの立上りエッジが検出されると、パルスエッジ割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジであるので”ステップ２０２に移行して“第１のタイマＴＡＲのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第１のタイマＴＡＲのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１０２】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジであるので”ステップ２１０に移行し、ステップ２１０においての判別で“第２のパルス信号Ｂはローレベルではないので”ステップ２１３に移行してパルスカウントＰＣがマイナス１カウント（−１）されて割り込み処理を終了する。
【０１０３】
時間Ｔ19の以後、回転検出センサ７の回転体７ａが１／４回転した図３に示される時間Ｔ21において第２のパルス信号Ｂが立下る。第２のパルス信号Ｂが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジではないので”ステップ２０７に移行して“第４のタイマＴＢＦのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第４のタイマＴＢＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１０４】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジではないので”ステップ２１８に移行し、ステップ２１８においての判別で“第１のパルス信号Ａはローレベルではないので”ステップ２２２に移行してパルスカウントＰＣがマイナス１カウント（−１）されて割り込み処理を終了する。
【０１０５】
時間Ｔ21の以後、回転検出センサ７の回転体７ａが１／２回転した図３に示される時間Ｔ23において第１のパルス信号Ａが立下る。第１のパルス信号Ａが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジではないので”ステップ２０５に移行して“第３のタイマＴＡＦのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第３のタイマＴＡＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１０６】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジではないので”ステップ２１１に移行し、ステップ２１１においての判別で“第２のパルス信号Ｂはローレベルなので”ステップ２１４に移行してパルスカウントＰＣがマイナス１カウント（−１）されて割り込み処理を終了する。
【０１０７】
時間Ｔ23の以後、回転検出センサ７の回転体７ａが３／４回転した図３に示される時間Ｔ25において第２のパルス信号Ｂが立上る。第２のパルス信号Ｂが立上ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジではないので”ステップ２０７に移行して“第４のタイマＴＢＦのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第４のタイマＴＢＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１０８】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジであるので”ステップ２１７に移行し、ステップ２１７においての判別で“第１のパルス信号Ａはローレベルなので”ステップ２１９に移行してパルスカウントＰＣがマイナス１カウント（−１）されて割り込み処理を終了する。
【０１０９】
時間Ｔ25の以後、回転検出センサ７の回転体７ａが１回転した図３に示される時間Ｔ27において第１のパルス信号Ａが再び立上る。第１のパルス信号Ａが立上ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジであるので”ステップ２０２に移行して“第１のタイマＴＡＲのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第１のタイマＴＡＲのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１１０】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジであるので”ステップ２１０に移行し、ステップ２１０においての判別で“第２のパルス信号Ｂはローレベルではないので”ステップ２１３に移行してパルスカウントＰＣがマイナス１カウント（−１）されて割り込み処理を終了する。
【０１１１】
時間Ｔ27の以後、回転検出センサ７の回転体７ａが５／４回転した図３に示される時間Ｔ29において第２のパルス信号Ｂが立下る。第２のパルス信号Ｂが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジではないので”ステップ２０７に移行して“第４のタイマＴＢＦのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第４のタイマＴＢＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１１２】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジではないので”ステップ２１８に移行し、ステップ２１８においての判別で“第１のパルス信号Ａはローレベルではないので”ステップ２２２に移行してパルスカウントＰＣがマイナス１カウント（−１）されて割り込み処理を終了する。
【０１１３】
時間Ｔ29の以後、回転検出センサ７の回転体７ａが３／２回転した図３に示される時間Ｔ31において第１のパルス信号Ａが立下る。第１のパルス信号Ａが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジではないので”ステップ２０５に移行して“第３のタイマＴＡＦのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第３のタイマＴＡＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１１４】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジではないので”ステップ２１１に移行し、ステップ２１１においての判別で“第２のパルス信号Ｂはローレベルなので”ステップ２１４に移行してパルスカウントＰＣがマイナス１カウント（−１）されて割り込み処理を終了する。
【０１１５】
時間Ｔ31の以後、回転検出センサ７の回転体７ａが７／４回転した図３に示される時間Ｔ33において第２のパルス信号Ｂが立上る。第２のパルス信号Ｂが立上ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジなので”ステップ２０６に移行して“第２のタイマＴＢＲのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第２のタイマＴＢＲのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１１６】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジであるので”ステップ２１７に移行し、ステップ２１７においての判別で“第１のパルス信号Ａはローレベルなので”ステップ２１９に移行してパルスカウントＰＣがマイナス１カウント（−１）されて割り込み処理を終了する。
【０１１７】
上述したように、アーマチュアシャフト６ｃが逆回転を開始してウインドガラス６０が閉る側に移動を開始することによって、回転検出センサ７が第１のパルス信号Ａ、第２のパルス信号Ｂを発生すると、第１のタイマＴＡＲが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらマイナスカウントを行い、この第１のタイマＴＡＲに１／４周期ずれて、第４のタイマＴＢＦが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらマイナスカウントを行い、この第４のタイマＴＢＦに１／４周期ずれて、第３のタイマＴＡＦが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらマイナスカウントを行い、この第３のタイマＴＡＦに１／４周期ずれて、第２のタイマＴＢＲが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらマイナスカウントを行うことによって、マイクロコンピュータＣＰＵがウインドガラス６０の現在位置を間接的に検出する。
【０１１８】
このとき、アーマチュアシャフト６ｃが逆回転を開始してウインドガラス６０が閉る側に移動を開始した際に、負荷検出ルーチンが同時に実行されている。負荷検出ルーチンのステップ５００においての判別で“閉動作がセットされているので”ステップ５０１に移行し、ステップ５０１においての判別で“パルスエッジ割り込みルーチンで速度データω０が更新されているので”ステップ５０２に移行して“電源電圧レベルＶ０を検出”してステップ５０３に移行し、ステップ５０３において速度データω０、電源電圧レベルＶ０により負荷トルクＴＬ０を算出”してステップ５０４に移行し、ステップ５０４においての判別で“パルスカウントＰＣが反転領域の限界値（絶対値）ＰＣＸよりも大きいので”ステップ５０６に移行する。
【０１１９】
ステップ５０４から移行したステップ５０６においては負荷データの更新が行われる。負荷データの更新は、以前のルーチンで蓄積されているＴＬｎからＴＬ１までの負荷データをシフトすることによって行われる。そして、ステップ５０６からステップ５０７に移行し、ステップ５０７において挟み込み判定値ＴＬref を算出する。挟み込み判定値ＴＬref の算出は、図１４に示されるように、以前のルーチンで蓄積されているＴＬｎからＴＬ１までの負荷データのなかでの最小値ＴＬmin に、挟み込みによる負荷増加限界値として予め定められた値ＴＬADD （定数）を加算することによって得られる。挟み込み判定値ＴＬref はステップ５０３において得られた負荷トルクＴＬ０との比較に用いられる。マイクロコンピュータＣＰＵは、負荷トルクＴＬ０が挟み込み判定値ＴＬref よりも大きくなったときを反転動作を行うタイミングとしている。そして、ステップ５０７から最初のステップ５００に復帰する。
【０１２０】
ウインドガラス６０が閉る側に移動している途中で、閉スイッチ３がオフ切換えされると、閉スイッチ３が発生していた上昇指令信号がマイクロコンピュータＣＰＵに取込まれなくなる。すると、メインルーチンのステップ１００においての判別で“停止状態がセットされていないので”ステップ１０８に移行し、ステップ１０８においての判別で“マニュアル閉状態がセットされているので”ステップ１０９に移行し、ステップ１０９においての判別で“反転要求はセットされていないので”ステップ１１０に移行し、ステップ１１０においての判別で“モータロックはセットされていないので”ステップ１１１に移行し、ステップ１１１においての判別で“閉スイッチ３はオフ切換えされているので”ステップ１１５に移行して“停止状態”をセットして出力ルーチンに移行する。
【０１２１】
出力ルーチンのステップ３００においての判別で“停止状態がセットされている”ステップ３０６に移行して“停止出力”が実行される。“停止出力”が実行されることによって、マイクロコンピュータＣＰＵの第１の出力ポートＰ７がローレベルになるとともにマイクロコンピュータＣＰＵの第２の出力ポートＰ８がローレベルになるため、モータ６の第１、第２のブラシ端子６ａ、６ｂが電流が供給されなくなって、アーマチュアシャフト６ｃが正回転を停止することによってウインドガラス６０が止まる。
【０１２２】
そして、ウインドガラス６０が停止している際に、閉スイッチ３がオン切換えされるとともに自動スイッチ４がオン切換えされると、閉スイッチ３よりの上昇指令信号、自動スイッチ４よりの自動指令信号がマイクロコンピュータＣＰＵに取り込まれる。すると、メインルーチンのステップ１００においての判別で“停止状態がセットされているので”ステップ１０１に移行し、ステップ１０１においての判別で“反転要求はセットされていないので”ステップ１０２に移行し、ステップ１０２においての判別で“閉スイッチ３はオン切換えされているので”ステップ１０４に移行し、ステップ１０４においての判別で“開スイッチ２はオン切換えされていないので”ステップ１０６に移行して“閉状態”をセットしてステップ１００に戻り、次の回のメインルーチンのステップ１００においての判別で“閉状態がセットされているので”ステップ１０８に移行し、ステップ１０８においての判別で“マニュアル閉状態がセットされているので”ステップ１０９に移行し、ステップ１０９においての判別で“反転要求がセットされていないので”ステップ１１０に移行し、ステップ１１０においての判別で“モータロックがセットされていないので”ステップ１１１に移行し、ステップ１１１においての判別で“閉スイッチ３はオフ切換えされてないので”ステップ１１２に移行し、ステップ１１２においての判別で“自動スイッチ４はオン切換えされているので”ステップ１１６に移行して“自動閉状態”がセットされて出力ルーチンに移行する。
【０１２３】
そして、出力ルーチンのステップ３００においての判別で“停止状態はセットされていないので”ステップ３０１に移行し、ステップ３０１においての判別で“マニュアル閉状態はセットされていないので”ステップ３０２に移行し、ステップ３０２においての判別で“マニュアル開状態はセットされていないので”ステップ３０３に移行し、ステップ３０３においての判別で“自動閉状態がセットされているので”ステップ３０９に移行して連続的な閉駆動出力が実行される。
【０１２４】
連続的な閉駆動出力によって、モータ６の第２のブラシ端子６ｂに電源が接続されるとともに、モータ６の第１のブラシ端子６ａが接地され、閉駆動出力は、その後に閉スイッチ３がオフ切換えされてからも続けられるため、アーマチュアシャフト６ｃが逆回転して、ウインドガラス６０が連続的に閉る側に移動する。
【０１２５】
そして、図３に示されるように、モータ６のアーマチュアシャフト６ｃが時間Ｔ18において逆回転を開始することによって、時間Ｔ19において回転検出センサ７は、第１の信号発生器７ｂが第１のパルス信号Ａを発生し、第１のパルス信号Ａに１／４周期の位相差をもって第２の信号発生器７ｃが第２のパルス信号Ｂを発生する。
【０１２６】
時間Ｔ19において第１のパルス信号Ａが発生し、第１のパルス信号Ａの立上りエッジが検出されると、パルスエッジ割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジであるので”ステップ２０２に移行して“第１のタイマＴＡＲのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第１のタイマＴＡＲのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１２７】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジであるので”ステップ２１０に移行し、ステップ２１０においての判別で“第２のパルス信号Ｂはローレベルではないので”ステップ２１３に移行してパルスカウントＰＣがマイナス１カウント（−１）されて割り込み処理を終了する。
【０１２８】
時間Ｔ19の以後、回転検出センサ７の回転体７ａが１／４回転した図３に示される時間Ｔ21において第２のパルス信号Ｂが立下る。第２のパルス信号Ｂが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジではないので”ステップ２０７に移行して“第４のタイマＴＢＦのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第４のタイマＴＢＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１２９】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジではないので”ステップ２１８に移行し、ステップ２１８においての判別で“第１のパルス信号Ａはローレベルではないので”ステップ２２２に移行してパルスカウントＰＣがマイナス１カウント（−１）されて割り込み処理を終了する。
【０１３０】
時間Ｔ21の以後、回転検出センサ７の回転体７ａが１／２回転した図３に示される時間Ｔ23において第１のパルス信号Ａが立下る。第１のパルス信号Ａが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジなので”ステップ２０６に移行して“第３のタイマＴＡＦのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第３のタイマＴＡＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１３１】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジではないので”ステップ２１１に移行し、ステップ２１１においての判別で“第２のパルス信号Ｂはローレベルなので”ステップ２１４に移行してパルスカウントＰＣがマイナス１カウント（−１）されて割り込み処理を終了する。
【０１３２】
時間Ｔ23の以後、回転検出センサ７の回転体７ａが３／４回転した図３に示される時間Ｔ25において第２のパルス信号Ｂが立上る。第２のパルス信号Ｂが立上ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジなので”ステップ２０６に移行して“第２のタイマＴＢＲのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第４のタイマＴＢＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１３３】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジであるので”ステップ２１７に移行し、ステップ２１７においての判別で“第１のパルス信号Ａはローレベルなので”ステップ２１９に移行してパルスカウントＰＣがマイナス１カウント（−１）されて割り込み処理を終了する。
【０１３４】
時間Ｔ25の以後、回転検出センサ７の回転体７ａが１回転した図３に示される時間Ｔ27において第１のパルス信号Ａが再び立上る。第１のパルス信号Ａが立上ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジであるので”ステップ２０２に移行して“第１のタイマＴＡＲのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第１のタイマＴＡＲのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１３５】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジであるので”ステップ２１０に移行し、ステップ２１０においての判別で“第２のパルス信号Ｂはローレベルではないので”ステップ２１３に移行してパルスカウントＰＣがマイナス１カウント（−１）されて割り込み処理を終了する。
【０１３６】
時間Ｔ27の以後、回転検出センサ７の回転体７ａが５／４回転した図３に示される時間Ｔ29において第２のパルス信号Ｂが立下る。第２のパルス信号Ｂが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジではないので”ステップ２０７に移行して“第４のタイマＴＢＦのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第４のタイマＴＢＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１３７】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジではないので”ステップ２１８に移行し、ステップ２１８においての判別で“第１のパルス信号Ａはローレベルではないので”ステップ２２２に移行してパルスカウントＰＣがマイナス１カウント（−１）されて割り込み処理を終了する。
【０１３８】
時間Ｔ29の以後、回転検出センサ７の回転体７ａが３／２回転した図３に示される時間Ｔ31において第１のパルス信号Ａが立下る。第１のパルス信号Ａが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジではないので”ステップ２０５に移行して“第３のタイマＴＡＦのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第３のタイマＴＡＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１３９】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジではないので”ステップ２１１に移行し、ステップ２１１においての判別で“第２のパルス信号Ｂはローレベルなので”ステップ２１４に移行してパルスカウントＰＣがマイナス１カウント（−１）されて割り込み処理を終了する。
【０１４０】
時間Ｔ31の以後、回転検出センサ７の回転体７ａが７／４回転した図３に示される時間Ｔ33において第２のパルス信号Ｂが立上る。第２のパルス信号Ｂが立上ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジではないので”ステップ２０７に移行して“第２のタイマＴＢＲのカウント値の０クリア”が実行されてステップ２０３に移行し、ステする”が実行されてステップ２０８に移行する。
【０１４１】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジであるので”ステップ２１７に移行し、ステップ２１７においての判別で“第１のパルス信号Ａはローレベルなので”ステップ２１９に移行してパルスカウントＰＣがマイナス１カウント（−１）されて割り込み処理を終了する。
【０１４２】
上述したように、アーマチュアシャフト６ｃが逆回転を開始してウインドガラス６０が閉る側に移動を開始することによって、回転検出センサ７が第１のパルス信号Ａ、第２のパルス信号Ｂを発生すると、第１のタイマＴＡＲが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらマイナスのカウントを行い、この第１のタイマＴＡＲに１／４周期ずれて、第４のタイマＴＢＦが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらマイナスカウントを行い、この第４のタイマＴＢＦに１／４周期ずれて、第３のタイマＴＡＦが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらマイナスカウントを行い、この第３のタイマＴＢＲに１／４周期ずれて、第２のタイマＴＢＦが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらマイナスカウントを行うことによって、マイクロコンピュータＣＰＵがウインドガラス６０の現在位置を間接的に検出する。
【０１４３】
このとき、アーマチュアシャフト６ｃが逆回転を開始してウインドガラス６０が閉る側に移動を開始した際に、負荷検出ルーチンが同時に実行されている。負荷検出ルーチンのステップ５００においての判別で“閉動作がセットされているので”ステップ５０１に移行し、ステップ５０１においての判別で“パルスエッジ割り込みルーチンで速度データω０が更新されているので”ステップ５０２に移行して“電源電圧レベルＶ０を検出”してステップ５０３に移行し、ステップ５０３において速度データω０、電源電圧レベルＶ０により負荷トルクＴＬ０を算出”してステップ５０４に移行し、ステップ５０４においての判別で“パルスカウントＰＣが反転領域の限界値（絶対値）ＰＣＸよりも大きいので”ステップ５０５に移行し、ステップ５０５においての判別で“負荷トルクＴＬ０が挟み込
み判定値ＴＬref よりも大きくなっていないので”ステップ５０６に移行する。
【０１４４】
ステップ５０５から移行したステップ５０６においては負荷データの更新が行われる。負荷データの更新は、以前のルーチンで蓄積されているＴＬｎからＴＬ１までの負荷データをシフトすることによって行われる。そして、ステップ５０６からステップ５０７に移行し、ステップ５０７において挟み込み判定値ＴＬref を算出する。挟み込み判定値ＴＬref の算出は、図１４に示されるように、以前のルーチンで蓄積されているＴＬｎからＴＬ１までの負荷データのなかでの最小値ＴＬmin に、挟み込みによる負荷増加限界値として予め定められた値ＴＬADD （定数）を加算することによって得られる。挟み込み判定値ＴＬref はステップ５０３において得られた負荷トルクＴＬ０との比較に用いられる。マイクロコンピュータＣＰＵは、負荷トルクＴＬ０が挟み込み判定値ＴＬref よりも大きくなったときを反転動作を行うタイミングとしている。そして、ステップ５０７から最初のステップ５００に復帰する。
【０１４５】
そして、ウインドガラス６０が閉る側に移動している途中、反転領域内で挟み込みが発生すると、負荷検出ルーチンのステップ５００においての判別で“閉動作がセットされているので”ステップ５０１に移行し、ステップ５０１においての判別で“パルスエッジ割り込みルーチンで速度データω０が更新されているので”ステップ５０２に移行して“電源電圧レベルＶ０を検出”してステップ５０３に移行し、ステップ５０３において速度データω０、電源電圧レベルＶ０により負荷トルクＴＬ０を算出”してステップ５０４に移行し、ステップ５０４においての判別で“パルスカウントＰＣが反転領域の限界値（絶対値）ＰＣＸよりも大きいので”ステップ５０５に移行する。
【０１４６】
ステップ５０４から移行したステップ５０５においての判別で“挟み込みによって負荷トルクＴＬ０が挟み込み判定値ＴＬref よりも大きくなっているので”ステップ５１０に移行して“反転要求のセット”を実行してメインルーチンに移行する。
【０１４７】
メインルーチンのステップ１００においての判別で“停止状態がセットされていないので”ステップ１０８に移行し、ステップ１０８においての判別で“マニュアル閉状態がセットされていないので”ステップ１１７に移行し、ステップ１１７においての判別で“マニュアル開状態はセットされていないので”ステップ１２４に移行し、ステップ１２４においての判別で“自動閉状態はセットされているので”ステップ１２５に移行し、ステップ１２５においての判別で“反転要求がセットされているので”ステップ１２８に移行して“停止状態”をセットして出力ルーチンに移行する。
【０１４８】
出力ルーチンのステップ３００においての判別で“停止状態がセットされているので”ステップ３０６に移行して“停止出力”が実行され、メインルーチンに移行する。“停止出力”が実行されることによって、マイクロコンピュータＣＰＵの第１の出力ポートＰ７がローレベルになるとともにマイクロコンピュータＣＰＵの第２の出力ポートＰ８がローレベルになるため、モータ６の第１、第２のブラシ端子６ａ、６ｂに電流が供給されなくなって、アーマチュアシャフト６ｃが正回転を  そして、メインルーチンのステップ１００においての判別で“停止状態がセットされているので”ステップ１０１に移行し、ステップ１０１においての判別で“反転要求がセットされているので”ステップ１０５に移行して“反転状態をセット”して出力ルーチンに移行する。
【０１４９】
出力ルーチンのステップ３００においての判別で“停止状態はセットされていないので”ステップ３０１に移行し、ステップ３０１においての判別で“マニュアル閉状態はセットされていないので”ステップ３０２に移行し、ステップ３０２においての判別で“マニュアル開状態はセットされていないので”ステップ３０３に移行し、ステップ３０３においての判別で“自動閉状態はセットされていないので”ステップ３０４に移行し、ステップ３０４においての判別で“自動開状態はセットされていないので”ステップ３０５に移行し、ステップ３０５においての判別で“反転状態がセットされているので”ステップ３１１に移行して“開駆動出力”が実行される。
【０１５０】
“開駆動出力”が実行されることによって、マイクロコンピュータＣＰＵの第１の出力ポートＰ７がハイレベルになるとともにマイクロコンピュータＣＰＵの第２の出力ポートＰ８がローレベルになり、モータ６の第２のブラシ端子６ｂが接地されている状態でモータ６の第１のブラシ端子６ａに電源の電位が与えられるため、モータ６のアーマチュアシャフト６ｃが正回転することによってウインドガラス６０が開く側に反転移動される。
【０１５１】
アーマチュアシャフト６ｃが正回転を開始することによってウインドガラス６０が開く側に反転移動すると、図２に示されるように、モータ６のアーマチュアシャフト６ｃが時間Ｔ1 から正回転を開始し、時間Ｔ2 において第１の信号発生器７ｂより第１のパルス信号Ａが発生し、この第１のパルス信号Ａに１／４周期ずれて第２の信号発生器７ｃより第２のパルス信号Ｂが発生する。
【０１５２】
時間Ｔ2 において第１のパルス信号Ａが発生し、第１のパルス信号Ａの立上りエッジが検出されると、パルスエッジ割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジであるので”ステップ２０２に移行して“第１のタイマＴＡＲのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第１のタイマＴＡＲのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１５３】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジであるので”ステップ２１０に移行し、ステップ２１０においての判別で“第２のパルス信号Ｂはローレベルなので”ステップ２１２に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【０１５４】
時間Ｔ2 の以後、回転検出センサ７の回転体７ａが１／４回転した図２に示される時間Ｔ4 において第２のパルス信号Ａが立上る。第２のパルス信号Ｂが立上ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジであるので”ステップ２０６に移行して“第２のタイマＴＢＲのカウント値の０クリア“が実行されてステップ２０３に移行し、ステップ２０３において“第２のタイマＴＢＲのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１５５】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジであるので”ステップ２１７に移行し、ステップ２１７においての判別で“第１のパルス信号Ａはローレベルではないので”ステップ２２０に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【０１５６】
時間Ｔ4 の以後、回転検出センサ７の回転体７ａが１／２回転した図２に示される時間Ｔ6 において第１のパルス信号Ａが立下る。第１のパルス信号Ａが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジではないので”ステップ２０５に移行して“第３のタイマＴＡＦのカウント値の０クリア“が実行されてステップ２０３に移行し、ステップ２０３において“第３のタイマＴＡＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１５７】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジではないので”ステップ２１１に移行し、ステップ２１１においての判別で“第２のパルス信号Ｂはローレベルではないので”ステップ２１５に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【０１５８】
時間Ｔ6 の以後、回転検出センサ７の回転体７ａが３／４回転した図２に示される時間Ｔ8 において第２のパルス信号Ｂが立下る。第２のパルス信号Ｂが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジではないので”ステップ２０７に移行して“第４のタイマＴＢＦのカウント値の０クリア“が実行されてステップ２０３に移行し、ステップ２０３において“第４のタイマＴＢＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１５９】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジではないので”ステップ２１８に移行し、ステップ２１８においての判別ＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【０１６０】
時間Ｔ8 の以後、回転検出センサ７の回転体７ａは図２に示される時間Ｔ10において１回転を終了し、２回転目に入るため、第１のパルス信号Ａが再び立上る。第１のパルス信号Ａが立上ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジであるので”ステップ２０２に移行して“第１のタイマＴＡＲのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第１のタイマＴＡＲのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１６１】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジであるので”ステップ２１０に移行し、ステップ２１０においての判別で“第２のパルス信号Ｂはローレベルなので”ステップ２１２に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【０１６２】
時間Ｔ10の以後、回転検出センサ７の回転体７ａが５／４回転した図２に示される時間Ｔ12において第２のパルス信号Ｂが再び立上る。第２のパルス信号Ｂが立上ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジであるので”ステップ２０６に移行して“第２のタイマＴＢＲのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第２のタイマＴＢＲのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１６３】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジであるので”ステップ２１７に移行し、ステップ２１７においての判別で“第１のパルス信号Ａはローレベルではないので”ステップ２２０に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【０１６４】
時間Ｔ12の以後、回転検出センサ７の回転体７ａが３／２回転した図２に示される時間Ｔ14において第１のパルス信号Ａが立下る。第１のパルス信号Ａが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０１に移行し、ステップ２０１においての判別で“立上りエッジではないので”ステップ２０５に移行して“第３のタイマＴＡＦのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第３のタイマＴＡＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１６５】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａであるので”ステップ２０９に移行し、ステップ２０９においての判別で“立上りエッジではないので”ステップ２１１に移行し、ステップ２１１においての判別で“第２のパルス信号Ｂはローレベルではないので”ステップ２１５に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【０１６６】
時間Ｔ14の以後、回転検出センサ７の回転体７ａが７／４回転した図２に示される時間Ｔ16において第２のパルス信号Ｂが立下る。第２のパルス信号Ｂが立下ると、割り込みルーチンのステップ２００においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２０４に移行し、ステップ２０４においての判別で“立上りエッジではないので”ステップ２０７に移行して“第４のタイマＴＢＦのカウント値の０クリア”が実行されてステップ２０３に移行し、ステップ２０３において“第４のタイマＴＢＦのカウント値より速度ω０を算出処理する”が実行されてステップ２０８に移行する。
【０１６７】
そして、ステップ２０８においての判別で“エッジは第１のパルス信号Ａではないので”ステップ２１６に移行し、ステップ２１６においての判別で“立上りエッジではないので”ステップ２１８に移行し、ステップ２１８においての判別で“第１のパルス信号Ａはローレベルなので”ステップ２２１に移行してパルスカウントＰＣがプラス１カウント（＋１）されて割り込み処理を終了する。
【０１６８】
上述したように、アーマチュアシャフト６ｃが正回転を開始してウインドガラス６０が開く側に移動を開始することによって、回転検出センサ７が第１のパルス信号Ａ、第２のパルス信号Ｂを発生すると、第１のタイマＴＡＲが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第１のタイマＴＡＲに１／４周期ずれて、第２のタイマＴＢＲが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第１のタイマＴＢＲに１／４周期ずれて、第３のタイマＴＡＦが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第３のタイマＴＢＲに１／４周期ずれて、第４のタイマＴＢＦが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行うことによって、マイクロコンピュータＣＰＵがウインドガラス６０の現在位置を間接的に検出する。
【０１６９】
アーマチュアシャフト６ｃが正回転を開始すると、メインルーチンのステップ１００においての判別で“停止状態がセットされていないので”ステップ１０８に移行し、ステップ１０８においての判別で“マニュアル閉状態はセットされていないので”ステップ１１７に移行し、ステップ１１７においての判別で“マニュアル開状態はセットされていないので”ステップ１２４に移行し、ステップ１２４においての判別で“自動閉状態はセットされていないので”ステップ１３１に移行し、ステップ１３１においての判別で“自動開状態はセットされていないので”ステップ１３６に移行し、ステップ１３６においての判別で“反転状態がセットされているので”ステップ１３７に移行し、ステップ１３７においての判別で“モータロックはセットされていないので”ステップ１３８に移行し、ステップ１３８においての判別が行われる。ステップ１３８においての判別は、ウインドガラス６０が予め定められた位置まで下降したところでウインドガラス６０を停止させるようにする判別ステップである。反転を開始した当初は、ステップ１３８においての判別で“パルスカウントＰＣが予め定められた反転停止カウントＰＣreを越えないので”ステップ１００に復帰してメインルーチンを繰り返し、ウインドガラス６０が予め定められた位置まで下降したことによって“パルスカウントＰＣが予め定められた反転停止カウントＰＣreを越えると”ステップ１３８からステップ１４０に移行して“停止状態”をセットして出力ルーチンに移行する。
【０１７０】
出力ルーチンのステップ３００においての判別で“停止状態がセットされているので”ステップ３０６に移行して“停止出力”が実行される。“停止出力”が実行されることによって、マイクロコンピュータＣＰＵの第１の出力ポートＰ７がローレベルになるとともにマイクロコンピュータＣＰＵの第２の出力ポートＰ８がローレベルになるため、モータ６の第１、第２のブラシ端子６ａ、６ｂが電流が供給されなくなって、モータ６のアーマチュアシャフト６ｃが正回転を停止することによってウインドガラス６０が止まる。
【０１７１】
また、ウインドガラス６０が全開位置に近いところで挟み込みが発生したことによって、アーマチュアシャフト６ｃが正回転に反転を開始した場合、パルスカウントＰＣが予め定められた反転停止カウントＰＣreを越える以前にウインドガラス６０が全開位置に到達して移動を阻止されるため、負荷検出ルーチンのステップ５００においての判別で“閉動作はセットされていないので”ステップ５０８に移行し、ステップ５０８においての判別で“パルスエッジ割り込みルーチンで算出された速度ω０が予め定められた最小値ωｍｉｎより小さくなっているので”ステップ５０９に移行して“モータロック検知”がセットされてメインルーチンが実行される。
【０１７２】
そして、メインルーチンのステップ１３６においての判別で“反転状態がセットされているので”ステップ１３７に移行し、ステップ１３７においての判別で“モータロック検知がセットされているので”ステップ１３９に移行して“停止状態”をセットして出力ルーチンが実行される。
【０１７３】
出力ルーチンのステップ３００においての判別で“停止状態がセットされているので”ステップ３０６に移行して“停止出力”が実行され、メインルーチンに移行する。“停止出力”が実行されることによって、マイクロコンピュータＣＰＵの第１の出力ポートＰ７がローレベルになるとともにマイクロコンピュータＣＰＵの第２の出力ポートＰ８がローレベルになるため、モータ６の第１、第２のブラシ端子６ａ、６ｂが電流が供給されなくなって、アーマチュアシャフト６ｃが正回転を停止することによってウインドガラス６０が全開位置で停止する。
【０１７４】
上述したように、アーマチュアシャフト６ｃが反転の正回転を開始してウインドガラス６０が開く側に移動を開始することによって、回転検出センサ７が第１のパルス信号Ａ、第２のパルス信号Ｂを発生すると、第１のタイマＴＡＲが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第１のタイマＴＡＲに１／４周期ずれて、第２のタイマＴＢＲが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第１のタイマＴＢＲに１／４周期ずれて、第３のタイマＴＡＦが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第３のタイマＴＢＲに１／４周期ずれて、第４のタイマＴＢＦが回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行うことによって、マイクロコンピュータＣＰＵがウインドガラス６０の現在位置を間接的に検出する。
【０１７５】
図１５ないし図１７には、この発明に係わるパワーウインド制御装置の第２実施例が示されている。
【０１７６】
この場合、回転検出センサ７の回転体７ａには、一対のＮ極および一対のＳ極が対向配置されている。そのため、回転検出センサ７は、回転体７ａが回転することによって、第１の信号発生器７ｂが発生する第１のパルス信号Ａに対して、１／８周期ずれて第２の信号発生器７ｃから第２のパルス信号Ｂが発生する。
【０１７７】
そして、マイクロコンピュータＣＰＵには、図１７に示されるように、第１のタイマＴＡＲ１、第２のタイマＴＢＲ１、第３のタイマＴＡＦ１、第４のタイマＴＢＦ１、第５のタイマＴＡＲ２、第６のタイマＴＢＲ２、第７のタイマＴＡＦ２、第８のタイマＴＢＦ２がそれぞれ内蔵されており、他の部位は第１実施例と同様になっている。
【０１７８】
そして、この場合も、アーマチュアシャフト６ｃが正回転を開始してウインドガラス６０が開く側に移動を開始することによって、回転検出センサ７が第１のパルス信号Ａ、第２のパルス信号Ｂを発生すると、第１のタイマＴＡＲ１が回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第１のタイマＴＡＲ１に１／８周期ずれて、第２のタイマＴＢＲ１が回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第１のタイマＴＢＲ１に１／８周期ずれて、第３のタイマＴＡＦ１が回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第３のタイマＴＢＲ１に１／８周期ずれて、第４のタイマＴＢＦ１が回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第４のタイマＴＢＦ１に１／８周期ずれて、第５のタイマＴＡＲ２が回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第５のタイマＴＡＲ２に１／８周期ずれて、第６のタイマＴＢＲ２が回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第６のタイマＴＢＲ２に１／８周期ずれて、第７のタイマＴＡＦ２が回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行い、この第７のタイマＴＢＲ２に１／８周期ずれて、第８のタイマＴＢＦ２が回転検出センサ７の回転体７ａの一回転毎にカウントを０クリアしながらプラスカウントを行うことによって、マイクロコンピュータＣＰＵがウインドガラス６０の現在位置を間接的に検出する。
【０１７９】
【発明の効果】
以上説明してきたように、この発明の請求項１に係わるパワーウインド制御装置によれば、回転検出センサは、回転体が回転し、信号発生器に対してマグネットのＮ極およびＳ極の境界線から予め定められた位置まで来ると、その位置でのマグネットの磁束密度に対してのしきい値によって信号発生器がパルス信号を発生する。それ故、回転体の円周上の同一点での計測が行われるから、回転体のマグネットに着磁のばらつきがあったとしても、パルス信号の周期に狂いが生ずることがなくなり、また、回転検出センサのマグネットが外径の小さいものであっても、細かい回転数データが得られるという優れた効果を奏する。
【０１８０】
この発明の請求項２に係わるパワーウインド制御装置によれば、制御ユニットのマイクロコンピュータは、それぞれが１／４周期つづ位相差をもっていて回転体の一回転毎にパルス信号を発生する第１、第２、第３、第４のタイマの値と、フリーランニングカウンタの値とによりパルス周期の算出処理を行うことによって、アーマチュアシャフトの回転速度が検出される。それ故、請求項１の効果に加え、マイクロコンピュータに内蔵するタイマが４個で済むという優れた効果を奏する。
【０１８１】
この発明の請求項３に係わるパワーウインド制御装置によれば、制御ユニットのマイクロコンピュータは、それぞれが１／８周期つづ位相差をもっていて回転体の一回転毎にパルス信号を発生する第１、第２、第３、第４、第５、第６、第７、第８のタイマの値と、フリーランニングカウンタの値とによりパルス周期の算出処理を行うことによって、アーマチュアシャフトの回転速度が検出される。それ故、請求項１の効果に加え、マイクロコンピュータに内蔵するタイマが８個で済むという優れた効果を奏する。
【図面の簡単な説明】
【図１】この発明に係わるパワーウインド制御装置の第１実施例のブロック構成図である。
【図２】図１に示したパワーウインド制御装置の動作を説明するタイミングチャートである。
【図３】図１に示したパワーウインド制御装置の動作を説明するタイミングチャートである。
【図４】図１に示したパワーウインド制御装置においてのパルスカウント算出処理の説明図である。
【図５】図１に示したパワーウインド制御装置においてのタイマ割り込みのフローチャートである
【図６】図１に示したパワーウインド制御装置においてのパルスによる作動方向の検出処理の説明図である。
【図７】図１に示したパワーウインド制御装置の制御動作に用いるメインルーチンのフローチャートである。
【図８】図１に示したパワーウインド制御装置の制御動作に用いるメインルーチンのフローチャートである。
【図９】図１に示したパワーウインド制御装置の制御動作に用いるメインルーチンのフローチャートである。
【図１０】図１に示したパワーウインド制御装置の制御動作に用いる出力ルーチンのフローチャートである。
【図１１】図１に示したパワーウインド制御装置の制御動作に用いるパルスエッジ割り込みルーチンのフローチャートである。
【図１２】図１に示したパワーウインド制御装置の制御動作に用いるパルスエッジ割り込みルーチンのフローチャートである。
【図１３】図１に示したパワーウインド制御装置の制御動作に用いる負荷検出ルーチンのフローチャートである。
【図１４】図１に示したパワーウインド制御装置の負荷検出処理の説明図である。
【図１５】この発明に係わるパワーウインド制御装置の第２実施例の動作を説明するタイミングチャートである。
【図１６】図１５に示したパワーウインド制御装置の動作を説明するタイミングチャートである。
【図１７】図１５に示したパワーウインド制御装置のタイマの制御動作を説明するタイミングチャートである。
【符号の説明】
１      パワーウインド制御装置
２      開スイッチ
３      閉スイッチ
４      自動スイッチ
６      モータ
６ｃ    アーマチュアシャフト
７      回転検出センサ
７ａ    回転体
７ｂ    （信号発生器）第１の信号発生器
７ｃ    （信号発生器）第２の信号発生器
２０    制御ユニット
２４    駆動回路
５０    電源
６０    ウインドガラス
ＣＰＵ  マイクロコンピュータ
ＦＲＣ  フリーランニングカウンタ
ＴＡＲ  第１のタイマ
ＴＢＲ  第２のタイマ
ＴＡＦ  第３のタイマ
ＴＢＦ  第４のタイマ
【図１】
0003727763.tif 000002
【図２】
0003727763.tif 000003
【図３】
0003727763.tif 000004
【図４】
0003727763.tif 000005
【図５】
0003727763.tif 000006
【図６】
0003727763.tif 000007
【図７】
0003727763.tif 000008
【図８】
0003727763.tif 000009
【図９】
0003727763.tif 000010
【図１０】
0003727763.tif 000011
【図１１】
0003727763.tif 000012
【図１２】
0003727763.tif 000013
【図１３】
0003727763.tif 000014
【図１４】
0003727763.tif 000015
【図１５】
0003727763.tif 000016
【図１６】
0003727763.tif 000017
【図１７】
0003727763.tif 000018