Moin,
für das nächste Projekt soll ein Arduino einen (fertig aufgebauten)
Frequenzumrichter ansteuern. Beide Schaltungen sind galvanisch getrennt,
werden jedoch in unmittelbarer Nähe aufgebaut.
Mein Kollege hat mir jedoch berichtet, daß der FU ganz erhebliche
Störungen im Radio verursacht, weshalb er befürchtet, der Arduino könnte
ebenfalls beeinträchtigt werden.
Sollten die Eingänge (Taster, Schalter) irgendwie geschützt werden (z.B.
durch einen RC-Filter), oder sind keine Probleme zu befürchten?
Eigentlich kann ich mir irgendwie nicht vorstellen, daß der FU so starke
Induktionen hervorrufen könnte, daß der Arduino Fehlfunktionen bekommt,
da der doch vermutlich interne Schutzschaltungen hat?
> Sollten die Eingänge (Taster, Schalter) irgendwie geschützt werden ?
Ja. Zum Beispiel so:
1
Taster
2
4,7kΩ 100Ω ____
3
+5V o----[===]----+---[===]--- -----| GND
4
|
5
| 100nF
6
+----||------------|
7
|
8
| 47kΩ
9
+---[===]-----o AVR Eingang
Den 47kΩ Widerstand würde ich einsetzen, wenn die Taster/Schalter über
Kabel angeschlossen sind - zum Schutz gegen Deppen. Bei Tastern auf der
Platine würde ihn weg lassen.
Vielen Dank schon einmal.
Ich will aber die internen Pullup-Widerstände nutzen (weniger Bauteile),
deshalb dachte ich nur an so etwas wie einen R=10k und einen C=100nF.
Tatsächlich sollen die Schalter/Taster über Kabel - ca. 30cm -
angeschlossen werden.
Das Ganze wird in ein Gehäuse verbaut, so daß die Deppen eigentlich
wenig Chancen haben sollten. Trotzdem baue ich immer Dioden gegen
Verpolung ein...
Sollten eigentlich auch die Ausgänge mit einem C=100nF geschützt werden?
Die steuern lediglich die Basis eines Transistors an, jedoch praktisch
nur als Schalter (keine Grenzfrequenz notwendig).
svensson schrieb:> Ich will aber die internen Pullup-Widerstände nutzen
Die sind zu hochohmig.
> Sollten eigentlich auch die Ausgänge mit einem C=100nF geschützt werden?
Sie würden dort nicht schützen, sondern den Ausgang zusätzlich belasten
und die Funktion als Schalter beeinträchtigen. Also nein.
Das wäre also keine Lösung? Abfrage natürlich auf LOW.
Die internen Pullup liegen doch so bei 25k, oder? Da wird dann doch der
47k nicht mehr benötigt?
> Die internen Pullup liegen doch so bei 25k
Eher 50-70kΩ. Wie gesagt ist das für deine Anforderung zu hochohmig.
Wenn du alles weg sparen willst, dann frage uns nicht, wie man es
richtig macht.
Wetting Current ist hier auch so ein Thema, dass nach externen Pull-Up
Widestände verlangt.
Dass du die 47kΩ weglassen kannst, habe ich Dir bereits geschrieben.
>Wenn du alles weg sparen willst, dann frage uns nicht, wie man es>richtig macht.
Sorry, weniger Bauteile machen halt weniger Arbeit, deshalb dachte ich.
(Bei anderen Sachen habe ich das nämlich einfach so gemacht: Taster
gegen GND.)
>Wetting Current
Was ist denn das? Tatsächlich wird die Schaltung in rauher Umgebung
benutzt werden, aber "nasser Strom" ist wohl nicht wörtlich gemeint?
svensson schrieb:>>Wetting Current> Was ist denn das?
Google danach. Hat was mit der Lebensdauer von Schaltkontakten zu tun.
Mit Feuchtigkeit hat es tatsächlich nichts zu tun.
svensson schrieb:> Sorry, weniger Bauteile machen halt weniger Arbeit, deshalb dachte ich.> (Bei anderen Sachen habe ich das nämlich einfach so gemacht: Taster> gegen GND.)>>>Wetting Current> Was ist denn das? Tatsächlich wird die Schaltung in rauher Umgebung> benutzt werden, aber "nasser Strom" ist wohl nicht wörtlich gemeint?
Ebenfalls sorry, aber entweder man macht es richtig, oder man macht es
nochmal.
Ich kenne da auch so ein Spezi, der meinte Pulldown an Latches (Tri
State) zu sparen; die Schaltung funktioniert ja fehlerfrei bei Ihm.
Sobald aber Störungen auftraten, blinkten die angeschlossenen LEDs
undefiniert herum.
Er wollte einfach nicht wahr haben, das es einen riesen Unterschied gibt
zwischen einer scheinbar funktionierenden Schaltung und einer stabilen
funktionierenden Schaltung.
Habe ich gemacht. Da ich Taster nach IP68 verwende, dürfte die
Frittspannung wohl kein Problem darstellen.
Und ich verwende den "Nano", den ich in eine Rasterplatine einlöte, so
daß nahezu alle Verbindungen gelötet werden.
Die Wasser-Dichtigkeit hat mit dem Wetting Current gar nichts zu tun.
Wenn du dich auf den internen Pull-Up Widerstand verlässt, gehen viele
Taster schnell kaputt - ausser welche mit reibenden Kontakten. Die
brauchen keinen Wetting Current.
Alles klar, Ihr habt mich überzeugt: ich werde der Schaltung die paar
Widerstände spendieren. Platz ist glücklicherweise kein Problem.
Genau deshalb habe ich doch gefragt und (hoffentlich) etwas dazugelernt.
Du meinst also, der Strom ist durch die internen Pullups so klein, daß
die Kontakte oxidieren?
So habe ich das noch gar nicht gesehen, zumal in meinem Buch diese
Schaltung so beschrieben ist (praktisch, weil ohne externe Bauteile).
Da ich auf der Platine noch ein paar einfache Schalter zur Konfiguration
unterbringen will, sollte/muß ich das wohl auch da beachten.
Tasten und Schalter kann man in Software enstören (entprellen). Meine
Standardfunktion macht das immer für einen ganzen Port.
svensson schrieb:> Sollten eigentlich auch die Ausgänge mit einem C=100nF geschützt werden?> Die steuern lediglich die Basis eines Transistors an
Kondensatoren gehören da auf keinen Fall hin, der Umladestrom kann Dir
GND verschieben und der MC spielt verrückt.
Du brauchst ja eh Basisvorwiderstände für die Transistoren, das reicht
als Schutz.
Moin,
mit der "Entstörung" meinte ich nicht das Tastenprellen, das fange ich
per Software ab, sondern tatsächlich Störungen, die irgendwie
induktiv(?) vom Frequenzumrichter oder dem gesteuerten Drehstrommotor
eingekoppelt werden.
Steuerung und FU werden halt unmittelbar nebeneinander angeordnet.
Der Hersteller des FU empfiehlt denn auch geschirmte Leitungen,
zumindest zwischen FU und Motor.
Ich kann mir auch gar nicht vorstellen, daß es wirklich zu Problemen
kommt, weil der FU ein Standardbauteil für die Industrie mit jeder Menge
Prüfzeichen ist. Allerdings möchte ich hier kein Risiko eingehen, schon
gar nicht für ein paar Widerstände und Kondensatoren für wenige Cent.
Bei den Ausgängen dachte ich halt, wenn der Eingang per Induktion(?)
gestört werden kann, dann vielleicht auch der Ausgang. Die liegen beim
µC ja sogar auf dem selben PIN, aber wahrscheinlich wird da intern eine
komplett andere Beschaltung "verbunden".
svensson schrieb:> mit der "Entstörung" meinte ich nicht das Tastenprellen, das fange ich> per Software ab, sondern tatsächlich Störungen, die irgendwie> induktiv(?) vom Frequenzumrichter oder dem gesteuerten Drehstrommotor> eingekoppelt werden.
Entprellen ist ein Tiefpaß in Software, daher fängt es auch Störungen
ab.
Es ist egal, ob kurze Pegeländerungen durch Prellen oder durch
Einkopplung entstehen.
svensson schrieb:> wenn der Eingang per Induktion(?)> gestört werden kann
Kann er (fast) nicht, dazu bräuchtest Du parallele Leiterbahnen mit
kleinen Abständen, quasi Trafos mit je einer Windung.
Störungen erfolgen in der Regel kapazitiv oder über Erdschleifen.
Relais und Optokoppler haben eine Kapazität zwischen beiden Seiten.
Ich muß doch noch einmal zum Verständnis nachfragen:
> kurze Pegeländerungen durch Prellen oder durch Einkopplung entstehen
Bei der Softwareentprellung könnte es doch aber sein, daß eine
hochfrequente Störung auch bei der zweiten Abfrage noch/wieder anliegt?
> Relais und Optokoppler haben eine Kapazität zwischen beiden Seiten
Beim Relais leuchtet das noch ein, weil die Kontakte eine Art
Plattenkondensator bilden, aber beim Optokoppler? Wo kommt denn da die
Kapazität her?
svensson schrieb:> Bei der Softwareentprellung könnte es doch aber sein, daß eine> hochfrequente Störung auch bei der zweiten Abfrage noch/wieder anliegt?
Ja. Dagegen kann man noch häufiger abfragen. Um einzelne Cent in
Massenproduktion zu sparen, kann es sich lohnen, den Softwareaufwand in
die Höhe zu treiben.
Ich löte da lieber einfach einen Kondensator ein.
> beim Optokoppler? Wo kommt denn da die Kapazität her?
Zwischen der Eingangsseite und der Ausgangsseite besteht eine Kapazitive
Verbindung. Wir beide haben auch eine - die ist bloß aufgrund der großen
Distanz sehr gering.
Bei dem Relais meinte er auch nicht die Kapazität zwischen den
Kontakten, sondern zwischen Kontakte und Spule. Da liegen ja auch nur
wenige Millimeter Luft zwischen.
Weil ich Stückzahl 1 benötige, werde ich auch lieber Kondensatoren
nehmen.
Und ich hatte gedacht, daß man mit Relais und Optokopplern auf der
sicheren Seite wäre.
> Verbindung. Wir beide haben auch eine
Stimmt, und wir ziehen uns sogar gegenseitig an.
svensson schrieb:> Und ich hatte gedacht, daß man mit Relais und Optokopplern auf der> sicheren Seite wäre.
Das dachten sich auch die Asiaten mit ihren doppelt gemoppelt isolierten
Relais-Platinen, die am Ende trotzdem nicht für 230V geeignet sind und
schon so manchen zur Verzweiflung gebracht haben, deren µC genau beim
Umschalten von Relais abschmierten.
svensson schrieb:> Bei der Softwareentprellung könnte es doch aber sein, daß eine> hochfrequente Störung auch bei der zweiten Abfrage noch/wieder anliegt?
Ich habe gute Erfahrungen mit einer 4-fach Abtastung gemacht, d.h. ein
Pegel muß 4* hintereinander anliegen, damit er übernommen wird.
svensson schrieb:> Beim Relais leuchtet das noch ein, weil die Kontakte eine Art> Plattenkondensator bilden, aber beim Optokoppler? Wo kommt denn da die> Kapazität her?
Jedes Bauteil hat zwischen den Pins eine Kapazität.
Z.B.: HCPL-181: Floating Capacitance 0,6pF typ.
> 4-fach Abtastung
Da wird der Code aber unnötig lang und etwas Rechenzeit benötige ich
dann vielleicht doch auch noch.
> 0,6pF
Klar haben alle Bauteile eine (geringe) Kapazität. Die Eingänge vom
ATmega328 aber sicherlich auch (und sei es durch die Z-Dioden).
Mir geht es eher darum, ob ich das berücksichtigen muß oder eher nicht.
svensson schrieb:> Mir geht es eher darum, ob ich das berücksichtigen muß oder eher nicht.
So 100% sicher weis das niemand vorher. Deswegen sind Geräte, die
zuverlässig funktionieren müssen, oft doppelt und dreifach abgesichert.
Da gibt man lieber etwas mehr Geld aus, als einen Ausfall zu reduzieren.
Ich erinnere mich Alarmanlagen und Telefonanlagen aus den 90er Jahren,
wo jede einzelne Schraubklemme mit Gasableiter, Varistor und Tiefpass
gesichert war.
Wenn man aber eher auf die Kosten achten muss oder bei Bedarf leicht und
schnell nachbessern kann, dann würde ich mehr Mut zur Lücke haben.
svensson schrieb:> Da wird der Code aber unnötig lang und etwas Rechenzeit benötige ich> dann vielleicht doch auch noch.
Der Code von peda ist erfreulich kurz geraten.
Unbedingt danach suchen.
svensson schrieb:> Beim Relais leuchtet das noch ein, weil die Kontakte eine Art> Plattenkondensator bilden, aber beim Optokoppler? Wo kommt denn da die> Kapazität her?
Bei manchen hochwertigen Messgeräten werden zwecks Reduktion der
Koppelkapazitäten keine integrierten Optokoppler eingesetzt, sondern
separate LED und Fototransistoren/-dioden, die dann entweder per
Luftstrecke oder Lichtwellenleiter gekoppelt sind.
https://xdevs.com/doc/Fluke/8846A/img/opto.jpghttps://xdevs.com/fix/f8846a/
Keine Ahnung schrieb:> Der Code von peda ist erfreulich kurz geraten. Unbedingt danach suchen.
Ich finde die Erklärungen dazu interessanter, von denen kann man etwas
lernen.
svensson schrieb:> Der Code sieht schon gut aus, besonders, wenn man mehrere Tasten> abfragen möchte.
Besonders bei mehreren Tasten ist der Code bedenklich. Jede gedrückte
Taste verzögert die Mainloop permanent um 50ms.
Auch sehe ich da keine Flankenerkennung. Man möchte aber oft, daß eine
Aktion nur je Tastendruck ausgeführt wird und nicht ständig.
Es hat schon seinen Sinn, daß in der Regel für Entprellen und
Flankenerkennung ein Timerinterrupt benutzt wird. Damit erzeugt ein
Drücken keine Delays und es geht keine Flanke verloren.
Eigentlich meinte ich, Dein Code sieht gut aus.
> Besonders bei mehreren Tasten ist der Code bedenklich. Jede gedrückte> Taste verzögert die Mainloop permanent um 50ms.
Das ist kein Problem, weil ich mit dem Tastendruck in einen anderen
State wechsele. Das sorgt dann dafür, daß der Code nur ein einziges Mal
ausgeführt wird. Das funktioniert natürlich nur, wenn die Ausführung der
Hauptschleife unterbrochen werden darf.
Ich kaufe noch zwei Klammern für meine obige Codezeile
1
if (rote_Taste() ) { subroutine(); }
(Weil ich keinen Button zum Editieren entdecken konnte.)
Moin,
hier als Beweis, daß sich die Geduld bei der Antwort all' meiner Fragen
gelohnt hat, die fertig aufgebaute Steuerung im IP66-Gehäuse.
Die Anordnung der Bauelemente ist alles andere als optimal, aber wenn
während des Aufbaus sich die Anforderungen ändern und noch nicht einmal
bekannt ist, von wo die Spannung zugeführt werden soll, dann kommt halt
so etwas dabei heraus...
Alles im Plastikkasten !
Wie sieht es mit Erdung aus ?( die kann man nicht per Software schaffen)
Platine in ein geerdetes MetallGehaeuse !
Ist das Kabel zum Motor hin abgeschirmt ?
...
> Alles im Plastikkasten
Jepp, damit es wasserdicht (und vor allem luftdicht) ist.
Tatsächlich ist das Kabel zum Motor abgeschirmt. Allerdings sagt der
Hersteller des FU, daß eine Abschirmung nicht nötig sei. Das will ich
ihm 'mal glauben, denn er sollte es wissen.
Der FU ist natürlich fachgerecht an PE angeschlossen, der Drehstrommotor
auch.
Kann mir nicht vorstellen, daß das ein Problem wird. Das Gerät ist auch
immer nur minutenweise in Betrieb.
Die salzhaltige Luft hingegen wäre ganz sicher ein Problem.