PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ultraschall Entfernungsmesser mit I2C Interface (wie SRF10)



uffi
12.04.2008, 23:38
Hallo Leute,

habe hier ein Modul entwickelt, das funktional ähnlich ist wie SRF02, SRF08 und SRF10 von Devantech Ltd.

+ Es arbeitet als I2C Slave.
+ Es hat eine adaptive Echo-Verstärkung, die während der Meßzeit hochgeschaltet wird.
+ Es wurde an einem Master mit der I2C Library von Peter Fleury erfolgreich betrieben.

Schaut mal rein:

http://freenet-homepage.de/uffmann/Ultrasonic.html

Wer es nachbauen will, findet alles zum Downloaden: eagle Dateien, Assembler-Code.

Gruß, Dirk.

sophos
13.04.2008, 11:39
Hallo.

Gute Arbeit!
Welche Änderungen müssen getroffen werden, um die Messung bis auf 4m möglich zu machen?

MfG Hias

daniel.weber
13.04.2008, 11:55
super... wie hoch sind ca. die Materialkosten?

uffi
13.04.2008, 18:23
Danke für Euer Feedback!

@sophos: man muß nur die Meßzeit in der Meßroutine verlängern (verdoppeln auf 30ms), in dem man den Software Prescaler in der Interrupt Service Routine von 2 auf 4 ändert und 2 Timing Parameter anpaßt. Dann ist eine Unit=2 cm. Im Detail habe ich das nun in einem Update meiner Homepage beschrieben, siehe:
http://freenet-homepage.de/uffmann/Ultrasonic2.html

@daniel.weber: die Murata MA40B8S und MA40B8R liegen bei je 3-4 Euro. Der Rest liegt so bei ca. 4-5 Euro, in Summe also ca. 10-13 Euro.

Gruß, uffi.

sophos
13.04.2008, 18:33
Kann man auch andere Ultraschallsender/empfänger verwenden?
MfG
Hias

daniel.weber
13.04.2008, 21:09
hab mal nach den Sender bzw. Empfänger gesucht aber leider keine Bezugsquelle finden können, nur bei Reichelt einen

Ultraschall-Keramikempfänger
für 40kHz.
Durchmesser: 16mm
Höhe: 12mm

Kostet 3,40€

Woher hast du deine Empfänger bzw. Sender bezogen?
Danke im Voraus.

LG
Daniel

the_Ghost666
13.04.2008, 21:48
Hast du bei deinen Experimenten mal probiert das System mit einem einzigen Ultraschallkopf zu machen? Ich würde gerne wissen wie gut das klappt. Bei Reichelt und co. finde ich nur Sender oder Empfänger. Aber im Sinne der kleinen Bauform wärs interessant.

uffi
14.04.2008, 09:49
Bezugsquelle für die verwendeten Ultraschallkapseln: RS_Components

http://de.rs-online.com/web/search/searchBrowseAction.html?method=searchProducts&searchTerm=MA40

MA40B8S Bestell-Nr. 204-5623 3,90 Euro
MA40B8R Bestell-Nr. 204-5639 3,90 Euro

Ich hatte meine Ultraschallkapseln direkt vom Murata-Vertrieb in Deutschland bekommen (über Connections).

Wenn man nach der Spezifikation geht, müßten die Typen UST-40T und UST-40R bei Reichelt als Ersatztypen sehr gut funktionieren. Der UST-40T hält auch 20V RMS aus (=56V peak-to peak). Schalldruck (120dB) und Empfindlichkeiten (-65 vs. -63 dB) stimmen überein. Die Kapazitäten sind fast identisch, 2400pf vs 2200pF, der Resonanzkreis passt also auch. Sogar der Abstand der Pins paßt. Ich habe diese Typen aber nicht ausprobiert, kann daher nicht dafür garantieren.

Mit einer einzigen US-Kapsel habe ich nicht experimentiert, aber das geht natürlich auch, wie Devantech mit dem SRF02 gezeigt hat. Der MA40B7 und auch der MA40S5 sind Typen, die gleichzeitig als Sender und Empfänger genutzt werden können.
Wenn Du es probieren willst und keine explizit als Kombi-Typ ausgewiesenen Bauteile bekommst, würde ich mal mit einem Sender starten und diesen auch als Empfänger nutzen. Der Sender hält dann in jedem Fall die Spannung aus (das ist das Kritischere).

Gruß, uffi.

daniel.weber
14.04.2008, 10:23
vielen Dank für die Infos, dann werde ich wohl mal einen Nachbau wagen, ich versuche das dann mal mit den Typen UST-40T und UST-40R.

Mal schaun, ob ich den Quellcode von Assembler in Bascom umgeschrieben bekomme :)

LG
Daniel

uffi
14.04.2008, 18:21
Hallo, als Folge der interessanten Fragen habe ich 2 Kapitel meiner Homepage umfassend erweitert, siehe:

http://freenet-homepage.de/uffmann/Ultrasonic1.html
http://freenet-homepage.de/uffmann/Ultrasonic2.html

@Daniel: Warum willst Du denn nicht den Assembler Code übernehmen?

daniel.weber
14.04.2008, 21:40
naja ich denke, dass sich hier viele über einen einfachen Bascom Code freuen würden. Und es wäre mal wieder eine kleine Assemblerübung :)

LG
Daniel

robo.fr
15.04.2008, 08:58
Hallo uffi,

schönes Projekt. Interessant finde ich die Idee, die Verstärkungsregelung digital zu realisieren.

In folgender Arbeit wird die Eingangsstufe mit Transistoren realisiert:
http://www.informatik.uni-kiel.de/~railway/Downloads/hoehrmann1.pdf
Angeblich soll die Stufe eine wesentlich bessere SNR haben. Was meinst Du dazu?

Gruß,
robo

uffi
15.04.2008, 12:24
Hallo robo.fr,

danke für Dein Feedback. Die zitierte Arbeit finde ich sehr interessant. Meine Meinung zu dem dort entwickelten Ultraschall-Detektor/Verstärker:

- sehr guter Schaltungsentwurf, würde ich für den Nachbau empfehlen
- mit Einzeltransistoren kann man immer Schaltungen aufbauen, die bzgl. Stromaufnahme und Rauschen OpAmp-Schaltungen vorzuziehen sind. 1 mA ist konkurrenzlos wenig, mein Verstärker braucht 8 mA. Auch die Verstärkung ist mit 250000 viel höher als meine mit max 1400. Er braucht aber auch die hohe Verstärkung, da der Sender 360° rundum abstrahlt über einen Kegelreflektor. Damit schafft er eine Reichweite von 10m (allerdings nur one-way -> Ortungsystem), während bei meiner Schaltung bei ca. 4m Schluß ist (allerdings 2-way, in Summe also 8m). Ich brauche nicht die hohe Verstärkung, da ich sehr richtungsorientiert messe. Bei meinen Messungen habe ich nie Probleme mit dem Rauschen gesehen, war aber mit der Verstärkung ja auch um 2 Größenordnungen niedriger.
- Leider ist bei dieser Schaltung die Verstärkung nicht durch den Mikrokontroller einstellbar. Wenn ich es richtig verstehe, kann immerhin die Ansprechschwelle über den Mikrokontroller konfiguriert werden (hochohmiger Komparator). Er braucht aber in dieser speziellen Anwendung (Ortungssystem) auch keine Einstellbarkeit der Verstärkung, da Sender und Empfänger an unterschiedlichen Standorten sind. Daher hat er nie das Problem, im Nahbereich vor dem Empfänger Teppichreflektion ignorieren zu müssen.

Gruß, uffi.

uffi
04.05.2008, 20:56
Hallo Daniel,

wie weit bist Du mit dem Nachbau?

Gruß, uffi.

daniel.weber
05.05.2008, 14:20
Hallo Uffi,
naja also die Platine liegt hier fertig vor mir, hab da nur noch ein Problem mit 2 Bauteilen, ich hatte dir da auch schon eine Mail geschrieben, nur leider hattest du noch nicht geantwortet.

Ich beschreibe das einfach nochmal, vielleicht hat ja jemand beim Nachbau das gleiche Problem.

Ich kann mit der Bezeichnung von den Bauteilen L1 und L3 nicht viel anfangen, sind das evtl Entstörspulen? Hab so Bauteile noch nie verbaut. Finde auch bei Reichelt keine entsprechenden Teile :( - vielleicht kannst du mir da ja weiter helfen.

Wenn du Interesse hast kann ich hier dann auch mal ein Bild meiner fertigen Platine posten.

Danke dir im voraus.

uffi
05.05.2008, 15:56
Hallo Daniel,

Ich habe diese Induktivitäten L1 und L3 bei http://www.elpro.org bestellt:

SMCC 1000 µH € 0,07 Induktivität
I-SMD 10 µH 1210 € 0,17 SMD Induktivität

Die erste dient zur Erzeugung der 37V für die Stimulation der Ultraschall-Sendekapsel.
Die zweite sorgt für eine störungsfreie analoge Versorgungsspannung.

Gruß, Dirk.

daniel.weber
05.05.2008, 17:07
ich danke dir, jetzt kann ich das Ganze mal vollenden und testen :) weiß nur noch nicht wann ich bei diesem schönen Wetter wieder zum bauen komme, werde dir auf jedenfall berichten.

uffi
28.06.2008, 22:26
Bist Du schon weitergekommen?

uffi
15.08.2008, 15:47
Hallo Leute,

habe meine Empfängerschaltung nach Hinweisen nochmal deutlich empfindlicher gemacht und den Meßbereich auf 5 Meter erweitert. Das Board habe ich überarbeitet und alle neuen Daten zum Download auf meine erweiterte und überarbeitete Homepage gestellt, schaut doch nochmal rein:

http://freenet-homepage.de/uffmann/Ultrasonic.html

Wäre für Feedback dankbar.

Gruß, uffi.

robo.fr
21.08.2008, 08:11
Hallo Ulfi,

technisch zur Darstellung des Funktionsprinzips finde ich Dein Projekt ganz interessant.


similar to the commercial types ...

However, I could not compete on their level of miniaturisation, current consumption, voltage needed and range

Der Satz auf Deiner Homepage klingt aber irgendwie so: ich habe zwar einen funktionierenden US-Sensor entwickelt, aber irgendwie ist er schlechter und teuerer als die, welche man kaufen kann.
Die Frage wäre also: warum soll ihn jemand verwenden?

Was hälst Du von dem Vorschlag, Dich mit "beam forming" zu beschäftigen ( also ein Sensorarray zu bauen und das Schallfeld zu beeinflussen ) Da würde die Verwendung Deiner Elektronik viel Sinn machen.

Gruß,
robo

uffi
21.08.2008, 10:50
Hallo robo,

dass der Selbstbau teurer ist als ein SRF10 oder ähnliches zu kaufen habe ich nirgends geschrieben. Ich habe sogar ausgewiesen, dass die Kosten der Bauteile bei ca. 12 Euro liegen.

Der Selbstbau lohnt sich besonders dann, wenn man mehr als ein Modul braucht. Ich hab z.B. 4 Stück für mich gemacht -> 48 Euro Kosten. Hätte ich 4 Stck. SRF10 gekauft, hätte ich 4x44 = 176 Euro bezahlt.

Weiterer Vorteil: man kann die Firmware des Moduls an eigene Bedürfnisse anpassen. Ich finde das Befehlsschema des SRF10 über I2C zu umständlich (da es auch flexibler ist), man muß mehr Bytes für jede Messung übertragen als bei meiner eigenen Firmware.

Die Anregung mit dem Beam Forming Array ist interessant. Könnte ich ein solches Array aus 4 meiner Module schon aufbauen? Und wenn ja, wie geht das und worauf muß ich achten?

Meine Modul unterstützt den Command 0x00 auf dem I2C Bus zum gleichzeitigen Starten mehrerer Module.

Danke und Gruß, uffi.

sigo
21.08.2008, 18:35
Hallo Uffi,

zum Beam Forming:

Wenn man mehrere Sender (phasengleich) in einer Reihe (eng) nebeneinander hat, wird das Anstrahlverhalten so verändert, dass es nach vorne gerichteter wird. Dabei wird das Signal nebenbei auch noch je Verdopplung der Sender um 3dB stärker bei gleicher Sendeleistung. Bei 4 Sendern also immerhin 6dB. Außerdem sendest du ja dann mit der 4-fachen Leistung und gerichteter. Es sollte also um weitere 6-12dB (?) stärker werden, gegenüber Einzelsender.

Wenn man dann die Phase der Sender leicht verschiebt, kann man den Strahl in Grenzen in verschiedene Richtungen schicken, bzw. die Keule der max. Empfindlichkeit. Wie die Verschiebung sein muss, ergibt sich einfach aus den unterschiedlichen Laufzeiten, die sich durch den unterschiedlichen Abstand der Sender zum Ziel ergeben.

Außerdem kann auch die Sendekeule etwas aufweiten, indem man die phasen eben so wählt, dass o.g. Richtwirkung aufgehoben wird und ein Kugelstrahler simuliert wird (oder in dem Fall in einer Ebene, also dann ein kreis..)

Es funktioniert also wie ein Radararray.

Sigo

robo.fr
22.08.2008, 09:59
Hallo sigo,

Deine Erkärung ist sehr gut zu vestehen. Meine Vermutung ist, dass man das Verfahren mit relativ wenig aufwand mit Ultraschallsendern realisieren kann. Man könnte damit den Abtaststrahl schwenken, ohne die Sensoren bewegen zu müssen. Wenn man die Sennder ringförmig ( oder mit nur 4 Sendern kreuzförmig ) anordnet, müsste das in 2 Dimensionen gehen.

Gruß,
robo

Ruchbar
22.08.2008, 11:41
Hmm...das ist mir neu...hatte unter beamforming eigentlich immer ein Mikrofon-Array im Kopf, mit dem man die Richtung eines akustischen Signals orten kann...so hab ich es bisher auch nur gesehen...

sigo
22.08.2008, 16:09
@ Robo:
Ja, die benötigten Phasenverschiebungen lassen sich ja leicht ausrechnen. Ich weiß nur nicht, wie sich das umsetzen lässt, weil ja die Kopplung zum Ultraschall-Empfänger sehr lose ist. Natürlich kann man das auch kreuzweise machen.

@Ruchbar:
Natürlich gilt das in beiden Richtungen. Jedoch ist die Auswertung der Schiebungen auf der Empfängerseite sicher schwieriger. Grundsätzlich gilt das aber natürlich auch. Jeodhc braucht man ja für die Richtungserkennung nur 2 bzw. 3 Sensoren, wenn man 2-Dimensional arbeiten möchte.

Sigo
Das ganze lässt sich natürlich auch umgehren.

Ruchbar
22.08.2008, 20:30
Ahh, ok, also nicht falsch gelegen :)

Wäre es nicht möglich, einen Sensor zu entwickeln mit einem Sender und die Richtung dann über ein Empfängerarray zu erfassen? Denn durch die "Keule" erfasst man ja eine gewisse Breite, könnte dann aber durch das Array auch die Richtung lokalisieren.

sigo
22.08.2008, 20:40
Joah, sollte gehn, da ja unterschiedliche Laufzeiten entstehen.., natürlich macht das nur Sinn im Bereich grober Winkelabweichungen. Bei kleinen Winkeln ist der Unterschied wahrscheinlich kleiner als die Toleranzen und die Auflösung..

Ruchbar
22.08.2008, 22:19
Auf Arbeit schreibt ein Kollege gerade eine Diplomarbeit über beamforming. den kann ich nächste woche fragen, wie genau das ganze werden könnte...jedoch die Keulenform könnte zu einem Problem werden, da sie bei unterschiedlichen Distanzen ja auch der Keule nach eine unterschiedliche Breite aufweist ^^

uffi
01.07.2009, 15:18
Hallo an alle,

ich habe ein update der Firmware für den Ultraschall Sensor auf meiner
Homepage bereitgestellt.

http://freenet-homepage.de/uffmann/Ultrasonic2.html

Die Firmware hat sowohl eine Timing-Optimierung bekommen (und schafft
die 100 kHz SCL Clock jetzt deutlich sicherer als vorher), als auch neue
Features zum Ausgabe-Format und zum Debuggen.

Wer den Sensor nachgebaut hat, sollte unbedingt die Firmware auf seinem Sensor updaten.

Gruß, uffi.

Christian H
01.07.2009, 17:46
hallo uffi,



was würdest Du davon halten Deinen ultrasonic sonar range finder mit IR-Navigation
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=48791&highlight=irnavigation
zu kombinieren.
Könnte mir das folgendermaßen vorstellen:
Mit einem Servo oder Schrittmotor wird eine IR-LED zusammen mit dem US-Geber hin und her geschwenkt. Mit IR wird die Winkelinformation an den Empfänger übermittelt (1 Byte jede ms , etwa 8 mal pro Grad macht für 180 Grad etwa 1,5 sec pro Schwenk). Etwa mit jedem 10. Byte wird gleichzeitig ein US-Impuls losgeschickt. Am Empfänger wird mit den TSOP7000 der Winkel zwischen Bake und Empfänger bestimmt. Aus der Zeitdifferenz zwischen Eintreffen des IR und Ultraschall ergibt sich die Entfernung.

Erforderlich wäre, dass der US-Empfänger den US aus jeder Richtung empfangen können muß. Der US-Sender sollte natürlich so stark als möglich gerichtet sein. Machbar? (Für den Empfänger könnte ich mir eine nach oben gerichtete US-Kapsel vorstellen über der ein Kegel den US aus allen Richtungen umlenkt)

Rise time des TSOP7000 ist minimal 1,2 us. Damit sollte sich per Interrupt zusammen mit USART der Startzeitpunkt des US- Impulses wohl ausreichend gut bestimmen lassen.

Vorteil wäre natürlich, dass man für eine Ortung nur eine einzige Bake braucht. Ausserdem wäre die Ortsauflösung in jede Richtung annährend gleich. Bei meinem System mit zwei IR-Baken gibt es natürlich Bereiche (z.B. entlang der Verbindungslinie der beiden Baken) mit sehr schlechter Ortsauflösung. Das wäre mit einer IR - US Bake zu vermeiden. Ausserdem würde das System keine aufwendige Kalibrierung erfordern.

Viele Grüße

Christian

uffi
01.07.2009, 23:20
Das klingt nach einer sehr guten Idee!!!
Allerdings ist die Bündelung der Sendekapsel schwierig. Evtl geht es mit dem weiter oben erwähnten Beam-Forming mit mehreren Sendekapseln. Die Sache mit dem Kegel des Empfängers wurde schon mehrfach erfolgreich eingesetzt (weiterhin baut Hagen Reddmann mit logarithmischen Verstärkern Ultraschallsensoren, mit denen man die Luftgeschwindikeit messen kann).

Gruß, uffi.

Christian H
02.07.2009, 12:32
Hi Uffi,

Eine besondere Bündelung des US wäre wohl nicht erforderlich. Die Winkelinformation liefert ja der IR-Strahl. Eine möglichst gut fokusierende US-Kapsel wäre für eine hohe Reichweite natürlich trotzdem günstig. Beam formig erscheit mir aufwendiger, würde mehrere US-Kapseln erfordern und wahrscheinlich (je nach Zahl der Kapseln) doch noch mehrere Nebenmaxima produzieren.


Grüße

Christian

ml
24.06.2010, 13:12
Moin!

Hat noch jemand den Schaltplan von Uffi parat? Die Homepage gibts anscheinend nicht mehr.

MfG

uffi
24.06.2010, 16:10
Hi, leider hat freenet den kostenlosen Homepage Service eingestellt. Daher such ich gerade nach einem neuen Platz. Wer die Infos jetzt braucht, schickt mir eine PM mit seiner mail-adresse, dann schicke ich das html komplett zu.

da_miez
25.06.2010, 01:28
hey

wäre für mein neues projekt sehr am schaltplan und code interessiert. der thread is ja leider schon ein bisschen alt, aber falls möglich würde ich mich freun:)

grüße

da_miez

uffi
29.06.2010, 14:18
so, meine web site ist wieder verfügbar (mußte umziehen):

http://home.arcor.de/uffmann/Ultrasonic.html

http://home.arcor.de/uffmann/index.html

themaddin
30.06.2010, 13:41
Danke fürs wiedereinstellen. Hatte schonmal versucht auf die Seite zu kommen, musste aber leider feststellen dass sie off war. Jetzt geht sie wieder. Habs gebookmarkt. :-)