Mikrocontroller
(µController, µC, MCU)
Mikrocontroller vs SoC vs Einplatinencomputer
Erklärung Mikrocontroller in Videoform
Erklärung SoC in Videoform
Microcontroller
Vorteile:
- Kostengünstig: Microcontroller werden in kostensensitiven Projekte eingesetzt.
- Energieeffizient: Sie verbrauchen wenig Strom, was sie perfekt für batteriebetriebene Anwendungen macht.
- Einfache Integration: Microcontroller sind oft leicht in bestehende Systeme zu integrieren und benötigen nur minimale externe Komponenten.
Nachteile:
- Begrenzte Rechenleistung: Sie haben weniger Rechenleistung und Speicher im Vergleich zu Einplatinencomputern.
- Eingeschränkte Funktionalität: Microcontroller sind für spezifische Aufgaben ausgelegt und bieten weniger Flexibilität für komplexe Anwendungen.
- Weniger Peripherieoptionen: Sie haben oft weniger Schnittstellen und Peripheriegeräte im Vergleich zu Einplatinencomputern.
SoC
Vorteile:
- Hohe Integration: CPU, GPU, Speicher, und Peripheriegeräte auf einem Chip (kompakte Bauweise).
- Energieeffizienz: Optimierter Stromverbrauch durch Integration und geringere Kommunikationsverluste.
- Leistungsfähigkeit: Häufig leistungsstärker als Mikrocontroller, geeignet für komplexe Anwendungen (z. B. Multimedia, AI).
Nachteile:
- Komplexität: Höhere Anforderungen an Design und Programmierung als bei Mikrocontrollern.
- Kosten: Teurer als Mikrocontroller, insbesondere bei kleinen Projekten oder niedrigen Stückzahlen.
- Reparatur/Austausch: Fehlfunktion einzelner Komponenten kann den Austausch des gesamten Chips erfordern.
Einplatinencomputer
Vorteile:
- Hohe Rechenleistung: Einplatinencomputer wie der Raspberry Pi bieten deutlich mehr Rechenleistung und Speicher.
- Vielseitigkeit: Sie können eine Vielzahl von Betriebssystemen ausführen und sind für komplexe Anwendungen geeignet.
- Erweiterbarkeit: Einplatinencomputer bieten zahlreiche Schnittstellen und Peripheriegeräte, was sie sehr flexibel macht.
Nachteile:
- Höherer Stromverbrauch: Sie verbrauchen mehr Strom als Microcontroller, was sie weniger geeignet für batteriebetriebene Anwendungen macht.
- Kosten: Einplatinencomputer sind in der Regel teurer als Microcontroller.
- Komplexität: Die Einrichtung und Programmierung kann komplexer sein, was eine steilere Lernkurve bedeutet.
Beispiele bekannter Mikrocontrollern
-
Atmel ATtiny, ATmega
- 8bit AVR
-
Espressif ESP8266 (NodeMCU), ESP32
- 32bit Wi-Fi Controller
-
STMicroelectronics STM32
- 32bit ARM Cortex-M
-
Raspberry Pi Foundation RP2040
- 32bit ARM Cortex-M0+
Für Mikrocontroller häufig verwendete Programmiersprachen
- C, C++ (Arduino Sketches)
- Rust
- MicroPython
Arduino
Programmer und IDEs für Arduino
pio device list
git clone https://github.com/platformio/platform-espressif8266 ## oder platform-espressif32
cd platform-*/examples/arduino-wifiscan
pio run --target upload -e nodemcuv2 ## für esp8266mod-12-F
pio run --target upload -e esp-wrover-kit ## für esp-WROOM-32
pio device monitor -b 115200
platformio.ini für die ESPs der Schule