Logo ja.amen-technologies.com
  • オーディオ
  • エレクトロニクス
  • 埋め込み
  • ニュース
  • 力
  • ラズベリーパイ
  • オーディオ
  • エレクトロニクス
  • 埋め込み
Logo ja.amen-technologies.com
家 力
 変流器とarduinoを使用したAC電流測定
力

変流器とarduinoを使用したAC電流測定

2025
  • 変流器
  • 変流器はどのように機能しますか?
  • 変流器の構造
  • 変流器比
  • 変流器エラー
  • 変流器のエラーを減らす方法は?
  • 変流器の巻数比の逆算
  • 負荷抵抗
  • 負担抵抗器
  • 適切な負担抵抗器のサイズの計算
  • 必要なコンポーネント
  • 回路図
  • 電流測定回路構成
  • 電流測定用のArduinoコード
  • 回路のテスト
  • さらなる機能強化
Anonim

変流器は、二次巻線の交流を変換するために特別に設計された計器用変成器の一種であり、生成される電流の量は一次巻線の電流に正比例します。このタイプの変流器は、高電圧サブシステムからの電流、またはシステムに大量の電流が流れている場所を目に見えない形で測定するように設計されています。変流器の仕事は、大量の電流を少量の電流に変換することです。これは、マイクロコントローラーまたはアナログメーターで簡単に測定できます。以前、さまざまなタイプの電流検出技術の記事で、変流器を使用した電流測定について説明しました。

ここでは、この電流検出技術を詳細に学び、Arduinoを使用してAC電流を測定するために変流器を配線します。また、未知の変流器の 巻数比 を決定する方法も学びます。

変流器

先に述べたように、変流器は電流を測定するために設計された変圧器です。私が現在持っている2つの変圧器を示す上記は、ウィンドウ型変流器または一般にコアバランス変圧器として知られています。

変流器はどのように機能しますか?

変流器の基本原理は変圧器と同じであり、変流器と同様に、変流器も一次巻線と二次巻線で構成されています。変圧器の一次巻線に交流電流が流れると、交流磁束が発生し、この時点で二次巻線に交流電流が誘導されます。これが違いだと考えれば、変圧器とほぼ同じと言えます。 。

一般に、変流器は負荷抵抗の助けを借りて常に短絡状態にあり、また、二次巻線に流れる電流は、導体に流れる一次電流にのみ依存します。

変流器の構造

理解を深めるために、上の画像に表示されている変流器の1つを分解しました。

画像では、トロイダルコア材料に非常に細いワイヤが巻かれ、トランスから一連のワイヤが出ていることがわかります。一次巻線は、負荷と直列に接続され、負荷を流れるバルク電流を運ぶ単一のワイヤのみです。

変流器比

変流器の窓の内側にワイヤーを配置することにより、単一のループを形成することができ、巻数比は1:Nになります。

他の変圧器と同様に、変流器は以下に示すアンペア巻数比の式を満たす必要があります。

TR = Np / Ns = Ip / Is

どこ、

TR =トランスレシオ

Np =一次ターン数

Ns =二次ターン数

Ip =一次巻線の電流

Is =二次巻線の電流

二次電流を見つけるには、方程式を次のように並べ替えます。

Is = Ip x(Np / NS)

上の画像でわかるように、トランスの一次巻線は1つの巻線で構成され、トランスの二次巻線は数千の巻線で構成されます。一次巻線に100Aの電流が流れていると仮定すると、二次電流は5Aになります。 。したがって、一次と二次の比率は100Aから5Aまたは20:1になります。したがって、一次電流は二次電流の20倍であると言えます。

注意!現在の比率は巻数比率と同じではないことに注意してください。

これですべての基本的な理論が邪魔にならないので、手元の変流器の巻数比の計算に焦点を戻すことができます。

変流器エラー

すべての回路にはいくつかのエラーがあります。変流器も例外ではありません。変流器にはさまざまなエラーがあります。そのうちのいくつかを以下に説明します

変流器の比率誤差

変流器の一次電流は、二次電流に巻数比を掛けたものと正確には等しくありません。電流の一部は、トランスのコアによって消費され、励起状態になります。

変流器の位相角誤差

理想的なCTの場合、一次および二次電流ベクトルはゼロです。しかし、実際の変流器では、一次側がコアに励起電流を供給しなければならず、わずかな位相差があるため、常に差があります。

変流器のエラーを減らす方法は?

パフォーマンスを向上させるには、システムのエラーを減らすことが常に必要です。したがって、以下の手順で、それを達成できます

  1. 透磁率の高いコアとヒステリシスの低い磁性体を使用。
  2. 負荷抵抗値は、計算値に非常に近くなければなりません。
  3. 二次側の内部インピーダンスを下げることができます。

変流器の巻数比の逆算

テストセットアップは、巻数比を計算するために使用した上の画像に示されています。

先ほど申し上げましたように、私が所有している変流器(CT)は、壊れた家庭用電気メーターから回収したからといって、仕様や部品番号がありません。したがって、この時点で、負荷抵抗の値を適切に設定するために巻数比を知る必要があります。そうしないと、システムにさまざまな問題が発生します。これについては、この記事の後半で詳しく説明します。

オームの法則の助けを借りて、巻数比を簡単に理解することができますが、その前に、回路の負荷として機能している大きな10W、1Kの抵抗を測定する必要があります。また、任意の負荷抵抗を取得する必要があります。巻数比を計算します。

負荷抵抗

負担抵抗器

テスト中のすべてのコンポーネント値の要約

入力電圧Vin = 31.78 V

負荷抵抗RL =1.0313KΩ

負荷抵抗RB =678.4Ω

出力電圧Vout = 8.249mVまたは0.008249V

負荷抵抗を流れる電流は

I = Vin / RL I = 31.78 / 1.0313 = 0.03080Aまたは30.80mA

これで、0.03080Aまたは30.80mAの入力電流がわかりました。

出力電流を調べてみましょう

I = Vout / RB I = 0.008249 / 678.4 = 0.00001215949Aまたは12.1594uA

ここで、巻数比を計算するには、一次電流を二次電流で除算する必要があります。

巻数比n =一次電流/二次電流 n = 0.03080 / 0.0000121594 = 2,533.1972

したがって、変流器は2500ターンで構成されます(四捨五入値)

注意!エラーは主に、私の絶えず変化する入力電圧とマルチメータの許容誤差が原因であることに注意してください。

適切な負担抵抗器のサイズの計算

ここで使用するCTは電流出力タイプです。したがって、電流を測定するには、電圧タイプに変換する必要があります。この記事は、openenergymonitor Webサイトにあり、それをどのように行うことができるかについての素晴らしいアイデアを提供しているので、この記事をフォローします。

負荷抵抗(オーム)=(AREF * CTターン)/(2√2*最大一次電流)

どこ、

AREF = 4.096Vに設定されたADS1115モジュールのアナログ基準電圧。

CT TURNS =以前に計算した2次ターンの数。

最大一次電流= CTを流れる最大一次電流。

注意!すべてのCTには、その定格を超える最大電流定格があり、コアの飽和につながり、最終的には直線性エラーにつながり、測定エラーにつながります。

注意!家庭用電力量計の最大定格電流は30Aなので、その値を使用します。

負荷抵抗(オーム)=(4.096 * 2500)/(2√2* 30)=120.6Ω

120.6Ωは一般的な値ではないため、3つの抵抗を直列に使用して120Ωの抵抗値を取得します。抵抗をCTに接続した後、CTからの最大出力電圧を計算するためにいくつかのテストを行いました。

テスト後、変流器の一次側に1mAの電流を流した場合、出力は0.0488mVRMSであることが観察されます。これにより、CTに30Aの電流が流れると、出力電圧は30000 * 0.0488 = 1.465Vになると計算できます。

今、行われた計算で、私が設定したADCの ゲインを1倍のゲインである+/- 4.096V、私たち0.125mVフルスケールの分解能を提供します。これで、この設定で測定できる最小電流を計算できるようになります。ADCの分解能が0.125mVに設定されているため、これは3mAであることが判明しました。

必要なコンポーネント

テーブルなしですべてのコンポーネントを書き込む

Sl.No

部品

タイプ

量

1

CT

ウィンドウタイプ

1

2

Arduino Nano

ジェネリック

1

3

AD736

IC

1

4

ADS1115

16ビットADC

1

5

LMC7660

IC

1

6

120Ω、1%

抵抗器

1

7

10uF

コンデンサ

2

8

33uF

コンデンサ

1

9

ブレッドボード

ジェネリック

1

10

ジャンパー線

ジェネリック

10

回路図

以下の回路図は、変流器を使用した電流測定の接続ガイドを示しています。

これは、回路がブレッドボード上でどのように見えるかです。

電流測定回路構成

前のチュートリアルでは、AD736 ICを使用して真のRMS電圧を正確に測定する方法と、入力正電圧から負電圧を生成するスイッチドコンデンサ電圧コンバータ回路を構成する方法を示しました。このチュートリアルでは、これらのチュートリアルの両方のIC。

このデモンストレーションでは、回路図を使用して、無はんだブレッドボード上に回路を構築します。また、DC電圧は、精度を高めるために16ビットADCを使用して測定されます。また、寄生を減らすためにブレッドボードで回路を示しているので、できるだけ多くのジャンパーケーブルを使用しました。

電流測定用のArduinoコード

ここでは、Arduinoを使用して測定値をシリアルモニターウィンドウに表示します。しかし、コードを少し変更するだけで、16x2LCDに値を非常に簡単に表示できます。16x2LCDとArduinoのインターフェースについてはこちらをご覧ください。

変流器の完全なコードは、このセクションの最後にあります。ここでは、プログラムの重要な部分について説明します。

まず、必要なすべてのライブラリファイルを含めます。WireライブラリはArduinoとADS1115モジュール間の通信に使用され、Adafruit_ADS1015ライブラリはデータの読み取りとモジュールへの命令の書き込みに役立ちます。

#include #include

次に、ADC値から現在の値を計算するために使用される MULTIPLICATION_FACTOR を定義します。

#define MULTIPLICATION_FACTOR 0.002734 / *実際の現在の値を計算するための係数* / Adafruit_ADS1115 ads; / * 16ビットバージョンのADS1115にこれを使用します* /

16ビットADCは16ビット長整数を出力するため、 int16_t 変数が使用されます。他の3つの変数が使用されます。1つはADCのRAW値を格納するため、1つはADCピンの実際の電圧を表示するため、もう1つはこの電圧値を現在の値に表示するためです。

int16_t adc1_raw_value; / *生のADC値を格納する変数* / float Measurement_voltae; / *測定された電圧を保存する変数* /フロート電流; / *計算された電流を格納する変数* /

9600ボーでシリアル出力を有効にして、コードのセットアップセクションを開始します。次に、設定されているADCのゲインを出力します。これは、定義された値を超える電圧が確実にデバイスに損傷を与える可能性があるためです。

次に、ads.setGain(GAIN_ONE);を使用してADCゲインを設定します。 1ビットの分解能を0.125mVに設定する方法

その後、ADC begin メソッドが呼び出され、ハードウェアモジュールと統計情報の変換ですべてが設定されます。

void setup(void){Serial.begin(9600); Serial.println( "AIN0..3からシングルエンドの読み取り値を取得する"); //いくつかのデバッグ情報Serial.println( "ADC範囲:+/- 4.096V(1ビット= 2mV / ADS1015、0.125mV / ADS1115)"); // ADC入力範囲(またはゲイン)は次の関数で変更できますが、// VDD + 0.3V maxを超えないように、または//入力範囲を調整する場合は上限と下限を超えないように注意してください。 //これらの値を誤って設定すると、ADCが破壊される可能性があります。 // ADS1015 ADS1115 // ------- ------- // ads.setGain(GAIN_TWOTHIRDS); // 2 / 3xゲイン+/- 6.144V1ビット= 3mV 0.1875mV(デフォルト)ads.setGain(GAIN_ONE); // 1xゲイン+/- 4.096V1ビット= 2mV 0.125mV //ads.setGain(GAIN_TWO); // 2xゲイン+/- 2.048V1ビット= 1mV 0.0625mV // ads.setGain(GAIN_FOUR); // 4xゲイン+/- 1.024V1ビット= 0.5mV 0.03125mV // ads.setGain(GAIN_EIGHT);// 8xゲイン+/- 0.512V1ビット= 0.25mV 0.015625mV // ads.setGain(GAIN_SIXTEEN); // 16xゲイン+/- 0.256V1ビット= 0.125mV 0.0078125mV ads.begin(); }

内 ループ 部分、私は生のADC値を読み取り、後で使用するために前述した変数に格納します。次に、生のADC値を測定用の電圧値に変換し、現在の値を計算して、シリアルモニターウィンドウに表示します。

void loop(void){adc1_raw_value = ads.readADC_SingleEnded(1); Measurement_voltae = adc1_raw_value *(4.096 / 32768); current = adc1_raw_value * MULTIPLICATION_FACTOR; Serial.print( "ADC値:"); Serial.println(adc1_raw_value); Serial.print( "測定電圧:"); Serial.println(measured_voltae); Serial.println( "V"); Serial.print( "計算された電流:"); Serial.print(val、5); Serial.println( "A"); Serial.println( ""); delay(500); }

注意!ADS1115モジュールのライブラリがない場合は、ArduinoIDEにライブラリを含める必要があります。ライブラリはこのGitHubリポジトリにあります。

完全なArduinoコードを以下に示します。

#include #include #define MULTIPLICATION_FACTOR 0.002734 / *実際の現在値を計算する係数* / #define ADC_MAX_VALUE 32768 / * ADCが生成する最大値* /#define ADC_GAIN 4.096 Adafruit_ADS1115 ads; / * 16ビットバージョンのADS1115にこれを使用します* / int16_t adc1_raw_value; / *生のADC値を格納する変数* / float Measurement_voltae; / *測定された電圧を保存する変数* /フロート電流; / *計算された電流を格納する変数* / void setup(void){Serial.begin(9600); Serial.println( "AIN0..3からシングルエンドの読み取り値を取得する"); //いくつかのデバッグ情報Serial.println( "ADC範囲:+/- 4.096V(1ビット= 2mV / ADS1015、0.125mV / ADS1115)"); // ADC入力範囲(またはゲイン)は//次の関数で変更できますが、VDD + 0.3Vmaxを超えないように注意してください。または//入力範囲を調整すると、上限と下限を超えます! //これらの値を誤って設定すると、ADCが破壊される可能性があります。 // ADS1015 ADS1115 // ------- ------- // ads.setGain(GAIN_TWOTHIRDS); // 2 / 3xゲイン+/- 6.144V1ビット= 3mV 0.1875mV(デフォルト)ads.setGain(GAIN_ONE); // 1xゲイン+/- 4.096V1ビット= 2mV 0.125mV //ads.setGain(GAIN_TWO); // 2xゲイン+/- 2.048V1ビット= 1mV 0.0625mV // ads.setGain(GAIN_FOUR); // 4xゲイン+/- 1.024V1ビット= 0.5mV 0.03125mV // ads.setGain(GAIN_EIGHT); // 8xゲイン+/- 0.512V1ビット= 0.25mV 0.015625mV // ads.setGain(GAIN_SIXTEEN); // 16xゲイン+/- 0.256V1ビット= 0.125mV 0.0078125mV ads.begin(); } void loop(void){adc1_raw_value = ads.readADC_SingleEnded(1); Measuremented_voltae = adc1_raw_value *(ADC_GAIN / ADC_MAX_VALUE); current = adc1_raw_value * MULTIPLICATION_FACTOR; Serial.print( "ADC値:");シリアル。println(adc1_raw_value); Serial.print( "測定電圧:"); Serial.print(measured_voltae); Serial.println( "V"); Serial.print( "計算された電流:"); Serial.print(current、5); Serial.println( "A"); Serial.println( ""); delay(500); }

回路のテスト

回路のテストに使用されるツール

  1. 260W白熱電球
  2. Meco 450B + TRMSマルチメータ

回路をテストするために、上記のセットアップが使用されました。電流はCTからマルチメータに流れ、その後メインの電力線に戻ります。

このセットアップでFTDIボードが何をしているのか疑問に思っている場合は、オンボードのUSBからシリアルへのコンバーターが機能していなかったため、USBからシリアルへのコンバーターとしてFTDIコンバーターを使用する必要がありました。

さらなる機能強化

ビデオ(以下に示す)で見たいくつかのmAエラーは、ブレッドボードで回路を作成したためであるため、多くの地上の問題がありました。

この記事が気に入って、そこから何か新しいことを学んだことを願っています。疑問がある場合は、以下のコメントで質問するか、フォーラムを使用して詳細なディスカッションを行うことができます。

力

エディタの選択

4x4キーパッドを使用したArduino計算機

2025

アンチ

2025

Arduinoリレー制御チュートリアル

2025

Arduinoカウントダウンタイマー

2025

Rgbはarduinoでリード

2025

Arduino割り込みチュートリアル

2025

エディタの選択

  • ゲーム開発およびar / vrアプリケーション用のウェアラブル脳センシング開発キット

    2025
  • 光ファイバ通信の仕組みと高速通信で使用される理由

    2025
  • 電磁干渉(emi)–タイプ、規格、およびシールド技術

    2025
  • 電圧レギュレータを選択する際に考慮すべき重要なパラメータ

    2025
  • すべてのドローン愛好家が最初の飛行の前に知っておくべき重要なドローン規制

    2025

エディタの選択

  • リング

    2025
  • コンパクトで低電力のソリッドを構築する

    2025
  • arduinoを使用したコイン選別機

    2025
  • 録音と再生を備えたArduinoベースのピアノ

    2025
  • マイクとarduinoを使用してdbのサウンド/ノイズレベルを測定します

    2025

エディタの選択

  • オーディオ
  • エレクトロニクス
  • 埋め込み
  • ニュース
  • 力
  • ラズベリーパイ

エディタの選択

  • ビデオストリーミングと顔認識にesp32カメラモジュールを使用する方法

    2025
  • atmega32マイクロコントローラーで点滅するLED

    2025
  • ds3231モジュールを使用したEsp32リアルタイムクロック

    2025

エディタの選択

  • Jagatheeswaran senthilvelanイノベーションおよびテクノロジーの責任者は、インダストリー4.0およびその他のIoTアプリケーション向けのソリューションを開発する方法を共有しています

    2025
  • arduinoを使用した加速度計ベースのハンドジェスチャー制御ロボット

    2025
  • シニアフリップ

    2025

エディタの選択

  • cosmic cコンパイラを使用したstm8sのadc–複数のadc値の読み取りとlcdへの表示

    2025
  • Arduinoステッピングモーターチュートリアル

    2025
  • ssd1306oledディスプレイとarduinoのインターフェース

    2025
Logo ja.amen-technologies.com

© Copyright ja.amen-technologies.com, 2025 五月 | サイトについて | 連絡先 | プライバシーポリシー.