Übungsaufgaben zu digitalen Ausgängen am Mikrocontroller: Vorwiderstand, Ausgangsstrom und Lasten mit Transistor oder Relais
https://bildung.social/@oerinformatik/
https://oer-informatik.de/mcu-digitale-ausgaenge-uebungsaufgaben
Mikrocontroller, digitaler Ausgang, Vorwiderstand, Ausgangsstrom, Summenstrom, Transistor, Logic-Level-MOSFET, Relais, Freilaufdiode, High-Side, Übungsaufgaben, Prüfungsvorbereitung
tl/dr; (Bearbeitungszeit insgesamt 47 min, mehrere Aufgaben): Drei Übungsaufgaben zu digitalen Ausgängen: Ports und Portleitungen einer Platine bestimmen und eine Strombilanz aufstellen, Vorwiderstände für eine Statusanzeige an 3,3 V berechnen und eine weiße LED beurteilen, die Statusanzeige programmieren, eine Transistorstufe für ein Relais auslegen, Freilaufdiode und Logic-Level-MOSFET begründen, Low-Side und High-Side unterscheiden und einen Lüfter zeitgesteuert schalten. Zu jeder Teilaufgabe lässt sich eine Beispiellösung einblenden [AI-Assisted]. (Zuletzt geändert am 11.11.2026)
Diese Übungsaufgaben gehören zum Artikel Digitale Ausgänge am Mikrocontroller: LED mit Vorwiderstand, Ausgangsstrom und Lasten mit Transistor oder Relais. Die Programme gibt es für vier Boards; wähle in den Beispiellösungen oben im Tab Dein Board (ESP32-C6 ist voreingestellt).
Hinweise zur Bearbeitung: Bis zur Teil-1- bzw. Zwischenprüfung der Elektroberufe solltest Du die Basiskompetenz beherrschen, also Aufgabe 1.1. Als FIA, FISY, FIDP, FIDV, ISE, EGS oder IEGS musst Du zur Teil-2- bzw. Abschlussprüfung Aufgaben auf Kernkompetenz-Ebene lösen können, das sind Aufgabe 2.1 und Aufgabe 2.2. Die Beispiellösungen der Rechenaufgaben sind immer gleich aufgebaut: Unter Geg. steht, was gegeben ist (bei mehreren Teilaufgaben gemeinsam in der ersten), unter Ges., was gesucht ist. Jede Formel steht zuerst in ihrer Grundform; Umstellungen sind Äquivalenzumformungen, deren Rechenschritt grau rechts neben dem senkrechten Strich steht (Division mit „:“). Ergebnisse stehen mit drei signifikanten Stellen doppelt unterstrichen, gerundete mit \approx. Rechne selbst ebenso mit Formel, eingesetzten Werten und Einheit; den Spannungsabfall an den Ausgangstransistoren des Pins vernachlässigst Du (U_\mathrm{OH} = Versorgungsspannung des Controllers). Bei „nennen“ genügen Stichworte, bei „beschreiben“, „erklären“, „begründen“ und „beurteilen“ antwortest Du in ganzen Sätzen. Programme kannst Du auf dem Board testen; die Verdrahtung zeigt der Artikel zu digitalen Ausgängen. Schreib Deine Lösung zuerst vollständig auf, bevor Du die Beispiellösung einblendest.
Du möchtest eigene Aufgaben zum Üben von einem KI-Sprachmodell generieren lassen?
Kopiere den Text in ein KI-Sprachmodell Deiner Wahl und passe Kompetenzstufe, Anzahl, Bearbeitungszeit und Szenario bei Bedarf an. Wie die Aufgaben aufgebaut sind, beschreibt der Artikel Wie sind die Aufgaben aufgebaut?. Prüfe die Ergebnisse mit dem Lehrartikel: KI-Sprachmodelle machen Fehler.
Erstelle neue Übungsaufgaben zum Thema „Digitale Ausgänge am
Mikrocontroller: Vorwiderstand, Ausgangsstrom und Lasten mit Transistor
oder Relais“.
Bauplan: Halte Dich an Aufbau, Kompetenzstufen, Operatoren,
Anforderungsbereiche, Punkte und Zeitschätzung, die im Artikel
https://oer-informatik.de/aufgaben-aufbau beschrieben sind.
Fachliche Grundlage:
- https://oer-informatik.de/mcu-digitale-ausgaenge
- https://oer-informatik.de/transistor-als-schalter
- https://oer-informatik.de/mcu-pinout
- Stilbeispiel: https://oer-informatik.de/mcu-digitale-ausgaenge-uebungsaufgaben
Die Aufgaben sollen Inhalte zu diesen Schlagwörtern abdecken:
- Mikrocontroller
- digitaler Ausgang
- Vorwiderstand
- Ausgangsstrom
- Summenstrom
- Transistor
- Logic-Level-MOSFET
- Relais
- Freilaufdiode
- High-Side
Kompetenzstufe: Kernkompetenz (alternativ: Basiskompetenz, Profilkompetenz, Expertise)
Anzahl: 1 Aufgabe mit Teilaufgaben
Bearbeitungszeit in Minuten ca.: <5 bis 30 min>
Szenario: eines der Szenarien aus dem Bauplan
Vorgehen:
1. Lies zuerst die verlinkten Artikel. Kannst Du keine Webseiten
abrufen, sag mir das, statt zu raten.
2. Steht bei einer Angabe noch ein Platzhalter in <…>, frag mich
zuerst danach. Richte Punkte und Zahl der Teilaufgaben nach der
Bearbeitungszeit (ca. 0,9 min je Punkt).
3. Gib je Aufgabe Titel mit Kompetenzstufe, Ausgangssituation und
Teilaufgaben mit Operator und Punktzahl aus, dazu die geschätzte
Bearbeitungszeit.
4. Gib die Beispiellösungen mit Punkteverteilung erst aus, wenn ich
danach frage.
Aufgabe 1.1: Platine einer Kühlschrank-Temperaturanzeige (Basiskompetenz)
(ca. 13 min Bearbeitungszeit)
Die Anzeigeplatine eines Getränkekühlschranks zeigt die Temperatur auf einer einstelligen 7-Segment-Anzeige an. Ihr 8-Bit-Mikrocontroller sitzt in einem 20-poligen Gehäuse; die Platine wird mit U_\mathrm{B} = 5\ \mathrm{V} versorgt. Aus dem Datenblatt stammt diese Anschlussübersicht:
| Pin-Bezeichnung | Zusatzfunktion |
|---|---|
| PA0 … PA7 | – |
| PB0 … PB3 | PB2: Timer-Ausgang |
| PB4, PB5 | Quarzanschlüsse XTAL1, XTAL2 |
| PC0 … PC3 | Analogeingänge AN0 … AN3; PC3 auch RESET |
| VDD, VSS | Versorgung |
Im Stromlaufplan sind die Portleitungen so beschaltet:
| Leitung | angeschlossen |
|---|---|
| PA0 … PA6 | je ein Vorwiderstand zu einem Segment a … g der Anzeige (gemeinsame Kathode an Masse) |
| PB0 | Taster „SET“ gegen Masse, Pull-up 10 kΩ |
| PB2 | Basiswiderstand eines npn-Transistors, der einen Summer schaltet |
| PC1 | Mittelpunkt eines Spannungsteilers aus 10 kΩ und einem NTC |
Wie Ports und Bitbreite im Datenblatt stehen und wie Du eine Strombilanz aufstellst, zeigen die Schritte 4 und 6 des Artikels zu digitalen Ausgängen; die Portregister selbst behandelt der Artikel Register und Bitoperationen.
a) Bestimme die Zahl der Ports, ihre Bitbreite und die Gesamtzahl der Ein-/Ausgänge und Analogeingänge des Controllers. (3 Punkte)
Geg.: Anschlussübersicht (Port A: PA0 … PA7, Port B: PB0 … PB5, Port C: PC0 … PC3, VDD, VSS), Beschaltung laut Tabelle, U_\mathrm{B} = 5\ \mathrm{V}
Ges.: Zahl und Bitbreite der Ports, Zahl der Ein-/Ausgänge und Analogeingänge
| Port | Leitungen | Bitbreite |
|---|---|---|
| A | PA0 … PA7 | 8 |
| B | PB0 … PB5 | 6 |
| C | PC0 … PC3 | 4 |
- 3 Ports mit 8, 6 und 4 Bit. (1 Punkt)
- $8 + 6 + 4 = $ 18 Ein-/Ausgänge; zusammen mit VDD und VSS ergibt das die 20 Anschlüsse. Wird ein Quarz an PB4/PB5 oder der Reset an PC3 genutzt, stehen entsprechend weniger frei zur Verfügung. (1 Punkt)
- 4 Analogeingänge AN0 … AN3 an PC0 … PC3. (1 Punkt)
b) Ordne die Leitungen PA0 … PA6, PB0, PB2 und PC1 ihrer Funktion zu (digitaler Eingang, digitaler Ausgang oder Analogeingang) und begründe jeweils mit dem angeschlossenen Bauteil. (4 Punkte)
Ges.: Funktion der Leitungen mit Begründung
| Leitung | Funktion | Begründung |
|---|---|---|
| PA0 … PA6 | digitale Ausgänge | treiben über Vorwiderstände die Segment-LEDs |
| PB0 | digitaler Eingang | Taster mit Pull-up, liest 0 oder 1 (low-aktiv) |
| PB2 | digitaler Ausgang | steuert über den Basiswiderstand den Transistor für den Summer |
| PC1 | Analogeingang (AN1) | misst die temperaturabhängige Spannung des NTC-Spannungsteilers |
(je Zeile 1 Punkt)
c) Jedes Segment nimmt 8 mA auf. Das Datenblatt erlaubt je Pin 20 mA, je Port zusammen 60 mA und über VDD insgesamt 100 mA. Der Controller selbst nimmt 6 mA auf, der Basisstrom an PB2 beträgt 0,4 mA. Prüfe, ob die Anzeige die Ziffer „8“ (alle Segmente an) darstellen darf. (3 Punkte)
Geg.: I_\mathrm{Seg} = 8\ \mathrm{mA}; Grenzwerte 20 mA je Pin, 60 mA je Port, 100 mA über VDD; I_\mathrm{MC} = 6\ \mathrm{mA}, I_\mathrm{B,PB2} = 0{,}4\ \mathrm{mA}
Ges.: Zulässigkeit der Ziffer „8“
- Pin: 8\ \mathrm{mA} \leq 20\ \mathrm{mA} → zulässig. (1 Punkt)
- Port A:
\def\arraystretch{2.3} \begin{array}{rcl|l} I_\mathrm{PortA} & = & 7 \cdot I_\mathrm{Seg} & \\ I_\mathrm{PortA} & = & 7 \cdot 8\ \mathrm{mA} = \underline{\underline{56{,}0\ \mathrm{mA}}} \leq 60\ \mathrm{mA} & \end{array}
zulässig, aber mit wenig Reserve. (1 Punkt) - VDD gesamt: I_\mathrm{VDD} = 6\ \mathrm{mA} + 56\ \mathrm{mA} + 0{,}4\ \mathrm{mA} = 62{,}4\ \mathrm{mA} \leq 100\ \mathrm{mA} → zulässig. Die Ziffer „8“ darf angezeigt werden. (1 Punkt)
d) Der Summer nimmt im Betrieb 25 mA direkt aus der 5-V-Versorgung auf. Ermittle für den ungünstigsten Fall (Ziffer „8“ und Summer ein) die Gesamtstromaufnahme und die Leistungsaufnahme der Platine sowie den Energiebedarf, wenn dieser Zustand einen Tag lang anhält. (4 Punkte)
Geg.: I_\mathrm{Summer} = 25\ \mathrm{mA}, t = 24\ \mathrm{h}
Ges.: Gesamtstrom I_\mathrm{ges}, Leistung P, Energie W
\begin{aligned} &\text{(I)} && I_\mathrm{ges} = I_\mathrm{MC} + I_\mathrm{PortA} + I_\mathrm{B,PB2} + I_\mathrm{Summer} \\ &\text{(II)} && P = U_\mathrm{B} \cdot I_\mathrm{ges} \\ &\text{(III)} && W = P \cdot t \end{aligned}
\def\arraystretch{2.3} \begin{array}{rcl|l} I_\mathrm{ges} & = & 6\ \mathrm{mA} + 56\ \mathrm{mA} + 0{,}4\ \mathrm{mA} + 25\ \mathrm{mA} = \underline{\underline{87{,}4\ \mathrm{mA}}} & \\ P & = & 5\ \mathrm{V} \cdot 87{,}4\ \mathrm{mA} = \underline{\underline{437\ \mathrm{mW}}} & \\ W & = & 0{,}437\ \mathrm{W} \cdot 24\ \mathrm{h} \approx \underline{\underline{10{,}5\ \mathrm{Wh}}} & \end{array}
(Strom 2 Punkte, Leistung 1 Punkt, Energie 1 Punkt) Der Summerstrom fließt nicht über den Controller, belastet aber die Versorgung.
Aufgabe 2.1: Statusanzeige einer Regenwasserpumpe (Kernkompetenz)
(ca. 16 min Bearbeitungszeit)
Die Blattwerk Steuerungen GmbH entwickelt eine neue Steuerung für Regenwasserpumpen. Auf der Frontplatte sollen drei LEDs den Zustand zeigen: Grün für „Betrieb“, Weiß für „Pumpe läuft“ und Rot für „Störung“. Kwame Asante aus der Entwicklung lässt Dich den Prototyp mit einem ESP32-C6 DevKit (3,3 V) aufbauen. Die LEDs liegen high-aktiv an den Ausgängen von LED 1 (grün), LED 2 (weiß) und LED 3 (rot) der Standard-Pinbelegung. Laut Datenblättern der LEDs gilt:
| LED | Durchlassspannung U_\mathrm{F} typisch | Streuung von U_\mathrm{F} |
|---|---|---|
| grün | 2,2 V | 2,0 … 2,4 V |
| weiß | 3,0 V | 2,8 … 3,2 V |
| rot | 2,0 V | 1,8 … 2,2 V |
Jede LED soll mit etwa 4 mA betrieben werden. Verfügbar sind Widerstände der E12-Reihe.
a) Berechne mit den typischen Durchlassspannungen die Vorwiderstände für die grüne und die rote LED, wähle jeweils einen Wert aus der E12-Reihe und berechne den Strom, der damit tatsächlich fließt. (4 Punkte)
Geg.: U_\mathrm{OH} = 3{,}3\ \mathrm{V}, U_\mathrm{F,gn} = 2{,}2\ \mathrm{V}, U_\mathrm{F,rt} = 2{,}0\ \mathrm{V}, I_\mathrm{F} = 4\ \mathrm{mA}, E12-Reihe
Ges.: R_\mathrm{V,gn}, R_\mathrm{V,rt} (Normwert), tatsächliche Ströme
\begin{aligned} &\text{(I)} && U_\mathrm{OH} = U_\mathrm{V} + U_\mathrm{F} \\ &\text{(II)} && R_\mathrm{V} = \frac{U_\mathrm{V}}{I_\mathrm{F}} \end{aligned}
I in II:
\def\arraystretch{2.3} \begin{array}{rcl|l} R_\mathrm{V} & = & \dfrac{U_\mathrm{OH} - U_\mathrm{F}}{I_\mathrm{F}} & \\ R_\mathrm{V,gn} & = & \dfrac{3{,}3\ \mathrm{V} - 2{,}2\ \mathrm{V}}{4\ \mathrm{mA}} = \underline{\underline{275\ \Omega}} & \\ R_\mathrm{V,rt} & = & \dfrac{3{,}3\ \mathrm{V} - 2{,}0\ \mathrm{V}}{4\ \mathrm{mA}} = \underline{\underline{325\ \Omega}} & \end{array}
Gewählt wird jeweils der nächstgrößere E12-Wert, damit der Strom nicht über 4 mA steigt: 330 Ω für beide LEDs. (2 Punkte)
\def\arraystretch{2.3} \begin{array}{rcl|l} I_\mathrm{F,gn} & = & \dfrac{1{,}1\ \mathrm{V}}{330\ \Omega} \approx \underline{\underline{3{,}33\ \mathrm{mA}}} & \\ I_\mathrm{F,rt} & = & \dfrac{1{,}3\ \mathrm{V}}{330\ \Omega} \approx \underline{\underline{3{,}94\ \mathrm{mA}}} & \end{array}
(Rechnung je LED 1 Punkt, Normwerte und Ströme 2 Punkte) Wer für Grün 270 Ω wählt (nächstkleinerer Wert, 4,07 mA), bekommt die Punkte für den Normwert nur mit Begründung.
b) Für die weiße LED rechnet Jakob Terhorst ebenfalls mit der typischen Durchlassspannung und setzt 82 Ω ein. Berechne den Strom für die kleinste, die typische und die größte Durchlassspannung und beurteile, ob die weiße LED so an 3,3 V sinnvoll betrieben werden kann. Nenne eine bessere Lösung. (5 Punkte)
Geg.: R_\mathrm{V} = 82\ \Omega, U_\mathrm{F} = 2{,}8\ \mathrm{V} / 3{,}0\ \mathrm{V} / 3{,}2\ \mathrm{V}
Ges.: I_\mathrm{F} für die drei Durchlassspannungen, Beurteilung
\def\arraystretch{2.3} \begin{array}{rcl|l} I_\mathrm{F} & = & \dfrac{U_\mathrm{OH} - U_\mathrm{F}}{R_\mathrm{V}} & \\ I_\mathrm{F,min\,U_F} & = & \dfrac{3{,}3\ \mathrm{V} - 2{,}8\ \mathrm{V}}{82\ \Omega} \approx \underline{\underline{6{,}10\ \mathrm{mA}}} & \\ I_\mathrm{F,typ} & = & \dfrac{3{,}3\ \mathrm{V} - 3{,}0\ \mathrm{V}}{82\ \Omega} \approx \underline{\underline{3{,}66\ \mathrm{mA}}} & \\ I_\mathrm{F,max\,U_F} & = & \dfrac{3{,}3\ \mathrm{V} - 3{,}2\ \mathrm{V}}{82\ \Omega} \approx \underline{\underline{1{,}22\ \mathrm{mA}}} & \end{array}
(3 Punkte)
Beurteilung: Am Widerstand bleiben nur 0,1 bis 0,5 V. Je nach Exemplar schwankt der Strom deshalb etwa um den Faktor 5; zwei Steuerungen aus derselben Serie leuchten sichtbar unterschiedlich hell, und schon eine etwas kleinere Versorgungsspannung lässt die LED fast ausgehen. Für ein Serienprodukt ist das nicht sinnvoll. (1 Punkt)
Bessere Lösung: Die weiße LED mit Vorwiderstand an 5 V legen und über einen npn-Transistor oder Logic-Level-MOSFET auf der Low-Side schalten; dann fallen etwa 2 V am Vorwiderstand ab (z. B. (5\ \mathrm{V} - 3{,}0\ \mathrm{V}) : 4\ \mathrm{mA} = 500\ \Omega → 560 Ω), und die Streuung von U_\mathrm{F} wirkt sich viel weniger aus. Alternativ eine andere Farbe mit kleinerer Durchlassspannung wählen. (1 Punkt)
c) Schreibe das Programm für den ersten Test der Frontplatte: Die grüne LED leuchtet dauerhaft, die rote bleibt aus, und die weiße LED zeigt einen Pumpenzyklus von 5 s „Pumpe läuft“ und 25 s Pause. Gib den Ausgängen sprechende Namen und beginne mit der Liste der Ein- und Ausgabeelemente Deines Boards. (5 Punkte)
//-------------------------------------------------------------------------------------
// Liste der Ein- und Ausgabeelemente
// Board: ESP32-C6 Dev Kit N8-M
//-------------------------------------------------------------------------------------
// Datentyp | Name der Variable | Anschlusspin | Name, Verhalten
const int LED1_PIN = 4; // LED 1, active HIGH (strapping pin, ok as output)
const int LED2_PIN = 5; // LED 2, active HIGH (strapping pin, ok as output)
const int LED3_PIN = 6; // LED 3, active HIGH
const int LED_RUN = LED1_PIN; // grüne LED: Betrieb
const int LED_PUMP = LED2_PIN; // weiße LED: Pumpe läuft
const int LED_ERROR = LED3_PIN; // rote LED: Störung
void setup() {
pinMode(LED_RUN, OUTPUT);
pinMode(LED_PUMP, OUTPUT);
pinMode(LED_ERROR, OUTPUT);
digitalWrite(LED_RUN, HIGH); // Betrieb: dauerhaft an
digitalWrite(LED_ERROR, LOW); // keine Störung
}
void loop() {
digitalWrite(LED_PUMP, HIGH); // Pumpe läuft 5 s ...
delay(5000);
digitalWrite(LED_PUMP, LOW); // ... und steht 25 s
delay(25000);
}Bewertung: Liste mit den drei LED-Zeilen 1 Punkt, sprechende Namen 1 Punkt, pinMode(…, OUTPUT) für alle drei Ausgänge 1 Punkt, Dauerzustände von Grün und Rot (in setup() genügt) 1 Punkt, Zyklus mit 5 s und 25 s 1 Punkt.
d) Im englischen Datenblatt des Controllers findet Kwame für die Voreinstellung der Treiberstärke diese Angaben (Werte für diese Aufgabe angenommen): source current per GPIO: max. 20 mA, total source current of all GPIOs: max. 100 mA. Prüfe für den ungünstigsten Fall, dass alle drei LEDs gleichzeitig leuchten und die weiße LED wie in b) mit 82 Ω an 3,3 V liegt, ob beide Grenzwerte eingehalten werden. (3 Punkte)
Geg.: I_\mathrm{F,gn} = 3{,}33\ \mathrm{mA}, I_\mathrm{F,rt} = 3{,}94\ \mathrm{mA}, I_\mathrm{F,ws,max} = 6{,}10\ \mathrm{mA}; Grenzwerte 20 mA je Pin, 100 mA gesamt
Ges.: Einhaltung der Grenzwerte
Je Pin: Der größte Strom fließt durch die weiße LED bei kleinster Durchlassspannung: 6{,}10\ \mathrm{mA} \leq 20\ \mathrm{mA} → eingehalten. (1 Punkt)
Summe:
\def\arraystretch{2.3} \begin{array}{rcl|l} I_\mathrm{ges} & = & I_\mathrm{F,gn} + I_\mathrm{F,ws,max} + I_\mathrm{F,rt} & \\ I_\mathrm{ges} & = & 3{,}33\ \mathrm{mA} + 6{,}10\ \mathrm{mA} + 3{,}94\ \mathrm{mA} \approx \underline{\underline{13{,}4\ \mathrm{mA}}} \leq 100\ \mathrm{mA} & \end{array}
eingehalten. (1 Punkt) Für den ungünstigsten Fall zählt vor allem die kleinste Durchlassspannung der weißen LED. (1 Punkt)
Aufgabe 2.2: Lüfter für den Akku-Prüfstand (Kernkompetenz)
(ca. 18 min Bearbeitungszeit)
In der Werkstatt Sennestadt der CSB-Rad GmbH werden Akkus auf einem Prüfstand entladen. Paul Neubauer möchte, dass ein Lüfter die elektronische Last kühlt, und lässt Dich und Defne Ekinci eine Ansteuerung mit einem ESP32-C6 DevKit (3,3 V) bauen. Der Ausgang von LED 4 der Standard-Pinbelegung schaltet über einen npn-Transistor ein Kleinrelais, dessen Kontakt den Lüfter schaltet. Daten der Bauteile:
| Bauteil | Angabe |
|---|---|
| Relais | Spulennennspannung 5 V DC, Spulenwiderstand 100 Ω, ein Schließer |
| npn-Transistor | Stromverstärkung B_\mathrm{min} = 100, U_\mathrm{BE} = 0{,}7\ \mathrm{V} |
| Übersteuerungsfaktor | ü = 5 |
| Widerstände | E12-Reihe |
a) Berechne den Spulenstrom, den nötigen Basisstrom und den Basiswiderstand. Wähle einen Normwert der E12-Reihe, begründe die Rundungsrichtung und gib den Basisstrom mit diesem Wert an. (5 Punkte)
Geg.: U_\mathrm{Sp} = 5\ \mathrm{V}, R_\mathrm{Sp} = 100\ \Omega, B_\mathrm{min} = 100, ü = 5, U_\mathrm{OH} = 3{,}3\ \mathrm{V}, U_\mathrm{BE} = 0{,}7\ \mathrm{V}
Ges.: I_\mathrm{C}, I_\mathrm{B}, R_\mathrm{B} (Normwert)
\begin{aligned} &\text{(I)} && I_\mathrm{C} = \frac{U_\mathrm{Sp}}{R_\mathrm{Sp}} \\ &\text{(II)} && I_\mathrm{B} = ü \cdot \frac{I_\mathrm{C}}{B_\mathrm{min}} \\ &\text{(III)} && R_\mathrm{B} = \frac{U_\mathrm{OH} - U_\mathrm{BE}}{I_\mathrm{B}} \end{aligned}
\def\arraystretch{2.3} \begin{array}{rcl|l} I_\mathrm{C} & = & \dfrac{5\ \mathrm{V}}{100\ \Omega} = \underline{\underline{50{,}0\ \mathrm{mA}}} & \\ I_\mathrm{B} & = & 5 \cdot \dfrac{50\ \mathrm{mA}}{100} = \underline{\underline{2{,}50\ \mathrm{mA}}} & \\ R_\mathrm{B} & = & \dfrac{3{,}3\ \mathrm{V} - 0{,}7\ \mathrm{V}}{2{,}5\ \mathrm{mA}} = \underline{\underline{1{,}04\ \mathrm{k\Omega}}} & \end{array}
(je Größe 1 Punkt) Gewählt wird der nächstkleinere E12-Wert 1,0 kΩ: Ein kleinerer Basiswiderstand ergibt einen etwas größeren Basisstrom, der Transistor bleibt sicher in der Sättigung. (1 Punkt)
I_\mathrm{B} = \frac{2{,}6\ \mathrm{V}}{1{,}0\ \mathrm{k\Omega}} = \underline{\underline{2{,}60\ \mathrm{mA}}}
Das ist für den Pin unkritisch. (1 Punkt)
b) Defne baut die Stufe ohne Freilaufdiode auf. Nach einigen Schaltspielen ist der Transistor defekt. Erkläre die Ursache und beschreibe, wie die Freilaufdiode eingebaut wird. (3 Punkte)
Die Relaisspule speichert Energie im Magnetfeld. Sperrt der Transistor, will der Spulenstrom weiterfließen; die Spule induziert eine Spannung, die am Kollektor weit über die Versorgungsspannung steigt und die zulässige Kollektor-Emitter-Spannung überschreitet. (2 Punkte)
Die Freilaufdiode liegt parallel zur Spule, Kathode an +5 V, Anode am Kollektor. Im Betrieb sperrt sie; beim Abschalten übernimmt sie den Spulenstrom, bis die Energie abgebaut ist. (1 Punkt)
c) Für einen stärkeren 12-V-Lüfter (0,8 A) schlägt Defne vor, den Lüfter ohne Relais direkt mit einem N-Kanal-MOSFET auf der Low-Side zu schalten. Nenne drei Anforderungen an den MOSFET, beschreibe die Beschaltung zwischen Pin und Gate und berechne die Verlustleistung des MOSFET, wenn sein Datenblatt R_\mathrm{DS(on)} = 50\ \mathrm{m\Omega} bei U_\mathrm{GS} = 2{,}5\ \mathrm{V} angibt. (5 Punkte)
Anforderungen (je 1 Punkt, drei davon):
- Logic-Level-Typ: R_\mathrm{DS(on)} ist schon für U_\mathrm{GS} = 2{,}5\ \mathrm{V} (oder kleiner) angegeben, damit er bei 3,3 V voll durchschaltet,
- zulässige Drain-Source-Spannung mit Reserve über 12 V (z. B. 20 V oder 30 V),
- Dauer-Drainstrom deutlich über 0,8 A,
- kleiner R_\mathrm{DS(on)}, damit die Verlustleistung klein bleibt.
Beschaltung (1 Punkt): Gatewiderstand (etwa 100 bis 220 Ω) zwischen Pin und Gate, Pull-down (etwa 10 bis 100 kΩ) zwischen Gate und Source/GND, damit der MOSFET beim Start sperrt. Source an GND, die Masse des 12-V-Netzteils mit GND des Boards verbinden, Freilaufdiode parallel zum Lüfter.
Verlustleistung (1 Punkt):
Geg.: I_\mathrm{D} = 0{,}8\ \mathrm{A}, R_\mathrm{DS(on)} = 50\ \mathrm{m\Omega} — Ges.: P_\mathrm{V}
P_\mathrm{V} = I_\mathrm{D}^2 \cdot R_\mathrm{DS(on)} = (0{,}8\ \mathrm{A})^2 \cdot 0{,}05\ \Omega = \underline{\underline{32{,}0\ \mathrm{mW}}}
Das schafft auch ein kleines SMD-Gehäuse ohne Kühlkörper.
d) Schreibe das Programm für den ersten Test: Der Lüfter läuft 20 s und steht dann 10 s; eine Kontroll-LED am Ausgang von LED 1 leuchtet, solange der Lüfter läuft. Nutze für die Transistorstufe den Namen RELAY_PIN. (5 Punkte)
//-------------------------------------------------------------------------------------
// Liste der Ein- und Ausgabeelemente
// Board: ESP32-C6 Dev Kit N8-M
//-------------------------------------------------------------------------------------
// Datentyp | Name der Variable | Anschlusspin | Name, Verhalten
const int LED1_PIN = 4; // LED 1, active HIGH (strapping pin, ok as output)
const int LED4_PIN = 7; // LED 4, active HIGH
const int RELAY_PIN = LED4_PIN; // Transistorstufe des Relais am Ausgang von LED 4
void setup() {
pinMode(LED1_PIN, OUTPUT); // Kontroll-LED
pinMode(RELAY_PIN, OUTPUT);
}
void loop() {
digitalWrite(RELAY_PIN, HIGH); // Lüfter an ...
digitalWrite(LED1_PIN, HIGH); // ... und Kontroll-LED an
delay(20000);
digitalWrite(RELAY_PIN, LOW); // Lüfter aus ...
digitalWrite(LED1_PIN, LOW); // ... und Kontroll-LED aus
delay(10000);
}Bewertung: Liste mit LED 1 und LED 4 1 Punkt, RELAY_PIN als Name für den Ausgang von LED 4 1 Punkt, beide Pins als Ausgang 1 Punkt, Lüfter und Kontroll-LED gemeinsam schalten 1 Punkt, Zeiten 20 s/10 s 1 Punkt.
e) Paul möchte, dass der ausgeschaltete Lüfter an beiden Anschlüssen auf Masse liegt. Unterscheide dafür Low-Side- und High-Side-Schalter und erkläre, warum ein P-Kanal-MOSFET auf der High-Side der 12-V-Versorgung nicht direkt vom 3,3-V-Pin gesteuert werden kann. (2 Punkte)
Der Low-Side-Schalter liegt zwischen Last und Masse; die ausgeschaltete Last bleibt mit +12 V verbunden. Pauls Wunsch erfüllt nur ein High-Side-Schalter zwischen +12 V und Last. (1 Punkt)
Ein P-Kanal-MOSFET sperrt erst, wenn sein Gate etwa auf Source-Potenzial, also auf 12 V liegt. Der Pin liefert höchstens 3,3 V; U_\mathrm{GS} wäre dann etwa −8,7 V, der MOSFET bliebe immer leitend. Deshalb zieht ein zusätzlicher npn-Transistor das Gate nach Masse, ein Widerstand zwischen Gate und Source zieht es sonst auf 12 V (zulässige Gate-Source-Spannung beachten). (1 Punkt)
Links und weitere Informationen
zum Nachlesen: Digitale Ausgänge am Mikrocontroller: LED mit Vorwiderstand, Ausgangsstrom und Lasten mit Transistor oder Relais
für die Transistorstufe: Transistor als Schalter
für die Pins aller Boards: Pinbelegung der Mikrocontroller-Boards
als Nachschlagewerk: Arduino-Sprachreferenz zu digitalWrite()
Hinweis zur Nachnutzung als Open Educational Resource (OER)
Dieser Artikel und seine Texte, Bilder, Grafiken, Code und sonstiger Inhalt sind - sofern nicht anders angegeben - lizenziert unter CC BY 4.0. Nennung gemäß TULLU-Regel bitte wie folgt: “Übungsaufgaben zu digitalen Ausgängen am Mikrocontroller: Vorwiderstand, Ausgangsstrom und Lasten mit Transistor oder Relais” von oer-informatik.de (H. Stein), Lizenz: CC BY 4.0. Der Artikel wurde unter https://oer-informatik.de/mcu-digitale-ausgaenge-uebungsaufgaben veröffentlicht, die Quelltexte sind in weiterverarbeitbarer Form verfügbar im Repository unter https://gitlab.com/oer-informatik/mcu/arduino-esp. Erstellt mit KI-Assistenz; von mir umfassend redaktionell überarbeitet, geprüft und freigegeben. Stand: 11.11.2026.
[Kommentare zum Artikel lesen, schreiben] / [Artikel teilen] / [gitlab-Issue zum Artikel schreiben]
