(57)【要約】電子転流式モータの転流方法が取り扱われ、電流パルスのスイッチオフとこれに続く電流パルスのスイッチオンとの間で作用する改善された転流プロシージャが備えられている。ここでは瞬時の回転数に基づき、スイッチオフ時点が計算され、この時点に達したとき直流電源からモータへの電流供給が遮断される。次にスイッチオフすべき巻線が２つのＭＯＳＦＥＴトランジスタを介して短絡で駆動される、巻線内で消失する電流が監視される。この電流が低減された値に達する場合、巻線の巻線端子が一時的に高抵抗に切り替えられ、それに続いて電流パルスが開始する。【選択図】図３
2004517593.tif 000002
【特許請求の範囲】
【請求項１】
電子転流式モータの転流方法であって、
該モータは直流電源に接続されるよう構成されており、かつ永久磁石ロータ（１０８）と、複数の半導体スイッチ（１１４，１３０，１３２，１３６）を有するフルブリッジ回路（１３７）と、２つの巻線端子（１０４，１０６）を備えた駆動巻線（１０２）を有するステータとを有し、
前記駆動巻線（１０２）の一方の巻線端子（１０４）からは、フルブリッジ回路（１３７）の第１の半導体スイッチ（ＨＳＬ１１４）が直流電源の第１の線路（１１６）に導かれ、フルブリッジ回路（１３７）の第２の半導体スイッチ（ＬＳＬ１３２）が当該直流電源の第２の線路（１２２）に導かれ、
他方の巻線端子（１０６）からは、フルブリッジ回路の第３の半導体スイッチ（ＨＳＲ１３０）が第１の線路（１１６）に、フルブリッジ回路の第４の半導体スイッチ（ＬＳＲ１３６）が直流電源の第２の線路（１２２）に導かれ、
駆動巻線（１０２）に、ロータ（１０８）の所定の回転角度領域内での作動時に、少なくとも領域的に電流が第１の方向で供給され、転流プロシージャの経過中に電流が遮断された後は、引き続く回転角度領域内で少なくとも領域的に電流が前記第１の方向とは反対の第２の方向で供給される形式のものにおいて、
以下のステップを有する、すなわち：
ａ）ロータ（１０８）の角速度を表す量（ｔ＿ＨＡＬＬ）を検出するステップ；
ｂ）当該量（ｔ＿ＨＡＬＬ）に基づいて、転流プロシージャの開始時に電流を遮断するための将来的時点（図１５：ｔ３，ｔ４）を計算するステップ；
ｃ）前記時点に達した後、第１の半導体スイッチ（ＨＳＬ）と第３の半導体スイッチ（ＨＳＲ）の全体のうち、当該時点に導通している半導体スイッチを非導通に制御し、これにより直流電源から第１の方向で駆動巻線（１０２）に流れる電流を遮断するステップ；
ｄ）前記半導体スイッチを非導通に制御した後、第２の半導体スイッチ（ＬＳＬ）と第４の半導体スイッチ（ＬＳＲ）の全体のうち、当該時点に導通している半導体スイッチに加えて当該時点に非導通の半導体スイッチも導通制御し、これにより駆動巻線の巻線端子が第２の半導体スイッチ（ＬＳＬ）と第４の半導体スイッチ（ＬＳＲ）を介して低抵抗に相互に接続されるようにし、以て、駆動巻線（１０２）を流れる電流が第１の方向で第２の半導体スイッチ（ＬＳＬ）と第４の半導体スイッチ（ＬＳＲ）とを通ってさらに流れ、消失できるようにするステップ；
ｅ）前記電流が低減された値に達した場合、駆動巻線の巻線端子を高抵抗に切替え、当該巻線端子間では実質的に電流が流れることができないようにするステップ；
ｆ）前記ステップｅ）の終了に続く時点で、フルブリッジ回路（１３７）の制御によって直流電源からの駆動巻線への電流供給を反対の第２の方向でスイッチオンするステップ；
を有することを特徴とする転流方法。
【請求項２】
前記ステップｅ）で、低抵抗の接続に流れる電流を検出し、駆動巻線（１０２）に流れる電流が所定の値まで低下した場合、駆動巻線（１０２）の巻線端子（１０４，１０６）を高抵抗に切り替える、請求項１記載の方法。
【請求項３】
前記所定の値は電流０の領域にある、請求項２記載の方法。
【請求項４】
前記ステップｅ）で、前記ステップｄ）の開始からの時間を監視し、所定の時間間隔を経過した後、巻線端子を高抵抗に切り替える、請求項２記載の方法。
【請求項５】
前記ステップｅ）で、低抵抗の接続に流れる電流を検出し、
・駆動巻線の電流が所定の値まで低下した場合、または
・前記ステップｄ）の開始から所定の時間間隔が経過した場合に、
駆動巻線の巻線端子を高抵抗に切り替える、請求項１記載の方法。
【請求項６】
電流の前記所定の値は電流０の領域にある、請求項５記載の方法。
【請求項７】
フルブリッジ回路はＨブリッジ（１３７）として構成されている、請求項１から６までのいずれか１項記載の方法。
【請求項８】
前記請求項１から７までのいずれか１項記載の方法を実施するためのモータであって、
ロータ（１０８）と、ステータ巻線装置（１０２）を備えるステータと、該ステータ巻線装置（１０２）内の電流（ｉ１，ｉ２）を制御するためのフルブリッジ回路（１３７）とを有し、
前記フルブリッジ回路（１３７）では、第１の直流線路（１１６）と第１のブリッジトランジスタ（１１４，１３０）が接続されており、第２の直流線路（１２２）とは電界効果トランジスタとして構成された第２のブリッジトランジスタ（１３２，１３６）が接続されており、
所定の作動状態の間、第１のブリッジトランジスタ（１１４，１３０）を開成し、第２のブリッジトランジスタ（１３２，１３６）を閉成するための装置（１７２，１９８，１８８）と、
第２のブリッジトランジスタ（１３２，１３６）が導通するとき、該第２のブリッジトランジスタに流れる電流の方向を監視するための装置（２０２）とをさらに有するモータ。
【請求項９】
第２のブリッジトランジスタ（１３２，１３６）が閉成されているとき、これに流れる電流の方向を監視するための装置（２０２）は、電流方向の反転を検出する際に、第２のブリッジトランジスタ（１３２，１３６）の開成を開始するように構成されている、請求項８記載のモータ。
【請求項１０】
請求項１から７までのいずれか１項記載の方法を実施するためのモータであって、
ロータ（１０８）と、ステータ巻線装置（１０２）を備えるステータと、該ステータ巻線装置（１０２）内の電流を制御するためのフルブリッジ回路（１３７）とを有し、
前記フルブリッジ回路（１３７）では、第１の直流線路（１１６）と第１のブリッジトランジスタ（１１４，１３０）が接続されており、第２の直流線路（１２２）とは第２のブリッジトランジスタ（１３２，１３６）が接続されており、
さらに一方の直流線路（１２２）から少なくとも１つのブリッジトランジスタ（１３２，１３６）へ流れる電流を監視するための装置（１７２，１９８）を有し、
当該装置は、所定の電流を上回る際に応答し、他方の直流線路（１１４，１３０）と接続された少なくとも１つのブリッジトランジスタ（１１４，１３０）を導通状態から非導通状態へ制御するように構成されている、モータ。
【請求項１１】
電流を監視するための前記装置（１７２，１８８，１９８）はスイッチヒステリシスを有し、
これにより当該装置は、第１の電流値でアクティベートされ、第２の電流値でデアクティベートされ、
該第２の電流値は大きさは第１の電流値よりも小さくなるよう構成される、請求項１０記載のモータ。
【請求項１２】
一方の線路ではブリッジトランジスタ（１３２，１３６）に測定抵抗（１３４，１３８）が設けられており、
該測定抵抗にはコンパレータが配属されており、
該コンパレータは、測定抵抗から導出された測定電圧を所定の比較電圧（Ｕｒｅｆ）と比較する、請求項１１記載のモータ。
【請求項１３】
前記比較電圧（Ｕｒｅｆ）はコンパレータ（１７２，１９８）の出力信号の関数であり、所定の電流を上回る際に変化して、スイッチヒステリシスに影響を及ぼす、請求項１２記載のモータ。
【請求項１４】
複数の測定抵抗（１３４，１３８）と、該測定抵抗に配属されたコンパレータ（１７２，１９８）とが設けられており、
該コンパレータの出力信号は結合素子（１９２，１９４）を介して１つの共通の出力素子（１８８）に供給され、
該出力素子は、ブリッジトランジスタで所定の電流を上回る際に相応の出力信号を送出し、すべてのコンパレータに対する基準電圧（Ｕｒｅｆ）を低下させる、請求項１１から１３までのいずれか１項記載のモータ。
【請求項１５】
他方の直流線路（１１６）と接続されたブリッジトランジスタ（１１４，１３０）は所定の電流を上回る際にハードウエア（１４８，１５２，１５４，１６０）により非導通に制御される、請求項１０から１４までのいずれか１項記載のモータ。
【請求項１６】
他方の直流線路（１１６）と接続されたブリッジトランジスタ（１１４，１３０）は所定の電流を上回る際に冗長的にソフトウエアによっても非導通に制御される、請求項１５記載のモータ。
【請求項１７】
電流監視装置（１７２，１９８）の出力信号（Ｉｍａｘ）は、モータのハードウエアにも、モータに配属されたマイクロコンピュータ（４０）にも供給され、
これによりハードウエアを介して直接的にも、マイクロコンピュータ（４０）の出力端での命令によっても、他方の直流線路（１１６）と接続されたブリッジトランジスタ（１１４，１３０）を非導通に制御する、請求項１６記載のモータ。
【請求項１８】
出力信号（Ｉｍａｘ）はマイクロコンピュータ（４０）の入力端に供給され、
該マイクロコンピュータでは該出力信号の発生時に割込み（図１７：Ｉｍａｘ割込み）がトリガされる、請求項１７記載のモータ。
【請求項１９】
割込みの発生時に、他方の直流線路（１１６）と接続されたブリッジトランジスタ（１１４，１３０）の非導通制御に加えて、一方の直流線路（１２２）と接続された複数のブリッジトランジスタ（１３２，１３６）を導通制御し、これによりこれらのトランジスタを介してモータ（１００）の巻線（１０２）は実質的に短絡で作動される、請求項１８記載のモータ。
【請求項２０】
時間制御部（図１７：Ｓ５１０）が設けられており、これによりブリッジトランジスタ（１３２，１３６）の導通制御を所定時間の経過後にデアクティベートする、請求項１９記載のモータ。
【請求項２１】
割込み（図１７：Ｉｍａｘ割込み）の発生時に、ＰＷＭ信号（ＰＷＭ）のデューティ比（ｐｗｍ）は縮小され（図１７：Ｓ５０８）、
該デューティ比はモータのステータ巻線における電流実効値（ｉ１，ｉ２）に影響を及ぼす、請求項１９または２０記載のモータ。
【請求項２２】
デューティ比（ｐｗｍ）は、電流が過度に大きいことに起因する割込みが繰り返し発生する際、少なくとも２つのロータ回転の間にはこのような割込みが発生しないように低下される、請求項２１記載のモータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子転流式直流モータの転流方法およびこの方法を実施するためのモータに関する。
【０００２】
【従来の技術】
電子転流式モータは“呼吸するように”動作する。すなわち、その通常のエネルギー消費に加えてエネルギーを電源網または電源網に接続された蓄積コンデンサから取り出し、またその間では転流中に、エネルギーをこの蓄積コンデンサに出力することを交互に行う。電子技術ではこの現象を無効電力現象とも称する。この無効電力に適合するために蓄積コンデンサは非常に大きな容量を有していなければならず、エネルギーを一時蓄積できるようにするため、通常は数百μＦである。このような蓄積コンデンサは制限された寿命を有し、モータの中で広いスペースを必要とする。
【０００３】
【発明が解決しようとする課題】
従って本発明の課題は、電子転流式モータの転流方法およびこの方法を実施するのに適するモータを提供することである。
【０００４】
【課題を解決するための手段】
本発明によればこの課題は、請求項１の構成によって解決される。この方法は電子転流式モータの転流方法であり、電流パルスのスイッチオフとこれに続く電流パルスのスイッチオンとの間で作用する改善された転流プロシージャを有している。ここでは瞬時の（ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）回転数に基づいて、スイッチオフ時点が計算され、この時点に達したとき、直流電源からモータへのエネルギー供給が遮断される。次にスイッチオフすべき巻線は双方向に導通する２つの半導体スイッチを介して実質的に短絡状態で作動され、巻線で減衰する電流が監視される。この電流が低減された値に達すると、巻線の巻線端子は一時的に高抵抗に切り替えられ、それから後続の電流パルスが開始する。このようにして転流プロシージャ中に、モータのインダクタンスに蓄積された電気エネルギーが良好に機械的エネルギーに変換されるようになり、従って無効電力が減少し、必要な蓄積コンデンサを比較的に小さくすることができる。
【０００５】
即ち本発明の転流方法は、電子転流式モータの転流方法であって、該モータは直流電源に接続されるよう構成されており、かつ永久磁石ロータと、複数の半導体スイッチを有するフルブリッジ回路と、２つの巻線端子を備えた駆動巻線を有するステータとを有し、前記駆動巻線の一方の巻線端子からは、フルブリッジ回路の第１の半導体スイッチ（ＨＳＬ）が直流電源の第１の線路に導かれ、フルブリッジ回路の第２の半導体スイッチ（ＬＳＬ）が当該直流電源の第２の線路（１２２）に導かれ、他方の巻線端子からは、フルブリッジ回路の第３の半導体スイッチ（ＨＳＲ）が第１の線路に、フルブリッジ回路の第４の半導体スイッチ（ＬＳＲ）が直流電源の第２の線路に導かれ、駆動巻線に、ロータの所定の回転角度領域内での作動時に、少なくとも領域的に電流が第１の方向で供給され、転流プロシージャの経過中に電流が遮断された後は、引き続く回転角度領域内で少なくとも領域的（ｂｅｒｅｉｃｈｓｗｅｉｓｅ）に電流が前記第１の方向とは反対の第２の方向で供給される形式のものにおいて、以下のステップを有することを特徴とする：ａ）ロータの角速度を表す量（ｔ＿ＨＡＬＬ）を検出するステップ；ｂ）当該量（ｔ＿ＨＡＬＬ）に基づいて、転流プロシージャの開始時に電流を遮断するための将来的時点（図１５：ｔ３，ｔ４）を計算するステップ；ｃ）前記時点に達した後、第１の半導体スイッチ（ＨＳＬ）と第３の半導体スイッチ（ＨＳＲ）の全体のうち、当該時点に導通している半導体スイッチを非導通に制御し、これにより直流電源から第１の方向で駆動巻線に流れる電流を遮断するステップ；ｄ）前記半導体スイッチを非導通に制御した後、第２の半導体スイッチ（ＬＳＬ）と第４の半導体スイッチ（ＬＳＲ）の全体のうち、当該時点に導通している半導体スイッチに加えて当該時点に非導通の半導体スイッチも導通制御し、これにより駆動巻線の巻線端子が第２の半導体スイッチ（ＬＳＬ）と第４の半導体スイッチ（ＬＳＲ）を介して低抵抗に相互に接続されるようにし、以て、駆動巻線を流れる電流が第１の方向で第２の半導体スイッチ（ＬＳＬ）と第４の半導体スイッチ（ＬＳＲ）とを通ってさらに流れ、消失できるようにするステップ；ｅ）前記電流が低減された値に達した場合、駆動巻線の巻線端子を高抵抗に切替え、当該巻線端子間では実質的に電流が流れることができないようにするステップ；ｆ）前記ステップｅ）の終了に続く時点で、フルブリッジ回路の制御によって直流電源からの駆動巻線への電流供給を反対の第２の方向でスイッチオンするステップ。この方法を実施するための有利なモータは請求項８に記載されている。
【０００６】
【発明の実施の形態】
本発明のさらなる詳細および有利な改善構成は、以下に説明する、および図面に示された、しかし本発明の制限と理解すべきではない実施例並びに従属請求項から明かとなる。
【０００７】
【実施例】
以下の説明で、同じ部材または同じに作用する部材には同じ参照符号を用い、それらは通常一度しか説明しない。内容が難解であるので、しばしば具体的数値を挙げる。これは例えば３Ａ、１．６Ａ、２００μｓ、１０００Ｕ／ｍｉｎ等であり、明細書を読みやすくするためである。しかしこれらの具体的値は、単なる例であり、本発明を制限するものではない。
【０００８】
図１は、本発明のモータの有利な一実施例を概略的に示す。
【０００９】
本来のモータ１００はこの実施例では、２つの端子１０４、１０６を備える巻線１０２、並びに永久磁石ロータ１０８を有する。以下に説明する実施例は、４極ロータ１０８を有するモータ１００に関連するものであるが、もちろん、任意の極数および他の巻線の数も可能である。このモータ１００の例を選択したのは、その単純さのため、非常に複雑な本発明の理解を容易にするためである。
【００１０】
この実施例はモータ１００を示し、このモータでは１８０゜ｅｌのロータ回転の領域で電流ｉ１が端子１０４から端子１０６の方向へ流れ、引き続く１８０゜ｅｌのロータ回転の領域で電流ｉ２が１０６から１０４へ流れる。電流ｉ１とｉ２の持続時間（開始から終了まで）と振幅はモータの必要性に応じて変化される。このことは通常、いわゆるブロック制御と称される。すなわち電流ｉ１は例えば０゜から１８０゜ｅｌの長さを有することができ、電流ｉ２も同じである。さらに追加コストなしでいわゆる早期点弧（Ｆｒｕｅｈｚｕｅｎｄｕｎｇ）が可能である。これは図１５にＶＺで示されており、後で式（３ａ）と（４ａ）で説明する。
【００１１】
このようなモータはただ１つの巻線１０２だけが必要であるから、このモータは非常に単純である。このモータは有利にはファンの駆動に使用される。ＤＥ２３４６３８０はこのようなモータの構造に対する例を開示しており、非常に多くのバリエーションで製造されている。
【００１２】
モータ１００は有利にはロータ１０８により制御される電流磁気効果型ロータ位置センサー１１０、例えばホール発電機（Ｈａｌｌｇｅｎｅｒａｔｏｒ）を有し、このセンサは図１の左側にも改めて示されている。このセンサの出力信号は増幅器１１２を介して増幅され、矩形パルスＨＡＬＬに変形され、マイクロコントローラμＣ４０に供給される。ここでこのパルスＨＡＬＬの各エッジは割込みをトリガする（以下、ＨＡＬＬ割込みと称する）。図１６参照。ロータ１０８は磁化されているので、ロータ１０８の１８０゜ｅｌの回転後その都度このようなＨＡＬＬ割込みがトリガされる。２つのＨＡＬＬ割込みの間の間隔ｔ＿ＨＡＬＬは、回転数が小さい場合には大きく、回転数が大きい場合には小さい。従ってこの間隔ｔ＿ＨＡＬＬはロータ１０８の回転数に対する尺度であり、回転数制御（図３０）に使用される。時間間隔ｔ＿ＨＡＬＬは、ロータ１０８が１８０゜ｅｌ回転するのに必要な時間に相応する。以下の式（６）及び式（７）を参照。
【００１３】
巻線１０２の端子１０４はＰチャネルＭＯＳＦＥＴ１１４のドレインＤと接続され、そのソースＳはプラス線路１１６に接続されており、プラス線路は保護ダイオード１１８を介してプラス端子１２０と接続される。プラス端子は、通常は、概略的に図示した電源装置１２１に接続され、電源装置は、例えば１２Ｖ、２４Ｖ、４８Ｖまたは６０Ｖの直流電圧を、モータ１００の形式に応じて供給する。モータ１００のマイナス線路（ＧＮＤ）は１２２により示されており、その端子は１２４により示されている。プラス線路１１６とマイナス線路１２２との間にはコンデンサ１２６が接続される。
【００１４】
モータ１００はあたかも「呼吸」するかのように作動する。すなわちモータはエネルギーを電源装置１２１とコンデンサ１２６から取り込み、その間、即ち各転流プロシージャの間にエネルギーを送出する。このエネルギーはコンデンサ１２６により中間蓄積されなければならない。これは線路１１６と１２２との間の電圧が過度に高くならないようにするためである。従ってコンデンサ１２６の容量は、対比可能な出力データを有する従来のモータではおよそ５００μＦであるが、本発明ではこれを格段に小さくすることができる。小型モータでは、比較的に大きなコンデンサ１２６を収容するのは簡単ではない。モータ内の高温のため、このようなコンデンサの寿命は制限される。従って本発明の課題の１つは、コンデンサ１２６を小型に保持し、電気的にあまり負荷をかけないようにすることである。たとえば動作電圧が１２Ｖの場合、このコンデンサの容量は、モータが本発明により作動すれば、６０〜１００μＦにすることができる。
【００１５】
巻線１０２の端子１０６はＰチャネルＭＯＳＦＥＴ１３０のドレインＤと接続され、そのソースＳは線路１１６と接続される。
【００１６】
端子１０４もまたＮチャネルＭＯＳＦＥＴ１３２のドレインＤと接続され、そのソースＳは測定抵抗１３４を介してマイナス線路１２２と接続される。
【００１７】
同じように端子１０６はＮチャネルＭＯＳＦＥＴ１３６のドレインＤと接続され、そのソースＳは測定抵抗１３８を介してマイナス線路１２２と接続される。
【００１８】
ＭＯＳＦＥＴ１１４、１３０、１３２、１３６に対して逆並列になるよう通常のようにフリーホイールダイオード１１４’、１３０’、１３２’、１３６’が接続される。
【００１９】
ＭＯＳＦＥＴ１３２のゲートＧは増幅器１４０の出力端に接続され、その入力端１４２にはμＣ４０から信号ＬＳＬが、ＭＯＳＦＥＴ１３２がスイッチオンされるべき場合に供給される（ＬＳＬは、以下、ＬＳＬ＿ＯＵＴとも示す。信号ＬＳＲ，ＨＳＬおよびＨＳＲについても同様である）。
【００２０】
ＭＯＳＦＥＴ１３６のゲートＧは増幅器１４４の出力端に接続され、その入力端１４６にはμＣ４０から信号ＬＳＲが、トランジスタ１３６がスイッチオンされるべき場合に供給される。
【００２１】
ＭＯＳＦＥＴ１１４のゲートＧは増幅器１４８の出力端に接続され、その入力端１５０は結合素子１５２の出力信号によって制御される。これは増幅器１４８と共にＮＡＮＤゲートを形成する。すなわち、結合素子１５２の入力信号の１つがローであるとき、ＭＯＳＦＥＴ１１４は遮断される。この場合、結合素子１５２はロー出力信号を有している。これによりドライバ増幅器１４８は高抵抗となり、電位をＦＥＴ１１４のゲートＧでプルアップし、ＦＥＴ１１４は非導通となる。
【００２２】
ＭＯＳＦＥＴ１３０のゲートＧは増幅器１５４の出力端に接続され、その入力端１５６は結合素子１６０の出力信号により制御される。これは増幅器１５４と共にＮＡＮＤゲートを形成する。すなわち結合素子１６０の入力信号の１つがローであれば、ＭＯＳＦＥＴ１３０は遮断される。この作動態様は、回路の対称性のため、ＦＥＴ１１４と同様である。
【００２３】
２つの結合素子１５２と１６０にはμＣ４０からＰＷＭ信号ＰＷＭが供給される。このＰＷＭ信号は例えば周波数２０ｋＨｚを有し、そのデューティ比ｐｗｍはμＣ４０によって０〜１００％の間で調整可能である。この信号ＰＷＭは作動時に連続的にμＣ４０により生成され、モータ１００に供給される電流の大きさを定める。
【００２４】
同様に２つの結合素子１５２と１６０、並びにμＣ４０には、ＭＯＳＦＥＴ１３２またはＭＯＳＦＥＴ１３６の電流が所定の限界値を上回ると（ローの）信号Ｉｍａｘが供給される。この信号Ｉｍａｘは２つのＭＯＳＦＥＴ１１４と１３０をモータのハードウエアを介して直ちに遮断する。（所定の時点ではこの２つのＭＯＳＦＥＴ１１４，１３０の１つだけは常に導通可能である。）従ってこの信号Ｉｍａｘは「ローアクティブ」である。すなわちＩｍａｘがローであるとき、電流は遮断される。
【００２５】
さらに結合素子１５２にはμＣ４０から転流信号ＨＳＬが供給され、トランジスタ１１４を制御する。同じように結合素子１６０にはμＣ４０から転流信号ＨＳＲが供給され、トランジスタ１３０を制御する。
【００２６】
概念ＨＳＬ等は記憶上の便宜のためのものであり、次のことを意味する。
ＨＳＬ      Ｈｉｇｈ Ｓｉｄｅ Ｌｅｆｔ        トランジスタ１１４
ＨＳＲ      Ｈｉｇｈ Ｓｉｄｅ Ｒｉｇｈｔ        トランジスタ１３０
ＬＳＬ      Ｌｏｗ Ｓｉｄｅ Ｌｅｆｔ        トランジスタ１３４
ＬＳＲ      Ｌｏｗ Ｓｉｄｅ Ｒｉｇｈｔ        トランジスタ１３６
４つのトランジスタ１１４、１３０、１３２、１３６は巻線１０２と共にいわゆるＨブリッジ（またはフルブリッジ）１３７を形成し、このＨブリッジは上段（Ｈｉｇｈ ＳｉｄｅまたはＨＳ）トランジスタ１１４、１３０と、下段（Ｌｏｗ ＳｉｄｅまたはＬＳ）トランジスタ１３２、１３６を有している。トランジスタ１１４と１３６がスイッチオンされると、電流ｉ１は巻線１０２内を左から右へ流れる。トランジスタ１３０と１３２がスイッチオンされると、電流ｉ２は巻線１０２内を右から左へ流れる。
【００２７】
入力端１４２と１５０との間にはロック素子１６６が設けられている。このロック素子はトランジスタ１１４と１３２が同時に導通するのを阻止する。同じように入力端１４６と１５６との間にはロック素子１６８が設けられており、このロック素子はトランジスタ１３０と１３６が同時に導通するのを阻止する。これらロック素子はＨブリッジ１３７を保護するために用いる。
【００２８】
抵抗１３４での電圧は（ノイズパルスをろ波除去するための）信号フィルタ１７０を介してコンパレータ１７２のプラス入力端に供給され、そのマイナス入力端はノード点１７４と接続される。このノード点は抵抗１７６を介してマイナス線路１２２と、また抵抗１７８を介してノード点１８０と接続される。ノード点１８０は抵抗１８２を介して線路１８４と接続される。線路１８４は＋５Ｖの制御電圧に接続される。従って抵抗１７６での電圧は、どの程度の電流で最大電流の識別（検出）が応答するかを設定する基準電圧Ｕｒｅｆをなす。
【００２９】
ノード点１８０は抵抗１８６を介してｎｐｎトランジスタ１８８のコレクタと接続される。このトランジスタでは過電流の際に（ローの）信号Ｉｍａｘが形成され、従ってこのトランジスタは結合素子１５２および１６０並びにμＣ４０に直接接続され、さらに抵抗１９０を介して線路１８４と接続される。
【００３０】
トランジスタ１８８のエミッタはマイナス線路１２２と接続される。このトランジスタのベースは抵抗１９１を介して２つのダイオード１９２，１９４のカソードと接続され、これら２つのカソードは抵抗１９３を介してマイナス線路１２２（ＧＮＤ）と接続される。ダイオード１９２のアノードはコンパレータ１７２の出力端と接続される。
【００３１】
測定抵抗１３８での電圧は、信号フィルタ１９６を介してコンパレータ１９８のプラス入力端に供給され、このコンパレータのマイナス入力端はノード点１７４と接続される。コンパレータ１９８の出力端はダイオード１９４のアノードと接続される。
【００３２】
測定抵抗１３４を通る電流が過度に高い場合、コンパレータ１７２のプラス入力端はマイナス入力端に対して正となるため、トランジスタ１８８はダイオード１９２を介してベース電流を受け取り、スイッチオンされる。抵抗１３８を流れる電流が過度に高い場合、コンパレータ１９８のプラス入力端はそのマイナス入力端に対して正となるため、トランジスタ１８８はダイオード１９４を介してベース電流を受け取り、導通する。
【００３３】
両方の場合とも、この結果、抵抗１８６が抵抗１７６，１７８に対して並列に接続される。これにより抵抗１８２を通る電流が増加し、従ってこの抵抗での電圧降下が増大する。従ってトランジスタ１８８が導通すると直ちに自動的に基準電圧Ｕｒｅｆが低下し、これはスイッチヒステリシス（Ｓｃｈａｌｔｈｙｓｔｅｒｅｓｅ）へ作用する。すなわちコンパレータ１７２は、例えば３Ａの過電流の際にはスイッチオンし、約１．６Ａになってから初めて再びスイッチオフする。コンパレータ１９８も同様に作動する。これは、上段トランジスタ１１４，１３０は例えば３Ａの際に強制的にスイッチオフされ、抵抗１３４または１３８での電流が１．６Ａに降下してから初めて再びスイッチオンできる（スイッチオンしなければならないのではない）ことを意味する。これによって上段トランジスタ１１４、１３０の過負荷は阻止される。すなわちちょうど導通しているトランジスタは、過電流の場合、ローの信号Ｉｍａｘがトランジスタ１８８のコレクタに生成されると直ちに、完全に遮断される。そしてこのトランジスタは、信号Ｉｍａｘがもはや生成されなくなり、かつこのトランジスタに対する他のスイッチオン基準（これについては後に詳細に説明する）が存在してから初めて再びスイッチオンすることができる。
【００３４】
２つの上段トランジスタ１１４、１３０が遮断され、かつ、２つの下段トランジスタ１３２、１３６が導通している場合に対してゼロ（零点、零位（線））通過を識別（検出）するために、コンパレータ２０２が用いられる。このコンパレータ２０２のマイナス入力端はコンパレータ１７２のプラス入力端と、コンパレータ２０２のプラス入力端はコンパレータ１９８のプラス入力端と接続される。
【００３５】
既に導通している上段トランジスタ１１４または１３０が遮断された後、２つの下段トランジスタ１３２、１３６が導通制御されると、巻線１０２に蓄積されていた電気エネルギーにより生成される電流によって、２つの抵抗１３４、１３８に電圧降下が生ずる。巻線１０２を流れる電流が電動機的作動モードから発電機的作動モードへ移行すると、図３の個所２２２に示す場合のように、この電流はその方向を変化させ、その時にゼロを通過する。
【００３６】
例えば電動機的作動モードの電流が端子１０６から抵抗１３８、１３４を介して端子１０４へ流れる場合、コンパレータ２０２のプラス入力端はそのマイナス入力端に対して正である。ゼロ通過の後、電流は端子１０４から抵抗１３４、１３８を介して端子１０６へ流れ、今度はコンパレータ２０２のマイナス入力端がプラス入力端に対して正となる。従って電流のゼロ通過の際に信号Ｉｍｉｎはコンパレータ２０２の出力端で跳躍的に変化する。すなわち、ＬｏｗからＨｉｇｈへ、またはＨｉｇｈからＬｏｗへ変化する。従ってゼロ通過時に急激な信号変化（切替エッジ）がコンパレータ２０２の出力端に発生し、これはμＣ４０での割込みに作用する。この割込みにより４つのトランジスタ１１４、１３０、１３２、１３６はすべて遮断される。この割込みはＩｍｉｎ割込みと称し、後で図１９に基づき詳細に説明する。
【００３７】
図１の基本的作動態様を説明する。図２と図３を参酌して、非常に概略的に作動を説明する。図２は、従来技術のモータのステータにおける電流推移を示す。図３は、本発明のモータの一例についての同様の電流推移を示す。図２と図３は、３６０゜ｅｌの回転角度にわたり以下の値を示す：
ａ）ロータ１０８の磁束密度（“誘導”）Ｂ
磁束密度はテスラ（Ｔ）で測定される。その推移はこの実施例ではほぼ台形状である。これを“台形状の磁化”と呼ぶことができる。これは、本発明の枠内において、Ｂの有利な推移であるが、Ｂのただ１つの可能な推移ではない。
【００３８】
ロータ１０８が回転するとき、磁束密度Ｂの変化は、ステータ巻線１０２に電圧を誘導する。この電圧の形状はＢの形状に相応する。従ってこの実施例では同様に台形状である。この電圧の振幅は回転数の上昇と共に増大する。この電圧を“誘導電圧”または“逆起電力（Ｇｅｇｅｎ−ＥＭＫ，ｃｏｕｎｔｅｒ ＥＭＦ）”と称する。
【００３９】
ｂ）図２は、従来のモータでのステータ電流の電流推移を示す。
巻線１０２を流れる電流ｉ１は通常、時間的に０゜ｅｌ後に開始し、この領域ではＢの値が低い、すなわち逆起電力が小さいため、最初は２１０で急激に立ち上がる。この立ち上がりにより、電流ｉ１により供給されるエネルギーの一部が−時間的に遅延されて−ロータ１０８の運動エネルギーに変換される。次に電流ｉ１は２１１では、逆起電力が比較的大きいため、極小値２１２まで再び少し低下する。図２、すなわち従来のモータでは、２１２から、電流ｉ１は極大値２１６まで上昇し、ここで電流ｉ１は遮断され、その後、曲線２１８に沿ってゼロまで低下する。ゼロ通過２１７はこの例（図２）では、１８０゜ｅｌのやや前で達成されるが、ホール発電機１１０の角度位置（Ｗｉｎｋｅｌｓｔｅｌｌｕｎｇ）に応じて１８０゜ｅｌの後であっても良い。
【００４０】
端子１０６から端子１０４へ流れる電流ｉ２に対しては、装置構成が対称的であるので、同様の推移が生じるので、再度説明はしない。電流ｉ２は図２では１８０゜ｅｌで開始する。
【００４１】
個所２１７と電流ｉ２の開始との間の時間間隔Ｐを切替休止または切替ギャップＰと称する。これはＨブリッジ１３７の短絡を阻止するためにとりわけ必要である。（図１で例えばトランジスタ１１４と１３２が同時に導通するとすれば、これらトランジスタを通ってプラス線路１１６からマイナス線路１２２への短絡電流が発生することになるであろう。）
【００４２】
凡そ０゜ｅｌから極大値２１６までの角度領域で、従来の転流によるＥＣＭの場合、巻線電流ｉ１は時間的に遅延されてロータ１０８の運動エネルギーに変換される。
【００４３】
個所２１６で電流ｉ１が急激に遮断されると、巻線１０２に、この電流ｉ１をさらに流し続けようとする高い誘導電圧が発生する。その結果、電流ｉ１は個所２１６と２１７との間でフライホイールダイオード１３２’および１３０’を介してコンデンサ１２６へ流れこみ、これを充電する。ここで巻線１０２に蓄積されたエネルギーＥはほとんど完全にコンデンサ１２６に移しかえられる。従って従来のモータでは、線路１１６と１２２との間で電圧が過度に強く立ち上がらないようにするためには、このコンデンサを非常に大きくしなければならない。。エネルギーＥは時点２１６での電流Ｉの二乗と、巻線１０２のインダクタンスＬに依存する。次式が成立する
Ｅ＝Ｉ２＊Ｌ／２                                      （１）
ここで
Ｅ＝巻線１０２に蓄積された磁気的エネルギー
Ｉ＝巻線１０２の瞬時（実際ないしその時々：ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）の電流
Ｌ＝巻線１０２のインダクタンス
Ｉは遮断時には非常に大きいので、巻線１０２に誘導的に蓄積されるエネルギーＥも非常に大きい。
【００４４】
このエネルギーは巻線１０２の遮断後、コンデンサ１２６に伝達される。従って無効電力がコンデンサ１２６と巻線１０２との間で往復することとなる。従来のモータではこの無効電力は大きいので、コンデンサ１２６も大きくなければならない。この無効電力のため流れる大電流によって、モータの効率を低下させる不必要な損失が発生する。
【００４５】
これに対し、本発明ではこの無効電力は低減される。すなわち、本発明では、遮断時に巻線１０２からコンデンサ１２６へ逆流するエネルギーをできるだけ小さくするのではなく、このエネルギーによりロータ１０８を駆動するのである。
【００４６】
本発明のよる転流プロシージャ（図３）
この理由から図３では、従来技術とは大きく異なる転流プロシージャが使用される。図３でも電流ｉ１はスイッチオン後、２１０で大きく立ち上り、２１１で減少する。この点においては推移は図２と同様である。しかし以下の点で異なる：
【００４７】
ａ）線路１１６，１２２から巻線１０２へのエネルギー供給がμＣ４０により計算された個所２１４で遮断される。通常そこでは、モータ電流ｉ１がまだその極大値２１６（図２）に到達していない。遮断時点２１４の計算は、図３０に示されている。遮断は、瞬時に（当該時点で：ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）導通している上段トランジスタ（１１４または１３０）が個所２１４で遮断されることにより行われる。以下に図２５で一例としてこれがどのように行われるかを説明する。
【００４８】
ｂ）次に時点２１４で、通常は短い休止の後に、２つの下段トランジスタ１３２と１３６が導通制御される。図２５、Ｓ８４０参照。これにより電流ｉ１はこの２つのトランジスタを通ってさらに流れることができ、電流はＦＥＴ１３６内をドレインＤからソースＳへ流れる。このことはＦＥＴの場合は可能である。これにより巻線１０２の端子１０４と１０６との間の低抵抗の接続が形成され、この接続時に電流ｉ１は曲線２２０に沿って減衰する。このとき電流はロータ１０８をさらに駆動する。すなわち電動機的エネルギーを生成する。
【００４９】
ｃ）個所２２２で電流ｉ１はゼロを通過し、その後は、トランジスタ１３２と１３６がさらに導通しているとすれば、発電機的電流２２４としてとしてさらに流れることとなるであろう。この電流２２４は点線で示されている。この電流は制動的に作用することとなるものであるので、望ましいものではない。
【００５０】
この電流を阻止するため、演算増幅器２０２（図１）により個所２２２の領域で信号Ｉｍｉｎが生成される。この信号はμＣ４０でＩｍｉｎ割込みを構成する。従ってμＣ４０はＨブリッジ１３７の４つのトランジスタ１１４、１３０、１３２、１３６をすべて直ちに非導通制御する。このことは図３の実施例ではポイント２２２の直後に行われる。
【００５１】
時点２２２で電流ｉ１＝０であるので、すべてのＭＯＳＦＥＴの遮断時に巻線１０２にはエネルギーはもはや蓄積されない。その結果、巻線１０２の遮断後にエネルギーが巻線１０２からコンデンサ１２６へ逆流することもない。
【００５２】
巻線１０２にはこの時点でまだ、ロータ磁石１０８により誘導された電圧が存在するが、この電圧は時点２２２では小さく、通常はほんの数Ｖであり、従って障害とはならない。
【００５３】
そして、短い切替休止Ｐ１後、電流ｉ２がスイッチオン（投入）される。このスイッチオンのための時点はμＣ４０により計算される。図３０参照。
【００５４】
モータのスタート時には、曲線２２０の電流ｉ１が値ゼロに達するまでかなり長く掛かるであろうから、従ってここでは電流は特別の関数、いわゆるＴＩＭＥＯＵＴ関数により所定時間後、例えば５００〜８００μｓ後に遮断される。この遮断は、たとえ電流ｉ１（またはｉ２）が値ゼロにまだ達していなくても行われる。従ってここでは、上段トランジスタ１１４、１３０が遮断される個所２１４に達してからの時間Ｔ３と電流Ｉｍｉｎが監視される。Ｈブリッジ１３７のすべてのトランジスタは、遅くともＴ３の経過後、遮断されるか、またはＩｍｉｎ割込みがＴ３の終了よりも早期に発生する場合、このＩｍｉｎ割込みの形成時に遮断される。Ｔ３は典型的には５００〜８００μｓの領域にある。
【００５５】
図４は巻線１０２を流れる電流を示す。この電流は作動時に実際に測定されるものであり、線路１１６（図１）の電流Ｉも比較のために示されている。巻線１０２を流れる電流は、ロータ１０８の回転時にその方向を変化させる。他方、電流Ｉは一方向にだけ流れる。電流Ｉは分かり易く比較するためにゼロライン９８を基準にして下方にプロットされている。
【００５６】
時点ｔ１０では、電流ｉ２は、ここで遮断命令を受け取り、そのため、上段トランジスタ１３０は遮断され、短時間の遅延後に２つの下段トランジスタ１３２、１３６がスイッチオンされる。このことにより電流ｉ２は曲線２２０Ａに沿って減衰する。
【００５７】
時点ｔ１１で電流ｉ２はゼロを通過し、時点ｔ１２で上述したＩｍｉｎ割込みが作動する。このＩｍｉｎ割込みにより４つすべてのトランジスタ１１４、１３０、１３４、１３８が遮断され、これにより巻線１０２にはｔ１２の直後の時点から時点ｔ１３まで電流が流れない。
【００５８】
μＣ４０で計算される時点ｔ１３（図３０参照）で、電流ｉ１がスイッチオン（投入）される。このスイッチオンは、トランジスタ１１４と１３８が導通制御されることにより行われる。従って電流ｉ１は図示のように上昇する。μＣ４０で計算される時点ｔ１４でｉ１は遮断される。この遮断は、上段トランジスタ１１４が遮断され、下段トランジスタ１３２、１３６が両方とも導通制御されることにより行われる。その結果、電流ｉ１は曲線２２０Ｂに沿って減少し、時点ｔ１５で値ゼロに達する。その直後に、Ｉｍｉｎ割込みが作動し、４つすべてのトランジスタ１１４、１３０、１３２、１３６は時点ｔ１６まで遮断される。そしてこの時点ｔ１６でトランジスタ１３０と１３２がスイッチオンされ、これにより電流ｉ２は流れることができる。
【００５９】
図４は、ｔ１０の左に線路１１６の電流Ｉを示し、これは巻線１０２の電流ｉ２と同じである。
【００６０】
時点ｔ１０で電流Ｉはプラス線路１１６から流れることができなくなる。なぜなら上段トランジスタ１３０が開成され、２つの下段トランジスタ１３２、１３６が導通するからである。その結果、電流ｉ２はこの２つのトランジスタを通ることによってのみさらに流れる。従って電流Ｉはｔ１０からｔ１３の間、実質的に値ゼロに留まる。
【００６１】
ｔ１３からｔ１４までは、電流Ｉは電流ｉ１に対して（ゼロライン９８に関し）鏡像的に推移する。すなわちこの２つの電流は絶対値的には同じ大きさである。ｔ１４からｔ１６まで、電流Ｉは値ゼロを有し、ｔ１６から電流Ｉは再びｉ２と実質的に同じ値を有する。ここでは場合によりｔ１６の直後に、付加的に少々エネルギーがコンデンサ１２６から供給される。
【００６２】
従って本発明により、エネルギーが巻線１０２とコンデンサ１２６との間で往復することが回避され、その結果、コンデンサ１２６をこれに応じて比較的小型にすることができる。
【００６３】
図５は、電流制限を使用した場合の電流の典型的推移をオシログラフに示したものである。この電流制限は、電流ｉ１とｉ２をこの実施例では３Ａの値Ｉｍａｘに制限する。
【００６４】
ｔ２０で電流ｉ１がスタートする。μＣ４０での転流制御によって、時点ｔ２１で電流ｉ１はトランジスタ１１４の開成により遮断される。そして２つのトランジスタ１３２、１３６の閉成によって巻線１０２はｔ２１から時点ｔ２２まで短絡される。
【００６５】
ｔ２３からトランジスタ１３０、１３２がスイッチオン（投入）され、これにより電流ｉ２が流れる。
【００６６】
この電流ｉ２には急速に負の電流制限値−Ｉｍａｘまで上昇する。時点ｔ２４で上段トランジスタ１３０が信号Ｉｍａｘにより遮断され、その結果、電流ｉ２は時点ｔ２５に達するまで降下する。このとき２つのトランジスタ１３２、１３６は導通制御される。ｔ２５では、ｉ２が１．６Ａまで降下したのでトランジスタ１８８は信号Ｉｍａｘを再び遮断する。その結果トランジスタ１３０が再び導通しｉ２は再び上昇する。
【００６７】
時点ｔ２６で転流制御によりトランジスタ１３０が開成され、２つの下段トランジスタ１３２、１３６がスイッチオンし、ｔ２７でｉ２は値ゼロに達する。ｔ２８でトランジスタ１１４と１３６が導通制御されることにより新たにｉ１が、スイッチオンされる。
【００６８】
信号Ｉｍａｘがローになるごとに、信号ＰＷＭのデューティ比ｐｗｍがやや低減される。図１７のＳ５０８を参照。これにより数回転後、値＋Ｉｍａｘと−Ｉｍａｘには到達しなくなり、再び図３のような「滑らかな」電流形状が得られる。最大電流が再びＩｍａｘ（３Ａ）未満に低下される間、値ＢＷは制御器（図３０）により、それが可能である限り増大される。そしてデューティ比ｐｗｍも場合により、モータが再び正常に、すなわち所望の回転数で運転するまでゆっくりと上昇される。場合によりこの過程は繰り返すこともできる。すなわちｐｗｍが過度に強く上昇する場合に、信号Ｉｍａｘが再び生成することも可能である。
【００６９】
図５には、転流制御が該当する電流を遮断する個所がｔ２９からｔ３２により示されている。電流制限が適用される値は＋Ｉｍａｘおよび−Ｉｍａｘにより示されており、スイッチヒステリシスによる電流値は＋ＩｍａｘＨＹおよび−ＩｍａｘＨＹにより示されている。この実施例の場合、Ｉｍａｘ＝３Ａであり、ＩｍａｘＨＹ＝１．６Ａである。
【００７０】
図６は、前記の過程を状態チャートを用いて具体的に再度示したものである。２３０でモータ１００は図３の領域２１０、２１１に存在し、線路１１６、１２２からモータ１００へのエネルギー供給が終了されるべきポイント２１４に到達したか否かが監視される。
【００７１】
２３０で、通電の終了がまだ達成されていないことが検出されると、状態２３４で通電が継続され、次いで再び２３０で時点２１４に到達したか否かが監視される。到達していれば、モータ１００は状態２３６ＨＳ ＯＦＦに移行し、ここで２つの上段トランジスタ１１４，１３０が遮断される。これによりモータ１００へのエネルギー供給が中止される。
【００７２】
次にプログラムは短い遅延ＤＥＬＡＹ２３８へ進み、そして状態ＬＳ ＯＮ ２４０において２つの下段トランジスタ１３２、１３６をスイッチオンする。その結果、巻線１０２は実質的に短絡状態で駆動され、電流は曲線２２０（図３）に沿って減衰する。このことは次の状態２４２（「電流がゼロに降下するまで待機」）で監視される。このとき巻線１０２の電流はロータ１０８をさらに駆動する。
【００７３】
電流が値ゼロに達すると、コンパレータ２０２により信号Ｉｍｉｎが生成され、Ｉｍｉｎ割込み２４４が作動する。
【００７４】
同時に、２４６では関数ＴＩＭＥＯＵＴにより所定の時間Ｔ３（図３）が満了したか否かが監視される。
【００７５】
２つのイベント（ＴＩＭＥＯＵＴ２４６またはＩｍｉｎ割込み２４４）のうち早期の方により状態２４８へ移行する。すなわちＨブリッジ１３７の４つのすべてのトランジスタが完全に遮断される（ＬＳ ＯＦＦ＆ＨＳ ＯＦＦ）。この状態では、ロータ１０８の運動エネルギーを発電機的にはコンデンサ１２６へ伝達することはできない。なぜなら、ロータ１０８により発電機的に生成された電圧の瞬時値（Ａｕｇｅｎｂｌｉｃｋｓｗｅｒｔ）は線路１１６と１２２との間の電圧よりも低いからである。
【００７６】
巧妙なエネルギー管理により、ここで、冒頭に述べたモータ１００の「呼吸」が（ほぼ）阻止される。すなわちモータ１００の通常運転時には僅かな無効電力しか巻線１０２とコンデンサ１２６との間で往復して移動しないこととなる。しかしＩｍｉｎ割込み２４４の生成は、所要の計算ステップの持続時間のために、ゼロ通過の時点２２２（図３）において正確に行うことはできず、ややその後で実行されるので、やはりコンデンサ１２６はモータからのエネルギーを中間蓄積するために必要である。しかしこのコンデンサは従来よりも格段に小さくすることができる。このコンデンサは、モータの遮断時にエネルギーを吸収し、線路１１６と１２２との間での電圧が過度に上昇することを回避するためにも必要である。
【００７７】
最大電流識別の機能
コンパレータ１７２と１９８による最大電流識別についてはすでに図１、図３、図４および図５で説明した。この最大電流識別は信号Ｉｍａｘを生成し、この信号Ｉｍａｘは結合素子１５２、１６０（図１）を介して直接、上段トランジスタ１１４、１３０に作用し、過電流の際に、その時導通しているトランジスタ１１４または１３０を直ちに遮断する。さらに信号ＩｍａｘはμＣ４０にも供給され、そこでＩｍａｘ割込みを生成する。このＩｍａｘ割込みによりとりわけプログラムステップが初期化され、このプログラムステップは後続の電流パルスに関し、もはや過電流が発生しないように巻線１０２を通る電流を低下させる。
【００７８】
即ち、測定抵抗１３４、１３８を流れる電流が、抵抗１７６で調整された値（図１にはＵｒｅｆとして示されている）を上回ると、μＣ４０でＩｍａｘ割込みが生成され、上段トランジスタ１１４、１３０が直接、ハードウエアにより遮断される。短い遅延の経過後、２つの下段トランジスタ１３２、１３６がスイッチオンされ、これにより巻線１０２の端子１０４、１０６は２つのＦＥＴ１３２、１３６により短絡される。引き続くプログラムステップは実質的に、モータの形式と回転数に依存する。すなわち種々のバリエーションをとることが可能である。
【００７９】
１つのバリエーションでは、巻線１０２の電流が値ゼロに到達すると、すでに述べたような態様でＩｍｉｎ割込み２４４が生成される。安全のために付加的に、ＬＳ ＯＮ２４０（図６）からの時間がすでに説明した機能ＴＩＭＥＯＵＴ２４６によって測定される。
【００８０】
Ｉｍｉｎ割込み２４４が生成される前に時間ＴＩＭＥＯＵＴが経過すると、命令ＯＦＦが２つの下段トランジスタ１３２、１３６に対して作用する。Ｉｍｉｎ割込みが早期に生じる場合、このＩｍｉｎ割込みは信号ＬＳ ＯＦＦ（ＯＦＦ＝遮断（ＡＵＳ））に影響を及ぼす。遅延の後、巻線１０２の通電が継続される。すなわちロータ１０８の瞬時（実際：ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）の回転位置で巻線１０２の電流が１０４から１０６へ流れるべき場合、トランジスタ１１４、１３６は再びスイッチオンされ、トランジスタ１３０、１３２はスイッチオフされたままとなる。逆方向の電流の場合（１０６から１０４）、同様に反対の作動態様が当てはまる。
【００８１】
図７は、電流パルスｉ１，ｉ２を概略的に示す。これらの電流の振幅Ａ１は個所２５０，２５１で電流Ｉｍａｘ（３Ａ）に達する。そのためこれらの個所では電流制限が適用され、電流は個所２５２ないし２５３まで降下する。そこで電流は再びスイッチオンされる。なぜなら、（ローアクティブな）信号Ｉｍａｘがもはや生成されないからである。そして再び個所２５５ないし２５７まで上昇する。この個所では遮断命令がμＣ４０により発生される。２つの個所２５０と２５１でデューティ比ｐｗｍは図１７のプログラムステップＳ５０８により低減され、これにより振幅Ａ１は低下される。
【００８２】
図８によれば、このデューティ比ｐｗｍの低減により、時間遅延の後、モータ１００の電流の振幅Ａ２は３Ａ未満のある値に低減される。このことは図８の白い矢印２５４、２５６により示されている。図７では、パルスのブロック長は値ＢＷ１、すなわちこのパルスに対するスイッチオン命令からスイッチオフ命令までの時間を有する。
【００８３】
振幅をＡ１からＡ２に低減したことに対する補償として図８では、パルスｉ１、ｉ２の制御に対するブロック長ＢＷが値ＢＷ２に延長されている。このことは黒い矢印２５８により示されている。これによりモータ１００に供給されるエネルギーは変化しない。すなわち、図７の曲線ｉ１の下方の面積Ｆ１は図８の曲線ｉ１の下方の面積Ｆ２に実質的に相当する。これを例えていえば、図８の力２５４、２５６によってパルスｉ１，ｉ２が圧縮されて少々幅広になり、このため振幅Ａ１には達しなくなるが、図８の電流ｉ１，ｉ２の小さくなった振幅Ａ２はそのブロック長ＢＷ２を増大することにより補償されるのである。
【００８４】
このことが重要であるのは、最大電流を超える際、図５に示した過程による損失が増大し、ＭＯＳＦＥＴが過負荷される危険があるからである。またモータ１００は、その調整された最大電流未満の電流で駆動した方がより静粛に運転される。もちろんパルスｉ１とｉ２が到達してよいのは、１８０゜ｅｌよりやや小さいブロック長ＢＷまでである。そうでないとブリッジ短絡が発生してしまうからである。
【００８５】
パルスｉ１，ｉ２のブロック長ＢＷが過度に大きくなると、ブロック長ＢＷはモータのソフトウエアにより短縮され、この場合は補償のために振幅が高められる。すなわちモータは傾向的に、図８の状態から図７の状態へ移行する。この場合、矢印２５４、２５６、２５８の方向は反対になる。
【００８６】
起動の際には場合により電流制限により起動電流が制限される。しかし過電流なしの起動が次のようにして可能となる。すなわち、信号ＰＷＭ（図１）のデューティ比ｐｗｍをランプ（波形：Ｒａｍｐｅ）状にゆっくりと増大するのである。
【００８７】
本発明を実現するために、モータのソフトウエアによって、
ａ）どのようなデューティｐｗｎ比を信号ＰＷＭは瞬時（ｉｍ Ａｕｇｅｎｂｌｉｃｈ）に有するべきか、
ｂ）どの時点で電流パルスをスイッチオンしなければならないか、及び
ｃ）どの時点で電流パルスをスイッチオフしなければならないか、
が計算される。このことを以下、詳細に説明する。
【００８８】
ブロック長ＢＷはこの実施例では回転数制御器により計算される。回転数制御器については図３０で説明する。従ってＢＷは計算のために予め設定され、信号ＰＷＭのデューティ比ｐｗｎには依存しない。（もちろんＢＷの計算の際にデューティ比を完全にまたは部分的に考慮することはできる。しかしそのような考慮をしなければ短いプログラムが得られ、このことはモータの場合、重要である。）
【００８９】
図９は、この実施例で使用されるマイクロコントローラ（μＣ）４０の回路の一部を示す。この実施例ではマイクロコントローラはＡｒｉｚｏｎａ Ｍｉｃｒｏｃｈｉｐ社の形式ＰＩＣ１６Ｃ７２Ａである。このマイクロコントローラはこの実施例では４ＭＨｚのクロック周波数で作動する。このマイクロコントローラは１から２８の２８個の入力端を有し、これらを次のように示す：
１              ＭＣＬＲ／（リセット入力端）
２〜７          ＲＡ０．．．ＲＡ５
８              ＶＳＳ（アース端子）
９              ＣＬＫＩＮ
１０            ＣＬＫＯＵＴ
１１〜１８      ＲＣ０．．．ＲＣ７
１９            ＶＳＳ１（アース端子）
２０            ＶＤＤ（＋５Ｖ）
２１〜２８      ＲＢ０．．．ＲＢ７
【００９０】
端子ＲＡ１〜ＲＡ５、ＲＣ３、ＲＣ４およびＲＢ１〜ＲＢ５はそれぞれ抵抗Ｒ（１０ｋΩ）を介してアースＧＮＤと接続される。なぜならこれらの端子は（この実施例では）使用されないからである。これらの抵抗は、図面を分かり易くするために図１０には図示されていない。
【００９１】
端子ＣＬＫＩＮとＣＬＫＯＵＴは水晶発振子４２と接続されている。端子ＶＳＳとＶＳＳ１はアースに接続され、端子ＶＤＤは＋５Ｖの（制御された）プラス線路に接続される。端子ＶＤＤとＶＳＳとの間にはフィルタコンデンサ４４（例えば１００ｎＦ）が接続される。
【００９２】
リセット入力端ＭＣＬＲ／は抵抗４６を介してノード点４８と接続され、このノード点は抵抗５０を介して＋５Ｖと、またコンデンサ５２を介してＧＮＤと接続される。コンデンサ５２はスイッチオン時に放電され、従って入力端ＭＣＬＲ／はそのとき電位０Ｖを有する。このため、スイッチオン時にリセット過程はトリガされる。その後、コンデンサ５２は抵抗５０を介して５Ｖに充電される。
【００９３】
ＲＡ０は、μＣ４０のプロセッサ内部Ａ／Ｄ変換器の入力端である。この入力端には０〜４．５Ｖ（Ｖｃｃ）の間の電圧を供給することができ、この電圧はデジタル信号に変換される。ＲＡ０での信号は、所望の回転数に相応する。この所望の回転数は入力端２６１にＰＷＭ信号２６２として供給され、このＰＷＭ信号のデューティ比ｐｗｍは回転数情報を含む。
【００９４】
コンパレータ２６４は、ＰＷＭ信号２６２を処理し、制御された振幅ａに正規化ないし規格化（ｓｔａｎｄａｒｄｉｓｉｅｒｅｎ）するのに用いる。このコンパレータ２６４の＋入力端はノード点２６６に接続され、このノード点は抵抗２６８を介して＋５Ｖの一定（制御：ｇｅｒｅｇｅｌｔ）された電圧に接続され、かつ抵抗２７０を介してＧＮＤに接続される。＋５Ｖ一定の（制御）電圧はμＣ４０にも供給される。抵抗２６８，２７０は、ノード点２６６が＋２．３Ｖの電位になるよう選択される。
【００９５】
増幅器２６４のマイナス入力端はノード点２７２に接続され、このノード点は抵抗２７４を介して入力端２６１と接続され、かつ抵抗２７６を介してＧＮＤと接続される。抵抗２７４と２７６は同じ大きさとすることができる。
【００９６】
増幅器２６４の出力端２７８はプルアップ抵抗２８０を介して＋５Ｖと接続され、かつ抵抗２８２を介してＲＡ０と接続される。ＲＡ０とＧＮＤとの間にはコンデンサ２８４が接続されている。構成素子２８２と２８４は２つ合わせてローパスフィルタを形成する。
【００９７】
信号２６２は増幅器２６４により反転される。出力端２７８の一定の振幅ａを有する信号２８６を参照せよ。この信号２８６はローパスフィルタ２８２、２８４によって直流電圧に平滑化される。この直流電圧は入力端ＲＡ０に供給され、そこで問い合わせのたびにデジタル値に変換される。信号２８６は信号２６２とは異なり、（１つの）定められた振幅ａを有するので、そのデューティ比は（１つの）定められた直流電圧と（１つの）定められたデジタル値に変換される。
【００９８】
また、入力端ＲＡ０での信号を他の任意の仕方で、例えばポテンシオメータによって生成することもできる。このプロセッサではＲＡ０での最大振幅が５Ｖに相応する。これは内部Ａ／Ｄ基準に相応する。
【００９９】
μＣ４０はリングカウンタＴＩＭＥＲ１並びにＲＡＭおよびＲＯＭを有する。付加的にさらに外部ＲＡＭ、ＥＥＰＲＯＭ等を設けることもでき、このことは当業者には周知である。
【０１００】
図１０と図１１は図１の回路を詳細に記載した一実施例を示す。図１０は、ＩｍａｘとＩｍｉｎを識別（検出）するためのハードウエア、並びにホール発電機１１０を示す。図１１は、μＣ４０、およびこれにより制御されるＨブリッジ１３７を示す。同じ部材または同じ作用の部材には上述した図面と同じ参照符号が付してあり、一般的には再度説明しない。
【０１０１】
図１０から図１１への移行部は、（Ｈブリッジ１３７に対しては）２９０，２９２により、信号ＨＡＬＬに対しては２９４により、信号Ｉｍｉｎに対しては２９６により、信号Ｉｍａｘに対しては２９８により表されている。これらは図１にも示されている。
【０１０２】
図１０はホール発電機１１０を示し、その出力信号はコンパレータ３００により増幅される。コンパレータの出力端２９４はプルアップ抵抗３０２を介してプラス線路４３（＋５Ｖ、一定（ｇｅｒｅｇｅｌｔ））と接続される。矩形信号ＨＡＬＬはμＣ４０の入力端ＲＢ０に供給される。そこでこの信号の各エッジはホール割込み（Ｈａｌｌ−Ｉｎｔｅｒｒｕｐｔ）に影響を及ぼす。図１６参照。ホール発電機１１０には抵抗３０４を介して線路４３から電流が供給される。
【０１０３】
コンパレータ１７２のプラス入力端は抵抗３０５を介してその出力端３０７と接続され、抵抗３０６を介して点２９０と接続され、またコンパレータ２０２のマイナス入力端と接続され、コンデンサ３０８を介してＧＮＤと接続される。抵抗３０６とコンデンサ３０８は２つ合わせて図１のローパスフィルタ１７０を形成する。出力端３０７は抵抗３０９を介してプラス線路４３と接続される。
【０１０４】
同じようにコンパレータ１９８のプラス入力端は抵抗３０９を介してその出力端３１１と接続され、抵抗３１０を介して点２９２と接続され、およびコンパレータ２０２のプラス入力端と接続され、さらにコンデンサ３１２を介してＧＮＤと接続される。抵抗３１０とコンデンサ３１２は２つ合わせて図１のローパスフィルタ１９６を形成する。出力端３１１は抵抗３１４を介してプラス線路４３と接続される。
【０１０５】
コンパレータ１７２、１９８のマイナス入力端はノード点１７４と接続され、このノード点には抵抗１７６での比較電位Ｕｒｅｆが与えられる。
【０１０６】
コンパレータ２０２のプラス入力端は抵抗３１６を介してその出力端３１８と接続され、この出力端は抵抗３２０を介してプラス線路４３と接続される。
【０１０７】
信号Ｉｍｉｎはコンパレータ２０２の出力端３１８で得られる。この信号は抵抗２９７を介してμＣ４０のポートＲＢ７に供給される。出力端３１８は、モータ電流のゼロ通過の際にすでに述べたようにその電位を変化する。移行時の切替えエッジ（Ｓｃｈａｌｔｆｌａｎｋ）はμＣ４０でＩｍｉｎ割込みを引き起こす。後の図１９を参照のこと。
【０１０８】
例えば３Ａのステータ電流により、抵抗１３４での電圧降下が抵抗１７６での電圧Ｕｒｅｆより大きくなると、コンパレータ１７２の出力端は高抵抗となり、高電位を受け取る。これにより抵抗３０９およびダイオード１９２を介してベース電流がトランジスタ１８８へ流れ、これを導通する。これにより点２９８での信号Ｉｍａｘはローに（低く）なり、これによりノード点１８０と１７４の電位は低下する。このことはすでに説明したスイッチヒステリシスに影響を及ぼす。すなわち電圧Ｕｒｅｆは相応に小さくなり、信号Ｉｍａｘは、抵抗１３４での電流が例えば１．６Ａまで低下してから初めて再びハイとなる。ダイオード１９２、１９４のカソードは夫々共通の抵抗１９３を介してＧＮＤと接続される。
【０１０９】
この装置は対称的であるので、抵抗１３８を通るステータ電流が値３Ａを上回る場合に対しても同じことが当てはまる。この場合もトランジスタ１８８は導通し、前記のスイッチヒステリシスに影響を及ぼし、ロー信号Ｉｍａｘが端子２９８に生成される。この信号は、当該電流が例えば１．６Ａに低下してから初めて再びハイとなる。
【０１１０】
信号Ｉｍａｘは図１１では直接、結合素子１５２，１６０に供給され、これらの結合素子を介して上段ＭＯＳＦＥＴ１１４、１３０を遮断する。信号Ｉｍａｘはさらに抵抗３２４を介してμＣ４０の入力端ＲＢ６に供給される。これにより２つの信号ＨＳＬ及びＨＳＲがローに切り替えられ、その結果上段トランジスタ１１４，１３０の一方は、
ａ）信号Ｉｍａｘが再びハイとなり、かつ
ｂ）所属の信号ＨＳＬまたはＨＳＲが同様に再びハイとなって、
から初めて再びスイッチオンすることができる。
【０１１１】
このようにして以下のことが達成される：
・信号Ｉｍａｘの生成の際、例えば電流が３Ａになる際、上段トランジスタ１１４と１３０はハードウエアを介して直接遮断され、その直後に、付加的にμＣ４０により遮断される。
・信号Ｉｍａｘの終了後も、μＣ４０は上段トランジスタ１１４、１３０へのコントロールを維持でき、例えば時間ＢＷ（図７及び図８）が経過（満了）されている場合、これらを引き続いて遮断できる。
【０１１２】
図１１によれば結合素子１５２はノード点３２６を有し、このノード点は抵抗３２８を介してμＣ４０のポートＲＣ０と接続され、そこから転流のための信号ＨＳＬを受け取る。さらにノード点３２６には３つのダイオード３３０、３３１、３３２のアノードが夫々接続される。ダイオード３３０のカソードはポートＲＣ２と接続され、このポートには常時、ＰＷＭ信号ＰＷＭ（２０ｋＨｚ）が生成される。このＰＷＭ信号のデューティ比ｐｗｍはソフトウエア命令により変更可能である。ダイオード３３１のカソードは点２９８と接続され、この点には信号Ｉｍａｘが供給される。ダイオード３３２のカソードはｎｐｎトランジスタ１４８のベースと、抵抗３３４を介してＧＮＤと接続される。トランジスタ１４８のエミッタはＧＮＤと接続され、そのコレクタは抵抗３３６を介してＭＯＳＦＥＴ１１４のゲートＧと接続される。このゲートＧは抵抗３３８及びこれと並列に接続されたコンデンサ３４０を介して線路１１６、すなわちモータ１００の駆動電圧と接続される。この駆動電圧は中間回路電圧（ｄｃリンクの電圧：ｖｏｌｔａｇｅ ｏｎ ｄｃ ｌｉｎｋ）と称することができる。
【０１１３】
ダイオード３３０、３３１が非導通であり、かつポートＲＣ０からハイの信号ＨＳＬが供給される限り、ノード点３２６は高電位を有し、ダイオード３３２は導通し、トランジスタ１４８にベース電流を供給する。その結果、このトランジスタ１４８は導通し、抵抗３３８、３３６を介して電流が流れる。その結果、トランジスタ１１４のゲートＧで信号が形成され、この信号はトランジスタ１１４のソースＳの信号よりも数Ｖだけ低い。その結果、トランジスタ１１４は完全にスイッチオンされる。コンデンサ３４０はスイッチング過程に小さな遅延を引き起こし、発振を阻止する。
【０１１４】
ここでもロッキングダイオード（Ｖｅｒｒｉｅｇｅｌｕｎｇｓｄｉｏｄｅ）１６６のカソードは電位ＧＮＤを受け取り、その結果、ＭＯＳＦＥＴ１３２のゲートＧにはこれをスイッチオンするための正の電位を供給することができない。すなわちトランジスタ１１４、１３２は相互にロックしあう。
【０１１５】
例えばダイオード３３０、３３１の１つが導通するか、またはポートＲＣ０からローの信号ＨＳＬが供給されるので、ノード点３２６の電位が低下する（ローになる）と、ダイオード３３２は遮断され、その結果、トランジスタ１４８はベース電流を受け取らなくなり、遮断される。これによりＭＯＳＦＥＴ１１４のゲートＧは抵抗３３８を介してプラス線路１１６の電位を受け取り、従ってＭＯＳＦＥＴ１１４は遮断される。ロッキングダイオード１６６のカソードはこれによりハイの電位を受け取り、その結果、下段ＭＯＳＦＥＴ１３２をスイッチオンすることができる。
【０１１６】
ポートＲＣ６からの信号ＬＳＬは抵抗３４２を介してｎｐｎトランジスタ１４０のベースに供給される。この信号がハイであるか、またはロッキングダイオード１６６のカソードが低（ローの）電位にある限り、トランジスタ１４０のコレクタには低（ローの）電位が印加される。この低（ローの）電位は抵抗３４６を介してＭＯＳＦＥＴ１３２のゲートに供給され、これを遮断する。このゲートはコンデンサ３４８を介してＧＮＤと接続され、これによりスイッチング過程をやや遅延する。
【０１１７】
ポートＲＣ６の信号ＬＳＬがローである場合、トランジスタ１４０は遮断される。ダイオード１６６のカソードでの電位がハイである限り、抵抗３４４を介して高（ハイの）電位をトランジスタ１４０のコレクタで受け取り、このことは抵抗３４６を介してＭＯＳＦＥＴ１３２を導通させる。抵抗３５０とダイオード３５２を介して、ＭＯＳＦＥＴ１３２のゲートはダイオード１６６のアノードと接続され、ダイオード１６６のカソードがＧＮＤになると、ＭＯＳＦＥＴ１３２のゲートでの正の電位が直ちに抵抗３５０、ダイオード３５２およびダイオード１６６を介してＧＮＤへ放電される。その結果、ＭＯＳＦＥＴ１３２は遮断される。抵抗３５０は有利には抵抗３４６より小さいので、充電時定数の放電時定数に対する比率を変化することができる。これらの時定数は、ゲート容量および回路中のその他の容量の関数でもある。
【０１１８】
図１１の回路の右半分はその左半分と完全に対称的に構成されているので特別に説明しない。なぜなら当業者であれば、左半分についての詳細な説明から右半分がどのように動作するかを容易に理解できるからである。例えば左半分のダイオード３５２には右半分のダイオード３５２’が相当する。右ロッキングダイオード１６８は左半分のロッキングダイオード１６６と同じ作動態様を有し、ＭＯＳＦＥＴ１３０と１３６が同時に導通するのを阻止する。信号ＨＳＲはポートＲＣ１から抵抗３５６を介して結合素子１６０のノード点３５８に供給され、信号ＬＳＲはポートＲＣ７から抵抗３６０を介してｎｐｎトランジスタ１４４のベースに供給される。モータ１００がブロックされるとき、すなわち回転が妨げられる場合、ポートＲＣ５に信号ＡＬＡＲＭを生成することができる。
【０１１９】
ロッキングダイオード１６６、１６８はとりわけ、ＥＭＶが原因の電流スパイクにより回路状態がコントロールできなくなることへの保護素子として作動する。関連するトランジスタのゲートＧが充電または放電されなければならないのでスイッチング過程（ＭＯＳＦＥＴのスイッチオン、スイッチオフ）は常に一定の時間持続する。従って完全な保護は不可能であるが、この簡単な手段により、このようなスパイクが発生した場合、Ｈブリッジ１３７の各トランジスタを十分に負荷軽減することができる。
【０１２０】
図１０および図１１の構成素子の有利な値
水晶４２                                                    ４ＭＨｚ
コンデンサ４４                                              １００ｎＦ
抵抗４６                                                    １００Ω
抵抗５０、１７６、３０２、３０６、３１０、３１４、３２０    １０ｋΩ
コンデンサ５２、３０８、３１２、３４０                      １ｎＦ
ホール発電機１１０                                        ＨＷ１０１Ｇ
ＯＰ増幅器１７２，１９８，２０２，３００                  ＬＭ２９０１Ｐ
抵抗１３４、１３８                                        ０．１５Ω
抵抗１７８                                                  ７５ｋΩ
抵抗１８２                                                  ３３ｋΩ
抵抗１８６                                                  １５ｋΩ
トランジスタ１８８                                        ＢＣ８４６Ｂ
抵抗１９０                                                  ２２ｋΩ
抵抗１９１                                                ０．１ｋΩ
抵抗１９３、３０９、３１６                                    １ＭΩ
ダイオード１９２、１９４                                  ＢＡＶ７０
抵抗２８０                                                ３．３ｋΩ
抵抗２８２                                                ６．８ｋΩ
コンデンサ２８４                                          ２２０ｎＦ
抵抗２９７                                                    ２ｋΩ
抵抗３０４                                                １．２ｋΩ
ＭＯＳＦＥＴ１１４、１３０、１３２、１３６              ＩＲＦ７３７９
（構成素子ＩＲＦ７３７９はＰチャネルＭＯＳＦＥＴとＮチャネルＭＯＳＦＥＴを同じケーシングないに含む）
抵抗３２８、３３８                                        ２．２ｋΩ
ダイオード３３０、３３１、３３２                          ＢＡＷ５６Ｓ
抵抗３３４、３３４’、３４４                              ５．１ｋΩ
トランジスタ１４０、１４４、１４８、１５４                ＢＣ８４７ＢＳ
抵抗３３６                                                １．１ｋΩ
ダイオード１６６、１６８、３５２、３５２’                ＢＡＳ３１６
ダイオード１１４’、１１８，１３０’、１３２’、１３６’  ＳＭＳ２１００
抵抗３５０                                                  １００Ω
抵抗３４６                                                  ３３０Ω
コンデンサ３４８                                            ４．７ｎＦ
抵抗３４２、３６０                                          ２．７ｋΩ
コンデンサ１２６                                    １００μＦ、３５Ｖ
コンデンサ１２６Ａ                                          １００ｎＦ
抵抗３５６                                                    ０．８Ω
これらはもちろん、１２Ｖバッテリーで駆動されるモータ１００に関連した単なる例示にすぎない。
【０１２１】
モータ１００のソフトウエア
図１２はロータ１０８の回転位置に依存する、モータ１００でのプログラムステップの経過を概観的に示す図である。μＣ４０により制御される電気モータは、その適用に応じて多数の付加的機能、例えば回転数制御、回転数制限、電流制限、一定電流での制御、警報信号の出力構成、エラー処理ルーチン等を有することができる。
【０１２２】
この実施例では、モータの回転数が目標値（例えば３０００回転／分）に制御され、この目標値は例えば周囲温度に依存することができる。従って制御プログラムのためのこの目標値は頻繁かつ自動的に更新されなければならない。
【０１２３】
さらに回転数制御のためには瞬時（実際ないしその時々：ｉｍ Ａｕｇｅｎｂｌｉｃｋ）のモータの回転数の大きさ、例えば２９９０回転／分が分かっていなければならない。回転数のこの実際値も頻繁かつ自動的に更新されなければならない。
【０１２４】
さらにこのようなモータにおいては、場合により加速度が計算されなければならず、モータ電流に対するＰＷＭ信号が出力されなければならず、回転数制御の計算過程が繰り返し新たに（反復的に）実行されなければならず、場合によりモータの安定な運転を保証するために所定のパラメータが時々新たに初期化されなければならない、。
【０１２５】
さらにμＣ４０は、回転数制御の計算に相応して、モータへの電流をスイッチオンおよびスイッチオフし、また瞬時（実際ないしその時々：ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）の回転位置に依存してモータ電流の方向を切り替えなければならない。これらの過程をすべて電気機械分野では転流（Ｋｏｍｍｕｔｉｅｒｕｎｇ）と称する。転流は厳密な精度を以て実行されるべきである。なぜなら転流命令が非常に正確に実行される場合にのみモータは静粛に運転されるからである。これの意味するのは、転流に対するプログラム命令が存在しているか否か、及び当該命令が実行されなければならないか否かをプログラムは非常に頻繁に検査しなければならないということである。
【０１２６】
従って図１２には、信号ＨＡＬＬのエッジ３７０、３７２の直後に（カウンタＨＡＬＬ＿ＣＮＴの値に応じて）比較的に長い計算プロシージャで実行される大きな計算ループ３７４ないし３７６と、これに続く転流のみが検査され場合により制御される多数の短い計算ループ３７８が示されている。これらの短いループ３７８は互いに密に連続しているので、高い分解能（Ａｕｆｌｏｅｓｕｎｇ）が得られる。すなわち例えば転流に関して何かを変化すべきであるか否かが６０〜１００μｓごとに検査される。
【０１２７】
図１２は、例えば信号ＨＡＬＬのエッジ３７０の直後に長いループ３７４が実行されることを示しており、このループでは説明（Ｌｅｇｅｎｄｅ）３８０に応じ、回転数制御のための目標値が計算され、転流も検査される。
【０１２８】
大きなループ３７４には多数の短いループ３７８が続いており、これらの短いループでは説明３８２に応じ転流だけが検査され、場合により転流は変更される。
【０１２９】
信号ＨＡＬＬのエッジ３７２には、この実施例では長いループ３７６が続く。このループでは説明３８４に応じ次の計算ステップが実行される：
・実際値計算
・加速度の計算
・回転数制御
・信号ＰＷＭのデューティ比ｐｗｍの計算
・所定のレジスタの再初期化
・転流。
【０１３０】
この長いループ３７６には、再び、転流の監視および制御のための（複数の）短いループ３７８が続く。
【０１３１】
信号ＨＡＬＬの次のエッジではすでに説明した長いループ３７４が再び実行される。すなわちこの実施例では３６０゜ｅｌごとにこの過程が繰り返される。
【０１３２】
図１３は所属のフローチャートを示し、このフローチャートは上に説明した各ループの基本的経過を概観的に示す。
【０１３３】
図１３の一番上には割込みが３９０で示されており、この割込みについては後で図１４から図２０において詳細に説明する。割込みはその発生時に通常のプログラム経過を中断する。このことは矢印３９２により示されている。
【０１３４】
モータ１００のスイッチオン時に通常のように、ステップＳ３９４でμＣ４０の初期化が実行される。ここではとりわけフラグＳＴＡＲＴＵＰが１にセットされる。このフラグは、まず最初にモータ１００の起動ないし回転立ち上り（Ｈｏｃｈｌａｕｆ）に対するプログラムステップを実行しなければならないことを指示する。このプログラムステップは、モータの公称回転数（Ｎｅｎｎｄｒｅｈｚａｈｌ）の領域で実行されるプログラムステップとは異なる。
【０１３５】
次にＳ３９６で転流が制御される。この転流制御については図２３から図２６で詳細に説明する。この制御は非常に時間的にクリティカルであり、従ってフローチャートの開始時の短いループ３８２で実行される。
【０１３６】
次にＳ３９８で、フラグＮＥＷ＿ＨＡＬＬが、信号ＨＡＬＬの最後の（後ろの）エッジ（を経過して）からすでに大きなループ３７４または３７６が実行されたことを指示しているか否かが検査される。
【０１３７】
このフラグが値１をまだ有していれば、プログラムはＳ４００へ進み、そこでこのフラグを０にセットする。次いでＳ４０２で、ＨＡＬＬ＿ＣＮＴが０であるか、または２であるかが検査される。（変数ＨＡＬＬ＿ＣＮＴは図１６のＳ４５４で生成される。この変数は所定のロータ位置に相応し、このロータ位置はモータのスイッチオン時にランダムに設定される。これは例えば０゜ｅｌおよび３６０゜ｅｌまたは１８０°ｅｌおよび５４０゜ｅｌである。）イエス（Ｙ）であれば、プログラムは長いループ３７４へ進み、Ｓ４０４で目標値ｔ＿ｓの計算を実行する。この目標値はこの実施例の場合、入力端ＲＡ０のアナログ信号から計算される。図９参照。
【０１３８】
Ｓ４０２での応答がノー（Ｎ）であれば、プログラムは長いループ３７６へ進み、そこでＳ４０６とＳ４０８が実行される。ここでは実際値ｔ＿ＨＡＬＬと加速度（図２９）が計算される。実際値の検出のためにここでは以下のことが実行される：
・２０００回転／分未満では、信号ＨＡＬＬの隣り合う２つのエッジ３７０と３７２の間、または３７２と３７０の間の時間ｔ＿ＨＡＬＬ、すなわち１８０゜ｅｌの回転に対する時間が測定される。
・２０００回転／分以上では、信号ＨＡＬＬの第１のエッジと第４のエッジとの間の時間が測定される。これは４極ロータ１０８を使用する場合、３６０゜ｍｅｃｈ（機械角）＝７２０゜ｅｌの完全な１回転に相当する。従って完全な１回転に対する時間を測定し、これを４で割るとｔ＿ＨＡＬＬが得られる。
【０１３９】
これらの過程は後に図２７と図２８に基づいて詳細に説明する。
【０１４０】
Ｓ４０８にはＳ４１０が続き、ここでは回転数制御器ＲＧＬの計算過程が実行される。これは図３０で詳細に説明する。
【０１４１】
次のＳ４１２でＰＷＭ信号のデューティ比ｐｗｍが計算され、出力端ＲＣ２で調整される。これについては図３１参照。
【０１４２】
これにＳ４１４が続く。ここでは所定のレジスタ（複数）が新たに調整される。これはその値が既知でかつ変化しないレジスタであり、例えば回転方向またはコンパレータのコンフィギュレーションのためのレジスタである。これらのレジスタはＥＭＶ障害が甚だしい場合はその内容を変化することもあり得るであろう。初期化をすればこの内容は再び形成される。このことはこの実施例ではロータの１回転で２回実行される。
【０１４３】
プログラムステップＳ４０４またはＳ４１４の次に、プログラムは無限ループ４１６でステップＳ３９６に戻る。ステップＳ４００でフラグ“ＮＥＷ＿ＨＡＬＬ”が“０”に切り替えられたので（このことは、大きなループ３７４、３７６の１つを通過したことを意味する）、次いでＳ３９８での応答はノー（Ｎ）となり、再度短いループ３８２を通過する。これには数μｓかかる。
【０１４４】
フラグＮＥＷ＿ＨＡＬＬは、次のホールエッジ（Ｈａｌｌｆｌａｎｋｅ）３７０または３７２においてＨＡＬＬ割込みの間に再び１に切り替えられる。図１６のＳ４５２参照。従って、変数ＨＡＬＬ＿ＣＮＴの瞬時（実際ないしその時々：ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）の値により、大きなループ３７４または３７６の１つを再び一度通過する。
【０１４５】
モータ１００が４極ロータ１０８を有し、かつ３０００回転／分＝５０回転／秒で回転する場合、目標値および実際値は毎秒１００回更新される。このことは高精度の回転数制御を可能にする。
【０１４６】
図１４は割込みルーチン（ハンドラ：Ｈａｎｄｌｅｒ）Ｓ４２０を示し、この割込みルーチンは割込み３９０（図１３）を処理する。ここで使用されるプロセッサは任意の割込みの際に作動される割込みルーチンを有する。そして割込みルーチンは、どのような割込みであるか検出し、この割込みを処理するために必要なルーチンを実行する。従って割込み処理の前に、Ｓ４２０によって割込みソース、例えば信号Ｉｍｉｎの発生または信号ＨＡＬＬのレベル変化が検出される。
【０１４７】
割込みルーチンＳ４２０は、Ｓ４２２でのリングカウンタＴＩＭＥＲ１の割込みがμＣ４０に存在するか否かの問い合せにより開始する。存在する場合にはＳ４２４で相応のルーチンが実行される。このルーチンはμＣ４０の標準ソフトウエアの１つである。リングカウンタの割込みが存在しない場合、Ｓ４２６でホール割込みＨＡＬＬ＿ＩＮＴが存在するか否かが問い合わされる。存在する場合、Ｓ４２８で相応のルーチンが実行される。これは図１６に示されている。
【０１４８】
Ｓ４２６での応答がノー（Ｎ）の場合、Ｓ４３０でＩｍａｘ割込みが存在するか否かが検査される。イエス（Ｙ）の場合、Ｓ４３２でＩｍａｘ割込みルーチンが実行される。これは図１７に示されている。
【０１４９】
Ｓ４３０での応答がノー（Ｎ）の場合、Ｓ４３４でＩｍｉｎ割込みが存在するか否かが検査される。イエス（Ｙ）の場合、Ｓ４３６でＩｍｉｎ割込みルーチンが実行される。これは図１９に示されている。
【０１５０】
Ｓ４３４での応答がノー（Ｎ）の場合、Ｓ４３８でＴＩＭＥＯＵＴ割込みが存在するか否かが検査される。ＴＩＭＥＯＵＴ機能についてはすでに上記図６の２４２で説明した。このような割込みが存在する場合、Ｓ４４０でＴＩＭＥＯＵＴ割込みルーチンが実行される。これは図２０に示されている。
【０１５１】
かくして割込みルーチンＳ４２０は終了する。しかしＳ４３８においても応答がノー（Ｎ）であるような場合はエラーが存在している。そしてプログラムはＳ４４２に進み、ここで相応のエラー処理が実行される。このエラー処理はμＣ４０で実行することができる。
【０１５２】
図１５は、ホール割込みの処理のための図１６に示すルーチンを説明するものである。
【０１５３】
図１５ａは、μＣ４０のポートＲＣ２における信号ＰＷＭを示す。この信号は連続的に生成され、例えば２０ｋＨｚの周波数を有する。そのデューティ比ｐｗｍはプログラム制御的に調整することができる。図２１および図２２参照。
【０１５４】
図１５ｂは信号ＨＡＬＬを示す。この信号はローからハイに移行するときに立上りエッジ３７０を有し、ハイからローへ移行するときに立下りエッジ３７２を有する。
【０１５５】
エッジが発生する時点ｔ１，ｔ２等はリングカウンタＴＩＭＥＲ１により測定され、一時的変数ｔ＿ＴＥＭＰに記憶される。図１５が示すように、立上りエッジ３７０はトランジスタＨＳＬ１１４およびＬＳＲ１３６、すなわち電流ｉ１（図１）のスイッチオンを操作する。同様に立下りエッジ３７２はトランジスタＨＳＲ１３０とＬＳＬ１３２、すなわち電流ｉ２（図１）のスイッチオンを操作する。従ってホール割込みに対するルーチンは、立上りエッジ３７０と立下りエッジ３７２を区別しなければならない。
【０１５６】
２つのエッジ間の持続時間ｔ＿ＨＡＬＬは
ｔ＿ＨＡＬＬ＝ｔ２−ｔ１                                  （２）
として得られる。
【０１５７】
この持続時間は、ロータ１０８の瞬時（実際ないしその時々：ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）の回転数に対する尺度であり、ロータが１８０゜ｅｌの回転をするのに必要な時間に相応する。もちろんこの時間は多種多様に測定することができる。例えばいわゆるセンサレス原理、光学的センサ、磁気抵抗型センサ等により測定することができる。回転数が十分に高くなると直ちに、時間を比較的大きな回転角度に対して、とりわけロータ１０８の完全な１回転に対して測定すると有利である。このことは図１の実施例では７２０゜ｅｌの回転角度に相応する。この測定については後で説明する。
【０１５８】
図１５ｃと図１５ｄは、Ｈブリッジ１３７の制御のための信号を極く概略的に示したものである。図１５ｃは、トランジスタ１３０と１３２の制御、即ち電流ｉ２のスイッチオンのための信号ＨＳＲ、ＬＳＬを示す。図１５ｄはトランジスタ１１４と１３６の制御、即ち電流ｉ１のスイッチオンのための信号ＨＳＬ、ＬＳＲを示す。
【０１５９】
図１５ｃのパルス（列）４４４の開始は、信号ＨＡＬＬの立下りエッジ３７２から計算される。このことは矢印４４５により示されている。図１５ｄのパルス（列）４４６の開始は信号ＨＡＬＬの立上りエッジ３７０から計算される。これは矢印４４７で示されている。（この計算は図３０のＳ６７３で実行される。）ＨＡＬＬのエッジ３７０、３７２はロータ１０８の所定の回転位置に相応する。図２６Ａ参照。図２６Ａでは例えば立下りエッジ６０１に０゜ｅｌの回転位置が割当てられ、立上りエッジ６０３に１８０゜ｅｌの回転位置が割り当てられている。転流過程の計算の際に、これらはそれぞれ初めから正確に分かっている唯一の回転位置であり、従って計算はこれら「固定点」を基準にする。
【０１６０】
制御信号４４４、４４６が信号ＨＡＬＬのパルス（列）に対して対称であると仮定すると、信号４４６の開始する時点ｔ３に対して次の値が得られる。
ｔ３＝ｔ１＋ｔ＿ＨＡＬＬ＋（ｔ＿ＨＡＬＬ−ＢＷ）／２          （３）
ここで、
ＢＷ＝信号４４４、４４６のブロック長
このブロック長は回転数制御器ＲＧＬにより計算される。この回転数制御器については後に図３０で説明する。
【０１６１】
同じように制御信号４４４が開始する時点ｔ４に対しては次の値が得られる。
ｔ４＝ｔ２＋ｔ＿ＨＡＬＬ＋（ｔ＿ＨＡＬＬ−ＢＷ）／２          （４）
【０１６２】
例えば時点ｔ３は、ｔ３に一番近い時点ｔ２（信号ＨＡＬＬの直前のエッジ３７２）から計算されるのではなく、さらに早期の時点ｔ１、すなわちもう１つ前のエッジ３７０から計算されることに注意されたい。その理由は、ＢＷ＝ｔ＿ＨＡＬＬである場合、時点ｔ２は時点ｔ３と重なってしまうこととなり、このため、計算ステップはｔ２とｔ３との間で実行しなければならないので不都合だからである。
【０１６３】
例えば固定値ＶＺだけのいわゆる点弧角シフトが使用される場合、上記の式は次のように変形される：
ｔ３’＝ｔ１＋ｔ＿ＨＡＬＬ＋（（ｔ＿ＨＡＬＬ−ＢＷ）／２）−ＶＺ      （３ａ）
ｔ４’＝ｔ２＋ｔ＿ＨＡＬＬ＋（（ｔ＿ＨＡＬＬ−ＢＷ）／２）−ＶＺ      （４ａ）
この場合、時点ｔ３とｔ４は固定値ＶＺだけさらに左へずらされる。このことは図１５ｄにｔ３’に対して示されている。このことは、電流ｉ１とｉ２がやや早期にスイッチオンされることを意味し、効率は改善され得る。またｔ３’はこの場合、時間的にｔ２より前にあることが分かる。このことは、ｔ３’の計算に対する基準時間ＲｅｆＴｉｍｅが時点ｔ２、すなわち立下りエッジ３７２ではなく、時点ｔ１、すなわち立上りホールエッジ３７０であるから可能なことである。これは矢印４４７により示されている。ＶＺは通常は定数であるが、回転数に依存する関数とすることも、または別個の図示しないプログラム部分により常時最適化することもできる。
【０１６４】
図１６は、ホール割込みの際にエッジ３７０、３７２（図１５）でトリガされるルーチンＳ４２８を示す。この割込みは、入力端ＲＢ０での信号が０から１へ、または１から０へ変化するときに形成される。すなわち入力端ＲＢ０はエッジ検知性であり、エッジ３７０または３７２の発生時に割込みを引き起こす。このルーチンは立上りエッジ３７０を立下りエッジ３７２から区別する。このことは後続の処理に対して重要である。
【０１６５】
ステップＳ４５１で、割込みの発生した時点が一時メモリｔ＿ＴＥＭＰに記憶される。この時点はすでに説明したリングカウンタＴＩＭＥＲ１によってμＣ４０で測定される。
【０１６６】
ステップＳ４５２では、フラグＮＥＷ＿ＨＡＬＬ（図１３）が次に大きなループ３７４または３７６（図１２）の１つを実行しなければならないことを示す信号として１にセットされる。
【０１６７】
ステップＳ４５４では、ホールカウンタＨＡＬＬ＿ＣＮＴが値（ＨＡＬＬ＿ＣＮＴ＋１）ＭＯＤ４にセットされる。すなわち１だけカウントアップされ、演算モジュロ４が行われる。モジュロによる演算により余りが指示される。例えば４ｍｏｄ４＝０である。なぜなら４は整数であり、４で割りきれるからである。これに対して５ｍｏｄ４＝１である。なぜならここでは余り１が生じるからである。同様に６ｍｏｄ４＝２である。なぜならここでは余りが２だからである。さらに、７ｍｏｄ４＝３、８ｍｏｄ４＝０である。従って作動時に、ＨＡＬＬ＿ＣＮＴに対するＳ４５４では連続的に数列０、１、２、３、０、１、２、３、０等が生じる。
【０１６８】
ステップＳ４５６で、ＨＡＬＬ＝ＨＩＧＨであるか否かが問い合わされる。図１２ａによれば、このことはロータ１０８が０゜ｅｌ〜１８０゜ｅｌの間の角度位置にあることを意味する。
【０１６９】
ＨＡＬＬがハイでなければ、Ｓ４５８で右側の上段トランジスタＨＳＲ１３０と左側の下段トランジスタＬＳＬ１３２の制御のための基準変数（基準量）が一時メモリｔ＿ＴＥＭＰに記憶された時間により置換される。次のステップＳ４６０で割込み感度が、ポートＲＢ０が次のホール割込みに対してＬＯＷからＨＩＧＨへの変化に感受性になる（検知する）よう調整される。
【０１７０】
Ｓ４６２では、フラグＣＯＭＭＵＴ＿ＯＮが値０を有するか否かが検査される。このフラグはルーチンＣＯＭＭＵＴ（図２３）のステップＳ７１８で、巻線が電流を受け取ると直ちにセットされ、図２４または図２５の転流の終了時にゼロにセットされる。図２４、図２５のＳ７６４、Ｓ８１２およびＳ８４２参照。応答がノー（Ｎ）の場合、このことはハイからローへのホール変化の時点でまだ電流ｉ２が流れていることを意味する。
【０１７１】
これについては図１５を参照する。図１５ではハイからローへのホール変化３７２が時点ｔ２で起こる。そこでトランジスタＨＳＲ１３０は、電流ｉ２が流れないようにするためすでに遮断されていなければならないであろう。そしてＨＳＲはまだ導通しているので、ｉ２は「非常遮断（Ｎｏｔ−Ａｂｓｃｈａｌｔｕｎｇ）」で遮断されなければならない。このためにステップＳ４６４でＨＳＲ１３０が遮断され、次のステップＳ４６６で２つの下段トランジスタＬＳＬ１３２とＬＳＲ１３６がスイッチオンされる。これにより電流ｉ２はトランジスタ１３２、１３６と測定抵抗１３４、１３８を通り、急速に消失することができ、このときに回転トルクが生成される。（電流ｉ２がゼロを通過するとき、図１９の遮断を終了させるＩｍｉｎ割込みがトリガされる。）次にプログラムはステップＳ４６８へ進む。ここでは電流ｉ２の遮断プロシージャの開始されること（ＣＯＭＭＵＴ＿ＯＮ：＝０）が維持される。このことは図２３のＳ７０２では、電流ｉ１のスイッチオンに対する前提である。
【０１７２】
ステップＳ４６２で、電流ｉ２がすでに遮断されていることが検出される場合、プログラムは直接ステップＳ４６８へ進む。
【０１７３】
ステップＳ４５６で、信号ＨＡＬＬがハイであること、すなわち図１５での立上りエッジ３７０の１つであることが検出されると、プログラムはステップＳ４７０へ進み、そこでトランジスタＨＳＬ１１４とＬＳＲ１３６の制御に対する基準変数として、一時メモリｔ＿ＴＥＭＰに記憶された時間が引き渡される。すなわち所定の時間が今度はこの変数から測定・計算される。次にＳ４７２で割込み感度が、ポートＲＢ０が次のホール割込みのためにＨＩＧＨからＬＯＷへの変化、すなわち立下りエッジを検知する（感受性になる）よう調整される。
【０１７４】
次のステップＳ４７４で、フラグＣＯＭＭＵＴ＿ＯＮが値０を有するか否かが検査される。このフラグはルーチンＣＯＭＭＵＴ（図２３）のステップＳ７１８で、巻線が電流を受け取ると直ちに１にセットされ、図２４または図２５の転流終了時にゼロにセットされる。図２４、２５のＳ７６４、Ｓ８１２およびＳ８４２参照。応答がノー（Ｎ）であれば、このホール変化の際にまだ電流ｉ１が流れているので、この電流を「非常遮断」で遮断しなければならない。そのためにステップＳ４７６で、上段トランジスタＨＳＬ１１４を遮断することにより電流ｉ１が遮断される。そしてＳ４７８で２つの下段トランジスタＬＳＬ１３２とＬＳＲ１３６がスイッチオンされる。これにより電流ｉ１は素子１３２、１３４、１３６、１３８を通って急速に消失することができ、このときにロータ１０８への回転トルクが生成される。（電流ｉ１がゼロを通過するとき、遮断プロシージャは例えば図１９のＩｍｉｎ割込みによって終了する。）次のＳ４６８ではＣＯＭＭＵＴ＿ＯＮが０にセットされ、ｉ１に対する遮断プロシージャが開始されたことを指示する。Ｓ４７４での応答がイエス（Ｙ）の場合、プログラムはステップＳ４６８へ直接進む。
【０１７５】
Ｓ４６８に続くＳ４８０では、フラグＳＴＡＲＴＵＰ（図１３、Ｓ３９４）が値１を有するか否かが検査される。これが意味するのは、実際の回転数に対して値がまだ存在していないか、または実際の回転数が１００回転／分未満であるということである。このフラグがセットされていなければ、プログラムはルーチンＳ４２８の終了Ｓ４９３へ直接ジャンプする。
【０１７６】
Ｓ４８０での応答がイエス（Ｙ）の場合、プログラムはステップＳ４８２に進み、そこでｔ＿ＨＡＬＬが値ｔ＿ＨＡＬＬ＿ｍｉｎより小さいか否かが検査され（式（７）参照）。この値は例えば１０００回転／分の回転数に相応する。すなわち、回転数１０００回転／分を上回っているか否かが検査されるのである。ノー（Ｎ）の場合、プログラムはＳ４９３へ進む。
【０１７７】
１０００回転／分を上回っていれば、Ｓ４８６でフラグＳＴＡＲＴＵＰがゼロにセットされる。次にＳ４８８で、信号ＨＡＬＬがハイであるか否かが検査される。ノー（Ｎ）の場合、Ｓ４９０で予測変数ＮＥＸＴ＿ＣＯＭＭに、次の電流ブロックが電流ブロック４４６（図１５）になること、すなわちこの電流ブロックではＨＳＬ１１４とＬＳＲ１３６がスイッチオンされなければならないことが設定される。Ｓ４８８での応答がイエス（Ｙ）であれば、Ｓ４９２で次の電流ブロックが電流ブロック４４４（図１５）になること、すなわちこの電流ブロックではＨＳＲ１３０とＬＳＬ１３２がスイッチオンされなければならないことが設定される。Ｓ４９０またはＳ４９２に後、プログラムはＳ４９３へ進み、ルーチンＳ４２８は終了する。ＮＥＸＴ＿ＣＯＭＭＵＴに対する値は図２４のＳ７５２および図２５のＳ８０６で問い合わされ、回転数がより大きい場合には転流への移行を可能にする。
【０１７８】
図１７は、Ｉｍａｘ割込みＳ４２８を処理するためのルーチンＳ４２８に対する有利な一実施例を示す。このルーチンの機能を以下に図１８に基づき説明する。
【０１７９】
Ｓ５００で、ルーチンＣＯＭＭＵＴ＿ＣＴＲＬ（図２５）でフラグＩｍａｘ＿ＣＴＲＬ＿ＯＮが１にセットされているか否かが検査される。このことにより、ルーチンＳ４２８が信号Ｉｍａｘによって巻線１０２に電流が流れているときにのみトリガされ、巻線が無電流状態のときにノイズ信号によってトリガされることがなくなる。Ｓ５００での応答がイエス（Ｙ）であれば、Ｓ５０１でＩｍａｘ割込みが上限値（３Ａ）または下限値（１．６Ａ）で生成されたかが検査される。電流の上限での割込みの場合、信号Ｉｍａｘはハイからローへ変化する。なぜならトランジスタ１８８（図１）が導通され、固定子巻線１０２への電流がすでにローアクティブ信号Ｉｍａｘによってハードウエアを介して遮断されているからである。この遮断は２つの上段トランジスタ１１４と１３０の遮断によって行われる。このことはすでに図１で説明した。冗長的にはさらに、Ｓ５０１での応答がイエス（Ｙ）の場合、Ｓ５０２で信号ＨＳＬ＿ＯＵＴとＨＳＲ＿ＯＵＴが上段トランジスタ１１４と１３０に対してゼロにセットされ、これによりこの２つのトランジスタを介するコントロールがソフトウエアによっても得られる。すなわちこれら２つのトランジスタは、ソフトウエアがこれを許可したときに初めて再スイッチオンすることができる。Ｓ５００での応答がノー（Ｎ）であれば、ルーチンはその終了、すなわちＳ５２２へ直接進む。たとえ割込みが電流の下限（１．６Ａ）で生成されていても（Ｓ５０１：ノー（Ｎ））、ルーチンは直接Ｓ５２２へ進む。
【０１８０】
Ｓ５０４では、Ｓ５０２に３０μｓの待機時間が続く。この時間の間、電流はブリッジ１３７の下段部分で、例えば導通しているトランジスタ１３６およびフリーホイールダイオード１３２’を介して、または反対に、導通しているトランジスタ１３２とフリーホイールダイオード１３６’を介して流れる。
【０１８１】
次にＳ５０６で２つの下段トランジスタＬＳＬ１３２とＬＳＲ１３６がスイッチオンされ、その結果、巻線１０２内の電流は素子１３２、１３４、１３６、１３８を介して消失することができる。このとき電流はロータ１０８への回転トルクを形成する。
【０１８２】
Ｓ５０８ではルーチンＤＥＣ＊（ｐｗｍ）が実行される。このルーチンは図２２に示されており、ここでは信号ＰＷＭのデューティ比ｐｗｍが１段階だけ低減される。これにより巻線１０２を通る電流は減少し、上限、ここでは３Ａに達することはなくなる。このことによって、モータが不必要に電流制限によって作動することが適合的に回避され、低減された電流は値ＢＷの増加（制御器ＲＧＬでの）によって補償される。
【０１８３】
次にステップＳ５１０で例えば２００μｓ待機され、これにより巻線１０２内の電流は消失するのに十分な時間を有する。Ｓ５１１では、次にスイッチオンされるべきトランジスタに対する変数がＨＳＬ／ＬＳＲであるか否かが検査される。イエス（Ｙ）の場合、Ｓ５１２でトランジスタＬＳＲ１３６は導通のままに留まり、トランジスタＬＳＬ１３２が遮断される。その結果、短絡電流が今度はトランジスタ１３６とフリーホイールダイオード１３２’を介して流れる。これに続いてＳ５１２で例えば３０μｓ待機され、次に上段トランジスタＨＳＬ１１４が再びスイッチオン準備状態となる。すなわちこのトランジスタは、信号Ｉｍａｘがハイになるときハードウエアによってスイッチオンすることができる。図１７にはこのことは５１３で「ハードウエア：ＯＮ」によって象徴的に示されている。従ってスイッチオンは命令ＨＳＬ＿ＯＵＴ：＝１によって行われるのではなく、１．６Ａを下回るときにこの信号と信号Ｉｍａｘの変化との論理結合によって初めて行われる。従って１．６Ａを下回るとき、モータは直ちにエネルギーを直流電流網１２１から再び受け取り、ｉ１は再び上昇する。
【０１８４】
Ｓ５１１で応答がノー（Ｎ）の場合、Ｓ５１４でトランジスタＬＳＲ１３６は遮断され、トランジスタＬＳＬ１３４はスイッチオンのままに留まる。Ｓ５０６参照。その結果、短絡電流がトランジスタ１３４とフリーホイールダイオード１３６’を介して流れる。次いで３０μｓ待機され、次に上段トランジスタＨＳＲ１３０が再びスイッチオン準備状態となる。すなわちこのトランジスタは、信号Ｉｍａｘが再びハイになると、言い替えると電流が１．６Ａを下回ると直ちにハードウエアによりスイッチオンすることができる。これは５１３に示されている。スイッチオンはこの場合でも信号ＨＳＲ＿ＯＵＴ：＝１により行われるのではなく、１．６Ａの際に信号Ｉｍａｘが変化することによって、または言い替えると信号ＨＳＲ＿ＯＵＴ：＝１と信号Ｉｍａｘ＝１との論理結合によって行われる。１．６Ａを下回った後、モータ１００は再び電流を直流電流網１２１から受け取り、電流ｉ２は再び上昇する。
【０１８５】
Ｓ５１２またはＳ５１４に続いてルーチンＳ４２８はＳ５２２へ進み、そこで終了する。
【０１８６】
ここで信号ＨＳＬ＿ＯＵＴ，ＨＳＲ＿ＯＵＴ等は、μＣ４０の関連する出力端で他の信号が生成されるまで記憶されたままであることを述べておく。例えばＳ５０２に続き、信号ＨＳＬ＿ＯＵＴは、Ｓ５１２で１に切り替えられるまで０に留まり、Ｓ５１２に続いて、これが再び０に切り換えられるまで１に留まる。
【０１８７】
図１８は、図１７のルーチンの作用を説明するものである。図１８には上側電流閾値に対して値３Ａが、下側電流閾値に対して１．６Ａが分かり易くするためにプロットされている。もちろんこれらの数値はモータに応じて異なるものとすることができる。
【０１８８】
ｔ３０で電流ｉ１が、トランジスタ１１４と１３６をスイッチオンすることによりスイッチオンされる。ｔ３１でｉ１は３Ａの許容最大値に達し、信号Ｉｍａｘがローに変化することによってトランジスタ１１４は直ちにハードウエアを介して遮断される。同時にｔ３１からルーチンＳ４２８が図１７に従い実行される。このルーチンは、Ｓ５０６によりｔ３２のときに付加的に下段トランジスタ１３２をスイッチオンし、その結果、巻線１０２は短絡で駆動される。次に２００μｓの間にｔ３３へ進む。そこでトランジスタ１３２は再び遮断される。その結果、トランジスタ１３６だけが導通し、上段トランジスタ１１４のソフトウエア遮断は、ステップＳ５１６とＳ５１８により中止される。しかし上段トランジスタ１１４はｔ３４から、すなわち下側電流閾値１．６Ａに達してから初めて再び導通する。これにより信号Ｉｍａｘは再びハイとなり、その結果、電流ｉ１がスイッチオンされ、再び上昇する。ｔ３５でｉ１は再び値３Ａに達し、トランジスタ１１４は再びハードウエアによって遮断され、ルーチンＳ４２８が再びスタートされ、前記の過程が繰り返される。
【０１８９】
ｔ３６でトランジスタ１１４は再びハードウエアによってスイッチオンされ、ｔ３７で遮断命令が有効となる。なぜなら、電流ブロックの持続時間ＢＷが経過満了するからである。
【０１９０】
電流ｉ１自体は、時間ＢＷが経過満了する個所Ｚですでに遮断されていなければならないものではあるが、遮断命令は、図１８に灰色に示した領域でだけ、即ちこの場合は時点ｔ３７で初めて有効となることができる。そのため遮断は僅かに遅延される。
【０１９１】
時点ｔ３８で電流ｉ１はゼロを通過する。従ってそこでＩｍｉｎ割込みＳ４３６が形成される。この割込みは以下に説明する。
【０１９２】
図１７と図１８でやや不利な点は、例えば時点ｔ３３とｔ３４との間で損失が増加することである。なぜならそこではトランジスタ１３２がもはや導通していないので、ｉ１がフリーホイールダイオード１３２’を通って流れるからである。以下に変形実施例について説明する。この変形実施例は低速モータに適し、またこれによりこのような損失をさらに低減することができるものである。図１７と図１８の解決手段は現在の知識では、高速回転モータに対する最適である。なぜなら高速回転モータでは電流変化が非常に急速に経過し、従ってμＣ４０での計算時間は、この電流変化が生じる時間と比較して過度に長いからである。より高速のプロセッサにより、おそらくはさらに改善された解決手段が可能であろうが、高速のプロセッサは現在のところモータに対してはまだ高価すぎる。
【０１９３】
図１９は、Ｉｍｉｎ割込みの処理に対するサービスルーチン４３６の経過を示す。
【０１９４】
Ｓ５３０でフラグＩｍｉｎ＿ＩＮＴ＿ＯＮ＝１であるか否かが問い合わされる。このフラグは図２５のルーチンＣＯＭＭＵＴ＿ＣＴＲＬ、Ｓ８２４でセットされる。ＴＩＭＥＯＵＴ割込み（図２０）が直前に実行される場合、このフラグは値０を有し、そしてプログラムは直ちに終了、すなわちこのルーチンのＳ５３２に進む。
【０１９５】
Ｓ５３０で応答がイエス（Ｙ）であれば、Ｓ５３４でフラグＴＩＭＥＯＵＴ＿ＩＮＴ＿ＯＮが０にセットされる。これにより後続のＴＩＭＥＯＵＴ割込みはそれ以上処理されず、次いでＳ５３６で４つのすべてのトランジスタ１１４、１３０、１３２、１３６が遮断される。なぜなら巻線１０２は実質的に無電流であり、巻線に誘導エネルギーが蓄積されていないからである。（誘導エネルギーはロータ１０８の運動エネルギーに変換された。）
【０１９６】
次にＳ５３８でフラグＢｌｏｃｋＥｎｄ＿ＤＯＮＥが１にセットされる。このフラグは図２４でルーチンＣＯＭＭＵＴ＿ＮＯＲＭＡＬの間にＳ７６２で問い合わされ、次の転流の準備に用いられる。そして、ルーチンが処理されたので、Ｓ５３９でＩｍｉｎ＿ＩＮＴ＿ＯＮが０にセットされる。
【０１９７】
図２０は、ＴＩＭＥＯＵＴ割込みの処理に対するサービスルーチンＳ４４０の経過を示す。
【０１９８】
Ｓ５４０でフラグＴＩＭＥＯＵＴ＿ＩＮＴ＿ＯＮが値１を有するか否かが問い合わされる。Ｉｍｉｎ割込み（図１９）が先行していれば、このフラグは値０を有し、この場合、このルーチンは直接その終了Ｓ５４２に進む。
【０１９９】
Ｓ５４０で応答がイエス（Ｙ）であれば、ルーチンはステップＳ５４４へ進み、そこでフラグＩｍｉｎ＿ＩＮＴ＿ＯＮがゼロにセットされる。これにより後続のＩｍｉｎ割込みはそれ以上処理されない。図１９のＳ５３０参照。
【０２００】
次のステップＳ５４６では４つのすべてのトランジスタ１１４、１３０、１３２、１３６が遮断される。なぜなら巻線１０２の電流がＴＩＭＥＯＵＴの実行時に低い（ローの）値を有しており、従って巻線１０２には大きな誘導エネルギーが蓄積されていないからである。このため巻線１０２は無電流状態に切り替えられる。
【０２０１】
次にＳ５４８でフラグＢｌｏｃｋＥｎｄ＿ＤＯＮＥが１にセットされる。このフラグは図２４のルーチンＣＯＭＭＵＴ＿ＮＯＲＭＡＬの間にＳ７６２で問い合わされる。そして、割込みが処理されたので、Ｓ５４９でＴＩＭＥＯＵＴ＿ＩＮＴが０にセットされる。
【０２０２】
図２１は、μＣ４０の出力端ＲＣ７において信号ＰＷＭのデューティ比ｐｗｍを高めるためのルーチンＩＮＣ＊（ＰＷＭ）Ｓ５５４を示す。Ｓ５５６でＰＷＭレジスタ内の値が１だけ高められる。このことはデューティ比の１％の上昇に相応する。
【０２０３】
ステップＳ５５８で、ｐｗｍが上昇によって１００％より大きくなったか否かが検査される。イエス（Ｙ）の場合、プログラムはＳ５６０へ進み、ここでこの場合はｐｗｍが１００％にセットされる。このことは電流ｉ１またはｉ２が完全にスイッチオンされることを意味する。
【０２０４】
Ｓ５５８での応答がノー（Ｎ）であれば、ルーチンはその終了Ｓ５６２に進み、Ｓ５６０に続く場合も同様である。
【０２０５】
図２２は、デューティ比ｐｗｍを低減するためのルーチンＤＥＣ＊（ＰＷＭ）Ｓ５６４を示す。Ｓ５４０で値ｐｗｍは１だけ高められ、このことは約０．５％に相応する。Ｓ５６８でこのことによりｐｗｍが１０％より下に低下したか否かが検査される。イエス（Ｙ）であれば、ルーチンはＳ５７０へ進み、ここでｐｗｍは下方に向かって１０％に制限される。Ｓ５６８で応答がノー（Ｎ）であれば、ルーチンはその終了Ｓ５７２へ進む。Ｓ５７０に続く場合も同様である。
【０２０６】
図２１と図２２のルーチンはとりわけ適応制御器（ａｄａｐｔｉｖｅｒ Ｒｅｇｌｅｒ）の枠内で重要である。適応制御器については後の図３１で説明する。
【０２０７】
図２３から図２５はルーチンＣＯＭＭＵＴＳ３９６を示す。このルーチンはメインプログラム（図１３）で常時呼び出され、巻線１０２内の電流ｉ１、ｉ２を制御する。転流の制御は極めて頻繁に実行される機能である。この制御は次の２つの部分からなる：
１．始動（Ｓｔａｒｔ）および起動ないし回転立上り（Ｈｏｃｈｌａｕｆ）のためのスタートアップ部分
２．通常運転のための部分
【０２０８】
スタートアッププログラム部分では、モータは静止しているか、またはちょうど回転しようとしている。供給電圧の接続後、図１３のステップＳ３９４ではフラグＳＴＡＲＴＵＰがセットされ、これによりモータはルーチンＳＴＡＲＴＵＰにより始動する。フラグＣＯＭＭＵＴ＿ＯＮも同様に初期化の際に０にセットされ、これにより新たに通電をスタートすることができる。
【０２０９】
Ｓ７００でモータ１００がスタートアップ中（ＳＴＡＲＴＵＰ＝１）であるか否かが検査される。イエス（Ｙ）の場合、Ｓ７０２へジャンプし、簡素化された転流が実行される。
【０２１０】
回転数が低い場合の転流
回転数が低い場合、巻線１０２を通る電流はルーチンＣＯＭＭＵＴＳ３９６（図２３）によりスイッチオンされ、それぞれ後続のホール割込みルーチン（図１６）で再びスイッチオフされる。まずＳ７０２で、このホール期間の電流ブロックがすでにスタートされたか否かが検査される。イエス（Ｙ）の場合、終了Ｓ７２２へジャンプする。なぜなら次のホール変化の後で初めて通電が再び行われるからである。しかしＳ７０２でＣＯＭＭＵＴ＿ＯＮ＝０であった場合、これはルーチンＣＯＭＭＵＴＳ３９６の最初の呼び出しであり、通電がスタートする。
【０２１１】
これに続いてＳ７０４で１００μＳ待機される。これは電流のギャップ（Ｓｔｒｏｍｌｕｅｃｋｅ）を形成するためである。これによりすべてのＭＯＳＦＥＴが同時に導通することがなくなる。Ｓ７０６でブロック長ＢＷがゼロより大きいか否かが検査される。ノー（Ｎ）の場合、モータは電流を受け取らない。従ってルーチンは終了Ｓ７２２へジャンプする。
【０２１２】
ＢＷ＞０であれば、信号ＨＡＬＬに依存して巻線１０２の正しい通電、すなわちｉ１またはｉ２がスタートする。図１参照。そしてロータ１０８は１８０゜ｅｌだけの回転を開始する。
【０２１３】
ＨＡＬＬがハイであれば、Ｓ７１０で信号ＨＳＲ＿ＯＵＴとＬＳＬ＿ＯＵＴが１にセットされる。その結果、巻線１０２はトランジスタＨＳＲ１３０とＬＳＬ１３２を介して通電され、電流ｉ２が流れる。
【０２１４】
Ｓ７１２で、次の転流はトランジスタＨＳＬ１１４とＬＳＲ１３６を介して行わなければならないことが前もって設定される。このことは、この転流形式から、回転数が高い場合の転流形式へ変化する場合に重要である。これについては後の図２７の説明を参照のこと。
【０２１５】
これに対してＳ７０８で信号ＨＡＬＬがロー（ＬＯＷ）であれば、Ｓ７１４で別のトランジスタＨＳＬ１１４とＬＳＲ１３６がスイッチオンされ、その結果、電流ｉ１が流れる。そしてＳ７１６でＮＥＸＴ＿ＣＯＭＭＵＴが前もって、後続の転流に対して正しい値にセットされる。
【０２１６】
Ｓ７１８では最後にフラグＣＯＭＭＵＴ＿ＯＮが１にセットされる。これにより、巻線１０２がすでに電流を受け取っているので、ルーチンＣＯＭＭＵＴＳ３９６の次の呼び出しの際に、Ｓ７０２からＳ７２２へ直接ジャンプする。このことはロータ１０８が約１８０゜ｅｌ回転するまで継続される。
【０２１７】
１８０゜ｅｌに達したとき、このことをソフトウエアはホール割込みによって識別（検出）する。通電の遮断およびＣＯＭＭＵＴ＿ＯＮの０へのセットはホール割込みルーチン（図１６のＳ４６２からＳ４７８，Ｓ４６８）で行われる。これにより転流制御は再びＳ７０４から、正しい通電方向を有する新たな通電をスタートする。
【０２１８】
回転数が高い場合の転流
Ｓ７００でＳＴＡＲＴＵＰ＝０であれば、高回転数に対する転流ＣＯＭＭＵＴ＿ＮＯＲＭＡＬＳ７２０が実行される。図２４参照。図２６は、この転流の経過を示す概略のグラフである。
【０２１９】
図２４のＳ７５０で、連続的にリングカウンタにより測定される瞬時（実際ないしその時々の：ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）時間ｔ＿ＴＩＭＥＲ１が変数ｔ＿ＣＡＬＣに記憶され、Ｓ７５２で変数ＮＥＸＴ＿ＣＯＭＭＵＴに基づき、どの方向で電流が巻線１０２を流れるべきかが決定される。
【０２２０】
トランジスタＨＳＬとＬＳＲがスイッチオンされるべき場合、Ｓ７５４へジャンプし、変数ｔ＿ＣＡＬＣから、先行するローからハイへのホール変化の時点に相応する変数ＲｅｆＴｉｍｅ＿ＨＳＬ／ＬＳＲが減算される。図２６にこのことが図示されている。図２６Ａは、ホール変化６０１，６０３，６０５，６０７等を有する信号ＨＡＬＬを示し、それらの間で、変数ＲｅｆＴｉｍｅ＿ＨＳＲ／ＬＳＬ（６０１と６０５）およびＲｅｆＴｉｍｅ＿ＨＳＬ／ＬＳＲ（６０３と６０７）にそれぞれ、瞬時の（ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）ホール変化の時間が記憶される（図１６のＳ４５８とＳ４７０）。
【０２２１】
図２６は、転流の基本原理を説明するものである。電流ブロックのスイッチオンおよびスイッチオフのために、モータの駆動回転数に達した後、この電流ブロックに割り当てられたロータの基準位置を基準にする。この基準位置はすべての作動状態において、この電流ブロックに対しての最小間隔を維持する。
【０２２２】
例えば電流ブロックＢ４（図２６Ｃ）のスイッチオン・オフに基準位置δ０、ここでは１８０゜ｅｌを使用するならば、この基準位置δ０から出発して、電流ブロックＢ４のスイッチオンに対する角度位置δ１（ここでは４０５゜ｅｌ）を計算し、またブロックＢ４のスイッチオフに対する角度位置δ２（ここでは４９５゜ｅｌ）を計算する。
【０２２３】
従って角度位置δ０はこの電流ブロックに対する基準点であり、従ってこの角度位置のときにＴＩＭＥＲ１で基準時間ＲｅｆＴｉｍｅ＿ＨＳＬ／ＬＳＲが測定される。なぜなら電流ブロックＢ４ではトランジスタＨＳＬ１１４とＬＳＲ１３６が導通でなければならないからである。
【０２２４】
モータ１００は、回転角δを至る所で正確に測定することのできるようなセンサを有しておらず、１ロータ回転ごとに４つの個所でのみ回転位置をある程度正確に検出できるだけである。なぜならそこ、即ち０゜ｅｌ、１８０゜ｅｌ、３６０゜ｅｌおよび５４０゜ｅｌでは、信号ＨＡＬＬが変化するからである。これらの回転位置の間は補間（内挿）しなければならない。補間が可能であるのは、ロータ１８０の角速度は１回転の経過中僅かしか変化しないからである。
【０２２５】
従って回転位置δ１でスイッチオンし、回転位置δ２でスイッチオフしたい場合、δ０とδ１との間の角度間隔は例えば４０５−１８０＝２２５°ｅｌであり、δ０とδ２との間の角度間隔は例えば４９５−１８０＝３１５゜ｅｌであることが分かる。
【０２２６】
ロータが１８０゜ｅｌ回転するのには時間ｔ＿ＨＡＬＬが必要であることが既知であるから、２２５゜ｅｌの回転に対しては、時間ｔ＿ＨＡＬＬ＊（２２５／１８０）＝１．２５＊ｔ＿ＨＡＬＬが得られる。これはこの実施例の場合、時間ｔ＿ＢＬＯＣＫ＿ＳＴＡＲＴである。
【０２２７】
同様に３１５゜ｅｌに対しては、時間
ｔ＿ＨＡＬＬ＊（３１５／１８０）＝１．７５＊ｔ＿ＨＡＬＬが得られる。これはこの実施例の場合、時間ｔ＿ＢＬＯＣＫ＿ＥＮＤである。
【０２２８】
従って回転位置δ０を通過する際に基準時間、即ちＲｅｆＴｉｍｅ＿ＨＳＬ／ＬＳＲが測定され、これは例えば６７．３４ｍｓである。
【０２２９】
図３３はｎ＝３０００回転／分に対する数値例での値を示す。ここでは式（６）に従い時間ｔ＿ＨＡＬＬ＝５ｍｓである。ここでこの時間はロータ１０８が３０００回転／分のときに１８０゜ｅｌに対して必要な時間である。
【０２３０】
制御器ＲＧＬ（図３０）により６１３で例えば２．５ｍｓのブロック長が設定され、続いて図３３から予測的に６．２５ｍｓ後に電流ｉ１をスイッチオンしなければならない回転位置δ１（４０５゜ｅｌ）に達することが分かる。同様に予測的に、８．７５ｍｓ後に、電流ｉ１をスイッチオフしなければならないか、ないしは転流プロシージャが開始され、直流電流網からのエネルギー供給が遮断される回転位置δ２（４９５゜ｅｌ）に達することが分かる。
【０２３１】
さらに図３３は一例として、ＴＩＭＥＲ１で基準時点δ０で６５．３４ｍｓの基準時間が測定されることを示している。これは時間ＲｅｆＴｉｍｅ＿ＨＳＬ／ＬＳＲである。
【０２３２】
δ１でのスイッチオンとδ２でのスイッチオフを監視するために、図２４のＳ７５４により連続的に、瞬時（実際ないしその時々：ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）に測定される時点と６５．３４ｍｓとの間の時間差ｔ＿ＣＡＬＣを形成する。ｔ＿ＣＡＬＣについては式（５）を参照のこと。
【０２３３】
例えば時点ｔ４０でＴＩＭＥＲ１により６６．３４ｍｓの時間が測定される場合、差として
ｔ＿ＣＡＬＣ＝６６．３４−６５．３４＝１ｍｓ
が得られる。電流ｉ１は６．２５ｍｓの時間後に初めてスイッチオンしなければならないから、１ｍｓでは短すぎ、電流ｉ１はまだスイッチオンされない。
【０２３４】
時点ｔ４１でＴＩＭＥＲ１での瞬時（実際ないしその時々の：ａｋｔｕｅｌｌ）時間が７１．６０ｍｓであれば、差として
ｔ＿ＣＡＬＣ＝７１．６０−６５．３４＝６．２６ｍｓ
が得られる。この場合、電流ｉ１はスイッチオンされる。なぜならｔ＿ＣＡＬＣは６．２５ｍｓより大きいからである。
【０２３５】
従って回転位置δ０から図２５のＳ８００で、ｔ＿ＣＡＬＣがｔ＿ＢＬＯＣＫ＿ＳＴＡＲＴより大きくなったか否かが常時監視され、大きくなった場合には図２５のＳ８１０でトランジスタＨＳＬ１１４とＬＳＲ１３６がスイッチオンされる。
【０２３６】
スイッチオフは同じ原理に従い、ｔ＿ＣＡＬＣが量ｔ＿ＢＬＯＣＫ＿ＥＮＤと比較される。図２５のＳ８２０参照。図３３ではこの量は８．７５ｍｓである。この量は遮断角δ２に相応し、これに達したとき転流プロシージャが図２５のＳ８２６からＳ８４４に従い実行される。
【０２３７】
従って転流は、図１３の短いループで例えば０．１ｍｓの非常に短い間隔で時間ｔ＿ＣＡＬＣが新たに計算され、予測的値ｔ＿ＢＬＯＣＫ＿ＳＴＡＲＴおよびｔ＿ＢＬＯＣＫ＿ＥＮＤと比較されることに基づく。このことは図３３Ａでは時間６５．３４ｍｓと７４．１ｍｓとの間で行われ、点々６１５により示されている。ここでは各電流ブロックに対して、これに割当てられた基準角度から出発する。この基準角度においてこの電流ブロックに対する基準時間を測定し、この基準時間を比較の際に使用する。従ってロータ１０８が回転する際は、新たな基準時間が常時検出され、新たな比較が行われる。これにより巻線１０２を通る電流ｉ１とｉ２が正しく制御される。すなわち基準角はロータの回転と共に常時“変動”する。同じ原理を２つ以上の巻線を有するモータに適用できることも自明である。
【０２３８】
電流を時間ＺＶ＝０．４ｍｓだけ早期にスイッチオンすべき場合（このことを「早期点弧」と称する）、図３３で時間６．２５ｍｓの代わりにスイッチオンのための時間として
６．２５−０．４＝５．８５ｍｓ
を、そしてスイッチオフのための時間として
８．７５−０．４＝８．３５ｍｓを使用する。
【０２３９】
この場合、角度δ１はこの回転数において１４．４゜ｅｌだけ左へずれ、３９０．６゜ｅｌとなり、角度δ２はこの回転数において同様に１４．４゜ｅｌだけ左へずれ４８０．６゜ｅｌとなる。すなわち電流ｉ１は時間的に早期にスイッチオン・オフされ、早期にスイッチオン・オフされる角度は回転数の上昇と共に増大し、この場合例えば３０００回転／分では１４．４゜ｅｌであるが、６０００回転／分では２８．８゜ｅｌとなる。通常、ＺＶは回転数の関数である。このように巻線１０２を流れる電流を早期にスイッチオンすることにより、より高い回転数の場合のモータ１００の効率は改善される。このことは本発明では非常に簡単に実現される。
【０２４０】
図２６Ｂは変数ＮＥＸＴ＿ＣＯＭＭＵＴの値、すなわちＨＳＬ／ＬＳＲまたはＨＳＲ／ＬＳＬを示す。図２６Ｃは、通電ブロックＢ１からＢ５を時間ＴＩＭＥＲ１について象徴的に示す。図２６Ｄは、通電ブロックＢ４に対する時間ｔ＿ＢＬＯＣＫ＿ＳＴＡＲＴとｔ＿ＢＬＯＣＫ＿ＥＮＤを示す。この通電ブロックＢ４は６０９で開始し、６１１で終了する。ブロックＢ４はそのスイッチオンおよびスイッチオフのために基準時間として信号ＨＡＬＬのエッジ６０３を有する。すなわち６０３で測定される時間ＲｅｆＴｉｍｅ＿ＨＳＬ／ＬＳＲ（６０３）である。このことは図２６Ｃに矢印６１１により象徴的に示されている。６２１，６２３，６２５および６２７においてプログラムでの新たな計算により、持続時間ｔ＿ＣＡＬＣ＝ｔ＿ＴＩＭＥＲ１−ＲｅｆＴｉｍｅ＿ＨＳＬ／ＬＳＲ    （５）がＴＩＭＥＲ１での瞬時（実際：ａｋｔｕｅｌｌ）の時間に適合される。例えば６２１では、時点６２１’に対する時間ｔ＿ＣＡＬＣ（６２１’）が計算され、この時間を用いてブロックＢ４の開始がすでに達成されているか否かが検査される。
【０２４１】
時点６２１’、６２３’、６２５’および６２７’で、変数ＮＥＸＴ＿ＣＯＭＭＵＴ（図２６Ｂ）は値ＨＳＬ／ＬＳＲを有する。その結果、Ｓ７５２（図２４）からＳ７５０へジャンプし、そしてＳ７５０で記憶された値ｔ＿ＴＩＭＥＲ１と値ＲｅｆＴｉｍｅ＿ＨＳＬ／ＬＳＲ（６０３）との瞬時（ｍｏｍｅｎｔａｎ）の差が計算され、変数ｔ＿ＣＡＬＣに割当てられる。従って時点６２１’でのルーチンＣＯＭＭＵＴ＿ＮＯＲＭＡＬの呼び出しの際には、値ｔ＿ＣＡＬＣは６２１（図２６Ｄ）で出力された値を有する。Ｓ７５６では、変数ＮＥＸＴ＿ＣＯＭＭＵＴが値ＨＳＲ／ＬＳＬを有する場合、同様の計算が行われる。
【０２４２】
これに基づき本来の転流ルーチンＣＯＭＭＵＴ＿ＣＴＲＬＳ７６０へジャンプする。この転流ルーチンは図２５に示されている。図２４のうちＳ７６２から始まる部分は転流の終了、すなわち電流の遮断に用いられる。この部分は通電の終了後に一度だけ実行される。これについては後で説明する。
【０２４３】
ルーチンＣＯＭＭＵＴ＿ＣＴＲＬのＳ７６０では、トランジスタ１１４、１３０、１３２、１３６のスイッチオン・オフが行われる。このことを図２６に基づいて説明する。
【０２４４】
ｔ＿ＣＡＬＣで計算された持続時間が（時点６２１’のように）ｔ＿ＢＬＯＣＫ＿ＳＴＡＲＴよりも小さい場合、巻線１０２の通電は行われない。
【０２４５】
６２３’でｔ＿ＣＡＬＣは初めてｔ＿ＢＬＯＣＫ＿ＳＴＡＲＴより大きくなり、従って巻線１０２への電流がスイッチオンされる。
【０２４６】
時点６２５’で、値ｔ＿ＣＡＬＣはまだ値ｔ＿ＢＬＯＣＫ＿ＥＮＤに達していない。従って巻線１０２の通電は継続される。
【０２４７】
６２７’でｔ＿ＣＡＬＣは最終的に持続時間ｔ＿ＢＬＯＣＫ＿ＥＮＤを上回る。従って巻線１０２へのエネルギー供給は今度は遮断される。
【０２４８】
上に述べた各ステップはルーチンＣＯＭＭＵＴ＿ＣＴＲＬＤ７６０で実行される。ｔ＿ＣＡＬＣがＳ８００でｔ＿ＢＬＯＣＫ＿ＳＴＡＲＴより小さい場合（時点６２１’）、何も行われず、終了Ｓ８４８へジャンプする。
【０２４９】
しかしｔ＿ＣＡＬＣがＳ８００でｔ＿ＢＬＯＣＫ＿ＳＴＡＲＴより大きいか、または等しい場合（時点６２３’、６２５’、６２７’）、Ｓ８０２で、巻線１０２の通電がすでにアクティブであるか否か（ＣＯＭＭＵＴ＿ＯＮ＝１）が検査される。ノー（Ｎ）の場合（時点６２３’）、Ｓ８０４からスイッチオンプロシージャが行われる。
【０２５０】
Ｓ８０４でブロック長ＢＷ＝０の場合、電流は供給されず、Ｓ８１２へジャンプする。これに対してＢＷ＞０の場合、変数ＮＥＸＴ＿ＣＯＭＭＵＴの値に応じて、Ｓ８０８でトランジスタＨＳＲ１３０とＬＳＬ１３２が、またはＳ８１０でトランジスタＨＳＬ１１４とＬＳＲ１３６が導通制御される。
【０２５１】
Ｓ８１２でＣＯＭＭＵＴ＿ＯＮが１にセットされ、これにより今度は巻線１０２の通電がスイッチオンされたことが指示される。その後、終了Ｓ８４８へジャンプする。
【０２５２】
Ｓ８０２で値ＣＯＭＭＵＴ＿ＯＮ＝１の場合（時点６２５’、６２７’）、すなわち電流が巻線１０２に流れている場合、Ｓ８２０で、変数ｔ＿ＣＡＬＣがすでに持続時間ｔ＿ＢＬＯＣＫ＿ＥＮＤの値に達しているか否かが検査される。この持続時間は図３０のＳ６７３で計算される。
【０２５３】
ノー（Ｎ）の場合（時点６２５’）、Ｓ８２２でさらに、ｔ＿ＣＡＬＣが（２＊ｔ＿ＨＡＬＬ−Ａ＊）より大きいかまたは等しいか否かが検査される。ここで（２＊ｔ＿ＨＡＬＬ）はこのモータにおいてロータ１０８が３６０゜ｅｌだけ回転するのに必要な時間であり、Ａ＊は例えば４００μｓの定数である。Ｓ８２２により巻線への電流は、プログラム経過中に障害が生じた場合でも次のホール変化の約４００μｓ前で遮断される。
【０２５４】
この４００μｓが必要であるのは、ホール変化が生じる前に遮断プロシージャ全体を処理できるようにするためである。これはすべての電力トランジスタが同時にスイッチオンするのを回避するために用いられる。この「非常遮断」は回転数が高い場合に必要である。なぜならこの場合、ブロック長ＢＷはｔ＿ＨＡＬＬとほとんど同じ大きさだからである（回転数が高い場合には所要電力も大きい）。回転数が低い場合には、次のホール変化に達するよりずっと前に電流ブロックの終了が達成されている。すなわちＳ８２２での応答は常にノー（Ｎ）である。そしてＳ８２４でＩｍａｘ割込み（図１７）がアクティベートされ、これにより、場合によってはモータ電流が過度に高くても応答することができる。
【０２５５】
これに対してＳ８２０でｔ＿ＣＡＬＣの値がｔ＿ＢＬＯＣＫ＿ＥＮＤより大きいかまたは等しい場合、またはＳ８２２での応答がイエス（Ｙ）の場合、Ｓ８２６で遮断プロシージャが呼び出される。
【０２５６】
Ｓ８２６で変数Ｏｆｆ＿ｄｅｔｅｃｔｅｄに基づき、通電の遮断、すなわち遮断のための転流プロシージャがすでに開始されているか否かが検査される。イエス（Ｙ）の場合は、終了Ｓ８４８へジャンプする。しかしこれが最初の呼び出しの場合、Ｓ８２６からＳ８２８へジャンプする。
【０２５７】
変数Ｏｆｆ＿ｄｅｔｅｃｔｅｄはＳ８２８で１にセットされる。Ｓ８３０ではＩｍａｘ割込みがデアクティベートされ、Ｓ８３２でＩｍｉｎ割込みがアクティベートされる。（これらの割込みは、プログラムの論理に従って発生し得る領域でだけアクティベートされると非常に有利である。）
【０２５８】
Ｓ８３４で２つの上段トランジスタＨＳＬ１１４とＨＳＲ１３０とが遮断される。Ｓ８３６では３０μｓ待機され、Ｓ８３８でＴＩＭＥＯＵＴ割込み（図２０）がアクティベートされ、ＴＩＭＥＯＵＴ時間ｔ＿ＴＩＭＥＯＵＴがＴＩＭＥＲ１の瞬時（実際ないしその時々の：ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）値と定数ｔ＿Ｔ０から計算される。
【０２５９】
次にＳ８４０で２つの下段トランジスタＬＳＬ１３２とＬＳＲ１３６が導通制御される。これにより巻線１０２の電流は短絡して消失し、このとき運動エネルギーをロータ１０８に生成することができる。Ｓ８４２ではフラグＣＯＭＭＵＴ＿ＯＮが０にセットされ、Ｓ８４４で変数ＢｌｏｃｋＥｎｄ＿ＤＯＮＥが０にセットされ、これにより転流がまだ完全には終了していないことが指示される。２つの割込みルーチンＩｍｉｎ割込みとＴＩＭＥＯＵＴ割込みのうち、最初に呼び出された方の割込みルーチンが、次いで２つの下段トランジスタＬＳＬ１３２とＬＳＲ１３６を遮断する。図１９のＳ５３６および図２０のＳ５４６を参照。そしてＢｌｏｃｋＥｎｄ＿ＤＯＮＥが１にセットされる。図１９のＳ５３８および図２０のＳ５４８参照。これにより遮断は完全に終了し、このことはＢｌｏｃｋＥｎｄ＿ＤＯＮＥ＝１により指示される。
【０２６０】
ルーチンＣＯＭＭＵＴ＿ＮＯＲＭＡＬＳ７２０の次の呼び出しの際に、図２４のＳ７６２でＳ７６４へジャンプする。Ｓ７６４では、通電が遮断されているので、ＣＯＭＭＵＴ＿ＯＮとＯｆｆ＿ｄｅｔｅｃｔｅｄが０にセットされる。そしてＳ７６６からＳ７７０までにＮＥＸＴ＿ＣＯＭＭＵＴの予測値が変化される。すなわち値ＨＳＬ／ＬＳＲがＨＳＲ／ＬＳＬに、またはその反対に変化される。図２６Ｂ参照。このことにより、電流が本来割当てられたホール割込みの前でスイッチオンされる早期点弧の場合でも、巻線１０２内の通電方向が正しく設定される。すなわち値ＮＥＸＴ＿ＣＯＭＭＵＴにより、どのトランジスタペアを引き続きスイッチオン・オフについて監視しなければならないかが設定される。その後Ｓ７２２でフラグＢｌｏｃｋＥｎｄ＿ＤＯＮＥが０にセットされ、これにより次の実行の際にはＳ６７２での応答がノー（Ｎ）となり、ルーチンは直接Ｓ７７４へ進む。
【０２６１】
図２７は、瞬時の（ｍｏｍｅｎｔａｎ）ホール時間ｔ＿ＨＡＬＬを計算するためのルーチンＣＡＬＣ＿ｔ＿ＨＡＬＬＳ４０６を示す。ホール時間ｔ＿ＨＡＬＬとはロータ１０８が１８０゜ｅｌ回転するのに必要な時間である。
【０２６２】
図２８は説明のための概観図である。図２８Ｄは信号ＨＡＬＬを示す。この信号は個所６３０、６３１、６３２、６３３、６３４、６３５にエッジを有する。すなわちそこでそれぞれホール変化が生じ、このホール変化はロータ位置の検出及び回転数と加速度の検出に用いられる。４極ロータ１０８の場合は１回転ごとに４回のホール変化が生じるので、１回転当たり４回、正確なロータ位置を測定することができる。
【０２６３】
図２８Ｂは、変数ＨＡＬＬ＿ＣＮＴの値を示す。これはカウンタであり、図１６のＳ４５４に従いモジュロ（単位）４で増分される。これの意味するのは、この変数が順次、値０、１、２、３、０、１、２、３、０、．．を取るということである。
【０２６４】
図２８Ａは一例としてロータ１０８の位置を示す。このロータは図１のように４極ロータとして示されている。例えば信号ＨＡＬＬのエッジ６３０はロータ位置０゜ｅｌおよび計数状態ＨＡＬＬ＿ＣＮＴ＝０に相応し、エッジ６３１はロータ位置１８０゜ｅｌおよび計数状態ＨＡＬＬ＿ＣＮＴ＝１に相応し、エッジ６３２はロータ位置３６０゜ｅｌおよび計数状態ＨＡＬＬ＿ＣＮＴ＝２に相応する。
【０２６５】
２つの形式の測定が使用される。図２８Ｅは、回転数ｎが低い場合、例えば２０００回転／分以下の場合に使用される一方の形式を示す。ここでｔ＿ＨＡＬＬは大きな値を取る。後述の式（６）と式（７）を参照。図２８Ｆは、回転数がより大きい場合、例えば２０００回転／分以上の場合に使用される別の形式を示す。ここではホール時間ｔ＿ＨＡＬＬは比較的に小さく、完全な１回転（７２０゜ｅｌ）の時間を測定することにより、ロータ１０８の磁化誤差による不正確さ（Ｕｎｇｅｎａｕｉｇｋｅｉｔ）が回避される。
【０２６６】
ルーチンＣＡＬＣ＿ｔ＿ＨＡＬＬ、Ｓ４０６はメインプログラム（図１３）により各第２のホール割込みで呼び出される。すなわち変数ＨＡＬＬ＿ＣＮＴ（図２８）が偶数、すなわち値０または２のときに呼び出される。図１３のステップＳ４０２参照。
【０２６７】
予めホール割込みルーチンＳ４２８（図１６）にはホール変化の瞬時（実際ないしその時々の：ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）時間が記憶されている。すなわち、ハイからローへのエッジではＲｅｆＴｉｍｅ＿ＨＳＲ／ＬＳＬに（図１６のＳ４５８；図２８Ｃ）、ローからハイへのエッジではＲｅｆＴｉｍｅ＿ＨＳＬ／ＬＳＲに（図１６のＳ４７０；図２８Ｃ）記憶される。ロータ位置が０゜ｅｌ、３６０゜ｅｌ、７２０゜ｅｌ等の場合、当該ロータ位置に対する時間はＨＳＬ／ＬＳＲに対する基準時間として記憶され、ロータ位置が１８０゜ｅｌ、５４０゜ｅｌ、９００゜ｅｌ等の場合、当該ロータ位置に対する時間はＨＳＲ／ＬＳＬに対する基準時間として記憶される。これは図２８Ｃに明確に示されている。
【０２６８】
Ｓ８５１ないしＳ８５２（図２７）では信号ＨＡＬＬの値に応じて、瞬時の（ｍｏｍｅｎｔａｎ）ホール変化と先行のホール変化との間の持続時間が計算され、変数ＴＥＭＰに記憶される。図２８Ｅでこれは、例えばホール変化６３２の後のエッジ６３１と６３２との間の持続時間、すなわち［ＲｅｆＴｉｍｅ＿ＨＳＬ／ＬＳＲ（６３２）−ＲｅｆＴｉｍｅ＿ＨＳＲ／ＬＳＬ（６３１）］となるであろう。Ｓ８５４で瞬時の（ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）時間ｔ＿ＨＡＬＬがｔ＿ＨＡＬＬ＿ＯＬＤに記憶され、これにより加速度の計算を実行することができる。図２９参照。
【０２６９】
Ｓ８５６で持続時間ＴＥＭＰが持続時間ｔ＿２０００より小さいか否かが検査される。（時間ｔ＿２０００は２０００回転／分における時間ｔ＿ＨＡＬＬに等しい。）ノー（Ｎ）の場合、モータ１００の回転数ｎが２０００回転／分より小さく、左の分岐路Ｓ８５８、Ｓ８６０が実行され、このとき四分の一回転、すなわち１８０゜ｅｌに対する時間ｔ＿ＨＡＬＬが測定される。このときＳ８５８では、Ｓ８５１またはＳ８５２からの値ＴＥＭＰがホール時間ｔ＿ＨＡＬＬに割当てられ、Ｓ８６０でＦＬＡＧ＿１／４を１にセットすることにより、現在、四分の一回転に対する時間だけが測定されることを指示する。
【０２７０】
モータの回転数がＳ８５６ですでに回転数ｎ＝２０００回転／分に達している場合、Ｓ８６２で変数ＨＡＬＬ＿ＣＮＴ＝０であるか否かが検査される。これはロータ１０８が機械的に完全に１回転する毎に起こる場合に相当する（図２８Ａおよび２８Ｂ参照）。ノー（Ｎ）の場合、直ちに終了Ｓ８７８へジャンプする。これは例えば図２８Ｄのエッジ６３２の場合に相当する。しかしＨＡＬＬ＿ＣＮＴ＝０の場合は、Ｓ８６４で
ＦＬＡＧ＿１／４＝１であるか否かが検査される。
【０２７１】
イエス（Ｙ）の場合、これはロータの完全な１回転に対してｔ＿ＨＡＬＬ計算の一番最初の実行であり、従ってこの実行の際に瞬時（ｍｏｍｅｎｔａｎ）値ＲｅｆＴｉｍｅ＿ＨＳＬ／ＬＳＲがＲｅｆＯｌｄに記憶される。これにより次の実行からはＲｅｆＯｌｄに対して有効（適切）な値による計算が可能となる。一番最初の実行時には機械的に完全な１回転にわたるｔ＿ＨＡＬＬの計算は行われず、これまでの値がそのまま使用される。Ｓ８６６でＦＬＡＧ＿１／４がゼロにセットされる。すなわち次の実行からはロータ１０８の完全な１回転にわたる測定を行うことができる。
【０２７２】
ＨＡＬＬ＿ＣＮＴ＝０の場合においてＣＡＬＣ＿ｔ＿ＨＡＬＬ、Ｓ４０６が次に呼び出されると、Ｓ８０４からＳ８６８へジャンプする。そこで、瞬時（ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）値ＲｅｆＴｉｍｅ＿ＨＳＬ／ＬＳＲ（例えば図２８Ｄのエッジ６３４から）とロータの１回転前にＲｅｆＯｌｄに記憶されている値（例えば図２８Ｄのエッジ６３０）との間の持続時間が計算される。この持続時間はホール時間ｔ＿ＨＡＬＬの４倍に相応し、従って計算された値はＳ８７０で４で除算される。その結果、値ｔ＿ＨＡＬＬは完全な１回転（図２８Ｅの６３０から６３４，すなわち７２０゜ｅｌ）に対する持続時間の四分の一に正確に相応する。ｔ＿ＨＡＬＬのこの形式の計算はとりわけ正確であり、従ってモータのとりわけ静粛な運転に寄与する。
【０２７３】
Ｓ８７４で瞬時（ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）値ＲｅｆＴｉｍｅ＿ＨＳＬ／ＬＳＲが次の計算のために変数ＲｅｆＯｌｄに記憶される。これに続いてルーチンをＳ８７８で去る。
【０２７４】
ＲｅｆＴｉｍｅ＿ＨＳＬ／ＬＳＲの代わりに、同様に時間ＲｅｆＴｉｍｅ＿ＨＳＲ／ＬＳＬを使用することもできるであろう。これは当業者には自明である。このことは、どのロータ位置においてカウンタＨＡＬＬ＿ＣＮＴが計数状態０を有するかということに依存している。
【０２７５】
ルーチンＣＡＬＣ＿ｔ＿ＨＡＬＬＳ４０６はこの実施例では、メインプログラム（図１３）の分岐路Ｓ４０２に基づいて、各第２のホール割込みの後にだけ呼び出される。図１３のＳ４０２での問い合わせによって、その呼び出しの際に完全な１回転にわたる回転数計算のために正しい基準時間が使用されることが保証される。
【０２７６】
高速プロセッサを使用する場合は、同じルーチンＣＡＬＣ＿ｔ＿ＨＡＬＬＳ４０６をさらに頻繁に呼び出すこともできるであろう。
【０２７７】
図２９は、ロータ１０８の加速度の計算に用いるルーチンＣＡＬＣ＿ＡＣＣＥＬ、Ｓ４０８を示す。図１３によれば、このルーチンは、ステップＳ８５４でルーチンＳ４０８の実行が準備されるルーチンＣＡＬＣ＿ｔ＿ＨＡＬＬに続いて実行される。
【０２７８】
ステップ６４０では、変数ＡＣＣＥＬがｔ＿ＨＡＬＬ＿ＯＬＤとｔ＿ＨＡＬＬの差として計算される。
【０２７９】
Ｓ６４２で、ＡＣＣＥＬが０より小さいか否かが検査される。これの意味するのは、モータの回転数が例えば制動過程により減少していることである。この場合、Ｓ６４４でＡＣＣＥＬが０にセットされる。
【０２８０】
Ｓ６４２でＡＣＣＥＬ≧０の場合、ルーチンはＳ６４６へ進み、ここでＡＣＣＥＬの値が２倍にされる。０より大きなＡＣＣＥＬは、ロータ１０８が加速していること、例えばモータの起動（Ｈｏｃｈｌａｕｆ）時であることを意味する。従ってＡＣＣＥＬは予測的に２倍にされる。なぜなら、モータのスタート時には回転数がｅ関数に従って上昇し、その結果、２倍にしなければ、ＡＣＣＥＬの値は計算の終了後にはすでに過度に低い値になってしまうからである。
【０２８１】
Ｓ６４４およびＳ６４６に続いて、ルーチンはＳ６４８へ進む。ここでは（Ｓ６４４またはＳ６４６からの）ＡＣＣＥＬの値に値Ａ＊、例えば転流プロシージャに対して約４００μｓの時間が必要なので４００μｓが加算される。ＡＣＣＥＬのこの値は続いてルーチンＲＧＬで使用され、ＢＷの値が変更される。そしてルーチンＳ４０８はステップＳ６５２で終了する。
【０２８２】
図３０は、回転数制御に対するルーチンＲＧＬＳ４１０を示す。このルーチンは、ホール時間ｔ＿ＨＡＬＬと目標時間ｔ＿ｓとの比較に基づくものである。目標時間は所望の回転数に相応し、μＣ４０の入力端ＲＡ０に設定される。従ってその実施例の制御器は回転数により直接作動するのではなく、ロータ１０８が所定の回転角に対して必要とする時間により作動する。ホール時間ｔ＿ＨＡＬＬは、ロータが１８０゜ｅｌの回転に必要とする時間に相応する。ロータ１０８が４極であり、かつ３０００回転／分で回転する場合、
ｔ＿ＨＡＬＬ＝６０／（３０００×４）＝０．００５ｓ＝５ｍｓ        （６）
が成立する。同様にこの時間は１０００回転／分の場合は
ｔ＿ＨＡＬＬ＝６０／（１０００×４）＝０．０１５ｓ＝１５ｍｓ      （７）
である。従って回転数が低い場合、実際値ｔ＿ＨＡＬＬは非常に大きく、例えば１００回転／分の場合、１５０ｍｓ＝０．１５ｓであり、これは例えば３０００回転／分に対しては５ｍｓである目標値ｔ＿ｓよりも格段に大きい。この理由から、制御偏差ＲＧＬ＿ＤＩＦＦはステップＳ６５４に従い、差（ｔ＿ＨＡＬＬ−ｔ＿ｓ）として形成される。これにより差の形成の際に正（プラス）の結果が得られる。
【０２８３】
Ｓ６５６では、制御偏差が正（プラス）の許容最大値ＲＧＬ＿ＤＩＦＦ＿ＭＡＸより大きいか否かが検査される。大きい場合には、Ｓ６５８で制御偏差がこの正の最大値にセットされる。これは、そのようにしないと制御偏差が著しく大きくなってしまう始動（Ａｎｌａｕｆ）時にはとりわけ重要である。
【０２８４】
Ｓ６５６で、応答がノー（Ｎ）の場合、プログラムはステップＳ６６０へ進み、制御偏差が負（マイナス）の許容最大値−ＲＧＬ＿ＤＩＦＦ＿ＭＡＸより小さいか否かが検査される。イエス（Ｙ）の場合、Ｓ６６２で制御偏差が負（マイナス）の最大値にセットされる。（これは、モータが所望の回転数より大きい回転数で運転されている場合に該当する。）
【０２８５】
ステップＳ６５８，Ｓ６６０またはＳ６６２にはＳ６６４が続く。ここではＰＩ制御器の計算ステップが実行される。このために制御偏差は比例係数ＲＧＬ＿Ｐと乗算され、比例成分ＲＧＬ＿ＰＲＯＰが得られる。この比例係数ＲＧＬ＿Ｐは例えば２とすることができる。
【０２８６】
同様に制御偏差は積分係数ＲＧＬ＿Ｉと乗算され、古い積分成分ＲＧＬ＿ＩＮＴに加算される。これにより新たな積分成分が得られる。この積分係数は例えば０．０６２５とすることができる。
【０２８７】
最後に電流ブロック４４４または４４６（図１５）の長さＢＷが、新たな比例成分と新たな積分成分の和として計算される。
【０２８８】
比例係数ＲＧＬ＿Ｐおよび積分係数ＲＧＬ＿Ｉは、モータの大きさおよび駆動されるべき負荷の慣性モーメントに依存して経験的に設定される。
【０２８９】
ＢＷは、ロータが１８０゜ｅｌの回転に対して必要とする時間ｔ＿ＨＡＬＬよりも長くなってはならないので、次のステップＳ６６６でＢＷが過度に大きくないか否かが検査され、場合によりＳ６６８でブロック長が例えば瞬時（ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）値ｔ＿ＨＡＬＬに制限される。
【０２９０】
Ｓ６６６で応答がノー（Ｎ）の場合、ルーチンＳ４１０はステップＳ６７０へ進み、ここでＢＷが０より小さいか否かが検査される。これが意味するのはモータが過度に高速に回転していることである。この場合、Ｓ６７１で値ＢＷが０にセットされる。すなわち電流がモータに流れない。同時に積分成分ＲＧＬ＿ＩＮＴが０に（または小さな値に）リセットされる。積分成分を小さな値にこのようにリセットすることによって制御器の特性が、とりわけオーバーシュート（設定速度の超過）の点で格段に改善されることが示された。
【０２９１】
Ｓ６７０で応答がノー（Ｎ）の場合、Ｓ６７２でブロック長が（ＢＷ−ＡＣＣＥＬ）に短縮される。このとき、値ＡＣＣＥＬは図２９のＳ６４８から引き渡される。この値は、加速度に依存する成分と、図２９で説明した値Ａ＊（例えば４００μｓ）を含む。Ｓ６７２を行なう理由は、加速時、例えば起動（Ｈｏｃｈｌａｕｆ）時には次のホール変化が一定回転数の場合よりも早期に発生し、そのためブロック長ＢＷを加速中は相応に短縮しなければならないからである。値ＡＣＣＥＬをＳ６４６（図２９）で２倍にすることも同様に、起動（Ｈｏｃｈｌａｕｆ）時に転流プロシージャに対して十分な時間を準備するために行う。なぜならモータの起動（Ｈｏｃｈｌａｕｆ）時には回転数がほぼｅ関数に従って上昇するからであり、このことはＳ６４６で考慮される。
【０２９２】
Ｓ６７２によるブロック長ＢＷによって次にＳ６７３で時間ｔ＿ＢＬＯＣＫ＿ＳＴＡＲＴおよびｔ＿ＢＬＯＣＫ＿ＥＮＤが計算される。これは図１５にプロットされている。そこでｔ＿ＢＬＯＣＫ＿ＳＴＡＲＴはｔ１とｔ３との間の時間間隔であり、その大きさは式（３）から得られる。時間ｔ＿ＢＬＯＣＫ＿ＥＮＤは図１５Ｄに従い、ｔ＿ＢＬＯＣＫ＿ＳＴＡＲＴにＢＷに対する値を加算することにより得られる。時間ｔ＿ＢＬＯＣＫ＿ＳＴＡＲＴとｔ＿ＢＬＯＣＫ＿ＥＮＤは、引き続く図２５での計算（ルーチンＣＯＭＭＵＴ＿ＣＴＲＬ）のために必要である。これについては図２６で詳細に説明した。
【０２９３】
式（３ａ）と式（４ａ）に基づいて説明した「早期点弧」が所望される場合、Ｓ６７３で次式（８）：
ｔ＿ＢＬＯＣＫ＿ＳＴＡＲＴ：＝ｔ＿ＨＡＬＬ＋（ｔ＿ＨＡＬＬ−ＢＷ）／２−ＶＺ
（８）
が使用される。ＶＺはこの場合、例えば４００μｓの定数であり、これにより図１５ｄに従いブロック４４６の開始がｔ３’の方へずらされる。すなわち電流が早期にスイッチオン・オフされる。ここでｔ３’はｔ２の前にあっても良い。このことが本発明で可能であるのは、トランジスタＨＳＬ１１４とＬＳＲ１３６に対するｔ＿ＢＬＯＣＫ＿ＳＴＡＲＴの計算に対する基準点として、信号ＨＡＬＬの立上りエッジ３７０、すなわち２つ前のエッジが使用されるからである。図１５の矢印４４５と４４７参照。
【０２９４】
Ｓ６７３の後、ルーチンＳ４１０はＳ６７４で終了する。
【０２９５】
従って図３０のルーチンによってブロック長ＢＷが得られ、このブロック長は実際の回転数が所望値に近付けば近付くほど小さくなる。
【０２９６】
ブロック長ＢＷの制御は、後で図３１と図３２で説明する適応制御器と相互作用する。この適応制御器はデューティ比ｐｗｍを介して値ＢＷをさらに最適化する。ＢＷは、転流プロシージャに対する時間が得られるようｔ＿ＨＡＬＬの９５％を上回ってはならない。そしてこのことは次のようにして達成される。すなわち、電流ブロック４４４または４４６（図１５）を形成するＰＷＭパルス（列）が相応に変形されること、即ち１つのブロックにおける平均電流が適応制御器によって上昇または下降されることにより達成される。ＢＷが過度に大きい場合、平均電流は、このパルス（列）のデューティ比の増大によって、ブロック長ＢＷが転流プロシージャの最適な実行が得られるような値に「収縮される」まで自動的に増加される。
【０２９７】
図３１は、デューティ比ｐｗｍをモータの作動条件に依存して変更するためのルーチンＭＯＤ＿ｐｗｍ、Ｓ４１２を示す。
【０２９８】
ステップＳ９００で、制御器（図３０）によりＳ６７２で形成されたブロック長ＢＷが瞬時の（ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）ホール時間ｔ＿ＨＡＬＬの５０％以下であるか否かが検査される。この（回転数に依存する）０．５＊ｔ＿ＨＡＬＬの値は下限値となり、モータノイズを小さく保持するためには（ＢＷは）この値を大きく下回ってはならない。すなわち短い駆動パルス（列）はモータの構造体伝搬雑音上昇の原因となり、また効率も低下させるからである。このことは不所望のことである。
【０２９９】
下側限界値を下回っている場合、Ｓ９０２でデューティ比ｐｗｍが少なくとも１０％（この値を実質的に下回ってはならない）であるか否かが検査される。
【０３００】
ｐｗｍが１０％より小さいかまたは等しい場合、プログラムはステップＳ９０４へ進み、ここでデューティ比ｐｗｍ＿ＯＵＴがμＣ４０の出力端ＲＣ２で瞬時（ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）値ｐｗｍに調整され、Ｓ９０６へ進む。すなわちルーチンＭＯＤ＿ｐｗｍＳ４１２を終了する。この場合は、ｐｗｍをさらに低減することはできない。
【０３０１】
ｐｗｍが１０％より大きい場合、プログラムはＳ９０８へ進み、そこでカウンタＰＷＭ＿ＣＮＴが値０を有しているか否かが検査される。このカウンタは、下限値、すなわち０．５＊ｔ＿ＨＡＬＬに到達ないし下回った頻度を計数し、５番目の計数（値）毎にデューティ比ｐｗｍが低減されるように作用する。
【０３０２】
このためにμＣは８ビット、すなわち１から２５６間の値の内部レジスタを有しており、この値はμＣ４０からその出力端ＲＣ２に出力されるＰＷＭ信号のデューティ比ｐｗｍｓを設定する。このＰＷＭ信号はこのμＣにおいて２０ｋＨｚの一定の周波数を有している。この内部レジスタの値を低減することによりｐｗｍは減少され、このレジスタの値を増大することによりｐｗｍは増大する。
【０３０３】
Ｓ９０８でカウンタＰＷＭ＿ＣＮＴが値０を有する場合、プログラムはステップ９１０へ進み、ここでこのカウンタは値５に調節される。次にＳ９１２でデューティ比ｐｗｍが減少される。図２２参照。これによりモータ電流ｉ１、ｉ２の平均値は減少する。次にプログラムはＳ９０４へ進む。
【０３０４】
Ｓ９０８でカウンタＰＷＭ＿ＣＮＲが０に等しくない場合、プログラムはＳ９１４へ進み、ここでＰＷＭ＿ＣＮＴは１だけ減分される。すなわちこの場合、ｐｗｍは変化しない。
【０３０５】
Ｓ９００での応答がノー（Ｎ）の場合、プログラムはステップＳ９１６へ進む。そこでは制御器ＲＧＬにより計算されたブロック長ＢＷが過度に大きくないか否か、すなわちｔ＿ＨＡＬＬの９５％より大きいかまたは等しいかが検査される。このようなことは不所望のことである。なぜなら転流プロシージャは約４００μｓを必要とするが、ＢＷが過度に大きい場合は最早これが得られないこととなるからである。
【０３０６】
ＢＷが過度に大きくない場合、プログラムはすでに説明したステップＳ９０４へ進み、ｐｗｍ＿ＯＵＴは変化しないままである。
【０３０７】
ＢＷが過度に大きい場合、プログラムはＳ９１８へ進み、そこでｐｗｍがすでに１００％に達したか否かが検査される。達している場合、１００％以上に高めることは不可能なので、プログラムは直接Ｓ９０４へ進む。すなわちＢＷの持続中は連続的に電流が流れる。
【０３０８】
Ｓ９１８でデューティ比が１００％より小さい場合、ステップＳ９２０へ進み、ここでカウンタＰＷＭ＿ＣＮＴが値０を有しているか否かが検査される。イエス（Ｙ）の場合、Ｓ９２２でカウンタＰＷＭ＿ＣＮＴは５にセットされる。次にＳ９２４で値ｐｗｍが増分される。図２１参照。その結果、モータ電流ｉ１またはｉ２の平均値は相応に増加する。
【０３０９】
Ｓ９２０での応答がノー（Ｎ）の場合、プログラムはステップＳ９２６へ進み、ここでＰＷＭ＿ＣＮＴは値１だけ減分され、そしてルーチンはステップＳ９０４へ進む。
【０３１０】
図３２は、図３１のフローチャートの過程を説明するものである。図３２では横軸が相対ブロック長ｂを示す。これは、
ｂ＝ＢＷ／ｔ＿ＨＡＬＬ                                    （９）
として定義される。従って相対ブロック長ｂは、ブロック長ＢＷのホール時間ｔ＿ＨＡＬＬに対する瞬時の（ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）割合をパーセントで示したものに相当する。縦軸は瞬時の（ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）デューティ比ｐｗｍを同様にパーセントで示したものである。確認のために示すと：ｔ＿ＨＡＬＬはロータ１０８が瞬時の（ａｕｇｅｎｂｌｉｃｋｌｉｃｈ）回転数において１８０゜ｅｌ回転するのに必要な時間である。式（６）と式（７）参照。
【０３１１】
ａ）相対ブロック長ｂが過度に大きくなる場合。
ここで、モータ１００が作動点Ｃ、すなわちブロック長ＢＷがｔ＿ＨＡＬＬの８０％であり（即ちｂ＝８０％）、かつデューティ比ｐｗｍは３５％で作動していると仮定する。
【０３１２】
モータが負荷されると、ｂは制御器ＲＧＬの作用によって特性曲線９３０に沿って増大する。このときｐｗｍ＝３５％は変化しない。９３２でｂ＝９５％の上限値を上回り、９３４でＳ９２４（図３１）によりデューティ比ｐｗｍが高められる。その結果、比較的に大きな平均電流が流れ、モータ１００にはより多くのエネルギーが供給され、その回転数は上昇する。
【０３１３】
従ってＳ９３６で回転数制御器ＲＧＬにより相対ブロック長ｂが縮小され、再び許容領域に戻る。しかしこのときｐｗｍは高められている。（図３２ではｐｗｍの上昇が誇張して示されている；このことは小さなステップ（幅）でのみ行われる。）
【０３１４】
カウンタＰＷＭ＿ＣＮＴは、上限値９３２を僅かに上回るたびにｐｗｍが増加するのを阻止する。実験的には、５回ごとに１つ上昇させるとモータが非常に安定して回転することが確認された。しかしこの係数は例えばモータの大きさ、負荷の形式等に依存しうる。この係数が過度に小さい場合、制御器は発振する傾向がある。３から７の間の値が現在の知識では最適と思われる。
【０３１５】
ｂ）相対ブロック長ｂが過度に小さくなる場合。
図３２は第２の例として、ｂ＝５５％の相対ブロック長と８０％のｐｗｍを有する作動点Ｄを示す。
【０３１６】
モータが負荷軽減されると、直線９４０の特性曲線は下限値９４２（ｂ＝５０％）を下回り、９４４で約４７％の相対ブロック長ｂに至る。このことによりモータ雑音が上昇し、またモータの効率に対しても不利である。
【０３１７】
従ってＳ９１２によりデューティ比ｐｗｍが縦軸方向の直線９４６（図３２）に沿って低減され、これによりモータに供給される電流の平均値も減少し、その結果、回転数は低下する。
【０３１８】
この理由から回転数制御器ＲＧＬ（図３０）は比較的に大きなブロック長ＢＷを計算し、その結果、相対ブロック長ｂは直線９４８に沿って再び下限値９４２より大きい領域に戻る。
【０３１９】
負荷の変化が大きい場合には上記の過程を数回繰り返すことができる。基本的に回転数制御器は相対的ブロック長ｂとデューティ比ｐｗｍを全領域で調整することができる。この領域は図３２に破線９５０により囲まれている。従ってこの実施例では、ｐｗｍは１０％から１００％の間であり、相対ブロック長ｂは５０〜９５％の間である。これを常に最適効率の領域ないしモータ雑音の低い領域へ戻ろうとする適応制御器と称することができる。
【０３２０】
もちろん本発明の枠内で多種多様の変形および改善が可能である。
【図面の簡単な説明】
【図１】
本発明の直流モータの有利な一実施形態の概略図。
【図２】
従来技術のモータでの転流経過を説明するための概略的線図。
【図３】
本発明のモータの一例での転流プロシージャの経過を説明するための、図２と同様の概略的線図。
【図４】
転流プロシージャの経過中に測定される電流推移の線図。
【図５】
最大電流制限を使用した場合に測定される電流推移の線図。
【図６】
本発明を説明するための状態図。
【図７】
ロータが３６０゜ｅｌ回転する際の磁束密度推移と、電流制限が使用される場合のモータ電流推移を示す線図。
【図８】
電流制限が使用された結果を非常に概略的に図７と同様に示した図。ここではモータに配属され電流ブロックの長さＢＷを相応に拡大する適合制御器が作動する。
【図９】
Ａｒｉｚｏｎａ Ｍｉｃｒｏｃｈｉｐ社製のマイクロコントローラによる特別の実施例。この図はマイクロコントローラの配線の一部であり、この部分は図１０には示していない。
【図１０】
信号ＩｍｉｎとＩｍａｘを生成するためのハードウエアの詳細な回路図。
【図１１】
Ｈブリッジ１３７を制御するハードウエアの詳細な回路図。
【図１２】
使用されるソフトウエアの基本構造を説明するための概略図。
【図１３】
モータ１００でのプログラムの基本的推移を示すフローチャート。
【図１４】
種々の割込みを識別および操作するための割込みルーチンのフローチャート。
【図１５】
後続の各図を説明するための概略図。
【図１６】
信号ＨＡＬＬのエッジが発生した際に実行されるホール割込みルーチンのフローチャート。
【図１７】
信号Ｉｍａｘのエッジで実行されるＩｍａｘ割込みルーチンのフローチャート。
【図１８】
モータが高速回転する際に最大電流制限の応答を説明するための概略図。
【図１９】
信号Ｉｍｉｎが発生する際に実行されるＩｍｉｎ割込みルーチンのフローチャート。
【図２０】
ＴＩＭＥＯＵＴ割込みルーチンのフローチャート。
【図２１】
デューティ比ｐｗｍを増大するためのフローチャート。
【図２２】
デューティ比ｐｗｍを減少するためのフローチャート。
【図２３】
転流時に実行される過程を説明するためのフローチャート。
【図２４】
モータ１００が通常の回転数で運転される場合の、転流を説明するためのフローチャート。
【図２５】
巻線１０２で電流が遮断される場合の転流プロシージャの詳細を説明するためのフローチャート。
【図２６】
転流時の過程を説明するための線図。
【図２７】
回転数が小さい場合と大きい場合での、持続時間ｔ＿ＨＡＬＬの計算を説明するためのフローチャート。
【図２８】
回転数が小さい場合と大きい場合での、持続時間ｔ＿ＨＡＬＬの計算を説明するための線図。
【図２９】
加速度を考慮するためのルーチンＣＡＬＣ＿ＡＣＣＥＬのフローチャート。
【図３０】
回転数制御のためのルーチンＲＧＬのフローチャート。
【図３１】
モータの作動条件に依存してデューティ比ｐｗｍを適合的に変更するためのルーチンのフローチャート。
【図３２】
図３１の作用を説明するための概略図。
【図３３】
図２６をさらに具体的に説明するための数値も示した概略図。
【図２】
2004517593.tif 000003
【図６】
2004517593.tif 000004
【図１２】
2004517593.tif 000005
【図１３】
2004517593.tif 000006
【図１４】
2004517593.tif 000007
【図１６】
2004517593.tif 000008
【図１７】
2004517593.tif 000009
【図１９】
2004517593.tif 000010
【図２０】
2004517593.tif 000011
【国際公開パンフレット】
2004517593.tif 000012
2004517593.tif 000013
2004517593.tif 000014
2004517593.tif 000015
2004517593.tif 000016
2004517593.tif 000017
2004517593.tif 000018
2004517593.tif 000019
2004517593.tif 000020
2004517593.tif 000021
2004517593.tif 000022
2004517593.tif 000023
2004517593.tif 000024
2004517593.tif 000025
2004517593.tif 000026
2004517593.tif 000027
2004517593.tif 000028
2004517593.tif 000029
2004517593.tif 000030
2004517593.tif 000031
2004517593.tif 000032
2004517593.tif 000033
2004517593.tif 000034
2004517593.tif 000035
2004517593.tif 000036
2004517593.tif 000037
2004517593.tif 000038
2004517593.tif 000039
2004517593.tif 000040
2004517593.tif 000041
2004517593.tif 000042
2004517593.tif 000043
2004517593.tif 000044
2004517593.tif 000045
2004517593.tif 000046
2004517593.tif 000047
2004517593.tif 000048
2004517593.tif 000049
2004517593.tif 000050
2004517593.tif 000051
2004517593.tif 000052
2004517593.tif 000053
2004517593.tif 000054
2004517593.tif 000055
2004517593.tif 000056
2004517593.tif 000057
2004517593.tif 000058
2004517593.tif 000059
2004517593.tif 000060
2004517593.tif 000061
2004517593.tif 000062
2004517593.tif 000063
2004517593.tif 000064
2004517593.tif 000065
2004517593.tif 000066
2004517593.tif 000067
2004517593.tif 000068
2004517593.tif 000069
2004517593.tif 000070
2004517593.tif 000071
2004517593.tif 000072
2004517593.tif 000073
2004517593.tif 000074
2004517593.tif 000075
2004517593.tif 000076
2004517593.tif 000077
2004517593.tif 000078
2004517593.tif 000079
2004517593.tif 000080
2004517593.tif 000081
2004517593.tif 000082
2004517593.tif 000083
2004517593.tif 000084
2004517593.tif 000085
2004517593.tif 000086
2004517593.tif 000087
2004517593.tif 000088
2004517593.tif 000089
2004517593.tif 000090
2004517593.tif 000091
2004517593.tif 000092
2004517593.tif 000093
2004517593.tif 000094
2004517593.tif 000095
2004517593.tif 000096
2004517593.tif 000097
2004517593.tif 000098
2004517593.tif 000099
2004517593.tif 000100
2004517593.tif 000101
2004517593.tif 000102
2004517593.tif 000103
2004517593.tif 000104
2004517593.tif 000105
2004517593.tif 000106
2004517593.tif 000107
2004517593.tif 000108
2004517593.tif 000109
2004517593.tif 000110
2004517593.tif 000111
2004517593.tif 000112
2004517593.tif 000113
2004517593.tif 000114
2004517593.tif 000115
【国際公開パンフレット（コレクトバージョン）】
2004517593.tif 000116
2004517593.tif 000117
【国際調査報告】
2004517593.tif 000118
2004517593.tif 000119
2004517593.tif 000120
2004517593.tif 000121
2004517593.tif 000122
2004517593.tif 000123
2004517593.tif 000124
2004517593.tif 000125
2004517593.tif 000126
2004517593.tif 000127