Ankündigung

Einklappen
Keine Ankündigung bisher.

Busspannungsaufall

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

    Busspannungsaufall

    Hallo,

    ich habe einen Anwendungsfall bei dem ein Konnekting-Gerät auch ohne Busspannung weiterlaufen soll.

    Im laufenden Betrieb hat ein Busspannungsaufall keine Auswirkung, mein Problem ist aber das beim Systemstart die Konnekting Bibliothek (Beta 4a) nach 10 erfolglosen Verbinungsversuchen zum TPUART einen Reset des µC durchführt. Diesen Reset möchte ich verhindern, ich bin mir aber nicht sicher ob meine Idee eine gute Lösung wäre.
    Meine Idee ist nach den 10 Versuchen (werden jede Sekunde gemacht) eine längere Zeit zu warten (z.B. 60 Sekunden) und danach wieder 10 mal zu veruchen. Was meint ihr dazu?

    LG Wolfgang

    #2
    Hallo Wolfgang,

    Wenn das Gerät während eines Busspanungsausfalls gestartet wird: Wieso ist es dann ein Problem wenn das Gerät nach 10 erfolglosen Versuchen nochmal startet?
    Gibt es dafür einen Grund?

    Gruß
    Alex

    Kommentar


      #3
      Hallo,

      da nach den 10 Versuchen ja ein Reboot des Mikrocontroller stattfindet. Ich habe auch zwei Anwendungen wo der Mikrocontroller bei Busspannungsausfall nicht ständig rebooten soll/darf sondern in einem Art Notbetrieb läuft.
      Ich habe mir dafür die void KonnektingDevice::init Funktion in eine bool KonnektingDevice::init umgebaut, sodass ich ein nicht erfolgreiches "init" abfangen kann und dann selber entscheiden kann was weiter geschieht.

      Code:
      bool KonnektingDevice::init(HardwareSerial& serial,
              int progButtonPin,
              int progLedPin,
              word manufacturerID,
              byte deviceID,
              byte revisionID
              ) {
      // .....
          if (status != KNX_DEVICE_OK) {
              DEBUG_PRINTLN(F("Knx-BUS init ERROR!!"));
              return false;
              
              //DEBUG_PRINTLN(F("Knx init ERROR. Retry after reboot!!"));
              //delay(500);
              //reboot();
          }
              return true;
      }


      Code:
      if (digitalRead(SAVEB_PIN) == true)
      {
          // Ausfall KNX-Busspannung
      }
      if (Konnekting.init(KNX_SERIAL, PROG_BUTTON_PIN, PROG_LED_PIN, MANUFACTURER_ID, DEVICE_ID, REVISION))
      {
          // init erfolgreich
      }
      else
      {
          // init nicht erfolgreich - Notbetrieb
      }
      KonnektingDevice::init muss bei mir auch bei fehlender Busspannung (SAVEB_PIN)ausgeführt werden, damit die Konnekting - Parameter aus dem Eeprom gelesen werden.

      Kommt die Busspannung wieder - (das erkenne ich durch den SAVEB_PIN), dann kann mit einem neu ausgeführten KonnektingDevice::init die Bus-Kommunikation wieder aufgebaut werden.

      Gruß Ivan
      Zuletzt geändert von ivande; 10.03.2021, 10:56.

      Kommentar


        #4
        coole Idee.
        Das Sollte in die offizielle Lib, als überladene init-Funktion.
        OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

        Kommentar


          #5

          Zitat von ivande Beitrag anzeigen
          Ich habe auch zwei Anwendungen wo der Mikrocontroller bei Busspannungsausfall nicht ständig rebooten soll/darf sondern in einem Art Notbetrieb läuft.
          Kannst du das weiter ausführen? Ich würde gern die Hintergründe verstehen.
          Auch wolfib 's Szenario möchte ich gern besser verstehen.

          Anpassen können wir das mit dem init() sicherlich. Manchmal verhält sich die BCU (egal welche) etwas zickig und es braucht 2-3 Anläufe bis der init geklappt hat. Denke das sollte die Lib nach wie vor entsprechend kapseln. Aber das mit dem boolean find ich soweit ganz gut.

          Kommentar


            #6
            Ich hätte auch einen Anwendungsfall. Ich hab zB eine LED-Matrix-Uhr mit KNX.
            Die wird eh extern versorgt, also auch die µC.
            Da macht es absolut Sinn, dass das Gerät ohne ständige Reboots läuft, wenn KNX ausgefallen sein sollte.

            Auch beim Testen und Entwicklen nervt das Reboot Feature bisweilen, weil man dann kaum mehr FW geladen bekommt wenn KNX nicht angeschlossen ist.
            OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

            Kommentar


              #7
              Zitat von tuxedo Beitrag anzeigen
              Kannst du das weiter ausführen?
              1.
              Ich hab mir ein Konnekting- Knx-DMX-Interface für meine LED-Beleuchtung welches über Akku versorgt wird gebastelt (mit SAMD51) . Bei einem Stromausfall geht meine Beleuchtung in den Betriebsmodus "Notbeleuchtung". Über Taster und Display am Konnekting-Gerät kann ich dann Lampen/Szenen auch im Akku-Betrieb (also ohne Busspannung) notsteuern. Betriebsmodus "Handbetrieb"
              2.
              Ich hab mir ein Konnekting- Ofensteuerung für meinen Grundofen gebaut. Bei Stromausfall läuft die Steuerung über einen Akku weiter,..

              Gruß Ivan

              Kommentar


                #8
                Zitat von tuxedo Beitrag anzeigen
                Auch wolfib 's Szenario möchte ich gern besser verstehen.
                Ich bin dabei ein Zurittssystem (auf RFID Basis) zu bauen, der Bus ist da eigentlich nur eine Zusatzfunktion (Statusanzeige usw...). Man soll die Tür auch bei einem Busspannungsaufall öffnen können.

                Kommentar


                  #9
                  Hallo, gibt es eine Chance das das in die Beta5/Final1 aufgenommen wird?
                  LG

                  Kommentar


                    #10
                    mach einen Merge Request
                    OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

                    Kommentar


                      #11
                      Grundsätzlich ist ja das einzige zentrale Gerät bei KNX das Netzteil. Somit ist ein Ausfall doch recht unwahrscheinlich. Aber auch das Netzteil kann sich in die ewigen Jagdgründe verabschieden. Wer in einem solchen Fall wenigstens die Rollos öffnen oder das Licht einschalten können möchte, wird zu dezentralen Aktoren mit Eingängen für Taster und einer eigenen Stromversorgung greifen, so dass die Geräte lokal steuerbar bleiben. Solch eine Funktion wäre also nicht schlecht.

                      Kommentar


                        #12
                        Zitat von wolfib Beitrag anzeigen
                        Ich bin dabei ein Zurittssystem (auf RFID Basis) zu bauen, der Bus ist da eigentlich nur eine Zusatzfunktion (Statusanzeige usw...). Man soll die Tür auch bei einem Busspannungsaufall öffnen können.
                        D.h. dein Gerät ist noch zusätzlich mit einer Spannung versorgt die Mikrocontroller und Co. speist?

                        Zitat von wolfib Beitrag anzeigen
                        Hallo, gibt es eine Chance das das in die Beta5/Final1 aufgenommen wird?
                        Ja, gibt es. Am besten einen Patch oder einen Merge-Request stellen.
                        oder warten bis ich dazu komme... :-(

                        Kommentar


                          #13
                          Zitat von tuxedo Beitrag anzeigen
                          D.h. dein Gerät ist noch zusätzlich mit einer Spannung versorgt die Mikrocontroller und Co. speist?
                          Ja genau, die maximale Leistung vom Bus reicht für meine Anwendung nicht aus.

                          Zitat von tuxedo Beitrag anzeigen
                          Ja, gibt es. Am besten einen Patch oder einen Merge-Request stellen.
                          oder warten bis ich dazu komme... :-(
                          Ich traue mir eher nicht zu eine Lösung zu erstellen die für alle passt. Ich wäre sehr dankbar wenn du das übernehmen könntest.

                          Kommentar

                          Lädt...
                          X