Hallo,
ich möchte Temperaturen mit einem NTC-Sensor Messen
den Sensor habe ich mit einem Vorwiderstand an einen adc Pin an geklemmt (Spannungsteiler)
Zum Testen nutze ich momentan einen Arduino Uno möchte aber später einen Tiny85 benutzen.
Ziel ist ein Temperaturschalter der bei 30°C ein Relais Steuert
Datenblatt zum Sensor habe ich leider keins aber diese Daten stehen im Beipackzettel
der Sensor hat einen Widerstand von 15k Ohm bei 25°C und 6k bei 50°C
als Vorwiderstand habe ich einen 4,7k gewählt.
Ich beschäftige mich jetzt schon Stunden mit der Berechnung und komme nicht weiter
als Ergebnis bekomme ich z.B -258.0 °C
mit den Formeln aus Degenblättern komm ich nicht klar
meine Berechnung basiert auf dieser Quelle forum.arduino.cc/index.php?top…733.msg1170722#msg1170722
Alles anzeigen
ich möchte Temperaturen mit einem NTC-Sensor Messen
den Sensor habe ich mit einem Vorwiderstand an einen adc Pin an geklemmt (Spannungsteiler)
Zum Testen nutze ich momentan einen Arduino Uno möchte aber später einen Tiny85 benutzen.
Ziel ist ein Temperaturschalter der bei 30°C ein Relais Steuert
Datenblatt zum Sensor habe ich leider keins aber diese Daten stehen im Beipackzettel
der Sensor hat einen Widerstand von 15k Ohm bei 25°C und 6k bei 50°C
als Vorwiderstand habe ich einen 4,7k gewählt.
Ich beschäftige mich jetzt schon Stunden mit der Berechnung und komme nicht weiter
als Ergebnis bekomme ich z.B -258.0 °C
mit den Formeln aus Degenblättern komm ich nicht klar
meine Berechnung basiert auf dieser Quelle forum.arduino.cc/index.php?top…733.msg1170722#msg1170722
BASCOM-Quellcode
- $Regfile="m328pdef.dat"
- '$Regfile="attiny45.dat"
- $Crystal=16000000
- $hwstack=40
- $swstack=16
- $framesize=32
- $baud=9600
- 'V_b Betriebsspannung ist gleich Maximaler ADC-Wert also 1023
- 'V_a Spannung am Messeingang
- 'Va_Vb Spannungsverhältniss NTC zur Betriebsspannung
- Dim ntc_pin as Byte
- Dim merke_1 as Single , merke_2 as Single
- Dim adc_wert as Word
- Dim T_0 as Single 'Nenntemperatur des NTC-Widerstands in °C
- Dim R_0 as Single 'Nennwiderstand des NTC-Sensors in Ohm
- Dim B as Single 'Materialkonstante B
- Dim Rv as Single 'Vorwiderstand in Ohm
- Dim Va_Vb as Single 'Spannungsverhältnis "Spannung am NTC zu Betriebsspannung
- Dim Temperatur as Single 'Rückgabewert
- Dim Rn as Single 'Widerstand des NTC-Sensors temperaturabhängig
- Dim Kelvin as Single
- Dim adc_max as Single
- adc_max = 1023.0
- Kelvin = 273.15
- Config Adc = Single , Prescaler = Auto , Reference = Avcc
- ntc_pin = 0
- Do
- adc_wert = getADC(ntc_pin)
- Va_Vb = adc_wert / adc_max
- Print "ADC-Wert " ; adc_wert
- Wait 1
- Gosub temperatur_ntc
- Loop
- End
- temperatur_ntc:
- T_0 = 25
- R_0 = 15000.0
- B = 3528
- Rv = 4700
- T_0 = T_0 + Kelvin 'umwandeln Celsius in Kelvin
- Rn = Rv * Va_Vb
- Va_Vb = 1-Va_Vb
- Rn = Rn / Va_Vb 'aktueller Widerstand des NTC
- merke_1 = Rn / R_0
- merke_1 = log(merke_1)
- merke_2 = B + T_0
- Merke_2 = merke_2 / merke_1
- temperatur = T_0 * B
- temperatur = temperatur / merke_2
- temperatur = temperatur - kelvin
- Print "Temperatur " ; temperatur
- wait 1
- Return