mathematische Sensor-Linearisierung
Servus,
ich tüftle derzeit an einer Sensor-Linearisierung herum und komme empirisch auf keine saubere Lösung. Das Problem ist, ich habe keine lineare Funktion. Der Sensor an sich ist ein LDR mit einem Trimmpotentiometer, welcher über einen ADC digitalisiert wird in 10-Bit-Auflösung (0...1023). LDR ist gegen GND, das Poti ist gegen Uref geschaltet.
Die Funktion des LDR's zum ADC-Wert:
ADC = (LDR * 1024) / (LDR * R1)
Umgestellt nach LDR (um aus dem ADC-Wert den LDR-Wert zu errechnen):
LDR = (R1 * ADC) / (1024 - ADC)
Nun habe ich durch mehrfache Messungen sehr genaue Referenzwerte ermittelt. Diese sind an vier Stützstellen (im 1/3-Raster) ermittelt worden.
512 => 3/3 (1,000)
559 => 2/3 (0,666)
679 => 1/3 (0,333)
983 => 0/3 (0,000)
512 ist halbe ADC-Referenzspannung. Das wurde mit dem Potentiometer (R1) bei exakt 100% Lichtstärke einjustiert. Der Rest ist über exakte Zu- und Abschaltung am Messobjekt ausgemessen worden.
http://wiesolator.gotdns.org/rn/Licht-Kurve.PNG
Hier mein Versuche es in der Tabellenkalkulation anzunähern:
http://wiesolator.gotdns.org/rn/funktion.png
Weiß jemand ein Verfahren bzw. eine Vorgehensweise, wie man aus solchen (vier) Stützstellen eine saubere Gleichung ermitteln kann, die alle Zwischenpunkte (ADC-Werte) errechnen kann?
Grüße Wolfgang
Re: mathematische Sensor-Linearisierung
Zitat:
Zitat von BlueNature
... ein Verfahren bzw. eine Vorgehensweise, wie man aus solchen (vier) Stützstellen eine saubere Gleichung ermitteln kann, die alle Zwischenpunkte (ADC-Werte) errechnen kann ...
Mal ganz im Geheimen: mit zwei Stützpunkten geht das total einfach. Ok, dann weiter ohne OT: ich habe so eine wilde Messwertkurve für einen Sharp IR-Sensor aufgenommen. In Excel eingetragen - und das Excel hat mir (auf meinen Befehl natürlich) eine Regression ermittelt. Die Art der Regression ist wählbar. Ich habe aus der Kurve eine einfache Ersatzgleichung bestimmt, habe damit eine Kontrollkurve errechnet und die zur Kontrolle der Güte der Anpassung im Messblatt dargestellt. Siehe hier (klickdrauf). WENN man nicht genau die von Excel vorgeschlagene Gleichung nimmt (ist im Posting mit Beispielcode hinterlegt), dann kann man auch annähernd recht praktische, sprich schnell berechenbare, Ersatzkurven bekommen.
PS: Verschiedene Berechnungsverfahren sind möglich. Die Ergebnisse treffen entweder die Stützpunkte GENAU - dann könnte die Kurve aber ziemlich "schwingen", oder der Fehler (die Abweichung an den Stützpunkten) ist mehr oder weniger gering - dann kann die Kurve recht einfach werden. Da muss man wählen, was nach den eigenen Anforderungen an Genauigkeit und Verwendbarkeit am besten passt. Das o.g. Beispiel ist von der letzteren Art: möglichst einfache Rechnung bei guter Genauigkeit (mit Anpassung nach der Methode der kleinsten Quadrate...).