Wegessung mit 0.2 mm Auflösung

Hallo zusammen,

für mein neues Projekt, bei dem ich einen optischen Blutzuckersensor mit einem Arduino realisieren möchte, muss ich eine Wegstrecke zwischen 1 cm und 3.5 cm extrem genau messen.
Da die Wegstrecke linear in meine Berechnung eingeht, würde ich die diese gerne auf 0.2 mm genau messen.
Somit fällt ein Ultraschallsensor für dieses Vorhaben aus. Als Alternative gibt es noch die Möglichkeit die Entfernung mit Hilfe eines Lasers zu messen, beispielsweise mit einem VL53L0XV2 I2C IIC. Problem hierbei ist, dass ich damit nicht die benötigte Genauigkeit erreiche.

Zum Hintergrund: mein Blutzuckersensor soll maximal insgesamt ca. 10 cm lang, 7 cm hoch und 6 cm breit sein. Dieser arbeitet nach dem Lambert-Beer’schen Gesetz E = ecd, wobei d meine Dicke ist, die ich messen will.

Vielen Dank für eure Hilfe,
Martin

Das mußt Du erst einmal näher erklären. Was ändert seine Länge bzw. Dicke? Kann man damit einen optischen Encoder antreiben, der hätte die geforderte Auflösung?

Hier mal was zum lesen.
Ich selber habe mal mit dem Hohner System gearbeitet die im Thread.
Aber Achtung genauigkeit geht hier im Quadrat zum Preis ein.

Gruß
DerDani

(deleted)

Im Zweifelsfall eine Kamera mit passender Optik...

Hallo Fitze,
Ultraschall folgt gut bekannten und meßbaren Naturgesetzen. -Sollte man nicht unterschätzen! Änderungen der Umgebungstemperatur haben Einfluß auf die Messung. Feuchte und Luftdruck sind gut vernachlässigbar.

(1)
Nehmen wir 40kHz, mit einer Wellenlänge Lambda = c / f = 8,5 mm in T = 1/f = 25µsec Laufzeit.
(2)
Nehmen wir weiter, den 40kHz China Ultraschall-Entfernungssensor HC-SR04, der sich gerne von einer, zur nächsten Messung um ganzzahlige Vielfache von T = 25µsec vertut...
(2)
Und wir messen mit dem Timer1 eines 16MHz Arduinos, ohne Prescaler, mit einer Taktzeit von 62,5nsec.
Heißt, die 8,5 mm Wellenlänge können wir mit 25µsec/62,5nsec = 400 Teile, bzw. 21,25µm = 0,02125mm auflösen.
(3)
Dem Laufzeit-Meßprinzip des HC-SR04 folgend, mißt er die doppelte Strecke, also das hinlaufende Signal plus dem Reflektiertem. Das verdoppelt die Laufzeit und damit auch die Auflösung auf 0,010625.

Wenn Du also während der Messung alle Luftbewegung minimierst, die Temperatur mißt und den systematischen Fehler vom Vielfachen von 8,5mm/2 (Wegen hin und zurück-Welle) programmatisch neutralisieren kannst, sind die Überlegungen doch mehr als ermutigend.

Ich habe geschildertes schon praktiziert, wobei die Objektabstandsmessungen eher durch ein unmerklich kippelndes Objekt beeinträchtigt wurden, als durch andere Randbedingungen.

Wenn Du Anstrengungen in diese Richung unternehmen möchtest, lohnt sich ein Studium zu Timern und Interrupts des Arduino. Goggle mal danach, in Verbindung mit Heise. Dr. Stahl heißt er, glaube ich, der dazu gut verständlich schrieb. Dann brauchts Detailkenntnisse über Arduino Portoperationen und Bitoperationen.

Markus hier will Frequenzen und Phasenverschiebungen messen. Er muß sich dazu mit den selben Arduino-Detailkenntnissen auseinandersetzen.

Ich helfe gerne, wenn Du Dich ernsthaft daran gibst.

MfG,
und rechne immer mit dem fliesskomma :wink: