【ユニポーラとバイポーラ】ステッピングモータ ドライバ回路

回路設計



この記事でわかること

・ユニポーラとバイポーラモータの違い
・各モータのドライバ回路の特徴
・ユニポーラ及びバイポーラのドライバ回路の内部構成

ステッピングモータはユニポーラ型バイポーラ型があり、
モータを駆動させるドライバ回路も2種類あります。

それぞれのドライバ回路には一長一短があり、
用途によって使い分ける必要があります。

本記事では、ユニポーラとバイポーラモータの違いと、
対応するドライバ回路の特徴と共に、
その内部構成について解説します。

ユニポーラとバイポーラモータの違い

ユニポーラ、バイポーラの違いは、
ステータ(固定子)の巻線の巻き方
にあります。

モータの構造については下記記事で解説しています。

2相モータの場合、
ステーターには2つの巻線A、Bが巻かれています。

下図はバイポーラ型モータの巻線Aだけ巻いた状態です。
ここで、/A、/Bは、それぞれA,Bの反転論理を示します。

Aから/Aへ電流を流した時に、
A相コイルがN極に磁化されたとしたら、
/A相コイルはS極に磁化されます。

逆に/Aから電流を流すと、極性が反転し、
A相はS極、/A相はN極になります。

この巻線の巻き方はユニファイラ巻きと呼ばれ、
巻線に流す電流の方向でコイルの極性が切り替ります。

ユニポーラ型モータは、バイファイラ巻きと呼ばれる巻き方で、
巻線にセンタータップ(COM)が設けてあり、
AからCOMに流した時にN極に磁化されたとしたら、
/AからCOMに流すとS極になります。

COMが増えた分、リード線の数が増えますが、
巻線に流す電流の向きが一定方向です。

ユニポーラ型とバイポーラ型と比較すると以下になります。

・バイポーラの方がトルクが強く、低消費電力
 ユニポーラは巻線の半分しか電流を流さないのに対し、
 バイポーラは常に全巻線に流れるので、トルクが強くなります。

 これは同じトルクを出す場合、電流がユニポーラより少なくて良いので、
 消費電力や、モータ温度上昇を低減させることができます。

・高速回転はユニポーラが向いている
 先ほどのコイルの巻き方の図を見てわかる様に、
 ユニポーラは2ターンのコイル2個が並列接続されているのに対し、
 バイポーラは1個で4ターンなので、
 2ターンのコイル2個が直列接続されていると考えることができます。

 これは、バイポーラの方がコイルのインダクタンスが大きい事を意味します。

 インダクタンスが大きい分、電流が変化しづらくなるので、
 高速で電流を切り替える事ができなくなります。

 このため、低速時はバイポーラの方がトルクが大きいですが、
 高速になると、ユニポーラよりもトルクが低くなってしまいます。

・ドライブ回路はユニポーラの方がシンプル
 モータの構造はバイポーラの方がシンプルですが、ドライブ回路は逆に複雑になります。

 その理由は、コイル電流を双方向に流すためにブリッジ回路が必要となるからです。
 ブリッジ回路は使用するFETの数が増えるだけでなく、
 上段FETがN-ch FETの場合、ゲートドライバに電源を供給する
 ブートストラップ回路が必要になります。
 (ブートストラップ回路については後で説明します)



ユニポーラ用ドライバ回路の特徴

下図は、2相ユニポーラモータ用ドライバ回路です。

ここではA相側の回路のみ記載していますが、
B相にも同様の回路が設けてあります。

モータのコイルA又は/Aに電流を流す為、
FETを2個使用しています。

コイルAに電流を流すにはQ1をオンさせ、
コイル/Aに電流を流すにはQ2をオンさせます。
(Q1とQ2は同時オンしないようにする)

1相あたり必要なFETの数は2個とバイポーラの半分で済みます。

しかし、FETオフ時にコイルに逆起電圧が発生するので、
それを抑制するためダイオードを設けたり、
耐圧の高いFETを使う必要があります。

逆起電圧が発生する仕組みについて説明します。

FETがオン時にコイルに0.1A流れていたとします。
オフすると回路が遮断されますが、これはドレイン・ソース間に
非常に大きな抵抗があると考えることができます。
(ここでは、仮に1MΩとします)

コイルは流れる電流を維持しようとする働きをします。

つまり、抵抗1MΩに0.1A流れる事になるので、ドレイン・ソース間電圧VDS
 VDS=R×I=1MΩ×1A=100kV
と非常に高い電圧になります。
(実際には、ここまで高電圧にはなりません)

この逆起電圧を抑制するため、図のようにダイオードを接続することで、
FETオフ時にコイルが流そうとする電流を遮断しないようにします。

しかし、これにより、FETがオフしても電流がすぐに減少しなくなる為、
電流の応答性が悪くなり、モータ制御に影響が出ます。

このため、ツェナーダイオードを使い、逆起電圧がツェナー電圧を超えるまで
ダイオードに電流が流れないようにします。

つまり、逆起電圧を完全に抑制せず、ツェナー電圧分だけ発生させることで、
電流の減少を早くします。

従って、ツェナー電圧が高いものを選えば、電流の応答性を良くできますが、
その分、逆起電圧が高くなるので、それに耐えられるFETを使うようにします。

バイポーラ用ドライバ回路の特徴

下図は、2相バイポーラモータ用ドライバ回路です。
ユニポーラ同様、A相側の回路のみ記載しています。

モータのコイルに電流を双方向に流す為、
FETを4個使用したフルブリッジ回路で構成しています。

以下の説明では、A相コイルに流す電流の方向を
Aから/Aを正方向とします。

正方向に電流を流すにはQ1とQ4をオンさせ、
逆方向に電流を流すにはQ2とQ3をオンさせます。

この回路ではユニポーラの様に逆起電圧防止のためのダイオードは必要ありません。

その理由ですが、例えば正方向の電流を止める時、Q1をオフしますが、
図のようにQ2のボディダイオード経由で電流が流れ続けるため、
逆起電圧が発生しないためです。

このため、ユニポーラに比べ、耐圧の低いFETを使うことができます。

この動作モードはオフ時の電流減少が緩やかであることから、
Slow Decay(低速減衰)モードと呼ばれ、
電流リップルを低くすることができ、ノイズや発熱を低減できます。

このモードは電流の応答性が悪いため、高速回転には不向きなので、
電流減少を早くしたFast Decay(高速減衰)モードがあります。

これは正方向の電流を止める時、Q2とQ3をオンして
逆電流を流す方向に電圧を印加します。

Fast Decayは電流応答性が良く、マイクロステップ駆動など、
電流値を細かく制御したい場合に使われますが、
ノイズや発熱は大きくなります。

ブリッジ回路に使われるFETですが、上下ともN-ch FETを使うタイプと、
上段はp-ch FETを使うタイプがあります。

上段FETがN-chの場合、入力するゲート信号はソースを基準にする必要があるため、
上段用ゲートドライバのGNDは、回路のGNDと共通にできません。

つまり、上段用ゲートドライバの電源供給に、
下段と同じ電源Vccをそのまま使うことができない為、
絶縁型電源を設けるか、ブートストラップ回路が必要になります。

上段FETをP-chにすれば、ソース(S)よりゲート(G)の電圧が低ければオンするので、
上段用ゲートドライバのGNDピンを回路のGNDと共通にできるため、

下段用ゲートドライバと同じ電源Vccを使用できます。

この方が、回路的にはスッキリするのですが、
P-chは特性上、ON抵抗やゲート容量が大きい等、N-chより性能が劣ります。

ブリッジ回路では、上下FETの特性が同じでないと問題が発生します。

ゲート容量が違うということは、ターンオン/オフ時間が違ってくるため、
上下の動作タイミングがずれると、両方が同時オンしてしまい、
貫通電流が流れてFETが壊れます。

また、P-chは性能が悪く、用途も限定されることから、
製品として種類が少なく、あったとしても価格が高いです。

このため、ドライバ回路をディスクリート(個別部品)で組む場合、
上下とも同じN-chが使え、かつ絶縁型電源が無くても良い方法として、
ブートストラップ回路を使うのが一般的です。

ブートストラップ回路については、下記記事で解説しています。

このようにバイポーラ用ドライブ回路は複雑ですが、
ブリッジ回路とゲートドライバを一つに集約したモータドライバICがあるので、
それを使えば部品点数を減らすことができます。

また、バイポーラ用ドライバ回路はユニポータモータも駆動させることができます。

但し、その場合はブリッジ回路の下側FETだけ使用することになり、
FETオフ時は電流を遮断してしまうので、ユニポーラ用ドライブ回路と同様に
逆起電圧防止のダイオードをつける必要があります。



ユニポーラドライバ回路の詳細

先ほど説明したユニポーラドライバ回路により、
1-2相励磁でモータを回転させる場合、
どのような制御を行うか説明します。

1-2相励磁については下記記事で解説しています。

ユニポーラ用ドライブ回路の内部構成の例を示します。

入力信号は次の2点です。
CLK(クロック信号)
 入力するクロック数で回転角度を、
 クロック周波数で回転速度を制御します。

CW/CCW(方向信号)
 モータの回転方向(時計周り(CW)、反時計回り(CCW))を制御します。

クロック信号CLKは8進リングカウンタに入力され、
クロック数を、0から7までの範囲で繰り返しカウントして出力します。

この時、方向信号CW/CCWがHならアップカウント、Lならダウンカウントします。

次にデコーダによって、カウント値に応じた
8bitコードQ0~Q7(0~255)を出力します。

ここでは、コードが255(16進数でFFH)の時に電流指令値1Aとします。

1-2相励磁における1相励磁時に流す電流値を0.8Aとするとコードは204(CCH)、
2相励磁時は1相励磁時の1/√2にするので0.56Aとなり、144(90H)になります。

電流指令値はD/Aコンバータにより、
アナログ信号に変換され、電流指令電圧Vcとして出力されます。

このD/Aコンバータの出力範囲が0~10Vだとしたら、
入力コードが0の時は0V、255なら10Vが出力されます。

従って、出力電圧Vcは、コードが204(電流指令0.8A)なら8V、
144(0.56A)なら5.6Vとなります。

以上の動作により、
1-2相励磁の電流波形になるように電流指令電圧Vcを出力できます。

このVcは、クロック信号が入る毎に、
方向信号CW/CCWがHならCW(時計回り)、LならCCW(半時計回り)で
回転するように変化していきます。

一方、モータに流れる電流を計測するために、
電流検出抵抗Rs(シャント抵抗と呼ばれる)間に発生する電圧を
電流検出アンプで増幅し、電流検出電圧Vsとして出力します。

抵抗による損失をできるだけ小さくするため、
Rsは一般的に1Ω以下にします。

抵抗値を1Ωにした場合、モータ電流が1A流れたら、
抵抗間に1Vが発生するので、
電流検出アンプで10倍すると電流検出電圧Vsは10Vとなります。

この電流検出電圧Vsと、先ほどの電流指令電圧Vcは
オペアンプに入力されます。

このオペアンプは差動増幅器を構成しており、
VsとVcの検出差Vd(=VcーVs)を出力します。

検出差Vdは三角波発生回路からの三角波と共に
コンパレータに入力され、PWM信号を出力します。

コンパレータでは+入力とー入力を比較し、
+が高ければH、ーが高ければLを出力します。

コンパレータの回路記号はオペアンプと同じ三角形ですが、
出力はオープンコレクタとなっているので、
プルアップする電圧レベルに応じたH/Lのデジタル信号になります。

PWM信号のH/Lは以下の様になります。
 検出差Vd>三角波の時、PWM信号H
 検出差Vd<三角波の時、PWM信号L

従って、Vdが高い(電流指令値>電流検出値)ほど、
PWM信号がHである時間の割合(ONデューティー比)が大きくなります。

これは、電流指令値よりも実際に流れている電流が小さい場合は、
FETのON時間を長くするので、電流が増える方向に働きます。

逆にVdが低い(電流指令値<電流検出値)なら、
ONデューティー比が小さくななり、電流が減少します。

このPWM信号がQ1又(A相)はQ2(/A相)どちらに入力されるかは、
デコーダからのM信号で切り替えています。

M信号は、カウント値が0~3の時、HにすることでQ1に入力させ、
4~7の時はLにして、Q2に入力させます。

ここでは、1-2相励磁を行う場合について説明しましたが、
デコーダの電流指令パターンを変更すれば、1相励磁や2相励磁になります。
また、カウンタのカウント数を増やすことで、マイクロステップ駆動も可能です。

具体的な回路についてですが、
リングカウンタはフリップフロップ、
デコーダはANDとNOTを組み合わせた論理回路で構成できますが、
マイコン内のソフトウェアでも実現できます。

三角波発生回路はオペアンプ2個で構成できます。

三角波の周波数(つまりPWM周波数)を高くすると、
電流リップルは小さくなりますが、
スイッチング損失が増えて効率は低下します。

逆に低くして、可聴周波数範囲 (20Hz~20kHz)になると
モータコイルの振動による音鳴きが発生することから、
一般的には、20k~40kHzの範囲で設定します。



バイポーラ用ドライバ回路の詳細

ここでは、ユニポーラのドライバ回路と異なる部分のみ説明します。

電流を双方向に流すために、電流指令電圧Vcは±出力できるように、
D/Aコンバータは両電源タイプを使用します。

このD/Aコンバータの出力範囲が±10Vだとしたら、
デコーダからの8bitコードQ0~7が0の時は-10V、128が0V、255なら10Vが出力されます。
(電流指令値+0.8Aならコードが230で+8V、-0.8Aならコードが26で-8V)

デコーダの真理値表は以下のように設定することで、
1-2相励磁の電流波形になるように電流指令電圧を出力できます。

また、F/S信号によって、
fast decay又はslow decay動作に切替えることができます。

fast decay(F/S信号=0)の場合、M1,M2共にHにすることで、
PWM信号がそのままFETのゲートに入力されます。

slow decay(F/S信号=1)の場合は、
電流が正方向時は、M2をLにしてQ3オフ/Q4オン固定にし、
負方向時はM1をLにしてQ1オフ/Q2オン固定にします。

一方、電流検出電圧Vsも±出力できるように、
両電源タイプの差動アンプを使用します。

この電流検出電圧Vsと、電流指令電圧Vcの差Vdも±電圧となるため、
オペアンプ、コンパレータも両電源タイプを使用し、
三角波発生回路も±出力できるようにします。

検出差Vdと三角波はコンパレータに入力され、
PWM信号を出力します。

検出差Vdが+の時はPWM信号のONデューティー比が大きくなるので、
Q3オン時間よりQ1オン時間の方が長くなり、
正方向に電流が流れます。

Vdがーの時はPWM信号のONデューティー比が小さくなりますが、
Q3/Q4には反転されて入力されるため
Q1オン時間よりQ3オン時間の方が長くなり、
逆方向に電流が流れます。

PWM信号はハーフブリッジ・ゲートドライバICに入力されます。
(ハーフブリッジ2個でフルブリッジ回路を構成)

このICはブートストラップ回路を内蔵しているので、
上下段FETともN-ch FETを使用できます。

また、上下FETのゲート信号が共にL出力する時間(デットタイム)
を設けたタイプもあります。

デットタイムを設ける理由ですが、FETは特性上、
ゲート電圧VGがHになってからオンするまでの時間ton(ターンオン時間)に比べ、
VGがLになってからオフまでの時間toff(ターンオフ時間)の方が長い
です。

このため、上側ゲート信号がH、下側ゲート信号がLになるタイミングが同時の場合、
下側FETがオフしないうちに上側FETがオンして、上下同時オンとなり、
過大電流が流れてFETが故障するため、上下ともL期間を設けることで防止しています。

今回の例では、オペアンプ等のアナログICは両電源タイプを使用していますが、
出力電圧を+方向にシフトさせることで、
プラス電源(単電源)だけで回路を構成することもできます。

出力シフト機能を持つ電流検出アンプを使えば簡単ですが、
その機能が無くても下記記事で解説している方法でも可能です。

また、電流検出の場所を図の様にローサイドにすれば、
電流検出電圧Vsは正電圧のみとなるので、
ユニポーラ用ドライバ回路と同様の構成にできます。

但し、この方法ではコイルに流れる電流方向が検出できず、
また、Slow Decay時はブリッジ内で電流がループし、
検出抵抗Rsに流れないため、電流値が検出できません。

しかし、この方法は単電源で済むため、
低コストで回路を構成できます。

以下の記事で、工作時に役立つ工具類を紹介しています。