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
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
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. ...
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
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
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.
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
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. ...
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
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
Versuch's nochmal mit lesen, DC Characteristics, letzte Zeile: "Rpu I/O Pin Pull-up Resistor 20-50 KOhm"
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.