Hallo Ihr, ich bin ein Neuling auf dem Gebiet der Elektronik und der µC. Ich versuche die Basics des µC (Atmega, Arduino Board) im Bezug auf die Elektronik zu verstehen, um einfache Schaltungen realisieren zu können. Ich stehe momentan bei der Anbindung eines Schalters mit Hilfe von Pullup-/Pulldown-Widerständen auf dem Schlauch... Ich weiß, dass der Atmega des Arduino Boards bereits interne Pullup-/Pulldown-Widerstände besitzt, die ich bequem per Software aktivieren könnte und so die Schaltung überflüssig macht, aber mir geht es darum, die Schaltung zu verstehen :) Die Funktionsweise eines Pullup-/Pulldown-Widerstands sind mir bereits klar (vgl. Spannungsteiler, wobei der Widerstand des Schalters im offenen Zustand gegen unendlich und im geschlossenen Zustand gegen 0 geht. Ich habe nun gelesen, dass man noch optional einen Schutzwiderstand (MOhm-Bereich) in Reihe mit dem Digital Input Pin des µC schalten könnte, um einen zu hohen Stromfluss auf den Pin des µC zu verhindern. Soweit auch klar. Wenn ich das nun tue, muss steht dann dieser Schutzwiderstand nicht parallel zu Pulldown-Widerstand des Spannungsteilers? Würde an diesem Widerstand nicht auch eine Spannung abfallen, so dass der Pin evtl. den falschen Wert (Spannungspotential) hinter dem Schutzwiderstand abgreift? Ich bin nun total verwirrt und frage mich auch, wie ich den digitalen Pin in der Schaltung und deren Berechnung einbeziehen soll? Kann man einen Input-Pin als GND in einer Schaltung und einen Output-Pin als Vcc betrachten? Wie fließt der Pin in die Schaltungsberechnung ein? Was für einen (Innen-)Widerstandswert hat so ein Pin? Hmm... ich habe schon viel gegoogelt und auch zu Spannungsteiler, Pullup-/Pulldown-Widerständen gelesen, aber jetzt bin ich immer mehr verwirrt. Wenn mir jemand weiterhelfen und Licht ins Dubnkel bringen könnte, wäre ich euch sehr dankbar. Vielen Dank! Marlena ps.: mit der Programmierung hab ich kein Problem (Informatik-Studentin)
Marlena schrieb: > Die Funktionsweise eines Pullup-/Pulldown-Widerstands sind mir bereits > klar (vgl. Spannungsteiler, wobei der Widerstand des Schalters im > offenen Zustand gegen unendlich und im geschlossenen Zustand gegen 0 > geht. Darum gehts aber nicht in erster Linie. Es geht darum, dass wenn der Schalter offen ist (und es keinen Pullup/Pulldoen gibt), die Leitung einfach in der Luft hängt! Also weder indirekt mit Vcc noch indirekt mit GND verbunden ist. Und so eine Leitung nennt man gemeinhin 'ANtenne'. Und die fängt sich jedes rumstreunende elektromagnetische Feld in der Umgebung ein und wenn die dahinterliegende Schaltung nur hochohmig genug ist (und ein digitaler Eingang ist das im Idealfall), dann pendelt der ausgelesene Wert wie ein Wilder zwischen 0 und 1 hin und her, je nachdem ob du in der Nähe bist (denn du bist auch eine Antenne), ob der Fernseher eingeschaltet ist, ob dein Handy gerade einen Anruf bestätigt etc. Der Pullup/Pulldown ist als in erster Linie kein Spannungsteiler (obwohl das natürlich rechnerisch so stimmt) sondern sorgt dafür, dass es auch dann eine indirekte Verbdindung mit entweder GND oder Vcc gibt, wenn der Schalter offen ist.
Hallo Marlena,
Du schreibst:
>Ich habe nun gelesen, dass man noch optional einen Schutzwiderstand
(MOhm-Bereich) in Reihe mit dem Digital Input Pin des µC schalten
könnte, um einen zu hohen Stromfluss auf den Pin des µC zu verhindern.
Solange es sich um normale Taster/Schalter/... und um einen
Versorgungsspannungsbreich von 5V an. den z.B. auch der Taster
angeschlossen ist: NEIN, das ist Humbug. Normale Reihenfolge wäre z.B:
Vcc (Betriebbspannung) - Pullup Widerstand des Tasters - Taster - GND.
Zwischen Taster und Widerstand gehst Du zum Prozessor. Später kümmern
wir uns um die Entprellung (siehe Tutorials).
Im übrigen - wenn wir schon über Ohm und Spannungsteiler reden: der
Prozessor hat auch einen EIngangswiderstand. Wenn Du dem in Serie eine
MOhm Widerstand schlten würdest würde ein Teil der Einangsspannung daran
abfallen und vorbei wäre es mit Deiner Einangsspannung - das hast Du
richtig erkannt.
Grüße
> Schutzwiderstand (MOhm-Bereich) in Reihe mit dem Digital Input Pin des µC Klingt nicht korrekt, da die Leckströme der Pins bei einigen MOhm in Reihe dann signifikante Spannungen erzeugen könnten. > Wie fließt der Pin in die Schaltungsberechnung ein? Ist ein CMOS Eingang. Der Pullup/down ist normalerweise grob 50kOhm nach VCC/GND - ohne ist der Pin "offen" und es fliesst nur o.g. Leckstrom, der sollte im Datenblatt stehen (Input leakage current). Geschaltet wird über die anliegende Spannung.
> Ich habe nun gelesen, dass man noch optional einen > Schutzwiderstand (MOhm-Bereich) in Reihe mit dem Digital > Input Pin des µC schalten könnte, um einen zu hohen Stromfluss > auf den Pin des µC zu verhindern. Die Input Pins sind in der Regel hochohmig genug, so dass da kein exzessiver Stromfluss stattfindet. Mit einem weiteren Angstwiderstand würdest du nur einen weiteren Spannungsteiler ins Spiel bringen, das hast du völlig richtig erkannt. > Wie fließt der Pin in die Schaltungsberechnung ein? Als Eingangspin? Solange deine daran angehängte Schaltung keinen hochohmigen Ausgang zum Pin hin hat, kannst du den Pin mehr oder weniger komplett ignorieren.
Ein AVR hat nur interne Pull-Up Widerstände. Interne Pull-Down Widerstände wären schön, haben die AVRs aber nicht. Zu den internen Schutzdioden (engl. clamping diodes): Atmel gibt an: "It is not recommended that the clamping diodes are conducting more than maximum 1 mA" http://www.atmel.com/Images/doc2508.pdf Mit einem 1 MOhm Serienwiderstand könntest du nominal bis 1000 V an den Pin geben ohne dass die Schutzdioden verrecken... Die Anwendung von Atmel oben zur Erkennung des Nulldurchgangs bei einer Netzwechselspannung nutzt das aus. "Normale" Schaltungen wie z.B. deine Tasterschaltung nutzen das bei weitem nicht aus, so dass der Serienwiderstand entweder entfällt (GND <= Signalspannung <= Vcc) oder wesentlich kleiner gewählt wird z.B. 10 kOhm bei Signalspannungen bis 10 V.
Marlena schrieb: > Kann man einen Input-Pin als GND in einer > Schaltung und einen Output-Pin als Vcc betrachten? Auf keinen Fall. Ein offener Eingang ist undefiniert (verboten). Er muß immer auf ein definiertes Potential gelegt werden oder man darf ihn im Programm auf keinen Fall verwenden. Das geht z.B. durch maskieren (AND), man liest den Port ein und überschreibt das undefinierte Bit mit 0. Ein definierter Pegel kann durch Einschalten des internen Pullup erreicht werden. Das ist für alle unbenutzten Pins zu empfehlen, da der verbotene Bereich eine erhöhte Stromaufnahme bewirkt. Ein Ausgang hat entweder 0 (GND) oder 1 (VCC), was man eben in ihn eingeschrieben hat. Es sein denn, man überlastet ihn, was bei einem gewissenhaften Entwickler aber nicht passieren sollte. Marlena schrieb: > ps.: mit der Programmierung hab ich kein Problem (Informatik-Studentin) Dann bist Du aber die Ausnahme. Die meisten Anfänger programmieren drauflos, ohne sich erst einen Programmablaufplan zu machen und erzeugen so den grausligsten Spaghetticode, den sich keiner ansehen möcht. Peter
Hallo Ihr, erstmal vielen Dank für eure Antworten! Ganz klar ist mir es leider immer noch nicht... vielleicht muss ich einfach nochmal darüber schlafen... Zu dem oben angehängten Schaltungsbild von mir: Wie würde die Berechnung der Schaltungen (Spannungen an den einzelnen Widerständen und am Pin) aussehen? Der "Schutzwiderstand" R1 sowie der Widerstand R2 befinden sich in einer Parallelschaltung, oder? D.h. der Gesamtwiderstand der Parallelschaltung bestehend aus R1 und R2 berechnet sich wie folgt: 1/Rges = 1/R1 + 1/R2 und ist somit kleiner als der R1 und R2. Bei geschlossenem Schalter (SW1) wuerde an R1 sowie R2 5V anliegen. Oder etwa nicht? Wie viel Potential würde dann noch am PIN also nach R1 anliegen? Viele Grüße, Marlena
Hallo Marlena, zur Spannungberechnung am Einganspin. Annahme 1: Schalter gedrückt. Der Schlter ist niederohmig, also liegt R1 an Vcc (+5V). Damit liegt an R2 +5V, den Strom kannst Du Dir selbst errechnen, ist aber für die Betrachtung unerheblich. Wenn Strom fließen kann dann von +5V über R1 in den Pin hinein nach Masse. Also brauchts Du den Strom der in den Pin als Eingang hineinfließen kann aus dem Datenblatt (meist typ oder max Werte, I(Input High)). Das werden im Eingangszustand einige wenige uA sein. U = I * R. Wenn dann auch noch etwas >5V rauskommt kannst Du erkennen dass die ganze Spannung am R1 abfällt. Annahme 2: Schalter offen Jetzt liegt der Eingang auf Masse, Zu dem Widerstand R1 ist noch R2 in Serie. Das sind nominell 1M + 1k = 1,001M (genau gerechnet müsstetst Du jetzt die Toleranzen der Widerstände bertachten, bei 1M und 5% hättest Du da schon an Toleranz mehr als die 1k). Wir für die Betrachtung daher den 1k vergessen da ere unerheblich ist und in der Größe durch den 1M nicht ins Gewicht fällt. Jetzt suchen wir wieder den Eingangsstrom aus dem Datenblatt (I(input Low)) und rechnen asu wieviel Spannung diesmal abfällt - Ich denk dass das aber auch einen sehr großen Wert geben wird. Wenn Du es anders betrachten willst: Du kannst auch für die beiden Fälle aus R=U/I den "Ersatzinnenwiderstand" des Eingangs der beiden Fälle bertachten. Dazu nimmst Du z.B. den Eingangsstrom (typ oder max) und U=VCC. Damit kommst Du dann auf einen sehr hohen Eingansgwiderstand. Zu dem Schaltest Du dann auch noch den 1M in Serie. Was dabei rauskommt ist ein Spannungsteiler, den kannst Du Dir selbst überlegen. Fazit: In beiden Fällen fällt durch den bereits geringen Querstrom an dem enormen Widerstand die gesamte am Eingang zur Verfügung stehende Spannung ab, es kommt also am eigentlichen Pin Nichts an. Darum werden Eingänge normalerweise nicht mit Widerständen in Serie beschaltet. Ausnahme: R-C Glieder als Filter, zur Entprellung, oder als Eingansgspannungsteiler in Kombination eiens gesamten Widerstandsnetzwerkes wenn du eine höhere Eingangsspannung als Vcc hast (z.B. 24V) - Aber das sind schon wiedeer andere Kapitel. Grüße
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.