Ratgeber
Mikrocontroller-Boards ermöglichen es, vielfältige elektronische Anwendungen zu realisieren. Sie kommen zu Entwicklungszwecken in der Industrie, aber auch in Schulen, Ausbildungsstätten und bei der Hobbyprogrammierung zum Einsatz. Wie Mikrocontroller aufgebaut sind, welche Vorteile sie bieten und worauf bei der Auswahl entsprechender Boards und Kits zu achten ist, erfahren Sie in unserem Ratgeber.
Mikrocontroller-Boards sind aus dem Development-Bereich kaum wegzudenken. Sie sind in der Lage, Steuer- und Regelaufgaben zu übernehmen. Somit stellen sie ein wichtiges Hilfsmittel dar, um elektronische Anwendungen zu realisieren. Mikrocontroller-Boards sind einfach zu programmieren und für vielfältige Projekte einsetzbar, weswegen sie große Verbreitung in der Industrie und im Consumer-Bereich gefunden haben.
Eingesetzt werden sie unter anderem im Automotive-Sektor, in der Medizintechnik sowie in der Automatisierungs- und Energiebranche. Großer Beliebtheit erfreuen sie sich auch bei Hobbyentwicklerinnen und -entwicklern, die sich privat mit dem Thema Elektronik auseinandersetzen und eigene Projekte verwirklichen möchten. Daneben werden Mikrocontroller-Boards zu Unterrichtszwecken in Schulen und Ausbildungsstätten verwendet, um Grundlagen und Fertigkeiten im Programmieren und Entwickeln zu vermitteln.
Bei einem Mikrocontroller-Board handelt es sich im Wesentlichen um eine Leiterplatte, auf der sich ein kompakter integrierter Schaltkreis befindet. Dieser bildet den eigentlichen Mikrocontroller, auch als MCU (aus engl. Microcontroller Unit) bezeichnet. Ein Mikrocontroller setzt sich aus drei wesentlichen Elementen zusammen: einem Prozessor, einem Speicher und Schnittstellen zur Anbindung an die Außenwelt, im Fachjargon Interfaces genannt. Der Prozessor hat die Aufgabe, Befehle zu verarbeiten und grundlegende Rechenoperationen durchzuführen. Er fungiert als CPU und ist Grundlage dafür, dass der Mikrocontroller entsprechend seiner Programmierung funktionieren kann.
Der Speicher eines Mikrocontrollers besteht wenigstens aus einem flüchtigen und einem nichtflüchtigen Speicher. Im flüchtigen Speicher (bspw. RAM) werden die Daten nur temporär abgelegt. Das sind im Regelfall solche, die zur Ausführung von Befehlen benötigt werden. Die Daten bleiben nur so lange bestehen, wie eine Stromversorgung vorhanden ist. Wird die Stromzufuhr unterbrochen, werden die Daten gelöscht. Im nichtflüchtigen Speicher (Flash, EEPROM etc.) sind Daten dagegen dauerhaft gesichert. Das sind wiederum meist Informationen zu den Befehlen, die der Prozessor ausführen soll.
Ebenfalls zur Ausstattung eines Mikrocontroller-Boards gehört eine Programmier-Schnittstelle, über die das geschriebene Programm in den Prozessor hochgeladen werden kann. Sie ist häufig als USB-Anschluss ausgeführt. Daneben sind Peripherie-Schnittstellen vorhanden, die für die Anbindung von Ein- und Ausgabegeräten (I/O-Geräte) vorgesehen sind. Die I/O-Schnittstellen sind für die eigentliche Kommunikation und die Steuerung der Hardware zuständig. Hinzu kommen je nach Ausführung Schnittstellen für den Anschluss von Analog-Digital-Wandlern bzw. Digital-Analog-Wandlern, LAN-Schnittstellen, serielle Schnittstellen, PWM-Ausgänge, CAN-, LIN- oder SPI-Schnittstellen.
Mikrocontroller mit mehreren Interfaces werden auch als Evaluierungs- oder Entwicklerboards bezeichnet. Durch den Anschluss entsprechender Sensoren und Aktoren kann die Programmierung des Prozessors leicht und schnell am praktischen Modell überprüft und angepasst werden, was eine einfache und anwenderfreundliche Lösung darstellt und kurze Entwicklungszeiten ermöglicht. Viele Boards sind zudem mit Shields, also Modulen für zusätzliche Funktionen, sowie mit Breakout Boards erweiterbar.
Mikrocontroller werden von unterschiedlichen Herstellern und mit spezifischen Architekturen angeboten. Der gebräuchlichste Typ ist der Arduino, wobei auch AVR-Mikroprozessoren von Microchip (vormals von Atmel) häufig genutzt werden. Die Bandbreite reicht von einfachen 4-Bit-Controllern bis hin zu komplexen 64-Bit-Controllern, wobei in der Praxis quasi nur drei Varianten genutzt werden, nämlich 8-Bit, 16-Bit- und 32-Bit-Mikrocontroller. Die Bitzahl referiert auf die Leistung bzw. Geschwindigkeit des Prozessors. So ist ein Controller mit 32-Bit-Prozessor – vereinfacht gesagt – in der Lage, Berechnungen schneller durchzuführen als ein 8-Bit-Controller.
Was die Architekturen betrifft, beruhen Mikrocontroller entweder auf der Harvard- oder der Von-Neumann-Architektur. Bei der Harvard-Architektur sind Befehls- und Datenspeicher physisch getrennt realisiert. Der Zugriff erfolgt jeweils über einen eigenen Bus, was es ermöglicht, Befehle und Daten gleichzeitig zu übertragen. Bei der Von-Neumann-Architektur ist das nicht der Fall. Hier müssen sich Daten und Befehle einen Bus teilen, so dass eine gleichzeitige Übertragung nicht möglich ist.
Die Programmierung von Mikrocontrollern erfolgt mithilfe einer integrierten Entwicklungsumgebung (IDE = Integrated Development Environment) am PC. Als Programmiersprachen werden C++, Python oder JavaScript verendet, wobei C++ am gebräuchlichsten ist. Der Code wird in die IDE eingegeben und von einem Compiler dann in das jeweilige Format übersetzt. Die notwendigen Tools sind über die jeweiligen Anbieter der Mikrocontroller erhältlich und in Kits bereits enthalten. Neben dem Compiler stehen weitere nützliche Werkzeuge als Programmierunterstützung zur Verfügung, wie Quellcode-Editoren und Debugger zum Aufspüren und Beheben etwaiger Programmierfehler.
Einplatinencomputer (Single Board Computer = SBC) wie der Raspberry Pi sind im Grunde wie vollwertige Computer aufgebaut, nur dass hier alle elementaren Komponenten wie Mikroprozessor samt Chipsatz und Taktgeber, Arbeitsspeicher und Cache sowie Grafikprozessor und Grafikausgabe auf einem einzigen Board integriert sind. Dazu gehören je nach Modell in unterschiedlichem Umfang auch Schnittstellen, Kartenslots, WLAN, Bluetooth und teils Steckplätze für Erweiterungen. Mikrocontroller-Boards wie der Arduino haben eine reduziertere Ausstattung, was wiederum den Vorteil hat, dass man sich völlig auf das Programm und die angeschlossene Peripherie konzentrieren kann.
Während für den Raspberry Pi und andere Einplatinencomputer ein Betriebssystem eingerichtet werden muss, um eine Programmierung zu ermöglichen, ist das bei Mikrocontrollern nicht der Fall. Hier schreibt man den Code einfach vor und sendet ihn über die entsprechende Schnittstelle in komprimierter Form an die Platine. Im Grunde genommen muss man sich nur um den Anschluss der externen Beschaltung und das Programm kümmern, um die Anwendung zum Laufen zu bringen. Beim Raspberry Pi kostet das Einrichten des Betriebssystems dagegen Zeit. Man muss es nämlich nicht nur auswählen, herunterladen und auf eine SD-Karte transferieren, sondern auch die Systemsoftware installieren und konfigurieren. Für Neulinge sind diese Schritte nicht immer selbsterklärend.
Ein weiterer Vorteil von Mikrocontrollern wie dem Arduino ist, dass sie sich dank des übersichtlichen und klar strukturierten Befehlssatzes einfach programmieren lassen und gleichzeitig auf vielfältige Weise für spezifische Anwendungen eingesetzt werden können. Dabei reicht ein Prozessor mit mittlerer Leistungsfähigkeit mitunter schon aus, um eine gute Performance zu erzielen. Das liegt nicht zuletzt daran, dass sich Mikrocontroller nur um die wesentlichen Aufgaben kümmern und nicht wie herkömmliche Computer etliche Nebenprozesse abarbeiten und innerhalb eines aufwändigen Betriebssystems agieren müssen.
Letztlich ist es gerade die „schlanke“ Struktur eines Mikrocontrollers, die viele Vorzüge bietet. Sie ist der Betriebssicherheit und Stabilität des Systems zuträglich, bietet eine gute Übersichtlichkeit und ermöglicht kurze Startzeiten. Es muss weder ein Betriebssystem geladen werden noch sind Zugriffe auf externe, im direkten Vergleich relativ langsame Massenspeicher und periphere Komponenten notwendig. Bedingt durch den geringen Hardware-Aufwand lassen sich mit Mikrocontrollern zudem kompakte Bauformen realisieren; manche Miniatur-Versionen sind in der Grundfläche kaum größer als eine Briefmarke und nur wenige Millimeter hoch. Des Weiteren verbrauchen Mikrocontroller aufgrund ihrer reduzierten Ausstattung wenig Strom, was sich bei akku- oder batteriegestützten Anwendungen und mobilen Systemen als vorteilhaft erweist.
Mikrocontroller-Boards sind aufgrund ihrer einfachen Programmierbarkeit sehr gut für den Einstieg ins Thema Entwicklung geeignet, bieten aber auch Fortgeschrittenen die Möglichkeit, ihre technischen Projekte zu verwirklichen. Prinzipiell gibt es wenig, was sich damit nicht umsetzen ließe – ob einfache Display-Ansteuerung oder Steuerung von komplexer Unterhaltungselektronik, PC-Peripherie oder Haushaltsgeräten.
Mittlerweile gibt es ein großes Angebot an Mikrocontrollern und Zubehör von diversen Herstellern. Zu den bekanntesten zählt der Arduino, der vor allem für Nutzer und Nutzerinnen mit geringen Programmierkenntnisseen interessant ist. Er kommt inklusive Entwicklungsumgebung, die speziell auf die Hardware abgestimmt ist und eine Programmieroberfläche mit Bibliotheken bietet, aus denen man sich bedienen kann. Das Coden wird dadurch erheblich vereinfacht. Ein weiterer Vorzug ist, dass die Software-Umgebung des Arduino plattformunabhängig funktioniert und sowohl mit Windows als Betriebssystem als auch mit Linux und macOS genutzt werden kann.
Je nach Komplexität der Aufgabenstellung sollte auf eine ausreichende Rechenperformance und Speichergröße geachtet werden. 8-Bit-Controller sind kostengünstig und für grundlegende Aufgaben ausreichend, der Umfang an abbildbaren Funktionalitäten ist jedoch begrenzt. Für anspruchsvollere Aufgaben sind 16-Bit- und 32-Bit-Mikrocontroller die bessere Wahl. Sie sind zwar etwas teurer, bringen aber mehr Leistung. Ebenfalls ist auf eine ausreichende Anzahl an Ein- und Ausgängen für den Anschluss von Peripherie zu achten.
Praktisch sind Boards, die Anschlussmöglichkeiten für Erweiterungen bieten. Für mobile Anwendungen (bspw. im Zusammenhang mit Wearables) empfehlen sich Modelle mit möglichst geringem Stromverbrauch und kompakter, leichter Bauform. Zwar nehmen viele Hersteller für die Entwicklung ihrer Mikrocontroller den Arduino zum Vorbild, das heißt aber nicht, dass sie ihn kopieren. Die meisten Mikrocontroller bieten einen Mehrwert, etwa durch zusätzlich verbaute Elektronik, und eignen sich für spezifische Anwendungen jeweils besonders gut.
Wenn Neuentwicklungen geplant sind, bietet sich der Kauf eines Kits an, das neben der Hardware das notwendige Software-Paket für Programmierung, Kompilierung und Fehlerbehebung beinhaltet. Mit dabei ist meist eine ausführliche Dokumentation und weitere Hardware für Experimentier- und Testzwecke.
Wie alle elektronischen Baugruppen müssen Mikrocontroller vor elektrostatischer Entladung geschützt werden. Anderenfalls besteht die Gefahr, dass die Elektronik irreversibel beschädigt wird. Auspacken und Handling müssen deshalb an einem ESD-geschützten Arbeitsplatz erfolgen. Da die Boards keine eigene Stromversorgung haben, ist auf die richtige Polung und Einhaltung der erforderlichen Spannung zu achten, damit es zu keinen Beschädigungen kommt. Werden sicherheitskritische Anwendungen mit dem Controller gesteuert, liegt die Verantwortung für die Einhaltung der einschlägigen Sicherheitsvorschriften und der Betriebssicherheit beim Entwickler.
Kann man den Prozessor eines Mikrocontroller-Boards austauschen?
Bei vielen Mikrocontroller-Boards sind die Prozessoren auf einen Präzisionssockel aufgesteckt. In dem Fall ist ein Austausch problemlos möglich. Allerdings muss der neue Prozessor auf den Sockel passen und mit dessen Polzahl übereinstimmen. Beim Wechseln ist auf die Einhaltung von ESD-Schutzmaßnahmen zu achten.
Ich habe ein LC-Display ans Mikrocontroller-Board angeschlossen, es zeigt jedoch nichts an. Woran kann das liegen?
Wenn ein angeschlossenes Display nicht funktioniert, kann das vielerlei Ursachen haben. Möglich ist beispielsweise, dass die Versorgungsspannung des Boards zu niedrig ist. Ist ein Kontrastregler vorhanden, kann es auch sein, dass dieser ungünstig eingestellt ist und neu justiert werden muss.
Welcher Mikroprozessor eignet sich gut für schulische Zwecke?
Für den Unterricht an Schulen eignen sich der Calliope mini und der micro:bit sehr gut. Beide ermöglichen es, Kindern und Jugendlichen auf anschauliche Weise Kenntnisse im Bereich Programmierung und Elektronik zu vermitteln und ihnen den Einstieg in die digitale Welt zu erleichtern.