Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX-Arduino Gemeinschaftsprojekt: "KNXino" Arduino+KNX Transceiver onBoard

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

    In meinem parallelen Bastelprojekt (Wetterstation auf Grundlage des Threads ARDUINO am KNX) habe ich einen ProMini (5V/16MHz) an der Siemens BCU angeschlossen. In die beiden Kommunikations-Verbindungen zwischen BCU und Arduino habe ich zwei 1k-Widerstände (1x TX- und 1x RX-Leitung) eingefügt -
    genau so wird die Platine gerade gefertigt, ich hoffe sie kommt bald.
    Habe das aber mal mit einem UNO (mit CH340) probiert, da ging es nicht mit zwei 1KOhm. Dann muss ich es wirklich mal mit einem ProMini probieren.
    Wäre aber Top wenn das funktioniert, dann müsste man auch nicht immer die BCU abstecken :-)
    www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

    Kommentar


      Wäre es eigentlich möglich das KNX-Protokoll auf einem ATMega zu implementieren? Also das man keine BCU mehr braucht, bzw. diese mit ATMega selbst baut?
      KNX Association zur Lizenzierung der ETS5:
      "Bitte beachten Sie: Wenn Sie Ihre Lizenz von einer älteren ETS-Version zu einer ETS5 aktualisiert haben, beachten Sie bitte, dass ein neuer Dongle wird gesendet und daher müssen Sie warten, bis der Dongle um in der Lage, Ihr Produkt zu aktivieren ankommen"

      Kommentar


        Wäre es eigentlich möglich das KNX-Protokoll auf einem ATMega zu implementieren? Also das man keine BCU mehr braucht, bzw. diese mit ATMega selbst baut?
        Nein das ist nicht möglich, zumindest mit einem Atmega alleine.
        Die BCU ist eigentlich nur ein Bus-Transceiver. Es passt die UART-Botschaften des Arduino an die KNX-Buspegel an. Der KNX-Bus ist ja eine 30V Spannungsversorgung, derer die Botschaften "überlagert" werden.
        Das KNX-Protokoll (wir nennen es hier auch KNX-Stack) ist bereits im Atmega drin.
        www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

        Kommentar


          Danke für die Erläuterung des Bus-transceivers mit den 30V. Kann mir jetzt vorstellen wozu.

          Ich glaub Du meinstest der KNX-Stack ist in der BCU drin, oder? *kopfkratz*. Im Arduino / Atmega würde ich jetzt nur noch ne api erwarten wie Send("1/2/3",12345); oder soetwas.


          Ich habe grade gelesen es gibt da ein fertiges IC als Bus-Transceiver:
          NCN5120 Das ist doch genau der, der auch von deiner Platine unterstützt werden soll? Das wäre ja klasse. Sorry, als Anfänger überblickt man das noch nicht alles sofort.

          Als Anfänger habe ich auch noch nie so eine Siemens BCU in der Hand gehabt wie auf deinem Foto. Für mich sieht die aber aus als hätte diese so einen Steckdosen-Rahmen.
          Würde dann die aufgesteckte Platine nicht nach oben herausstehen? Also aus der Wand?

          KNX Association zur Lizenzierung der ETS5:
          "Bitte beachten Sie: Wenn Sie Ihre Lizenz von einer älteren ETS-Version zu einer ETS5 aktualisiert haben, beachten Sie bitte, dass ein neuer Dongle wird gesendet und daher müssen Sie warten, bis der Dongle um in der Lage, Ihr Produkt zu aktivieren ankommen"

          Kommentar


            Zitat von mars Beitrag anzeigen
            Die Programmierung geht auch bei angeschlossener BCU und die KNX-Kommunikation geht auch bei angeschlosserem Programmer. Als "Zugabe" kann man im seriellen Monitor der Adruino-IDE (oder jedem anderen geeigneten Terminalprogramm) die KNX-Kommunikation "mitlesen" (na, gut es ist nicht wirklich was zu erkennen, aber ob was gesendet wird schon).

            Gruß Marco
            Hallo Marco,

            wie siehts denn mit dem KNX aus, während Du einen neuen Sketch einspielst? Ist der solange "blockiert" oder kommt da an der BCU gar nichts in Richtung KNX raus, da nur Kauderwelsch für den Bus?
            Viele Grüße,
            Stefan

            DIY-Bastelprojekte: || >> Smelly One << || >> BURLI << ||

            Kommentar


              Hallo dreamy1,

              den Bus stört da überhaupt nix
              Der Gruppenmonitor in der ETS zeigt nichts, wenn programmiert wird.

              Ich habe im Arduino-Sketch zum Debuggen sogar einige Passagen ala
              Code:
              ...
              knx.groupWrite2ByteFloat(GA_Luftdruck, BMP180_P);
              Serial.println("  "); Serial.println(BMP180_P);
              ...
              Das sieht dann im Arduino-Monitor so aus:
              Screenshot01.PNG

              Ergo: Die BCU scheint eine gewisse eigene "Intelligenz" zu haben und ungültiges zu ignorieren.

              Gruß Marco

              Kommentar


                Hallo Marco,

                dankeschön für die Rückmeldung! Dann kann man also mit den Widerständen "entkoppeln"....genau das wollte ich hören :-)
                Viele Grüße,
                Stefan

                DIY-Bastelprojekte: || >> Smelly One << || >> BURLI << ||

                Kommentar


                  Noch eine Anmerkung zum Programmieren und Netzwerk etc..


                  Stell dir vor du kaufst ein fertiges KNX Gerät. Dann ist in diesem Gerät folgendes schon vorhanden:

                  1) eine KNX-Busschnittstelle: D.h. du kannst eine Busklemme anstecken und die Elektronik kommt mit den Daten die über den Bus kommen klar
                  2) einen kleinen "Prozessor mit etwas Speicher": Der kümmer sich um das "verstehen" der Daten die vom Bus über die Busschnittstelle kommen
                  3) eine Firmware die der Prozessor benutzt damit er weiß wie er mit den Daten umzugehen hat und was das Gerät überhaupt für Funktionen hat und wie die vorhandenen Schraubklemmen und was weiß ich noch alles zu benutzen sind..
                  4) etwas Peripherie in Form von Relais oder Temperaturfühler, Displays, LEDs, ... Je nach KNX Gerät eben.

                  Was man noch selbst machen muss ist:

                  Gerät an den Bus anschließen und mit ETS einstellen.


                  Was wir hier basteln ist die Elektronik aus 1) und 2) sowie den Teil aus 3) der mit 1)+2) sprechen muss, sowie ein Software-Werkzeug aka. Programm mit dem du dein eigenes Gerät dann einstellen kannst (Gruppenadressen, physikalische Adresse, wann soll welche LED leuchten, wie soll das Relais schalten, wie oft soll die Temperatur über den Bus gesendet werden, ...
                  Leider geht das einstellen nicht per ETS. Das ist auf offiziellem Weg nur den KNX-Mitgliedern gestattet. Da steckt ein ganz anderer Aufwand dahinter

                  Was man nun noch selbst machen muss ist, sich 4) überlegen und mit Lötkolben und Co. umsetzen, sowie den Teil aus 3) selbst programmieren, der die Brücke zwischen 4) und 2) herstellt.

                  Um den Einsatz von Lötkolben sowie das schreiben eines Software-Teils kommt man nicht drum herum.
                  Unser Projekt erspart dir jedoch das aufbauen einer Schaltung die mit dem Bus sprechen kann und spart dir den aufwendigen Teil der Softwareentwicklung die dich mit dem Bus sprechen lässt. Du musst also nur die Peripherie basteln und die rein dafür notwendige Software entwickeln. Alles andere ist quasi schon fertig.

                  Die Firmware des Bastel-Boards per Netzwerkaufspielen geht nicht ohne entsprechenden Hardware-Aufwand. Denn: Wie soll die Firmware denn vom Board entgegen genommen werden wenn noch gar keine Firmware vorhanden ist die dem Prozessor/Controller sagt wie mit den Daten die da über das Netzwerk ankommen umzugehen ist?
                  Man bräuchte einen weiteren Prozessor/Controller mit eigener Firmware der das übernimmt, und damit den eigentlichen Prozessor/Controller die Firmware aufspielt.
                  Das macht die Sache nicht nur deutlich größer, sondern auch deutlich komplexer. Denn wir müssten dir dann ein fertiges Board liefern, das diese "Netzwerkfirmware" schon drauf hat. Und das alles nur, damit man sich das anstecken eines kleinen USB-Adapters für ~5EUR an den PC und stecken des daran befindlichen Kabels auf das Board spart?
                  Wenn das eine so tolle Idee wäre, dann wäre jedes KNX Gerät damit ausgestattet.


                  Kommentar


                    Zitat von l0wside Beitrag anzeigen
                    Wie tuxedo ganz richtig angemerkt hat: dann kannst du auch gleich den hardwarestärkeren Rechner über Ethernet und einen IP-Router, den du wahrscheinlich sowieso hast, an KNX anbinden. Treiberseitig geht Calimero (Java) oder unter Linux eibd bzw. knxd.

                    Wenn du keinen IP-Router hast: ob man das mit dem Arduino ersetzen kann, bezweifle ich etwas.

                    Max
                    Das geht, macht aber keinen Sinn. Wozu einen Arduino benutzen der Daten vom Bus liest und über Netzwerk weiterleitet, wenn es bereits ein fertiges Gerät gibt das exakt diese Funktionalität umsetzt?
                    Gut, man könnte jetzt argumentieren dass so eine IP-Schnittstelle oder ein IP-Router zu teuer ist. Wenn es aber nur darum geht den KNX-Bus an den Rechner zu bringen:
                    Dann nimmt man eben wie gesagt den Siemens BCU, kauft sich in der Bucht einen RS232-USB-Adapter für 3 Euronen, verbindet beides über eine galvanische Trennung (Adum...) und nutzt auf Rechnerseite knxd oder Calimero um die selbstgebastelte KNX-USB-Schnittstelle zu nutzen. Dann kann man beliebig mit dem Bus sprechen und Daten lesen/schreiben/whatever.

                    Statt eines Rechners und USB kann man auch einen RaspberryPI nehmen. Dann spart man sich den USB-RS232 Adapter (sollte aber dennoch eine galvanische Trennung dazwischenschalten).

                    Beim Pi aber bitte aber daran denken dass die SD-Karte nur begrenzt Schreibzyklen hat und, wenn man keine besonderen/aufwendigen Vorkehrungen trifft, irgendwann den Geist aufgibt.

                    Kommentar


                      Zitat von Hefti Beitrag anzeigen
                      Mittlerweile frage ich mich jetzt allerdings was ich mit diesem Modul soll, wenn ich doch eh schon über ein KNX-IP Gateway verfüge und so schon vom RPi auf den Bus zugreifen konnte.
                      Dann brauchst du das Interface nicht (es sei denn, fuer den 1-Wire-Anschluss). Aber irgendwie hat das nichts mehr mit diesem thread zu tun.

                      Kommentar


                        Zitat von DiMa Beitrag anzeigen

                        Dann brauchst du das Interface nicht (es sei denn, fuer den 1-Wire-Anschluss). Aber irgendwie hat das nichts mehr mit diesem thread zu tun.
                        Vollkommen richtig! Deswegen hab ich mich eben schon direkt per PM an tuxedo gewandt.
                        Vielen Dank trotzdem für die Erläuterungen.

                        Ich würde gerne 2 Platinen/Bausätze nehmen sobald dies möglich ist. Bitte vergesst mich bei der Bestellung nicht.

                        Grüße,
                        Flo
                        KNX Association zur Lizenzierung der ETS5:
                        "Bitte beachten Sie: Wenn Sie Ihre Lizenz von einer älteren ETS-Version zu einer ETS5 aktualisiert haben, beachten Sie bitte, dass ein neuer Dongle wird gesendet und daher müssen Sie warten, bis der Dongle um in der Lage, Ihr Produkt zu aktivieren ankommen"

                        Kommentar


                          Also ich habe mal 20St. bestellt und die werden wir so fair wie möglich verteilen.

                          Wenn ich die Platinen in Betrieb habe und sie spielen, dann kann man eine weitere Bestellung starten. Wenn jemand die Wartezeit von etwa 3 Wochen nach Bestellung zu lange ist, dann kann er sich die Platine auch selber fertigen lassen. Die Daten würdet ihr bekommen.
                          www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

                          Kommentar


                            Wahnsinn, warum sehe ich den Thread erst jetzt?
                            Super was hier bereits geschafft wurde - genau das brauche ich.
                            Mir wäre zwar ein Mega mit mehr Dampf lieber, so dass man auch ein Touch-Display betrieben kann, aber egal, einfach geil.

                            Eine Frage hätte ich aber:
                            Beim Betrieb mit Siemens BCU und einem Pro-Mini@3,3V sehe ich ein Problem: Der Mega mag eigentlich keine 5V auf den Eingängen wenn er mit 3,3V betrieben wird.
                            Hast du da was vorgesehen?

                            Stellst du die Eagle-Files zur Verfügung? Dann könnte man mal selbst im Schaltplan schauen.

                            Woher bekommtn man den OnSemi KNX-Transceiver ?
                            Und was kostet der?
                            OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

                            Kommentar


                              Mir wäre zwar ein Mega mit mehr Dampf lieber, so dass man auch ein Touch-Display betrieben kann, aber egal, einfach geil.
                              warte es ab, auch hierfür wird es eine einfache und super Lösung geben :-)

                              Beim Betrieb mit Siemens BCU und einem Pro-Mini@3,3V sehe ich ein Problem: Der Mega mag eigentlich keine 5V auf den Eingängen wenn er mit 3,3V betrieben wird.
                              Ja der Arduino würde dann 5V an seinen Eingängen (RX-Pin) abbekommen, dafür wurde ein einfacher Serien-Widerstand eingefügt. dieser Verhindert das der Arduino schaden nimmt. Es ist ein Spannungsteiler als Levelshifter zusätzlich vorgesehen, ob man ihn brauch sehen wir wenn ich mal ein Board auf dem Tisch liegen habe.

                              Stellst du die Eagle-Files zur Verfügung?
                              JA, aber erst wenn ich das Board bei mir auf dem Schreibtisch habe und es tut wie es soll.

                              Woher bekommtn man den OnSemi KNX-Transceiver ?
                              bei Mouser

                              Und was kostet der?
                              rechne mal mit so 8-10€ je nach Anzahl und Versand.
                              www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

                              Kommentar


                                Vielleicht nochmal erwähnt, bevor ich es vergesse. Wenn ihr den Arduino ProMini 3,3V 8Mhz verwendet, dann solltet ihr auch ein FTDI-Board(Kabel) verwenden, dass auf 3,3V eingestellt werden kann.

                                Das hier zum Beispiel:
                                http://www.ebay.de/itm/like/31141936...hn=ps&lpid=106
                                www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

                                Kommentar

                                Lädt...
                                X