Inhaltsverzeichnis:

DIY digitale Entfernungsmessung mit Ultraschallsensorschnittstelle - Gunook
DIY digitale Entfernungsmessung mit Ultraschallsensorschnittstelle - Gunook

Video: DIY digitale Entfernungsmessung mit Ultraschallsensorschnittstelle - Gunook

Video: DIY digitale Entfernungsmessung mit Ultraschallsensorschnittstelle - Gunook
Video: Arduino mit Ultraschall-Sensor = Entfernungsmesser 2024, November
Anonim
DIY digitale Entfernungsmessung mit Ultraschallsensorschnittstelle
DIY digitale Entfernungsmessung mit Ultraschallsensorschnittstelle

Das Ziel dieses Instructable ist es, einen digitalen Distanzsensor mit Hilfe eines GreenPAK SLG46537 zu entwerfen. Das System wurde unter Verwendung des ASM und anderer Komponenten innerhalb des GreenPAK entwickelt, um mit einem Ultraschallsensor zu interagieren.

Das System ist darauf ausgelegt, einen One-Shot-Block zu steuern, der den Triggerimpuls mit der erforderlichen Breite für den Ultraschallsensor erzeugt und das zurückkommende Echosignal (proportional zur gemessenen Entfernung) in 8 Entfernungskategorien einteilt.

Über die entwickelte Schnittstelle kann ein digitaler Abstandssensor angesteuert werden, der in einer Vielzahl von Anwendungen eingesetzt werden kann, wie z. B. Parkassistenzsysteme, Robotik, Warnsysteme usw.

Im Folgenden haben wir die Schritte beschrieben, die erforderlich sind, um zu verstehen, wie die Lösung programmiert wurde, um die digitale Distanzmessung mit Ultraschallsensorschnittstelle zu erstellen. Wenn Sie jedoch nur das Ergebnis der Programmierung erhalten möchten, laden Sie die GreenPAK-Software herunter, um die bereits fertige GreenPAK-Designdatei anzuzeigen. Schließen Sie das GreenPAK Development Kit an Ihren Computer an und klicken Sie auf das Programm, um die digitale Distanzmessung mit Ultraschallsensorschnittstelle zu erstellen.

Schritt 1: Schnittstelle mit digitalem Ultraschallsensor

Das konstruierte System sendet alle 100 ms Triggerimpulse an den Ultraschallsensor. Die internen Komponenten von GreenPAK überwachen zusammen mit dem ASM die Klassifizierung des zurückkommenden Echosignals vom Sensor. Das entworfene ASM verwendet 8 Zustände (Zustände 0 bis 7), um das Echo vom Ultraschallsensor zu klassifizieren, indem die Technik des iterativen Durchlaufens der Zustände verwendet wird, während das System auf das Echosignal wartet. Je weiter das ASM also die Zustände durchläuft, desto weniger LEDs leuchten.

Da das System alle 100 ms (10-mal pro Sekunde) misst, ist es leicht, die Zunahme oder Abnahme der mit dem Sensor gemessenen Distanzen zu sehen.

Schritt 2: Ultraschall-Abstandssensor

Ultraschall-Abstandssensor
Ultraschall-Abstandssensor
Ultraschall-Abstandssensor
Ultraschall-Abstandssensor

Der für diese Anwendung zu verwendende Sensor ist der HC-SR04, der mit der folgenden Abbildung 1 veranschaulicht wird.

Der Sensor verwendet eine 5-V-Quelle am äußersten linken Pin und den GND-Anschluss am äußersten rechten Pin. Es hat einen Eingang, der das Triggersignal ist, und einen Ausgang, der das Echosignal ist. Das GreenPAK erzeugt einen entsprechenden Triggerimpuls für den Sensor (10 us laut Datenblatt des Sensors) und misst das entsprechende Echoimpulssignal (proportional zum gemessenen Abstand) vom Sensor.

Die gesamte Logik wird innerhalb des GreenPAK unter Verwendung von ASM, Verzögerungsblöcken, Zählern, Oszillatoren, D-Flipflops und One-Shot-Komponenten eingestellt. Die Komponenten werden verwendet, um den erforderlichen Eingangstriggerimpuls für den Ultraschallsensor zu erzeugen und den zurückkehrenden Echoimpuls proportional zur gemessenen Entfernung in Entfernungszonen einzuteilen, wie in den folgenden Abschnitten beschrieben.

Die für das Projekt benötigten Verbindungen sind in Abbildung 2 dargestellt.

Der vom Sensor angeforderte Eingangstrigger ist ein vom GreenPAK erzeugter Ausgang, und der Echoausgang des Sensors wird verwendet, um die Entfernung vom GreenPAK zu messen. Die internen Signale des Systems steuern eine One-Shot-Komponente, um den erforderlichen Impuls zum Auslösen des Sensors zu erzeugen, und das zurückkehrende Echo wird mithilfe von D-Flip-Flops, Logikblöcken (LUT und Inverter) und einem Zählerblock klassifiziert in die 8 Distanzzonen. Die D-Flip-Flops am Ende halten die Klassifizierung auf den Ausgangs-LEDs bis zum nächsten Takt (10 Takte pro Sekunde).

Schritt 3: Realisierung mit GreenPAK Designer

Realisierung mit GreenPAK Designer
Realisierung mit GreenPAK Designer
Realisierung mit GreenPAK Designer
Realisierung mit GreenPAK Designer
Realisierung mit GreenPAK Designer
Realisierung mit GreenPAK Designer

Dieses Design demonstriert die State-Machine-Funktionalität des GreenPAK. Da es innerhalb der vorgeschlagenen Zustandsmaschine acht Zustände gibt, ist der GreenPAK SLG46537 für die Anwendung geeignet. Die Maschine wurde mit der GreenPAK Designer-Software entworfen, wie in Abbildung 3 gezeigt, und die Ausgabedefinitionen sind im RAM-Diagramm von Abbildung 4 festgelegt.

Das vollständige Diagramm der für die Anwendung ausgelegten Schaltung ist in Abbildung 5 zu sehen. Die Blöcke und ihre Funktionalitäten werden nach Abbildung 5 beschrieben.

Wie in Abbildung 3, Abbildung 4 und Abbildung 5 zu sehen ist, ist das System so konzipiert, dass es in sequentieller Reihenfolge arbeitet, um einen 10-us-Triggerimpuls für den Ultraschall-Abstandssensor zu erzeugen, wobei der CNT2/DLY2-Block als One-Shot-Komponente zusammen verwendet wird mit dem 25-MHz-Takt von OSC1 CLK, um das Signal am Ausgang PIN4 TRIG_OUT zu erzeugen. Diese One-Shot-Komponente wird alle 100 ms vom CNT4/DLY4-Zählerblock (OSC0 CLK/12 = 2kHz-Takt) getriggert und triggert den Sensor 10 mal pro Sekunde. Das Echosignal, dessen Latenz proportional zur gemessenen Distanz ist, kommt vom Eingang PIN2 ECHO. Der Satz von Komponenten DFF4 und DFF4, CNT3/DLY3, LUT9 erzeugt die Verzögerung, um den Zuständen des ASM zu folgen. Wie in Abbildung 3 und Abbildung 4 zu sehen ist, werden umso weniger Ausgänge getriggert, je weiter das System die Zustände durchläuft.

Die Schritte der Distanzzonen betragen 1,48 ms (Echosignal), was proportional zu 0,25-cm-Schritten ist, wie in Formel 1 gezeigt. Auf diese Weise haben wir 8 Distanzzonen, von 0 bis 2 m in 25-cm-Schritten, wie in gezeigt Tabelle 1.

Schritt 4: Ergebnisse

Ergebnisse
Ergebnisse
Ergebnisse
Ergebnisse
Ergebnisse
Ergebnisse

Um das Design zu testen, ist die Konfiguration des von der Software bereitgestellten Emulationstools in Abbildung 6 zu sehen. Die Anschlüsse an den Pins der Emulationssoftware sind danach in Tabelle 2 zu sehen.

Die Emulationstests zeigen, dass das Design wie erwartet funktioniert, indem ein Schnittstellensystem zur Interaktion mit dem Ultraschallsensor bereitgestellt wird. Das von GreenPAK bereitgestellte Emulationstool hat sich als großartiges Simulationstool erwiesen, um die Designlogik zu testen, ohne den Chip zu programmieren, und eine gute Umgebung, um den Entwicklungsprozess zu integrieren.

Die Schaltungstests wurden mit einer externen 5-V-Quelle (ebenfalls vom Autor entworfen und entwickelt) durchgeführt, um die Nennspannung des Sensors bereitzustellen. Abbildung 7 zeigt die verwendete externe Quelle (020 V externe Quelle).

Um die Schaltung zu testen, wurde der Echoausgang des Sensors an den Eingang von PIN2 angeschlossen und der Triggereingang wurde an PIN4 angeschlossen. Mit dieser Verbindung konnten wir die Schaltung für jeden der in Tabelle 1 angegebenen Entfernungsbereiche testen und die Ergebnisse waren wie folgt in Abbildung 8, Abbildung 9, Abbildung 10, Abbildung 11, Abbildung 12, Abbildung 13, Abbildung 14, Abbildung 15 und Abbildung 16.

Die Ergebnisse belegen, dass die Schaltung wie erwartet funktioniert und das GreenPAK-Modul als Schnittstelle für den Ultraschall-Distanzsensor fungieren kann. Aus den Tests konnte die entworfene Schaltung die Zustandsmaschine und die internen Komponenten verwenden, um den erforderlichen Triggerimpuls zu erzeugen und die zurückkommende Echoverzögerung in die angegebenen Kategorien (mit 25-cm-Schritten) einzuordnen. Diese Messungen wurden mit dem System online durchgeführt und alle 100 ms (10 Mal pro Sekunde) gemessen, was zeigt, dass die Schaltung gut für kontinuierliche Entfernungsmessanwendungen wie Einparkhilfen usw. funktioniert.

Schritt 5: Mögliche Ergänzungen

Um weitere Verbesserungen des Projekts zu implementieren, könnte der Konstrukteur den Abstand erhöhen, um den gesamten Ultraschallsensorbereich zu kapseln (wir sind derzeit in der Lage, die Hälfte des Bereichs von 0 m bis 2 m zu klassifizieren, und der gesamte Bereich reicht von 0 m bis 4 m). Eine andere mögliche Verbesserung wäre, den entfernungsgemessenen Echoimpuls zur Anzeige in BCD-Displays oder LCD-Displays umzuwandeln.

Abschluss

In diesem Instructable wurde ein digitaler Ultraschall-Distanzsensor mit dem GreenPAK-Modul als Steuereinheit implementiert, um den Sensor anzutreiben und seine Echoimpulsausgabe zu interpretieren. Das GreenPAK implementiert ein ASM zusammen mit mehreren anderen internen Komponenten, um das System zu steuern.

Die Entwicklungssoftware und das Entwicklungsboard von GreenPAK erwiesen sich als hervorragende Werkzeuge für schnelles Prototyping und Simulation während des Entwicklungsprozesses. Die internen Ressourcen des GreenPAK, einschließlich ASM, Oszillatoren, Logik und GPIOs, waren einfach zu konfigurieren, um die gewünschte Funktionalität für dieses Design zu implementieren.

Empfohlen: