Hallo Zusammen, ich versuche zur Zeit meine 10 Reedkontakte mit Hilfe eines Arduinos auszulesen. Dazu habe ich folgenden Schaltplan (Beispielhaft mit 2 Reedkontakten) erstellt. Ein durchgeführter Test war auch erfolgreich und ich konnte die States lesen. Mir sind dennoch noch einige Sachen unklar: - Ich würde den 10kOhm Widerstand so nah wie möglich an den Sensor bringen wollen - nicht an den Arduino - um z.B. mit möglichen Streukapazitäten oder anderen Peaks keine Probleme zu bekommen (siehe auch https://standexelectronics.com/wp-content/uploads/Load_Switching_and_Contact_Protection_DE.pdf). Hier habe ich jetzt aber bereits auch anderes gelesen. Widerstand so nah wie möglich an den Arduino.... Tu mich damit grad etwas schwer. - Des Weiteren würde ich den Widerstand an Ground (siehe Skizze) anlegen, statt über die 5V lane. Auch da habe ich schon gelesen, Widerstand zwischen 5V und Reedkontakt... Würde mich über jeden Support freuen. Danke! Osral
Le O. schrieb: > Dazu habe ich folgenden Schaltplan (Beispielhaft mit 2 Reedkontakten) > erstellt. Aus versehen hast du den Steckplan angehängt. Zeig mal den richtigen Schaltplan. So ist nur sehr mühselig zu verfolgen, was du da zusammengesteckt hast. > - Des Weiteren würde ich den Widerstand an Ground (siehe Skizze) > anlegen, statt über die 5V lane. Auch da habe ich schon gelesen, > Widerstand zwischen 5V und Reedkontakt... Nein, Widerstand von 5V ist schon die bessere Lösung. Um die Sache störsicherer zu machen, kannst du vor den Eingang noch einen RC-Tiefpass hängen und einen größeren Strom durch den Kontakt fließen lassen.
Le O. schrieb: > Hallo Zusammen, > > ich versuche zur Zeit meine 10 Reedkontakte mit Hilfe eines Arduinos > auszulesen. > > Dazu habe ich folgenden Schaltplan (Beispielhaft mit 2 Reedkontakten) > erstellt. > > Ein durchgeführter Test war auch erfolgreich und ich konnte die States > lesen. > > Mir sind dennoch noch einige Sachen unklar: > - Ich würde den 10kOhm Widerstand so nah wie möglich an den Sensor > bringen wollen - nicht an den Arduino - um z.B. mit möglichen > Streukapazitäten oder anderen Peaks keine Probleme zu bekommen (siehe > auch > https://standexelectronics.com/wp-content/uploads/Load_Switching_and_Contact_Protection_DE.pdf). > Hier habe ich jetzt aber bereits auch anderes gelesen. Widerstand so nah > wie möglich an den Arduino.... Tu mich damit grad etwas schwer. > > - Des Weiteren würde ich den Widerstand an Ground (siehe Skizze) > anlegen, statt über die 5V lane. Auch da habe ich schon gelesen, > Widerstand zwischen 5V und Reedkontakt... > > Würde mich über jeden Support freuen. > > Danke! Osral Hallo Osral, Aus meiner Sicht rate ich Dir wie im Anhang vorzugehen. Pullup Rs können noch etwas niedriger geraten. Ich ziehe ein paar mA vor damit die Konrakte dauerhaft zuverlässig bleiben. Falls es zu den Reedkontakten ein Datenblatt gibt, den Kontaktstrom nach deren Angaben formulieren. Zur Verbesserung der Störsicherheit empfehle ich nach dem Pullup Widerstand so nahe wie möglich zum Arduino einen 10K Strombegrenzungswiderstand und Abblock C an jeden Eingang vorzusehen. Das ist aus verschiedenen Gründen empfehlenswert. Erstens begrenzt so ein Widerstand den Eingangsstrom bei moderater Überspannung. Im Datenblatt steht, daß bei Überspannung der maximal zulässige Ableitstrom durch die inneren Dioden des uC +/-1mA betragen darf. Mit 10K sind also bei VCC=5V bis zu +15V Eingangsüberspannung und bis zu -10V zulässig. Im ausgeschalteten Zustand bis zu rund +/- 10V. Ferner wirken lange Zuleitung oft als Antennen und können den uC leicht durch externe Störeinflüsse beeinflussen, was sich in vielerlei Form w.B. unerwartete RESETs bemerkbar machen kann. (Das Schalten induktiver Lasten im Stromnetz macht sich da besonders unangenehm bemerkbar) Der 10K mit dem 1-10n C wirkt als Schutz- und Tiefpassfilter um nur den DC Wert durchzulassen. Man sollte digitale Eingänge immer zweckmäßig filtern. Ganz vorsichtige Leute verwenden sogar optische Isolatoren, speziell in industriellen Umgebungen. Die Pullupwiderstände kannst Du ruhig nahe bei den Filter RCs platzieren. Die brauchen nicht in der Nähe der Reedkontakte sein. Das bringt überhaupt nichts. Extra Zenerdioden als Spannungsbegrenzung der Eingänge sollten in Deiner Anwendung nicht notwendig sein, es sei denn Höhere Spannungen könnten erwartet werden. CMOS Eingänge haben eingebaute gegenpolige parasitische Dioden die Über- und Unterspannung nach Masse und Vcc ableiten. Eine Überspannung an einem Eingang kann bei fehlender Strombegrenzung am Eingsng über die innere Schutzdiode hach Vdd sogar den uC betreiben. Auch aus diesen Grund ist der 10K Serienwiderstsnd empfehlenswert. OK. Das wärs, Gerhard
:
Bearbeitet durch User
Gerhard O. schrieb: > Der 10K mit dem 1-10n C wirkt als Schutz- und Tiefpassfilter um nur den > DC Wert durchzulassen. Der Kondensator vom Tiefpass sollte allerdings nach Gnd gehen. Seine Aufgabe ist es NICHT, Störungen von der Versorgung auf den Eingang zu koppeln ;-)
Wolfgang schrieb: > Gerhard O. schrieb: >> Der 10K mit dem 1-10n C wirkt als Schutz- und Tiefpassfilter um nur den >> DC Wert durchzulassen. > > Der Kondensator vom Tiefpass sollte allerdings nach Gnd gehen. Seine > Aufgabe ist es NICHT, Störungen von der Versorgung auf den Eingang zu > koppeln ;-) Das hat aber den Nachteil, daß beim Einschalten der Eingang bis zur Aufladung nach unten gezogen wird und nicht vorhandene Kontaktschließungen vortäuschen könnte. Ich mache das deswegen bei nach Masse schaltenden Einhängen meist so. Allerdings könnte man aber gegenteilig behaupten, daß die Startup Zeit des uC größer wie die Aufladezeit ist. Kann man also machen wie man will. Nach Masse hin ist der Schutz natürlich besser, weil in meinen Fall diese Cs in Serie mit dem (hoffentlich) vorhandenen uC Abblock-C sind. Störungen von der Versorgung her sehe ich wegen der ohnehin vorhandenen Abblockung allerdings als weniger gefährlich.
:
Bearbeitet durch User
Gerhard O. schrieb: > Ganz vorsichtige Leute verwenden sogar optische Isolatoren, speziell in > industriellen Umgebungen. Dann nehmen solche Leute konsequenterweise aber auch 2 galvanisch getrennte Versorgungen mit 2 nicht verbundenen Massepotentialen. Gerhard O. schrieb: > Das hat aber den Nachteil, daß beim Einschalten der Eingang bis zur > Aufladung nach unten gezogen wird Im Allgemeinen dauert aber schon die Initialisierung des uC weit länger als die Zeit, die der Kondensator zum Aufladen braucht...
Danke euch für die guten Ratschläge und der Hilfe! Das reicht mir als Input zur weiteren Entwicklung. Osral
Gerhard O. schrieb: > Das hat aber den Nachteil, daß beim Einschalten der Eingang bis zur > Aufladung nach unten gezogen wird und nicht vorhandene > Kontaktschließungen vortäuschen könnte. Ich mache das deswegen bei nach > Masse schaltenden Einhängen meist so. Beim Einschalten passiert überhaupt nichts, wenn sich der Arduino erst mit einer gewissen Verzögerung der Auswertung der Eingänge hingibt.
Wolfgang schrieb: > Gerhard O. schrieb: >> Das hat aber den Nachteil, daß beim Einschalten der Eingang bis zur >> Aufladung nach unten gezogen wird und nicht vorhandene >> Kontaktschließungen vortäuschen könnte. Ich mache das deswegen bei nach >> Masse schaltenden Einhängen meist so. > > Beim Einschalten passiert überhaupt nichts, wenn sich der Arduino erst > mit einer gewissen Verzögerung der Auswertung der Eingänge hingibt. Naja, Nicht jeder verwendet BL und Arduino. Viele meiner anderen uC ohne BL starten beträchtlich schneller. Du hast natürlich im Zusammenhang vollkommen recht und in der Praxis funktioniert es auch erwartungsgemäß. Nur weil es beim uC wegen seinem Einschaltverhalten nichts ausmacht, bedeutet es aber nicht unbedingt, daß es eine technisch einwandfreie Design Methode ist. Ich vergaß übrigens vorher zu bemerken, daß es mit dem 10K Serienwiderstand zweckmäßig ist, aufzupassen, daß die internen Pullups nicht aktiviert sind um einen Spannungsteiler Effekt mit den internen Wert von 60kOhm zu vermeiden. Was mich betrifft mache ich es schon seit vielen Jahren anders, weil es mir besser erschien. Zusätzlich kommt dazu, daß ich vor dem uC Zeitalter viel mit diskreter CMOS Logik konstruierte, wo auf Masse gelegte Siebglieder beim Einschalten ohne vorherige Abhilfemaßnahmen fast immer ein funktionelles Fehlverhalten verursachen würden. Ist halt meine Ansicht:-)
Hello everyone I recommend it to everyone who is interested dollar exchange rate watch video about how how to correctly determine price levels https://images.google.com.ua/url?q=https://zen.yandex.ru/id/624de090017055216cee8179 https://www.google.com.sa/url?q=https://zen.yandex.ru/id/624de090017055216cee8179 http://google.com.tn/url?q=https://zen.yandex.ru/id/624de090017055216cee8179 I hope it will be useful to you information and you can always earn a lot of money . Thanks a lot to all our users and team! I hope we will develop together.
Gerhard O. schrieb: > Naja, > Nicht jeder verwendet BL und Arduino. Worum geht es denn hier sonst? Le O. schrieb: > ich versuche zur Zeit meine 10 Reedkontakte mit Hilfe eines Arduinos > auszulesen.
Gerhard O. schrieb: > Nicht jeder verwendet BL und Arduino. Viele meiner anderen uC ohne BL > starten beträchtlich schneller. Meine Akküberwachung habe ich vor ein paar Jahren ans Netz gesteckt, seitdem läuft der Arduino durch. Da ist es mir vollkommen egal, dass der damals vielleicht 2 Sekunden für den Start benötigt hat. In der Ursprungsfrage fehlt eine Beschreibung der Anwendung, Häufigkeit und Länge der Schaltersignale. Generell ist es eine gute Idee, den Stromkreis niederohmig zu gestalten und zusätzlich einen Kondensator vorzusehen. Wenn der Ablauf langsam ist, Tür- oder Fensterkontakte, würde ich auf jeden Fall zusätzlich eine Filterung per Software machen. Ähnlich einer Tastenentprellung noch langsamer, da stören 500ms Schaltverzug niemanden.
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.