Gast
#3627238
Hallo Forum, ich bin neu mit dem STM32 Discovery F4 zugange. Ich versuche gerade einen Temperatur-Sensor (0-250°C, 4 bis 20mA) über einen Widerstand auszulesen. Der ADC liefert mir ja für 12bit = 4096. 3,256V ist die Spannung welche am ADC hängt (Vref). So ergibt sich: Ue = Xd * Uref / 2^n Ue = ADC Spannung Xd = ADCWert Uref = Vref = 3,256 2^n = 4096 Dann hab ich doch bspw beim ADC wert 512 : 512 * 3,256V ------------- = 0,407V 4096 Wenn ich jetzt die Temperatur haben möchte vom mA Strom Signal des Sensor: 0°C 250°C ADC 0mA 4mA 10mA 20mA ADC1 0,000V 0,653V 1,608V 3,206V ADC2 0,000V 0,618V 1,538V 3,066V dann muss ich doch so normieren: y = (y1-y0) / (x1-x0) * (x-x0) + y0 hierbei ist x: = aktueller Wert in V x0:= 0,653V = untergrenze ADC = 4mA y0:= 0 = untergrenze Einheit = 0,0 °C x1:= 3,206V = obegrenze ADC = 20mA y1:= 250 = obegrenze Einheit = 250,0°C y:= Sklaiertes Ergebnis Beispiel 10mA entspricht 0,653V (müsste 125°C sein theoretisch): (250-0) ----------------------------------------- (3,206V-0,653V) * (1,608V-0,653V) + 0 250 ------------------- 2,553 * 0,955 +0 = 102,538°C es kommen keine 125°C raus. Wo ist denn mein Fehler? Ist die Formel so wie ich dachte falsch oder rechnet man anders die einheiten raus? Viele Grüße Tristan