[ Home ] [ zurück ] [ Seitenende ]

 

 

 

Das IoE mit OOP programmieren

 

 

Die 9 V Blockbatterie als Objekt berechnen und programmieren

 

Bei einem dauerhaften Entladestrom von IEntlade = 33 mA wäre die Zink-Kohle-Batterie nach tDauer = QBatt / IEntlade = 330 mAh / 33 mA = 10 h leer.

 

Bei einem dauerhaften Entladestrom von nur IEntlade = 25 mA wäre die Zink-Kohle-Batterie nach tDauer = QBatt / IEntlade = 330 mAh / 25 mA = 13,2 h leer.

 

Mit einem geringeren Entladestrom von IEntlade = ILED = 15 mA ließe sich die Batterie tDauer = QBatt / IEntlade = 330 mAh / 15 mA = 22 h betreiben.

 

Welchen Widerstandswert RLast hat dabei der quasi ohmsche Verbraucher, bestehend aus der Reihenschaltung von Vorwiderstand RVor und Durchlasswiderstand rLED der roten LED?

 

RLast   = RVor + rLED = RVor + (UBattURVor) / iLED  

 

                    URVor = IRVor * RVor = iLED * RVor

 

                              = 15 mA * 470 Ω = 7,05 V

 

RLast   = 470 Ω + ( 9,76 V – 7,05 V ) / 15 mA

 

          = 470 Ω + 2,71 V / 15 mA = 470 Ω + 180,67 Ω = 650,67 Ω = 651 Ω

 

Gegenprobe:

 

Iges     = iLED = UBatt / RLast = 9,76 V / 651 Ω = 0,015 A = 15 mA (siehe oben!)

 

Durch die Reihenschaltung von Vorwiderstand plus (Durchlass-) Widerstand der LED vergrößert sich der Lastwiderstand RLast wie berechnet, sodass sich der Laststrom ILast = IVor = iLED entsprechend verringert und sich die Nutzungsdauer der 9 Volt Blockbatterie dramatisch(!) verlängert:

 

tDauer = QBatt / IEntlade = 330 mAh / 15 mA = 22 h

 

Der Grund dafür ist der, dass sich die entnommene, „verbrauchte“ elektrische Leistung über das Quadrat von Strom oder Spannung berechnet:

 

Pel = Uel * Iel = Iel * R * Iel = Iel 2 * R

 

Pel = Uel * Iel = Uel * Uel / R = Uel 2 / R

 

Damit sich also die rote LED mit der 9 Volt Blockbatterie tatsächlich bis zu 22 Stunden lang mit der leuchtenden LED betreiben lässt, darf der Batterie nur max. ein Laststrom von IBatt, max = 15 mA entnommen werden.

 

Wegen des mit dem Vorwiderstand RVor vergrößerten Lastwiderstandes RLast = RVor + rLED dürfte aber genau das kein Problem sein! -

 

Abschließend stellt sich noch die Frage, wie groß bzw. wie klein der Innenwiderstand Ri, Batt ist.

 

Rges      = UBatt, leer / Imax = 9,76 V / 15 mA = 0,651 KΩ = 651 Ω

 

Rges      = Ri, Batt + RVor + rLED   

 

Ri, Batt    = Rges - (RVor + rLED)

 

             = 651 - (470 + 147,54 ) = 651 - 617,54 = 33,46

 

Tatsächlich ist der Innenwiderstand Ri, kurz (= Kurzschlußstrom-Widerstand) der Blockbatterie aber wesentlich kleiner.

 

Um herauszufinden, wie groß der Kurzschlussstrom IBatt, kurz tatsächlich werden kann, muss man die Batterie für ein bis zwei Sekunden(!) kurzschließen und dabei mit einem geeigneten Amperemeter (IMess < 10 A) den Kurzschlussstrom von ca. IBatt, kurz = 2,5 A messen, sodass sich der zugehörige Innenwiderstand Ri, kurz wie folgt berechnet:

 

Ri, kurz = UBatt, leer / IBatt, kurz = 9,76 V / 2,5 A = 3,904 Ω 3,9 Ω

 

Auch wenn sich der Innenwiderstand und der Kurzschlussstrom der 9 Volt Blockbatterie recht imposant darstellen, stellt sich trotzdem die Frage, ob wir diese Werte später benötigen und in das Objekt der Blockbatterie aufnehmen sollten.

 

Diesbezüglich wäre also unsere 9 Volt Blockbatterie hinreichend als Objekt mit den Eigenschaften (Attributen) definiert:

 

·       Name des Bauelements: 9 V Blockbatterie

Typ des Bauelements: Zink-Kohle

 

·       Leerlaufspannung der Batterie UBatt, leer < 9,76 V

 

·       Maximaler Entladestrom auf Dauer ILast, dauer < 15 mA

 

·       Maximale Ladungsmenge bei voller Batterie QBatt, voll < 330 mAh


Maximale Betriebsdauer bei ILast, dauer = 15 mA: < 22 h
Lässt sich aus QBatt, voll berechnen, deshalb muss dieser Wert nicht als Attribut aufgenommen werden!

 

Mit dem Python-Programm batterie_oop_01.py kann man sich die Attribute der „9 Volt Blockbatterie“ wie folgt anzeigen lassen:

 

Anzahl Bauelemente der Schaltung: 5

 

Bauelement: 0 = <class '__main__.Stromkreis'>

Bauelement: 1 = <class '__main__.Spannungsquelle'>

 

Attribute der Spannungsquelle:

 

Attribut Nr.: 0 = ('9 Volt Blockbatterie', 'Zink-Kohle')

Attribut Nr.: 1 = ('Leerlaufspannung U null', 9.76, 'V')

Attribut Nr.: 2 = ('Nennstrom I nenn', 0.015, 'A')

Attribut Nr.: 3 = ('Ladung Q ges', 0.33, 'Ah')

 

 

Bauelement: 2 = <class '__main__.Vorwiderstand'>

Bauelement: 3 = <class '__main__.rote_LED'>

Bauelement: 4 = <class '__main__.Ground'>

 

Aufgrund der Leerlaufspannung U0 der “9 Volt Blockbatterie” von U0 = UBatt, leer = 9,76 V kann man jetzt schon absehen, dass durch die rote LED (siehe Schaltung) ein zu großer Durchlassstrom iLED = iDurchlass = iRVor fießen wird, da diese zusammen mit dem Vorwiderstand RVor nur für eine Betriebsspannung für UBatt, Nenn = 9 V berechnet wurde:

 

Ri, Batt = UBatt, leer / Imax = 9,76 V / 15 mA = 0,651 KΩ = 651 Ω (siehe weiter oben!)

 

INenn = UBatt, leer / Ri, Batt = 9,0 V / 651 Ω = 0,0138 A = 13,8 mA

 

Geradengleichung y = f(x) = mx + b                  m = Steigung, b = Parallelverschiebung

 

Widerstandsgerade des fiktiven Innenwiderstandes Ri, Batt = f (IBatt, Nenn)

 

IBatt    = 1 / Ri, Batt * UBatt + I0 = 1 / Ri, Batt * UBatt      mit I0 = 0, d.h. kein Konstantstrom

 

          = 1 / 651 Ω * 9,76 V = 0,01499 A = 15 mA                 Batterie neu, voll aufgeladen!

 

          = 1 / 651 Ω * 9,0 V = 0,0138 A = 13,8 mA                  Nennspannung, aufgeladen!

 

UBatt   = IBatt * Ri, Batt

 

          = 10,0 mA * 651 = 6510 mV = 6,51 V                     praktisch unmöglich!

 

IBatt    = 1 / Ri, Batt * UBatt

 

          = 1 / 651 Ω * 8,5 V = 0,0131 A = 13,1 mA                  praktisch möglich!

 

UBatt   = IBatt * Ri, Batt

 

          = 20 mA * 651 Ω = 13020 mV = 13,02 V                    praktisch unmöglich!

 

IBatt    = 1 / Ri, Batt * UBatt

 

          = 1 / 651 Ω * 8,2 V = 0,0126 A = 12,6 mA                  praktisch möglich!

 

Wie vielleicht bereits bekannt sein dürfte, verhält sich der Innenwiderstand Ri, Batt der Batterie kontraproduktiv: Je stärker die Batterie entladen wird, umso größer wird der elektro-chemische Innenwiderstand und umso kleiner wird der noch zu entnehmende Batteriestrom IBatt.

 

Damit aber die Batterie im teilentladenen Zustand bei einer verringerten Batteriespannung von UBatt = 8,5 V immer noch einen Laststrom von IBatt, Last = 20 mA liefern kann, müssen wir die Größe des Innenwiderstandes kleiner als bisher annehmen:

 

Ri, Batt = UBatt, leer / Imax = 8,5 V / 15 mA = 566,7 KΩ = 567 Ω

 

INenn = UBatt, leer / Ri, Batt = 8,5 V / 567 Ω = 0,01499 A = 15 mA

 

 

Den tatsächlichen Innenwiderstand der 9 Volt Blockbatterie als Funktion der zugeschalteten Belastung (= Reihenschaltung von Vorwiderstand und roter LED) wird man erst feststellen, d.h. berechnen können, wenn der Belastungsfall gegeben ist.

 

Demzufolge werden wir den Innenwiderstand der Batterie im Hinblick auf die Widerstandsgeraden mit Iges = f ( UBatt ) = 1 / Rges * UBatt erst später berechnen können.

 

Ziel dieser Berechnung wäre dann das Programmieren einer Alarmfunktion (= Abschalten) der Batterie bei Kurzschluss (= Überlastung) oder gegen Tiefentladung.

 

Der Alarmfunktion liegt die Annahme zugrunde, dass auch eine Batterie einen funktionellen Arbeitsbereich nebst Widerstandsgeraden im Sinne eines Batterie-Managements hat!

 

 

 

[ Home ] [ zurück ] [ Seitenanfang ]