====== std.ee — Elektrotechnik ====== → [[lyx_-_programmiersprache:units|Zurück zur Unit-Übersicht]] · [[lyx_-_programmiersprache:units:complex|std.complex]] · [[lyx_-_programmiersprache:units:units.lyx|std.units]] Drei Units für die alltägliche Elektrotechnik: Konstanten und Vorsätze, Gleichstromnetzwerke, Wechselstrom mit komplexer Rechnung. Sie sind für **Auslegung und Nachrechnung** gedacht — Leitungsquerschnitt, Spannungsfall, Filtergrenzfrequenz, Blindleistungskompensation. ''std.ee'' selbst ist **keine Unit**, sondern ein Verzeichnis; importiert wird immer eine konkrete Unit. **Quelle:** ''std/ee/'' ---- ===== Units im Überblick ===== ^ Unit ^ Import ^ Inhalt ^ | [[lyx_-_programmiersprache:units:ee:const|std.ee.const]] | ''import std.ee.const;'' | Naturkonstanten nach SI 2019, SI-Vorsätze als exakte Zehnerpotenzen, Flächen- und Kreisfrequenz-Umrechnung, Fehlerwert | | [[lyx_-_programmiersprache:units:ee:dc|std.ee.dc]] | ''import std.ee.dc;'' | Ohm, Leistung, Reihen- und Parallelschaltung, Spannungs- und Stromteiler (**belastet und unbelastet**), Leitungen, Temperaturgang, reale Quelle | | [[lyx_-_programmiersprache:units:ee:ac|std.ee.ac]] | ''import std.ee.ac;'' | Blindwiderstände, komplexe Impedanz über [[lyx_-_programmiersprache:units:complex|std.complex]], Reihen-RLC, Resonanz und Güte, Effektivwerte je Kurvenform, Leistungsdreieck, Kompensation | ---- ===== Die durchgehenden Regeln ===== * **Die Einheit steht im Namen.** ''DcWireResistanceOhm(rho, lenM, aMm2)'' nimmt Meter und **Quadratmillimeter** — die häufigste Fehlerquelle in Leitungsrechnungen ist nicht die Formel, sondern mm² gegen m². Wo eine Umrechnung nötig ist, gibt es sie als eigene Funktion (''EeMm2ToM2'') statt als Faktor im Kopf des Aufrufers. * **Der Fehlerwert ist NaN**, geprüft mit ''EeIsError''. Eine 0 wäre hier untauglich: 0 V, 0 A und 0 Ω sind gültige Ergebnisse, und ein Fehler, der wie ein gültiger Wert aussieht, ist schlimmer als gar keine Antwort. * **SI-Vorsätze sind exakte Zehnerpotenzen** (''EeMicro()'' = 1.0e-6), nicht aus Zeichenketten geparst. Ein abgeschnittener Vorsatz ist ein Rechenfehler: wer µ „ungefähr" behandelt und unterwegs rundet, verschiebt eine Zeitkonstante um Prozente. ---- ===== Drei Fallen, gegen die die API gebaut ist ===== ^ Falle ^ Was hier dagegen steht ^ | **Die Parallelformel hat einen Pol.** ''1/(1/R1 + 1/R2)'' ist für R = 0 nicht definiert — und R = 0 ist kein exotischer Fall, sondern der Kurzschluss, den man gerade nachrechnet | Jede Funktion prüft das und liefert den Fehlerwert statt einer Division durch null | | **Der Spannungsteiler gilt nur unbelastet.** Wer einen Verbraucher anhängt und trotzdem so rechnet, bekommt eine zu hohe Spannung | ''DcVoltageDivider'' **und** ''DcVoltageDividerLoaded'' als getrennte Funktionen | | **Scheitelwert durch √2 gilt nur für den Sinus.** Bei einem Rechteck ist der Effektivwert der Scheitelwert selbst | ''AcRmsFromPeakSine'', ''AcRmsFromPeakSquare'', ''AcRmsFromPeakTriangle'' — kein allgemeines ''AcRms'' | ---- ===== Einstiegsbeispiel ===== unit main; import std.ee.const; import std.ee.dc; import std.ee.ac; import std.io; import std.string; fn main(): int64 { PrintLn(StrConcat("Thermospannung 300K: ", FloatToStr(EeThermalVoltage(300.0), 5))); PrintLn(StrConcat("Teiler 12V 1k/2k: ", FloatToStr(DcVoltageDivider(12.0, 1000.0, 2000.0), 3))); PrintLn(StrConcat("dasselbe mit 2k Last: ", FloatToStr(DcVoltageDividerLoaded(12.0, 1000.0, 2000.0, 2000.0), 3))); PrintLn(StrConcat("Cu 2x10m, 1.5mm2, 10A:", FloatToStr(DcVoltageDropV(10.0, DcRhoCopper(), 20.0, 1.5), 3))); PrintLn(StrConcat("Resonanz 10mH/100nF: ", FloatToStr(AcResonanceHz(0.01, 100.0e-9), 1))); return 0; } Thermospannung 300K: 0.02585 Teiler 12V 1k/2k: 8.000 dasselbe mit 2k Last: 6.000 Cu 2x10m, 1.5mm2, 10A:4.597 Resonanz 10mH/100nF: 5032.9 **Der Unterschied zwischen den beiden Teilerzeilen ist der Punkt**: dieselbe Schaltung, einmal unbelastet mit 8 V, einmal mit 2 kΩ Last bei 6 V. Wer die unbelastete Formel für einen belasteten Teiler nimmt, liegt hier um 25 % daneben. ---- ===== Was nicht enthalten ist ===== * **Keine Halbleiterkennlinien** — Dioden, Transistoren, Kennlinienfelder. ''EeThermalVoltage'' ist die Grundlage dafür, mehr nicht. * **Keine Netzberechnung.** Maschen- und Knotenanalyse mit Gleichungssystem stehen nicht hier; für das Gleichungssystem gibt es [[lyx_-_programmiersprache:units:linalg|std.linalg]]. * **Keine Normtabellen** — E-Reihen, Sicherungskennlinien, Verlegearten. Der zulässige Spannungsfall kommt aus der Vorschrift des Anwenders, nicht aus der Unit. Letzte Aktualisierung: 2026-09-06 — Seite neu angelegt; erhoben aus ''std/ee/*.lyx'', Beispiel gegen lyxc 1.2.2D übersetzt und ausgeführt.