Ankündigung

Einklappen
Keine Ankündigung bisher.

ARDUINO am KNX

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zeppelin
    antwortet
    Vielen Dank für die Info zum Stromverbrauch des Buskopplers.
    0.083W sind OK für mich. Ich hatte mit höheren Werten gerechnet.
    Bei 12 Geräten mit 12 Koppler sind es dann 1W in Summe.
    Stromkosten pro Jahr sind dann ~2.20€.

    Einen Kommentar schreiben:


  • raphaelhuber
    antwortet
    Zitat von LostWolf Beitrag anzeigen
    raphaelhuber
    die "delay"s machen sich da nicht so gut.
    Vor allem wenn du mehr möchtest außer ständig den high/low Zustand zu ändern.
    Irgendwann möchtest du auch auf eingehende Telegramme reagieren und so kann der Arduino diese unter Umständen nicht auswerten da ehr einfach wärend "delay" nichts tut.

    Zeppelin
    Der Stromverbrauch wird ca. im Rahmen von "normalen" KNX Busteilnehmern liegen, da die BCU ja auch bei "normalen" Siemens KNX Tastern zum Einsatz kommt.
    Das ist ein sehr guter Hinweis für alle die mit Arduino anfangen. Obenstehender Code ist zwar mehr auch nur ein Proof of Concept, als etwas sinnvolles, aber ehrlich gesagt wusste ich zum Zeitpunkt als ich das gemacht habe nicht, dass delays besser ersetzt werden mit "Zeitangaben".

    Dazu allen die am gleichen Punkt sind wie ich der Tip folgenden Code bis ins letzte Detail zu verstehen, das bildet eine wichtige konzeptionelle Grundlage: https://www.arduino.cc/en/tutorial/BlinkWithoutDelay

    Einen Kommentar schreiben:


  • LostWolf
    antwortet
    raphaelhuber
    die "delay"s machen sich da nicht so gut.
    Vor allem wenn du mehr möchtest außer ständig den high/low Zustand zu ändern.
    Irgendwann möchtest du auch auf eingehende Telegramme reagieren und so kann der Arduino diese unter Umständen nicht auswerten da ehr einfach wärend "delay" nichts tut.

    Zeppelin
    Der Stromverbrauch wird ca. im Rahmen von "normalen" KNX Busteilnehmern liegen, da die BCU ja auch bei "normalen" Siemens KNX Tastern zum Einsatz kommt.

    Einen Kommentar schreiben:


  • dreamy1
    antwortet
    Schau mal in meine Signatur, beim Smelly hatte ich die Stromaufnahme gemessen (edit: im dritten Post steht was dazu).
    Zuletzt geändert von dreamy1; 13.01.2020, 08:12.

    Einen Kommentar schreiben:


  • Zeppelin
    antwortet
    Das Konzept Arduino mit KNX Buskoppler scheint ja gut zu funktionieren.
    Mich würde interessieren, wie hoch der Energieverbrauch ist.
    Der Buskoppler ist ja immer aktiv und liefert seine Spannungen.
    Zwischen dem Buskoppler und dem Arduino gibt es ja auch keine Interrupts/Trigger, mit dem mein den Arduino aus dem Schlafmodus holen könnte.
    D.h. der Arduino läuft auch permanent.

    Ich habe heute erfolglos versucht, aus den Datenblätter von Siemens den Stromverbrauch des Buskopplers (ohne Arduino) herauszulesen.
    Auch dessen Chiphersteller liefert hierzu keine Daten.

    Der Stromverbrauch des Arduino ist ja einigermassen bekannt.
    Hat einer von Euch mal nachgemessen, wie hoch der Stromverbrauch des Buskopplers ist?

    Ich hoffe meine Frage erzürnt Euch nicht. Ich weiß ja auch, dass KNX Komponenten teurer als der Stromverbrauch ist. Aber wir sind ja jetzt in 2020 mit Friday for Future...

    Einen Kommentar schreiben:


  • raphaelhuber
    antwortet
    Danke allen hier im Forum für diesen super hilfreichen Thread insbesondere Thorsten und Wintermute für die geniale Arbeit!
    Ich habe mich relativ weit durchgelesen und konnte am Schluss ein einfaches "Blink Script" schnell zum laufen bringen auf einem Arduino Nano. Man darf einfach nicht auf der ersten Seite, den ersten Script ausprobieren da ist der String von "GroupWrite" noch eigenartig definiert.

    Ausserdem kann man mit dem Arduino Nano nur senden, ausser man "kappt" FTDI auf dem Print. Wenn man gute Augen hat...

    Für alle die wie ich Anfänger sind und versuchen KNX mit dem Siemens Buskoppler BCU 5WG1 117-2AB12 auf einem Arduino Nano zum laufen zu bringen, hier ein Script mit Beschreibung zum PinOut, der läuft. Ich habe mit 1.6.12 compiliert.

    Damit kann man zb. mit dem Ultraschalldistanzsensor ziemlich einfach eine Füllstandsanzeige für einen Tank machen.

    Code:
    // File: GroupWriteBlinkTest.ino
    
    // Author: Raphael Huber (2020)
    
    //
    // Test constellation = ARDUINO NANO 5V <-> 5WG1 117-2AB12
    //  Arduino BusCoupler
    //  Nano
    //  GND     GND (PIN 1)
    //  5V       VCC (PIN 5)
    //  RX  30  TX  (PIN 4)
    //  TX  31  RX  (PIN 2)
    
    #include <KnxTpUart.h>
    
    // Set Groupadress of this arduino
    KnxTpUart knx(&Serial, "5.0.30");
    
    void setup() {
    
      // LED
      pinMode(13, OUTPUT);
      digitalWrite(13, LOW);
    
      // KNX
      Serial.begin(19200, SERIAL_8E1);
      knx.uartReset();
    }
    
    void loop() {
      knx.groupWriteBool("1/1/28", true);
      digitalWrite(13, HIGH);
      delay (1000);
    
      knx.groupWriteBool("1/1/28", false);
      digitalWrite(13, LOW);
      delay (1000);  
      
    }
    Zuletzt geändert von raphaelhuber; 11.01.2020, 16:07.

    Einen Kommentar schreiben:


  • Eugenius
    antwortet
    Falls jemand nach günstiger UART <> KNX Schnittstelle für Arduino Projekte sucht:
    https://knx-user-forum.de/forum/proj...nx-transceiver

    Funktioniert natürlich auch mit der Bibliothek von Thorsten.

    Einen Kommentar schreiben:


  • wkaa
    antwortet
    Zitat von jentz1986 Beitrag anzeigen
    Es wird keiner der genannten Stacks funktionieren. Weinzierl hat lt. Beschreibung ein „modifiziertes UART Protokoll“ erstellt, damit keine zeitkritischen Anforderungen an den Controller gestellt werden müssen.
    Inwischen kann ich der Aussage nicht zustimmen. Ich habe mir den Source Code von Thomas angeschaut und mit dem Kommunikationsprotokoll des TinySerial verglichen, der könnte schon funktionieren, aber das werde nach Lieferung des Gerätes feststellen. Ansonsten versuche ich den Code entsprechend anzupassen.

    Aus der Doku:
    The KNX Tiny Serial, described in this document, is based on the TP-UART Protocol with the following modifications: - Configurable ‘IndividualAddress’ - Configurable ‘Acknowledge-Handling’ according to KNX specification
    Weitere Details finden sich in der Doku des Kommunikationsprotokolls, sonst wird das Zitat zu lang....

    Zitat von jentz1986 Beitrag anzeigen
    Sinnvoll aber nicht KISS...
    Vermutlich ist mit KISS das KISS-Prinzip (englisch Keep it simple, stupid) gemeint. Das verstehe ich in diesem Zusammenhang nicht, für mich ist es einfacher, durch Weinzierl bereits gelöst.
    Genau wegen der Pufferung der Daten habe ich mir dieses Interface ausgesucht um noch andere Aufgaben mit dem Controller zu erledigen.

    Einen Kommentar schreiben:


  • jentz1986
    antwortet
    wkaa Bitte lass die Vollzitate sein... Ein Teilzitat für den Bezug, oder die Namensnennung genügt. Vielen Dank!

    Einen Kommentar schreiben:


  • wkaa
    antwortet
    Zitat von mumpf Beitrag anzeigen
    Hallo Werner,

    auch ich habe sehr gute Erfahrungen mit der Lib von Thomas gemacht, aber wenn Du an mehreren Geräten arbeitest und eine einheitliche Entwicklungsumgebung suchst, kann ich dir nur Plattform IO empfehlen, idealerweise mit Visual Studio Code. Dort kannst Du alle Arduino Libs verwenden, bekommst aber noch einen guten Editor, Debugger und Git dazu.

    Gruß, Waldemar
    Hallo Waldemar,

    jetzt habe ich mir Plattform IO angeschaut und finde es auch eine tolle Idee. Doch für mich wäre es eine weitere Entwicklungsumgebung in die ich mich einarbeiten müßte. Auch wenn bei der Arduino IDE so manches fehlt, werde ich diese verwenden.

    Für das Debugging werde ich wie Thomas Linux verwenden.

    Gruß

    Einen Kommentar schreiben:


  • wkaa
    antwortet
    Zitat von mumpf Beitrag anzeigen
    Hallo Werner,

    auch ich habe sehr gute Erfahrungen mit der Lib von Thomas gemacht, aber wenn Du an mehreren Geräten arbeitest und eine einheitliche Entwicklungsumgebung suchst, kann ich dir nur Plattform IO empfehlen, idealerweise mit Visual Studio Code. Dort kannst Du alle Arduino Libs verwenden, bekommst aber noch einen guten Editor, Debugger und Git dazu.

    Gruß, Waldemar
    Hallo Waldemar,

    danke für den Hinweis, ich werde es mir anschauen.

    Gruß

    Werner

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hallo Werner,

    auch ich habe sehr gute Erfahrungen mit der Lib von Thomas gemacht, aber wenn Du an mehreren Geräten arbeitest und eine einheitliche Entwicklungsumgebung suchst, kann ich dir nur Plattform IO empfehlen, idealerweise mit Visual Studio Code. Dort kannst Du alle Arduino Libs verwenden, bekommst aber noch einen guten Editor, Debugger und Git dazu.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • wkaa
    antwortet
    Zitat von thesing Beitrag anzeigen
    Da ein TP-UART drauf ist, sollte er mit jeder Variante funktionieren. Es kommt darauf an was du willst:
    - Arduino am knx: Programmierung auf Telegramm basis
    - Konnekting: Softwarestack bei dem die Parametrisierung durch eine neue Suite durch eine neues Protokoll (auf Basis der Gruppenkommunikation) erfolgt
    - Mein knx-Stack: Programmierung auf Basis von Kommunikationsobjekten. Parametrisierung durch ETS. Das Signieren der knxprod ist nach Meinung von einigen allerdings eine rechtliche Grauzone. Als Hardware reicht ein Arduino allerdings nicht. Ein ESP8266, ein ESP32 oder ein SAMD21 sollte es schon sein. Dafür geht bei den Boards mit WLAN auch KNX/IP (Siehe https://github.com/thelsing/knx)

    VG
    Thomas
    Hallo Thomas,

    danke für die Antwort.

    Es gibt mehrere Wege eigene Geräte in die Haussteuerung zu bringen. Um die Komplexität und den Programmieraufwand niedrig zu halten sollten alle Geräte eine identische Programmierumgebung haben (in diesem Fall Arduino). Auch werden nicht alle am KNX Bus hängen sondern in Gruppen über Bluetooth angesprochen.

    Das war genau was ich gesucht habe. Deine Bibliothek werde ich mir genauer anschauen und was ich bisher in einem anderen Thread darüber gelesen habe klingt vielversprechend.

    Nach einem ersten Blick auf Deine Sourcen bin ich beeindruckt, von den Möglichkeiten und dem Aufbau. Sollte ich wegen dem Weinzierl Gerät Anpassungen machen müssen, so kann ich es über die Table_Facade Klasse steuern. Danke für die Bereitstellung des Codes!!!!

    Gruß
    Werner

    Einen Kommentar schreiben:


  • jentz1986
    antwortet
    Es wird keiner der genannten Stacks funktionieren. Weinzierl hat lt. Beschreibung ein „modifiziertes UART Protokoll“ erstellt, damit keine zeitkritischen Anforderungen an den Controller gestellt werden müssen. Sinnvoll aber nicht KISS...

    Einen Kommentar schreiben:


  • thesing
    antwortet
    Da ein TP-UART drauf ist, sollte er mit jeder Variante funktionieren. Es kommt darauf an was du willst:
    - Arduino am knx: Programmierung auf Telegramm basis
    - Konnekting: Softwarestack bei dem die Parametrisierung durch eine neue Suite durch eine neues Protokoll (auf Basis der Gruppenkommunikation) erfolgt
    - Mein knx-Stack: Programmierung auf Basis von Kommunikationsobjekten. Parametrisierung durch ETS. Das Signieren der knxprod ist nach Meinung von einigen allerdings eine rechtliche Grauzone. Als Hardware reicht ein Arduino allerdings nicht. Ein ESP8266, ein ESP32 oder ein SAMD21 sollte es schon sein. Dafür geht bei den Boards mit WLAN auch KNX/IP (Siehe https://github.com/thelsing/knx)

    VG
    Thomas

    Einen Kommentar schreiben:

Lädt...
X