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.
Vergleich
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 | bis 250 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.
Mikrocontroller-Systeme
Weitere verwandte Themen:
Frag Elektronik-Kompendium.de
Computertechnik-Fibel
Alles was Sie über Computertechnik wissen müssen.
Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.
Computertechnik-Fibel
Alles was Sie über Computertechnik wissen müssen.
Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.
Elektronik-Set Raspberry Pi Edition
Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero
- Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
- Experimentieren und Programmieren ohne Vorkenntnisse
- Sofort Loslegen mit All-in-one-Set