Mikrocontroller/ Aufgaben und Übungen

Mess-, Steuerungs- und Regelungstechnik

Bearbeiten
 
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 Elektronik

Bearbeiten
 
Verschiedene Schaltungen von Widerständen.

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:
  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 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.

Lösung

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.

← Spannungsteiler

Digitale und analoge Signale

Bearbeiten
  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

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.
Lösung
// 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
 
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