Aufgabe Vorschlag A - Aufgabe 2.3–2.5 · Abitur Hessen Elektrotechnik LK 2021
Thema: Mikrocontroller programmieren (Arduino) · Aus der Prüfung LK (2021)
Aufgabenstellung
Aufgabe 2: Weinlager-Temperaturüberwachung
In einem Weinlager soll u.a. die Temperatur überwacht werden. Die optimale Lufttemperatur für die Weinlagerung beträgt 12 °C mit einer maximalen Abweichung von ±2 °C. Die Ist-Temperatur wird über einen analogen Temperatursensor AD22100AT (Material 3) erfasst. Eine noch zu entwerfende Mikrocontrollersteuerung liest den Temperaturwert ein und schaltet je nach Bedarf eine Kühlung oder eine Heizung ein. Der Zustandstemperaturbereich des Weinlagers wird mit drei LEDs in den Farben weiß, grün und rot angezeigt.
Folgende Temperaturbereiche sollen angezeigt werden:
LED-Anzeige · Temperaturbereich · Aktorstatus
weiß · < 10 °C · Heizung EIN
weiß und grün · ≥ 10 °C...<11 °C · Kein Aktor geschaltet
grün · ≥ 11 °C...<13 °C · Kein Aktor geschaltet
rot und grün · ≥ 13 °C...<14 °C · Kein Aktor geschaltet
rot · ≥ 14 °C · Kühlung EIN
Die Kühlung wird eingeschaltet, sobald die Lufttemperatur 14 °C erreicht oder überschreitet, die Heizung wird eingeschaltet, sobald die Lufttemperatur 10 °C unterschreitet.
Der eingesetzte Mikrocontroller liest über einen analogen Eingang, welcher über einen 10-Bit-A/D-Wandler verfügt, den Temperaturwert ein. Die LEDs sollen direkt über den Mikrocontroller angesteuert werden.
Material 3: Datenblattausschnitt Temperatursensor AD22100AT
FEATURES
200°C Temperature Span
Accuracy Better than ±2% of Full Scale
Linearity Better than ±1% of Full Scale
Temperature Coefficient of 22.5 mV/°C
Output Proportional to Temperature × V+
Single Supply Operation
Reverse Voltage Protection
Minimal Self Heating
High Level, Low Impedance Output
PIN DESCRIPTION Mnemonic · Function
V+ · Power Supply Input
V O · Device Output
GND · Ground Pin must be connected to 0 V.
NC · No Connect
ORDERING GUIDE Model/Grade · Guaranteed Temperature Range · Package Description* · Package Option
AD22100 KT · 0°C to 100°C · TO-92 · TO-92
AD22100 KR · 0°C to 100°C · SOIC · SO-8
AD22100 AT · –40°C to +85°C · TO-92 · TO-92
AD22100 AR · –40°C to +85°C · SOIC · SO-8
AD22100 ST · –50°C to +150°C · TO-92 · TO-92
AD22100 SR · –50°C to +150°C · SOIC · SO-8
AD22100KChips · +25°C · N/A · N/A
*Minimum purchase quantities of 100 pieces for all chip orders.
geändert nach: http://cdn-reichelt.de/documents/datenblatt/A200/AD22100%23AD.pdf (abgerufen am 20.10.19).
Material 4: Zu ergänzender Schaltplan
Material 5: Programmausschnitte
Programmausschnitt 1
#define weisseLED 3
#define grueneLED 4
#define roteLED 5
void setup() {
pinMode(weisseLED, OUTPUT);
pinMode(grueneLED, OUTPUT);
pinMode(roteLED, OUTPUT);
} Programmausschnitt 2
float tempCelsius = temperaturausgabe();
if(tempCelsius < 10.0) {
digitalWrite(weisseLED, HIGH);
digitalWrite(grueneLED, LOW);
digitalWrite(roteLED, LOW);
}
else if(tempCelsius >= 10.0 && tempCelsius < 11.0) {
digitalWrite(weisseLED, HIGH);
digitalWrite(grueneLED, HIGH);
digitalWrite(roteLED, LOW);
}
2.3 Erklärung der Programmausschnitte in Material 5
Die Schaltung wurde mit einem Mikrocontroller des Arduino-Systems umgesetzt.
In Material 5 befinden sich zwei Programmausschnitte des umgesetzten Systems.
Erklären Sie die Programmausschnitte.
a)
b)
2.4 Implementierung der Funktion temperaturausgabe()
Um die Temperatur ausgeben zu können, muss die temperaturproportionale Ausgangsspannung des Sensors verarbeitet werden.
Dazu wird die Sensorspannung analog eingelesen und als Temperatur temperatur zurückgegeben.
Implementieren Sie die Funktion temperaturausgabe().
Hinweis: Der 10-Bit-A/D-Wandler liest bei den Maximalwert 1023 ein. Gemäß Übertragungsfunktion gilt .
float temperaturausgabe() {
2.5 Programmablaufplan für die vorbeugende Wartung
Die Software soll um einen Programmteil erweitert werden.
Wurden die Heizung oder die Kühlung (Klimagerät) insgesamt hundert Mal eingeschaltet, soll eine gelbe Wartungs-LED im -Takt blinken. Nachdem die Wartung durchgeführt wurde, wird die Wartungsmeldung durch Betätigung des Tasters S0 zurückgesetzt.
Entwickeln und zeichnen Sie den Programmablaufplan für diesen Programmteil.
Hinweise: Der Betrieb der Anlage bleibt von dieser Erweiterung unberührt, es soll lediglich auf eine vorbeugende Wartung hingewiesen werden. Das Klimagerät beinhaltet in einem Gerät eine Heiz- und Kühlfunktion.

Lösung
Nach den offiziellen Korrekturhinweisen
2.3 Erklären Sie Programmausschnitt 1
Lösung: Im ersten Programmteil werden die Pins des Mikrocontrollers als digitale Ausgänge definiert. Dabei liegt an Pin 3 die weiße, an Pin 4 die grüne und an Pin 5 die rote LED.
2.3 Erklären Sie Programmausschnitt 2
Lösung: Im zweiten Programmteil wird der aktuelle Temperaturwert des Sensors über die Funktion temperaturausgabe() in die Variable tempCelsius geschrieben. Bei einer Temperatur kleiner 10 °C wird die weiße LED eingeschaltet und alle anderen LEDs ausgeschaltet. In einer Temperaturspanne größer oder gleich 10 °C bis kleiner 11 °C werden die weiße und die grüne LED eingeschaltet und die rote LED bleibt weiter abgeschaltet.
2.4 Implementieren Sie die Funktion temperaturausgabe()
Lösung: ```c int analogwert = analogRead(A0); float spannung = (analogwert / 1023.0) * 5.0; float temperatur = (spannung - 1.375) / 0.0225; return temperatur; } ```
2.5 Entwickeln und zeichnen Sie den Programmablaufplan für diesen Programmteil.
Lösung:
Die ausführliche Erklärung Schritt für Schritt (mit KI) gibt es mit Premium. Premium
Löse sie direkt hier: automatische Korrektur, Hinweise und Lösung Schritt für Schritt.
‹ Aufgabe Vorschlag C - Aufgabe 4.2 - Mikrocontroller progr… · LK 2022 · Aufgabe Vorschlag B - Aufgabe 2.2–2.3 · LK 2021 ›