プ が教える
Cortex
TM
-Mマイコンで
プロが教える!
Cortex
Mマイコンで
ここまで出来るモータ制御
ベクトル・エンジン(VE) を利用したモータ 制御を
回路およびソフトウェアの視点から解説
C-04 ハードウェア開発トラック 15:10~16:10
松本 修 東芝マイクロエレクトロニクス(株)
イ バ タによる
タ制御の概要
インバータによるモータ制御の概要
近年の動向
近年の省エネ意識の高まりや商品性の向上により、モータ制御にも、より高度な制御が要求され ています。 例えば家電分野においては、当初、AC電源で直接駆動できる誘導モータが主流でしたが、199 0年代後半より、効率が良く、自由に速度可変が可能な、永久磁石同期式モータ(PMSM: バ 度 が採 れ うPermanent Magnetic Synchronized Motor)のインバータ駆動(120度通電)が採用されるように なりました。 更に2000年代に入 ては 32bitマイコンの低価格化より 更なる効率向上や制振化がセンサレ 更に2000年代に入っては、32bitマイコンの低価格化より、更なる効率向上や制振化がセンサレ ス制御で実現可能な、ベクトル制御が安価に実現できるようになり、現在はこの制御が主流に なっています。
エアコン発売当初
誘導モータ
AC電源で直接駆動(ON/OFF制御)
1980年代前半
誘導モータ
インバータ駆動方式
1990年代後半
ブラシレスモータ
インバータ駆動方式
1980年代前半
誘導モ タ
インバ タ駆動方式
2000年代
PMSM
ブラシレスモータ
インバータ駆動をベクトル制御
インバータ制御とは
エアコンや冷蔵庫のコンプレッサやファンモータを効率良く 制御することは、省エネにとって欠かせません。そのモーイ バ タ制御
タ制御で重要となるのがインバータ制御
技術です。 インバータとは、直流もしくは交流から、電圧や周波数が交流を作り出す技術
可変の交流を作り出す技術
のことです。この技 術により、モータの回転数が自由に制御でき、高効率
きめ細
かな制御が
能
で、きめ細やかな制御が可能
となります。 ●冷蔵庫コンプレッサでのインバータ制御例 きめ細やかな 温度制御が可能! ●冷蔵庫コンプレッサでのインバ タ制御例 温度制御が可能!インバータによるブラシレスモータの制御方法
ブ ブラシレスモータは、ロータ(回転側)を永久磁石に、ステータ(固定側)をコイルにした構造になって おり、コイルへ流す電流の切り替えをモータの回転に合わせ、外部のインバータ回路で制御する モータです。ロータの位置を検出しロータの位置に合わせたコイルに電流を流すインバータ回路 マイコン インバータ回路 モ タです。ロ タの位置を検出しロ タの位置に合わせたコイルに電流を流すインバ タ回路 とセットで使うモータです。 モータ マイコン モータ プ ロ グ インバ タ回路 駆動 駆動信号 電流値 or 位置検出信号 制御回路 電流検出 or 位置検出 グ ラ ム ・矩形波駆動 最も簡単な制御方式で、ロータの回転角度に応じてインバータ回路のパワー素子のON/OFF状態を切り替え、 ステータのコイルの電流方向を変化させロータを回転させます。 ・正弦波駆動 ロータの回転角度を検出し位相を120度ずらした3相交流をインバータ回路で作り、ステータのコイルの電流方 向と大きさを変化させロータを回転させます。 ・ベクトル制御 正弦波駆動方式ですが、モータ電流を、ロータの磁束方向のd軸成分とそれに垂直なq軸成分に分割し、それアプリケーション例の紹介
自販機
プリンタ
スキャナ
コピー
産業機器
OA機器
ファン
ローラコンベア
携帯機器
車載
DSC
玩具
電動ドア パワーウィンドウ 電動シート民生&家電機器
ビデオカメラ
民生&家電機器
パワブロアファンウィンドウ洗濯機
エアコン
ミシン
冷蔵庫
インバータ駆動方式のブラシレス タが特によく使われる分野 モータが特によく使われる分野東芝プログラマブル モータドライバ マイコンの歴史
第三世代 ベクトル制御対応 Cortex-M3コア 第二世代 正弦波駆動対応 870/Xコア(20MHz) PMD brush up 第一世代 PMD 870/Xコア(16MHz) Future ベクトル 制 御第三世代PMD
産業用インバ タに採用されているベクトル制御技術に対応するために 産業用インバータに採用されているベクトル制御技術に対応するために 高い演算能力を持つCPUと高速変換可能なADを内蔵し、多様化するインバータ家電 機器に対応しています。また演算モジュールの一部をハード化したベクトルエンジンを 内蔵し ソフトウェアの負荷を軽減します第二世代PMD
第一世代に正弦波形生成回路を付加することで PMDを強化しました 内蔵し、ソフトウェアの負荷を軽減します。 第 世代に正弦波形生成回路を付加することで、PMDを強化しました。 ソフ トウエアの負荷を増さずに正弦波出力を可能にし、洗濯機用モータなどの さらなる低振動化を実現します。 また正弦波生成回路によりACインバータにも容易に対応できます。 また正弦波生成回路によりACインバ タにも容易に対応できます。第一世代PMD
3相PWM出力、位置検出回路、専用タイマ、保護回路のハードウェアを内蔵する事に ビ バ が容 よって8ビットマイコンにてモータ制御を実現し、家電機器のインバータ化が容易になり ます。東芝M370グループによる
ベクトル制御
モータのベクトル制御の利点
モータのインバータ制御には、矩形波駆動と正弦波駆動があります。高度な制御が必要なときに は、正弦波駆動方式の一つであるベクトル制御を用います。 ベクトル制御の一番のメリットは高効率であることです 出力が大きいモータや 低速で高トルク ベクトル制御の一番のメリットは高効率であることです。出力が大きいモータや、低速で高トルク な用途、センサーが付けられないエアコンのコンプレッサ等に最適なモータ制御方法です。インバータ制御
割 合 ( % ) モータ電流波形 周波数分析矩形波駆動
位置センサ付き制御
割 割 0 20 40 60 5次 7次矩形波駆動
位置センサレス制御
次数 1 5 10 15 0 モータ電流波形 周波数分析正弦波駆動
位置センサ付き制御
割 割合 ( % ) 40 60 モ タ電流波形 周波数分析正弦波駆動
高周波成分が 少ない!位置センサレス制御
0 1 5 10 15 次数 20 ベクトル制御 はこの分類 はこの分類ベクトル制御の概要
ベクトル制御は、モータの電流値(α、β)をトルク成分(q)、磁界
成分(d)
に分解し、ロータ(回転子)位置に応じた最適に制御する方法です。成分( )
に分解し、 タ(回転子)位置に応じた最適に制御する方法です。 そのため、トルク変動が少なく、高効率
、低振動・低騒音
の制御が可能となります。 また PWM周期ごとに制御するため低速域での制御が容易で 高速から低速までの広範囲
また、PWM周期ごとに制御するため低速域での制御が容易で、高速から低速までの広範囲
の速度制御が可能
です。 β トルク成分(q)と磁界成分(d)を求めるために、モー タの3個ステータU、V、Wの ・3相電流値(u、v、w)を検出d
q
トルク成分
磁界成分
・3相電流値(u、v、w)を2相電流値(α、β)に変換 (Clark変換) ・2相電流値(α、β)を回転座標系(d、q)に変換 α θ (Park変換) トルク成分(q)と磁界成分(d)を個別に制御後、上 記 逆変換をし 戻します 記の逆変換をして戻します。ベクトル制御と従来制御の対比
従来の矩形波駆動による制御方式では、ロータの1回転360°(電気角)のなかで、60°毎に制 御していました。ベクトル制御では、PWM周期ごとに細かい制御をするため、負荷変動に追従し た制御が容易にできます。 従来の制御 : 速度フィードバックによる電圧制御 → 無駄な電流がある ベク 制御 電流 ドバ ク よる最適 ク制御 無駄な電流が無 360° 0° 60° 120° 180° 240° 300° ベクトル制御 : 電流フィードバックによる最適トルク制御 → 無駄な電流が無い 従来の制御 60°毎に制御 回転速度(電気角): 1200rpm 搬送波 16kHz 例えば、 ベクトル制御 PWM周期ごとに制御 搬送波:16kHz とした場合。 1回転中のフィ-ドバック回 数は クトル制御 数は 従来の制御:6回 ベクトル制御:800回 となる。ベクトル制御の位置の検出
ステータは、U、V,Wの3個あり、それぞれが120度等間隔で固定されています。それに対し、 ロータは常に回転しています。ロータに発生するトルクを最適にするにはロータの角度に併せて 電流制御(トルクの大きさと方向)する必要があります。 そのためには、ロータ位置にあわせて、コイルに流す電流を調整するため、ロータ角度の検出
が必要
です。 電流制御 速度制御 ロ タ位置推定にはステータ
(コイル)
電流制御、速度制御、ロータ位置推定には、 PI制御(比例、積分)が用いられます。(コイル)
ロータの位置検出には、正確なロータ位置 を検出するためにはエンコーダやレゾルバ などの位置センサを用いられますが、家電モータ
電流
などの位置センサを用いられますが、家電 製品では高価な位置センサが使用できな いため、ステータの3相電流値から演算に より位置を推定します。タ電流と
タの関係
ロータ(永久磁石)
より位置を推定します。モータ電流とロータの関係
ベクトル制御の電流制御
モータ電流を、ロータの磁束方向のd軸成分とそれに垂直なq軸成分に分割し、それぞれ個別に 制御します。q軸電流がモータトルクになるので、q軸電流を制御することで、モータトルクを
制御
できます。d軸電流はロータによる界磁と同軸なので、d軸電流を制御することで、界磁
を制御
できます。d軸電流を制御してロータ磁界を弱めることで、より高速を得ることが出来る弱を制御
できます。d軸電流を制御して タ磁界を弱めることで、より高速を得ることが出来る弱 め界磁制御も実現できます。 電流制御と 実際 電流値 がβ
q(Iq)
電流制御とは、実際の電流値(Id、Iq)が目標の電流値(Idref、Iqref)に達するように電圧指令地(Vd、Vq)を算出します。
U
α
θ
d(Id)
ベクトル制御での座標軸
d(Id)
クトル制御での座標軸
ベク 変換を行うブ ク
ベクトル制御の基本ブロック
④ 3相PWM Vd V + -Idref ωref + ② 逆座標変換 ⑨ 速度制御 Vα ③ 相変換 2 3 DUTYa DUTYb DUTYc ① 電流制御 ベクトル変換を行うブロック インバータ回路 3相PWM 出力 Vq + -Iqref 逆座標変換 dq→αβ 速度制御 PI制御 Vβ 2 →3 DUTYc 電流制御 PI制御 モータ ⑥ 相変換 3→2 Id θ ⑦座標変換 ⑧ロータ Iα Iβ Iu Iv ⑤電流検出 3 →2 Iq ω dq← αβ ⑧ タ 位置検出 PI制御 Iβ Iw 電流制御LOOP ①電流制御: 電流指令値(Idref,Iqref)と実電流値(Id,Iq)から、出力電圧(Vd,Vq)を算出。 ②逆座標変換(逆Park変換) : 回転座標(Vd,Vq),から静止座標(Vα,Vβ)に変換。 ③相変換(2相→3相): 静止座標値(Vα,Vβ)から3相電圧値(Vu,Vv,Vw)に変換。 電流制御LOOP ③ 変 ( , β) ( , , 変 ④3相PWM出力: 3相PWM 出力 ⑤電流検出: ADコンバータにより電圧を測定し、3相の電流値(Iu,Iv,Iw)に変換 ⑥相変換(Clark変換): 3相電流値(Iu,Iv,Iw)を2相電流値(Iα,Iβ)に座標変換。⑦座標変換(P k変換) 2相電流値(I Iβ)を回転座標値(I Id)に変換 ⑦座標変換(Park変換): 2相電流値(Iα,Iβ)を回転座標値(Iq,Id)に変換
⑨
速度制御LOOP
⑧位置検出: 位置検出し、モータ速度(ω)とモータ位置(θ)を算出。
ベクトル制御の基本フロー
速度制御 電流制御 逆座標変換(逆Park変換) 電流指令値から、出力電圧値 (Vd,Vq)を決定します。 出力電圧値を回転座標値(Vd V ) ①目標速度から電流指令値 を設定します。 実電流をフィードバックし電圧 指令値を更新します。 ②実速度をフィードバックし 指令値を更新します。②
相変換 出力電圧値を回転座標値(Vd,Vq) →静止座標値(Vα,Vβ)に座標変換します。 2相電圧値(V Vβ)を3相電圧値 指令値を更新します。 PWM出力 2相電圧値(Vα,Vβ)を3相電圧値 (Vu,Vv,Vw)に変換します。 3相PWM波形を出力します センサ信号 位置センサ付 の場合 位置センサレス の場合 3相PWM波形を出力します。 モータ電流値取得 PWM出力に同期して 3相電流(Iu Iv Iw)を検出します 位置検出 モータ位置を検出します。 相変換(Clarke変換) 3相電流(Iu,Iv,Iw)を検出します。 3相電流(Iu,Iv,Iw)を2相電流値 (Iα Iβ)に変換します (Iα,Iβ)に変換します。 座標変換(Park変換) 静止座標値(Iα,Iβ)を回転座標値 (Id Iq)に座標変換します (Id,Iq)に座標変換します。ベクトルエンジンとは
VE(ベクトルエンジン)とは、
ベクトル制御の基本的な処理(座標変換等)をハード化したものです。 ジ バ 自 連 演算 を な す ベクトルエンジンは、3相PWMタイマ、ADコンバータと自動的に連動して演算処理をおこないます ので、PWM出力データセットやADコンバータ起動、データ取得などのソフトウェア処理を介すること なく連携して動作できます。 なく連携して動作できます。 また、ユーザーにより制御内容が異なる部分はソフトウェアとし、ユーザが自由に開発できます。ベクトルエンジン内蔵マイコン
モータ制御回路(PMD) ベクトルエンジン(VE) Cortex M3 モータ インバータ 電流制御 出力PWM生成ベクトルエンジン内蔵マイコン
速度制御 電流制御 出力PWM生成 dq→UVW変換 サンプルタイミング演算 サンプルトリガ生成 出力I/F処理 12bit A/D変換器 位置推定 入力I/F処理 サンプル制御 出力I/F処理 電流検出 UVW→dq変換 ハードウェア ソフトウェアベクトルエンジンの制御構成
ソフトウエア処理 ハードド
←従来MCU Vd 速度制御部 Id f 電流制御部 ソフトウエア処理ハード
←
TMPM370
0.7us 0.2us 1.7us 1.5us
PWM generator PI 空間 ベクトル 変換 Vd Vq + + -PI 逆正規化 Inverter motorPM Duty変換 -Idref Iqref ωref + 逆座標変換 (静止座標) PI Trigger generator トリガ生成 sinθ cosθ Phase timer θ0 θ Iqref SIN 1 2us 1.3us A/D Id I Ia Ib オフセット cosθ timer θ= θ+ω*TPWM ω Calculation 座標変換 COS 1.2us 1.8us 0.3us 0.3us A/D converter 3 – 2相変換 Iq ωn Ib Ic オフセット 正規化 Calculation 座標変換 (回転座標) 位置推定部 A.高い自由度が必要な部分 B. 固定の処理 制御アルゴリズムにより異なる 固定処理 ベクトルエンジン 処理時間[us][ ]
ベクトルエンジンによるメリット(CPU負荷軽減)
<<Estimated condition>> fc=80MHz, Ta=25degrees C VE使用による、ベクトル制御のタイミング PWM PWM carrier 20kHz (50us) Trigger from PMD T i f PMD fc 80MHz, Ta 25degrees C 1-motor with 3shuntADC Trigger from PMD PWM set Trigger from PMD PWM set Conv. Conv. 2us x 3ch 2.4us 6.6us IDLE VE CPU Input
NORMAL IDLE NORMAL IDLE
Output Input Output
5us
IDLE NORMAL IDLE NORMAL
ソフトウェア での制御
CPU Load =10% in 50us
18us
VEを使用するとCPU負荷が
73%
低減
.
VEはプログラムサイズの削減や、CPU負荷が低い
ことによる周波数低減による電力削減に寄与します
ことによる周波数低減による電力削減に寄与します
ベクトルエンジンとCPU/PMD/ADCとの動作遷移(3シャント)
ベクトル制御の電流検出では一般的な3シャント方式の動作遷移です。各相の下側トランジス タとGNDの間にシャント抵抗を取り付け、その両端電圧を測定し電圧を求めます。2センサに 比べ安価であるが入力するタイミングが限定されます CPU (ソフトウェア) データセット ソフトウェア 割り込み ソフトウェア ソフトウェア 割り込み データセット データセット 比べ安価であるが入力するタイミングが限定されます。 入力スケジュール コマンドスタート 出力スケジュール VE 割り込み 出力スケジュール 入力スケジュール VE 割り込み デ タセット コマンドスタート デ タセット コマンドスタート 出力スケジュール VE ADC 割り込み PMD データセット データセット ADC 割り込み データセット ADC PMD トリガ 電流/電圧サンプリング 電流/電圧サンプリング PMDトリガ PWMU PWMV PWMU VDC PWMV PWMW IU → IV → u v w PWMV PWMW PWMX BLDC モータ シャント抵抗 PWMY PWMZ → IW Iz↓ Iy↓ Ix↓ x y zベクトルエンジンとCPU/PMD/ADCとの動作遷移(1シャント)
ベクトル制御の電流検出では最も安価な1シャント方式の動作遷移です。インバータのGNDラ インに直列にシャント抵抗を取り付け、その両端電圧を測定し電圧を求めます。電流が測定で きないタイミングがあり さらに低速では電流が測定しにくくなる欠点があります CPU (ソフトウェア) データセット ソフトウェア VE 割り込み ソフトウェア ソフトウェア VE 割り込み データセット データセット きないタイミングがあり、さらに低速では電流が測定しにくくなる欠点があります。 VE 入力スケジュール コマンドスタート 出力スケジュール VE 割り込み 出力スケジュール 入力スケジュール VE 割り込み 出力スケジュール コマンドスタート コマンドスタート VE ADC 割り込み PMD PMDトリガ 1 データセット データセット ADC 割り込み データセット ADC PMDトリガ 1 電流/電圧サンプリング 電流/電圧サンプリング PMDトリガ1 2 トリガの変換終了後に割り込み発生 PMD トリガ 2 PMD トリガ 2 2 トリガの変換終了後に割り込み発生 PWMの3相のタイミングに合 PWMU PWMV PWMU VDC PWMV PWMW IU → IV → u v w PWMの3相のタイミングに合 わせてサンプリングします PWMV PWMW PWMX BLDC モータ R シャント抵抗 PWMY PWMZ → IW I↓ x y zベクトル制御マイコン セミナー使用機材の紹介
ベクトル制御プログラム開発の教育用キットです。IAR製TMPM370スタータキットと東芝製パワー 基板を使ったもので、小型のブラシレスモータをベクトル制御で駆動させることが出来ます。 IAR製 J-Link(エミュレータ) IAR製 TMPM370 マイコン IAR製 TMPM370 スタータキット基板 エンコーダ 2000P/R 3シャント用 補助基板 エンコーダを使った制御、 マイコン TMPM370 インバータ MOS FET 使わない制御、どちらも の制御方法にも対応し ています スタータキット 拡張基板 パワー基板 (インバ タ) ブラシレスモータ 3相16極12スロット 12V/2.4W 拡張 板 (インバータ)応用ボードの紹介(デモ用)
デモボード概要 ・ベクトルエンジン 使用/未使用 ・センサ付/センサレス ベクトル制御 Motor 1 ・センサ付/センサレス ヘ クトル制御 ・1シャント/3シャント切り替え ・2モータ同時制御 モーター 定格出力容量 出力電流 シャント 1 04kVA Motor 2 Motor 1 1.04kVA (AC200V入力時) 3.0A 3シャント 0 35VA Motor 2 0.35VA (AC200V入力時) 1A 1シャントTMPM370による洗濯機ドラム、ファンの2モータ
同時ベクトル制御のボード
同時ベクトル制御のボード
ベクトル制御マイコン(TMPM370)とモータの接続例
マイコン
TMPM370
コネクタ コンパレータ 過電流保護信号 PC6/EMG0 PD0/ENCA0/TB5IN コンパレ タA
32 30 基準電圧 シャント電圧 PD1/ENCB0/TB5OUT PD2/ENCZ0 エンコーダB
Z
34 33 VDC PC0/U0 PC1/X0 PC2/V0 ドライバ エンコ ダ 24 25 26 接続無くても可 IU → IV → u v w PC2/V0 PC3/Y0 PC4/W0 PC5/Z0V
26 27 28 → IW x y z PC5/Z0 PI1/AINA9/AINB0U
V
W
87 29 シャント抵抗 IW Iz↓ Iy↓ Ix↓ PI2/AINA10/AINB1 PI3/AINA11/AINB2W
ブラシレスモータ 85 86ベクトル制御マイコン セミナー使用GUI の紹介
ベクトル制御プログラム開発の教育用キットは、WindowsPC のUSBを介してGUIから各種パラ メータを設定する(速度、PIゲイン等)ことが可能です。パラメータ設定を行うことで、任意の小型ブ ラシレスモータでのベクトル制御が可能となります ラシレスモータでのベクトル制御が可能となります。パラメータ調整
速度関連の設定
モ タの状
速度関連の設定
モ タ固有の設定
モータの状
態を表示
モータ固有の設定
スタート
ストップ
ストップ
サンプルソフトの概要
ベクトル制御ソフトウェアは、ユーザインタフェース処理を行うアプリケーション、状態遷移 (State transition) によりモータ動作状態 (Motor operation status) を制御するモータ制御、モータ駆動 回路を直接アクセスしてモータの駆動処理を行うモータ駆動の 3 階層で構成されます。 回路を直接アクセスしてモ タの駆動処理を行うモ タ駆動の 3 階層で構成されます。 操作 ①アプリケ ②モータ ③モータ 制御コマンド 駆動コマンド 操作 SW/KEY ①アプリケ ーション ②モ タ 制御 ③モ タ 駆動 制御ステータス 駆動ステータス ①アプリケーションはユーザがスイッチ、キー等で設定した制御コマンドを入力し、その他の制御コマンドとともに モータ制御に与えます。また制御ステータスをモータ制御から取得し、必要な処理を行うとともに LED 等に表示 します。 ②モータ制御はアプリケーションから与えられる制御コマンドを読み取り、モータ動作状態に従ってより具体的な駆 動コマンドに変換し、モータ駆動に与えます。また駆動ステータスをモータ駆動から取得し、必要な処理を行うと ともにアプリケーションに転送します。 ③モータ駆動はモータ制御から与えられる駆動コマンドを読み取り、モータを駆動します。またモータの動作を監視 し、その状態に従って必要な処理を行うとともに、駆動ステータスをモータ制御に転送します。 アプリケ シ ンとモ タ制御はメインル プの中で実行されます モ タ駆動は VE 割り込みで起動されます アプリケーションとモータ制御はメインループの中で実行されます。モータ駆動は VE 割り込みで起動されます。 例えば、モータ回転中にアプリケーションから新たな制御目標周波数が与えられたとき、モータ駆動は急激な目標周 波数の変化に対応できないため、一旦モータ制御内で徐々に変化する駆動目標周波数に変換してからモータ駆動 与えます に与えます。