Hi, ich arbeite schon etwas länger an einem elektronischen Dickenmesgerät für dünne Holzbretter (bis etwa 7mm), das im Prinzip nur mit einer Hallsonde und einem Magneten als "Abstandsgeber" funktioniert. Die Hardware steht schonmal und funktioniert auch, jetzt stehe ich aber vor der Aufgabe, die Kennlinie (siehe Anhang) auf einem µC zu interpolieren. (Da das Gerät später nur hin und wieder benutzt wird, und das auch nur für ein paar kurze Messungen, lohnt sich eine PC-/Notebook-basierte Lösung nicht wirklich.) Jetzt meine Fragen: kann ich annehmen, dass der Kurvenverlauf (abgesehen von meinen Messfehlern, den Sensor-Output sollte ich wohl noch verdoppeln) soetwas wie eine Parabel zweiter Ordnung beschreibt? Wäre hier also mein Ansatz korrekt, den ATmega8 mit 3 Referenzpunkten zu füttern und ihn dann eine LaGrange-Interpolation durchführen zu lassen? Oder gibt es eine ganz andere, viel einfachere Lösung, auf die ich im Arbeitseifer nur gerade nicht komme ? ;) Ich freue mich über hilfreiche Antworten :D Freundliche Grüße
Stephan S. schrieb: > Oder gibt es eine ganz andere, viel einfachere Lösung Wertetabelle hinterlegen, zwischen den Stützpunkten linear interpolieren. Stephan S. schrieb: > kann ich annehmen, dass Hängt davon ab welchen Fehler du akzeptieren willst, aber einfacher ist vermutlich eine Wertetabelle.
Du kannst Excel mit deinen Werten füttern, und dir dann eine Formel draus machen lassen, die hat dann zwar ewig viele Parameter, aber das sollte wohl nicht stören. Aber Frag mich nicht wie das ging, hab dass das letzte mal vor paar Jahren gebraucht. Aber das sieht doch nich schlecht aus: http://www.excelformeln.de/formeln.html?welcher=269 Oder mal nach Excel Trend suchen, irgendwie ging das.
Wie wäre es mit einer linearen Interpolation, also in x Bereiche aufteilen und da eine Gerade annehmen
Hi, ich wollte gerade bearbeiten, aber dann durfte ich es nicht mehr absenden... Zuerst: die Abstands-Achse ist in 125µm-Schritten, d.h., lineare Annahme bis 7mm ist nicht möglich. Eine Wertetabelle hab ich mir schon überlegt, nur ist die Kurzzeitkonstanz des Sensors viel zu schlecht, als dass ich mit einmalig ermittelten Werten arbeiten könnte. Zudem läuft das Gerät nachher auf Batterie, d.h. der Output des Sensors ändert sich permanent mit. MfG Edit: wow, hier geht's ja Schlag auf Schlag ;) @David: so hab ich es zuerst probiert, aber die Regression ist ja dann wieder nur einmalig. @user(Gast): das wäre eine Möglichkeit, aber auch wieder relativ aufwändig, weil ich für die Geraden noch mehr Messpunkte benötigen würde. Und so viele genaue Referenzen hab ich gar nicht :?
Analogschaltung? http://mslab.et-it.fh-offenburg.de/media/document/Versuch7_Magnetfeldsensoren.pdf Kapitel 3
> kann ich annehmen, dass der Kurvenverlauf (abgesehen von meinen > Messfehlern, den Sensor-Output sollte ich wohl noch verdoppeln) > soetwas wie eine Parabel zweiter Ordnung beschreibt? Du kannst bei einem Hallsensor zumindest annehmen, daß der Werteverlauf mehr von der Temperatur des Hallsensors als von der Entfernung des Magneten abhäbgt, du also mindestens in 2 Dimensionen interpolieren musst.
Hi, @hp-freund: das könnte genau die Schaltung sein, die ich brauche. Danke ;) @MaWin: das kann gut sein, aber während meiner kurzen Messungen betrachtet kann man die Temperatur als konstant ansehen. Also bleibt am Ende glücklicherweise nur noch eine Dimension. MfG
Stephan S. schrieb: > als dass ich mit einmalig > ermittelten Werten arbeiten könnte Also willst du die "Kurve" ständig ändern oder wie? Wenn du da wirklich live eine Werteanpassung durchführen willst könntest du diese Verfahren einsetzen: https://de.wikipedia.org/wiki/Methode_der_kleinsten_Quadrate
Läubi .. schrieb: > Also willst du die "Kurve" ständig ändern oder wie? Ich will es nicht, aber ich werde es vor jeder Messung wahrscheinlich tun müssen. Dann wird es wohl doch auf diese Art der Interpolation rauslaufen. Markus Wagner schrieb: > Also eigentlich hinterlegt man in solchen Fällen eine Kurvenschar. ..., die man vorher aber irgendwie gewinnen muss ;) Und diesen Aufwand wollte ich mir eigentlich sparen. MfG
Stephan S. schrieb: > Ich will es nicht, aber ich werde es vor jeder > Messung wahrscheinlich tun müssen. Okay, dann hatte ich das falsch verstanden. In dem Fall ist denke ich die "Methode der kleinsten Quadrate" besser geeignet, da du ja die Funktion mit möglichst kleinem Fehler haben willst und nicht eine die genau durch deine Messpunkte geht. Wie viele Messpunkte da praktikabel sind kann man ja dann ausprobieren.
Wie wärs mit einem Magnetfeldsensor der nicht so krass driftet? z.B. sowas hier: http://www.ebay.de/itm/171018528973
Hi, das Problem bei den neuen MEMS-Sensoren ist, dass alle, die ich bisher gefunden habe, nur für eine relativ geringe Feldstärke (-> Kompass) gemacht sind. Die meisten im Bereich von +-8 Gauss. Sowohl der Haltemagnet (bewirkt schonmal eine "Vorspannung"), als auch der Messmagnet sind da um einige Zehnerpotenzen drüber. Die Dinger wären ansonsten ideal, da sie auch in die 4mm-Bohrung meines Magneten passen würden. Leider aber ungeeignet. Wer aber dahingehend noch ein Ass im Ärmel hat (oder weiß, wer eins hat ;) ), der möge es vielleicht posten :D MfG
Stephan S. schrieb: > Markus Wagner schrieb: >> Also eigentlich hinterlegt man in solchen Fällen eine Kurvenschar. > ..., die man vorher aber irgendwie gewinnen muss ;) > Und diesen Aufwand wollte ich mir eigentlich sparen. nun aber irgendwie musst aber so oder so zu Deinen Daten gelangen, die Dir sagen, wie Du zu interolieren hast. Entweder generisch oder diskret.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.