Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd...
Transcript of Einführung in Eingebettete Systeme · Einführung in Eingebettete Systeme Vorlesung 3 Bernd...
Einführung in
Eingebettete Systeme
Vorlesung 3 Bernd Finkbeiner30/10/2013 [email protected]
Prof. Bernd Finkbeiner, [email protected]
1
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! ...
Hierarchie
incl.
3
Variablen
4
Timer
5
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
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
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
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
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
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
Motivation
! In synchroner Hardware werden die Registerwerte ebenfalls vertauscht.
Eine ähnliche Aufteilung in Phasen findet sich in Hardwarebeschreibungssprachen.
12
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
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
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
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
Superschritt Zeitmodell
17
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
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
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
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
5. Sensoren und Aktoren
Ziele:
! Überblick über wichtige Sensor/Aktortypen! Funktionsprinzip von A/D Wandlern
Hardware “in a loop”
actuators
23
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
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
M260
26
0RGH05DWHG9ROWDJH9'&
9ROWDJHᨺ9'&
5RWDWLRQFORFNZLVHIURPWKHPRWRUVKDIW
6WRUH 7HPSHUDWXUH UDQJHഒᨺ ഒ VWRUH KXPLGLW\ a
VXJJHVWQRWVWRUHPRUHWKDQ\HDU
1RORDGFXUUHQWP$PD[
1RORDGVSHHGUSP
1RORDGVWDUWYROWDJH9PD[
/RFNHGURWRUFXUUHQW$ᇭ
,QVXODWLRQLPSRGDQFH0˖PLQ
1HWZHLJKWDERXWJ
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
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);
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
30
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:
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
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
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
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
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);
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;
38
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
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
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
42
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)
44
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
46
[http://commons.wikimedia.org/wiki/File:Exp_Gl%C3%BChlampe_Org.jpg]
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
Abtast-Halte Schaltung
Input
Output
Clock
48
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
50
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
1100
1000
10101011
t
V
Vx
V-
52
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
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);
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);