Ankündigung

Einklappen
Keine Ankündigung bisher.

ARDUINO am KNX

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

    Hallo Marco,

    ich hatte ein ähnliches Phänomen mit meinem Original-Uno.
    Anfangs ging nichts zu empfangen. Irgendwann zieht man dann sinnlos auf dem Steckbrett die Verbindungen und steckt sie wieder zusammen. Dabei ist mir aufgefallen, daß ich eine beidseitige Kommunikation nur zum laufen bekomme, wenn ich die GND-Verbindung weglasse (nur + RX TX). Spannungsversorgung des Uno über USB.
    Ist für mich nicht so richtig nachvollziehbar und ja, ist wirklich so. Da ich mir aber eine Adapterplatine mit 2 Optokopplern zwischen Uno und dem BTM dazwischengebaut habe, um einfacher stecken zu können, habe ich das Problem bis zur Lieferung der nächsten BCU vertagt.

    Jens



    Kommentar


      Hallo intelligente Haustechnik,

      bei Verwendung von Optokoppler benötigt man keine GND-Verbindung zwischen der BCU und dem Original Arduino-UNO.

      Anbei Schaltungsskizze wie es bei mir funktioniert.
      Benötigte Materialien:

      2 Stück 820 Ohm Widerstände
      2 Stück 10 Kiloohm Widerstände
      2 Stück 6N137 Optokoppler

      Arduino Uno R3 und 5WG1 117-2AB12.JPG



      Rechtlicher Hinweis:

      Aufbau bzw. Nachbau erfolgt auf eigene Gefahr.


      So funktioniert es bei mir sehr gut, die Schaltung bezieht sich auf den Original Arduino Uno R3.
      Natürlich gibt es noch andere Bausteine/Möglichkeiten zur galvanischen Entkopplung. Dies ist nur ein Beispiel mit Standartbauteilen.



      Mit freundlichen Grüßen

      Mag Gyver
      Zuletzt geändert von Mag Gyver; 30.06.2016, 15:49.

      Kommentar



        Zitat von Mag Gyver Beitrag anzeigen

        bei Verwendung von Optokoppler benötigt man keine GND-Verbindung zwischen der BCU und dem Original Arduino-UNO.
        Das ist mir schon klar und so habe ich es ja auch auf meiner Zwischenplatine gebaut, meine Bemerkung galt der Direktverbindung BCU - Arduino, dort halt nur + RX TX.

        Jens

        Kommentar


          Hallo intelligente Haustechnik,

          dann ist das aber sehr komisch.

          Wenn ich bei direkter Verbindung zwischen BCU und dem Arduino-UNO die GND-Leitung nicht anschließe, funktioniert bei mir weder Senden noch Empfangen.
          Das + Zeichen steht für VCC oder 5Volt nehme ich mal an. Die TTL-Schnittstelle ist eine Spannungsschnittstelle.
          Tippe auch auf einen defekten Baustein in der BCU.

          Die Verbindung + besteht auch während dem Programmieren des Arduino-UNO ?

          Ich hatte auch einmal die Verbindung + beim Programmieren über USB vergessen zu trennen und habe mir die BCU abgeschossen.
          Ich glaube Senden ging noch, aber Empfangen nicht mehr oder das Signal kam sehr verstümmelt an (Signalflanken, Aussetzer).
          Seither benütze ich nur noch die Anschaltung über Optokoppler.



          Mit freundlichen Grüßen

          Mag Gyver
          Zuletzt geändert von Mag Gyver; 20.03.2016, 13:13.

          Kommentar


            Richtig, + stand für plus

            Die BCU und der Arduino funktionieren aber problemlos in beide Richtungen.

            Habe noch eine Bestellung mit 3 BCU´s im Rückstand, werde das dann noch mal testen und berichten.

            Jens

            Kommentar


              So, hab mal mein erstes Projekt dokumentiert.
              Anbindung Smartmeter per Arduino und IR Auge...
              Zuletzt geändert von Lapheus; 06.04.2016, 06:48.
              Gruß
              Lapheus

              Kommentar


                Der Link ist kaputt?!

                Kommentar


                  Ich weis, hab gedacht es liegt daran das ich den Eintrag auf dem iPad erstellt habe, aber im Browser (Chrome und IE) kann ich das auch nicht korrigieren.

                  Anbindung Smartmeter per Arduino

                  @Admins: bekomme immer den Fehler "Bitte eine gültige URL eingeben" und in der Vorschau sehe ich ein "://" das ich nicht finde.
                  Zuletzt geändert von Lapheus; 06.04.2016, 06:46.
                  Gruß
                  Lapheus

                  Kommentar


                    Der Link jetzt ist quasi noch schlimmer.

                    Kommentar


                      Jetzt aber...
                      Gruß
                      Lapheus

                      Kommentar


                        Boah, nach gefühlt zwei Tagen diesen Mega-Thread durchwühlen und rumprobieren, habe ich es endlich geschafft!

                        Mit meinem (Original-) Uno R3 kann ich nun endlich erfolgreich sowohl senden als auch empfangen! Die Hinweise von Gast in den Posts #685 & #688 sind in meinem Fall Gold-wert gewesen und haben mich letztendlich zum Ziel geführt. Nach dem Abziehen der USB-Verbindung musste ich nur kurz die die P5 und P6 der ICSP1 brücken. Ab dann lief es wie am Schnürchen.

                        Vielen Dank an dieser Stelle!

                        Kommentar


                          Hallo eghetto,

                          ja der Thread ist für Neulinge und Hilfesuchende etwas langatmig. Leider.

                          Vielleicht kann ThorstenGehrig diese und andere hilfreiche Tipps in Post #1 aufnehmen?


                          Über solche Rückmeldungen freut man sich auch, viel Spaß noch mit deinem (Original-) Uno R3 und dem TP-UART am EIB/KNX-Bus.


                          Mit freundlichen Grüßen

                          Mag Gyver

                          Kommentar


                            Zitat von Mag Gyver Beitrag anzeigen
                            Anbei Schaltungsskizze wie es bei mir funktioniert.
                            Benötigte Materialien:

                            2 Stück 820 Ohm Widerstände
                            2 Stück 10 Kiloohm Widerstände
                            2 Stück 6N137 Optokoppler


                            [ATTACH=CONFIG]temp_48068_1458470313462_717[/ATTACH]


                            Rechtlicher Hinweis:

                            Aufbau bzw. Nachbau erfolgt auf eigene Gefahr.
                            Könnte irgendwer mal gucken was mit dem Bild los ist? Bei mir zumindest lädt es nicht....

                            Das Problem mit dem Empfangen von Bus-Meldungen hatte ich mit einem China-Arduino auch. Habe festgestellt, dass diese doch sehr starke Pull-Ups an RX haben, somit musste ich extern mit einigen Pull-Downs entgegen wirken, da ansonsten das TPUART es nicht geschafft hat den Pin auf Low zu ziehen und somit nie irgendwelche Daten beim Arduino ankamen.
                            Zuletzt geändert von Flole; 26.06.2016, 15:50.

                            Kommentar


                              Hallo Flole,

                              ich habe Kontakt zu den Admins gehabt. Kann mal passieren. Habe eine neue Schaltungsskizze angefertigt und eingestellt.
                              Vielleicht hilft die dir ja weiter! Ach, wenn du wieder Sketche aufspielen willst musst du den (Original-) Uno R3 kurz Stromlos machen, die Brücke am ICSP 1 entfernen und wieder Spannung anlegen.

                              Mit dem China-Arduino habe ich keine Erfahrung gesammelt, kann dir hierzu leider nichts sagen.


                              Mit freundlichen Grüßen

                              Mag Gyver

                              Kommentar


                                Hi guys,

                                I have ordered a 117-12 and also a Arduino Pro mini. They haven't arrived yet, but I have tried to write the code in the meanwhile.
                                Do you guys find anything wrong with the code? While I'm waiting for my parts to arrive.

                                Code:
                                #include <dht.h>
                                #include <KnxTelegram.h>
                                #include <KnxTpUart.h>
                                
                                dht DHT;
                                
                                #define DHT22_PIN 6
                                
                                //KnxTpUart knx(&Serial1,15,15,20); //for Leonardo
                                KnxTpUart knx(&Serial, "1.1.60"); // for Pro Mini
                                
                                void setup() {
                                  //Serial1.begin(19200); //for Leonardo
                                  Serial.begin(19200); // for Pro Mini
                                  Serial.println("KNX Temperature and Humidity sensor  ");
                                  Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
                                  //UCSR1C = UCSR1C | B00100000; //for Leonardo - Even Parity
                                  UCSR0C = UCSR0C | B00100000; // for Pro Mini
                                  Serial.print("UCSR1A: ");
                                  Serial.println(UCSR0A, BIN);
                                
                                  Serial.print("UCSR0B: ");
                                  Serial.println(UCSR0B, BIN);
                                
                                  Serial.print("UCSR0C: ");
                                  Serial.println(UCSR0C, BIN);
                                  knx.uartReset();
                                }
                                
                                void loop() {
                                  {
                                  // READ DATA FROM THE DHT22 SENSOR
                                  Serial.print("DHT22, \t");
                                  int chk = DHT.read22(DHT22_PIN);
                                  switch (chk)
                                  {
                                    case DHTLIB_OK:  
                                    Serial.print("OK,\t");
                                    break;
                                    case DHTLIB_ERROR_CHECKSUM:
                                    Serial.print("Checksum error,\t");
                                    break;
                                    case DHTLIB_ERROR_TIMEOUT:
                                    Serial.print("Time out error,\t");
                                    break;
                                    default:
                                    Serial.print("Unknown error,\t");
                                    break;
                                  }
                                  // DISPLAY DATA
                                  // GA 0/2/9 = Temperature
                                  // GA 0/2/10 = Humidity
                                  // Serial.print(DHT.humidity, 1);
                                  // Serial.print(",\t");
                                  // Serial.println(DHT.temperature, 1);
                                  knx.groupWrite2ByteFloat("0/2/9", DHT.temperature);
                                  knx.groupWrite2ByteFloat("0/2/10", DHT.humidity);
                                
                                  delay(1000);
                                }
                                
                                }

                                Kommentar

                                Lädt...
                                X