Das 0-10V Ausgangsmodul erweitert den SmartPi oder den e.manager um vier Spannungsausgänge von 0 bis 10 V. Damit lassen sich zum Beispiel Wechselrichter, Heizstab-Steller, Wärmepumpen oder Lüfter mit 0-10V-Steuereingang ansteuern.

In dieser Hilfe wird die Einrichtung und Anwendung des Moduls erklärt. Ein Beispiel zeigt, wie das 0-10V OUT Modul mit Hilfe von Node-RED angesteuert werden kann.

Das Modul im Überblick

Ausgänge 4 Spannungsausgänge, 0–10 V
Nummerierung wie auf der Platine, von links (1) nach rechts (4)
Auflösung 12 Bit, ca. 3 mV pro Schritt
I2C-Adresse 0x60 (ab Werk)
Einschaltwerte Nach dem Einschalten geben die Ausgänge ihre gespeicherten Einschaltwerte aus, ab Werk 0 V.

Maximale Modulanzahl

Die I2C-Adresse des 0-10V Moduls wird nicht über einen Jumper eingestellt, sondern ist im Baustein gespeichert. Ab Werk ist das die Adresse 0x60.

Das 4-20mA Ausgangsmodul hat ab Werk ebenfalls die Adresse 0x60. Wenn Sie beide Module zusammen verwenden, stellen Sie das 4-20mA Modul per Jumper auf 0x61.

Wenn Sie mehr als ein 0-10V Modul an einem SmartPi betreiben möchten, geben Sie das bei der Bestellung bitte an. Die Module werden dann mit unterschiedlichen Adressen ausgeliefert.

 

API-Token anlegen

Node-RED greift über die API des SmartPi auf das Modul zu und braucht dafür einen API-Token.

  1. Öffnen Sie in der Weboberfläche des SmartPi Einstellungen → API-Tokens.
  2. Klicken Sie auf + Token erzeugen und geben Sie einen Namen ein, z. B. Node-RED · Analogausgang.
  3. Setzen Sie den Haken bei Analogausgang (4-20mA, 0-10V) und speichern Sie mit dem Diskettensymbol.
  4. Kopieren Sie den angezeigten Token. Sie tragen ihn gleich im Node-RED-Node ein.

Achtung

Ein API-Token läuft nicht ab. Wenn Sie den Zugriff entziehen möchten, löschen Sie den Token wieder.
Einrichtung in Node-RED
Anhand eines Beispiels wird die Einrichtung und Anwendung des 0-10V Ausgangsmoduls in Node-RED erklärt.
 

Ziehen Sie aus der linken Node-Palette den Node analog out 0-10V (Kategorie SmartPi) in den Arbeitsbereich. Mit einem Doppelklick öffnet sich das Einstellungsfenster.

  • Name: Frei wählbarer Name für den Node, z. B. Einspeisung.
  • Address (hex): I2C-Adresse des Moduls, ab Werk 0x60.
  • Output: Der Ausgang, den der Node setzt:
    • 1 (left) bis 4 (right): immer dieser Ausgang
    • from msg.topic (1-4): Der Ausgang kommt mit jeder Nachricht in msg.topic mit (siehe unten Mehrere Ausgänge mit einem Node). Das ist die Voreinstellung.
    • all: alle vier Ausgänge auf einmal
  • Server:port: Die Adresse und der Port, auf dem die SmartPi-Software läuft. Wird Node-RED auf dem SmartPi verwendet, muss hier nichts geändert werden. Wird Node-RED auf einem anderen Computer verwendet, muss hier die IP-Adresse des SmartPi eingetragen werden.
  • API-Token: Der Token, den Sie wie oben beschrieben erzeugt haben.
  • Readonly: Ist der Haken gesetzt, werden keine Werte gesetzt. Jede Nachricht liest dann nur die aktuellen Spannungen aus.
  • Store all outputs as power-up values (EEPROM): Speichert nach dem Setzen die aktuellen Werte aller vier Ausgänge als Einschaltwerte (siehe Einschaltwerte).

Der Node gibt die vom Modul zurückgemeldete Spannung in msg.payload aus. In msg.moduleStatus steht zusätzlich der vollständige Status aller vier Ausgänge.

Einstellungen des Nodes „analog out 0-10V“

Beispiel: Ausgabe der Einspeiseleistung als 0-10V Signal
In diesem Beispiel soll die vom SmartPi gemessene Einspeiseleistung als 0-10V Signal auf Ausgang 1 ausgegeben werden.
 

Wählen Sie im smartpi-input Node bei Indicator die Gesamtleistung Power total aus. Damit wird die Gesamtleistung am Ausgang des Nodes an den Flow weitergegeben.

Folgende Randbedingungen werden zugrunde gelegt:

  • Die vom SmartPi gemessene Einspeisung wird negativ dargestellt.
  • Der Verbrauch wird positiv dargestellt.
  • Eine Einspeiseleistung von 8000 W ist das Maximum und soll 10 V ausgeben.
  • Eine Einspeiseleistung von 0 W (oder Verbrauch) entspricht 0 V.

Flow der Node-Red Module zur Ausgabe der aktuellen Leistung als 0-10V Signal

Ziehen Sie aus der linken Node-Palette die Nodes smartpi-input, function und analog out 0-10V in den Arbeitsbereich und verbinden Sie sie wie im Bild.
Damit wird die Gesamtleistung am Ausgang des Moduls an den Flow ausgegeben.Die aktuelle Leistung wird im function Node auf 0–10 V umgerechnet. Ist die Leistung nicht negativ, wird 0 V ausgegeben. Ist die Leistung negativ, wird sie invertiert, durch 8000 geteilt und mit 10 multipliziert. Daraus ergibt sich ein Signal von 0–10. Math.min(…, 10) sorgt dafür, dass bei mehr als 8000 W Einspeisung nicht mehr als 10 V ausgegeben werden.

// Leistung in W (Einspeisung negativ)
const p = msg.payload;

if (p >= 0) {
              // keine Einspeisung -> 0 V
             msg.payload = 0;
} else {
             // 8000 W Einspeisung -> 10 V
            msg.payload = Math.min(-p / 8000 * 10, 10);
}
return msg;

Umrechnung der Einspeiseleistung auf ein 0-10V Ausgangssignal

Stellen Sie im Node analog out 0-10V bei Output den Ausgang 1 (left) ein und tragen Sie den API-Token ein. Ein Klick auf Übernahme (deploy) startet die Steuerung.

Mit Hilfe von Debug-Nodes können Sie prüfen, ob die Einstellungen und Berechnungen richtig sind. Ziehen Sie dazu Debug-Nodes aus der linken Palette in den Arbeitsbereich und verbinden Sie sie mit den Ausgängen der jeweiligen Nodes. Die Debugausgabe wird oben rechts mit dem Käfersymbol geöffnet.

Den kompletten Beispiel-Flow können Sie auch über Menü → Import in Node-RED importieren: beispiel-flow-0-10v.json. Danach muss nur noch der API-Token eingetragen werden.

Mehrere Ausgänge mit einem Node

Ein Node-RED-Node hat nur einen Eingang. Damit Sie trotzdem alle vier Ausgänge mit einem Node steuern können, gibt es die Einstellung Output: from msg.topic (1-4). Dann bestimmt msg.topic jeder Nachricht, welcher Ausgang gesetzt wird. Die anderen Ausgänge behalten ihren Wert.

msg.topic = 2;      // Ausgang 2
msg.payload = 5.5;  // 5,5 V
return msg;

Verbinden Sie mehrere Quellen mit demselben Node, und jede Quelle setzt ihr eigenes msg.topic, z. B. in einem function oder change Node.

Mit Output: all werden alle vier Ausgänge auf einmal gesetzt. msg.payload kann dann sein:

  • eine Zahl, die für alle vier Ausgänge gilt, z. B. 0
  • eine Liste in der Reihenfolge der Ausgänge, z. B. [1.5, null, 10, 0] (null lässt den Ausgang unverändert)
  • ein Objekt mit der Nummer des Ausgangs, z. B. {"2": 5}

Einschaltwerte

Nach einem Stromausfall oder Neustart geben die Ausgänge ihre gespeicherten Einschaltwerte aus. Ab Werk ist das 0 V. Werte, die über Node-RED gesetzt werden, gelten normalerweise nur bis zum nächsten Ausschalten.

Mit dem Haken Store all outputs as power-up values (EEPROM) speichert der SmartPi nach dem Setzen die aktuellen Spannungen aller vier Ausgänge als neue Einschaltwerte. Der Baustein kann nur alle vier Ausgänge gemeinsam speichern.

 

Hinweis

Jeder Speichervorgang nutzt den Speicher des Bausteins etwas ab. Aktivieren Sie die Option daher nicht für Werte, die sich laufend ändern, wie im Beispiel oben. Setzen Sie die Einschaltwerte besser einmalig, z. B. mit einem inject Node.
Kalibrierung
Das 0-10V Ausgangsmodul funktioniert ohne Kalibrierung. Durch Bauteiltoleranzen kann der tatsächlich ausgegebene Strom aber etwas vom eingestellten Wert abweichen. Mit einer Kalibrierung gleicht der SmartPi diese Abweichung aus.

Das 0-10V Ausgangsmodul funktioniert ohne Kalibrierung. Durch Bauteiltoleranzen der Ausgangsverstärker können die Spannungen aber um einige Millivolt vom eingestellten Wert abweichen. Mit einer Kalibrierung gleicht der SmartPi diese Abweichung für jeden Ausgang einzeln aus.

Für jeden Ausgang werden zwei Messpunkte gemessen (1 V und 9 V). Der SmartPi berechnet daraus einen Faktor und einen Offset und speichert beides ab. Danach wird jeder Wert, der über Node-RED oder die API gesetzt wird, automatisch korrigiert. In Node-RED muss dafür nichts geändert werden.

Die Kalibrierung wird auf dem SmartPi gespeichert, nicht auf dem Modul, und gilt für die eingestellte I2C-Adresse. Wird das Modul an einen anderen SmartPi angeschlossen, sollte die Kalibrierung wiederholt werden.

 

Was Sie brauchen

  • Ein Voltmeter bzw. Multimeter (Auflösung mindestens 1 mV im Bereich bis 10 V)
  • Eine Anmeldung an der SmartPi-Weboberfläche mit einem Administrator-Konto

Achtung:

Während der Kalibrierung ändern sich die Ausgangsspannungen. Klemmen Sie angeschlossene Geräte vorher ab, damit sie nicht ungewollt reagieren.

Schritt für Schritt

  1. Öffnen Sie die Weboberfläche des SmartPi und gehen Sie zu Einstellungen → Module. Oben auf der Seite können Sie mit Scannen prüfen, welche Adressen auf dem I2C-Bus belegt sind.
  2. Prüfen Sie im Bereich e.0-10V out – Spannungsausgangsmodul (4 Ausgänge) die Adresse (ab Werk 0x60). Eine geänderte Adresse bestätigen Sie mit Enter. Neben der Adresse sehen Sie, ob das Modul bereits kalibriert ist.
  3. Klappen Sie den Bereich Kalibrierung auf. In der Spalte Aktuell steht für jeden Ausgang die gespeicherte Kalibrierung (unkalibriert: × 1,000000 +0,0 mV).
  1. Klicken Sie in der Zeile von Ausgang 1 auf 1 V setzen. Messen Sie die Spannung zwischen der Klemme von Ausgang 1 und GND und tragen Sie den Wert in das Feld daneben ein, z. B. 1,0074. Komma und Punkt sind beide erlaubt.
  2. Klicken Sie auf 9 V setzen, messen Sie erneut und tragen Sie den Wert ein, z. B. 8,9965.
  3. Wiederholen Sie das für die Ausgänge 2 bis 4. Die Ausgänge sind wie auf der Platine nummeriert, von links (1) nach rechts (4). Sie können auch nur einzelne Ausgänge kalibrieren. Ausgänge ohne neue Messwerte behalten ihre bisherige Kalibrierung.
  4. In der Spalte Neu zeigt der SmartPi die berechnete Kalibrierung an. Steht dort „unplausibel – Klemme/Eingabe prüfen“, ist meist ein Wert vertippt oder an der falschen Klemme gemessen worden. Erlaubt sind höchstens 10 % Abweichung beim Faktor und höchstens ±500 mV Offset.
  5. Klicken Sie auf Kalibrierung speichern. Die Meldung „Kalibrierung gespeichert.“ erscheint, neben der Adresse steht kalibriert, und in der Spalte Aktuell stehen die neuen Werte.
  6. Klicken Sie auf Alle Ausgänge auf 0 V und schließen Sie Ihre Geräte wieder an.

Kontrolle, Neukalibrierung und Löschen

  • Kontrolle: Setzen Sie nach dem Speichern noch einmal 1 V und 9 V. Das Voltmeter sollte jetzt bis auf wenige Millivolt genau diese Werte anzeigen.
  • Neu kalibrieren: Gehen Sie einfach wieder wie oben vor. Eine vorhandene Kalibrierung muss vorher nicht gelöscht werden, der SmartPi berücksichtigt sie bei der Berechnung.
  • Löschen: Mit Kalibrierung löschen wird die Korrektur aller vier Ausgänge entfernt. Die Ausgänge arbeiten danach wieder unkorrigiert.

Fehlersuche

  • Kontrolle: Setzen Sie nach dem Speichern noch einmal 1 V und 9 V. Das Voltmeter sollte jetzt bis auf wenige Millivolt genau diese Werte anzeigen.
  • Neu kalibrieren: Gehen Sie einfach wieder wie oben vor. Eine vorhandene Kalibrierung muss vorher nicht gelöscht werden, der SmartPi berücksichtigt sie bei der Berechnung.
  • Löschen: Mit Kalibrierung löschen wird die Korrektur aller vier Ausgänge entfernt. Die Ausgänge arbeiten danach wieder unkorrigiert.