Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller Eingang schützen


von Brunni (Gast)


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

von Hannes L. (hannes)


Lesenswert?

Externer PullUp am Taster?

...

von Brunni (Gast)


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

von Hannes L. (hannes)


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.

...

von Jörg (Gast)


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

von Brunni (Gast)


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

von A.K. (Gast)


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.

von Brunni (Gast)


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

von Hannes L. (hannes)


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.

...

von Brunni (Gast)


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

von Brunni (Gast)


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

von A.K. (Gast)


Lesenswert?

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

von Dietmar (Gast)


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

von Brunni (Gast)


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

von Marco S. (masterof)


Lesenswert?

abo

von Jörg (Gast)


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

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.