Arduino बिजली मीटर


11

मैं एक बिजली मीटर बनाना चाहता हूं और arduino का उपयोग जानकारी लॉग करने और वेब पर भेजने के लिए करता हूं। क्या बिजली मीटर का कोई आसान समाधान है? मैं अर्जेंटीना में रहता हूं और बिजली लाइन 220V है। धन्यवाद


दिलचस्प सवाल। आपको मीटर से क्या उम्मीद है? यह कितना सही होना चाहिए और आपका बजट क्या है? मुझे पता है कि कुछ लोगों ने तारों पर वर्तमान मापने वाले क्लैंप का उपयोग किया था। क्या आपके पास ब्रेकआउट बॉक्स के पास प्रत्येक बिजली का तार है जो आप इसे माप सकते हैं? क्या आपके पास एकल या तीन चरण बिजली की आपूर्ति है? कृपया अधिक से अधिक जानकारी प्रदान करें।
आंद्रेजाको

जवाबों:


10

आप कलरव-ए-वाट की जांच कर सकते हैं और देख सकते हैं कि यह आपके 220V पावर लाइन के साथ काम करेगा या नहीं। उस परियोजना को कम से कम आपको एक विचार देना चाहिए कि कैसे शुरू किया जाए।


बहुत हैकरिश, दिलचस्प।
केलेंज्ब

क्योंकि पहले से ही क्या किया गया है? यह कैसे करना है, यह सीखने के लिए एक स्पष्ट मार्ग प्रदान करता है, और यदि आप अधिक सीखते हैं, तो इसे बेहतर कैसे करें / अधिक करें।
निक टी

4

3

एक सटीक बिजली मीटर बनाना कोई तुच्छ कार्य नहीं है। आपको पर्याप्त सटीकता और गति के साथ वोल्टेज और करंट को सेंस करने का एक तरीका चाहिए जिससे आप उनके (पावर फैक्टर) के बीच के अंतर का पता लगा सकें और वास्तविक और स्पष्ट शक्ति की गणना कर सकें। आप इसके लिए लगभग एक डीएसपी चाहते हैं।

एक अल्पविकसित विद्युत मीटर का निर्माण वोल्टेज और करंट के संवेदन और डीसी द्वारा किया जा सकता है, प्रतिक्रियाशील शक्ति की अनदेखी कर सकता है और उच्च गति पर नमूना करने की आवश्यकता है। सटीकता लोड की गुणवत्ता के एक समारोह के रूप में भिन्न होगी।

माइक्रोचिप MCP3909 की तरह बिजली पैमाइश के लिए बाजार पर IC मौजूद हैं, जिन्हें आप अपने Arduino के साथ उपयोग करने में सक्षम हो सकते हैं।




0

मैं ESP8266 (Arduino IDE के साथ) और विभिन्न ADC's और समर्पित ऊर्जा निगरानी DSP ( ATM90E26 और ADE7763 ) का उपयोग करके बड़े पैमाने पर वेब कनेक्टेड एनर्जी मॉनिटर्स बनाने में काम कर रहा हूं ।

Fritzing बुनियादी एडीसी + वाईफ़ाई के चित्र सक्षम Arduino संगत NodeMCU नीचे दिखाया गया है: यहाँ छवि विवरण दर्ज करें

ESP8266 ऊर्जा मॉनिटर का उपयोग करने के लिए कोड ऊपर सचित्र है। कृपया ध्यान दें कि यह एक ट्रांसफॉर्मर और वर्तमान में सीटी का उपयोग करके वोल्टेज का नमूना लेने वाले समाधान को लागू करने के लिए कम सटीकता वाला सरल है। उच्च सटीकता समाधानों को सीधे 240V का नमूना लेने की जरूरत है (एक वोल्टेज विभक्त सीढ़ी और शंट रोकनेवाला का उपयोग करके) और उच्च वोल्टेज के साथ काम करने से उत्पन्न होने वाले मुद्दों को संभालने के लिए अतिरिक्त डिजाइन विचार की आवश्यकता होती है।

/*


*  This sketch sends ads1115 current sensor data via HTTP POST request to thingspeak server.
 *  It needs the following libraries to work (besides the esp8266 standard libraries supplied with the IDE):
 *
 *  - https://github.com/adafruit/Adafruit_ADS1X15
 *
 *  designed to run directly on esp8266-01 module, to where it can be uploaded using this marvelous piece of software:
 *
 *  https://github.com/esp8266/Arduino
 *
 *  2015 Tisham Dhar
 *  licensed under GNU GPL
 */

#include <ESP8266WiFi.h>
#include <Wire.h>
#include <Adafruit_ADS1015.h>

// replace with your channel's thingspeak API key, 
String apiKey = "XXXXXXXXXXXXX";
//WIFI credentials go here
const char* ssid     = "XXXXXXXXXXX";
const char* password = "XXXXXXXXXXXXXXXXXXXXX";
Adafruit_ADS1115 ads;  /* Use this for the 16-bit version */

const char* server = "api.thingspeak.com";
WiFiClient client;

double offsetI;
double filteredI;
double sqI,sumI;
int16_t sampleI;
double Irms;

double squareRoot(double fg)  
{
  double n = fg / 2.0;
  double lstX = 0.0;
  while (n != lstX)
  {
    lstX = n;
    n = (n + fg / n) / 2.0;
  }
  return n;
}

double calcIrms(unsigned int Number_of_Samples)
{
  /* Be sure to update this value based on the IC and the gain settings! */
  float multiplier = 0.125F;    /* ADS1115 @ +/- 4.096V gain (16-bit results) */
  for (unsigned int n = 0; n < Number_of_Samples; n++)
  {
    sampleI = ads.readADC_Differential_0_1();

    // Digital low pass filter extracts the 2.5 V or 1.65 V dc offset, 
  //  then subtract this - signal is now centered on 0 counts.
    offsetI = (offsetI + (sampleI-offsetI)/1024);
    filteredI = sampleI - offsetI;
    //filteredI = sampleI * multiplier;

    // Root-mean-square method current
    // 1) square current values
    sqI = filteredI * filteredI;
    // 2) sum 
    sumI += sqI;
  }

  Irms = squareRoot(sumI / Number_of_Samples)*multiplier; 

  //Reset accumulators
  sumI = 0;
//--------------------------------------------------------------------------------------       

  return Irms;
}

void setup() {
  Serial.begin(115200);
  delay(10);

  // We start by connecting to a WiFi network

  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("WiFi connected");  
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());

  ads.setGain(GAIN_ONE);        // 1x gain   +/- 4.096V  1 bit = 2mV      0.125mV
  ads.begin();
}

void loop() {


  //Serial.print("Differential: "); Serial.print(results); Serial.print("("); Serial.print(trans_volt); Serial.println("mV)");
  double current = calcIrms(2048);

  if (client.connect(server,80)) {  //   "184.106.153.149" or api.thingspeak.com
    String postStr = apiKey;
           postStr +="&field1=";
           postStr += String(current);
           postStr += "\r\n\r\n";

     client.print("POST /update HTTP/1.1\n"); 
     client.print("Host: api.thingspeak.com\n"); 
     client.print("Connection: close\n"); 
     client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n"); 
     client.print("Content-Type: application/x-www-form-urlencoded\n"); 
     client.print("Content-Length: "); 
     client.print(postStr.length()); 
     client.print("\n\n"); 
     client.print(postStr);  
  }
  client.stop();

  //Serial.println("Waiting...");    
  // thingspeak needs minimum 15 sec delay between updates
  delay(20000);  
}

EE.SE में आपका स्वागत है! दुर्भाग्य से, यह सवाल का एक अप्रत्यक्ष उत्तर है, और यह ज्यादातर आपकी वेबसाइटों पर ट्रैफ़िक चलाने के लिए है, जो कि स्पैम का एक रूप है जिसकी अनुमति नहीं है।
डेव ट्वीड

ठीक है, आपने लिंक हटा दिए हैं। हालाँकि, ओपी समस्या के हार्डवेयर पक्ष के बारे में अधिक पूछ रहा है, सॉफ्टवेयर नहीं। यह भी जान लें कि यह 5 साल पुराना सवाल है, और ओपी इसे पूछने के बाद कभी वापस नहीं आया।
डेव ट्वीड

मैंने एक प्रस्तावित समाधान के योजनाबद्ध जोड़े हैं। इसे आसान तरीके से करने के लिए हार्डवेयर 5 साल पहले मौजूद नहीं था। यह अब वाईफाई सक्षम SoC के प्रसार के कारण करता है।
whatnick

1
@ क्या ट्वीड है, किसे ओपी की परवाह है? एसई के पूरे बिंदु को पूरे समुदाय के लिए उपयोगी होना चाहिए, और व्हानीक की पोस्ट ने समस्या को हल करने के लिए एक नया तरीका जोड़ा (यहां तक ​​कि जोड़ा योजनाबद्ध के बिना)।
श्रीदेवी वाष्र्ठ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.