PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Messen einer Entfernung mit einem Arduino OHNE Kit



Unregistriert
24.01.2015, 09:12
Hallo,

ich versuche ein MIcrocontrollerprojekt zu starten: Dafür verwende ich einen Arduino Uno. Mein Ziel ist es diesen Ardunio so zu programmieren, dass ich mit Hilfe eines Lichtsignalsenders (Infrarot) und eines Empfängers einen Abstand zwischen dem Arduino und einem Gegenstand messen kann. (ALSO OHNE DEN BEREITS FERTIGEN ENTFERNUNGSMESSER WIE ES IHN BESIPIELSWEISE SCHON VON ARDUINO GIBT)

Hierfür hatte ich mir überlegt die Zeit zwischen dem Senden des Lichtimpulses und des empfangen dieses Impulses von dem Arduino messen zu lassen und in eine Entfernung umzurechnen. Allerdings ist die Zeit viel zu kurz für den Arduino (da Lichtgeschwindigkeit). Meine Frage wäre jetzt also, wie ich diese zeit künstlich erhöhe (also OHNE eine Veränderung der Entfernung), damit mein Arduino sie messen kann.

Denn man kann die Zeit ja leider nicht im Arduino einfach multiplizieren, da der Ardunio im Moment die Zeit 'null' empfängt und null x irgendwas ist ja immer noch null. Falls ihr eine andere Idee habt, wie ich die Entfernung ohne externes Kit lösen kann, könnt ihr sie mir gerne mitteilen.

oberallgeier
24.01.2015, 09:33
... Abstand zwischen dem Arduino und einem Gegenstand messen ... OHNE DEN BEREITS FERTIGEN ENTFERNUNGSMESSER ...Kennst Du diesen Lösungsansatz (klick mal) ? (https://www.roboternetz.de/community/threads/33984-Abstandsmessung-%C3%A4hnlich-wie-IR-Schnittstelle-des-asuro?highlight=hindernis) Der beruht auf der Auswertung des reflektierten Lichts einer IR-LED mit einem IR-Empfänger-IC, ähnlich wie es beim asuro für die drahtlose Programmierung verwendet wird. Das geht auf diesen Umbau von waste (https://www.roboternetz.de/community/threads/9973-Asuro-Umbau-der-IR-Schnittstelle-zur-Hinderniserkennung) zurück.

Besserwessi
24.01.2015, 09:44
Die Lichtgeschwindigkeit kann man nur in Grenze Reduzieren, etwa indem man unter Wasser misst. Die Zeiten bleiben aber so kurz, dass sie nur sehr schwer zu messen sind, und man einiges an Extra Aufwand und extra schnelle Empfänger und Sender braucht. Der Arduino wäre da nur ein kleiner Teil der Schaltung.

Wenn man beim Licht bleiben will, könnte man es über die Intensität ausnützen. Wenn man bei der Laufzeitmessung bleiben will, müsste man auf langsamere Wellen, wie Schall / Ultraschall ausweichen: da sind die Zeiten in dem Bereich die der Arduino gut messen kann.

malthy
24.01.2015, 13:28
Hi,


Wenn man beim Licht bleiben will, könnte man es über die Intensität ausnützen.

Das funktioniert meiner Erfahrung nach aber nur über eine relativ kleine Strecke (Größenordnung wenige cm) und das Ergebnis hängt stark von der Reflektanz der Oberfläche und dem Umgebungslicht ab. Wegen letzterem kann man differentiell messen, d.h. mit und ohne IR und dann die Differenz davon weiterverarbeiten. Ich habe auf die Art vor ein paar Jahren mal einen sehr simplen Balancierer zusammengehauen, der mittels zweier CNY70 den Abstand zum Boden misst. Im Prinzip funktioniert das, ist aber wenig robust. (http://youtu.be/3ztiwXcLBAQ)

Gruß
Malte

Valen
24.01.2015, 16:00
Ich vermute mit Kit du meinst ein Sharp Sensor? (Ein einzelnes Teil wurde ich aber nicht als Kit beschreiben, und das Prinzip ist auch nicht auf Zeitmessung bassiert)

Na, wenn es wirklich die Zeit Dauer eines Licht-echo messen sollte dann ist das hier vielleicht etwas:

https://www.sparkfun.com/products/13167 (keine Erfahrung damit, nur gestern von gehört)

Ist aber nicht gerade billig, und genauso 'ein Kit' wie diesen Sharp Distanz Sensor (http://www.arduino-tutorial.de/2014/01/abstandsmessung-mit-dem-sharp-gp2y0a21yk-ir-entfernungssensor/)

Selbstbau ist mit nur ein Arduino (praktisch) nicht möglich. Das Licht geht ungefähr 18,75 Meter pro Atmega328 Instruktion-takt (16 MHz). Da sollte man das Licht einer Laser hunderte mahlen hin und her reflektieren lassen zwischen Spiegeln (sehr genau ausgerichtet) auf Sender und Object, damit die Lichtpuls ein Signifikante Messbare Zeitverzögerung bekommt. Im Labor vielleicht, im Zimmer keine Schanze.

Unregistriert
25.01.2015, 11:58
Vielen Dank,
ich schau mir mal die Links an, und wende mich dann noch mal an Euch