電流互感器是一種專(zhuān)門(mén)設(shè)計(jì)用于在其次級(jí)繞組中變換交流電的互感器,其產(chǎn)生的電流量與初級(jí)繞組中的電流成正比。這種類(lèi)型的電流互感器旨在以不可見(jiàn)的方式測(cè)量來(lái)自高壓子系統(tǒng)或大量電流流經(jīng)系統(tǒng)的電流。電流互感器的工作是將大量電流轉(zhuǎn)換為可通過(guò)微控制器或模擬儀表輕松測(cè)量的較低電流量。在這里,我們將詳細(xì)學(xué)習(xí)這種電流傳感技術(shù),并在Arduino的幫助下連接一個(gè)電流互感器來(lái)測(cè)量交流電流。
電流互感器
正如我之前提到的,電流互感器是一種用于測(cè)量電流的變壓器。上面顯示的我目前擁有的兩個(gè)變壓器稱(chēng)為窗式電流互感器或俗稱(chēng)的鐵心平衡變壓器r。
電流互感器如何工作?
電流互感器的基本原理與電壓互感器相同,與電壓互感器一樣,電流互感器也由初級(jí)繞組和次級(jí)繞組組成。當(dāng)交流電流通過(guò)變壓器的初級(jí)繞組時(shí),會(huì)產(chǎn)生交變磁通量,此時(shí)會(huì)在次級(jí)繞組中感應(yīng)出交流電,如果您認(rèn)為這就是區(qū)別,您可以說(shuō)它與電壓互感器幾乎相同。
通常,電流互感器在負(fù)載電阻的幫助下始終處于短路狀態(tài), 而且流過(guò)次級(jí)繞組的電流僅取決于流過(guò)導(dǎo)體的初級(jí)電流。
電流互感器結(jié)構(gòu)
為了讓您更好地理解,我已經(jīng)拆除了我的一個(gè)電流互感器,您可以在上圖中看到。
從圖中可以看出,一根很細(xì)的電線(xiàn)纏繞在一個(gè)環(huán)形鐵芯材料上,一組電線(xiàn)從變壓器中出來(lái)。初級(jí)繞組只是與負(fù)載串聯(lián)連接并承載流過(guò)負(fù)載的大電流的單根導(dǎo)線(xiàn)。
電流互感器比率
通過(guò)在電流互感器的窗口內(nèi)放置一根導(dǎo)線(xiàn),我們可以形成一個(gè)單回路,匝數(shù)比變?yōu)?1:N。
與任何其他變壓器一樣,電流互感器必須滿(mǎn)足如下所示的安匝比方程。
TR = Np / Ns = Is / Ip
在哪里,
TR =傳輸比率
Np = 初級(jí)匝數(shù)
Ns = 次級(jí)匝數(shù)
Ip = 初級(jí)繞組中的電流
Is = 次級(jí)繞組中的電流
要找到次級(jí)電流,請(qǐng)將等式重新排列為
是 = Ip x (Np/NS)
如上圖所示,變壓器的初級(jí)繞組由一個(gè)繞組組成,變壓器的次級(jí)繞組由數(shù)千個(gè)繞組組成。如果我們假設(shè)100A的電流流過(guò)初級(jí)繞組,則次級(jí)電流將為5A 。 因此,初級(jí)與次級(jí)之間的比率變?yōu)?100A 到 5A 或 20:1。因此,可以說(shuō)初級(jí)電流是次級(jí)電流的20倍。
筆記!請(qǐng)注意,電流比與匝數(shù)比不同。
現(xiàn)在所有的基本理論都結(jié)束了,我們可以將注意力轉(zhuǎn)移到計(jì)算手頭電流互感器的匝數(shù)比上。
電流互感器錯(cuò)誤
每個(gè)電路都有一些錯(cuò)誤。電流互感器也不例外。電流互感器存在各種錯(cuò)誤。其中一些描述如下
電流互感器的比率誤差
電流互感器的初級(jí)電流并不完全等于次級(jí)電流乘以匝數(shù)比。一部分電流被變壓器的鐵芯消耗以使其進(jìn)入勵(lì)磁狀態(tài)。
電流互感器的相角誤差
對(duì)于理想的 CT,初級(jí)和次級(jí)電流矢量為零。但在實(shí)際的電流互感器中,總會(huì)存在差異,因?yàn)槌跫?jí)必須向磁芯提供勵(lì)磁電流,并且會(huì)有很小的相位差。
如何減少電流互感器的誤差?
始終有必要減少系統(tǒng)中的錯(cuò)誤以實(shí)現(xiàn)更好的性能。因此,通過(guò)以下步驟,可以實(shí)現(xiàn)
使用具有高磁導(dǎo)率的磁芯和低磁滯磁性材料。
負(fù)載電阻值必須非常接近計(jì)算值。
可以降低次級(jí)的內(nèi)部阻抗。
反向計(jì)算電流互感器的匝數(shù)比?
上圖顯示了測(cè)試設(shè)置,我用它來(lái)計(jì)算匝數(shù)比。
正如我之前提到的,我擁有的電流互感器 (CT) 沒(méi)有任何規(guī)格或部件號(hào),只是因?yàn)槲沂菑膿p壞的家用電表中搶救出來(lái)的。所以,此時(shí),我們需要知道匝數(shù)比才能正確設(shè)置Burden Resistor的值,否則系統(tǒng)會(huì)引入各種問(wèn)題,我將在本文后面詳細(xì)討論。
在歐姆定律的幫助下,匝數(shù)比可以很容易地計(jì)算出來(lái),但在此之前,我需要測(cè)量作為電路負(fù)載的 10W、1K 大電阻,我還需要得到一個(gè)任意的負(fù)載電阻找出匝數(shù)比。
負(fù)載電阻
負(fù)擔(dān)電阻
測(cè)試期間所有組件值的匯總
輸入電壓Vin = 31.78 V
負(fù)載電阻RL = 1.0313 KΩ
負(fù)載電阻RB = 678.4 Ω
輸出電壓Vout = 8.249 mV 或 0.008249 V
流過(guò)負(fù)載電阻的電流為
I = Vin / RL
I = 31.78 / 1.0313 = 0.03080A 或 30.80 mA
所以現(xiàn)在我們知道輸入電流,即0.03080A 或 30.80 mA
讓我們找出輸出電流
I = Vout / RB
I = 0.008249 / 678.4 = 0.00001215949A 或 12.1594 uA
現(xiàn)在,要計(jì)算匝數(shù)比,我們需要將初級(jí)電流除以次級(jí)電流。
匝數(shù)比 n = 初級(jí)電流 / 次級(jí)電流
n = 0.03080 / 0.0000121594 = 2,533.1972
所以電流互感器由2500 匝組成(四舍五入值)
筆記!請(qǐng)注意,錯(cuò)誤主要是由于我不斷變化的輸入電壓和萬(wàn)用表容差造成的。
計(jì)算合適的負(fù)載電阻器尺寸
此處使用的 CT 為電流輸出型。所以要測(cè)量電流,需要轉(zhuǎn)換成電壓類(lèi)型。這篇文章,在openenergymonitor網(wǎng)站上,對(duì)我們?nèi)绾巫龅竭@一點(diǎn)提供了一個(gè)很好的想法,所以我將關(guān)注這篇文章
負(fù)載電阻 (ohms) = (AREF * CT TURNS) / (2√2 * 最大初級(jí)電流)
在哪里,
AREF = ADS1115 模塊的模擬參考電壓,設(shè)置為 4.096V。
CT TURNS = 我們之前計(jì)算的次級(jí)匝數(shù)。
最大初級(jí)電流 = 將流過(guò) CT 的最大初級(jí)電流。
筆記!每個(gè) CT 的最大額定電流超過(guò)該額定值將導(dǎo)致磁芯飽和并最終導(dǎo)致線(xiàn)性誤差,從而導(dǎo)致測(cè)量誤差
筆記!家用電能表的最大額定電流是 30A,所以我選擇這個(gè)值。
負(fù)載電阻 (ohms) = (4.096 * 2500) / (2√2 * 30) = 120.6 Ω
120.6Ω 不是一個(gè)常見(jiàn)的值,這就是為什么我要使用三個(gè)串聯(lián)電阻來(lái)獲得 120Ω 的電阻值。將電阻連接到 CT 后,我做了一些測(cè)試來(lái)計(jì)算 CT 的最大輸出電壓。
測(cè)試后觀察到,如果1mA電流通過(guò)電流互感器的初級(jí),輸出為0.0488mV RMS。有了這個(gè),我們可以計(jì)算如果 30A 電流流過(guò) CT,輸出電壓將為30000 * 0.0488 = 1.465V。
現(xiàn)在,計(jì)算完成后,我將ADC 增益設(shè)置為1x 增益,即+/- 4.096V,這為我們提供了 0.125mV 的滿(mǎn)量程分辨率。這樣,我們將能夠計(jì)算出可以使用此設(shè)置測(cè)量的最小電流。結(jié)果是3mA,因?yàn)?ADC 分辨率設(shè)置為 0.125mV。
所需組件
寫(xiě)所有沒(méi)有表格的組件
電路原理圖
下面的示意圖顯示了使用電流互感器進(jìn)行電流測(cè)量的連接指南
這就是電路在面包板上的外觀。
電流測(cè)量電路結(jié)構(gòu)
在之前的教程中,我向您展示了如何借助 AD736 IC 準(zhǔn)確測(cè)量真有效值電壓,以及如何配置開(kāi)關(guān)電容電壓轉(zhuǎn)換器電路,該電路從輸入正電壓產(chǎn)生負(fù)電壓,在本教程中,我們使用這些教程中的兩個(gè) IC。
在此演示中,電路在原理圖的幫助下構(gòu)建在無(wú)焊面包板上;此外,直流電壓是在 16 位 ADC 的幫助下測(cè)量的,以獲得更好的精度。當(dāng)我在面包板上演示電路以減少寄生時(shí),我使用了盡可能多的跨接電纜。
用于電流測(cè)量的 Arduino 代碼
這里 Arduino 用于將測(cè)量值顯示到串行監(jiān)視器窗口。但是只要對(duì)代碼稍加修改,就可以很容易地在 16x2 LCD 上顯示這些值。在此處了解16x2 LCD 與 Arduino 的接口。
電流互感器的完整代碼可在本節(jié)末尾找到。這里解釋了程序的重要部分。
我們首先包含所有必需的庫(kù)文件。Wire 庫(kù)用于 Arduino 和 ADS1115 模塊之間的通信,Adafruit_ADS1015庫(kù)幫助我們讀取數(shù)據(jù)并將指令寫(xiě)入模塊。
?
#include#include
?
接下來(lái),定義用于從 ADC 值計(jì)算當(dāng)前值的MULTIPLICATION_FACTOR 。
?
#define MULTIPLICATION_FACTOR 0.002734 /* 計(jì)算實(shí)際電流值的因子 */ Adafruit_ADS1115 廣告;/* 將此用于 16 位版本的 ADS1115 */
?
16 位 ADC 輸出 16 位長(zhǎng)整數(shù),因此使用int16_t變量。使用了其他三個(gè)變量,一個(gè)用于存儲(chǔ) ADC 的 RAW 值,一個(gè)用于顯示 ADC 引腳中的實(shí)際電壓,最后一個(gè)用于將該電壓值顯示為當(dāng)前值。
?
int16_t adc1_raw_value; /* 存儲(chǔ)原始 ADC 值的變量*/ 浮動(dòng)測(cè)量電壓;/* 存儲(chǔ)測(cè)量電壓的變量*/ 浮動(dòng)電流;/* 存儲(chǔ)計(jì)算電流的變量*/
?
通過(guò)啟用 9600 波特的串行輸出來(lái)開(kāi)始代碼的設(shè)置部分。然后打印設(shè)置的ADC的增益;這是因?yàn)槌^(guò)定義值的電壓肯定會(huì)損壞設(shè)備。
現(xiàn)在使用ads.setGain(GAIN_ONE);設(shè)置 ADC 增益;?將 1 位分辨率設(shè)置為??0.125mV的方法
之后,調(diào)用 ADC開(kāi)始方法,該方法設(shè)置硬件模塊中的所有內(nèi)容并進(jìn)行統(tǒng)計(jì)轉(zhuǎn)換。
?
無(wú)效設(shè)置(無(wú)效) { 序列號(hào).開(kāi)始(9600); Serial.println("從 AIN0..3 獲取單端讀數(shù)"); //一些調(diào)試信息 Serial.println("ADC 范圍:+/- 4.096V (1 bit = 2mV/ADS1015, 0.125mV/ADS1115)"); // ADC輸入范圍(或增益)可以通過(guò)以下方式改變 // 功能,但注意不要超過(guò) VDD +0.3V 最大值,或 // 如果調(diào)整輸入范圍,則超出上限和下限! // 錯(cuò)誤地設(shè)置這些值可能會(huì)破壞您的 ADC! // ADS1015 ADS1115 // ------- ------- // ads.setGain(GAIN_TWOTHIRDS); // 2/3x 增益 +/- 6.144V 1 位 = 3mV 0.1875mV(默認(rèn)) ads.setGain(GAIN_ONE); // 1x 增益 +/- 4.096V 1 位 = 2mV 0.125mV //ads.setGain(GAIN_TWO); // 2x 增益 +/- 2.048V 1 位 = 1mV 0.0625mV // ads.setGain(GAIN_FOUR); // 4x 增益 +/- 1.024V 1 位 = 0.5mV 0.03125mV // ads.setGain(GAIN_EIGHT); // 8x 增益 +/- 0.512V 1 位 = 0.25mV 0.015625mV // ads.setGain(GAIN_SIXTEEN); // 16x 增益 +/- 0.256V 1 位 = 0.125mV 0.0078125mV ads.begin(); }
?
在循環(huán)部分,我讀取原始 ADC 值并將其存儲(chǔ)到前面提到的變量中以供以后使用。然后將原始 ADC 值轉(zhuǎn)換為電壓值進(jìn)行測(cè)量并計(jì)算電流值并顯示到串行監(jiān)視器窗口。
?
無(wú)效循環(huán)(無(wú)效) { adc1_raw_value = ads.readADC_SingleEnded(1); 測(cè)量電壓 = adc1_raw_value * (4.096 / 32768); 當(dāng)前 = adc1_raw_value * MULTIPLICATION_FACTOR; Serial.print("ADC 值:"); Serial.println(adc1_raw_value); Serial.print("測(cè)量電壓:"); Serial.println(measured_voltae);Serial.println("V"); Serial.print("計(jì)算電流:"); 序列號(hào).print(val,5); Serial.println("A"); 序列號(hào).println(" "); 延遲(500); }
?
筆記!如果您沒(méi)有 ADS1115 模塊的庫(kù),則需要在 Arduino IDE 中包含該庫(kù),您可以在此GitHub 存儲(chǔ)庫(kù)中找到該庫(kù)。
完整的Arduino代碼如下:
?
#include#include #define MULTIPLICATION_FACTOR 0.002734 /* 計(jì)算實(shí)際電流值的因子 */ #define ADC_MAX_VALUE 32768 /* ADC 產(chǎn)生的最大值*/ #define ADC_GAIN 4.096 Adafruit_ADS1115 廣告;/* 將此用于 16 位版本的 ADS1115 */ int16_t adc1_raw_value; /* 存儲(chǔ)原始 ADC 值的變量*/ 浮動(dòng)測(cè)量電壓;/* 存儲(chǔ)測(cè)量電壓的變量*/ 浮動(dòng)電流;/* 存儲(chǔ)計(jì)算電流的變量*/ 無(wú)效設(shè)置(無(wú)效) { 序列號(hào).開(kāi)始(9600); Serial.println("從 AIN0..3 獲取單端讀數(shù)"); //一些調(diào)試信息 Serial.println("ADC 范圍:+/- 4.096V (1 bit = 2mV/ADS1015, 0.125mV/ADS1115)"); // ADC輸入范圍(或增益)可以通過(guò)以下方式改變 // 功能,但注意不要超過(guò) VDD +0.3V 最大值,或 // 如果調(diào)整輸入范圍,則超出上限和下限! // 錯(cuò)誤地設(shè)置這些值可能會(huì)破壞您的 ADC! // ADS1015 ADS1115 // ------- ------- // ads.setGain(GAIN_TWOTHIRDS); // 2/3x 增益 +/- 6.144V 1 位 = 3mV 0.1875mV(默認(rèn)) ads.setGain(GAIN_ONE); // 1x 增益 +/- 4.096V 1 位 = 2mV 0.125mV //ads.setGain(GAIN_TWO); // 2x 增益 +/- 2.048V 1 位 = 1mV 0.0625mV // ads.setGain(GAIN_FOUR); // 4x 增益 +/- 1.024V 1 位 = 0.5mV 0.03125mV // ads.setGain(GAIN_EIGHT); // 8x 增益 +/- 0.512V 1 位 = 0.25mV 0.015625mV // ads.setGain(GAIN_SIXTEEN); // 16x 增益 +/- 0.256V 1 位 = 0.125mV 0.0078125mV ads.begin(); } 無(wú)效循環(huán)(無(wú)效) { adc1_raw_value = ads.readADC_SingleEnded(1); 測(cè)量電壓 = adc1_raw_value * (ADC_GAIN / ADC_MAX_VALUE); 當(dāng)前 = adc1_raw_value * MULTIPLICATION_FACTOR; Serial.print("ADC 值:"); Serial.println(adc1_raw_value); Serial.print("測(cè)量電壓:"); Serial.print(measured_voltae);Serial.println("V"); Serial.print("計(jì)算電流:"); Serial.print(current,5); Serial.println("A"); 序列號(hào).println(" "); 延遲(500); }
?
測(cè)試電路
用于測(cè)試電路的工具
2個(gè)60W白熾燈泡
Meco 450B+TRMS 萬(wàn)用表
為了測(cè)試電路,使用了上述設(shè)置。電流從 CT 流向萬(wàn)用表,然后返回主電源線(xiàn)。
如果您想知道 FTDI 板在此設(shè)置中的作用,讓我告訴您板載 USB 到串行轉(zhuǎn)換器不工作,所以我不得不使用 FTDI 轉(zhuǎn)換器作為 USB 到串行轉(zhuǎn)換器。
評(píng)論