(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-11-30
(54)【発明の名称】BLDCモータコントローラ/ドライバ
(51)【国際特許分類】
H02P 29/00 20160101AFI20221122BHJP
【FI】
H02P29/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022518649
(86)(22)【出願日】2020-09-10
(85)【翻訳文提出日】2022-05-23
(86)【国際出願番号】 US2020050053
(87)【国際公開番号】W WO2021061407
(87)【国際公開日】2021-04-01
(32)【優先日】2019-09-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-03-16
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】501105602
【氏名又は名称】アレグロ・マイクロシステムズ・エルエルシー
(74)【代理人】
【識別番号】100118902
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100147991
【氏名又は名称】鳥居 健一
(74)【代理人】
【識別番号】100201743
【氏名又は名称】井上 和真
(72)【発明者】
【氏名】ルー,イソン
【テーマコード(参考)】
5H501
【Fターム(参考)】
5H501DD04
5H501GG03
5H501GG05
5H501GG07
5H501GG08
5H501HA08
5H501HB07
5H501HB16
5H501JJ03
5H501JJ07
5H501JJ12
5H501JJ17
5H501JJ23
5H501JJ24
5H501KK07
5H501LL22
(57)【要約】
記憶された入力値および出力値ごとにインデックス値を有する曲線変換器を有し、曲線変換器の出力に対して記憶されたコーナーポイントを与える、三相BLDCモータを制御する方法および装置。曲線変換器は、入力値のうち隣接する間の間の入力データに対して補間されたデータを出力することができる。
【特許請求の範囲】
【請求項1】
記憶された入力値および出力値ごとにインデックス値を有する曲線変換器を使用して、前記曲線変換器の出力に対して記憶されたコーナーポイントを与えるステップを含み、
前記曲線変換器は、前記入力値のうち隣接する値の間の入力データに対して補間されたデータを出力する、方法。
【請求項2】
当該補間されたデータは、直線補間されたデータを含む、請求項1に記載の方法。
【請求項3】
三相モータの制御のために前記曲線変換器を使用するステップをさらに含む、請求項1に記載の方法。
【請求項4】
モータ速度の制御のために前記曲線変換器を使用するステップをさらに含む、請求項3に記載の方法。
【請求項5】
モータトルクを制御するために前記曲線変成器を使用するステップをさらに含む、請求項3に記載の方法。
【請求項6】
モータ電力を制御するために前記曲線変換器を使用するステップをさらに含む、請求項3に記載の方法。
【請求項7】
モータ制御要求を制御するために前記曲線変換器を使用するステップをさらに含む、請求項3に記載の方法。
【請求項8】
前記インデックス値、前記入力値および前記出力値は、前記曲線変換器の出力に複数の段差を付与する、請求項1記載の方法。
【請求項9】
前記複数の段差は、ヒステリシスを含む、請求項8に記載の方法。
【請求項10】
前記曲線変換器の出力は、単調ではない、請求項1に記載の方法。
【請求項11】
モータコントローラICパッケージの極性FOCを用いて前記曲線変換器を使用するステップをさらに含む、
請求項1に記載の方法。
【請求項12】
モータコントローラICパッケージであって、
曲線変換器を提供するように構成されたプロセッサおよびメモリを含み、
前記曲線変換器が、当該曲線変換器の出力に対して記憶されたコーナーポイントを与えるために、記憶された入力値および出力値ごとにインデックス値を有しており、
前記曲線変換器は、前記入力値のうち隣接する値の間の入力データに対して補間されたデータを出力する、モータコントローラICパッケージ。
【請求項13】
当該補間されたデータは、直線補間されたデータを含む、請求項12に記載のモータコントローラICパッケージ。
【請求項14】
前記曲線変換器は、三相モータを制御するように構成されている、請求項12に記載のモータコントローラICパッケージ。
【請求項15】
前記曲線変換器は、モータ速度を制御するように構成されている、請求項14に記載のモータコントローラICパッケージ。
【請求項16】
前記曲線変換器は、モータトルクを制御するように構成されている、請求項14に記載のモータコントローラICパッケージ。
【請求項17】
前記曲線変換器は、モータ電力を制御するように構成されている、請求項14に記載のモータコントローラICパッケージ。
【請求項18】
前記曲線変換器は、モータ制御要求を制御するように構成されている、請求項14に記載のモータコントローラICパッケージ。
【請求項19】
前記インデックス値、前記入力値および前記出力値は、前記曲線変換器の出力に複数の段差を付与する、請求項12に記載のモータコントローラICパッケージ。
【請求項20】
前記複数の段差は、ヒステリシスを含む、請求項19に記載のモータコントローラICパッケージ。
【請求項21】
前記曲線変換器の出力は、単調ではない、請求項12に記載のモータコントローラICパッケージ。
【請求項22】
前記曲線変換器は、極性FOCモータ制御用に構成される、請求項14に記載のモータコントローラICパッケージ。
【発明の詳細な説明】
【背景技術】
【0001】
当該技術分野で知られているように、ブラシレスDC(BLDC)モータは、機械的整流子の代わりに、ロータ位置に同期した外部電子スイッチを含み得る。従来のBLDCでは、ロータ位置の検出と電子整流子の閉ループ制御のために、ホール効果センサが巻線に取り付けられる場合がある。
【発明の概要】
【0002】
一態様では、方法は、記憶された入力値および出力値ごとにインデックス値を有する曲線変換器を使用して、曲線変換器の出力に対して記憶されたコーナーポイントを与えるステップを含み、曲線変換器は、入力値のうち隣接する値の間の入力データに対して補間されたデータを出力する。
【0003】
方法は、以下の特徴、すなわち、補間されたデータは、直線補間されたデータを含むこと、曲線変換器は、三相モータを制御すること、曲線変換器は、モータ速度を制御すること、曲線変換器は、モータトルクを制御すること、曲線変換器は、モータ電力を制御すること、曲線変換器は、モータ制御要求を制御すること、インデックス値、入力値および出力値は、曲線変換器の出力に複数の段差を付与し、当該複数の段差がヒステリシスを含むこと、曲線変換器の出力は単調ではなく、および/または、曲線変換器はモータコントローラICパッケージの極性FOCを使用すること、のうちの1つまたは複数をさらに含むことができる。
【0004】
他の態様において、モータコントローラICパッケージは、曲線変換器を提供するように構成されたプロセッサおよびメモリを含み、曲線変換器が、当該曲線変換器の出力に対して記憶されたコーナーポイントを与えるために、記憶された入力値および出力値ごとにインデックス値を有しており、線変換器は、入力値のうち隣接する値の間の入力データに対して補間されたデータを出力する。
【0005】
モータコントローラICパッケージは、以下の特徴、すなわち、補間されたデータは、直線補間されたデータを含むこと、曲線変換器は、三相モータを制御するように構成されること、曲線変換器は、モータ速度を制御するように構成されること、曲線変換器は、モータトルクを制御するように構成されること、曲線変換器は、モータ電力を制御するように構成されること、曲線変換器は、モータ制御要求を制御するように構成されること、インデックス値、入力値および出力値は、曲線変換器の出力に複数の段差を付与すること、当該複数の段差はヒステリシスを含むこと、曲線変換器の出力は単調ではなく、および/または曲線変換器は極性FOCモータ制御用に構成されること、のうちの1つまたは複数をさらに含むことができる。
【0006】
本発明の前述の特徴、および本発明自体は、以下の図面の説明からより完全に理解され得る。
【図面の簡単な説明】
【0007】
【
図1】本発明の例示的な実施形態による三相BLDCモータの例示的な制御システムの概略図である。
【
図2】
図1の例示的な制御システムのさらなる詳細を示す概略図である。
【
図2A】例示的なバス電流測定および位相ゼロ電流検出を示す概略図である。
【
図3】BLDCモータの例示的な位相電流および位相電圧波形のグラフ表示である。
【
図3A】位相電圧および駆動電流の極座標表示である。
【
図4】三相交流電流から派生する回転直流電流としての駆動電流の概略図である。
【
図5】本発明の例示的な実施形態による三相BLDCモータの速度を制御するための例示的なプロセスである。
【
図7B】曲線変換器の他の例示的な実施態様である。
【
図7C】曲線変換器の他の例示的な実施態様である。
【
図7D】曲線変換器の他の例示的な実施態様である。
【
図7E】曲線変換器の他の例示的な実施態様である。
【
図8B】PIループの他の実施形態の概略図である。
【
図9A】例示的なエラーフィードバックループの概略図である。
【
図9B】他の例示的なエラーフィードバックループの概略図である。
【
図10】動作のための制御ループのブロック図である。
【
図14】
図13のクロックモードのためのクロック信号の波形図である。
【
図15】クロックモードの例示的なハイブリッド実装のブロック図である。
【
図16】本明細書で説明する処理の少なくとも一部を実行することができる例示的なコンピュータである。
【発明を実施するための形態】
【0008】
図1は、本発明の例示的な実施形態による、モータを制御するための例示的なシステム100を示す。制御システム100は、例えば、三相BLDCを制御するために有用であり得る。例示的なモータ制御回路102は、それぞれが抵抗器と直列に接続されたインダクタを有し、逆起電力電圧源と直列に接続されたそれぞれの等価回路として描くことができる3つの巻線104a、104b、104cを有する電気モータ104を駆動するために結合される。例えば、巻線A104aは、抵抗器131と直列に接続され、逆起電力電圧源VA136と直列に接続されたインダクタ130を有するように示される。逆起電力電圧源VA136の電圧は、関連するモータ巻線に電流が流れているときには直接観測できないが、位相電流と位相電圧を見ることによって推定することが可能である。
【0009】
一般に、モータ巻線に渡る電圧、例えば巻線A140aに渡る電圧は、以下の式によって支配される。
VoutA-Vcommon=VA+IR+L・dI/dt
【0010】
ここで、以下のとおりである。
VoutA=巻線Aの一端における観測可能な電圧。
Vcommon=(VoutA+VoutB+VoutC)/3:巻線104a、104b、104cの接合部における電圧であり、VoutA、VoutBおよびVoutCによって計算可能。
R=抵抗器131の抵抗値。
L=インダクタ130のインダクタンス。
I=巻線に流れる電流。
VA=逆起電力電圧。
【0011】
したがって、巻線104aに流れる電流がゼロであれば、VoutA-Vcommon=VA+L・dI/dtとなることが分かる。理想的な場合は、VoutA-Vcommon=L・dI/dtとなり、逆起電力VAは位相電流と同位相となる。
【0012】
図示された実施形態では、モータ制御回路102は、モータ制御回路102の外部から外部速度要求信号106を受信するように結合された速度要求発生器107を含む。外部速度要求信号106は、様々なフォーマットで提供することができる。一般に、外部速度要求信号106は、モータ制御回路102の外部から要求されるモータ104の速度を示すものである。
【0013】
実施形態では、速度要求信号107aは、外部速度要求信号だけでなく、信号処理モジュールで測定または計算されたモータ電流要求によっても決定される。過電流制限(OCL)の事象が起こった場合、速度要求信号107aはクランプされ、外部速度要求信号106より小さくなる可能性がある。
【0014】
速度要求発生器107は、速度要求信号107aを生成するように構成される。パルス幅変調(PWM)発生器108は、速度要求信号107aを受信するように結合され、PWM信号108aを生成するように構成され、そのデューティサイクルは速度要求信号107aによって制御される。PWM発生器108はまた、変調信号発生モジュール146から変調波形を受信するように結合されている。PWM信号108aは、変調信号発生モジュール146からの変調波形に応じた変調特性(すなわち、相対的に時間的に変化するデューティサイクル)を有するように生成される。
【0015】
一実施形態では、モータ制御回路102は、PWM信号108aを受信するように結合され、PWMゲート駆動信号110a、110b、110c、110d、110e、110fを生成して3つのハーフブリッジ回路112/114、116/118、120/122として配置された6つのトランジスタ112、114、116、118、120、122を駆動するように構成されるゲート駆動回路110も含む。6つのトランジスタ112、114、116、118、120、122は、それぞれノード102d、102c、102bに3つのモータ駆動信号VoutA、VoutB、VoutC、124、126、128を与えるために飽和状態で動作してもよい。
【0016】
特定のアプリケーションのニーズを満たすために、様々な適切な構成で結合された任意の実用的な数のスイッチング素子を使用することができることを理解されたい。さらに、三相BLDCモータに通電する信号を与えるスイッチング素子の制御信号を生成するために、任意の適切な信号発生器を使用することができることを理解されたい。
【0017】
モータ制御回路102は、バス電流測定信号150と、モータ駆動信号VoutA、VoutB、VoutC、124、126、128のうちの1つまたは複数をそれぞれ受信するための信号処理モジュール143も含むことができる。実施形態では、これらの信号は、A相、B相、および/またはC相ゼロ電流検出(ZCD:Zero Current Detection)のために使用することができる。バス電流150およびモータ駆動信号VoutA、B、Cは、以下でより十分に議論されるように、モータ速度を制御するために使用することができる。
【0018】
制御回路102は、ノード102aでモータ電圧VMOT、または単にVMを受け取るように結合することができ、この電圧は、上位トランジスタ112、116、120がオンになっているときにトランジスタ112、116、120を通してモータに供給される。トランジスタ112、116、120がオンになってモータ104に電流を供給しているときに、トランジスタ112、116、120を通して小さな電圧降下(例えば、0.1ボルト)があり得ることが理解されるであろう。
【0019】
図2は、
図1のシステムに対するさらなる詳細を示す本発明の例示的な実施形態によるBLDC制御システム200を示す。インバータ/モータモジュール202は、三相モータを制御するための制御信号U(ABC)を受信する。インバータ/モータモジュール202は、バス電流に対応するI_bus信号204をI_busコマンドモジュール206に対して生成し、位相電流信号I(ABC)をゼロ電流検出モジュール208に対して生成し、これはサンプル/計算モジュール210に三相電流方向情報を供給する。I_bus/コマンド(例えば、I_busを速度コマンドで割ったもの)モジュール206は、以下でより詳細に説明するように、I_driving信号または駆動電流を生成する。
【0020】
サンプル/計算モジュール210は、ゼロ電流が検出されたときにθSとしてサンプルすることができるモータ駆動角信号θを受信し、以下でより十分に説明するように、モータ位相電流と位相電圧の間の差に対応する差分角θeを出力する。入力信号として与えることができる位相進角θ0は、モータの速度ωを調整するための差分角Δθを出力する加算器212に入力することができる。実施形態では、差分角Δθと、I_bus/コマンドモジュール206によって生成されたI_driving信号(駆動電流)は、結合器214、例えば乗算器への入力として供給され、その出力は、比例-積分-微分(PID:Proportional-Integral-Derivative)コントローラ216に供給される。PID216は、θeとθ0の間の差としてモータ速度の出力値ωを生成し、時間の経過とともにモータ速度誤差を最小化しようとする。PID216の出力は積分218され、モータを制御するための変換機構220、例えばルックアップテーブルに供給され、また、モータ速度角信号θのサンプリングθSを可能にするためにサンプル/計算モジュール210に供給される。
【0021】
KpおよびKiは、比例および積分微分項の係数を表すことが理解される。微分係数Kdも使用することができる。Pはθeとθ0の間の誤差の現在値を、Iは誤差の過去値を、Dは現在の変化率に基づく誤差の将来の可能な値を、それぞれ説明する。係数を調整することによって、PIDコントローラ216は、特定のプロセス要件に従って実行することができる。
【0022】
I_busコマンドモジュール206のI_driving出力信号は、電力制御モジュール222に供給され、電力制御モジュール222は、振幅コマンドモジュール224に出力を供給する。結合器226は、振幅コマンドモジュール224、変換機構220、およびモータ電圧VMに対応し得るVBBなどの信号228から出力を受け取る。結合器226の出力は、インバータ/モータモジュール202に供給され、スイッチング素子のためのゲート信号を生成し、それによってモータの速度を制御する。例示的な実施形態では、結合器226は、出力を生成するために入力信号を多重化する。
【0023】
図2Aは、バス電流250および位相A、B、Cのゼロ電流検出252を測定するための例示的な位置の一実施形態を示す図である。実施形態において、第1、第2、および第3のスイッチングデバイス対はそれぞれ、モータMのそれぞれの位相A、B、Cに結合される。感知された信号は、位相A、B、Cのゼロ電流検出を可能にする。
【0024】
図3は、本発明の例示的な実施形態によるBLDCモータ制御に使用することができる例示的な波形を示す。三相BLDCの電圧駆動角300が0度から360度まで示されている。正弦波位相電流信号302が、サンプリングされた電圧駆動角θ
Sに対応する立ち下がりゼロ交差304を有して示されており、これは、位相電流302と位相電圧306との間の角度θ
eを導出するために使用することが可能である。図示された実施形態では、θ
e=180-θ
Sである。
【0025】
実施形態では、差分角θ
eは、定常状態においてθ
0(
図2)に等しいことが望ましい。
図3Aは、(
図2の206から出力される)位相電圧350と駆動電流352との間の角度によって定義される極座標系における角度θ
eを示す。
【0026】
図4は、三相交流電流を等価な回転直流電流に置き換えることができる駆動電流の表現である。分かるように、モータのA相、B相、C相のそれぞれに正弦波電流を供給することができる。磁石には北極(N極)と南極(S極)があり、そこから位置が決定される。角度θは、位相電圧の正弦波関数の入力である電圧駆動角度を意味する。実施形態では、角度θは、正弦波ルックアップテーブルのインデックスを与えることができる。
【0027】
上述したように、I_bus/コマンドモジュール206(
図2)は、PIDコントローラ216のためのI_driving信号を生成することができる。例示的な実施形態では、I_driving=I_busを速度コマンドで割ったものである。I_drivingと位相電流との間の関係は、以下に説明される。
【0028】
三相電流は、以下のように定義することができる。
IA=Ipeak×sin(ωt)(ωはモータ速度に相当する。)
IB=Ipeak×sin(ωt-120°)
IB=Ipeak×sin(ωt-240°)
【0029】
位相トルクは以下のように定義できる。
TA=IA×FluxPeak×sin(θ+120°)
TB=IB×FluxPeak×sin(θ+240°)
TC=IC×FluxPeak×sin(θ+0°)
Tsum=1.5×Ipeak×FluxPeak×(ωt+θ+120°)
【0030】
直流駆動電流Idrive=1.5×Ipeakであり、反時計回りに速度ωで回転する場合、Tdrive=1.5×Ipeak×FluxPeak×(ωt+θ+120°)=Tsum、となる。
【0031】
このことから、Ipeak直流電流の1.5倍であるIdriveをBLDCの磁石とともに回転させることで、BLDCモータは等価トルクTdrive=Tsumで駆動されることが分かる。そこで、解析のために、三相電流IA、IB、ICをIdriveに置き換える。IdrivingはIdriveの振幅であり、I_bus/コマンドモジュール206(
図2)により測定することができる。
【0032】
図5は、本発明の例示的な実施形態によるBLDCモータ制御のための例示的なプロセスを示す。ステップ500において、位相電流方向は、参照により本明細書に組み込まれる米国特許第8,917,043号に示され説明されているような適切なゼロ電流検出(ZCD)技術を使用して検出され得る。ステップ502において、位相電流302(例えば、
図3参照)と位相電圧306との間の角度θ
eは、ゼロ電流が検出されたときにサンプリングされた電圧駆動角θ
Sから計算することができる。電圧駆動角θは、正弦波出力を決定する0度から360度までのインデックスとすることができる。角度θ
eは、
図3Aに示すように、極座標系における電流の角度位置に対応し得る。ステップ504では、モータインダクタンスなどから算出された位相進み角θ
0を入力として受け取る。一般に、定常状態では角度θ
eはθ
0に等しいことが望ましい。ステップ506において、差分角Δθ(例えば、θ
0-θ
e)は、モータ速度ωを調整するための制御ループ、例えば、PIDコントローラ216(
図2)にフィードバック信号を供給する。
【0033】
ステップ508において、システム(例えば、
図2のI_bus/コマンドモジュール206)は、バス電流204(
図2および
図4)の平均値を測定し、この値を、モータの駆動トルクを生み出す有効回転電流である駆動電流(I_driving)に変換する。駆動電流を測定および/または推定するための任意の適切な方法を用いることができることが理解される。正弦波形によって駆動される三相BLDCモータでは、上述のように、三相交流電流は、駆動電流と呼ぶことができる等価回転直流電流に置き換えることができ、これは、バス電流を振幅コマンドで割ったものに比例している。一実施形態では、I_driving=Ibus×1.732/振幅_コマンドである。駆動電流は、
図3Aの極座標系における径方向部分352である。
【0034】
ステップ510では、駆動電流に差分角Δθを乗算し、その積をPIコントローラ216(
図2)に供給する。PI制御ループの比例ゲイン(Kp)および積分ゲイン(Ki)は、例えば、モータパラメータによって決定することができる。また、駆動電流は、システムの加減速を制御するパワー制御に用いることができる。
【0035】
他の態様では、BLDCモータ制御処理は、速度、トルク、電力、制御要求データなどに有用なデータ曲線変換器を含むことができる。実施形態において、曲線変換器は、
図1の信号処理モジュール143などの信号処理装置の一部として提供され得る。
【0036】
図6は、M(M:0)入力ビットおよびN(N:0)出力ビットを有する例示的な曲線変換器モジュール600を示す。例示的な実施形態では、入力ビットと出力ビットの数が同じになるように、N=Mである。NおよびMは、特定のアプリケーションのニーズを満たすために、任意の実用的な整数として与えられ得ることが理解される。
【0037】
図7Aは、入力データ値および出力データ値が0から511までの範囲であり得るN=M=9の例示的な実施態様を示す。曲線変換器600(
図6)は、入力データ値を出力データ値に変換する。図示された実施形態では、0から511の間である各入力データ値は、0から511の間である出力値に変換される。いくつかの実施形態では、データルックアップ値は、EEPROMまたは他のストレージに格納することができる。0と511の「コーナーポイント」が格納され、その間の値は、例えば直線補間によって計算される。特定のアプリケーションのニーズを満たすために、任意の適切な補間技術を使用することができることを理解されたい。変換データは、ある数のコーナーポイントをカバーするために、特定のメモリアドレスに格納することができる。ある特定の実施形態では、各データポイントは、9ビットの入力データおよび9ビットの出力データを含む。
【0038】
図7Aの図示された実施形態では、アドレス32は、第1の点(インデックス0)を格納し、入力データは0であり、出力データは0であり、アドレス33は、第2の点(インデックス1)を格納し、入力データは511であり、出力データは511である。曲線は0から511までの直線的な曲線となる。2行目では、入力データは511で、曲線の最後のコーナーポイントを示している。実施形態では、この行を超えるデータは無視される。
【0039】
図7Bは、メモリ内のアドレス位置{32、33、34、35、36}のインデックス値{0、1、2、3、4}を用いて出力データ{0、0、100、511、511}に変換された入力データ{0、100、100、450、511}のさらなる例を示している。入力値と出力値は、図の右側の曲線で示されている。コーナーポイントは100から511まで直線外挿した状態で示されている。100以下の入力データは出力値0に変換される。450以上の入力データは、511の出力値に変換される。
【0040】
曲線変換器を用いた速度要求の例示的な実装では、速度要求が約20%(≒100/511)未満ではモータが起動せず、入力要求が約80%(≒450/511)以上であればモータ速度が飽和することになる。
【0041】
図7Cは、ヒステリシスを持つ段差曲線を与えるために10点を使用した他の例を示している。見て分かるように、様々な入力データ値が、入力値の特定範囲に対してプラトーを形成する出力データ値に対応している。次のポイント(インデックスN+1)の入力データが、現在のポイント(インデックスN)の入力データより小さい場合、ヒステリシスが発生する。例えば、インデックス1が100、インデックス2が80の場合、20のヒステリシスが発生する。インデックス3と4、インデックス5と6、インデックス7と8にも同様のヒステリシスが発生する。
【0042】
図7Dは、出力が単調である必要がない他の例を示しており、この例では、インデックス6について入力が511のときに出力がゼロに戻るようになっている。図示された実施形態では、曲線は、80から511までの直線外挿と、様々なコーナーポイントとを有する。
【0043】
図7Eは、モータアプリケーションにおいて双方向とみなすことができる曲線を有する他の例を示す。図示された例では、230から280の間の入力要求に対して、出力は255である。双方向曲線が選択された場合、これは速度ゼロに変換される。入力要求0は逆方向の最高速度を意味し、入力要求511も最高速度に変換されるが、正方向の速度になる。見て分かるように、曲線は0から230の間、および280から511の間で直線的である。
【0044】
上記で示され述べられたように、例示的な実施形態は、処理が極座標領域で実行されるBLDCモータのための極磁場配向制御(FOC:Polar field Oriented Control)を含む。再び
図1、2、および3に言及すると、BLDCモータ制御システムにおける任意のベクトルについては、電圧、電流、およびバックBEMFは、直軸因子および直交軸因子によって特徴付けることができる。また、振幅および角度で特徴付けることもでき、この構造を極座標と呼ぶ。電流の振幅はバス電流から、角度はZCD(ゼロ電流クロス検出)回路(例えば
図3参照)で測定できる。
【0045】
位相電流がゼロを横切るとき、回路は、三相電圧出力を生成する角度θであるポインタ値をサンプリングすることができる。電流の交差が立ち下がりエッジである場合、サンプリングされたθ(θS)は、誤差角(θe)を得るために180度を減算する必要があることに留意されたい。また、三相の電流があるので、位相BやCにゼロ電流が発生した場合は、120度または240度を加算する必要があることに留意されたい。
【0046】
再び
図4を参照すると、モータ巻線を流れる電流を位相電流と呼び、電源を流れる電流をバス電流と呼ぶ。位相電流は正弦波形であり、バス電流はI_busの場合に平均直流値を持つリップル波形である。例示的な実施形態では、駆動電流(またはI_drive)は、等価な直流回転電流を意味する。駆動電流を流すワイヤーは、同じトルク効果に基づくモータ磁石と同期して回転する。
【0047】
実施形態では、駆動電流は、位相電流のピークの1.5倍の振幅を有する。例示的なモータドライバコントローラICパッケージは、バス電流を測定し、以下のように駆動電流を計算するだけである。
Idrive=Ibus×1.732/amplitudeCmd/cos(θ)
【0048】
θは通常比較的小さな角度であり、cos(θ)はほぼ1に等しいので、上記式のcos(θ)の係数を無視することが可能である。他の実施形態では、cos(θ)は無視されない。
【0049】
再び
図2を参照すると、電流ゼロ交差はZCD回路208によって検出され、サンプルおよび計算ブロック210は電圧と電流の間の角度(θ
e)を生成する。θ
0は、モータインダクタンス、電流、およびモータ速度(wIL)に基づいて計算される。より高い電流、より高い速度、およびより高いインダクタンスは、より高いθ
0を必要とする場合がある。いくつかの実施形態では、ユーザはθ
0を直接プログラムすることができる。
【0050】
実施形態では、ゼロであるべきフィードバックであるθeとθ0との差を制御することが望ましい。PIDモジュール216を経由して、出力は駆動速度を調整する。モータ物理速度は、駆動トルク、負荷トルク、およびイナーシャによって決定される。駆動速度は、定常状態におけるモータ速度と等しくなければならない。駆動速度がモータ速度より一定時間高かったり低かったりすると、モータが「位相ずれ」を起こし、制御ループが破綻する可能性がある。このため、θのフィードバックに基づき、駆動速度を連続的に調整する必要がある。
【0051】
バス電流は、I_bus/コマンドモジュール206内のオペアンプとADCによって測定することができる。I_busを振幅コマンドで割ると、I_driveを生成できる(cosθを無視する)。I_drive信号は、振幅コマンド224を調節することによって定格電流とゼロの間に制限されることがあり、これはI_driveの計算にも影響を及ぼすことがある。
【0052】
実施形態では、I_drive信号は、PIDモジュール216に供給する前に、214にΔθを乗算する。より高い電流(I_drive)では、小さな角度誤差(Δθ)は、より高い調整を必要とする場合がある。駆動速度は、ポインタ(θ)を生成するために積分されてもよく、sinテーブルは、三相出力電圧を生成するためにポインタを読み出してもよい。
【0053】
以上のように、いくつかの実施形態では、バス電流をデューティサイクル(バス電流/デューティ)で割って位相電流(ピーク値)を表現しているが、これは位相電流と位相電圧が小さな角度、例えばcos(θ)=1を有すると仮定している。いくつかの実施形態では、θは30度など比較的大きくなり得るので、cos(θ)が計算に関与する可能性がある。
【0054】
いくつかの実施形態において、Idrive電流、ゲイン、およびΔθは、
図8Aに示されるように、一緒に乗算され、積分比例ループに供給される。他の実施形態では、
図8Bに示されるように、ゲインおよびΔθのみが一緒に乗算され、積分比例ループに供給される。
【0055】
いくつかの実施形態において、フィードバックループは、
図9Aに示されるように、θとθ
0との間の誤差であるΔθ、およびIdriveを含む。θ
0は、w×I×Lによって計算される。他の実施形態では、ブロック「IR+wIL/BEMF」がこれらの計算のために実装され得る。いくつかの実施形態では、電界弱化入力を計算に加えることができる。
【0056】
1つの例示的な実施形態では、IR+wIL/BEMFブロックは、以下のように実装され得る。
error=(cos(θ)×w×L+sin(θ)×w×Idrive×R)/(w×Kt)
error=(cos(θ)×w×L×Idrive+sin(θ)×Idrive×R)/(w×Kt)
【0057】
ここで、θは位相電流角、wはモータ駆動角速度[rad/s]、Idriveは位相ピーク電流[A]、Rは巻線抵抗[Ω]、Lは巻線インダクタンス[H]、Ktはモータトルク定数[Nm/A]、誤差は位相前進[rad]であることを意味する。
【0058】
例示的な実施形態において、モータコントローラは、オープンループ、定速、定電流(トルク)、定電力の4つの動作モードを有する。3つの動作モード、定速、定電流(トルク)、および定電力は、閉ループモードである。
図10は、速度ループ、電力ループ、電流ループ、および様々な動作モードによる振幅制御を有する制御ループの例を示している。
【0059】
BLDCモータの駆動トルクは、永久磁石に引き寄せられる駆動電流(位相電流)によって発生する。トルクを一定に制御することは、電流を一定に制御することと等しい。定トルクと定電流という名称は同じ意味で使われることがある。アナログ入力、PWM入力、またはI2C入力のいずれかからの制御要求は、動作モードの選択に依存する4つの異なるブロックに適用される。
【0060】
開ループを選択した場合、制御要求は直接振幅制御に適用され、制御要求が大きいと平均出力電圧振幅が大きくなり、ほとんどの場合、電流とモータ速度が増加する。開ループモードでは、電流ループ、速度ループ、および電力ループはアクティブにならない。
【0061】
定トルクモードが選択された場合、制御要求は電流ループの基準入力に適用される。速度ループと電力ループはバイパスされる。モータ動作電流(I_drive)が、アナログ、PWM、またはI2Cのいずれかからの制御要求信号であるトルク要求より小さい場合、PIループは振幅要求を増加させ、最終的にI_driveを調整する。電流ループの時定数は、例示的な実施形態では約1msである。積分および比例のパラメータを調整することで、電流ループを安定させることができる。高インダクタンスモータには、より遅いPIパラメータが必要であることが理解されるであろう。
【0062】
定速モードが選択された場合、制御要求は速度ループの基準入力に適用される。電力ループはバイパスされる。電流ループは速度ループの後に動作する。モータの動作速度が、アナログ、PWM、I2C、CLOCK(周波数)モードのいずれかの入力からの制御要求信号である速度要求より小さい場合、PIループは電流基準を増加させることになる。電流ループは速度ループより少なくとも10倍速いので、電流は目標値を即座に調整するものとして扱うことができ、最終的にはシステムがモータ速度を調整する。速度ループの時定数は、例示的な実施形態では10msより長い。積分および比例パラメータを調整することで、速度ループを安定させることができる。
【0063】
定電力モードが選択された場合、制御要求は電力ループの基準入力に適用される。速度ループはバイパスされる。電流ループは電力ループの後に動作する。モータの動作電力がアナログ、PWM、またはI2C入力のいずれかからの制御要求信号である電力需要よりも小さい場合、PIループは電流基準を増加させることになる。電流ループは電力ループより少なくとも10倍速いので、電流をすぐに目標値に調整するものとして扱うことができ、最終的にはシステムが供給電力を調整する。電力ループの時定数は、例えば10msより長い。
【0064】
実施形態では、定格速度および定格電流は、どの動作モードが選択されているかに関係なく独立してプログラムすることができ、これらは主にモータパラメータを決定するために使用される。定格電流は、速度ループまたは電力ループからの電流基準信号をクランプするために使用することができる。
【0065】
他の態様では、モータコントローラの実施形態は、精度を向上させるための位相ロックループ方式を有する。モータコントローラICパッケージは、±3%などの所定の精度/誤差を有する内部RC発振器を有することができる。いくつかのアプリケーションでは、外部水晶の正確なクロック基準を受信することができる。モータコントローラは、正確なクロック基準を受け取り、内部PLL周波数を正確なクロックにロックすることができる。
【0066】
図11は、16ビットEEPROMを使用してクロック周波数をプログラムする例示的な実装を示している。EEPROM内の値(N)に320nsを乗算したものが入力クロックの周期となる。例えば、入力クロックの周波数は1kHZで、周期は1msである。したがって、N=1ms/320ns=3125となる。3125をEEPROMにプログラムする必要がある。
【0067】
外部クロックは、PWM端子、DIR端子、BRAKE端子など、任意の適切なものから入力することができる。外部クロックは、3.125M内部クロックによって測定され、内部クロックが正確であれば、測定された周期はEEPROMパラメータと等しくなるはずである。内部クロックが遅い場合、測定された周期はEEPRMパラメータより短くなるため、内部発振器を速く動作させ、adjUpパルスが生成される。内部クロックが速い場合、測定された周期はEEPROMパラメータより長くなるので、内部発振器は遅く動作させる必要があり、adjDownパルスが生成される。誤差が6.25%より大きい、すなわち基準値より6.25%高い、または6.25%より低い場合は無効な調整要求として扱われる。adjUp、adjDownともに発生しない。機能が有効でない場合、adjUpおよびadjDownはゼロになり、adj_noneは1になる。adjUp、adjDown、およびadj_none信号はアナログ回路を制御して発振器周波数を調整する。
【0068】
図12は例示的な実装で、adjUpパルスでコンデンサを充電し、adjDownパルスでコンデンサを放電するものである。機能を無効にすると、adjNoneがオンとなり、電圧は強制的に基準電圧(例えばVdd/2)になる。コンデンサの電圧は、VCO回路からの余分な電流を加える電流源を制御する。調整範囲はトリムビットの2LSBsである。発振器はできるだけ3.125MHzに近くなるようにトリミングすることが望ましい場合があり、この機能を有効にすると、その場で誤差が補正される。
【0069】
クロック速度制御モードは、閉ループ速度で動作する。開ループ、定トルクモード、または定電力モードでは動作しない場合がある。SPD端子の周波数が高いほど、以下のようにモータ速度が高くなる。
【0070】
close_loop_speed(rpm)=clock_input×speed_ctrl_ratio
【0071】
ここで、speed_ctrl_ratioはEEPROMにプログラムすることが可能である。例えば、比率が4でクロック入力周波数が60Hzの場合、モータは240rpmで動作する。定格速度(RPM)の設定が正確であるために、モータの極対の数がプログラミングアプリケーションで適切に設定されなければならないことに留意されたい。
【0072】
図13は、入力されたCLOCK信号とモータのFG信号に基づいてカウンタが上下する例示的な実装である(またはFG信号の乗算は、speed_ctrl_ratioに依存する)。カウンタは、振幅コマンドを制御する。
【0073】
いくつかの実施形態では、電流ループは速度ループの後に実装され、速度ループの時定数とspeed_ctrl_ratioを独立して制御する要件がある。他の実施形態では、
図14に示すように、PWM復調から「借用」することなどにより、CLOCK周波数を抽出することが望ましい。
【0074】
図15は、CLOCKモードのハイブリッド実装の一例を示している。クロック信号は、50%デューティサイクルであってもよい。CLOCK信号の立ち上がりエッジを取り、「モノステーブルトリガ回路」を経由して、同じ周波数を持ち、「オン」周期Tonが固定されているCLK_PWM信号を生成する。したがって、CLOCKの周波数が変わると、デューティサイクルが変化する。この信号がPWM復調処理に入力され、出力はCLOCKの周波数を表す。Ton時間はシステムの最高速度(定格速度ではなく、100%目標速度)によって決定される。速度が高いほどTonは小さくなり、目標速度に到達するためのCLOCK周波数が高くなる。変換されたPWMのデューティサイクルまたはCLOCK周波数は、実速度と比較するPI速度ループに使用され、電流ループがそれに続く。デジタル実装では量子化誤差があるため、実速度とクロックの基準速度の間に若干の誤差が生じることがある。PLL回路はPI速度ループの後、その若干の誤差を補正する補完的な方法として同時に動作する。若干の誤差を取るだけなので、このブロックは数ビットしかない場合もある。
【0075】
図16は、本明細書で説明する処理の少なくとも一部を実行することができる例示的なコンピュータ1600を示す。コンピュータ1600は、プロセッサ1602、揮発性メモリ1604、不揮発性メモリ1606(例えば、ハードディスク)、出力デバイス1607、およびグラフィカルユーザインターフェース(GUI)1608(例えば、マウス、キーボード、ディスプレイなど)を含む。不揮発性メモリ1606は、コンピュータ命令1612、オペレーティングシステム1616、およびデータ1618を格納する。一例では、コンピュータ命令1612は、揮発性メモリ1604からプロセッサ1602によって実行される。一実施形態において、物品1620は、非一時的なコンピュータ可読命令を含む。
【0076】
処理は、ハードウェア、ソフトウェア、またはそれらの2つの組み合わせで実装されてもよい。処理は、プロセッサ、プロセッサによって読み取り可能な記憶媒体または他の製造品(揮発性および不揮発性メモリおよび/または記憶素子を含む)、少なくとも1つの入力デバイス、および1つまたは複数の出力デバイス、をそれぞれ含むプログラマブルコンピュータ/機械で実行されるコンピュータプログラムにおいて実施されてもよい。プログラムコードは、処理を実行し、出力情報を生成するために、入力デバイスを使用して入力されたデータに適用されてもよい。
【0077】
システムは、少なくとも部分的に、データ処理装置(例えば、プログラマブルプロセッサ、コンピュータ、または複数のコンピュータ)による実行、またはその動作を制御するためのコンピュータプログラム製品を介して(例えば、機械可読記憶装置内で)、処理を実行することが可能である。このような各プログラムは、コンピュータシステムと通信するために、上位の手続き型またはオブジェクト指向型のプログラミング言語で実装されてもよい。しかし、プログラムは、アセンブリ言語または機械言語で実装されてもよい。言語は、コンパイル言語またはインタプリタ言語であってもよく、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、またはコンピュータ環境での使用に適した他のユニットとしてなど、任意の形態で配備されてもよい。コンピュータプログラムは、1台のコンピュータで実行されても、1つのサイトの複数のコンピュータで実行されても、複数のサイトに分散して通信ネットワークによって相互接続されるように配備されてもよい。コンピュータプログラムは、記憶媒体または装置がコンピュータによって読み取られたときにコンピュータを構成し動作させるための汎用または専用のプログラマブルコンピュータによって読み取り可能な記憶媒体または装置(例えば、CD-ROM、ハードディスク、または磁気ディスケット)に格納されてもよい。また、処理は、コンピュータプログラムで構成された機械可読記憶媒体として実施することもでき、実行時に、コンピュータプログラム内の命令がコンピュータを動作させる。
【0078】
処理は、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行され、システムの機能を実行することができる。システムの全部または一部は、特殊用途の論理回路(例えば、FPGA(Field Programmable Gate Array:フィールドプログラマブルゲートアレイ)および/またはASIC(Application-Specific Integrated Circuit:特定用途向け集積回路))として実装されてもよい。
【0079】
本発明の例示的な実施形態を説明したが、それらの概念を組み込んだ他の実施形態も使用され得ることが、当業者には明らかになるであろう。本明細書に含まれる実施形態は、開示された実施形態に限定されるべきではなく、むしろ、添付の請求項の精神および範囲によってのみ限定されるべきである。本明細書で引用された全ての出版物および参考文献は、その全体が参照により本明細書に明示的に組み込まれる。
【0080】
本明細書で説明される異なる実施形態の要素は、上記に具体的に規定されていない他の実施形態を形成するために組み合わされてもよい。また、単一の実施形態の文脈で説明されている様々な要素は、別々に、または任意の適切なサブコンビネーションで提供されてもよい。本明細書で具体的に説明されていない他の実施形態も、以下の請求項の範囲に含まれる。
【国際調査報告】