はじめに 3 |
第1部 基礎編 |
第1章 モータの分類から回転のしくみまで ACサーボ・モータの基礎 11 |
1 本書での重点課題 11 |
2 本書で扱うACサーボ・モータ 12 |
2-1 代表的なACサーボ・モータ 12 |
2-2 ACサーボ・モータの内部構造 13 |
2-3 ACサーボ・モータの用途 13 |
精密な位置決めが必要な用途に適する |
精密ステージ |
産業ロボット |
ヒユーマノイド・ロボット |
3 モータのおさらい 15 |
3-1 DCモータの基本構造 15 |
3-2 DCモータの回転原理 16 |
3-3 ブラシレス・モータの基本構造 16 |
3-4 ブラシレス・モータの回転原理 18 |
4 モータの分類とACサーボ・モータの位置付け 20 |
4-1 ACサーボ・モータは回転型モータ 20 |
4-2 ACサーボ・モータはインバータ回路をもつ交流モータ 21 |
4-3 ACサーボ・モータは同期型モータ 21 |
4-4 ACサーボ・モータの特徴 21 |
メリット |
デメリット |
5 サーボとは 22 |
5-1 サーボ機構とサーボ・モータ 22 |
5-2 DCサーボ・モータ 22 |
コアレスDCモータの特徴 |
5-3 ラジコン・サーボ 23 |
5-4 位置検出機構 24 |
磁気式エンコーダ |
光学式エンコーダ |
レゾルバ方式 |
5-5 ACサーボ・モータのシステム構成 26 |
上位コントローラ |
サーボ・アンプ |
ACサーボ・モータ |
第2章 モータに働く力と速度/位置制御の方法 ACサーボ・モータのしくみと特徴 27 |
1 回転力を発生するメカニズム 27 |
1-1 磁石のおさらい 27 |
1-2 実際のモータでは 27 |
1-3 モータの復元力と安定点 30 |
2 回転力からステッピング駆動へ 30 |
2-1 回転磁界を作る方法 31 |
2-2 連続的に回転させる 32 |
2-3 位置決め機構の特徴 32 |
2-4 位置を制御する 32 |
2-5 速度を制御する 33 |
3 ブラシレスDCモータ駆動 33 |
3-1 モータが止まらないようにする 34 |
3-2 脱調はしない 34 |
3-3 ロータ位置を調べる 34 |
ホール素子もしくはホールICを使う方法 |
誘導起電力を利用する方法(センサレス方式) |
3-4 速度を制御する 35 |
3-5 位置を制御する 36 |
4 ACモータ駆動(正弦波駆動) 37 |
4-1 ACサーボ・モータ駆動(正弦波駆動)の電流配分 37 |
4-2 ACサーボ・モータ駆動(正弦波駆動)のロータ位置検出 38 |
ホール・センサとインクリメンタル・エンコーダを使う方法 |
レゾルバによる絶対値エンコーダを使う方法 |
4-3 高回転/高効率のモータ駆動が容易に実現できるブラシレスDCモータ駆動 39 |
ロータ位置によって強制的に電流の相を切り替える |
矩形波電圧駆動でもモータ電流は連続的に流れる |
4-4 高回転/高効率のモータ駆動が非常に難しいACサーボ・モータ駆動 40 |
モータは電流で動作する |
トルク制御が必要 |
定電流制御によるトルク制御の方法 |
ベクトル制御によるトルク制御の方法 |
5 正弦波駆動によるマイクロステップ駆動 42 |
5-1 3相正弦波駆動においても安定点がある 42 |
5-2 ロータのステップ角が正確に刻めるわけではない 43 |
5-3 モータの振動を抑える効果がある 43 |
6 ブラシDCモータ 43 |
第3章 DCモータ,ブラシレスDCモータおよびACサーボ・モータを例にして モータ駆動回路の基礎 45 |
1 モータ駆動における基礎知識 45 |
1-1 力とトルクの関係 45 |
1-2 トルクとパワーの関係 46 |
1-3 モータ駆動における4象限動作 46 |
1象限動作 |
2象限動作 |
3象限動作 |
4象限動作 |
1-4 DCモータの等価回路 47 |
抵抗R |
インダクタンスL |
誘導起電力em |
モータ電圧VM |
1-5 DCモータの回転数が電圧で制御できる理由 48 |
1-6 リニア・アンプ駆動とPWMアンプ駆動 49 |
ゲート電圧 |
モータ電流 |
MOSFETに加わる電圧 |
MOSFETの消費電力 |
リニア・アンプ駆動とPWMアンプ駆動の特徴 |
2 モータのPWM駆動方法 51 |
2-1 ブリッジPWM駆動のMOSFETゲート・ドライブ回路例 52 |
ハイ・サイドにPチャネルMOSFETを使えばフローティング電源は要らない |
PWM駆動はロー・サイド側MOSFETだけ |
貫通電流に注意が必要 |
2-2 ブリッジPWM駆動方法の特徴 53 |
正転/逆転が可能 |
フリーホイール電流はハイ・サイド側のローカル電流となる |
モータ動作の4象限動作のうち2象限動作と4象限動作には対応できない |
位置制御向きの駆動方法ではない |
2-3 リニアPWM駆動のMOSFETゲート・ドライブ回路例 55 |
フローティング電源は必要 |
MOSFETゲート・ドライバIR2106Sの特徴 |
ブートストラップ電源とは |
ブートストラップ電源の設計法 |
ハイ・サイド側MOSFET,ロー・サイド側MOSFETともにPWM駆動する |
2-4 リニアPWM駆動方法の特徴 57 |
フリーホイール電流はハイ・サイド側およびロー・サイド側のローカル電流となる |
モータ動作の4象限動作すべてに対応できる |
位置,速度,トルク制御,すべての制御方式に適用できる |
3 PWM駆動におけるモータ電流の検出方法 59 |
3-1 モータのラインを直接測定する方法(A方式) 59 |
最も正確な電流が測定できる |
測定は難しい |
3-2 ロー・サイドMOSFETのソースとGNDの電流を測定する方法(B方式) 60 |
測定電流の加工が必要 |
測定はやさしい |
3-3 電源電流を測定する方法(C方式) 60 |
モータ電流を求めるのは困難 |
3-4 モータ電流測定回路例(A方式) 60 |
第4章 サーボ・コントローラの設計を行うために モータ制御の基礎 61 |
1 モータ制御における基礎知識 61 |
1-1 ラプラス変換とは 61 |
1-2 伝達関数とは 62 |
1-3 ブロック線図とは 62 |
1-4 モータの伝達関数 63 |
慣性モーメント(inertia)によるトルクTi |
摩擦によるトルクTd |
軸のねじれトルクTc |
モータの伝達関数 |
1-5 トルク制御アンプの伝達関数 64 |
アンプ・ゲインKa |
トルク定数Kt |
トルク制御アンプの時定数Ta |
1-6 センサの伝達関数 65 |
1-7 モータ駆動部の伝達関数 65 |
2 サーボ・コントローラの役割 66 |
2-1 位置制御の動作原理 66 |
モータの基本特性 |
PIDコントローラ |
オープン・ループ特性 |
2-2 速度制御の動作原理 67 |
3 ディジタル信号処理の基礎知識 67 |
3-1 遅延素子1/Zについて 67 |
3-2 連続系伝達関数と離散系伝達関数 67 |
3-3 ディジタル・フィルタの設計手法 68 |
4 ディジタル・フィルタ設計支援ソフトウェア(DSP.EXE) 70 |
4-1 アナログ・フィルタ設計 70 |
アナログLPFの設計(w1) |
アナログ・ノッチ・フィルタの設計(w2) |
4-2 アナログ・フィルタ周波数特性を解析(c3) 71 |
4-3 s-z変換(c4) 72 |
4-4 ディジタル・フィルタ周波数特性を解析(c5) 72 |
4-5 ディジタル・フィルタ・パラメータ係数の保存(c6) 72 |
4-6 ディジタルPIDコントローラの設計(w7) 73 |
4-7 ディジタル位置速度ループ・コントローラの設計(w8) 73 |
5 フィルタ設計の特徴をつかむ 74 |
5-1 2次LPFの特徴 74 |
5-2 2次ノッチ・フィルタの特徴 75 |
振幅パラメータのみを変更 |
減衰係数パラメータのみを変更 |
5-3 PIDコントローラの特徴 75 |
比例ゲインKpのみを変更 |
積分ゲインKiのみを変更 |
微分ゲインKdのみを変更 |
PIDコントローラの特徴 |
5-4 位置速度ループ・コントローラの特徴 76 |
位置比例ゲインKppのみを変更 |
速度比例ゲインKpvのみを変更 |
速度積分ゲインKidのみを変更 |
位置速度ループ・コントローラの特徴 |
6 サーボ・コントローラのシステム設計 78 |
6-1 サーボ・コントローラの構成 78 |
6-2 目標軌跡生成器 78 |
6-3 システム・ディレイ 79 |
6-4 フィードバック制御器 79 |
6-5 フィードフォワード制御器 79 |
ブロック線図 |
伝達関数表記では |
6-6 出力フィルタ 80 |
第2部 応用編 |
第5章 H8マイコンとCPLDで構成する マイコンによるACサーボ・モータ制御の基礎 81 |
1 H8S/2367FとCoolRunnerIIのおもな特徴 81 |
1-1 16ビット高速H8S/2000 CPU 81 |
1-2 豊富な周辺機能 81 |
1-3 CoolRunnerⅡ(XC2C256)のおもな特徴 82 |
2 マイコンの応用方法 82 |
2-1 PWM信号の作成方法 82 |
PWMの墓本動作 |
デューティ・レジスタの更新には注意が必要 |
デューティ・レジスタの更新はPWM周期と同期を取る |
PWMデユーティ値には最大値/最小値を規定する |
2-2 DMAの利用方法 84 |
最優先のデータ転送にはDMAを使う |
DMAの起動要因には制限がある |
2-3 DTCの利用方法 84 |
DTCはすべてのユニットの割り込みから起動可能 |
DTCは最大85チャネルのデータ転送が可能 |
DTC動作タイミング |
DMAとの相違 |
2-4 ループ演算用タイム・ベースの作成方法 85 |
電流ループ用タイム・ベース |
サーボ・ルーフ用タイム・ベース |
2-5 割り込みコントローラ(INTCR)の利用方法 85 |
DMAとDTCは割り込みコントローラの優先順位の影響を受けない |
サーボ・ループ演算は周期が狂わないように配慮する |
2-6 インクリメンタル・カウンタの作成方法 89 |
2-7 シリアル・コミユニケーション・インターフエース(SCI)の利用方法 89 |
SCIの送受信処理はDMAに任せる |
SCIの受信エラー処理には注意が必要 |
SCIの受信エラー処理例 |
3 PLDの使用方法 91 |
3-1 CPLDとFPGA 91 |
B-2 CPLDの設計ツール 91 |
3-3 設計上の注意点 91 |
4 ACサーボ・モータ制御回路のシステム設計 92 |
4-1 設計目標 92 |
4-2 3相正弦波PWM駆動 92 |
4-3 インクリメンタル・カウンタ 92 |
4-4 PWM周波数 92 |
4-5 電流ループ周波数 92 |
4-6 サーボ・ループ周波数 94 |
4-7 モータ電流検出周波数 95 |
第6章 ACサーボ・モータを駆動する 3相PWM制御回路の実際 97 |
1 設計仕様 97 |
1-1 制御部の仕様 97 |
1-2 駆動部の仕様 97 |
2 使用部品および回路の選定 97 |
2-1 MOSFETの選定 97 |
ソースードレイン耐圧(VDSS) |
ドレイン電流(ID) |
入力容量(Ciss)および帰還容量(Crss) |
逆回復日寺間(trr) |
2-2 MOSFETゲート・ドライブ回路 99 |
ブートストラップ電源動作 |
入力レベルはTTL |
デッド・タイムは500ns |
2-3 モータ電流検出回路 99 |
電流検出範囲は±6.5A |
オフセット補正は必須 |
ゲイン補正は必須 |
3 ACサーボ・モータ駆動ハードウェアの回路 100 |
3-1 マイコン内蔵TPUを使った3相PWMの生成方法 101 |
3-2 ノンオーバラップのPWM信号 101 |
3-3 モータ電流検出用タイマ回路(CPLD) 102 |
3-4 ロータ位置検出回路(CPLD) 103 |
インクリメンタル・エンコーダの出力信号 |
モータ回転方向の判別回路 |
ロータ位置カウンタ |
ロータ原点検出回路 |
4 ベクトル制御の基礎知識 105 |
4-1 シミュレーションのパラメータ 105 |
制御パラメータ |
モータ・パラメータ |
4-2 モータ電流3相(U,V,W)の波形 107 |
4-3 モータ電流の3相(U,V,W)→2相(α,β)変換 107 |
4-4 モータ電流の2相(α,β)→d-q変換 108 |
q(トルク)成分の分離抽出 |
d(界磁)成分の分離抽出 |
2相(α,β)→d-q変換のベクトル図 |
4-5 PI(比例・積分)制御器 109 |
4-6 PI制御器d-q→α′β′変換 110 |
PI制御御器d-q→α′変換 |
PI制御御器d-q→β′変換 |
4-7 2相(α′,β′)→3相(U,V,W)変換 111 |
5 マイコンによるベクトル制御の実践 112 |
5-1 ロータ位置を算出し,sinおよびcos値をLUTから取得 112 |
5-2 U相およびV相のモータ電流値の読み込み,オフセット補正,ゲイン補正 114 |
5-3 モータ電流に対して,α-β変換を行い,さらにd-q変換を行う 115 |
5-4 PI(比例・積分)制御器 116 |
5-5 PI制御器d-q→2相(α',β')→3相(U,V,W)変換 119 |
5-6 3相(U,V,W)→PWM変換 119 |
5-7 さまざまなモータに対応させる 122 |
コラム■転流角オフセット 113 |
第7章 マイコンで制御するために ソフトウェアによるサーボ・コントローラの設計 123 |
1 サーボ・コントローラの構成 123 |
1-1 エンコーダ・カウンタを読み込んで位置と速度を算出する 123 |
エンコーダ・カウンタの読み込みは最初に行う |
1-2 フィードバック(PIDもしくは位置速度ループ)の計算 124 |
浮動小数点について |
フィードバックの係数配列について |
速度制御時の単位について |
1-3 フィードフォワード&出力フィルタ 126 |
出力フィルタの係数配列について |
1-4 サーボ出力(トルク指令)処理 127 |
1-5 基準値の生成 128 |
2 フィードバック制御器 128 |
2-1 PIDコントローラ演算ルーチン 128 |
伝達関数表記 |
ソフトウェア・リスト |
2-2 位置速度ループ・コントローラ演算ルーチン 130 |
ソフトウェア |
3 IIRディジタル・フィルタ演算ルーチン 131 |
4 フィードフォワード演算ルーチン 133 |
5 目標軌跡生成器 134 |
5-1 目標軌跡生成に関する基礎知識 134 |
単位系 |
一定加速度による目標軌跡の生成 |
積分計算とは |
5-2 目標位置軌跡の生成手法 135 |
位置軌跡計算 |
5-3 目標速度軌跡の生成手法 136 |
速度軌跡計算 |
第8章 浮動小数点の演算を高速化する アセンブリ言語によるサーボ・コントローラの高速化 139 |
1 IEEE準拠単精度浮動小数点 139 |
1-1 単精度浮動小数点のビット配置 139 |
1-2 単精度浮動小数点の表現方法 139 |
単精度浮動小数点の表現例 |
2 16ビット精度浮動小数点 141 |
2-1 16ビット精度浮動小数点のビット配置 141 |
2-2 16ビット精度浮動小数点の表現方法 141 |
2-3 16ビット精度浮動小数点の計算精度 142 |
2-4 16ビット精度浮動小数点の演算ルーチン 143 |
FADD16(浮動小数点の加算) |
FSUBI6(浮動小数点の減算) |
FDIV16(浮動小数点の除算) |
FMUL16(浮動小数点の乗算) |
FTOl16(浮動小数点から整数への変換) |
ITOF16(整数から浮動小数点への変換) |
ITOFB2(long整数から浮動小数点への変換) |
FSQRT16(浮動小数点の平方根) |
FTOF16(単精度浮動小数点から16ビット浮動小数点への変換) |
FTOF24(16ビット浮動小数点から単精度浮動小数点への変換) |
3 PIDコントローラ 154 |
3-1 レジスタの使用方法 156 |
3-2 演算手順と実行時間 156 |
3-3 積分項にはリミットを設ける 156 |
4 位置速度ループ・コントローラ 157 |
4-1 レジスタの使用方法 157 |
4-2 演算手順と実行時間 159 |
4-3 積分項にはリミットを設ける 160 |
5 IIRディジタル・フィルタ 160 |
5-1 レジスタとローカル変数の使用方法 162 |
5-2 演算手順と実行時間 163 |
第9章 ACサーボ・モータの制御実験―リニア・ステージのコントロールを例として 165 |
1 モータ制御実験の設備 165 |
1-1 モータ制御ボード 166 |
1-2 使用するモータ 166 |
1-3 実験用の負荷 167 |
2 サーボ調整手法 168 |
2-1 サーボ調整に関わるパラメータ 168 |
2-2 サーボ・ロックの実現 168 |
PIDパラメータ(サーボ・ゲイン)の初期値を決める |
イナーシャ比 |
慣性モーメントの計算方法 |
PIDパラメータ(サーボ・ゲイン)の補正 |
2-3 サーボ調整ツール 171 |
2-4 PIDパラメータの決定方法 171 |
メカ(モータ+負荷)特性の測定 |
PIDパラメータの決定 |
2-5 加速度リミットと速度リミットの決定方法 172 |
最高回転数(速度リミット) |
モータに与える角加速度(加速度リミット) |
モータ・ドライバの単位に変換 |
2-6 ドライブ・リミット(トルク制御アンプの電流リミット)の決定方法 173 |
2-7 フィードフォワードの決定方法 173 |
2-8 ディジタル・フィルタ係数 173 |
3 モータ制御実験(PIDコントローラ) 174 |
3-1 微小送り位置決め性能 174 |
フィードバック(PID)制御のみでの位置決め性能 |
フィードバック(PID)制御フィードフォワード制御での位置決め性能 |
フィードバック(PID)制御のみでのモータ電流特性 |
フィードバック(PID)制御+フィードフォワード制御でのモータ電流特性 |
3-2 高速送り応答性能 175 |
3-3 速度制御性能 176 |
速度制御のおさらい |
速度制御時のPIDパラメータ |
速度制御実験データ |
4 モータ制御実験(位置速度ループ・コントローラ) 177 |
4-1 位置速度ループ・コントローラは2重フィードバック・コントローラ 177 |
4-2 サーボ・ゲインの決定 177 |
4-3 オープン・ループ周波数特性 178 |
微小送り位置決め性能 |
高速送り応答性能 |
5 モータの出力電力 179 |
5-1 モータの回転数と出力電力の関係 180 |
5-2 モータは回転することが仕事 180 |
Appendix USBインターフェースによる AC/DCサーボ・モータ・ドライバMCG02 181 |
用語解説 183 |
付属CD-ROMの内容と使用方法 194 |
参考・引用文献 196 |
索引 197 |
著者略歴 200 |
はじめに 3 |
第1部 基礎編 |
第1章 モータの分類から回転のしくみまで ACサーボ・モータの基礎 11 |
1 本書での重点課題 11 |
2 本書で扱うACサーボ・モータ 12 |
2-1 代表的なACサーボ・モータ 12 |