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 5 V5\,\text{V} den Maximalwert 1023 ein. Gemäß Übertragungsfunktion gilt UA=1,375 V+0,0225 V∘C⋅TU_A = 1{,}375\,\text{V} + 0{,}0225\,\frac{\text{V}}{^\circ\text{C}} \cdot T.

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 1 Hz1\,\text{Hz}-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.

Aufgabenstellung: Aufgabe Vorschlag A - Aufgabe 2.3–2.5 · Abitur Hessen Elektrotechnik LK 2021

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 ›

Mehr Aufgaben zu Mikrocontroller programmieren (Arduino)