Eine gute Referenz zur Einführung, zum Umgang mit Matlab bzw. Octave findet man unter Textbooks of Cleve Moler. Schauen Sie sich die Einführungen dort an und vollziehen Sie die zum Teil spannenden Experimente nach. Es hilft, Matlab/Octave zu erlernen und die Schönheit der Mathematik zu verstehen.
Berechnen Sie den Widerstand aus der gegebenen Spannung U und der Stromstärke I.
Lösung
# Beispielcode
U=10
I=1
R=U/I
# R=10
Berechnen Sie (parallel) die Widerstandswerte bei mehreren Spannungs und Stromstärken
Lösung
# Beispielcode
U=[1 2 3 4];
I=[4 3 2 1];
R=U./I
# R=[0.25 0.66 1.5 4]
Zeichnen Sie eine Schar von Widerstandsgeraden in ein U-I Diagramm. Entwerfen Sie eine Funktion, die mit den Eingaben Umin,Umax,Rmin,Rmax jeweils die Geraden für zehn Widerstände im Bereich Rmin und Rmax zeichnet.
Lösung
Die Kennlinien, inklusive der Nutzung einiger Features der Vektorrechnung findet man hier:
Berechnen Sie die Geschwindigkeit von Ladungsträgern in einem Leiter. Wie verhält sich die Geschwindigkeit zum Radius eines runden Leiters? Wie dünn muss ein Kupferleiter werden, damit bei einer Stromstärke von 1A die Elektronen Autogeschwindigkeit erreichen (28m/s)?
Lösung
Die Geschwindigkeiten können mit dieser Funktion berechnet werden.
Berechnung von Geschwindigkeiten von Ladungsträgern
Aufruf und Optimierung
e_v(8.47e19*1e9,1,pi*(0.915e-6)^2)
liefert als Geschwindigkeit in etwa 28m/s. Der Draht darf also nur einen Durchmesser von 1,8m haben. Es ergibt sich dann eine Stromdichte von
1/(pi*(0.915e-6)^2)
% 3.8020e+11A/m^2 = 380 kA/mm^2
was ja ganz schön viel ist. Das zeigt einmal mehr, dass die Forderung nach Autogeschwindigkeit für Elektronen im Kupfer unrealistisch ist, denn das Material würde sofort verglühen.
Die Darstellung der Geschwindigkeit über dem Radius kann mit
[Darstellung der Geschwindigkeit als Funktion des Radius](speed_vs_radius.m)
Erstellen Sie eine Funktion, die den Widerstand (von Kupfer) aus den Materialparametern und der Geometrie, also Länge und Drahtdurchmesser berechnet! Zeichnen Sie den Widerstand als Funktion des Drahtdurchmessers in einem sinnvollen Bereich!
Lösung
Hier ist dann
Mit Zeichnung der Aufruf in einer Zeile
d=[0.5:0.05:4]*1e-3;plot(d,widerstand(material("Kupfer").rho,1000,pi/4*d.^2));grid on; xlabel("d/m");ylabel("R/Ohm");
Wobei hier eine Funktion material definiert war, die verschiedenen Materialparameter zurück liefert.
Berechnen Sie damit (analytisch oder ggf. durch Ausprobieren von Zahlenwerten), wie lang ein Draht mit Widerstand 10Ohm bei einer Querschnittsfläche von 1,5mm sein muss! Warum sollte man so etwas konstruieren wollen?
Lösung
Der Aufruf
widerstand(material("Kupfer").rho,852.5,1.5e-6)
würde das Problem lösen (R=10). Man macht so etwas eigentlich nicht, und wenn, dann damit sich der Draht auch bei großen Bemessungsströmen nicht erwärmt. Auf richtige Lages des Drahtes ist aber zu achten, bspw. nicht zu eng wickeln.
Plotten Sie den Widerstand eines Materials (ggf. auch als Kurvenschar mehrere Materialien) als Funktion der Temperatur, sinnvoller Bereich ist bspw. -60°C bis 120°C (Automotive-Bereich) oder auch 20°C bis 500°C (Prozesstemperaturen).
Berechnen Sie die Stromdichte in Kupferleitern für die nach VDE 0100 erlaubten Stromstärken in Abhängigkeit vom Drahquerschnitt. Warum ist die erlaubte Stromstärke vom Drahtquerschnitt nicht unabhängig?
Erlaubt sind
Leiterquerschnitt - in mm^2 | max. Strom - in A | Stromdichte - in A/mm^2 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Berechnen Sie die Kennlinien und Arbeitspunkte von Spannungs und Stromquellen und stellen Sie diese dar. Sie können dieses für jeweils eine Quelle machen, oder auch gleich vektororientiert angehen. Zudem ist die Zeichnung einer Lastgerade hilfreich.
Geben Sie einen einfachen, einzeiligen Befehl zur Berechnung des Gesamtwiderstandes von beliebig vielen Widerständen in Serie an! Die Widerstande sind in dem Vektor "r" gespeichert
rges=sum(r);
Geben Sie einen einfachen, einzeiligen Befehl zur Berechnung des Gesamtwiderstandes von beliebig vielen parallelgeschalteten Widerständen an! Die Widerstande sind in dem Vektor "r" gespeichert
rges=1/sum(1./r);
Erstellen Sie zwei Routinen, die diese Umwandlung, jede Routine eine Richtung, ermöglichen. Versuche Sie, diese Routinen so zu programmieren, dass Sie Vektoren von Stern oder Dreieckswiderständen eingeben können. Damit können dann in einem Funktionsaufruf viele Dreiecke und Sterne umgewandelt werden. Funktionieren Die Routinen, wenn Sie die eine in die andere einsetzen?
Lösung
Bemerkung: Beachten Sie die Verwendung von Matrizen bei der vektoriellen Implementation.
Hier wird als einzig sinnvolles Verfahren nur das Knotenpotenzialverfahren implementiert.
Implementieren Sie das Knotenpotenzialverfahren so, dass eine Netzliste eingegeben werden kann. Es dürfen Anforderungen an die Syntax der Netzliste gestellt werden und Fehler in dieser Syntax müssen nicht abgefangen werden.
Es ist sinnvoll zunächst den Aufbau der Netzliste zu definieren:
Spalte | Bezeichnung | Beschreibung |
---|---|---|
|
Knoten 1 |
positiver der beiden Knoten |
|
Knoten 2 |
negativer der beiden Knoten |
|
R |
Widerstand zwischen Knoten |
|
I |
Quellenstrom parallel zu R |
|
V |
Quellenspannung seriell zu R |
Randbedingungen: * Es muss einen Knoten 0 (Masseknoten) geben, Alle Knotennummern von 0 bis Kmax müssen vorhanden sein, Kmax definiert dann die Anzahl der Knoten (+1) * R darf nicht Null sein (ideale Spannungsquelle) * I und V dürfen Null sein, Vorzeichen ist so, dass der Pluspol einer Quelle an Knoten 1 liegen würde.
Beispielnetzliste nach Übungsaufgabe 6.1
Stellen Sie nun die Leitwertmatrix, und den Vektor der Quellenströme auf, lassen Sie das Gleichungssystem lösen und geben Sie die Knotenspannungen aus! Zum Schluss berechnen Sie noch die Ströme durch die in der Netzliste definierten Widerstände R!
Lösung
Bestimmen eines Arbeitspunktes bei einem nichtlinearen an einem ansonsten linearen Zweitor ist im Prinzip die Suche einer Nullstelle. Grafisch erfolgt das so, dass der Schnittpunkt der Arbeitsgerade des linearen Zweitores (Ersatzquelle) mit der nichtlinearen Kennlinie gesucht wird. Mathematisch bildet man einfach die Differenz von beiden und sucht die Nullstelle. In Octave ist eine mögliche Funktion
y=fzero(f,[xmin,xmax])
wobei mit
f=@(x) x*x-1;
irgendeine (anonyme) Funktion definiert wird und xmin,xmax ein Intervall darstellen, in dem ein Vorzeichenwechsel der Funktion vorliegen muss.
Versuchen Sie sich mit dieser einfach Konstruktion, lernen Sie etwas über anonyme Funktionen in Octave, die Syntax müssen Sie verstehen, sonst wird es später schwierig.
Eine Diodenkennlinie ist im idealen/ einfachen Fall gegeben über die Shockley-Gleichung
mit dem Sperrstrom typischerweise femto oder nano Ampere, und mV der Temperaturspannung. Die Herleitung lassen wir hier weg, Sie können diese in einem Elektronikbuch oder auch Wikipedia finden.
Programmieren Sie eine anonyme Funktion der Shockley-Gleichung und plotten Sie diese!
Bestimmen Sie den Arbeitspunkt einer Diode mit o.g. Kennlinie (nehmen Sie Werte für an) an einer Spannungsquelle mit Innenwiderstand.
Lösung
Arbeitspunkt bei nichtlinearer Kennlinie
Es wird die Maschengleichung so umgeformt, dassBemerkung: Die Reihenfolge der Rückgabeparameter wird im Folgenden wichtig sein. Iap muss der erste Parameter sein!
Dioden haben typischerweise eine Schwellen/Durchlassspannung (das ist die Spannung ab der der Strom dramatisch steigt) von 0,7V. LED haben eine solche, die der Energie der der Photonen, die die emittieren, entspricht. Das sind bei Rot etwa 1,8V, bei gelb 2,1V, bei grün 2,4V, bei blau 3V. Dieses alles sind ungefähre Angaben, es kommt natürlich auf die exakte Farbe bzw. Wellenlänge des Lichts an.
Variieren Sie den Sperrstrom so, dass Sie unterschiedliche Durchlassspannungen einstellen können.
Zur Lösung nur so viel, dass es bei Verwendung der o.g. Kennlinie unrealistisch geringe Werte für den Sperrstrom sind. Dieser Widerspruch wird hier nicht aufgelöst.
Verwenden Sie die vorstehende Routine zur Bestimmung des Arbeitspunktes, um den Vorwiderstand zu bestimmen!
Lösung
Hier wird die Berechnung der Stromstärke im Arbeitspunkt verwendet, um eine weitere Funktion auf zu bauen, nämlich
Und da vom Vorwiderstand abhängt, wird dieser so lange variiert, bis o.g. Gleichung Null ergibt. Das Ergebnis ist der Vorwiderstand.
Berechnen Sie Verlauf der Spannung und der Stromstärke über bzw. durch einen Kondensator und eine Spule. Das Element wird jeweils aus einer Spannungsquelle gespeist und ist an diese über einen Widerstand angeschlossen. Die Entladung erfolgt über einen Widerstand . Experimentieren Sie mit verschiedenen Verhältnissen der Widerstände und der Zeitkonstanten bzw. und entsprechend der Zeiten für Ladung und für Entladung!
Lösung
Für die Theorie wird auf die Vorlesung, bzw. die Video-Clips verwiesen. Die Grafiken und Lösungen findet man hier:
Die Lösung von Differentialgleichungen (Ordinary Differential Equations (ODE)) kann auch numerisch in Octave erfolgen. Dazu muss die Gleichung immer in die Form
gebracht werden. Der Punkt über der Variablen ist eine Abkürzung für die Ableitung nach der Zeit.
Für die Masche bestehend aus Spannungsquelle, Widerstand und Kondensator folgt dann
und als kurzes Matlabprogramm
# Beispielcode
R=1000; C=1e-6; Uq=1; t=R*C;
t=linspace(0,5*t,1001);
ucdot=@(uc,t) (Uq-uc)/(R*C);
uc=lsode(ucdot,0,t);
erhält man im Ergebnis den zeitlichen Verlauf der Spannung am Kondensator. erstellen Sie ein Programm, bei dem die Anregung uq eine von Ihnen vorgegebene Form hat (bspw. Sinus oder Rechteck) und die Stromstärke berechnet wird und alles zusammen gezeichnet wird.
Lösung
Wiederholen Sie o.g. Aufgabe und modifizieren Sie sie so, dass die entsprechenden Parameter bei Anschluss einer Spule an eine Spannungs (oder Stromquelle) berechnet werden!
Es muss die modifizierte DGL aufgestellt werden, die hier direkt für den Strom löst. Dann erhält man
[Ladekurve eines LR-Gliedes](ind_lade1.m)
Betrachten Sie noch einmal den o.g. Kreis zur Berechnung des Spannungsverlaufs an einer Kapazität , die von einer Spannungsquelle mit Innenwiderstand gespeist wird. Parallel zur Kapazität wird ein weitere RC-Glied mit geschaltet.
Leiten Sie das System der Differentialgleichungen her und lösen Sie es mit Octave.
Lösung
Siehe Video Herleitung des DGL-Systems für zwei RC-Glieder
Nun sind an einer Spannungsquelle RL und C in Serien angebracht. Dieses nennt man den Serienschwingkreis.
Stellen Sie das System von DGL auf und lösen Sie in Octave, so dass die Spannungen an den einzelnen Elementen gefunden werden!
Lösung
Die DGL zweiter Ordnung ist durch die Maschengleichung schnell aufgestellt und lautet
was etwas unhandlich ist, da mit nun auch noch das Integral des Stromes auftaucht. Daher wird alles auf umgeschrieben:
oder
Damit hat man eine DGL zweiter Ordnung, die aber Octave nicht verarbeiten kann, man braucht ein System von DGL erster Ordnung. Wenn man nun einen Vektor mit und definiert und dort
Die linken Seiten sind das berühmte qdot (xdot), das in Octave definiert werden muss, und rechts steht die Funktion f(x). Damit ist die entscheidende Zeile
qdot=@(q,t) [q(2);uq(t)/L-q(1)/(L*C)-R/L*q(2)]
Das komplette Programm findet sich unter