Hallo, Ich habe ein 12V Signal, welches über einem Optokoppler geschliffen wird, damit der Arduino erkennen kann, ob auf der Leitung ein Signal anliegt oder auch nicht. Das 12V Signal wird über einem Taster geschalten, beudetet, entweder liegt eine Spannung von 12V an, oder es liegt gar nichts an (auch nicht GND). Das 12V Kabel hat bis zum Optokoppler etwa eine Leitungslänge von 20m. Am Arduino ist der interne PullUp Widerstand aktiviert. Nun meine Frage: Kann es durch äussere Einflüsse passieren, dass auf der Leitung so viel Strom anliegt, dass der Arduino ein Signal erkennt (durch Magnetfeld etc...?), obwohl der Schalter nicht gedrückt ist? Die Leitungen für die Taster liegen in einem eigenem Schlauch, somit nicht direkt bei 230V Leitungen. Laut meinen Tests erkennt der Arduino das Signal bereits, sobald auf der 12V Leitung 0,4mA anliegen (verschiedene Widerstande durchprobiert). Bei der 12V Leitung liegt keine GND Leitung, sondern rein nur die Ader mit 12V. Oder macht es Sinn, das GND Kabel bis zum Taster mitzuführen, so dass entweder 12V oder GND anliegt? Sollte das Kabel eine bestimmte Isolierung aufweisen? ich habe das wichtigste als Schaltplan angehängt. Danke!
Thomas schrieb: > Nun meine Frage: Kann es durch äussere Einflüsse passieren, dass auf der > Leitung so viel Strom anliegt, dass der Arduino ein Signal erkennt > (durch Magnetfeld etc...?), obwohl der Schalter nicht gedrückt ist? ja mache deine Schaltung unempfindlicher, mehr Strom durch die LED und weniger CTR bei kleinerem pullup am Arduino
Wie viel Strom bei 12V sollte man durch die Leitung schicken, damit ich auf der sicheren Seite bin? Hilft eventuell ein Kondensator vor dem Optokoppler?
Thomas schrieb: > Wie viel Strom bei 12V sollte man durch die Leitung schicken, damit ich > auf der sicheren Seite bin? Ich würde diesen Wert nach dem Hersteller richten, Datenblatt...
Thomas schrieb: > Bei der 12V Leitung liegt keine GND Leitung, sondern rein nur die Ader > mit 12V. Wie soll den dann der Stromkreis geschlossen werden? Über die Erde? Ob es zu Störungen kommt, hängt hauptsächlich davon ab, wo die Leitung verläuft. Unter der Erde gibt es wohl kaum ein Problem, direkt neben einer 50Hz-Starkstromleitung oder einer Mobilfunkstation dagegen schon. 20m sind aber keine wirklich lange Leitung und 0.4 mA ein nicht ganz so kleiner Strom. Eine einfache Lösung wäre es, den Abschlusswiderstand durch Parallelschaltung eines Widerstands zum Optokoppler zu vermindern. Eine einfache Lösung könnte auch per Software erfolgen: Ein Signal wird erst als gültig erkannt, wenn es eine Zeitlang, z.B. 100ms lang ununterbrochen ansteht. Damit werden eventuelle Handy- oder 50Hz-Einkopplungen ausgeblendet.
Thomas schrieb: > Wie viel Strom bei 12V sollte man durch die Leitung schicken, damit ich > auf der sicheren Seite bin? Die 0.4mA sind zwar nicht gerade viel Strom, trotzdem wundert mich, dass der Arduinoeingang nicht schon viel früher schaltet. Es sieht ja so aus, dass du den internen Pullup des Eingangs verwendest. Der EL817 hat >50% CTR. Mit 2-5mA auf der LED-Seite und einem Pullup am Kollektor für 1-2mA sollte Ruhe sein. Ein kleines C parallel zur LED wird nicht schaden, sollte aber nicht notwendig sein.
Thomas schrieb: [..] > Nun meine Frage: Kann es durch äussere Einflüsse passieren, dass auf der > Leitung so viel Strom anliegt, dass der Arduino ein Signal erkennt > (durch Magnetfeld etc...?), obwohl der Schalter nicht gedrückt ist? Ja, aber es gibt viele Möglichkeiten das zu verhindern, manches wurde ja schon gesagt. > [..] > ich habe das wichtigste als Schaltplan angehängt. Na ja, die GND-Leitung im Kabel fehlt. Und da wären wir bei der ersten Maßnahme: 1. Fläche der Leiterschleife so klein wie möglich halten, d.h. GND bie der Signalleitung führen, im Idealfall verdrillt. 2. Mehr Strom. Generell: ein eingeprägter Strom ist fast immer besser als eine Spannung. 3. Tiefpass-Filtern, z.B. mit einem Kondensator. Nicht erst serkundär, sondern auf der LED-Seite des Optokopplers. Hängt natürlich davon ab, wie schnell das sein muss. Wenn du Millisekunden Zeit hast es einfach. 4. Schaltpunkt! Du willst ja eine Spannung detektieren. Da ist es doof, wenn die LED schon bei kleinen Spannungen beginnt zu leuchten. Schalte eine Z-Diode in Serie zur LED. Dann kannst du diese Spannung z.B. auf 6V legen und hast so mindestens 6V Störabstand.
Das wäre so eine Lösung, die beim Thema "overengineered" in vorderer Reihe stünde... Achso, und selbstverständlich kommt dann sekundär noch ein Schmitt Trigger hin...
Thomas schrieb: > Nun meine Frage: Kann es durch äussere Einflüsse passieren, dass auf der > Leitung so viel Strom anliegt, dass der Arduino ein Signal erkennt Ja, das Kabel ist eine Antenne. > (durch Magnetfeld etc...?), obwohl der Schalter nicht gedrückt ist? Thomas schrieb: > Laut meinen Tests erkennt der Arduino das Signal bereits, sobald auf der > 12V Leitung 0,4mA anliegen Richtig. Ein Optokoppler transportiert den Strom, dein Everlight817 von 50-600%, d.h. wenn 0.4mA durch die LED fliessen, fliessen 0.2mA bis 2.4mA aus dem uC-Eingang nach Masse, was beim internen pull up von ca. 90k ausreicht, um das Signal auf low zu drücken. Einfache Abhilfe: Bastel einen kleineren pull up Widerstand extern an den uC Eingang, z.B. 1k, dann fliessen 5mA, und die LED braucht 1 bis 10mA damit sie den Eingang aktivieren kann. R1 müsste dann auch auf 1k gesetzt werden, damit die LED genügend Strom bekommt. Noch eine Abhilfe: Ein Ferritring (die üblichen Knubbel an Computerleitungen) durch den die beiden Zuleitungen (Signal und Masse) der LED gesteckt werden. Dann dient die Leitung nicht mehr als UKW Antenne. Weitere Abhilfe: auch gegen kurze Impulse, ein Kondensator parallel zur LED. Der darf natürlich nur so gross sein, daß deine kürzesten Impulse auch übertragen werden können.
Tilo R. schrieb: > Das wäre so eine Lösung, die beim Thema "overengineered" in vorderer > Reihe stünde... Ja, ganz bestimmmt. Und zwar so overengineered, dass D1 die eigentlich geplante Funktion erfolgreich verhindert.
Thomas schrieb: > Nun meine Frage: Kann es durch äussere Einflüsse passieren, dass auf der > Leitung so viel Strom anliegt, dass der Arduino ein Signal erkennt > (durch Magnetfeld etc...?), obwohl der Schalter nicht gedrückt ist? Die richtige Frage muss lauten: Sind deine äußeren Einflüsse so kräftig, dass die LED im Optokoppler ausreichend stark leuchtet. Wenn du da mit Ungemach rechnest, helfen die üblichen Schutzmaßnahmen Leitungen verdrillen/schirmen, TVS und Tiefpass. Un da kommt es auf deine äußeren Einflüsse an. Wenn ich einen Leuchtstoffröhre direkt neben einen Antenne halte, leuchtet die beim Senden schon mal.
Wenn links und rechts vom Optokoppler die selbe Masse ist, dann ist der Optokoppler in den allermeisten Fällen unnötig. Denn gerade über die nicht gezeichnete, aber ebenfalls 20m lange Masseleitung koppeln auch Störungen ein. Und die sind sogar noch schlimmer als das bisschen Gezappel auf der Signalleitung, denn Störungen auf der Masse betreffen die gesamte Schaltung, nicht nur ein einzelnes Signal... Denn eine Signaleinkopplung kann auch mit RC (Widerstände+Kondensatoren) oder RCD (Widerstände+Kondensatoren+Dioden) Kombinationen (zer)störsicher gemacht werden. Joe F. schrieb: > Und zwar so overengineered, dass D1 die eigentlich geplante Funktion > erfolgreich verhindert. Da ist vermutlich statt der dargestellten Schottkydiode eine Z-Diode gemeint, die den Schaltpegel anheben soll.
:
Bearbeitet durch Moderator
In der Bühnentechnik (Midi) werden die Signale nach diesem Prinzip übertragen. Da verwenden sie allerdings 20mA für die LED des Optokopplers und einen geringeren Pull-Up Widerstand.
Lothar M. schrieb: > Joe F. schrieb: >> Und zwar so overengineered, dass D1 die eigentlich geplante Funktion >> erfolgreich verhindert. > Da ist vermutlich statt der dargestellten Schottkydiode eine Z-Diode > gemeint, die den Schaltpegel anheben soll. Ja, sorry, mein Fehler. Sollte eine Z-Diode sein.
Thomas schrieb: > Das 12V Signal wird über einem Taster geschalten, beudetet, entweder > liegt eine Spannung von 12V an, oder es liegt gar nichts an Aber diese geschalteten 12V haben schon die selbe Masse wie dein Controller? Denn sonst funktioniert das nicht so ohne Weiteres...
:
Bearbeitet durch Moderator
Tilo Renz schrieb: > Lothar M. schrieb: >> Joe F. schrieb: >>> Und zwar so overengineered, dass D1 die eigentlich geplante Funktion >>> erfolgreich verhindert. >> Da ist vermutlich statt der dargestellten Schottkydiode eine Z-Diode >> gemeint, die den Schaltpegel anheben soll. > > Ja, sorry, mein Fehler. Sollte eine Z-Diode sein. Hey: ergab sich aus dem Kontext, konnte nur eine 6V Z-Diode sein. Tilo R. schrieb: > 4. Schaltpunkt! Du willst ja eine Spannung detektieren. Da ist es doof, > wenn die LED schon bei kleinen Spannungen beginnt zu leuchten. > => Schalte eine Z-Diode in Serie zur LED <=. > Dann kannst du diese Spannung z.B. auf 6V > legen und hast so mindestens 6V Störabstand. Äxl
Lothar M. schrieb: > Aber diese geschalteten 12V haben schon die selbe Masse wie dein > Controller? Denn sonst funktioniert das nicht so ohne Weiteres... wie meinst du das? natürlich funktioniert das auch bei getrennten Massen, warum auch nicht. Opto LED Strom eine Masse, die der 12V Opto Transistor andere Masse, die vom Arduino
:
Bearbeitet durch User
Joachim B. schrieb: > wie meinst du das? > natürlich funktioniert das auch bei getrennten Massen, warum auch nicht. Ich meinte es so, dass im Bild vom TO nur bei gemeinsamer Masse ein Strom von den 12V in die Masse vom µC fließen kann, die da rechts und links am Optokoppler angeschlaossen ist. Aber das ist einfach ein Problem der partiellen Schaltpläne, die die Versorgung der Komponenten aussen vor lassen... Ich würde es im Fall hier etwa so machen:
1 | 12V |
2 | | |
3 | o--------//----------------------------o-----[12V->5V]-- µC-Versorgung |
4 | Schalter / ____2k2 ___2k2 |
5 | o--------//---|____|--o------o-----o--|___|------------- µC-Pin |
6 | | | | |
7 | - | ,- |
8 | | | === ^ |
9 | | | | | |
10 | - | | |
11 | | | | |
12 | '------o-----o---o---------------- µC-GND |
13 | 2k2 100n 5V1 | |
14 | --- |
15 | GND |
Ich muss mich übrigens revidieren: im obersten Bild wird nicht die Masse zum Schalter geführt, sondern die Versorgung und deshalb werden die Störungen natürlich dort eingekoppelt. Das ist aber egal, denn störpotentialmäßig ist die Versorgung auch die Masse.
:
Bearbeitet durch Moderator
Hallo, danke für all eure Antworten! Habe habe meinen Plan in meinem ersten Beitrag etwas minimal gehalten, habe eben noch einen Plan gezeichnet, wie es derzeit auf meiner Lochrasterplatine aussieht. Es geht hier nicht nur um einen Schalter, sondern um mehrere. Schalter & Arduino würde ich gerne getrennt lassen, es sind also 2 Spannungsquellen. Ich frage mich nur, wie ich da die GND Leitung mitschleifen kann? An einem Ende knüpfe ich am GND der Spannungsquelle an, und das andere Ende? Danke!
Nimm eine verdrillte 2adrige Leitung zu jedem Taster/Schalter. Die 12V und die Masse klemmst du an deiner Platine mit den Optokopplern an die Leitung.
Vielleicht erklärst du mal C2, C4 und C6? IMHO entladen sich die bis knapp unter die Flussspannung der LEDs und machen dann das Ganze superempfindlich. Wenn schon (Tastenstom zur Kontaktreinigung?), dann muss parallel zu den LEDs auch noch ein R, damit sie die Cs auch wieder entladen können. Ich würde diese Cs weglassen und stattdessen parallel zu C1, C3 u. C5 einen Widerstand legen. Auch sind die 10k (R1 ff.) zu groß, lieber etwas mehr Strom und damit niederohmiger. Das verbessert die Störempfindlichkeit. Zu den GNDs: Wenn du schon Optokoppler verwenden willst, dann trenne auch die GNDs. Den GND der 12V führst du dann auf die Platine mit den OKs. Die +12V zu den Schaltern, wie gezeichnet. Und verwende an den Kollektoren externe Pullups auf die Prozessorspannung, nicht die internen des Prozessors. Mach die so niederohmig, dass der Kollektor noch schaltet, beim EL817 muss mindestens 50% des LED-Stromes fließen können. Es gibt den 817 auch selektiert mit höherem und enger begrenztem CTR, z.B. den 817A mit CTR von 80...160. Wenn du die Optokoppler einsparen willst, dann nimm die Variant von Lothar Miller.
Thomas schrieb: > Ich frage mich nur, wie ich da die GND Leitung mitschleifen kann? Du musst doch gar keinen GND mitschleifen, sondern die 12V. Du musst allerdings die 12V-Masse mit der 5V-Masse verbinden. Ich würde einfach empfehlen, in den Schaltplan die Spannungsquelle mit einzuzeichnen. Dann sieht man leichter, ob ein Stromkreis geschlossen ist oder nicht. Die 10k sind zu hochohmig bei einem garantierten "Current transfer ratio CTR : MIN. 50% at IF=5 mA, VCE=5V" laut Datenblatt, weil damit der Diodenstrom irgendwo im zufälligen und undefinierten Bereich ist. Ich empfehle sehr, das Datenblatt auch zu lesen und vor allem versuchen zu verstehen. Denn dort drin ist die Grundlage für die Funktion deiner Schaltung. Und wie gesagt: die Optokoppler sind vollkommen unnötig, wenn die beiden Massen sowieso verbunden sind. Aber auf der anderen Seite kann man so den Wissenstand des Entwicklers zum Zeitpunkt der Entwicklung leichter abschätzen und seine Fehlersuche dementsprechend ausrichten...
:
Bearbeitet durch Moderator
Hallo, Lothar M. schrieb: > Und wie gesagt: die Optokoppler sind vollkommen unnötig, wenn die > beiden Massen sowieso verbunden sind. Nein, beide Massen sind nicht verbunden, daher der Optokoppler. Der Andere schrieb: > Die 12V und die Masse klemmst du an deiner Platine mit den Optokopplern > an die Leitung. Die Masse des Optokopplers habe ich mitlerweile fest verlötet, kann man es auch so machen, wie ich es in der Grafik dargstellt habe? (um die Störempfindlichkeit zu verbessern) HildeK schrieb: > Vielleicht erklärst du mal C2, C4 und C6? IMHO entladen sich die bis > knapp unter die Flussspannung der LEDs und machen dann das Ganze > superempfindlich. > Wenn schon (Tastenstom zur Kontaktreinigung?), dann muss parallel zu den LEDs auch noch ein R, damit sie die Cs auch wieder entladen können. Korrekt, zur Kontaktreinigung. Entladen sich diese nicht über den Optokoppler?
Thomas schrieb: > Hallo, > > Lothar M. schrieb: >> Und wie gesagt: die Optokoppler sind vollkommen unnötig, wenn die >> beiden Massen sowieso verbunden sind. > > Nein, beide Massen sind nicht verbunden Warum zeichnest du es dann so? Jetzt schon mehrfach! Zeichne deine 12V Spannungsquelle ein. Eine Spannungsquelle hat zwei Anschlüsse. Der negative Pol dieser Spannungsquelle muß mit der Kathode des Optokopplers verbunden werden. Der positive Pol über den Taster und mindestens einen Vorwiderstand mit der Anode. Wenn du einen Optokoppler steuerst, müssen da also zwei Leitungen hin gehen. Bei dreien brauchst du natürlich den Minuspol der 12V Quelle nur einmal hinzuführen. > Die Masse des Optokopplers habe ich mitlerweile fest verlötet Ein Optokoppler hat keinen "Masse" Anschluß! Er hat auf der Eingangsseite zwei Anschlüsse, das sind die Anode und Kathode einer (Infrarot-)LED.
Thomas schrieb: > Nein, beide Massen sind nicht verbunden, daher der Optokoppler. Dann musst du im Schaltplan aber unterschiedliche Massesymbole verwenden! > Nein, beide Massen sind nicht verbunden, daher der Optokoppler. Und du darfst sie auch nicht verbinden, oder? > Entladen sich diese nicht über den Optokoppler? Sieh dir mal die Kennline der Optokoppler-LED im Optokoppler-Datenblatt an. Welcher Strom fließt da bei Uf=1V oder bei 0,8V? Wie lange braucht also der Kondensator, bis er entladen ist?
:
Bearbeitet durch Moderator
Thomas schrieb: > Entladen sich diese nicht über den > Optokoppler? Wenn du lange genug wartest, dann möglicherweise schon, auch schon wegen der Selbstentladung. Die LED dürfte bei sehr kleinen Strömen ca. 1V Flussspannung haben. Und viel weiter entlädt sich das C dann nicht, außer du wartest lange. Dann brauchst du nur eine etwas energiereichere Einkopplung von 200-300mV Amplitude und schon gibt die LED Licht ab. Mach wenigstens parallel zum C eine R - 1k oder auch 10k (tau = 10ms) reichen, wenn die Tasten manuell betätigt werden. Und, entgegen vereinzelter Ansichten: die blauen Leitungen am Schalter vorbei sind nett, aber nicht notwendig. Gib den LEDs ausreichend Strom, nimm einen 817A und verwende den minimal möglichen Pullup-R am OK-Kollektor. LED-Strom * CTRmin = Ic; Rc = 5V/Ic, mit Zahlen (817A): 4mA*0.8 = 3.2mA; Rc = 1.56kΩ, wähle 1.8k. Fertig.
Thomas schrieb: > Ich frage mich nur, wie ich da die GND Leitung mitschleifen kann? An > einem Ende knüpfe ich am GND der Spannungsquelle an, und das andere > Ende? es gibt 2 Spannungsquellen! solange du nicht verräts ob 12V GND UND 5V GND identisch sind kann man nicht sinnvoll antworten
Joachim B. schrieb: > solange du nicht verräts ob 12V GND UND 5V GND identisch sind kann man > nicht sinnvoll antworten Hat er doch getan: Thomas schrieb: > Nein, beide Massen sind nicht verbunden, daher der Optokoppler.
Sorry für die Verwirrungen wegen den Spannungsquellen, wusste nur nicht, wie ich es in der Grafik einzeichnen sollen. Der Optokoppler ist absicht und soll auch bleiben. Habe jetzt noch beim 1uF Kondensator einen Widerstand von 10k eingefügt, damit sich dieser auch wieder komplett entladen kann. HildeK schrieb: > Und, entgegen vereinzelter Ansichten: die blauen Leitungen am Schalter > vorbei sind nett, aber nicht notwendig. Ich werde Sie einfach mitführen, Schaden wird es nicht. Kann ich vom GND das Anfang und Ende der Leitung von der gleichen Stelle entnehmen und bis zum Schalter führen, so wie es in der Grafik zu sehen ist? Ist es mit einfachen mitteln möglich, externe Störquellen zu testen? Um den Unterschied mit und ohne GND Leitung feststellen zu können? Danke
... und einen externen PullUp werde ich noch einbauen, damit etwas mehr mA nötig sind, um den Schalter zu aktivieren. ist es generell besser, einen PullUp oder PullDown zu verwenden? Ein PullUp zieht ja ständig Strom, wenn der Schalter nicht gedrückt ist, ein Pulldown nicht, oder liege ich da falsch?
Thomas schrieb: > ist es generell besser, einen PullUp oder PullDown zu verwenden? Wofür? > oder liege ich da falsch? Du verwechselst da grundlegend was. Ein Pullup sorgt wie ein Pulldown lediglich dafür, dass ein offener Eingang einen definierten Pegel hat. Welcher davon besser geeignet ist, hängt von den konkreten Schaltung ab.
:
Bearbeitet durch Moderator
U. U. würde ich den Optokoppler 6N136 nehmen. Falls High/null Volt am Ausgang erforderlich, mit Nachbeschaltung durch einen weiteren Transistor.
...habe zufälligerweise gerade heute so eine Schaltung aufgebaut.
juergen schrieb: > Wie ist das damit? Was für einen Vorteil hat der Transistor vor dem Optokoppler? Zu meiner obigen letzten Schaltung: kann ich den GND ohne einen Verbraucher einfach wie auf der Schaltung durch das Kabel zum Schalter und zurück mitziehen?
Lothar M. schrieb: > Thomas schrieb: >> ist es generell besser, einen PullUp oder PullDown zu verwenden? > Wofür? Pullup vor dem Eingang am Arduino.
Thomas schrieb: > Ist es mit einfachen mitteln möglich, externe Störquellen zu testen? Um > den Unterschied mit und ohne GND Leitung feststellen zu können? Du könntest parallel zu den Tasterleitungen ein Netzkabel legen und dann am Ende einen Lötkolben, eine Flex, eine Leuchtstofflampe, Lampe mit Dimmer, Kühlschrank - alles möglichst alte Geräte :-) - wiederholt ein- und ausschalten. Ist alles unwissenschaftlich, aber kann wenn die Schaltung das alles aushält, dann ist es schon mal nicht schlecht. Aber die Hinweise, der OK-LED einen größeren Strom zu verpassen natürlich in Verbund mit einem niederohmigen Kollektorwiderstand am OK-Transistor, und ggf. die 12V vom Schalter mit einem Teiler zu versehen, die ignorierst du?
juergen schrieb: > Wie ist das damit? Der Transistor ist, vorsichtig ausgedrückt, völlig überflüssig. Was war deine Intention?
HildeK schrieb: > Aber die Hinweise, der OK-LED einen größeren Strom zu verpassen > natürlich in Verbund mit einem niederohmigen Kollektorwiderstand am > OK-Transistor, und ggf. die 12V vom Schalter mit einem Teiler zu > versehen, die ignorierst du? Nein, ignoriere ich nicht. Den Widerstand vor dem OK zu verkleinern und dem Arduino einem Pullup mit entsprechenden Widerstand habe ich vor, damit der Eingang erst bei etwa 4mA reagiert.
HildeK schrieb: > juergen schrieb: >> Wie ist das damit? > > Der Transistor ist, vorsichtig ausgedrückt, völlig überflüssig. Möglich? Aber Störsicherheit ist damit auf jeden Fall gegeben!
Thomas schrieb: > Nein, ignoriere ich nicht. Den Widerstand vor dem OK zu verkleinern und > dem Arduino einem Pullup mit entsprechenden Widerstand habe ich vor, > damit der Eingang erst bei etwa 4mA reagiert. Warum machst du das an den Strömen fest? Warum nicht an der Spannung am Eingang?
juergen schrieb: > Möglich? Aber Störsicherheit ist damit auf jeden Fall gegeben! Meiner Ansicht nach wird sie dadurch kleiner. Der Transistor reagiert an der Basis schon ab 0.6V, die LED ab ca. 1V. Außerdem verstärkt dein Transistor eine eingekoppelte Störung noch. Den Rest der Basisbeschaltung kannst du an der LED auch anbringen. War ja der Vorschlag schon mehrfach. juergen schrieb: > Warum machst du das an den Strömen fest? Warum nicht an der Spannung am > Eingang? Wenn für das Auslösen ein gewisser Strom gebraucht wird, dann heißt das, die Schaltung ist niederohmiger und man benötigt eine gewisse Leistung, damit sie aktiv wird. Eine 12V-Quelle liefert die paar mA ohne weiteres, ein Störquelle nicht. Du könntest jetzt den LED-Strom auf 100µA einstellen und den Arbeitswiderstand am Kollektor auf 50kΩ. Oder du nimmst 5mA und hast als Arbeitswiderstand 1kΩ. Beides geht bei CTR=100%. Aber die erste Variante schaltet bei eingekoppelten 200µA, die zweite noch lange nicht. Deshalb auch der Teiler, die geschalteten 12V sollten z.B. 1:1 oder auch 1:2 runtergeteilt werden. Der Spannungsteiler belastet dadurch auch eingestreute Störungen bei offenem Schalter und die müssten viel energiereicher sein, damit sie wirken. Das ist ja auch bei deinem Spannungsteiler an der Basis so.
Hab mal mit ein paar Geräte die Störungen getestet. Ein 2200W Fön, ein Wasserkocher und ein Lötkolben. Eine Störungen ist dabei nicht entstanden. Mit Arbeitswiderstand meinst du den Pullup am Pin Eingang oder?
So ist der Test auch Harmlos, weil in diesem Kabel Hin-Leiter und Rück-Leiter direkt nebeneinander verlaufen. Deren Magnetfelder löschen sich gegenseitig aus. Interessanter sind elektromagnetische Felder, die von Funken ausgehen. Alte Leuchtstoffröhren mit Bimetall-Starter und Drosselspule waren dafür zum Beispiel bekannt. Oder Fotoapparate mit Xenon Blitzer. Manche Geräte lassen sich durch die Piezo-Zünder von Feuerzeugen stören. Und natürlich der Klassiker: Handy daneben legen und sich anrufen lassen.
Stefan U. schrieb: > Und natürlich der Klassiker: Handy daneben legen und sich anrufen > lassen. Ok, geht aber genauso wenn ich jemanden Anrufe oder? (mobilbox,...)
Thomas schrieb: > Sorry für die Verwirrungen wegen den Spannungsquellen, wusste nur nicht, > wie ich es in der Grafik einzeichnen sollen. es gibt verschiedene GND Symbole bei eagle, z.B. AGND dann darf das auch 2 Netze sein und jeder erkennt das die nicht verbunden sind.
Thomas schrieb: > Habe jetzt noch beim 1uF Kondensator einen Widerstand von 10k eingefügt, > damit sich dieser auch wieder komplett entladen kann. Traust du der LED nicht zu, den Kondensator leer zu kriegen?
HildeK schrieb: > Die LED dürfte bei sehr kleinen Strömen ca. 1V Flussspannung haben. Und > viel weiter entlädt sich das C dann nicht, außer du wartest lange. Dann > brauchst du nur eine etwas energiereichere Einkopplung von 200-300mV > Amplitude und schon gibt die LED Licht ab. Mach wenigstens parallel zum > C eine R - 1k oder auch 10k (tau = 10ms) reichen, wenn die Tasten > manuell betätigt werden. Wolfgang schrieb: > Traust du der LED nicht zu, den Kondensator leer zu kriegen? Na was nun? Brauche ich hier einen Widerstand oder nicht?
Thomas schrieb: > Na was nun? Brauche ich hier einen Widerstand oder nicht? Nicht zum Entladen des Kondensators, aber um den minimal nötigen Strom zu erhöhen.
Hier mein Vorschlag... Den C im Eingangskreis würde ich mit 0,47 µ ansetzen...
Ich würd statt Optokoppler einen Akustikkoppler verwenden. An die 12V kommt eine klassische elektromechanische Klingel und daneben ein Mikrophon, direkt an den Arduino. Wenn die Klingel dann losgeht, reicht die Spannung vom Mikrophon bestimmt für genügend Eingangssignal. Meine Haustürklingel läßt sich von Störungen oder einem Handy nicht aus der Ruhe bringen;) MfG Klaus
Klaus schrieb: > Ich würd statt Optokoppler einen Akustikkoppler verwenden. also wenn schon dann in den PC, eine FFT machen und vergleichen mit dem richtigen Klingelmuster
juergen schrieb: > Wie ist das damit? Ja das ist gut. Der Transistor verstärkt auch kleinste Störungen dann direkt auf ein Level, dass der Arduino es auch mitkriegt. Applaus. Aber was war nochmal die Frage?
:
Bearbeitet durch User
> Hier mein Vorschlag...
Der interne Pull-Up Widerstand im Mikrocontroller hat sicher weit mehr
als 1k Ohm. Daher würde ich Platz für einen externen Pull-Up Widerstand
vorsehen.
Danke für all eure Vorschläge, habt mir damit sehr weitergeholfen!
Klaus schrieb: > Meine > Haustürklingel läßt sich von Störungen oder einem Handy nicht aus der > Ruhe bringen;) Aber der Arduino erschreckt sich sicher von der Türklingel. Gruß Anja
Mani W. schrieb: > Hier mein Vorschlag... Warum 25mA für die OK-LED? Auch wenn die Maximum Ratings 50mA als Limit nennen, ich finde das übermäßig viel für diese Anwendung.
Joe F. schrieb: > juergen schrieb: >> Wie ist das damit? > > Ja das ist gut. Der Transistor verstärkt auch kleinste Störungen dann > direkt auf ein Level, dass der Arduino es auch mitkriegt. > Applaus. Das glaube ich gar nicht mal. Man könnte aber auch noch zusätzlich, wenn das beruhigt, einen Kondensator parallel zu dem 3KOhm-Widerstand schalten. Dann kann gar nichts mehr passieren. Probiers' doch einfach mal aus! > Aber was war nochmal die Frage? Störsicherheit! Den Vorschlag von Mani W. finde ich gut. Mit 470 Ohm fließt schon mal vernünftig Strom durch die LED im Optokoppler und die Schaltung dürfte so auch höchstwahrscheinlich störsicher sein, auch mit 20m Leitung. Falls nicht, würde ich das mit dem zusätzlichen Transistor probieren. Ob der Transistor im Optokoppler die Spannung am Pull Up-Widerstand soweit wie nötig runterziehen kann, ist auch nicht unbedingt gesagt. Fraglich, ob dafür genügend Basisstrom generiert werden kann. Falls nicht, müßte noch eine Verstärkerschaltung am Ausgang folgen. Dann am besten mit dem Optokoppler 6N136. Dann wären am Ausgang 5V und 0V für high und low möglich.
juergen schrieb: > Ob der Transistor im Optokoppler die Spannung am Pull Up-Widerstand > soweit wie nötig runterziehen kann, ist auch nicht unbedingt gesagt. > Fraglich, ob dafür genügend Basisstrom generiert werden kann. Natürlich kann er das. CTR ist > 50%, beim A-Typ >80%. 1k an 5V sind 5mA, dafür braucht man dann einen LED-Strom von >10mA bzw. beim A-Typ von >6.25mA. Also: Verstärker am Ausgang überflüssig!
juergen schrieb: > Dann kann gar nichts mehr passieren. Probiers' doch einfach mal aus! > >> Aber was war nochmal die Frage? > > Störsicherheit! Erläutere doch bitte mal, wie der Transistor die Störsicherheit erhöhen soll. Ich komme nicht dahinter.
Joe F. schrieb: > Erläutere doch bitte mal, wie der Transistor die Störsicherheit erhöhen > soll. Ich komme nicht dahinter. Ja bitte, für mich auch! Ich hatte ja weiter oben schon mal versucht darzustellen, warum ich glaube, dass sie dadurch sogar geringer wird.
juergen schrieb: > Ob der Transistor im Optokoppler die Spannung am Pull Up-Widerstand > soweit wie nötig runterziehen kann, ist auch nicht unbedingt gesagt. Und sollte es sich wider Erwarten (Praxis) doch nicht ausgehen, dann den Pull-Up auf 1,5 bis 2,7 Kilo erhöhen... Joe F. schrieb: > Erläutere doch bitte mal, wie der Transistor die Störsicherheit erhöhen > soll. Ich komme nicht dahinter. HildeK schrieb: > Ja bitte, für mich auch! > > Ich hatte ja weiter oben schon mal versucht darzustellen, warum ich > glaube, dass sie dadurch sogar geringer wird. Und für mich auch, bitte...
:
Bearbeitet durch User
> Störsicherheit
Kindergarten! Ein älterer Kollege erzählte mal etwas von einem Reh oder
so ähnlich, das muß irgendwas mit einer Spule und einem Kontakt gewesen
sein.
Vergessen, was das war und wie das geht?
Manfred schrieb: > Reh oder > so ähnlich, das muß irgendwas mit einer Spule und einem Kontakt gewesen > sein. Ja, das wird ein Rehlein sein, klein und zart, aber doch sehr unempfindlich... Man muss nur das Prellen der Hinterläufe beachten...
Mani W. schrieb: > Ja, das wird ein Rehlein sein, klein und zart, aber doch sehr > unempfindlich... > > Man muss nur das Prellen der Hinterläufe beachten...
Ich habe die ursprüngliche Schaltung mit Optokoppler jetzt darunter mit einem "Rehlein" (Relais) gezeichnet... Der Aufwand ist wesentlich einfacher und die Störspannungsfestigkeit von der Eingangsseite maximal hoch - mit dem 1K Pull-Up klappt das ohne Datenblätter studieren zu müssen... Die Freilaufdiode kann man sich auch sparen, da ja nur Taster als Bedienung vorgesehen sind...
:
Bearbeitet durch User
Da geht noch was. AES-128 über 433 MHz evtl.
:
Bearbeitet durch User
Dieser ganze Thread wird bei mir unter "greatest bullshit 2017" abgespeichert. Highlight ist die Idee, Störimpulse per Transistor zu verstärken. Die erste Schaltung vom TO ist vollkommen ausreichend. Einen Kondensator parallel zum Optokoppler oder eine ESD Diode könnte man dem ganzen noch gönnen. Aber mal im Ernst: wie lange ist denn so ein Störimpuls (eingekoppelt, ESD)? Wie viel Energie braucht man, um eine LED zum leuchten zu bringen? Angenommen, der Puls bringt die LED tatsächlich zum leuchten, unterscheidet sich das nicht deutlich von einem Tastendruck? Wie aufwändig ist es in Software einen Tastendruck von einem Störimpuls zu unterscheiden? 2 Zeilen? 3 Zeilen? Over and out.
:
Bearbeitet durch User
Joe F. schrieb: > Aber mal im Ernst: wie lange ist denn so ein Störimpuls (eingekoppelt, > ESD)? Bürstenfeuer von einer nicht entstörten Bohrmaschine hat zwar nur kurze (wenige ns) Pulse aber bis zu kHz Wiederholrate und das u.U. alle 10-20 ms. Da halte ich die Schaltung von Mani (ohne die 47K) schon für optimiert. Bei einer professionellen Schaltung würde man auch noch darauf achten daß ein Kurzschluß auf der 12 V Leitung strombegrenzt ist und auch Störungen hierauf keine Rückwirkung auf den 5V-Teil haben. (Kondensator gegen Metallgehäuse oder Drossel oder Längswiderstand). Gruß Anja
Joe F. schrieb: > Wie viel Energie braucht man, um eine LED zum leuchten zu bringen? Burst-Generator mit der LED-Leitung in der Koppelzange reicht aus um die LED im Takt blinken zu lassen. Gruß Anja
Mani W. schrieb: > Die Freilaufdiode kann man sich auch sparen, da ja nur Taster > als Bedienung vorgesehen sind... YMMD. Die Induktionsspitze vom Relais streut dir auch sicher nicht in deinem Controller?
Mani W. schrieb: > Die Freilaufdiode kann man sich auch sparen, da ja nur Taster > als Bedienung vorgesehen sind... Wie man's mag. Dann sollen sich die Tasterkontakte aber nicht über Abreißfunkten beschweren. Brutzelreste erhöhen nicht gerade die Kontaktfreudigkeit.
Joe F. schrieb: > juergen schrieb: >> Dann kann gar nichts mehr passieren. Probiers' doch einfach mal aus! >> >>> Aber was war nochmal die Frage? >> >> Störsicherheit! > > Erläutere doch bitte mal, wie der Transistor die Störsicherheit erhöhen > soll. Ich komme nicht dahinter. Auf vielfachen Wunsch: Die Basis des Transistors liegt über den 3k-Widerstand auf GND. Da muß erst mal eine Störspannung gegenankommen! Was die Ausgangsseite anbelangt, die Bemessung des Pull-Up-Widerstandes; das steht doch alles genauestens erklärt in Fachbüchern (festverdrahtete Logik (Grundlagen zu TTL /CMOS-Schaltungen). Da braucht man doch nur kurz reingucken, dann weiß man, was zu tun ist. So ein einfacher Kram ist doch kein Diskussionsthema, wenn man selber leicht Klarheit schaffen kann! Ich werde auch keine Berechnungen anstellen, ob die erforderlichen Potentiale am Ausgang des Optokopplers erreicht werden. Falls es nicht, schaltet mal halt einen Verstärker dahinter. Mein Vorschlag war eine Alternative. Wie eine solche Schaltung aussieht, kann man in der Elektor-Fachbuchreihe (30x Schaltungen) von 1982 nachvollziehen. LG
juergen schrieb: > Auf vielfachen Wunsch: Die Basis des Transistors liegt über den > 3k-Widerstand auf GND. Da muß erst mal eine Störspannung gegenankommen! Das geht auch parallel zur OK-LED. Und da muss der Pegel noch größer werden wie bei der BE-Strecke (rund 1V statt 0.6V). Wo ist der Vorteil? Ich sehe nur einen Nachteil, dass nämlich der Strom durch die BE-Strecke durch den Transistor um z.B. 100 (beispielhaft) verstärkt wird, dass also die LED schon bei einem hundertstel ausreichend leuchtet. Also um Faktor 100 empfindlicher als ohne Transistor. Den OK kannst du auch ersatzweise als Transistor ansehen, mit einer Stromverstärkung von 0.5 ... 6 (bei dem o.g. OK). Du machst daraus einen zweistufigen Verstärker, in Summe mit dann 50 ... 300 Stromverstärkung. > Was die Ausgangsseite anbelangt, die Bemessung des Pull-Up-Widerstandes; > das steht doch alles genauestens erklärt in Fachbüchern (festverdrahtete > Logik (Grundlagen zu TTL /CMOS-Schaltungen). Da braucht man doch nur > kurz reingucken, dann weiß man, was zu tun ist. Doch, in dem Fall ist der ausgangsseitige Pullup ein Teil der Übertragungsfunktion. Durch den fließt ein Strom, proportional zum Strom durch die OK-LED - mit dem Faktor CTR, und nicht mehr. Machst du den hochohmig, wird schon bei kleineren LED-Strömen geschaltet. > So ein einfacher Kram > ist doch kein Diskussionsthema, wenn man selber leicht Klarheit schaffen > kann! Offenbar ist es dir (noch) nicht klar. Wo ist das Verständnisproblem?
Anja schrieb: > Bei einer professionellen Schaltung würde man auch noch darauf achten > daß ein Kurzschluß auf der 12 V Leitung strombegrenzt ist Helmut L. schrieb: > Die Induktionsspitze vom Relais streut dir auch sicher nicht in deinem > Controller? Habe das Schaltbild ergänzt für die Leute, die nicht jedes einzelne Bauteil einsparen wollen... Das kleine Lämpchen (Led mit Vorwiderstand) parallel zur Sicherung würde bei einem Schluss auf den Tasterleitungen im Fehlerfall dann etwas aufleuchten...
Wolfgang schrieb: > Mani W. schrieb: >> Die Freilaufdiode kann man sich auch sparen, da ja nur Taster >> als Bedienung vorgesehen sind... > > Wie man's mag. Dann sollen sich die Tasterkontakte aber nicht über > Abreißfunkten beschweren. Brutzelreste erhöhen nicht gerade die > Kontaktfreudigkeit. Ein 12V Miniatur-Printrelais für 8A/250VAC hat beispielsweise 660 R 18 mA Das ist selbst für einen Printtaster kein Problem...
Mani W. schrieb: > Das ist selbst für einen Printtaster kein Problem... Auch da gibt es den Öffnungsfunken und den mag der Taster auf Dauer nicht.
Mani W. schrieb: > Habe das Schaltbild ergänzt für die Leute, die nicht jedes einzelne > Bauteil einsparen wollen... Zu was sind denn die beiden 47K Widerstaende gut? Die kannst du weglassen da ueberfluessig. Und sag jetzt nicht zum entladen der Cs. Die werden schon durch die Kollektor-Emitterstrecke bzw. duch den Relaiskontakt entladen.
Mani W. schrieb: > Das ist selbst für einen Printtaster kein Problem... Der Hochspannungsfunke ist das Problem für die Kontakte
HildeK schrieb: > juergen schrieb: > Offenbar ist es dir (noch) nicht klar. Wo ist das Verständnisproblem? Die Aufgabenstellung ist einfach, Lösungen wurden ausreichend viele aufgezeigt, für mich ist die Angelegenheit erledigt.
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.