Ankündigung

Einklappen
Keine Ankündigung bisher.

Auswertung von Fensterkontakten mit hoher Leitunslänge, was gibt es zu beachten?

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

    Auswertung von Fensterkontakten mit hoher Leitunslänge, was gibt es zu beachten?

    Moin!

    Ich würde gern eine Schaltung zum Auswerten von Reed-Fensterkontakten entwickeln. Die Länge der längsten auszuwertenden Leitung beträgt 190m (Gesamtlänge Hinführung-Kontakt-Rückführung).

    Aktuell plane ich folgende Beschaltung der Eingänge: inputschem.png

    Der Grundgedanke bei der Schaltung ist der folgende:

    Um die Mikrocontrollerseite vor Überspannung und Leitungsgebundenen Störungen zu schützen wird ein Optokoppler eingesetzt.
    Um mögliche durch Funk eingeschleuste Störströme und mögliches Kontaktprellen zu filtern wird ein Tiefpass eingesetzt (Bestehend aus R1,R3,C1).
    Um den Optokoppler zu schützen wird die Zenerdiode D1 eingesetzt: Diese Begrenzt die maximal mögliche Spannung in beide Richtungen.

    Ist diese Schaltung der Aufgabe angemessen, oder ist es ein Overkill? Falls ihr Erfahrungen mit ähnlichen Schaltungen habt würde ich die gern von euch erfahren.

    Beste Grüße!

    #2
    was ich nicht so toll finde ist der kondensator parallel zum optokoppler. damit hast du kein digitales signal mehr sondern beaufschlagst deinen microcontroller-eingang mit einem analogen signal.

    ich würde entweder:

    - c1 weglassen und die entprellung per software machen, oder...
    - nach c1 schmitt-trigger einfügen und den optokoppler sauber digital ansteuern

    wichtiger tip:

    - verkabelung zu jedem reed-kontakt mit einer verdrillten und abgeschirmten leitungen n x 2 x 0,8 ausführen (kann mir nicht merken wie das bei euch in de heisst)
    gemäss forenregeln soll man bitte und danke sagen! also: bitte und danke!

    Kommentar


      #3
      Es stimmt schon, dass bei offen - zu Übergängen eine analoge Spannung am Optokopplerausgang anliegen wird, jedoch hat der verwendete Mikrocontroller einen Schmitt-Trigger Eingang, reicht das vielleicht schon aus?

      Das mit verdrillten und abgeschirmten Leitungen werde ich auf jeden Fall beachten.

      Kommentar


        #4
        Zitat von alex775 Beitrag anzeigen
        jedoch hat der verwendete Mikrocontroller einen Schmitt-Trigger Eingang, reicht das vielleicht schon aus?

        Denke, dann geht, notfalls kannst ja die Kondensatoren einfach wieder auslöten.
        gemäss forenregeln soll man bitte und danke sagen! also: bitte und danke!

        Kommentar


          #5
          Halte ich für Overkill.

          Hab sowas bisher maximal so realisiert:
          Code:
          +24V--------kontakt------15k---------------15k--------Gnd
                                             |
                                              -------Eingänge eines 74hc165

          Das 74hc165 hat Clamping Dioden drin. der Vorwiderstand hinter dem Kontakt reicht also. Der Strom ist passend berechnet, sodass die Clamping Dioden nicht verrecken können. :-) Der zweite Widerstand gegen Ground ist quasi ein Pulldown.

          Kommentar


            #6
            Ich habe das auch mit einem Opto gelöst und das funktioniert so schon bei mehreren Leuten ohne Probleme.
            Das C kannst du ohne Probleme weglassen. Die Diode stört nicht, aber auch die verwende ich wegen den Vorwiderständen nicht.
            Auf welchen Id Strom hast du deinen Opto ausgelegt?
            Ist der ausreichend groß, dann musst du dir über Störungen auf den Leitungen wenig Sorgen machen. Der Energie-Gehalt solcher Störungen reicht dann nicht aus den Strom in der LED (durch die Vorwiderstände) zu treiben, damit der opto schaltet. Daher ist das schon ein Schmitt-Trigger in einem.
            Der Strom sollte aber nicht zu groß gewählt werden, da sonst die Reed Kontakte sich beim öffnen des Kontaktes abnutzen können. Daher wird die VDD in den guten Geräten auch nur zur Messung kurz aktiviert. Die Messung des Zustandes ist dann so schnell, dass in der Regel es sehr unwahrscheinlich ist, dass gerade hier ein Fenster geöffnet wird.
            Gruß Mat
            www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

            Kommentar


              #7
              Mittlerweile habe ich das Gerät schon fertig entwickelt und gebaut:
              IMG_20200608_153913.jpg

              Die Eingangsbeschaltung entspricht der in meinem OP (Das war eine Löterei).
              180 Eingänge habe ich in einem 12TE DIN Gehäuse unterbringen können.
              Der Nennstrom durch die Eingänge ist 1mA bei 12V oder 2mA bei 24V, standardmäßig laufen die aber mit 12V. Die Spannungsversorgung für die Kontakte geschieht intern mit einem isoliertem DC-DC Regler. Im Prinzip ist dieser intern durch den Mikrocontroller schaltbar (ist aber noch nicht implementiert).

              Die Ausgabe geschieht seriell über RS485.

              Vom Funktionsprinzip her ist das Ding recht simpel: Eine Kette aus 23 SIPO und 23 PISO Schieberegistern und halt ein STM32F100 Mikrocontroller, der die Schieberegister einliest/schreibt.
              Zuletzt geändert von alex775; 08.06.2020, 15:03.

              Kommentar


                #8
                Zitat von alex775 Beitrag anzeigen
                Die Eingangsbeschaltung entspricht der in meinem OP (Das war eine Löterei).
                Deswegen hab ich mir das mit dem Missbrauchen der Clampingdioden ausgedacht.. damit das nicht so ausartet xD Haste die LEDs oben drauf alle per Hand bestückt? Glaub da hätte ich schon langsam das bei JLC machen lassen. Bzw als ich sowas gebaut habe hatte ich die LEDs weggelassen. Hatte auch RS485 genommen mit Modbus allerdings mit Atmega168p. :-)

                Gute Arbeit jedenfalls!

                Kommentar


                  #9
                  Jo, alles ist handbestückt. Und zu dem Zeitpunkt gab es bei JLC Coronabedingt kein PCB Assembly.

                  Insgesamt hat das Ding knapp 1000 SMD Teile, wegen Platzmangels meist in 0603, die Dioden sind noch kleiner.
                  Ich würde es nicht nochmal machen, zumindest nicht ohne eine Vakuumpinzette. Vor allem die Dioden und LEDs haben viel Zeit gebraucht, da es bei der Bauteilgröße sehr schwer ist die Beschriftung zu lesen.

                  Mit dem Protokoll was das Ding über RS485 sprechen soll hab ich mich noch nicht festgelegt.

                  Ich habe die Firmware in Rust programmiert, und es stellt sich raus es gibt dort keine brauchbare Modbus Implementierung. Und ich habe halt nur bedingt Lust das selber zu schreiben.

                  Vielleicht werde ich ein einfaches Protokoll schreiben und dann die Daten in CBOR schicken...

                  Kommentar


                    #10
                    Zitat von alex775 Beitrag anzeigen
                    Insgesamt hat das Ding knapp 1000 SMD Teile, wegen Platzmangels meist in 0603, die Dioden sind noch kleiner.
                    Das hätte ich nicht gemacht. Hätte versucht die Teilemenge schaltungstechnisch zu reduzieren oder halt warten xD Aber Glückwunsch zu der Geduld.

                    Zitat von alex775 Beitrag anzeigen
                    programmiert, und es stellt sich raus es gibt dort keine brauchbare Modbus Implementierung. Und ich habe halt nur bedingt Lust das selber zu schreiben.
                    Das würd ich mir auch nicht geben. Für den AVR gibt es in C ne sehr kompakte Implementierung (https://github.com/mbs38/yaMBSiavr) die mit nur einer c und einer header file kommt. Die müsstest du sehr sehr leicht adaptieren können.

                    Gruß hkm

                    Kommentar

                    Lädt...
                    X