Forum: Mikrocontroller und Digitale Elektronik Erfahrungswerte? Pin-Eingang mit interner Pullup und Taster gegen Masse?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Thomas O. (kosmos)


Bewertung
0 lesenswert
nicht lesenswert
Ich habe mal eine Frage in der es nicht wie so oft um das Anlegen einer 
Überspannung oder die elektrostatische Entladung geht sondern um die 
Einkopplung aus einer benachbarten  230V Leitung.

Verwenden jemand Taster gegen Masse und die internen Pullups eines AVRs 
die ja  ziemlich hochohmig sind und hatte hier schonmal Probleme das der 
Eingang hops gegangen ist weil er sich etwas aus der Luft geholt hat 
oder ungewollt angesteuert wurde?

Es geht als einfach um die Widerstandsfähigkeit eines Eingangspins wenn 
da z.b. offen 20 cm Draht dran hängt und nur die internen Pullups das 
ganze hochziehen.

von Patrick J. (ho-bit-hun-ter)


Bewertung
0 lesenswert
nicht lesenswert
Hi

Bisher noch keine Probleme mit gehabt - hatte aber die Testla-Spule 
dabei noch nie direkt neben der Schaltung betrieben :/

Offene Eingänge können sich 'was einfangen' und so die Innereien durch 
schnellstes hin- und herschalten töten, sobald aber zu irgend einer 
Seite gezogen wird 'Pull-Widerstand' ist diese Möglichkeit vorbei.

Hast Du Entladungen, Die in die 20cm lange 'Antenne' einkoppeln können?

MfG

von Patrick J. (ho-bit-hun-ter)


Bewertung
0 lesenswert
nicht lesenswert
Hi

Bis auf 'ungewollt angesteuert wurde' eigentlich recht sinnig.

Unbenutzter Pin am µC, als INPUT, PullUp ON (Port auf high)

Was daran die 20cm Antenne macht - kommt vll. noch - auf jeden Fall 
vorher auf Vcc liegen (durch den PullUp).

Und so hochohmig ist der PullUp gar nicht (einige zig K) - wird 
wesentlich Mehr (M), wenn der PullUp aus ist!

MfG

von Thomas O. (kosmos)


Bewertung
0 lesenswert
nicht lesenswert
Eine Tesla Spule kommt da nicht hin. Interne Pullups sind aktiviert.

Gut das beruhigt mich etwas.

von Ich Nicht (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Bisher hatte ich da keine Fälle bei denen die internen Pullups nicht 
reichten. Da du aber von Taster sprichst, rate ich zu entstörenden und 
entprellenden Maßnahmen.

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Thomas O. schrieb:
> Eine Tesla Spule kommt da nicht hin.

... aber vielleicht irgend jemand, der bei kaltem Winterwetter über den 
Fußboden geschlurft ist und sich dank "günstigen" 
Schuhwerks/Fußbodenbelags elektrostatisch aufgeladen hat.

von Gerhard O. (gerhard_)


Bewertung
1 lesenswert
nicht lesenswert
Ich möchte übrigens noch empfehlen, die Taster mit niedrigen externen 
Pullups im KOhm Bereich zu versehen um den Kontaktstrom zu erhöhen weil 
manche Kontakte zur zuverläßigen Langzeit Operation einen gewissen 
Mindeststrom benötigen. Siehe Erklärung hier:

https://en.m.wikipedia.org/wiki/Wetting_current

http://www.teradyne.com/File%20Library/Defense-Aero/Technical%20Papers/2011/Paton_The-Test--Usage-and-Maintenance-of-Power-Switching-Subsystems_2011.pdf

http://www.metretekfl.com/manuals/docs%5C600068A.pdf


.

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
Oft sieht man diese Beispielschaltung:
1
         ____       1...10k
2
GND |-----  ----+----[===]---o +VCC
3
                |
4
    |-----||----+----[===]---------------> zum µC (ohne Pull-Up)
5
       10..100nF      10k

Sie entprellt, schützt den µC vor Fremdspannung, filtert HF 
Einstreuungen heraus und reinigt die Kontakte des Tasters.

Manche Elektroniker monieren, dass die Kontakte durch den Entladestrom 
des Kondensators geschädigt werden. Das kann ich zumindest für 
gewöhnliche Taster nicht bestätigen.

: Bearbeitet durch User
von Arduino Fanboy D. (ufuf)


Bewertung
0 lesenswert
nicht lesenswert
Stefan U. schrieb:
> Oft sieht man diese Beispielschaltung:
Die finde ich auch nicht schön!

Es ist keine zusätzliche Arbeit, den Kondensator nicht parallel zum 
Taster zu setzen, sondern zwischen Pin und GND.

Die dadurch flacheren Flanken sind kein Problem, da die AVR 
Schmitt-Trigger Eingänge haben.

Zum "Kontaktreinigen" reicht es, den Pullup genügend klein zu wählen

: Bearbeitet durch User
von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
> Es ist keine zusätzliche Arbeit, den Kondensator nicht parallel zum
> Taster zu setzen, sondern zwischen Pin und GND.

Wie gesagt ist das ein häufiger kritik Punkt. Ich platziere den 
Kondensator mit Absicht parallel zum Taster (aber auf der µC Platine, 
nicht am Ende der eventuell langen Leitung) weil ich damit gute 
Erfahrung hemacht habe. Faulheit ist nicht der Grund.

von Gerhard O. (gerhard_)


Bewertung
0 lesenswert
nicht lesenswert
Das C sollte besser gegen Vcc geschaltet werden weil sonst beim 
Hochfahren der systemweiten Vcc und schnellem starten der FW wegen der 
zeitlichen Aufladung ein Tastendruck vorgetäuscht werden könnte. Bei 
Arduino wegen B.L. natürlich kein Problem.

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
So schnell fährt das System nicht hoch. Außerdem kann man alleine durch 
setzen der Fuse Bits bis zu 64ms Verzögerung einstellen. Oder das 
Programm beginnt mit einer kleinen Warteschleife. Muss man bei vielen 
Schaltnetzteilen ohnehin machen, bevor man beginnt, viel Strom zu 
verbrauchen (z.B. durch Motoren, LED's, etc).

Meinst du das so?
1
  
2
        Taster        100nF
3
         ____
4
GND |-----  -----+----||-------o VCC
5
                 |
6
                 |    4,7k
7
                 +----[===]----o
8
                 |
9
                 |

Hier würde der Kpondensator die elektromagnetisch eingekoppelten 
Störungen nicht abblocken, sondern an die Versorgungsspannung ableiten. 
Ob das eine gute Idee ist?

Und jedesmal wenn der Taster gerdückt wird, hätte man einen kurzen 
Kurzschluss, das mag die Versorgungsspannugn auch nicht.
1
  
2
        Taster   100 Ohm    100nF
3
         ____
4
GND |-----  -----[===]---+---||-------o VCC
5
                         |
6
                         |    4,7k
7
                         +----[===]---o
8
                         |
9
                         |

Das wäre wohl besser für die Versorgungsspannung, habe ich so allerdings 
noch nie ausprobiert.

: Bearbeitet durch User
von w.nickel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Stefan, deine Lösungen sind aber kein Pull-Ups.

von Thomas O. (kosmos)


Bewertung
0 lesenswert
nicht lesenswert
sind ja einige interessante Sachen dabei, speziell mit dem Mindeststrom 
da ich 230V Taster aus dem Standard Busch-Jaeger Programm verwende.

Ich werde diese Lösung probieren. Der Kerko lädt sich über den internen 
Pullup und den 4,7kOhm Widerstand in Reihe zum Taster auf, bei 
Tastendruck entlädt sich dieser gegen Masse und reinigt die Kontakte, so 
kann ich erstmal auf der Platine die Widerstände einsetzen, die Kerkos 
direkt am Schalter nachrüsten und brauche keine weitere VCC Leitung am 
Schalter.

Der Kerko sollte aber immer noch HF gegen GND ableiten können, da er ja 
AC durchlassen sollte. Über welche Frequenz spricht man da bei nem 100nF 
Kerko die er durchläßt?

>
1
>           100nF
2
>       |----||----|
3
>       |          |
4
>       |  Taster  |
5
>       |   ____   |    4,7k
6
> GND |-+----  ----+----[===]----o Portpin (interner Pullup)
7
>

: Bearbeitet durch User
von Arduino Fanboy D. (ufuf)


Bewertung
0 lesenswert
nicht lesenswert
Ja, die Schalter können das sicher haben...

Aber den Reihenwiderstand halte ich für viel zu groß
Eine 10er Potenz kleiner...

Thomas O. schrieb:
> Über welche Frequenz spricht man da bei nem 100nF
> Kerko die er durchläßt?

Gar nicht, spricht man da drüber...

Du meinst ein RC-Glied!
Und da sind alle Berechnungen öffentlich verfügbar.

: Bearbeitet durch User
von Thomas O. (kosmos)


Bewertung
0 lesenswert
nicht lesenswert
Der Reihenwiderstand soll ja den Strom durch die internen Diode 
schützen, war da nicht mal die rede von wenigen µA die diese vertragen, 
wo ja die 4,7kOhm schon viel zu neidrig wären.

Wie gesagt vor ESD habe ich weniger bedenken da wir in der Wohnung ohne 
Schuhe laufen und keine Teppiche rumliegen (bis auf vielleicht nen 
Badvorleger) und der Taster ja selber auch aus Kunsstoff ist weiterhin 
wird da auch mechanisch keine höhere Spannung aufgelegt, denn es ist 
festverkabelt und da gibts nur 5V die schon Filtermaßnahmen haben.

von HildeK (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Thomas O. schrieb:
> Der Reihenwiderstand soll ja den Strom durch die internen Diode
> schützen, war da nicht mal die rede von wenigen µA die diese vertragen,

Es gibt Hersteller, die das spezifizieren. Von Xilinx weiß ich, dass sie 
max. 10mA zulassen.
Da gab es auch schon Applikationen, bei denen mit einem (recht 
niederohmigen) Widerstand der 2.5V-Eingang an 3.3V angeschlossen wurde. 
Rechnerisch waren das die vollen 10mA.

Im unteren, einstelligen mA-Bereich würde ich das immer für zulässig 
halten, außer es ist definitiv was anderes spezifiziert.

Thomas O. schrieb:
> Über welche Frequenz spricht man da bei nem 100nF
> Kerko die er durchläßt?

Er lässt Wechselströme jeglicher Frequenz durch, das ist nur eine Frage, 
wie groß die sein werden bei gegebener Spannung. Man berechnet den 
kapazitiven Widerstand mit Xc=1/(2π*f*C). Irgendwann bei 10...100MHz 
nimmt dann der induktive Anteil Überhand (je nach Größe, Bauform, SMD 
usw.) und der Widerstand wird wieder größer. Da sind wir aber im Bereich 
0.1...10Ω.

von HildeK (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Thomas O. schrieb:
> Es geht als einfach um die Widerstandsfähigkeit eines Eingangspins wenn
> da z.b. offen 20 cm Draht dran hängt und nur die internen Pullups das
> ganze hochziehen.

Um auf die Ursprungsfrage zu antworten: man nimmt keine internen Pullups 
bei einer solchen Konstellation, sondern externe, möglichst niederohmige 
- was halt die Schaltung und der Stromverbrauch noch sinnvoll erscheinen 
lassen.
Einkopplungen passieren gewöhnlich durch induktive und/oder kapazitive 
Kopplung, die nicht besonders niederimpedant ist und deshalb reicht ein 
kräftiger Pullup.

Bei sehr langen Leitungen, die auf einen digitalen Eingang müssen und 
mit z.B. einem Taster bedient werden, würde ich zum OK greifen und mit 
dem eine quasi Stromschleife erstellen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.