55
Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 [email protected] Prof. Bernd Finkbeiner, Ph.D. [email protected] 1

Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 [email protected] Prof. Bernd Finkbeiner, Ph.D. [email protected]

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Einführung in

Eingebettete Systeme

Vorlesung 3 Bernd Finkbeiner30/10/2013 [email protected]

Prof. Bernd Finkbeiner, [email protected]

1

Page 2: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Letzte Woche: StateCharts – Automaten mit zusätzlichen Konstrukten

! Hierarchie! Variablen mit komplexen Datentypen! Timer

2

Achtung: Bedeutung (Semantik) von StateCharts nicht einheitlich (mehr dazu später).

! Referenzsemantik: Statemate! StateFlow Semantik! UML! ...

Page 3: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Hierarchie

incl.

3

Page 4: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Variablen

4

Page 5: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Timer

5

Page 6: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Semantik

! Mehrere aktive Ereignisse

! Ereignisse werden gesammeltund stehen dann im gesamtenChart zur Verfügung.

! Nichtdeterminismus ist erlaubt.

! AND-Zustände werden synchron ausgeführt

! Variablenwerte ändern sich am Endeeines Schritts.

6

! Max. 1 aktives Ereignis

! Ereignisse werden sofort an den Empfänger weitergegeben.

! Nichtdeterminismus ist nicht erlaubt.

! AND-Zustände werden sequentiell ausgeführt

! Variablenwerte ändern sich sofort.

Statemate (Referenzsemantik) Stateflow

Page 7: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Statemate Semantik

! Die Ausführung eines Charts besteht aus einer Sequenz von Schritten

! Jeder Schritt wechselt von einem Status zum nächsten

! Ein Schritt:! Gegeben:

• Aktueller Status si

• Aktuelle Zeit t• Externe Änderungen Δ

! Konstruiert wird:• neuer Status si+1

7

Page 8: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Systemstatus

Der aktuelle Status besteht aus

! Menge von aktiven Zuständen! aktuelle Variablenwerte! im vorhergehenden Schritt generierte Ereignisse! die Werte der History Konnektoren! Menge aller Timeout-Ereignisse <tm(e, d), n> im Chart

mit „Emissionszeiten“ n

8

Page 9: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Externe Ereignisse und Änderungen

! Externe Daten und Ereignisse bilden die Schnittstelle zwischen System und Umgebung.

! Externe Ereignisse und Änderungen von Daten geschehen zu einem bestimmten (physikalischen) Zeitpunkt.

9

Page 10: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

StateMate Semantik

Drei Phasen

1. Die Auswirkungen von externen Änderungen und Ereignissen seit dem letzten Schritt werden berücksichtigt.

2. Die im aktuellen Schritt auszuführenden Transitionen werden bestimmt. Die rechte Seite von Zuweisungen wird berechnet.

3. Die Transitionen werden ausgeführt, die Variablen erhalten ihre neuen Werte.

10

Page 11: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Beispiel

! In Phase 2 werden die neuen Werte von a und b berechnet, aber noch nicht zugewiesen. Dies geschieht erst in Phase 3. Die Werte von a und b werden dadurch vertauscht.

! Ohne die Trennung in separate Phasen hätten a und b am Ende den gleichen Wert.

11

Page 12: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Motivation

! In synchroner Hardware werden die Registerwerte ebenfalls vertauscht.

Eine ähnliche Aufteilung in Phasen findet sich in Hardwarebeschreibungssprachen.

12

Page 13: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Broadcast Mechanismus

! Variablenwerte sind im gesamten Chart sichtbar,d.h. die in Phase 3 zugewiesenen Werte werden von allen Teilen des Modells in Phase 1 des folgenden Schritts gelesen.

" StateCharts eignen sich zur Beschreibung von lokalen Steuerungssystemen, aber nicht für verteilte Anwendungen, bei denen die Übertragung von Daten Zeit kostet.

13

Page 14: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Zeitmodell

! Externe Ereignisse und Änderungen (d.h., solche die in der Umgebung passieren) geschehen zu einer bestimmten physikalischen Zeit.

! Die “interne” Zeit wird durch die Semantik beschrieben.! Wieviele Schritte passieren bevor eine externe Änderung

verarbeitet wird?

14

Page 15: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Synchrones Zeitmodell

! Ein Schritt pro Zeiteinheit.! Wenn der aktuelle Schritt zur Zeit t ausgeführt wird,

dann wird der folgende Schritt zur Zeit t+1 ausgeführt.

! Externe Ereignisse und Änderungen während der Zeiteinheit werden gesammelt.

15

Page 16: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Superschritt Zeitmodell

! Ein Schritt des Charts benötigt keine physikalische Zeit.! Superschritte bestehen aus mehreren Schritten:

! Jeder Superschritt ist eine Sequenz von Schritten.! Der Superschritt terminiert wenn das System stabil geworden ist

(keine weiteren Änderungen).! Während eines Superschritts bleibt die physikalische Zeit stehen,

damit geschehen keine externen Änderungen!! Nach dem Superschritt läuft die physikalische Zeit weiter,

und Aktivitäten in der Umgebung sind wieder möglich.! Das Statechart wird wieder aktiv wenn

! durch externe Änderungen die Bedingung einer Transition wahr wird, oder

! Timeout Ereignisse eintreten.

16

Page 17: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Superschritt Zeitmodell

17

Page 18: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Superschritt Zeitmodell

! Die Anzahl der Transitionen innerhalb eines Superschritts ist nicht beschränkt. Alle diese Transitionen (und die dafür erforderliche Kommunikation) verbraucht keine physikalische Zeit.

! Vereinfachtes Modell der Realität!! Nur realistisch wenn

! Diskrete Berechnungen schnell sind im Vergleich zur Dynamik der Umgebung

! Stabilität der diskreten Berechnung nach einer beschränken Anzahl von Schritten erreicht wird

18

Page 19: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Semantiken für StateCharts ohne Superschritte

! Viele StateChart Varianten verwenden keine Superschritte (UML, Stateflow), oder bieten Superschritte als Option.

! Eher inspiriert durch Software als durch synchrone Hardware.

19

Page 20: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

StateCharts als Modellierungswerkzeug

Vorteile:

! Hierarchie erlaubt lesbare und kompakte Darstellung,! beliebige Kombination von AND- und OR-Superzuständen,! Kommerzielle Simulationstools verfügbar

(StateMate, StateFlow, BetterState, ...),! Codegeneratoren nach C, VHDL, etc verfügbar

damit ist eine automatische Implementierung in Software oder Hardware möglich.

20

Page 21: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

StateCharts als Modellierungswerkzeug

Nachteile:! ungeeignet für verteilte Anwendungen,! keine Beschreibung nicht-funktionalen Verhaltens

(z.B. Energieverbrauch),! keine typischen Programmkonstrukte,! keine Objektorientierung,! automatisch generierter Code oft weniger effizient als

handgeschriebener Code.

21

Page 22: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

5. Sensoren und Aktoren

Ziele:

! Überblick über wichtige Sensor/Aktortypen! Funktionsprinzip von A/D Wandlern

Page 23: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Hardware “in a loop”

actuators

23

Page 24: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

5ATmega48A/PA/88A/PA/168A/PA/328/P [DATASHEET SUMMARY]8271GS–AVR–02/2013

2. OverviewThe ATmega48A/PA/88A/PA/168A/PA/328/P is a low-power CMOS 8-bit microcontroller based on the AVRenhanced RISC arch i tec ture . By execut ing power fu l ins t ruc t ions in a s ing le c lock cyc le , theATmega48A/PA/88A/PA/168A/PA/328/P achieves throughputs approaching 1 MIPS per MHz allowing the systemdesigner to optimize power consumption versus processing speed.

2.1 Block Diagram

Figure 2-1. Block Diagram

The AVR core combines a rich instruction set with 32 general purpose working registers. All the 32 registers aredirectly connected to the Arithmetic Logic Unit (ALU), allowing two independent registers to be accessed in onesingle instruction executed in one clock cycle. The resulting architecture is more code efficient while achievingthroughputs up to ten times faster than conventional CISC microcontrollers.

PORT C (7)PORT B (8)PORT D (8)

USART 0

8bit T/C 2

16bit T/C 18bit T/C 0 A/D Conv.

InternalBandgap

AnalogComp.

SPI TWI

SRAMFlash

EEPROM

WatchdogOscillator

WatchdogTimer

OscillatorCircuits /

ClockGeneration

PowerSupervisionPOR / BOD &

RESET

VC

C

GN

D

PROGRAMLOGIC

debugWIRE

2

GND

AREF

AVCC

DAT

AB

US

ADC[6..7]PC[0..6]PB[0..7]PD[0..7]

6

RESET

XTAL[1..2]

CPU

ATmega328 - E/A

24[www.atmel.com]

! 14 digitaleAnschlüsse

! 8 analoge AnschlüsseAuflösung: 10 bit(= 1024 verschiedene Werte)

! Richtung programmierbar

Page 25: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Beispielprogramm: Blink

25[http://arduino.cc/en/Tutorial/Blink]

/* Blink Turns on an LED on for one second, then off for one second, repeatedly. */ // Pin 13 has an LED connected on most Arduino boards.// give it a name:int led = 13;

// the setup routine runs once when you press reset:void setup() // initialize the digital pin as an output. pinMode(led, OUTPUT);

// the loop routine runs over and over again forever:void loop() digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second

Page 26: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

M260

26

0RGH05DWHG9ROWDJH9'&

9ROWDJHᨺ9'&

5RWDWLRQFORFNZLVHIURPWKHPRWRUVKDIW

6WRUH 7HPSHUDWXUH UDQJHഒᨺ ഒ VWRUH KXPLGLW\ a

VXJJHVWQRWVWRUHPRUHWKDQ\HDU

1RORDGFXUUHQWP$PD[

1RORDGVSHHGUSP

1RORDGVWDUWYROWDJH9PD[

/RFNHGURWRUFXUUHQW$ᇭ

,QVXODWLRQLPSRGDQFH0˖PLQ

1HWZHLJKWDERXWJ

Page 27: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Pulsweitenmodulation (PWM)

! Der Mittelwert einer Spannung kann mittels PWM proportional zum Tastgrad vermindert werden.

27[http://de.wikipedia.org/wiki/Pulsweitenmodulation, http://arduino.cc/en/Tutorial/PWM]

PWM-Signal mit Tastgradt1/T = 0,25

Page 28: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Beispielprogramm: Fade

28[http://arduino.cc/en/Tutorial/Fade]

int led = 9; // the pin that the LED is attached toint brightness = 0; // how bright the LED isint fadeAmount = 5; // how many points to fade the LED by

void setup() // declare pin 9 to be an output: pinMode(led, OUTPUT);

// the loop routine runs over and over again forever:void loop() // set the brightness of pin 9: analogWrite(led, brightness);

// change the brightness for next time through the loop: brightness = brightness + fadeAmount;

// reverse the direction of the fading at the ends of the fade: if (brightness == 0 || brightness == 255) fadeAmount = -fadeAmount ; // wait for 30 milliseconds to see the dimming effect delay(30);

Page 29: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Sensorsysteme

! Sensor: erkennt/misst Größe und übersetzt in elektrischen Strom/Spannung

! Verstärker: bringt das Signal in den Eingangsbereich für die Analog/Digital Wandlung

! Abtast-Halte Schaltung: hält analogen Spannungswert kurzzeitig auf einem definiterten Wert

! A/D Wandler: setzt analogen Wert in digitalen Wert um

Sensor Verstärker Abtast-Halte

Schaltung A/D

Wandler

29

Page 30: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

30

Page 31: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Ultraschall-Messmodul HC-SR04

! Entfernungsmessung 2cm - 3m! Auflösung 3mm! Messinterval 20ms! Versorgungsspannung 5V! Stromaufnahme <2mA

! Hinderniserkennung! Entfernungsmessung! Füllstandsanzeige

31

Ultraschall MessmodulHC-SR04

Beschreibung: Das Ultraschall Modul HC-SR04 eignet sich zur Entfernungsmessung im Bereich zwischen 2cm und ca. 3m mit einer Auflösung von 3mm. Es benötigt nur eine einfache Versorgungsspannung von 5V bei einer Stromaufnahme von <2mA. Nach Triggerung mit einer fallenden Flanke (TTL - Pegel) misst das Modul selbstständig die Entfernung und wandelt diese in ein PWM Signal welches am Ausgang zur Verfügung steht. Ein Messintervall hat eine Dauer von 20ms. Es können also 50 Messungen pro Sekunde durchgeführt werden.

Anwendungsbereiche: Hinderniserkennung, Entfernungs- messung, Füllstandanzeiger, Industrieanwendungen.

Pinbeschreibung:

1: VCC, Versorgungsspannung 5V

2: Triggereingang, TTL-Pegel 3: Echo, Ausgang Messergebnis, TTL-Pegel 4: GND, 0V

Power Supply VCC +5V +-10%, GND 0V

Signal Level (Trigger, Echo) TTL Pegel (L < 1,0V)

messbare Distanz 2cm - ca. 300cm

Messintervall 0,3cm

Messungen pro Sekunde maximal 50

Abmessungen (l, b, t) mm 45 x 21 x 18

Anwendung:Das Auslösen eines Messzyklus geschieht durch eine fallende Flanke am Triggereingang (Pin 2) für mindestens 10µs. Das Modul sendet darauf nach ca. 250µs ein 40 kHz Burst-Signal für die Dauer von 200µs. Danach geht der Ausgang (Echo, Pin 3) sofort auf H-Pegel und das Modul wartet auf den Empfang des Echos. Wird dieses detektiert fällt der Ausgang auf L-Pegel. 20ms nach Triggerung kann eine weitere Messung stattfinden. Wird kein Echo detektiert verweilt der Ausgang für insgesamt 200ms auf H-Pegel und zeigt so die erfolglose Messung an. Danach wartet das Modul auf die nächste fallende Flanke am Triggereingang und die Messung beginnt neu.Die besten Messergebnisse ergeben sich bei Reflektion an glatten, ebenen Flächen. Bei Distanzen bis 1m ist das Material der Fläche recht unkritisch. Der Winkel zum Objekt kann bei kurzen Distanzen von unter 1m bis etwa 45° betragen. Auch recht dünne Objekte werden zuverlässig erkannt. Ein normaler Kugelschreiber z.B. lässt sich bis auf eine Distanz von ca. 30cm sicher erfassen. Bei der maximalen Distanz von 3m muss schon genau gezielt werden und es sollten keine anderen Gegenstände in ähnlicher Entfernung im Sendekegel von 15° vorhanden sein.

Januar 2012, Copyright © KT-Elektronic 1/3 tt

Anwendungen:

Page 32: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Anwendung

32

Ultraschall MessmodulHC-SR04

Beschreibung: Das Ultraschall Modul HC-SR04 eignet sich zur Entfernungsmessung im Bereich zwischen 2cm und ca. 3m mit einer Auflösung von 3mm. Es benötigt nur eine einfache Versorgungsspannung von 5V bei einer Stromaufnahme von <2mA. Nach Triggerung mit einer fallenden Flanke (TTL - Pegel) misst das Modul selbstständig die Entfernung und wandelt diese in ein PWM Signal welches am Ausgang zur Verfügung steht. Ein Messintervall hat eine Dauer von 20ms. Es können also 50 Messungen pro Sekunde durchgeführt werden.

Anwendungsbereiche: Hinderniserkennung, Entfernungs- messung, Füllstandanzeiger, Industrieanwendungen.

Pinbeschreibung:

1: VCC, Versorgungsspannung 5V

2: Triggereingang, TTL-Pegel 3: Echo, Ausgang Messergebnis, TTL-Pegel 4: GND, 0V

Power Supply VCC +5V +-10%, GND 0V

Signal Level (Trigger, Echo) TTL Pegel (L < 1,0V)

messbare Distanz 2cm - ca. 300cm

Messintervall 0,3cm

Messungen pro Sekunde maximal 50

Abmessungen (l, b, t) mm 45 x 21 x 18

Anwendung:Das Auslösen eines Messzyklus geschieht durch eine fallende Flanke am Triggereingang (Pin 2) für mindestens 10µs. Das Modul sendet darauf nach ca. 250µs ein 40 kHz Burst-Signal für die Dauer von 200µs. Danach geht der Ausgang (Echo, Pin 3) sofort auf H-Pegel und das Modul wartet auf den Empfang des Echos. Wird dieses detektiert fällt der Ausgang auf L-Pegel. 20ms nach Triggerung kann eine weitere Messung stattfinden. Wird kein Echo detektiert verweilt der Ausgang für insgesamt 200ms auf H-Pegel und zeigt so die erfolglose Messung an. Danach wartet das Modul auf die nächste fallende Flanke am Triggereingang und die Messung beginnt neu.Die besten Messergebnisse ergeben sich bei Reflektion an glatten, ebenen Flächen. Bei Distanzen bis 1m ist das Material der Fläche recht unkritisch. Der Winkel zum Objekt kann bei kurzen Distanzen von unter 1m bis etwa 45° betragen. Auch recht dünne Objekte werden zuverlässig erkannt. Ein normaler Kugelschreiber z.B. lässt sich bis auf eine Distanz von ca. 30cm sicher erfassen. Bei der maximalen Distanz von 3m muss schon genau gezielt werden und es sollten keine anderen Gegenstände in ähnlicher Entfernung im Sendekegel von 15° vorhanden sein.

Januar 2012, Copyright © KT-Elektronic 1/3 tt

Ultraschall MessmodulHC-SR04

Beschreibung: Das Ultraschall Modul HC-SR04 eignet sich zur Entfernungsmessung im Bereich zwischen 2cm und ca. 3m mit einer Auflösung von 3mm. Es benötigt nur eine einfache Versorgungsspannung von 5V bei einer Stromaufnahme von <2mA. Nach Triggerung mit einer fallenden Flanke (TTL - Pegel) misst das Modul selbstständig die Entfernung und wandelt diese in ein PWM Signal welches am Ausgang zur Verfügung steht. Ein Messintervall hat eine Dauer von 20ms. Es können also 50 Messungen pro Sekunde durchgeführt werden.

Anwendungsbereiche: Hinderniserkennung, Entfernungs- messung, Füllstandanzeiger, Industrieanwendungen.

Pinbeschreibung:

1: VCC, Versorgungsspannung 5V

2: Triggereingang, TTL-Pegel 3: Echo, Ausgang Messergebnis, TTL-Pegel 4: GND, 0V

Power Supply VCC +5V +-10%, GND 0V

Signal Level (Trigger, Echo) TTL Pegel (L < 1,0V)

messbare Distanz 2cm - ca. 300cm

Messintervall 0,3cm

Messungen pro Sekunde maximal 50

Abmessungen (l, b, t) mm 45 x 21 x 18

Anwendung:Das Auslösen eines Messzyklus geschieht durch eine fallende Flanke am Triggereingang (Pin 2) für mindestens 10µs. Das Modul sendet darauf nach ca. 250µs ein 40 kHz Burst-Signal für die Dauer von 200µs. Danach geht der Ausgang (Echo, Pin 3) sofort auf H-Pegel und das Modul wartet auf den Empfang des Echos. Wird dieses detektiert fällt der Ausgang auf L-Pegel. 20ms nach Triggerung kann eine weitere Messung stattfinden. Wird kein Echo detektiert verweilt der Ausgang für insgesamt 200ms auf H-Pegel und zeigt so die erfolglose Messung an. Danach wartet das Modul auf die nächste fallende Flanke am Triggereingang und die Messung beginnt neu.Die besten Messergebnisse ergeben sich bei Reflektion an glatten, ebenen Flächen. Bei Distanzen bis 1m ist das Material der Fläche recht unkritisch. Der Winkel zum Objekt kann bei kurzen Distanzen von unter 1m bis etwa 45° betragen. Auch recht dünne Objekte werden zuverlässig erkannt. Ein normaler Kugelschreiber z.B. lässt sich bis auf eine Distanz von ca. 30cm sicher erfassen. Bei der maximalen Distanz von 3m muss schon genau gezielt werden und es sollten keine anderen Gegenstände in ähnlicher Entfernung im Sendekegel von 15° vorhanden sein.

Januar 2012, Copyright © KT-Elektronic 1/3 tt

Page 33: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Single-Shot Modus

33

Ultraschall Messmodul HC-SR04

Single Shot Modus:Im folgenden ist eine einzelne Messung zu sehen. Kanal 2 ist das Triggersignal, Kanal 1 der Ausgang. Die Laufzeit des Ultraschall-Burst beträgt bei dieser Messung etwa 600µs (200µs/Div). Die angezeigte Zeit von 456µs setzt sich aus dem 250µs Delay nach Triggerung und dem anschließenden 200µs Burst zusammen.

Auswertung der Messung: Für die Berechnung der Entfernung zum Messobjekt wird nun die Schallgeschwindigkeit in Luft von 343m/S (bei 20°C) herangezogen.343m/S entsprechen 34,3cm pro Millisekunde (ms)Daraus ergibt sich für dieses Beispiel bei 600µS (0,6ms):

34,3cm x 0,6ms eine Laufstrecke von 20,6cm die das Signal zurückgelegt hat.

Da es sich um ein Echo handelt wird die Strecke zwei mal durchlaufen, weshalb wir den Wert halbieren müssen.

20,6cm / 2 = 10,3cm Abstand zum Messobjekt.

Kontinuierliche Messung:Es besteht die Möglichkeit eine permanente Messung durchzuführen. Da das Modul auf die fallende Flanke des Triggereingangs reagiert ist es nicht nötig ein kurzes Triggersignal zu erzeugen. Es genügt ein Rechtecksignal mit einer Frequenz kleiner 50Hz (20mS Intervall) an den Triggereingang anzulegen um eine dauernde Messung durchzuführen.Auf Kanal 2 liegt wieder der Triggereingang, das Rechtecksignal hat eine Frequenz von 25Hz die Amplitude beträgt 5V (Tastkopf 1:10).

Auswertung der Messung:

Bei dieser Messung beträgt das Intervall 40ms was 25 Messungen in der Sekunde entspricht. Das Messobjekt ist ca.180cm entfernt. Das Oszilloskop triggert diesmal auf die steigende Flanke von Kanal 1 und misst die Zeit bis zur Mittellinie. Die gemessene Laufzeit beträgt 10,4ms. Daraus ergibt sich eine Entfernung von:10,4ms x 34,3cm / 2 = 178,3cmEine weitere Messung mit einer Zeitbasis von 1ms/Div um die Messgenauigkeit zu erhöhen (ohne Bild) ergab eine Zeit von 10,56ms was einer Entfernung von 181cm entspricht. Die tatsächliche Entfernung betrug bei dieser Messung 182,5cm was eine Genauigkeit von besser 1% ergibt.

Januar 2012, Copyright © KT-Elektronic 2/3 tt

Ultraschall MessmodulHC-SR04

Beschreibung: Das Ultraschall Modul HC-SR04 eignet sich zur Entfernungsmessung im Bereich zwischen 2cm und ca. 3m mit einer Auflösung von 3mm. Es benötigt nur eine einfache Versorgungsspannung von 5V bei einer Stromaufnahme von <2mA. Nach Triggerung mit einer fallenden Flanke (TTL - Pegel) misst das Modul selbstständig die Entfernung und wandelt diese in ein PWM Signal welches am Ausgang zur Verfügung steht. Ein Messintervall hat eine Dauer von 20ms. Es können also 50 Messungen pro Sekunde durchgeführt werden.

Anwendungsbereiche: Hinderniserkennung, Entfernungs- messung, Füllstandanzeiger, Industrieanwendungen.

Pinbeschreibung:

1: VCC, Versorgungsspannung 5V

2: Triggereingang, TTL-Pegel 3: Echo, Ausgang Messergebnis, TTL-Pegel 4: GND, 0V

Power Supply VCC +5V +-10%, GND 0V

Signal Level (Trigger, Echo) TTL Pegel (L < 1,0V)

messbare Distanz 2cm - ca. 300cm

Messintervall 0,3cm

Messungen pro Sekunde maximal 50

Abmessungen (l, b, t) mm 45 x 21 x 18

Anwendung:Das Auslösen eines Messzyklus geschieht durch eine fallende Flanke am Triggereingang (Pin 2) für mindestens 10µs. Das Modul sendet darauf nach ca. 250µs ein 40 kHz Burst-Signal für die Dauer von 200µs. Danach geht der Ausgang (Echo, Pin 3) sofort auf H-Pegel und das Modul wartet auf den Empfang des Echos. Wird dieses detektiert fällt der Ausgang auf L-Pegel. 20ms nach Triggerung kann eine weitere Messung stattfinden. Wird kein Echo detektiert verweilt der Ausgang für insgesamt 200ms auf H-Pegel und zeigt so die erfolglose Messung an. Danach wartet das Modul auf die nächste fallende Flanke am Triggereingang und die Messung beginnt neu.Die besten Messergebnisse ergeben sich bei Reflektion an glatten, ebenen Flächen. Bei Distanzen bis 1m ist das Material der Fläche recht unkritisch. Der Winkel zum Objekt kann bei kurzen Distanzen von unter 1m bis etwa 45° betragen. Auch recht dünne Objekte werden zuverlässig erkannt. Ein normaler Kugelschreiber z.B. lässt sich bis auf eine Distanz von ca. 30cm sicher erfassen. Bei der maximalen Distanz von 3m muss schon genau gezielt werden und es sollten keine anderen Gegenstände in ähnlicher Entfernung im Sendekegel von 15° vorhanden sein.

Januar 2012, Copyright © KT-Elektronic 1/3 tt

Page 34: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Kontinuierliche Messung

34

Ultraschall Messmodul HC-SR04

Single Shot Modus:Im folgenden ist eine einzelne Messung zu sehen. Kanal 2 ist das Triggersignal, Kanal 1 der Ausgang. Die Laufzeit des Ultraschall-Burst beträgt bei dieser Messung etwa 600µs (200µs/Div). Die angezeigte Zeit von 456µs setzt sich aus dem 250µs Delay nach Triggerung und dem anschließenden 200µs Burst zusammen.

Auswertung der Messung: Für die Berechnung der Entfernung zum Messobjekt wird nun die Schallgeschwindigkeit in Luft von 343m/S (bei 20°C) herangezogen.343m/S entsprechen 34,3cm pro Millisekunde (ms)Daraus ergibt sich für dieses Beispiel bei 600µS (0,6ms):

34,3cm x 0,6ms eine Laufstrecke von 20,6cm die das Signal zurückgelegt hat.

Da es sich um ein Echo handelt wird die Strecke zwei mal durchlaufen, weshalb wir den Wert halbieren müssen.

20,6cm / 2 = 10,3cm Abstand zum Messobjekt.

Kontinuierliche Messung:Es besteht die Möglichkeit eine permanente Messung durchzuführen. Da das Modul auf die fallende Flanke des Triggereingangs reagiert ist es nicht nötig ein kurzes Triggersignal zu erzeugen. Es genügt ein Rechtecksignal mit einer Frequenz kleiner 50Hz (20mS Intervall) an den Triggereingang anzulegen um eine dauernde Messung durchzuführen.Auf Kanal 2 liegt wieder der Triggereingang, das Rechtecksignal hat eine Frequenz von 25Hz die Amplitude beträgt 5V (Tastkopf 1:10).

Auswertung der Messung:

Bei dieser Messung beträgt das Intervall 40ms was 25 Messungen in der Sekunde entspricht. Das Messobjekt ist ca.180cm entfernt. Das Oszilloskop triggert diesmal auf die steigende Flanke von Kanal 1 und misst die Zeit bis zur Mittellinie. Die gemessene Laufzeit beträgt 10,4ms. Daraus ergibt sich eine Entfernung von:10,4ms x 34,3cm / 2 = 178,3cmEine weitere Messung mit einer Zeitbasis von 1ms/Div um die Messgenauigkeit zu erhöhen (ohne Bild) ergab eine Zeit von 10,56ms was einer Entfernung von 181cm entspricht. Die tatsächliche Entfernung betrug bei dieser Messung 182,5cm was eine Genauigkeit von besser 1% ergibt.

Januar 2012, Copyright © KT-Elektronic 2/3 tt

Ultraschall MessmodulHC-SR04

Beschreibung: Das Ultraschall Modul HC-SR04 eignet sich zur Entfernungsmessung im Bereich zwischen 2cm und ca. 3m mit einer Auflösung von 3mm. Es benötigt nur eine einfache Versorgungsspannung von 5V bei einer Stromaufnahme von <2mA. Nach Triggerung mit einer fallenden Flanke (TTL - Pegel) misst das Modul selbstständig die Entfernung und wandelt diese in ein PWM Signal welches am Ausgang zur Verfügung steht. Ein Messintervall hat eine Dauer von 20ms. Es können also 50 Messungen pro Sekunde durchgeführt werden.

Anwendungsbereiche: Hinderniserkennung, Entfernungs- messung, Füllstandanzeiger, Industrieanwendungen.

Pinbeschreibung:

1: VCC, Versorgungsspannung 5V

2: Triggereingang, TTL-Pegel 3: Echo, Ausgang Messergebnis, TTL-Pegel 4: GND, 0V

Power Supply VCC +5V +-10%, GND 0V

Signal Level (Trigger, Echo) TTL Pegel (L < 1,0V)

messbare Distanz 2cm - ca. 300cm

Messintervall 0,3cm

Messungen pro Sekunde maximal 50

Abmessungen (l, b, t) mm 45 x 21 x 18

Anwendung:Das Auslösen eines Messzyklus geschieht durch eine fallende Flanke am Triggereingang (Pin 2) für mindestens 10µs. Das Modul sendet darauf nach ca. 250µs ein 40 kHz Burst-Signal für die Dauer von 200µs. Danach geht der Ausgang (Echo, Pin 3) sofort auf H-Pegel und das Modul wartet auf den Empfang des Echos. Wird dieses detektiert fällt der Ausgang auf L-Pegel. 20ms nach Triggerung kann eine weitere Messung stattfinden. Wird kein Echo detektiert verweilt der Ausgang für insgesamt 200ms auf H-Pegel und zeigt so die erfolglose Messung an. Danach wartet das Modul auf die nächste fallende Flanke am Triggereingang und die Messung beginnt neu.Die besten Messergebnisse ergeben sich bei Reflektion an glatten, ebenen Flächen. Bei Distanzen bis 1m ist das Material der Fläche recht unkritisch. Der Winkel zum Objekt kann bei kurzen Distanzen von unter 1m bis etwa 45° betragen. Auch recht dünne Objekte werden zuverlässig erkannt. Ein normaler Kugelschreiber z.B. lässt sich bis auf eine Distanz von ca. 30cm sicher erfassen. Bei der maximalen Distanz von 3m muss schon genau gezielt werden und es sollten keine anderen Gegenstände in ähnlicher Entfernung im Sendekegel von 15° vorhanden sein.

Januar 2012, Copyright © KT-Elektronic 1/3 tt

Page 35: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

35

Ultraschall Messmodul HC-SR04

Messgenauigkeit: Die systembedingte Messgenauigkeit beträgt ca. 3mm und hängt mit der internen Abtastrate des Moduls zusammen. Ein weiterer Faktor ist die Temperaturabhängigkeit der Schallgeschwindigkeit in Luft. Näherungsweise kann man die Schallgeschwindigkeit in Abhängigkeit der Temperatur im Bereich von -20°C bis +40°C mit folgender Formel berechnen:

Theta = Umgebungstemperatur in °C

Für 20°C Raumtemperatur ergibt sich also: c = 331,5 + ( 0,6 x 20 ) = 343,5 m/s.

Die folgende Tabelle enthält einige Werte die rechnerisch für die Laufzeit zu erwarten sind:

Entfernung zum Objekt [cm] Laufzeit [ms] bei 20°C Laufzeit [ms] bei 0°C

2 0,117 0,121

10 0,583 0,603

50 2,915 3,017

100 5,831 6,033

200 11,662 12,066

300 (max. Dist.) 17,492 18,100

Es zeigt sich das bei 20°C Temperaturdifferenz ein Fehler von 3,4% entsteht. Bei der Verwendung im Freien und Messung von größeren Distanzen wäre also zu überlegen ob eine Temperaturkompensation sinnvoll ist.

Januar 2012, Copyright © KT-Elektronic 3/3 tt

Ultraschall MessmodulHC-SR04

Beschreibung: Das Ultraschall Modul HC-SR04 eignet sich zur Entfernungsmessung im Bereich zwischen 2cm und ca. 3m mit einer Auflösung von 3mm. Es benötigt nur eine einfache Versorgungsspannung von 5V bei einer Stromaufnahme von <2mA. Nach Triggerung mit einer fallenden Flanke (TTL - Pegel) misst das Modul selbstständig die Entfernung und wandelt diese in ein PWM Signal welches am Ausgang zur Verfügung steht. Ein Messintervall hat eine Dauer von 20ms. Es können also 50 Messungen pro Sekunde durchgeführt werden.

Anwendungsbereiche: Hinderniserkennung, Entfernungs- messung, Füllstandanzeiger, Industrieanwendungen.

Pinbeschreibung:

1: VCC, Versorgungsspannung 5V

2: Triggereingang, TTL-Pegel 3: Echo, Ausgang Messergebnis, TTL-Pegel 4: GND, 0V

Power Supply VCC +5V +-10%, GND 0V

Signal Level (Trigger, Echo) TTL Pegel (L < 1,0V)

messbare Distanz 2cm - ca. 300cm

Messintervall 0,3cm

Messungen pro Sekunde maximal 50

Abmessungen (l, b, t) mm 45 x 21 x 18

Anwendung:Das Auslösen eines Messzyklus geschieht durch eine fallende Flanke am Triggereingang (Pin 2) für mindestens 10µs. Das Modul sendet darauf nach ca. 250µs ein 40 kHz Burst-Signal für die Dauer von 200µs. Danach geht der Ausgang (Echo, Pin 3) sofort auf H-Pegel und das Modul wartet auf den Empfang des Echos. Wird dieses detektiert fällt der Ausgang auf L-Pegel. 20ms nach Triggerung kann eine weitere Messung stattfinden. Wird kein Echo detektiert verweilt der Ausgang für insgesamt 200ms auf H-Pegel und zeigt so die erfolglose Messung an. Danach wartet das Modul auf die nächste fallende Flanke am Triggereingang und die Messung beginnt neu.Die besten Messergebnisse ergeben sich bei Reflektion an glatten, ebenen Flächen. Bei Distanzen bis 1m ist das Material der Fläche recht unkritisch. Der Winkel zum Objekt kann bei kurzen Distanzen von unter 1m bis etwa 45° betragen. Auch recht dünne Objekte werden zuverlässig erkannt. Ein normaler Kugelschreiber z.B. lässt sich bis auf eine Distanz von ca. 30cm sicher erfassen. Bei der maximalen Distanz von 3m muss schon genau gezielt werden und es sollten keine anderen Gegenstände in ähnlicher Entfernung im Sendekegel von 15° vorhanden sein.

Januar 2012, Copyright © KT-Elektronic 1/3 tt

Page 36: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Arduino

36[http://arduino.cc/en/Tutorial/Ping]

const int pingPin = 7;void loop() long duration, cm; pinMode(pingPin, OUTPUT); digitalWrite(pingPin, LOW); delayMicroseconds(2); digitalWrite(pingPin, HIGH); delayMicroseconds(5); digitalWrite(pingPin, LOW);

pinMode(pingPin, INPUT); duration = pulseIn(pingPin, HIGH);

cm = microsecondsToCentimeters(duration); delay(100);

Page 37: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

MicrosecondsToCentimeters

37[http://arduino.cc/en/Tutorial/Ping]

long microsecondsToCentimeters(long microseconds) // The speed of sound is 340 m/s or // 29 microseconds per centimeter. // The ping travels out and back, so to find the distance // of the object we take half of the distance travelled. return microseconds / 29 / 2;

Page 38: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

38

Page 39: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

3-Achsen Beschleunigungssensor MNA7361L

! +-1.5g, +- 6g! Versorgungsspannung 5V! Stromaufnahme 400 µA! Sleep mode 3 µA

! 3D gaming, Smartphones! Vibrationen an Gebäuden! Hochkant/Breitkant in digitalen

Kameras! Festplattenschutz (Head-Crash)! Robotik, Bewegungserkennung 39

Anwendungen:

Document Number: MMA7361LRev 0, 04/2008

Freescale SemiconductorTechnical Data

© Freescale Semiconductor, Inc., 2008. All rights reserved.

±1.5g, ±6g Three Axis Low-g Micromachined Accelerometer

The MMA7361L is a low power, low profile capacitive micromachined accelerometer featuring signal conditioning, a 1-pole low pass filter, temperature compensation, self test, 0g-Detect which detects linear freefall, and g-Select which allows for the selection between 2 sensitivities. Zero-g offset and sensitivity are factory set and require no external devices. The MMA7361L includes a Sleep Mode that makes it ideal for handheld battery powered electronics.

Features• 3mm x 5mm x 1.0mm LGA-14 Package• Low Current Consumption: 400 PA• Sleep Mode: 3 PA• Low Voltage Operation: 2.2 V – 3.6 V• High Sensitivity (800 mV/g @ 1.5g)• Selectable Sensitivity (±1.5g, ±6g)• Fast Turn On Time (0.5 ms Enable Response Time)• Self Test for Freefall Detect Diagnosis• 0g-Detect for Freefall Protection• Signal Conditioning with Low Pass Filter• Robust Design, High Shocks Survivability• RoHS Compliant• Environmentally Preferred Product• Low Cost

Typical Applications• 3D Gaming: Tilt and Motion Sensing, Event Recorder• HDD MP3 Player: Freefall Detection• Laptop PC: Freefall Detection, Anti-Theft• Cell Phone: Image Stability, Text Scroll, Motion Dialing, E-Compass• Pedometer: Motion Sensing• PDA: Text Scroll• Navigation and Dead Reckoning: E-Compass Tilt Compensation• Robotics: Motion Sensing

ORDERING INFORMATION

Part Number Temperature Range

Package Drawing Package Shipping

MMA7361LT –40 to +85°C 1977-01 LGA-14 Tray

MMA7361LR1 –40 to +85°C 1977-01 LGA-14 7” Tape & Reel

MMA7361LR2 –40 to +85°C 1977-01 LGA-14 13” Tape & Reel

MMA7361L

MMA7361L: XYZ AXISACCELEROMETER

r1.5g, r6g

14 LEADLGA

CASE 1977-01

Bottom View

Figure 1. Pin Connections

Top View

12

34

56

7

89

10

111

21

3

14

N/C

XOUT

ZOUT

YOUT

VSS

VDD

Sleep

N/C

0g-Detect

g-Select

Self Test

N/C

N/C

N/C

Page 40: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

40

Sensors4 Freescale Semiconductor

MMA7361L

PRINCIPLE OF OPERATION

The Freescale accelerometer is a surface-micromachined integrated-circuit accelerometer.

The device consists of a surface micromachined capacitive sensing cell (g-cell) and a signal conditioning ASIC contained in a single package. The sensing element is sealed hermetically at the wafer level using a bulk micromachined cap wafer.

The g-cell is a mechanical structure formed from semiconductor materials (polysilicon) using semiconductor processes (masking and etching). It can be modeled as a set of beams attached to a movable central mass that move between fixed beams. The movable beams can be deflected from their rest position by subjecting the system to an acceleration (Figure 3).

As the beams attached to the central mass move, the distance from them to the fixed beams on one side will increase by the same amount that the distance to the fixed beams on the other side decreases. The change in distance is a measure of acceleration.

The g-cell beams form two back-to-back capacitors (Figure 3). As the center beam moves with acceleration, the distance between the beams changes and each capacitor's value will change, (C = AH/D). Where A is the area of the beam, H is the dielectric constant, and D is the distance between the beams.

The ASIC uses switched capacitor techniques to measure the g-cell capacitors and extract the acceleration data from the difference between the two capacitors. The ASIC also signal conditions and filters (switched capacitor) the signal, providing a high level output voltage that is ratiometric and proportional to acceleration.

Figure 3. Simplified Transducer Physical Model

SPECIAL FEATURES

0g-DetectThe sensor offers a 0g-Detect feature that provides a logic

high signal when all three axes are at 0g. This feature enables the application of Linear Freefall protection if the signal is connected to an interrupt pin or a poled I/O pin on a microcontroller.

Self TestThe sensor provides a self test feature that allows the

verification of the mechanical and electrical integrity of the accelerometer at any time before or after installation. This feature is critical in applications such as hard disk drive

protection where system integrity must be ensured over the life of the product. Customers can use self test to verify the solderability to confirm that the part was mounted to the PCB correctly. To use this feature to verify the 0g-Detect function, the accelerometer should be held upside down so that the z-axis experiences -1g. When the self test function is initiated, an electrostatic force is applied to each axis to cause it to deflect. The x- and y-axis are deflected slightly while the z-axis is trimmed to deflect 1g. This procedure assures that both the mechanical (g-cell) and electronic sections of the accelerometer are functioning.

g-SelectThe g-Select feature allows for the selection between two

sensitivities. Depending on the logic input placed on pin 10, the device internal gain will be changed allowing it to function with a 1.5g or 6g sensitivity (Table 3). This feature is ideal when a product has applications requiring two different sensitivities for optimum performance. The sensitivity can be changed at anytime during the operation of the product. The g-Select pin can be left unconnected for applications requiring only a 1.5g sensitivity as the device has an internal pull-down to keep it at that sensitivity (800mV/g)).

Sleep ModeThe 3 axis accelerometer provides a Sleep Mode that is

ideal for battery operated products. When Sleep Mode is active, the device outputs are turned off, providing significant reduction of operating current. A low input signal on pin 7 (Sleep Mode) will place the device in this mode and reduce the current to 3 PA typ. For lower power consumption, it is recommended to set g-Select to 1.5g mode. By placing a high input signal on pin 7, the device will resume to normal mode of operation.

FilteringThe 3 axis accelerometer contains an onboard single-pole

switched capacitor filter. Because the filter is realized using switched capacitor techniques, there is no requirement for external passive components (resistors and capacitors) to set the cut-off frequency.

RatiometricityRatiometricity simply means the output offset voltage and

sensitivity will scale linearly with applied supply voltage. That is, as supply voltage is increased, the sensitivity and offset increase linearly; as supply voltage decreases, offset and sensitivity decrease linearly. This is a key feature when interfacing to a microcontroller or an A/D converter because it provides system level cancellation of supply induced errors in the analog to digital conversion process.

Acceleration

Table 3. g-Select Pin Description

g-Select g-Range Sensitivity

0 1.5g 800 mV/g

1 6g 206 mV/g

Page 41: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

41

Sensors2 Freescale Semiconductor

MMA7361L

Figure 2. Simplified Accelerometer Functional Block Diagram

ELECTRO STATIC DISCHARGE (ESD)

WARNING: This device is sensitive to electrostatic discharge.

Although the Freescale accelerometer contains internal 2000 V ESD protection circuitry, extra precaution must be taken by the user to protect the chip from ESD. A charge of over 2000 volts can accumulate on the human body or associated test equipment. A charge of this magnitude can

alter the performance or cause failure of the chip. When handling the accelerometer, proper ESD precautions should be followed to avoid exposing the device to discharges which may be detrimental to its performance.

Table 1. Maximum Ratings(Maximum ratings are the limits to which the device can be exposed without causing permanent damage.)

Rating Symbol Value Unit

Maximum Acceleration (all axis) gmax ±5000 g

Supply Voltage VDD –0.3 to +3.6 V

Drop Test(1)

1. Dropped onto concrete surface from any axis.

Ddrop 1.8 m

Storage Temperature Range Tstg –40 to +125 qC

Sleep

Self Test

C to VCONVERTER

XOUT

YOUT

ZOUT

OSCILLATOR CLOCKGEN

g-Select

X-TEMPCOMP

G-CELLSENSOR

GAIN+

FILTER

CONTROL LOGICNVM TRIMCIRCUITS

Y-TEMPCOMP

Z-TEMPCOMP

VDD

VSS

0g-Detect

SELFTEST

Sleep

Self Test

C to VCONVERTER

XOUT

YOUT

ZOUT

OSCILLATOR CLOCKGEN

g-Select

X-TEMPCOMP

G-CELLSENSOR

GAIN+

FILTER

CONTROL LOGICNVM TRIMCIRCUITS

Y-TEMPCOMP

Z-TEMPCOMP

VDD

VSS

0g-Detect

SELFTEST

Page 42: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

42

Page 43: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Gabellichtschranke EX-SX1041

! Detector: 2nA-14nA (dunkel)0.5mA - 14mA (hell)

! Stromaufnahme 30 mA

! Zählen von Objekten! Drehzahlmessung! Alarmanlagen

43

Anwendungen:

58 EE-SX1041 Photomicrosensor (Transmissive)

Photomicrosensor (Transmissive)

EE-SX1041 DimensionsNote: All units are in millimeters unless otherwise indicated.

Features• General-purpose model with a 5-mm-wide slot.• PCB mounting type.• High resolution with a 0.5-mm-wide aperture.

Absolute Maximum Ratings (Ta = 25°C)

Note: 1. Refer to the temperature rating chart if the ambient temper-ature exceeds 25°C.

2. The pulse width is 10 µs maximum with a frequency of100 Hz.

3. Complete soldering within 10 seconds.

Electrical and Optical Characteristics (Ta = 25°C)

Internal Circuit

K

A

C

E

Terminal No. NameA AnodeK CathodeC CollectorE Emitter

Dimensions Tolerance

3 mm max. ±0.3

3 < mm ≤ 6 ±0.375

6 < mm ≤ 10 ±0.45

10 < mm ≤ 18 ±0.55

18 < mm ≤ 30 ±0.65

Unless otherwise specified, the tolerances are as shown below.

Two, 0.7±0.1 dia.

0.2 max. 0.2 max.

5 min.

Optical axis

Two, 0.7± 0.1

Four, 0.25

Four, 0.5

0.5±0.1

5.2±0.12.35±0.1

Two, 2.54

14±0.2

6±0.2Item Symbol Rated value

Emitter Forward current IF 50 mA (see note 1)

Pulse forward cur-rent

IFP 1 A (see note 2)

Reverse voltage VR 4 V

Detector Collector–Emitter voltage

VCEO 30 V

Emitter–Collector voltage

VECO ---

Collector current IC 20 mA

Collector dissipa-tion

PC 100 mW (see note 1)

Ambient tem-perature

Operating Topr –25°C to 95°CStorage Tstg –30°C to

100°CSoldering temperature Tsol 260°C

(see note 3)

Item Symbol Value ConditionEmitter Forward voltage VF 1.2 V typ., 1.5 V max. IF = 30 mA

Reverse current IR 0.01 µA typ., 10 µA max. VR = 4 V

Peak emission wavelength λP 940 nm typ. IF = 20 mA

Detector Light current IL 0.5 mA min., 14 mA max. IF = 20 mA, VCE = 10 V

Dark current ID 2 nA typ., 200 nA max. VCE = 10 V, 0 lx

Leakage current ILEAK --- ---

Collector–Emitter saturated volt-age

VCE (sat) 0.1 V typ., 0.4 V max. IF = 20 mA, IL = 0.1 mA

Peak spectral sensitivity wave-length

λP 850 nm typ. VCE = 10 V

Rising time tr 4 µs typ. VCC = 5 V, RL = 100 Ω, IL = 5 mA

Falling time tf 4 µs typ. VCC = 5 V, RL = 100 Ω, IL = 5 mA

EE-SX1041 Photomicrosensor (Transmissive) 59

Engineering DataForward Current vs. Collector Dissipation Temperature Rating

Forward Current vs. Forward Voltage Characteristics (Typical)

Light Current vs. Forward Current Characteristics (Typical)

Light Current vs. Collector−Emitter Voltage Characteristics (Typical)

Dark Current vs. Ambient Temperature Characteristics (Typical)

Distance d (mm)

Input

Output

Input

Output

90 %10 %(Center of

optical axis)

Sensing Position Characteristics (Typical)

Response Time Measurement Circuit

Ambient temperature Ta (°C)

Col

lect

or d

issi

patio

n P

C (

mW

)

Forward voltage VF (V)

Forw

ard

curr

ent

I F (

mA

)

Forw

ard

curr

ent

I F (

mA

)

Forward current IF (mA)

Ligh

t cur

rent

IL

(mA

)

Collector−Emitter voltage VCE (V)

Ligh

t cur

rent

IL

(mA

)

Ambient temperature Ta (°C)

Load resistance RL (kΩ)

IF

PC

Ta = −30°C

Ta = 25°C

Ta = 70°C

Ta = 25°CVCE = 10 V

IF = 40 mA

IF = 30 mA

IF = 20 mA

IF = 10 mA

Ta = 25°C VCE = 10 V0 lx

IF = 20 mA VCE = 5 V

IF = 20 mA VCE = 10 V Ta = 25°C

VCC = 5 V Ta = 25°C

Res

pons

e tim

e tr,

tf (

µs)

Rel

ativ

e lig

ht c

urre

nt I

L (%

)

Dar

k cu

rren

t I D

(nA

)

Rel

ativ

e lig

ht c

urre

nt I

L (%

)

IF = 50 mA

Response Time vs. Load Resist-ance Characteristics (Typical)

Relative Light Current vs. Ambi-ent Temperature Characteristics (Typical)

Ambient temperature Ta (°C)

Page 44: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

44

Page 45: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Reflektionssensor CNY70

! Scannen ! Spurverfolgung

45

Anwendungen:

CNY70Vishay Telefunken

3 (7)www.vishay.comDocument Number 83751

Rev. A4, 05–Apr–00

Electrical Characteristics (Tamb = 25°C)Input (Emitter)

Parameter Test Conditions Symbol Min. Typ. Max. UnitForward voltage IF = 50 mA VF 1.25 1.6 V

Output (Detector)Parameter Test Conditions Symbol Min. Typ. Max. Unit

Collector emitter voltage IC = 1 mA VCEO 32 VEmitter collector voltage IE = 100 A VECO 5 VCollector dark current VCE = 20 V, If = 0, E = 0 ICEO 200 nA

CouplerParameter Test Conditions Symbol Min. Typ. Max. Unit

Collector current VCE = 5 V, IF = 20 mA, d = 0.3 mm (figure 1)

IC1) 0.3 1.0 mA

Cross talk current VCE = 5 V, IF = 20 mA (figure 1)

ICX2) 600 nA

Collector emitter satu-ration voltage

IF = 20 mA, IC = 0.1 mA, d = 0.3 mm (figure 1)

VCEsat1) 0.3 V

1) Measured with the ‘Kodak neutral test card’, white side with 90% diffuse reflectance2) Measured without reflecting medium

~~~

~ ~ ~

A C C E

DetectorEmitter

dReflecting medium

(Kodak neutral test card)

95 10808

Figure 1. Test circuit

Page 46: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

46

[http://commons.wikimedia.org/wiki/File:Exp_Gl%C3%BChlampe_Org.jpg]

Page 47: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Diskretisierung der Zeit

Vx ist eine Sequenz von Werten, oder eine Abbildung ℤ → ℝ

Diskrete Zeit: Abtast-Halte Schaltungen (sample-and-hold)Ideal: Breite des Clock-Signals →0

Ve ist eine Abbildung ℝ → ℝ

47

Page 48: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Abtast-Halte Schaltung

Input

Output

Clock

48

Page 49: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Flash Wandler

! elementarer Bestandteil: analoger Komparator

! Output = ´1´ falls Spannung am Eingang “+” größer als am Eingang “-”.

! Idee:! Generiere n verschiedene Spannungen durch Spannungsteiler

(Widerstände), z.B. Vref, ¾ Vref, ½ Vref, ¼ Vref.

! Verwende n Komparatoren um die Eingangsspannung Vx mit diesen Spannungen zu vergleichen.

! Codiere das Ergebnis als digitale Ausgabe.

49

Page 50: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

50

Page 51: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Wägeverfahren

Idee: binäre Suche! Setze MSB='1' (MSB: höchstwertiges bit,

most significant bit)! falls zu groß: setze MSB auf ‘0’! Setze MSB-1='1'! falls zu groß: setze MSB-1 auf “0” 51

Page 52: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

1100

1000

10101011

t

V

Vx

V-

52

Page 53: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Eingabemechanismen in Software

! Polling! Die Eingabegeräte werden

periodisch abgefragt! Wenn eine Eingabe bereit

ist initiert der Prozessor die nötige Kommunikation.

! Interrupts! Externe Hardware sendet

Interrupt wenn Eingaben bereit sind.

! Das laufende Programm wird unterbrochen, der Prozessor ruft die Interrupt Service Routine (ISR) auf.Processor Setup Code

Processor checks I/O control register for status of peripheral 1 Processor services I/O 1

Processor checks I/O control register for status of peripheral 2

Processor checks I/O control register for status of peripheral 3

Processor services I/O 2

Processor services I/O 3

Ready

Ready

Ready

Not Ready

Not Ready

Not Ready

Processor Setup Code

Register the Interrupt Service Routine

Processor executes task code Run Interrupt Service Routine

Interrupt!

Context switch

Resume

53

Page 54: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Arduino: Polling

54[http://www.dave-auld.net]

int pbIn = 2; // Digital input on pin 2int ledOut = 4; // The output LED pinint state = LOW; // The input state void setup() // Set up the digital Pin 2 to an Input and Pin 4 to an Output pinMode(pbIn, INPUT); pinMode(ledOut, OUTPUT); void loop() state = digitalRead(pbIn); //Read the button digitalWrite(ledOut, state); //write the LED state //Simulate a long running process or complex task for (int i = 0; i < 100; i++) // do nothing but waste some time delay(10);

Page 55: Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd Finkbeiner 30/10/2013 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

Arduino: Interrupts

55[http://www.dave-auld.net]

int pbIn = 0; // Interrupt 0 is on DIGITAL PIN 2!int ledOut = 4; // The output LED pinvolatile int state = LOW; // The input state toggle

void setup() //Set up the digital pin 2 to an Interrupt and Pin 4 to an Output pinMode(ledOut, OUTPUT); //Attach the interrupt to the input pin and monitor for ANY Change attachInterrupt(pbIn, stateChange, CHANGE); void loop() //Simulate a long running process or complex task for (int i = 0; i < 100; i++) delay(10); void stateChange() state = !state; digitalWrite(ledOut, state);