Mikrocontroller/ Aufgaben und Übungen

Mess-, Steuerungs- und RegelungstechnikBearbeiten

 
Darstellung des zeitlichen Verlaufes der Heizkörpertemperatur und der Raumtemperatur für einen Sollwertsprung ohne Wärmeenergiespeicherung der Raumwände.
 
Mechanische Regelung: Fliehkraftregler zur Regelung der Drehzahl einer Dampfmaschine (nicht dargestellt).
Rechts: Stellglied (Drosselklappe in der Dampfzuleitung).
Links: Messglied und Regler als Einheit (Fliehkraftpendel auf einer Drehzahl-Messwelle).
Mitte: Gegenkopplung (horizontaler Hebel und vertikale Stange), kleinere Drehzahl vergrößert die Drosselöffnung.
Der Sollwert kann durch Längenänderung der vertikalen Stange (rechts, zur Drosselklappe) verändert werden.
 
Prinzipskizze Bimetall: Metall 1 hat in diesem Fall den größeren Längenausdehnungskoeffizienten.
  • 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.
  1. Erläutere die Funktionsweise.
  2. 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.
  1. Erkläre das Funktionsprinzip.
  2. 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 ElektronikBearbeiten

 
Verschiedene Schaltungen von Widerständen.

Schaltungen von WiderständenBearbeiten

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:
  1. Spannungsmessung am   großen Widerstand,
  2. 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.
Lösung

Teilergebnisse resultierende Widerstände: 143 Ω, 2150 Ω, 363 Ω und 831 Ω.

← Grundschaltungen von Widerständen

Widerstände kombinierenBearbeiten

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

ParallelschaltungBearbeiten

Für die parallele Schaltung von zwei Widerständen gilt:

 .

Stelle eine entsprechende Formel für drei parallel geschaltete Widerstände auf.

Lösung

Für die parallele Schaltung von drei Widerständen gilt:

 .

← Grundschaltungen von Widerständen

SpannungsteilerBearbeiten

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.

← Spannungsteiler

Digitale und analoge SignaleBearbeiten

  1. Finde genaueres über analoge und digitale Signale heraus und erläutere die Unterschiede. Worin liegen Vor– und Nachteile?
  2. Warum ist bei der Erzeugung eines digitalen Signals mit einem einfachen Schalter ein Pull–Up bzw. Pull–Down Widerstand nötig?
  3. 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.
  4. Wie wird ein analoges Signal vom Arduino–Board intern weiterverarbeitet?
  5. Erkläre wie ein Potentiometer als verstellbarer Spannungsteiler funktioniert.

← Digitale und analoge Signale

ProgrammierungBearbeiten

Diagramme aus ProgrammBearbeiten

Erstelle

  • einen Programmablaufplan,
  • ein Nassi-Shneiderman-Diagramm,

für das folgende Programm:

 1 // constants:
 2 #define BUTTONPIN 2     // the number of the pushbutton pin
 3 #define LEDPIN    10    // the number of the LED pin
 4 
 5 // variables:
 6 int buttonState = 0;    // variable for reading the pushbutton status
 7 int LEDstate = 0;       // variable for keeping the LED state
 8 
 9 void setup() {
10   pinMode(LEDPIN, OUTPUT);        // initialize the LED pin as an output
11   pinMode(BUTTONPIN, INPUT);      // initialize the pushbutton pin as an input
12   digitalWrite(LEDPIN, LOW);
13 }
14 
15 void loop() {
16   buttonState = digitalRead(BUTTONPIN);   // read the state of the pushbutton
17   if (buttonState == HIGH){               // pushbutton is pressed
18     if (LEDstate == LOW) {                // switch LEDstate
19       LEDstate = HIGH;
20     } else {
21       LEDstate = LOW;
22     }
23     digitalWrite(LEDPIN, LEDstate);       // switch LED on/off
24     delay(500);
25   }
26 }
  •  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.
Lösung
 1 // constants:
 2 #define BUTTONPIN 2     // the number of the pushbutton pin
 3 #define LEDPIN    10    // the number of the LED pin
 4 
 5 // variables:
 6 int buttonState = 0;    // variable for reading the pushbutton status
 7 int LEDstate = 0;       // variable for keeping the LED state
 8 int active = 1;         // variable for keeping the activity status
 9 
10 void setup() {
11   pinMode(LEDPIN, OUTPUT);        // initialize the LED pin as an output
12   pinMode(BUTTONPIN, INPUT);      // initialize the pushbutton pin as an input
13   digitalWrite(LEDPIN, LOW);
14 }
15 
16 void loop() {
17   buttonState = digitalRead(BUTTONPIN);      // read the state of the pushbutton
18   if (buttonState == HIGH && active == 1) {  // pushbutton is pressed and active
19     active = 0;                              // deactivate
20     if (LEDstate == LOW) {                   // switch LEDstate
21       LEDstate = HIGH;
22     } else {
23       LEDstate = LOW;
24     }
25     digitalWrite(LEDPIN, LEDstate);          // switch LED on/off
26   } 
27   if (buttonState == LOW) {
28     active = 1;                              // button released, activate again
29   }
30 }

← Programmplanung und Dokumentation

Programm aus DiagrammBearbeiten

 
Beispiel eines Programmablaufplans.
 
Der euklidische Algorithmus zur Berechnung des größten gemeinsamen Teilers zweier Zahlen als Nassi-Shneiderman Diagramm.

Übersetze den abgebildeten

  • Programmablaufplan,
  • das Nassi-Shneiderman Diagramm,

in ein Arduino-Programm. Die Ein- und Ausgabe soll jeweils über den seriellen Monitor erfolgen.

← Programmplanung und Dokumentation