INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Füllstandsmessung mit Pumpensteuerung und KNX-Anbindung
23.01.2019, 21:22
Beitrag #9
RE: Füllstandsmessung mit Pumpensteuerung und KNX-Anbindung
Was sagst du zu SoftwareSerial ?

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.01.2019, 07:53
Beitrag #10
RE: Füllstandsmessung mit Pumpensteuerung und KNX-Anbindung
(23.01.2019 21:22)hotsystems schrieb:  Was sagst du zu SoftwareSerial ?

Da habe ich noch keinen Plan von, werde ich mir aber mal bei Gelegenheit ansehen.
Andererseits weiss ich nicht ob mir das hier wirklich hilft, die Buskommunikation läuft ja schon über die Ports 8+9:
Code:
int trigPin = 8;
int echoPin = 9;

Außerdem muss ich die Verbindung zum Bus trennen bevor ich den Flash schreiben kann.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.01.2019, 08:11 (Dieser Beitrag wurde zuletzt bearbeitet: 25.01.2019 08:18 von hotsystems.)
Beitrag #11
RE: Füllstandsmessung mit Pumpensteuerung und KNX-Anbindung
Was hat Pin 8 und Pin 9 (nicht Port) mit der Bus-Kommunikation zu tun ?
Nach deiner Angabe ist das ein Ultraschall-Sensor.

Damit wir von den gleichen Dingen reden, solltest du mal deinen aktuellen Sketch in Code-Tags posten. Evtl. hat sich da ja was geändert ?

Und das du die serielle Verbindung auf RX und TX trennen musst, ist klar. Diese werden ja beim Flashen vom USB-Baustein genutzt und beides geht nicht. Das ist kein Bus.
Deswegen sollst du ja SoftwareSerial einsetzen, damit du beides gleichzeitig verwenden kannst.
USB und KNX.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.01.2019, 10:04
Beitrag #12
RE: Füllstandsmessung mit Pumpensteuerung und KNX-Anbindung
(25.01.2019 08:11)hotsystems schrieb:  Was hat Pin 8 und Pin 9 (nicht Port) mit der Bus-Kommunikation zu tun ?
Nach deiner Angabe ist das ein Ultraschall-Sensor.

Da hast Du völlig Recht, ich habe jetzt 2 Sachen in einen Topf geworfen.
Arduino und C++ ist noch ziemlich neu für mich.
Ich sehe mir das mit dem SoftwareSerial dieser Tage mal an.

Der Vollständigkeit halber hier noch der Sketch, der jetzt so funktioniert:

Code:
// Library from: https://bitbucket.org/thorstengehrig/arduino-tpuart-knx-user-forum

#include <KnxTpUart.h>
KnxTpUart knx(&Serial, "1.1.160"); // 1.1.160 ist die KNX-Source-Adresse

int trigPin = 8;
int echoPin = 9;
int pumpe = 10; // zum Schalten des Pumpen-Relais
int received_7_0_4;

unsigned long intervall = 1000;
unsigned long zeit_alt = 0;

unsigned int dauer, abstand;
unsigned int voll = 20;
unsigned int leer = 40;
bool zwangsschaltung = false;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(pumpe, OUTPUT);

  Serial.begin(19200, SERIAL_8E1);
  knx.uartReset();
  knx.addListenGroupAddress("7/0/2");
  knx.addListenGroupAddress("7/0/3");
  knx.addListenGroupAddress("7/0/4");

  delay(1000);

}

void loop() {
  sollwerte();
  steuerung();
}

void steuerung() {
  if (millis() - zeit_alt > intervall) {
    zeit_alt = millis();

  digitalWrite(trigPin, LOW);
    delayMicroseconds(5);
  digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  pinMode(echoPin, INPUT);
  dauer = pulseIn(echoPin, HIGH);

  abstand = (dauer/2) / 29.1;

  if (abstand != 0) bool success = knx.groupWrite2ByteInt("7/0/1",abstand);

  knx.groupRead("7/0/4");
  
  while (zwangsschaltung == true) {
    digitalWrite(pumpe, HIGH); // Pumpe ein
    knx.groupWriteBool("7/0/0",1);
    return;
  }
  
  if (abstand < voll)
  {
    knx.groupWriteBool("7/0/0",1);
    digitalWrite(pumpe, HIGH); // Pumpe ein
  }
  else if (abstand > leer)
  {
    knx.groupWriteBool("7/0/0",0);
    digitalWrite(pumpe, LOW); // Pumpe aus
  }
  }
}

void sollwerte() {
  KnxTpUartSerialEventType eType = knx.serialEvent();
  if (eType == TPUART_RESET_INDICATION) {
  }
  else if (eType == UNKNOWN) {
  }
  else if (eType == KNX_TELEGRAM) {
    KnxTelegram* telegram = knx.getReceivedTelegram();

    String target =
      String(0 + telegram->getTargetMainGroup())   + "/" +
      String(0 + telegram->getTargetMiddleGroup()) + "/" +
      String(0 + telegram->getTargetSubGroup());

    if (telegram->getCommand() == KNX_COMMAND_WRITE) {
      if (target == "7/0/2") {
        int received_7_0_2 = telegram->get2ByteIntValue();
        if (received_7_0_2) {
          voll = received_7_0_2;
          knx.groupWrite2ByteInt("7/0/7",voll);
        }
      }

      if (target == "7/0/3") {
        int received_7_0_3 = telegram->get2ByteIntValue();
        if (received_7_0_3) {
          leer = received_7_0_3;
          knx.groupWrite2ByteInt("7/0/6",leer);
        }
      }
    }

    if (telegram->getCommand() == KNX_COMMAND_ANSWER) {
      if (target == "7/0/4") {
        received_7_0_4 = telegram->getBool();
        if (received_7_0_4) {
          zwangsschaltung = true;
          knx.groupWriteBool("7/0/5",1);
        }
        else {
          zwangsschaltung = false;
          knx.groupWriteBool("7/0/5",0);
        }
      }
    }
  }
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.01.2019, 10:32 (Dieser Beitrag wurde zuletzt bearbeitet: 25.01.2019 10:37 von hotsystems.)
Beitrag #13
RE: Füllstandsmessung mit Pumpensteuerung und KNX-Anbindung
OK...dann ist das soweit klar. Wink

Jetzt noch eine Frage die mich interessiert. Welchen Ultraschall-Sensor verwendest du ? Ich hoffe einen Wasserdichten. Und ist dein Drainageschacht auch so ausgelegt, dass keine Teile den Schall ungünstig reflektieren ?

Und diese erneute Anweisung:
Code:
pinMode(echoPin, INPUT);
in der Loop ist überflüssig, die steht doch schon im Setup drin.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.01.2019, 11:11
Beitrag #14
RE: Füllstandsmessung mit Pumpensteuerung und KNX-Anbindung
Im Schacht sind auf einer Seite nur die Steigeisen, ansonsten ist der völlig leer.
Sensor wird dieser sein: https://www.amazon.de/gp/product/B076SWF...TF8&psc=1.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.01.2019, 11:23 (Dieser Beitrag wurde zuletzt bearbeitet: 25.01.2019 11:27 von hotsystems.)
Beitrag #15
RE: Füllstandsmessung mit Pumpensteuerung und KNX-Anbindung
(25.01.2019 11:11)NorbertB schrieb:  Im Schacht sind auf einer Seite nur die Steigeisen, ansonsten ist der völlig leer.
Sensor wird dieser sein: https://www.amazon.de/gp/product/B076SWF...TF8&psc=1.

Ja, der Sensor ist ok.
Wird bei mir schon seit ca. 3 Jahren in einem Regenwassertank eingesetzt.

In meiner Drainage-Pumpensteuerung (auch Arduino-ähnlich) verwende ich 3 Edelstahl-Sensoren, mit der die Pumpe gesteuert wird. Hat sich auch schon über etliche Jahre bewährt. Zu Anfang war es eine normale "TTL-Steuerung" die ich vor ca. 4 Jahren durch einen "Atmega-Standalone" ersetzt habe.

Edit:
Das KNX interessiert mich.
Kannst du den Link zur Lib nochmal posten, der vorhandene ist fehlerhaft.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.01.2019, 11:38
Beitrag #16
RE: Füllstandsmessung mit Pumpensteuerung und KNX-Anbindung
(25.01.2019 11:23)hotsystems schrieb:  In meiner Drainage-Pumpensteuerung (auch Arduino-ähnlich) verwende ich 3 Edelstahl-Sensoren
Haben die auch eine Mindestentfernung? Hast Du noch einen Link dazu?

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Pumpensteuerung für Warmwasser Ringleitung Franz54 97 12.137 12.11.2018 22:12
Letzter Beitrag: hotsystems
  Aquarien / Lüfter / Pumpensteuerung malerlein 0 2.892 14.01.2014 15:01
Letzter Beitrag: malerlein

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste