Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Medidor kWh Sigfox Fiable con Arduino MKR Fox 1200

Componentes y suministros

Arduino MKR Fox 1200×1
Protoboard (genérico)×1
Cables jumper (genéricos)×1
Sensor reflectivo CNY70×1
Resistencia 221 Ω×1
Resistencia 10 kΩ×1
Resistencia 100 Ω×1
Potenciómetro rotativo (genérico)×1
Pulsador 12 mm (SparkFun)×1
LED (genérico)×1

Aplicaciones y servicios online

Sobre este proyecto

1) En resumen

Este tutorial te ayuda a conectar tu viejo contador de energía inductivo a Internet. Es el tipo más antiguo, aún usado: tiene un disco giratorio con pintura reflectante y una franja negra. Cada vez que pasa la franja negra, se completa una vuelta. En este proyecto, 120 vueltas = 1 kWh.

2) Microcontrolador, red IoT y demás

Usamos Arduino MKRFOX1200 con conectividad Sigfox (red LPWAN en banda ISM 868 MHz). Permite 140 mensajes diarios (12 bytes payload cada uno) en uplink. Los mensajes se almacenan en la nube Sigfox y pueden redirigirse via callbacks.

ThingSpeak: Plataforma IoT para visualización amigable. Aquí actúa como destino del callback Sigfox, mostrando gráficos del consumo en cuanto llega el dato.

3) Montaje práctico

  1. Conecta todos los componentes según el esquema. Alimenta con power bank o USB.
  2. Carga el código (adjunto al final). Pregunta si algo no está claro.
  3. Crea canales ThingSpeak con Análisis: Regístrate en thingspeak.com. Canal 1: nombre, descripción, Field 1 = "Consumo". Canal 2 basado en el 1, con Análisis Matlab que convierte a kWh y suma el consumo actual.
  4. Crea Callback Sigfox: En backend.sigfox.com → callbacks → nuevo: TYPE=DATA UPLINK, CHANNEL=URL, CUSTOM PAYLOAD=status::uint:32:little-endian, URL PATTERN=https://api.thingspeak.com/update?api_key=TU_WRITE_API_KEY_CANAL1&field1={customData#status}, METHOD=GET.

4) Instalación del dispositivo y lógica

Pega el sensor CNY70 al cristal del contador con cinta doble cara, centrado en el disco (ver foto Instalación). Pulsa el botón 2 veces y calibra: si ve parte reflectante, LED encendido; si ve franja negra, LED apagado. Tras calibrar, pulsa una vez más. El dispositivo empieza a leer consumo y envía el valor cada 30 min por Sigfox. Precisión: 25 Wh (cada 3 vueltas del disco).

5) Resultado final

Tras estos pasos verás tu consumo eléctrico real en un gráfico ThingSpeak como el mostrado.

Código

Sigfox kWh electric energy power meter (Arduino .ino)

#include 
int DIODE = 13; int BTN = 12; int BTN_state = 0; int BTN_prev = 0; int BTN_NR_OF_PRESS = 0;
int CALC = 0; unsigned long i = 0; uint32_t CONSUMPTION = 0; boolean SHINE = false; boolean KARDAN = false;

void setup() {
  pinMode(DIODE, OUTPUT); pinMode(BTN, INPUT); Serial.begin(9600);
  if (!SigFox.begin()) Serial.println("Sigfox module unavailable.");
}

void loop() {
  int senzor = analogRead(A3);
  BTN_state = digitalRead(BTN);
  if (BTN_state != BTN_prev) { if (BTN_state == HIGH) BTN_NR_OF_PRESS++; }
  BTN_prev = BTN_state;

  if (BTN_NR_OF_PRESS % 3 == 0) { // modo calibración
    if (senzor > 300 && senzor < 950) digitalWrite(DIODE, HIGH);
    else digitalWrite(DIODE, LOW);
  }

  if (senzor < 1020 && SHINE == false) SHINE = true;
  if (senzor > 1020 && SHINE == true && BTN_NR_OF_PRESS == 4) { CALC++; SHINE = false; }
  if (CALC % 3 == 0 && CALC != 0 && KARDAN == false) { KARDAN = true; CONSUMPTION += 25; }
  if (CALC % 3 != 0) KARDAN = false;

  if (BTN_NR_OF_PRESS % 4 == 0) { // modo envío cada 30 min
    digitalWrite(DIODE, LOW);
    if (SHINE == false) {
      for (millis(); (millis() - i) > 1800000;) { i = millis();
        SigFox.debug(); SigFox.beginPacket(); SigFox.write(CONSUMPTION); SigFox.endPacket();
      }
    }
  }
}

Esquemático

Esquema de conexiones MKRFOX1200 con CNY70 y resto de componentes.

Proceso de manufactura

  1. Alerta de Sed Inteligente para Plantas: Sensor DIY para Riego Óptimo
  2. Reloj de Palabras en Italiano con Arduino Nano, NeoPixel, LCD y RTC
  3. Ahorra Pines en Arduino: Conecta Teclado 4x3 con Solo 3 Conexiones Analógicas
  4. Monitor de temperatura con Bluetooth usando Arduino Nano
  5. Medidor de Capacitancia Autoranging DIY (10 pF–10 µF) – Fácil Construcción con Arduino
  6. Cerradura por Gestos Sin Contacto: Acceso Seguro con APDS-9960 y Arduino
  7. Kit Compañero Arduino Nano: Componentes y Herramientas Esenciales para Electrónica DIY
  8. Kit Adaptador USB MIDI para Arduino Micro / Leonardo: Lista Completa de Componentes
  9. Circuito de entrada analógica aislada para Arduino
  10. Visualizador Espectro Audio RGB 32 Bandas - Matriz LED Arduino
  11. Test de Precisión de Tiempo de Reacción con Arduino UNO