JP4184550B2 - Motor control device - Google Patents

Motor control device Download PDF

Info

Publication number
JP4184550B2
JP4184550B2 JP25181099A JP25181099A JP4184550B2 JP 4184550 B2 JP4184550 B2 JP 4184550B2 JP 25181099 A JP25181099 A JP 25181099A JP 25181099 A JP25181099 A JP 25181099A JP 4184550 B2 JP4184550 B2 JP 4184550B2
Authority
JP
Japan
Prior art keywords
motor
position data
switch
block
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP25181099A
Other languages
Japanese (ja)
Other versions
JP2001078488A (en
Inventor
木 弘 幸 舟
岡 信 夫 吉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsuba Corp
Original Assignee
Mitsuba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsuba Corp filed Critical Mitsuba Corp
Priority to JP25181099A priority Critical patent/JP4184550B2/en
Publication of JP2001078488A publication Critical patent/JP2001078488A/en
Application granted granted Critical
Publication of JP4184550B2 publication Critical patent/JP4184550B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Power-Operated Mechanisms For Wings (AREA)
  • Window Of Vehicle (AREA)
  • Control Of Electric Motors In General (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、自動車のパワーウインド等の開閉装置を制御するモータ制御装置に関する。
【0002】
【従来の技術】
自動車の開閉装置を制御するモータ制御装置としては、コントローラに内蔵され、電気的に書き込み可能にして消去可能な不揮発性メモリに対し、モータの回転信号を位置データとして取り込むことによって、ウインドガラスの現在位置を間接的に検出しているものが知られている。
【0003】
上記のようなモータ制御装置では、図12に示されるように、時刻aにおいて開スイッチ(閉スイッチ)がオンされることによってモータが作動される。モータが作動を開始するとモータ電圧VBは無負荷の状態に対して下がる。モータが作動を開始することによってモータに内蔵された回転センサからのパルス信号がコントローラに取り込まれる。時刻aの後の時刻bにおいてウインドガラスがストローク端に到達すると、コントローラによってモータのロックが検出されることにより、モータに対する通電がカットオフされてモータが作動を停止される。モータが作動を停止されると、時刻cにおいてモータの電圧VBは無負荷の状態に復帰する。その後の時刻において電源スイッチがオフされると、モータの電圧VBは時間の経過とともに下がる。やがて、時刻の後の時刻において、モータの電圧VBがメモリ書き込み電圧V0を下回ると、コントローラは、回転センサから与えられたパルス信号数の不揮発性メモリへの書き込みを始め、時刻の後の時刻において、モータの電圧VBがリセット電圧RESを下回るまでの書き込み可能時間t内で書き込みが行われる。メモリ書き込み電圧V0は、回路内の電源電圧がマイコンのリセット電圧RES以上になるような回路への供給電圧以上であって、しかも、モータがその仕様の最低作動電圧でロックしたときの電圧降下以下である必要がある。
【0004】
【発明が解決しようとする課題】
ところが、上記のモータ制御装置において、コントローラの電源電圧が遮断された時に、ウインドガラスの位置データを不揮発性メモリに書き込むものでは、モータがロック状態にある際に電源スイッチがオフ切換えされた場合、コントローラの電源電圧が通常の作動電圧より低い電圧値に対し既に低下しているので、書き込みに必要な電荷量が不足し、単一の位置データのみ書き込むようになっていた。そのため、不揮発性メモリにウインドガラスの位置データを書き込むのに十分な時間を確保できるようにするための大容量のバックアップ用コンデンサが用いられており、大容量のバックアップ用コンデンサをコントローラに内蔵することによって、コントローラの外形が大型化するという問題点があった。
【0005】
また、上記のモータ制御装置では、モータが作動中に電源スイッチがオフ切換えされた場合、モータの回転信号が入力中であるのにも拘らず、コントローラに内蔵されたマイコンの作動電圧が低下することによって書き込みができなくなり、実際のウインドガラスの位置に対してずれた位置データをマイコンが書き込んでしまうことになる。そのため、モータが停止するまで位置データの書き込みを継続して行えるようにするための大容量のバックアップ用コンデンサが用いられており、上記と同様にコントローラの外形が大型化するという問題点があった。
【0006】
【発明の目的】
この発明に係わるモータ制御装置は、大容量のバックアップ用コンデンサを必要とすることなく複数個の位置データの書き込みが確実にできて、コンパクトな外形を得ることができるモータ制御装置を提供することを目的としている。
【0007】
【発明の構成】
【0008】
【課題を解決するための手段】
この発明の請求項1に係わるモータ制御装置では、電源に電気的に接続された電源スイッチと、電源スイッチに電気的に接続されたモータ駆動回路と、モータ駆動回路に電気的に接続されているとともに開閉負荷に結合され、モータ駆動回路の作動により負荷を開側または閉側に駆動するモータと、モータの回転により回転検出信号を発生するモータ回転検出手段と、オン切換えされることにより下降指令信号を発生する開スイッチと、オン切換えされることにより上昇指令信号を発生する閉スイッチと、電源スイッチ、モータ駆動回路、モータ回転検出手段、開スイッチ、閉スイッチにそれぞれ電気的に接続され、開スイッチより下降指令信号が与えられると負荷を開側に駆動するための電流をモータ駆動回路を介しモータに供給する一方、閉スイッチより上昇指令信号が与えられると負荷を閉側に駆動するための電流をモータ駆動回路を介しモータに供給するコントローラと、電源スイッチが閉じられた後に開かれる以前及び開スイッチまたは閉スイッチが閉じられた後に開かれた際毎、モータがロック状態となったとき、モータが負荷を駆動中にモータ電圧が下ってきたときのそれぞれにモータ回転検出手段より与えられた回転信号を位置データに変換して電気的に複数個読み込み及び書き込み可能な不揮発性メモリとを備え、コントローラには、開スイッチまたは閉スイッチが閉じられたとき毎に不揮発性メモリに書き込まれている位置データを消去し、該開スイッチまたは閉スイッチが開かれたとき毎に位置データを上記不揮発性メモリに複数個連続的に書き込み可能な制御ブロックを備えている構成としたことを特徴としている。
0009
この発明の請求項に係わるモータ制御装置では、コントローラには、モータ回転検出手段より与えられた回転信号の周期を測定するパルス間隔測定ブロックを備えている構成としたことを特徴としている。
0010
この発明の請求項に係わるモータ制御装置では、コントローラには、パルス間隔測定ブロックより与えられた回転信号の周期と予め定められた判定値との比較により、モータのロック判定を行うモータロック作動判定ブロックを備えている構成としたことを特徴としている。
0011
この発明の請求項に係わるモータ制御装置では、制御ブロックは、モータが作動中に、電源スイッチがオフ切換えされたときで、電源電圧が予め定められた値以下になったときに、予め定められた時間おきに位置データを不揮発性メモリに連続的に書き込み可能である構成としたことを特徴としている。
0012
この発明の請求項に係わるモータ制御装置では、コントローラには、電源スイッチがオン切換えされたときに不揮発性メモリに書き込まれている複数個の位置データを読み出し、その中の3個の位置データのそれぞれを比較して、最後に書き込まれた位置データの以後の位置データの算出処理を最終的な位置データが得られるまで複数回行うガラス位置予測ブロックを備えている構成としたことを特徴としている。
0013
この発明の請求項に係わるモータ制御装置では、コントローラには、開スイッチまたは閉スイッチがオン切換えされている時間が予め定められた値を越えた際に下降指令信号または上昇指令信号を記憶し、その後に、開スイッチまたは閉スイッチがオフ切換えされてからも、制御ブロックに対して下降指令信号または上昇指令信号を連続的に与えるワンタッチ動作記憶ブロックを備えている構成としたことを特徴としている。
0014
【発明の作用】
この発明の請求項1に係わるモータ制御装置において、不揮発性メモリは、電源スイッチが閉じられた後に開かれた際毎にモータ回転検出手段よりの回転信号を位置データに変換して電気的に書き込んでいるため、モータ電圧が低下していないときに位置データの書き込みが既に行われている。また、モータがロック状態になったときに、モータ回転検出手段より与えられた回転信号を位置データに変換して不揮発性メモリに書き込んでいるため、モータ電圧が遮断されていないときに複数個の位置データの書き込みが行われる。そして、開スイッチまたは閉スイッチがオン切換えされ、モータが起動し始めた後、開スイッチまたは閉スイッチがオフ切換えされる以前に電源スイッチがオフ切換えされ、モータ電圧が下がってきたときに、不揮発性メモリに複数個の位置データの書き込みが行われ、電源スイッチがオン切換えされた際に不揮発性メモリに書き込まれた位置データを用いて現在位置が予測される。それ故、位置データの書き込みのための時間を確保する大容量のバックアップ用コンデンサを必要としない。また、この不揮発性メモリは、開スイッチまたは閉スイッチが閉じられたとき毎に不揮発性メモリに書き込まれている位置データが制御ブロックにより消去され、その後に、開スイッチまたは閉スイッチが開かれたとき毎に新たな位置データが制御ブロックによって書き込まれる。
0015
この発明の請求項に係わるモータ制御装置において、モータ回転検出手段より与えられる回転信号は、モータの回転速度に応じてその周期が変動し、コントローラのパルス間隔測定ブロックは、モータ回転検出手段より与えられたその回転信号の周期を測定する。
0016
この発明の請求項に係わるモータ制御装置において、コントローラのモータロック作動判定ブロックは、パルス間隔測定ブロックより与えられた周期値と予め定められた判定値とを比較し、パルス間隔測定ブロックより与えられた周期値が予め定められた判定値を越えた際に、制御ブロックにより不揮発性メモリへの書き込みが実行される。
0017
この発明の請求項に係わるモータ制御装置において、モータが負荷を駆動中に,電源スイッチがオフ切換えされ、モータ電圧が下がり、電源電圧が予め定められた値以下になった時に、予め定められた時間おきに位置データを不揮発性メモリに連続的に書き込む。
0018
この発明の請求項に係わるモータ制御装置において、コントローラのガラス位置予測ブロックは、電源スイッチがオン切換えされた際に、不揮発性メモリに既に書き込まれている複数個の位置データを読み出し、その中の3個の位置データのそれぞれを比較して、最後に書き込まれた位置データの以後の位置データの算出処理を複数回行うことにより、負荷が最終的に停止した位置データを得る。
0019
この発明の請求項に係わるモータ制御装置において、コントローラのワンタッチ動作記憶ブロックは、開スイッチまたは閉スイッチが長い時間オン切換えされた際、開スイッチまたは閉スイッチがオン切換えされたときに記憶した下降指令信号または上昇指令信号を制御ブロックに連続的に与える。
0020
【実施例】
図1ないし図11には、この発明に係わるモータ制御装置の一実施例が示されている。
0021
図示されるモータ制御装置1は、開スイッチ(SW)2、閉スイッチ(SW)3、スイッチ(SW)信号入力ブロック4、モータ5、モータ回転検出手段としての回転センサ6、モータ駆動回路としてのモータ駆動出力ブロック7、パルス信号入力ブロック8、回路電源電圧入力ブロック9、変換ブロック10(図2に示される。)、コントローラとしての中央処理回路(マイコン)MCU、不揮発性メモリとしてのEEPROM外部メモリブロックMEM、リセット回路11(図2に示される。)から構成されており、中央処理回路MCUに、ワンタッチ動作記憶ブロック12、EEPROMメモリアドレスカウンタADCT、クロックジェネレータ13、制御ブロック14、入出力制御ブロック15、パルス間隔測定ブロック16、パルス間隔測定タイマTM2、モータロック作動判定ブロック17、EEPROM書き込みインターバルタイマTM1、パルスカウンタガラス位置記憶WINDCT、ガラス位置予測ブロック18が内蔵されており、予め定められた値のモータ作動判定値(XMOVE、XLOCK)をもつ。
0022
図1に示されるモータ制御装置1は、具体的には図2に示される回路図に表される。
0023
開、閉スイッチ2、3は、一方が電源スイッチ(イグニションスイッチ)20を通じてバッテリである電源21に電気的に接続され、他方がスイッチ信号入力ブロック4に電気的に接続されている。開スイッチ2は、オン切換えされることによって下降指令信号を発生する。これとは異なり、閉スイッチ3は、オン切換えされることによって上昇指令信号を発生する。
0024
スイッチ信号入力ブロック4は、抵抗R6、抵抗R7から構成されており、抵抗R6が開スイッチ2に電気的に接続され、抵抗R7が閉スイッチ3に電気的に接続されている。
0025
スイッチ信号入力ブロック4では、電源スイッチ20がオン状態にある際に、開スイッチ2がオン切換えされると、抵抗R6を通じ、図示しない電圧クランプ回路を介し下降指令信号(ハイレベル)を中央処理回路MCUに備えた第1の入力ポートIN1に与える。これとは異なり、電源スイッチ20がオン状態にある際に、閉スイッチ3がオン切換えされると、抵抗R7を通じ、図示しない電圧クランプ回路を介し上昇指令信号(ハイレベル)を中央処理回路MCUに備えた第2の入力ポートIN2に与える。
0026
モータ5には、第1、第2のブラシ端子5a、5bが備えられているとともに、図示しないアーマチュアに備えたアーマチュアシャフト5cが図示しないゴム製のダンパを介し、同じく図示しないガラス昇降器を介してウインドガラス30に連結されている。
0027
モータ5は、第1のブラシ端子5aが電源21に電気的に接続されるとともに第2のブラシ端子5bが接地に接続されることによってアーマチュアシャフト5cが正回転するため、アーマチュアシャフト5cの正回転によってウインドガラス30を開ける。これに反して、第2のブラシ端子5bが電源21に電気的に接続されるとともに第1のブラシ端子5aが接地に接続されることによってアーマチュアシャフト5cが逆回転するため、アーマチュアシャフト5cの逆回転によってウインドガラス30を閉める。モータ5の第1、第2のブラシ端子5a、5bは、モータ駆動出力ブロック7に電気的に接続されている
0028
モータ駆動出力ブロック7には、第1のリレーRL1、第1のスイッチングトランジスタTR1、第2のリレーRL2、第2のスイッチングトランジスタTR2が備えられている。
0029
第1のリレーRL1には、第1のリレーコイルRL1−1、第1のリレー常開接点RL1−2、第1の常閉接点RL1−3、第1のリレー可動接点RL1−4が備えられている。第1のリレーコイルRL1−1は、上流側が電源スイッチ20に接続され、下流側が第1のスイッチングトランジスタTR1のコレクタに接続されている。第1のリレー常開接点RL1−2は電源スイッチ20に接続されている。第1のリレー常閉接点RL1−3は接地に接続されている。第1のリレー可動接点RL1−4はモータ5の第1のブラシ端子5aに接続されている。
0030
第1のスイッチングトランジスタTR1は、エミッタ接地のNPN型トランジスタであり、ベースが図示しない抵抗を通じて中央処理回路MCUに備えた第1の出力ポートD1に接続され、コレクタが前述したように第1のリレーコイルRL1−1の下流側に接続されている。
0031
第2のリレーRL2には、第2のリレーコイルRL2−1、第2のリレー常開接点RL2−2、第2の常閉接点RL2−3、第2のリレー可動接点RL2−4が備えられている。第2のリレーコイルRL2−1は、上流側が電源スイッチ20に接続され、下流側が第2のスイッチングトランジスタTR2のコレクタに接続されている。第2のリレー常開接点RL2−2は、電源スイッチ20に接続されている。第2のリレー常閉接点RL2−3は、接地に接続されている。第2のリレー可動接点RL2−4は、モータ5の第2のブラシ端子5bに接続されている。
0032
第2のスイッチングトランジスタTR2は、エミッタ接地のNPN型トランジスタであり、ベースが図示しない抵抗を通じて中央処理回路MCUに備えた第2の出力ポートD2に接続され、コレクタが前述したように第2のリレーコイルRL2−1の下流側に接続されている。
0033
モータ駆動出力ブロック7では、中央処理回路MCUの第1の出力ポートD1からハイレベルが与えられるとともに、中央処理回路MCUの第2の出力ポートD2からローレベルが与えられると、第1のスイッチングトランジスタTR1がオンされ、第1のリレーコイルRL1−1が励磁され、第1のリレー可動接点RL1−4が第1のリレー常閉接点RL1−3から第1のリレー常開接点RL1−2に電気的に接続される。そして、電源21の電流が、第1のリレー常開接点RL1−2、第1のリレー可動接点RL1−4、モータ5の第1のブラシ端子5a、モータ5の第2のブラシ端子5b、第2のリレー可動接点RL2−4、第2のリレー常閉接点RL2−3、接地に流れるため、モータ5のアーマチュアシャフト5cが正回転する。
0034
上記に反して、モータ駆動出力ブロック7では、中央処理回路MCUの第2の出力ポートD2からハイレベルが与えられるとともに、中央処理回路MCUの第1の出力ポートD1からローレベルが与えられると、第2のスイッチングトランジスタTR2がオン切換えされ、第2のリレーコイルRL2−1が励磁され、第2のリレー可動接点RL2−4が第2のリレー常閉接点RL2−3から第2のリレー常開接点RL2−2に電気的に接続される。そして、電源21の電流が、第2のリレー常開接点RL2−2、第2のリレー可動接点RL2−4、モータ5の第2のブラシ端子5b、モータ5の第1のブラシ端子5a、第1のリレー可動接点RL1−4、第1のリレー常閉接点RL1−3、接地に流れるため、モータ5のアーマチュアシャフト5cが逆回転する。
0035
回転センサ6は、ロータリーエンコーダやタコジェネレータなどの回転検出器であって、モータ5のアーマチュアシャフト5cの近くに配置されている。この回転センサ6は、抵抗R8および抵抗R9によって分圧され、ツェナダイオードZD3によって制限された電圧レベルが上流側に与えられており、モータ5のアーマチュアシャフト5cが回転していると、回転に対応してパルス状の回転信号を発生する。回転センサ6が発生したパルス信号はパルス信号入力ブロック8に与えられる。
0036
パルス信号入力ブロック8は、抵抗R10、コンデンサC5からなる。このパルス信号入力ブロック8は、回転センサ6から与えられたパルス信号を安定化したうえで、図示しない電圧クランプ回路を通じ中央処理回路MCUに備えた第3の入力ポートIN3に与える。
0037
回路電源電圧入力ブロック9は、ダイオードD1、抵抗R1、ツェナダイオードZD1、第1のバックアップ用コンデンサC1、第2のバックアップ用コンデンサC2、発振防止用コンデンサC4、電源IC22からなる。
0038
回路電源電圧入力ブロック9では、ダイオードD1のアノードが電源スイッチ20に接続され、他端が接地された第2のバックアップ用コンデンサC2の一端が電源ライン9aとともに作動用電源VCCに接続され、電源ライン9aが中央処理回路MCUのレギュレータポートREGおよびEEPROM外部メモリブロック(不揮発性メモリ)MEMに接続されている。
0039
回路電源電圧入力ブロック9では、電源スイッチ20がオン状態にあると、第1のバックアップ用コンデンサC1が充電され、電源IC22がオンし、第2のバックアップ用コンデンサC2が充電されて、中央処理回路MCUのレギュレータポートREG、EEPROM外部メモリブロックMEMに所定のドライブ電圧を与える。そして、回路電源電圧入力ブロック9では、電源スイッチ20がオフ切換えされると、第1のバックアップ用コンデンサC1、第2のバックアップ用コンデンサC2がそれぞれ放電され、放電電圧が、中央処理回路MCUのレギュレータポートREG、EEPROM外部メモリブロックMEMに与えられる。
0040
EEPROM外部メモリブロックMEM(electrically erasable programma-ble ROM )は、電気的に書き換え可能なROMであり、非通電状態でも記憶内容が保持される不揮発性メモリである。このEEPROM外部メモリブロックMEMは、中央処理回路MCUに備えたシリアル出力ポートSOUTより与えられたガラス位置データを所定のメモリエリア内に格納し、所定のメモリエリアよりガラス位置データを取り出し、シリアル入力ポートSINを介して中央処理回路MCUに送る。
0041
変換ブロック10には、抵抗R2、R3、R4、R5、ツェナダイオードZD2、コンデンサC3が備えられている。
0042
変換ブロック10では、抵抗R2と抵抗R3とによって分圧され、ツェナダイオードZD2によって制限され、抵抗R4とコンデンサC3によって積分され、抵抗R5によって調整された電圧レベルの信号を中央処理回路MCUに備えた変換ポートA/Dに与える。
0043
リセット回路11は、ドライブ電圧が低下した際に、中央処理回路MCUをリセットする。
0044
ワンタッチ動作記憶ブロック12は、開スイッチ2がオン切換えされることによってスイッチ信号入力ブロック4から第1の入力ポートIN1に与えられた下降指令信号(ハイレベル)、閉スイッチ3がオン切換えされることによってスイッチ信号入力ブロック4から第2の入力ポートIN2に与えられた上昇指令信号(ハイレベル)のそれぞれの入力時間を検出している。
0045
ワンタッチ動作記憶ブロック12では、開スイッチ2から与えられた下降指令信号、閉スイッチ3から与えられた上昇指令信号のそれぞれの入力信号が予め定められた時間よりも長くなった場合、後述するものとは別に定められたプログラムによってワンタッチフラグがセットされることによりそれぞれの入力信号を記憶し、それぞれの入力信号が与えられなくなってからも、記憶したそれぞれの指令信号を制御ブロック14に与え続けてワンタッチ動作を行う。
0046
EEPROMメモリアドレスカウンタADCTは、制御ブロック14とのあいだで番地信号の授与を行うカウンタである。
0047
クロックジェネレータ13は、実行するプログラムの時間管理を行う。
0048
パルス間隔測定ブロック16は、パルス信号入力ブロック8より与えられたパルス信号の1つづつの立上がりおよび立下がりを検出する。
0049
パルス間隔測定タイマTM2は、パルス間隔測定ブロック16によってパルス信号の立上がりが検出されるとタイマがスタートし、パルス信号の立下がりが検出されるとタイマがオフすることによって、パルス信号の1つづつの周期時間を検出する。検出したパルス信号の周期時間は、モータロック作動判定ブロック17に与えられる。パルス間隔測定タイマTM2では、モータ5のロック検出をモータ5が発生したパルス信号の周期によって直接的に検出している。
0050
モータ作動判定値XLOCKは、予め定められた値であって、モータ5のアーマチュアシャフト5cが回転を拘束されたことを検出するために用いられる。このモータ作動判定値XLOCKは、中央処理回路MCUに内蔵された図示しないROM内に保持されている。モータ作動判定値XLOCKは、モータロック作動判定ブロック17において、パルス間隔測定タイマTM2により検出された周期時間と比較される。モータ作動判定値XMOVEは、XLOCKとは異なり、モータ5のアーマチュアシャフト5cが回転していることを検出するのに用いられる。
0051
モータロック作動判定ブロック17は、パルス間隔測定タイマTM2が検出した周期時間とモータ作動判定値XLOCKとを比較することにより、パルス間隔測定タイマTM2が検出した周期時間がモータ作動判定値XLOCKを越えたときに判定信号を制御ブロック14に与える。モータロック作動判定ブロック17が与えた判定信号は、制御ブロック14においてEEPROM外部メモリブロックMEM内へのメモリ書き込みタイミングとして用いられる。
0052
EEPROM書き込みインターバルタイマTM1は、制御ブロック14より入出力制御ブロック15を通じて行われるEEPROM外部メモリブロックMEMへの書き込みを一定の時間毎に行う機能を有する。このとき、EEPROM書き込みインターバルタイマTM1は予め定められた値XMEMWRと比較することによってインターバル時間の経過を測る。
0053
パルスカウンタガラス位置記憶WINDCTは、制御ブロック14においてEEPROM外部メモリブロックMEM内へ書き込むためのガラス位置データとなるパルス信号数を計数する。中央処理回路MCUに備えたリセットポートRESはリセット回路11に接続されている。
0054
ガラス位置予測ブロック18は、電源スイッチ20がオン切換えされた際、入出力制御ブロック15、制御ブロック14を介してEEPROM外部メモリブロックMEMに書き込まれている位置データを読み出して、その中の3個の位置データを比較し、最後に書き込まれた位置データ以後の位置データの算出処理を複数回行うことによって、最終的にウインドガラス30が停止した位置を推測し、その位置データをパルスカウンタガラス位置記憶WINDCTに与える。
0055
制御ブロック14では、スイッチ信号入力ブロック4より下降指令信号が与えられると、中央処理回路MCUにおいて、第1の出力ポートD1がハイレベルに、第2の出力ポートD2がローレベルになることによって第1のスイッチングトランジスタTR1をオンする。これに反して、スイッチ信号入力ブロック4より上昇指令信号が与えられると、中央処理回路MCUにおいて、第2の出力ポートD1がハイレベルに、第1の出力ポートD2がローレベルになることによって第2のスイッチングトランジスタTR2をオンする。
0056
制御ブロック14では、スイッチ信号入力ブロック4より与えられた下降指令信号が予め定められた時間よりも長くなってワンタッチ動作記憶ブロック12により下降指令信号が記憶され、下降指令信号が与えられなくなってからも、ワンタッチ動作記憶ブロック12により記憶された下降指令信号が与え続けられるため、モータ駆動出力ブロック7の第1のスイッチングトランジスタTR1をオンし続ける。
0057
制御ブロック14では、スイッチ信号入力ブロック4より与えられた上昇指令信号が予め定められた時間よりも長くなってワンタッチ動作記憶ブロック12により上昇指令信号が記憶され、上昇指令信号が与えられなくなってからも、ワンタッチ動作記憶ブロック12により記憶された上昇指令信号が与え続けられるため、モータ駆動出力ブロック7の第2のスイッチングトランジスタTR2をオンし続ける。
0058
制御ブロック14では、スイッチ信号入力ブロック4より下降指令信号が与えられると、入出力制御ブロック15を通じてEEPROM外部メモリブロックMEMに格納されているガラス位置データのメモリ消去を行う。
0059
制御ブロック14では、モータロック作動判定ブロック17より判定信号が与えられたときに入出力制御ブロック15に書き込み指令を与える。そして、制御ブロック14は、スイッチ信号入力ブロック4より与えられていた下降指令信号(ハイレベル)および上昇指令信号(ハイレベル)が消滅したときに入出力制御ブロック15に上書き指令を与える。
0060
制御ブロック14では、パルス間隔測定タイマTM2が検出した周期時間がモータ作動判定値XLOCKを越えたときにモータロック作動判定ブロック17から与えられた判定信号によって、モータ5がロック状態にあることを認識し、モータ駆動出力ブロック7に対して停止指令を与える。
0061
制御ブロック14では、回路電源電圧入力ブロック9に与えられる回路電源電圧(モータ5の電圧VB)が予め定められた電圧V以下になった際に書き込み指令を発生する。この書き込み指令が発生すると、入出力制御ブロック15を介しEEPROM書き込みインターバルタイマTM1によって定められた時間(XMEMWR)毎に、EEPROM外部メモリブロックMEM内においてEEPROMメモリアドレスカウンタADCTによって定められた番地にパルスカウンタガラス位置記憶WINDCTより与えられたパルス信号数(ガラス位置データ)でのメモリ書き込みを複数回行う。
0062
入出力制御ブロック15は、パラレルデータとシリアルデータとの変換を行うとともに、クロックジェネレータ13の信号に基づいてEEPROM外部メモリブロックMEMへの書き込み及び読み込みのタイミング処理を行うことによって入出力の総括的処理を行う。
0063
また、入出力制御ブロック15は、制御ブロック14より与えられた書き込み指令により、EEPROM書き込みインターバルタイマTM1によって定められた時間毎に、EEPROM外部メモリブロックMEM内においてEEPROMメモリアドレスカウンタADCTによって定められた番地にパルスカウンタガラス位置記憶WINDCTより与えられたパルス信号数(ガラス位置データ)でのメモリ書き込みを行う機能を有する。
0064
また、入出力制御ブロック15は、制御ブロック14より与えられた上書き指令により、EEPROM外部メモリブロックMEM内においてEEPROMメモリアドレスカウンタADCTによって定められた番地にパルスカウンタガラス位置記憶WINDCTより与えられたパルス信号数(ガラス位置データ)でのメモリ書き込みを行う機能を有する。
0065
また、入出力制御ブロック15は、制御ブロック14より与えられた読み込み指令により、EEPROM外部メモリブロックMEM内の任意の番地のパルス信号数(ガラス位置データ)を読み込む機能を有する。
0066
中央処理回路MCUでは、電源スイッチ20がオンされている状態で、ウインドガラス30が閉まっていて、図3に示されるように、時刻Aにおいて開スイッチ2がオン切換えされることによってスイッチ信号入力ブロック4より制御ブロック14に下降指令信号が与えられると、制御ブロック14(第1の出力ポートD1)よりモータ駆動出力ブロック7の第1のスイッチングトランジスタTR1のベースにハイレベルが与えられるため、モータ5のアーマチュアシャフト5cが正回転し、ウインドガラス30が開く。このとき、開スイッチ2より下降指令信号が制御ブロック14に与えられるため、制御ブロック14より入出力制御ブロック15を通じてEEPROM外部メモリブロックMEMに格納されているガラス位置データのメモリ消去が行われる。開スイッチ2より下降指令信号が制御ブロック14に与えられた際に、EEPROM外部メモリブロックMEMに格納されているガラス位置データのメモリ消去を行い、既に存在する位置データによる誤作動要因を排除する。
0067
中央処理回路MCUでは、開スイッチ2が発生した下降指令信号が予め定められた時間よりも長くなった場合、プログラム内でワンタッチ開フラグがセットされるため、ワンタッチ動作記憶ブロック12において下降指令信号を記憶して制御ブロック14に与え続ける。中央処理回路MCUでは、開スイッチ2が発生した下降指令信号の時間によってワンタッチ動作を判別するため、開スイッチ2の他にオートスイッチ等の付加スイッチを必要としない。
0068
図3に示されるように、時刻Aにおいてモータ5が正回転を開始することによって、回転センサ6はほぼ同一間隔のパルス信号を発生し、パルス信号入力ブロック8、パルス間隔測定ブロック16、パルス間隔測定タイマTM2が1つづつのパルス信号の周期時間を検出する。
0069
時刻Aの後の時刻Bにおいて、ウインドガラス30が全開位置Fに到達すると、ウインドガラス30が移動を阻止され、モータ5のアーマチュアシャフト5cは回転速度が下がる。モータ5のアーマチュアシャフト5cの回転速度が下がってくると、回転センサ6が発生するパルス信号の周期時間が長くなる。
0070
その後、パルス間隔測定タイマTM2が検出した周期時間がモータ作動判定値XLOCKを越えた時刻Cにおいて、モータロック作動判定ブロック17が判定信号を制御ブロック14に与えるため、制御ブロック14より入出力制御ブロック15に書き込み指令が与えられ、EEPROM書き込みインターバルタイマTM1によって定められた時間毎に、EEPROM外部メモリブロックMEM内においてEEPROMメモリアドレスカウンタADCTによって定められた番地にパルスカウンタガラス位置記憶WINDCTより与えられた回転信号数(ガラス位置データ)でのメモリ書き込みが繰り返し行われる。
0071
ウインドガラス30が全開位置Fに到達し、モータ5のアーマチュアシャフト5cが回転を拘束され、時刻Cの後の時刻Dにおいて、開スイッチ2がオフ切換えされると、制御ブロック14より入出力制御ブロック15に上書き指令が与えられるため、EEPROM外部メモリブロックMEM内においてEEPROMメモリアドレスカウンタADCTによって定められた番地にパルスカウンタガラス位置記憶WINDCTより与えられたパルス信号数(ガラス位置データ)でのメモリ書き込みが行われる。開スイッチ2がオフ切換えされた際に、EEPROM外部メモリブロックMEMに位置データが上書きされることによって、モータ5のアーマチュアシャフト5cがわずかに回転を続けているロック状態のときに複数個書き込まれた位置データではなく、開スイッチ2のオフ切換え時に上書きされた位置データによって、ウインドガラス30が確実にストローク端に到達した位置での位置データが書き込まれるため、ウインドガラス30の位置推定にずれがなくなる。
0072
そして、時刻Dの後の時刻Eにおいて電源スイッチ20がオフ切換えされても、時刻Cにおいてメモリ書き込みが行われたガラス位置データまたは時刻Dにおいて上書きが行われたガラス位置データを用いてウインドガラス30の現在位置の検出が行われる。それ故、メモリ書き込みが行われる際のモータ5の電圧VBは、電源スイッチ20がオフ切換えされてからのように下がったものとならないため、電源スイッチ20がオフ切換えされてからの短い時間を使ってメモリ書き込みを行うものと比べ、大きな容量のバックアップコンデンサを必要とせずに、回路電源電圧入力ブロック9に備えられた第1のバックアップ用コンデンサC1、第2のバックアップ用コンデンサC2は容量が小さいものとなる。
0073
中央処理回路MCUでは、電源スイッチ20がオン切換えされている状態で、ウインドガラス30が開いていて、図3に示されるように、時刻Aにおいて閉スイッチ3がオン切換えされることによってスイッチ信号入力ブロック4より制御ブロック14に上昇指令信号が与えられると、制御ブロック14(第2の出力ポートD2)よりモータ駆動出力ブロック7の第2のスイッチングトランジスタTR2のベースにハイレベルが与えられるため、モータ5のアーマチュアシャフト5cが逆回転し、ウインドガラス30が閉る。このとき、閉スイッチ3より上昇指令信号が制御ブロック14に与えられるため、制御ブロック14より入出力制御ブロック15を通じてEEPROM外部メモリブロックMEMに格納されているガラス位置データのメモリ消去が行われる。閉スイッチ3より上昇指令信号が制御ブロック14に与えられた際に、EEPROM外部メモリブロックMEMに格納されているガラス位置データのメモリ消去を行い、既に存在する位置データによる誤作動要因を排除する。
0074
中央処理回路MCUでは、閉スイッチ3が発生した上昇指令信号が予め定められた時間よりも長くなった場合、プログラム内でワンタッチ閉フラグがセットされるため、ワンタッチ動作記憶ブロック11において上昇指令信号を記憶して制御ブロック14に与え続ける。中央処理回路MCUでは、閉スイッチ3が発生した上昇指令信号の時間によってワンタッチ動作を判別するため、閉スイッチ3の他にオートスイッチ等の付加スイッチを必要としない。
0075
図3に示される時刻Aにおいて、モータ5が逆回転を開始することによって、回転センサ6はほぼ同一間隔のパルス信号を発生し、パルス信号入力ブロック8、パルス間隔測定ブロック16、パルス間隔測定タイマTM2が1つづつのパルス信号の周期時間を検出する。
0076
時刻Aの後の時刻Bにおいて、ウインドガラス30が全閉位置Gに到達すると、ウインドガラス30が移動を阻止され、モータ5のアーマチュアシャフト5cは回転速度が下がる。モータ5のアーマチュアシャフト5cの回転速度が下がってくると、回転センサ6が発生するパルス信号の周期時間が長くなる。
0077
その後、パルス間隔測定タイマTM2が検出した周期時間がモータ作動判定値XLOCKを越えた時刻Cにおいて、モータロック作動判定ブロック17が判定信号を制御ブロック14に与えるため、制御ブロック14より入出力制御ブロック15に書き込み指令が与えられ、EEPROM書き込みインターバルタイマTM1によって定められた時間毎に、EEPROM外部メモリブロックMEM内においてEEPROMメモリアドレスカウンタADCTによって定められた番地にパルスカウンタガラス位置記憶WINDCTより与えられた回転信号数(ガラス位置データ)でのメモリ書き込みが行われる。
0078
ウインドガラス30が全閉位置Gに到達し、モータ5のアーマチュアシャフト5cが回転を拘束され、時刻Cの後の時刻Dにおいて、閉スイッチ3がオフ切換えされると、制御ブロック14より入出力制御ブロック15に上書き指令が与えられるため、EEPROM外部メモリブロックMEM内においてEEPROMメモリアドレスカウンタADCTによって定められた番地にパルスカウンタガラス位置記憶WINDCTより与えられたパルス信号数(ガラス位置データ)でのメモリ書き込みが行われる。閉スイッチ3がオフ切換えされた際に、EEPROM外部メモリブロックMEMに位置データが上書きされることによって、以前の時刻CにおいてEEPROM外部メモリブロックMEM内に既に書き込まれている位置データではなく、閉スイッチ3のオフ切換え時に上書きされた位置データによって、ウインドガラス30の位置推定にずれがなくなる。
0079
そして、時刻Dの後の時刻Eにおいて電源スイッチ20がオフ切換えされても、時刻Cにおいてメモリ書き込みが行われたガラス位置データまたは時刻Dにおいて上書きが行われたカラス位置データを用いてウインドガラス30の現在位置の検出が行われる。それ故、メモリ書き込みが行われる際のモータ5の電圧VBは、電源スイッチ20がオフ切換えされてからのように下がったものとならないため、電源スイッチ20がオフ切換えされてからの短い時間を使ってメモリ書き込みを行うものと比べ、大きな容量のバックアップコンデンサを必要とせずに、回路電源電圧入力ブロック9に備えられた第1のバックアップ用コンデンサC1、第2のバックアップ用コンデンサC2は容量が小さいものとなる。
0080
中央処理回路MCUでは、電源スイッチ20がオンされている状態で、ウインドガラス30が閉まっていて、図4に示されるように、時刻Lにおいて開スイッチ2がオン切換えされることによってスイッチ信号入力ブロック4より制御ブロック14に下降指令信号が与えられると、制御ブロック14(第1の出力ポートD1)よりモータ駆動出力ブロック7の第1のスイッチングトランジスタTR1のベースにハイレベルが与えられるため、モータ5のアーマチュアシャフト5cが正回転し、ウインドガラス30が開く。
0081
モータ5のアーマチュアシャフト5cが正回転を開始することによって、回路電源電圧は無負荷の状態よりも下がったほぼ一定の通常動作での電位を保ち、回転センサ6はほぼ同一間隔のパルス信号を発生し、パルス信号入力ブロック8、パルス間隔測定ブロック16、パルス間隔測定タイマTM2が1つづつのパルス信号の周期時間を検出する。
0082
図4中の時刻Lの後の時刻Mにおいて、電源スイッチ20がオフ切換えされると、回路電源電圧は通常動作での電位よりも急激に下がり始める。ただし、同様の電圧降下はモータロックの時にも発生するが、この時の回転センサ6が発生するパルス信号の周期時間はそれ程長くならない。
0083
図4中の時刻Mの以後の時刻Nにおいて、回路電源電圧(モータ5の電圧)が予め定められた電圧V(メモリ書き込み電圧B)を越えて下がった時で、モータロック作動判定ブロック内でパルス間隔測定ブロック16で測定された周期時間とモータ作動判定値XLOCKとの比較でモータロックではないと判断されたときに、制御ブロック14より入出力制御ブロック15に書き込み指令が与えられ、EEPROM書き込みインターバルタイマTM1によって定められた時間(XMEMWR)毎に、EEPROM外部メモリブロックMEM内においてEEPROMメモリアドレスカウンタADCTによって定められた番地にパルスカウンタガラス位置記憶WINDCTより与えられた回転信号数(ガラス位置データ)でのメモリ書き込みが繰り返し行われる。
0084
EEPROM外部メモリブロックMEMへの書き込みは、EEPROM書き込みインターバルタイマTM1によって定められた時間(XMEMWR)毎に、予め定められたリセット電圧RESに到達する時刻P(時刻Nから時刻Pまでの書き込み可能時間t´)まで複数回行われる。このとき、1番目の位置データMEM(1)、2番目の位置データMEM(2)、3番目の位置データMEM(3)、4番目の位置データMEM(4)、5番目の位置データMEM(5)、6番目の位置データMEM(6)、7番目の位置データMEM(7)、8番目の位置データMEM(8)、9番目の位置データMEM(9)が書き込まれた場合、EEPROM外部メモリブロックMEMは、1番目の位置データMEM(1)から9番目の位置データMEM(9)までの9個の位置データを格納する。
0085
中央処理回路MCUでは、1番目の位置データMEM(1)から9番目の位置データMEM(9)までをEEPROM外部メモリブロックMEMに書き込んだ後の時刻Pにおいてリセットされることによって書き込みが中止されるが、ウインドガラス30は最終的に停止していないので、これらの位置データをそのまま用いてウインドガラス30の停止位置を認識しない。この場合、9個の位置データを書き込んだものを説明したが、位置データは、9個に限らず最低3個書き込めれば、ガラス位置予測ブロック18により予測を行え、且つ、最初に1個書き込めば、大体の位置の推定は行えるので、メモリ書き込みを行うための時間が短くなる。そのため、大きな容量のバックアップコンデンサを必要としないから、回路電源電圧入力ブロック9に備えられた第1のバックアップ用コンデンサC1、第2のバックアップ用コンデンサC2は容量が小さいものとなる。
0086
電源スイッチ20がオフ切換えされた後に、新たに電源スイッチ20がオン切換えされると、中央処理回路MCUは、入出力制御ブロック15を介してEEPROM外部メモリブロックMEMに既に書き込まれている3個の位置データをそれぞれ比較して、最後に書き込まれた位置データの以後の位置データの算出処理を複数回行うことによって、最終的に負荷が停止した位置データを予測する。
0087
位置データを予測するに際し、EEPROM外部メモリブロックMEMには、図4に示されるように、1番目の位置データMEM(1)、2番目の位置データMEM(2)、3番目の位置データMEM(3)、4番目の位置データMEM(4)、5番目の位置データMEM(5)、6番目の位置データMEM(6)、7番目の位置データMEM(7)、8番目の位置データMEM(8)、9番目の位置データMEM(9)が書き込まれているから、1番目の位置データMEM(1)を最初の位置データとして認識し、5番目の位置データMEM(5)を中間の位置データとして認識し、9番目の位置データMEM(9)を最後の位置データとして認識する。
0088
中央処理回路MCUでは、最初の位置データである1番目の位置データMEM(1)(MEMA)[MEMAはMEM(N)の中でMEMCと比較するためn−a(aは2,4,6,8…でn−a≧1となる最大値)にある位置データである。]と、中間の位置データである5番目の位置データMEM(5)(MEMB)との偏差R1(パルスカウント数)を算出するとともに、中間の位置データである5番目の位置データMEM(5)(MEMB)と、最後の位置データである9番目の位置データMEM(9)(MEMC)との偏差R2(パルスカウント数)を算出することによって、減速比RA=R2/R1を算出する。このとき、モータ5のアーマチュアシャフト5cの回転数は減速中であるから、減速比RA<1となる。MEM(N)は連続したメモリブロックであって、Nはメモリブロックアドレスの最大値である。
0089
そして、中央処理回路MCUでは、算出した減速比RAを用いて、最後に得られた9番目の位置データMEM(9)(MEMC)の以後に、図5、図6に示されるように、ウインドガラス30が最終的に停止した位置データを予測して得るための予測ループを複数回行う。
0090
予測ループは、大きく2つのブロックに分けられ、最初に前回の電源オフで書き込まれた位置データの中から、比例計算を行う上で、EEPROM外部メモリブロックMEM内のアドレス位置の関係がMEMAとMEMBの間隔とMEMBとMEMCの間隔が等しく、且つ、最も時間的に長くなる3個を選び出し、その3個のデータより減速比RAを求める。次いで、その減速比RAで収束する位置データを計算する。まず、前回の電源オフで中央処理回路MCUがリセットした箇所の直前の位置データMEM(9)を起点として、前回の電源オフで書き込まれた位置データの中から減速比RAを算出するための最も時間的に離れた3点を探し出す。その3点をMEMA、MEMB、MEMCとすると、それらの条件はメモリ内のアドレスでMEMAとMEMBの間とMEMAとMEMCの間が同じだけ離れていて、且つ、MEMAとMEMCがEEPROM外部メモリブロックMEM内にある事である。
0091
選択ループの一回目(ループカウンタCT2=1)では、図5に示されるように、リセットされる以前に最後に書き込まれている位置データnに基づき、[n−2」をMEMA(最初の位置データ)とし、[n−1]をMEMB(中間の位置データ)とし、[n]をMEMC(最後の位置データ)として、中央処理回路MCUに内蔵された記憶手段RAM内に格納する。書き込まれている位置データが3個未満でMEMAまたはMEMAとMEMBが設定できない時は、この後の予測ループを行わず、MEMCの値をガラス位置とする。
0092
選択ループの二回目では、一回目の予測ループを実行した後、ループカウンタCT2をインクリメントしてCT2=2として、最後の位置データがメモリの5番目以上であるならば、すなわち、n−(CT2×2)≧1であるならば、図5に示されるように、[4…n−3]をMEMA(n−4)(最初の位置データ)とし、[n−2]をMEMB(中間の位置データ)とし、[n]をMEMC(最後の位置データ)として、中央処理回路MCUに内蔵された記憶手段RAM内に格納する。
0093
同様に、選択ループの三回目(ループカウンタCT2=3)では、図5に示されるように、[4…n−3]をMEMA(n−6)(最初の位置データ)とし、[n−3]をMEMB(中間の位置データ)とし、[n]をMEMC(最後の位置データ)として、中央処理回路MCUに内蔵された記憶手段RAM内に格納して減算処理を行う。
0094
そして、選択ループの最終回(ループカウンタCT2=m、ただしn−2m≧1である。)では、図5に示されるように、[2]をMEMA(最初の位置データ)とし、[4…n−3]をMEMB(中間の位置データ)(MEMB=n−CT2)とし、[n]をMEMC(最後の位置データ)として、中央処理回路MCUに内蔵された記憶手段RAM内に格納して除算処理を行う。すなわち、減速比RAを求めるために(MEMC−MEMB)/(MEMB−MEMA)を実行する。
0095
次いで、位置データが収束する点の計算を行う。
0096
計算ループの1回目では、前回の電源オフで中央処理回路MCU(マイコン)がリセットした箇所の直前の位置データMEM(9)を起点として次のMEM(10)の位置データの計算を行う。
0097
図6に示される予測ループの1回目において、先に算出した減速比RAに、この直前の位置データの差、すなわち、MEM(9)−MEM(8)を乗ずる。この値がMEM(9)とMEM(10)の推定差である。これをRDIFとする。もし、このRDIFの値が1未満であれば、更なる推定値は得られないので、ここでループを抜ける。RDIFが1以上であるならば、この値を四捨五入して整数化し、MEM(9)に加えた値がMEM(10)の推定値となる。この後、先に得られたRDIFをR2に代入し、次のループの新たな位置データの差分として予測ループの1回目を終了する。
0098
図6に示される予測ループの2回目において、前回同様RAX(MEM(10)−MEM(9))、すなわち、前回ループでR2・推定差RDIF(MEM(9)とMEM(10)の推定差)を代入してあるので、RAXR2を行い、これをRDIFFに代入する。この時のRDIFはMEM(10)とMEM(11)の推定差である。もし、このRDIFの値が1未満であれば、更なる推定値は得られないので、ここでループを抜ける。RDIFが1以上であるならば、この値を四捨五入して整数化し、MEM(10)に加えた値がMEM(11)の推定値となる。この後、得られたRDIFをR2に代入し、次のループの新たな位置データの差分とし予測ループ2回目を終了する。
0099
1回目、2回目と同様に、3回目、4回目と繰り返し、RDIFの値が1未満になるまで繰り返し、1未満でループを抜けて最後の推定値、すなわち、前回電源スイッチ20がオフ切換えされた時のガラス停止位置が得られる。
0100
中央処理回路MCUでは、ウインドガラス30が閉まっている状態で、電源スイッチ20がオン切換えされた場合においても、上述と同様にして、入出力制御ブロック15を介してEEPROM外部メモリブロックMEMに既に書き込まれている位置データから最後に書き込まれた位置データの以後の位置データの算出処理を複数回行うことによって、最終的にウインドガラス30が停止した位置データを予測する。
0101
上記のモータ制御装置1は、図7ないし図11に示されるプログラムに従って制御動作を行う。図7および図8はメインルーチンであり、図9はEEPROM外部メモリブロックMEMへの書き込みルーチンであり、図10および図11は起動時の位置予測ルーチンである。
0102
電源スイッチ20がオン切換えされていて、ウインドガラス30が全閉位置G又は全開位置F又は全閉位置Gと全開位置Fの間にあるとき、図7に示されるメインルーチンのステップ101において『起動時の位置予測』が実行されるため、図10に示されるステップ140に移行して『ループカウンタCT1をクリア』してステップ141に移行する。ステップ141において『EEPROM外部メモリブロックMEMに書き込まれている最終(最後)の位置データがチェック(n←N−CT1)』される。ここでのNは、EEPROM外部メモリブロックMEMで書き込み可能な最大値のメモリアドレスで、nは、EEPROM外部メモリブロックMEMに書き込まれている位置データの最終値である。この後、ステップ142に移行する。
0103
ステップ141から移行したステップ142において『EEPROM外部メモリブロックMEMの所定のアドレスに位置データが書き込まれているか否か』の判別が行われるため、以前において、EEPROM外部メモリブロックMEMに位置データが書き込まれていればステップ143をスキップしてステップ144に移行し、EEPROM外部メモリブロックMEMに位置データが書き込まれていなければステップ143に移行して『ループカウンタCT1をインクリメント(CT1←CT1+1)』してステップ141、ステップ142を繰り返し実行する。
0104
ステップ142から移行したステップ144において『予測に必要な3個以上の位置データがEEPROM外部メモリブロックMEM内に書き込まれているか否か』が判別される。
0105
EEPROM外部メモリブロックMEM内に、予測に必要な3個以上の位置データが書き込まれていないと、ステップ144からステップ161に移行して『位置データが2個か否か』が判別される。
0106
EEPROM外部メモリブロックMEM内に2個の位置データが書き込まれていると、ステップ162に移行して『パルスカウンタガラス位置記憶WINDCTにMEM(2)が格納』される。
0107
EEPROM外部メモリブロックMEM内に2個の位置データが書き込まれておらず、1個の位置データが書き込まれていると、ステップ161においての判別でステップ163に移行し、ステップ163においての判別でステップ164に移行して『パルスカウンタガラス位置記憶WINDCTにMEM(1)が格納』される。
0108
EEPROM外部メモリブロックMEM内に1個の位置データが書き込まれていないと、ステップ161においての判別でステップ163に移行し、ステップ163においての判別でステップ165に移行して『初期動作モードをセット』する。
0109
ステップ144においての判別でEEPROM外部メモリブロックMEM内に、予測に必要な3個以上の位置データが書き込まれていると、ステップ145に移行して『MEM(n)を最終の位置データMEMCに置き換え』てステップ146に移行する。ステップ145から移行したステップ146では、『ループカウンタCT2の初期セット(CT2←1)』が行われてステップ147に移行する。
0110
ステップ146から移行したステップ147において『MEM(n−CT2)を中間の位置データMEMBに置き換え』てステップ148に移行し、ステップ148において『MEM(n−CT2×2)を最古の位置データとしてMEMAに置き換え』てステップ149に移行する。
0111
ステップ149において『ループカウンタをインクリメント(CT2←CT2+1)』してステップ150に移行し、ステップ150において『最古の位置データMEMAに置き換えたMEM(n−CT2×2)の値の判別(n−CT2×2≧1)』が行われ、ステップ150においての値の判別が1を越えている場合はステップ147に戻ってステップ148、ステップ149を実行し、ステップ150においての値の判別が1を越えていない場合、ステップ151に移行する。
0112
ステップ150から移行したステップ151において『[最初の位置データMEMA−中間の位置データMEMB]によって偏差R1を算出』してステップ152に移行し、ステップ152において『[中間の位置データMEMB−最後の位置データMEMC]によって偏差R2を算出』してステップ153に移行する。
0113
ステップ153において『減速比RAを求め』てステップ154に移行し、ステップ154において『最新の位置データ、すなわち、MEMCのアドレスに入っている位置データ値を初期値としてセット(NSTP←n)』してステップ155に移行し、ステップ155において『位置データの偏差を求め(RDIF←R2×RA)』てステップ156に移行する。
0114
ステップ156においてステップ155において求めた『偏差RDIFの値の判別(RDIF<1)』が行われるため、偏差RDIFの値が1を越えているとステップ157に移行し、偏差RDIFの値が1を越えていないとステップ160に移行する。
0115
ステップ155で求めた偏差RDIFの値が1を越えていると、ステップ157に移行して『偏差RDIFの値が回転数計算のための整数化(小数点以下四捨五入)した値RINTに置き換えられ』てステップ158に移行し、ステップ158において『初期値NSTPの置き換え(初期値NSTP−整数値RINT)』が行われてステップ159に移行し、ステップ159において『偏差RDIFを偏差R2に置き換え』てステップ155に復帰するルーチンを繰り返す。
0116
ステップ155で求めた偏差RDIFの値が1を越えていないと、ステップ160に移行して『パルスカウンタガラス位置記憶WINDCTに初期値NSTPを置き換え』てステップ101においての起動時の位置予測ルーチンが終了する。
0117
ステップ101においての起動時の位置予測ルーチンが終了すると、メインルーチンに戻り、ステップ102に移行して『メモリ消去フラグ(FMERASE)をリセット』してステップ103に移行し、ステップ103において『メモリ書き込み完了フラグ(FMWREND)をリセット』してステップ104に移行する。
0118
そして、開スイッチ2がオン切換えされていると、下降指令信号が制御ブロック14に取り込まれることによって、モータ駆動出力ブロック7の第1のスイッチングトランジスタTR1にベース電流が与えられるため、モータ5のアーマチュアシャフト5cが正回転を始め、ウインドガラス30が開く側に駆動され、ステップ104においての判別で『開スイッチ2がオン』なのでステップ108に移行してステップ108においての判別が実行される。
0119
ステップ108では『モータオフでの書き込みフラグFMWROFFがセットされているか否か』を判別することにより、前回のルーチンでモータ5が停止中にメモリ書き込みを実行したか否かが判別される。ステップ108においての判別で『モータオフでの書き込みフラグFMWROFFがセットされている』ためステップ109に移行し、ステップ109においての判別で『メモリ消去フラグFMERASEはセットされていない』のでステップ110に移行する。
0120
ステップ109から移行したステップ110において『メモリ書き込み中フラグFMWRNOWをリセット』してステップ111に移行し、ステップ111において『メモリ書き込み完了フラグFMWRENDをリセット』してステップ112に移行し、ステップ112において『メモリ消去フラグFMERASEをセット』することにより、制御ブロック14より入出力制御ブロック15を通じて『EEPROM外部メモリブロックMEMに格納されているガラス位置データのメモリ消去』が行われる事を示しステップ113に移行する。
0121
ステップ112から移行したステップ113において『モータオンでの書き込みフラグFMWRONをリセット』してステップ114に移行し、ステップ114において『モータオフでの書き込みフラグFMWROFFをリセット』」してステップ115に移行し、ステップ115において『EEPROM外部メモリブロックMEMに格納されているガラス位置データを全数クリア』してステップ116に移行して『メイン処理』を行う。
0122
そして、次の回のルーチンでは、モータオフでの書き込みフラグFMWROFFが前回のルーチンでリセットされているため、開スイッチ2がオン切換えされ、ウインドガラス30が開く側に移動している途中では、ステップ104からステップ108に移行し、ステップ108においての判別でステップ117に移行する。
0123
ステップ108から移行したステップ117においての判別で『メモリ書き込み中フラグFMWRNOWはセットされていない』のでステップ118に移行し、ステップ118においての判別で『パルス間隔測定タイマTM2が検出した周期時間がモータ作動判定値XLOCKを越えていない』のでステップ119に移行する。
0124
ステップ118から移行したステップ119においての判別で『パルス間隔測定タイマTM2が検出した周期時間がモータ作動判定値XMOVEを越えている』のでステップ120に移行し、ステップ120においての判別で『回路電源電圧がV
以下ではない』のでステップ121に移行し、ステップ121において『メモリ書き込み中フラグFMWRNOWをリセット』してステップ116に移行して『メイン処理』を行う。
0125
モータ5が正回転を開始することによって、回転センサ6はほぼ同一間隔のパルス信号を発生し、パルス信号入力ブロック8、パルス間隔測定ブロック16、パルス間隔測定タイマTM2が1つづつのパルス信号の周期時間を検出する。
0126
やがて、ウインドガラス30が全開位置Fに到達すると、ウインドガラス30が移動を阻止され、モータ5のアーマチュアシャフト5cは回転速度が下がる。モータ5のアーマチュアシャフト5cの回転速度が下がってくると、回転センサ6が発生するパルス信号の周期時間が長くなる。
0127
そして、パルス間隔測定タイマTM2が検出した周期時間がモータ作動判定値XLOCKを越えると、ステップ104、ステップ108、ステップ117に移行してから、ステップ118においての判別でステップ122に移行し、ステップ122においての判別で『メモリ書き込み完了フラグFMWRENDはセットされていない』のでステップ123に移行する。
0128
ステップ118から移行したステップ123において『メモリ消去フラグFMERASEをリセット』してステップ124に移行し、ステップ124において『モータオンでの書き込みフラグFMWRONをセットして』ステップ125に移行し、ステップ125において『モータオフでの書き込みフラグFMWROFFをリセット』してステップ126に移行し、ステップ126において『EEPROM外部メモリブロックMEM(N)に書き込み』が実行される。
0129
書き込みルーチンが実行されることにより、ステップ170においての判別で『メモリ書き込み中フラグFMWRNOWはリセットされている』のでステップ171に移行し、ステップ171において『メモリ書き込み完了フラグFMWRENDをリセット』してステップ172に移行し、ステップ172において『EEPROM書き込みインターバルタイマTM1をクリア』してステップ173に移行し、ステップ173において『EEPROMメモリアドレスカウンタADCTをクリア(メモリ書き込みの初期設定)』してステップ174に移行し、ステップ174において『メモリ書き込み中フラグFMWRNOWをセット』してステップ175に移行する。
0130
ステップ174から移行したステップ175では、『EEPROM書き込みインターバルタイマTM1が予め定められたインターバル時間を越えたか否か』の判別が行われるため、1つ目の書き込みが開始された当初は、ステップ176に移行して『EEPROM外部メモリブロックMEM内でEEPROMメモリアドレスカウンタADCTによって定められた番地にパルスカウンタガラス位置記憶WINDCTより与えられた回転信号数(ガラス位置データ)でのメモリ書き込み』が行われてステップ177に移行し、ステップ177において『EEPROMメモリアドレスカウンタADCTをインクリメント』してステップ178に移行し、ステップ178において『EEPROM書き込みインターバルタイマTM1をクリア』してステップ179に移行する。
0131
ステップ178から移行したステップ179では『EPROMメモリアドレスカウンタADCTが最大値Nになっているか否か』が判別されるため、1つ目の書き込みが開始された当初はステップ170に戻って次の回のルーチンを実行する。
0132
次の回のルーチンでは、ステップ170においての判別で『メモリ書き込み中フラグFMWRNOWがセットされている』ため、ステップ171、ステップ172、ステップ173、ステップ174をスキップしてステップ175に移行し、EEPROM書き込みインターバルタイマTM1が予め定められたインターバル時間を越えたら、ステップ176、ステップ177、ステップ178、ステップ179からステップ180に移行し、ステップ180において『メモリ書き込み中フラグFMWRNOWをリセット』してステップ181に移行し、ステップ181において『メモリ書き込み完了フラグFMWRENDをセット』して次の回に移行する書き込みルーチンが実行される。
0133
ウインドガラス30が全開位置Fに到達し、モータ5のアーマチュアシャフト5cが回転を拘束され、開スイッチ2がオフ切換えされると、制御ブロック14に取り込まれていた下降指令信号が消滅するため、モータ駆動出力ブロック7の第1のスイッチングトランジスタTR1がオフし、モータ5のアーマチュアシャフト5cが回転を停止し、ウインドガラス30が全開位置Fで停止する。
すると、メインルーチンのステップ104においての判別で『開スイッチ2がオン切換えされていない』のでステップ105に移行し、ステップ105においての判別で『閉スイッチ3がオン切換えされていない』のでステップ106に移行し、ステップ106においての判別で『ワンタッチ開フラグはセットされていない』のでステップ107に移行し、ステップ107においての判別で『ワンタッチ閉フラグはセットされていない』のでステップ127に移行する。
0134
ステップ107から移行したステップ127においての判別で『モータオンでの書き込みフラグFMWRONはセットされている』のでステップ128に移行し、ステップ128において『メモリ書き込み中フラグFMWRNOWをリセット』してステップ129に移行する。
0135
ステップ128から移行したステップ129においての判別で『メモリ書き込み中フラグFMWRNOWはセットされていない』のでステップ130に移行し、ステップ130においての判別で『メモリ書き込み完了フラグFMWRENDはセットされていない』のでステップ131に移行し、ステップ131において『メモリ消去フラグFMERASEをリセット』してステップ132に移行し、ステップ132において『モータオンでの書き込みフラグFMWRONをリセット』してステップ133に移行し、ステップ133において『モータオフでの書き込みフラグFMWROFFをセット』してステップ134に移行し、ステップ134において『制御ブロック14より入出力制御ブロック15に上書き指令』が与えられる。
0136
ステップ134が実行されることにより、書き込みルーチンが実行され、ステップ170において『メモリ書き込み中フラグFMWRNOWはリセットされている』のでステップ171に移行し、ステップ171において『メモリ書き込み完了フラグFMWRENDをリセット』してステップ172に移行し、ステップ172において『EEPROM書き込みインターバルタイマTM1をクリア』してステップ173に移行し、ステップ173において『EEPROMメモリアドレスカウンタADCTをクリア(メモリ書き込みの初期設定)』してステップ174に移行し、ステップ174において『メモリ書き込み中フラグFMWRNOWをセット』してステップ175に移行する。
0137
ステップ174から移行したステップ175では、『EEPROM書き込みインターバルタイマTM1が予め定められたインターバル時間を越えたか否か』の判別が行われるため、1つ目の書き込みが開始された当初は、ステップ176に移行して『EEPROM外部メモリブロックMEM内でEEPROMメモリアドレスカウンタADCTによって定められた番地にパルスカウンタガラス位置記憶WINDCTより与えられた回転信号数(ガラス位置データ)でのメモリ書き込み』が行われてステップ177に移行し、ステップ177において『EEPROMメモリアドレスカウンタADCTをインクリメント』してステップ178に移行し、ステップ178において『EEPROM書き込みインターバルタイマTM1をクリア』してステップ179に移行する。
0138
ステップ178から移行したステップ179では『EEPROMメモリアドレスカウンタADCTが最大値Nになっているか否か』が判別されるため、1つ目の書き込みが開始された当初はステップ170に戻って次の回のルーチンを実行する。
0139
次の回のルーチンでは、ステップ170においての判別で『メモリ書き込み中フラグFMWRNOWがセットされている』ためステップ175に移行し、EEPROM書き込みインターバルタイマTM1が予め定められたインターバル時間を越えたら、ステップ176、ステップ177、ステップ178、ステップ179からステップ180に移行し、ステップ180において『メモリ書き込み中フラグFMWRNOWをリセット』してステップ181に移行し、ステップ181において『メモリ書き込み完了フラグFMWRENDをセット』して次の回に移行する書き込みルーチンが実行される。
0140
上書きのメモリ書き込みが行われている間、一回目のルーチンが終了すると、次の回からは、ステップ104、ステップ105、ステップ106、ステップ107、ステップ127、ステップ128、ステップ129に移行し、ステップ129においての判別でステップ130をスキップし、ステップ131、ステップ132、ステップ133、ステップ134が実行される。
0141
電源スイッチ20がオン切換えされていて、ウインドガラス30が全閉位置Gにあるとき、開スイッチ2がオン切換えされ、開スイッチ2のオン時間が予め定められた時間よりも長いと、他のプログラムによってワンタッチ開フラグがセットされたルーチンが実行される。
0142
開スイッチ2が当初オン切換えされたとき、ステップ104での判別でステップ108に移行し、ステップ108においての判別でステップ109に移行し、ステップ109においての判別で『メモリ消去フラグFMERASEはセットされていない』のでステップ110に移行し、ステップ110、ステップ111、ステップ112、ステップ113、ステップ114、ステップ115を実行する。下降指令信号が制御ブロック14に取り込まれることによってモータ駆動出力ブロック7の第1のスイッチングトランジスタTR1にベース電流が与えられるため、モータ5のアーマチュアシャフト5cが正回転を始め、ウインドガラス30が開く側に駆動される。
0143
その後に、開スイッチ2がオフ切換えされても、ワンタッチ開フラグはセットされているため、ステップ104においての判別で『開スイッチ2はオン切換えされていない』のでステップ105に移行し、ステップ105においての判別でステップ106に移行し、ステップ106においての判別で『ワンタッチ開フラグはセットされている』のでステップ108に移行し、以後、ステップ109、ステップ110、ステップ111、ステップ112、ステップ113、ステップ114、ステップ115を実行し、制御ブロック14によりモータ駆動出力ブロック7の第1のスイッチングトランジスタTR1にベース電流が与えられ続けるため、モータ5のアーマチュアシャフト5cが正回転をし続け、ウインドガラス30が開く側に連続的に駆動される。
0144
モータ5が正回転を開始することによって、回転センサ6はほぼ同一間隔のパルス信号を発生し、パルス信号入力ブロック8、パルス間隔測定ブロック16、パルス間隔測定タイマTM2が1つづつのパルス信号の周期時間を検出する。
0145
やがて、ウインドガラス30が全開位置Fに到達すると、ウインドガラス30が移動を阻止され、モータ5のアーマチュアシャフト5cは回転速度が下がる。
モータ5のアーマチュアシャフト5cの回転速度が下がってくると、回転センサ6が発生するパルス信号の周期時間が長くなる。
0146
パルス間隔測定タイマTM2が検出した周期時間がモータ作動判定値XLOCKを越えると、ステップ118においての判別でステップ122に移行し、ステップ122においての判別で『メモリ書き込み完了フラグFMWRENDはセットされていない』のでステップ123に移行し、ステップ123において『メモリ消去フラグFMERASEをリセット』してステップ124に移行し、ステップ124において『モータオンでの書き込みフラグFMWRONをセット』してステップ125に移行し、ステップ125において『モータオフでの書き込みフラグFMWROFFをリセット』してステップ126に移行し、ステップ126からステップ116に移行し、ステップ116において『メイン処理』を実行する。メモリ書き込みが行われている間、ステップ104、ステップ108、ステップ117に移行し、ステップ117においての判別で『メモリ書き込み中フラグFMWRNOWはセットされていない』ので、ステップ118に移行する。
0147
ステップ118においての判別で『パルス間隔測定タイマTM2が検出した周期時間がモータロック作動判定値XLOCKを越えている』のでステップ122に移行し、ステップ122においての判別で『メモリ書き込み完了フラグFMWRENDはセットされていない』のでステップ123に移行する。
0148
ステップ122から移行したステップ123において『メモリ消去フラグFMERASEをリセット』してステップ124に移行し、ステップ124において『モータオンでの書き込みフラグFMWRONをセットして』ステップ125に移行し、ステップ125において『モータオフでの書き込みフラグFMWROFFをリセット』してステップ126に移行し、ステップ126において『EEPROM外部メモリブロックMEM(N)に書き込み』が実行される。
0149
ステップ126が実行されることにより、書き込みルーチンが実行され、ステップ170においての判別で『メモリ書き込み中フラグFMWRNOWはリセットされている』のでステップ171に移行し、ステップ171において『メモリ書き込み完了フラグFMWRENDをリセット』してステップ172に移行し、ステップ172において『EEPROM書き込みインターバルタイマTM1をクリア』してステップ173に移行し、ステップ173において『EEPROMメモリアドレスカウンタADCTをクリア(メモリ書き込みの初期設定)』してステップ174に移行し、ステップ174において『メモリ書き込み中フラグFMWRNOWをセット』してステップ175に移行する。
0150
ステップ174から移行したステップ175では、『EEPROM書き込みインターバルタイマTM1が予め定められたインターバル時間を越えたか否か』の判別が行われるため、1つ目の書き込みが開始された当初は、ステップ176に移行して『EEPROM外部メモリブロックMEM内でEEPROMメモリアドレスカウンタADCTによって定められた番地にパルスカウンタガラス位置記憶WINDCTより与えられた回転信号数(ガラス位置データ)でのメモリ書き込み』が行われてステップ177に移行し、ステップ177において『EEPROMメモリアドレスカウンタADCTをインクリメント』してステップ178に移行し、ステップ178において『EEPROM書き込みインターバルタイマTM1をクリア』してステップ179に移行する。
0151
ステップ179では『EEPROMメモリアドレスカウンタADCTが最大値Nになっているか否か』が判別されるため、1つ目の書き込みが開始された当初はステップ170に戻って次の回のルーチンを実行する。
0152
次の回のルーチンでは、ステップ170においての判別で『メモリ書き込み中フラグFMWRNOWがセットされている』ためステップ175に移行し、EEPROM書き込みインターバルタイマTM1が予め定められたインターバル時間を越えたら、ステップ175、ステップ176、ステップ177、ステップ178、ステップ179からステップ180に移行し、ステップ180において『メモリ書き込み中フラグFMWRNOWをリセット』してステップ181に移行し、ステップ181において『メモリ書き込み完了フラグFMWRENDをセット』して次の回に移行する書き込みルーチンが実行される。
0153
ウインドガラス30が全開位置Fに到達し、モータ5のアーマチュアシャフト5cが回転を拘束されると、制御ブロック14に取り込まれていた下降指令信号が消滅するため、モータ駆動出力ブロック7の第1のスイッチングトランジスタTR1がオフし、モータ5のアーマチュアシャフト5cが回転を停止し、ウインドガラス30が全開位置Fで停止する。すると、メインルーチンのステップ104においての判別で『開スイッチ2がオン切換えされていない』のでステップ105に移行し、ステップ105においての判別で『閉スイッチ3がオン切換えされていない』のでステップ106に移行し、ステップ106においての判別で『ワンタッチ開フラグはセットされていない』のでステップ107に移行し、ステップ107においての判別で『ワンタッチ閉フラグはセットされていない』のでステップ127に移行し、ステップ127においての判別で『モータオンでの書き込みフラグFMWRONはセットされている』のでステップ128に移行し、ステップ128において『メモリ書き込み中フラグFMWRNOWをリセット』してステップ129に移行する。
0154
ステップ128から移行したステップ129においての判別で『メモリ書き込み中フラグFMWRNOWはセットされていない』のでステップ130に移行し、ステップ130においての判別で『メモリ書き込み完了フラグFMWRENDはセットされていない』のでステップ131に移行し、ステップ131において『メモリ消去フラグFMERASEをリセット』してステップ132に移行し、ステップ132において『モータオンでの書き込みフラグFMWRONをリセット』してステップ133に移行し、ステップ133において『モータオフでの書き込みフラグFMWROFFをセット』してステップ134に移行し、ステップ134において『制御ブロック14より入出力制御ブロック15に上書き指令』が与えられる。
0155
ステップ134が実行されることにより、書き込みルーチンが実行され、ステップ170において『メモリ書き込み中フラグFMWRNOWはセットされていない』のでステップ171に移行し、ステップ171において『メモリ書き込み完了フラグFMWRENDをリセット』してステップ172に移行し、ステップ172において『EEPROM書き込みインターバルタイマTM1をクリア』してステップ173に移行し、ステップ173において『EEPROMメモリアドレスカウンタADCTをクリア(メモリ書き込みの初期設定)』してステップ174に移行し、ステップ174において『メモリ書き込み中フラグFMWRNOWをセット』してステップ175に移行する。
0156
ステップ174から移行したステップ175では、『EEPROM書き込みインターバルタイマTM1が予め定められたインターバル時間を越えたか否か』の判別が行われるため、1つ目の書き込みが開始された当初は、ステップ176に移行して『EEPROM外部メモリブロックMEM内でEEPROMメモリアドレスカウンタADCTによって定められた番地にパルスカウンタガラス位置記憶WINDCTより与えられた回転信号数(ガラス位置データ)でのメモリ書き込み』が行われてステップ177に移行し、ステップ177において『EEPROMメモリアドレスカウンタADCTをインクリメント』してステップ178に移行し、ステップ178において『書き込みインターバルタイマTM1をクリア』してステップ179に移行する。
0157
ステップ179では『EEPROMメモリアドレスカウンタADCTが最大値Nになっているか否か』が判別されるため、1つ目の書き込みが開始された当初はステップ170に戻って次の回のルーチンを実行する。
0158
次の回のルーチンでは、ステップ170においての判別で『メモリ書き込み中フラグFMWRNOWがセットされている』ためステップ175に移行し、EEPROM書き込みインターバルタイマTM1が予め定められたインターバル時間を越えたら、ステップ175、ステップ176、ステップ177、ステップ178、ステップ179、ステップ180、ステップ181から次の回に移行する書き込みルーチンが実行される。
0159
上書きのメモリ書き込みが行われている間、一回目のルーチンが終了すると、次の回からは、ステップ104、ステップ105、ステップ106、ステップ107、ステップ127、ステップ128、ステップ129に移行し、ステップ129においての判別でステップ131にスキップし、ステップ131、ステップ132、ステップ133、ステップ134が実行される。
0160
電源スイッチ20がオン切換えされていて、ウインドガラス30が全開位置Fにあるとき、閉スイッチ3がオン切換えされると、上述した開スイッチ2がオン切換えされた場合のルーチンと同様にしてルーチンが実行される。また、電源スイッチ20がオン切換えされていて、ウインドガラス30が全開位置Fにあるとき、閉スイッチ3がオン切換えされ、閉スイッチ3のオン時間が予め定められた時間よりも長いものとなった際も上述したワンタッチ開フラグがセットされている場合と同様にして制御ルーチンが実行される。
0161
モータ5のアーマチュアシャフト5cが正回転を続けることによって、ウインドガラス30が開く側に駆動されているときに、電源スイッチ20がオフ切換えされると、回路電源電圧が急激に下がり始める。そして、回路電源電圧がメモリ書き込み電圧Vを越えて下がると、メインルーチンにおいて、ステップ104、ステップ108、ステッフ117、ステップ118、ステップ119、ステップ120においての判別でステップ122に移行する。
0162
ステップ120から移行したステップ122においての判別で『メモリ書き込み完了フラグFMWRENDはセットされていない』のでステップ123に移行し、ステップ123において『メモリ消去フラグFMERASEをリセット』してステップ124に移行し、ステップ124において『モータオンでの書き込みフラグFMWRONをセット』してステップ125に移行する。
0163
ステップ124から移行したステップ125において『モータオフでの書き込みフラグFMWROFFをリセット』してステップ126に移行し、ステップ126において『EEPROM外部メモリブロックMEM(N)に書き込み』が実行される。
0164
EEPROM外部メモリブロックMEMへの書き込みルーチンは、ステップ170においての判別で『メモリ書き込み中フラグFMWRNOWはリセットされている』のでステップ171に移行し、ステップ171において『メモリ書き込み完了フラグFMWRENDをリセット』してステップ172に移行し、ステップ172において『EEPROM書き込みインターバルタイマTM1をクリア』してステップ173に移行し、ステップ173において『EEPROMメモリアドレスカウンタADCTをクリア(メモリ書き込みの初期設定)』してステップ174に移行し、ステップ174において『メモリ書き込み中フラグFMWRNOWをセット』してステップ175に移行する。
0165
ステップ174から移行したステップ175では、『EEPROM書き込みインターバルタイマTM1が予め定められたインターバル時間を越えたか否か』の判別が行われるため、1つ目の書き込みが開始された当初は、ステップ176に移行して『EEPROM外部メモリブロックMEM内でEEPROMメモリアドレスカウンタADCTによって定められた番地にパルスカウンタガラス位置記憶WINDCTより与えられた回転信号数(ガラス位置データ)でのメモリ書き込み』が行われてステップ177に移行し、ステップ177において『EEPROMメモリアドレスカウンタADCTをインクリメント』してステップ178に移行し、ステップ178において『EEPROM書き込みインターバルタイマTM1をクリア』してステップ179に移行する。
0166
ステップ178から移行したステップ179では『EPROMメモリアドレスカウンタADCTが最大値Nになっているか否か』が判別されるため、1つ目の書き込みが開始された当初はステップ170に戻って次の回のルーチンを実行する。
0167
次の回のルーチンでは、ステップ170においての判別で『メモリ書き込み中フラグFMWRNOWがセットされている』ため、ステップ171、ステップ172、ステップ173、ステップ174をスキップしてステップ175に移行し、EEPROM書き込みインターバルタイマTM1が予め定められたインターバル時間を越えたら、ステップ176、ステップ177、ステップ178、ステップ179からステップ180に移行し、ステップ180において『メモリ書き込み中フラグFMWRNOWをリセット』してステップ181に移行し、ステップ181において『メモリ書き込み完了フラグFMWRENDをセット』して次の回に移行する書き込みルーチンが実行される。
0168
上述したように、モータ制御装置1では、EEPROM外部メモリブロックMEMへのガラス位置データの書き込みは、電源スイッチ20がオン切換えされた後にオフ切換えされる以前に、モータ電圧が低下していないときに行われる。
0169
また、モータ制御装置1では、開スイッチ2がオン切換えされるか、あるいは閉スイッチ3がオン切換えされた際に、EEPROM外部メモリブロックMEMに書き込まれている位置データを消去し、モータ5のアーマチュアシャフト5cがロック状態となったときに、回転センサ6より与えられた回転信号を位置データに変換してEEPROM外部メモリブロックMEMに書き込み、その後に、開スイッチ2がオフ切換えされるか、あるいは閉スイッチ3がオフ切換えされた際に、回転センサ6より与えられた回転信号を位置データに変換してEEPROM外部メモリブロックMEMに上書きするため、モータ5の第1、第2のブラシ端子5a、5bの端子電圧が遮断されていないときに複数個の位置データの書き込みが行われるものとなる。
0170
そして、モータ制御装置1では、電源スイッチ20がオン切換えされた時、それ以前に、モータ5がウインドガラス30を駆動中にモータ5の電圧が下がってきたときにEEPROM外部メモリブロックMEMに電気的に複数個書き込まれた位置データがガラス位置予測ブロック18によりEEPROM外部メモリブロックMEMから読み出されてウインドガラス30が最終的に停止した位置の予測が行われる。それ故、バックアップ用コンデンサにより位置データの書き込みのための時間を延長することなく、複数個の位置データの書き込みが行われ、予測した位置データを用いて現在位置が得られるから、位置データの書き込みのための時間を確保する大容量のバックアップ用コンデンサを必要としないものとなる。
0171
【発明の効果】
以上説明してきたように、この発明の請求項1に係わるモータ制御装置によれば、不揮発性メモリは、電源スイッチが閉じられた後に開かれる以前にモータ回転検出手段よりの回転信号を位置データに変換して電気的に書き込んでいるため、モータ電圧が低下していないときに位置データの書き込みが既に行われている。また、モータがロック状態になったときに、モータ回転検出手段より与えられた回転信号を位置データに変換して不揮発性メモリに書き込んでいるため、モータ電圧が遮断されていないときに複数個の位置データの書き込みが行われる。そして、開スイッチまたは閉スイッチがオン切換えされ、モータが起動し始めた後、開スイッチまたは閉スイッチがオフ切換えされる以前に電源スイッチがオフ切換えされ、モータ電圧が下がってきたときに、不揮発性メモリに複数個の位置データの書き込みが行われ、電源スイッチがオン切換えされた際に不揮発性メモリに書き込まれた位置データを用いて現在位置が予測される。それ故、位置データの書き込みのための時間を確保する大容量のバックアップ用コンデンサを必要としないという優れた効果を奏する。また、不揮発性メモリは、開スイッチまたは閉スイッチが閉じられたとき毎に不揮発性メモリに書き込まれている位置データが制御ブロックにより消去され、その後に、開スイッチまたは閉スイッチが開かれたとき毎に新たな位置データが制御ブロックによって書き込まれる。それ故、開スイッチ、閉スイッチの動作に応じて常に最新の位置データが得られるという優れた効果を奏する。
0172
この発明の請求項に係わるモータ制御装置によれば、モータ回転検出手段より与えられる回転信号は、モータがロックすることによってその周期が大きくなり、コントローラのパルス間隔測定ブロックは、モータ回転検出手段より与えられた回転信号の周期を測定する。それ故、請求項1の効果に加え、パルス間隔測定ブロックにより、回転信号の周期を測定することによってモータの負荷状態が検出されるという優れた効果を奏する。
0173
この発明の請求項に係わるモータ制御装置によれば、コントローラのモータロック作動判定ブロックは、パルス間隔測定ブロックより与えられた周期値と予め定められた判定値とを比較し、パルス間隔測定ブロックより与えられた周期値が予め定められた判定値を越えた際に、制御ブロックにより不揮発性メモリへの書き込みが実行される。それ故、請求項の効果に加え、モータのロック中に電源スイッチがオフ切換えされても、ガラスの位置データは失われないという優れた効果を奏する。
0174
この発明の請求項に係わるモータ制御装置によれば、制御ブロックは、モータが負荷を駆動中に、電源スイッチがオフ切換えされ、モータ電圧が下がり、電源電圧が予め定められた値以下になった時に、予め定められた時間おきに位置データを不揮発性メモリに連続的に書き込む。それ故、請求項1の効果に加え、データの書き込みのための時間を確保する大容量のバックアップコンデンサを必要とすることなく複数個の位置データの書き込みが確実にできて、コンパクトな外形を得ることができるという優れた効果を奏する。
0175
この発明の請求項に係わるモータ制御装置によれば、コントローラのガラス位置予測ブロックは、電源スイッチがオン切換えされた際に、不揮発性メモリに既に書き込まれている複数個の位置データを読み出し、その中の3個の位置データのそれぞれを比較して、最後に書き込まれた位置データの以後の位置データの算出処理を複数回行うことにより、負荷が最終的に停止した位置データを得る。それ故、請求項1または4の効果に加え、モータ電圧が下がってきたときに、不揮発性メモリに電気的に書き込まれた位置データの数が複数個存在するため、確実に最終的な位置データが得られるという優れた効果を奏する。
0176
この発明の請求項に係わるモータ制御装置によれば、コントローラのワンタッチ動作記憶ブロックは、開スイッチまたは閉スイッチが長い時間オン切換えされた後にオフ切換えされた際、開スイッチまたは閉スイッチがオン切換えされたときに記憶した下降指令信号または上昇指令信号を制御ブロックに連続的に与える。それ故、請求項1の効果に加え、ワンタッチ動作記憶ブロックによって、開スイッチまたは閉スイッチより発生した指令信号の保持が行われるため、開スイッチおよび閉スイッチの他にオートスイッチ等の付加スイッチを必要としないという優れた効果を奏する。
【図面の簡単な説明】
【図1】 この発明に係わるモータ制御装置の一実施例のブロック構成図である。
【図2】図1に示したモータ制御装置の具体的回路図である。
【図3】図1に示したモータ制御装置においてのタイミングチャートである。
【図4】図1に示したモータ制御装置においてのタイミングチャートである。
【図5】図1に示したモータ制御装置においての位置予測を行う際に用いるメモリの説明図である。
【図6】図1に示したモータ制御装置においてのタイミングチャートである。
【図7】図1に示したモータ制御装置においての制御動作を説明するフローチャートである。
【図8】図1に示したモータ制御装置においての制御動作を説明するフローチャートである。
【図9】図1に示したモータ制御装置においての制御動作を説明するフローチャートである。
【図10】図1に示したモータ制御装置においての制御動作を説明するフローチャートである。
【図11】図1に示したモータ制御装置においての制御動作を説明するフローチャートである。
【図12】従来のモータ制御装置においてのタイミングチャートである。
【符号の説明】
1 モータ制御装置
2 開スイッチ
3 閉スイッチ
5 モータ
6 (モータ回転検出手段)回転センサ
7 (モータ駆動回路)モータ駆動出力ブロック
12 ワンタッチ動作記憶ブロック
14 制御ブロック
16 パルス間隔測定ブロック
17 モータロック作動判定ブロック
18 ガラス位置予測ブロック
20 電源スイッチ
21 電源
MCU (コントローラ)中央処理回路
MEM (不揮発性メモリ)EEPROM外部メモリブロック
VB モータ電圧
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a motor control device that controls an opening / closing device such as a power window of an automobile.
[0002]
[Prior art]
As a motor control device for controlling the opening and closing device of an automobile, the current windshield glass is incorporated into the controller, and the motor rotation signal is taken as position data into an electrically writable and erasable nonvolatile memory. Those that detect the position indirectly are known.
[0003]
In the motor control apparatus as described above, as shown in FIG. 12, the motor is operated by turning on the open switch (closed switch) at time a. When the motor starts operating, the motor voltage VB decreases with respect to the no-load state. When the motor starts operation, a pulse signal from a rotation sensor built in the motor is taken into the controller. When the window glass reaches the stroke end at time b after time a, the controller detects the lock of the motor, whereby the power supply to the motor is cut off and the motor is stopped. When the motor is stopped,At time cThe motor voltage VB returns to the no-load state.ThatLater timedWhen the power switch is turned off, the motor voltage VB decreases with time. Eventually timedTime aftereWhen the motor voltage VB falls below the memory write voltage V0, the controller starts writing the number of pulse signals provided from the rotation sensor into the nonvolatile memory,eTime afterf, Writing is performed within the writable time t until the motor voltage VB falls below the reset voltage RES. The memory write voltage V0 is equal to or higher than the supply voltage to the circuit so that the power supply voltage in the circuit is equal to or higher than the reset voltage RES of the microcomputer, and is equal to or lower than the voltage drop when the motor is locked at the minimum operating voltage of the specification. Need to be.
[0004]
[Problems to be solved by the invention]
However, in the motor control device described above, when the power supply voltage of the controller is interrupted, the position data of the window glass is written to the nonvolatile memory.When the power switch is turned off when the motor is in the locked state, Since the power supply voltage of the controller has already decreased with respect to a voltage value lower than the normal operating voltage, the amount of charge necessary for writing is insufficient and only a single position data is written. Therefore, a large-capacity backup capacitor is used to ensure sufficient time to write window glass position data to the nonvolatile memory, and a large-capacity backup capacitor must be built in the controller. As a result, there is a problem that the outer shape of the controller is increased.
[0005]
In the motor control device described above, when the power switch is turned off while the motor is operating, the operating voltage of the microcomputer built in the controller is lowered even though the motor rotation signal is being input. As a result, writing cannot be performed, and the microcomputer writes position data shifted from the actual position of the window glass. For this reason, a large-capacity backup capacitor is used so that the position data can be continuously written until the motor stops, and there is a problem that the outer shape of the controller is enlarged as described above. .
[0006]
OBJECT OF THE INVENTION
The motor control device according to the present invention provides a motor control device capable of reliably writing a plurality of position data without requiring a large-capacity backup capacitor and obtaining a compact outer shape. It is aimed.
[0007]
[Structure of the invention]
[0008]
[Means for Solving the Problems]
In the motor control device according to the first aspect of the present invention, the power switch electrically connected to the power source, the motor drive circuit electrically connected to the power switch, and the motor drive circuit are electrically connected. In addition, a motor that is coupled to an open / close load and drives the load to the open side or the closed side by the operation of a motor drive circuit, a motor rotation detection means that generates a rotation detection signal by the rotation of the motor, and a down command by being switched on An open switch for generating a signal, a closed switch for generating a rising command signal when switched on, and a power switch, a motor drive circuit, motor rotation detecting means, an open switch, and a closed switch are electrically connected to each other and opened. When a lowering command signal is given from the switch, a current for driving the load to the open side is supplied to the motor via the motor drive circuit. A controller for supplying a current for driving the load to the closed side to the motor via the motor drive circuit when an up command signal is given from the close switch, and before the power switch is closed and before the open switch or the open switch or the close switch Each time when the motor is locked after being closed, and when the motor voltage drops while the motor is driving the load, the rotation signal given by the motor rotation detection means is used as position data. Non-volatile memory that can convert and electrically read and write multiple dataThe controller erases the position data written in the non-volatile memory every time the open switch or the close switch is closed, and stores the position data every time the open switch or the close switch is opened. A control block capable of continuously writing a plurality of data to the nonvolatile memory.It is characterized by having a configuration equipped with.
[0009]
Claims of the invention2The motor control device according to the above is characterized in that the controller is provided with a pulse interval measurement block for measuring the period of the rotation signal given from the motor rotation detection means.
[0010]
Claims of the invention3In the motor control apparatus according to the above, the controller includes a motor lock operation determination block that determines the lock of the motor by comparing the period of the rotation signal given from the pulse interval measurement block with a predetermined determination value. It is characterized by having a configuration.
[0011]
Claims of the invention4In the motor control device related toControl blockWhen the power switch is turned off while the motor is in operation, the position data is continuously stored in the non-volatile memory every predetermined time when the power supply voltage falls below a predetermined value. WritableInIt is characterized by having a configuration.
[0012]
Claims of the invention5In the motor control apparatus according to the above, the controller reads out a plurality of position data written in the nonvolatile memory when the power switch is turned on, and compares each of the three position data in the position data. The glass position prediction block is characterized in that the position data calculation process after the last written position data is performed a plurality of times until the final position data is obtained.
[0013]
Claims of the invention6In the motor control device according to the above, the controller stores a descending command signal or an ascending command signal when the time during which the open switch or the closed switch is turned on exceeds a predetermined value, and then opens the open switch Alternatively, the present invention is characterized in that a one-touch operation storage block is provided which continuously gives a descending command signal or an ascending command signal to the control block even after the closing switch is turned off.
[0014]
[Effects of the Invention]
In the motor control device according to the first aspect of the present invention, the nonvolatile memory converts the rotation signal from the motor rotation detecting means into position data and electrically writes it every time it is opened after the power switch is closed. Therefore, the position data is already written when the motor voltage is not lowered. In addition, when the motor is locked, the rotation signal given from the motor rotation detection means is converted into position data and written in the nonvolatile memory. The position data is written. Then, after the open or closed switch is turned on and the motor starts to start, the power switch is turned off before the open or closed switch is turned off, and when the motor voltage drops, the non-volatile A plurality of position data are written in the memory, and the current position is predicted using the position data written in the nonvolatile memory when the power switch is turned on. Therefore, there is no need for a large-capacity backup capacitor that secures time for writing position data.This non-volatile memory is also used when the position data written in the non-volatile memory is erased by the control block every time the open or close switch is closed, and then the open or close switch is opened. Each time new position data is written by the control block.
[0015]
Claims of the invention2In the motor control device according to the above, the rotation signal given from the motor rotation detection means varies in its cycle according to the rotation speed of the motor, and the pulse interval measurement block of the controller has its rotation signal given from the motor rotation detection means. Measure the period.
[0016]
Claims of the invention3In the motor control device according to the above, the motor lock operation determination block of the controller compares the cycle value given by the pulse interval measurement block with a predetermined decision value, and the cycle value given by the pulse interval measurement block is determined in advance. When a predetermined determination value is exceeded, writing to the non-volatile memory is executed by the control block.
[0017]
Claims of the invention4When the motor is driving the load, the power switch is turned off, the motor voltage drops, and the power supply voltage falls below a predetermined value. Are continuously written to the nonvolatile memory.
[0018]
Claims of the invention5When the power switch is turned on, the glass position prediction block of the controller reads a plurality of position data already written in the nonvolatile memory, and the three position data among them are Are compared, and position data calculation processing subsequent to the last written position data is performed a plurality of times to obtain position data where the load has finally stopped.
[0019]
Claims of the invention6In the motor control device according to the above, the one-touch operation memory block of the controller has a descending command signal or ascending command signal stored when the open switch or the closed switch is switched on when the open switch or the closed switch is switched on for a long time. Are continuously given to the control block.
[0020]
【Example】
1 to 11 show an embodiment of a motor control device according to the present invention.
[0021]
The illustrated motor control device 1 includes an open switch (SW) 2, a close switch (SW) 3, a switch (SW) signal input block 4, a motor 5,As a motor rotation detection meansRotation sensor 6,As a motor drive circuitMotor drive output block 7, pulse signal input block 8, circuit power supply voltage input block 9, conversion block 10 (shown in FIG. 2),As a controllerCentral processing timesRoad (MCU) MCU,As non-volatile memoryAn EEPROM external memory block MEM and a reset circuit 11 (shown in FIG. 2) are configured. The central processing circuit MCU includes a one-touch operation storage block 12, an EEPROM memory address counter ADCT, a clock generator 13, a control block 14, and an input. An output control block 15, a pulse interval measurement block 16, a pulse interval measurement timer TM2, a motor lock operation determination block 17, an EEPROM write interval timer TM1, a pulse counter glass position storage WINDCT, and a glass position prediction block 18 are incorporated in advance. It has a motor operation determination value (XMOVE, XLOCK) of the obtained value.
[0022]
The motor control device 1 shown in FIG. 1 is specifically represented by a circuit diagram shown in FIG.
[0023]
One of the open / close switches 2 and 3 is electrically connected to a power source 21 that is a battery through a power switch (ignition switch) 20, and the other is electrically connected to the switch signal input block 4. The open switch 2 generates a lowering command signal when turned on. In contrast to this, the closing switch 3 generates an ascending command signal when switched on.
[0024]
The switch signal input block 4 includes a resistor R6 and a resistor R7. The resistor R6 is electrically connected to the open switch 2 and the resistor R7 is electrically connected to the closed switch 3.
[0025]
In the switch signal input block 4, when the open switch 2 is turned on when the power switch 20 is in the on state, the lowering command signal (high level) is sent to the central processing circuit through the resistor R6 and the voltage clamp circuit (not shown). This is given to the first input port IN1 provided in the MCU. On the other hand, when the power switch 20 is in the ON state, when the close switch 3 is turned ON, the rise command signal (high level) is sent to the central processing circuit MCU via the resistor R7 and a voltage clamp circuit (not shown). The second input port IN2 is provided.
[0026]
The motor 5 is provided with first and second brush terminals 5a and 5b, and an armature shaft 5c provided in an armature (not shown) is passed through a rubber damper (not shown) and also through a glass elevator (not shown). And is connected to the wind glass 30.
[0027]
In the motor 5, since the first brush terminal 5a is electrically connected to the power source 21 and the second brush terminal 5b is connected to the ground so that the armature shaft 5c rotates in the forward direction, the armature shaft 5c rotates in the forward direction. To open the window glass 30. On the other hand, since the second brush terminal 5b is electrically connected to the power source 21 and the first brush terminal 5a is connected to the ground, the armature shaft 5c rotates in reverse, so that the armature shaft 5c is reversed. The window glass 30 is closed by rotation. The first and second brush terminals 5 a and 5 b of the motor 5 are electrically connected to the motor drive output block 7.
[0028]
The motor drive output block 7 includes a first relay RL1, a first switching transistor TR1, a second relay RL2, and a second switching transistor TR2.
[0029]
The first relay RL1 includes a first relay coil RL1-1, a first relay normally open contact RL1-2, a first normally closed contact RL1-3, and a first relay movable contact RL1-4. ing. The first relay coil RL1-1 has an upstream side connected to the power switch 20, and a downstream side connected to the collector of the first switching transistor TR1. The first relay normally open contact RL1-2 is connected to the power switch 20. The first relay normally closed contacts RL1-3 are connected to the ground. The first relay movable contact RL1-4 is connected to the first brush terminal 5a of the motor 5.
[0030]
The first switching transistor TR1 is an NPN transistor with a common emitter, the base is connected to the first output port D1 provided in the central processing circuit MCU through a resistor (not shown), and the collector is the first relay as described above. It is connected to the downstream side of the coil RL1-1.
[0031]
The second relay RL2 includes a second relay coil RL2-1, a second relay normally open contact RL2-2, a second normally closed contact RL2-3, and a second relay movable contact RL2-4. ing. The second relay coil RL2-1 has an upstream side connected to the power switch 20, and a downstream side connected to the collector of the second switching transistor TR2. The second relay normally open contact RL2-2 is connected to the power switch 20. The second relay normally closed contacts RL2-3 are connected to the ground. The second relay movable contact RL2-4 is connected to the second brush terminal 5b of the motor 5.
[0032]
The second switching transistor TR2 is an NPN type transistor with a common emitter, the base is connected to the second output port D2 provided in the central processing circuit MCU through a resistor (not shown), and the collector is the second relay as described above. It is connected to the downstream side of the coil RL2-1.
[0033]
In the motor drive output block 7, when a high level is given from the first output port D1 of the central processing circuit MCU and a low level is given from the second output port D2 of the central processing circuit MCU, the first switching transistor TR1 is turned on, the first relay coil RL1-1 is excited, and the first relay movable contact RL1-4 is electrically connected from the first relay normally closed contact RL1-3 to the first relay normally open contact RL1-2. Connected. The current of the power source 21 is the first relay normally open contact RL1-2, the first relay movable contact RL1-4, the first brush terminal 5a of the motor 5, the second brush terminal 5b of the motor 5, Since the second relay movable contact RL2-4, the second relay normally closed contact RL2-3, and the ground flow, the armature shaft 5c of the motor 5 rotates forward.
[0034]
Contrary to the above, in the motor drive output block 7, when a high level is given from the second output port D2 of the central processing circuit MCU and a low level is given from the first output port D1 of the central processing circuit MCU, The second switching transistor TR2 is switched on, the second relay coil RL2-1 is excited, and the second relay movable contact RL2-4 is opened from the second relay normally closed contact RL2-3 to the second relay normally open. It is electrically connected to the contact RL2-2. The current of the power source 21 is the second relay normally open contact RL2-2, the second relay movable contact RL2-4, the second brush terminal 5b of the motor 5, the first brush terminal 5a of the motor 5, the second Since the first relay movable contact RL1-4, the first relay normally closed contact RL1-3, and the ground flow, the armature shaft 5c of the motor 5 rotates in the reverse direction.
[0035]
The rotation sensor 6 is a rotation detector such as a rotary encoder or a tacho generator, and is disposed near the armature shaft 5 c of the motor 5. The rotation sensor 6 is divided by the resistors R8 and R9, and the voltage level limited by the Zener diode ZD3 is given to the upstream side. When the armature shaft 5c of the motor 5 is rotating, the rotation sensor 6 responds to the rotation. Thus, a pulsed rotation signal is generated. The pulse signal generated by the rotation sensor 6 is given to the pulse signal input block 8.
[0036]
The pulse signal input block 8 includes a resistor R10 and a capacitor C5. The pulse signal input block 8 stabilizes the pulse signal supplied from the rotation sensor 6 and supplies it to a third input port IN3 provided in the central processing circuit MCU through a voltage clamp circuit (not shown).
[0037]
The circuit power supply voltage input block 9 includes a diode D1, a resistor R1, a Zener diode ZD1, a first backup capacitor C1, a second backup capacitor C2, an oscillation preventing capacitor C4, and a power supply IC22.
[0038]
In the circuit power supply voltage input block 9, the anode of the diode D1 is connected to the power switch 20, and one end of the second backup capacitor C2 whose other end is grounded is connected to the operating power supply VCC together with the power supply line 9a. 9a is connected to the regulator port REG of the central processing circuit MCU and the EEPROM external memory block (nonvolatile memory) MEM.
[0039]
In the circuit power supply voltage input block 9, when the power switch 20 is in the ON state, the first backup capacitor C1 is charged, the power supply IC 22 is turned on, and the second backup capacitor C2 is charged. A predetermined drive voltage is applied to the MCU regulator port REG and the EEPROM external memory block MEM. In the circuit power supply voltage input block 9, when the power switch 20 is turned off, the first backup capacitor C1 and the second backup capacitor C2 are discharged, respectively, and the discharge voltage becomes the regulator of the central processing circuit MCU. Port REG is provided to the EEPROM external memory block MEM.
[0040]
An EEPROM external memory block MEM (electrically erasable programma-ble ROM) is an electrically rewritable ROM, and is a non-volatile memory that retains stored contents even in a non-energized state. The EEPROM external memory block MEM stores the glass position data given from the serial output port SOUT provided in the central processing circuit MCU in a predetermined memory area, takes out the glass position data from the predetermined memory area, and receives the serial input port. Central processing times via SINRoad MSend to CU.
[0041]
The conversion block 10 includes resistors R2, R3, R4, R5, a Zener diode ZD2, and a capacitor C3.
[0042]
In the conversion block 10, the central processing circuit MCU has a voltage level signal divided by the resistors R2 and R3, limited by the Zener diode ZD2, integrated by the resistors R4 and C3, and adjusted by the resistor R5. Give to conversion port A / D.
[0043]
The reset circuit 11 resets the central processing circuit MCU when the drive voltage decreases.
[0044]
The one-touch operation memory block 12 is such that when the open switch 2 is turned on, the lowering command signal (high level) given from the switch signal input block 4 to the first input port IN1 and the closed switch 3 are turned on. Thus, the respective input times of the increase command signal (high level) given from the switch signal input block 4 to the second input port IN2 are detected.
[0045]
In the one-touch operation storage block 12, when the input signals of the lowering command signal given from the open switch 2 and the raising command signal given from the closing switch 3 become longer than a predetermined time, those described later In addition, each input signal is stored by setting a one-touch flag by a separately defined program, and even after each input signal is no longer applied, the stored command signal is continuously supplied to the control block 14 for one-touch operation. Perform the action.
[0046]
The EEPROM memory address counter ADCT is a counter that gives an address signal to and from the control block 14.
[0047]
The clock generator 13 performs time management of the program to be executed.
[0048]
The pulse interval measurement block 16 detects the rising edge and falling edge of the pulse signal given from the pulse signal input block 8 one by one.
[0049]
The pulse interval measurement timer TM2 starts when the rising edge of the pulse signal is detected by the pulse interval measuring block 16, and turns off when the falling edge of the pulse signal is detected. Detect cycle time. The detected period time of the pulse signal is given to the motor lock operation determination block 17. In the pulse interval measurement timer TM2, the lock detection of the motor 5 is directly detected by the cycle of the pulse signal generated by the motor 5.
[0050]
The motor operation determination value XLOCK is a predetermined value, and is used to detect that the armature shaft 5c of the motor 5 is restrained from rotating. The motor operation determination value XLOCK is held in a ROM (not shown) built in the central processing circuit MCU. The motor operation determination value XLOCK is compared with the cycle time detected by the pulse interval measurement timer TM2 in the motor lock operation determination block 17. Unlike XLOCK, the motor operation determination value XMOVE is used for detecting that the armature shaft 5c of the motor 5 is rotating.
[0051]
The motor lock operation determination block 17 compares the cycle time detected by the pulse interval measurement timer TM2 with the motor operation determination value XLOCK so that the cycle time detected by the pulse interval measurement timer TM2 exceeds the motor operation determination value XLOCK. Sometimes a decision signal is provided to the control block 14. The determination signal given by the motor lock operation determination block 17 is used as a memory write timing in the EEPROM external memory block MEM in the control block 14.
[0052]
The EEPROM write interval timer TM1 has a function of performing writing to the EEPROM external memory block MEM from the control block 14 through the input / output control block 15 at regular intervals. At this time, the EEPROM write interval timer TM1 measures the passage of the interval time by comparing with a predetermined value XMEMWR.
[0053]
The pulse counter glass position memory WINDCT counts the number of pulse signals that are glass position data to be written into the EEPROM external memory block MEM in the control block 14. A reset port RES provided in the central processing circuit MCU is connected to the reset circuit 11.
[0054]
When the power switch 20 is turned on, the glass position prediction block 18 reads the position data written in the EEPROM external memory block MEM via the input / output control block 15 and the control block 14, and three of them The position data after the last written position data is calculated a plurality of times, the position where the window glass 30 finally stopped is estimated, and the position data is converted to the pulse counter glass position. Give to memory WINDCT.
[0055]
In the control block 14, when a lowering command signal is given from the switch signal input block 4, the first output port D1 becomes high level and the second output port D2 becomes low level in the central processing circuit MCU. 1 switching transistor TR1 is turned on. On the other hand, when an increase command signal is given from the switch signal input block 4, the second output port D1 becomes high level and the first output port D2 becomes low level in the central processing circuit MCU. The second switching transistor TR2 is turned on.
[0056]
In the control block 14, the lowering command signal given from the switch signal input block 4 becomes longer than a predetermined time and the lowering command signal is stored in the one-touch operation memory block 12, and the lowering command signal is not given. However, since the lowering command signal stored in the one-touch operation storage block 12 is continuously given, the first switching transistor TR1 of the motor drive output block 7 is kept on.
[0057]
In the control block 14, the ascending command signal given from the switch signal input block 4 becomes longer than a predetermined time and the ascending command signal is stored in the one-touch operation memory block 12, and the ascending command signal is no longer given. In addition, since the increase command signal stored in the one-touch operation storage block 12 is continuously given, the second switching transistor TR2 of the motor drive output block 7 is kept on.
[0058]
In the control block 14, when a lowering command signal is given from the switch signal input block 4, the glass position data stored in the EEPROM external memory block MEM is erased through the input / output control block 15.
[0059]
In the control block 14, when a determination signal is given from the motor lock operation determination block 17, a write command is given to the input / output control block 15. The control block 14 gives an overwrite command to the input / output control block 15 when the lowering command signal (high level) and the rising command signal (high level) given from the switch signal input block 4 disappear.
[0060]
The control block 14 recognizes that the motor 5 is in a locked state by the determination signal given from the motor lock operation determination block 17 when the cycle time detected by the pulse interval measurement timer TM2 exceeds the motor operation determination value XLOCK. Then, a stop command is given to the motor drive output block 7.
[0061]
In the control block 14, the circuit power supply voltage (voltage VB of the motor 5) given to the circuit power supply voltage input block 9 is a predetermined voltage V.2A write command is generated when: When this write command is generated, the pulse counter is set at the address determined by the EEPROM memory address counter ADCT in the EEPROM external memory block MEM every time (XMEMWR) determined by the EEPROM write interval timer TM1 via the input / output control block 15. Memory writing is performed a plurality of times with the number of pulse signals (glass position data) given from the glass position memory WINDCT.
[0062]
The input / output control block 15 performs conversion between parallel data and serial data, and performs input / output overall processing by performing timing processing of writing and reading to the EEPROM external memory block MEM based on the signal of the clock generator 13. I do.
[0063]
In addition, the input / output control block 15 receives the address specified by the EEPROM memory address counter ADCT in the EEPROM external memory block MEM at every time determined by the EEPROM write interval timer TM1 in accordance with the write command given from the control block 14. 1 has a function of performing memory writing with the number of pulse signals (glass position data) given from the pulse counter glass position memory WINDCT.
[0064]
Further, the input / output control block 15 receives the pulse signal given from the pulse counter glass position storage WINDCT at the address determined by the EEPROM memory address counter ADCT in the EEPROM external memory block MEM in response to the overwriting command given from the control block 14. It has a function of performing memory writing with a number (glass position data).
[0065]
The input / output control block 15 has a function of reading the number of pulse signals (glass position data) at an arbitrary address in the EEPROM external memory block MEM in accordance with a read command given from the control block 14.
[0066]
In the central processing circuit MCU, the window glass 30 is closed while the power switch 20 is turned on, and the switch 2 is switched on at time A as shown in FIG. 4 gives a lower command signal to the control block 14, the control block 14 (first output port D 1) gives a high level to the base of the first switching transistor TR 1 of the motor drive output block 7. The armature shaft 5c rotates forward and the window glass 30 opens. At this time, since the lowering command signal is given to the control block 14 from the opening switch 2, the glass position data stored in the EEPROM external memory block MEM is erased from the control block 14 through the input / output control block 15. When the lowering command signal is given to the control block 14 from the open switch 2, the glass position data stored in the EEPROM external memory block MEM is erased to eliminate the cause of malfunction due to the existing position data.
[0067]
In the central processing circuit MCU, when the lowering command signal generated by the open switch 2 becomes longer than a predetermined time, the one-touch opening flag is set in the program. Continue to store and give to control block 14. The central processing circuit MCU does not require an additional switch such as an auto switch in addition to the open switch 2 because the one-touch operation is determined based on the time of the lowering command signal generated by the open switch 2.
[0068]
As shown in FIG. 3, when the motor 5 starts to rotate forward at time A, the rotation sensor 6 generates pulse signals having substantially the same interval, and includes a pulse signal input block 8, a pulse interval measurement block 16, a pulse interval. The measurement timer TM2 detects the cycle time of each pulse signal.
[0069]
When the window glass 30 reaches the fully open position F at time B after time A, the movement of the window glass 30 is prevented, and the rotation speed of the armature shaft 5c of the motor 5 decreases. When the rotational speed of the armature shaft 5c of the motor 5 decreases, the cycle time of the pulse signal generated by the rotation sensor 6 becomes longer.
[0070]
Thereafter, at time C when the cycle time detected by the pulse interval measurement timer TM2 exceeds the motor operation determination value XLOCK, the motor lock operation determination block 17 gives a determination signal to the control block 14, so that the input / output control block from the control block 14 15 is given a write command, and at every time determined by the EEPROM write interval timer TM1, the rotation given by the pulse counter glass position memory WINDCT at the address determined by the EEPROM memory address counter ADCT in the EEPROM external memory block MEM Memory writing with the number of signals (glass position data) is repeated.
[0071]
When the window glass 30 reaches the fully open position F, the armature shaft 5c of the motor 5 is restrained from rotating, and when the open switch 2 is turned off at time D after time C, the input / output control block from the control block 14 Since an overwrite command is given to 15, memory writing with the number of pulse signals (glass position data) given from the pulse counter glass position memory WINDCT at the address determined by the EEPROM memory address counter ADCT in the EEPROM external memory block MEM is performed. Done. When the open switch 2 is turned off, the position data is overwritten in the EEPROM external memory block MEM, so that a plurality of data is written when the armature shaft 5c of the motor 5 is in a slightly locked state. Since the position data at the position where the window glass 30 has reached the stroke end is written with the position data overwritten when the open switch 2 is turned off instead of the position data, there is no deviation in the position estimation of the window glass 30. .
[0072]
Even if the power switch 20 is turned off at time E after time D, the window glass 30 is used by using the glass position data in which memory writing was performed at time C or the glass position data overwritten at time D. The current position is detected. Therefore, the voltage VB of the motor 5 at the time of memory writing is not lowered as it is after the power switch 20 is switched off. Therefore, a short time after the power switch 20 is switched off is used. Therefore, the first backup capacitor C1 and the second backup capacitor C2 provided in the circuit power supply voltage input block 9 have a small capacity without the need for a large-capacity backup capacitor compared to the memory writing. It becomes.
[0073]
In the central processing circuit MCU, the window glass 30 is opened with the power switch 20 turned on, and the switch signal input is performed by turning on the closed switch 3 at time A as shown in FIG. When a rise command signal is given to the control block 14 from the block 4, a high level is given to the base of the second switching transistor TR2 of the motor drive output block 7 from the control block 14 (second output port D2). 5 of the armature shaft 5c reversely rotates and the window glass 30 closes. At this time, since the upward command signal is given to the control block 14 from the closing switch 3, the memory erasure of the glass position data stored in the EEPROM external memory block MEM is performed from the control block 14 through the input / output control block 15. When the ascending command signal is given to the control block 14 from the closing switch 3, the glass position data stored in the EEPROM external memory block MEM is erased to eliminate the cause of malfunction caused by the existing position data.
[0074]
In the central processing circuit MCU, when the ascending command signal generated by the closing switch 3 becomes longer than a predetermined time, the one-touch closing flag is set in the program. Continue to store and give to control block 14. The central processing circuit MCU does not require an additional switch such as an auto switch in addition to the closed switch 3 because the one-touch operation is determined by the time of the ascending command signal generated by the closed switch 3.
[0075]
At time A shown in FIG. 3, when the motor 5 starts reverse rotation, the rotation sensor 6 generates pulse signals with substantially the same interval, and includes a pulse signal input block 8, a pulse interval measurement block 16, and a pulse interval measurement timer. TM2 detects the cycle time of each pulse signal.
[0076]
At time B after time A, when the window glass 30 reaches the fully closed position G, the movement of the window glass 30 is prevented, and the rotational speed of the armature shaft 5c of the motor 5 decreases. When the rotational speed of the armature shaft 5c of the motor 5 decreases, the cycle time of the pulse signal generated by the rotation sensor 6 becomes longer.
[0077]
Thereafter, at time C when the cycle time detected by the pulse interval measurement timer TM2 exceeds the motor operation determination value XLOCK, the motor lock operation determination block 17 gives a determination signal to the control block 14, so that the input / output control block from the control block 14 15 is given a write command, and at every time determined by the EEPROM write interval timer TM1, the rotation given by the pulse counter glass position memory WINDCT at the address determined by the EEPROM memory address counter ADCT in the EEPROM external memory block MEM Memory writing is performed with the number of signals (glass position data).
[0078]
When the window glass 30 reaches the fully closed position G, the rotation of the armature shaft 5c of the motor 5 is restricted, and when the closing switch 3 is turned off at time D after time C, input / output control is performed from the control block 14. Since an overwriting command is given to the block 15, the memory writing with the number of pulse signals (glass position data) given from the pulse counter glass position memory WINDCT at the address determined by the EEPROM memory address counter ADCT in the EEPROM external memory block MEM Is done. When the closed switch 3 is turned off, the position data is overwritten in the EEPROM external memory block MEM, so that the position switch is not the position data already written in the EEPROM external memory block MEM at the previous time C. The position data overwritten at the time of switching off 3 eliminates the deviation in the position estimation of the window glass 30.
[0079]
Even if the power switch 20 is turned off at time E after time D, the window glass 30 is used by using the glass position data that has been written to the memory at time C or the crow position data that has been overwritten at time D. The current position is detected. Therefore, the voltage VB of the motor 5 at the time of memory writing is not lowered as it is after the power switch 20 is switched off. Therefore, a short time after the power switch 20 is switched off is used. Therefore, the first backup capacitor C1 and the second backup capacitor C2 provided in the circuit power supply voltage input block 9 have a small capacity without the need for a large-capacity backup capacitor compared to the memory writing. It becomes.
[0080]
In the central processing circuit MCU, the window glass 30 is closed while the power switch 20 is turned on, and the open switch 2 is turned on at time L as shown in FIG. 4 gives a lower command signal to the control block 14, the control block 14 (first output port D 1) gives a high level to the base of the first switching transistor TR 1 of the motor drive output block 7. The armature shaft 5c rotates forward and the window glass 30 opens.
[0081]
When the armature shaft 5c of the motor 5 starts to rotate in the forward direction, the circuit power supply voltage is maintained at a substantially constant potential in a normal operation that is lower than the no-load state, and the rotation sensor 6 generates pulse signals at substantially the same interval. The pulse signal input block 8, the pulse interval measurement block 16, and the pulse interval measurement timer TM2 detect the cycle time of each pulse signal.
[0082]
At time M after time L in FIG. 4, when the power switch 20 is turned off, the circuit power supply voltage starts to drop more rapidly than the potential in normal operation. However, a similar voltage drop occurs when the motor is locked, but the cycle time of the pulse signal generated by the rotation sensor 6 at this time is not so long.
[0083]
At time N after time M in FIG. 4, the circuit power supply voltage (voltage of the motor 5) is a predetermined voltage V.2When the voltage exceeds (memory write voltage B), it is determined that the motor is not locked by comparing the cycle time measured by the pulse interval measurement block 16 with the motor operation determination value XLOCK in the motor lock operation determination block. Sometimes, a write command is given from the control block 14 to the input / output control block 15, and is determined by the EEPROM memory address counter ADCT in the EEPROM external memory block MEM every time (XMEMWR) determined by the EEPROM write interval timer TM1. The memory writing is repeatedly performed with the number of rotation signals (glass position data) given from the pulse counter glass position storage WINDCT at the address.
[0084]
Writing to the EEPROM external memory block MEM is performed at a time P (a time T that can be written from time N to time P) reaching a predetermined reset voltage RES every time (XMEMWR) determined by the EEPROM write interval timer TM1. ′) Is repeated several times. At this time, the first position data MEM (1), the second position data MEM (2), the third position data MEM (3), the fourth position data MEM (4), and the fifth position data MEM ( 5), 6th position data MEM (6), 7th position data MEM (7), 8th position data MEM (8), and 9th position data MEM (9) are written outside the EEPROM The memory block MEM stores nine pieces of position data from the first position data MEM (1) to the ninth position data MEM (9).
[0085]
In the central processing circuit MCU, the writing is stopped by resetting at the time P after the first position data MEM (1) to the ninth position data MEM (9) are written in the EEPROM external memory block MEM. However, since the window glass 30 is not finally stopped, the position of the window glass 30 is not recognized using these position data as they are. In this case, the description has been made on the case where nine position data are written. However, the position data can be predicted by the glass position prediction block 18 as long as at least three position data can be written. In this case, since the approximate position can be estimated, the time for writing to the memory is shortened. Therefore, since a large-capacity backup capacitor is not required, the first backup capacitor C1 and the second backup capacitor C2 provided in the circuit power supply voltage input block 9 have small capacities.
[0086]
When the power switch 20 is switched on again after the power switch 20 is switched off, the central processing circuit MCU uses the three I / O control blocks 15 to write three data already written in the EEPROM external memory block MEM. Each position data is compared, and the position data calculation process after the last written position data is performed a plurality of times, so that the position data where the load finally stops is predicted.
[0087]
When predicting the position data, the EEPROM external memory block MEM includes the first position data MEM (1), the second position data MEM (2), and the third position data MEM ( 3) Fourth position data MEM (4), fifth position data MEM (5), sixth position data MEM (6), seventh position data MEM (7), eighth position data MEM ( 8) Since the ninth position data MEM (9) is written, the first position data MEM (1) is recognized as the first position data, and the fifth position data MEM (5) is the intermediate position. The ninth position data MEM (9) is recognized as the last position data.
[0088]
In the central processing circuit MCU, the first position data MEM (1) (MEMA) which is the first position data [MEMA is compared with MEMC in MEM (N), so that na (a is 2, 4, 6). , 8..., Position data at a maximum value satisfying na ≧ 1). ] And the fifth position data MEM (5) as the intermediate position data, and the deviation R1 (pulse count number) between the fifth position data MEM (5) (MEMB) as the intermediate position data is calculated. A reduction ratio RA = R2 / R1 is calculated by calculating a deviation R2 (pulse count number) between (MEMB) and the ninth position data MEM (9) (MEMC) as the last position data. At this time, since the rotational speed of the armature shaft 5c of the motor 5 is decelerating, the reduction ratio RA <1. MEM (N) is a continuous memory block, and N is the maximum value of the memory block address.
[0089]
Then, in the central processing circuit MCU, as shown in FIGS. 5 and 6, after the 9th position data MEM (9) (MEMC) finally obtained, the calculated reduction ratio RA is used. A prediction loop for predicting and obtaining position data where the glass 30 has finally stopped is performed a plurality of times.
[0090]
The prediction loop is roughly divided into two blocks, and the relationship between the address positions in the EEPROM external memory block MEM is determined by performing a proportional calculation from the position data that was initially written when the power was turned off. And the interval between MEMB and MEMC that are equal and the longest in time are selected, and the reduction ratio RA is obtained from the three data. Next, position data that converges at the reduction ratio RA is calculated. First, starting from the position data MEM (9) immediately before the location where the central processing circuit MCU was reset at the previous power-off, the most suitable for calculating the reduction ratio RA from the position data written at the previous power-off. Find 3 points separated in time. If these three points are MEMA, MEMB, and MEMC, these conditions are the addresses in the memory, the distance between MEMA and MEMB, and between MEMA and MEMC are the same, and MEMA and MEMC are the EEPROM external memory block MEM. It is in.
[0091]
In the first selection loop (loop counter CT2 = 1), as shown in FIG. 5, [n−2] is changed to MEMA (first position based on the position data n written last before resetting. Data), [n-1] as MEMB (intermediate position data), and [n] as MEMC (last position data) are stored in the storage means RAM built in the central processing circuit MCU. When the position data written is less than 3 and MEMA or MEMA and MEMB cannot be set, the subsequent prediction loop is not performed and the value of MEMC is set as the glass position.
[0092]
In the second selection loop, after the first prediction loop is executed, the loop counter CT2 is incremented to set CT2 = 2, and if the last position data is the fifth or more in the memory, that is, n− (CT2 X2) If ≧ 1, [4... N-3] is MEMA (n-4) (first position data) and [n-2] is MEMB (intermediate) as shown in FIG. Position data), and [n] is stored as MEMC (last position data) in the storage means RAM built in the central processing circuit MCU.
[0093]
Similarly, in the third selection loop (loop counter CT2 = 3), as shown in FIG. 5, [4... N-3] is set to MEMA (n-6) (first position data), and [n− 3] is set as MEMB (intermediate position data), and [n] is set as MEMC (last position data) in the storage means RAM incorporated in the central processing circuit MCU to perform subtraction processing.
[0094]
In the final round of the selected loop (loop counter CT2 = m, where n−2m ≧ 1), as shown in FIG. 5, [2] is MEMA (first position data), and [4. n-3] is set as MEMB (intermediate position data) (MEMB = n-CT2), and [n] is set as MEMC (last position data) in the storage means RAM incorporated in the central processing circuit MCU. Performs division processing. That is, (MEMC-MEMB) / (MEMB-MEMA) is executed to obtain the reduction ratio RA.
[0095]
Next, the point at which the position data converges is calculated.
[0096]
In the first calculation loop, the position data of the next MEM (10) is calculated from the position data MEM (9) immediately before the point where the central processing circuit MCU (microcomputer) was reset by the previous power-off.
[0097]
In the first iteration of the prediction loop shown in FIG. 6, the previously calculated reduction ratio RA is multiplied by the difference between the immediately preceding position data, that is, MEM (9) −MEM (8). This value is the estimated difference between MEM (9) and MEM (10). This is RDIF. If the value of this RDIF is less than 1, no further estimate can be obtained, so the loop is exited here. If RDIF is 1 or more, this value is rounded to an integer, and the value added to MEM (9) is the estimated value of MEM (10). Thereafter, the previously obtained RDIF is substituted into R2, and the first time of the prediction loop is ended as a difference between new position data of the next loop.
[0098]
In the second time of the prediction loop shown in FIG. 6, RAX (MEM (10) −MEM (9)) as in the previous time, that is, the estimated difference between R2 and the estimated difference RDIF (MEM (9) and MEM (10) in the previous loop. ) Is substituted, RAXR2 is performed and this is substituted into RDIFF. The RDIF at this time is an estimated difference between MEM (10) and MEM (11). If the value of this RDIF is less than 1, no further estimate can be obtained, so the loop is exited here. If RDIF is 1 or more, this value is rounded to an integer, and the value added to MEM (10) is the estimated value of MEM (11). Thereafter, the obtained RDIF is substituted into R2, and the difference between the new position data of the next loop is set, and the second prediction loop is completed.
[0099]
Similar to the 1st and 2nd times, the 3rd and 4th times are repeated until the RDIF value is less than 1, and the last estimated value, i.e., the previous power switch 20 is switched off when the RDIF value is less than 1. The glass stop position is obtained.
[0100]
In the central processing circuit MCU, even when the power switch 20 is turned on with the window glass 30 closed, the CPU already writes data to the EEPROM external memory block MEM via the input / output control block 15 in the same manner as described above. The position data calculation process after the last written position data is performed a plurality of times from the currently written position data, so that the position data where the window glass 30 has finally stopped is predicted.
[0101]
The motor control apparatus 1 performs a control operation according to the program shown in FIGS. FIGS. 7 and 8 are main routines, FIG. 9 is a routine for writing to the EEPROM external memory block MEM, and FIGS. 10 and 11 are position prediction routines at the time of activation.
[0102]
When the power switch 20 is turned on and the window glass 30 is in the fully closed position G, the fully open position F, or between the fully closed position G and the fully open position F, the “start” is performed in step 101 of the main routine shown in FIG. Since “time position prediction” is executed, the process proceeds to step 140 shown in FIG. 10, “loop counter CT1 is cleared”, and the process proceeds to step 141. In step 141, “the last (last) position data written in the EEPROM external memory block MEM is checked (n ← N−CT1)”. Here, N is the maximum memory address that can be written in the EEPROM external memory block MEM, and n is the final value of the position data written in the EEPROM external memory block MEM. Thereafter, the process proceeds to step 142.
[0103]
In step 142 transferred from step 141, it is determined whether or not “position data is written at a predetermined address of the EEPROM external memory block MEM”. Therefore, the position data has been previously written in the EEPROM external memory block MEM. If YES, step 143 is skipped and the process proceeds to step 144. If position data is not written in the EEPROM external memory block MEM, the process proceeds to step 143 and “increment the loop counter CT1 (CT1 ← CT1 + 1)”. 141 and step 142 are repeatedly executed.
[0104]
In step 144 transferred from step 142, it is determined whether or not three or more pieces of position data necessary for prediction are written in the EEPROM external memory block MEM.
[0105]
If three or more pieces of position data necessary for prediction are not written in the EEPROM external memory block MEM, the process proceeds from step 144 to step 161 to determine whether or not there are two pieces of position data.
[0106]
When two pieces of position data are written in the EEPROM external memory block MEM, the process proceeds to step 162, and “MEM (2) is stored in the pulse counter glass position storage WINDCT”.
[0107]
If two pieces of position data are not written in the EEPROM external memory block MEM, and one piece of position data is written, the process proceeds to step 163 in the determination in step 161, and the determination in step 163 is a step. The process proceeds to 164 and “MEM (1) is stored in the pulse counter glass position storage WINDCT”.
[0108]
If one piece of position data is not written in the EEPROM external memory block MEM, the process proceeds to step 163 in the determination in step 161, and the process proceeds to step 165 in the determination in step 163 to “set initial operation mode”. To do.
[0109]
If it is determined in step 144 that three or more pieces of position data necessary for prediction are written in the EEPROM external memory block MEM, the process proceeds to step 145, and “MEM (n) is replaced with the final position data MEMC. To step 146. In step 146 that has shifted from step 145, “initial setting of loop counter CT 2 (CT 2 ← 1)” is performed, and the flow shifts to step 147.
[0110]
In step 147 transferred from step 146, “MEM (n-CT2) is replaced with intermediate position data MEMB” and the process moves to step 148. In step 148, “MEM (n-CT2 × 2) is set as the oldest position data. Replace with MEMA ”and go to step 149.
[0111]
In step 149, “loop counter is incremented (CT2 ← CT2 + 1)” and the process proceeds to step 150. In step 150, “determination of the value of MEM (n−CT2 × 2) replaced with the oldest position data MEMA (n− CT2 × 2 ≧ 1) ”is performed, and if the determination of the value in step 150 exceeds 1, the process returns to step 147 to execute steps 148 and 149, and the determination of the value in step 150 is 1. If not, the process proceeds to step 151.
[0112]
In step 151 that has shifted from step 150, “calculate deviation R 1 using“ first position data MEMA−intermediate position data MEMB ”” and shift to step 152. Calculate the deviation R2 from the data MEMC] and proceed to Step 153.
[0113]
In step 153, “determining the reduction ratio RA” and proceeding to step 154. In step 154, “the latest position data, that is, the position data value in the MEMC address is set as an initial value (NSTP ← n)”. Then, the process proceeds to step 155. In step 155, "determining the deviation of the position data (RDIF ← R2 × RA)" and the process proceeds to step 156.
[0114]
In step 156, “determination of the value of deviation RDIF (RDIF <1)” obtained in step 155 is performed. Therefore, if the value of deviation RDIF exceeds 1, the process proceeds to step 157 and the value of deviation RDIF is set to 1. If not, the process proceeds to step 160.
[0115]
If the value of the deviation RDIF obtained in step 155 exceeds 1, the process proceeds to step 157 and “the value of the deviation RDIF is replaced with a value RINT that is converted to an integer for rounding speed calculation (rounded off after the decimal point)” The process proceeds to step 158, where “replacement of initial value NSTP (initial value NSTP−integer value RINT)” is performed in step 158 and the process proceeds to step 159, and “replacement of deviation RDIF with deviation R 2” is performed in step 159. Repeat the routine to return to.
[0116]
If the value of the deviation RDIF obtained in step 155 does not exceed 1, the process proceeds to step 160 and “replaces the initial value NSTP in the pulse counter glass position memory WINDCT” and the position prediction routine at the start in step 101 ends. To do.
[0117]
When the position prediction routine at the time of start-up in step 101 is completed, the process returns to the main routine, proceeds to step 102, “resets the memory erase flag (FMERASE)” and proceeds to step 103. Reset the flag (FMWEND) ”and proceed to Step 104.
[0118]
When the open switch 2 is turned on, the base command current is applied to the first switching transistor TR1 of the motor drive output block 7 by the lowering command signal being taken into the control block 14, so that the armature of the motor 5 The shaft 5c starts to rotate forward, and the window glass 30 is driven to open. Since the determination in step 104 is “open switch 2 is on”, the process proceeds to step 108 and the determination in step 108 is executed.
[0119]
In step 108, it is determined whether or not memory writing is executed while the motor 5 is stopped in the previous routine by determining whether or not the motor OFF write flag FMWROFF is set. The determination in step 108 proceeds to step 109 because “the motor off write flag FMWROFF is set”, and the determination in step 109 proceeds to step 110 because “the memory erase flag FMERRASE is not set”.
[0120]
In step 110 transferred from step 109, “reset memory write flag FMWRNOW” is transferred to step 111. In step 111, “memory write completion flag FMWREND is reset” is transferred to step 112. By setting the erasure flag FMERRASE, the control block 14 indicates that “memory erasure of the glass position data stored in the EEPROM external memory block MEM” is performed through the input / output control block 15, and the process proceeds to step 113.
[0121]
In step 113 transferred from step 112, “reset write flag FMWRRON when motor is on” and shift to step 114. In step 114, “reset write flag FMWROFF when motor is off” and shift to step 115. Then, “all glass position data stored in the EEPROM external memory block MEM is cleared” and the process proceeds to step 116 to perform “main processing”.
[0122]
In the next routine, the write flag FMWROFF in the motor off state is reset in the previous routine, so that the open switch 2 is turned on and the window glass 30 is moving to the opening side. The process moves from step 108 to step 108, and in step 108, the process moves to step 117.
[0123]
In the determination in step 117 that has shifted from step 108, “the memory writing flag FMWRNOW is not set”, the process shifts to step 118, and in the determination in step 118, “the cycle time detected by the pulse interval measurement timer TM2 is activated. Since the judgment value XLOCK is not exceeded, ”the routine proceeds to step 119.
[0124]
In the determination in step 119 transferred from step 118, “the cycle time detected by the pulse interval measurement timer TM2 exceeds the motor operation determination value XMOVE”, the process shifts to step 120. In the determination in step 120, “circuit power supply voltage” Is V2
Since it is not ", the process proceeds to step 121. In step 121," the memory writing flag FMWRNOW is reset ", the process proceeds to step 116 and" main processing "is performed.
[0125]
When the motor 5 starts to rotate in the forward direction, the rotation sensor 6 generates pulse signals with substantially the same interval, and the pulse signal input block 8, the pulse interval measurement block 16, and the pulse interval measurement timer TM2 each cycle the pulse signal. Detect time.
[0126]
Eventually, when the window glass 30 reaches the fully open position F, the window glass 30 is prevented from moving, and the rotational speed of the armature shaft 5c of the motor 5 decreases. When the rotational speed of the armature shaft 5c of the motor 5 decreases, the cycle time of the pulse signal generated by the rotation sensor 6 becomes longer.
[0127]
When the cycle time detected by the pulse interval measurement timer TM2 exceeds the motor operation determination value XLOCK, the process proceeds to step 104, step 108, and step 117, and then the process proceeds to step 122 by the determination in step 118. In step S123, “the memory write completion flag FMWREND is not set”, and the process proceeds to step 123.
[0128]
In Step 123, the process proceeds from Step 118 to “Reset Memory Erase Flag FMERRASE” and proceeds to Step 124. In Step 124, “Sets the motor-on write flag FMWRRON” to Step 125, and in Step 125, “Motor Off”. Reset the write flag FMWROFF ”at step 126 and proceed to step 126, where“ write to EEPROM external memory block MEM (N) ”is executed.
[0129]
When the write routine is executed, it is determined in step 170 that “the memory write flag FMWRNOW is reset”, so the process proceeds to step 171, and in step 171, “the memory write completion flag FMWREND is reset”, and step 172 In step 172, “clear EEPROM writing interval timer TM1” and proceed to step 173. In step 173, “clear EEPROM memory address counter ADCT (initial setting for memory writing)” and proceed to step 174. In step 174, “set memory write flag FMWRNOW” is set, and the process proceeds to step 175.
[0130]
In step 175 transferred from step 174, it is determined whether or not the EEPROM write interval timer TM1 has exceeded a predetermined interval time. Therefore, at the beginning of the first write, step 176 is started. Step "Transfer to memory in the number of rotation signals (glass position data) given from the pulse counter glass position memory WINDCT at the address determined by the EEPROM memory address counter ADCT in the EEPROM external memory block MEM" is performed. 177, “Increment the EEPROM memory address counter ADCT” in step 177 and proceed to step 178. In step 178, “Clear the EEPROM write interval timer TM1” and proceed to step 178. To migrate to flop 179.
[0131]
In step 179 which has shifted from step 178, it is determined whether or not the EPROM memory address counter ADCT is at the maximum value N. Therefore, at the beginning of the first writing, the process returns to step 170 and the next round. Run the routine.
[0132]
In the routine of the next round, because “the memory writing flag FMWRNOW is set” in the determination in step 170, step 171, step 172, step 173, and step 174 are skipped and the process proceeds to step 175 to write to EEPROM. When the interval timer TM1 exceeds the predetermined interval time, the process proceeds from Step 176, Step 177, Step 178, Step 179 to Step 180, and in Step 180, “Reset memory write flag FMWRNOW” and proceeds to Step 181. In step 181, a “write routine for setting the memory write completion flag FMWREND” is set, and a write routine for shifting to the next time is executed.
[0133]
When the window glass 30 reaches the fully open position F, the armature shaft 5c of the motor 5 is restrained from rotating and the open switch 2 is turned off, the lowering command signal captured in the control block 14 disappears. The first switching transistor TR1 of the drive output block 7 is turned off, the armature shaft 5c of the motor 5 stops rotating, and the window glass 30 stops at the fully open position F.
Then, in the determination in step 104 of the main routine, “open switch 2 is not switched on”, the process proceeds to step 105, and in the determination in step 105, “closed switch 3 is not switched on”, the process proceeds to step 106. The process proceeds to step 107 because “one-touch open flag is not set” in the determination in step 106, and proceeds to step 127 because “one-touch close flag is not set” in the determination in step 107.
[0134]
In the determination in step 127 transferred from step 107, “the motor-on write flag FMWRRON is set”, the process proceeds to step 128. In step 128, “the memory write flag FMWRNOW is reset”, and the process proceeds to step 129. .
[0135]
In the determination in step 129 transferred from step 128, “the memory writing flag FMWRNOW is not set”, the process proceeds to step 130, and in the determination in step 130, “the memory write completion flag FMWREND is not set”. The process proceeds to 131, “Reset memory erase flag FMERRASE” in Step 131 and proceeds to Step 132. In Step 132, “Resets write flag FMWRRON in motor on” and proceeds to Step 133. In Step 133, “Motor off”. Set the write flag FMWROFF "at step 134, and the process proceeds to step 134. In step 134, an" overwrite command is given from the control block 14 to the input / output control block 15 ".
[0136]
By executing step 134, the write routine is executed. In step 170, “the memory write flag FMWRNOW is reset”, the process proceeds to step 171. In step 171, “memory write completion flag FMWREND is reset”. Then, the process proceeds to step 172. In step 172, "clears the EEPROM write interval timer TM1" and proceeds to step 173. In step 173, "clears the EEPROM memory address counter ADCT (initial setting for memory write)" and proceeds to step 174. In step 174, “set memory write flag FMWRNOW” is set, and the flow advances to step 175.
[0137]
In step 175 transferred from step 174, it is determined whether or not the EEPROM write interval timer TM1 has exceeded a predetermined interval time. Therefore, at the beginning of the first write, step 176 is started. Step "Transfer to memory in the number of rotation signals (glass position data) given from the pulse counter glass position memory WINDCT at the address determined by the EEPROM memory address counter ADCT in the EEPROM external memory block MEM" is performed. 177, “Increment the EEPROM memory address counter ADCT” in step 177 and proceed to step 178. In step 178, “Clear the EEPROM write interval timer TM1” and proceed to step 178. To migrate to flop 179.
[0138]
In step 179 which has shifted from step 178, it is determined whether or not the EEPROM memory address counter ADCT is at the maximum value N. Therefore, when the first writing is started, the process returns to step 170 and returns to the next time. Run the routine.
[0139]
In the routine of the next round, because “the memory writing flag FMWRNOW is set” in the determination in step 170, the process proceeds to step 175, and when the EEPROM write interval timer TM 1 exceeds a predetermined interval time, step 176 is executed. , Step 177, Step 178, Step 179 to Step 180. In Step 180, “Reset memory write flag FMWRNOW” is transferred to Step 181. In Step 181, “Memory write completion flag FMWREND is set”. The write routine that moves to the next time is executed.
[0140]
When the first routine is completed while the overwriting memory is being written, the process proceeds to step 104, step 105, step 106, step 107, step 127, step 128, and step 129 from the next round. In step 129, step 130 is skipped, and step 131, step 132, step 133, and step 134 are executed.
[0141]
When the power switch 20 is switched on and the window glass 30 is in the fully closed position G, the opening switch 2 is switched on, and if the opening time of the opening switch 2 is longer than a predetermined time, another program The routine in which the one-touch open flag is set is executed.
[0142]
When the open switch 2 is initially turned on, the process proceeds to step 108 in the determination in step 104, the process proceeds to step 109 in the determination in step 108, and the determination in step 109 indicates that “the memory erase flag FMERRASE is set. No ”, the process proceeds to step 110, and step 110, step 111, step 112, step 113, step 114, and step 115 are executed. Since the base current is applied to the first switching transistor TR1 of the motor drive output block 7 by taking the lowering command signal into the control block 14, the armature shaft 5c of the motor 5 starts to rotate forward and the window glass 30 is opened. Driven by.
[0143]
After that, even if the open switch 2 is switched off, the one-touch open flag is set. Therefore, in the determination in step 104, “open switch 2 is not switched on”, the process proceeds to step 105. In step 106, the process proceeds to step 106. In step 106, "one-touch open flag is set", the process proceeds to step 108. Thereafter, step 109, step 110, step 111, step 112, step 113, step 114 and step 115 are executed, and the base current continues to be applied to the first switching transistor TR1 of the motor drive output block 7 by the control block 14, so that the armature shaft 5c of the motor 5 continues to rotate forward, and the wind glass 30 Continuous on the open side It is driven.
[0144]
When the motor 5 starts to rotate in the forward direction, the rotation sensor 6 generates pulse signals with substantially the same interval, and the pulse signal input block 8, the pulse interval measurement block 16, and the pulse interval measurement timer TM2 each cycle the pulse signal. Detect time.
[0145]
Eventually, when the window glass 30 reaches the fully open position F, the window glass 30 is prevented from moving, and the rotational speed of the armature shaft 5c of the motor 5 decreases.
When the rotational speed of the armature shaft 5c of the motor 5 decreases, the cycle time of the pulse signal generated by the rotation sensor 6 becomes longer.
[0146]
When the cycle time detected by the pulse interval measurement timer TM2 exceeds the motor operation determination value XLOCK, the process proceeds to step 122 in the determination in step 118, and “the memory write completion flag FMWREND is not set” in the determination in step 122. Therefore, the process proceeds to step 123. In step 123, “Reset memory erase flag FMERRASE” is performed, and the process proceeds to step 124. In step 124, “Motor-on write flag FMWRON is set”, the process proceeds to step 125. “Reset the write flag FMWROFF when the motor is off”, and the process proceeds to step 126. Then, the process proceeds from step 126 to step 116, and “main processing” is executed in step 116. While the memory write is being performed, the process proceeds to step 104, step 108, and step 117, and in the determination at step 117, "the memory write in progress flag FMWRNOW is not set", the process proceeds to step 118.
[0147]
In the determination in step 118, “the cycle time detected by the pulse interval measurement timer TM2 exceeds the motor lock operation determination value XLOCK”, the process proceeds to step 122. In the determination in step 122, “the memory write completion flag FMWREND is set. Since it has not been done, ”the process proceeds to step 123.
[0148]
In Step 123, the process proceeds from Step 122 to “Reset Memory Erase Flag FMERRASE” and proceeds to Step 124. In Step 124, “Sets the motor-on write flag FMWRRON” to Step 125, and in Step 125, “Motor Off”. Reset the write flag FMWROFF ”at step 126 and proceed to step 126, where“ write to EEPROM external memory block MEM (N) ”is executed.
[0149]
By executing step 126, the write routine is executed, and in the determination in step 170, “the memory write flag FMWRNOW has been reset”, the process proceeds to step 171. In step 171, the “memory write completion flag FMWREND is set. Reset ”and go to step 172. In step 172,“ Clear EEPROM write interval timer TM1 ”and go to step 173. In step 173,“ Clear EEPROM memory address counter ADCT (initial setting for memory write) ” Then, the process proceeds to step 174. In step 174, "the memory writing flag FMWRNOW is set", and the process proceeds to step 175.
[0150]
In step 175 transferred from step 174, it is determined whether or not the EEPROM write interval timer TM1 has exceeded a predetermined interval time. Therefore, at the beginning of the first write, step 176 is started. Step "Transfer to memory in the number of rotation signals (glass position data) given from the pulse counter glass position memory WINDCT at the address determined by the EEPROM memory address counter ADCT in the EEPROM external memory block MEM" is performed. 177, “Increment the EEPROM memory address counter ADCT” in step 177 and proceed to step 178. In step 178, “Clear the EEPROM write interval timer TM1” and proceed to step 178. To migrate to flop 179.
[0151]
In step 179, it is determined whether or not the EEPROM memory address counter ADCT is at the maximum value N. Therefore, at the beginning of the first writing, the process returns to step 170 to execute the next routine. .
[0152]
In the next routine, since the determination in step 170 is “the memory write flag FMWRNOW is set”, the process proceeds to step 175, and when the EEPROM write interval timer TM1 exceeds a predetermined interval time, step 175 is performed. , Step 176, Step 177, Step 178, Step 179 to Step 180. In Step 180, “Reset memory write flag FMWRNOW” and then Step 181. In Step 181, “Memory write completion flag FMWREND is set. And a writing routine for shifting to the next time is executed.
[0153]
When the window glass 30 reaches the fully open position F and the armature shaft 5c of the motor 5 is restrained from rotating, the lowering command signal captured in the control block 14 disappears, so that the first of the motor drive output block 7 The switching transistor TR1 is turned off, the armature shaft 5c of the motor 5 stops rotating, and the window glass 30 stops at the fully open position F. Then, in the determination in step 104 of the main routine, “open switch 2 is not switched on”, the process proceeds to step 105, and in the determination in step 105, “closed switch 3 is not switched on”, the process proceeds to step 106. In step 106, “one-touch open flag is not set”, the process proceeds to step 107. In step 107, “one-touch close flag is not set”, so the process proceeds to step 127. In the determination at 127, “the write flag FMWRON is set when the motor is on”, the process proceeds to step 128. In step 128, “the memory write flag FMWRNOW is reset”, and the process proceeds to step 129.
[0154]
In the determination in step 129 transferred from step 128, “the memory writing flag FMWRNOW is not set”, the process proceeds to step 130, and in the determination in step 130, “the memory write completion flag FMWREND is not set”. The process proceeds to 131, “Reset memory erase flag FMERRASE” in Step 131 and proceeds to Step 132. In Step 132, “Resets write flag FMWRRON in motor on” and proceeds to Step 133. In Step 133, “Motor off”. Set the write flag FMWROFF "at step 134, and the process proceeds to step 134. In step 134, an" overwrite command is given from the control block 14 to the input / output control block 15 ".
[0155]
By executing step 134, the write routine is executed. In step 170, “the memory write in progress flag FMWRNOW is not set”, the process proceeds to step 171. In step 171, “memory write completion flag FMWREND is reset”. Then, the process proceeds to step 172. In step 172, "clears the EEPROM write interval timer TM1" and proceeds to step 173. In step 173, "clears the EEPROM memory address counter ADCT (initial setting for memory write)" and proceeds to step 174. In step 174, “set memory write flag FMWRNOW” is set, and the flow advances to step 175.
[0156]
In step 175 transferred from step 174, it is determined whether or not the EEPROM write interval timer TM1 has exceeded a predetermined interval time. Therefore, at the beginning of the first write, step 176 is started. Step "Transfer to memory in the number of rotation signals (glass position data) given from the pulse counter glass position memory WINDCT at the address determined by the EEPROM memory address counter ADCT in the EEPROM external memory block MEM" is performed. In step 177, “EEPROM memory address counter ADCT is incremented” and the process proceeds to step 178. In step 178, “write interval timer TM1 is cleared” and the process proceeds to step 179. Row.
[0157]
In step 179, it is determined whether or not the EEPROM memory address counter ADCT is at the maximum value N. Therefore, at the beginning of the first writing, the process returns to step 170 to execute the next routine. .
[0158]
In the next routine, since the determination in step 170 is “the memory write flag FMWRNOW is set”, the process proceeds to step 175, and when the EEPROM write interval timer TM1 exceeds a predetermined interval time, step 175 is performed. , Step 176, Step 177, Step 178, Step 179, Step 180, and Step 181 are followed by a writing routine for shifting to the next time.
[0159]
When the first routine is completed while the overwriting memory is being written, the process proceeds to step 104, step 105, step 106, step 107, step 127, step 128, and step 129 from the next round. In step 129, the process skips to step 131, and step 131, step 132, step 133, and step 134 are executed.
[0160]
When the power switch 20 is switched on and the window glass 30 is in the fully opened position F, when the closed switch 3 is switched on, the routine is executed in the same manner as the routine when the open switch 2 is switched on. Executed. When the power switch 20 is switched on and the window glass 30 is in the fully open position F, the closed switch 3 is switched on, and the on time of the closed switch 3 is longer than a predetermined time. At this time, the control routine is executed in the same manner as in the case where the one-touch opening flag is set.
[0161]
When the armature shaft 5c of the motor 5 continues to rotate in the forward direction and the window glass 30 is driven to the opening side, when the power switch 20 is turned off, the circuit power supply voltage starts to drop rapidly. The circuit power supply voltage is the memory write voltage V2When the value falls below the above, in the main routine, the process proceeds to step 122 by the determination in step 104, step 108, step 117, step 118, step 119, and step 120.
[0162]
In the determination in step 122 transferred from step 120, “memory write completion flag FMWREND is not set”, the process proceeds to step 123. In step 123, “memory erase flag FMERRASE is reset”, the process proceeds to step 124. In 124, “set the write flag FMWRON when the motor is on” and the routine proceeds to step 125.
[0163]
In step 125 transferred from step 124, “reset the write flag FMWROFF when the motor is off” is transferred to step 126, and “write to EEPROM external memory block MEM (N)” is executed in step 126.
[0164]
The routine for writing to the EEPROM external memory block MEM proceeds to step 171 because “the memory writing flag FMWRNOW has been reset” as determined in step 170, and “resets the memory write completion flag FMWREND” in step 171. The process proceeds to step 172, “clears the EEPROM write interval timer TM 1” in step 172 and proceeds to step 173, and “clears the EEPROM memory address counter ADCT (initial setting for memory write)” in step 173 and proceeds to step 174. In step 174, “set memory write flag FMWRNOW” is set, and the flow advances to step 175.
[0165]
In step 175 transferred from step 174, it is determined whether or not the EEPROM write interval timer TM1 has exceeded a predetermined interval time. Therefore, at the beginning of the first write, step 176 is started. Step "Transfer to memory in the number of rotation signals (glass position data) given from the pulse counter glass position memory WINDCT at the address determined by the EEPROM memory address counter ADCT in the EEPROM external memory block MEM" is performed. 177, “Increment the EEPROM memory address counter ADCT” in step 177 and proceed to step 178. In step 178, “Clear the EEPROM write interval timer TM1” and proceed to step 178. To migrate to flop 179.
[0166]
In step 179 which has shifted from step 178, it is determined whether or not the EPROM memory address counter ADCT is at the maximum value N. Therefore, at the beginning of the first writing, the process returns to step 170 and the next round. Run the routine.
[0167]
In the routine of the next round, because “the memory writing flag FMWRNOW is set” in the determination in step 170, step 171, step 172, step 173, and step 174 are skipped and the process proceeds to step 175 to write to EEPROM. When the interval timer TM1 exceeds the predetermined interval time, the process proceeds from Step 176, Step 177, Step 178, Step 179 to Step 180, and in Step 180, “Reset memory write flag FMWRNOW” and proceeds to Step 181. In step 181, a “write routine for setting the memory write completion flag FMWREND” is set, and a write routine for shifting to the next time is executed.
[0168]
As described above, in the motor control device 1, the glass position data is written to the EEPROM external memory block MEM when the motor voltage is not lowered before the power switch 20 is switched off after being switched on. Done.
[0169]
Further, in the motor control device 1, when the open switch 2 is turned on or the closed switch 3 is turned on, the position data written in the EEPROM external memory block MEM is erased, and the armature of the motor 5 is erased. When the shaft 5c is in a locked state, the rotation signal given from the rotation sensor 6 is converted into position data and written to the EEPROM external memory block MEM, and then the open switch 2 is turned off or closed. When the switch 3 is turned off, the rotation signal supplied from the rotation sensor 6 is converted into position data and overwritten in the EEPROM external memory block MEM. Therefore, the first and second brush terminals 5a and 5b of the motor 5 are used. When the terminal voltage is not cut off, multiple position data are written. .
[0170]
In the motor control device 1, before the power switch 20 is turned on, the EEPROM 5 is electrically connected to the EEPROM external memory block MEM when the voltage of the motor 5 drops while the motor 5 is driving the window glass 30. The glass position prediction block 18 reads out a plurality of position data written to the EEPROM external memory block MEM and predicts the position where the window glass 30 is finally stopped. Therefore, a plurality of position data can be written without extending the time for writing the position data by the backup capacitor, and the current position can be obtained using the predicted position data. This eliminates the need for a large-capacity backup capacitor that ensures time for the operation.
[0171]
【The invention's effect】
As described above, according to the motor control apparatus of the first aspect of the present invention, the nonvolatile memory uses the rotation signal from the motor rotation detection means as the position data before the power switch is opened after being closed. Since it is converted and electrically written, the position data has already been written when the motor voltage has not dropped. In addition, when the motor is locked, the rotation signal given from the motor rotation detection means is converted into position data and written in the nonvolatile memory. The position data is written. Then, after the open or closed switch is turned on and the motor starts to start, the power switch is turned off before the open or closed switch is turned off, and when the motor voltage drops, the non-volatile A plurality of position data are written in the memory, and the current position is predicted using the position data written in the nonvolatile memory when the power switch is turned on. Therefore, there is an excellent effect that a large-capacity backup capacitor that secures time for writing position data is not required.The non-volatile memory also deletes the position data written in the non-volatile memory by the control block every time the open or close switch is closed, and then opens or closes the open switch. New position data is written by the control block. Therefore, there is an excellent effect that the latest position data can always be obtained according to the operation of the open switch and the closed switch.
[0172]
Claims of the invention2According to the motor control apparatus according to the present invention, the rotation signal given from the motor rotation detection means becomes longer when the motor is locked, and the pulse interval measurement block of the controller is the rotation signal given from the motor rotation detection means. Measure the period. Therefore, the claim1'sIn addition to the effect, the pulse interval measurement block has an excellent effect that the load state of the motor is detected by measuring the period of the rotation signal.
[0173]
Claims of the invention3In the motor control device according to the above, the motor lock operation determination block of the controller compares the cycle value given by the pulse interval measurement block with a predetermined decision value, and the cycle value given by the pulse interval measurement block. When the value exceeds a predetermined determination value, writing to the nonvolatile memory is executed by the control block. Therefore, the claim2In addition to the above effect, even if the power switch is turned off while the motor is locked, the glass position data is not lost.
[0174]
Claims of the invention4According to the motor control device related toThe control block isWhile the motor is driving the load, when the power switch is turned off, the motor voltage drops, and the power supply voltage falls below a predetermined value, the position data is continuously stored in the non-volatile memory every predetermined time. Write to. Therefore,In addition to the effect of claim 1,There is an excellent effect that a plurality of position data can be reliably written without requiring a large-capacity backup capacitor for securing a time for writing data, and a compact external shape can be obtained.
[0175]
Claims of the invention5When the power switch is turned on, the glass position prediction block of the controller reads a plurality of position data already written in the non-volatile memory, and includes three of the position data. Each of the position data is compared, and position data calculation processing subsequent to the last written position data is performed a plurality of times, thereby obtaining position data where the load has finally stopped. Therefore, claim 1Or 4In addition to the above effect, when the motor voltage decreases, there are a plurality of position data electrically written to the non-volatile memory. Play.
[0176]
Claims of the invention6According to the motor control device related to the controller, the one-touch operation memory block of the controller stores when the open switch or the closed switch is turned on when the open switch or the closed switch is turned on after being turned on for a long time. A descending command signal or an ascending command signal is continuously given to the control block. Therefore, in addition to the effect of claim 1, since the command signal generated from the open switch or the close switch is held by the one-touch operation memory block, an additional switch such as an auto switch is required in addition to the open switch and the close switch. Excellent effect of not.
[Brief description of the drawings]
FIG. 1 is a block diagram of an embodiment of a motor control device according to the present invention.
FIG. 2 is a specific circuit diagram of the motor control device shown in FIG. 1;
FIG. 3 is a timing chart in the motor control device shown in FIG. 1;
4 is a timing chart in the motor control device shown in FIG. 1; FIG.
FIG. 5 is an explanatory diagram of a memory used when performing position prediction in the motor control device shown in FIG. 1;
FIG. 6 is a timing chart in the motor control device shown in FIG. 1;
FIG. 7 is a flowchart illustrating a control operation in the motor control device shown in FIG. 1;
FIG. 8 is a flowchart illustrating a control operation in the motor control device shown in FIG.
FIG. 9 is a flowchart illustrating a control operation in the motor control device shown in FIG. 1;
FIG. 10 is a flowchart illustrating a control operation in the motor control device shown in FIG. 1;
FIG. 11 is a flowchart illustrating a control operation in the motor control device shown in FIG. 1;
FIG. 12 is a timing chart in a conventional motor control device.
[Explanation of symbols]
1 Motor controller
2 Open switch
3 Close switch
5 Motor
6 (Motor rotation detection means) Rotation sensor
7 (Motor drive circuit) Motor drive output block
12 One-touch action memory block
14 Control block
16 Pulse interval measurement block
17 Motor lock operation judgment block
18 Glass position prediction block
20 Power switch
21 Power supply
MCU (Controller) Central processing circuit
MEM (nonvolatile memory) EEPROM external memory block
VB motor voltage

Claims (6)

電源に電気的に接続された電源スイッチと、
上記電源スイッチに電気的に接続されたモータ駆動回路と、
上記モータ駆動回路に電気的に接続されているとともに開閉負荷に結合され、モータ駆動回路の作動により該負荷を開側または閉側に駆動するモータと、
上記モータの回転により回転検出信号を発生するモータ回転検出手段と、
オン切換えされることにより下降指令信号を発生する開スイッチと、
オン切換えされることにより上昇指令信号を発生する閉スイッチと、
上記電源スイッチ、モータ駆動回路、モータ回転検出手段、開スイッチ、閉スイッチにそれぞれ電気的に接続され、該開スイッチより下降指令信号が与えられると負荷を開側に駆動するための電流をモータ駆動回路を介しモータに供給する一方、該閉スイッチより上昇指令信号が与えられると負荷を閉側に駆動するための電流をモータ駆動回路を介しモータに供給するコントローラと、
上記電源スイッチが閉じられた後に開かれる以前及び上記開スイッチまたは閉スイッチが閉じられた後に開かれた際毎、上記モータがロック状態となったとき、該モータが負荷を駆動中にモータ電圧が下ってきたときのそれぞれに上記モータ回転検出手段より与えられた回転信号を位置データに変換して電気的に複数個読み込み及び書き込み可能な不揮発性メモリとを備え、
上記コントローラには、開スイッチまたは閉スイッチが閉じられたとき毎に上記不揮発性メモリに書き込まれている位置データを消去し、該開スイッチまたは閉スイッチが開かれたとき毎に位置データを上記不揮発性メモリに複数個連続的に書き込み可能な制御ブロックを備えていることを特徴とするモータ制御装置。
A power switch electrically connected to the power source;
A motor drive circuit electrically connected to the power switch;
A motor electrically connected to the motor drive circuit and coupled to an open / close load, and driving the load to the open side or the closed side by the operation of the motor drive circuit;
Motor rotation detection means for generating a rotation detection signal by rotation of the motor;
An open switch that generates a lowering command signal when switched on;
A closed switch that generates an ascending command signal when switched on;
Electrically connected to the power switch, motor drive circuit, motor rotation detection means, open switch, and close switch, respectively, and when a lowering command signal is given from the open switch, a current for driving the load to the open side is driven by the motor. A controller for supplying a current to the motor via a motor drive circuit while driving the load to the closed side when an ascending command signal is given from the close switch while being supplied to the motor via a circuit;
Every time the previous and the opening switch or closed switch is opened after the power switch is closed is opened after being closed, when the motor becomes locked, motors the motor is in driving a load respectively and an electrically plurality read and writable nonvolatile memory a rotational signal supplied from the motor rotation detecting means converts the position data when the voltage came down,
The controller erases the position data written in the nonvolatile memory every time the open switch or the closed switch is closed, and stores the position data in the nonvolatile memory every time the open switch or the closed switch is opened. A motor control device comprising a control block capable of continuously writing a plurality of data in a memory .
コントローラには、モータ回転検出手段より与えられた回転信号の周期を測定するパルス間隔測定ブロックを備えていることを特徴とする請求項1に記載のモータ制御装置。2. The motor control device according to claim 1, wherein the controller includes a pulse interval measurement block for measuring a cycle of a rotation signal given from the motor rotation detecting means. コントローラには、パルス間隔測定ブロックより与えられた回転信号の周期と予め定められた判定値との比較により、モータのロック判定を行うモータロック作動判定ブロックを備えていることを特徴とする請求項に記載のモータ制御装置。The controller includes a motor lock operation determination block that performs a lock determination of the motor based on a comparison between a rotation signal period given from the pulse interval measurement block and a predetermined determination value. 2. The motor control device according to 2. 制御ブロックは、モータが作動中に、電源スイッチがオフ切換えされたときで、電源電圧が予め定められた値以下になったときに、予め定められた時間おきに位置データを不揮発性メモリに連続的に書き込み可能であることを特徴とする請求項1に記載のモータ制御装置。 When the power switch is turned off while the motor is operating, the control block continues the position data to the non-volatile memory every predetermined time when the power supply voltage falls below a predetermined value. to the motor control device according to claim 1, wherein the writable der Rukoto. コントローラには、電源スイッチがオン切換えされたときに不揮発性メモリに書き込まれている複数個の位置データを読み出し、その中の3個の位置データのそれぞれを比較して、最後に書き込まれた位置データの以後の位置データの算出処理を最終的な位置データが得られるまで複数回行うガラス位置予測ブロックを備えていることを特徴とする請求項1またはに記載のモータ制御装置。The controller reads a plurality of position data written in the non-volatile memory when the power switch is turned on, compares each of the three position data, and writes the last written position. the motor control device according to claim 1 or 4, characterized in that it comprises a glass position prediction block a plurality of times until the calculation processing of subsequent location data of the data is the final position data obtained. コントローラには、開スイッチまたは閉スイッチがオン切換えされている時間が予め定められた値を越えた際に下降指令信号または上昇指令信号を記憶し、その後に、開スイッチまたは閉スイッチがオフ切換えされてからも、制御ブロックに対して下降指令信号または上昇指令信号を連続的に与えるワンタッチ動作記憶ブロックを備えていることを特徴とする請求項1に記載のモータ制御装置。The controller stores the lowering command signal or the rising command signal when the time during which the open switch or the closed switch is switched on exceeds a predetermined value, and then the open switch or the closed switch is switched off. The motor control device according to claim 1, further comprising a one-touch operation storage block that continuously gives a descending command signal or an ascending command signal to the control block.
JP25181099A 1999-09-06 1999-09-06 Motor control device Expired - Fee Related JP4184550B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25181099A JP4184550B2 (en) 1999-09-06 1999-09-06 Motor control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25181099A JP4184550B2 (en) 1999-09-06 1999-09-06 Motor control device

Publications (2)

Publication Number Publication Date
JP2001078488A JP2001078488A (en) 2001-03-23
JP4184550B2 true JP4184550B2 (en) 2008-11-19

Family

ID=17228270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25181099A Expired - Fee Related JP4184550B2 (en) 1999-09-06 1999-09-06 Motor control device

Country Status (1)

Country Link
JP (1) JP4184550B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4463670B2 (en) 2004-01-05 2010-05-19 アスモ株式会社 Opening / closing member control device
JP4972439B2 (en) * 2007-03-26 2012-07-11 オンセミコンダクター・トレーディング・リミテッド Motor restraint detection circuit

Also Published As

Publication number Publication date
JP2001078488A (en) 2001-03-23

Similar Documents

Publication Publication Date Title
US6426604B1 (en) Power window controlling device
EP1509824B1 (en) Motor speed-based anti-pinch control apparatus and method with rough road condition detection and compensation
US5483135A (en) Adaptive system and method for controlling vehicle window operation
US6822410B2 (en) Motor speed-based anti-pinch control apparatus and method
KR100508447B1 (en) Rain drop sensing type wiper control device of car and its control method
JP4818847B2 (en) Motor control device
KR101831132B1 (en) Method, Apparatus and System For Controlling Vehicle Motor Based on Stall Detection
JP3067936B2 (en) Control method of on-board electric switch
US6667590B2 (en) Power window apparatus with function of foreign object detection
JP4184550B2 (en) Motor control device
WO2003102339A2 (en) Motor speed-based anti-pinch control apparatus and method with endzone ramp detection and compensation
JP3613611B2 (en) Motor control device
US6144906A (en) Adaptive pulse control
JP2619746B2 (en) Storage method of door opening / closing stroke value of automatic door
EP0584155B1 (en) A motor reverse system
JP4981431B2 (en) Control device for vehicle opening / closing body
JP2010226797A (en) Motor control device and sunroof drive device
JP2005220734A (en) Opening and closing member controller
JP2000184780A (en) Motor controlling device
JPS58170654A (en) Wiper controller
JPH10295036A (en) Device for controlling drive of wiper motor
JP2000188895A (en) Motor controller
JP3656491B2 (en) Opening and closing body control device
JP3839402B2 (en) Opening / closing member control device and method of preventing opening / closing member misalignment in opening / closing member control device
US6346787B1 (en) Method for positioning a part

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040315

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041217

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20071203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080306

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080901

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080904

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130912

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees