(57)【特許請求の範囲】
【請求項１】
スイッチドレラクタンスモ−タの回転子の回転位置毎の付勢量目標値を保持する通電マップ手段；
前記モ−タの回転子の回転位置を検出する回転位置検出手段；
前記モ−タの実際の付勢量を検出する付勢量検出手段；
少なくとも前記モ−タの回転速度の変化に対応して、前記通電マップ手段が保持する付勢量目標値を更新する、第１の制御手段；
前記モ−タの回転子の回転中の微小振動による回転方向の変化を含む実回転方向を検出する方向検出手段；
前記モ−タの目標駆動方向と、前記方向検出手段が検出した実回転方向とが一致する場合と、それらが一致しない場合とで、互いに異なる振動補償量を生成する、第２の制御手段；
前記回転位置検出手段が検出した回転位置に宛てた、前記通電マップ手段に保持された付勢量目標値に、前記振動補償量を加算する補償量加算手段；および、
該補償量加算手段による加算値と前記付勢量検出手段が検出した付勢量とに応じた付勢制御を実施するモ−タ付勢手段；
を備えるスイッチドレラクタンスモ−タの通電制御装置。
【請求項２】
前記第２の制御手段は、前記モ−タの目標回転速度と実回転速度との差に応じた速度補償量を生成して前記補償量加算手段に出力し；前記補償量加算手段は前記付勢量目標値に、前記振動補償量および速度補償量を加算する；請求項１に記載のスイッチドレラクタンスモ−タの通電制御装置。
【請求項３】
前記方向検出手段は、回転位置検出手段が検出した回転子の実回転位置の微小変化から、実回転方向の変化を検出する、前記請求項１又は請求項２記載のスイッチドレラクタンスモ−タの通電制御装置。
【請求項４】
スイッチドレラクタンスモ−タの回転子の回転位置毎の付勢量目標値を保持する通電マップ手段；
前記モ−タの回転子の回転位置を検出する回転位置検出手段；
前記モ−タの実際の付勢量を検出する付勢量検出手段；
少なくとも前記モ−タの回転速度の変化に対応して、前記通電マップ手段が保持する付勢量目標値を更新する、第１の制御手段；
少なくとも前記モータの目標回転速度と実回転速度との差に応じた速度補償量を生成する、第２の制御手段；
前記回転位置検出手段が検出した回転位置に宛てた、前記通電マップ手段に保持された付勢量目標値に、前記速度補償量を加算する補償量加算手段；および、
該補償量加算手段による加算値と前記付勢量検出手段が検出した付勢量とに応じた付勢制御を実施するモ−タ付勢手段；
を備えるスイッチドレラクタンスモ−タの通電制御装置。
【請求項５】
前記補償量加算手段は、前記第１の制御手段から独立した経路にある、請求項１，請求項２，請求項３又は請求項４に記載のスイッチドレラクタンスモ−タの通電制御装置。
【請求項６】
回転速度と必要トルクの両者をパラメ−タとして変化する少なくとも電流値の情報を、回転速度と必要トルクに対応付けて予め保持する電流マップ手段を含み、前記第１の制御手段は、前記モ−タの回転速度と必要トルクの変化に対応して、前記電流マップ手段の内容を入力し、その内容に基づいて、前記通電マップ手段が保持する付勢量目標値を更新する、前記請求項１，請求項２，請求項３，請求項４又は請求項５記載のスイッチドレラクタンスモ−タの通電制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、スイッチドレラクタンスモ−タを駆動する通電制御装置に関する。
【０００２】
【従来の技術】
スイッチドレラクタンスモ−タ（以下、ＳＲモ−タと言う）は、一般に極部が外側に突出する形で構成された回転子と、極部が内側に突出する形で構成された固定子とを備えており、回転子は単に鉄板を積層して構成した鉄心であり、固定子は極毎に集中巻されたコイルを備えている（図１８参照）。このＳＲモ−タは、固定子の各極が電磁石として動作し、回転子の各極部を固定子の磁力で吸引することによって回転子が回転する。従って、回転子の各極の回転位置に応じて、固定子の各極に巻回されたコイルの通電状態を順次に切換えることによって、回転子を希望する方向に回転させることができる。この種のＳＲモ−タに関する従来技術は、例えば、特開平１−２９８９４０号公報に開示されている。
【０００３】
【発明が解決しようとする課題】
ＳＲモ−タは、構造が簡単で、機械的に頑丈であり、高温下での動作も可能である等々の長所を有しているが、ほとんど実用的に利用されていないのが実情である。その原因の１つは、回転時に発生する騒音が大きいことである。ＳＲモ−タにおいては、回転子の各極が特定の回転位置にある時に、固定子各極に対する通電のオン／オフを切換えるので、その切換時に、回転子に加わる磁気吸引力の大きさが急激に変化する。そのため、回転子及び固定子には、比較的大きな機械振動が発生する。この振動によって騒音が生じる。
【０００４】
このような振動を抑制するためには、モ−タの通電制御によって、できる限り滑らかにモ−タを駆動する必要がある。一般的に用いられる単純なパルス状の通電のオン／オフだけを実施する場合には、モ−タを滑らかに駆動することは不可能である。従って、モ−タの回転角度毎に、微妙な電流値の調整を実施しなければならない。
【０００５】
例えば、回転角度にそれぞれ対応付けた多数の電流値（電流波形）をメモリに保持しておき、モ−タが微小回転する毎に、その時の角度に対応付けられた電流値をメモリから読み出して、電流の制御目標値を逐次変更するように制御すれば、モ−タの回転角度に応じた電流値の微妙な調整を実施しうる。しかしながら、この種の制御において、電流の目標値は、モ−タの回転角度だけに依存するのではなく、モ−タの回転速度や必要な駆動トルクに対応して変更する必要がある。そして、モ−タの多数の回転角度，多数の回転速度，多数の駆動トルクの全ての変化に対応した電流値を全てメモリに保持するには、膨大なメモリ容量を必要とする。更に、時々刻々と変化するトルクの変動や速度の変化に対応できる電流値をメモリに保持することは非常に困難である。
【０００６】
そこで、電流値を保持するのに必要なメモリの容量を低減するために、メモリに保持するデ−タを、１種類の回転速度、および１種類の駆動トルクに対応する１組の各回転位置の電流値だけに限定し、モ−タの回転速度や駆動トルクが変化する度に、計算処理を実施して、メモリの内容を書き換えるように制御することがある。しかしながら、このような制御を実施する場合には、計算処理及びメモリの内容の更新に時間がかかるため、制御系の応答が非常に遅くなる。例えば、コイル１相の１波形あたり１２８ステップ角度の電流値が必要な場合には、モ−タの回転速度や駆動トルクが変化する度に、相数×１２８個のデ−タ全てについて、計算処理とメモリ内容の更新を実施する必要があるので、非常に時間がかかる。
【０００７】
従って、例えば回転速度のフィ−ドバック制御を実施する場合においても、目標回転速度と実回転速度との誤差が検出されてから、その誤差を補償するために実際にメモリの内容が更新されて補償量が制御に反映されるまでに時間がかかるので、加速／減速時の追従性や外乱に対する安定性が悪い。
【０００８】
ところで、特にＳＲモ−タのようなモ−タは振動し易いので、それを滑らかに回転させるのは非常に難しい。モ−タを滑らかに駆動するための方法としては、従来より、ＰＩＤ制御，現代制御理論に基づく制御，ベクトル制御等々が知られている。しかしながら、いずれの方法を用いる場合であっても、時間のかかるチュ−ニングの作業を必要とし、しかもいずれも制御のために複雑な計算をせざるを得ないため、簡単な制御手段を用いるだけでモ−タを滑らかに駆動することはできなかった。
【０００９】
従って本発明は、比較的簡単な手段を用いて、スイッチドレラクタンスモ−タの滑らかな回転を実現すること、及び制御系の応答性を改善することを課題とする。
【００１０】
【課題を解決するための手段】
（１）スイッチドレラクタンスモ−タの回転子の回転位置毎の付勢量目標値を保持する通電マップ手段（４９）；
前記モ−タの回転子の回転位置を検出する回転位置検出手段（１ｄ）；
前記モ−タの実際の付勢量を検出する付勢量検出手段（２，３，４）；
少なくとも前記モ−タの回転速度の変化に対応して、前記通電マップ手段が保持する付勢量目標値を更新する、第１の制御手段（１１，６６，６７，６９，６Ａ）；
前記モ−タの回転子の回転中の微小振動による回転方向の変化を含む実回転方向を検出する方向検出手段（１ｄ，５）；
前記モ−タの目標駆動方向と、前記方向検出手段が検出した実回転方向とが一致する場合と、それらが一致しない場合とで、互いに異なる振動補償量を生成する、第２の制御手段（７４，７５，７６，７８，７Ｂ）；
前記回転位置検出手段が検出した回転位置に宛てた、前記通電マップ手段に保持された付勢量目標値に、前記振動補償量を加算する補償量加算手段（１６ａ）；および、
該補償量加算手段による加算値と前記付勢量検出手段が検出した付勢量とに応じた付勢制御を実施するモ−タ付勢手段（１５，６，７，１７，１８，１９，１Ａ）；
を備えるスイッチドレラクタンスモ−タの通電制御装置。
【００１１】
（２）前記第２の制御手段は、前記モ−タの目標回転速度と実回転速度との差に応じた速度補償量を生成して前記補償量加算手段（１６ａ）に出力し；前記補償量加算手段（１６ａ）は、前記付勢量目標値に、前記振動補償量および速度補償量を加算する；上記（１）に記載のスイッチドレラクタンスモ−タの通電制御装置。
【００１２】
（３）前記方向検出手段は、回転位置検出手段（１ｄ）が検出した回転子の実回転位置の微小変化から、実回転方向の変化を検出する、上記（１）又は（２）に記載のスイッチドレラクタンスモ−タの通電制御装置。
【００１３】
（４）スイッチドレラクタンスモ−タ（１）の回転子の回転位置毎の付勢量目標値を保持する通電マップ手段（４９）；
前記モ−タの回転子の回転位置を検出する回転位置検出手段（１ｄ）；
前記モ−タの実際の付勢量を検出する付勢量検出手段（２，３，４）；
少なくとも前記モ−タの回転速度の変化に対応して、前記通電マップ手段が保持する付勢量目標値を更新する、第１の制御手段（６６，６７，６９，６Ａ）；
少なくとも前記モ−タの目標回転速度と実回転速度との差に応じた速度補償量を生成する、第２の制御手段（７Ｃ）；
前記回転位置検出手段が検出した回転位置に宛てた、前記通電マップ手段に保持された付勢量目標値に、前記速度補償量を加算する、補償量加算手段（１６ｂ）；および、
前記補償量加算手段（１６ｂ）による加算値と前記付勢量検出手段（２，３，４）が検出した付勢量とに応じた付勢制御を実施するモ−タ付勢手段（１５，６，７，１７，１８，１９，１Ａ）；
を備えるスイッチドレラクタンスモ−タの通電制御装置。
【００１４】
（５）前記補償量加算手段（１６ｂ）は、前記第１の制御手段（６６，６７，６９，６Ａ）から独立した経路にある、上記（１），（２），（３）又は（４）に記載のスイッチドレラクタンスモ−タの通電制御装置。
【００１５】
（６）回転速度と必要トルクの両者をパラメ−タとして変化する少なくとも電流値の情報を、回転速度と必要トルクに対応付けて予め保持する電流マップ手段（１３ａ）を含み、前記第１の制御手段は、前記モ−タの回転速度と必要トルクの変化に対応して、前記電流マップ手段の内容を入力し、その内容に基づいて、前記通電マップ手段が保持する付勢量目標値を更新する、上記（１），（２），（３），（４）又は（５）に記載のスイッチドレラクタンスモ−タの通電制御装置。
【００１６】
なお上記括弧内に示した記号は、後述する実施例中の対応する要素の符号を参考までに示したものであるが、本発明の各構成要素は実施例中の具体的な要素のみに限定されるものではない。
【００１７】
【作用】
上記（１）の態様においては、通電マップ手段（４９）はスイッチドレラクタンスモ−タの回転子の回転位置毎の付勢量目標値を保持し、回転位置検出手段（１ｄ）は前記スイッチドレラクタンスの回転子の回転位置を検出し、付勢量検出手段（２，３，４）は前記モ−タの実際の付勢量を検出し、補償量加算手段（１６ａ）およびモ−タ付勢手段（１５，６，７，１７，１８，１９，１Ａ）は、前記回転位置検出手段が検出した回転位置に宛てた、前記通電マップ手段に保持された付勢量目標値に、振動補償量を加算し、該加算値と前記付勢量検出手段が検出した付勢量とに応じた付勢制御を実施する。更に、第１の制御手段（１１，６６，６７，６９，６Ａ）は、前記モ−タの回転速度の変化に対応して、前記通電マップ手段が保持する付勢量目標値を更新する。モ−タの回転位置（角度）毎に付勢量（例えば電流値）を微妙に調整することができるので、モ−タの回転を円滑にするのに効果的である。
【００１８】
しかも、方向検出手段（１ｄ，５）が、スイッチドレラクタンスモ−タ（１）の回転子の回転中の微小振動による回転方向の変化を含む実回転方向を検出する。また、振動抑制制御手段（１１，７４，７５，７６，７８，７Ｂ）は、前記モ−タの目標駆動方向と、前記方向検出手段が検出した実回転方向とが一致する場合と、それらが一致しない場合とで、互いに異なる振動補償量を生成する。そして、モ−タ付勢手段（１６ａ，６，７，１７，１８，１９，１Ａ）は前記振動補償量に応じて前記モ−タを付勢する。
【００１９】
本発明者の実験によれば、例えばＳＲモ−タを駆動する場合には、回転子の駆動中に回転方向に微小振動を生じ、一時的に、回転方向が駆動方向に対して逆転することが確かめられている。この回転方向の逆転を抑制すれば、モ−タの回転が円滑になり、騒音を抑制しうる。上記（１）の態様では、モ−タの回転方向と駆動方向との一致／不一致に応じて、振動補償量を調整することにより、回転方向の逆転を抑制し、振動の抑制を可能にしている。例えば、振動によって実回転方向が、駆動方向に対して逆転している時に、正転の時に比べてモ−タの駆動トルクを大きくすれば、逆転の期間が短縮され、振動が抑制される。
【００２０】
上記（２）によれば、モ−タの回転位置（角度）毎に付勢量（例えば電流値）を微妙に調整することができるので、モ−タの回転を円滑にするのに効果的である。また、速度補償量により、目標回転速度と実回転速度との誤差を低減でき、振動補償量によりモ−タの回転方向の振動を抑制しうる。
【００２１】
上記（３）においては、回転位置検出手段（１ｄ）が検出した回転子の実回転位置の微小変化から、実回転方向の変化を検出している。
【００２２】
上記（４）によれば、モ−タの回転位置（角度）毎に付勢量（例えば電流値）を微妙に調整することができるので、モ−タの回転を円滑にするのに効果的である。
【００２３】
また、前記通電マップ手段が保持する付勢量目標値の更新（計算等の処理）には時間がかかるが、上記（５）では、第１の制御手段から独立した経路で、前記速度補償量及び前記振動補償量を前記モ−タ付勢手段の入力に加算するので、制御の応答が速く、モ−タの回転を円滑にするのに効果的である。
【００２４】
上記（６）では、回転速度と必要トルクの両者をパラメ−タとして変化する少なくとも電流値の情報を、回転速度と必要トルクに対応付けて予め保持する電流マップ手段（１３ａ）を備えており、前記第１の制御手段は、前記モ−タの回転速度と必要トルクの変化に対応して、前記電流マップ手段の内容を入力し、その内容に基づいて、前記通電マップ手段が保持する付勢量目標値を更新する。
【００２５】
【実施例】
実施例の装置の構成を図１に示す。図１に示す装置は、電気自動車の駆動ユニットの主要部分を構成している。この例では、駆動源として１個のＳＲモ−タ１が備わっており、このＳＲモ−タ１はコントロ−ラＥＣＵによって制御される。コントロ−ラＥＣＵは、シフトレバ−，ブレ−キスイッチ，アクセルスイッチ，及びアクセル開度センサから入力される情報に基づいて、ＳＲモ−タ１の駆動を制御する。電源はバッテリ−から供給される。
【００２６】
ＳＲモ−タ１の基本的な構成とその駆動原理を図１８に示す。図１８に示すＳＲモ−タ１は、固定子Ｓとその内空間に回動自在に支持された回転子Ｒとで構成されている。回転子Ｒは、多数枚の薄い鉄板を積層して構成してあり、外周の互いに９０度ずつずれた位置に、外側に向かって突出した４つの極部Ｒａ，Ｒｂ，Ｒｃ及びＲｄが形成されている。固定子Ｓも多数枚の薄い鉄板を積層して構成してあり、内周の互いに６０度ずつずれた位置に、内側に向かって突出した６つの極部Ｓａ，Ｓｂ，Ｓｃ，Ｓｄ，Ｓｅ及びＳｆが形成されている。図１８では一部分だけが示されているが、固定子Ｓの極部Ｓａ，Ｓｂ，Ｓｃ，Ｓｄ，Ｓｅ及びＳｆには、電気コイルＣＬがそれぞれ巻回されている。
【００２７】
ここで、固定子Ｓの極部Ｓａ，Ｓｄに巻回したコイルＣＬを第１相、固定子Ｓの極部Ｓｂ，Ｓｅに巻回したコイルＣＬを第２相、固定子Ｓの極部Ｓｃ，Ｓｆに巻回したコイルを第３相と定義すると、回転子Ｒの極の位置に応じて、図１８に示すように、第１相−第２相−第３相のコイルＣＬに順次に通電することにより、時計回りに連続的に回転子Ｒを回転駆動することができる。即ち、固定子Ｓの通電した極部が電磁石を構成するので、その電磁石に近い位置にある回転子Ｒの極部が電磁石に吸引されて回転移動する。回転を継続するためには、回転子Ｒの回転移動に伴なってコイルの通電を切換える必要がある。実際には、このＳＲモ−タ１の場合、回転子Ｒが３０度回転する毎に、通電するコイルを第１相−第２相−第３相と切換えればよい。
【００２８】
再び図１を参照して説明を続ける。ＳＲモ−タ１には、それを駆動するための３相のコイル１ａ，１ｂ，１ｃと、回転子Ｒの回転位置（角度）を検出する角度センサ１ｄが備わっている。３相のコイル１ａ，１ｂ及び１ｃは、それぞれ、コントロ−ラＥＣＵ内部のドライバ１８，１９及び１Ａと接続されており、コイル１ａとドライバ１８とを接続する信号線，コイル１ｂとドライバ１９とを接続する信号線，及びコイル１ｃとドライバ１Ａとを接続する信号線には、それぞれ、電流センサ２，３及び４が設置されている。これらの電流センサ２，３及び４は、それぞれ、コイル１ａ，１ｂ及び１ｃに実際に流れる電流に比例する電圧を電流信号Ｓ６として出力する。この実施例においては、角度センサ１ｄとして、多摩川精機製のＴＳ２０２８Ｎ９４Ｅ２１を使用している。この角度センサ１ｄは、図７に示すように、０〜３６０度の角度の絶対値を示す１１ビットの２値信号を出力する。検出角度の最小分解能は０．３５度である。
【００２９】
コントロ−ラＥＣＵの内部には、ＣＰＵ（マイクロコンピュ−タ）１１，入力インタ−フェ−ス１２，電流マップメモリ１３ａ，ＰＷＭマップメモリ１３ｂ，波形マップメモリ１３ｃ，電源回路１４，電流波形生成回路１５，加算回路１６，方向検出回路５，Ｄ／Ａ変換器６，比較回路７，出力判定回路１７，ドライバ１８，１９及び１Ａが備わっている。このコントロ−ラＥＣＵは、シフトレバ−，ブレ−キスイッチ，アクセルスイッチ，及びアクセル開度センサから入力される情報に基づいて、ＳＲモ−タ１の駆動速度及び駆動トルクを逐次計算し、その計算の結果に基づいて、ＳＲモ−タ１のコイル１ａ，１ｂ及び１ｃの各々に流す電流を制御する。
【００３０】
図１の回路の一部分の具体的な構成を図２に示す。図２は、ＳＲモ−タ１のコイル１ａの通電を制御する回路のみを示しており、実際には他のコイル１ｂ及び１ｃの通電を制御する同様の回路がそれぞれ含まれている。
【００３１】
図２を参照すると、コイル１ａの一端は、スイッチングトランジスタ（ＩＧＢＴ）１８ａを介して電源の高電位ライン１８ｅと接続され、コイル１ａの他端は、スイッチングトランジスタ（ＩＧＢＴ）１８ｂを介して電源の低電位ライン１８ｆと接続されている。また、トランジスタ１８ａのエミッタと低電位ライン１８ｆとの間にはダイオ−ド１８ｃが接続され、トランジスタ１８ｄのエミッタと高電位ライン１８ｅとの間にはダイオ−ド１８ｄが接続されている。従って、トランジスタ１８ａ及び１８ｂの両方をオン（導通状態）にすれば、電源ライン１８ｅ，１８ｆとコイル１ａとの間に電流が流れ、いずれか一方、又は両方をオフ（非導通状態）にすれば、コイル１ａの通電を停止することができる。
【００３２】
出力判定回路１７には、２つのアンドゲ−ト１７ａ，１７ｂとタイミング制御回路１７ｃが備わっている。アンドゲ−ト１７ａの出力端子はトランジスタ１８ｂのゲ−ト端子と接続されており、アンドゲ−ト１７ｂの出力端子は、タイミング制御回路１７ｃの入力に接続されている。タイミング制御回路１７ｃの出力が、トランジスタ１８ａのゲ−ト端子と接続されている。アンドゲ−ト１７ａの入力端子には信号Ｓ１０とＳ５が入力され、アンドゲ−ト１７ｂの入力端子には、信号Ｓ７１及びＳ５が入力される。信号Ｓ７１は、比較回路７のアナログ比較器７ａが出力する２値信号である。また信号Ｓ５は、電流波形生成回路１５が出力する２値信号（オン／オフ信号）である。
【００３３】
アナログ比較器７ａの一方の入力端子には、電流波形生成回路１５が出力する基準電流値Ｓ４に振動補償値及び速度補償値を加算回路１６で加算した結果を、Ｄ／Ａ変換器６で変換したアナログ電圧Ｖｒ２が印加され、他方の入力端子には、電流センサ２が検出した電流に対応する信号Ｓ６の電圧（Ｖｓ６）が印加される。アナログ比較器７ａは、電圧Ｖｒ２とＶｓ６とを比較した結果を２値信号Ｓ７１として出力する。
【００３４】
信号Ｓ５が高レベルＨ（通電オン）の時には、アナログ比較器７ａが出力する２値信号Ｓ７１に基づいて、トランジスタ１８ａのオン／オフが制御される。但し、２値信号Ｓ７１のオン／オフとトランジスタ１８ａのオン／オフとの関係は１対１ではなく、タイミング制御回路１７ｃによってタイミングが調整される。これについては後で詳細に説明する。また信号Ｓ５が高レベルＨ（通電オン）の時には、ドライバ１８のトランジスタ１８ｂは、アンドゲ−ト１７ａに入力される２値信号Ｓ１０に応じてオン／オフする。この２値信号Ｓ１０は、ＣＰＵ１１の内部で生成される信号であり、信号の周期は一定（１５ＫＨｚ）、デュ−ティは可変になっている。また、信号Ｓ１０のデュ−ティは、ＣＰＵ１１の処理によって必要に応じて変更される。実際には、ＣＰＵ１１は、その時のモ−タの回転数（ｒｐｍ）と必要な駆動トルクに基づいて、オンデュ−ティ値をそれに接続されたＰＷＭマップメモリ１３ｂに保持されたテ−ブル（図１３参照）の参照により得て、この値のデュ−ティを有する信号Ｓ１０を出力する。
【００３５】
つまりこの実施例では、トランジスタ１８ａ及び１８ｂが、それぞれ互いに独立した制御信号Ｓ８１及びＳ８２によって、独立にオン／オフ制御されるので、ドライバ１８の通電制御状態としては、トランジスタ１８ａ，１８ｂが共にオンする状態と、共にオフする状態と、一方がオンして他方がオフする状態との３状態が存在する。
【００３６】
例えば通電を開始する時に、トランジスタ１８ｂがオンであると仮定すると、電流の基準レベルＶｒ２を０からＩｒｅｆに切換えると、Ｖｒ２＞Ｖｓ６になるため、まずトランジスタ１８ａがオン状態になり、負荷に流れる電流は、０から駆動回路及び負荷の特性（時定数）によって定まる傾きで徐々に上昇する。そして、負荷に流れる電流がＩｒｅｆに達した後、トランジスタ１８ａがオフ→オン→オフ→オン→・・・を繰り返し、電流の最大値がＩｒｅｆとほぼ等しくなるように制御される。また、通電を終了する時に、基準電流値をＩｒｅｆから０に切換えると、Ｖｒ２＜Ｖｓ６になるため、トランジスタ１８ａがオフ状態になり、負荷に流れる電流は、駆動回路及び負荷の特性（時定数）によって定まる傾きで徐々に下降して０になる。
【００３７】
しかし実際には、トランジスタ１８ｂに印加される制御信号Ｓ８２はパルス信号であるため、通電開始時の立上り期間中でも、トランジスタ１８ｂがオフ状態の期間が存在し、これの影響を受けて、負荷電流の立上りカ−ブは変化する。即ち、トランジスタ１８ｂに印加される制御信号Ｓ８２のデュ−ティに応じて、図１２に示すように、負荷電流の立上りカ−ブが変化する。また、通電終了時の立下り期間中でも、トランジスタ１８ｂがオフ状態の期間とトランジスタ１８ｂがオン状態の期間とが存在し、それらの比率に応じて、負荷電流の立下りカ−ブが変化する。
【００３８】
図１６及び図１７を参照して説明する。図１６に示すように、スイッチング手段１８ａ，１８ｂを共にオンして負荷１ａに電流が流れている状態から、両方のスイッチング手段１８ａ，１８ｂをオフに切換えると、負荷１ａに蓄えられたエネルギ−によって流れる電流は、ダイオ−ドＤ１，Ｄ２を通って、電源の低電位ラインから高電位ラインに向かって流れる。この時には、負荷１ａの端子間の電位差が大きいため、エネルギ−の放出が速く、電流の減衰速度が速い。つまり、過渡電流カ−ブの立下りの傾きが大きい。
【００３９】
一方、図１７に示すように、スイッチング手段１８ａ，１８ｂを共にオンして負荷１ａに電流が流れている状態から、一方のスイッチング手段１８ａだけをオフに切換えると、他方のスイッチング手段１８ｂがオンのままであるため、負荷１ａに蓄えられたエネルギ−によって流れる電流は、ダイオ−ドＤ１，負荷１ａ，スイッチング手段１８ｂの閉ル−プを通る。そしてこの時には、負荷１ａの端子間の電位差が小さくなるため、エネルギ−の放出は緩やかであり、電流の減衰速度も遅い。つまり、過渡電流カ−ブの立下りの傾きが小さい。
【００４０】
即ち、トランジスタ１８ｂに印加される制御信号Ｓ８２のデュ−ティの調整によって、負荷電流の立上り時の波形、ならびに立下り時の波形を制御することができる。
【００４１】
また、比較器７ａの出力する２値信号Ｓ７１によりチョッピング制御を実施する場合、負荷電流の立下り速度が比較的速いと、図１６に示すように電流の変動幅（振幅）が大きく、電流の立下り速度が比較的遅いと、図１７に示すように電流の変動幅が小さくなる。電流の変動幅を小さくすることにより、ＳＲモ−タの場合、回転時に生じる振動及び騒音を大幅に低減しうる。
【００４２】
しかしながら、電流の立下り速度が遅いと、チョッピング制御における目標値（基準レベル）を変化させた場合に、目標値に対する電流の追従遅れが生じ易い。モ−タに流す電流のレベルは、駆動トルクの変更などに伴なって変える必要がある。特にＳＲモ−タを駆動する場合には、回転子の極の位置に応じて、各コイルの通電／非通電を切換える必要があり、目標値に対する電流の追従遅れが生じると、特に高速回転の場合に回転トルクの低下が著しくなる。
【００４３】
この実施例においては、モ−タの回転数（ｒｐｍ）と必要な駆動トルクに基づいて、信号Ｓ１０のデュ−ティを自動的に調整するので、回転数が高い、あるいは大きな駆動トルクを必要とする時には、通電の立上りが速くなり、目標値の変化に対する電流の追従遅れが防止される。また、回転数が低い、あるいは大きな駆動トルクを必要としない時には、負荷電流の立上り，立下り等の変化速度が遅いため、振動及び騒音の発生が抑制される。電流の基準レベル（Ｖｒ２）の波形を短い期間で細かく調整するのは困難であるが、信号Ｓ１０のデュ−ティの調整は容易である。
【００４４】
ところで、比較器７ａの比較結果に従って、トランジスタ１８ａは通常、短い周期でオン／オフを繰り返すが、仮に比較器７ａが出力する信号Ｓ７１をそのままトランジスタ１８ａに印加すると、トランジスタ１８ａのオン／オフ周期は、その通電回路の特性，モ−タのコイルのインピ−ダンスなどによって定まり、温度，湿度等の環境変化の影響も受ける。その場合、トランジスタ１８ａのオン／オフ周波数が異常に高くなる場合もある。しかし、通電をオン／オフする周波数が高くなると、それに伴なって、トランジスタ１８ａにおける損失が増大し、発熱量も増大する。また逆に、通電をオン／オフする周波数が人間の可聴周波数の上限よりも低い場合、電流のスイッチングによって生じる機械振動が、ノイズとして人間に聞こえることになる。従って、トランジスタ１８ａのオン／オフ周波数を、一般的な人間の可聴周波数の上限より僅かに高い周波数（例えば１５ＫＨｚ）になるように制御するのが望ましい。
【００４５】
トランジスタ１８ａのオン／オフ周波数を制御するために、この実施例の装置を試作する前に、図１１に（ａ）として示す制御を実施した。この制御について説明する。即ち、周期が一定の同期信号を用いて、その周期毎に生じるタイミングｔ１，ｔ２，ｔ３，・・・を生成し、トランジスタ１８ａに印加する信号Ｓ８１ｘを、Ｖｒ２＜Ｖｓ６になる毎にオフレベルに切換え、タイミングｔ１，ｔ２，ｔ３，・・・の各々において、Ｖｒ２＞Ｖｓ６であれば、その時に信号Ｓ８１ｘをオンレベルに切換えるが、Ｖｒ２≦Ｖｓ６なら信号Ｓ８１ｘをオフレベルに維持する。
【００４６】
ところが、この制御（図１１の（ａ））では、同期信号のタイミング（ｔ４）の直前でＶｒ２＜Ｖｓ６になると、その直後の同期信号のタイミング（ｔ４）で、Ｖｒ２＜Ｖｓ６であるため、信号Ｓ８１ｘはオフレベルに維持される。その結果、信号Ｓ８１ｘのオン／オフが切換らない期間が長くなり、トランジスタ１８ａのオン／オフ周波数が人間の可聴周波数の上限より低くなる時があった。
【００４７】
そこでこの実施例では、更に改良されたタイミング制御回路１７ｃを用いて、図１１に（ｂ）として示すように制御している。この制御を図１１に（ｂ）を参照して説明する。周期が一定の同期信号を用いて、その周期毎に生じるタイミングｔ１，ｔ２，ｔ３，・・・を生成する。信号ＦＥは、Ｖｓ６＞Ｖｒ２になった時に高レベルＨ（オン不可）に切換え、同期信号の各タイミングｔ１，ｔ２，ｔ３，・・・でそれぞれ低レベルＬ（オン可）に切換える。そして、信号Ｓ８１をオフに切換える条件は、Ｖｓ６＞Ｖｒ２になった時であり、信号Ｓ８１をオンに切換える条件は、信号ＦＥがオン可で、かつＶｓ６≦Ｖｒ２になった時である。この制御によれば、同期信号のタイミング（ｔ４）の直前でＶｒ２＜Ｖｓ６になり、その直後の同期信号のタイミング（ｔ４）で、Ｖｒ２＜Ｖｓ６であっても、信号ＦＥがオン可に切換わった後でＶｓ６＞Ｖｒ２になれば、その時に信号Ｓ８１がオンに切換るため、信号Ｓ８１のオン／オフ周期は、同期信号の周期（基準チョッピング周期）とほぼ同一になり、周波数の変化はあまり生じない。このため、同期信号の周波数を人間の可聴周波数の上限より僅かに高く設定することにより、可聴周波数のノイズの発生を防止し、しかも大きな発熱の発生も防止しうる。
【００４８】
実際のタイミング制御回路１７ｃの構成を図３に示し、回路中の各部の信号波形の例を図１０に示す。この実施例では、同期信号ＣＬＫ１５Ｋとして、周波数が１５ＫＨｚのパルス信号を用いている。図３に示す回路は、ゲ−ト回路１７１，１７４，１７７，１７８及び１７９と、Ｄ型のフリップフロップ１７２，１７３，１７６及び１７Ａと、インバ−タ１７５を備えている。図１０に示すように、信号ＦＥは、入力信号Ｓ７１がＶｓ６＞Ｖｒ２の条件になると、「オン不可」に切換り、１５ＫＨｚの同期信号ＣＬＫ１５Ｋの立上りのタイミングで「オン可」に切換る。そして信号Ｓ８１は、入力信号Ｓ７１がＶｓ６＞Ｖｒ２の条件になると、オフに切換り、信号ＦＥの「オン不可」が解除された後で、入力信号Ｓ７１がＶｓ６＜Ｖｒ２になると、オンに切換る。従って、タイミング制御回路１７ｃを用いることにより、図１１に（ｂ）として示す制御が実現する。
【００４９】
ところで、例えばモ−タ１の回転速度を目標速度に正確に追従させるために、速度のフィ−ドバック制御を実施するのが望ましい。この実施例においては、比較器７ａに入力する電流の基準レベルＶｒ２を制御することにより、モ−タ１の電流値を制御しているが、電流の微妙な波形の制御をも可能にするために、モ−タ１の微小回転角度（０．７度）毎に、独立した電流値が基準レベルＶｒ２に割り当てられる。このため、例えば回転数（ｒｐｍ）や必要トルクの変更に伴なって、モ−タ１の付勢量を調整する場合には、各相のコイルの全角度の電流値をそれぞれ計算して、それらの値をメモリに更新登録しなければならない。即ち、制御量の更新に非常に時間がかかるため、制御系の応答が非常に遅い。このような多数の電流値を調整する制御系（電流波形生成回路１５）に、速度フィ−ドバック制御を含めると、速度変化に対する速い応答は期待できない。
【００５０】
そこでこの実施例においては、電流波形の生成とは別の独立した制御系として、速度フィ−ドバック制御を実施している。即ち、図２に示すように、速度フィ−ドバック制御によって生成される速度補償値は、加算回路１６によって、電流波形生成回路１５の出力信号Ｓ４に加算される。従って、この速度フィ−ドバック制御系には、格別に時間のかかる処理が含まれないため、速度制御系の応答速度は速い。
【００５１】
加算回路１６においては、速度補償値の他に、振動補償値が加算される。この振動補償値は、モ−タ１の回転方向の微小振動を抑制するための補償値である。本発明者の実験によれば、ＳＲモ−タ１を一定の方向に回転駆動している間に、その回転子は、一時的に駆動方向とは逆の方向に回転（振動）する場合があることが確かめられている。このような逆転による振動を抑制すれば、ＳＲモ−タ１がより滑らかに駆動され、騒音も確実に低減される。
【００５２】
そこでこの実施例においては、駆動中の回転方向の逆転を検出し、その逆転を抑制するような振動補償値を生成し、それを加算回路１６に入力して電流値を補償している。この振動補償制御系においても、電流波形の生成とは別の独立した制御系であるため、速い変化（振動）に対して充分に追従しうる。
【００５３】
実際には、図７に示す方向検出回路５を用いて、角度センサ１ｄが出力する信号の下位２ビットに基づいて、ＳＲモ−タ１の回転子の回転方向ＣＷ／ＣＣＷ（前進方向／後退方向）を検出している。図７を参照すると、方向検出回路５は、Ｄ型のフリップフロップ５１，５２及び５８とゲ−ト回路５３，５４，５５，５６及び５７で構成されている。この方向検出回路５の各部の信号波形の例を図８に示すので参照されたい。角度センサ１ｄと方向検出回路５を用いることにより、微妙な逆転をも検出することができる。
【００５４】
図１に示すＣＰＵ１１の動作の概略を図１４に示す。図１４を参照してＣＰＵ１１の動作を説明する。電源がオンすると、ステップ６１で初期化を実行する。即ち、ＣＰＵ１１の内部メモリの初期化および内部タイマ，割込等のモ−ドセットを実施した後、システムの診断を実施し、異常がなければ次の処理に進む。
【００５５】
ステップ６２では、シフトレバ−，ブレ−キスイッチ，アクセルスイッチ，アクセル開度センサのそれぞれが出力する信号の状態を読取る。ステップ６２で検出した状態に何らかの変化があった場合には、ステップ６３からステップ６４に進む。変化がない時には、ステップ６３からステップ６５に進む。
【００５６】
ステップ６４では、ステップ６２で検出した各種状態に基づいて、ＳＲモ−タ１の駆動トルクの目標値を決定する。例えば、アクセル開度センサによって検出されたアクセル開度が増大した時には、駆動トルクの目標値も増大する。また、ここで目標トルクの変化を示すトルク変更フラグをセットする。
【００５７】
ステップ６５では、検出された現在のＳＲモ−タ１の回転速度を入力する。なお回転速度は、後述する割込処理によって検出される。そして、ＳＲモ−タ１の回転速度に変化がある時には、ステップ６６からステップ６８に進み、回転速度に変化がなければステップ６７に進む。ステップ６７では、トルク変更フラグの状態を調べ、フラグがセットされている時、即ち目標トルクの変化がある時には、ステップ６８に進み、トルクに変化がない時にはステップ６２に戻る。
【００５８】
ステップ６８では、ＰＷＭマップメモリ１３ｂを参照してデ−タを入力し、ＣＰＵ１１が出力しているパルス信号（ＰＷＭ信号）Ｓ１０のデュ−ティを変更する。このパルス信号Ｓ１０は、モ−タ１の駆動中は常時出力されており、その周期は１５ＫＨｚに固定されているが、デュ−ティはその時の状態に応じて変更される。
【００５９】
即ち、ＰＷＭマップメモリ１３ｂは、予め様々なデ−タを登録した読み出し専用メモリ（ＲＯＭ）で構成してあり、図１３に示すように、様々な目標トルクと様々な回転数（モ−タの回転速度）のそれぞれに対応付けられた多数のデ−タＰｎｍ（ｎ：トルクに対応する列の数値，ｍ：回転数に対応する行の数値）が保持されている。例えば、デ−タＰ３４には、オンデュ−ティの９５％を示す数値が保持されているので、例えば、トルクが２０［Ｎ・ｍ］で回転数が５００［ｒｐｍ］の時には、ＣＰＵ１１は、デ−タＰ３４の内容を参照して、信号Ｓ１０のオン時間が９５％になるようにそのデュ−ティを更新する。
【００６０】
次のステップ６９では、電流マップメモリ１３ａ及び波形マップメモリ１３ｃから、それぞれデ−タを入力する。この実施例では、電流マップメモリ１３ａ及び波形マップメモリ１３ｃは、予め様々なデ−タを登録した読み出し専用メモリ（ＲＯＭ）で構成してあり、電流マップメモリ１３ａには図１９に示すようなデ−タが保持され、波形マップメモリ１３ｃには図２１に示すようなデ−タが保持されている。
【００６１】
即ち、電流マップメモリ１３ａには、様々な目標トルクと様々な回転数（モ−タの回転速度）のそれぞれに対応付けられた多数のデ−タＣｎｍ（ｎ：トルクに対応する列の数値，ｍ：回転数に対応する行の数値）が保持されており、デ−タＣｎｍの１組には、通電オン角度，通電オフ角度，電流上限値及び波形パタ−ン番号が含まれている。例えば、トルクが２０［Ｎ・ｍ］で回転数が５００［ｒｐｍ］の時のデ−タＣ３４の内容は、５２．５度，８２．５度，２００［Ａ］及び波形パタ−ン番号３である。このデ−タＣ３４は、０〜９０度の回転位置の範囲内における通電情報を示しており、５２．５〜８２．５度の範囲においては、電流の上限値が２００Ａの予め定めた３番の波形パタ−ンの電流を流し、０〜５２．５度の範囲及び８２．５〜９０度の範囲では電流を遮断することを意味している。ステップ６９では、その時のトルクと回転数に応じて選択した、Ｃｍｎの１組のデ−タを入力する。
【００６２】
更に、入力したＣｍｎのデ−タに含まれる波形パタ−ン番号に対応する１組の波形デ−タを、波形マップメモリ１３ｃから読み込む。例えば、波形パタ−ン番号が３の場合には、図２１に示す０，１２，２６，４０，・・・・の一連の波形デ−タを入力する。この波形デ−タによって、実際にコイルに流す電流の基準値の波形が決定される。即ち、モ−タの回転子の角度ステップ毎に、電流の基準値は細かく調整される。
【００６３】
次のステップ６Ａでは、ステップ６９で入力したデ−タＣｎｍ及び波形デ−タに基づいて、通電マップのデ−タを生成する。即ち、モ−タの回転子の各々の角度ステップに対応付けられた多数の電流基準値とそれに付随するデ−タ（詳細は後述する）を生成する。そして、この通電マップのデ−タを、電流波形生成回路１５の内部にあるメモリ（双方向性メモリ）に書込む。後述するように、電流波形生成回路１５は、基準となる１相のデ−タに基づいて３相全てのデ−タを自動的に生成するので、ステップ６Ａでは、特定の１相分の通電マップだけを作成し、それを電流波形生成回路１５のメモリに書込む。
【００６４】
ＣＰＵ１１は、上述のステップ６２〜６Ａの処理を繰り返し実行する。そして、検出したＳＲモ−タの回転速度及びトルクが一定の場合には、ステップ６６−６７−６２を通るが、回転速度が変化した場合、又はトルクが変化した場合には、ステップ６８−６９−６Ａ−６Ｂを実行するので、電流波形生成回路１５の通電マップが更新される。
【００６５】
また、ステップ６１の初期化を終了した後、４ｍsec 毎にＣＰＵ１１にタイマ割込みが発生する。このタイマ割込みが発生すると、ＣＰＵ１１は図１５に示す処理を実行する。図１５を参照して説明する。
【００６６】
ステップ７１では、カウンタＴＭ２４の値を参照して、２４ｍsec 周期で生じる所定のタイミングか否かを識別する。即ち、２４ｍsec に１回の割合いで、ステップ７１からステップ７Ｃに進み、それ以外の時にはステップ７１からステップ７２に進む。
【００６７】
ステップ７２では、カウンタＴＭ８の値を参照して、８ｍsec 周期で生じる所定のタイミングか否かを識別する。即ち、８ｍsec に１回の割合いで、ステップ７２からステップ７Ｄに進み、それ以外の時にはステップ７２からステップ７３に進む。
【００６８】
２４ｍsec に１回の割合いで実行されるステップ７Ｃにおいては、まず、速度補償値を生成する。即ち、モ−タ１の目標駆動速度と、検出したモ−タ回転速度とに基づいて、所定のＰＩＤ（比例・積分・微分）演算を実行し、その結果を速度補償値とする。そして、この速度補償値を、出力して加算回路１６に入力する。また、カウンタＴＭ２４をクリアする。
【００６９】
８ｍsec に１回の割合いで実行されるステップ７Ｄにおいては、まず、シフトレバ−，ブレ−キスイッチ，アクセルスイッチ，アクセル開度センサ等の状態を、入力インタ−フェ−ス１２を介して読取り、その結果を内部メモリに保持する。また、モ−タの回転速度を計算する。この実施例では、ＳＲモ−タ１の駆動軸に連結された角度センサ１ｄが、駆動軸の回転速度に応じて周期が変化するパルス信号を出力するので、ＣＰＵ１１は、角度センサ１ｄが出力する信号のパルス周期を測定し、この周期に基づいてＳＲモ−タ１の回転速度を検出する。検出した回転速度のデ−タは内部メモリに保存する。ステップ７Ｄでは、更に、カウンタＴＭ８をクリアする。
【００７０】
ステップ７３においては、ＳＲモ−タ１を駆動中か否かを識別し、駆動中であれば次にステップ７４に進み、そうでなければステップ７Ａに進む。ステップ７４では、現在のＳＲモ−タの駆動方向（駆動しようとしている方向）が正転／逆転のいずれであるかを識別する。そして次のステップ７５では、現在のＳＲモ−タの実際の回転方向が正転／逆転のいずれであるかを識別する。ＳＲモ−タの実際の回転方向は、方向検出回路５によって検出されるので、ＣＰＵ１１は、方向検出回路５が出力する２値信号ＣＷ／ＣＣＷを参照して、ＳＲモ−タ１の実際の回転方向を識別する。
【００７１】
ステップ７６では、ステップ７４で識別した現在のＳＲモ−タの駆動方向と、ステップ７５で識別した現在のＳＲモ−タの実際の回転方向とが一致するか否かを識別する。一致する場合には、ステップ７Ｂに進み、振動補償値に０をセットする。また、駆動方向と実際の回転方向とが一致しない場合、即ち振動により、駆動方向に対して回転子が逆転方向に回転している時には、ステップ７８に進み、予め定めた定数を振動補償値にセットする。この実施例においては、ステップ７８で振動補償値にセットする定数（電流値）を＋３０［Ａ］に定めてある。次のステップ７９では、ステップ７８又は７Ｂで決定した振動補償値を出力し、それを加算回路１６に印加する。なお、この振動補償値は、３相の制御系で共通に利用される。
【００７２】
ステップ７Ａでは、カウンタＴＭ２４の値およびＴＭ８の値をそれぞれ更新（＋１）する。またステップ７Ｅでは、次回の割込みを発生させるために、割込用のタイマを再セットする。
【００７３】
電流波形生成回路１５が出力する電流指示値Ｓ４と、補正後の電流指示値Ｓ４Ｂの波形例を図９に示す。図９において、ＣＰ１が振動補償値であり、ＣＰ２が速度補償値である。振動補償値ＣＰ１と速度補償値ＣＰ２は、それぞれ３相で共通に利用される。また、電流指示値Ｓ４が０の時には、補正後の電流指示値Ｓ４Ｂも０にする。振動補償値ＣＰ１を電流指示値Ｓ４に加算することによって、ＳＲモ−タ１の振動が抑制されるため騒音が低減され、また速度補償値ＣＰ２を電流指示値Ｓ４に加算することによって、ＳＲモ−タ１の速度制御の応答性が改善される。
【００７４】
さて、この実施例では３相のＳＲモ−タ１を駆動するので、各相のコイルに流す電流の指示値を３相分生成する必要がある。この実施例では、電流指示値を回転子の位置（微小角度ステップ）毎にそれぞれ調整して通電波形を最適化しようとしているので、電流指示値Ｓ４の生成は非常に難しい。しかも、回転子が微小回転する毎に電流指示値を変える必要があるので、電流指示値Ｓ４の更新は瞬時に実行できなければならない。このような信号を発生するためには、メモリに多数の電流指示値（通電マップ）を予め登録して、メモリのアドレスを回転子の位置（角度ステップ）に対応付け、回転子の位置が変わる毎に、その位置情報をメモリのアドレスに印加して、その位置の電流指示値をメモリから読み出して電流制御系に与えるように制御すればよい。また、このような回路を３組設置すれば、３相の電流指示値を生成することが可能である。
【００７５】
しかしながら、３相のそれぞれに対応して、独立した電流波形生成回路を３組設けると、必要なメモリの容量が大きくなり、回路構成も複雑化するのは避けられない。また、ＣＰＵ１１は、モ−タの回転数や必要トルクが変化する度に、メモリの内容（通電マップ）を書き替えなければならないが、メモリの容量が大きいと、その内容を全て更新するのに長い時間が必要になるため、制御系の応答性が悪くなる。
【００７６】
一方、図９及び図２０に示すように、３相の電流指示値の波形は、互いに相似形であり、互いに波形の位相（相対角度）だけが異なっている。従って、１相の電流指示値の波形に基づいて、その位相をずらした信号を生成すれば、３相の電流指示値を生成することが可能である。
【００７７】
例えば、図５に示すように、第１相の０〜９０度の範囲内の各角度ステップに対応付けた多数の波形デ−タ（ハッチングを施した部分）を、それぞれの角度ステップに対応付けたメモリアドレスに保持しておく場合には、メモリアドレスに対する指示角度に＋３０度の補正を加えることにより、第２相の波形デ−タを得ることができ、また、メモリアドレスに対する指示角度に＋６０度の補正を加えることにより、第３相の波形デ−タを得ることができる。また、第１相の０〜９０度の範囲の波形の繰り返しによって、０〜３６０度の範囲の波形デ−タを得ることができる。
【００７８】
即ち、基準となる１相の波形だけをメモリに登録しておき、それに基づいて３相の信号波形を生成することができる。このようにすれば、メモリの容量が低減され、回路構成が簡略化され、メモリの内容を更新する処理の所要時間が短縮される。
【００７９】
実際の電流波形生成回路１５の構成を図４に示し、各部の信号のタイミングを図６に示す。ＣＰＵ１１が生成する通電マップは、電流波形生成回路１５内の双方向ＲＡＭ（読み書きメモリ）４９に書込まれる。この実施例においては、双方向ＲＡＭ４９は、２つのメモリバンクを有しており、これら２つのメモリバンクのうち、一方から波形デ−タの読み出しが実行され、他方に対してＣＰＵ１１のデ−タ書込みが実行される。従って、波形デ−タの読み出しとＣＰＵ１１のデ−タ書込みとが同時に実行できる。
【００８０】
双方向ＲＡＭ４９のメモリバンク１はＤ８００Ｈ〜Ｄ８８６Ｈ（Ｈ：１６進数表記を示す、以下同様）のメモリアドレスに割当ててあり、メモリバンク２はＤＣ００Ｈ〜ＤＣ８６Ｈのメモリアドレスに割当ててある。メモリバンク１の領域内は次のように割当ててある。
【００８１】
Ｄ８００Ｈ〜Ｄ８７ＦＨ（１２８バイト）：
回転角度の０．７度毎の各電流値（９０度：１２８ステップ）
Ｄ８８０Ｈ  ：第１相の角度１（通電開始又は終了角度）
Ｄ８８１Ｈ  ：第１相の角度２（通電終了又は開始角度）
Ｄ８８２Ｈ  ：第２相の角度１（通電開始又は終了角度）
Ｄ８８３Ｈ  ：第２相の角度２（通電終了又は開始角度）
Ｄ８８４Ｈ  ：第３相の角度１（通電開始又は終了角度）
Ｄ８８５Ｈ  ：第３相の角度２（通電終了又は開始角度）
Ｄ８８６Ｈ  ：波形の凸／凹（角度１で通電開始→角度２で通電終了，
角度１で通電終了→角度２で通電開始、の区分）
メモリバンク２のメモリ割当ては、アドレスが４００H ずれる他は、メモリバンク１と同一である。メモリバンク１とメモリバンク２の切換えは、双方向ＲＡＭ４９のアドレスのビット１０（Ａ１０）の制御により実施される。
【００８２】
図４及び図６を参照して、電流波形生成回路１５を説明する。角度センサ１ｄが出力する１０ビットの角度信号ＲＺ０〜ＲＺ９は、ラッチ４１によりラッチされ、加算器４７の一方の入力に印加される。また、角度信号ＲＺ０は、タイミングパルス発生回路４２に印加される。タイミングパルス発生回路４２は、その内部で生成する８ＭＨｚのクロックパルスＣＬＫ８Ｍと角度信号ＲＺ０に基づいて、クロックパルスＣＬＫ１Ａ，ＣＬＫ１Ｂ，ＣＬＫ２Ａ，ＣＬＫ２Ｂ及びラッチ制御信号ＬＡＴＺを生成する。
【００８３】
４ビットカウンタ４４は、タイミングパルス発生回路４２が出力するクロックパルスＣＬＫ２Ｂを計数して、０〜１５の範囲の数値を順番に計数値ＣＮＴとして繰り返し出力する。電流波形生成回路１５の各回路の動作は、４ビットカウンタ４４が出力する計数値ＣＮＴの値に応じて決定される。計数値ＣＮＴは、ラッチ制御回路４５，角度補正出力回路４６，アドレス制御回路４８，及び駆動信号生成回路４Ｃに入力される。
【００８４】
角度補正出力回路４６は、エンコ−ダであり、入力される計数値ＣＮＴの値に応じて、次のような補正値ＣＰＳをそれぞれ出力する。
【００８５】
ＣＮＴ：０〜３，    ＣＰＳ：０  （０度）
ＣＮＴ：４〜７，    ＣＰＳ：８４（６０度）
ＣＮＴ：８〜１１，  ＣＰＳ：４２（３０度）
ＣＮＴ：１２〜１５，ＣＰＳ：４２（３０度：ダミ−）
従って、加算器４７の出力には、計数値ＣＮＴが０〜３の時には、その時の回転子の回転位置（角度：ＲＺ０−ＲＺ９）がそのまま現われるが、計数値ＣＮＴが４〜７の時には、６０度分が加算（シフト）され、計数値ＣＮＴが８〜１１の時には、３０度分が加算（シフト）される。なお、計数値ＣＮＴが１２〜１５の時の加算器４７の出力は利用されない。
【００８６】
アドレス制御回路４８は、入力される計数値ＣＮＴの値に応じて、次のような８ビット値ＭＡ０７をそれぞれ出力する。
【００８７】
ＣＮＴ：０，１，４，５，８，９，    ＭＡ０７：加算器４７の出力
ＣＮＴ：２                          ＭＡ０７：０
ＣＮＴ：３                          ＭＡ０７：１
ＣＮＴ：６                          ＭＡ０７：２
ＣＮＴ：７                          ＭＡ０７：３
ＣＮＴ：１０                        ＭＡ０７：４
ＣＮＴ：１１                        ＭＡ０７：５
ＣＮＴ：１２〜１５                  ＭＡ０７：６
また、ラッチ制御回路４５は、入力される計数値ＣＮＴの値に応じて、次のように２ビット値ＭＡ８９をそれぞれ出力する。またメモリ読出し信号ＭＲＤは、計数値ＣＮＴが０〜１２の間、有効になる。
【００８８】
ＣＮＴ：０，１，４，５，８，９      ＭＡ８９：００Ｈ
ＣＮＴ：２，３，６，７，１０〜１５  ＭＡ８９：０１Ｈ
アドレス制御回路４８が出力する８ビット値ＭＡ０７は、双方向ＲＡＭのアドレスの下位８ビットに印加され、ラッチ制御回路４５が出力する２ビット値ＭＡ８９は、双方向ＲＡＭのアドレスの第８ビット及び第９ビットに印加される。従って、双方向ＲＡＭ４９の下位１０ビットの指定アドレスは、入力される計数値ＣＮＴの値に応じて次のようになる。
【００８９】
ＣＮＴ：０，１，４，５，８，９，    ＭＡ０７：加算器４７の出力
ＣＮＴ：２                          ＭＡ０７：０１００Ｈ
ＣＮＴ：３                          ＭＡ０７：０１０１Ｈ
ＣＮＴ：６                          ＭＡ０７：０１０２Ｈ
ＣＮＴ：７                          ＭＡ０７：０１０３Ｈ
ＣＮＴ：１０                        ＭＡ０７：０１０４Ｈ
ＣＮＴ：１１                        ＭＡ０７：０１０５Ｈ
ＣＮＴ：１２〜１５                  ＭＡ０７：０１０６Ｈ
つまり、入力される計数値ＣＮＴの値に応じて、それぞれ次のような情報が、双方向ＲＡＭ４９から読み出される。
【００９０】
0003564582.tif 000002
計数値ＣＮＴが０，１の時に双方向ＲＡＭ４９から出力される第１相の電流値（ＤＡＴＡ：８ビット）は、ラッチ制御回路４５が出力する信号ＰＨ１Ｃに同期して、ラッチ４Ｅにラッチされる。同様に、計数値ＣＮＴが４，５の時に双方向ＲＡＭ４９から出力される第２相の電流値は、ラッチ制御信号ＰＨ２Ｃに同期して、ラッチ４Ｅにラッチされ、計数値ＣＮＴが８，９の時に双方向ＲＡＭ４９から出力される第３相の電流値は、ラッチ制御信号ＰＨ３Ｃに同期して、ラッチ４Ｅにラッチされる。ラッチ４Ｅから出力される３組（３相）の信号Ｓ４が、図１に示す加算回路１６に印加される。
【００９１】
一方、コンパレ−タ４Ｂは、加算器４７の出力と、双方向ＲＡＭ４９の出力とを比較する。ここで、実際に利用されるのは、双方向ＲＡＭ４９の出力のうち、第１相の角度１，第１相の角度２，第２相の角度１，第２相の角度２，第３相の角度１，第３相の角度２および波形の凸／凹区分である。即ち、コンパレ−タ４Ｂは、現在の回転子の角度（＋シフト量）と各相の角度１，角度２との大小関係を識別する。
【００９２】
コンパレ−タ４Ｂの出力は、ラッチ制御回路４５が出力する制御信号ＬＴＣＨ１によって、計数値ＣＮＴが２，３，６，７，１０，１１，１２及び１３の時に、それぞれ駆動信号生成回路４Ｃの内部でラッチされ利用される。即ち、計数値ＣＮＴが２及び３の時のコンパレ−タ４Ｂの出力を利用して、第１相についての通電のオン／オフの切換りを示す２値信号を生成し、計数値ＣＮＴが６及び７の時のコンパレ−タ４Ｂの出力を利用して、第２相についての通電のオン／オフの切換りを示す２値信号を生成し、計数値ＣＮＴが１０及び１１の時のコンパレ−タ４Ｂの出力を利用して、第３相についての通電のオン／オフの切換りを示す２値信号を生成する。また、計数値ＣＮＴが１２及び１３の時のコンパレ−タ４Ｂの出力を利用して、波形の凸／凹を識別し、通電のオン／オフを示す２値信号（Ｓ５）を生成する。
【００９３】
ところで、加算器４７が出力する８ビットデ−タは、０〜１２７の範囲にあり、最上位ビットは常に０である。また、双方向ＲＡＭ４９に保持された第１相の角度１，第１相の角度２，第２相の角度１，第２相の角度２，第３相の角度１及び第３相の角度２も０〜１２７の範囲にあり、最上位ビットは常に０である。一方、双方向ＲＡＭ４９に保持された波形の凸／凹区分は、凹波形に２５５が割当てられ、凸波形に０が割り当てられている。そのため、コンパレ−タ４Ｂが波形の凸／凹区分と加算器４７の出力とを比較する時には、加算器４７の出力とは無関係に、波形の凸／凹区分のみに従ってコンパレ−タ４Ｂの出力が定まる。従って駆動信号生成回路４Ｃは、計数値ＣＮＴが１２及び１３の時には、「波形の凸／凹区分」情報に応じて、出力する３相の２値信号の波形の凸／凹を決定する。
【００９４】
即ち、波形の凸／凹区分が０の場合：
（現在の角度）≦（第１相の角度１）の間はオフ
（第１相の角度１）＜（現在の角度）≦（第１相の角度２）の間はオン
（第１相の角度２）＜（現在の角度）の間はオフ
となる２値信号（Ｓ５）を生成し、
波形の凸／凹区分が２５５の場合：
（現在の角度）≦（第１相の角度１）の間はオン
（第１相の角度１）＜（現在の角度）≦（第１相の角度２）の間はオフ
（第１相の角度２）＜（現在の角度）の間はオン
となる２値信号（Ｓ５）を生成する。第２相，第３相の２値信号（Ｓ５）についても同様である。
【００９５】
駆動信号生成回路４Ｃが生成する第１相，第２相および第３相の２値信号（Ｓ５）は、それぞれ駆動信号生成回路４Ｃから出力されてラッチ４Ｄに入力される。そして、全ての２値信号の状態が確定するタイミング（ＣＮＴ：１３）でラッチ制御回路４５から出力されるラッチ制御信号ＬＴＣＨ１に同期して現われる制御信号ＬＡＴ０によって、駆動信号生成回路４Ｃが出力する３つの２値信号はラッチ４Ｄにラッチされ、３相の２値信号Ｓ５として、出力判定回路１７に印加される。
【００９６】
【発明の効果】
以上のとおり、請求項１の発明によれば、スイッチドレラクタンスモ−タの回転位置（角度）毎に付勢量（例えば電流値）を微妙に調整することができるので、モ−タの回転を円滑にするのに効果的である。また、モ−タの回転方向と駆動方向との一致／不一致に応じて、振動補償量を調整するので、回転方向の逆転を抑制し、振動を抑制しうる。例えば、振動によって実回転方向が、駆動方向に対して逆転している時に、正転の時に比べてモ−タの駆動トルクを大きくすれば、逆転の期間が短縮され、振動が抑制される。
【００９７】
請求項２の発明によれば、モ−タの回転位置（角度）毎に付勢量（例えば電流値）を微妙に調整することができるので、モ−タの回転を円滑にするのに効果的である。また、速度補償量により、目標回転速度と実回転速度との誤差を低減でき、振動補償量により、モ−タの回転方向の振動を抑制しうる。
【００９８】
また請求項３においては、回転位置検出手段（１ｄ）が検出した回転子の実回転位置の微小変化から、実回転方向の変化を検出するため、振動による実回転方向の変化を高感度で検出しうる。
【００９９】
請求項４の発明によれば、モ−タの回転位置（角度）毎に付勢量（例えば電流値）を微妙に調整することができるので、モ−タの回転を円滑にするのに効果的である。
【０１００】
また、前記通電マップ手段が保持する付勢量目標値の更新（計算等の処理）には時間がかかるが、請求項５では、前記第１の制御手段から独立した経路で、前記速度補償量及び前記振動補償量を前記モ−タ付勢手段の入力に加算するので、制御の応答が速く、モ−タの回転を円滑にするのに効果的である。
【０１０１】
また請求項６では、回転速度と必要トルクの両者をパラメ−タとして変化する少なくとも電流値の情報を、回転速度と必要トルクに対応付けて予め保持する電流マップ手段（１３ａ）を備えているため、前記通電マップ手段が保持する付勢量目標値を更新する処理が容易になる。
【図面の簡単な説明】
【図１】実施例のモ−タ駆動装置の構成を示すブロック図である。
【図２】図１の一部分の詳細な構成を示すブロック図である。
【図３】図２のタイミング制御回路１７ｃを示すブロック図である。
【図４】図１の電流波形生成回路１５の構成を示すブロック図である。
【図５】電流波形生成回路１５のメモリの内容と生成する波形との対応を示す模式図である。
【図６】電流波形生成回路１５の動作を示すタイムチャ−トである。
【図７】図１の方向検出回路５の構成を示すブロック図である。
【図８】方向検出回路５の動作を示すタイムチャ−トである。
【図９】電流波形生成回路１５の出力と補償後の信号を示すタイムチャ−トである。
【図１０】図２のタイミング制御回路１７ｃの動作を示すタイムチャ−トである。
【図１１】図２のタイミング制御回路１７ｃと改良前の装置の動作を示すタイムチャ−トである。
【図１２】電流の基準レベルＶｒ２と負荷に流れる電流の波形を示すタイムチャ−トである。
【図１３】ＰＷＭマップメモリ１３ｂの内容を示すマップである。
【図１４】ＣＰＵ１１の処理を示すフロ−チャ−トである。
【図１５】ＣＰＵ１１のタイマ割込処理を示すフロ−チャ−トである。
【図１６】通電回路に流れる電流の経路を示すブロック図である。
【図１７】通電回路に流れる電流の経路を示すブロック図である。
【図１８】ＳＲモ−タ内部の基本構造を示す正面図である。
【図１９】電流マップメモリ１３ａの内容を示すマップである。
【図２０】実施例のＳＲモ−タ１を駆動する場合の基本的な電流波形の例を示すタイムチャ−トである。
【図２１】波形マップメモリ１３ｃの内容を示すマップである。
【符号の説明】
１：ＳＲモ−タ          １ａ，１ｂ，１ｃ，ＣＬ：コイル
２，３，４：電流センサ  ５：方向検出回路
６：Ｄ／Ａ変換器        ７：比較回路
７ａ：アナログ比較器    １１：ＣＰＵ
１２：入力インタ−フェ−ス
１３ａ：電流マップメモリ  １３ｂ：ＰＷＭマップメモリ
１３ｃ：波形マップメモリ  １４：電源回路
１５：電流波形生成回路  １６：加算回路
１６ａ，１６ｂ：加算器  １７：出力判定回路
１８，１９，１Ａ：ドライバ
１８ａ，１８ｂ：トランジスタ（ＩＧＢＴ）
１８ｃ，１８ｄ：ダイオ−ド
１８ｅ，１８ｆ：電源ライン
４１：ラッチ
４２：タイミングパルス発生回路
４３：カウンタ制御回路  ４４：４ビットカウンタ
４５：ラッチ制御回路    ４６：角度補正出力回路
４７：加算器            ４８：アドレス制御回路
４９：双方向ＲＡＭ      ４Ａ：バンク切換回路
４Ｂ：コンパレ−タ      ４Ｃ：駆動信号生成回路
４Ｄ，４Ｅ：ラッチ      Ｒ：回転子
Ｓ：固定子              Ｒａ〜Ｒｄ，Ｓａ〜Ｓｆ：極部
【図１】
0003564582.tif 000003
【図２】
0003564582.tif 000004
【図３】
0003564582.tif 000005
【図４】
0003564582.tif 000006
【図５】
0003564582.tif 000007
【図６】
0003564582.tif 000008
【図７】
0003564582.tif 000009
【図８】
0003564582.tif 000010
【図９】
0003564582.tif 000011
【図１０】
0003564582.tif 000012
【図１１】
0003564582.tif 000013
【図１２】
0003564582.tif 000014
【図１３】
0003564582.tif 000015
【図１４】
0003564582.tif 000016
【図１５】
0003564582.tif 000017
【図１６】
0003564582.tif 000018
【図１７】
0003564582.tif 000019
【図１８】
0003564582.tif 000020
【図１９】
0003564582.tif 000021
【図２０】
0003564582.tif 000022
【図２１】
0003564582.tif 000023