Mikrocontroller

Ein Mikrocontroller ist ein Ein-Chip-Computer, der eine CPU (Central Processing Unit), Speicher, Eingangs-/Ausgangsschaltungen, Timer, Interrupt-Steuerung, Taktgeber und verschiedene Schnittstellen enthält, die in der Regel alle in einem Chip untergebracht sind.
Im Gegensatz zu einem Computer wird kein Betriebssystem geladen, sondern die Software direkt aus dem Flash-Speicher ausgeführt, der meist im Mikrocontroller integriert ist. Das Gerät ist nach dem Einschalten sofort betriebsbereit.

Genau genommen ist ein Mikrocontroller ein Prozessor, der über zusätzliche analoge und digitale Eingänge und Ausgänge verfügt und für Steuerungsaufgaben vorgesehen ist. Man kann einen Mikrocontroller als vollständigen Computer angesehen. Er ist allerdings kein Universal-Computer, sondern ein Embedded-System.

Mikroprozessor vs. Mikrocontroller

Die Unterschiede zwischen Mikrocontrollern (µC oder MCU) und Mikroprozessoren (CPU) verschwimmen. Ob etwas ein Prozessor oder Controller ist, ist in der Praxis weniger relevant.

Die grundsätzlichen Unterschiede zwischen Mikrocontroller und Mikroprozessor liegen auf der Software-Ebene. In einem Computer führt ein Prozessor typischerweise ein Betriebssystem aus, das über einen erheblichen Funktionsumfang verfügt und die Installation und gleichzeitige Ausführung unterschiedlicher Programme ermöglicht.
Ein Mikrocontroller-System hat im Vergleich dazu meistens nur wenige Funktionen und führt hintereinander immer die gleichen Funktionen aus. Die Software ist meist speziell für den Mikrocontroller geschrieben. Ein universelles Betriebssystem gibt es hier in der Regel nicht. Die Rechenleistung ist in der Regel begrenzt und hängt vom verwendeten Prozessor im Mikrocontroller ab.

Programmierung

Mikrocontroller werden traditionell in ihrer jeweiligen Assembler-Sprache programmiert. Um die Programmierung einfacher zu machen und die geschriebenen Programme für verschiedene Mikrocontroller-Systeme nutzen zu können verwendet man zum Programmieren üblicherweise die Programmiersprachen C, C#, Basic oder Java.

In der Regel erfolgt die Programmierung sehr hardwarenah. Das heißt, der Programmierer muss die Hardware-Eigenschaften des Mikrocontroller-Systems berücksichtigen.

Die direkte Programmierung der Hardware hat einige Vorteile:

  • geringer Stromverbrauch
  • Echtzeit-Anwendungen
  • volle Kontrolle über den Code, der ausgeführt wird

Anwendungen

  • Regelungen
  • Steuerungen
  • Smart Home
  • Internet der Dinge (IoT)
  • Robotik
  • Sensordatenerfassung

Typische Mikrocontroller-Schnittstellen

  • digitale Ein- und Ausgänge (General Purpose I/O, GPIO)
  • Analog-Digital-(ADC) und Digital-Analog-Wandler (DAC)
  • Funktionsblöcke zur Erzeugung einer Pulsweitenmodulation (PWM-Signal)
  • standardisierte Schnittstellen für I2C, SPI und UART (RS-232/RS-485)

In speziellen Bereichen gibt es zusätzliche Schnittstellen. Viele Hersteller kombinieren einen Mikrocontroller mit zusätzlichen Funktionsblöcken für WLAN, Bluetooth und USB.

Mikrocontroller-Boards

Beschäftigt man sich mit Mikrocontrollern, dann verwendet man in der Regel keinen nackten Mikrocontroller-Chip, sondern Mikrocontroller-Boards, die neben dem Mikrocontroller-Chip zusätzliche Bauteile und Anschlüsse haben, die einem die Programmierung und Handhabung vereinfachen.

Mit den üblichen Mikrocontroller-Boards können selbst absolute Neulinge in relativ kurzer Zeit zu funktionierenden Ergebnissen kommen. Das wird durchaus auch kritisch gesehen, weil diese System dazu verleiten, nur Programmcode zu kopieren, ohne zu verstehen, wie was funktioniert.
Dazu muss man wissen, dass sich manche „alte Hasen“ vor der Verfügbarkeit von Mikrocontroller-Boards selber erst mühsam in die Grundlagen einarbeiten und viel mehr eigenen Programmcode schreiben mussten.

Übersicht: Vergleich der Mikrocontroller-Boards

  Raspberry Pi Pico Arduino Uno R3 ESP8266 ESP32
Mikrocontroller RP2040 ATMega328P ESP8266 ESP32
Kerne 2 1 1 2
Prozessor ARM Cortex M0+ 32 Bit RISC 8 Bit LX106 32 Bit LX6 32 Bit
Taktrate 125 MHz 16 MHz bis 160 MHz bis 240 MHz
Betriebsspannung 3,3 V (1,8 bis 5,5 V) 5 V (7 bis 12 V) 3,3 V 3,3 V
GPIO-Spannung 3,3 V 5 V 3,3 V 3,3 V
Digital 26 14 16 36
PWM 16 6 16 32
Analog 3 6 1 15
SPI/I2C/UART/I2S 2/2/2 1/1/1 2/1/2/2 4/2/2/2
Wifi/Bluetooth nein*/nein nein/nein ja/nein ja/ja
Integrierter Sensor Temperatur - - Berührung, Tempertur, Hall-Effekt
Programmier-sprachen C/C++, MicroPython C/C++ C/C++, MicroPython, Javascript C/C++, MicroPython
Onboard-LED GP25 (LED) D13 D0 D2
Flash 2 MB 32 KB 4 MB 4 MB
RAM 264 kB 264 kB 128 kB 520 kB
EEPROM - 1 kB 520 Bit -
Anwendung IoT und Smart Home Allgemeine Anwendungen IoT und Smart Home IoT und Smart Home
Preis** 4 bis 7 EUR 20 bis 30 EUR 5 bis 15 EUR 7 bis 15 EUR

* WLAN: Raspberry Pi Pico W mit integriertem WLAN verfügbar.

** Preis: Weil ein Mikrocontroller auf Boards mit unterschiedlicher Ausstattung zum Einsatz kommen kann, muss mit einer Preisspanne gearbeitet werden.

Weitere verwandte Themen:

Lernen mit Elektronik-Kompendium.de

Noch Fragen?

Bewertung und individuelles Feedback erhalten

Freitextaufgaben zum Artikel beantworten, korrigieren lassen und zum Profi werden.

Aussprache von englischen Fachbegriffen

Die Computertechnik-Fibel, das Computer-Buch
Computertechnik-Fibel

Alles was du über Computertechnik wissen musst.

Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.

Das will ich haben!

Die Computertechnik-Fibel, das Computer-Buch
Computertechnik-Fibel

Alles was du über Computertechnik wissen musst.

Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.

Das will ich haben!

Artikel-Sammlungen zum Thema Computertechnik

Alles was du über Computertechnik wissen solltest.

Trends in der IT

Trends in der IT

eBook kaufen

Crashkurs IT

Crashkurs IT

eBook kaufen

Digitalisierung

Digitalisierung

eBook kaufen

Quantentechnik

Quantentechnik

eBook herunterladen