PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sensor auswerten



ich bins
05.01.2010, 21:00
Hallo

ich habe einen Sensor von Sharp. Das sind die Kenndaten.

VO (TYP.) = 0.4 V
(at L = 30 cm),
ΔVO (TYP.) = 2.25 V
(at L = 30 cm → 4 cm)

Mein Problem ist jetzt dass ich am Display was angezeigt bekomme aber ich muss noch die richtige Distanz programmieren.

Die Sensordaten werden mit einem seriellen 8bit ADC zum uC geschickt.


Die Referenzspannung beim ADC ist bei Ref+ ca. 2,62 und bei Ref- ca. 0,43.


In "char sensorwert" wird der 8bit ADC-Wert gespeichert.

Meine erste Frage, wie kann ich den 8bit-Wert in einen Dezimalwert umformen. Gibt es dafür eine Funktion oder muss ich das programmieren.

Die Kennlinie vom Sensor, kann ich davon ausgehen dass es eine gerade ist?

Die Formel ist ((Ref+)- Ref-) / 256 * 8bit-Dezimalwert. Das ist die Spannung. Diesen Wert muss man aber noch umformen dass es den richtigen Abstand anzeigt.

Gibt es dafür eine Formel.

Wie geht ihr bei so einer Sensorauswertung vor.

MfG

Valentin
05.01.2010, 22:26
Steht doch oben!
Du hast die Umformungen schon fast selber gemacht.
Sonst, guck ins Datenblatt, ob die Kurve nichtlinear ist!
Valentin

ich bins
06.01.2010, 12:17
Du hast die Umformungen schon fast selber gemacht.

Ja aber auch nur fast => dass mir noch was fehlt.

Die Kurve ist eigentlich nichtlinear, das ist das Problem.

021aet04
06.01.2010, 13:56
Normalerweiße steht im DB des Sensors eine Formel, wie man den Wert berechnet.

MfG Hannes

oberallgeier
06.01.2010, 14:04
Hi,

diesmal bins aber ich.
... ich habe einen Sensor von Sharp ...Vermutlich hat der Sensor eine Typenbezeichnung, würdest Du die mal rüberreichen? Bei ein paar tausend verschiedenen Sharpsensoren wirds sonst schwierig Dir zu raten - das wird dann wirklich ein pures Ratespiel . . . . Und ein paar Zeilen Code aus Deinem Oevre könnte auch die Hilfe zu Deiner Recherei erleichtern.

ich bins
06.01.2010, 15:35
Hi,

das ist der Sensor GP2D120XJ00F.

bei 0,4 => 0000 0000
bei 2,65 => 1111 1111

Die Formel ist jetzt

Spannung= (2,25/256)*Vo + 0,4

Ich muss nur noch anhand der Spannung den richtigen Abstand zuweisen.

021aet04
06.01.2010, 16:31
Ich habe hier etwas gefunden. DIm Link sind mehrere Möglichkeiten beschrieben wie soetwas umgewandelt werden kann.
http://www.cczwei-forum.de/cc2/thread.php?threadid=1750&sid=1ffc86641d6c24ff4968f8aa56d7188f

MfG Hannes

oberallgeier
06.01.2010, 16:45
... GP2D120 ...Ich habe mir für meine Messungen mit dem GP2D120 eine Wertetabelle aus realen Messungen im Zielsystem erstellt.

................http://oberallgeier.ob.funpic.de/GP2D120-ADC.jpg

Daraus wurde durch eine Regression (die automatische von Excel führt immer zu eher exotischen Faktoren - da muss man ein bisschen "von Hand" optimieren) eine passende Gleichung erstellt. Im obigen Diagramm ist die Rückrechnung mit der vereinfachten Gleichung (INTEGER ! !) mit den Messwerten zusammen dargestellt. Damit kann die Güte der Modellrechnung beurteilt werden. In diesem Link (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=384168&sid=44bd63a8aca7463ebdd5df047ba10419#384168) steht auch der dazupassende Code, um die Ergebnisse in mm darzustellen.

Aufpassen: der GP2D120 ist eine Primadonna. Braucht für saubere, reproduzierbare Messwerte eine genaue, stabile Versorgungsspannung und sollte auch entstört werden. Hinweise dazu gibts hier. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=37624&highlight=)

ich bins
06.01.2010, 16:47
Danke

aber der Link funktioniert nicht.

ich bins
06.01.2010, 18:46
@oberallgeier

Wie bist du auf die Formel gekommen. Diese Regressionsanalyse ist mir noch bisschen ein Rätsel.