Mikrocontroller/ Aufgaben und Übungen
Mess-, Steuerungs- und Regelungstechnik
[Bearbeiten]- Finde Beispiele für Steuerungen und Regelungen und arbeite den Unterschied heraus.
- Balanciere einen Tischtennisball auf einer Ebene. Worin liegen bei dieser „Regelung“ die Ursachen dafür, dass man die Kugel nicht in Ruhe an vorgegebener Stelle halten kann? Was müsste man an der Regelung verbessern, damit die Abweichung von der Soll-Position kleiner wird?
- Betrachte die im Bild dargestellte mechanische Drehzahlregelung einer Dampfmaschine.
- Erläutere die Funktionsweise.
- Warum eignet sich die Regelung nicht, um die Drehzahl lastunabhängig auf eine feste Drehzahl zu stabilisieren?
- Betrachte das Schaubild ‚Sprungantwort Heizkörpertemp./Raumtemperatur‘ und erkläre die im Diagramm dargestellten Vorgänge.
- Ein Bügeleisen wird über einen Bimetall-Schalter geregelt.
- Erkläre das Funktionsprinzip.
- Zeichne die Zeit-Temperatur-Kurve und die Zeit-Strom-Kurve des Systems direkt nach dem Einschalten sowie wenn nach hinreichend langer Zeit die Temperatur deutlich reduziert wird.
- Konstruiere eine Blumengießanlage sowohl mit elektronischer Regelung als auch rein mechanisch.
← Mess-, Steuerungs- und Regelungstechnik
Grundwissen Elektronik
[Bearbeiten]Schaltungen von Widerständen
[Bearbeiten]Betrachte die abgebildeten Schaltungen von Widerständen. Bearbeite für jede der Schaltungen die folgenden Aufgaben:
- Zeichne die Schaltung ab.
- Berechne den resultierenden Widerstand der Schaltung.
- Wo überall in der Schaltung fließt der maximale Strom?
- Zeichne Messgeräte ein:
- Spannungsmessung am großen Widerstand,
- Messung des Stroms, der durch den großen Widerstand fließt.
- Berechne die Spannung am und den Strom durch den großen Widerstand.
- Welche Widerstände darf man jeweils vertauschen, ohne dass sich eines der Ergebnisse ändert?
Falls Labor vorhanden:
- Baue die Schaltung auf und vergleiche Messung und Rechnung. Trage dazu die Werte in eine Tabelle ein.
- Berechne die prozentuale Abweichung von Rechnung und Messung.
Teilergebnisse resultierende Widerstände: 143 Ω, 2150 Ω, 363 Ω und 831 Ω.
← Grundschaltungen von Widerständen
Widerstände kombinieren
[Bearbeiten]Zur Verfügung stehen fünf Widerstände. Wie muss man diese kombinieren, um möglichst genau einen resultierenden Widerstand von zu erhalten? Begründe, warum deine Lösung die beste Möglichkeit ist und es nicht noch eine bessere Kombination gibt.
← Grundschaltungen von Widerständen
Parallelschaltung
[Bearbeiten]Für die parallele Schaltung von zwei Widerständen gilt:
- .
Stelle eine entsprechende Formel für drei parallel geschaltete Widerstände auf.
Für die parallele Schaltung von drei Widerständen gilt:
- .
← Grundschaltungen von Widerständen
Spannungsteiler
[Bearbeiten]Entwerfe einen Spannungsteiler so, dass an einer Spannungsquelle von eine Spannung von einem Volt abgegriffen werden kann. Die Spannungsquelle soll (bei unbelastetem Spannungsteiler) mit einem Strom von belastet werden.
Digitale und analoge Signale
[Bearbeiten]- Finde genaueres über analoge und digitale Signale heraus und erläutere die Unterschiede. Worin liegen Vor– und Nachteile?
- Warum ist bei der Erzeugung eines digitalen Signals mit einem einfachen Schalter ein Pull–Up bzw. Pull–Down Widerstand nötig?
- Was haben Pull–Up und Pull–Down Schaltung mit einem Spannungsteiler zu tun? Zeichne das Schaltbild der Pull–Up und Pull–Down Schaltung als Spannungsteiler mit jeweils zwei Widerständen und gib die Werte dieser Widerstände für beide Schalterpositionen an.
- Wie wird ein analoges Signal vom Arduino–Board intern weiterverarbeitet?
- Erkläre wie ein Potentiometer als verstellbarer Spannungsteiler funktioniert.
← Digitale und analoge Signale
Programmierung
[Bearbeiten]Diagramme aus Programm
[Bearbeiten]Erstelle
- einen Programmablaufplan,
- ein Nassi-Shneiderman-Diagramm,
für das folgende Programm:
// constants:
#define BUTTONPIN 2 // the number of the pushbutton pin
#define LEDPIN 10 // the number of the LED pin
// variables:
int buttonState = 0; // variable for reading the pushbutton status
int LEDstate = 0; // variable for keeping the LED state
void setup() {
pinMode(LEDPIN, OUTPUT); // initialize the LED pin as an output
pinMode(BUTTONPIN, INPUT); // initialize the pushbutton pin as an input
digitalWrite(LEDPIN, LOW);
}
void loop() {
buttonState = digitalRead(BUTTONPIN); // read the state of the pushbutton
if (buttonState == HIGH){ // pushbutton is pressed
if (LEDstate == LOW) { // switch LEDstate
LEDstate = HIGH;
} else {
LEDstate = LOW;
}
digitalWrite(LEDPIN, LEDstate); // switch LED on/off
delay(500);
}
}
|
- Erkläre seine Funktion und beschreibe, was bei dauerhaftem betätigen des Tasters passiert.
- Verändere/erweitere das Struktogramm und anschließend das Programm so, dass dauerhaftes Betätigen des Tasters nicht zum periodischen An- und Ausschalten der LED führt, sondern ein erneutes Umschalten erst nach Loslassen des Tasters und darauf folgendem Drücken erfolgt.
// constants:
#define BUTTONPIN 2 // the number of the pushbutton pin
#define LEDPIN 10 // the number of the LED pin
// variables:
int buttonState = 0; // variable for reading the pushbutton status
int LEDstate = 0; // variable for keeping the LED state
int active = 1; // variable for keeping the activity status
void setup() {
pinMode(LEDPIN, OUTPUT); // initialize the LED pin as an output
pinMode(BUTTONPIN, INPUT); // initialize the pushbutton pin as an input
digitalWrite(LEDPIN, LOW);
}
void loop() {
buttonState = digitalRead(BUTTONPIN); // read the state of the pushbutton
if (buttonState == HIGH && active == 1) { // pushbutton is pressed and active
active = 0; // deactivate
if (LEDstate == LOW) { // switch LEDstate
LEDstate = HIGH;
} else {
LEDstate = LOW;
}
digitalWrite(LEDPIN, LEDstate); // switch LED on/off
}
if (buttonState == LOW) {
active = 1; // button released, activate again
}
}
← Programmplanung und Dokumentation
Programm aus Diagramm
[Bearbeiten]Übersetze den abgebildeten
- Programmablaufplan,
- das Nassi-Shneiderman Diagramm,
in ein Arduino-Programm. Die Ein- und Ausgabe soll jeweils über den seriellen Monitor erfolgen.