lookup table
-
Hi,
ich bin neu im Forum und hoffe hier Hilfe bei meinen Problem zu finden.
Ich habe heute verschiedene Werte eines NTCs aufgenommen und mir eine Kurve
erstellt.X-Achse [Temperatur]: -5,5,15,25,35,45,55,65,70
Y-Achse [Spannung] : 2.58,2.40,2.15,1.84,1.51,1.20,0.94,0.72,0.60Jetzt möchte ich über den gemessenen Spannungswert (12 Bit ADC) die dazugehörige Temperatur ermitteln
Hier mein Codeschnipsel
[code="cpp"]
#include "mbed.h"
AnalogIn volt (p20);
int main() {
float sample;
while(1) {
sample = volt.read()*3.3;
printf("ADC: %f \r\n",sample);
wait(0.1);
}}
Ich habe mir überlegt das ganze über eine "Lookup table" zu lösen.
1. Funktion finden die meine Kurve beschreibt.
2. Tabelle erstellen
3. Gemessen ADC-Wert mit Tabelle vergeleichen.
4. Ausgabe der TemperaturNur leider weiss ich nicht ob man es so machen kann und wie man es umsetzt. Ich habe auch keine Ahnung wie ich eine lookuptable erstelle, da ich sowas noch nicht gemacht habe und kaum Erfahrung besitze. Ich hoffe ihr könnt mir Tipps geben oder Infos zur lookup table.
Vielen Danke

-
Kann man schon so machen allerdings ist das erstellen der Lookup Table optional. Eigentlich macht man das nur wenn die Berechnung der Funktion so lange dauert oder so häufig berechnet werden muss, dass sich dadurch eine Geschwindigkeitsvorteil ergibt. Deine Daten sehen ja so aus als könnte man da ganz gut ein Polynom 3. Grades durchlegen. Das sollte man noch enigermaßen schnell berechnen können.