Ultraschall-Objekterkennung mit TI PGA460 – Teil 1

5

15.10.2019 von plaintron

Hindernisse per Ultraschall erkennen ist inzwischen keine große Sache mehr. Es gibt diverse fertig aufgebaute Boards mit Piezo-Schallwandlern, die auf 40kHz arbeiten und etwa mit Arduino-Boards leicht anzusteuern sind. Das derzeit bekannteste Modul dürfte das HC-SR04 sein. Hier sind Sender und Empfänger getrennt und die Schnittstelle zum Mikrocontroller besteht aus einem Time-Command-Interface, bei dem die Dauer eines Impulses den Abstand zum erkannten Objekt repräsentiert. Ein ähnliches Modul gibt es auch mit einem einzelnen Wandler in wasserdichter Ausführung. Arduino-Libraries für diese Fertigmodule sind verfügbar.

Um eine Ultraschall-Messung durchzuführen, werden gewöhnlich mehrere 40kHz-Bursts erzeugt und mit hoher Spannung auf den Piezo-Sender geführt. Das Echo wird dann mit dem Empfänger-Piezo detektiert und die Laufzeit des Signals berechnet, welche proportional zum Abstand ist. Auf den üblichen China-Modulen findet sich ein 8-bit PIC-Controller für Steuerung und Interfacing, dazu oft ein einfaches OP-IC für die Verstärkung des empfangenen Echosignals sowie ein MAX232-Klon, der eigentlich für die Ansteuerung serieller Schnittstellen verwendet wird. Hier hat er nur die Aufgabe, die Burst-Signale vom Controller mittels einer Ladungspumpe und eines Transformators auf eine Spannung von 80-160V umzusetzen, die für die Ansteuerung des Piezo-Senders notwendig ist.

So weit so gut, bei massiven Objekten ist im Bereich von 0,5 – 4m eine recht zuverlässige Erkennung möglich. Interessant wird es, wenn Messungen über große Entfernungen (bis zu 10m) oder sehr kleine Abstände (im cm-Bereich) gebraucht werden. Auch für Sonar-Anwendungen oder Ultraschall-Materialprüfungen sind die Anforderungen an die Ansteuerung deutlich größer. Ein weiterer Faktor, der die Ultraschall-Messung verkompliziert, ist eine Umgebung mit vielen Störgeräuschen und Echoquellen oder mit starkem Wind. Und hier kommt das IC PGA460 von Texas Instruments ins Spiel. Dieses IC habe ich mir besorgt, um für ein aktuelles Projekt Objekte unterschiedlicher Größe bei erschwerten Bedingungen zu erkennen.

Das PGA460(-Q1) beinhaltet einen Mikrocontroller mit DSP sowie diverse Analogschaltungen für die Signalverarbeitung, z.B. Leistungsendstufe und Vorverstärker. Das Design des PGA460 ist so angelegt, dass sich prinzipiell fast jede Ultraschall-Anwendung damit umsetzen lässt. Die Einstellmöglichkeiten sind so umfangreich, dass man wirklich vollständig verstehen muss, wie was funktioniert, um ordentliche Ergebnisse zu erzielen. Dazu kommen wir später. Zunächst werfen wir einen Blick auf die Hardware:

Über drei verschiedene Schnittstellen lässt sich ein Hauptcontroller mit dem PGA460 verbinden. Die einfachste Möglichkeit ist über UART. Die Erkennung der Übertragungsgeschwindigkeit erfolgt automatisch, indem vor jedem Befehl ein Sync-Byte (0x55 = b01010101) gesendet wird. Neben dem normalen UART-Aufbau mit TX- und RX-Leitung ist auch die Kommunikation über eine einzige Leitung im Halbduplex-Verfahren möglich.

Die UART-Schnittstelle arbeitet im SPI-Modus, sobald zusätzlich ein Taktsignal am CLK-Eingang anliegt. Am Aufbau des Protokolls ändert sich dadurch nichts. Der Vorteil des SPI-Modus liegt in der wesentlich höheren Datenübertragungsrate (max. 8MHz). Zu beachten ist hier, dass Tx (MISO) und Rx (MOSI) Pullup-Widerstände benötigen, um zuverlässig zu funktionieren. Der UART-Modus funktioniert auch ohne Widerstände. Eine CS-Leitung für das SPI-Interface fällt hier übrigens weg, weil das IC adressiert wird.

Die langsamste Schnittstelle ist das Time-Command-Interface (TCI). Das ist ein einzelner Pin (IO), über den sich das IC durch Impulsfolgen bestimmter Längen steuern lässt. Über dieses Interface können nicht alle Funktionen des PGA460 genutzt werden. Wird kein TCI-Mode verwendet, steht der IO-Pin für andere Funktionen zur Verfügung. Er lässt sich auf verschiedene Punkte des Signalweges im PGA460 schalten und ermöglicht so z.B. Audio-Debugging.

Als Ausgang stehen zwei Pins zur Verfügung, die von einem Brückenverstärker angesteuert werden. Damit lässt sich eine Ausgangs-Amplitude von 2xUB erreichen. Liegt die Betriebsspannung bei 8V, ergibt das eine Amplitude von 16V, was zur Ansteuerung des Piezo-Senders nicht ausreicht. Deshalb wird ein Signaltransformator mit einem Übertragungsverhältnis von ca. 1:8 bis 1:10 verwendet.

Das eingehende Echo-Signal vom Mikrofon kann symmetrisch oder unsymmetrisch in den Eingangsverstärker des PGA460 eingespeist werden. Üblicherweise wird nur der nichtinvertierende Eingang verwendet und der invertierende Eingang auf Masse gelegt.

Die anschließende Signalverarbeitung in der Eingangsschaltung (Analog Front-End) lässt sich durch viele Einstellungen beeinflussen. Neben einer statischen Verstärkung ist es möglich, die Verstärkung in Abhängigkeit von der Signallaufzeit zu verändern und so etwa Echos von weit entfernten Objekten mehr zu verstärken als von nahen Objekten. Außerdem lassen sich verschiedene Filter auf den Eingang legen, Hüllkurven für die Objekterkennung festlegen und vieles mehr.

Um das PGA460 kennen zu lernen, empfiehlt sich die Anschaffung des Evaluation Kits von TI. Dieses besteht aus einer Platine mit PGA460, Stromversorgung und Analogschalter-ICs für die unterschiedlichen Schnittstellen sowie einer kleinen Zusatzplatine, auf der Schallwandler und Transformator sitzen.

Angesteuert wird die Signalplatine über ein MSP430-Experimentierboard vom Typ Launchpad, das ähnlich wie ein Arduino-Board funktioniert, aber dazu nicht hardwarekompatibel ist. Auf dem MSP430 wird eine Firmware USB2Any installiert, welche die Kommunikation mit dem PC erlaubt.

Um nun das PGA460 zu testen, wird eine Software benötigt (EVM GUI), die nur für Windows verfügbar ist. Über dieses Programm lassen sich einzelne Werte und Einstellungen auf das PGA460 übertragen und die empfangenen Daten auswerten und anzeigen.

Das PGA460 verfügt über 17 Funktionen, mit denen etwa Einstellungen an das IC übermittelt oder gesammelte Daten abgerufen werden können. Für eine vollständige Messung sind mehrere Befehle notwendig. Zunächst werden Einstellungen an das PGA460 übermittelt, dann wird die Messung ausgeführt und im letzten Schritt werden entweder berechnete Messwerte oder ein Dump des gesamten Echosignals abgerufen.

Wie diese Befehle genau aufgebaut sind und was sie bewirken, soll Thema des nächsten Artikels sein.

5 Kommentare zu “Ultraschall-Objekterkennung mit TI PGA460 – Teil 1

  1. […] Ultraschall-Objekterkennung mit TI PGA460 – Teil 1 […]

    Liken

  2. […] Ultraschall-Objekterkennung mit TI PGA460 – Teil 1 […]

    Liken

  3. […] Ultraschall-Objekterkennung mit TI PGA460 – Teil 1 […]

    Liken

  4. […] Ultraschall-Objekterkennung mit TI PGA460 – Teil 1 […]

    Liken

  5. […] Ultraschall-Objekterkennung mit TI PGA460 – Teil 1 […]

    Liken

Kommentieren

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Blogverzeichnis - Bloggerei.de

RSS Make:

  • Umweltsensoren: Mini-Version der Sensebox erhältlich
  • heise-Angebot: Robotik: Grundlagen für den schnellen Einstieg
%d Bloggern gefällt das: