Hallo Forum Eine vielleicht auch schon peinliche Frage, da die Antwort simpel sein kann. Es handelt sich um ein ATTINY23. Die Ports sind standartmäßig für +5V ausgelegt. Wenn ich ein Schalter mit +5V einspeise und den Abgang ohne Wiederstand auf einen digitalen Eingang des Mikrocontrollers lege, kann der Eingang dadurch Schaden nehmen? Hat der Mikrocontroller einen für +5V ausgelegten Innenwiderstand oder muss dieser zu Strombegrenzung noch ergänzt werden? MfG Jonas
Jonas F. schrieb: > Hat der Mikrocontroller einen für +5V ausgelegten Innenwiderstand oder > muss dieser zu Strombegrenzung noch ergänzt werden? Nein, Du mußt einen Widerstand einbauen (>=10k). Geht aber auch aus dem Datenblatt hervor. Spannung an IO-Pins: max VCC + 0,3V. Bei VCC = 0V sind also 5V deutlich zuviel. Peter
Danke Peter für die schnelle antwort. Ich bin mit dem Datenblatt leider noch nicht gut vertraut. Jonas
siehe: http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen Datenblatt Input Leakage Current I/O Pin VCC = 5.5V, pin low (absolute value) 1 μA Damit ist der Innenwiderstand schon recht hoch RPU I/O Pin Pull-up Resistor 20 bis 50 kΩ
Jonas F. schrieb: > Wenn ich ein Schalter mit +5V einspeise und den Abgang ohne Wiederstand > auf einen digitalen Eingang des Mikrocontrollers lege, kann der Eingang > dadurch Schaden nehmen? Wenn du nur einen Schalter an einen Eingang legst, brauchst du keinen Widerstand. Allerdings ist es bei den AVRs sinnvoller, einen Schalter nach Masse zu benutzen, da du dann die internen Pullup-Widerstände benutzen kannst. http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen
Also was den nun. Peter Dannegger schrieb: >Nein, Du mußt einen Widerstand einbauen (>=10k). >Geht aber auch aus dem Datenblatt hervor. >Spannung an IO-Pins: max VCC + 0,3V. >Bei VCC = 0V sind also 5V deutlich zuviel. nebenbei gesagt im Datenblatt steht: Voltage on any Pin except RESET with respect to Ground ............-0.5V to VCC+0.5V also gehe ich da jetz mal von 0,5V aus. Düsendieb (Gast) schrieb: >Datenblatt Input Leakage >Current I/O Pin >VCC = 5.5V, pin low >(absolute value) >1 μA okay das habe ich auch im Datenblatt gefunden. Also 1 μA bei 0,5V, was rechnerisch einen Widerstand von 500k ohm beschreiben würden. Also bei R=U/I also R=0,5V/1μA=500k. Wie kommt man da auf nur 10k? Floh (Gast) schrieb: >Wenn du nur einen Schalter an einen Eingang legst, brauchst du keinen >Widerstand. >Allerdings ist es bei den AVRs sinnvoller, einen Schalter nach Masse zu >benutzen, da du dann die internen Pullup-Widerstände benutzen kannst. Unter dem Link steht das man einen 10k ohm widerstand dazwischen schalten muss. Verschrieben? MfG Jonas
Also wenn der AVR mit 5V versorgt wird darf man ohne weiteres 5V an einen Eingang(!) legen. Die Ausgänge darf man natürlich nicht direkt mit GND oder 5V verbinden.
Jonas F. schrieb: > okay das habe ich auch im Datenblatt gefunden. Also 1 μA bei 0,5V, was > rechnerisch einen Widerstand von 500k ohm beschreiben würden. > Also bei R=U/I also R=0,5V/1μA=500k. Da es sich hier um PN Uebergaenge der Schutzdioden handelt gilt das ohmische Gesetz hier nicht.
troll (Gast) schrieb:
>Also wenn der AVR mit 5V versorgt wird darf man ohne weiteres direkt 5V >an einen
Eingang(!) legen. Die Ausgänge darf man natürlich nicht direkt >mit GND oder 5V
verbinden.
ja, es geht in erster linie um einen Eingang, die Ausgänge werden mit
transistoren und Dioden beschaltet mit richtig dimensionierten
Wiederständen.
Was mich allerdings auch interessiert ist was genau der
Pullup-wiederstand bewirkt?
Jonas
Es ist kein rausgeschmissenes Geld, in Reihe zu Eingängen Schutzwiderstände vorzusehen. Außen kann leicht mal ne falsche Spannung anliegen. Nur wenn der Taster mit auf der Platine sitzt und auch direkt aus der gleichen VCC gespeist wird, dann kann man den Schutzwiderstand einsparen. Peter
Jonas F. schrieb: > Was mich allerdings auch interessiert ist was genau der > Pullup-wiederstand bewirkt? Wenn der Taster offen ist liegt der Pin ohne Pullup in der Luft und fängt irgendwelchen Mist ein.
Problem ist halt wenn du eine Schaltung hast bei der gelegentlich der Pin auch als Output verwendet (oder versehentlich konfiguriert) wird. Ich lege an den Eingangs-/Ausgangspin eines uC auf nem Experimentierboard immer nen Wid. mit 330 Ohm, da fließen dann max 16mA und es kann nichts kaputtgehen. Die Idee, Plus mit nem Taster zu schalten ist nicht gut. Schalte Masse und aktiviere den internen Pull-up im entsprechenden DDRx-Register, dann ist dein Portpin immer in nem definierten Zustand. Und bitte, bitte schreibe Widerstand ohne 'ie'. Das ist fast so schlimm wie durch Null zu teilen.
Erst einmal danke ich für die zahlreichen Antworten. Find das echt super hier und die Antworten kommen immer recht fix. :-) Also wenn ich das jetzt richtig verstanden habe was troll (Gast) meint, dann muss ich den Pull-up im DDRx-Register aktivieren und von Gnd auf meinen Schalter dann auf den Eingang. Was mich dabei nur irritiert ist, dass bei einem Eingang der Strom rein fließen muss und nicht raus. Muss ich das bei der späteren Programmierung berücksichtigen? (ausgenommen das ich den Pin als Eingang konfigurieren muss) Okay dann werde ich die Augenkrebsstatistik senken in dem ich „Widerstand“ schreibe. :-) Unglücklicherweise heißt der Beitrag schon so :-\ Jonas
>Was mich dabei nur irritiert ist, >dass bei einem Eingang der Strom rein fließen muss und nicht raus. Wenn dein Taster nach Masse geht fließt er doch "raus". von vcc über den Pull-up über den Taster nach GND. Und wenn man es jetzt ganz genau nimmt, fließt der Strom eigentich von GND nach Vcc!
Stimmt. Laut physikalischer Stromrichtung würde das Prinzip für einen Eingang funktionieren. Da der Pull-up parallel geschaltet ist, gehe ich davon aus das du (ich (Gast)) meintest das der physikalische Strom von Gnd über den Taster geht, sich dann splittet, dann Richtung Pull-up und mC geht und dann von beiden auf VCC. Jonas
>Da der Pull-up parallel geschaltet ist, gehe ich davon aus >das du (ich (Gast)) meintest das der physikalische Strom von Gnd über >den Taster geht, sich dann splittet, dann Richtung Pull-up und mC geht >und dann von beiden auf VCC. exakt. Nur dass der Strom durch den Pull-up um ein vielfaches größer ist als der Strom in die eigentliche Eingangsstufe.
Ein einzelner kurzgeschlossener Ausgang geht nicht kaputt. Es ist eher eine thermische Frage. Wenn Du 20 Pins kurz schließt, dann wird der Chip zu heiß. Da dieser Extremfall aber wohl kaum vor kommt, sehe ich keinen Bedarf, I/O Pins gegen versehentliche falsche Programmierung zu beschützen. Eingänge kannst Du direkt mit 5V ansteuern, sofern sicher gestellt ist, dass dann auch die Stromversorgung vorhanden ist. Denn Eingangsspannungen dürfen nicht viel höher sein, als die Stromversorgung. Dir wurde ein 10k Vorwiderstand empfohlen. Besser ist 1 bis 3,3k Ohm, weil sonst der Low-Pegel aufgrund des Pull-Up Widerstandes zu hoch sein könnte. Ich rechne immer damit, dass der Pull-Up 50-100k Ohm hat. Bei 50k Ohm und 10k Vorwiderstadn hättest Du 0,8 Volt, was grenzwertig ist. Es sollte weniger Spannung sein.
1 | +5V o |
2 | | |
3 | |~| Pull-Up |
4 | |_| (intern) |
5 | 3,3k | |
6 | GND o---Taster---[===]---- AVR |
Aber eigentlich brauchst Du hier gar keinen Vorwiderstand, weil bei 0V Spannungsversorgung ja auch keine Spannung über 0V am Eingang anliegen kann. Wenn der Taster aber auf High schalten soll (was man eher selten macht) geht das so:
1 | 10k |
2 | +5V o---Taster---[===]--+--- AVR |
3 | | |
4 | GND o--[===]--+ |
5 | 47k |
In diesem Fall muss der interne Pull-Up des AVR deaktiviert sein, denn du brauchst einen Pull-Down Widerstand. Xmega Controller haben sowas intern, ATmega und ATtiny jedoch nicht. Der 10k Vorwiderstand ist in diesem Fall nicht verzichtbar, sofern der Taster Spannung liefert kann, während der AVR noch keine Spannungsversorgung hat. In diesem Fehlerfall würden die internen Schutzdioden die Eingangsspannung auf etwa +0,7 Volt begrenzen und der Widerstadn begrenzt den Strom, der dabei fließt. Ohne Widerstand hättest Du einen Kurzschluss oder zumindest einen zu hohen Stromfluss durch die Schutzdioden, der sie zerstört.
ich (Gast) schrieb: >exakt. Nur dass der Strom durch den Pull-up um ein vielfaches größer ist >als der Strom in die eigentliche Eingangsstufe. Das bedeutet das der Verbrauch des mC in Betrieb kleiner ist als, das Halten eines definierte Signal von dem Taster?
>Das bedeutet das der Verbrauch des mC in Betrieb kleiner ist als, das >Halten eines definierte Signal von dem Taster? Ich meine dass der Strom durch den internen Pul-up größer ist als der, der in die eigentliche Eingangsstuft fließt. Mit Stromverbrauch des Controllers hat das jetzt nichts zu tun.
Nur zum Verständnis, also ist der Eingangswiderstand größer als der interne Pull-up?
troll schrieb: >> Was mich allerdings auch interessiert ist was genau der >> Pullup-wiederstand bewirkt? > Wenn der Taster offen ist liegt der Pin ohne Pullup in der Luft und > fängt irgendwelchen Mist ein. Du solltest evtl. nicht nur beschreiben, was ohne Pullup passiert, sondern was er bewirkt: Er sorgt für ein definiertes Potential: Pullup -> High - Potential Pulldown -> Low - Potential ... so und jetzt käme deine Schlussfolgerung.
Stefan schrieb: >Dir wurde ein 10k Vorwiderstand empfohlen. Besser ist 1 bis 3,3k Ohm, >weil sonst der Low-Pegel aufgrund des Pull-Up Widerstandes zu hoch sein >könnte. Ich rechne immer damit, dass der Pull-Up 50-100k Ohm hat. Bei >50k Ohm und 10k Vorwiderstand hättest Du 0,8 Volt, was grenzwertig ist. >Es sollte weniger Spannung sein. Warum sind 0,8 Volt grenzwertig wenn ich bei VCC 5 Volt habe und daher auch auf 5 Volt gehen könnte? Warum ist 1 bis 3,3k Ohm besser wenn 2 Zeilen drunter von 10k Ohm gesprochen wird? Oder ist hier doch nochmal zwischen Pull-up und Pull-down zuunterscheiden? Als Resümee also Vorwiderstand > 10k Ohm…?
>ist der Eingangswiderstand größer als der interne Pull-up?
Er sollte viel größer sein. Andernfalls würde er mit dem Pull-Up einen
Spannungsteiler bilden und es wäre aus mit dem Up.
Bei z.B. Gleichheit würde an deinem Eingang nur die halbe
Betriebsspannung anliegen. Dies wäre aber im wahrsten Sinne des Wortes
nichts halbes und nichts ganzes.
Nein. Nicht > 10kOhm. Solange Du noch Wiederstände verwendest wird das eh nix. Um was gehts Dir eigentlich? Geringer Stromverbrauch? Maximaler Schutz der Eingänge? Theoretische Abhandlung? Taster auf GND oder auf +Versorgung? Maximaler Schutz vor Störungen bei längeren Leitungen? Eine pauschale Antwort ist nicht möglich. Je nach Forderungen gibt es eine sinnvolle Lösung. >Wenn ich ein Schalter mit +5V einspeise und den Abgang ohne Wiederstand >auf einen digitalen Eingang des Mikrocontrollers lege, kann der Eingang >dadurch Schaden nehmen? - wenn diese Fragestellung so noch gilt - wenn Du keine langen Leitungen hast, die Störungen einfangen können - wenn Du einen Low-Pegel am Eingang hast, wenn der Schalter nicht betätigt ist Dann und nur dann brauchst Du keinen Widerstand zum Schutz des µC. In allen anderen Fällen ist es guter Designstil, wenn ein Widerstand eingebaut ist. Die Größe hängt wieder von allen möglichen Einflüssen ab.
Die Peripherie-Bauteile sprich Schalter sind max. 3 Meter Kabellänge von dem mC entfernt. Es geht um die Funktionalität und da ich so ein System noch nie aufgebaut habe, stellen sich bei mir auch etwas abweichende Fragen. Also ich brauche eine Lösung mit der ich 3 verschiedene Schalter und anderweitige Peripherie mit einer maximal Kabellänge von 3 Metern abfragen kann. Da das Bauteil im Industrie-Bereich zum Einsatz kommen soll ist mit externen elektrischen Feldern und „versauten“ Netzen zu rechnen. Aber die andere Peripherie interessiert jetzt erst einmal nicht.
Hallo! > Da das Bauteil im Industrie-Bereich zum Einsatz kommen > soll ist mit externen elektrischen Feldern und „versauten“ Netzen zu > rechnen. Au,weia! Dringender Rat: lass es jemand Anderes machen. Industrietaugliche Eingänge sind nicht einfach Pull-up oder -down. Kontakte in diesem Bereich benötigen auch manchmal Mindestströme. Pegel sind dort auch eher 24 V als 5 V. usw. usw.
Jonas F. schrieb: > ... mit einer maximal Kabellänge von 3 Metern > ... im Industrie-Bereich zum Einsatz kommen > ... ist mit externen elektrischen Feldern und „versauten“ Netzen zu > rechnen. Ich finde das diese Information dermassen unwichtig sind, das man erst mal 20 Stunden ohne sie herumbrabbeln kann bevor man dann endlich zum Punkt kommt.
Autor: Jonas F. (jonas88) Datum: 30.08.2012 11:29 >Es geht um die Funktionalität und da ich so ein System >noch nie aufgebaut habe, stellen sich bei mir auch etwas abweichende >Fragen. Daraus lässt sich hoffentlich schließen, dass ich kein mC-Proffessor bin. Und um ans Ziel zu kommen muss ich halt einen schritt nach dem andern machen, was ist daran so falsch? Wenn ich alles wüsste bräuchte ich ja kein Beitrag zu öffnen. Und wie weit die industriellen Gegebenheiten Einfluss haben weis ich jetzt auch nicht, das ist ja auch wieder ortsgebunden. Daher wollte ich mich erst auf die Grundlagen konzentrieren.
Norbert schrieb: > Ich finde das diese Information dermassen unwichtig sind, das man erst > mal 20 Stunden ohne sie herumbrabbeln kann bevor man dann endlich zum > Punkt kommt. Bist wohl noch nicht lange hier. Das ist der allgemeine Standard hier. Wir raten doch alle gerne hier. Sieht man doch auch an den vielen Quizshows im TV :=)
>Also ich brauche eine Lösung mit der ich 3 verschiedene Schalter und >anderweitige Peripherie mit einer maximal Kabellänge von 3 Metern >abfragen kann. Da das Bauteil im Industrie-Bereich zum Einsatz kommen >soll ist mit externen elektrischen Feldern und „versauten“ Netzen zu >rechnen. Sollte auch mit 5 Volt funktionieren. Robust wirds mit - Schutzwiderstand zwischen Eingangklemme und µC-Eingang (z.B. 10 kOhm) - interne Pull-Up nicht eingeschaltet - niederohmigem Pull-Down zwischen Eingangsklemme und GND (z.B. 330 Ohm) Der Taster schaltet +5 Volt gegen die Eingangsklemme. Diese +5 Volt sollten von der Versorgung des µC etwas entkoppelt sein, so daß keine Störungen auf die Versorgung gelangen. Klemmdioden von der Eingangsklemme an GND und +5 Volt schaden nix, kosten bei 3 Eingängen auch nicht die Welt. So müssen über den Schalter grob 10 - 15 mA fließen, damit der µC eine Betätigung erkennt. Wenn das die Störfelder schaffen, so sind die Maßnahmen halt nicht ausreichend. Dann gehört was besseres her. Aber als erster Ansatz wirds wohl gehen.
> Warum sind 0,8 Volt grenzwertig wenn ich bei VCC 5 Volt habe und daher auch auf 5 Volt gehen könnte? Das bezieht sich auf die Schaltung mit Pull-Up. Wenn der Taster losgelassen ist, liegt der Eingang auf 5V = High. Wenn der Taster gedrückt ist, liegt der Eingang auf 0,8 Volt. Das ist kein eindeutiges Signal. Um sicher einen Low-Pegel zu erkennen muss die Spannung unter 0,8 Volt sein. Steht im Datenblatt des Mikrocontrollers. Kennst Du das Ohmsche Gesetz? Wenn nicht, lerne es unbedingt. > Warum ist 1 bis 3,3k Ohm besser wenn 2 Zeilen drunter von 10k Ohm gesprochen wird? Weil ich 1 bis 3,3k Ohm für die Schaltungsvariante mit Pull-Up empfehle, weil sonst die Spannung bei gedrücktem Taster ungültig ist. Bei der Pull-Down Schaltung sind 10k Ohm jedoch in Ordnung, weil dann die Spannung bei beiden Schalt-Zuständen gültig ist. Schau ins Datenblatt des Mikrocontrollers, da steht drin, welche Spannungswerte gültig sind. Typische Werte bei 5V Spannungsversorgung sind: Low = -0,5...0,7 Volt High = 3...5,5 Volt Aber darauf kannst Du dich nicht verlasen, jeder Mikrochip ist da ein bisschen anders. Also schau ins Datenblatt, ist ganz wichtig.
Bei 3 Meter Kabellänge ist einiges mehr an Aufwand nötig, um die Schaltung vor Störeinflüssen zu schützen. Das Thema ist für eine Diskussion hier zu komplex, darüber gibt es eigene Lehrbücher. Da Du aber schon Verständnisprobleme bei Spannungsteilern und Pull-Up Widerständen hast, denke ich, dass Du Dir erst eine ganze Menge Vorkenntnisse aneignen musst, um ein solches Buch zu verstehen. Du willst gerade ein Haus bauen ohne den Unterschied zwischen Matsche und Zement zu kennen.
Jonas F. schrieb: > Wiederstand Du solltest Dich erst einmal mit Deiner Syntax beschäftigen. Wiederstand schreibt man nicht mit ie..........
Find ich ja super dass man sich hier über jeden Haseköttel auslassen kann, zu mal fast jeder 2te (ich auch) mindestens einen Tippfehler in seinem Beitrag hat. Mal ganz davon abgesehen das das Thema WIDERSTAND von Autor: Joachim ... (joachim_01) Datum: 29.08.2012 17:17 ebenfalls angesprochen wurde. Trotzdem danke für den Hinweis hal9000. So zum wesentlichem: Stefan Frings schrieb: >>Kennst Du das Ohmsche Gesetz? Wenn nicht, lerne es unbedingt. Helmut Lenzen schrieb: >Da es sich hier um PN Übergänge der Schutzdioden handelt gilt das >Ohmsche Gesetz hier nicht. Gilt es nun dabei oder nicht? Laut Datenblatt liegt der Low-pegel zwischen -0,5V bis +0,3V und der High-pegel zwischen +0,5V bis +0,6V. Es ist gefragt worden was ich damit bezwecken möchte, das hab ich getan. Ich verlange von keinem dass er mir hier bis in letzte Detail alles erklärt. Die Grundlagen müssen erst einmal geklärt werden. Das Problem ist auch nicht der Spannungsteiler, sondern wie der mC darauf reagiert. Ich weis ja jetzt auch nicht ob das Ohmsche Gesetz hier gilt oder nicht. Da die Schaltung später in ein Metallgehäuse verbaut wird, ist die Filterung auf das schlechte Netz einzuschränken. Jonas
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.