実質無料！ Tiの３相GaNインバータの使い方

# はじめに
本記事はMATLAB Expo2021 LTでの発表「[MATLAB Homeでのモータ制御MBD開発に向けた“脱獄指南書”](https://speakerdeck.com/motorcontrolman/matlab-home-prison-break)」の解説をシリーズ化したものの３番目の記事となります。
シリーズ構成案は下記。

[①Arduino Dueに３相同期・三角波・相補PWMを打たせる](https://qiita.com/motorcontrolman/items/ef6670f9dff0f63cdc50)
[②Arduino DueでPWM山同期AD変換を行う](https://qiita.com/motorcontrolman/items/ba2cd0fb200501186194)
<b>番外編 実質無料! Tiの３相GaNインバータの使い方</b>
③Arduino Dueの2ch DACを利用する
④MATLAB/SimulinkでArduinoのレジスタを叩く
⑤MATLAB/SimulinkとArduino DueでPWM同期の制御を実現する

[Tiの3相GaNインバータ](https://www.tij.co.jp/tool/jp/BOOSTXL-3PHGANINV)についてはシリーズ記事の中で既に何度か紹介済みですが、本記事では改めてその特徴について語るものとします。

正直なところ、１章はネタ記事に近いのでピン配置や注意点のみが気になる方は[２章](https://qiita.com/motorcontrolman/items/95560fd38545637fad2a#2-%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95)のみ読んで頂いても構いません。

# 1. なぜ「実質無料」か

# 1.1 電流検出方法がナイス
前記事にも書きましたが、この3相GaNインバータは電流検出方法として「インバータ-モータ間 ３シャント電流検出方式」が採用されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302506/39bd93a5-7fd8-e34b-9cae-49b8c0dfd420.png)

この電流検出方式では、インバータのスイッチング状態によらず<b>常に</b>モータに流れる電流を観測可能で、電流検出アナログ出力ポートとオシロスコープを接続するだけで下記のように３相交流波形を得ることが出来ます。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Tiの3相GaNインバータのシャント抵抗で検出した3相電流波形。いやーキレイっす。 <a href="https://t.co/AEfJo0IAUw">pic.twitter.com/AEfJo0IAUw</a></p>&mdash; モータ制御マン (@motorcontrolman) <a href="https://twitter.com/motorcontrolman/status/1418939010475511823?ref_src=twsrc%5Etfw">July 24, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>



同様の電流観測を実現する手段の１つとして非接触方式の電流センサを用いる方法が挙げられますが、前記事でも書いた通りお値段がそれなりにします。
例えば[LEMのLTS 6NP](https://jp.rs-online.com/web/p/current-transformers/4362330/)だとこんなん。(2021/7月頃時点。よく欠品になります)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302506/bfb9aae1-f25c-becf-b625-ccb73a628941.png)

3相の電流を検出した場合は×３なので、お財布にそれなりの負担となります。
これに対し、Tiの3相GaNインバータはというと…＄49となっております。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302506/ae20e8f2-44d1-ea5d-fa76-22ee50505496.png)

ということで、著者としてはこれだけで既に「実質無料」だと考えています。



なお余談ですが、電流→アナログ信号への変換レートが[LEMのLTS 6NP](https://jp.rs-online.com/web/p/current-transformers/4362330/)とかなり近いという面白い特性を持っています。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">電流→アナログ信号変換レートがLEMの電流センサ（LTS 6NP）と全く同じらしく、波形がぴったり重なります。 <a href="https://t.co/ygeOFZANtm">pic.twitter.com/ygeOFZANtm</a></p>&mdash; モータ制御マン (@motorcontrolman) <a href="https://twitter.com/motorcontrolman/status/1418939740502495241?ref_src=twsrc%5Etfw">July 24, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
※上記、ツイートでは「全く同じ」と書いていますが厳密には違いました。[2.2 ②](https://qiita.com/motorcontrolman/items/95560fd38545637fad2a#-%E9%9B%BB%E6%B5%81%E6%A4%9C%E5%87%BA%E5%80%A4%E3%81%AF%E3%83%9E%E3%82%A4%E3%83%8A%E3%82%B9%EF%BC%91%E5%80%8D%E3%81%8C%E5%BF%85%E8%A6%81)参照。


## 1.2 脅威のデッドタイム8ns

本インバータにてSW素子として使用されている[LMG5200](https://www.tij.co.jp/product/jp/LMG5200)ですが、データシートに記載された使用例として下記の記載されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302506/b7ebf4a2-979c-0d02-b41a-8b8bd0bc890e.png)

<b>8nsってアンタ。</b>流石はGaN、というところでしょうか。
デッドタイムが短いことの恩恵は様々ありますが、モータ制御勉強用途としてはデッドタイムの長い／短いが電流波形にどのような影響を与えるのか、更にはモータの制御性にどのような影響を与えるのかを考察できるのが嬉しいですね。

## 1.3 SW周波数の設定可能幅が広い
上記のデータシートにはSW周波数：<b>1MHz</b>が記載されており、これまたモータ制御用途ではオーバースペック気味と言えますが個人的に着目すべきは<b>低い側の周波数も広く設定可能</b>ということです。試した限りでは2.5kHzまでは正常な動作が確認できました。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">電流歪みの観測しやすいモータにて、キャリア周波数を2.5kHzと10kHzで交互に入れ替えるなど。音も分かりやすいですね。 <a href="https://t.co/yzZMBdC7U6">pic.twitter.com/yzZMBdC7U6</a></p>&mdash; モータ制御マン (@motorcontrolman) <a href="https://twitter.com/motorcontrolman/status/1425098763429945351?ref_src=twsrc%5Etfw">August 10, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

（なお、本特性はGaNの使用によって実現されている訳ではなく、使用されているブートストラップコンデンサが大きいことで実現されているものです）
（ちなみに上記の動画もシャント抵抗による検出値です。いや本当に便利。）

低い周波数を設定できることのメリットとしては下記が挙げられます。
・音を出して遊べる（たのしい）
・演算負荷を余り気にすることなくモータ制御開発が出来る
・[搬送波同期の電圧重畳センサレス制御](https://www.jstage.jst.go.jp/article/ieejias/136/3/136_212/_article/-char/ja)のS/N比を改善できる

上記メリットを享受するケースは実際にはそれほど多くないかとは思いますが、ちょっと試したいと思った時に使えるのはすごく便利ですね。

# 2. 使用方法
## 2.1 ピン配置
[回路図](https://www.tij.co.jp/jp/lit/df/sluray0a/sluray0a.pdf?ts=1628859122946)に記載がありますが、一部分かりにくいため必要最低限のピン配置を下記表に示します。
なお回路図では３相を「A」「B」「C」と呼称していますが、本記事では「U」「V」「W」と呼称するものとします。

### J1/J3コネクタ
ここは回路図読めば分かる内容と思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302506/a4476eb6-9fe7-6807-2b1c-0e5c462af00f.png)

上記ピンから出力される信号の電圧／電流比は[2.2 ②](https://qiita.com/motorcontrolman/items/95560fd38545637fad2a#-%E9%9B%BB%E6%B5%81%E6%A4%9C%E5%87%BA%E5%80%A4%E3%81%AF%E3%83%9E%E3%82%A4%E3%83%8A%E3%82%B9%EF%BC%91%E5%80%8D%E3%81%8C%E5%BF%85%E8%A6%81)にて後述します。


### J2/J4コネクタ
問題はこちらです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302506/0cf54f86-9e53-990b-d587-65246a5e285c.png)

最低限、上記11ピンをマイコンと接続することでインバータを駆動することが可能です。

## 2.2 駆動時における注意点
### ① 13pinはLOWに接続！
上記ピン配置にて記載した通り、13pinは<b>nEnable</b>ですが、その名前の通り入力信号がHIGHの場合はインバータ駆動を停止しLOWの場合はインバータ駆動を行います。
(無論、何も接続しない状態では駆動停止となります)

### ② 電流検出値はマイナス１倍が必要！

称賛しまくっていた３シャント電流検出機能ですが、１つだけ難点があります。
それは、<b>電流検出値はインバータ→モータに流れる方向を負として定義されており、一般的なモータ制御における電流定義と異なる</b>ということです。

マイコンに取り込む際には、オフセット除去した上でマイナス１倍する必要がある点に注意が必要です。

なお、電圧／電流比については<b>0.1V/1A</b> となります。
なぜそうなるか：
・シャント抵抗：5mΩ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/302506/bb32efff-eddc-524c-ddfb-4aaa0d618fb1.png)
・電流センスアンプ[INA240A1PW](https://www.ti.com/store/ti/ja-jp/p/product/?p=INA240A1PW&utm_source=google&utm_medium=cpc&utm_campaign=asc-null-null-OPN_EN-cpc-store-google-jp&utm_content=Device&ds_k=INA240A1PW&DCM=yes&gclid=CjwKCAjwsNiIBhBdEiwAJK4khk0nGpEpMzc5P0UCC1v-XlAd6IN93O5DchqCVhAvNSbVSYhl_EthPxoCP6IQAvD_BwE&gclsrc=aw.ds)のゲイン：20V/V
・上記より、電流1A条件におけるシャント抵抗の電圧降下=5mVであり、
　20倍すると0.1V/1Aとなる

なお、[LEMのLTS 6NP](https://jp.rs-online.com/web/p/current-transformers/4362330/)の電圧／電流比は 0.625V/6A = 0.104V/1A です。
差が4%程度のため、オシロスコープの波形としては一致したように見えたものと思われます。

# おわりに
正直、ピン配置と注意点だけ書けば30分で書き終わる記事なのですが「実質無料」を前面に押し出したく、その部分に時間を割いてしまいました。
念のため言っておくとTiの社員でも、Tiから何か貰っている訳でもございません。