Umrechnen von ADC Wert zu Einheit

Gast #3627238
Lesenswert?
• ▲
▼
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
Gast #3627244
Lesenswert?
• ▲
▼
oops!

4mA = 0°C
10mA = 93,75°C
12mA = 125°C
20mA = 250°C



                    Strom-gemessen(10mA) -4mA
Temperatur(°C) =    -------------------------- * 250(°C) max Wert des 
Sensors
                            16mA

= 93,75°C    ... also ist die abweichung 9°C  zu den errechneten 102,x°C 
oben.


...
Gast #3627248
Lesenswert?
• ▲
▼
Hi.

Her past doch was nicht zusammen:

≥ ADC 0mA 4mA 10mA 20mA
≥ ADC1 0,000V 0,653V 1,608V 3,206V
≥ ADC2 0,000V 0,618V 1,538V 3,066V

Beim fünffachen Strom solltest du doch die fünffache Spannung bekommen, 
das ist aber nicht der Fall. Irgend was ist da ziemlich nichtlinear, 
deine Rechnung setzt aber Linearität voraus.

Grüße
Flo

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.