www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller Eingang schützen


Autor: Brunni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute, hab wieder mal net Frage,

und zwar bin  ich grad dabei mir eine kleine Schaltung mit µC,Display
und ein paar E-Magneten und Motoren Aufzubauen.

Ich muss dabei eine kleine Tür auf deren Zustand abprüfen also ob sie
unten oder oben ist. Habe nun einen Mikroschalter eingebaut.

Hab mir das nun so vorgestellt das ich den Portbin eben als Eingang
definiere und den internen Pull-Up einschalte. Der Mikroschalter zieht
mir dann den Pin wenn gedrückt auf Masse.

Ist ja auch nicht recht kompliziert, jetzt will ich aber zum Schutz
dieses Eingangs noch etwas hinzufügen.

Hab mir gedacht ich nehm 10k dann 100pF nach Masse  und wieder 10k also
so ein T-Glied so ne Art Standard-Cmos-Schutzbeschaltung wie sie in
diesem Forum schon mal erkärt worden ist.
Wenn ich aber den internen Pull-UP eingeschalten habe entsteht mir dann
ja ein Spgsteiler der mir den Eingang ja nie auf OV ziehen kann.

Oder soll ich einfach nur zusätzlich 2 Dioden(eine auf VDD die andere
auf GND) anlöten oder ne einfache 5,1V Zenerdiode könnts auch tun.

Was ist allgemein bei längeren Eingangskabeln (ca. 20cm Leitung) zu
berücksichtigen?? habe das Kabel (auf GND-Potential) noch verdrillt um
keine unnötig große Masseschleife zu bekommen.

Habe schon so oft Störungen durch irgendwelche Motoren etc. bekommen,
so das ich diesmal gleich alles vorsehen möchte um dies zu vermeiden.



Hoffe mir kann dabei jemand helfen.
Brunni

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Externer PullUp am Taster?

...

Autor: Brunni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi HanneS

Also du meinst ich soll den internen abschalten und wenn der
Mikroschalter z.B. die Kontakte schließt, die Leitung über den
ext.Pull-Up auf High zieht.

Jetzt müsste ich aber dann entweder einen hochohmigen Widerstand auf
GND (100k) legen damit ich bei offenem Kontakt ein konst. Potential
habe sonst schwebt der Eingang ja in der Luft. Oder ich beschalte den
Umschaltkontakt des Mikroschalters komplett also gedrückt=5V und offen
dann GND (0V) oder????

Brunni

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich meinte, dass deim Mikroschalter nach GND schaltet und ein externer
PullUp-Widerstand (PullUp="zieh hoch") den Pegel nach +5V zieht. Er
muss ja nicht am Schalter selbst montiert sein, sondern in der Nähe des
"Filters". Der interne PullUp sollte dann deaktiviert sein, damit der
Spannungsteiler-Effekt mit den Widerständen des Filters nicht auftreten
kann.

Alternativ kann man einen NPN-Transistor mit (störsicherem)
Basisspannungsteiler einsetzen, dessen Kollektor den AVR-Pin gegen den
internen PullUp nach GND zieht. Der Mikroschalter sollte dann nach +5V
oder +12(24)V (je nach Gegebenheiten im Gerät) schalten.

...

Autor: Jörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Brunni,

ich würde Dir die Lösung mit den zwei Dioden Vorschlagen.
Also
- vom Taster aus einen Widerstand in die Leitung , zB. 470R wäre toll.
- Zwei Dioden, wie Du schon sagtest, eine nach Vcc und eine von Gnd zum
Signal.

ich denke, im Prinzip kannst Du die Dioden auch weglassen, dein
Mikrokontroller hat doch sicher interne Schutzdioden. Durch den
Seriellen Widerstand begrenzt Du nur den Strom durch die Dioden und es
sollte nichts mehr passieren.

Gruß
Jörg

Autor: Brunni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo HanneS und Jörg.

Sicher die Pull_Up Variante also mit externen geht auch. Die Idee mit
dem NPN Transistor hört sich auch gut an.

Werd aber wahrscheinlich die Variante mit den Dioden der Einfachheit
nehmen und einen Widerstand vorschalten der im Störfall den Strom
begrenzt. Auch wirkt dieser Widerstand zusammen mit der
Eingangskapazität als kleiner RC-Tiefpaß was mir noch so in Erinnerung
ist.

Könnte auch noch zusätzlich die Eingangskapazität mit vielleicht einem
10nF Kondensator vergrößern um kapazitiv eingekoppelten Mist zu
vermeiden da sich   ein kapazitiver Spannungsteiler ergibt
(Koppelkapazität und Eingangskapazität) und am Eingang fällt mir dann
weniger Störspannung ab, ist ja richtig so oder???

Also werde das nun so machen, internen Pull-UP aktivieren und eben so
470Ohm in die Leitung ,10nF Kondi von Eingang auf Masse und der
Mikroswitch schaltet dann wenn er gedrückt ist auf GND also der Portpin
liegt auf ca.0V (kleiner Spannungsteiler eben durch int. Pull-UP).
Zusätzlich werde ich doch noch eine Klemmdiode anbringen weil die
internen oft auch nicht das Gelbe vom Ei sein sollen.

Ist wer mit diesen Vorschlag auf meiner Seite??

Akzeptiere auch gerne andere Vorschläge :-)
mfg
Brunni

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Werden die internen Schutzdioden verwenden, dass muss der
Serienwiderstand so dimensionert werden, dass der maximal auftrende
Strom durch die Dioden den zulässigen Wert (AVR: 40mA) nie
überschreiten wird. Denn jenseits davon riskierst du einen Latchup des
Controllers, mit wahrscheinlichem thermischem Tod.

Wenn externe Dioden verwendet werden, dann sind Schottky-Dioden
sinnvoll. Sonst hängt's von den Diodenparametern ab, ob der Strom
durch die externen oder die dazu parallelen internen Dioden fliesst.
Oder du legst den Widerstand zwischen die externen und die internen
Dioden.

Je nachdem was du an Unfug auf den Leitungen erwartest, kann es
einfacher sein, diesen Unfug mit Optokopplern vom Controller
fernzuhalten.

Autor: Brunni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HI A.K

Verwende Schottky-Dioden. Serienwiderstandswert muss ich mir noch
überlegen jenachdem welche max. Spannungen auftreten können z.B. bei
einer ESD sind dies ja schon mehrere kV.

Optokoppler ist sicherslich die sicherste Variante,ist schon mal
galvanisch getrennt vom µC und um die LED zum leuchten zu bringen
bedarf es schon mal ein bissl Strom (20mA@Uf=1,6V) um den Transistor
voll durchzuschalten.

werd es jedenfalls mal so mit Serienwiderstand und Dioden probieren.

Jedenfalls schon mal besten Dank für eure sehr hilfreichen Antworten.
Brunni

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir mal den Wert der internen PullUps an (notfalls nachmessen) und
entscheide dann ob dir die Schaltung so hochohmig gefällt. Da brauchts
nämlich nicht viel Müll, um Schalterbetätigungen zu erkennen, die
garnicht stattgefunden haben. Die Leitung zum Schalter ist unter
Umständen eine recht gute Antenne... Auch aus diesem Aspekt empfahl ich
einen externen PullUp.

...

Autor: Brunni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aha, also du meinst z.B. einen 1k Widerstand gegen VDD und int. Pull-Up
deaktivieren. Aber den Rest kann ich schon belassen oder ?also eben 1k
Pull-Up,  Serienwiderstand zum schutz der Klemmdioden und eventuell
noch einen 10nF kondi am Eingang der schon mal zusammen mit
Serienwiderstand also RC-Tiefpaß wirktt un die Eingangskap. zusätzlich
erhöht?!

mfg
brunni

Autor: Brunni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja noch ne Anmerkung: Ich verwende da nen ATMEL ATMEGA128 µC, kann
im Datenblatt nix über den Wert der int. Pull-Up's lesen, also muss
ich diese aktivieren und dann auf GND legen und den Strom messen der
runter fließt oder?
Brunni

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuch's nochmal mit lesen, DC Characteristics, letzte Zeile:
"Rpu I/O Pin Pull-up Resistor 20-50 KOhm"

Autor: Dietmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zenerdioden sind zu langsam in der Ansprechgeschwindigkeit.

Transildioden sind teurer, aber sehr schnell.

Insbesondere bei Induktivitäten, aber auch sonst, sich niemals auf die
integrierten Schutzdioden verlassen.

2 Universaldioden z.B. 1N4148 sind sehr preisgünstig und reichen für
viele Fälle (Ansprechzeit im einstelligen Nanosekundenbereich).

RC-Schaltungen helfen oft auch.

Gruß

Dietmar

Autor: Brunni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke A.K. hast recht, auf seite 322 steht alles was ich über die
Pull-Up wid. wissen muss.


Müsste sogar solche Supressordioden rumliegen haben mit dem passenden
Wert.

So werd mich dann später mal an den Aufbau her machen.

mfg
Brunni

Autor: Marco S. (masterof)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: Jörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
noch ein Tip am Rande - vieleicht interessierts ja jemanden ;-)
bitte schalte nicht den evtl. einzubauenden Entstör-Kondensator
direkt parallel zum Taster, sonder einen Wiederstand seriell zw.
den Taster und den Kondensator.
Im Fall, dass Du den Taster drückst, fliesst dadurch ein begrenzter
Strom und deine Masse wird nicht angehoben...ist ja doch ein stückchen
kabel bis zum tsater.

Gruß
Jörg

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.