<style>[reveal]{opacity:1 !important;transform:none !important}</style>

Mikrocontroller

Was in einem Mikrocontroller steckt, wie du ihn mit Abblockung, Reset und Takt richtig beschaltest, was seine Pins aushalten und wie du den passenden Typ findest.

7 Min. LesezeitMikrocontrollerMCUATmega328PSTM32

In einer Waschmaschine, einer Fernbedienung, einem Akkuschrauber, einer Kaffeemaschine und in jedem Auto mit Dutzenden davon: Mikrocontroller sind die häufigsten Rechner der Welt. Jedes Jahr werden mehrere zehn Milliarden Stück verbaut. Ein Mikrocontroller ist ein kompletter kleiner Computer auf einem Chip – Prozessor, Programmspeicher, Arbeitsspeicher und Schnittstellen zur Außenwelt in einem Gehäuse. Mit ein paar Kondensatoren und einer Versorgung läuft er, und was er tut, bestimmt allein die Software. Bekannt geworden sind sie bei Bastlern durch Arduino-Boards mit dem ATmega328P, heute sind STM32, RP2040 und die ESP32-Reihe mit eingebautem WLAN genauso verbreitet.

Aufbau und Funktionsweise

Ein Mikrocontroller besteht aus mehreren Blöcken auf einem einzigen Siliziumchip:

  • Prozessorkern (CPU): führt das Programm Befehl für Befehl aus. Verbreitet sind 8-Bit-Kerne wie AVR und PIC sowie 32-Bit-Kerne wie ARM Cortex-M und RISC-V. Die Bitbreite sagt, wie große Zahlen der Kern in einem Schritt verarbeitet; wie Zahlen binär dargestellt werden, erklärt Zahlensysteme.
  • Flash: hält das Programm, auch ohne Versorgung. Typisch 16 KB bis 2 MB.
  • SRAM: Arbeitsspeicher für Variablen, geht beim Abschalten verloren. Typisch 2 KB bis 512 KB.
  • EEPROM: bei manchen Typen ein kleiner Speicher für Einstellungen, die einzeln überschrieben werden sollen. Mehr dazu unter Speicher-ICs.
  • Peripherie: digitale Ein- und Ausgänge (GPIO), Timer mit PWM, ein AD-Wandler für analoge Spannungen, serielle Schnittstellen wie UART, SPI und I²C, oft USB, CAN oder Funk.
  • Takt: ein interner RC-Oszillator für den Anfang, für genaue Zeiten ein externer Schwingquarz.
  • Überwachung: Reset-Schaltung, Brown-out-Erkennung (Reset bei zu niedriger Spannung) und ein Watchdog, der den Controller neu startet, wenn das Programm hängt.
Blockschaltbild eines Mikrocontrollers mit CPU, Flash, SRAM, Taktgeber und Peripherie wie GPIO, Timer, ADC, UART, SPI und I2C an einem gemeinsamen Bus
Alle Blöcke sitzen auf einem Chip und sind über einen internen Bus verbunden.

Die meisten Pins haben mehrere Funktionen. Derselbe Pin kann ein digitaler Ausgang, ein ADC-Eingang oder die Sendeleitung einer UART sein – das Programm legt fest, welche Funktion gerade gilt.

Schaltzeichen

Ein Mikrocontroller hat kein genormtes Symbol. Im Schaltplan erscheint er als Rechteck mit allen Anschlüssen, meist nach Funktion gruppiert: Versorgung oben und unten, Ports und Schnittstellen seitlich. Bei großen Typen wird das Symbol oft auf mehrere Einheiten aufgeteilt, etwa eine für die Versorgung und je eine pro Port.

Kennwerte gängiger Typen

KennwertATmega328PSTM32G031RP2040ESP32-C3
KernAVR, 8 BitCortex-M0+, 32 Bit2 × Cortex-M0+RISC-V, 32 Bit
Takt max.20 MHz64 MHz133 MHz160 MHz
Flash32 KBbis 64 KBextern, bis 16 MBextern oder im Gehäuse
SRAM2 KB8 KB264 KB400 KB
Versorgung1,8–5,5 V1,7–3,6 V3,3 V (Kern 1,1 V intern)3,0–3,6 V
ADC10 Bit12 Bit12 Bit12 Bit
Besonderheit5-V-fähig, EEPROMsehr günstig, ab SO-8PIO-ZustandsmaschinenWLAN und Bluetooth LE

Für die Pins gelten Grenzwerte, die du beim Entwurf im Kopf haben musst. Beim ATmega328P sind es absolut höchstens 40 mA je Pin und 200 mA über alle VCC- bzw. GND-Pins zusammen; sinnvoll betreiben solltest du einen Pin mit höchstens etwa 20 mA. Moderne 3,3-V-Typen liefern oft nur 4–12 mA je Pin, und nicht jeder Pin verträgt 5 V am Eingang.

Grundbeschaltung

Damit ein Mikrocontroller zuverlässig startet und läuft, braucht er nur wenig – aber das muss stimmen:

  • Abblockkondensatoren: 100 nF an jedes Paar aus Versorgungs- und Massepin, so nah wie möglich, dazu einige µF für die ganze Platine. Ein eigener analoger Versorgungspin (AVCC, VDDA) gehört ebenfalls versorgt und abgeblockt, sonst arbeitet der ADC falsch.
  • Reset: Ein Pull-up von etwa 10 kΩ nach VCC und 100 nF nach Masse halten den Reset-Eingang stabil, ein Taster zieht ihn für einen Neustart nach Masse.
  • Takt: Ein Quarz mit zwei Lastkondensatoren nach Masse, möglichst dicht an den Pins. Die Kondensatoren berechnest du aus der Lastkapazität des Quarzes.
  • Programmierschnittstelle: ISP bei AVR, SWD bei ARM, USB oder UART bei RP2040 und ESP32 – auf der Platine als Stiftleiste oder Testpunkte vorsehen.
  • Boot- und Konfigurationspins: Manche Pins legen beim Start fest, ob der Controller aus dem Flash bootet oder auf ein neues Programm wartet. Sie brauchen definierte Pegel über Widerstände.
Grundbeschaltung eines Mikrocontrollers: 100 nF an VCC und AVCC, Reset mit 10 kΩ Pull-up und 100 nF, Quarz 16 MHz mit zwei 22 pF nach Masse
Abblockung, Reset und Quarz – mehr braucht ein ATmega328P nicht.

Die Lastkondensatoren des Quarzes rechnest du hier aus:

Rechner

Quarz-Lastkondensatoren

C1 = C2 rechnerisch
26 pF
Nimm C1 = C2 (E12)
27 pF
CL damit
18,5 pF
Abweichung
+0,5 pF (+2,8 %)

Mit dem anderen Nachbarwert 22 pF wären es CL = 16 pF. Weicht CL ab, schwingt der Quarz etwas daneben: zu wenig Last – zu hohe Frequenz, zu viel Last – zu niedrige; meist sind das einige ppm je pF.

MikrocontrollerRfXINXOUTCstray = 5 pFQuarzCL = 18,5 pFC127 pFC227 pF

CL = C1 · C2 / (C1 + C2) + Cstray; bei gleichen Kondensatoren C1 = C2 = 2 · (CL − Cstray). Cstray fasst Pin-Kapazitäten des Mikrocontrollers und Leiterbahnen zusammen, typisch 2–5 pF; genau kennst du sie erst durch Messen der Frequenz. Für die Schwingsicherheit (Verstärkungsreserve) und den ESR des Quarzes gilt die Application Note des Mikrocontrollers.

Rechnen mit Pins und Strom

Die Laufzeit aus einer Batterie hängt vor allem am Schlafstrom. Moderne Controller brauchen im Tiefschlaf nur wenige Mikroampere.

Für Sensoren am ADC hilft ADC-Auflösung berechnen, für Busleitungen I²C-Pull-up-Widerstände.

Bauformen

Kleine Controller gibt es noch im bedrahteten DIP, etwa den ATmega328P im DIP-28. Auf Platinen sind TQFP und LQFP mit Beinchen an allen vier Seiten üblich, dazu QFN ohne Beinchen mit einer Massefläche unter dem Gehäuse. Funkcontroller wie der ESP32 werden meist als fertiges Modul mit Antenne, Flash und Quarz eingesetzt, das als Ganzes zugelassen ist. Wie man diese Gehäuse unterscheidet und Pin 1 findet, steht unter IC-Gehäuse.

Mikrocontroller in typischen Bauformen: DIP-28, TQFP-32, QFN-32 und ein WLAN-Modul mit Metallabschirmung und Leiterbahnantenne
Vom bedrahteten Chip bis zum fertigen Funkmodul.

Auswahl und Praxistipps

Stelle zuerst zusammen, was der Controller können muss: wie viele Pins, welche Schnittstellen, wie viele ADC-Kanäle, Funk ja oder nein, Versorgungsspannung, Stromverbrauch. Danach zählen Werkzeuge und Erfahrung: Ein Controller, für den es gute Bibliotheken und eine Entwicklungsumgebung gibt, die du kennst, spart mehr Zeit als ein paar Cent beim Bauteilpreis. Prüfe auch Verfügbarkeit und Gehäuse – ein QFN mit 0,4 mm Raster lässt sich von Hand kaum löten.

Häufige Fehler:

  • Abblockung vergessen oder zu weit weg: Der Controller stürzt sporadisch ab, besonders beim Schalten von Lasten.
  • AVCC oder VDDA offen: Der ADC liefert Unsinn oder der Controller läuft gar nicht.
  • 5 V an einen 3,3-V-Pin: Nicht jeder Pin ist 5-V-tolerant. Ein Spannungsteiler oder Pegelwandler schützt den Eingang, siehe Logik-Familien.
  • Zu viel Strom je Pin oder je Port: Grenzwerte im Datenblatt gelten pro Pin und in Summe.
  • Induktive Last ohne Freilaufdiode: Ein Relais am Transistor ohne Diode erzeugt Spannungsspitzen, die den Controller zurücksetzen oder zerstören.
  • Strapping-Pins falsch belegt: Beim ESP32 bestimmen einige Pins den Startmodus; liegt dort beim Einschalten eine Last, bootet er nicht.
  • ESD an Steckern: Pins, die nach außen führen, brauchen Schutz, siehe ESD.

Selbsttest

Welche Speicher hat ein Mikrocontroller, und was liegt wo?

Im Flash das Programm (bleibt ohne Strom erhalten), im SRAM die Variablen (flüchtig), im EEPROM, falls vorhanden, Einstellungen.

Was macht die Brown-out-Erkennung?

Sie hält den Controller im Reset, wenn die Versorgung unter eine Schwelle fällt, damit er bei zu niedriger Spannung keine Fehler macht.

Welcher Vorwiderstand gehört vor eine LED mit 2,1 V an einem 3,3-V-Pin für 5 mA?

R = (3,3 V − 2,1 V) / 5 mA = 240 Ω.

Ein Controller braucht im Mittel 30 µA. Wie lange hält eine Batterie mit 1000 mAh?

1000 mAh / 0,03 mA ≈ 33.000 h, knapp vier Jahre – Selbstentladung nicht eingerechnet.

Warum gehört ein Motor nicht direkt an einen Pin?

Er braucht viel mehr Strom, als ein Pin liefern darf, und erzeugt Spannungsspitzen; dazwischen gehört ein Transistor oder Motortreiber mit Freilaufdiode.