精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>非接觸式交流功率計(jì)開源分享

非接觸式交流功率計(jì)開源分享

2023-01-31 | zip | 0.05 MB | 次下載 | 免費(fèi)

資料介紹

描述

式傳使用此非接觸感器測(cè)量交流電流功率因數(shù)。它是 Seeed Grove I2C 50/60HZ 交流電流和功率因數(shù)模塊。

對(duì)于能源管理項(xiàng)目,我希望有一種簡(jiǎn)單的方法來測(cè)量交流電流和功率因數(shù),最好是非接觸式的,可以很容易地連接到設(shè)備和移除而無需直接連接到任何高壓電路。

我還想要一個(gè) I2C 模塊,它封裝了所有傳感復(fù)雜性并讓我的主 MCU 處理通信

這個(gè)傳感器模塊是我參加Seeed Grove 傳感器共同發(fā)明活動(dòng)的一部分,這對(duì)任何人來說都是一個(gè)讓您夢(mèng)想中的傳感器成為現(xiàn)實(shí)的好機(jī)會(huì)。

有功功率和視在功率

poYBAGPXL2qACdi0AAAh2ydK3ik061.png
視在、實(shí)際和無功功率矢量,維基共享資源,用戶 Wikieditor4321
?

對(duì)于交流電源,以瓦特為單位的視在功率就是電壓乘以電流。這是用于計(jì)算導(dǎo)線在傳導(dǎo)電流時(shí)會(huì)發(fā)熱多少的功率。視在功率的單位是 VA,即伏安。

負(fù)載使用的實(shí)際功率通常小于視在功率,因?yàn)??一些功率會(huì)被電容或電感電路元件反射。在測(cè)量交流電感或電容負(fù)載(例如電機(jī)或計(jì)算機(jī)電源)時(shí),以瓦特為單位的實(shí)際功率由公式 P = V * I * cos theta 表示。功率的單位通常是瓦特或千瓦。

功率因數(shù)

pYYBAGPXL2yABmh7AAC2vq1W_8s664.png
兩個(gè)正弦信號(hào),電壓和電流,電流信號(hào)延遲相移 θ
?

Cos θ 也稱為功率因數(shù),其中 θ 表示電流的相移或延遲。對(duì)于感性或容性負(fù)載,電流滯后或超前施加的電壓。對(duì)于純電阻負(fù)載,θ 為 0,因此 cos θ 為 1。對(duì)于電感負(fù)載,功率因數(shù)通常在 0.8 到 1.0 的范圍內(nèi)。也就是說,有功功率 [kW] 小于施加電壓乘以電流 [VA]。

對(duì)于此傳感器,可以使用非接觸式電流互感器 (CT) 檢測(cè)交流電流。感謝一篇關(guān)于DIY 非接觸式交流電壓檢測(cè)器的 instructables 文章,我了解到可以使用高阻抗數(shù)字邏輯緩沖器以非接觸方式測(cè)量交流電壓信號(hào)的相位。音頻方面,這意味著測(cè)量電路中的嗡嗡聲。可以測(cè)量電壓和電流之間的相位差來計(jì)算功率因數(shù)。

I2C 傳感器

我喜歡在我的項(xiàng)目中使用 I2C 傳感器。它們使測(cè)量變得容易,它們處理所有的物理、信號(hào)調(diào)節(jié)、模數(shù)轉(zhuǎn)換、校準(zhǔn),并提供一個(gè)允許輕松訪問數(shù)字化數(shù)據(jù)的接口訪問傳感器的任何代碼都沒有所有這些復(fù)雜性。此外,您可以將多個(gè) I2C 傳感器放在同一條 2 線總線上。

我發(fā)現(xiàn) Microchip ATtiny tinyAVR 2 系列非常適合實(shí)現(xiàn) I2C 傳感器。它是一款微型 8 位 MCU,具有高級(jí)差分 ADC、可編程異步邏輯,并且可以以極低的功耗運(yùn)行。

poYBAGPXL2-AdzLaAAFWRSNVI60923.png
閣樓 tinyAVR 2 系列引出線
?

Seeed Studio Grove 傳感器 PCB

簡(jiǎn)化示意圖

poYBAGPXL3KAPIzOAAHX8iNtrmc630.png
測(cè)量電流互感器的輸出并檢測(cè)電壓信號(hào)的相位
?

使用差分 ADC,測(cè)量電流相對(duì)容易,您只需測(cè)量電阻兩端的電壓降。對(duì)于交流電流,您需要在 50 或 60HZ 周期內(nèi)對(duì)電流進(jìn)行多次采樣,并計(jì)算采樣的均方根平均值。AC 電壓信號(hào)的相位可以用連接到高阻抗數(shù)字邏輯緩沖器的天線線測(cè)量,該緩沖器是 ATtiny 可配置定制邏輯 (CCL) 外設(shè)的一部分。

模塊

poYBAGPXL3WAOm9yAAERwjhVwaw055.png
?

如何使用模塊

將 100A 50mA CT 夾在載流導(dǎo)線周圍,從而連接它。CT 有一個(gè) 3.5mm 插頭。將其連接到插孔。將插孔線與 20 歐姆負(fù)載電阻并聯(lián)連接到 B- 和 B+ 端子如果使用 0-1Vac CT(內(nèi)置負(fù)載電阻),請(qǐng)勿連接 20ohm 負(fù)載電阻。

pYYBAGPXL3iAb1YMAABeEVYsYMM214.png
?
pYYBAGPXL3uAZPa-AACd06D8HKc151.png
?
poYBAGPXL36AJJTwAAE3k7s3ekU777.png
?

將電源線天線線纏繞到相同的載流電線或電纜上。將其連接到引腳 RX1。不要將電線的導(dǎo)體連接到任何東西,它只是用膠帶粘在絕緣載流電線或電纜上。該天線線感測(cè)電壓 (emf)。

pYYBAGPXL4GAcN3jAAEGkO9p8pU980.png
?

插入 Grove 連接器并連接到您的 MCU,例如 ESP32

示例代碼

#include <Arduino.h>
#include <Wire.h>
#include "I2C_AC_Current.h"
AC_Current hct20;
void setup()
{
Serial.begin(115200);
hct20.begin(21,22);  // SDA, SCL. 21,22 for ESP32
}
void loop()
{
hct20.read();
Serial.print("Current: ");
Serial.print(hct20.getCurrent());
Serial.print(" PF: ");
Serial.println(hct20.getPF());
delay(1000);
}

安慰

Current: 1.30 PF: 0.96

如果假設(shè)電壓通常是恒定的,則可以計(jì)算功率,例如:

const float voltage = 240;
float real_power_watts = voltage * hct20.getCurrent() * hct20.getPF();

傳感器固件

值得慶幸的是,Spence Konde 已經(jīng)為 ATTiny 2 系列編寫了一個(gè)Arduino 內(nèi)核,這使得編寫傳感器代碼變得更加容易。該內(nèi)核提供諸如 setup()、loop() 函數(shù)、串行對(duì)象、I2C 從 ISR 函數(shù)和用于訪問許多芯片外設(shè)的庫(kù)等功能。

傳感器固件代碼可以在github 上找到。

setup() 函數(shù)啟動(dòng) ADC、I2C 客戶端,并安裝請(qǐng)求和響應(yīng)回調(diào)。

void setup()
{
...
  setupLogic();
  ADC_init();
  Wire.onReceive(receiveHandler);
  Wire.onRequest(requestHandler);
  Wire.begin(SHT2x_ADDRESS);
...
}

邏輯庫(kù)設(shè)置芯片的自定義可配置邏輯以偵聽 IN2、引腳 PA2 上的電壓信號(hào)。

void setupLogic()
{
...
  Logic0.enable = true;               // Enable logic block 0
  Logic0.input0 = in::masked;         // PA0 masked
  Logic0.input1 = in::masked;         // PA1 TX1 masked
  Logic0.input2 = in::pin;            // PA2 RX1 voltage sense
  Logic0.output = out::disable;       // Disable logic block 0 output pin PA4
  Logic0.filter = filter::disable;    // No output filter enabled
  Logic0.truth = 0x01;                // Set truth: HIGH only if input low
  Logic0.edgedetect = edgedetect::enable;    // Enable edge detection
  Logic0.attachInterrupt(&voltageSenseISR,CHANGE);
  Logic0.init();
  // Start the AVR logic hardware
  Logic::start();
}

它在每次級(jí)別更改時(shí)調(diào)用中斷服務(wù)例程,每秒發(fā)生 50-60 次。當(dāng) ADC 對(duì)電流進(jìn)行采樣時(shí),此中斷會(huì)啟動(dòng)循環(huán)定時(shí)器,并在電流下一次過零時(shí)存儲(chǔ)迭代次數(shù)。這個(gè)數(shù)字在校準(zhǔn)時(shí)與電壓和電流信號(hào)之間的相移成正比。

主 loop() 函數(shù)每秒對(duì)當(dāng)前信號(hào)采樣一次,持續(xù) 20 毫秒,并在每個(gè)通道上調(diào)用 add_sample()。

hardware_fast_sample_chABC(MAX_SAMPLES,chA,chB,chC); // samples for 20ms

add_sample() 函數(shù)在看到下一個(gè)電流過零時(shí)保存電壓相位計(jì)數(shù)。它將每次迭代的當(dāng)前樣本的平方加到兩個(gè) bin 中,一個(gè) bin 用于 60HZ 信號(hào),另一個(gè) bin 用于剩余的 50HZ 信號(hào)。通過檢查哪個(gè) bin 具有平衡信號(hào)來選擇正確 bin 的結(jié)果。

void add_sample(int16_t diff) {
  _crossguard--;
  _phaseCounter++; // set to zero in ISR
  if(((diff ^ _lastSample) & _crossguard) >> 15) {  
// If crossed unambiguously (one but not both samples negative and crossGuard negative)
    _crossguard = 10;
    if (_phaseTriggered == 1) {  // on first call after phase mark.
      _phaseTriggered++;
      _phaseCount = _phaseCounter;
    }
  } 
  uint32_t sq =  ((uint32_t)diff*(uint32_t)diff);
  if (_tickNum < SAMPLES_PER_60HZ_CYCLE) {
    _sum2_60 += sq;
    _n_60++;
    if (diff >= 0) { _p++; }
    if (diff < 0) { _n++; }
  } else {
    _sum2_e += sq;
    _n_e++;
    if (diff >= 0) { _pe++; }
    if (diff < 0) { _ne++; }
  }
  _tickNum++;
  _lastSample = diff;
  return;
}

在主循環(huán)中,每秒一次,RMS 電流(安培)被縮放并存儲(chǔ)在全局變量中以供 I2C 從 ISR 讀取。

功率因數(shù)也被縮放并存儲(chǔ)在全局變量中。

當(dāng)檢測(cè)到 I2C 請(qǐng)求時(shí),將調(diào)用 receiveHandler,并保存請(qǐng)求字節(jié)(命令)。

void receiveHandler(int numbytes)
{
  if (numbytes > 0) {
    // Called on a Write address, data
    g_i2c_command = Wire.read();
  }
}

稍后,調(diào)用 requestHandler 并緩沖響應(yīng)以寫入線路。

void requestHandler()
{
  if ((g_i2c_command == SHT2x_GET_TEMPERATURE_NO_HOLD) ) {
    Wire.write((uint8_t)(g_temperature >> 8));
    Wire.write((uint8_t) g_temperature);
    uint8_t buf[] = { (uint8_t)(g_temperature>>8), (uint8_t) g_temperature };
    Wire.write(sht20_crc8(buf, 2));
  } else if ((g_i2c_command == SHT2x_GET_HUMIDITY_NO_HOLD) ) {
    Wire.write((uint8_t)(g_humidity >> 8));
    Wire.write((uint8_t) g_humidity);
    uint8_t buf[] = { (uint8_t)(g_humidity>>8), (uint8_t) g_humidity };
    Wire.write(sht20_crc8(buf, 2));
  }
}

計(jì)劃

未來的計(jì)劃是支持 3 個(gè)通道,向 I2C 接口添加通道細(xì)節(jié),并降低傳感器功耗。

結(jié)論

我期待著使用此模塊通過監(jiān)控各種電力負(fù)載來幫助節(jié)省能源。

感謝您的關(guān)注,我很樂意聽到任何評(píng)論,或者如果您覺得這有用。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)