PWM(Pulse Width Modulation - パルス幅変調) は、入力値を一定周期の方形波のON時間の割合(duty比)として出力する変調方式のことを指します。to top主に、モータドライバやスイッチング電源など、電力を調整する回路に使われています。
パワーオペアンプなどで、アナログ変調する場合と比較すると、アナログ変調では余分の電力を制御素子で熱に変換するので効率が悪い のですが、PWMでは、ON期間では抵抗の少ない飽和状態で素子を使い、OFF期間はスイッチを切るため、発熱が少なく、効率がいい という利点があります。
欠点として、高速で大電力をスイッチするので、原理的にスイッチングノイズが発生すること、また、パルスのサイクルで出力が離散化されるので、入力に対して出力が遅れること、パルス変調回路、スイッチング回路などが必要で、複雑になる、などがあります。ここでは、基本的にモータドライバとしての設計に話を絞ります。
モータドライバとして PWM を使う場合、電流不連続モードPWM と電流連続モードPWM で設計が変わるので、それぞれの場合で説明します。
#
#
#以前このページで、機械的PWM / 電気的PWM と呼んでいましたが、電流不連続モード / 電流連続モードのほうが幾分正しいようなので修正します。
また、スイッチング電源でも、電流不連続モードを使うことがあるそうなので、関連した記述を変更しました。
モータの電気時定数に対して、PWMの周期が十分長い=PWM周波数が低い場合で、ON期間は電流が全開 で流れ、OFF期間は電流が完全に流れなくなります。a) PWM周波数の選定
よって、トルク変動が最大になりますが、機械的な慣性モーメントによって、モータの回転数の変動が実用上の許容範囲内に入っているようにした設計です。# 主に、3極モータ(540とか)のような起動時の抵抗が大きなモータに使います。
えっと、経験値から、適当にきめます。...だと、身もふたもないのでもうちょっと厳密に決めましょう。
このドライブにするときは、OFF期間に、電流が残らないようにすることが重要です。
これは、 OFF時に落ちていく電流はロータ鉄心の励磁に使われるため、ほとんどトルクに変換されず熱になってしまうためです。
経験的には、PWMの周期を、モータの電気定数の10倍以上にします。
ただし、3極モータのインダクタは、メーカも値を出していないことが多く、正確に計測することも難しいので、いきおい、経験則に頼ってしまうことになります。
また、厳密にやりたい場合は、回転系の慣性モーメントから計算しますが、そもそも回転のなめらかさを気にする場合は電流連続モードPWMにするべきなので、ふつうあまり細かい計算はしません。
個人的な経験則では、マブチ系のモータの場合、100〜1kHz 程度が良いようです。
このドライブの場合、OFF期間はモータコイルに電流が流れない(流さない)ので、使用できる回路はダイオード環流タイプ(1象限ドライバ)のみです。
それも、この場合のダイオードは、保護素子の意味合いが強くなります。右に、Nch Power MOSFET を使った場合の典型的な回路図を示します。
モータの回路記号を、コイルで代用していますが、まあ、簡単な回路です。
![]()
素子の選択に関わる、この駆動法の特徴は、
ON期間は電流が全開で流れる。この2点にあります。
OFF期間は電流が完全に流れなくなる。まず、[ON期間は電流が全開で流れる] ので、スイッチング素子(多くの場合、Nch MOSFET)は、 モータに流れ得る最大電流に耐える必要があります。
放熱設計や、連続定格は、使用するモータの平均電流(定格電流)で設計してもかまいませんが、素子の瞬間定格は、モータの停動電流(軸ロック時に流れうる最大電流)を許容 できるようにしましょう。
次に、[OFF期間は電流が完全に流れなくなる] ですが、これにより、フライホイールダイオードには、ほとんど電流が流れません。
よって、フライホイールダイオードは、ロボコンで使う程度のモータ(100W以下)ならば、1A定格程度のもので問題はないでしょう。
また、PWM周波数は大変低くなることが多いので、FETのスイッチング速度も、それほどシビアにならなくてもOKです。
この駆動法は、設計や製作が楽なのでよく使われていますが、コアレスモータや、工業用サーボモータには向かないです。コアレスや工業用サーボに使うと、モータが異常発熱したり、定格に達する前に焼き切れたりする場合があります。to top
このようなモータは、かならず電流連続モードのPWMになるようにします。逆に、この後で述べる電流連続モードPWMだと、3極モータのような起動時の閾値の高いモータの場合、うまく起動しなかったり、低速トルクが足らない場合があります。この場合は、電流不連続モードのPWMになるようにする方がいいです。
LR 直列回路のパルス応答でOFF期間もLに蓄えられたエネルギーで電流が流れ続けることで電流の変動が小さくなるようにした場合です。電流の変動が小さいので、当然トルクリップルも減って大変なめらかに回転します。ただし、きちんと設計しないと、うまく動きません(^^;
電流連続モードの場合、キャリア周波数の選定は、設計上最も重要になります。b) 駆動回路の選定
基本的には、駆動回路も含めたモータコイルのインダクタLと抵抗RのLR直列回路のパルス応答として、電流変動が十分小さくなるように周波数を選定します。DCモータは、電気的に LR 直列回路と見なして計算します。
LR直列回路において、入力電圧vの方形波入力時の出力電流の変化は、
立ち上がり時に i(t) = V/R(1-e-t/k) 、立ち下がり時に i(t) = V/R e-t/k で変化します。( k = L/R )よって、パルス周期 T[s] に対して、時定数 k が 10倍 ( k > 10T ) の場合、電流変動は +-5%程度、k が 100倍 ( k > 100T ) の場合、電流変動は +-1%程度になります。
経験上、日本サーボなど産業用DCモータの場合、10kHz以上、産業用マブチ(RS-550,RS-385など)の場合、7kHz以上がいいようです。
おもしろい周波数の選定方法に、音を聞く、というものがあります。
PWM周波数が簡単に変えられる回路を作っておいて、モータを回しながら、低い周波数からだんだんと高い周波数に設定を変えていきます。すると、電流不連続モードのうちは、トルク変動が激しいので、PWM周波数のかなりうるさい振動=音が発生していますが、電流連続モードにはいるとトルク変動が小さくなって、急に静かになります。ただし、18〜20kHz以上になると、人間の耳には聞こえなくなるので、判定できなくなりますが、それ以下の周波数で連続モードに入るモータの場合はこの方法でだいたいの目安が付けられます。----
だいたいの場合、ここまでの計算でかまわないのですが、いわゆる高性能モータを使う場合は、もう少し配慮が必要です。MAXONモータのような、高性能を謳い文句にしているモータは、一般的に起動電流に対して連続定格電流が大変小さくなっています。
先の、LR時定数から計算された電流変動率は、基本的に起動電流を 100%とした場合のため、このようなモータの場合、たとえば電流変動が起動電流に対して 5% 程度でも、連続定格に対しては 50%、という場合が出てきます。
そこで、電流変動が連続定格に対して数%以内に収まるよう、設計する必要があります。よって、このようなモータのPWM周波数は高めになりますが、コアレスモータなどでは電気時定数がたいへん小さく、計算上、数百kHzが必要になることさえあります。
しかし、パルス発生回路の制約や、スイッチングロスを考えると、数百kHzのPWMは難しい場合が多いです。
このような場合、モータとパルスドライバの間に、直列に外付けインダクタンスを追加して、見かけの時定数を大きくすることで対処します。
このモードの場合、駆動形式はダイオード環流タイプ(1象限ドライブ)、同期整流タイプ(2象限/4象限ドライブ)のいずれをもとることができますが、特長を生かすためには同期整流タイプをとるほうがよいでしょう。c) 素子の選択
電流連続モードで必要とされる特性は、不連続モードのときとは対照的になります。d) 注意点まず、ON期間とOFF期間で流れる電流がほとんどかわらないので、スイッチング素子の許容電流は、平均電流で計算してOKです。
ただし、ダイオード環流タイプを使う場合、フライホイールダイオードには、ドライバが扱う電流の1/4の大きさ電流が流れるものとして熱計算をしなければなりません。(この電流は、duty 50%のときに発生します。)
# 以前、これを忘れていてダイオードをはざしたことが何度かありました(^^;
このモードを使うときは、とにかく周波数を上げることになります。よって、信号/電力の伝達ルートは、ある程度高周波を意識して配線をした方がいいです。to top
また、同期整流タイプの回路を組む場合は、上下段のデッドタイムをきちんと入れないと、即死するので気をつけてください。