Hallo, ich arbeite derzeit an einem Projekt, bei dem mithilfe eines Ultraschallsensors eine Platte hinter einem grobmaschigen Gitter detektiert werden soll. Es soll unabhängig von der Entfernung des Sensors zum Gitter der Abstand zwischen Platte und Gitter ermittelt werden. Alle fertigen Ultraschallmodule mit integrierter Signalverarbeitung sind meines Wissens nach nur in der Lage einen einfachen Abstand auszugeben. Ich suche eine Lösung, mit er ich alle "sauberen" Echos eines Pulses mithilfe eines Microcontrollers erfassen kann und somit die zwei Ebenen "Platte" und "Gitter" berechnen kann. Kennt Ihr eine Ultraschalllösung die sowas "out of the Box" liefern kann? Ich bin mittlerweile soweit, dass nur mit einem "dummen" Sensor und selbstentwickelter Schaltung zur Ansteuerung und Echoübergabe die Aufgabe gelöst werden kann. Folgender Sensor soll zum Einsatz kommen: http://www.microsonic.de/DWD/_111327/pdf/1031/microsonic_wms-130_RT.pdf Als Steuereinheit soll zunächst ein Arduino Uno Development board genutzt werden. Jetzt habe ich meine liebe Not mit dem Aufsetzen der Schaltung, mit der dieser Sensor betrieben werden kann. Ich verstehe das rudimentäre Schaltbild im Datenblatt wie folgt: Der Sendepegel wird über einen Opencollector kurz auf Ground gezogen, und dadurch ein Puls erzeugt. Ich habe beim Hersteller angefragt, welchen Pegel das Sendersignal haben muss. Und, Frage an euch :), verfügt ein Arduino Dev. Board über so einen open collector Output? Wenn für den Sensor ein SenderSignalPegel von 5V ausreicht und das Board den og. Ausgang hat, sollte die Pulserzeugung ja relativ einfach sein, richtig? Das soll für den Anfang erstmal genügen, Fragen zum EchoSignal aus dem Sensor stelle ich dann später ;) Gruß, Ben
hi Ben, mit dem Microsonic Teil wird das eher nichts, das detektiert das ERSTE eintreffende Echo. Die Problematik hört sich eher nach einer Eigenkonstruktion an, wobei ich die Finger von keramischen Wandlern lassen würde, die erforderlichen Pulsspannungen betragen 80 bis 150V, je nach Type und zu messender Entfernung. Recht simpel lassen sich die offenen Kapseln 'bespielen', die im SR04 (hiess das Ding so?) verbaut sind, die kann man mit 5V (oder auch 12V, wenn die Entfernung das erfordert) befeuern, ausserdem sind Sender und Empfänger getrennt, was das Handling wieder vereinfacht. Das Empfängersignal wird kaum sauber aussehen, aber du wirst im Oszi sowohl das Gitter als auch die dahinterliegende Fläche gut sehen können. Grüssens, harry
Also das Datenblatt sagt: "...gibt anschließend alle empfangenen Echosignale laufzeitabhängig als 1-Bit-Werte (Echo Ja/Nein) aus." das heißt für mich, dass alle Echos, die während der Empfangszeit eingehen, als Signal verarbeitet werden können. Hängt natürlich vom Sensorschwellwert und der Signalstärke des Echos ab. Von den HC-SR... wollte ich eignetlich Abstand nehmen, da der Sensor IP65 geschützt sein soll.
Ben Bretschneider schrieb: > verfügt ein Arduino Dev. Board über so > einen open collector Output? Nein. Ein Arduino hat keine Endstufe, mit der du direkt an den Wandler gehen könntest und auch keinen OC Ausgang. Wenns nur um Open Collector mit kleinen Strom geht, dann klappt ein normaler NPN Transistor mit Basisvorwiderstand. Wenns richtig Strom liefern soll, ist ein Logiklevel MOSFet brauchbar. Über welche Entfernugnen reden wir hier? Über ein paar cm kommst du auch noch mit 12V, wenns aber Meter und mehr sind, wirst du um eine Resonanzanregung des Gebers nicht drum rum kommen.
:
Bearbeitet durch User
Die Angaben aus dem Datenblatt sollten schon bedient werden, sprich 20-200cm. Gibt es was zum lesen was die Resonanzanregung betrifft?
Hi, also selbst wenn du mehr als ein echo bekommst wirst du damit nicht glücklich! Der Ultraschall wird im Gitter "wild" hin und her reflektiert. Ergo du wirst nicht unterscheiden können ist das jetzt das Gitter ein Querläufer vom Gitter oder die Platte. --> Ultraschall ist dafür nicht das Wahre! Gruß
Matthias Sch. schrieb: > Nein. Ein Arduino hat keine Endstufe, mit der du direkt an den Wandler > gehen könntest und auch keinen OC Ausgang. Irgendwie hast du mit dieser Aussage natürlich Recht. Ein Arduino hat keinen Open Kollektor Ausgang, weil die Portausgänge nicht mit Bipolartransistoren sondern mit MOSFETs aufgebaut sind. Insofern muss man die Ausgänge natürlich korrekt als Open Drain bezeichnen. Und das kann IMHO jeder Atmel Prozessor. Ein Arduino Board - auch der Uno - wird diese Fähigkeit vom eingesetzten Prozessor geerbt haben. Man muss sich nur davon verabschieden, die Arduino Funktion digitalwrite() für die Ausgabe zu benutzen und das DDR direkt steuern.
Ich möchte nicht die Flinte zu früh ins Kirn werfen und sagen, dass die Erfassung mit ultraschall für diesen Anwendungsfall nicht funktioniert. Mir geht es bei dem Projekt zu weiten Teilen erstmal darum ueberhaupt den erwähnten Sensor zum laufen zu bekommen und möglichst alle Echos aufzuzeichnen. Kann ich nach Wolfgangs Aussage jetzt davon ausgehen, das das erwähnte board einen nutzbaren Ausgang hat, um erstmal einen SenderPuls zu erzeugen?
Wolfgang A. schrieb: > Insofern muss > man die Ausgänge natürlich korrekt als Open Drain bezeichnen. Nein, es gibt beim AVR keine Open Drain Ausgänge. Die STM32 Familie z.B. hat so etwas, aber AVRs haben 'Pushpull' und sind nicht auf Open Drain konfigurierbar. Ich zitiere mal kurz aus dem Datenblatt dem Mega48/88/168/328: > The Port B output buffers have symmetrical drive characteristics > with both high sink and source capability. Das gilt nicht nur für Port B sondern auch für alle anderen. Open Drain zeichnet sich u.a. auch dadurch aus, das die Drain auf einem hohen Pegel liegen könnte, der die Vcc des Kontroller überschreitet - das ist beim AVR immer verboten. Ben Bretschneider schrieb: > Kann ich nach Wolfgangs Aussage jetzt davon ausgehen, das das erwähnte > board einen nutzbaren Ausgang hat, um erstmal einen SenderPuls zu > erzeugen? Wolfgangs Aussage ist nicht richtig, und ein Pin eines Arduino Boards kann etwa 20mA liefern zwischen +5V und Masse, es handelt sich ja um einen direkten Portpin des ATMega. Einen Geber direkt zu treiben wird also nicht gehen, du brauchst einen Verstärker, etwa in Form eines Logiklevel MOSfet o.ä.
:
Bearbeitet durch User
Hallo Ben, ich habe letzlich mal eine Einparkhilfe auseinandergenommen, son 30E von Conrad (oder 10E in China). Die bestehen aus einem kleinen uC, einer Schaltstufe zum Senden, einem Frontend, das die Impulse (40kHz) über eine Spule auf ca. 100V hochtransformieren und einer empfindlichen Empfängerschaltung (4 fach OP mit Filterung etc), deren Signal in den uC geht. Ich habe die mit 12V versorgt und habe die Reflexionen einer 3m entfernten Wand als Impuls an den OP Ausgängen gemessen. Ich würde das mal mit so einem Ding probieren. Cheers Detlef
Also ich würde einen normalen Ultraschallsensor nehmen. Entweder einen Transceiver (Sender/Empfänger in einem) ist das einfachste. Oder eben einen Sender und einen Empfänger. Mit dem yC über PWM ansteuern und nach der Ansteuerung (z.B. 10 Pulse) das Echo AD-Wandeln und auswerten.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.