Sie sind auf Seite 1von 28

Hochschule für Angewandte Wissenschaften Hamburg

Hamburg University of Applied Sciences

Fakultät Technik und Informatik Studiendepartment Informations- und Elektrotechnik Labor für Informationstechnik Praktikum Computertechnik

Aufgabe

4

LED Pendel 1

( Swinging LED )

Semester / Gruppe

Protokollführer

Versuchstag

Versuchsteilnehmer

Professor

1.1

1.2

2

3.1

3.2

3.3

4.1

4.2

4.3

5.1

5.2

5.3

6

7.1

7.2

7.3

Swinging LED

2/5

Übersicht

PC Development System LED 0 H8S/2375 System I/O Board Port1 Port 4 Port 2 7………
PC Development System
LED 0
H8S/2375 System
I/O Board
Port1
Port 4
Port 2
7………
0
0
1 0
Schalter

LED 7

Bild 1: Systemübersicht mit einer möglichen Anschlussweise der LED- Pendel Hardware.

Swinging LED

3/5

Aufgaben

1. Schreiben Sie ein Programm, welches an dem linken und rechten Rand des Pendelbereichs jeweils einen schmalen Balken darstellt. Experimentieren Sie mit der Einschaltzeit der LEDs um einerseits die Balken möglichst hell erscheinen zu lassen, aber andererseits durch zu starke Helligkeit nicht ein verschwommenes Bild zu erhalten. Ermitteln Sie die sinnvolle Einschaltzeit der LED’s und den Zeitbedarf für eine halbe bzw. vollständige Pendelbewegung.

Hinweis: Durch Ausnutzung beider Signalflanken des Signals R / L ( Right / Left

),lässt

sich die Bildwiederholfrequenz verdoppeln und somit die Lesbarkeit erhöhen.

1.1 Ermitteln Sie die Pendel – Umkehrzeitpunkte durch kontinuierliche Abfrage( polling

) des Signals R / L ( steigende und fallende Signalflanke, siehe obigen Hinweis).

1.2 Lösen Sie zur Ermittlung der Pendel-Umkehrpunkte mit dem Signal R / L einen Port Interrupt IRQ1 ( IRQ3 ) aus. Benutzen Sie zum Schreiben der Zeichen in den folgenden Aufgaben beide Pendelbewegungsrichtungen.

2.

Zeitmessung Messen Sie die Periodendauer des Pendels mittels Input-Capture. Ermitteln Sie die Dauer für jede Halbschwingung einer Periode. Die Ausgabe soll in Timer-Ticks als auch in Sekunden (Millisekunden) erfolgen. Bestimmen Sie über 10 Messungen das Maximum, das Mininimum und den Mittelwert für die Halbschwingungen und die Periodendauer. Es soll nur Integer-Arithmetik verwendet werden. Ein direkter Zugriff auf den Timer- Counter ist nicht erlaubt. Wenn Sie während der Entwicklung Gleitkomma-Arithmetik verwenden, so bestimmen Sie die Zeitdauer der Berechnungen (z. B. Oszilloskop) und setzen diese zur Integer- Arithmetik ins Verhältnis.

3.

Schreiben Sie ein Programm zur Darstellung eines beliebigen Zeichens. Überlegen Sie sich eine sinnvolle Anordnung der Bildpunkte für ein Zeichen. Zur Ermittlung der Pendel-Umkehrpunkte nehmen Sie das Verfahren aus Aufgabe 1.

3.1 Benutzen Sie für die Herstellung der Verzögerungszeiten eine Softwareverzögerung.

3.2 Benutzen Sie für die Herstellung der Verzögerungszeiten einen Timer.

3.3 Benutzen Sie für die Herstellung der Verzögerungszeiten einen Interrupt auslösenden Timer.

4.

Schreiben Sie ein Programm, welches eine sinnvolle Zeichenfolgen darstellt. Zur Ermittlung der Pendel-Umkehrpunkte nehmen Sie das Verfahren aus Aufgabe 1.

4.1 Benutzen Sie für die Herstellung der Verzögerungszeiten eine Softwareverzögerung.

4.2 Benutzen Sie für die Herstellung der Verzögerungszeiten einen Timer.

4.3 Benutzen Sie für die Herstellung der Verzögerungszeiten einen Interrupt auslösenden Timer.

Swinging LED

4/5

5. Schreiben Sie ein Programm, welches vier verschiedene sinnvolle Zeichenfolgen darstellt. Die Auswahl der jeweiligen Zeichenfolgen erfolgt über die an Port 2 angeschlossenen Schalter. Zur Ermittlung der Pendel-Umkehrpunkte nehmen Sie das Verfahren aus Aufgabe 1.

5.1 Benutzen Sie für die Herstellung der Verzögerungszeiten eine Softwareverzögerung.

5.2 Benutzen Sie für die Herstellung der Verzögerungszeiten einen Timer.

5.3 Benutzen Sie für die Herstellung der Verzögerungszeiten einen Interrupt auslösenden Timer.

6.

Ergreifen

Sie

geeignete

Maßnahmen

um

die

Auswirkungen

der

Geschwindigkeitsänderungen des Pendels an den Umkehrpunkten auszugleichen. Modifizieren Sie das Programm aus Aufgabe 5.x bzw. 4.x.

7.

LED-Balkenanzeige

 
Bild 2: Beispiele für die Anzeige gemessener Spannungen
Bild 2: Beispiele für die Anzeige gemessener Spannungen

Bild 2: Beispiele für die Anzeige gemessener Spannungen

Mit dem LED-Pendel soll eine Balkenanzeige realisiert werden. Die Balkenanzeige stellt eine gemessene Spannung proportional dar. Bei einer Spannung von 5 V sollen die LEDs auf der vollen Breite an sein, bei 0 V entsprechend nicht. Die Spannung wird an AN0 gemessen. Der ADC soll im Scan-Mode betrieben werden.

Die LEDs sollen nur auf dem Weg des Pendels von links nach rechts leuchten. Auf dem Rückweg (rechts nach links) sollen die LEDs aus sein. Die Einschaltdauer der LEDs soll proportional der zuletzt am linken Umkehrpunkt gemessenen Spannung sein. Die Einschaltdauer soll mittels TPU1 erzielt werden. Verwenden Sie Integer-Arithmetik.

7.1 Schreiben Sie ein Programm, welches die Spannung mit dem eingebauten ADC misst und das LED-Pendel so ansteuert, dass ein der Spannung proportionaler Balken dargestellt wird. Die Nichtlinearität der Pendelbewegung braucht nicht beachtet oder ausgeglichen werden. Der Zähler der TPU soll nicht direkt gelesen und ausgewertet werden.

7.2 Erfassen Sie zwei Spannungen an AN0 und AN1. Stellen Sie die Spannungen durch jeweils einen eigenen Balken dar.

7.3 Erzeugen Sie mit der LED 7 Leuchtpunkte für die Spannungen 0 V, 1 V, … 5 V als Referenzmarken für die gemessene Spannung. Verwenden Sie hierfür eine weitere TPU im PWM-Mode.

Swinging LED

5/5

Anhang

Im MP Labor steht ein Swinging LED Modul mit den folgenden Eigenschaften zu Verfügung.

- Die Pendelbewegung beginnt nach dem Einschalten mit einer nicht beeinflussbaren Frequenz von ca. 8,3 Hz.

- Der linke Umkehrpunkt des Pendels wird durch die steigende Flanke des Signals R / L gekennzeichnet.

- Der rechte Umkehrpunkt des Pendels wird durch die fallende Flanke des Signals R / L gekennzeichnet.

- Die oberste LED trägt die Bezeichnung LED 7 ( High Potential = LED an ).

Umkehrpunkt links

Umkehrpunkt rechts

Umkehrpunkt links

an ). Umkehrpunkt links Umkehrpunkt rechts Umkehrpunkt links Bild 3: ca. 60ms ca. 60ms R /

Bild 3:

ca. 60ms ca. 60ms R / L Signal ( Right / Left )
ca. 60ms
ca. 60ms
R / L Signal
( Right / Left )
Bild 3: ca. 60ms ca. 60ms R / L Signal ( Right / Left ) Bild

Bild 4: Swinging LED in Ruhe

Bild 3: ca. 60ms ca. 60ms R / L Signal ( Right / Left ) Bild

Bild 5: Swinging LED im Betrieb

Computertechnik Laborbericht

Niels Thiemann und Stephanie Feldkötter LED Pendel

Fakultät Technik und Informatik Department Informations- und Elektrotechnik

Faculty of Engineering and Computer Science Department of Information and Electrical Engineering

Inhaltsverzeichnis

1 Das LED Pendel

 

8

1.1

Aufgabe 4.2 - Zeitmessung

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

8

1.1.1 Grundlagen

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

8

1.1.2 Flussdiagramm zur Zeitmessung

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

9

1.1.3 Messungen

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

10

1.1.4 Testprotokoll

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

12

1.2

Aufgabe 4.7.1 - LED-Balkenanzeige

 

12

1.2.1 Grundlagen

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

12

1.2.2 Flussdiagramm zur LED-Balkenanzeige

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

13

1.2.3 Messungen

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

14

1.2.4 Testprotokoll

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

15

2 Fazit

16

Abbildungsverzeichnis

 

20

Tabellenverzeichnis

21

 

7

1 Das LED Pendel

In dieser Praktikumseinheit werden die Aufgaben 4.2 und 4.7.1 bearbeitet.

1.1 Aufgabe 4.2 - Zeitmessung

1.1.1 Grundlagen

In dieser Laboraufgabe geht es darum, die Zeit der Periodendauer bzw. der halben Periodendauer des Pendels zu bestimmen, bzw. in Timer-Ticks der TPU zu messen und in Millisekunden umzurechnen. Beide Richtungen der Schwingung des Pendels werden gemessen, um festzustellen ob das Pendel gleichmäßig läuft. Diese Messung wird mit dem Programm aus Abbildung 2.1 und einem Oszilloskop vorgenommen siehe Messergebnisse in Abbildung 1.2 und 1.3. Es werden 10 Messungen vorgenommen und das Minimum, das Maximum sowie der Mittelwert bestimmt.

8

1.1.2 Flussdiagramm zur Zeitmessung

In Abbildung 1.1 ist das Flussdiagramm dargestellt, das die Grundlage für den Programm Code zur Zeitmessung aus Abbildung 2.1 ist.

die Grundlage für den Programm Code zur Zeitmessung aus Abbildung 2.1 ist. Abbildung 1.1: Flussdiagramm zur

Abbildung 1.1: Flussdiagramm zur Zeitmessung

9

1.1.3 Messungen

In den Abbildungen 1.2 und 1.3 sind die Ergebnisse der Zeitmessung dargestellt. Die durchschnittliche Dauer der Halbschwingungen liegt zwischen 56ms und 63ms und ent- spricht den angenommenen Werten aus der Aufgabenstellung.

63ms und ent- spricht den angenommenen Werten aus der Aufgabenstellung. Abbildung 1.2: Oszilloskopbild der Zeitmessung 10

Abbildung 1.2: Oszilloskopbild der Zeitmessung

10

Abbildung 1.3: Terminalbild der Zeitmessung 11

Abbildung 1.3: Terminalbild der Zeitmessung

11

1.1.4

Testprotokoll

Die angenommenen Werte bzw. Zustände, die eine Funktionsfähigkeit des Programms

belegen sind auch im Versuch ermittelt worden siehe Tabelle 1.1.

Test

Soll

Ist

Pendeldauer von links nach rechts Pendeldauer von rechts nach links Zahlerüberlauf Zeigt die Timer-Ticks an Zeigt Minimalwert an Zeigt Maximalwert an Zeigt Mittelwert an

ca. 60s

ja

ca. 60s

ja

nein

nein

ja

ja

ja

ja

ja

ja

ja

ja

Tabelle 1.1: Testprotokoll der Zeitmessung

1.2 Aufgabe 4.7.1 - LED-Balkenanzeige

1.2.1 Grundlagen

In dieser Laboraufgabe soll eine LED-Balkenanzeige realisiert werden, wichtig hierbei ist,

dass die Register der TPU richtig eingestellt werden. Im folgenden wird auf ausgewähl-

te Registereinstellungen eingegangen. Die Registerübersicht ist dem Praktikumsbericht

beigefügt. Um an AN0 die Spannung zu messen und den ADC im Scan-Mode zu be-

treiben werden im A/D Control Status Register ADCSR Bit 4 und 5 auf 1 gesetzt. Im

Scan-Mode wird die A/D Umsetzung gestartet bis ADST auf 0 zurückgesetzt wird. Die

übrigen Registereinstellungen sind ausführlich im Programmcode dokumentiert.

12

1.2.2 Flussdiagramm zur LED-Balkenanzeige

In Abbildung 1.4 ist das Flussdiagramm dargestellt, das die Grundlage für den Programm Code zur LED-Balkenanzeige aus Abbildung 2.2 ist.

für den Programm Code zur LED-Balkenanzeige aus Abbildung 2.2 ist. Abbildung 1.4: Flussdiagramm zum LED-Pendel 13

Abbildung 1.4: Flussdiagramm zum LED-Pendel

13

1.2.3 Messungen

In den Abbildungen 1.5 und 1.6 sind 2 unterschiedliche Spannungen eingestellt und je größer die eingestellte Spannung um so länger sind die LEDs angeschaltet.

Spannung um so länger sind die LEDs angeschaltet. Abbildung 1.5: Oszilloskopbild zum LED-Pendel bei U e

Abbildung 1.5: Oszilloskopbild zum LED-Pendel bei U e = ca.1V

1.5: Oszilloskopbild zum LED-Pendel bei U e = ca. 1 V Abbildung 1.6: Oszilloskopbild zum LED-Pendel

Abbildung 1.6: Oszilloskopbild zum LED-Pendel bei U e = ca.3V

14

1.2.4 Testprotokoll

Nach Tabelle 1.2 sind alle Tests erfolgreich durchgeführt worden. Das Programm zur

LED-Balkenanzeige aus Abbildung 2.2 efüllt die Anforderungen.

Spannung[V] Balkenanzeige Status

0

keine Anzeige

ja

5

volle Anzeige

ja

1

1/5 Anzeige

ja

3

3/5 Anzeige

ja

Tabelle 1.2: Testprotokoll der Zeitmessung

15

2 Fazit

Der Laborversuch 4.2 und 4.7.1 zielen auf ein Verständnis der TPU und deren Registern, wann z.B. das Timer Status Register Flag zurückgesetzt werden muss und zwar wenn in der rechts Bewegung des Pendels der Zählwert erreicht ist, damit dann die LEDs wieder ausgeschaltet werden können. Im Grunden genommen müssen die logischen Reihenfolgen der einzelnen Abfragen erfasst und miteinander kombiniert werden. Da die LEDs nur in der rechts Bewegung leuchten sollen, und proportional zur zuletzt am linken Minumum gemessenen Spannung, ist die unsymmetische Schwingung zu vernachlässigen. Es wird dieser Spannungswert an den Zähler übergeben, und die LEDs leuchten bis dieser wieder erreicht ist. Der Versuch hat ein sehr gutes Verständnis der Abläufe der TPU und deren Registerverwaltung gebracht. Leider wurde am Arbeitsplatz unserer Gruppe das Termi- nal falsch konfiguriert und es wurde kostbare Zeit mit der Fehlersuche verschwendet, da wir den Fehler im Code vermuteten.

16

17

17

Abbildung 2.1: Sourcecode zu Aufgabe 4.2 18

Abbildung 2.1: Sourcecode zu Aufgabe 4.2

18

Abbildung 2.2: Sourcecode zu Aufgabe 4.7.1 19

Abbildung 2.2: Sourcecode zu Aufgabe 4.7.1

19

Abbildungsverzeichnis

1.1

Flussdiagramm zur Zeitmessung

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

9

1.2

Oszilloskopbild der Zeitmessung

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

10

1.3

Terminalbild der Zeitmessung

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

11

1.4

Flussdiagramm zum LED-Pendel

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

13

1.5

Oszilloskopbild zum LED-Pendel bei U e = ca.1V

.

.

.

.

.

.

.

.

.

.

.

.

.

.

14

1.6

Oszilloskopbild zum LED-Pendel bei U e = ca.3V

.

.

.

.

.

.

.

.

.

.

.

.

.

.

14

2.1

Sourcecode zu Aufgabe 4.2

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

18

2.2

Sourcecode zu Aufgabe 4.7.1 .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

19

20

Tabellenverzeichnis

1.1 Testprotokoll der Zeitmessung

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

12

1.2 Testprotokoll der Zeitmessung

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

15

21

TPU - Timer Pulse Unit

Time Start Register

TPU - Timer Pulse Unit Time Start Register Timer Control Register Function 1: Counter Clear Method

Timer Control Register

TPU - Timer Pulse Unit Time Start Register Timer Control Register Function 1: Counter Clear Method

Function 1: Counter Clear Method

TPU - Timer Pulse Unit Time Start Register Timer Control Register Function 1: Counter Clear Method

Function 2: Clock edge selection

Function 2: Clock edge selection Function 3: Clock select

Function 3: Clock select

Function 2: Clock edge selection Function 3: Clock select

Timer Status Register

Timer Status Register
Timer Status Register
Timer Status Register
Timer Status Register

Timer I/O Control Register

Timer I/O Control Register
Timer I/O Control Register

ADC - Analog Digital Converter

A/D control status register ADCSR

- Analog Digital Converter A/D control status register ADCSR A/D Conversion Control Register Example of use

A/D Conversion Control Register

- Analog Digital Converter A/D control status register ADCSR A/D Conversion Control Register Example of use

Example of use ADDRxH/ADDRxL

- Analog Digital Converter A/D control status register ADCSR A/D Conversion Control Register Example of use