|
Grundlagen der Mikrocontrollertechnik im Sommersemester 2026
(EN google-translate)
(PL google-translate)
- Nachfolgend wird im Verlauf des Semesters chronologisch vermerkt, welche Inhalte wann im Semester durchgenommen wurden.
- Sie finden die Lehrinhalte entweder direkt hier, oder es werden hier Links auf die Inhalte angegeben.
- Obwohl die Inhalte zum Kurs hier stehen, wird darum gebeten sich trotzdem im entsprechenden Moodle-Kurs der THB anzumelden, um besser kommunizieren zu können.
- Beachten Sie auch die Angaben zur Prüfung hier:
|
04_SoSe2026 -- Einstiegsseite zum Sommersemester 2026 mit Angaben zu Räumen, Zeiten und den Prüfungen der einzelnen Fächer.
#1 Di, 24.03.2026
THEMEN HEUTE
- Worum geht es?
- Motivation -- Warum ist das wichtig?
- Welche Themen werden behandelt?
- Welche Leistungen sollten Sie erbringen? / Organisatorisches
- Einstieg
- Hands on -- Die erste Übung
|
1. Worum geht es?
Mikrocontroller sind aus der heutigen Welt nicht mehr wegzudenken.
Sie bilden typischerweise das Kernstück s.g. Eingebetteter Systeme.
Das sind technische Komponenten, die typischerweise dauerhaft steuer- und regelungstechnische
Aufgaben in technischen Systemen übernehmen, die zuvor von elektronischen, bzw. elektromechanischen
Komponenten übernommen wurden.
2. Motivation -- Warum ist das wichtig?
Viele Aufgaben, die zuvor durch mechanische Systeme übernommen wurden, wurden zunächst durch
Elektromechanische Systeme ersetzte und noch später durch Eingebettete Systeme.
Der Vorteil dieser Entwicklung liegt vor allem darin, dass das Verhalten der Eingebetteten Systeme
durch ein Computerprogramm festgelegt wird und nicht mehr durch elektronische Schaltungen, oder
mechanische Komponenten. Dadurch können die gleichen Grundsysteme in sehr vielen Geräten
eingesetzt werden. Was sie voneinander unterscheidet ist dann das Programm, dass auf ihnen läuft.
Das wiederum hat zur Folge, dass Mikrocontroller in sehr hohen Stückzahlen hergestellt werden können und
damit eine sehr preiswerte Produktion möglich wird.
Zudem können Updates, Anpassungen und Fehlerbehebungen oft einfach durch eine Veränderung
der Software, die auf dem System läuft vorgenommen werden, anstatt eine neue Schaltung zu entwickeln, oder
eine neue Mechanik entwickeln zu müssen.
Eingebettete Systeme finden Sie beispielsweise...
- in Kühlschränken, Waschmaschinen und anderen Haushaltsgeräten,
- in Autos, Zügen und anderen elektrifizierten Fortbewegungsmitteln,
- in der Haustechnik in Industriegebäuden, aber auch in Privathaushalten.
|
Als exemplarisches Beispiel für die Einsatzmöglichkeit eines Mikrocontrollers, sieht man hier,
wie dieser werden kann, um einfache regelungstechnische Aufgaben bei kleinen autonomen Vehikeln
zu übernehmen, um eine Linie zu verfolgen, oder auf einer Achse zu balancieren:
Bild 0-1: Schwarmvehikel, die eine Linie verfolgen können und auf das Auftauchen von Hindernissen reagieren.
https://youtu.be/YS-1RRLGtgQ -- Schwarmvehikel
Bild 0-2: Einachser (Vehikel, das auf einer Achse balanciert)
https://youtu.be/WnBl7eEdbMg -- Einachser
ÜBUNG
Versuchen Sie die nachfolgenden Fragen zu beantworten:
- Wie funktioniert der Einachser?
- Wie wird insbesondere die relative Verkippung des Chassis gemessen?
|
3. Welche Themen werden behandelt?
- Prinzipieller Aufbau eines Mikrocontrollers
- Kennenlernen der internen Peripherie eines Mikrocontrollers
- Programmierung mittels Arduino-Befehlen in C/C++
- Programmierung mittels Register-Befehlen in C/C++
- Aufbau einfacher elektronischer Schaltungen mit Mikrocontroller auf einem Steckboard
|
4. Welche Leistungen sollten Sie erbringen? / Organisatorisches
- Die Prüfung findet semesterbegleitend in Form eines E-Tests (elektronische Klausur) statt.
- Die Prüfung findet am letzten Vorlesungstermin an den PCs unter Linux statt.
- In der Woche davor findet ein nicht benoteter Probe-E-Test statt und wird da auch unmittelbar danach besprochen.
|
Neben dieser Prüfung wird es Miniprojekte geben, die in Zweiergruppen zu bearbeiten sind und
die dazu dienen sollen, die erlernte Theorie anzuwenden.
- Es wird Themenvorschläge für die Miniprojekte geben, aber es können auch eigene Projektthemen vorgeschlagen werden.
|
5. Einstieg
- Worin besteht der Unterschied zwischen einem Mikrocontroller und einem PC?
|
40_Mikrocontroller/01_Einfuehrung/02_Maschinensprache -- Unterschied zwischen Mikrocontroller und PC
- Woher stammt die Grundidee eines Computers?
|
40_Mikrocontroller/01_Einfuehrung/01_Entwicklungsgeschichtliches -- Grundidee eines Computers
- Was sind Registerbefehle und was hat das mit Mikrocontrollern zu tun?
|
40_Mikrocontroller/01_Einfuehrung/03_Assemblerbeispiel -- Registerbefehle
- Wie sieht ein erstes Computerprogramm für einen Arduino Mikrocontroller aus und wie bringt man es zum Laufen?
|
96_Arduino/02_Taster -- Computerprogramm für einen Arduino Mikrocontroller
- Wie sieht ein entsprechendes Registerbefehl-basiertes Programm aus?
|
01_Einfuehrung/05_Praxis/01_Digital_IO -- Übersicht zu Registerbefehlen im Zusammenhang mit digitalen Ein- und Ausgängen
40_Mikrocontroller/01_Einfuehrung/05_Praxis/02_Byteoperationen -- Registerbefehl-basiertes Programm
96_Arduino/22_Universal/02_LED_Leiste -- PORTB beim Arduino Micro
6. Hands on -- Die erste Übung
- Aufbau und Programmierung eines Arduino Micro wird im Unterricht vorgeführt.
|
- Bauen Sie die Schaltung mit den Tastern auf und übertragen das Programm auf der folgenden Seite und testen es:
|
96_Arduino/02_Taster
- Weitere Aufgaben, die in Zweiergruppen gelöst werden sollen:
|
Aufgabe 1
- Der Befehl delay(x); erlaubt es, den Mikrocontroller für die angegebene Zeitdauer x in Millisekunden pausieren zu lassen.
- Unter Verwendung dieses Befehls ist es möglich, folgendes umzusetzen:
- Schreiben Sie ein Programm, bei dem mit Hilfe eines Tasters eine Blinkfunktion gestartet und gestoppt werden kann.
|
Aufgabe 2
- Schauen Sie sich hier noch einmal an, wo die Bits von PORTB beim Arduino Micro herausgeführt sind:
|
96_Arduino/22_Universal/02_LED_Leiste -- PORTB beim Arduino Micro
- Analysieren Sie auch noch einmal dieses Registerbefehl basierte Programm, um auf einen Taster zu reagieren:
|
40_Mikrocontroller/01_Einfuehrung/05_Praxis/02_Byteoperationen -- Registerbefehl-basiertes Programm
- Versuchen Sie mit diesem Wissen ein Registerbefehl basiertes Programm zu schreiben, das folgende Aufgabe löst:
- Wird der Kontakt bei PB6 auf Masse gelegt, leuchtet eine bei PB7 angeschlossene LED auf und ist sonst aus.
|
#2 Di, 31.03.2026
Di, 07.04.2026 -- keine Lehrveranstaltung wegen Ostern
#3 Di, 14.04.2026
#4 Di, 21.04.2026
#5 Di, 28.04.2026
#6 Di, 05.05.2026
#7 Di, 12.05.2026
#8 Di, 19.05.2026
#9 Di, 26.05.2026
#10 Di, 02.06.2026
#11 Di, 09.06.2026
#12 Di, 16.06.2026 -- SONDERFORMAT wg. Konferenz
#13 Di, 23.06.2026 -- PROBE E-Test
#14 Di, 30.06.2026 -- semesterbegleitende PRÜFUNG (E-Test)
|