Ankündigung

Einklappen
Keine Ankündigung bisher.

ARDUINO am KNX

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

    Der Micro Pro verfügt scheinbar doch über 2 UART (evtl. einer Software?).
    Ich find gerade nicht die Stelle wo sowas stand, glaube aber igendwo bei sparkfun: https://www.sparkfun.com/products/12640

    Mein Modell hier ist von folgender: ATMega 32U4 Arduino IDE 1.0.1 Pro Micro Modul Leonardo MEGA32U4 5V 16MHZ TOP NEU | eBay
    "ATMega 32U4 Arduino IDE 1.0.1 Pro Micro Modul Leonardo MEGA32U4 5V 16MHZ TOP NEU"

    Der Vorteil ist, er kann dann auch mit TPUART programmiert werden und bietet die bekannte Debug-Konsole. Dann versuch ich da heute mal 1-Wire zum fliegen zu kriegen.

    Grüße

    EDIT:
    Läuft bestens, Stromaufnahme perfekt.
    Bestückung der BCU:
    - 1 x Arduino Pro Micro (Leonardo)
    - 2 x DS18B20
    - 4 x DS2438 mit HIH-4031

    Summe: 41mA aus der BCU - perfekt!
    Angehängte Dateien
    Umgezogen? Ja! ... Fertig? Nein!
    Baustelle 2.0 !

    Kommentar


      Zitat von JuMi2006 Beitrag anzeigen
      Summe: 41mA aus der BCU - perfekt!
      Die werden konstant immer entnommen oder gib es da einen Low-Power-Mode solange nichts vom Bus kommt und auch kein Sensor abgefragt werden soll?
      Tessi

      Kommentar


        @Jumi2006:

        Cool...so in etwa siehts bei mir auch gerade aus, habe gerade ein Steckbrett zum Testen.

        Nochmal kurz damit ichs verstehe was da genau nicht gepasst hat mit den Wordings der "Serial": kannst mal kurz den Code durchgeben, mit dem es jetzt bei Dir läuft?

        Seit gestern abend läuft bei mir schonmal der nicht-KNX-Teil mit dem Auslesen eines I2C-Feuchte- und Temperatursensors und die Ansteuerung eines kleines schnuckeligen TFTs am Pro Mini....bin begeistert. An der automatischen Backlighteregelung per PWM über einen Helligkeitssensor sitze ich gerade dran. Habe allerdings alles auf 3,3V laufen.
        Viele Grüße,
        Stefan

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

        Kommentar


          Versucht mit UNO und NANO

          Hallo zusammen,

          bin neu hier und beschäftige mich seit kurzem mit Arduino Hardware jedoch mit KNX schon etwas länger. Das Thema hier finde ich richtig spannend deshalb habe ich mir letzte Woche gleich den BCU 5WG1117-2AB12 von Siemens bestellt.

          Bekomme aber leider eure Beispiele hier nicht ans laufen. Habe mir die aktuelle KNX Lib von Thorsten Gehrig runtergeladen und ein Beispielprogramm "zusammenkopiert". Leider passiert nix (Licht in meinem Flur sollte blinken :-/ ).
          Habe den Code auf meinem Uno und Nano hochgeladen - an BCU angeschlossen und diese an meinen Bus - leider ohne Erfolg.

          Hier das Beispiel:
          Code:
          #include <SoftwareSerial.h>
          
          #include <KnxTelegram.h>
          #include <KnxTpUart.h>
          
          //int onboardled=13;
          KnxTpUart knx(&Serial, 15, 15, 20);
          
          void setup() {
           // pinMode(onboardled, OUTPUT);
            Serial.begin(19200);
            knx.uartReset();
          }
          
          void loop() {
           // digitalWrite(onboardled, HIGH);
            knx.groupWriteBool(0,2,5, true);
            delay (1500);
           // digitalWrite(onboardled, LOW);
            knx.groupWriteBool(0,2,5, false);
            delay (1500);  
          }
          Hat das jemand mit einem UNO schon probiert?

          Gruß, Sepp

          Kommentar


            Hallo Sepp,

            bin auch neu hier und freue mich riesig über die vielen Lösungsansätze zum Arduino.

            Dein Problem ist wahrscheinlich, daß Du eine zweite serielle Schnittstelle nutzen willst, aber die Pins nicht genau definierst.

            Generell funktioniert aber das Blinken:

            Code:
            #include <KnxTpUart.h>
            
            // Initialize the KNX TP-UART library on the Serial1 port of Arduino Mega
            
            //Für UNO
            KnxTpUart knx(&Serial, 1, 1, 20);
            
            void setup() {
              // LED - blinkt beim senden eines Telegramms
              pinMode(13, OUTPUT);
              digitalWrite(13, LOW);
              
              Serial.begin(19200);
              UCSR0C = UCSR0C | B00100000;
            
              knx.uartReset();  
            }
            
            void loop() {
            knx.groupWriteBool(11,4,3, true);
              delay (5000);
              knx.groupWriteBool(11,4,3, false);
              delay (5000);  
            }
            Also, gleich probieren und berichten

            Jens

            Kommentar


              Volltreffer!

              Diese Zeile war der entscheidende Hinweis:
              Code:
              UCSR0C = UCSR0C | B00100000;
              Im Flur blinkt es nun :-)

              Könnte jetzt aber noch ein wenig Nachhilfe brauchen.
              Dein Problem ist wahrscheinlich, daß Du eine zweite serielle Schnittstelle nutzen willst, aber die Pins nicht genau definierst.
              Was genau meinst du damit?

              Kommentar


                Hi,
                @JuMi2006:
                seltsam - seltsam. Der ProMicro hat imho nur eine Hardware-Serial - die du laut bildern auch nutzt. Also sollte Serial richtig sein.
                Normalerweisse führt Serial1 zu dem genannten Fehlerbild wenn er keine 2. Serielle schnittstelle hat!
                aaah -> Sieht so aus als wenn der Lenonardo bei "Serial1" anfängt, auch wenn er nur eine hat. Ich habe immer Minis als "MiniPro" hier genutzt - niemals einen MiniLeonardo....
                Also UNO/PRO: Serial
                Mega: Serial oder Serial1 / Serial2... je nachdem wo angeschlossen
                Lenonardo: Serial1

                @MJJ:
                Bei dir dürfte das "UCSR0C = UCSR0C | B00100000;" fehlen.
                - ah - sehe gerade: das Problem ist schon gelöst... freud mich :-)
                Der Hinweis mit der zweiten seriellen Schnittstelle kannst du damit vergessen. Brauchst du sonst noch was?

                Gruß
                Thorsten

                Kommentar


                  Hallo Sepp,

                  der Uno hat ja nur eine serielle Schnittstelle (HardwareSerial)an den Pins 0 und 1,
                  die aber auch zum programmieren über die USB-Schnittstelle benutzt wird.
                  Mit
                  Code:
                  #include <SoftwareSerial.h>
                  SoftwareSerial Serial1(10, 11); // RX, TX
                  kannst Du z.B.eine weitere serielle Schnittstelle definieren,ist aber nicht nötig.

                  Nur manchmal treten komische Dinge auf, da ja das Schreiben des Sketches bei angesteckter BCU auch auf den Bus geschickt wird.
                  Bei mir war da schon mal eine ganze Nacht die Heizung in allen Räumen an...

                  Zum weiteren Einlesen:

                  arduino.cc
                  arduinospielwiese.de

                  Jens

                  Kommentar


                    @Thorsten & @Jens
                    Danke, soweit alles gut - die "Spielewiese" ist eröffnet :-)

                    Werde meine Ideen weiter verfolgen und die Ergebnisse hier posten.

                    Gruß, Sepp

                    Kommentar


                      Zitat von intelligente Haustechnik Beitrag anzeigen
                      Nur manchmal treten komische Dinge auf, da ja das Schreiben des Sketches bei angesteckter BCU auch auf den Bus geschickt wird.
                      Ja - guter Hinweis!
                      Also: für alle die den BCU an der ersten serielenn Schnittstelle haben (also fast IMMER):
                      Während des Programmieren des Arduinos die BCU abklemmen!

                      Sonst kommt auf dem Bus vielleicht quatsch an - oder die Programmierung funktioniert nicht sauber.

                      @Alle: yippie - große freude zu sehen wieviele Bastelprojekte gerade and starten kommen :-)

                      Gruß
                      Thorsten

                      Kommentar


                        Wenn es ein möglichst kleiner Arduino sein soll: ich möchte zusätzlich zum BCU noch ein RS485 Interface anschließen. Also 2x UART. Wie ist das dann mit "debugging"? Hab gelesen am besten ist da ein freier UART? Oder tuts da auch ein Software UART?

                        Welcher Arduino in möglichst klein hat mind. 2UARTs? Find mich in der weiten Arduino Auswahl noch nicht ganz zurecht.

                        Gruß Alex

                        Kommentar


                          Pro mini und Pro micro müssten bis auf 1-2 millimeter gleichgroß sein.
                          Die haben aber nur einen TP-Uart - und damit wirds mit dem Hardware-Debuggen eng.
                          Zum entwickeln von Projekten kann man aber leicht einen Mega verwenden - und wenn der Code passt dann einfach auf den kleinen Anpassen.
                          Wofür brauchst du ein RS485? Müsste aber per SoftwareSerial funktionieren - nur in klein hab ich das noch nicht gesehen.

                          Gruß
                          Thorsten

                          Kommentar


                            Zitat von ThorstenGehrig Beitrag anzeigen
                            @Alle: yippie - große freude zu sehen wieviele Bastelprojekte gerade and starten kommen :-)
                            Auch von mir erst einmal einen großen Dank an Thorsten für die lauffähige Weiterentwicklung des DKA-Projektes.

                            Da auch ich auch etwas freebus-geschädigt bin, mal weitere Projektideen, die hier noch nicht angesprochen wurden:
                            einfacher Audioaktor: 1-2 Quellen und kleiner Stereo-Verstärker für Raumbeschallung
                            LED-Ansteuerung: RGB, RGBW, digitale Stripes usw.

                            Kommentar


                              Zitat von dreamy1 Beitrag anzeigen
                              Nochmal kurz damit ichs verstehe was da genau nicht gepasst hat mit den Wordings der "Serial": kannst mal kurz den Code durchgeben, mit dem es jetzt bei Dir läuft?
                              Den müsste ich morgen Abend nochmal raussuchen, ist aber eher ein copy&paste aus diversen Librarys und Examples ... proof of concept.

                              Zitat von Tessi Beitrag anzeigen
                              Die werden konstant immer entnommen oder gib es da einen Low-Power-Mode solange nichts vom Bus kommt und auch kein Sensor abgefragt werden soll?
                              Erstmal sollte es überhaupt laufen. Wir sind also bei 0.04A * 5V = 200mW.
                              Das deckt sich mit Google-Ergebnissen ... mit Stromsparmethoden sollte sich das wohl in Größenordnungen reduzieren lassen (Sensoren nur alle 60 Sekunden abfragen, Verwendung von Timern etc.).
                              Ich hab mit der Menge an Sensoren auch mal bewusst übertrieben.

                              Zitat von dreamy1 Beitrag anzeigen
                              ... Habe allerdings alles auf 3,3V laufen.
                              Ich hab mich für 5V entschieden da meine Anwendung weniger stromhungrig ist und ich somit den Saft direkt aus der BCU/Bus ziehen kann.

                              Zitat von idefix6 Beitrag anzeigen
                              Das mit den 3,3V hat zwei Gründe:
                              1. Alle Busankoppler ICs (z.B. den NCN) arbeiten mit 3,3V. Wenn man jetzt den AVR mit 5V betreiben wollte, muss man die Pegel wandeln
                              2. Bei 3,3V braucht der AVR viel weniger Strom, was mehr Luft beim Verbrauch lässt. Du bist ja beim Verbrauch auf 10mA pro KNX Gerät beschränkt.
                              Da will ich mal kurz widersprechen. Die 10mA beziehen sich auf die Busspannung (>25V). Der TPUART2 liefert 50mA@5V ohne Umwege. Ließe sich aber auch auf 3.3V konfigurieren. Kommt am Ende wohl auf den Anwendungsfall an

                              Zitat von ThorstenGehrig Beitrag anzeigen
                              seltsam - seltsam. Der ProMicro hat imho nur eine Hardware-Serial - die du laut bildern auch nutzt. Also sollte Serial richtig sein.
                              Normalerweisse führt Serial1 zu dem genannten Fehlerbild wenn er keine 2. Serielle schnittstelle hat!
                              aaah -> Sieht so aus als wenn der Lenonardo bei "Serial1" anfängt, auch wenn er nur eine hat. Ich habe immer Minis als "MiniPro" hier genutzt - niemals einen MiniLeonardo....
                              Also UNO/PRO: Serial
                              Mega: Serial oder Serial1 / Serial2... je nachdem wo angeschlossen
                              Lenonardo: Serial1
                              Dann scheint die "Serial" ein Software-Serial über USB zu sein. Ich kann mit dem kleinen Ding nämlich gleichzeitig auf "Serial" am Rechner debuggen. Mit "Serial1" spreche ich dann die Pinouts an ... so hatte ich es auch irgendwo gelesen. Man kann also mit dem Lenoardo gleich den Mega-Code fahren und debuggen. Für 6,50€ inkl. Versand braucht man da nicht anfangen zu basteln.


                              Grüße

                              P.S.: Ich freue mich schon auch den TPUART im Pro-Micro-Format! Morgen werden die Bauteile bestellt.
                              P.P.S.: Falls es schon jemand geschafft hat einen DS18B20 am DS2482 auszulesen wäre ich daran auch Interessiert.
                              Umgezogen? Ja! ... Fertig? Nein!
                              Baustelle 2.0 !

                              Kommentar


                                Ach Quark, mit den Sensoren haste nicht übertrieben Jumi. Das ist ein dezentraler 1Wire Busmaster...
                                Derzeit zwischen Kistenauspacken und Garten anlegen.
                                Baublog im Profil.

                                Kommentar

                                Lädt...
                                X