de:arduino:temperature

Differences

This shows you the differences between two versions of the page.

de:arduino:temperature [2022/04/21 15:00] ()
 1:  1:
 +{{ :wiki:arduino:ds18b20.png?100|DS18B20}}
 +====== Temperatur messung ======
 +Auf dieser Seite liste ich die Lösungen auf, die nur zur Temperaturmessung geeignet sind. Dort finden Sie Temperaturmessmodule in Kombination mit Feuchtemessungen wie dem [[de:arduino:humidity#si7021_modul|SI7021]].
  
 +===== DS18B20 =====
 +{{anchor:ds18b20}}
 +
 +Der digitale Temperatursensor DS18B20 wurde von Maxim (ehemals Dallas) entwickelt. Der Sensor kommuniziert über einen 1-Draht-Bus und hat einen Messbereich von -55 ° C ~ 125 ° C. Es wurde im Wesentlichen zur Messung der Umgebungstemperatur (Lufttemperatur) entwickelt, dem häufigsten Sensor dieser Art in einer Arduino-Umgebung.
 +
 +Die auf dem DS18B20-Modul montierte Version heißt ** KY001 **:
 +
 +{{:wiki:arduino:ky001_sensor.jpg?200|KY001 Temperaturmodul}}
 +
 +{{ :wiki:arduino:ds18b20_packages.png?200|DS18B20 Kapselung}}
 +
 +==== Spezifikation ====
 +  * Messbereich: -55 ° C bis + 125 ° C (-67 ° F bis + 257 ° F)
 +  * Genauigkeit: ± 0,5 ° C / -10 ° C bis + 85 ° C.
 +  * Auflösung: programmierbare Auflösung von 9 bis 12 Bit
 +  * Anzahl der Drähte: Benötigt nur 2 Drähte im Parasitenmodus (DQ und GND)
 +  * Authentifizierung: Jeder Sensor verfügt über eine eindeutige 64-Bit-Kennung, die im ROM gespeichert ist
 +  * Parametrisierung: Flexible, benutzerdefinierbare, nichtflüchtige (NV) Alarmeinstellungen (mit dem Alarmsuchbefehl)
 +  * Kapselung: TO-92, SO, uSOP
 +
 +{{ :wiki:arduino:ds18b20-waterproof.png|DS18B20 mit Wasserdichtes Gehäuse}}
 +
 +==== DS18B20 mit Wasserdichtes Gehäuse ====
 +Es gibt auch eine wasserdichte Version des Sensors, bei der die Verkabelung wie folgt ist:
 +
 +  * schwarz: GND
 +  * weiß/gelb: DATA
 +  * rot: Vdd (5V+)
 +
 +<WRAP center round tip 80%>
 +Es ist eine gute Idee, diese Reihenfolge auch für die Anschlüsse beizubehalten (schwarz, weiß / gelb, rot), da Sie den Anschluss als Test durch einen "Barfuß" -IC ersetzen können, wenn etwas schief geht.
 +
 +Die Daten- und Vdd-Kabel (5 V +) müssen für jeden Modus an einen ** 4,7 k-Widerstand ** angeschlossen werden.
 +</WRAP>
 +
 +==== Parasitenmodus / Normalmodus ====
 +^Normalmodus^Parasitenmodus|
 +|{{:wiki:arduino:ds18b20_normal_mode.png?300|Normalmodus}}|{{:wiki:arduino:ds18b20_parasite_mode.png?300|Parasitenmodus}}|
 +|Im normalen 3-Draht-Modus wird die Stromversorgung vom Vdd über ein Kabel bereitgestellt, das mit den Vdd-Pins der ICs verbunden ist.|Im Parasiten-2-Draht-Modus müssen die Vdd-Zweige der ICs mit GND verbunden sein, die Stromversorgung ist auf dem Datenkabel implementiert.|
 +
 +==== Verdrahtung ====
 +{{:wiki:arduino:ds18b20_wire.png|DS18B20 Verdrahtung}}
 +
 +Das Bild oben zeigt den 3-Draht-Normalmodus-Anschluss eines Sensors. Die Daten- und Vdd-Drähte (5 V +) müssen für jeden Modus an einen 4,7-k-Widerstand angeschlossen werden. Wenn das Messergebnis -127 ist, stimmt etwas mit der Verbindung nicht.
 +
 +==== herunterladbare Libraries ====
 +
 +  * oneWire.h : https://www.arduinolibraries.info/libraries/one-wire
 +  * dallasTemperature.h: https://github.com/milesburton/Arduino-Temperature-Control-Library
 +==== Github ====
 +https://github.com/milesburton/Arduino-Temperature-Control-Library \\
 +https://github.com/RobTillaart/Arduino/tree/master/libraries/DS18B20 \\
 +
 +
 +==== Beispielprogramm ====
 +<code c>
 +/********************************************************************/
 +// First we include the libraries
 +#include <OneWire.h> 
 +#include <DallasTemperature.h>
 +/********************************************************************/
 +// Data wire is plugged into pin 2 on the Arduino 
 +#define ONE_WIRE_BUS 2 
 +/********************************************************************/
 +// Setup a oneWire instance to communicate with any OneWire devices  
 +// (not just Maxim/Dallas temperature ICs) 
 +OneWire oneWire(ONE_WIRE_BUS); 
 +/********************************************************************/
 +// Pass our oneWire reference to Dallas Temperature. 
 +DallasTemperature sensors(&oneWire);
 +/********************************************************************/ 
 +void setup(void) 
 +
 + // start serial port 
 + Serial.begin(9600); 
 + Serial.println("Dallas Temperature IC Control Library Demo"); 
 + // Start up the library 
 + sensors.begin(); 
 +
 +void loop(void) 
 +
 + // call sensors.requestTemperatures() to issue a global temperature 
 + // request to all devices on the bus 
 +/********************************************************************/
 + Serial.print(" Requesting temperatures..."); 
 + sensors.requestTemperatures(); // Send the command to get temperature readings 
 + Serial.println("DONE"); 
 +/********************************************************************/
 + Serial.print("Temperature is: "); 
 + Serial.print(sensors.getTempCByIndex(0)); // Why "byIndex"?  
 +   // You can have more than one DS18B20 on the same bus.  
 +   // 0 refers to the first IC on the wire 
 +   delay(1000); 
 +}
 +</code>
 +==== Quellen ====
 +https://www.tweaking4all.com/hardware/arduino/arduino-ds18b20-temperature-sensor/attachment/ds18b20-normal-power/
 +
 +{{ :wiki:arduino:lm75a.png?150|LM75A}}
 +===== LM75A =====
 +{{anchor:lm75a}}
 +Der LM75A ist ein digitales Temperatursensormodul mit einer Hochgeschwindigkeits-I²C-Schnittstelle. Das Modul verfügt über 4 Datenregister zur Einstellung der verschiedenen Betriebsarten. Auf dem OPEN-SMART-Modul mit LM75A (Bild oben rechts) können acht I²C-Adressen auf eine Einheit eingestellt (gelötet) werden. Das Modul bietet auch Schutz vor Überhitzung - was auch immer das bedeutet.
 +
 +Andere I²C-Module: [[hu:arduino:comm_example#arduino_i_c_kommunikacio|Arduino I²C-Module]]
 +
 +
 +==== Technische Details ====
 +- Kompatibilität: Arduino UNO R3 / Arduino Mega2560 \\
 +- Betriebsspannung: 2,8..5,5 V DC \\
 +- Stromaufnahme: 2mA (max) \\
 +- Schnittstelle: Standardschnittstelle [[de:arduino:start#arduino_i_c|I²C]] \\
 +- Auflösung: 0,125 °C \\
 +- Messbereich: -55 ~ 125 °C \\
 +- Genauigkeit: ± 2 °C -25 ~ + 100 °C; ± 3 °C -55 ~ + 125 °C \\
 +
 +==== Schaltplan des LM75A ====
 +
 +{{:wiki:arduino:lm75a_schema.png|Schaltplan des LM75A}}
 +
 +==== Adressierung des LM75A ====
 +
 +{{:wiki:arduino:lm75a_adr.png|Adressierung des LM75A}}
 +
 +==== LM75A Software ====
 +
 +https://github.com/QuentinCG/Arduino-LM75A-Temperature-Sensor-Library
 +
 +===== Thermistoren =====
 +
 +{{ :wiki:arduino:ky013.png?120|Analoges Thermistorthermometer-Modul KY-013}}
 +==== Analoges Thermistorthermometer-Modul KY-013 ====
 +Das analoge Temperatursensormodul KY-013 besteht aus einem NTC-Thermistor und einem 10-kΩ-Widerstand. Der Widerstand des Thermistors variiert in Abhängigkeit von der Umgebungstemperatur. Die //Steinhart-Hart-Gleichung// wird verwendet, um die Temperatur des Thermistors genau zu bestimmen.
 +
 +**Technische Details:**
 +  * Betriebsspannung: 5V DC
 +  * Temperaturmessbereich: -55 °C bis 125 °C [-67 °F bis 257 °F]
 +  * Messgenauigkeit: ± 0,5 °C.
 +
 +==== Verdrahtung von KY-013 ====
 +
 +{{:wiki:arduino:ky013_wiring.png?400|Verdrahtung von KY-013}}
 +
 +  * S: Pin A0
 +  * Mitte: 5V DC
 +  * -: GND
 +
 +==== Software ====
 +Das folgende Arduino-Programm berechnet die Thermistortemperatur unter Verwendung der //Steinhart-Hart//-Gleichung, die in der Funktion "//Thermister//" implementiert ist.
 +
 +<code c>
 +#include <math.h>
 +
 +double Thermister(int RawADC) {
 + double Temp;
 + Temp = log(((10240000/RawADC) - 10000));
 + Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
 + Temp = Temp - 273.15; // konvertiere Kelvin in Celsius
 + return Temp;
 +}
 +
 +void setup() {
 + Serial.begin(9600);
 +}
 +
 +void loop() {
 + Serial.print(Thermister(analogRead(0))); // pin A0 lesen
 + Serial.println("c");
 + delay(500);
 +}
 +</code>
 +
 +==== Quelle ====
 +http://arduinomodules.info/ky-013-analog-temperature-sensor-module/
  • de/arduino/temperature.txt
  • 2022/04/21 15:00
  • ()