Arduino: Temperaturmessung mit NTC und PTC: Unterschied zwischen den Versionen
Zeile 91: | Zeile 91: | ||
# <code>Messwert=analogRead(A0);</code> | # <code>Messwert=analogRead(A0);</code> | ||
# Widerstand über den Spannungsteiler berechnen: <code>R = 10000*(1024/Messwert-1)</code> | # Widerstand über den Spannungsteiler berechnen: <code>R = 10000*(1024/Messwert-1)</code> | ||
# [[PTC_Temperatursensor_KTY_81-210#Kennlinie|Formel]]nach T umformen. | # [[PTC_Temperatursensor_KTY_81-210#Kennlinie|Formel]] nach T umformen. | ||
# <code>R0, T0</code> dem Datenblatt entnehmen und in die Formel einsetzen. | # <code>R0, T0</code> dem Datenblatt entnehmen und in die Formel einsetzen. | ||
# <math>T=f(R_{NTC})</math> in °C berechnen und im seriellen Plotter anzeigen. | # <math>T=f(R_{NTC})</math> in °C berechnen und im seriellen Plotter anzeigen. |
Version vom 12. Dezember 2022, 15:27 Uhr
Autor: Prof. Dr.-Ing. Schneider
Modul: Praxismodul I
Lehrveranstaltung: Mechatronik, Informatikpraktikum 1, 1. Semester, Wintersemester
Inhalt
- Temperaturkennlinie von NTC und PTC
- Temperaturmessung mit NTC und PTC
- Datenspeicherung im EEPROM
Lernziele
Nach Durchführung dieser Lektion
- können Sie mittels NTC und PTC Temperaturen messen.
- können die Funktion und die Kennlinien eines NTC und PTC beschreiben.
- können Sie Messwerte im EEPROM ablegen und auswerten.
Lernzielkontrolle
- Was ist ein NTC? Wie funktioniert er?
- Mit welcher Schaltung kann man mit einem NTC die Temperatur messen?
- Wie lautet der Zusammenhang ?
- Setzen Sie die Formel in C um und testen Sie diese mit den Messwerten aus dem NTC-Datenblatt.
- Was ist ein PTC? Wie funktioniert er?
- Mit welcher Schaltung kann man mit einem PTC die Temperatur messen?
- Wie lautet der Zusammenhang ?
- Setzen Sie die Formel in C um und testen Sie diese mit den Messwerten aus dem PTC-Datenblatt.
- Unter welchen Bedingungen nutzen Sie einen NTC oder PTC?
- Was bedeutet EEPROM?
- Wie groß ist das EEPROM vom Arduino Uno R3?
- Wo auf der Platine vom Arduino Uno R3 befindet sich das EEPROM?
- Wie häufig können Sie das EEPROM beschreiben?
- Welche Daten würden Sie im EEPROM ablegen?
- Beschreiben Sie alle Methoden der Klasse
EEPROM.h
(crc, get, put, read, update, write
). - Wurde der Quelltext durch Header und Kommentare aufgewertet?
- Wurden jedes Programm mittels PAP geplant?
- Wurde auf
magic numbers
verzichtet? - Wurde die Programmierrichtlinie eingehalten?
Vorbereitung
Bereiten Sie sich anhand der nachfolgenden Aufgaben auf den Praktikumstermin vor.
- Bereiten Sie sich anhand der Tutorials und Demos vor.
- Planen Sie alle Programme als PAP.
- Beantworten Sie die Lernzielkontrollfragen.
- Arbeiten Sie nachhaltig in SVN.
Arbeitsergebnisse in SVN: Lernzielkontrolle_Termin_12.pdf
Versuchsdurchführung
Aufgabe 12.1: Lernzielkontrolle
Präsentieren Sie Prof. Schneider das Ergebnis der Lernzielkontrolle.
Arbeitsergebnisse in SVN: Lernzielkontrolle_Termin_12.pdf
Aufgabe 12.2: Temperaturmessung mit einem NTC
- Bauen Sie die Grundschaltung für eine Temperaturmessung mit NTC auf.
- Lesen Sie die Spannung am Analogpin
A0
ein. - Berechnen Sie aus dem Digitalwort den Widerstand in Ω.
- Formen Sie die Formel nach um.
- Berechnen Sie mit Ihrer Formel die Temperatur in °C.
- Visualisieren Sie die Temperatur in °C im seriellen Plotter.
Arbeitsergebnisse in SVN: messeNTCTemperatur.ino
Lösungsweg
#include <math.h>
Messwert=analogRead(A0);
- Widerstand über den Spannungsteiler berechnen:
R = 10000*(1024/Messwert-1)
- Formel nach T umformen.
R0, T0
dem Datenblatt entnehmen und in die Formel einsetzen.- in K berechnen.
- K in °C umrechnen und im seriellen Plotter anzeigen.
Die Lösung finden Sie in [1, S. 144ff.].
Aufgabe 12.3: Temperaturmessung mit einem PTC
- Bauen Sie die Grundschaltung für eine Temperaturmessung mit NTC auf.
- Lesen Sie die Spannung am Analogpin
A0
ein. - Berechnen Sie aus dem Digitalwort den Widerstand in Ω.
- Formen Sie die Formel nach um.
- Berechnen Sie mit Ihrer Formel die Temperatur in °C.
- Visualisieren Sie die Temperatur in °C im Seriellen Plotter.
Arbeitsergebnisse in SVN: messePTCTemperatur.ino
Lösungsweg
#include <math.h>
Messwert=analogRead(A0);
- Widerstand über den Spannungsteiler berechnen:
R = 10000*(1024/Messwert-1)
- Formel nach T umformen.
R0, T0
dem Datenblatt entnehmen und in die Formel einsetzen.- in °C berechnen und im seriellen Plotter anzeigen.
Die Lösung finden Sie in [1, S. 144ff.].
Aufgabe 12.4: Datensicherung im EEPROM
- Betreiben Sie den Arduino mit einem 9 V Batterieblock.
- Lesen Sie einen entprellten Taster ein.
- Sichern Sie bei Tastendruck folgende Daten im EEPROM
- die Namen der Teammitglieder als
string
. - die Anzahl der Teammitglieder als
byte
. - die Baudrate als
int
. - die Zeit mit
millis()
alslong
. - die gemessene Temperatur in °C als
float
.
- die Namen der Teammitglieder als
- Messen Sie im Labor bei ca. 20 °C und im Freien bei ca. 0 °C.
- Trennen Sie den Arduino kurz von der Spannungsversorgung.
- Lesen Sie die im EEPROM gespeicherten Daten aus und visualisieren Sie diese im seriellen Monitor.
Arbeitsergebnisse in SVN: speichereDatenimEEPROM.ino, leseDatenausEEPROM.ino
Aufgabe 12.5: Nachhaltige Doku
- Sichern Sie alle Ergebnisse mit beschreibendem Text (
message
) in SVN. - Wurden die Regeln für den Umgang mit SVN eingehalten?
- Wurde die Programmierrichtlinie eingehalten?
- Wurde nachhaltig dokumentiert?
- Haben die Programme einen Header?
- Wurden der Quelltext umfangreich kommentiert?
- Wurden die PAPs erstellt und abgelegt? Passen die PAPs 100% zum Programm?
Arbeitsergebnis in SVN: SVN Log
Bewertung
Aufgabe | Punkte |
12.1 | 2 |
12.2 | 2 |
12.3 | 2 |
12.4 | 2 |
12.5 | 2 |
Tutorials
- Arduino.cc: EEPROM Library
- Arduino.cc: A guide to EEPROM
- HSHL-Wiki: PTC Temperatursensor (KTY81-210)
- HSHL-Wiki: NTC Temperatursensor (MF58 3950 B)
Demos
Literatur
- Brühlmann, T.: Arduino Praxiseinstieg. Heidelberg: mitp, 4. Auflage 2019. ISBN 978-3-7475-0056-9. URL: HSHL-Bib, O'Reilly-URL
- Brühlmann, T.: Sensoren im Einsatz mit Arduino. Frechen: mitp Verlag, 1. Auflage 2017. ISBN: 9783958451520. URL: HSHL-Bib, O'Reilly
- Snieders, R.: ARDUINO lernen. Nordhorn: 8. Auflage 2022. URL: https://funduino.de/vorwort
- Schneider, U.: Programmierrichtlinie für für die Erstellung von Software in C. Lippstadt: 1. Auflage 2022. PDF-Dokument (212 kb)
→ zurück zum Hauptartikel: Arduino Praxiseinstieg