Nimm "double" statt "single", das gibt mehr her.
Hallo Zusammen!
Habe ein kleines Problem, vielleicht könnt ihr mir weiterhelfen:
Ich möchte folgende Kennlinie eines Sensors der am AD-Eingang hängt berechnen:
Temperatur = -0,0000003833*A^3 + 0,000608*A^2 - 0,39*A + 195,1
Für A wird jeweils die anliegende Spannung am Ad-Wandler in einen Widerstandswert umgerechnet.
Theoretisch funktioniert das alles, aber Bascom kann nicht mit solch kleinen Zahlen rechnen! Statt der 0,0000003833 wird mit 0,000 gerechnet. Dass da nur noch Quatsch rauskommen kann ist logisch.
X = 0.0000003833*857 soller rechnen
X = 0 gibt er aus
Die Variablen (hier im Bsp X) hab ich alle als Single deklariert, liegt hier das Problem?
Oder muss ich mir da was ganz anderes überlegen, wie die Widerstandskennlinie in AD-Werte umrechnen und das ganze dann versuchen?
Vielen Dank für Eure Tipps, Martin
Nimm "double" statt "single", das gibt mehr her.
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
OK, vergesst es, ich hab meinen Fehler gefunden!
Hatte mit einer falschen Variable multipliziert... schön blöd!!
Geht alles doch auch mit Singles!
Das einzige was komisch ist:
R=2000
A=R*R
A=A*R; also R³
ergibt was anderes wie
exp3=3
A=Power(r,exp3)
aber was solls!
Gruß, Martin
Lesezeichen