Ziele:
Algorithmen und Klassen modifizieren, um eine weitere Annäherung an die
Realität zu erreichen |
|
Informationen
zur Vertiefung |
Die Taschenlampe kann in einem verbesserten Ersatzschaltbild1) folgendermaßen
dargestellt werden:
 |
Zeichenerklärung
R1 Innenwiderstand der Batterie
RL Lastwiderstand der Gluehlampe
U0 ideale Spannung der Batterie
U1 effekt. Spannung der Batterie
UL Spannung an der Gluehlampe
|
Der Unterschied zum vorigen Schaltbild ist R1, der Innenwiderstand der
Batterie. Im Idealfall (Batterie ist ganz frisch mit 100% Nennspannung
U0) ist der Innenwiderstand Null. Durch Stromentnahme wächst mit der
Zeit der Innenwiderstand an und die Batteriespannung U1 sinkt2).
Im Betrieb addieren sich also R1 und RL, so daß ein Strom von I fließt, aus dem sich eine effektive Spannung UL ergibt.
|
Ohm'sches Gesetz :
I = U / R
I = U / (R1 + RL)
UL = I * RL |
|
Ohm'sches
Gesetz
Beispielrechnung |
Anforderungsdefinition und vereinfachende
Modellannahmen zur Version 1.3.2
Das vorliegende Modell der Version 1.3 wird dem Ohm'schen Gesetz
entsprechend modifiziert.
Der Innenwiderstand der Batterie steigt bei jeder Stromentnahme um einen festen Betrag,
die neue Batteriespannung wird berechnet. Der natürliche langsame Spannungsverlust bei langer
Lagerung ohne Belastung wird nicht berücksichtigt.
Die Helligkeit der Taschenlampe nimmt von 100% auf 0% proportional linear
mit der sinkenden Spannung ab.
|
|
Es gibt wenige Änderungen
innerhalb der Klassen, die Struktur bleibt unverändert.

TBatterie erhält den Innenwiderstand Ri als Attribut. Die Methode
GetSpannung bekommt einen Parameter, mit dem der externe Lastwiderstand
der Gluehlampe zur Berechnung der Spannung übergeben wird.
Spezifikation TBatterie
TBatterie = class(TObject)
private
Spannung : double; // eff. Spannung
Ri : double; // Innenwiderstand
public
constructor Create;
function GetSpannung (RLast : double) : double;
end;
Methoden
----------
Create
Auftrag : Erzeugen und initialisieren
vorher :
nachher: Spannung ist 1.5 V, Innenwiderstand ist 0
GetSpannung ()
Anfrage: nach der aktuellen neu berechneten Spannung unter Belastung
vorher : Batt. ist init.
nachher: Innenwiderstand ist erhoeht, Spannung vermindert
|
|

TGluehlampe erhält den Widerstand als Attribut,
sowie die dazugehörige Methode
zum Auslesen.
Spezifikation TGluehlampe
TGluehlampe = class(TLampe)
private
Nennspannung,
Spannung : double; // eff. anliegende Sp.
Widerstand: double;
public
constructor Create;
procedure SetSpannung (u : double);
function GetSpannung : double; // prüfen, ob Saft da ist
function GetHelligkeit : integer;
function GetWiderstand : double;
end;
Methoden
----------
Create
Auftrag: Erzeugen und initialisieren
vorher : -
nachher: Nennspannung ist 4.5 ; Spannung = 0, Widerstand = 15.
|
|
Spezifikation
TLampenGUI ist unverändert
Spezifikation TTaschenlampe
ist unverändert
---------------------------------------------------------------
1) Steinbrucker, a. a. O.
2) http://www.elektronik-kompendium.de/sites/grd/0201113.htm
Zu Risken und Mißverständnissen
fragen Sie Ihren
Arzt oder Physiklehrer |
|
|