Ultraschall mit Matlab/Simulink: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 13: Zeile 13:
<br/>
<br/>
== Aufbau und Schaltplan ==  
== Aufbau und Schaltplan ==  
[[Bild:Schaltplan_NXTUltrasonic.jpeg|thumb|800px|right|Abb. 1: Schaltplan des Lego Mindstorms NXT Ultraschallsensors]]
Primäre Elemente des Sensors sind der Mikrocontroller ESC015 und der dazugehörige externe Oszillator mit einer Frequenz von 3.58MHz, die Piezo Sender und Empfänger TCT40-12F2 / TCT40-12S2 und die 6-fache invertierende Treiberstufe mit dem Baustein CD4049. <br/>
Primäre Elemente des Sensors sind der Mikrocontroller ESC015 und der dazugehörige externe Oszillator mit einer Frequenz von 3.58MHz, die Piezo Sender und Empfänger TCT40-12F2 / TCT40-12S2 und die 6-fache invertierende Treiberstufe mit dem Baustein CD4049. <br/>
Der ESC015 ist ein spezieller 4-bit RISC Sound Prozessor mit drei verschiedenen I/O Ports, wobei Port 1 nur als reiner Input-Port verwendet werden darf. Alle Ports haben Softwarekontrollierte "Pull Low" Widerstände. Zudem verfügt der Mikrocontroller über eine I2C-Schnittstelle.
Der ESC015 ist ein spezieller 4-bit RISC Sound Prozessor mit drei verschiedenen I/O Ports, wobei Port 1 nur als reiner Input-Port verwendet werden darf. Alle Ports haben Softwarekontrollierte "Pull Low" Widerstände. Zudem verfügt der Mikrocontroller über eine I2C-Schnittstelle.

Version vom 4. Mai 2018, 08:23 Uhr

Autor: Sven Gaida
Betreuer: Prof. Dr.-Ing. Ulrich Schneider
Sensor: Lego Ultraschall 9846

Das Ziel der Lehrveranstaltung „Signalverarbeitende Systeme“ mit dieser semesterbegleitenden Prüfung ist es eine Signalverarbeitungskette beschreiben, untersuchen und verstehen zu können. Die Untersuchung des Sensors wird mit der Entwicklungsumgebung MATLAB/Simulink durchgeführt.

Einleitung

Der Lego Mindstorms NXT Ultraschallsensor (Artikel 9846), weiterhin nur NXT Ultraschallsensor genannt, ist ein von Lego entwickelter Sensor um Abstände zwischen sich und der Umgebung zu messen. Der NXT Ultraschallsensor wurde erstmalig Anfang 2006 auf der Messe „Consumer Electroncis Show“ vorgestellt und war seitdem ein fester Bestandteil verschiedener Lego Mindstorms NXT-Sets. Heutzutage ist der NXT Ultraschallsensor nur noch ein Auslaufmodell, da die NXT-Serie Anfang 2013 durch die EV3-Serie abgelöst wurde. Aufgrund dieser Erneuerung wurden einige NXT-Bauteile, darunter auch der NXT Ultraschallsensor, durch neuere und verbesserte Bauteile ausgetauscht. [1]

Sensorbeschreibung

Der NXT Ultraschallsensor ermöglicht dem System Abstände zu verschiedenen Objekten berührungslos zu erkennen und ebenfalls die Distanz zum Sensor zu messen. Hierfür sind in dem NXT Ultraschallsensor zwei Piezokeramische Elemente verbaut. Einer arbeitet als Sender und der andere als Empfänger.

Aufbau und Schaltplan

Abb. 1: Schaltplan des Lego Mindstorms NXT Ultraschallsensors

Primäre Elemente des Sensors sind der Mikrocontroller ESC015 und der dazugehörige externe Oszillator mit einer Frequenz von 3.58MHz, die Piezo Sender und Empfänger TCT40-12F2 / TCT40-12S2 und die 6-fache invertierende Treiberstufe mit dem Baustein CD4049.
Der ESC015 ist ein spezieller 4-bit RISC Sound Prozessor mit drei verschiedenen I/O Ports, wobei Port 1 nur als reiner Input-Port verwendet werden darf. Alle Ports haben Softwarekontrollierte "Pull Low" Widerstände. Zudem verfügt der Mikrocontroller über eine I2C-Schnittstelle.

Tab. x: ESC015 Pinbelegung
Symbol I/0 Funktionsbeschreibung
OSCI I Oszillator In
OSCO O Oszillator Out
P1.0~3 I Bits 0~3 Port 1
P2.0~3 I/O Bits 0~3 Port 2
P3.0~3 I/O Bits 0~3 Port 3
VCC I 2.2V bis 5.1V Versorgungsspannung
GND I Masse
RESETB I Reset Pin (intern pull-high)


Bussystem

Der Sensor kommuniziert mittels dem I2C-Protokoll auf dem I2C-Bus. I2C, auch TWI (Two-Wire-Interface) genannt, ist eine von der Firma Philips (heute NXT) entwickelte synchrone serielle Zweidraht-Verbindung, somit werden für die Kommunikation mit dem Sensor nur zwei weitere Leitungen, die Taktleitung SCL (Serial Clock) und die Datenleitung SDA (Serial Data), benötigt. Obwohl der I2C Bus vor guten 30 Jahren entwickelt worden ist, ist es heutzutage aufgrund der einfachen Implementierung, der niedrigen Kosten und der hohen Übertragungsrate noch immer ein Industriestandard für Steuerungs-, Diagnose und Überwachungslösungen in eingebetteten Systemen. [2]
I2C wurde als Master-Slave-Bus konzipiert, sodass ein Datentransfer immer durch einen Master gestartet wird. Der Master gibt den Takt und den Betriebsmodus vor und initiiert die byteweise Datenübertragung. Mit einer 7-Bit-Adresse können bis zu 112 Slaves und einer 10-Bit-Adresse bis zu 1008 Slaves angesprochen werden.

Einzelnachweise

  1. "Lego Mindstorms NXT" von Wikipedia
  2. "I2C-Bus" von ELV Journal