Widerstände

Aus hyperdramatik
Wechseln zu: Navigation, Suche

Widerstände und ihre Auswirkungen auf verschiedene Schaltkreise zu verstehen ist essenziell um Sensoren und Aktuatoren richtig bedienen zu können. Auf dieser Seite soll es deshalb um die praktische Anwendung von Widerständen in Stromkreisen (Berechnung von Widerständen für Bauteile, PULL UP, PULL DOWN, Spannungteiler) und ihre theoretische Funktionsweise gehen.

Definition: Was sind Widerstände?

Ohmsches Gesetz.gif

Der elektrische Widerstand R, ist der Widerstand, den ein Strom der Stromstärke I (in Ampere) mit der Spannung U (in Volt) innerhalb eines bestimmten elektrischen Leiters erfährt.

In dem nebenstehenden Comic wird der Umstand anschaulich erklärt: Die Potenzialdifferenz (Spannung, das Volt Männchen), sorgt dafür, dass der elektrische Strom (mit einer Stromstärke I, Ampere Männchen) fließt bzw. angeschoben wird. Das Ohm Männchen (Widerstand eines bestimmten Leiters) sorgt dafür wie viel bzw. wie schwer/leicht der Strom fließen kann, indem er das Ampere Männchen abdrückt.


Mathematisch ausgedrückt bedeutet das:
Elektrische Spannung und Stromstärke verhalten sich proportional zueinander.
Der Faktor mit dem sie sich proportional zueinander verhalten, ist der spezifische Widerstand eines Stromkreises. Dieses proportionale Verhältnis wird im Ohmschen Gesetz festgehalten - mehr dazu kannst du weiter unten nachlesen unter.
Der elektrische Widerstand ist dabei material- und bauteilabhängig. Elektrischer Widerstand erzeugt ähnlich eines mechanischen Widerstands (in dem Fall dann durch Reibung) Wärme.
Wenn wir analoge Sensoren selbst bauen, z.B. in verschiedenen soft sensors oder Potentiometern, benutzen wir dazu häufig entweder die Qualität eines besonderes Werkstoffes, seinen Widerstand durch äußere Einflüsse zu verändern (z.B. durch Druck/Hitze/Licht/Zug/Feuchtigkeit, etc.). Oder wir erhöhen oder verringern die Widerstandswerte eines Sensors durch mechanisches Einwirken (z.B. bei einem Potentiometer an dem wir drehen, um mehr vom leitenden Material des Potentiometers tatsächlich mit Spannung zu versorgen). Umgekehrt kann man die Spannung und Stromstärke eines Stromkreises am einfachsten durch die Veränderung seines Widerstands verändern, sodass wir mit dem Arduino, z.B. mit dem Befehl analogRead zwar die anliegende Spannungsveränderungen an einem analogen Input Pin (A0-A5) messen und ablesen können, diese aber in den allermeisten Fällen durch eine Veränderung der Widerstände hervorgerufen wurde.

Verwendung von Widerständen in elektrischen Stromkreisen

Widerstände werden in elektrischen Stromkreisen für verschiedene Effekte verwendet:

  • Vorwiderstand: Einstellen oder Begrenzen eines elektrischen Stromes bei gegebener elektrischer Spannung (Vorwiderstand z.B. damit eine LED nicht durchbrennt)
  • Arbeitswiderstand: Einstellen einer bestimmten elektrischen Spannung bei gegebenem elektrischen Strom (z.B. bei Kondensatoren)
  • Spannungsteiler: Teilen einer elektrischen Spannung in einem bestimmten Verhältnis. Dazu werden mindestens zwei oder mehr Widerstände in Reihe geschaltet (Reihenschaltung).
  • Stromteiler: Teilen eines elektrischen Stromes in einem bestimmten Verhältnis (Stromteiler). Dazu werden mindestens zwei oder mehr Widerstände parallel geschaltet (Parallelschaltung).
  • Pull UP/Pull DOWN Widerstand:Erzeugung eines definierten Spannungspegels für den Fall, dass ein logischer Schaltkreis bei Schließung eines Schalters entweder (durch die direkte Verbindung mit Ground) einen Kurzschluss erzeugt oder einen floating Pin mit undefiniertem Spannungszustand
  • Verstärker: Als genaues Messwerkzeug zur Erzeugung eines definierten Pegels zur Einstellung von Arbeitspunkten von aktiven Bauelementen, z. B. bei Transistor- oder Operationsverstärkern
  • Heizwiderstand/Widerstandthermometer: Umwandlung elektrischer Energie in Wärmeenergie (Heizwiderstand) wie in Glühlampen, Lötkolben, Ersatzlasten, Heizlüftern oder Widerstandsbremsen oder umgekehrt in Widerstandsthermometern von Wärme in Widerstand und damit in ein elektronisch messbare Größe
  • Potentiometer Herstellen definierter Eingangs- und Ausgangs-Spannungen (Impedanzanpassung)
    vgl. https://de.wikipedia.org/wiki/Widerstand_(Bauelement)

Ohm'sche Gesetz

Das Ohmsche Gesetz lässt sich durch das "magische" Dreieck einfach erinnern

In einem idealisierten Stromkreis (also in einem bestimmten Moment, ohne Wärmeentwicklung, Materialveränderung etc. miteinzubeziehen) verhalten sich die Spannung U und die Stromstärke I linear proportional zueinander. Das Ohm'schen Gesetz beschreibt dieses proportionale Verhältnis von Spannung U und Stromstärke I. Das Ohm'sche Gesetz lautet:

 U = R x I bzw. I = U/R 

Diesen Faktor R nennen wir Widerstand. Jedes Material und jedes elektrische Bauteil haben einen eigenen speziellen Widerstandswert, den wir wie folgt berechnen können:

 R = U / I 

Mit dem Ohm'schen Gesetz können wir so jeweils Spannung, Stromstärke und Widerstandswert aus den jeweils zwei anderen Werten für jede einzelne Stelle (also jedes Bauteil) im Stromkreis berechnen. Dadurch lassen sich die vielfältigen Anwendungsmöglichkeiten von Widerständen erklären: Wir können durch den unterschiedlichen Einsatz von Widerständen sowohl Spannung als auch Stromstärke genau beeinflussen und bestimmen. Wir können beispielsweise Spannungen vergrößern (z.B. durch Kondensatoren), Stromstärken verkleinern (z.B. damit eine LED nicht durchbrennt), wir können Spannungen verkleinern (indem wir Widerstände als Spannungsteiler einsetzen) und Spannungen entsprechend in Relation zu zwei Widerständen genauestens beeinflussen und messen (z.B. bei Potentiometern und Sensoren).

Widerstände als Bauteile

Fast jedes Material ist ab einer bestimmten Spannungs- und Stromstärke leitend und hat damit auch einen bestimmten Widerstand. Auch Holz kann, z.B. bei einem Blitzeinschlag elektrische Ladung transportieren (deshalb sollte man bei einem Gewitter auch nicht im Wald herumspazieren). Allerdings ist der Widerstand vieler Materialien in unserem Alltag vergleichsweise hoch, sodass sie eine lebensgefährlich hohe Spannung und Stromstärke brauchen würden, um tatsächlich Strom leiten zu können.
Materialien mit einem geringen elektrischen Widerstand sind gute Leiter, wie z.B. Kupfer, Gold, Silber, Eisen, verschiedene Flüssigkeiten und edel Gase, etc.
Materialien mit einem besonders hohem Widerstand, Nicht-Leiter können auch als Isolatoren verwendet werden, so z.B. Plastik, Glas, Gummi, Keramik oder destilliertes Wasser.

Kohleschichtwiderstände mit beigem Körper, Metallschichtwiderstände haben einen blauen Körper
Durch die Farbkodierung der Widerstände kann man ihren Wert bestimmen


Wie schon oben erwähnt kann sich der Widerstand eines leitendes Materials durch verschiedene äußere Einwirkungen verändern. Für genaue elektrische Widerstandswerte, die es uns ermöglichen Stromstärke und Spannung in Abhängigkeit von ihnen zu berechnen, benötigen wir deshalb Materialien, die ihren Widerstand bei z.B. Druck oder Temperaturveränderung immer noch relativ konstant halten können. In den meisten unserer elektrotechnischen Aufbauten verwenden wir für solche genauen Widerstandswerte deshalb industriell gefertigte Widerstände, wie rechts abgebildet. Der Wert dieser Widerstände lässt sich durch ihre bestimmte Farbkodierung ablesen.


 Farbkodierungs-Rechner für Widerstände:
http://www.sengpielaudio.com/Rechner-farbcode.htm 



Widerstände berechnen: LEDs und Vorwiderstände

 Widerstandsrechner: https://www.leds-and-more.de/catalog/resistor.php 

Im folgenden soll exemplarisch durchgegangen werden, wie wir den Widerstand für eine LED bestimmen können, die wir in einem sehr einfachen Schaltkreis aus dem Beispiel Digital Write: Blink LED an den Arduino anschließen. Um den passenden Vorwiderstand berechnen zu können, brauchen wir aus den Datenblättern der einzelnen Bauteile folgende Informationen:

Eine LED wird an den Arduino mit einem Vorwiderstand an Pin 13 angeschlossen, der als digitaler Output verwendet wird
Exemplarisches Datenblatt einer roten LED

Die Betriebsspannung des Arduino: Sie beträgt 5V. Das ist die Gesamtspannung, die an unserem Stromkreis anliegt.
Die passende Stromstärke für die LED. Diese finden wir im Datenblatt: Bei LEDS sind dies häufig 20mA, oft reichen aber auch 15mA.

Mit dem Ohmschen Gesetz ergibt sich dann:

 R = U / I --> R = 5V / 0.02 A --> R = 250 Ohm 

In den meisten Fällen, gerade in einfachen Stromkreisen, wäre das ein ausreichendes Ergebnis, die LED könnte gefahrlos mit einem 250 Ohm Widerstand betrieben werden.
Allerdings ist die Rechnung nicht besonders genau, denn: Auch die LED selbst hat einen kleinen Innenwiderstand. Das bedeutet auch an ihr liegt dementsprechend ein kleiner Anteil der Spannung an.

Da wir im Beispiel den Widerstand in Reihe mit der LED schalten,ergibt sich die Gesamtspannung von 5V durch die Addition der Einzelspannungen von Widerstand und LED .

Um also den genauen Vorwiderstandswert berechnen zu können, müssen wir diese Flussspannung/Betriebsspannung der LED ebenfalls kennen. Diese entnehmen wir noch einmal aus dem Datenblatt: Sie beträgt z.B. bei einer roten LED, wie auf unserem Datenblatt 2.5V. Die LED hat also einen Innenwiderstand von:

 R = 2.5V / 0.02 A --> 125 Ohm 

Am eigentlichen Vorwiderstand liegt durch diesen Innenwiderstand also nur eine Restspannung von 2,5 V an, die wir ausgleichen müssen. Statt 250 Ohm brauchen wir also nur einen Vorwiderstand von 125 Ohm.

 Welches Widerstandsprofil LEDs als Dioden haben (warum sie z.B. sehr schnell durchbrennen) was ein "idealisierter" Stromkreis ist und wie man Widerstände präzise berechnet, gibt es hier ausführlich:
https://rotering-net.de/tut/arduino/led-und-ihr-vorwiderstand.html

PULL-UP/ PULL-DOWN RESISTORS

Eine sehr ausführliche Erklärung zum Thema Pull-Up & Pull-Down Resistors findest du hier:
https://www.electronics-tutorials.ws/logic/pull-up-resistor.html 


Schaltplan für Schalter ohne Pull-Up Widerstand
Schaltplan für Schalter mit Pull-Up Widerstand

Im Schaltkreis links verwenden wir einen Schalter als Sensor, der vom Arduino digital , also entweder als HIGH (1) oder LOW (0), gelesen werden soll. Diese Lesart ist abhängig davon, wie viel Spannung am Input Pin 7 anliegt.
Auf den ersten Blick, könnte es also reichen, wie im linken Schaltkreis abgebildet, den Schalter z.B. mit Ground zu verbinden, um beim Schließen des Schalters an der digitalen Pin 7 ein LOW (mit 0V) ablesen zu können und umgekehrt bei geöffnetem Schalter ein digitales HIGH.
Allerdings können wir mit diesem Schaltplan nicht mit Sicherheit sagen, wie viel Spannung an Pin 7 anliegt, solange der Schalter nicht geschlossen ist. Dadurch erzeugen wir eine sogenannte floating Pin , deren anliegende, undefinierte Spannung (alles zwischen 0V bis 5V) möglicherweise nicht als digitales HIGH gelesen wird. Durch kleinste Veränderungen an benachbarten Pins oder elektromagnetische Störungen kann sich so der digitale Wert der Pin verändern und den Stromkreis im schlimmsten Fall unbrauchbar machen. Um diese Ungenauigkeit zu verhindern verwenden wir PULL-UP oder PULL-DOWN Widerstände, die unsere Input Pin 7 zusätzlich zum Schalterkreislauf über einen Widerstand mit Ground (Pull-Down) oder 5V (Pull-Up) verbinden und damit eine klar definierte Ausgangsspannung (default state) auch ohne geschlossenen Schalter etablieren.
Würden wir Pin 7 z.B. direkt an die interne Stromversorgung des Arduino von 5V anschließen, würden wir beim Schließen des Schalters einen Kurzschluss riskieren, bei dem ein sehr großer Strom direkt von 5V zu Ground fließen würde. Wir müssen deshalb dazwischen einen passenden Widerstand einbauen.


PULL-UP Widerstand

Um den passenden Wert für einen Pull-Up Widerstand für Pin 7 zu berechnen, müssen wir zunächst die Spannungswerte kennen, die der Arduino als digitales LOW bzw. als digitales HIGH liest. Von der Arduino Website können wir diese entnehmen: https://www.arduino.cc/reference/de/language/variables/constants/constants/

Für eine Spannung Vlow kleiner als 1,5V liest der Arduino ein digitales LOW ab.
Für eine Spannung Vhigh größer als 4,5V liest der Arduino eine digitales HIGH ab.

Alles zwischen 1,5V und 4,5V wird entweder als LOW oder HIGH gelesen, sodass wir für ein zuverlässiges Ergebnis mit dem Pull-Up Widerstand den Spannungswert auf jeden Fall nicht weiter als 4,5 V absenken dürfen und gleichzeitig den Wert nicht zu klein halten dürfen, um einen möglichen Kurzschluss beim Schließen des Schalters zu verhindern.

Den genauen Wert können wir, wie folgt berechnen:

 R = U / I --> R = (Vmax - Vhigh) / I (Betriebsstromstärke max) --> R = (5V - 4,5 V) / 20mA --> R = 25kOhm 

Der Wert des Pull-Up Widerstands muss häufig nicht all zu genau berechnet werden, sodass Pull-Up Widerstände von 10kOhm bis 100kOhm geläufig sind.

Die Macher*innen von Arduino sagen selbst dazu:

"Often it is useful to steer an input pin to a known state if no input is present. This can be done by adding a pullup resistor (to +5V), or a pulldown resistor (resistor to ground) on the input. A 10K resistor is a good value for a pullup or pulldown resistor." taken from: https://www.arduino.cc/en/Tutorial/Foundations/DigitalPins

PULL-DOWN Widerstand

Der Wert eines Pull-Down Widerstandes kann auf die gleiche Weise berechnet werden, muss allerdings wesentlich genauer berechnet werden bzw. darf eine gewisse Größe nicht überschreiten, da ein zu großer Widerstand die Spannung unterhalb des noch lesbaren Wertes für ein digitales LOW absenken würde. Statt also den maximalen Wert des Pull-Down Widerstandes zu berechnen (bis 1,5V wird Pin 7 noch als LOW gelesen), lohnt es sich einen niedrigeren Widerstand einzusetzen.

 Also z.B. R = U / I --> Rmax = (Vlow - Vmin) / I (Betriebsstromstärkemin) --> R = (1,5V - 0V) / 249mA --> R = ca. 6kOhm 

Um sicher zu gehen, dass der Spannungswert nicht zu stark ansteigt, ist allerdings ein Pull-Down Widerstand unter 6kOhm (z.B. 4kOhm-5kOhm) eine bessere Wahl.

Interner PULL-UP Widerstand beim Arduino:

Der Arduino hat an allen Input Pins einen internen Pull-Up Widerstand eingebaut, der ein- oder ausgeschaltet werden kann.
Anstelle eines externen Pull-Up Resistors kann man diesen durch den Befehl INPUT_PULLUP direkt an und ausschalten:

void setup() {
  //start serial connection
  Serial.begin(9600);
  //Pin 7 als Input und aktiviere den internen PULL-UP Widerstand
  pinMode(7, INPUT_PULLUP);

void loop () {
  //schreibe den Wert des Schalters in die Variable sensorVal, lese den digitalen Wert von Pin 7
  int sensorVal = digitalRead(7);
  //serialprint den Wert von sensorVal
  Serial.println(sensorVal);


Achtung: Wenn z.B. Pin 7 als Input Pin deklariert wurde und sein interner Pull-Up Widerstand aktiviert wurde, so wird dieser eingeschaltet bleiben auch wenn Pin 7 anschließend als Output deklariert wird. Dadurch wird eine geringe Grundspannung/Stromstärke an Pin 7 aktiviert bleiben, die z.B. eine angeschlossene LED gedimmt zum Leuchten bringen wird. 

Spannungsteiler

In Reihe geschaltene Widerstände können als Spannungsteiler in einen Stromkreis eingebaut werden. So kann beispielsweise die Spannung für ein Bauteil auf einen spezifischen benötigten Wert abgesenkt werden oder die Spannungsdifferenz zwischen zwei Widerständen gemessen werden (vgl. Photoresistor ) Alle Infos zu Spannungsteilern findest du hier: | Voltage Divider.