So funktioniert das Ultraschallmodul HC-SR04:
Das Zeitdiagramm von HC-SR04 wird angezeigt. Um die Messung zu starten, muss Trig von SR04 mindestens 10 us lang einen hohen Impuls (5 V) empfangen. Dadurch wird der Sensor veranlasst, 8 Zyklen von Ultraschallstößen bei 40 kHz auszusenden und auf den reflektierten Ultraschallstoß zu warten. Wenn der Sensor Ultraschall vom Empfänger erkennt, setzt er den Echo-Pin auf hoch (5 V) und verzögert für einen Zeitraum (Breite), der proportional zur Entfernung ist. Um den Abstand zu erhalten, messen Sie die Breite (Ton) des Echostifts.
hängt die Anzahl von 8 Zyklen mit dem Mikrocontroller des Moduls zusammen, denke ich, aber warum?
Vergessen Sie nicht die zweite Frage, warum der Trigger 10us ist?
Der Empfänger und der Sender sind mechanisch auf die Frequenz abgestimmt, daher dauert es einige Zyklen, bis die Amplitude das Maximum erreicht hat (die Amplitude des Senders steigt an, wenn Sie ihn antreiben, und der Empfänger muss eine Zahl „hören“. von Zyklen, bevor es die volle Leistung erreicht, also fahren Sie es besser für genügend Zyklen). Auch eine zu lange Abfolge von Zyklen bringt keinen Vorteil.
Aus diesem Grund hat der Designer den Mikrocontroller so programmiert, dass er insbesondere 8 Zyklen ausgibt, um Ihre erste Frage zu beantworten.
Lesen Sie alle Referenzen zu Systemen 2. Ordnung für eine Erklärung von Q und Resonanz. Die Mittenfrequenz dieser mechanischen Resonanz ist typischerweise auf +/- 1 kHz (+/-2,5 %) spezifiziert. Hier ist ein typisches:
Beachten Sie die Klingelspezifikation von 1,2 ms für dieses Produkt, was ein viel höheres Q impliziert. Es ist ein wasserdichter Typ und hat ein zu hohes Q für gute Ergebnisse in einer Entfernungsanwendung. Weitere Informationen finden Sie in dieser Antwort.
Zur Beantwortung Ihrer zweiten Frage: Der 10us dient wahrscheinlich dazu, der Firmware im Mikrocontroller zu ermöglichen, den Eingang zu erkennen. Wenn sie keinen Interrupt, sondern eine enge Schleife verwenden, kann es so lange dauern, die Schleife zu durchlaufen, sodass ein kürzerer Impuls manchmal übersehen werden kann.
Triggerimpuls ist die Anforderung des Controllers.
die Anzahl der bereitgestellten Impulse ist die optimale Anzahl zum Erzeugen der Ausgangsspannung auf der Empfängerseite.
Um zu verstehen, dass ich ein Experiment durchgeführt habe: Ich habe zwei 200-kHz-US-Wandler verwendet, einen als Sender und einen als Empfänger in einem Abstand von 40 mm.
Beim Senden von Impulsen vom Sender gibt der Empfänger ein Ausgangssignal ab, das so konditioniert ist, dass es eine bergähnliche Spitze ergibt.
Die große Spitze ist das Hauptsignal, das übertragen wird, die zweite Spitze ist das Signal, das reflektiert und erfasst wird. In ähnlicher Weise werden andere kleinere Reflexionen erfasst.
Wenn wir also die Anzahl der Impulse erhöhen, nimmt die Amplitude des empfangenen Signals zu und sättigt sich an einem Punkt. Nach weiterer Erhöhung der Impulszahl ergibt sich eine Erhöhung der Reflexionsspitze, die nicht benötigt wird.
Daher schloss ich aus diesem Experiment, dass für 200 kHz bei 40 mm die optimale Anzahl von Impulsen, die erforderlich sind, um eine maximale Leistung zu erzielen, 6 beträgt.
Ähnlich könnte die Anzahl von 8 Impulsen berechnet werden. auch einige Sensoren liefern diese Informationen auf dem Datenblatt. B. Luft-Ultraschall-Keramikwandler
Ja, der Eingangstrigger bezieht sich nur auf den integrierten Mikroprozessor, der den Startimpuls erkennt.
Ja, die 8 Zyklen der Ansteuerung bei 40 kHz beziehen sich nur auf das Timing des Mikroprozessors, der den Ausgang ansteuert.
Der HRC-SR04 verfügt über einen Mikroprozessor, der das gesamte Timing für die Sende- und Entfernungsberechnung übernimmt. Das Ausgangssignal wird eigentlich von einem RS232-Treiber (MAX232A) erzeugt. Der Treiber erzeugt seine eigenen +ve- und -ve-Versorgungen, um eine RS232-Leitung anzusteuern. Es gibt eine Verzögerung vom 10-uS-Eingangstrigger, damit der MAX232 seine +ve- und -ve-Versorgung stabilisieren kann (normalerweise erreicht er +/-7 V).
Der Mikroprozessor sendet dann die 8 Antriebszyklen an den Sender (14 V pp durch einen 600-Ohm-Widerstand, sodass nicht darauf gewartet werden muss, dass ein Osc die Amplitude erreicht.
Der Sender hat eine natürliche Schwingungsfrequenz, aber in dieser Anwendung wird er aktiv angesteuert Bei einer Rechteckwelle gibt es keine Oszillatorschaltung.
Der Sender wird vom RS232-Treiber angesteuert und stark gedämpft (600 Ohm), wenn die digitalen Signale aufhören.
Ein Typ hat am HC-SR04 sehr gute Arbeit geleistet . Ich bin mir nicht sicher, von welchem MAX232 er spricht, aber meiner Erfahrung nach liegen die Ausgangsspannungen eher bei 7 V als bei den angegebenen 10 V. In jedem Fall ist das Material auf seiner Website hervorragend.
Andi aka