PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IR-Sensor Sharp GP2D120



Peach303
26.12.2007, 18:39
Hallo,

ich interessiere mich für die IR-Sensoren von Sharp. Sollen ja angeblich für die Robotik sehr beliebt sein und hören sich für meine Anwendung auch sehr gut an!

http://www.shop.robotikhardware.de/shop/catalog/images/imagecache/gp2d12.jpg

Kurz was ich vor hab: Roboter soll im Raum rumfahren ohne irgendwo anzustoßen... Also habe ich vor 8 von den Teilen um den Roboter anzubringen. 2 auf jeder Seite.

Jetzt stellt sich mir die Frage, wie groß der Abstand zwischen den Senoren sein soll? In dem Datasheet steht dazu leider nix. Erkennt dieser Sensor Objekte in einem Kegelförmigen Bereich, oder oder nur welche, die sich direkt Senkrecht zum Empfänger befinden? (Schwierig in Worte zu fassen. Also punktförmig...)

Wie sieht es mit Objekten mit schräger Fläche aus. Wenn der Roboter z.B. schräg auf die Wand zufährt. Wird das IR-Licht dann abgelengt und nicht erkannt??

Bin dankbar für hilfe!

Ich kann auch ein Bild meines Roboters hochladen mit den geplanten Positionen.

Gruß,
Daniel

Hornet
26.12.2007, 19:18
hallo Peach303,
Also zu deiner ersten Frage mit dem Wirkungsbereich des Sensores:
Der wirkt meines Wissens nur punktförmig.

zu deiner 2. Frage ob das Licht abgelenkt wird:
kann ich dir leider keine antwort geben, da ich es bisher nicht ausprobiert habe.


Gruß
Simon

Jon
26.12.2007, 19:55
Die Messung dieser IR-Sensoren ist sehr genau auf einen kleinen Punkt beschränkt. Bei schrägen Gegenständen kann es ab einem bestimmten winkel zu Problemen kommen. Dies ist ist eine Folge der Messmethode.

Zu einem minimal Abstand zw. den beiden Sensoren habe ich auch keine Infos. Sollte nicht zu dicht sein, da sich die Sensoren sonst gegenseitig stören, größer 12cm sollten aber machbar sein.

Warum nimmst du keinen Ultraschallsensor? Da bräuchtest du einen pro Seite, also insgesamt vier stück, und das kostet nicht mehr (wenn nicht sogar weniger) als acht IR-Sensoren.

Viele Grüße,
jon

jeffrey
26.12.2007, 20:01
hi,
wenn die oberfläche kein spiegel ist, dann werden auch schräge flächen erkannt.
mfg jeffrey

Peach303
26.12.2007, 20:41
Danke für die Antworten.

@jon: Die Auswertung dieser IR-Module wäre halt recht simpel... Bei Ultraschall muß mit einem Moduliertem Signal gearbeitet werden oder? Ich gebe zu ich hab noch so gut wie keine Ahnung von IR- oder Ultraschall-Sensorik... 8-[

Ich hab mir von Conrad ein Ultraschall-Modul gekauft. Eine kleine Platine, bei der eine LED angeht, sobald eine gewisse Distanz unterschritten wird. Die Distanz wird mit zwei Potis eingestellt. Nach ein wenig rumspielerei finde ich, das die Messung recht ungenau ist! Und sobald ich die zu erkennende Fläche etwas schräg halte, wird sie überhaupt nichtmehr erkannt! Also habe ich momentan einen sehr schlechten Eindruck von Ultraschall...

Vielleicht hab ich da auch nur die falsche Messmethode vor mir?

Ich schaue mir nochmal die Ultraschallsensoren an die auf der Seite hier vorgestellt werden.

Gruß

Jon
26.12.2007, 20:50
Ich würde dir, wenn es einfach sein soll, einen SRF05 empfehlen. der kostet nur halb so wenig wie der SRF10, kann aber dafür nicht so weit messen. Jedoch reicht die maximale Entfernung des SRF05 für Normalanwender vollkommen aus. Bei mir im Haus ist da immer irgendwo ein Gegenstand im weg, weswegen ich noch nie die maximale Entfernung als Messergebnis hatte.

Weitere Infos zu den beiden Ultraschallsensoren und anderen, sehr ähnlichen, in der wiki unter Sensorik (oder war's Sensoren? Eins von beiden).

Viele Grüße,
jon

Peach303
27.12.2007, 00:31
Also wenn ich das richtig verstanden hab, dann kann ich mit den IR-Sensoren ziehmlich genau den Abstand messen, aber nur punktförmig. Und mit den Ultraschallsensoren kann ich einen Kegelförmigeren Bereich erfassen, aber sobald die Wand schräg ist werden keine Wellen mehr erkannt, weil sie zur Seite abhauen... Eine Mischung aus beidem wäre gut :) Ein weiter Erfassungsbereich und so, das schräge Flächen erkannt werden...

Im Wiki hab ich auch die Möglichkeit entdeckt:
https://roboternetz.de/tutorialbilder/sensorseite.jpg

Funktioniert diese Möglichkeit auch punktförmig?

Gruß

Vielleicht ist das Modul von Conrad auch einfach nur schlecht...

Tuxy
27.12.2007, 01:01
Der Ultraschall-abstandswarner von conrad ist nur als Bumper
und nicht zur Entfernungsmessung geeignet.

Bei meinem bot steht auf Seite 2 irgendwo eine Anleitung zum umbauen,
mit einem zusätzlichem Transistor kannst du das Modul
einfach an einen I/0 Port hängen und abfragen.
Dabei erhöt sich im gegensatz zu der Anzeige durch die Led
die Genauigkeit und Rechweite nochmal erheblich.

Jedoch ist die Grösse und verkabelung störend.

Was den Efassungsbereich von Ultraschall und IR-Sensoren betrifft,
finde ich macht es keinen grossen Unterschied ob er 1mm² oder 1cm² abdeckt.
Ein Stuhlbein würde z.b. fast genau so (nicht) erkannt werden.
Mag vielleicht auch sein dass es nur an dem Winkel meiner Sensoren liegt.

Peach303
27.12.2007, 02:08
@tuxy: hört sich interessant an! Wie kann ich an diese Anleitung kommen?

Mir würde das Teil als Bumper völlig reichen! Ich will nur, das mein Roboter möglichst nirgends dagegenfährt... Nur die LED leuchtet mal, mal nicht, wenn das Objekt(Wand) ganz leicht schräg ist, leuchtet sie teils garnicht mehr, egal bei welcher Distanz... Also irgendwie ist das ganze einen unzuverlässigen eindruck...

Im Anhang ist jetzt ein Bild von meinem Roboter, dann kann man sich vielleicht verstehen :) (Ist aber noch lange nicht fertig :D)

Die Länge des Roboters beträgt ca. 260mm

Jon
27.12.2007, 10:29
Hi!
Die Zeichnungen sehen echt klasse aus. Mit was für einem Programm hast du die gemacht?

Die Variante mit dem Selbstbau hat den nachteil, dass die Entfernung, in der gemessen werden kann nicht wirklich groß ist und dann auch nur gemeldet werden kann, ob ein Gegenstand da ist oder nicht. Mal abgesehen davon, dass die Messung auch wieder nur auf einen kleinen Punkt beschränkt ist.

Bei mir erkennt der Ultraschall eine Stuhlbein in einer Entfernung von 2m ohne Probleme. Da hätte ein IR Sensor ein Problem mit.

Wie lang ist denn dein Roboter? Nach der Zeichnung würde ich sagen nicht mehr als 20cm, oder? Wenn das so ist, würde ich dir empfehlen erstmal hinten und vorne je einen SRF05 oder SRF02 zu nehmen. Die beiden Sensoren unterscheiden sich nur in der Art der Auswertung, in der Größe und in der maximalen Messweite.
Danach kannst du überlegen, ob du wirklich noch weitere Sensoren brauchst. IR würde ich dir aber bei deinem Bot nicht empfehlen.
Oder ist da jemand einer völlig anderen Meinung?

Viele Grüße,
jon

Peach303
28.12.2007, 22:04
Hi Jon.

Vielen Dank :D Die Zeichnungen hab ich mit dem One Space Designer von CoCreate erstellt. Ist ein ziehmlich gutes CAD-Programm und eine gute Alternative zu Solid Works, ProE und Co...

Gut geschätzt! :D der Roboter hat 260mm Länge.

Danke für deinen Ratschläge. Mittlerweile spiele ich immer mehr mit der Idee einen "Turm" auf den Roboter zu bauen, mit zwei Servos, mit denen ich den Sharp IR-Sensor um zwei Achsen drehen kann. So könnte mein Roboter den Bereich, wo er hinfahren will quasi "abscannen". Wäre sogar günstig! Nur Programmierarbeit... Und die räumlichen Informationen die er mit der Methode bekommen würde wären eigentlich schon enorm!?

Was haltest du/ihr davon? Müsste umsetzbar sein oder?

Gruß

Jon
29.12.2007, 07:07
Das sollte gut umsetzbar sein. Auch der Programmieraufwand ist nicht all zu groß.

Oben habe ich mich verschrieben. Die Länge hattest du ja schon genannt, ich wollte die Breite wissen...

jon

Manf
29.12.2007, 07:18
Sieh Dir mal diese Links dazu an:
https://www.roboternetz.de/phpBB2/viewtopic.php?p=15756#15756
https://www.roboternetz.de/phpBB2/viewtopic.php?p=103103#103103

Die IR Strahlen und der Ultraschall werden jeweils von den Hindernissen reflektiert.
Es kommt dabei zu einer diffusen Reflexion oder zu einer gerichteten Reflexion, je nachdem wie groß die Rauheit der Oberfläche im Vergleich zur Wellenläng ist.
Die Wellenlänge von Ultraschall ist bei den betrachteten Wandlern im Bereich um 8000µm, die Wellenlänge von IR Licht bei den betrachteten Sensoren um 0,8µm.

Peach303
29.12.2007, 20:26
@jon: Breite ist 215mm

@manf: Danke für die Links.

https://www.roboternetz.de/phpBB2/files/scan_210.jpg

An Kanten wird man sich also wohl nicht immer auf den Sensor verlassen können...

Ein anderes Problem ist das das scannen wohl ewig dauern wird. Ich schätze so 30 Sekunden. In der Zeit bin ich schon quer durch den Raum...

Manf
29.12.2007, 20:57
An Kanten wird man sich also wohl nicht immer auf den Sensor verlassen können...
Man kann bei horizontalem Scan den Sensor senkrecht stellen, dann entfällt dieser systematische Fehler an den senkrechten Kanten.
Manfred

Peach303
30.12.2007, 17:24
Bevor ich die Idee mit dem scannen umsetzte probiere ich nochmal ganz einfach Ultraschallsensoren anzubringen... Die Umsetzung des scannens wäre sogar recht einfach und würde gut aussehen, aber es dauert einfach zu lange. Der Roboter müsste alle 50cm stehen bleiben. Und das andauernde rumgerödle der Servos nervt.

Kennt jemand von euch einen Link oder ein Buch oder sonstige Infos zum Thema "Ultraschallsensor an C-Control M-Unit 2.0 anschließen"??? Ich kann im Netz nix finden. Verwenden würde ich gerne z.B. SRF05

Gruß, Daniel

Peach303
30.12.2007, 17:52
Jetzt hab ich was gefunden!!!

http://www.robotmaker.de/srf04.html

Ist eine Anleitung mit Schaltung und Programmbeispiel! Zwar für die SRF04 aber wird wohl kein großer unterschied sein zur SRF05.

So wie es aussieht ist die C-Control zu langsam (gilt vielleicht nicht für die M-Unit?!!?) um die länge des Echo-Impulses (entspricht Entfernung) zu messen. Die dort beschriebene Schaltung wandelt die Länge des Impulses in eine Analoge Spannung um die am A/D-Port gemessen werden kann.

wawa
30.12.2007, 20:45
Hi,

bitte schau mal nach wie der Eingang FREQ am Prozessor genau heisst. Ich weiss naemlich, das Ding hat einen IC Input, was soviel wie input capture eingang bedeutet. damit kann man Pulse oder Frequenzen messen. in der Zeitbasis des Controllers. der Ultraschallsensor gibt einen positiven Impuls aus, welcher doppelt so lang ist wie die Entfernung. du musst dann aber einen NPN TRS nachschalten um den Eingang auf Masse zu ziehen. sorry - konnte im Moment meine C Control Beschreibung nicht auftreiben, um dir genaues zu sagen. in meiner steckt aber ein 68HC05B6 und der hat so einen Eingang.

Peach303
30.12.2007, 21:11
Hi wawa.

Ich bin leider nur halb mitgekommen... Was meinst du mit wie der Eingang genau heisst? Ich hab die M-Unit 2.0 :) Ist bestimmt nicht das was du wissen wolltest :D

Soweit ich das verstanden habe kann man mit den Eingängen Freq1 und Freq2 nur Frequenzen messen (also alle Impulse innerhalb einer Sekunde). Aber nicht die länge eines bestimmten Impulses oder?

wawa
31.12.2007, 14:00
hallo peach303,

halb so schlimm. die controller haben alle mindestens einen Eingang mit dem man Frequenzen oder/und Pulslaengen messen kann. die heissen input capture. was ich nicht weiss, welchen controller hat die M-Unit 2.0? und ist so ein Eingang verfuegbar und kann von der SW abgefragt werden?
werde mal das Datenblatt suchen. schau du bitte auch mal nach.
mit Assembler ist das naemlich kein Problem.
bis gleich, muss noch Getraenke einkaufen

Peach303
31.12.2007, 15:25
bis gleich, muss noch Getraenke einkaufen :) Jo, das ist wichtig. War auch grad...

Also ich versuche mal alle infos zusammenzukramen:

Hier ist die Pinbelegung der M-Unit 2.0:

http://www.c-control-support.net/bilder/m20an.gif
http://www.c-control-support.net/bilder/m20k.jpg

Die Ports die hier komischerweise nicht gekennzeichnet sind sind BEEP, +12V, ECL

Ich hab leider keinen Plan was das Teil für einen Controller hat. Wie kann ich das rauskriegen? Aus den Technischen Spezifikationen konnte ich nur folgendes entnehmen:


Mikrocontroller: 32 MHz Taktfrequenz (8 MHz Bustakt)
Geschwindigkeit: ca. 50us Pro Befehl ( mehr als 20000 I/s)

QUELLE: http://www.c-control-support.net/daten/m20.html#


und ist so ein Eingang verfuegbar und kann von der SW abgefragt werden?

Ich vermute langsam das es so einen Eingang nicht gibt. Ich konnte bisher nur Informationen (Internet und Datenblatt) darüber finden, dass es einen Ereigniszähler- und Frequenzmodus gibt (Port FREQ1 und FREQ2). Also zählen von Highpegel pro Sekunde und messen von Frequenz. Aber ich bin mir nicht sicher ob es bei der M-Unit 2.0 auch so ist. Die Leute haben meist eine C-Control 1.0...

Gruß,
Daniel

hacker
31.12.2007, 17:10
Nochmal zu US vs IR Sensoren. Fürs Karthografieren innerhalb von Gebäuden ist US meiner Erfahrung nach ziemlich schlecht geeignet. Der Öffnunskegel ist einfach zu groß.

@Manf:

Mit was erklärst du den Wegfall des Messfehlers an den Kanten wenn die IR Sensoren senkrecht montiert sind?

Gruß

Hacker