モータ制御をする上で欠かすことが出来ないハードウェアの知識として、三相モータドライバの回路の概要を説明します
これからモータ制御に挑戦する人にはもちろん、既にモータ制御に取り組んでいる方の参考になれば幸いです
一般的な三相モータドライバの回路例
一般的な三相モータドライバの回路例(回路ブロック図)です
今回の例は非絶縁のインバータで、3シャントによる電流検出・過電流検出を行う方式としております
三相フルブリッジ回路
三相フルブリッジ回路は、モータに任意の電圧を印加するための電圧可変回路です
今回の場合は三相モータなので、三つの電圧可変回路にて構成されます
それぞれの電圧可変回路のことをレグと呼び、レグの上下のスイッチング素子をアームと呼びます
また、レグの入力電圧のことをDCリンク電圧や母線電圧などと呼びます
三相フルブリッジ回路はスイッチング素子(IGBTやMOS-FETなど)とそれと逆並列に接続された循環ダイオードにより構成されるアームを上下に持つレグが3つ並列に接続された6アーム/3レグの構成となります
レグはCMOSロジックと同様、上アームONの時はHigh、下アームONの時はLow、上下アームOFFのときはHi-Zといったトライステート出力となりますが、スイッチングすることでDCリンク電圧範囲内の任意の電圧値に制御することが出来ます(上下アームONは短絡状態となるためNG)
実際にはマイコンなどのコントローラより出力されるPWM信号で各アームをスイッチングします
上下アームONは短絡によってスイッチング素子や電源を破壊するだけではなく、最悪の場合マイコンやその他制御回路すらも破壊してしまう可能性があります
特に上下アームがスイッチングする際に回路の遅れ要素などで同時ONしてしまう可能性があり、それを防止するために上下アーム共にOFFとするデッドタイムを設けます
ただし、上下アーム短絡はノイズなどが原因で発生してしまう可能性もあるため、基板パターンのレイアウトやノイズ対策部品での誤動作対策や、万が一発生してしまった場合に備えた保護回路は必須となります
ゲートドライバ
ゲートドライバは、マイコンなどのコントローラのPWM信号(3.3V、5V)をIGBTやMOS-FETなどのスイッチング素子が駆動出来るレベル(10~15V)に変換するレベルシフト回路です
スイッチング素子によってはマイコンで直接駆動出来るものもありますが、一般的にはゲートドライバを用いて駆動します
オリジナルのゲートドライバの回路を自分で組むことも出来ますが、各社ゲートドライバICとしてラインナップがあったり、三相フルブリッジ回路と共に1パッケージにモジュール化されている製品(IPM:Inteligent Power Module)もあるのでそれらを使用することが一般的だと思います
電流検出回路(3シャント)
電流検出回路は各レグの出力電流(モータ電流)を検出する回路です
モータ制御の方式にもよりますが、モータ電流をフィードバック制御する場合やモータ電流をモニタして保護機能を構成する場合などは必須となります
電流検出回路の構成には複数種類がありますが、今回の例では3シャント電流検出回路を採用しております
3シャント電流検出回路は、各レグの下アームに電流検出用のシャント抵抗を接続し、シャント抵抗の両端子間の電圧を測定することで電流を検出する方式です
実際にはシャント抵抗の両端子間電圧をオペアンプで増幅してマイコンなどのコントローラのA/Dポートに入力します
また、電流は双方向に流れるため、双方向の検出が出来るようにオペアンプの回路を構成する必要があります
3シャント電流検出回路の注意点として、下アームに電流が流れない期間が存在するため、下アームに電流が流れているタイミングを狙ってサンプリングする必要があります
基本的には下アームが全てONのタイミング(モータ電流還流時)でサンプリングします
過電流検出回路
過電流検出回路はモータ側の異常や上下アーム短絡などによって発生する過電流を検出する回路です
こちらも様々な検出方法がありますが、3シャント電流検出回路の場合はそれぞれのシャント抵抗に対してコンパレータで検出するのが一般的です
コンパレータの出力信号はFo信号やBrk信号と通称されることがあります
これらの信号が出力されたら出来る限り速く三相フルブリッジ回路の全てのアームをOFFに駆動する必要があります
モータ制御用のマイコンの場合は専用の端子機能が設けられているので、その端子に接続することで即座にPWM信号を停止させることが出来ます(STM32マイコンの場合BKIN端子、RXマイコンの場合POE端子)
また、ゲートドライバにも同様の端子機能が設けられている場合もあります
DCリンク電圧検出回路
レグに入力されるDCリンク電圧をマイコンで検出するための回路です
基本的にはDCリンク電圧のレベルをマイコンで検出出来るレベルに減衰させる抵抗分圧回路などのアッテネータとなります
DCリンク電圧は、マイコンで各アームのON Dutyを計算する際に使用したり、モータからの回生電力で過電圧になった際の保護機能などに使用されます
制御回路(マイコン)
モータ制御を構成するコントローラです
電流検出回路やDCリンク電圧検出回路の検出結果を元に三相フルブリッジ回路の各レグから出力する電圧レベルを算出し、各アームに対してPWM信号として出力します
PWM信号は上下アーム短絡を防止するためのデッドタイムが付与された相補PWM信号である必要があり、万が一過電流検出回路が働いた場合は即座にPWM信号を止めてやる必要があります
こういった機能は全てのマイコンに汎用的に搭載されているわけではないため、モータ制御向けのマイコンを選定する必要があります(STマイクロのSTM32シリーズ、ルネサスのRXxxTシリーズなど)
なお、STM32シリーズについては下記記事にて設定方法を解説しています

まとめ
三相モータドライバ回路について駆け足でしたがそれぞれの回路の概要を説明しました
モータ制御はパワーエレクトロニクスの分野の技術であり、組み込みエンジニアの立場でもハードウェアの知識が必要になってきます
本記事に記載されている内容はモータ制御のプログラムを作成する上で最低限押さえておくべき内容かと思いますので、これからモータ制御に挑戦する人にはもちろん、既にモータ制御に取り組んでいる方に対しても参考になれば幸いです