Forum: Mikrocontroller und Digitale Elektronik Innenwiderstand eines Microcontrollers


von Jonas F. (jonas88)


Lesenswert?

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

von Peter D. (peda)


Lesenswert?

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

von Jonas F. (jonas88)


Lesenswert?

Danke Peter für die schnelle antwort.
Ich bin mit dem Datenblatt leider noch nicht gut vertraut.

Jonas

von Düsendieb (Gast)


Lesenswert?

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Ω

von Floh (Gast)


Lesenswert?

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

von Jonas F. (jonas88)


Lesenswert?

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

von troll (Gast)


Lesenswert?

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.

von troll (Gast)


Lesenswert?

troll schrieb:
> Also wenn der AVR mit 5V versorgt wird darf man ohne weiteres direkt 5V an

von Helmut L. (helmi1)


Lesenswert?

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.

von Jonas F. (jonas88)


Lesenswert?

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

von Peter D. (peda)


Lesenswert?

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

von troll (Gast)


Lesenswert?

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.

von Joachim .. (joachim_01)


Lesenswert?

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.

von Jonas F. (jonas88)


Lesenswert?

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

von ich (Gast)


Lesenswert?

>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!

von Jonas F. (jonas88)


Lesenswert?

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

von ich (Gast)


Lesenswert?

>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.

von Stefan (Gast)


Lesenswert?

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.

von Jonas F. (jonas88)


Lesenswert?

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?

von ich (Gast)


Lesenswert?

>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.

von Jonas F. (jonas88)


Lesenswert?

Nur zum Verständnis, also ist der Eingangswiderstand größer als der 
interne Pull-up?

von TrollDich (Gast)


Lesenswert?

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.

von Jonas F. (jonas88)


Lesenswert?

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…?

von amateur (Gast)


Lesenswert?

>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.

von spontan (Gast)


Lesenswert?

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.

von Jonas F. (jonas88)


Lesenswert?

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.

von Route_66 H. (route_66)


Lesenswert?

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.

von Norbert (Gast)


Lesenswert?

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.

von Jonas F. (jonas88)


Lesenswert?

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.

von Helmut L. (helmi1)


Lesenswert?

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 :=)

von spontan (Gast)


Lesenswert?

>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.

von Stefan F. (sfrings)


Lesenswert?

> 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.

von Stefan F. (sfrings)


Lesenswert?

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.

von hal9000 (Gast)


Lesenswert?

Jonas F. schrieb:
> Wiederstand

Du solltest Dich erst einmal mit Deiner Syntax beschäftigen.
Wiederstand schreibt man nicht mit ie..........

von Jonas F. (jonas88)


Lesenswert?

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
Noch kein Account? Hier anmelden.