Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Energieverbrauch messen mit Modbus, MKR WiFi 1010 & RS485

Komponenten und Materialien

Werkzeuge

Software & Dienste

Über das Projekt

Smart Home beginnt bei den monatlichen Kosten (Strom, Gas). Open-Source-Hardware ermöglicht nachhaltige, herstellerunabhängige Lösungen. Dieses Projekt liest einen Finder Energiemesser (DIN-Schiene, RS485 Modbus) per MKR WiFi 1010 + MKR485 Shield aus und publiziert Daten via MQTT – einfach in Home Assistant integrierbar.

Übersicht

Der Finder-Zähler hat RS485-Modbus-Schnittstelle – Industriestandard. Arduino bietet offizielles MKR485-Shield und Modbus-Bibliotheken. MKR WiFi 1010 liefert WLAN im gleichen Formfaktor.

Installation (⚠️ Lebensgefahr – Elektriker hinzuziehen!)

  1. Strom abschalten (Hauptschalter), spannungsfrei prüfen (Multimeter)
  2. Finder-Zähler in Verteilerkasten einbauen: L/N vom Hauptschalter → Zähler-Eingang (Farben beachten: Blau=N, Braun/Schwarz/Grau=L), Ausgang → Weiterleitung
  3. RS485-Verkabelung: A, B, COM am Zähler. MKR485 Shield nutzt Half-Duplex auf Y/Z → Kabel an Y/Z + COM an ISOGND
  4. MKR485 DIP-Schalter: HALF (2=OFF), Termination Y-Z (3=ON), erster egal
  5. Schrank schließen, Arduino an zugänglicher Stelle platzieren
Energieverbrauch messen mit Modbus, MKR WiFi 1010 & RS485
Energieverbrauch messen mit Modbus, MKR WiFi 1010 & RS485
Energieverbrauch messen mit Modbus, MKR WiFi 1010 & RS485

Software: Modbus → MQTT Bridge

Der Sketch nutzt ArduinoModbus (RTU Client) für Registerabfragen. Beispiel: Stromstärke lesen (Holding Register 0x0016, 2 Words):

float readCurrent() {
  float ampere = 0;
  if (!ModbusRTUClient.requestFrom(0x01, HOLDING_REGISTERS, 0x0016, 2)) {
    Serial.print("Modbus Fehler: "); Serial.println(ModbusRTUClient.lastError());
  } else {
    uint16_t word1 = ModbusRTUClient.read(); // MSW
    uint16_t word2 = ModbusRTUClient.read(); // LSW
    int32_t milliamp = (word1 << 16) | word2; // 32-bit zusammenfügen
    ampere = milliamp / 1000.0; // mA → A
  }
  return ampere;
}

Analog für Spannung, Leistung, Energie, Frequenz etc. (Register laut Datenblatt). MQTT-Publizierung und WLAN-Handling im Hauptloop.

Home Assistant Integration

In configuration.yaml Sensoren definieren:

sensor:
  - platform: mqtt
    name: "Hauptspannung"
    state_topic: "energy/main/voltage"
    unit_of_measurement: "V"
  - platform: mqtt
    name: "Hauptstrom"
    state_topic: "energy/main/current"
    unit_of_measurement: "A"
  # ... weitere: power, energy, frequency

Nach Neuladen erscheinen Messwerte mit Graphen/Automatisierungen in Home Assistant.

Energieverbrauch messen mit Modbus, MKR WiFi 1010 & RS485

Code

Der vollständige Sketch (Modbus RTU → MQTT Bridge für Finder) ist auf GitHub/Projektseite verlinkt. Er umfasst Modbus-Abfragen, WLAN-Reconnect, MQTT-Publizierung mit QoS, Watchdog-Logik.

Herstellungsprozess

  1. Internet-gesteuerter Video-Streaming-Roboter mit Arduino & Raspberry Pi bauen
  2. Monitor-Ambilight selbst bauen mit Arduino Nano & WS2812B LEDs
  3. Arduino Energiemonitor & Datenlogger (Dr. Wattson, MCP39F521) – Schritt-für-Schritt
  4. LCD-Animationen & Spiele mit Arduino UNO erstellen
  5. Intelligentes Voltmeter mit Arduino & Smartphone bauen – Einfaches DIY-Projekt
  6. Echtzeit-IoT-Herzfrequenzmonitor mit Arduino & MAX30100
  7. Arduino Temperaturoverwachung & Echtzeituhr mit 3,2″ TFT-Display
  8. Arduino UNO WiFi Webserver: LED per Browser steuern
  9. Arduino UNO & WiFi Shield: Echtzeit-Temperaturanzeige im Web via Serial
  10. Kinetische und potentielle Energie: Formeln, Formen und Alltagsbeispiele