Hallo zusammen, bin mir unsicher ob das gewählte Forum passt, oder ob's nicht doch eher in den Analogtechnik-Bereich sollte... Ein Freund bastelt einen "Binäreingang" für ein KNX System. So ganz grob besteht das Teil aus einem Microcontroller (an dessen IO-Pins über einen Vorwiderstand Reed-Kontakte angeschlossen werden), der KNX Busankopplung und ein wenig Software, verpackt in ein Hutschienengehäuse. Die Fensterkontakte sind handelsübliche Reed-Kontakte wie man sie im Fensterbau verwendet. Die Leitung zwischen den Reed-Kontakten und den Schraubklemmen am Hutschienengehäuse ist eine einfache, 4-adrige "Telefonleitung" (nix großartige twisted pair) mit rund 15m, die in der Wand quer durch's Haus verlegt wurde. Das Problem ist nun: Offenbar (noch nicht mit einem Oszi verifiziert) wird hier und da immer mal wieder über die lange Leitung quer durch's Haus ein bisschen Spannung von parallel liegenden, stromführenden Leitungen induziert, was dann zur Folge hat, dass der µC denkt, der Zustand des Reeds hätte sich geändert. Mehr Details hab ich aktuell nicht. Aber ich gehe davon aus, dass die "Prüfspannung" zu den Reeds bereits "gepulst" ist (um die Reeds über die Jahre hinweg etwas zu schonen was Funkenbildung etc betrifft (machen wohl Hersteller käuflich zu erwerbender KNX Binäreingänge auch so) und dass die "Prüfspannung" nicht über 5V liegt. Um das Bild zu vereinfachen kann man die ganze Schaltung wohl auf einen µC, eine 3.3V-5V Spannungsquelle, einen Reedkontakt an einer 15-20m Leitung quer durch's Haus sowie einen IO-Pin am µC reduzieren. Die Fehl-Erkennungen sind natürlich nicht so prickelnd. Bevor man jetzt das Rad neu erfindet, dachte ich mal, ich frage in die Runde ob da jemand eine gute Idee hat wie man solche offenbar induzierte Fremdspannungen am besten heraus filtert... Das ganze ließe sich natürlich auch in Software weitgehend lösen. Z.b. einen geänderten Status am IO-Pin nur dann für voll nehmen, wenn auch in diesem Moment die Prüfspannung gerade aktiv ist und ergänzend in bestimmten Zeiabständen (millisekunden) den Status prüfen (es ist unwahrscheinlich dass man ein Fenster im <100ms Takt zweimal öffnen und man dann auch noch beide male separate erkennen will). Die Frage die sich stellt ist also erstmal in Richtung: Wie kann ich Schaltungstechnisch solche Fehler "verhindern" bzw entgegen wirken? Hat da jemand ne Idee?
den Strom erhöhen, pullup mit 1k sorgt schon mal für nennenswerten Strom der sich nicht so leicht beinflussen lässt, Telefonleitungen mit 20mA gehen über Kilometer unbeeindrukt! Dann kann man auch Filtern, entprellen, wenn sich innerhalb von 10-40ms der Zustand nicht ändert wirds wohl echt sein.
:
Bearbeitet durch User
Man macht Beides. In Software sollten hier schon entsprechende Vorkehrungen getroffen werden, aber in Hardware ist dies viel wichtiger. Wie sieht denn die Eingangsbeschaltung überhaupt aus? Geht er direkt auf den I/O Kontakt? Hier ist normalerweise ein EMV gerechtes Design empfehlenswert. Sprich: Tiefpassfilter, Überspannungsschutz etc.
Die meisten Fehler zu hochohmige Pullups, oder pullup per Software im Chip vergessen einzuschalten oder durch Störung im Chip oder Programm oder Kernel abgeschaltet, das kann mit einem echten eingelötetem R nie geschehen.
Wie gesagt, Details kenn ich (noch) nicht. Da ich aber auch so einen Binäreingang auf meiner ToDo Liste stehen hab, dachte mir ich frag mal in die Runde.
Als erstes sollte man bei so langen Leitungen natürlich an eine Schutzbeschaltung in Form von TVS Dioden denken, die zwar das Problem nicht lösen, aber der uC schützen. Hardwareseitig kann man einen Tiefpass-Filter mit nachgeschaltetem Schmitt-Trigger einsetzen. Die einfachste Lösung hast du selbst schon genannt: Entprellung. Signal also erstmal "beobachten". Die Störungen sind vermutlich kürzer als 1ms, insofern reicht es vermutlich aus, einmal zu messen, wenn geöffnetes Fenster detektiert 1-2ms warten, nochmal messen. Nur wenn auch beim 2. Mal geöffnetes Fenster detektiert wird entsprechende Aktion auslösen. Du schreibst, dass die Prüfspannung nicht dauerhaft angelegt ist. In diesem Fall sollte man auch nach dem Anlegen der Prüfspannung eine angemessene Zeit warten bevor die Kontakte ausgewertet werden, damit etwaige Über-/Unterschwinger auf der Leitung abgeklungen sind.
Alex C. schrieb: > Wie kann ich > Schaltungstechnisch solche Fehler "verhindern" bzw entgegen wirken? Nur schwer. Es wird vermutlich ein externer Interrupt verwendet und der kann schon auf wenige ns kurze Störimpulse triggern. Lösung: SW so ändern, daß im Timerinterrupt der Pin mehrfach abgetastet wird. Z.B. neuen Zustand als gültig erkennen, wenn er >=4 * 1ms gleich ist.
Alex C. schrieb: > Um das Bild zu vereinfachen kann man die ganze Schaltung wohl auf einen > µC, eine 3.3V-5V Spannungsquelle, einen Reedkontakt an einer 15-20m > Leitung quer durch's Haus sowie einen IO-Pin am µC reduzieren. Da fehlt der Pullup (oder Pulldown) Widerstand, ohne den wäre der Strom durch den Reedkontakt ja unendlich. Und genau dieser Widerstand hat einen klassischen Zielkonflikt: Je kleiner er ist desto weniger Störungen, aber der Reedkontakt wird beim Schalten mehr belastet. Wenn die Quelle getrennt und der Kontakt offen ist, hat man eine Antenne am µC Eingang mit hoher Impedanz gebaut. Da kann man den Pinzustand als Zufallsgenerator benutzen. Anders ausgedrückt: Schaltplan, bitte.
Ich gehe davon aus dass mein Freund schon so schlau war und den IO-Pin nicht in der Luft hängen lässt, sondern einen entsprechenden PullDown dran hat. Die Sache mit dem Strom auf dem Kontakt und etwaigen Abriss-Funken ist bekannt, weswegen ich ja auch die gepulste Abfragespannung erwähnt hatte. Auf die Idee mit den TVS Dioden hätte ich auch kommen können. Gut, die lösen nicht direkt das Problem, aber lassen ggf. das Gerät länger leben. Tiefpass-Filter: Das krieg ich in Software auch hin. Lässt sich dann auch schneller mal ändern wie den Tief-Pass in HW zu ändern.
Alex C. schrieb: > Ich gehe davon aus dass mein Freund schon so schlau war und den IO-Pin > nicht in der Luft hängen lässt, sondern einen entsprechenden PullDown > dran hat. wobei besser pullup wäre! pulldown kann ungebremst bei Verschaltungs oder Lötfehler zuviel Strom senden
Wenn ich solche langen Leitungen direkt an einen uC hängen muss, schalte ich einen einfachen Optokoppler davor. Der entprellt und trennt das Signal galvanisch. Mit dem Kontakt steuere ich dann nur die Led des Kopplers an. Hört sich vielleicht ein bissel wie mit Kanonen auf Spatzen an, habe mit der Lösung aber gute Erfahrung gemacht. Die oben genannten Tipps für eine sinnvolle Auswertung per Software gelten natürlich trotzdem.
Alex C. schrieb: > Die Sache mit dem Strom auf dem Kontakt und etwaigen Abriss-Funken ist > bekannt, weswegen ich ja auch die gepulste Abfragespannung erwähnt > hatte. Was denn nur fuer ein Abrissfunken? Schaltet der Reedkontakt direkt eine indutive Last? jgfasjg
Häng dich nicht so arg am dem Wort "Abriss-Funken" auf. Das ist ggf. deutlich "überdimensioniert" und sicherlich nicht ganz korrekt gewählt. Fakt ist: Je kleiner der Strom der da durchfließt, desto länger lebt der Reed-Kontakt. Und da die Teile in haushaltsüblichen Fenstern sich nicht so toll wechseln lassen, ist es erstrebenswert die zu schonen wo's nur geht.
Alles entkoppeln und trennen... Keine direkten Verbindungen zwischen Sensoren und der Auswerteelektronik!
Jens P. schrieb: > Mit dem Kontakt steuere ich dann nur die Led des > Kopplers an. Hört sich vielleicht ein bissel wie mit Kanonen auf Spatzen > an, habe mit der Lösung aber gute Erfahrung gemacht. Diese Lösung ist tatsächlich für diese Anwendung eine sehr gute Lösung. Einerseits arbeitest du mit einer vernünftig dimensionierten Stromschleife (die Optokoppler LED will ja in der Regel 5-10mA sehen), und gleichzeitig hast du den optimalen Schutz für den uC.
So nochmal kurzes Feedback hinsichtlich "mehr Details": Der Eingang am µC ist mit einem 470k PullUp auf 3.3V geschaltet. Der Reed brückt den Eingang im geschlossenen Zustand mit 47k auf Masse. Eine Schutzbeschaltung mit Dioden ist auch drin. Zur Idee mit dem Opto: Klingt vernünftig (strikte Trennung). Aber der entprellt doch nicht?! Oder ist der verwendete Typ tatsächlich so träge? @Jens PICler (picler) Fehler auf der langen Leitung (indizierte Fremdspannung und dergleichen) filterst du dann rein per SW?
:
Bearbeitet durch User
Alex C. schrieb: > Der Eingang am µC ist mit einem 470k PullUp auf 3.3V geschaltet. Das ist praktisch offen. Mal im Datenblatt nach den Leckströmen des µCs geschaut? Die liegen mitunter in derselben Größenordnung... > Reed brückt den Eingang im geschlossenen Zustand mit 47k auf Masse. Auch noch eine Größenordnung zu viel, wenn da 15m "Antenne" dran ist.
Ich nehme an, die Widerstände wurden deshalb so groß gewählt, weil die Reeds im Normalzustand (Fenster=Zu) geschlossen sind und so "strom gespart" wird (davon steht am KNX Bus auch nicht unbegrenzt zur Verfügung. Normalerweise hat man nur rund 50-100mA bei 3.3-5V... Bei 16 Eingängen kann sich das schnell aufsummieren). Auch wird das der Grund sein, warum keine Optos zum Einsatz kommen... rätsel
Alex C. schrieb: > Der Eingang am µC ist mit einem 470k PullUp auf 3.3V geschaltet. Der > Reed brückt den Eingang im geschlossenen Zustand mit 47k auf Masse. Das ist, wie schon geschrieben wurde, einfach nur grober Unfug. Mal abgesehen von der absurden Hochohmigkeit (in der Schleife fließen gerade mal 6uA) liegt auch im geschlossenen Zustand des Schalters schon ein Pegel von 0.3V am Input. Da reicht dann schon die kleinste Einstrahlung, um ein High zu erkennen. Kann der Widerstand am Reedkontakt den gewechselt werden, oder muss man mit den 47K leben?
:
Bearbeitet durch User
Ist wohl noch ein "Versuchsaufbau". Was mittlerweile unternommen wurde weiß ich nicht. Versuche das aber gerade in Erfahrung zu bringen.
> liegt auch im geschlossenen Zustand des Schalters schon ein Pegel von 0.3V > am Input. Da reicht dann schon die kleinste Einstrahlung, um ein High zu > erkennen. Im Datenblatt steht die "Input Low Voltage" beschrieben mit max. 0,6 Vcc ... Das wären bei 3,3V Betriebsspannung dann 1,98V. Für ein High sind laut Datenblatt mind. 0.8 Vcc, also 2,64V nötig. Beides ist doch recht weit weg von 0,3V.
:
Bearbeitet durch User
Hi Die Hochohmigkeit ist doch eigentlich gar nicht nötig. Klar, wenn ich auf die Reed-Kontakte nonstop Vdd gebe, geht da schon Strom durch. Wenn ich aber nur alle paar ms für nen paar µs den Pin auf High lege, reicht es doch aus, wenn ich darauf achte, daß meine 20mA (kA, was der Pin so ab kann) nicht überschritten werden. Den Rest kann man optimieren, wenn's funktioniert. Und Abrissfunken sind auch eher unwahrscheinlich, da die Zeit, in der wirklich Strom fließt, doch arg kurz ist, daß man Das 2x in seinem Leben schafft denk. Mal eine ganz andere Frage, völlig OT: Kannst Du einen Thread aufmachen, wenn Du von Deinem Kumpel erfahren kannst, wie die Treiberstufe eines KNZ-Teilnehmer aussieht? Hatte dazu Nichts gefunden und geht bei mir auch nur in die Richtung 'Hausbus', wo ich mir noch nicht ganz schlüssig bin, wie ich Den aufziehe. MfG
Die Zuverlässigkeit und Alterung von Relaiskontakten ist entgegen der intuitiven Annahme nicht etwa be minimaler Belastung am geringsten, sondern erst bei etwas höheren Spanungen und Strömen. Die Spannung dient dazu, etwaige Oxydschichten zu durchschlagen, der Strom dazu, den Dreck "wegzusprengen". Bei Reedrelais sind die nötigen Spannungen und Ströme zwar deutlich geringer als bei Relais mit offenen Kontakten, aber trotzdem nicht bei Null. Ich würde bei typischen Reedrelais daher mit ca. 5V bis 12V und einem Strom von 1mA bis 10mA arbeiten. Absolutes Gift für einen Relaiskontakt ist jedoch eine hohe kapazitive Belastung, da beim Einschalten durchaus sehr hohe Ströme fließen können. Selbst ein paar nF direkt am Kontakt können zum Kleben führen. Unabhängig davon sollte natürlich eine geeignete Eingangsbeschaltung mit Tiefpassfilter, Schmitttrigger usw. vorgesehen werden, zzgl. einer Entprellung per Timer-Interrupt, nicht durch die Relaiseingänge selbst.
Andreas S. schrieb: > Absolutes Gift für einen Relaiskontakt ist jedoch eine hohe kapazitive > Belastung, da beim Einschalten durchaus sehr hohe Ströme fließen können. > Selbst ein paar nF direkt am Kontakt können zum Kleben führen. Naja, direkte kapazitive Belastungen gibt's bei Fensterkontakten nicht. Da geht es nur darum den Status des Fensters (offen/gekippt/verriegelt) auf den (KNX-)Bus zu bringen. > Klar, wenn ich auf die Reed-Kontakte nonstop Vdd gebe, geht da schon > Strom durch. Deshalb die gepulste Prüfspannung. > Wenn ich aber nur alle paar ms für nen paar µs den Pin auf High lege, > reicht es doch aus, wenn ich darauf achte, daß meine 20mA (kA, was der > Pin so ab kann) nicht überschritten werden. > Den Rest kann man optimieren, wenn's funktioniert. > Und Abrissfunken sind auch eher unwahrscheinlich, da die Zeit, in der > wirklich Strom fließt, doch arg kurz ist, daß man Das 2x in seinem Leben > schafft denk. genau das ist die Begründung für die gepulste Prüfspannung. Ich hatte ja schon geschrieben dass damit das Risiko drastisch reduziert wird. > Kannst Du einen Thread aufmachen, wenn Du von Deinem Kumpel erfahren > kannst, wie die Treiberstufe eines KNZ-Teilnehmer aussieht? Du meinst KNX... Nicht KNZ, richtig? Nun ja, das ist easy. Guckst du hier: https://knx-user-forum.de/forum/%C3%B6ffentlicher-bereich/knx-eib-forum/diy-do-it-yourself/33016-arduino-am-knx https://knx-user-forum.de/forum/projektforen/konnekting Da kannst du dich einlesen und mitdiskutieren. Mein aktuelles Fazit bisher: 1a) ESD-Schutz durch passende TVS Dioden oder ähnliches 1b) Sofern Strom-mäßig möglich: Optos einsetzen 2) Der beste/flexibelste Schutz gegen Störeinwirkungen (z.b. Induktion durch parallel verlaufende Leitungen im Haus) ist immer noch auf der Software-seite. Tiefpass und Co. hin oder her. 3) Reed-Relais nicht dauerhaft bestromen, sondern gepulst abfragen um die Belastung der Kontakte weitestgehend zu minimieren (war ja gleich zu beginn des Threads klar)
posti schrieb: > Wenn ich aber nur alle paar ms für nen paar µs den Pin auf High lege, > reicht es doch aus, Ich habe gerade eine Überwachung gebaut, die wenig Strom brauchen soll. Der Kontakt ist im Betrieb geschlossen / bei Störung offen: Erstmal definiere ich den Anschluß am AT328 als Ausgang low, dann geht der Prof. für 8s schlafen. Aufwachen, Pin als Input mit Pullup definieren, Pegel angucken, wieder als Ausgang_Low und nächste Pause. Hätte ich Signalstörungen zu befürchten, würde ich bei positiver Erkennung in eine Schleife gehen und dreimal nachfassen, das sehe ich als selbstverständlich, wenn man solche Systeme macht. Ein Fenster samt bedienendem Menschen ist ein mechanisch träges Gebilde, auch da genügt eine Abfrage alle paar Sekunden. ---- An anderer Stelle hole ich analoge Werte, samt Zuschaltung des (stromfressenden) Teilers brauche ich 3µs. Wenn der Grenzwert erreicht ist, gehe ich in eine Schleife und hole 10 Werte mit 2ms Abstand, Oversampling. Nur, wenn dieser weitere zwei Male zutreffend ist, wird die Aktion gestartet.
"Alle paar Sekunden" prüfen ist je nach Einsatzzweck zu wenig. Es gibt im KNx Umfeld viele Echtzeit-Visualisierungen. Da wäre es störend wenn am Display oder an der Kontroll-LED erst nach z.b. 8 sek (im Worst-Case) der Status entsprechend kippt. Aber man kann hier ja durchaus interrupt-basiert arbeiten und nebenher die Prüfspannung vom µC aus pulsen. Jedesmal wenn ein interrupt ausgelöst wird schauen ob in diesem Moment auch die Prüfspannung angeschaltet war. Das dann 3x mit kleinem Zeitversatz machen und schon müsste man die Störungen los sein. Ggf. kann man sich auch mit ein wenig extra HW wie dem MAX6818 das leben in Sachen "Störungen rausfiltern" leichter machen. Der "entprellt" schon mal grundlegend, timer-basiert.
Hi Meine Erfahrungen bei KNX sind eh, daß es 'ne Sekunde braucht', bis was passiert. Nagelt mich jetzt nicht auf diese Sekunde fest, es ist aber eben nicht 'sofort'. Welches Schaltvermögen haben die Fensterkontakte? Es gibt Drehzahl-Messer auf Reed-Kontakt-Basis - da kommt der Magnet schon recht oft vorbei. Wenn ich Das auf ein Fensterflügel umlege, wird Dieser manch ein Jahr täglich mehrfach benutzt werden dürfen, bevor wir auch nur in die Nähe der garantierten Schaltspiele kommen. Hatte gerade nachgedacht, ob eine KSQ mit wenigen mA Vorteile bringt, aber unterm Strich ändert sich nur der 'Standby-Strom' - in die falsche Richtung - und Mehr als mit dem Impuls bekommen wir auch nicht erfasst. Zur Abtastrate: Speziell in diesem Fall ist eine 'sofortige' Visualisierung unnötig, aber klar, es gibt auch andere Einsätze, wo der 16-fach-Digital-In schnellere oder zeitlich kritischere Signale erfassen können muß. Die KNX-Links habe ich mir weg gepackt - sind sogar Deutsch :) Was hab ich gegoogelt - ja, im elitären KNX-Club anmelden, um mitspielen zu dürfnen, aber dazu bestand nun nicht so das Interesse - mir ging es nur um die Endstufe - wo aber auch die Dozenten auf den Lehrgängen bisher auch Nichts zu wussten - dafür waren Die in der Programmierung aber fit! Danke Dir MfG
Alex C. schrieb: > Fehler auf der langen Leitung (indizierte Fremdspannung und dergleichen) > filterst du dann rein per SW? Durch die 10-20mA Strom durch die LED hast du schon eine ziemlich niederohmige Stromschleife. Bis sich da irgendwelche Fremdspannung induziert, dauert es etwas. Außerdem mache ich bei solchen Anwendungen in den meisten Fällen bei der Abfrage des I/O-Pins eine Mehrfachabfrage. Der Pegel muss über einen definierten Zeitraum gleich sein, erst dann bewirkt eine Änderung was.
Also bei mir im KNX System dauert nicht's "ne Sekunde". Das geht "instant". wenn's mal hoch kommt sind das 300-400ms. Aber gut, anderes Thema. Wenn es um den KNX Treiberbaustein geht: OnSemi NCN5120. Im Datenblatt steht alles was du wissen musst. Die Beschaltung ist easy. Gibt noch weitere Hersteller die die gleiche Funktion in einem sehr ähnlichen Chip haben. Software gibt's u.a. hier: https://github.com/KONNEKTING Aber das hättest du beides in 5min "lesen" (ohne Registrierung im "elitären Forum" (nein, kein Club) rausfinden können. Nun aber genug offtopic ;-)
Jens P. schrieb: > Durch die 10-20mA Strom durch die LED hast du schon eine ziemlich > niederohmige Stromschleife. Bis sich da irgendwelche Fremdspannung > induziert, dauert es etwas. Danke für die Rückmeldung. 10-20mA pro Opto-LED ist leider in unserem Fall nicht möglich, da nur 50mA zur Verfügung stehen. Zumindest nicht, wenn man eine Prüfspannung für alle 16 Eingänge gleichzeitig hat. Das müsste dann schon ein "low current" Opto sein (müsste ich mal schauen ob's sowas gibt?!), und da trotzdem am besten noch pulsen und mit einem Elko puffern.
man kann ja um Strom zu sparen auch den sinnvollen 10-20mA Prüfstrom bei Bedarf vor dem Messen ein- und hinterher wieder ausschalten.
Alex C. schrieb: > Der Eingang am µC ist mit einem 470k PullUp auf 3.3V geschaltet. Der > Reed brückt den Eingang im geschlossenen Zustand mit 47k auf Masse. Dann streiche zur Verbesserung des Störbstandes mal zwei Nullen. Alex C. schrieb: > Tiefpass-Filter: Das krieg ich in Software auch hin. Lässt sich dann > auch schneller mal ändern wie den Tief-Pass in HW zu ändern. Mit einem HW-Tiefpass kannst du deutlich besser verhindern, dass kurze Störpulse überhaupt zur Überschreitung der Schaltschwelle des Eingangs führen.
Joachim B. schrieb: > man kann ja um Strom zu sparen auch den sinnvollen 10-20mA Prüfstrom bei > Bedarf vor dem Messen ein- und hinterher wieder ausschalten. ich will dir nicht zunahe treten: Aber hattest du den Thread ganz gelesen? Wurde ja schon mehrfach erwähnt die Prüf-Spannung zu pulsen... Und es geht nicht nur rein um das Strom sparen (in summe auf dauer), sondern um den Fakt, dass die Spannungsquelle im Normalfall nur 50mA für die gesamte Schaltung liefert. Mit etwas hängen und würgen auch in Richtung 100mA. Aber das ist ein anderes Thema.
Alex C. schrieb: > ich will dir nicht zunahe treten: Aber hattest du den Thread ganz > gelesen? zum Teil, aber ich lese den Thread nicht bei jeder Antwort komplett neu meine Antwort war #2 und wenn der TO weiterliest und denkt ist es klar das man auch bei 1-20mA Strom sparen kann und nicht mit µA auf 15m arbeiten muss.
Alex C. schrieb: > Wurde ja schon mehrfach erwähnt die Prüf-Spannung zu pulsen... > > Und es geht nicht nur rein um das Strom sparen (in summe auf dauer), > sondern um den Fakt, dass die Spannungsquelle im Normalfall nur 50mA für > die gesamte Schaltung liefert. Man darf sich auch an Statistik versuchen: Bekomme irgendwo eine Pseudo-Zufallszahl her und gebe diese als Zeitversatz hinzu - damit soll die Wahrscheinlichkeit gleichzeitiger Messungen verringert werden.
Alex C. schrieb: > Und es geht nicht nur rein um das Strom sparen (in summe auf dauer), > sondern um den Fakt, dass die Spannungsquelle im Normalfall nur 50mA für > die gesamte Schaltung liefert. Wieviele Schalter willst du denn Abfragen. Pro Schalter brauchst du - abhängig von deiner Leitung - bestimmt weniger als 10ms (Signale ansehen). Wenn du die Abfrageströme sequentiell aktivierst, belastest du deine Quelle mit genau einem Schalterstrom und kannst pro Sekunde locker mehr als huntert Schalter abfragen.
Alex C. schrieb: > Naja, direkte kapazitive Belastungen gibt's bei Fensterkontakten nicht. Das kann man auch anders sehen: Wolfgang schrieb: > Mit einem HW-Tiefpass kannst du deutlich besser verhindern, dass kurze > Störpulse überhaupt zur Überschreitung der Schaltschwelle des Eingangs > führen. MfG Klaus
Alex C. schrieb: > Naja, direkte kapazitive Belastungen gibt's bei Fensterkontakten nicht. und wie siehts mit den 15m Kabel aus? Jedes Kabel hat Kapazität manche mehr manche weniger und je länger desto mehr. Kein Wunder das man da mit µA keine besonders schönen Flanken hinbekommt und jeder "pups" auf der Leitung stört. Bei einem Reed Kontakt hat man zwar Zeit für die "Umladung" der Kabelkapazität und muss nicht im µs Bereich agieren, aber wie schon geschrieben wurde: Andreas S. schrieb: > Die Zuverlässigkeit und Alterung von Relaiskontakten ist entgegen der > intuitiven Annahme nicht etwa be minimaler Belastung am geringsten, > sondern erst bei etwas höheren Spanungen und Strömen. Die Spannung dient > dazu, etwaige Oxydschichten zu durchschlagen, der Strom dazu, den Dreck > "wegzusprengen". Bei Reedrelais sind die nötigen Spannungen und Ströme > zwar deutlich geringer als bei Relais mit offenen Kontakten, aber > trotzdem nicht bei Null. Ich würde bei typischen Reedrelais daher mit > ca. 5V bis 12V und einem Strom von 1mA bis 10mA arbeiten.
:
Bearbeitet durch User
Joachim B. schrieb: > > meine Antwort war #2 und wenn der TO weiterliest und denkt ist es klar > das man auch bei 1-20mA Strom sparen kann und nicht mit µA auf 15m > arbeiten muss. Logo, aber ich hatte ja auch erwähnt dass es nicht meine Schaltung ist und dass ich vielmehr allgemein mehr Info zum lösen den Problems bräuchte. Und da kam ja auch schon einiges... Manfred schrieb: > Man darf sich auch an Statistik versuchen: Bekomme irgendwo eine > Pseudo-Zufallszahl her und gebe diese als Zeitversatz hinzu - damit soll > die Wahrscheinlichkeit gleichzeitiger Messungen verringert werden. "gleichzeitiger messungen" ist das Stichwort. Aktuell sind individuelle Messungen nicht vorgesehen. Es gibt eine Prüfspannung für alle Eingänge/Kontakte. Wolfgang schrieb: > Wieviele Schalter willst du denn Abfragen. Pro Schalter brauchst du - > abhängig von deiner Leitung - bestimmt weniger als 10ms (Signale > ansehen). Wenn du die Abfrageströme sequentiell aktivierst, belastest du > deine Quelle mit genau einem Schalterstrom und kannst pro Sekunde > locker mehr als huntert Schalter abfragen. Aktuell sieht die Schaltung 16 Eingänge/Kontakte vor. Dass man deutlich besser mit dem Strom haushalten kann wenn man die Eingänge inividuell mit der Prüfspannung versorgen könnte leuchtet ein. So schlau war ich schon. Das wäre ein Punkt für rev2 der Platine. KLaus schrieb: > Alex C. schrieb: >> Naja, direkte kapazitive Belastungen gibt's bei Fensterkontakten nicht. > > Das kann man auch anders sehen: Die Kapazität durch die Leitung ist für mich eher "indirekt" (aber dennoch existent). Thorsten Legat schrieb: > Wurde schon ein Treiber wie Max485 vorgeschlagen? Nein, wieso auch? Oder wie steht ein RS-485/RS-422 Treiber im Zusammenhang mit dem Abfragen von Fensterkontekten über eine 15m Leitung quer durch's Haus? Ah, vielleicht willst du darauf hinaus, dass man weg vom Hutschienen Binäreingang, hin zum UP-Dosen-Binäreingang geht?! Okay, aber da man schon auf dem KNX Bus hängt, würde man das gleich mit KNX erschlagen statt auf RS-485 zu setzen. Aber so eine dezentrale Lösung ist nicht Teil der Lösungsfindung. Es geht um ein Hutschienengerät. Ich fasse also nochmal zusammen: * Schutz für den Pin am µC... am besten mit einem Opto * Da nur rund 50mA zur Verfügung stehen, und hier und da noch eine Status-LED vorhanden sein soll: Am besten die Prüfspannung für jeden Kontakt individuell einschaltbar machen. Prüf-Strom zwischen 1 und 20mA sollte passen. * Dazu die Prüfspannung "pulsen" um die Reed-Kontakte weiter zu entlasten und deren Lebnsdauer zu erhöhen * Ein Tiefpass/entprellen in HW schadet nicht, gefolgt von diversen Kniffen in SW (wie weiter oben schon erwähnt) die Störimpulse aussortiert Im Großen und Ganzen müsste es das gewesen sein (außer ich hab etwas bei den vielen Antworten übersehen).
Alex C. schrieb: > Nein, wieso auch? Oder wie steht ein RS-485/RS-422 Treiber im > Zusammenhang mit dem Abfragen von Fensterkontekten über eine 15m Leitung > quer durch's Haus? Ah, vielleicht willst du darauf hinaus, dass man weg > vom Hutschienen Binäreingang, hin zum UP-Dosen-Binäreingang geht?! Nö. Damit könnte man dein fickeriges Signal robust differenziell übertragen.
Thorsten Legat schrieb: > > Nö. Damit könnte man dein fickeriges Signal robust differenziell > übertragen. Das wäre auch schon mit dem KNX-Bus möglich. Aber der Anwendungsfall sieht vor, dass das "Gerät" im Verteilerschrank sitzt.
Alex C. schrieb: > Normalerweise hat man nur rund 50-100mA bei 3.3-5V... Bei 16 > Eingängen kann sich das schnell aufsummieren). Alex C. schrieb: > Der Eingang am µC ist mit einem 470k PullUp auf 3.3V geschaltet. Die 470k sind ganz großer Mist. Nimm 3,3k, das sind nur max 16mA aber um den Faktor 142 störfester. Und nochmal 10k in Reihe zum MC-Pin, um den MC zu schützen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.