APDahlen Applications Engineer
Arduinoのマイクロコントローラで大電流を測定するには、どのようなテクニックがありますか?
Arduino Nano Everyのようなマイクロコントローラを使用して電流を測定するには、いくつかの異なる方法があります。これらの方法は一般的に2つのカテゴリに分類されます。
-
共有グランド接続: これらの方法では、マイクロコントローラは、測定されるシステムと同じ接地電位にある必要があります。典型的な例は、抵抗値の小さいシャント抵抗に電流を流す方法です。マイクロコントローラのグランドをシャント抵抗のグランドリターンに固定し、アナログデジタルコンバータ(ADC)の入力ピンを使用して抵抗で発生する電圧降下を測定することができます。シャント抵抗のエネルギー損失を低く保つ一方で、マイクロコントローラは高い電圧降下を要求するため、この方法には常に妥協が必要です。妥協点は、電圧を昇圧するオペアンプを追加することです。
-
ガルバニック絶縁: この方法ではArduinoは被測定システムとは異なるグランドを自由に使用できます。マイクロコントローラが測定回路に直接接続されていないため、ある点では光絶縁に似ています。ガルバニック絶縁では、1000ボルトの過渡現象が一般的に損傷を与えないような大きな電位差でグランドを分離することができます。その結果、回路はシンプルで設計が容易になります。シャント抵抗の問題もありません。
この技術概説は、Life Energy Motion(LEM)製のガルバニック絶縁電流トランスデューサに焦点を当てています。図1に示すLEM HO 120-Pデバイスは、差動出力を備えたホール効果センサ素子を備えています。
関連するメモとして、Arduinoの内部基準電圧を使用するように設定する方法について説明したこちらのリンクの記事をご覧ください。ArduinoのADCを改善するために使用されるこのテクニックは、この記事の前提です。また、微小電流の測定については、電流センサの開口部に複数のターンを通すことによるこちらのリンクの記事をご覧ください。このテクニックを使って、物理的にトランスデューサの開口部を20回通過するワイヤに3Aの電流を流すことにより、60Aの電流をシミュレートするLEMトランスデューサをベンチテストします。このシミュレート電流は、通常LEMトランスデューサを通過する全電流と必要なバスバーよりも卓上での管理が容易です。
技術的なヒント: LEMおよび関連センサには、この紹介記事を超える高度な機能があります。DCアプリケーションに加えて、LEMのトランスデューサは100kHzの帯域幅を持つ応答性の高いACデバイスです。そのため、モータドライブや代替エネルギーアプリケーションのような高周波高出力デバイスの電流測定に使用することができます。おそらく将来の記事で、このセンサを使って実効値電流を測定する方法を探求することができるでしょう。
図1: Arduino Nano Everyは、LEM USAのHO 120-P開ループ電流センサに接続されています。卓上DC電源を使用して60Aの電流をシミュレートするため、センサには20ターンのワイヤが巻かれています。
電流センサはArduinoにどのように接続されていますか?
LEMのセンサの物理的接続は非常にシンプルで、図1を見れば一目瞭然です。この最小限のセットアップでは、4本のワイヤが使用されています。これには電源、グランド、トランスデューサの基準電圧出力および出力信号が含まれ、出力電圧は電流に比例します。これらはArduinoのアナログ端子A7とA6に入力されます。
センサ出力と基準電圧の関係は?
図1に見られるように、ArduinoのADCはトランスデューサの出力信号と基準電圧を読み取ります。このLEMのセンサの場合、実際の電流は2つの電圧の差としてエンコードされ、delta( V_{out} – V_{ref} )となります。HO 120-Pセンサの場合、2V DCのdeltaは300Aに相当し、-2V DCのdeltaは-300Aに相当します。
トランスデューサの出力は、どのようにして人間が読み取り可能な電流に変換されるのですか?
電流を測定して表示する簡単なArduinoプログラムを以下に示します。このプログラムにはいくつか注意すべき点があります。
-
内部基準電圧4.3V DCは、ArduinoのADCのパフォーマンスを向上させるために使用されます。ArduinoのanalogReference()関数と同様に、前述の記事を参照してください。なお、4.3VはArduino Nano Everyで最も高い内部基準電圧です。マイクロコントローラの基準電圧が低いと、LEMトランスデューサのフルスケール電圧出力に対応するために分圧抵抗を使用する必要がありました。
-
浮動小数点マッピング演算は、2つのセンサ入力を人間が読み取り可能な電圧に変換します。これはトラブルシューティングの観点から有利です。
-
delta電圧も、人間が読める形で計算されます。この計算値は、信号と基準ピン間の電位差を読み取る物理的な電圧計と比較することができます。
-
7.5の乗算は、フルスケールの300Aの読み取り値と、ベンチテストに20ターンのワイヤが使われていることを考慮に入れたものです。
#define SIGNAL_PIN A7
#define REF_PIN A6
float fmap(float x, float in_min, float in_max, float out_min, float out_max) {
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
void setup() {
pinMode(SIGNAL_PIN, INPUT);
pinMode(REF_PIN, INPUT);
analogReference(INTERNAL4V3);
Serial.begin(9600);
}
void loop() {
int rawSignal = analogRead(SIGNAL_PIN);
int rawRef = analogRead(REF_PIN);
float scaledSignal = fmap(rawSignal, 0.0, 1023.0, 0.0, 4.3);
float scaledRef = fmap(rawRef, 0.0, 1023.0, 0.0, 4.3);
float delta = scaledSignal - scaledRef;
float current = delta * 7.5; // Where the maximum current of 300 A yields a delta of 2V.
// This also accounts for 20 turns of wire on the current sensor
// delta * (1/20) * (300 / 2) = delta * 7.5
Serial.println(current);
delay(1000);
}
ベンチテストの結果
ベンチテストの結果を図2に示します。この結果は、BK Precisionの1550電源(図示せず)を0Aから3Aまで上昇させた際のトランスデューサの応答を示しています。観察結果を以下に示します。
-
測定ノイズが若干あります。このDCアプリケーションでは、少量のデジタルフィルタリングを加えるのが望ましいかもしれません。
-
グラフは小さな残留磁束または磁気オフセットがあることを示しています。相対的に見ると、これはデバイスの全定格電流のごく一部です。この残留磁束はグラフの先頭で最も顕著に現れます。ここでは、電源がオフになっているにもかかわらず、表示電流がゼロではないことがわかります。HO 120-Pのようなオープンループホールセンサ固有の残留電流については、技術的なヒントをご参照ください。オフセットの量は、コードの以前の磁化に依存します。逆方向の電流インパルスでオフセットを減少できることに留意してください。
-
図には示されてませんが、センサと関連プログラムは逆方向に流れる電流も測定できます。このため、このセンサは充電と放電の両方の電流を測定するバッテリ充電回路に適しています。
-
いつものように、ADCにもっと注意を払えば性能は向上するでしょう。これには、12ビットまたは14ビットのADCだけでなく、外部基準電圧も含まれます。既知の電圧標準による校正も大いに期待できるでしょう。
図2: 0から3Aまでの電流増加に対するArduinoの電流測定結果を示します。トランスデューサの開口部に20回ワイヤを巻き付けると、60Aの電流がシミュレートされます。ゼロ電流がわずかな正のオフセットとして表示される最初の15サンプルで、わずかな残留電流が確認できます。
電流がゼロの時にホールセンサトランスデューサにオフセットが表示されるのはなぜですか?
LEMのようなセンサは、DC信号とAC信号の両方を測定するように設計されています。このため、データシートの仕様を解釈する際に混乱が生じることがあります。課題は、ACとDC(最大)の仕様を区別することです。例えば、HO 120-PはRMS電流120AのAC電流を測定するように設計されています。電子工学の基礎から、120AのRMS信号は170Aのピーク値を持つことが分かっています。十分な安全マージンを考慮すると、トランスデューサの定格は±300 A となります。
一般的に、残留磁束(磁気オフセット)を引き起こす極端な電流は避けたいところです。これは物理学の望ましくない性質です。大電流では、コアが飽和に近づき、過去の磁場を記憶する傾向があるため、磁気ヒステリシスが問題となります。これは、読み取り値の半永久的なオフセットとして現れます。電流を逆流させるとオフセットがなくなるか、または逆極性のオフセットが追加される傾向があります。高感度アプリケーションでは、高度なクローズドループセンサを使用することが望ましい場合があります。いずれにせよ、電流を制限することが望ましいです。結果として大きい過渡電流を伴う短絡が発生した場合、残留磁束を除去することによって残留磁化を減少させる手動または自動の手順が必要になる場合があることに注意してください。極端な状況では、トランスジューサの開口部に消磁コイルを巻くことが有効かもしれません。減衰された正弦波は磁気ヒステリシスを除去します。
詳しくはLEM white paperをご覧ください。
まとめ
この記事で紹介したHO 120-Pのような絶縁型トランスデューサは、マイクロコントローラのプロジェクトに組み込むのが非常に簡単です。このクラスのセンサを使えば、数百アンペアまでの電流を簡単に測定できます。この記事で示したように、センサをACに使用した場合のような残留磁束(測定オフセットをもたらす磁気ヒステリシス)の自己リセットがないため、特にDC回路では飽和を避けるためにセンサにいくつかの予防措置を払う必要があります。
ご意見、ご提案は下記までお寄せください。サクセスストーリーの説明や写真は特に歓迎します。
ご健闘をお祈りします。
APDahlen
著者について
Aaron Dahlen 氏、LCDR USCG(退役)は、DigiKeyでアプリケーションエンジニアを務めています。彼は、技術者およびエンジニアとしての27年間の軍役を通じて構築されたユニークなエレクトロニクスおよびオートメーションのベースを持っており、これは12年間教壇に立ったことによってさらに強化されました(経験と知識の融合)。ミネソタ州立大学Mankato校でMSEEの学位を取得したDahlen氏は、ABET認定EEプログラムで教鞭をとり、EETプログラムのプログラムコーディネーターを務め、軍の電子技術者にコンポーネントレベルの修理を教えてきました。彼はミネソタ州北部の自宅に戻り、このような記事のリサーチや執筆を楽しんでいます。LinkedIn | Aaron Dahlen - Application Engineer - DigiKey