Problema: Medidor de Corriente + Ethernet Shield,

Hola, hace unos dias estoy intentando hacer un medidor de corriente remota cn un modulo SCT-013-100a y una Ethernet Shield.

el esquema es el siguiente:

[img]https://lh5.googleusercontent.com/cBNB4Kf8x3LuV-gpBRV6ZTpwAkhZ-Ffhrr-XFfkt-MtDt8noiTfoSPAishSkRtOd4wdJ2Md_v1EXhw=w1366-h626-rw[/img]

y el siguietne codigo:

#include <SPI.h> //Aqui incluimos la libreria SPI
#include <Ethernet.h> //Aqui incluimos la libreria Ethernet
byte mac[]={0xDE,0xAD,0xBE,0xEF,0xFE,0xED}; //Declaracion de la direccion MAC 
IPAddress ip(192, 168, 0, 177);
IPAddress dnServer(8, 8, 8, 8); 
IPAddress gateway(192, 168, 0, 254);
IPAddress subnet(255, 255, 255, 0);
EthernetServer servidor(80); 

#include "EmonLib.h" // Incluir Emon Library
EnergyMonitor energyMonitor; // Crear una instancia EnergyMonitor
float voltajeRed = 220.0; // Voltaje de nuestra red eléctrica

void setup() {
  Ethernet.begin(mac, ip, dnServer, gateway, subnet); //Inicializamos con las direcciones asignadas 
  servidor.begin(); //inicia el servidor
  Serial.begin(9600);

  // Número de pin: donde tenemos conectado el SCT-013
  // Valor de calibración: valor obtenido de la calibración teórica
  energyMonitor.current(0, 2.95);
  
  Serial.print("Server IP: ");
  Serial.println(Ethernet.localIP());

}


void loop() {
  
  double Irms = energyMonitor.calcIrms(1480); // Pasamos el número de muestras que queremos tomar
  double potencia =  Irms * voltajeRed; // Calculamos la potencia aparente
  
  Serial.println(Irms);
  delay(500);
  
  EthernetClient cliente= servidor.available(); 
  if(cliente) {
    boolean lineaenblanco=true; 
    while(cliente.connected()) {
      if(cliente.available()) {
        char c=cliente.read(); 
        if(c=='\n' && lineaenblanco) //Si la petición HTTP ha finalizado 
          {
          //Cabecera HTTP estándar
          cliente.println("HTTP/1.1 200 OK"); 
          cliente.println("Content-Type: text/html"); 
          cliente.println(); //Página Web en HTML 
          cliente.println("<html>"); 
          cliente.println("<head>"); 
          cliente.println("<title>Corriente/title>"); 
          cliente.println("</head>");
          cliente.println("<body width=100% height=100%>"); 
          cliente.println("<center>"); 
          cliente.print("<h1>Portencia: ");
          cliente.print(potencia);
          cliente.print("W</h1>");
          cliente.print("<h1>AMP: ");
          cliente.print(Irms);
          cliente.print("a</h1>");  
          cliente.println("</center>"); 
          cliente.println("</body>"); 
          cliente.println("</html>"); 
          Serial.println("HTML Mostrado");
          cliente.stop();
          //Cierro conexión con el cliente 

          }
      }
    }
  }
}

me funciona bien pero solo me mide hasta 6.6amp, osea si mido cargas pequeñas (3a o 4a) me mide igual que el multimetro pero cuando la carga es grande ejemplo pava eléctrica el multimetro marca 9.8a y el arduino no pasa de 6.6a

nota: en teoría el SCT-013-100A mide hasta 100a

alguna sugerencia?

Has revisado esto?

  // Número de pin: donde tenemos conectado el SCT-013
  // Valor de calibración: valor obtenido de la calibración teórica
  energyMonitor.current(0, 2.95);

Ese dispositivo a no ser que estés usando alguno que venga con una placa acondicionadores de señal, no se puede conectar directamente a Arduino, deberías poner el circuito que estás usando por qué por ahí puede venir ese problema de saturación