Forum: Analoge Elektronik und Schaltungstechnik Hilfe beim Verständnis von Kondensatoren gesucht


von Arno T. (arno_t)


Lesenswert?

Hallo,

es gibt definitiv schwierigere Bauteile als Kondensatoren. Trotzdem habe 
ich ein Problem zu verstehen, wieso in folgender Situation passiert, was 
da passiert.
Die eigentliche Schaltung ist ein Mikrocontroller ESP8266 an dessen 
Reset-Leitung (die Leitung wird über einen Pullup hochgezogen) ein 
Sensor hängt. Der ESP führt einen Reset durch wenn am Reset-Pin eine 
steigende Flanke wahrgenommen wird, also nicht wenn der Pin auf Low geht 
sondern wenn er danach wieder auf High wechselt.
Irgendwann geht der Ausgang des Sensors nun auf Low, danach wieder auf 
High und der Reset wird ausgelöst. Ganz einfach, ganz nachvollziehbar.

Was ich nun nicht verstehe ist, was da vor sich geht wenn ich in diese 
Reset-Leitung einen Elko einfüge. Dann nämlich wird der Reset ausgelöst 
sobald am Sensor das Signal von High auf Low wechselt, also genau 
andersherum.

Wieso ist das so, was passiert da?
Bonusfrage: Weshalb ist es egal, wieherum ich den Elko einsetze, ich 
dachte, als gepolter Kondensator funktioniert er nur in einer Richtung.

Grüße,
Arno

von Teo (Gast)


Lesenswert?

Nicht nachvollziehbare Prosa. Mach mal ne Zeichnung!
Oder besser, halte dich erst mal an die angekündigte Frage. Also was 
verstehst Du nicht bei Kondensatoren?

von DoS (Gast)


Lesenswert?

Ein gepolter Kondensator funktioniert in beide Stromrichtungen, aber 
"falsch" gepolt baut sich die Isolierschicht ab und irgendwann ist der 
Kondensator defekt (Kurzschluss).
Ein Reset am Mikroprozessor kann per definition kein Flankensignal sein. 
Ein Prozessor zu resetten dauert einige Taktzyklen (bis alle Register 
und funktionale Einheiten den definierten Zustand haben). Das steht im 
Datenblatt. Aus dem Grund benutzt man im professionellen Embedded 
Bereich Resetcontroller, die ein garantierten Low für eine feste Zeit 
machen, nachdem die Betriebsspannung im definierten Bereich ist. Halbe 
Resets oder wackelige Versorgungen außerhalb der Spezifikationen führen 
zu undefinierten Zuständen in der CPU.

von Jens G. (jensig)


Lesenswert?

DoS schrieb:
> Ein gepolter Kondensator funktioniert in beide Stromrichtungen, aber
> "falsch" gepolt baut sich die Isolierschicht ab und irgendwann ist der
> Kondensator defekt (Kurzschluss).

Zumindest wenige Volt verträgt er, und kurzzeitig wirkt er auch noch bei 
vielleicht 4-5V als C, aber da löst er sich dann langsam auf ...

Ansonsten @TO:
Wie schon gesagt, ist das Resetverhalten nicht nachvollziehbar. Da haste 
also noch etliche andere faule Eier in Deiner Schaltung, und nicht nur 
den falschgepolten Elko ...

: Bearbeitet durch User
von Teo (Gast)


Lesenswert?

Jens G. schrieb:
> Wie schon gesagt, ist das Resetverhalten nicht nachvollziehbar.

Nja, spekulieren könnte man einen C in reihe zum Pin, nicht vom Pin nach 
GND. Das könnte dieses Verhalten erklären und passt auch zu folgendem 
Text.

Arno T. schrieb:
> wenn ich in diese
> Reset-Leitung einen Elko einfüge.

von Jens G. (jensig)


Lesenswert?

ja, das könnte natürlich auch sein ...

von Axel S. (a-za-z0-9)


Lesenswert?

Arno T. schrieb:
> Der ESP führt einen Reset durch wenn am Reset-Pin eine
> steigende Flanke wahrgenommen wird, also nicht wenn der Pin
> auf Low geht sondern wenn er danach wieder auf High wechselt.

Das bezweifle ich ganz stark.
Reset ist eigenlich immer pegelgesteuert.

von (prx) A. K. (prx)


Lesenswert?

Axel S. schrieb:
>> Der ESP führt einen Reset durch wenn am Reset-Pin eine
>> steigende Flanke wahrgenommen wird, also nicht wenn der Pin
>> auf Low geht sondern wenn er danach wieder auf High wechselt.
>
> Das bezweifle ich ganz stark.
> Reset ist eigenlich immer pegelgesteuert.

Das ist kein Widerspruch, bloss schräg und wenig fachsensibel 
ausgedrückt. Solange der Reset-Pin unten ist, steckt er im Reset fest. 
Steigt der Pegel, geht die Post ab. Also mit der steigenden Flanke.

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Arno T. schrieb:
> Wieso ist das so, was passiert da?

Zur Begriffsverwirrung: Unter dem Begriff "Reset" kann man formal 
korrekt einen Zustand verstehen, aber auch der anschliessende 
Start-Vorgang wird gerne damit assoziiert.

Üblicherweise sorgt der Low-Pegel für den Reset-Zustand. Das Bauteil 
setzt viele internen Zustände asynchron zurück und verharrt darin. Bei 
Beendigung des Low-Pegels startet ein Prozessor, was man auch als den 
Reset-Vorgang verstehen kann.

Bissel komplizierter sind AVRs, weil die im Zustand "Reset" programmiert 
werden. Aber um die geht es hier ja nicht.

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

(prx) A. K. schrieb:
> Arno T. schrieb:
>> Wieso ist das so, was passiert da?
>
> Zur Begriffsverwirrung: Unter dem Begriff "Reset" kann man formal
> korrekt einen Zustand verstehen, aber auch der anschliessende
> Start-Vorgang wird gerne damit assoziiert.

Echt? Habe ich noch nie gehört. Reset ist Reset. Und Start ist Start.

Arno T. schrieb:
> Was ich nun nicht verstehe ist, was da vor sich geht wenn ich in diese
> Reset-Leitung einen Elko einfüge. Dann nämlich wird der Reset ausgelöst
> sobald am Sensor das Signal von High auf Low wechselt, also genau
> andersherum.

Das ergibt auch mit obiger Interpretation keinen Sinn. Der Prozessor 
geht mit L-Pegel in den Reset. Und wenn der Pegel wieder auf H ist, 
startet er. Das einzige was der Elko macht: er verlängert die Zeit, die 
gebraucht wird um wieder auf H zu kommen. Also zumindest, wenn er von 
Reset nach GND geschaltet ist.

von Michael U. (amiga)


Lesenswert?

Hallo,

lassen wir mal das Thema mit der Polarität des Elkos erstmal weg, weil 
der auch falschrum ein Kondensator ist. Nur nicht lange, weil die 
isolierende Oxidschicht abgebaut statt aufgebaut wird und damit der 
Reststrom viel höher und weiter steigend.
Ansosnten differenzierst Du den ankommenden Impuls. H vom Sensor: H am 
Reset duch den Pullup - > Reset auf H, ESP8266 läuft.
H->L am Sensor: Kondensator lädt sich über den Pullup auf und damit geht 
Reset auf L bis sich der Kondensator soweit geladen hat, daß der PullUp 
wieder gwewinnt und Reset auf H ist.
Der Reseteingang des ESP8266 hat Schmitt-Trigger Eigenschaften und kommt 
auch mit einem recht langsamen Anstieg von L auf H klar, irgendwo bei 
ca. 2V erkennt er H.
Mit dem intern vorhandenen Pullup am Reset und ca. 100n Kondensator kann 
man das Verhalten durchaus auch geziehlt nutzen.

Gruß aus Berlin
Michael

von Rainer V. (a_zip)


Lesenswert?

Michael U. schrieb:
> Der Reseteingang des ESP8266 hat Schmitt-Trigger Eigenschaften und kommt
> auch mit einem recht langsamen Anstieg von L auf H klar, irgendwo bei
> ca. 2V erkennt er H.

Vielleicht wirft der TO ja auch wirklich Reset mit Neustart des 
Controllers durcheinander. Wenn an diesem Pin ein Pegelwechsel erkannt 
wird macht er schlich einen Software-Reset, also Sprung nach "0000" und 
das wärs dann. Für einen Hardware-Reset werden dann keine Flanken 
ausgewertet, sondern Pegel. Kenne den ESP8266 nicht und überlasse es dem 
TO, im Datenblatt nachzulesen...
Gruß Rainer

von Arno T. (arno_t)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich bitte um Entschuldigung, dass die Ausgangssituation nicht klar war.
Ich habe nun die etwas vereinfachte Schaltung (Sensor durch Schalter 
ersetzt) angehängt.

Des weiteren habe ich noch wegen des Resets ausgetestet. Und ja, bei 
Low-Pegel an Reset hält der Prozessor an und bei High startet er neu.
Dass er bei Low anhält war mir vorher nicht klar, da es mir nicht um 
einen Neustart im laufenden Betrieb ging sondern um ein Aufwachen aus 
dem Deep-Sleep des ESP..

Die eigentliche Sache auf die es mir ankommt ist aber ja eigentlich eine 
andere. Nämlich die scheinbare Verkehrung des Verhaltens mit und ohne 
Kondensator.

Also nochmal von vorne:
Ohne Kondensator:
Prozessor läuft, Reset-Pin wird auf Masse geschalten => Prozessor hält 
an. Reset-Pin wird auf VCC geschaltet => Prozessor läuft von vorne los.

Mit Kondensator:
Prozessor läuft, Kondensator-Plus wird auf Masse geschaltet => Prozessor 
macht kurz einen Neustart und läuft dann direkt los
Kondensator-Plus wird auf VCC geschaltet => Prozessor ist unbeeindruckt.

Also für mich sieht es jetzt so aus, als lädt sich der Kondensator bei 
anliegendem VCC auf. Beim Umschalten auf Masse entlädt er sich kurz, der 
Reset-Pin geht dadurch auf Low, aber was passiert dann? Lädt sich der 
Kondensator wieder auf und der Reset-Pin geht dadurch wieder auf High? 
Aber wodurch wird er geladen? Und wohin entlädt er sich vorher?

Grüße,
Arno

von 2aggressive (Gast)


Lesenswert?

Arno T. schrieb:
> Was ich nun nicht verstehe ist, was da vor sich geht wenn ich in diese
> Reset-Leitung einen Elko einfüge. Dann nämlich wird der Reset ausgelöst
> sobald am Sensor das Signal von High auf Low wechselt, also genau
> andersherum.
Wie gross werden denn die Ströme durch den Sensor beim plötzlichen 
Entladen des Elkos? Womöglich fällt dir kurzzeitig deinegesamte 
Versorgung aus? Womöglich könnte ein Strombegrenzender Vorwiderstand 
zwischen Sensor und Elko Abhilfe schaffen.


Nachtrag nach angefügtem Schaltbild:
Arno T. schrieb:
> Lädt sich der
> Kondensator wieder auf und der Reset-Pin geht dadurch wieder auf High?
Ja, der Resetpin hat intern einen pullup, der Kondensator wird 
(allerdings verpolt) auf 5V aufgeladen. Beim nächsten Umschalten des 
Wechselschalters "krachen" 10V auf den Resetpin. Deine Schaltung ist 
Suboptimal,

von Sebastian (Gast)


Lesenswert?

Arno T. schrieb:
> wenn ich in diese Reset-Leitung einen Elko einfüge

Wie schon gesagt, das zu machen ist Unsinn.

LG, Sebastian

von Sebastian (Gast)


Lesenswert?

2aggressive schrieb:
> Ja, der Resetpin hat intern einen pullup, der Kondensator wird
> (allerdings verpolt) auf 5V aufgeladen. Beim nächsten Umschalten des
> Wechselschalters "krachen" 10V auf den Resetpin.

VCC sind 3.3V. Aber trotzdem. Und schon beim ersten Schaltvorgang 
krachen -3.3V auf den RESET-Pin, was evtl. schlimmer ist.

LG, Sebastian

PS: Der Kondensator tut ansonsten genau das, was man erwartet ...

von 2aggressive (Gast)


Lesenswert?

Sebastian schrieb:
> 2aggressive schrieb:
>> ...krachen" 10V auf den Resetpin.
> VCC sind 3.3V.
Ja, ok, VCC=5V kam vom Beissreflex :D

> Aber trotzdem. Und schon beim ersten Schaltvorgang
> krachen -3.3V auf den RESET-Pin, was evtl. schlimmer ist.
Ob +6,6V, oder -3.3V: beides sollte nicht vorkommen.
Hier, im Moment, beides wohl aktuell kein Problem -im Sinne von 
Folgeerscheinungen-

> PS: Der Kondensator tut ansonsten genau das, was man erwartet ...
99,9% Ack, in der Form ist die Schaltung nixgut, aber scheint für Arno 
"repruduzierbar genug" um seine Frage zu stellen. Die Klammerdioden an 
der Resetleitung schützten den Controller anscheinend ausreichend.
Zu den fehlenden 0,01%: Ewig wird sich dies nicht unbedingt 
reproduzieren lassen, weil der verpolte Elko vergrotzt wird.

@Arno: Falls du mit hilfe eines Kondensators irgendeine 
Verzögerung/Verlängerung eines Timings erreichen wolltest; bitte mehr 
Info zur Problemstellung.

Ansonsten ist deine bisherige Frage, im Zusammenhang mit deiner 
Schaltung:
Arno T. schrieb:
> ...Problem zu verstehen, wieso in folgender Situation passiert, was
> da passiert...
> Die eigentliche Schaltung ist ein Mikrocontroller ESP8266 an dessen
> Reset-Leitung (die Leitung wird über einen Pullup hochgezogen)...
gelöst und beantwortet?

von Sebastian (Gast)


Lesenswert?

Sebastian schrieb:
> Und schon beim ersten Schaltvorgang krachen -3.3V auf den RESET-Pin, was
> evtl. schlimmer ist.

Da hab ich much vertan, sorry. Solange der Schalter auf VCC steht ist 
der Kondensator entladen, weil der RESET-Pin einen internen Pullup auf 
VCC eingebaut hat. Beim Schalten auf GND zieht der leere Kondensator 
dann zunächst RESET mit auf GND, und lädt sich dann langsam über den 
internen Pullup auf. Beim Zurückschalten auf VCC zieht geladene 
Kondensator dann RESET auf 6.6V und entlädt sich dann über die 
Schutzdiode des RESET-Pins auf VCC+1Diodenspannung, und danach sehr sehr 
langsam über Kriechströme auf VCC.

LG, Sebastian

von 2aggressive (Gast)


Lesenswert?

Sebastian schrieb:
> Beim Schalten auf GND zieht der leere Kondensator
> dann zunächst RESET mit auf GND
Verwirrende Geburt: jetzt hammersbald, auf GND, in diesem Fall also 
keine -3V3, klar.

> sehr sehr langsam über Kriechströme auf VCC.
Vorher "knallts" wegen der Schutzdioden, nachher gehts allerdings nicht 
"sehr sehr langsam über Kriechströme", sondern der pullup (Hausnummer 
10KOhm?) macht seine Arbeit gegenüber dem verpolt sterbenden Elko 
erstmal recht schnell.

von Sebastian (Gast)


Lesenswert?

2aggressive schrieb:
> pullup (Hausnummer 10KOhm?) macht seine Arbeit gegenüber dem verpolt
> sterbenden Elko erstmal recht schnell

Ok, kann sein, ist schon spät. Manchmal sind die internen Pullups aber 
eigentlich kleine Stromquellen und ob die auch als als Stromsenken 
funktionieren?

LG, Sebastian

von 2aggressive (Gast)


Lesenswert?

Sebastian schrieb:
> Manchmal sind die internen Pullups aber
> eigentlich kleine Stromquellen und ob die auch als als Stromsenken
> funktionieren?
War wirklich spät gestern, ein sehr guter Einwand! Leider liegt hier 
kein ESP8266 zum nachmessen herum.

von Teo D. (teoderix)


Lesenswert?

Sebastian schrieb:
> kleine Stromquellen und ob die auch als als Stromsenken
> funktionieren?

Fets, also ja, sollten sie.

von Arno T. (arno_t)


Lesenswert?

Sebastian schrieb:
> Sebastian schrieb:
>> Und schon beim ersten Schaltvorgang krachen -3.3V auf den RESET-Pin, was
>> evtl. schlimmer ist.
>
> Da hab ich much vertan, sorry. Solange der Schalter auf VCC steht ist
> der Kondensator entladen, weil der RESET-Pin einen internen Pullup auf
> VCC eingebaut hat. Beim Schalten auf GND zieht der leere Kondensator
> dann zunächst RESET mit auf GND, und lädt sich dann langsam über den
> internen Pullup auf. Beim Zurückschalten auf VCC zieht geladene
> Kondensator dann RESET auf 6.6V und entlädt sich dann über die
> Schutzdiode des RESET-Pins auf VCC+1Diodenspannung, und danach sehr sehr
> langsam über Kriechströme auf VCC.

Ok, also dann tatsächlich so wie ich es mir dann zuletzt zurecht malte.
Vielen Dank. Die Sache mit der Polung des Elkos wäre die zweite Frage 
gewesen. Denn die gepostete Schaltung funktioniert ja egal wie herum ich 
ihn einsetze. Aber meines Erachtens ist es egal, da ja von beiden Seiten 
mal Plus anliegt.

Gruß,
Arno

von Arno T. (arno_t)


Angehängte Dateien:

Lesenswert?

2aggressive schrieb:
> @Arno: Falls du mit hilfe eines Kondensators irgendeine
> Verzögerung/Verlängerung eines Timings erreichen wolltest; bitte mehr
> Info zur Problemstellung.

Was eigentlich rauskommen sollte ist schon das, was meine Schaltung auch 
tut, allerdings ohne auf absehbare Zeit sterbende Kondensatoren und 
Prozessoren.

In Deutsch: Geht das Signal von High auf Low und danach wieder auf High 
soll der Prozessor aus dem Tiefschlaf aufgeweckt bzw. ein Reset 
ausgelöst werden.
Allerdings möchte ich kurze Low-Phasen nicht beachten da es sich um 
Flackern bzw. False Positives vom Sensor handeln dürfte.
Ebenso wäre es toll, wenn der Prozessor während der Low-Phase nicht 
stehen bleibt. Dann liese sich diese Schaltung auch verwenden wenn der 
Prozessor nicht sowieso schläft sondern durchläuft.

Ich habe jetzt weiter herumprobiert und kam zur jetzt angehängten 
Schaltung die experimentell funktioniert. Ich erkläre sie mir so:
Während der Schalter auf Masse steht entlädt sich der Kondensator, dass 
kann ich mit dem Multimeter messen. Nur wenn er weit genug entladen ist 
(wohl 3,3V - 0,7V), bewirkt ein Schalten auf VCC, dass der Transistor 
kurz durchschaltet.
Kann ich die so verwenden ohne dass Kondensator oder Transistore bald 
aufgeben? Wohl besser noch ein Strombegrenzungswiderstand an die Basis, 
oder?

Gruß,
Arno

von 2aggressive (Gast)


Lesenswert?

Arno T. schrieb:
> 2aggressive schrieb:
>> @Arno: Falls du mit hilfe eines Kondensators irgendeine
>> Verzögerung/Verlängerung eines Timings erreichen wolltest; bitte mehr
>> Info zur Problemstellung.
> Was eigentlich rauskommen sollte ist schon das, was meine Schaltung auch
> tut
Hmm...

> , allerdings ohne auf absehbare Zeit sterbende Kondensatoren und
> Prozessoren.
:D

> In Deutsch: Geht das Signal von High auf Low und danach wieder auf High
> soll der Prozessor aus dem Tiefschlaf aufgeweckt bzw. ein Reset
> ausgelöst werden.
Hochdeitsch is immer juut! De Maschin machet immer wat de saachst, is 
abba selten das wasse wollen willst :D

> Allerdings möchte ich kurze Low-Phasen nicht beachten da es sich um
> Flackern bzw. False Positives vom Sensor handeln dürfte.
Eben wird dein eigentliches Problem etwas mehr zum klartext.

Lösungsvorschlag: vom deinem Sensorpegel weg den Vorwiderstand, dahinter 
einen Kondensator gegen GND. Also den Kondensator nicht als Hochpass 
(seriell zum Signal), sondern als Tiefpass (den Kondensator parallel zum 
Signalpegel) verschalten.
***

Müssen die Verzögerungszeiten ("nicht beachten") asymetrisch sein, aka 
"False Positives" und sichere "Negatives" eine ungleiche -- nicht 
beachtete Warte/Ansprechverzögerungszeit -- haben, dann könnte 
zusätzlich zu einem R+C eine weitere Diode, oder eine Transistorstufe 
hilfreich sein.
Dann weitersehen, erst einmal das Problem qualitativ erkennen, und 
quantitativ, also [in Millisekunden?] zeitlich erfassen.

> Ebenso wäre es toll, wenn der Prozessor während der Low-Phase nicht
> stehen bleibt. Dann liese sich diese Schaltung auch verwenden wenn der
> Prozessor nicht sowieso schläft sondern durchläuft.
Siehe oben.

> Ich habe jetzt weiter herumprobiert und kam zur jetzt angehängten
> Schaltung die experimentell funktioniert.
Oder zum scheinbar manchmal funktionieren neigt???

HTH

***
https://de.wikipedia.org/wiki/Hochpass
https://de.wikipedia.org/wiki/Tiefpass

von Startpilot (Gast)


Lesenswert?

Axel S. schrieb:
> (prx) A. K. schrieb:
>> Arno T. schrieb:
>>> Wieso ist das so, was passiert da?
>>
>> Zur Begriffsverwirrung: Unter dem Begriff "Reset" kann man formal
>> korrekt einen Zustand verstehen, aber auch der anschliessende
>> Start-Vorgang wird gerne damit assoziiert.
>
> Echt? Habe ich noch nie gehört.

Hm, doch, das habe ich auch schon gelesen. Daß manche den
erneuten Start nach einem Reset unter "Reset" verbuchen.

Um den resetteten Start vom Erststart logisch zu trennen(?).

Leider wird woanders das Gegenteil bewirkt (weil deswegen
Reset und (Neu-)Start nicht mehr logisch getrennt sind).

Besser wäre also, wie Du sagtest, an der orig. Aufteilung
"Start, Reset, Start" festzuhalten, oder um den Erststart
vom Neustart abzuheben, z.B. "Start, Reset, Neustart".

So simpel und unwichtig das jetzt vielleicht klingen mag.

von Rainer V. (a_zip)


Lesenswert?

Startpilot schrieb:
> So simpel und unwichtig das jetzt vielleicht klingen mag.

Das ist wichtig! Zumindest in Profibereichen. In einer 
Maschinensteuerung will ich z.B. schon wissen, wie oft ein Prozess neu 
gestartet wurde und warum!
Gruß Rainer

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
Noch kein Account? Hier anmelden.