(57)【特許請求の範囲】
【請求項１】
電源スイッチと、
上記電源スイッチに電気的に接続されたモータ駆動回路と、
上記モータ駆動回路に電気的に接続されているとともに開閉負荷に結合され、モータ駆動回路の作動により該負荷を開側または閉側に駆動するモータと、
上記モータの回転により回転検出信号を発生するモータ回転検出手段と、
オン切換えされることにより下降指令信号を発生する開スイッチと、
オン切換えされることにより上昇指令信号を発生する閉スイッチと、
上記電源スイッチ、モータ駆動回路、モータ回転検出手段、開スイッチ、閉スイッチにそれぞれ電気的に接続され、該開スイッチより下降指令信号が与えられると負荷を開側に駆動するための電流をモータ駆動回路を介しモータに供給する一方、該閉スイッチより上昇指令信号が与えられると負荷を閉側に駆動するための電流をモータ駆動回路を介しモータに供給するコントローラと、
上記モータが上記負荷を駆動中に、該モータ電圧が下がってきたときに、上記モータ回転検出手段より与えられた回転信号を位置データに変換して電気的に複数個読み込み及び書き込み可能な不揮発性メモリと、
上記コントローラに内蔵され、上記モータが作動中に、上記電源スイッチがオフ切換えされたときで、電源電圧が予め定められた値以下になったときに、予め定められた時間おきに位置データを上記不揮発性メモリに連続的に書き込む機能を有している制御ブロックを備えていることを特徴とするモータ制御装置。
【請求項２】
コントローラには、電源スイッチがオン切換えされたときに不揮発性メモリに書き込まれている複数個の位置データを読み出し、その中の３個の位置データのそれぞれを比較して、最後に書き込まれた位置データの以後の位置データの算出処理を最終的な位置データが得られるまで複数回行うガラス位置予測ブロックを備えていることを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
コントローラには、モータ回転検出手段より与えられた回転信号の周期を測定するパルス間隔測定ブロックを備えていることを特徴とする請求項１に記載のモータ制御装置。
【請求項４】
コントローラには、パルス間隔測定ブロックより与えられた回転信号の周期値と予め定められた判定値とを比較することにより、モータのロック判定を行うモータロック判定ブロックを備えていることを特徴とする請求項３に記載のモータ制御装置。
【請求項５】
コントローラには、開スイッチまたは閉スイッチがオン切換えされている時間が予め定められた値を越えた際に下降指令信号または上昇指令信号を記憶し、その後に、開スイッチまたは閉スイッチがオフ切換えされてからも、下降指令信号または上昇指令信号を連続的に発生するワンタッチ動作記憶ブロックを備えていることを特徴とする請求項１に記載のモータ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、自動車のパワーウインド等の開閉装置を制御するモータ制御装置に関する。
【０００２】
【従来の技術】
自動車の開閉装置を制御するモータ制御装置としては、コントローラに内蔵され、電気的に書き込み可能にして消去可能な不揮発性メモリに対し、モータの回転信号を位置データとして取り込むことによって、ウインドガラスの現在位置を間接的に検出しているものが知られている。
【０００３】
上記のようなモータ制御装置では、図１４に示されるように、時刻ａにおいて開スイッチ（閉スイッチ）がオンされることによってモータが作動される。モータが作動を開始するとモータ電圧ＶＢは無負荷の状態に対して下がる。モータが作動を開始することによってモータに内蔵された回転センサからのパルス信号がコントローラに取り込まれる。時刻ａの後の時刻ｂにおいてウインドガラスがストローク端に到達すると、ウインドガラスが移動を阻止されることにより、モータがロックされるので、モータ電圧ＶＢは作動中よりさらに下がる。モータがロックされることにより、時刻ｂの後の時刻ｃにおいて、コントローラがモータに対する通電をカットオフし、モータ電圧ＶＢは無負荷の状態に復帰する。そして、時刻ｃの後の時刻ｄにおいて電源（ＩＧ）スイッチがオフされると、コントローラの電源が遮断され、モータ電圧ＶＢは時間の経過とともに下がる。そして、時刻ｄの後の時刻ｅにおいてモータ電圧ＶＢがメモリ書き込み電圧Ｖ０を下回ると、コントローラは、回転センサから与えられたパルス信号数の不揮発性メモリへの書き込みを始め、時刻ｅの後の時刻ｆにおいてモータ電圧ＶＢがリセット電圧ＲＥＳを下まわるまでの書き込み可能時間ｔ内で書き込みが行われる。メモリ書き込み電圧Ｖ０は、回路内の電源電圧がマイコンのリセット電圧ＲＥＳ以上になるような回路への供給電圧以上であって、しかも、モータがその仕様の最低作動電圧でロックしたときの電圧降下以下である必要がある。
【０００４】
【発明が解決しようとする課題】
ところが、上記のモータ制御装置において、コントローラの電源電圧が遮断された時に、ウインドガラスの位置データを不揮発性メモリに書き込むものでは、モータがロック状態にある際に電源スイッチがオフ切換えされた場合、コントローラの電源電圧が通常の作動電圧より低い電圧値に対し既に低下しているので、書き込みに必要な電荷量が不足し、単一の位置データのみを書き込むようになっていた。そのため、不揮発性メモリにウインドガラスの位置データを書き込むのに十分な時間を確保できるようにするための大容量のバックアップ用コンデンサが用いられており、大容量のバックアップ用コンデンサをコントローラに内蔵することによって、コントローラの外形が大型化するという問題点があった。
【０００５】
また、上記のモータ制御装置では、モータが作動中に電源スイッチがオフ切換えされた場合、モータの回転信号が入力中であるのにも拘らず、コントローラに内蔵されたマイコンの作動電圧が低下することによって書き込みができなくなり、実際のウインドガラスの位置に対してずれた位置データをマイコンが書き込んでしまうことになる。そのため、モータが停止するまで位置データの書き込みを継続して行えるようにするための大容量のバックアップ用コンデンサが用いられており、上記と同様にコントローラの外形が大型化するという問題点があった。
【０００６】
【発明の目的】
この発明に係わるモータ制御装置は、大容量のバックアップ用コンデンサを必要とすることなく複数個の位置データの書き込みが確実にできて、コンパクトな外形を得ることができるモータ制御装置を提供することを目的としている。
【０００７】
【発明の構成】
【０００８】
【課題を解決するための手段】
この発明の請求項１に係わるモータ制御装置では、電源スイッチと、電源スイッチに電気的に接続されたモータ駆動回路と、モータ駆動回路に電気的に接続されているとともに開閉負荷に結合され、モータ駆動回路の作動により負荷を開側または閉側に駆動するモータと、モータの回転により回転検出信号を発生するモータ回転検出手段と、オン切換えされることにより下降指令信号を発生する開スイッチと、オン切換えされることにより上昇指令信号を発生する閉スイッチと、電源スイッチ、モータ駆動回路、モータ回転検出手段、開スイッチ、閉スイッチにそれぞれ電気的に接続され、開スイッチより下降指令信号が与えられると負荷を開側に駆動するための電流をモータ駆動回路を介しモータに供給する一方、閉スイッチより上昇指令信号が与えられると負荷を閉側に駆動するための電流をモータ駆動回路を介しモータに供給するコントローラと、モータが負荷を駆動中に、モータ電圧が下がってきたときに、モータ回転検出手段より与えられた回転信号を位置データに変換して電気的に複数個読み込み及び書き込み可能な不揮発性メモリと、コントローラに内蔵され、モータが作動中に、電源スイッチがオフ切換えされたときで、電源電圧が予め定められた値以下になったときに、予め定められた時間おきに位置データを不揮発性メモリに連続的に書き込む機能を有している制御ブロックを備えている構成としたことを特徴としている。
【０００９】
この発明の請求項２に係わるモータ制御装置では、コントローラには、電源スイッチがオン切換えされたときに不揮発性メモリに書き込まれている複数個の位置データを読み出し、その中の３個の位置データのそれぞれを比較して、最後に書き込まれた位置データの以後の位置データの算出処理を最終的な位置データが得られるまで複数回行うガラス位置予測ブロックを備えている構成としたことを特徴としている。
【００１０】
この発明の請求項３に係わるモータ制御装置では、コントローラには、モータ回転検出手段より与えられた回転信号の周期を測定するパルス間隔測定ブロックを備えている構成としたことを特徴としている。
【００１１】
この発明の請求項４に係わるモータ制御装置では、コントローラには、パルス間隔測定ブロックより与えられた回転信号の周期値と予め定められた判定値とを比較することにより、モータのロック判定を行うモータロック判定ブロックを備えている構成としたことを特徴としている。
【００１２】
この発明の請求項５に係わるモータ制御装置では、コントローラには、開スイッチまたは閉スイッチがオン切換えされている時間が予め定められた値を越えた際に下降指令信号または上昇指令信号を記憶し、その後に、開スイッチまたは閉スイッチがオフ切換えされてからも、下降指令信号または上昇指令信号を連続的に発生するワンタッチ動作記憶ブロックを備えている構成としたことを特徴としている。
【００１３】
【発明の作用】
この発明の請求項１に係わるモータ制御装置において、開スイッチまたは閉スイッチがオン切換えされ、モータが起動し始めた後、開スイッチまたは閉スイッチがオフ切換えされる以前に電源スイッチがオフ切換えされ、モータ電圧が下がってきたときに、不揮発性メモリに複数個の位置データの書き込みが行われ、電源スイッチがオン切換えされた際に不揮発性メモリに書き込まれた位置データを用いて現在位置が予測されるから、位置データの書き込みのための時間を確保する大容量のバックアップ用コンデンサを必要としない。
【００１４】
この発明の請求項２に係わるモータ制御装置において、コントローラのガラス位置予測ブロックは、電源スイッチがオン切換えされた際に、不揮発性メモリに既に書き込まれている複数個の位置データを読み出し、その中の３個の位置データのそれぞれを比較して、最後に書き込まれた位置データの以後の位置データの算出処理を複数回行うことにより、負荷が最終的に停止した位置データを得る。それ故、請求項１の作用に加え、モータ電圧が下がってきたときに、不揮発性メモリに電気的に書き込まれた位置データの数が複数個存在するため、確実に最終的な位置データが得られる。
【００１５】
この発明の請求項３に係わるモータ制御装置において、モータ回転検出手段より与えられる回転信号は、モータがロックすることによってその周期が大きくなり、コントローラのパルス間隔測定ブロックは、モータ回転検出手段より与えられた回転信号の周期を測定する。それ故、請求項１の作用に加え、パルス間隔測定ブロックにより、回転信号の周期を検出することによってモータの負荷状態が検出される。
【００１６】
この発明の請求項４に係わるモータ制御装置において、コントローラのモータロック判定ブロックは、パルス間隔測定ブロックより与えられた周期値と予め定められた判定値とを比較し、パルス間隔測定ブロックより与えられた周期値が予め定められた判定値を越えた際に、制御ブロックにモータロックの有無の判定を与える。それ故、請求項３の作用に加え、モータのロック中に電源スイッチがオフ切換えされても、ガラスの位置データは失われない。
【００１７】
この発明の請求項５に係わるモータ制御装置において、コントローラのワンタッチ動作記憶ブロックは、開スイッチまたは閉スイッチが長い時間オン切換えされた後にオフ切換えされた際、開スイッチまたは閉スイッチがオン切換えされたときに記憶した下降指令信号または上昇指令信号が連続的に発生する。それ故、請求項１の作用に加え、ワンタッチ動作記憶ブロックによって、開スイッチまたは閉スイッチより発生した指令信号の保持が行われるため、開スイッチおよび閉スイッチの他にオートスイッチ等の付加スイッチを必要としない。
【００１８】
【実施例】
図１ないし図１３には、この発明に係わるモータ制御装置の一実施例が示されている。
【００１９】
図示されるモータ制御装置１は、開スイッチ（ＳＷ）２、閉スイッチ（ＳＷ）３、スイッチ（ＳＷ）信号入力ブロック４、モータ５、回転センサ６、モータ駆動出力ブロック７、パルス信号入力ブロック８、電源ブロック９（図２に示される。）、変換ブロック１０（図２に示される。）、中央処理回路（コントローラ）（マイコン）ＭＣＵ、ＥＥＰＲＯＭ外部メモリブロックＭＥＭ、リセット回路１１（図２に示される。）から構成されており、中央処理回路ＭＣＵに、ワンタッチ動作記憶ブロック１２、ＥＥＰＲＯＭメモリアドレスカウンタＡＤＣＴ、クロックジェネレータ１３、制御ブロック１４、入出力制御ブロック１５、パルス間隔測定ブロック１６、パルス間隔測定タイマＴＭ２、モータロック判定ブロック１７、ＥＥＰＲＯＭ書き込みインターバルタイマＴＭ１、パルスカウンタガラス位置記憶ＷＩＮＤＣＴ、ガラス位置予測ブロック１８が内蔵されている。
【００２０】
図１に示されるモータ制御装置１は、具体的には図２に示される回路図に表される。
【００２１】
開、閉スイッチ２、３は、一方が電源スイッチ（イグニションスイッチ）２０を通じてバッテリである電源２１に電気的に接続され、他方がスイッチ信号入力ブロック４に電気的に接続されている。開スイッチ２は、オン切換えされることによって下降指令信号を発生する。これとは異なり、閉スイッチ３は、オン切換えされることによって上昇指令信号を発生する。
【００２２】
スイッチ信号入力ブロック４は、抵抗Ｒ６、抵抗Ｒ７から構成されており、抵抗Ｒ６が開スイッチ２に電気的に接続され、抵抗Ｒ７が閉スイッチ３に電気的に接続されている。
【００２３】
スイッチ信号入力ブロック４では、電源スイッチ２０がオン状態にある際に、開スイッチ２がオン切換えされると、抵抗Ｒ６を通じ、図示しない電圧クランプ回路を介し下降指令信号（ハイレベル）を中央処理回路ＭＣＵに備えた第１の入力ポートＩＮ１に与える。これとは異なり、電源スイッチ２０がオン状態にある際に、閉スイッチ３がオン切換えされると、抵抗Ｒ７を通じ、図示しない電圧クランプ回路を介し上昇指令信号（ハイレベル）を中央処理回路ＭＣＵに備えた第２の入力ポートＩＮ２に与える。
【００２４】
モータ５には、第１、第２のブラシ端子５ａ、５ｂが備えられているとともに、図示しないアーマチュアに備えたアーマチュアシャフト５ｃが図示しないゴム製のダンパを介し、同じく図示しないガラス昇降器を介してウインドガラス３０に連結されている。
【００２５】
モータ５は、第１のブラシ端子５ａが電源２１に電気的に接続されるとともに第２のブラシ端子５ｂが接地に接続されることによってアーマチュアシャフト５ｃが正回転するため、アーマチュアシャフト５ｃの正回転によってウインドガラス３０を開ける。これに反して、第２のブラシ端子５ｂが電源２１に電気的に接続されるとともに第１のブラシ端子５ａが接地に接続されることによってアーマチュアシャフト５ｃが逆回転するため、アーマチュアシャフト５ｃの逆回転によってウインドガラス３０を閉める。モータ５の第１、第２のブラシ端子５ａ、５ｂは、モータ駆動出力ブロック７に電気的に接続されている。
【００２６】
モータ駆動出力ブロック７には、第１のリレーＲＬ１、第１のスイッチングトランジスタＴＲ１、第２のリレーＲＬ２、第２のスイッチングトランジスタＴＲ２がそれぞれ備えられている。
【００２７】
第１のリレーＲＬ１には、第１のリレーコイルＲＬ１−１、第１のリレー常開接点ＲＬ１−２、第１の常閉接点ＲＬ１−３、第１のリレー可動接点ＲＬ１−４が備えられている。第１のリレーコイルＲＬ１−１は、上流側が電源スイッチ２０に接続され、下流側が第１のスイッチングトランジスタＴＲ１のコレクタに接続されている。第１のリレー常開接点ＲＬ１−２は電源スイッチ２０に接続されている。第１のリレー常閉接点ＲＬ１−３は接地に接続されている。第１のリレー可動接点ＲＬ１−４はモータ５の第１のブラシ端子５ａに接続されている。
【００２８】
第１のスイッチングトランジスタＴＲ１は、エミッタ接地のＮＰＮ型トランジスタであって、ベースが図示しない抵抗を通じて中央処理回路ＭＣＵに備えた第１の出力ポートＤ１に接続され、コレクタが前述したように第１のリレーコイルＲＬ１−１の下流側に接続されている。
【００２９】
第２のリレーＲＬ２には、第２のリレーコイルＲＬ２−１、第２のリレー常開接点ＲＬ２−２、第２の常閉接点ＲＬ２−３、第２のリレー可動接点ＲＬ２−４が備えられている。第２のリレーコイルＲＬ２−１は、上流側が電源スイッチ２０に接続され、下流側が第２のスイッチングトランジスタＴＲ２のコレクタに接続されている。第２のリレー常開接点ＲＬ２−２は、電源スイッチ２０に接続されている。第２のリレー常閉接点ＲＬ２−３は、接地に接続されている。第２のリレー可動接点ＲＬ２−４は、モータ５の第２のブラシ端子５ｂに接続されている。
【００３０】
第２のスイッチングトランジスタＴＲ２は、エミッタ接地のＮＰＮ型トランジスタであって、ベースが図示しない抵抗を通じて中央処理回路ＭＣＵに備えた第２の出力ポートＤ２に接続され、コレクタが前述したように第２のリレーコイルＲＬ２−１の下流側に接続されている。
【００３１】
モータ駆動出力ブロック７では、中央処理回路ＭＣＵの第１の出力ポートＤ１からハイレベルが与えられるとともに、中央処理回路ＭＣＵの第２の出力ポートＤ２からローレベルが与えられると、第１のスイッチングトランジスタＴＲ１がオンされ、第１のリレーコイルＲＬ１−１が励磁され、第１のリレー可動接点ＲＬ１−４が第１のリレー常閉接点ＲＬ１−３から第１のリレー常開接点ＲＬ１−２に電気的に接続される。そして、電源２１の電流が、第１のリレー常開接点ＲＬ１−２、第１のリレー可動接点ＲＬ１−４、モータ５の第１のブラシ端子５ａ、モータ５の第２のブラシ端子５ｂ、第２のリレー可動接点ＲＬ２−４、第２のリレー常閉接点ＲＬ２−３、接地に流れるため、モータ５のアーマチュアシャフト５ｃが正回転する。
【００３２】
上記に反して、モータ駆動出力ブロック７では、中央処理回路ＭＣＵの第２の出力ポートＤ２からハイレベルが与えられるとともに、中央処理回路ＭＣＵの第１の出力ポートＤ１からローレベルが与えられると、第２のスイッチングトランジスタＴＲ２がオン切換えされ、第２のリレーコイルＲＬ２−１が励磁され、第２のリレー可動接点ＲＬ２−４が第２のリレー常閉接点ＲＬ２−３から第２のリレー常開接点ＲＬ２−２に電気的に接続される。そして、電源２１の電流が、第２のリレー常開接点ＲＬ２−２、第２のリレー可動接点ＲＬ２−４、モータ５の第２のブラシ端子５ｂ、モータ５の第１のブラシ端子５ａ、第１のリレー可動接点ＲＬ１−４、第１のリレー常閉接点ＲＬ１−３、接地に流れるため、モータ５のアーマチュアシャフト５ｃが逆回転する。
【００３３】
回転センサ６は、ロータリーエンコーダやタコジェネレータなどの回転検出器であって、モータ５のアーマチュアシャフト５ｃの近くに配置されている。この回転センサ６は、図２に示されるように、抵抗Ｒ８および抵抗９によって分圧され、ツェナダイオードＺＤ３によって制限された電圧レベルが上流側に与えられているため、モータ５のアーマチュアシャフト５ｃが回転していると、回転に対応してパルス状の回転信号を発生する。回転センサ６が発生したパルス信号はパルス信号入力ブロック８に与えられる。
【００３４】
パルス信号入力ブロック８は、抵抗Ｒ１０、コンデンサＣ５からなる。このパルス信号入力ブロック８は、回転センサ６から与えられたパルス信号を安定化したうえで、図示しない電圧クランプ回路を通じ中央処理回路ＭＣＵに備えた第３の入力ポートＩＮ３に与える。
【００３５】
電源ブロック９は、ダイオードＤ１、抵抗Ｒ１、ツェナダイオードＺＤ１、第１のバックアップ用コンデンサＣ１、第２のバックアップ用コンデンサＣ２、発振防止用コンデンサＣ４、電源ＩＣ２２からなる。
【００３６】
電源ブロック９では、ダイオードＤ１のアノードが電源スイッチ２０に接続され、他端が接地された第２のバックアップ用コンデンサＣ２の一端が電源ライン９ａとともに作動用電源ＶＣＣに接続され、電源ライン９ａが中央処理回路ＭＣＵのレギュレータポートＲＥＧおよびＥＥＰＲＯＭ外部メモリブロック（不揮発性メモリ）ＭＥＭに接続されている。
【００３７】
電源ブロック９では、電源スイッチ２０がオン状態にあると、第１のバックアップ用コンデンサＣ１が充電され、電源ＩＣ２２がオンし、第２のバックアップ用コンデンサＣ２が充電されて、中央処理回路ＭＣＵのレギュレータポートＲＥＧ、ＥＥＰＲＯＭ外部メモリブロックＭＥＭに所定のドライブ電圧を与える。そして、電源ブロック９では、電源スイッチ２０がオフ切換えされると、第１のバックアップ用コンデンサＣ１、第２のバックアップ用コンデンサＣ２がそれぞれ放電され、放電電圧が、中央処理回路ＭＣＵのレギュレータポートＲＥＧ、ＥＥＰＲＯＭ外部メモリブロックＭＥＭに与えられる。
【００３８】
ＥＥＰＲＯＭ外部メモリブロックＭＥＭ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａ−ｂｌｅ  ＲＯＭ  ）は、電気的に書き換え可能なＲＯＭであり、非通電状態でも記憶内容が保持される不揮発性メモリである。このＥＥＰＲＯＭ外部メモリブロックＭＥＭは、中央処理回路ＭＣＵに備えたシリアル出力ポートＳＯＵＴより与えられたガラス位置データを所定のメモリエリア内に格納し、シリアル入力ポートＳＩＮを介して所定のメモリエリアよりガラス位置データを取り出す。
【００３９】
変換ブロック１０には、抵抗Ｒ２、Ｒ３、Ｒ４、Ｒ５、ツェナダイオードＺＤ２、コンデンサＣ３が備えられている。
【００４０】
変換ブロック１０では、抵抗Ｒ２と抵抗Ｒ３とによって分圧され、ツェナダイオードＺＤ２によって制限され、抵抗Ｒ４とコンデンサＣ３によって積分され、抵抗Ｒ５によって調整された電圧レベルの信号を中央処理回路ＭＣＵに備えた変換ポートＡ／Ｄに与える。
【００４１】
リセット回路１１は、電源ブロック９から与えられているドライブ電圧が低下した際に、中央処理回路ＭＣＵをリセットする。
【００４２】
ワンタッチ動作記憶ブロック１２は、開スイッチ２がオン切換えされることによってスイッチ信号入力ブロック４から第１の入力ポートＩＮ１に与えられた下降指令信号（ハイレベル）、閉スイッチ３がオン切換えされることによってスイッチ信号入力ブロック４から第２の入力ポートＩＮ２に与えられた上昇指令信号（ハイレベル）の入力時間を検出している。
【００４３】
ワンタッチ動作記憶ブロック１２では、開スイッチ２から与えられた下降指令信号、閉スイッチ３から与えられた上昇指令信号のそれぞれの入力信号が予め定められた時間よりも長くなった場合、後述するものとは別に定められたプログラムによってワンタッチフラグがセットされることによりそれぞれの入力信号を記憶し、それぞれの入力信号が与えられなくなってからも、記憶したそれぞれの指令信号を制御ブロック１４に与え続けてワンタッチ動作を行う。中央処理回路ＭＣＵは、開スイッチ２が発生した下降指令信号の時間によってワンタッチ動作を判別するため、開スイッチ２の他にオートスイッチ等の付加スイッチを必要としない。
【００４４】
ＥＥＰＲＯＭメモリアドレスカウンタＡＤＣＴは、制御ブロック１４とのあいだで番地信号の授与を行うカウンタである。
【００４５】
クロックジェネレータ１３は、実行するプログラムの時間管理を行う。
【００４６】
パルス間隔測定ブロック１６は、パルス信号入力ブロック８より与えられたパルス信号の１つづつの立上がりおよび立下がりを検出する。
【００４７】
パルス間隔測定タイマＴＭ２は、パルス間隔測定ブロック１６によってパルス信号の立上がりが検出されるとタイマがスタートし、パルス信号の立下がりが検出されるとタイマがオフすることによって、パルス信号の１つづつの周期時間を検出する。検出したパルス信号の周期時間は、モータロック判定ブロック１７に与えられる。パルス間隔測定タイマＴＭ２では、モータ５のロック検出をモータ５が発生したパルス信号の周期によって直接的に検出している。
【００４８】
モータロック判定値ＸＬＯＣＫは、予め定められた値であって、モータ５のアーマチュアシャフト５ｃが回転を拘束されたことを検出するために用いられる。このモータロック判定値ＸＬＯＣＫは、中央処理回路ＭＣＵに内蔵された図示しないＲＯＭ内に保持されている。モータロック判定値ＸＬＯＣＫは、モータロック判定ブロック１７において、パルス間隔測定タイマＴＭ２により検出された周期時間と比較される。
【００４９】
モータロック判定ブロック１７は、パルス間隔測定タイマＴＭ２が検出した周期時間とモータロック判定値ＸＬＯＣＫとを比較することにより、パルス間隔測定タイマＴＭ２が検出した周期時間がモータロック判定値ＸＬＯＣＫを越えたときに判定信号を制御ブロック１４に与える。
【００５０】
ＥＥＰＲＯＭ書き込みインターバルタイマＴＭ１は、制御ブロック１４より入出力制御ブロック１５を通じて行われるＥＥＰＲＯＭ外部メモリブロックＭＥＭへの書き込みを一定の時間毎に行う機能を有する。このとき、ＥＥＰＲＯＭ書き込みインターバルタイマＴＭ１は予め定められた値ＸＭＥＭＷＲと比較することによってインターバル時間の経過を測る。
【００５１】
パルスカウンタガラス位置記憶ＷＩＮＤＣＴは、制御ブロック１４においてＥＥＰＲＯＭ外部メモリブロックＭＥＭ内へ書き込むためのガラス位置データを計数する。中央処理回路ＭＣＵに備えたリセットポートＲＥＳはリセット回路１１に接続されている。
【００５２】
ガラス位置予測ブロック１８は、電源スイッチ２０がオン切換えされた際、入出力制御ブロック１５、制御ブロック１４を介してＥＥＰＲＯＭ外部メモリブロックＭＥＭに既に書き込まれている位置データを読み出して、その中の３個の位置データを比較し、最後に書き込まれた位置データ以後の位置データの算出処理を複数回行うことによって、最終的にウインドガラス３０が停止した位置を推測し、この位置データをパルスカウンタガラス位置記憶ＷＩＮＤＣＴに与える。
【００５３】
制御ブロック１４では、スイッチ信号入力ブロック４より下降指令信号が与えられると、中央処理回路ＭＣＵの第１の出力ポートＤ１がハイレベルに、第２の出力ポートＤ２がローレベルにそれぞれなることによって第１のスイッチングトランジスタＴＲ１をオンする。これに反して、スイッチ信号入力ブロック４より上昇指令信号が与えられると、中央処理回路ＭＣＵの第２の出力ポートＤ１がハイレベルに、第１の出力ポートＤ２がローレベルにそれぞれなることによって第２のスイッチングトランジスタＴＲ２をオンする。
【００５４】
制御ブロック１４では、スイッチ信号入力ブロック４より与えられた下降指令信号が予め定められた時間よりも長くなってワンタッチ動作記憶ブロック１２により下降指令信号が記憶され、下降指令信号が与えられなくなってからも、ワンタッチ動作記憶ブロック１２により記憶された下降指令信号が与え続けられるため、モータ駆動出力ブロック７の第１のスイッチングトランジスタＴＲ１をオンし続ける。
【００５５】
制御ブロック１４では、スイッチ信号入力ブロック４より与えられた上昇指令信号が予め定められた時間よりも長くなってワンタッチ動作記憶ブロック１２により上昇指令信号が記憶され、上昇指令信号が与えられなくなってからも、ワンタッチ動作記憶ブロック１２により記憶された上昇指令信号が与え続けられるため、モータ駆動出力ブロック７の第２のスイッチングトランジスタＴＲ２をオンし続ける。
【００５６】
制御ブロック１４では、パルス間隔測定タイマＴＭ２が検出した周期時間がモータロック判定値ＸＬＯＣＫを越えたときにモータロック判定ブロック１７から与えられた判定信号によって、モータ５がロック状態にあることを認識し、モータ駆動出力ブロック７に対して停止指令を与える。
【００５７】
制御ブロック１４では、電源ブロック９に与えられる回路電源電圧（モータ５の電圧ＶＢ）が予め定められた電圧Ｖ２以下になった際に書き込み指令を発生する。この書き込み指令が発生すると、入出力制御ブロック１５を介し、ＥＥＰＲＯＭ書き込みインターバルタイマＴＭ１によって定められた時間（ＸＭＥＭＷＲ）毎に、ＥＥＰＲＯＭ外部メモリブロックＭＥＭ内においてＥＥＰＲＯＭメモリアドレスカウンタＡＤＣＴによって定められた番地にパルスカウンタガラス位置記憶ＷＩＮＤＣＴより与えられたパルス信号数（ガラス位置データ）でのメモリ書き込みを複数回行う。
【００５８】
入出力制御ブロック１５は、パラレルデータとシリアルデータとの変換を行うとともに、クロックジェネレータ１３の信号に基づいてＥＥＰＲＯＭ外部メモリブロックＭＥＭへの書き込み及び読み込みのタイミング処理を行うことによって入出力の総括的処理を行う。
【００５９】
中央処理回路ＭＣＵでは、電源スイッチ２０がオンされている状態で、ウインドガラス３０が閉まっていて、図３に示されるように、時刻Ｌにおいて開スイッチ２がオン切換えされることによってスイッチ信号入力ブロック４より制御ブロック１４に下降指令信号が与えられると、制御ブロック１４（第１の出力ポートＤ１）よりモータ駆動出力ブロック７の第１のスイッチングトランジスタＴＲ１のベースにハイレベルが与えられるため、モータ５のアーマチュアシャフト５ｃが正回転し、ウインドガラス３０が開く。
【００６０】
モータ５のアーマチュアシャフト５ｃが正回転を開始することによって、回路電源電圧は無負荷の状態よりも下がったほぼ一定の通常動作での電位を保ち、回転センサ６はほぼ同一間隔のパルス信号を発生し、パルス信号入力ブロック８、パルス間隔測定ブロック１６、パルス間隔測定タイマＴＭ２が１つづつのパルス信号の周期時間を検出する。
【００６１】
図３中の時刻Ｌの後の時刻Ｍにおいて、電源スイッチ２０がオフ切換えされると、回路電源電圧は通常動作での電位よりも急激に下がり始める。ただし、同様の電圧降下はモータロックの時にも発生するが、この時の回転センサ６が発生するパルス信号の周期時間はそれ程長くならない。
【００６２】
図３中の時刻Ｍの以後の時刻Ｎにおいて、回路電源電圧（モータ電圧）が予め定められた電圧Ｖ２（メモリ書き込み電圧Ｂ）を越えて下がった時で、モータロック判定ブロック内でパルス間隔測定ブロック１６で測定された周期時間とモータロック判定値ＸＬＯＣＫとの比較でモータロックではないと判断されたときに、制御ブロック１４より入出力制御ブロック１５に書き込み指令が与えられ、ＥＥＰＲＯＭ書き込みインターバルタイマＴＭ１によって定められた時間（ＸＭＥＭＷＲ）毎に、ＥＥＰＲＯＭ外部メモリブロックＭＥＭ内においてＥＥＰＲＯＭメモリアドレスカウンタＡＤＣＴによって定められた番地にパルスカウンタガラス位置記憶ＷＩＮＤＣＴより与えられた回転信号数（ガラス位置データ）でのメモリ書き込みが繰り返し行われる。
【００６３】
ＥＥＰＲＯＭ外部メモリブロックＭＥＭへの書き込みは、ＥＥＰＲＯＭ書き込みインターバルタイマＴＭ１によって定められた時間（ＸＭＥＭＷＲ）毎に、予め定められたリセット電圧ＲＥＳに到達する時刻Ｐ（時刻Ｎから時刻Ｐまでの書き込み可能時間ｔ´）まで複数回行われる。このとき、１番目の位置データＭＥＭ（１）、２番目の位置データＭＥＭ（２）、３番目の位置データＭＥＭ（３）、４番目の位置データＭＥＭ（４）、５番目の位置データＭＥＭ（５）、６番目の位置データＭＥＭ（６）、７番目の位置データＭＥＭ（７）、８番目の位置データＭＥＭ（８）（図４に示される。）、９番目の位置データＭＥＭ（９）（図４に示される。）が書き込まれた場合、ＥＥＰＲＯＭ外部メモリブロックＭＥＭは、１番目の位置データＭＥＭ（１）から９番目の位置データＭＥＭ（９）までの９個の位置データを格納する。
【００６４】
中央処理回路ＭＣＵでは、１番目の位置データＭＥＭ（１）から９番目の位置データＭＥＭ（９）までをＥＥＰＲＯＭ外部メモリブロックＭＥＭに書き込んだ後の時刻Ｐにおいてリセットされることによって書き込みが中止されるが、ウインドガラス３０は最終的に停止していないので、これらの位置データをそのまま用いてウインドガラス３０の停止位置を認識しない。この場合、９個の位置データを書き込んだものを説明したが、位置データは、９個に限らず最低３個書き込めれば、ガラス位置予測ブロック１８により予測を行え、且つ、最初に１個書き込めば、大体の位置の推定は行えるので、メモリ書き込みを行うための時間が短くなる。そのため、大きな容量のバックアップコンデンサを必要としないから、電源ブロック９に備えられた第１のバックアップ用コンデンサＣ１、第２のバックアップ用コンデンサＣ２は容量が小さいものとなる。
【００６５】
電源スイッチ２０がオフ切換えされた後に、新たに電源スイッチ２０がオン切換えされると、中央処理回路ＭＣＵは、入出力制御ブロック１５を介してＥＥＰＲＯＭ外部メモリブロックＭＥＭに既に書き込まれている３個の位置データをそれぞれ比較して、最後に書き込まれた位置データの以後の位置データの算出処理を複数回行うことによって、最終的に負荷が停止した位置データを予測する。
【００６６】
位置データを予測するに際し、ＥＥＰＲＯＭ外部メモリブロックＭＥＭには、図４に示されるように、１番目の位置データＭＥＭ（１）、２番目の位置データＭＥＭ（２）、３番目の位置データＭＥＭ（３）、４番目の位置データＭＥＭ（４）、５番目の位置データＭＥＭ（５）、６番目の位置データＭＥＭ（６）、７番目の位置データＭＥＭ（７）、８番目の位置データＭＥＭ（８）、９番目の位置データＭＥＭ（９）が書き込まれているから、１番目の位置データＭＥＭ（１）を最初の位置データとして認識し、５番目の位置データＭＥＭ（５）を中間の位置データとして認識し、９番目の位置データＭＥＭ（９）を最後の位置データとして認識する。
【００６７】
中央処理回路ＭＣＵでは、最初の位置データである１番目の位置データＭＥＭ（１）（ＭＥＭＡ）［ＭＥＭＡはＭＥＭ（Ｎ）の中でＭＥＭＣと比較するためｎ−ａ（ａは２，４，６，８…でｎ−ａ≧１となる最大値）にある位置データである。］と、中間の位置データである５番目の位置データＭＥＭ（５）（ＭＥＭＢ）との偏差Ｒ１（パルスカウント数）を算出するとともに、中間の位置データである５番目の位置データＭＥＭ（５）（ＭＥＭＢ）と、最後の位置データである９番目の位置データＭＥＭ（９）（ＭＥＭＣ）との偏差Ｒ２（パルスカウント数）を算出することによって、減速比ＲＡ＝Ｒ２／Ｒ１を算出する。このとき、モータ５のアーマチュアシャフト５ｃの回転数は減速中であるから、減速比ＲＡ＜１となる。ＭＥＭ（Ｎ）は連続したメモリブロックであって、Ｎはメモリブロックアドレスの最大値である。
【００６８】
そして、中央処理回路ＭＣＵでは、算出した減速比ＲＡを用いて、最後に得られた９番目の位置データＭＥＭ（９）（ＭＥＭＣ）の以後に、ウインドガラス３０が最終的に停止した位置データを予測して得るための予測ループを複数回行う。
【００６９】
予測ループは、大きく２つのブロックに分けられ、最初に前回の電源オフで書き込まれた位置データの中から、比例計算を行う上で、ＥＥＰＲＯＭ外部メモリブロックＭＥＭ内のアドレス位置の関係がＭＥＭＡとＭＥＭＢの間隔とＭＥＭＢとＭＥＭＣの間隔が等しく、且つ、最も時間的に長くなる３個を選び出し、その３個のデータより減速比ＲＡを求める。次いで、その減速比ＲＡで収束する位置データを計算する。まず、前回の電源オフで中央処理回路ＭＣＵ（マイコン）がリセットした箇所の直前の位置データＭＥＭ（９）を起点として、前回の電源オフで書き込まれた位置データの中から減速比ＲＡを算出するための最も時間的に離れた３点を探し出す。その３点をＭＥＭＡ、ＭＥＭＢ、ＭＥＭＣとすると、それらの条件はメモリ内のアドレスでＭＥＭＡとＭＥＭＢの間とＭＥＭＡとＭＥＭＣの間が同じだけ離れていて、且つ、ＭＥＭＡとＭＥＭＣがＥＥＰＲＯＭ外部メモリブロックＭＥＭ内にある事である。
【００７０】
選択ループの一回目（ループカウンタＣＴ２＝１）では、図５に示されるように、リセットされる以前に最後に書き込まれている位置データｎに基づき、［ｎ−２」をＭＥＭＡ（最初の位置データ）とし、［ｎ−１］をＭＥＭＢ（中間の位置データ）とし、［ｎ］をＭＥＭＣ（最後の位置データ）として、中央処理回路ＭＣＵに内蔵された記憶手段ＲＡＭ内に格納する。書き込まれている位置データが３個未満でＭＥＭＡまたはＭＥＭＡとＭＥＭＢが設定できない時は、この後の予測ループを行わず、ＭＥＭＣの値をガラス位置とする。
【００７１】
選択ループの二回目では、一回目の予測ループを実行した後、ループカウンタＣＴ２をインクリメントしてＣＴ２＝２として、最後の位置データがメモリの５番目以上であるならば、すなわち、ｎ−（ＣＴ２×２）≧１であるならば、図５に示されるように、［４…ｎ−３］をＭＥＭＡ（ｎ−４）（最初の位置データ）とし、［ｎ−２］をＭＥＭＢ（中間の位置データ）とし、［ｎ］をＭＥＭＣ（最後の位置データ）として、中央処理回路ＭＣＵに内蔵された記憶手段ＲＡＭ内に格納する。
【００７２】
同様に、選択ループの三回目（ループカウンタＣＴ２＝３）では、図５に示されるように、［４…ｎ−３］をＭＥＭＡ（ｎ−６）（最初の位置データ）とし、［ｎ−３］をＭＥＭＢ（中間の位置データ）とし、［ｎ］をＭＥＭＣ（最後の位置データ）として、中央処理回路ＭＣＵに内蔵された記憶手段ＲＡＭ内に格納して減算処理を行う。
【００７３】
そして、選択ループの最終回（ループカウンタＣＴ２＝ｍ、ただしｎ−２ｍ≧１である。）では、図５に示されるように、［２］をＭＥＭＡ（最初の位置データ）とし、［４…ｎ−３］をＭＥＭＢ（中間の位置データ）（ＭＥＭＢ＝ｎ−ＣＴ２）とし、［ｎ］をＭＥＭＣ（最後の位置データ）として、中央処理回路ＭＣＵに内蔵された記憶手段ＲＡＭ内に格納して除算処理を行う。すなわち、減速比ＲＡを求めるために（ＭＥＭＣ−ＭＥＭＢ）／（ＭＥＭＢ−ＭＥＭＡ）を実行する。
【００７４】
次いで、位置データが収束する点の計算を行う。
【００７５】
計算ループの１回目では、前回の電源オフで中央処理回路ＭＣＵ（マイコン）がリセットした箇所の直前の位置データＭＥＭ（９）を起点として次のＭＥＭ（１０）の位置データの計算を行う。
【００７６】
図４に示される予測ループの１回目において、先に算出した減速比ＲＡに、この直前の位置データの差、すなわち、ＭＥＭ（９）−ＭＥＭ（８）を乗ずる。この値がＭＥＭ（９）とＭＥＭ（１０）の推定差である。これをＲＤＩＦとする。もし、このＲＤＩＦの値が１未満であれば、更なる推定値は得られないので、ここでループを抜ける。ＲＤＩＦが１以上であるならば、この値を四捨五入して整数化し、ＭＥＭ（９）に加えた値がＭＥＭ（１０）の推定値となる。この後、先に得られたＲＤＩＦをＲ２に代入し、次のループの新たな位置データの差分として予測ループの１回目を終了する。
【００７７】
図４に示される予測ループの２回目において、前回同様ＲＡＸ（ＭＥＭ（１０）−ＭＥＭ（９））、すなわち、前回ループでＲ２・推定差ＲＤＩＦ（ＭＥＭ（９）とＭＥＭ（１０）の推定差）を代入してあるので、ＲＡＸＲ２を行い、これをＲＤＩＦＦに代入する。この時のＲＤＩＦはＭＥＭ（１０）とＭＥＭ（１１）の推定差である。もし、このＲＤＩＦの値が１未満であれば、更なる推定値は得られないので、ここでループを抜ける。ＲＤＩＦが１以上であるならば、この値を四捨五入して整数化し、ＭＥＭ（１０）に加えた値がＭＥＭ（１１）の推定値となる。この後、得られたＲＤＩＦをＲ２に代入し、次のループの新たな位置データの差分とし予測ループ２回目を終了する。
【００７８】
１回目、２回目と同様に、３回目、４回目と繰り返し、ＲＤＩＦの値が１未満になるまで繰り返し、１未満でループを抜けて最後の推定値、すなわち、前回電源スイッチ２０がオフ切換えされた時のガラス停止位置が得られる。
【００７９】
中央処理回路ＭＣＵでは、ウインドガラス３０が閉まっている状態で、電源スイッチ２０がオン切換えされた場合においても、上述と同様にして、入出力制御ブロック１５を介してＥＥＰＲＯＭ外部メモリブロックＭＥＭに既に書き込まれている位置データから最後に書き込まれた位置データの以後の位置データの算出処理を複数回行うことによって、最終的にウインドガラス３０が停止した位置データを予測する。
【００８０】
上記のモータ制御装置１は、図６ないし図１３に示されるプログラムに従って制御動作を行う。図６および図７はメインルーチンであり、図８ないし図９はＥＥＰＲＯＭ外部メモリブロックＭＥＭへの書き込みルーチンであり、図１０ないし図１３は位置データの予測を行うルーチンである。
【００８１】
電源スイッチ２０がオン切換えされていて、ウインドガラス３０が図２に示される全閉位置ＦＣ又は全開位置ＦＯ又はＦＣとＦＯの間にあるとき、図６に示されるメインルーチンのステップ２００において「起動時の位置予測」が実行されるため、図１０に示されるステップ１００に移行して「ループカウンタＣＴ１をクリア」してステップ１０１に移行する。ステップ１０１において「ＥＥＰＲＯＭ外部メモリブロックＭＥＭに書き込まれている最終（最後）の位置データがチェック（ｎ←Ｎ−ＣＴ１）」される。ここでのＮは、ＥＥＰＲＯＭ外部メモリブロックＭＥＭで書き込み可能な最大値のメモリアドレスで、ｎは、ＥＥＰＲＯＭ外部メモリブロックＭＥＭに書き込まれている位置データの最終値である。この後、ステップ１０２に移行する。
【００８２】
ステップ１０１から移行したステップ１０２において「ＥＥＰＲＯＭ外部メモリブロックＭＥＭの所定のアドレスに位置データが書き込まれているか否か」の判別が行われるため、以前において、ＥＥＰＲＯＭ外部メモリブロックＭＥＭに位置データが書き込まれていればステップ１０３をスキップしてステップ１０４に移行し、ＥＥＰＲＯＭ外部メモリブロックＭＥＭに位置データが書き込まれていなければステップ１０３に移行して「ループカウンタＣＴ１をインクリメント（ＣＴ１←ＣＴ１＋１」）してステップ１０１、ステップ１０２を繰り返す。
【００８３】
ステップ１０２から移行したステップ１０４において「予測に必要な３個以上の位置データがＥＥＰＲＯＭ外部メモリブロックＭＥＭ内に書き込まれているか否か」が判別される。
【００８４】
ＥＥＰＲＯＭ外部メモリブロックＭＥＭ内に、予測に必要な３個以上の位置データが書き込まれていると、ステップ１０４からステップ１２１に移行して「位置データが２個か否か」が判別される。ＥＥＰＲＯＭ外部メモリブロックＭＥＭ内に２個の位置データが書き込まれていると、ステップ１２２に移行して「パルスカウンタガラス位置記憶ＷＩＮＤＣＴにＭＥＭ（２）が格納」される。
【００８５】
ＥＥＰＲＯＭ外部メモリブロックＭＥＭ内に２個の位置データが書き込まれておらず、１個の位置データが書き込まれていると、ステップ１２１においての判別でステップ１２３に移行し、ステップ１２３においての判別でステップ１２４に移行して「パルスカウンタガラス位置記憶ＷＩＮＤＣＴにＭＥＭ（１）が格納」される。
【００８６】
ＥＥＰＲＯＭ外部メモリブロックＭＥＭ内に１個の位置データが書き込まれていないと、ステップ１２１においての判別でステップ１２３に移行し、ステップ１２３においての判別でステップ１２５に移行して初期動作モードをセットする。
【００８７】
ステップ１０４においての判別でＥＥＰＲＯＭ外部メモリブロックＭＥＭ内に、予測に必要な３個以上の位置データが書き込まれていると、ステップ１０５に移行して「ＭＥＭ（ｎ）を最終の位置データＭＥＭＣに置き換え」てステップ１０６に移行する。ステップ１０５から移行したステップ１０６では、「ループカウンタＣＴ２の初期セット（ＣＴ２←１）」が行われてステップ１０７に移行する。
【００８８】
ステップ１０６から移行したステップ１０７において「ＭＥＭ（ｎ−ＣＴ２）を中間の位置データＭＥＭＢに置き換え」てステップ１０８に移行し、ステップ１０８において「ＭＥＭ（ｎ−ＣＴ２×２）を最古の位置データとしてＭＥＭＡに置き換え」てステップ１０９に移行する。
【００８９】
ステップ１０９において「ループカウンタをインクリメント（ＣＴ２←ＣＴ２＋１）」してステップ１１０に移行し、ステップ１１０において「最古の位置データＭＥＭＡに置き換えたＭＥＭ（ｎ−ＣＴ２×２）の値の判別（ｎ−ＣＴ２×２≧１）」が行われ、ステップ１１０においての値の判別が１を越えている場合はステップ１０７に戻ってステップ１０８、ステップ１０９を実行し、ステップ１１０においての値の判別が１を越えていない場合、ステップ１１１に移行する。
【００９０】
ステップ１１０から移行したステップ１１１において「［最初の位置データＭＥＭＡ−中間の位置データＭＥＭＢ］によって偏差Ｒ１を算出」してステップ１１２に移行し、ステップ１１２において「［中間の位置データＭＥＭＢ−最後の位置データＭＥＭＣ］によって偏差Ｒ２を算出」してステップ１１３に移行する。
【００９１】
ステップ１１３において「減速比ＲＡを求め」てステップ１１４に移行し、ステップ１１４において「最新の位置データ、すなわち、ＭＥＭＣのアドレスに入っている位置データ値を初期値としてセット（ＮＳＴＰ←ｎ）」し、ステップ１１５に移行し、ステップ１１５において「位置データの偏差を求め（ＲＤＩＦ←Ｒ２×ＲＡ）」てステップ１１６に移行する。
【００９２】
ステップ１１６においてステップ１１５において求めた「偏差ＲＤＩＦの値の判別（ＲＤＩＦ＜１）」が行われるため、「偏差ＲＤＩＦの値が１を越えている」とステップ１１７に移行し、「偏差ＲＤＩＦの値が１を越えていない」とステップ１２０に移行する。
【００９３】
ステップ１１５で求めた偏差ＲＤＩＦの値が１を越えていると、ステップ１１７に移行して「偏差ＲＤＩＦの値が回転数計算のための整数化（小数点以下四捨五入）した値ＲＩＮＴに置き換えられ」てステップ１１８に移行し、ステップ１１８において「初期値ＮＳＴＰの置き換え（初期値ＮＳＴＰ−整数値ＲＩＮＴ）」が行われてステップ１１９に移行し、ステップ１１９において「偏差ＲＤＩＦを偏差Ｒ２に置き換え」てステップ１１５に復帰するルーチンを繰り返す。
【００９４】
ステップ１１５で求めた偏差ＲＤＩＦの値が１を越えていないと、ステップ１２０に移行して「パルスカウンタガラス位置記憶ＷＩＮＤＣＴに初期値ＮＳＴＰを置き換え」てステップ２００においての起動時の位置予測ルーチンが終了する。
【００９５】
ステップ２００においての起動時の位置予測ルーチンが終了すると、メインルーチンに戻り、ステップ２０１に移行して「メモリ消去フラグ（ＦＭＥＲＡＳＥ）をリセット」してステップ２０２に移行し、ステップ２０２において「メモリ書き込み完了フラグ（ＦＭＷＲＥＮＤ）をリセット」してステップ２０３に移行する。
【００９６】
ステップ２０３、ステップ２０４はモータ５の現在の状態を検出するステップであり、ステップ２０５はメモリ書き込みを開始するか否かの判別を行うステップである。図３に示される時刻Ｌにおいてステップ２０３では「モータ５が動作中か否か」が判別されるため、「モータ５のアーマチュアシャフト５ｃは回転している」のでステップ２０４に移行する。ステップ２０４においては「モータ５がロックしているか否か」が判別されるため、「モータ５のアーマチュアシャフト５ｃはロックしていない」のでステップ２０５に移行する。ステップ２０５においては「回路電源電圧がＶ２以下か否かすなわち、メモリ書き込み電圧Ｖ２を越えて下がっているか否か」が判別されるため、「回路電源電圧はＶ２以下ではない」のでステップ２１０に移行する。
【００９７】
ステップ２０５から移行したステップ２１０においては「メモリ消去フラグ（ＦＭＥＲＡＳＥ）がセットされているか否か」が判別されるため、「メモリ消去フラグ（ＦＭＥＲＡＳＥ）はセットされていない」のでステップ２１１に移行する。
【００９８】
ステップ２１１では、「ＥＥＰＲＯＭ外部メモリブロックＭＥＭをオールクリア」してステップ２１２に移行し、ステップ２１２において「メモリ消去フラグ（ＦＭＥＲＡＳＥ）をセット」してステップ２１３に移行し、ステップ２１３において「メモリ書き込み中フラグ（ＦＭＷＲＮＯＷ）をリセット」してステップ２１４に移行し、ステップ２１４において「メモリ書き込み完了フラグ（ＦＭＷＲＥＮＤ）をリセット」してステップ２０９に移行する。
【００９９】
ステップ２０９においてメイン処理が行われる。ステップ２０９では、「開、閉スイッチ２、３よりの入力信号処理」、「モータ５に対する出力処理」、「モータロック検出処理」、「回路電源電圧測定処理」が行われてステップ２０３に復帰し、ステップ２０３、ステップ２０４、ステップ２０５の判別ステップが実行される。
【０１００】
モータ５のアーマチュアシャフト５ｃが正回転を続けることによって、ウインドガラス３０が開く側に駆動されているときに、図３に示される時刻Ｍにおいて電源スイッチ２０がオフ切換えされると、回路電源電圧が急激に下がり始める。そして、図３に示される時刻Ｍの以後の時刻Ｎにおいて回路電源電圧がメモリ書き込み電圧Ｖ２を越えて下がると、ステップ２０３においての判別でステップ２０４に移行し、ステップ２０４においての判別でステップ２０５に移行し、ステップ２０５においての判別でステップ２０６に移行する。
【０１０１】
ステップ２０５から移行したステップ２０６においては「メモリ書き込み完了フラグ（ＦＭＷＲＥＮＤ）がセットされているか否か」が判別されるため、「メモリ書き込み完了フラグ（ＦＭＷＲＥＮＤ）はセットされていない」のでステップ２０７に移行し、ステップ２０７において「ＥＥＰＲＯＭ外部メモリブロックＭＥＭに書き込み」が実行される。
【０１０２】
ＥＥＰＲＯＭ外部メモリブロックＭＥＭへの書き込みルーチンは、ステップ３００において「メモリ書き込み中フラグ（ＦＭＷＲＮＯＷ）がセットされているか否か」が判別されるため、「メモリ書き込み中フラグ（ＦＭＷＲＮＯＷ）はセットされていない」のでステップ３０１に移行し、ステップ３０１において「メモリ書き込み完了フラグ（ＦＭＷＲＥＮＤ）をリセット」してステップ３０２に移行し、ステップ３０２において「ＥＥＰＲＯＭ書き込みインターバルタイマＴＭ１をクリア（ＴＭ１←０）」してステップ３０３に移行し、ステップ３０３において「ＥＥＰＲＯＭメモリアドレスカウンタＡＤＣＴをクリア（ＡＤＣＴ←０）」し、ステップ３０４において「メモリ書き込み中フラグ（ＦＭＷＲＮＯＷ）をセット」してステップ３０５に移行する。
【０１０３】
ステップ３０５では「ＥＥＰＲＯＭ書き込みインターバルタイマＴＭ１による時間の計測（ＴＭ１＞ＸＭＥＭＷＲ）」が実行されるため、ＥＥＰＲＯＭ書き込みインターバルタイマＴＭ１がオーバフローすると、ステップ３０６に移行して「パルスカウンタガラス位置記憶ＷＩＮＤＣＴのカウンタ値がＥＥＰＲＯＭ外部メモリブロックＭＥＭに書き込まれ」てステップ３０７に移行し、ステップ３０７において「ＥＥＰＲＯＭメモリアドレスカウンタＡＤＣＴをインクリメント（ＡＤＣＴ←ＡＤＣＴ＋１）」してステップ３０８に移行し、ステップ３０８において「ＥＥＰＲＯＭ書き込みインターバルタイマＴＭ１をクリア（ＴＭ１←０）」してステップ３０９に移行する。
【０１０４】
ステップ３０９においては「ＥＥＰＲＯＭメモリアドレスカウンタＡＤＣＴがオーバフローしているか否か（ＡＤＣＴ＞Ｎ）」が判別されるため、このとき、「ＥＥＰＲＯＭメモリアドレスカウンタＡＤＣＴはオーバフローしていない」のでこの回の書き込みルーチンが終了する。
【０１０５】
ステップ３０９において「ＥＥＰＲＯＭメモリアドレスカウンタＡＤＣＴがオーバフローしている」と、ステップ３１０に移行し、ステップ３１０において「メモリ書き込み中フラグ（ＦＭＷＲＮＯＷ）をリセット」してステップ３１１に移行し、ステップ３１１において「メモリ書き込み完了フラグ（ＦＭＷＲＥＮＤ）をセット」するルーチンが実行される。
【０１０６】
そして、書き込みルーチンが終了した後のメインルーチンのステップ２０８において「メモリ消去フラグＦＭＥＲＡＳＥをセット」してステップ２０９に移行してメイン処理が実行されてステップ２０３に移行するルーチンが実行される。
【０１０７】
モータ５のアーマチュアシャフト５ｃが正回転を続けることによって、ウインドガラス３０が開く側に駆動され、ウインドガラス３０が図２に示す全開位置ＦＯに到達すると、モータ５のアーマチュアシャフト５ｃが回転を拘束されることによってロック状態になるため、メインルーチンのステップ２０４においての判別でステップ２１０に移行し、ステップ２１０、ステップ２１１、ステップ２１３、ステップ２１４を実行してからステップ２０９に移行し、ステップ２０９において「モータ駆動出力ブロック７の第１のスイッチングトランジスタＴＲ１に対するベース電流がカットオフ」されることによってモータ５のアーマチュアシャフト５ｃが回転を停止し、ウインドガラス３０が全開位置ＦＯにおいて停止する。
【０１０８】
そして、電源スイッチ２０がオン切換えされていて、ウインドガラス３０が図２に示される全開位置ＦＯにあるとき、図３に示される時刻Ｌにおいて閉スイッチ３がオン切換えされると、上昇指令信号が制御ブロック１４に取り込まれることによってモータ駆動出力ブロック７の第２のスイッチングトランジスタＴＲ２にベース電流が与えられるため、モータ５のアーマチュアシャフト５ｃが逆回転を始め、ウインドガラス３０が閉る側に駆動され、上述したルーチンと同様にして、ステップ２００からのメインルーチンが実行されるとともに、ステップ１００からの位置データの予測ルーチンが実行され、ステップ３００からの書き込みルーチンが実行される。
【０１０９】
上述したように、モータ制御装置１では、電源スイッチ２０がオン切換えされた時、それ以前に、モータ５がウインドガラス３０を駆動中にモータ電圧が下がってきたときにＥＥＰＲＯＭ外部メモリブロックＭＥＭに電気的に複数個書き込まれた位置データがガラス位置予測ブロック１８によりＥＥＰＲＯＭ外部メモリブロックＭＥＭから読み出されてウインドガラス３０が最終的に停止した位置の予測が行われる。それ故、バックアップ用コンデンサにより位置データの書き込みのための時間を延長することなく、複数個の位置データの書き込みが行われ、予測した位置データを用いて現在位置が得られるから、位置データの書き込みのための時間を確保する大容量のバックアップ用コンデンサを必要としないものとなる。
【０１１０】
【発明の効果】
以上説明してきたように、この発明の請求項１に係わるモータ制御装置によれば、モータが負荷を駆動中に、電源スイッチがオフ切換えされ、モータ電圧が下がり、電源電圧が予め定められた値以下になった時に、予め定められた時間おきに位置データを不揮発性メモリに連続的に書き込む。それ故、位置データの書き込みのための時間を確保する大容量のバックアップ用コンデンサを必要としない。よって、大容量のバックアップ用コンデンサを必要とすることなく複数個の位置データの書き込みが確実にできて、コンパクトな外形を得ることができるという優れた効果を奏する。
【０１１１】
この発明の請求項２に係わるモータ制御装置によれば、コントローラのガラス位置予測ブロックは、電源スイッチがオン切換えされた際に、不揮発性メモリに既に書き込まれている複数個の位置データを読み出し、その中の３個の位置データのそれぞれを比較して、最後に書き込まれた位置データの以後の位置データの算出処理を複数回行うことにより、負荷が最終的に停止した位置データを得る。それ故、請求項１の効果に加え、モータ電圧が下がってきたときに、不揮発性メモリに電気的に書き込まれた位置データの数が少なくなっていても、確実に最終的な位置データが得られるという優れた効果を奏する。
【０１１２】
この発明の請求項３に係わるモータ制御装置によれば、モータ回転検出手段より与えられる回転信号は、モータがロックすることによってその周期が大きくなり、コントローラのパルス間隔測定ブロックは、モータ回転検出手段より与えられた回転信号の周期を測定する。それ故、請求項１の効果に加え、パルス間隔測定ブロックにより、回転信号の周期を検出することによってモータの負荷状態が検出されるという優れた効果を奏する。
【０１１３】
この発明の請求項４に係わるモータ制御装置によれば、コントローラのモータロック判定ブロックは、パルス間隔測定ブロックより与えられた周期値と予め定められた判定値とを比較し、パルス間隔測定ブロックより与えられた周期値が予め定められた判定値を越えた際に、制御ブロックにモータロックの有無の判定が与えられる。それ故、請求項３の効果に加え、モータのロック中に電源スイッチがオフ切換えされても、ガラス位置データは失われないという優れた効果を奏する。
【０１１４】
この発明の請求項５に係わるモータ制御装置によれば、コントローラのワンタッチ動作記憶ブロックは、開スイッチまたは閉スイッチが長い時間オン切換えされた後にオフ切換えされた際、開スイッチまたは閉スイッチがオン切換えされたときに記憶した下降指令信号または上昇指令信号が連続的に発生する。それ故、請求項１の効果に加え、ワンタッチ動作記憶ブロックによって、開スイッチまたは閉スイッチより発生した指令信号の保持が行われるため、開スイッチおよび閉スイッチの他にオートスイッチ等の付加スイッチを必要としないという優れた効果を奏する。
【図面の簡単な説明】
【図１】この発明に係わるモータ制御装置の一実施例のブロック構成図である。
【図２】図１に示したモータ制御装置の具体的回路図である。
【図３】図１に示したモータ制御装置においてのメモリ書き込みを行う際のタイミングチャートである。
【図４】図１に示したモータ制御装置においての位置予測を行う際のタイミングチャートである。
【図５】図１に示したモータ制御装置においての位置予測を行う際に用いるメモリの説明図である。
【図６】図１に示したモータ制御装置においての主たる制御動作を説明するフローチャートである。
【図７】図１に示したモータ制御装置においての主たる制御動作を説明するフローチャートである。
【図８】図１に示したモータ制御装置においてのメモリ書き込みの制御動作を説明するフローチャートである。
【図９】図１に示したモータ制御装置においてのメモリ書き込みの制御動作を説明するフローチャートである。
【図１０】図１に示したモータ制御装置においての位置予測の制御動作を説明するフローチャートである。
【図１１】図１に示したモータ制御装置においての位置予測の制御動作を説明するフローチャートである。
【図１２】図１に示したモータ制御装置においての位置予測の制御動作を説明するフローチャートである。
【図１３】図１に示したモータ制御装置においての位置予測の制御動作を説明するフローチャートである。
【図１４】従来のモータ制御装置においてのタイミングチャートである。
【符号の説明】
１    モータ制御装置
２    開スイッチ
３    閉スイッチ
５    モータ
６    （モータ回転検出手段）回転センサ
７    （モータ駆動回路）モータ駆動ブロック
１２    ワンタッチ動作記憶ブロック
１６    パルス間隔測定ブロック
１７    モータロック判定ブロック
１８    ガラス位置予測ブロック
２０    電源スイッチ
ＭＣＵ    （コントローラ）中央処理回路
ＭＥＭ    （不揮発性メモリ）ＥＥＰＲＯＭ外部メモリブロック
ＶＢ    モータ電圧
【図１】
0003613611.tif 000002
【図２】
0003613611.tif 000003
【図３】
0003613611.tif 000004
【図４】
0003613611.tif 000005
【図５】
0003613611.tif 000006
【図６】
0003613611.tif 000007
【図７】
0003613611.tif 000008
【図８】
0003613611.tif 000009
【図９】
0003613611.tif 000010
【図１０】
0003613611.tif 000011
【図１１】
0003613611.tif 000012
【図１２】
0003613611.tif 000013
【図１３】
0003613611.tif 000014
【図１４】
0003613611.tif 000015