SRF10 Ultraschall Entfernungssensor bestellt

Alles zum Thema Sensoren

Moderator: Moderatoren Team

cgiesen
Friends of Sonny
Friends of Sonny
Beiträge: 155
Registriert: 13 Feb 2006, 09:21
Wohnort: Bochum
Kontaktdaten:

Beitrag von cgiesen » 18 Apr 2006, 22:29

Hi,

3D kannst Du vergessen.
Der Schall wird sich überlagern.

Ich habe im Nahbereich super Ergebnisse.
Stabil und genau.
Für den Fernbereich muss ich noch ein wenig mit den Settings spielen.

Gruß

Carsten

alex_s
Friends of Marvin
Friends of Marvin
Beiträge: 13
Registriert: 10 Apr 2006, 20:47

Beitrag von alex_s » 18 Apr 2006, 23:29

nahbereich was meinste genau damit so 4cm - 1m ?

schade des mit dem 3d

cgiesen
Friends of Sonny
Friends of Sonny
Beiträge: 155
Registriert: 13 Feb 2006, 09:21
Wohnort: Bochum
Kontaktdaten:

Beitrag von cgiesen » 19 Apr 2006, 07:42

Hi,

ich habe im Moment keinen GAIN vorbelegt.
Da sthet der SRF10 jetzt auf Standard.
Ich habe super Werte zwischen 34cm und 6cm

Da ich den Sensor aber mitten auf den Bot setzen will, relativiert sich der untere Bereich gegen 0.

Ich muss gleich erstmal zum Elektronik Dealer ;)

Ich brauche eine Lochraster und ein paar Gewindebolzen.
Meine Idee, die vom Display weg machen, und statt des jeweils 3 kurze Bolzen einbauen, dann kann ich eine LP dazwischen bauen.
In die kommt dann mein Servo von Conrad und der I2C Bus.
Nach unten werde ich dann die Bolzen auch noch bauen, und auf dieser Ebene passt dann super mein Akku-Pack (eine Ebene) von Conrad.

Dann komme ich auch besser an den Maussensor ;)

Gruß

Carsten

FireFox
Friends of Johnny-5
Friends of Johnny-5
Beiträge: 256
Registriert: 22 Jan 2006, 19:31
Wohnort: bei Hamburg

Beitrag von FireFox » 19 Apr 2006, 14:13

3D kannst Du vergessen.
Der Schall wird sich überlagern.
Wie funktioniert der Sensor denn? Sendet und empfängt der dauerhaft?

Man könnte sonst doch 2 Sensoren abwechselnd toggeln, dass also immer nur einer zur Zeit sendet und empfängt. Und diesen einen fragt man ab, da der andere nur Schrott liefern würde.
Man weiß es nicht - man wird es erforschen! Aber ist es denn auch wissenswert? - Man weiß es nicht!

cgiesen
Friends of Sonny
Friends of Sonny
Beiträge: 155
Registriert: 13 Feb 2006, 09:21
Wohnort: Bochum
Kontaktdaten:

Beitrag von cgiesen » 19 Apr 2006, 14:28

Hi,

das könnte ein Weg sein.
Man muss die Messung auslösen.
Dazu schreibt man z.B. 0x51 (für cm) ins Regiester 0.
Dann muss man 65ms warten und kann aus Register 2 und 3 dann die Ergebnisse abholen.

Aber für 3D? Ich habe keine Vorstellung wie das gehen könnte!?!?

Gruß

Carsten

PS: Man kann (wenn man das Geld dafür hat) 16 SRF10 betreiben.

alex_s
Friends of Marvin
Friends of Marvin
Beiträge: 13
Registriert: 10 Apr 2006, 20:47

Beitrag von alex_s » 19 Apr 2006, 16:53

vermutlich geht das mit dem srf10 nicht

wir haben damals an de runi einen anderen benuzt.
der dauerhaft empfängt und sendet

und als result liefert der einen graphen an dessen kurve man objekt oberflächen erkennen konnte das ganze mit 2 sensoren

einen vertical und einen horizontal die 60 ° schwenken

wenn man nun alle graphen übereinander legt hat man eine art bild

vieleicht haben das manche schonmal in ner doku gesehen wo die den meeresboden vermessen

so als würde man nen maßband nehmen und von sich 10000 punkte messen und die entpunkte in ein koordinatensystem eintragen , natürlich unter der berücksichtigung des winkels damits korrekt bleibt ;D

Marinero
Friends of Marvin
Friends of Marvin
Beiträge: 17
Registriert: 29 Mai 2006, 17:28
Wohnort: Darmstadt

SRF10, I2C und Pull-up Widerstände

Beitrag von Marinero » 05 Jun 2006, 18:04

Hallo zusammen,

ich plane, mir ebenfalls einen SRF10 und evtl. ein SP03 zuzulegen. Nun lese ich in den Anleitungen folgendes: "Bei Verwendung des I2C-Bus ist darauf zu achten das ein Board am Bus über zwei Pullup-Widerstände (ca. 4,7k bis 10k) die Leitungen SCA und SDA auf High Pegel ziehen. SRF10 besitzt keine solchen Pullup-Widerstände...". Beim SP03 findet sich ähnliches. Dazu habe ich zwei Fragen:

1. Muss ich diese Widerstände irgendwo vorsehen und wenn ja, wo?
2. Wenn ich beide Module über den I2C-Bus betreiben will, wie müsste dann die Schaltung aussehen?

Viele Grüße, Marinero

marvin
Wiki Master
Wiki Master
Beiträge: 440
Registriert: 18 Jan 2006, 16:21
Wohnort: Berlin
Kontaktdaten:

Beitrag von marvin » 06 Jun 2006, 10:51

Hallo marinero,

auf dem c't-Bot befinden sich bereits die beiden Pull-Up Widerstände (R3 und R4 der LCD Porterweiterung).
Die Anbindung des SP03 erfolgt parallel an den gleichen Pins wie beim SRF-10 an J8 (I2C) und J3 (Stromversorgung).
siehe Bild

Gruß marvin

EDIT:
Ein weiteres Bild aus meiner Galerie zeigt die Verkabelung des SRF10 Sensors von oben.
Bild

Marinero
Friends of Marvin
Friends of Marvin
Beiträge: 17
Registriert: 29 Mai 2006, 17:28
Wohnort: Darmstadt

Beitrag von Marinero » 06 Jun 2006, 20:58

Hi Marvin,

vielen Dank für die prompte Antwort. Da werde ich die beiden Module doch gleich mal bestellen :D

Viele Grüße, Marinero

Marinero
Friends of Marvin
Friends of Marvin
Beiträge: 17
Registriert: 29 Mai 2006, 17:28
Wohnort: Darmstadt

Beitrag von Marinero » 17 Jun 2006, 20:02

Hallo zusammen,

so, der SRF10 ist montiert. Ich habe nun die neuesten Quellen aus dem CVS gezogen und SRF10_AVAILABLE gesetzt. Auf Screen 2 des Displays kann man dann ja unter US einen Wert ablesen. Der war zunächst immer 0 bei mir. Dann habe ich mal in srf10.c in [syntax="c"]srf10_get_measure()[/syntax] die Verzögerung von 10 auf 65 hochgesetzt: [syntax="c"]delay(65);[/syntax], d.h. das erste Warten nach der Messung bevor die Werte ausgelesen werden. Das hatte den Effekt, dass der Wert ab und zu von 0 auf einen Messwert springt. Ist das bei Euch auch so? Die Messwerte sind bis ca. 30 cm ok, dann eher unwahrscheinlich. Mein höchster Wert war bisher 60 cm, der Sensor soll ja bis 6 m messen können. Ist das bei Euch auch so? Kann man nicht auch größere Entfernungen messen?

Viele Grüße,
Marinero

cgiesen
Friends of Sonny
Friends of Sonny
Beiträge: 155
Registriert: 13 Feb 2006, 09:21
Wohnort: Bochum
Kontaktdaten:

Beitrag von cgiesen » 17 Jun 2006, 20:19

Marinero hat geschrieben: Die Messwerte sind bis ca. 30 cm ok, dann eher unwahrscheinlich. Mein höchster Wert war bisher 60 cm, der Sensor soll ja bis 6 m messen können. Ist das bei Euch auch so? Kann man nicht auch größere Entfernungen messen?
Hi,

du mußt ein wenig mit den parametern spielen.
Den optimalen habe ich auch noch nicht.
In der Anleitung sthet wo du drehen kannst.
Allerdings reicht mir der Wert, da ab 30cm, die vorhanden Sensoren ja gut arbeiten!

Gruß

Carsten

Marinero
Friends of Marvin
Friends of Marvin
Beiträge: 17
Registriert: 29 Mai 2006, 17:28
Wohnort: Darmstadt

Beitrag von Marinero » 18 Jun 2006, 17:01

Hallo Carsten,

ich habe mal ein wenig herumexperimentiert.

Ergebnisse:

1. Ich habe nun dauerhaft Werte im Display, d.h. sie springen nicht mehr auf 0 zurück. Um das zu erreichen, habe ich in srf10_read_register ein while eingefügt, das das Programm warten läßt, bis die I2C Kommunikation erfolgreich war. Nicht schön, aber hilft erst einmal.

2. Ich habe in der bot-local.c zwei neue Konstanten für gain und range eingefügt. Der Sensor wird dann mit Hilfe dieser in bot_sens_init() in sensor-low.c initialisiert.

Die Änderungen am Code poste ich mal (patch).

Bilder zu meinen Versuchen habe ich in meiner Galerie abgelegt hier
und hier.

Bzgl. der Messung längerer Entfernungen muss man den Sensor wohl mit Tüllen versehen, da ansonsten Schall vom Boden reflektiert wird, der die Messung beeinflusst. Steht zumindest in dem Beitrag auf den die Spec. von Devantech hinweist.

Viele Grüße,
Marinero
Dateianhänge
ct-Bot-patch-srf10.zip
(1.51 KiB) 352-mal heruntergeladen

Antworten