PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Distanzsensor GP2D120 an ATmega8: 4...8 cm optimieren



Dolfo
03.01.2009, 16:07
Hallo liebe Elektronikfreunde,

es soll eine Distanz (ca. 4 cm) berührungslos erfasst werden. Erste Lösung:
- Sensor: GP2D120 (Sharp)
o bei 4 cm liegen etwa 3,0 VDC an
o bei 8 cm liegen etwa 1,6 VDC an
- Controller: ATmega8
- Anschluß: ADC4 (PortC)
- Ergebnisausgabe: einfach an PortB über 8 LED's
- Referenzspannung: interne VRef (2,56 V).

Die Schaltung funktioniert soweit, der GPD ist direkt an den ADC4 angeschlossen. Zwei Punkte, die jedoch noch nicht zufriedenstellend sind:

1. der Messwert flackert sehr stark, selbst wenn nur linksbündig (ADCH) gelesen wird
2. die Genauigkeit erscheint nicht hoch genug. Es müssen 1/10 mm erfasst werden

Meine Idee ist, die Spannungsdifferenz zu erhöhen. D.h. die 3V-1,6V = 1,4 V auf 5 V erhöhen. Nur, wie macht man das am einfachsten, bzw. gibt es leichtere Ansätze? Denke da z.B. an die Referenzspannung. Bin mir aber noch nicht sicher, welchen Einfluß die Referenzspannung hat.

Hat jm. einen Rat?

pongi
03.01.2009, 16:40
Das flackern der Messwerte von den Sharp-Sensoren ist hier im Forum bekannt, und hängt mit der impulsartiger hoher Stromaufnahme der Sensoren bei der Messung zusammen. Wenn du die Forumsuche bemühst, findest du sicher den Beitrag mit der Lösung dazu.

Die Referenzspannung hat schon einen Einfluss auf die Messung. Und zwar sollte für eine genaue Messung der zu messende Intervall den messbaren Intervall so gut wie möglich annähern. Außerdem gilt die Faustregel, dass man die genauesten Messwerte im "oberen Messbereich" (ca. ab 2/3 des Messbereichs) erhält, da hier der Einfluss der Unsicherheit im LSB schon weniger ist.

Für dein Problem erhälts Du also die genaueste Messung, wenn Du die Spannungsdifferenz in den oben genannten Bereich mit Hilfe von Operationsverstärkern skalierst.

oberallgeier
03.01.2009, 17:30
Hi Dolfo,


... Referenzspannung hat schon einen Einfluss auf die Messung ...Das dürfte ja klar sein. Ich versorge Sensoren am ADC bzw. eben den GP2xx immer mit der stabilsten Spannung die ich habe. Dazu natürlich den ADC mit einer stabilen Vergleichsspannung - so steht z.B. in meinem Datenblatt "...The AVCC pin on the device should be connected to the digital VCC supply voltage via
an LC network..." - hast Du das eingebaut? Zum Entstören des GP2Dxx selbst könntest Du z.B. hier etwas finden. (https://www.roboternetz.de/phpBB2/viewtopic.php?t=37624)


... Es müssen 1/10 mm erfasst werden ...Die erste Frage wäre natürlich sofort: über welchen Bereich soll das gehen? Deine Wünsche halte ich eigentlich nicht für möglich. Ich hatte mit dem GP2D120 10bit-Messungen (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=384168#384168) am ADC durchgeführt um damit meine Messungen zu kalibrieren. Dort kannst Du sehen, dass der GP2.. in dem Bereich in dem Du diese Genauigkeit forderst, etwa 10 Digit pro mm hat - aber der Kurvenverlauf ist nicht so, dass ich dieser Möglichkeit vertrauen würde. Hast Du schon solche Eichkurven für Deine Ausrüstung erstellt? Dann weißt Du ja, wie wacklig die Ergebnisse in diesem Bereich sind.

Nach Deinen Spezifikationen geht es sowieso nicht:

...
o bei 4 cm liegen etwa 3,0 VDC an
o bei 8 cm liegen etwa 1,6 VDC an
... ... das heißt, dass Du über 4 cm 1,4 Volt verfügbar hast. Für ein zehntel mm sind das 0,0035 V - also 3,5 mV. Nehmen wir an, der ADC misst linear, dann löst er 5 V auf 1000 Schritte auf - macht also 5 mV für ein ADC-Digit. Das ist schon mal gröber als Deine Wunschvorstellung. Dazu nennt Dir der erste Link, dass ein Rippel von rund 30 mV am Signalausgang ankommen kann - also fast 10 mal mehr als Deine Wunschvorstellung. Und was sagt Dir das Datenblatt zu dieser Auflösung bzw. zur Genauigkeit des ADC?

Dolfo
04.01.2009, 17:48
Danke für Tipps und Verweise. Habe sie durchgeackert und es jetzt vorerst mit den Kapazitäten versucht, siehe Oszi-Bild. Das Bild könnt Ihr wahrscheinlich besser beurteilen als ich. Ich bin jedenfalls nicht wirklich zufrieden, denn die ADCH- Bits 0-2 flackern immer noch recht fröhlich.

Werde es noch mit einer angepassten VRef probieren und die Meßstrecke auf 2 cm reduzieren. Vielleicht gibt es ja doch noch ein brauchbares Ergebnis.

Vielen Dank Euch beiden - und um den einen oder anderen Hinweis (z.B. anderer Sensor) wäre ich sehr froh...

Grüße,
Dolfo