Ich arbeite mit dem Modus bei welchem über UART kommuniziert wird. "Wenn der RX-Port den 0X55-Befehl empfängt, startet das Modul eine Ranging-Operation und gibt einen Frame vom Pin TX mit vier 8-Bit-Daten aus."
Indem ich beide absolut gleichzeitig triggere gibt mir das Empfangsmodul korrekt die halbe Entfernung in mm zurück.
Das funktioniert alles und ist nicht mein Problem.
3 Fragen hätte ich aber dazu.
Ich muss gleichzeitig 8 Stück Sender-JSN-SR20 triggern. Kann man an einem ESP32-PIN-TX 8 Stück Sender-JSN-SR20-RX parallel zum triggern anschließen ?
lt. Datenblatt kann der JSN-SR20-Y1 mit 3 bis 5,5 V betrieben werden. Ich möchte gern die maximale Leistung herausholen aber wegen des ESP32 gern 3,3 V verwenden.
In Foren vertreten manche die Meinung, das US-Sensoren mit 5 V besser als mit 3,3 V funktionieren....?
Hat jemand diesbezüglich mit dem JSN-SR20-Y1 Erfahrungen ?
Um den Empfangsradius zu erweitern würde ich gern 2 Sensoren also nicht 2 JSN-SR20-Y1, sondern nur 2 Sensoren parallel schalten und in die Echo-Buchse des JSN-SR20-Y1 anschließen.
Auf Nachfrage teilte mir der Hersteller mit, dass dies nicht unterstützt wird.
Nun frage ich mich, ob das überhaupt je eine Ausgabenstellung war ?
Was meint Ihr, wäre sowas elektrisch möglich ? Oder ist das zu komplex, weil man nicht weiß, was genau zwischen Sensor und Modul abläuft ? Für mich ist wirklich nur das allererste Echo interessant.
Im Moment benutze ich jeweils 2 komplette Sensoren und werte die verschiedenen Entfernungen aus. Da ich sehr viele davon benötige ist das für mich aus kostengründen sehr interessant.
Ich habe mich schon mit einem geeigneten Schalltrichter befaßt der 180 grd empfangen soll aber bin leider noch nicht weiter gekommen.
Ich würde mich freuen, Ihr könnt mir mit Euren Erfahrungen/Meinungen helfen.
Ist das so etwas ähnliches, wie eine Entfernungsmessung?
Um den Empfangsradius zu erweitern würde ich gern 2 Sensoren also
nicht 2 JSN-SR20-Y1, sondern nur 2 Sensoren parallel schalten und in die
Echo-Buchse des JSN-SR20-Y1 anschließen.
Um den Radius (=Entfernung?) zu verdoppeln, brauchst du bei gleichem Empfänger die 16-fache Sendeleistung (s. Radargleichung). Ein Faktor zwei an Empfangsfläche hilft da nicht viel.
Um den Empfangsradius zu erweitern würde ich gern 2 Sensoren also
nicht 2 JSN-SR20-Y1, sondern nur 2 Sensoren parallel schalten und in die
Echo-Buchse des JSN-SR20-Y1 anschließen.
Und wenn die Phasenlage der Signale nicht passt, bekommst du direkt eine Signalauslöschung. Dein Ansatz ist unbrauchbar.
Und gib mal einen gescheiten Link zum Datenblatt an oder hänge das pdf direkt hier rein. Der Link geht nicht.
Und welche Entfernung willst du denn maximal messen?
Und welche Entfernung willst du denn maximal messen?
Die Entfernung zwischen Sender und Empfänger.
Die max. Reichweite des Sensors beträgt 500 cm als Echo. Nach meinen Erfahrungen lassen sich 700 cm einfache Strecke ohne weiteres messen.
Nein, war falsch ausgedrückt. Ich möchte den Erfassungswinkel
verbreitern.
Warum willst du den verbreitern? Normalerweise will man den Reflexionspunkt möglichst klein haben. Und du solltest mal beschreiben, WAS du überhaupt messen willst mit deinem Ansatz. Vielleicht gibts ganz einfache Lösungen?
Und wenn die Phasenlage der Signale nicht passt, bekommst du direkt eine
Signalauslöschung. Dein Ansatz ist unbrauchbar.
Solche Äußerungen von einem Funkamateur?
Unbrauchbar wofür?
Das nennt sich "Richtantenne".
Jede Antennengruppe gewinnt daraus ihre Richtwirkung. Wie scharf die Keule ist und wo Nebenzipfel auftreten, wird dann u.a. vom Stockungsabstand bestimmt.
Und du solltest mal beschreiben,
WAS du überhaupt messen willst mit deinem Ansatz.
Es geht um eine Positionierung eines Fahrzeuges mit Hilfe der Abstandsmessung vom Fahrzeug zu festen Baken. Vom Fahrzeug wird 360 grd ein Ultraschallimpuls gesendet. Die Baken Empfangen das Signal.
Hat niemand einen Gedanken zu 1. ?
Eine Eindraht-UART Verbindung zwischen 1 Sender(ESP32) und mehreren Empfängern(Sensoren). Ist das möglich nur diesen Code 0X55 an alle gleichzeitig zu senden ?
Nein, war falsch ausgedrückt. Ich möchte den Erfassungswinkel
verbreitern.
Dann brauchst du einen Rundstrahler. Dazu könntest du bspw mit deinem Sender einen Kegel von unten anstrahlen, der dein Signal dann mit 360°-Abdeckung in die Horizontale reflektiert, falls die Leistung dann für deine Empfänger noch ausreicht.
Eine Eindraht-UART Verbindung zwischen 1 Sender(ESP32) und mehreren
Empfängern(Sensoren). Ist das möglich nur diesen Code 0X55 an alle
gleichzeitig zu senden ?
ja, was sollte dagegen sprechen?
Wobei du u.U. verschieden Verarbeitungsgeschwingikeiten des Protokoll haben könntest.
Dafür würde sich eher dann der Hardware-Trigger-Pin empfehlen, da die Sender dadurch synchromisiert sind.
Die Keulenbildung funktioniert übrigens auch beim Empfang; aber auch nur, wenn die Empfanger synchronisiert sind.
Passive Sonare funktionieren so. Ist aber ne "scheiß" Rechnerei.
Dann brauchst du einen Rundstrahler. Dazu könntest du bspw mit deinem
Sender einen Kegel von unten anstrahlen, der dein Signal dann mit
360°-Abdeckung in die Horizontale reflektiert, falls die Leistung dann
für deine Empfänger noch ausreicht.
Genau, die Leistung wird dann sicher nicht ausreichen. Aber der Gedanke ist gut für die Empfänger. Kennst Du sowas ? Könnte man ggf. nachbauen...
Meinst Du das? Im Datenblatt steht: (2)Letter of agreement
UART: TTL, Baud rate: 9600 bps, Check Digit: N, Data bit: 8, Stopbit: 1
Nein. Die Controller in deinem Sonsor arbeiten eher nicht mit exakt der selben Taktfrquenz ("Bauteilstreuung").
Das sind zwar nur minimale Unterschiede, aber vielleicht doch relevant.
Das Modbus-Telegramm muss ja mal vom Controller ausgewertet werden.
Verstehe ich leider nicht. Kannst Du das bitte erklären?
Es gibt auch ein Modul, bei dem die Auswertung vom Hostcontroller übernommen wird. Deins macht erledigt das schon (und liefert die Daten auf Modbus-Anfrage).
Genau, die Leistung wird dann sicher nicht ausreichen. Aber der Gedanke
ist gut für die Empfänger. Kennst Du sowas ? Könnte man ggf.
nachbauen...
Du könntest auch entsprechend viele Module sektorweise aufbauen und sie sequentiell abfragen.
Dazu müsste der Öffnungswinkel bzw. die Richtcharakteristik bekannt sein.
Du könntest auch entsprechend viele Module sektorweise aufbauen und sie
sequentiell abfragen.
Dazu müsste der Öffnungswinkel bzw. die Richtcharakteristik bekannt
sein.
Das war jetzt etwas Quatsch, weil du ja keine Reflexion, sondern den direkten Abstand auswerten willst.
Und wenn die Phasenlage der Signale nicht passt, bekommst du direkt eine
Signalauslöschung. Dein Ansatz ist unbrauchbar.
Solche Äußerungen von einem Funkamateur?
Unbrauchbar wofür?
Ich habe viele Jahre mein Geld mit der Entwicklung von Ultraschallgeräten verdient und weiß, was ich schreibe. Was passiert wohl, wenn du zwei Transducer parallel schaltest, wobei der eine zum anderen eine inverse Phasenlage hat? Genau: die Signale heben sich (fast) auf! Deswegen sollte man auch Lautsprecher phasenrichtig zusammenschalten!
Was passiert wohl, wenn du zwei Transducer parallel schaltest, wobei der eine zum anderen eine inverse Phasenlage hat? Genau: die Signale heben sich
(fast) auf! Deswegen sollte man auch Lautsprecher phasenrichtig
zusammenschalten!
Ich freue mich, dass ein Fachmann meine Ideen kritisch bewertet.
Was heißt das jetzt für mich ?
Empfängerseitig ist eine parallele Kombination von 2 Sensoren auf einem Modul nicht ohne weiters möglich. Dann muss ich also einzelne Module verwenden und getrennt auswerten.
Wie ist das Senderseitig ? Ich möchte 8 Module kreisförmig anordnen. Diese senden mehr oder weniger gleichzeitig den Ultraschall.(ca. 2 mal/sec). Ich denke mir, dass sich die Schallwellen in jedem Falle überschneiden, da sie von 8 verschiedenen Punkten ausgehen. Da spielt es doch keine Rolle, ob die Sender synchronisiert sind oder nicht ? Oder habe ich Dich falsch verstanden ?
Geht es schalltechnisch die 8 Module einfach an einem ESP32-PIN "gleichzeitig" zu betreiben ?
Doch, auch beim Senden gilt das Überlagerungsprinzip. Betrachte die Welle, die von zwei Sendern ausgeht. Wenn am Empfangspunkt beide Signale gegenphasig ankommen, weil der Abstand der Sender zufällig lambda/2 der Sendefrequenz ist, wirst du Signalauslöschung bekommen. Das gleiche passiert bei mehreren Sendern, die sich überlagern. Diese Überlagerung kann man ausnutzen, um die Senderichtung hin- und herzuschwenken. Das Ganze ist im Wikipedia-Artikel gut erklärt, allerdings für Antennen. Aber Schallwellen und Funkwellen verhalten sich in dem Fall gleich. https://de.wikipedia.org/wiki/Phased-Array-Antenne
Mit denen machte ich sehr gute Erfahrungen. Sind leider wesentlich teurer.
Diese Art Transducer beruhen auf das Kondensatormikrofon Prinzip und benötigen eine Polarisierungsspannung von einigen hundert Volt, die bei Senscomp in genialer Weise mit erzeugt wird.
Die Auswerte Elektronik (TL851/852) hatte eine automatische adaptive Verstärkung Änderung über Zeit. Je weiter das Objekt entfernt ist, desto mehr Verstärkung wurde in 16 Stufen geschaltet.
"Fan out" ist ein Relikt aus der TTL-Zeit, als jeder Eingang einen bestimmten Strom gezogen hat.
Die Angabe gilt auch nur innerhalb einer Familie.
Heutige CMOS-Logik ist spannungsgesteuert.
Die Eigenschaften vom Triggereingang des US-Sensors müsste man mangels Spezifikation im Datenblatt wahrscheinlich selber nachmessen - ein Standard-TTL-Einfang (welcher Familie?) wird es jedenfalls eher nicht sein.
Man könnte ja die Sender zyklich im Kreis herum betreiben.
Die Frage ist, ob das Timing von Sender und Empfänger für die Aufgabe
schnell genug ist.
Die Zeit zwischen Aussendung und Echo liegt für die angegebene Reichweite sicher unter 50ms. Zyklischer Betrieb sollte also möglich sein, wenn dieser Mindestabstand eingehalten wird. Dann hängt es vom Öffnungswinkel der US-Geber ab, wie viele Sender man bräuchte, um 360° abzudecken und welche Wiederholrate sich daraus für die Messung ergibt. Sende-Empfängerpaare, die sich gegenseitig nicht sehen, können auch gleichzeitig betrieben werden, so dass sich die Zykluszeit entsprechend verringern würde.
Wer sich mit der Senscomp HW billig befassen möchte, sollte sich nach alten Polaroid Cameras mit dem 6500 Transducer umsehen. Darin findet man alles was man braucht um ein leistungsfähiges System mit uC Steuerung aufzubauen.
Ich habe das mit sehr gutem Erfolg umgesetzt und bin der Ansicht, daß die Polaroid Teile wesentlich performanter als vergleichbare Fernost Module sind.
Mein Testaufbau hatte kein Problem 10m Abstand genau zu messen.
Man könnte ja die Sender zyklich im Kreis herum betreiben.
Die Frage ist, ob das Timing von Sender und Empfänger für die Aufgabe
schnell genug ist.
Schnell genug schon.
Die Positionsbestimmung erfolgt über Berechnung des Standortes durch 2 Entfernungsmessungen. Diese müssen gleichzeitig sein.
Wegen der Laufzeit des Schalls(30 cm/millisec) und vielen Falschechos beträgt der Messabstand mind. 50 milsec. Deshalb zeitversetzt sehr schwierig.
Sende-Empfängerpaare, die sich gegenseitig nicht sehen, können auch
gleichzeitig betrieben werden, so dass sich die Zykluszeit entsprechend
verringern würde.
Es könnten sich aber nicht gewolllte Falschechos ergeben ?
Die Positionsbestimmung erfolgt über Berechnung des Standortes durch 2
Entfernungsmessungen. Diese müssen gleichzeitig sein.
Wegen der Laufzeit des Schalls(30 cm/millisec) und vielen Falschechos
beträgt der Messabstand mind. 50 milsec. Deshalb zeitversetzt sehr
schwierig.
Wie "gleichzeitig" muss gleichzeitig sein, wenn 50ms Delay nicht gehen? (Was sind "milsec"?) Und wenn das so kritisch ist, ist Ultraschall das falsche Messverfahren. Wie wär's mit LIDAR?
Wie "gleichzeitig" muss gleichzeitig sein, wenn 50ms Delay nicht gehen?
(Was sind "milsec"?) Und wenn das so kritisch ist, ist Ultraschall das
falsche Messverfahren. Wie wär's mit LIDAR?
Wie "gleichzeitig" muss gleichzeitig sein, wenn 50ms Delay nicht gehen?
(Was sind "milsec"?) Und wenn das so kritisch ist, ist Ultraschall das
falsche Messverfahren. Wie wär's mit LIDAR?
Der Schall legt in 1 millisec 30 cm zurück bzw. 0,3mm/microsec. Die Fahrgeschwindigkeit beträgt max. 20 cm/sec bzw. 0,2mm/millisec.
Meine erreichte Genauigkeit zwischen Sendezeitpunkt und Empfangszeitpunkt liegt bei 20 microsec. Die Gleichzeitigkeit zwischen parallelen Sendern sollte auf jeden Fall kürzer sein.
Wie oben gesagt, mein System funktioniert mit 1 Sender(JSN-SR20-Y1) auf dem Fahrzeug und auf jeder Bake befinden sich 2 Empfänger(JSN-SR20-Y1).
Jetzt muß ich aber den Sendebereich von ca. 40-60 grd auf 360 grd erweitern.
LIDAR ? Ich dachte, die arbeitet nur mit Reflexion?
Ich habe zahlreiche Versuche zum Thema gemacht, auch mit LIDAR.
Mein Ergebnis ist, dass mit Reflexionsmethoden Outdoor keine genaue, zuverlässige Positionierung möglich ist.
Ziel: max. 10 cm Abweichung der Position
Dafür sollten die einzelnen Entfernungsmessungen mind. 2 cm genau sein.
Was passiert wohl, wenn du zwei Transducer parallel schaltest, wobei der
eine zum anderen eine inverse Phasenlage hat?
Darum sollte man besser auf die Phasenlage achten. Es ist doch kein Hexenwerk, für gleichphasige Ansteuerung zu sorgen. Dann löscht sich da auch nichts direkt aus. Die Ausleuchtung ist wie beim Doppelspalt.
Der Schall legt in 1 millisec 30 cm zurück bzw. 0,3mm/microsec. Die
Fahrgeschwindigkeit beträgt max. 20 cm/sec bzw. 0,2mm/millisec.
Besser (weniger verwirrend) wäre es, nur eine Einheitsgröße zu verwenden.
Dann würde man auf einen Blick sehen, dass sich dein Objekt knapp 1000-mal langsamer als der Schall bewegt.
Hätte man nur die Zahlenwerte, gäbe es Problem mit dem Effekt von Herrn Doppler.
Wer sich mit der Senscomp HW billig befassen möchte, sollte sich nach
alten Polaroid Kameras mit dem 6500 Transducer umsehen.
Sicher eine Superlösung und genau aber recht anspruchsvoll. Ist das auch
für getrennte Sender und Empfänger geeignet?
Ich erwähnte die Senscomp Sachen übrigens nur, weil es dort gute Dokus und Appnotes zu diesen Thema gibt und generell interessant ist. Mehr war ja nicht beabsichtigt, nur um darauf hinzuweisen wie man es machen könnte. Sicherlich gibt es auch andere Zielführende Wege...
https://wolles-elektronikkiste.de/en/hc-sr04-and-jsn-sr04t-2-0-distance-sensors
Man kann bei entsprechender elektronischer Ausstattung auch mit zwei oder mehr Transducern getrennt arbeiten, solange der Triggerimpuls als Startsignal ausgewertet wird. Die Senscomp Transducer haben akustisch sehr gute Eigenschaften und Richtwirkung, wie aus den Datenblättern ersichtlich ist. Da diese Transducer bei Empfang als Kondensatormikrophone arbeiten, wäre da allerdings bei separaten TX und RX Kombinationen eine getrennte 150-200V Spannungsversorgung zur Polarisierung beim Empfänger notwendig. Das kann ein Step-up geeigneter Ausführung einfach erledigen. Es werden ja nur geringer Strom im pA-uA Bereich benötigt, die hauptsächlich von Isolationswiderstand bestimmt werden und beim erstmaligen Aufladen des Transducer-Kondensator Anteil (~450pF).
Die eingebaute Totzeit beim Originalkonzept ist wegen dem langsamen zeitlichen Abklingen der akustischen Energie notwendig, um den Empfangsteil nicht zuzustopfen.
Es wäre durchaus eine System mit einem Zentral Sender vorstellbar und gleichzeitig aufgestellten getrennten Empfängern. Auch die TL85x sind da bequem, weil alles wichtige darin enthalten ist. Zur Laufzeitmessung, muss man sich allerdings auf den Sender Trigger Impuls beziehen.
Bei mir war ich nur an Entfernungsmessung interessiert und verwendete die HW so wie sie war. Jedenfalls hat es bis zu 10m mit guter Genauigkeit funktioniert. Bei 1m Abstand konnte die Entfernung auf ein paar mm genau erfaßt werden. Als Controller zur Zeitmessung diente ein 18F452 PIC, dessen Capture HW ausgenützt wurde.