利用電流互感器和Arduino進(jìn)行交流電流測(cè)量
電流互感器是一種儀表變壓器,專門設(shè)計(jì)用于轉(zhuǎn)換次級(jí)繞組中的交流電,產(chǎn)生的電流與初級(jí)繞組中的電流成正比。這種類型的電流互感器被設(shè)計(jì)為非隱形測(cè)量電流從高壓子系統(tǒng)或高電流通過系統(tǒng)的地方。電流互感器的工作是將大電流轉(zhuǎn)換為可以通過微控制器或模擬儀表輕松測(cè)量的小電流。我們之前在不同類型的電流傳感技術(shù)文章中解釋了使用電流互感器進(jìn)行電流測(cè)量。
在這里,我們將詳細(xì)學(xué)習(xí)這種電流傳感技術(shù),并在Arduino的幫助下連接電流互感器來測(cè)量交流電流。我們還將學(xué)習(xí)確定未知電流互感器的匝比。
電流互感器
正如我前面提到的,電流互感器是設(shè)計(jì)用來測(cè)量電流的互感器。上面顯示了我目前擁有的兩個(gè)變壓器,稱為窗口型電流互感器或通常稱為鐵心平衡互感器。
電流互感器是如何工作的?
電流互感器的基本原理與電壓互感器相同,與電壓互感器一樣,電流互感器也由初級(jí)繞組和次級(jí)繞組組成。當(dāng)交流電流通過變壓器的初級(jí)繞組時(shí),就會(huì)產(chǎn)生交流磁通,這在次級(jí)繞組中產(chǎn)生交流電流,在這一點(diǎn)上,你可以說它和電壓互感器幾乎是一樣的,如果你認(rèn)為這是不同之處。
一般情況下,電流互感器在負(fù)載電阻的幫助下總是處于短路狀態(tài),而且,通過次級(jí)繞組的電流只取決于通過導(dǎo)體的一次電流。
電流互感器結(jié)構(gòu)
為了讓您更好地理解,我已經(jīng)拆除了我的電流變壓器之一,您可以在上圖中看到。
從圖中可以看出,一根非常細(xì)的導(dǎo)線纏繞在環(huán)形鐵芯材料周圍,一組導(dǎo)線從變壓器中伸出。主繞組只是一根與負(fù)載串聯(lián)的單線,并承載流過負(fù)載的大電流。
電流互感器比
通過在電流互感器的窗口內(nèi)放置一根導(dǎo)線,我們可以形成一個(gè)單回路,匝數(shù)比變?yōu)?:N。
像任何其他變壓器一樣,電流互感器必須滿足如下所示的安匝比方程。
在那里,
動(dòng)比
Np =主圈數(shù)
Ns =二次匝數(shù)
Ip =初級(jí)繞組電流
Is =次級(jí)繞組電流
要找到次級(jí)電流,把方程重新排列成
如上圖所示,變壓器的一次繞組由一個(gè)繞組組成,變壓器的二次繞組由數(shù)千個(gè)繞組組成,如果我們假設(shè)通過一次繞組的電流為100A,則二次電流為5A。所以主次的比例就變成了100A: 5A或者20:1。因此,可以說一次電流比二次電流大20倍。
注意!請(qǐng)注意,電流比與匝數(shù)比是不一樣的。
現(xiàn)在所有的基本理論都講完了,我們可以把注意力轉(zhuǎn)回到計(jì)算電流互感器的匝數(shù)比上來。
電流互感器錯(cuò)誤
每個(gè)電路都有一些錯(cuò)誤。電流互感器沒有什么不同;電流互感器存在各種誤差。下面描述了其中的一些
電流互感器的比例誤差
電流互感器的一次電流并不完全等于二次電流乘以匝數(shù)比。一部分電流被變壓器的鐵芯消耗,使其達(dá)到勵(lì)磁狀態(tài)。
電流互感器相位角誤差
對(duì)于理想的CT,初級(jí)和次級(jí)電流矢量為零。但在實(shí)際的電流互感器中,總是會(huì)有一個(gè)差,因?yàn)槌跫?jí)必須向鐵心提供勵(lì)磁電流,并且會(huì)有一個(gè)小的相位差。
如何減少電流互感器的誤差?
為了獲得更好的性能,總是有必要減少系統(tǒng)中的錯(cuò)誤。因此,通過以下步驟,可以實(shí)現(xiàn)這一點(diǎn)
1.磁芯采用具有高磁導(dǎo)率和低磁滯的磁性材料。
2.負(fù)載電阻值必須非常接近計(jì)算值。
3.二次線的內(nèi)部阻抗可以降低。
計(jì)算電流互感器的匝數(shù)比
測(cè)試設(shè)置已顯示在上面的圖像,我已經(jīng)用它來計(jì)算出匝比。
正如我之前提到的,我擁有的電流互感器(CT)沒有任何規(guī)格或零件號(hào),只是因?yàn)槲覐囊粋€(gè)壞掉的家用電表中搶救出來的。所以,在這一點(diǎn)上,我們需要知道匝數(shù)比來正確設(shè)置負(fù)載電阻的值,否則,各種各樣的問題將在系統(tǒng)中引入,我將在文章的后面討論更多。
在歐姆定律的幫助下,匝數(shù)比可以很容易地計(jì)算出來,但在此之前,我需要測(cè)量電路中作為負(fù)載的10W, 1K的大電阻,我還需要得到一個(gè)任意負(fù)載電阻來計(jì)算匝數(shù)比。
負(fù)載電阻
負(fù)載電阻
測(cè)試期間所有組件值的匯總
輸入電壓Vin = 31.78 V
負(fù)載電阻RL = 1.0313 KΩ
抗負(fù)荷RB = 678.4 Ω
輸出電壓Vout = 8.249 mV或0.008249 V
流過負(fù)載電阻的電流為
現(xiàn)在我們知道輸入電流是0.03080A或30.80 mA
我們來計(jì)算一下輸出電流
現(xiàn)在,為了計(jì)算匝數(shù)比,我們需要將一次電流與二次電流相除。
注意!請(qǐng)注意,誤差主要是由于我不斷變化的輸入電壓和萬用表公差。
計(jì)算一個(gè)合適的負(fù)載電阻尺寸
這里使用的CT是電流輸出類型。所以為了測(cè)量電流,它需要轉(zhuǎn)換成電壓型。openenergymonitor網(wǎng)站上的這篇文章給出了一個(gè)關(guān)于如何做到這一點(diǎn)的好主意,所以我將繼續(xù)閱讀這篇文章
在那里,
AREF = ADS1115模塊的模擬參考電壓,設(shè)為4.096V。
CT匝數(shù)= 0。我們之前已經(jīng)計(jì)算過了。
最大一次電流=最大一次電流,它將通過CT。
注意!每個(gè)CT都有一個(gè)最大電流額定值,超過該額定值將導(dǎo)致鐵芯飽和,最終導(dǎo)致線性誤差,從而導(dǎo)致測(cè)量誤差
注意!家用電能表的最大額定電流是30A,所以我就用這個(gè)值。
120.6Ω不是一個(gè)常見的值,這就是為什么我要使用三個(gè)電阻串聯(lián)得到120Ω電阻值。在將電阻連接到CT后,我做了一些測(cè)試來計(jì)算CT的最大輸出電壓。
測(cè)試后可以觀察到,如果電流互感器一次饋電1mA,輸出RMS為0.0488mV。由此,我們可以計(jì)算出如果30A電流流過CT,輸出電壓將為30000 * 0.0488 = 1.465V。
現(xiàn)在,計(jì)算完成后,我將ADC增益設(shè)置為1x增益,即+/- 4.096V,這為我們提供了0.125mV滿量程分辨率。這樣,我們就可以計(jì)算出用這個(gè)裝置可以測(cè)量到的最小電流。結(jié)果是3mA,因?yàn)锳DC分辨率設(shè)置為0.125mV。
組件的要求
編寫不帶表的所有組件
線路圖
下面的原理圖顯示了使用電流互感器進(jìn)行電流測(cè)量的連接指南
這就是電路在面包板上的樣子。
電流測(cè)量電路結(jié)構(gòu)
在之前的教程中,我向您展示了如何在AD736 IC的幫助下準(zhǔn)確測(cè)量True RMS電壓,以及如何配置從輸入正電壓產(chǎn)生負(fù)電壓的開關(guān)電容電壓轉(zhuǎn)換電路,在本教程中,我們將使用這些教程中的兩種IC。
對(duì)于這個(gè)演示,電路是在無焊面包板上構(gòu)建的,在原理圖的幫助下;此外,直流電壓是在16位ADC的幫助下測(cè)量的,以獲得更好的精度。當(dāng)我在面包板上演示電路以減少寄生時(shí),我使用了盡可能多的跳線電纜。
Arduino代碼電流測(cè)量
這里使用Arduino將測(cè)量值顯示到串行監(jiān)視器窗口。但是在代碼中稍加修改,就可以很容易地在16x2 LCD上顯示值。在這里學(xué)習(xí)16x2 LCD與Arduino的接口。
電流互感器的完整代碼可以在本節(jié)末尾找到。這里解釋了程序的重要部分。
我們首先包含所有必需的庫文件。Wire庫用于Arduino和ADS1115模塊之間的通信,Adafruit_ADS1015庫幫助我們讀取數(shù)據(jù)并向模塊寫入指令。
16位ADC輸出16位長(zhǎng)整數(shù),因此使用int16_t變量。使用了另外三個(gè)變量,一個(gè)用于存儲(chǔ)ADC的RAW值,一個(gè)用于顯示ADC引腳中的實(shí)際電壓,最后一個(gè)用于顯示該電壓值到電流值。
通過啟用9600波特率的串行輸出來開始代碼的設(shè)置部分。然后打印所設(shè)置的ADC增益;這是因?yàn)殡妷撼^定義值肯定會(huì)損壞器件。
現(xiàn)在使用ads.setGain(GAIN_ONE)設(shè)置ADC增益;將1位分辨率設(shè)置為0.125mV的方法
之后,調(diào)用ADC begin方法,該方法設(shè)置硬件模塊中的所有內(nèi)容并統(tǒng)計(jì)轉(zhuǎn)換。
在循環(huán)部分,我讀取原始ADC值,并將其存儲(chǔ)到前面提到的變量中以供以后使用。然后將原始ADC值轉(zhuǎn)換為測(cè)量的電壓值,并計(jì)算電流值并顯示在串行監(jiān)視器窗口中。
注意!如果你沒有ADS1115模塊的庫,你需要在Arduino IDE中包含該庫,你可以在這個(gè)GitHub存儲(chǔ)庫中找到該庫。
完整的Arduino代碼如下:
測(cè)試電路
用于測(cè)試電路的工具
?2個(gè)60W白熾燈泡
?Meco 450B+TRMS萬用表
為了測(cè)試電路,使用了上述設(shè)置。電流從CT流到萬用表,然后又回到主電源線。
如果你想知道FTDI板在這個(gè)設(shè)置中做什么,讓我告訴你板載USB到串行轉(zhuǎn)換器不工作,所以我不得不使用FTDI轉(zhuǎn)換器作為USB到串行轉(zhuǎn)換器。
進(jìn)一步增強(qiáng)
你在視頻中看到的幾個(gè)mA誤差(如下所示)只是因?yàn)槲以诿姘迳献隽穗娐?,所以有很多接地問題。
本文編譯自circuitdigest