Ankündigung

Einklappen
Keine Ankündigung bisher.

Bringe den Communication_test sketch nicht zum Funktionieren

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

    Bringe den Communication_test sketch nicht zum Funktionieren

    Hallo zusammen

    Ich möchte ein nicht KNX-fähiges Gerät mittels Arduino und Konnekting auf den Bus bringen.

    Hier der HW-Aufbau:
    - Siemens BCU
    - Arduino UNO (ich hab 2 Stück probiert)
    - FTDI-Kabel für Software-Serial

    Problem: Der Sketch kommt nicht über die Init-Phase hinaus, da wohl Serial.available() immer 0 zurück gibt. Wenn ich mittels FTDI Kabel und Baud 19200 8E1 auf der BCU direkt lausche, kriege ich Daten, jeweils immer dann, wenn auf dem Bus ein Telegram durchfliegt. Die BCU scheint also zu funktionieren.

    Das Log sagt:

    Code:
    DEBUG! free ram: 1370 bytes
                                Initialize KonnektingDevice
    15/7/255 = 0x7fff
    PrgLed 0
    PrgState 0
    Manufacturer: 0xdead Device: 0xff Revision: 0x00
    numberOfCommObjects: 2
    memRead: index=0x00 using fctptr data=0x7f
    _deviceFlags: 01111111
    ->EEPROM
    memRead: index=0x01 using fctptr data=0x11
    memRead: index=0x02 using fctptr data=0xc7
    memRead: index=0x0a using fctptr data=0x3f
    memRead: index=0x0b using fctptr data=0x07
    memRead: index=0x0c using fctptr data=0x80
    ComObj index=0 HI=0x3f LO=0x07 GA=0x3f07 setting=0x80 active=1
    memRead: index=0x0d using fctptr data=0x3f
    memRead: index=0x0e using fctptr data=0x08
    memRead: index=0x0f using fctptr data=0x80
    ComObj index=1 HI=0x3f LO=0x08 GA=0x3f08 setting=0x80 active=1
    IA: 0x11c7
    Reset triggered!
    Reset attempts: 9
    Reset attempts: 8
    Reset attempts: 7
    Reset attempts: 6
    Reset attempts: 5
    Reset attempts: 4
    Reset attempts: 3
    Reset attempts: 2
    Reset attempts: 1
    Reset attempts: 0
    Reset failed, no answer from TPUART device
    Init Error!
    KnxDevice startup status: 0x02
    Knx init ERROR. Retry after reboot!!
    software reset NOW
    Die Verbindung USB-PC hab ich natürlich abgestöpselt. Die TX-Lampe auf dem Board leuchtet ebenfalls mit jedem Telegram auf, die RX-Lampe im Sekundentakt (da wo der Reset 0x01 gesendet wird, glaub ich).

    Mache ich irgendwie einen Denkfehler? Geht das gar nicht mit dem Uno?

    Vielen Dank für eure Hilfe!

    Liebe Grüsse, Christian

    #2
    Hallo Christian,
    ganz spontan würde ich sagen, der USB-nach-Seriell-Adapter des UNO arbeitet parallel mit der BCU auf der seriellen Schnittstelle des ATMega. Es reicht nicht, den PC vom USB-Anschluss zu trennen. Da ich keinen UNO habe kann ich nur vermuten, dass es nicht möglich ist, den USB-Adapter vom seriellen Eingang des ATMega zu trennen und der UNO deshalb ungeeignet ist. Probier es mal mit einem Micro.

    Gruß, Frank

    Kommentar


      #3
      Der Leonardo ist irgendwie speziell was USB angeht. Was genau weiß ich gerade nicht.

      Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data using theATmega32U4 hardware serial capability. Note that on the Leonardo, the Serial class refers to USB (CDC) communication; for TTL serial on pins 0 and 1, use the Serial1 class.

      Kommentar


        #4
        SirSydom Es ist korrekt, dass die Serial-Klasse beim ATmega32U4 den USB anspricht. Man muss dann natürlich Serial1 an Konnekting übergeben. Bei Leonardo oder Micro hat man aber eine freie serielle Schnittstelle ohne einen USB-Seriell-Wandler. Dieser behindert die kommunikation mit der BCU. Ein Pro Mini oder einfach ein nackter ATmega328P würden es auch tun.
        Zitat von blafu Beitrag anzeigen
        Reset failed, no answer from TPUART device
        zeigt m.E. das Problem.

        Kommentar


          #5
          ah, sorry, war irgendwie drauf dass du ein Leonardo Board hast. Erst lesen, dann posten.

          Bzgl Uno:
          Differences with other boards

          The Uno differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, it features the Atmega16U2 (Atmega8U2 up to version R2) programmed as a USB-to-serial converter.
          Vielleicht ist das der Grund?

          Kommentar


            #6

            failed, no answer from TPUART device Diese Meldung kommt eigentlich nur dann wenn der Arduino keine Antwort der BCU bekommt.

            Kommentar


              #7
              Hallo Leute,
              ihr habt alle recht. Ich glaube aber, dass Christian jetzt der Kopf schwirrt.

              blafu Um das Wochenende zu retten würde ich empfehlen, den ATmega328P des UNO aus der Fassung zu nehmen und mit abgespreizten Pins 2 und 3 wieder einzusetzen. An diese Pins wird dann die BCU angeschlossen (Pin2 RxD -> TxD BCU, Pin 3 TxD -> RxD BCU).

              Lt. Schaltplan sind zwischen ATmega328P und ATmega8U2 zwei 1k-Widerstände um genau dieses Problem der gegenseitigen Beeinflussung zu verhindern. Ich traue dem Braten aber nicht. In der Praxis würde ich immer einen Arduino empfehlen, bei dem die serielle Schnittstelle frei ist (z.B. Pro Mini). Zum Experimentieren ist dann ein Arduino mit einem 32U4 besser geeignet, da man hier per USB monitoren kann. ACHTUNG! Evtl. ist hier eine galv. Trennung erforderlich (siehe https://knx-user-forum.de/forum/projektforen/konnekting/1384629-keine-telegramme-mehr-am-knx-sobald-knx-gnd-und-usb-gnd-verbunden-ist)

              Kommentar


                #8
                Vielen Dank für die vielen Antworten. In der Tat habe ich einen Arduino UNO, keinen Leonardo.

                Frank: Mit dem Abspreizen der Pins und dem direkten Verbinden der Schnittstelle an diesen Pins funktioniert der Communication-Sketch. Ist natürlich eine etwas doofe Lösung, da nun vermutlich der USB-Port nicht mehr funktioniert zur Programmierung.

                Ich mache mich dann mal auf die Suche für optimale Boards für Entwicklung und "Production". Da ich ein Gerät über RS485 anbinden will, brauche ich wohl sowieso 2 serielle Ports...

                Kommentar


                  #9
                  Dann nimm den Arduino Zero oder ein anderes Board mit dem SAMD Controller, z. B. den itsybitsyM0, die können alle bis zu 4 Serial Schnittstellen gleichzeitig.

                  Kommentar


                    #10
                    Ist das ein UNO auch China mit CH340G Chip drauf? wenn ja, dann geht es nicht, weil dieser Chip und Siemens BCU sich nicht vertagen...
                    P.S. Zeig uns das Foto von deinem Board

                    Kommentar


                      #11
                      Zitat von blafu Beitrag anzeigen
                      Da ich ein Gerät über RS485 anbinden will, brauche ich wohl sowieso 2 serielle Ports..
                      Hier noch ein Punkt zum Berücksichtigen:
                      Falls du viele Daten zwischenspeichern willst, brauchst du einen µC mit ausreichend RAM. Die 328P und 32U4 sind da gleich mal am Limit, also eher zum SAMD21 greifen, wie von Masifi vorgeschlagen.
                      Hintergrundinfo: Hab eine Schnittstelle zur Viessmann Heizung (IR seriell) gebastelt. Die Heizungsdaten werden gepollt, im µC zwischengespeichert und asynchron wieder an KNX geschickt. Beim 32U4 (Arduino Pro Micro) war bei ca. 20 Werten schluss. War zu wenig...

                      Kommentar


                        #12
                        Ich hab mir jetzt einen ItsyBitsy M0 Express geholt. Damit scheint es nun besser zu gehen. Wollte dann mal den Demo-Sketch probieren, wo die IA über die Suite programmiert werden kann. Prog-State geht auf 1, dann macht er einen Reboot, aber nach dem Reboot hat er irgendwie immer noch das Gefühl, dass er in den Factory-Settings verbleibt.

                        Es hat wohl etwas mit EEPROM zu tun bzw. damit dass das wohl mit SAMD irgendwie anders (über I2C?) funktioniert. Werde mal weiterschauen :-)

                        Kommentar


                          #13
                          Dann schau mal hier: https://knx-user-forum.de/forum/proj...90#post1329390

                          Kommentar


                            #14
                            Diesen Moment auch gefunden, damit tut es wie erwartet! Sehr cool, vielen Dank euch allen!

                            Liebe Grüsse
                            Christian

                            Kommentar

                            Lädt...
                            X