XXI A/D-Wandler

fundus.woeste.org

XXI A/D-Wandler

Inhaltsverzeichnis

Physik/Informatik Wahlpflichtbereich Klasse 9

I Grundlagen aus der Elektrizitätslehre.....................................................................-1-

II Relais............................................................................................................................-2-

1. Aufbau und Schaltbild.................................................................................................-2-

2. Anwendungen.............................................................................................................-2-

3. Beispiele......................................................................................................................-2-

III Elektronische Bauelemente........................................................................................-3-

1. Diode...........................................................................................................................-3-

2. npn-Transistor.............................................................................................................-4-

3. Operationsverstärker...................................................................................................-6-

IV Darstellung von Information.....................................................................................-8-

1. Grundlagen..................................................................................................................-8-

2. Binärsystem.................................................................................................................-8-

3. Übertragung anderer digitaler Systeme ins Binärsystem ...........................................-9-

V Aussagenlogik und Logische Schaltungen.............................................................-11-

1. Aussagen...................................................................................................................-11-

2. Verknüpfung von Aussagen.......................................................................................-11-

3. Technische Realisierung............................................................................................-12-

4. Gattersymbole...........................................................................................................-14-

5. Anwendungsbeispiele................................................................................................-15-

VI Paralleladdierer mit dezimaler Ein- und Ausgabe................................................-17-

1. Volladdierer...............................................................................................................-17-

2. 4-Bit-Paralleladdierer................................................................................................-17-

3. Umwandlung des Ergebnisses in BCD-Code............................................................-18-

4. Umwandlung von Dual- in Dezimalzahlen (Decodierung)......................................-19-

5. Umwandlung von Dezimal- in Dualzahlen (Codierung)..........................................-20-

6. Die Sieben-Segment-Anzeige...................................................................................-20-

VII Speicherelemente (Flipflop).....................................................................................-21-

1. R-S-Flipflop.............................................................................................................-21-

2. Gesteuerte Flipflops..................................................................................................-22-

3. J-K-Master-Slave-Flipflop........................................................................................-22-

VIII Schieberegister..........................................................................................................-24-

1. Grundprinzip.............................................................................................................-24-

- 1 -


Physik/Informatik Wahlpflichtbereich Klasse 9

2. Seriell arbeitender Addierer......................................................................................-24-

3. Benutzen eines Bussystems; Adressieren..................................................................-26-

IX Zählschaltungen und Digitaluhr ............................................................................-28-

1. 4-Bit-Zähler..............................................................................................................-28-

2. Zähldekade und Dezimalzähler.................................................................................-28-

3. Digitaluhr..................................................................................................................-29-

X Kurzzeitmesser (elektronische Stoppuhr)..............................................................-30-

1. Funktionsbeschreibung.............................................................................................-30-

2. Erzeugung des Start/Stopp-Signals...........................................................................-30-

3. Anwendungsbeispiele aus dem Physikunterricht......................................................-32-

XI Ampelsteuerung........................................................................................................-33-

1. Prinzip.......................................................................................................................-33-

2. Schaltung...................................................................................................................-33-

3. Schaltbilder...............................................................................................................-34-

XII Befehle in VisualBasic..............................................................................................-35-

1. Vorlage......................................................................................................................-35-

2. Steuerelemente..........................................................................................................-35-

3. Programmbeispiel.....................................................................................................-37-

4. Variablen...................................................................................................................-38-

5. Kontrollstrukturen.....................................................................................................-38-

6. Unterprogramme.......................................................................................................-39-

7. Sonstiges...................................................................................................................-40-

XIII Aus- und Eingabe von Daten über die USB-Karte................................................-41-

1. Befehlssatz zum Betrieb der USB-Karte...................................................................-41-

2. Grundsätzliches zur Ausgabe....................................................................................-42-

3. Grundsätzliches zur Eingabe.....................................................................................-42-

XIV Programmierübungen zur Ein- und Ausgabe........................................................-43-

1. Einlesen von Schalterstellungen................................................................................-43-

2. Ausgabe von Lauflichtern, Ampelsteuerung.............................................................-43-

XV Pumpe........................................................................................................................-46-

1. Aufbau.......................................................................................................................-46-

2. Grundprogramm........................................................................................................-46-

3. Erweiterung...............................................................................................................-47-

XVI Ansteuern von Schrittmotoren................................................................................-48-

- 2 -


Physik/Informatik Wahlpflichtbereich Klasse 9

1. Aufbau und Betrieb des Schrittmotors......................................................................-48-

2. Ansteuerung..............................................................................................................-48-

3. Unipolarer und bipolarer Schrittmotor......................................................................-50-

4. Ansteuerung über Flipflops.......................................................................................-51-

XVII Aufzug........................................................................................................................-52-

1. Aufbau.......................................................................................................................-52-

2. Programmierbeispiel.................................................................................................-53-

XVIII Lochkartenleser........................................................................................................-54-

1. Technik......................................................................................................................-54-

2. Einleseprogramm......................................................................................................-54-

3. Abspeichern von Zeugnisnoten auf einem Lochstreifen...........................................-55-

XIX Alarmanlage..............................................................................................................-57-

1. Alarmsensoren...........................................................................................................-57-

2. Programmiervorschlag zum Einlesen mehrerer Sensoren........................................-58-

3. Alarmsignale.............................................................................................................-59-

4. Programmiervorschläge zur Alarmausgabe:.............................................................-60-

5. Gesamtprogrammiervorschlag..................................................................................-62-

XX D-/A-Wandler............................................................................................................-63-

1. Prinzip.......................................................................................................................-63-

2. Ausgabe von Spannungswerten................................................................................-63-

3. Betrieb mit dem Rechner...........................................................................................-64-

4. Weiterführende Überlegungen zur D/A-Wandlung...................................................-65-

5. Anwendungen ..........................................................................................................-65-

XXI A/D-Wandler.............................................................................................................-66-

1. Aufgabe.....................................................................................................................-66-

2. Wandlungsmethode (Theorie)...................................................................................-66-

3. Wandlungsmethode am Beispiel eines 4-Bit-A/D-Wandlers...................................-66-

4. Anwendungen...........................................................................................................-69-

XXII Rechnergestützte Robotersteuerung.......................................................................-70-

1. Servomotor................................................................................................................-70-

2. Steuerung eines Roboterarmes..................................................................................-74-

- 3 -


Physik/Informatik Wahlpflichtbereich Klasse 9

I Grundlagen aus der Elektrizitätslehre

• In einem unverzweigten Stromkreis

ist die Stromstärke I überall

gleich.

• I wird in der Einheit Ampère

(1 A = 1000 mA) gemessen.

• Die Spannung U kennzeichnet

einerseits die Leistungsfähigkeit

der Quelle, andererseits den

Energieumsatz im Verbraucher.

• U wird in der Einheit Volt (1 V) gemessen.

• Der Widerstand R eines Verbrauchers ist der Quotient aus der am Verbraucher gemessenen

Spannung U1 und der Stromstärke I: R = U

I

• R wird in der Einheit Ohm (1 Ω) gemessen.

• An einem geschlossenen Schalter beträgt die Spannung U2 0 Volt, an einem geöffneten

liegt dagegen der durch die Betriebsspannung vorgegebene Maximalwert an.

Aufgaben:

1. An einen 4,7 kΩ-Widerstand wird eine Spannung von 6 V gelegt. Wie groß ist der fließende

Strom?

I = U

R

6 V

= ≈ 1,28 mA

4,7 k

2. Wie hoch muss die Spannung sein, damit durch einen 270 Ω -Widerstand ein Strom

von 40 mA fließt?

U = R⋅I = 10,8V

3. Eine Leuchtdiode (LED) soll an einer 5V - Quelle betrieben werden; die Betriebsdaten

sind : I = 20 mA , ULED = 2 V . Welchen Wert muss der notwendige Vorwiderstand R

besitzen? U = 5V −2V = 3V ⇒ R = 3V

= 150

20mA

- 1 -

I

R

U 1

U 2


II Relais

1. Aufbau und Schaltbild

Umschalter

Steuerstromkreis

2. Anwendungen

Physik/Informatik Wahlpflichtbereich Klasse 9

Ein Relais besteht aus einer Spule und einem Umschalter. Der

Umschalter wird durch Federkraft in der Stellung Ruhekontakt

(R) gehalten.

Fließt ein Strom durch die Spule (Steuerstromkreis), so wird der

Umschalter aufgrund der magnetischen Wirkung mit dem sog.

Arbeitskontakt (A) verbunden: „das Relais zieht an”.

• Schalten von leistungsstarken Verbrauchern (z. B. Motoren)

• Schalten von Stromkreisen mit hohen Spannungen (z.B. Netzspannung 230 V)

• Ausschalten eines Stromkreises durch Einschalten eines anderen (vgl. Beispiel b)

3. Beispiele

R

A

Eine Gleichspannung von 10 V schaltet eine Glühlampe,

die am Netz betrieben wird.

a) Durch Schließen des Schalters im Steuerstromkreis

wird die Glühlampe eingeschaltet. Dieser

Schalter kann auch durch eine entsprechende Transistorschaltung

(vgl. Kap. III) ersetzt werden.

b) Wenn der Schalter geschlossen wird, leuchtet die

Lampe L1, wenn der Schalter geöffnet ist, leuchtet

Lampe L2 .

- 2 -

b)

a)

~ 230 V

~ 230 V

L 2

L 1


III Elektronische Bauelemente

1. Diode

Physik/Informatik Wahlpflichtbereich Klasse 9

Eine Diode ist ein Halbleiterbauelement, das aus 2 Schichten besteht, einem p- und einem n-

Halbleiter. Der Anschluss der p-Schicht heißt auch Anode, derjenige der n-Schicht Kathode.

Aufbau: Schaltzeichen:

Anode Kathode

Aufgrund des elektrischen Verhaltens unterscheidet man bei einer Diode zwei Schaltungsarten.

1. Durchlassrichtung: Die Anode ist mit dem Pluspol, die Kathode mit dem Minuspol

verbunden.

2. Sperrrichtung: Die Anode ist mit dem Minuspol, die Kathode mit dem Pluspol

verbunden.

Durch entsprechende Experimente erhält man die nachfolgend aufgelisteten Ergebnisse:

• Bei einer in Durchlassrichtung geschalteten

Diode (Silizium) beträgt

die Spannung ca. 0,7 V , bei einer

in Sperrrichtung betriebenen Diode

liegt dagegen ein durch die Betriebsspannung

vorgegebener Maximalwert

an.

Die Abbildung zeigt die Kennlinie

einer Si-Diode sowie die Schaltung

zur Ermittlung dieser Kennlinie.

• Eine Diode verhält sich technisch gesehen wie ein elektrisches Ventil; d.h. sie ermöglicht

den Stromfluss nur in einer Richtung.

• Mit Hilfe von Dioden kann eine Wechselspannung in eine Gleichspannung umgeformt

werden: Gleichrichter. Wenn man in der obigen Schaltung die Gleichspannungsquelle

durch eine Wechselspannungsquelle ersetzt, fließt durch den Widerstand lediglich

ein (pulsierender) Gleichstrom (siehe Abb.).

I

t

- 3 -

I

0,7 V U

+(-)

-(+)

Kennlinie Schaltung

I

t


Physik/Informatik Wahlpflichtbereich Klasse 9

• Mit Hilfe von Dioden können auch logische

Probleme gelöst werden. So schaltet

man mit S1 nur L1 an, mit S2 hingegen beide

Lampen (siehe rechte Abb.).

2. npn-Transistor

a) Grundsätzliches

Der npn-Transistor ist ein Halbleiterbauelement mit folgendem Aufbau (schematisch):

er besteht also aus drei Halbleiterschichten. Sein Schaltzeichen ist daneben abgebildet.

Aufbau: Schaltzeichen:

Aufgrund seines Aufbaus enthält der Transistor zwei Diodenstrecken, nämlich die Basis-Emitter-Diode

und die Basis-Kollektor-Diode.

• Transistoreffekt: Liegt zwischen Basis und eine Emitter eine positive Spannung von

ca. 0,7 V , so schaltet der Transistor durch, d.h. die Kollektor-Emitter-Strecke wird

niederohmig (es besteht eine leitende Verbindung zwischen Kollektor und Emitter).

Im anderen Fall, wenn die Spannung zu gering oder negativ ist, sperrt der Transistor,

die Kollektor-Emitter-Strecke wird hochohmig (Verbindung Kollektor-Emitter ist unterbrochen).

• Ein Strom kann nur dann durch die Kollektor-Emitter-Strecke fließen, wenn der Transistor

durchgeschaltet ist und der Kollektor mit dem Pluspol, der Emitter mit dem Minuspol

der Arbeitskreisquelle verbunden ist.

- 4 -


Physik/Informatik Wahlpflichtbereich Klasse 9

• Ein Vergleich zwischen Transistor und Relais ist in der folgenden Tabelle dargestellt:

Transistor Relais

Steuerspannung zwischen Basis

und Emitter beträgt ca. 0,7 V :

Transistor schaltet durch.

Geschalteter Stromkreis:

Pluspol - Verbraucher (Glühlampe)

- Kollektor - Emitter - Minuspol

b) Transistor als Schalter

Ansteuerung von Lampen

und LEDs (Anzeige)

sowie Relais oder

Motoren:

Falls die Spannung

UBE > 0,7 V, dann

schaltet der Transistor

durch und die Lampe

bzw. Leuchtdiode

leuchtet, bzw. das Relais

zieht an.

Hinweise:

Strom im Steuerstromkreis ist

groß genug, dass das Relais anzieht:

Arbeitskontakt wird ge-

schlossen.

Geschalteter Stromkreis:

Quelle - Verbraucher (Glühlampe)

gemeinsamer Kontakt - Arbeitskontakt

- Quelle

• Die Verbraucher werden zwischen den Punkten 1 (Pluspol der Versorgungsspannung)

und 2 (Kollektor) angeschlossen.

• Der Vorwiderstand der LED richtet sich nach der Höhe der Betriebsspannung.

• Die Spannung der Glühlampe muss zur Betriebsspannung passen.

• Verwendet man einen LDR (Widerstand, dessen Wert mit zunehmender Beleuchtung

geringer wird) als Basisvorwiderstand, arbeitet die Schaltung als Lichtschranke.

- 5 -


3. Operationsverstärker

a) Grundsätzliches

Physik/Informatik Wahlpflichtbereich Klasse 9

Der Operationsverstärker, im folgenden auch OPV genannt, hat das nebenstehend abgebildete

Schaltzeichen.

Zu erkennen sind die beiden Eingangsleitungen

E1 und E2 sowie die

Ausgangsleitung A. Ferner sind noch

die beiden Stromversorgungsanschlüsse

"+" und "-" zu erkennen.

Auf den inneren Aufbau wird an dieser

Stelle nicht eingegangen, da hier

eine beträchtliche Anzahl von Transistoren

auf dem entsprechenden IC

zusammenspielen.

b) Der OPV als Schaltverstärker

In dieser Funktion können wir den OPV am besten mit einem Relais vergleichen. Auch

bei einem Relais gibt es zwei Eingangsleitungen, nämlich die beiden Wicklungseingänge.

Der Ausgang entspricht dann dem Zungenkontakt des Relais, der je nach Polarität der

Spannungsdifferenz ΔU = U2 - U1 entweder mit dem Pluspol oder dem Minuspol der

Spannungsquelle verbunden wird (siehe Abb.). Denkt man sich den Zungenkontakt beispielsweise

als Nordpol eines Dauermagneten, so reagiert er mit Abstoßung oder Anziehung

je nach Polarität des in

der Spule aufgebauten Magnetfeldes.

Allerdings ist die Eingangselektronik

erheblich empfindlicher

als die Relaiswicklung.

Schon äußerst geringe

Unterschiede in den

Eingangsspannungen sorgen

für ein vollständiges Durchschalten

der Versorgungsspannung

an den Ausgang

UA.

Die Tabelle spiegelt dieses

Verhalten wieder.

Eingänge Ausgang

U1 > U2

U1 = U2

U1 < U2

UA = " + "

zu vermeiden

UA = " - "

- 6 -


c) Der OPV als Linearverstärker

Das in der digitalen Elektronik

erwünschte schlagartige

(digitale) Schaltverhalten

kann man

durch Kopplung des Ausgangssignals

gegen das

Eingangssignal UE abmildern.

In der folgenden

Schaltung ist dies dargestellt.

Die Gegenkopplung

erfolgt über den Widerstand

RG. Dadurch

wird an E2 eine Spannung

herangeführt, die

stets gegen die über den

Eingangswiderstand RE

herangeführte Eingangspannung

UE = U2 wirkt.

Physik/Informatik Wahlpflichtbereich Klasse 9

In der nebenstehenden Schaltung sind aus Gründen der Vereinfachung die Leitungen für

die Versorgungsspannung weggelassen.

Nach sehr kurzer Einschwingzeit regelt sich der OPV von selbst so ein, dass die Spannungsdifferenz

ΔU an den Eingängen E1 und E2 gegen Null strebt. Damit ergibt sich die

Signalverstärkung:

U A

U E

= − R G

R E

oder umgestellt: U A = − RG ⋅U E

RE - 7 -


IV Darstellung von Information

1. Grundlagen

Physik/Informatik Wahlpflichtbereich Klasse 9

Zur Darstellung von Information (im technischen, nicht semantischen Sinn) benötigt man

Zeichensysteme. Grundsätzlich unterscheidet man analoge und digitale Systeme.

a) Digitales System

Ein digitales Zeichensystem enthält endlich

viele Zeichen. Der Übergang von einem Wert

zum nächsten erfolgt sprunghaft (diskret).

Beispiele:

• natürliche Zahlen von 0 bis 9

• Morsealphabet

• Ein-/Ausschalter

b) Analoges System

In einem analogen System sind die Werte kontinuierlich

veränderbar; der Abstand zwischen

zwei Werten ist im Prinzip beliebig klein.

Beispiele:

• reelle Zahlen im Intervall [0;1]

• physikalische Größen wie z.B. Länge

Der Übergang von einem analogen Wert zu einem digitalen heißt Analog-Digital-Wandlung.

Z. B. findet eine solche Wandlung beim Ablesen eines Maßstabes statt, weil die begrenzte

Ablesegenauigkeit dazu führt, dass der Abstand zweier Messwerte nicht beliebig klein gemacht

werden kann.

Der umgekehrte Vorgang heißt Digital-Analogwandlung; z.B. wandelt die Soundkarte spezielle

Dateien, also Bitmuster, in eine entsprechende elektrische Spannung, also ein analoges

Signal, das dann verstärkt und von einem Lautsprecher in ein akustisches umgesetzt wird.

2. Binärsystem

In elektronischen Schaltungen (Computer) verwendet man zur Informationsdarstellung das

sogenannte Binärsystem. Ein solches System enthält genau zwei Zeichen, häufig als „1” und

„0” (bzw. als „H” [high] und „L” [low]) bezeichnet, und ist das kleinstmögliche System. Die

Datenmenge (Menge an Information), die mit einem Binärzeichen übertragen werden kann,

heißt 1 Bit (binary digit). Für größere Datenmengen verwendet man folgende Einheiten:

- 8 -


8 Bit = 1 Byte

1.024 Byte = 2 10 Byte = 1 Kilobyte = 1KB

Physik/Informatik Wahlpflichtbereich Klasse 9

1.048.576 Byte = 2 20 Byte = 1.024 Kilobyte = 1 Megabyte = 1 MB

1.073.741.824 Byte = 2 30 Byte = 1.024 Megabyte = 1 Gigabyte = 1 GB

Beispiel: Auf einer Festplatte der Speicherkapazität 1 Gigabyte lassen sich 8.589.934.592

Binärzeichen unterbringen.

3. Übertragung anderer digitaler Systeme ins Binärsystem

Außerhalb der elektronischen Datenverarbeitung wird das Binärsystem im allgemeinen nicht

verwendet. Üblicherweise benutzt man das auf 10 Ziffern beruhende Dezimalsystem (Zahlendarstellung)

sowie das aus 26 (Groß)buchstaben bestehende lateinische Alphabet sowie

Sonderzeichen.

Die Übertragung dieser Systeme ins Binärsystem heißt Codierung, der umgekehrte Vorgang

Decodierung. Grundsätzlich wird eine Codierung frei vereinbart ; dabei muss beachtet werden,

dass der erzeugte Binärcode eine Breite von n Bit haben muss, wenn das zu codierende

System (Zahlen, Alphabet usw.) nicht mehr als 2 n verschiedene Zeichen enthält; vgl. die Beispiele

in der nachstehende Tabelle:

Anzahl der Zeichen 10 26 128 256 65.536

Codebreite in Bit 4 5 7 8 16

a) Codierung von Zahlen

Zahl Binärcode

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

10 1 0 1 0

11 1 0 1 1

12 1 1 0 0

13 1 1 0 1

14 1 1 1 0

15 1 1 1 1

Eine Möglichkeit der Codierung von Zahlen

stellt die Umwandlung ins Dualsystem mit

den Ziffern „0” und „1” dar; vgl. die nachstehende

Tabelle:

Diese Art der Codierung von Dezimalzahlen

stellt nur eine Möglichkeit dar. Je nach Anwendungsbereich

werden auch andere Codevarianten

verwendet.

Z. B. verwendet man sehr häufig den sogenannten

BCD-Code, in dem jede Dezimalstelle

mit der jeweils notwendigen Bitzahl (maximal

4) codiert wird.

(BCD = binary coded decimal)

Die Tabelle zeigt als Beispiele die Codierung

der Uhrzeit (hh:mm) :

- 9 -

Stunde 17 01 0111 6 Bit

Minute 34 011 0100 7 Bit


Physik/Informatik Wahlpflichtbereich Klasse 9

b) Codierung von Buchstaben, Ziffern und Sonderzeichen

Für die Übertragung von Buchstaben, Sonder- und Steuerzeichen sind im Laufe der Zeit

verschieden Codes entwickelt worden. Ein Vorläufer des bekannten ASCII-Codes (American

Standard Code for Information Interchange; 7 bzw. 8 Bit) ist der 5 Bit breite Fernschreibcode,

mit dem Buchstaben, Zahlen und Sonderzeichen übertragen wurden. Die

nachfolgende Tabelle zeigt ein paar Beispiele:

Zeichen Fernschreibcode ASCII-Code

a 1 1 0 0 0 0110 0001

A nicht möglich 0100 0001

+ 1 0 0 0 1 *) 0010 1011

5 0 0 0 0 1 *) 0011 0101

Steuerzeichen

für:

Buchstaben: 1 1 1 1 1

Ziffern: 1 1 0 1 1

c) Technische Repräsentation der Binärzeichen

*)

vorher Umschalten

auf Ziffern

Es gibt die unterschiedlichsten Möglichkeiten, Binärzeichen technisch darzustellen; hier

spielt die Frage der Zweckmäßigkeit für die jeweilige Anwendung die entscheidende

Rolle. Eine kleine Auswahl möglicher Vereinbarungen zeigt die nachfolgende Liste:

• rote / grüne Leuchtdiode

• Lampe leuchtet / leuchtet nicht

• Schalter ist geschlossen / geöffnet

• Ton höherer / tieferer Frequenz bei einem Modem

• Spannung im Bereich 1 (z.B. > 2,4 V ) / im Bereich 2 (z.B. < 0,4 V)

• breiter / schmaler Streifen (EAN-Code)

• gelocht / nicht gelocht (Lochstreifen bzw. Lochkarte)

- 10 -


Physik/Informatik Wahlpflichtbereich Klasse 9

V Aussagenlogik und Logische Schaltungen

1. Aussagen

Unter einer Aussage versteht man einen Satz, der eindeutig entweder den Wert „wahr” (logisch

„1“) oder den Wert „falsch” (logisch „0”) annimmt. Dieser Wert heißt Wahrheitswert

der Aussage.

Beispiele:

• Der Schüler Alfons Meier bekommt eine Busfahrkarte.

• Die Schülerin Emma Schulte wohnt im Ortsteil Ihmert.

• Der Schüler Hermann Müller ist 1993 geboren.

2. Verknüpfung von Aussagen

Aussagen können auf verschiedene Arten verknüpft werden, wobei das Ergebnis der Verknüpfung

wiederum eine Aussage darstellt, also einen bestimmten Wahrheitswert besitzt. Man unterscheidet

Grundverknüpfungen und aus diesen zusammengesetzte Verknüpfungen.

Eine Verknüpfung wird über eine sog. Wahrheitstafel definiert, in der für alle möglichen Eingangswerte

die Wahrheitswerte der zu definierenden Verknüpfung festgelegt werden. Es lässt

sich zeigen, dass alle möglichen Verknüpfungen aus lediglich 3 Grundverknüpfungen aufgebaut

werden können; z.B. aus UND, ODER, NICHT .

(a) Logisches UND (AND)

(b) Logisches ODER (OR)

(c) logische Verneinung NICHT (NOT)

- 11 -

A B A ∧ B

0 0 0

0 1 0

1 0 0

1 1 1

A B A ∨ B

0 0 0

0 1 1

1 0 1

1 1 1

A A

0 1

1 0


(d) Ausschließendes Oder (XOR)

(e) Äquivalenz

3. Technische Realisierung

Physik/Informatik Wahlpflichtbereich Klasse 9

Um die Verknüpfungen durch elektrische bzw. elektronische Schaltungen ausführen zu lassen,

muss zunächst einmal eine Vereinbarung über die physikalische Darstellung der Wahrheitswerte

„1“ bzw. „0“ getroffen werden. (Vgl. hierzu auch Kapitel IV. Seite 10)

Für den weiteren Unterricht werden folgende Vereinbarungen festgelegt:

Gerät Wert „1“ Wert „0“

Schalter geschlossen geöffnet

elektronische Schaltungen Spannung gegen Masse Spannung gegen Masse

in TTL-Technik

> 2,4 V

< 0,4 V

Glühlampe leuchtet dunkel

Leuchtdiode leuchtet dunkel

Lochkarte gelocht (offen) nicht gelocht (verschlossen)

Beispiele:

1. Und-Schaltung mit mechanischen Schaltern; Anzeige:

Lampe

- 12 -

A B A≠B

0 0 0

0 1 1

1 0 1

1 1 0

A B A≡B

0 0 1

0 1 0

1 0 0

1 1 1

A B


2. Nicht-Schaltung mit Relais;

Anzeige : Lampe

3. Nicht-Schaltung mit Transistor;

Anzeige : Voltmeter

4. XOR-Schaltung mit Relais;

Anzeige : Lampe

5. NAND-Schaltung mit 2 Lichtschranken;

Anzeige : Leuchtdiode

Physik/Informatik Wahlpflichtbereich Klasse 9

- 13 -

A

A

A B

B

A

A

+ 9 V

A

Masse

+9 Volt

A ≠ B

Masse

+9 Volt

A ∧ B

Masse


4. Gattersymbole

Physik/Informatik Wahlpflichtbereich Klasse 9

Unabhängig von der verwendeten Technik sind die logischen Funktionen der Schaltungen allein

durch die jeweils zugehörige Wahrheitstafel bestimmt; deshalb ist es sinnvoll in Schaltzeichnungen

eigenständige Symbole zu verwenden. Man spricht in diesem Zusammenhang

von einem Gatter, z. B. von einem Nandgatter, und meint damit eine in beliebiger Technik

realisierte NAND-Schaltung.

Gattername

Symbol : alte Norm

DIN 40 700

Symbol: neue Norm

DIN 40 900

Formelzeichen in

log. Gleichungen

UND a∧b

ODER a∨b

NICHT a

NAND a∧b

NOR a∨b

XOR a≠b

- 14 -

&

≥1

1

&

≥1

=1


5. Anwendungsbeispiele

a) Zugrunde gelegt

wird folgende

Codierung:

Physik/Informatik Wahlpflichtbereich Klasse 9

Der Ausgang einer Schaltung soll den Wert „1“ annehmen, wenn gilt:

α) weiblich und Jahrgang 82 β) Jahrgang 81 oder 82 und Buskarte vorhanden

Lösung:

α) β)

A

C

D

b) Pumpenproblem:

Eine Pumpe Y soll eingeschaltet werden, wenn eine der kleineren Pumpen A und B

oder die größere Pumpe C ausfällt.

Vereinbarung: Eine ausgefallene Pumpe hat den Wahrheitswert „0“ , eine in Betrieb

befindliche den Wahrheitswert „1“ .

Lösung:

Merkmal Art Wert Bit

Geschlecht

Buskarte

Jahrgang

1 &

C 1 &

A

B

C

1

1

1

- 15 -

männlich

weiblich

Nein

Ja

81

82

83

84

&

B

>1

=

0

1

0

1

0 0

0 1

1 0

1 1

Y

A

B

C D


Physik/Informatik Wahlpflichtbereich Klasse 9

c) Addition zweier einstelliger Dualzahlen (Halbaddierer):

Lösung:

Summand a Summand b Summe s Übertrag ü

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

a

b

=1

&

- 16 -

Summe

Übertrag


Physik/Informatik Wahlpflichtbereich Klasse 9

VI Paralleladdierer mit dezimaler Ein- und Ausgabe

1. Volladdierer

Ein Volladdierer ist eine Schaltung,

die 3 einstellige Dualzahlen

a,b,c addiert und als Ergebnis

einen Summenwert s und einen

Übertragswert ü liefert.

Ein Volladdierer wird also durch

nebenstehende Wahrheitstafel repräsentiert:

Es gibt verschiedene Möglichkeiten,

einen Volladdierer aus den

Grundgattern aufzubauen.

Im nachfolgenden Beispiel wird

auf den Halbaddierer aus Kap. V

zurückgegriffen:

2. 4-Bit-Paralleladdierer

Zur Addition von zwei 4-Bit-Zahlen müssen insgesamt 4 Additionen (einmal 2 Bit, dreimal 3

Bit) durchgeführt werden (vgl. das nachstehende Beispiel); man benötigt also einen Halb-

und 3 Volladdierer bzw. 4 Volladdierer, wobei der dritte Eingang des ersten Volladdierers als

Übertragseingang zu schalten ist.

Beispiel:

Die Summe 6 + 7 soll ermittelt werden.

6 0 1 1 0

+ 7 0 1 1 1

1 1 0 - Übertrag

1 1 0 1 Summe

a

b

c

a b c ü s

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 0 1

1 0 1 1 0

1 1 0 1 0

1 1 1 1 1

- 17 -

=1

&

=1

&

> = 1

Summe

Übertrag

Aus diesen Überlegungen ergibt sich

die nachfolgende Schaltung für einen

4-Bit-Paralleladdierer.


Die Ein- und Ausgänge haben

folgende Bedeutung:

a0 bis a3 : Summand a

b0 bis b3 : Summand b

s0 bis s4 : Summe s

Physik/Informatik Wahlpflichtbereich Klasse 9

3. Umwandlung des Ergebnisses in BCD-Code

a 0

a 1

a 2

a 3

b0 b1 b 2

b 3

Der BCD-Code unterscheidet sich vom binären Code dadurch, dass die Dezimalzahlen stellenweise

binär codiert werden (siehe auch Kapitel IV.3). Zur Verdeutlichung sind in der unten

stehenden Tabelle einige Beispiele aufgeführt.

Dezimalzahl Binärcode BCD-Code

0 0000 0000 0000 0000

1 0000 0001 0000 0001

9 0000 1001 0000 1001

10 0000 1010 0001 0000

11 0000 1011 0001 0001

15 0000 1111 0001 0101

16 0001 0000 0001 0110

19 0001 0011 0001 1001

20 0001 0100 0010 0000

32 0010 0000 0011 0010

Zur Vereinfachung lassen wir in dem folgenden Beispiel als mögliche Ergebnisse nur die

Zahlen von 0 bis 19 zu. Somit unterscheiden sich die BCD-codierten Zahlen von den Dualzahlen

dadurch, dass

• im BCD-Code für Zahlen >9 das Bit für die Zehnerstelle den Wert „1“ bekommt und

• das Bitmuster der Einerstelle durch Addition von 0110 zu s3s2s1s0 entsteht.

- 18 -

HA

VA

VA

VA

s 0

s 1

s 2

s 3

s 4


Physik/Informatik Wahlpflichtbereich Klasse 9

Die eigentliche Rechenschaltung ist also um 2 Teile zu ergänzen: der Ausgang des ODER-

Gatters geht auf „1“, wenn das Rechenergebnis >9 ist; die Kombination aus Halbaddierer -

Volladdierer - Halbaddierer verändert das Bitmuster in der gewünschten Weise (vgl. Schaltbild).

a

4-Bit-Volladdierer mit BCD-Anzeige

HA

V

A

b V

A

4. Umwandlung von Dual- in Dezimalzahlen (Decodierung)

Um ein Ergebnis, das als Dualzahl vorliegt,

als Dezimalzahl darzustellen, benutzt man

einen Decodierer.

Die nebenstehende Abbildung zeigt den Aufbau.

Die mit den Dualzahlen bezeichneten Anschlüsse

sind jeweils auf den Wert „1“ zu legen.

Die parallel geschalteten NOT-Gatter liefern

dann den umgekehrten Zustand.

Jede Dezimalzahl erhält ein eigenes 4-fach

AND-Gatter.

HA

V

A

- 19 -

V

A

HA

2 3 2 2 2 1 2 0

9

8

5

3

2

1

0

E

Z

6,7 entsprechend

4 entsprechend


Physik/Informatik Wahlpflichtbereich Klasse 9

5. Umwandlung von Dezimal- in Dualzahlen (Codierung)

Damit die Eingabe nicht bitweise erfolgen muss, ist es erforderlich, zu jeder Dezimalzahl von

0 bis 9 das zugehörige Bitmuster zu erzeugen. Das leisten die abgebildeten Schaltungen:

Die mit den Dezimalzahlen bezeichneten Anschlüsse sind jeweils auf den Wert „1“ zu legen,

damit das gewünschte Bitmuster am Ausgang der Schaltung erscheint.

In der 2. Abbildung wurden die OR-Gatter durch Dioden ersetzt. Eine direkte Verbindung der

entsprechenden Leitungen ist aus logischen Gründen nicht möglich. Würde man unter dieser

Voraussetzung z.B. die Leitung für die 9 auf den Wert „1“ setzen, so würde dann auch z.B.

die Leitung für die 7 mit auf „1“ gesetzt, usw..

9 8 7 6 5 4 3 2 1 0

6. Die Sieben-Segment-Anzeige

Die nebenstehende Abbildung zeigt eine solche Anzeige. Die einzelnen

Ziffern und Symbole sind der unteren Abbildung zu entnehmen.

10 11 12 13 14 15

2 3

2 2

2 1

2 0

9 8 7 6 5 4 3 2 1 0

Die Ansteuerung arbeitet nach einem ähnlichen Prinzip wie bei Dekodieren. Das Segment a

z.B. muss leuchten bei 0∨2∨3∨5∨7∨8∨9∨13 .

- 20 -

e

f

d

g

a

c

b

2 3

2 2

2 1

2 0


VII Speicherelemente (Flipflop)

1. R-S-Flipflop

Physik/Informatik Wahlpflichtbereich Klasse 9

Ein R-S-Flipflop ist eine Schaltung, die über die beiden Eingänge R und S bzw. R und S verfügt,

mit denen eine logische „0“ oder „1“ gespeichert und am Ausgang Q zugänglich gemacht

werden kann. Das Negationszeichen über den Buchstaben R (Reset) bzw. S (Set) bedeutet,

dass die Schaltung bei Anlegen des Wertes „0“ aktiv ist.

_

R

_

S Q

_

Q Bemerkung

1 1 voriger Wert voriger Wert Speicher gesperrt

0 1 0 1 Rücksetzen: Q → 0

1 0 1 0 Setzen: Q → 1

0 0 nicht definiert nicht definiert verbotener Zustand

Die Flipflopschaltung

lässt sich in unterschiedlichen

Techniken

aufbauen. Das erste

Bild zeigt den Aufbau

mit Hilfe von 2 NAND-

Gattern; daneben ist

eine Version mit (selbsthaltendem)

Relais abgebildet.

Eine wichtige Anwendung

dieses Flipflops ist der prellfreie Schalter. Am Beispiel des Geschicklichkeitsspiels „heißer

Draht“ kann man sich die Funktionsweise klar machen. Hier geht es darum, eine Drahtschlaufe

berührungsfrei über einen beliebig gewellten Draht zu führen. Als Kontaktmelder

dient eine Lampe. Allerdings lässt sich oft nicht zweifelsfrei klären, ob berührt oder nicht berührt

wurde. Legt man den Kontakt hingegen auf ein Flipflop (S- Eingang), so wechselt es

auch bei einer kurzfristigen Berührung den Zustand und bleibt bis zum Start des neuen Spiels

(R - Eingang) in diesem Zustand. Siehe dazu auch die Abbildung.

Prellfreie Schalter sind

für eine funktionierende

logische Schaltung unabdingbar.

- 21 -

S R


2. Gesteuerte Flipflops

Physik/Informatik Wahlpflichtbereich Klasse 9

Für viele Anwendungen benötigt man Speicherelemente, die das zu speichernde Bit erst dann

übernehmen, wenn an einem zusätzlichen Eingang ein Steuersignal (Clock) z.B. den Wert „1“

annimmt. Ein solches

Flipflop wird als D-Flipflop

bezeichnet (Delay

oder Data):

Die Daten liegen am Eingang

D an; wenn C = „1“

wird, gelangt der Wert

von D an den Ausgang Q.

Im folgenden wird ein

solches D-Flipflop durch

nebenstehendes Schaltsymbol

gekennzeichnet:

Mit Hilfe von 2 D-Flipflops lässt sich ein Speicher aufbauen, der nur während einer äußerst

kurzen Zeitspanne, nämlich wenn sich das Taktsignal von „1 auf „0“ ändert (man spricht hier

von einer fallenden Taktflanke), einen Wert übernimmt:

3. J-K-Master-Slave-Flipflop

a) Zählflipflop

Prinzip der Flankensteuerung:

Das NICHT-Gatter sorgt dafür, dass

das nachgeschaltete Flipflop (auch

als Slave bezeichnet) nur dann den

Wert am Ausgang des ersten Flipflops

(Master) annehmen kann,

wenn dieses bereits wieder gesperrt

ist: Master-Slave-Flipflop.

Die obige Schaltung lässt sich nun nochmals erweitern, indem man den verneinten Ausgang

des Slave-Flipflops mit dem Dateneingang des Master-Flipflops verbindet; dadurch

erreicht man, dass sich der Wert am Ausgang Q mit jeder fallenden Taktflanke ändert.

Eine Gegenüberstellung des zeitlichen Signalverlaufs

von C und Q zeigt, dass das Taktsignal

mit halber Frequenz am Ausgang Q erscheint.

Diese Schaltungsvariante stellt eine wichtige

Grundlage für den Aufbau von Digitalzählern

dar.

- 22 -


) Speicherelement

Physik/Informatik Wahlpflichtbereich Klasse 9

Um ein solches Flipflop gleichzeitig auch als Speicher nutzen zu können, erweitert man

den Eingang des Master-Flipflops durch UND-Gatter (dadurch ergeben sich Dateneingänge

mit der Bezeichnung J bzw. K) und führt die unter 1. besprochenen Setz- bzw.

Rücksetzeingänge nach außen.

c) Schaltzeichen und Funktionstabelle

J K

_

S

_

R

1 1 1 1

1 0 1 1

0 1 1 1

J, K : Daten

R, S : Rücksetzen bzw. Setzen

C : Takt

Q , Q : Ausgänge

Für die Beschaltung ist zu beachten, dass

freie Eingänge den Wert „1“ haben.

Verhalten am Ausgang Bemerkung

Q bzw. Q wechseln ihren Wert

bei jeder fallenden Taktflanke

Q = 1 nach der nächsten fallenden

Taktflanke

Q = 0 nach der nächsten fallenden

Taktflanke

Zählflipflop

Daten über Taktsignal speichern

Daten über Taktsignal speichern

0 1 Q = 1 sofort Setzen des Flipflops

1 0 Q = 0 sofort Rücksetzen des Flipflops

0 0 kein definierter Zustand verboten

- 23 -


VIII Schieberegister

1. Grundprinzip

Physik/Informatik Wahlpflichtbereich Klasse 9

Mehrere Flipflops J-K-Master-Slave-Flipflops werden

wie im nebenstehenden Bild dargestellt miteinander

verbunden. Ebenso werden alle Takteingänge

parallel mit dem Taktgeber verbunden.

Auf ein fallendes Taktsignal hin wird nun die Information,

die im Vorgänger-Flipflop gespeichert ist,

auf den Nachfolger übertragen. Dies geschieht

gleichzeitig bei allen auf diese Art verbundenen

Flipflops, so dass die Gesamtinformation um eine

„Stelle“ nach rechts rückt. Dieser Vorgang lässt sich

beliebig oft wiederholen.

2. Seriell arbeitender Addierer

Die folgenden Ausführungen beziehen sich auf die nachfolgende Abbildung. Wiederum soll

die Summe aus 6 + 7 ermittelt werden. Diese Zahlen werden zunächst über die SET - bzw.

RESET-Eingänge in die 4 Flipflops der beiden linken Flipflopketten eingegeben (Abb. 0).

Diese Ketten werden auch als Schieberegister bezeichnet.

Bei der nächsten fallenden Flanke wird der Inhalt des jeweils links stehenden Flipflops in das

folgende Flipflop weitergegeben - Prinzip des Schieberegisters. Ebenso wird das Ergebnis,

das der Volladdierer vorher anzeigte, in das erste Flipflop des rechten Schieberegisters eingelesen,

ebenso auch ein eventuell vorhandener Übertrag (Abb. 1).

Dieses Spiel setzt sich nun solange fort (Abb. 2 und Abb. 3), bis das fertige Ergebnis in dem

rechten Schieberegister steht. Dies ist nach genau 4 fallenden Flanken der Fall. Beim Auslesen

des Ergebnisses ist zu beachten, dass die Summe größer als 15 sein kann. Dies ist aber

kein Problem, weil zur Anzeige des Ergebnisses 5 Flipflops, also 5 Bit zur Verfügung stehen.

Das Übertragsflipflop stellt die 16er-Stelle dar.

In der Abbildung auf der folgenden Seite wird die schrittweise Rechnung 6 + 7 = 13 dargestellt.

- 24 -


Physik/Informatik Wahlpflichtbereich Klasse 9

- 25 -

Startzustand

nach der 1. fallenden

Flanke

nach der 2. fallenden

Flanke

nach der 3. fallenden

Flanke

nach der 4. fallenden

Flanke = Ergebnis


Physik/Informatik Wahlpflichtbereich Klasse 9

3. Benutzen eines Bussystems; Adressieren

Die Grundidee besteht darin, den Inhalt eines Speichers - dies kann ein Datensatz oder ein

Befehl sein - an einen bestimmten Speicher und nur in diesen zu übertragen. Dabei soll die

Übertragung über eine einzige Leitung erfolgen, die mit allen Speichern parallel verbunden

ist. Dies setzt voraus, dass jeder Speicher eine individuelle Adresse besitzt. Nur wenn die

Adresse stimmt, darf die Information angenommen werden.

In unserem Beispiel besteht die Adresse aus 2 Bit. Es sind also die Adressen 00, 01, 10 und

11 möglich.

Für den Datensatz stehen in diesem einfach gehaltenen Beispiel ebenfalls nur 2 Bit zur Verfügung.

Die Abbildung auf der folgenden Seite zeigt ein solches System. In die ersten beiden Flipflops

der oberen Kette (Schieberegister) wird der zu übertragende Speicherinhalt (hier „3“)

und in die letzten beiden Flipflops wird die Adresse des anzusteuernden Speichers (hier „1“)

mittels der SET- bzw. RESET-Eingänge per Hand eingegeben.

Nach 4 fallenden Flanken ist der Inhalt des Ausgangsschieberegisters in alle 4 parallel geschaltete

Register in gleicher Weise übertragen worden. Das Nand-Glied des zweiten Registers

meldet „0“, da hier die gesendete Adresse mit der fest verdrahteten Adressnummer übereinstimmt.

Dann zeigt die Ziffernanzeige den ausgegebenen Befehl (hier „3“) an.

Bei den anderen Anzeigen, deren Adressen nicht angesprochen sind, meldet das NAND-Glied

„1“, es wird also eine Zahl größer gleich 12 angezeigt, die zu einem Sonderzeichen in der Anzeige

führt, das zu ignorieren ist..

- 26 -


Physik/Informatik Wahlpflichtbereich Klasse 9

- 27 -


Physik/Informatik Wahlpflichtbereich Klasse 9

IX Zählschaltungen und Digitaluhr

1. 4-Bit-Zähler

Ein 4-Bit-Zähler kann mit Hilfe

von 4 Zählflipflops aufgebaut

werden, wobei der Ausgang Q der

vorangehenden Stelle das Taktsignal

für die folgende Dualstelle

liefert.

Weil sich das Ausgangssignal nur bei fallenden Taktflanken ändert (vgl. Kapitel VII.), wird

die Frequenz von Stufe zu Stufe halbiert. Das dadurch an den Ausgängen erzeugte Bitmuster

entspricht genau der Dualzahlendarstellung; ein solcher Zähler erzeugt also nacheinander die

Zahlen von 0 bis 15 in Dualform, wobei natürlich das geringwertigste Bit links steht,die Reihenfolge

der Stellen also vertauscht ist.

2. Zähldekade und Dezimalzähler

Für viele Einsatzzwecke ist es sinnvoll,

im Dezimalsystem zu zählen,

d.h. für jede vorkommende Dezimalstelle

muss eine Zähldekade,

also ein Zähler von 0 bis 9, aufgebaut

werden. Eine solche Zähldekade

ergibt sich z.B. dadurch, dass der

4-Bit-Zähler bei Erreichen der Zahl

10dez 1010dual auf 0 zurückgesetzt wird. Die Rücksetzbedingung erzeugt man mit Hilfe eines

NAND-Gatters.

Im folgenden (und in den nächsten Kapiteln)

wird zur Vereinfachung für die Zähldekade

die nebenstehende Schaltzeichnung verwendet.

T ak t

T a k t

Um mehrstellige Dezimalzähler aufzubauen,

wird eine der Stellenzahl entsprechende Anzahl

von Zähldekaden in folgender Weise

hintereinander geschaltet:

Der Takteingang der nachfolgenden Stelle wird mit dem Rücksetzsignal der vorhergehenden

Stelle verbunden, so dass z.B. die Hunderterstelle um eins weiter gezählt wird, wenn die Zehnerstelle

von 9 auf 0 zurückgeht (vgl. das Prinzip des mechanischen Kilometerzählers beim

Auto oder Fahrrad).

- 28 -

0 1 2 3

2 2 2 2

0 1 2 3

2 2 2 2

&


3. Digitaluhr

Physik/Informatik Wahlpflichtbereich Klasse 9

Für eine Digitaluhr mit der üblichen 24-Stunden-Anzeige benötigt man für die Sekunden und

Minuten einen Zähler von 0 bis 59 und für die Stunden einen von 0 bis 23. Es handelt sich jeweils

im Prinzip um einen zweistelligen Dezimalzähler mit zusätzlich zu erstellenden Rücksetzbedingungen.

a) Minuten- bzw. Sekundenzähler

b) Stundenzähler

Beim Stundenzähler müssen die beiden Rücksetzbedingungen

• Einerstellen-Reset: Einerstelle erreicht 10 : → Reset nur bei der Einerstelle

• 24-Uhr-Reset: Einerstelle erreicht 4 und zugleich hat Zehnerstelle den Wert 2 :

→ Reset bei beiden Stellen mit Hilfe eines UND-Gatters,

dessen Ausgang an den Einer-Reset geführt wird.

c) Zeitbasis

3 2 1

2 2 2 2

C _

R

Einer

0

&

&

C

Zehner

Damit die beschriebenen Zähler als Digitaluhr verwendet werden können, muss die Zeitbasis

so gewählt werden, dass eine Uhr mit Sekundenanzeige mit f = 1 Hz Taktfrequenz

betrieben wird; für eine mit Minuten- und Stundenanzeige benötigt man f = 1/60 Hz.

Diese niedrigen Taktfrequenzen gewinnt man durch Herunterteilen von z.B. der Netzfrequenz

(50 Hz) oder mit speziellen Taktgebern, die als Zeitbasis Quarzschwingungen benutzen.

- 29 -

1

2

0

2

_

R

&


Physik/Informatik Wahlpflichtbereich Klasse 9

X Kurzzeitmesser (elektronische Stoppuhr)

1. Funktionsbeschreibung

Start

Stop

Start

Im Blockschaltbild (Abb. 1) erkennt man die Funktionsgruppen, aus denen ein Kurzzeitmesser

aufgebaut ist: Start/Stopp-Vorrichtung , Taktgeber mit der Frequenz f, mehrstelliger Dezimalzähler

und passende Anzeige. Der Taktgeber wird genau dann freigegeben, d.h. die Uhr

läuft, wenn der Ausgang Q des Start-Flipflops den Wert 1 hat, also das Flipflop gesetzt ist;

zum Stoppen der Uhr muss das Flipflop wieder zurückgesetzt werden. Durch eine 0 am

Rücksetzeingang des Zählers werden sämtliche Zählflipflops zurückgesetzt, die Uhr zeigt

dann also die Ziffernfolge 0000 an.

Die Kalibrierung des Zählers und die Bedeutung der Anzeige sind abhängig von der Frequenz

des Taktgebers: der Kehrwert der Frequenz bestimmt den Messbereich. Z.B. erreicht man mit

f = 1 kHz eine Auflösung von 1 ms usw. (vgl. die nachstehende Tabelle).

Taktfrequenz Auflösung (Wert Ablesung einer 4-stelli-

in kHz der letzten Stelle) gen Anzeige

0,1 0,01 s **,** s

1 1 ms *;*** s

10 100 µs 0,**** s

100 10 µs 0,0**** s = **,**ms

2. Erzeugung des Start/Stopp-Signals

a) Ansteuerung mit Tastern

Takt-Geber

Rücksetzen

Neben der bereits im Blockschaltbild

dargestellten Anschlussmöglichkeit

(Startimpuls am Setzeingang, Stoppimpuls

am Rücksetzeingang) gibt es zwei

weitere Schaltungsvarianten:

Die Schaltung in Abb. 2 zeigt, wie man

die Uhr über einen einzigen Schalter prellrei starten bzw. stoppen kann.

- 30 -

4-stelliger

Dezimalzähler

T

R-

4-stellige

Anzeige

Abb. 1


) Lichtschranken

Physik/Informatik Wahlpflichtbereich Klasse 9

In der Abb. 3 ist dargestellt, wie man

es erreichen kann, dass genau ein

Auslösevorgang möglich ist. Die Uhr

kann erst wieder gestartet werden,

Start Stop

wenn die Freigabe-Taste betätigt worden

ist.

TG

Es lassen sich zur Ansteuerung beliebige

mechanische Taster (Schließer)

verwenden, auch Reed-Kontakte. Das

Freigabe

Abb. 3

sind Schaltkontakte, die berührungslos mit Hilfe eines Magneten betätigt werden.

Man steuert einen Transistor über einen Phototransistor an. Der Ausgang dieser Schaltung

wird dann mit dem Setz- bzw. Rücksetzeingang verbunden. Für die nachfolgend beschriebenen

Schaltungsvarianten werde angenommen, dass bei Beleuchtung des Phototransistors

der Ausgang der Lichtschranke den Wert „1“, bei Abdunkelung den Wert „0“

annimmt. Damit ergeben sich folgende Schaltungsmöglichkeiten:

Lichtschranke

Beleuchtung Uhr

I hell→ dunkel

II hell

I hell

II hell→ dunkel

startet beim ersten Verdunkeln von Lichtschranke

I

stoppt beim ersten Verdunkeln von Lichtschranke

II

Man kann auch mit nur einer Lichtschranke arbeiten. Zu diesem Zweck verbindet man

den Ausgang zusätzlich mit einer Nichtschaltung. Unter diesen Bedingungen gilt:

Ausgang der

Lichtschranke

Ausgang

der Nicht-

schaltung

Beleuchtung

Uhr Bemerkung

Setzeingang

Reseteingang

hell stoppt Dunkelzeitmessung

dunkel startet

Reseteingang Setzeingang hell startet Hellzeitmessung

dunkel stoppt

c) Akustisches Start/Stoppsignal

Zur Erzeugung des Start- bzw. Stoppimpulses durch ein akustisches Signal verwendet

man als Schallaufnehmer ein Mikrophon, dessen Ausgangssignal soweit verstärkt wird,

dass die digitalelektronischen Bausteine ansprechen. Der Schaltungsausgang ändert seinen

Wert von „1“ auf „0“, wenn das Mikrophon einen Schallimpuls registriert. (Interessierte

finden die Schaltung am Ende des Kapitels.)

- 31 -


Physik/Informatik Wahlpflichtbereich Klasse 9

3. Anwendungsbeispiele aus dem Physikunterricht

a) Messung von Fallzeiten

Eine Metallkugel wird mit Hilfe eines Elektromagneten gehalten. Mit einem Doppelschalter

schaltet man den Magneten aus und startet gleichzeitig die Uhr, indem der

Setzeingang des Start-Flipflops auf „0“ gelegt wird. Der Rücksetzeingang ist mit einer

Lichtschranke verbunden, die durch die fallende Kugel verdunkelt wird. Die Uhr misst

also die Zeit t, welche die Kugel braucht, um die Strecke s vom Startpunkt bis zur Lichtschranke

zurückzulegen. Wenn man die Lichtschranke längs des Fallweges verschiebt,

lässt sich eine Messreihe für die Fallzeit in Abhängigkeit von der Fallhöhe aufnehmen.

Eine Zeitauflösung von einer Hundertstelsekunde (f = 100 Hz) ist hier ausreichend.

b) Bestimmung der Schallgeschwindigkeit in Luft

Als Signalgeber verwendet man die unten

beschriebene Schaltung in zweifacher

Ausfertigung als Start- bzw. Stoppsignalgeber.

Die beiden Mikrophone

werden im Abstand von 1 m aufgestellt.

Als Schallquelle dient der Knall, der

beim Zusammenschlagen zweier Holzstücke

entsteht. Die zu erwartenden Zeiten

liegen in der Größenordnung von 3

ms. Die Frequenz des Taktgebers sollte

also mindestens 50 kHz betragen, um

ein brauchbares Ergebnis zu erhalten. Um auszuschließen, dass die Uhr mehrfach ausgelöst

wird (aufgrund des akustischen Verhaltens der Mikrophone erhält man am Ausgang

der Signalgeber in der Regel mehrere Flanken), muss unbedingt die in der Abb. 3 dargestellte

Start/Stoppschaltung verwendet werden, wobei die Ausgänge der Mikrophonschaltungen

an die Setzeingänge der beiden Flipflops zu legen sind.

Wenn man diese Bedingungen beachtet, lässt sich die Schallgeschwindigkeit mit guter

Genauigkeit bestimmen.

Schaltung des akustischen Signalgebers:

Das Poti dient zum Einstellen der Ansprechempfindlichkeit;

in der Regel reicht ein 10-

kΩ −Festwiderstand.

- 32 -


XI Ampelsteuerung

Physik/Informatik Wahlpflichtbereich Klasse 9

Als Beispiel wird die Ansteuerung einer Fußgängerüberwegampel mit Anforderungskontakt

und Sparschaltung (d.h. im Ruhezustand leuchtet nur die Fußgängerampel (rot), die Autofahrerampel

ist ausgeschaltet) besprochen.

1. Prinzip

Mit Hilfe eines Zählers (4-Bit-Zähler, vgl. S. 28) erzeugt man eine Folge von Zuständen (im

Beispiel 16) in Form binärer Zahlen, die den erforderlichen Ampelzuständen zugeordnet werden

können; z.B.:

Takt-Nr. Zustand der Ampel

0 Ruhezustand: Autofahrer aus ; Fußgänger rot

1 Ampel wird gestartet: Autofahrer grün ; Fußgänger rot

2 Autofahrer grün; Fußgänger rot

3 1.Wechsel beginnt: Autofahrer gelb ; Fußgänger rot

4 Sicherheitsphase: Autofahrer rot; Fußgänger rot

5 - 9 Überweg frei: Autofahrer rot ; Fußgänger grün

10 entspricht Nr. 4 : Autofahrer rot ; Fußgänger rot

11 2. Wechsel beginnt: Autofahrer rot/gelb ; Fußgänger rot

12 - 14 Autofahrer grün ; Fußgänger rot

15 Rückkehr zum Ruhezustand: Autofahrer grün ; Fußgänger rot

2. Schaltung

Eine Möglichkeit, eine Schaltung mit relativ wenigen Bauteilen zu realisieren, besteht darin,

die Farben rot bzw. grün, die sich bei derselben Ampel gegenseitig ausschließen, in jeweils einem

Flipflop für Autofahrer- bzw. Fußgängerampel zu speichern. Zur Realisierung des Ruhezustandes

wird das Autofahrer-Grünsignal mit Hilfe einer UND-Schaltung unterdrückt. Das

Umschalten des einen Flipflops (Autofahrer) erfolgt immer dann, wenn das Gelbsignal wieder

ausgeschaltet wird, also bei den Übergängen von 3 → 4 bzw. 11 → 12 ; das Gelblicht

wird während der Taktnummern 3 bzw. 11 angesteuert. Entsprechend muss das andere Flipflop

(Fußgänger) durch die Übergänge 4 → 5 bzw. 9 → 10 umgeschaltet werden.

- 33 -


3. Schaltbilder

a) Zähler

Nebenstehend ist ein 4-Bit-

Zähler mit Starttaste und automatischem

Stopp beim

Erreichen der Zahl 16 abgebildet

Physik/Informatik Wahlpflichtbereich Klasse 9

b) Codierschaltung zur Umschaltung der Ampelflipflops

Autofahrerampel:

Fußgängerampel:

Für dieses Beispiel ergeben sich für die zu codierenden Zahlen:

Zahl 1 = 3, Zahl 2 = 11, Zahl 3 = 4, Zahl 4 = 9; die zugehörigen Binärdarstellungen

müssen durch die UND-Gatter abgefragt werden.

c) Startverzögerung mit Hilfe eines Monoflops

Die in a) mit einem * gekennzeichnete

Leitung wird durch ein Tor geleitet,

dessen Steuereingang am Ausgang

eines Monoflops liegt. Dieses

Monoflop muss am Ende eines Zyklus

getriggert werden, und zwar

durch den Übergang „1“ → „0“

beim Bit 2³.

- 34 -

S t a r t


*

E

Stop

*

1

Monoflop

Q

3 0

T 2 2

Taktgeber


XII Befehle in VisualBasic

1. Vorlage

Physik/Informatik Wahlpflichtbereich Klasse 9

Damit das im Unterricht verwendete Interface angesprochen werden kann, müssen einige

Prozeduren und Funktionen aufgerufen werden. Das geschieht durch die Auswahl einer Projektvorlage

namens Basismaske. Für einige spezielle Programme steht die Universalmaske

zur Verfügung. Diese enthält sämtliche Prozeduren und Funktionen, die mit dem gegebenen

Interface möglich sind.

Beim Aufrufen der Basis- bzw. Universalmaske werden in der Projektvorlage ein Hauptprogramm

(Public Class Form1) mit dem Namen Form1 und eine zugehörige Formloadprozedur

erzeugt; mit Hilfe der letzteren können Voreinstellungen beim Programmstart geladen werden.

Private Sub Form1_Load


End Sub

Eine Form besteht aus dem Code (Deklarationen der Variablen, Anweisungen) und der Ansicht

(Steuerelemente).

2. Steuerelemente

Die Aufgabe von sog. Steuerelementen besteht darin, Eingaben (per Tastatur oder per Maus-

klick) entgegen zunehmen, Ausgaben zu organisieren und automatische Programmabläufe zu

starten oder zu beenden.

Wir verwenden im Wesentlichen folgende Steuerelemente:

Button:

• Mausklick löst eine Aktion aus, die in dem zugehörigen Unterprogramm (Private

Sub) programmiert ist.

• Die Erzeugung geschieht durch Übertragen des Buttons auf die Formularansicht. (Das

gilt analog für die nachfolgend beschriebenen Elemente.)

Label:

wird zur Ausgabe von Werten (Zahl, Zeichen, Zeichenkette (String)) verwendet.

Beispiele:

Label1.Text = „Anzeige“

Label2.Text = Variable2

- 35 -


Physik/Informatik Wahlpflichtbereich Klasse 9

Textbox:

wird zur Aus- und Eingabe von Werten (Zahl, Zeichen, Zeichenkette (String)) verwendet.

Der Zugriff geschieht durch folgende Anweisungen:

Variable1= TextBox1.Text

weist der (vorher zu deklarierenden) Variablen mit dem Namen Variable1 den

Wert zu, der in der Textbox mit Namen TextBox1 steht.

TextBox2.Text = Variable2

gibt den Wert der Variablen mit dem Namen Variable2 in der Textbox mit dem

Namen TextBox2 aus.

Scrollbar:

Schieberegler, in horizontaler (Hscrollbar) und vertikaler (Vscrollbar) Form. Der Zugriff

geschieht durch folgende Anweisungen:

Variable1 = Hscrollbar1.Value

weist der (vorher zu deklarierenden) Variablen mit dem Namen Variable1 den Wert

zu, der in der Scrollbar mit Namen HScrollbar1 steht. Hierbei können Minimum- und

Maximumwerte so wie die Schrittweite eingestellt werden. Voreingestellt sind Minimum

0 und Maximum 100

HScrollbar2.Value = Variable2

stellt neben dem Wert auch den Schieber der Scrollbar auf den Wert von Variable2 ein.

Checkbox:

Eine Checkbox stellt in der Form ein Fenster dar. Klickt man mit der linken Maustaste

in dieses Fenster hinein, so wird dort ein Häkchen gesetzt, klickt man auf das Häkchen,

so verschwindet es wieder. Damit kann eine Variable (Typ boolean) als „true“

oder „false“ gesetzt werden.

Radiobutton:

Variable = CheckBox.Checked

oder es kann eine Abfrage von folgendem Typ gestaltet werden:

If CheckBox.Checked = true Then ......

Umgekehrt kann der Zustand der CheckBox auch per Programm verändert werden:

Checkbox1.Checked = true (false)

Die Funktionsweise ist ähnlich wie bei einer Checkbox. Allerdings kann durch wiederholtes

Anklicken ein Radiobutton nicht ausgeschaltet werden. Der wichtigste Unterschied

kommt erst beim Einsatz mehrerer Radiobuttons zum Tragen. Hier gilt ein

Ausschließungsprinzip. Beim Anklicken eines bestimmten Buttons wird dasjenige der

- 36 -


Physik/Informatik Wahlpflichtbereich Klasse 9

Button, welches vorher „true“ anzeigte, auf „false“ gesetzt, es kann also nur eine

Möglichkeit ausgewählt werden.

Timer:

wird verwendet, um bestimmte Anweisungen, die sich in

Private Sub Timer1_Tick


End Sub

befinden, in regelmäßigen Zeitabständen auszuführen.

Timer1.Start Der Timer wird gestartet.

Timer1.Stop Der Timer wird gestoppt.

Timer1.Interval = 10 ruft die Timerprozedur im Rhythmus von 10 ms auf.

3. Programmbeispiel

Der auf dem Bildschirm per Maus veränderbare Wert der Scrollbar soll ständig erfasst und in

einer Textbox dargestellt werden.

Steuerelemente:

HScrollbar1 (Min=0, Max=15, LargeChange=1),

StartButton, StoppButton, EinlesenTimer, Label1, AusgabeTextBox

Programm:

Private Sub Form1_Load

Label1.Text = "Der Wert der Scrollbar beträgt:"

End Sub

Private Sub StoppButton_Click

EinlesenTimer1.Stop

End Sub

Private Sub StartButton_Click

EinlesenTimer.Interval = 20 : EinlesenTimer.Start

End Sub

Private Sub EinlesenTimer_Tick

AusgabeTextBox.Text = HScrollBar1.Value

End Sub

- 37 -


4. Variablen

Physik/Informatik Wahlpflichtbereich Klasse 9

Variablen müssen durch die Anweisung Dim As deklariert,

d.h. erzeugt werden. Im Unterricht werden in der Regel die Datentypen Integer (Ganzzahl) ,

Char (Zeichen) , String (Zeichenkette) und Boolean (kann nur die Werte „true“ oder „false“

annehmen) verwendet.

Dim k As Integer erzeugt eine Variable mit Namen k, die nur für ganze Zahlen verwendet

werden darf.

Man unterscheidet globale Variablen, die für das gesamte Programm gelten und unter Public

Class deklariert werden müssen sowie lokale Variablen, die nur für das jeweilige Unterprogramm

(Private Sub ...) gelten und dort deklariert werden. Falls die Variablen gleiche Namen

haben, gilt innerhalb des Unterprogramms stets der lokale Wert.

Bei sog. Feldern handelt es sich um eine Zusammenfassung von Variablen gleichen Typs, die

denselben Namen haben und durch den sog. Index unterschieden werden.

Beispiel: Dim k(6) As Integer erzeugt ein Feld von Integervariablen, die von 0 bis 6

durchnummeriert sind.

5. Kontrollstrukturen

a) Select Case (Mehrfachauswahl):

Je nach Wert der abgefragten Variablen werden unterschiedliche Anweisungen ausgeführt.

Beispiel:

Steuerelemente:

AnzeigeTextBox, StartButton

Variablen:

einlesewert { Integer }

Programm:

Private Sub StartButton_Click

einlesewert = ReadAllDigital

Select Case einlesewert

End Select

End Sub

Case 0 : AnzeigeTextBox.Text = "Alle Schalter geöffnet"

Case 1 : AnzeigeTextBox.Text = "Schalter 1 geschlossen"

Case 2 : AnzeigeTextBox.Text = "Schalter 2 geschlossen"

Case 4,8 : AnzeigeTextBox.Text = "Schalter 3 oder 4 geschlossen"

Case Else : AnzeigeTextBox.Text = "Mehrere Schalter geschlossen"

- 38 -


) If - Verzweigung:

Physik/Informatik Wahlpflichtbereich Klasse 9

In Abhängigkeit davon, ob logische Bedingungen erfüllt sind oder nicht, werden Anweisungen

ausgeführt bzw. übersprungen.

If Then

Anweisungen 1

[Else

Anweisungen 2]

End if

Wenn die Bedingung wahr ist, wird Anweisungsblock 1 ausgeführt, ist die Bedingung

falsch, wird Anweisungsblock 2 ausgeführt. Fehlt der Else-Zweig, so wird der nach dem

Then stehende Anweisungsblock bei nicht erfüllter Bedingung übersprungen.

Kurzformen:

If Then Anweisung1 : Anweisung2

If Then Anweisung1 Else Anweisung2

c) Die For - To - Schleife:

Diese Zählschleife führt dieselben Anweisungen mehrfach durch.

For i = To [Step ]

Anweisungen

Next [i]

Der Schleifenzähler i muss als Integervariable deklariert werden. Häufig dient der

Schleifenzähler als Index, der im Anweisungsblock auftaucht und z.B. das Ansprechen

von Feldelementen erlaubt. Die (optionale) Angabe von Step erlaubt es, verschiedene

Werte für die Schrittweite einzustellen. Es sind hier auch negative (ganze)

Zahlen zulässig. Voreingestellt ist +1.

6. Unterprogramme

Wird ein Programmteil mehrfach benötigt, so kann man diesen Teil als Unterprogramm mit

einem eigenen Namen, z.B. Name(), deklarieren. Das Unterprogramm wird eröffnet mit dem

Befehl Private Sub Name() und geschlossen mit End Sub. Der Sprung von einem anderen

Programmteil in dieses Unterprogramm wird eingeleitet mit Name().

Beispiel:

Steuerelemente:

Sprungbutton1, Sprungbutton2, Label1

- 39 -


Variablen:

zahl [integer]

Programm:

Private Sub Sprungbutton1_Click

zahl = 4 : Anzeige()

End Sub

Private Sub Sprungbutton2_Click

zahl = 9 : Anzeige()

End Sub

Private Sub Anzeige()

Label1.Text = zahl

End Sub

7. Sonstiges

Physik/Informatik Wahlpflichtbereich Klasse 9

• Erzeugung von Zufallszahlen mit Hilfe der Klasse Random; z. B. liefert die Anweisung

Dim Zufall As New Random

Lottozahl = Zufall.Next(1, 49)

bei jedem Aufruf eine Zufallszahl zwischen 1 und 49, die dann in der (vorher deklarierten)

Variablen Lottozahl gespeichert wird.

• Typkonvertierung mit Hilfe der CStr- bzw. CInt-Funktion:

Dim Zahl As Integer : Dim Zeichenkette As String

Zahl = CInt(Zeichenkette)

Zeichenkette = Cstr(Zahl)

aus der Variablen Zeichenkette vom Typ String wird eine Variable Zahl vom Typ Integer

bzw. umgekehrt.

- 40 -


Physik/Informatik Wahlpflichtbereich Klasse 9

XIII Aus- und Eingabe von Daten über die USB-Karte

1. Befehlssatz zum Betrieb der USB-Karte

Open Device Stellt die Verbindung vom Rechner zur Karte her.

Close Device Trennt die Karte vom Rechner.

SetAllDigital Setzt alle Ausgänge Out1 bis Out8 auf „1“. *

ClearAllDigital Setzt alle Ausgänge Out1 bis Out8 auf „0“.

WriteAllDigital(Zahl zwischen 0 und 255)

Setzt die Ausgänge Out1 bis Out8 auf „0“ oder „1“ in Abhängigkeit von

der ausgegebenen Zahl. Die Zahl wird dabei binär dargestellt.

Beispiel: WriteAllDigital(11)

(11)dez = (0000 1011). Die Ausgänge Out4, Out2 und Out1 werden auf

„1“, die übrigen Ausgänge auf „0“ gesetzt.

SetDigitalChannel(Zahl zwischen 1 und 8)

Setzt den Ausgang Outn (n: gewählte Zahl) auf „1“. Die übrigen Ausgänge

werden nicht verändert.

ClearDigitalChannel(Zahl zwischen 1 und 8)

Setzt den Ausgang Outn (n: gewählte Zahl) auf „0“. Die übrigen Ausgänge

werden nicht verändert.

ReadAllDigital Liest den Zustand der Eingabeleitungen E1 bis E5 aus. Das Ergebnis

wird als Dezimalzahl verarbeitet.

Beispiel: E5 = 0 , E4 = 1, E3 = 0, E2 = 0, E1 = 1 . Die Zahl 9 (Typ

integer) wird eingelesen.

ReadDigitalChannel(Zahl zwischen 1 und 5)

Nur der Zustand der ausgewählten Leitung En wird abgefragt. Das Ergebnis

ist om Typ boolean.

Beispiel: If ReadDigitalChannel(1) = true Then …...

ReadAnalogChannel(1);SetAnalogChannel();ReadCounter usw.

werden bei Bedarf in den folgenden Kapiteln erläutert.

*Beachte:

Üblicherweise werden die Ausgangs- bzw. Eingangsbits von 0 anfangend nummeriert:

Bit 0 (2 0 = 1) entspricht D0 , Bit 1 (2 1 = 2) entspricht D1, Bit 2 (2 2 = 4) entspricht D2

usw.. Der Hersteller der USB-Karte verwendet allerdings die oben aufgeführte Bezeichnungsweise.

- 41 -


2. Grundsätzliches zur Ausgabe

Physik/Informatik Wahlpflichtbereich Klasse 9

Wie im vorigen Kapitel besprochen, kann man mit den Befehlen WriteAllDigital(n) bzw.

WriteDigitalChannel(n) die Ausgänge Out1 bis Out8 auf „0“ oder „1“ setzen. Die zugehörigen

Ausgangsspannungen betragen dabei im unbelasteten Zustand 0 V bzw. 4,7 V. Die zugehörigen

Ströme sind allerdings begrenzt. Aufgrund der Bauart der Karte sind höchsten 50 mA zulässig.

Der Betrieb von Leuchtdiode ist mit diesen Strömen gerade noch möglich.

Zur Schaltung größerer elektrischer Leistungen

greift man zum Transistor, der in Kollektorschaltung

betrieben werden sollte (siehe

nebenstehende Abbildung). Noch größere

Leistungen (z.B. Haushaltsgeräte) schaltet

man am besten über Relais, die anstelle des

Arbeitswiderstandes in den Kollektorkreis

geschaltet werden. (Vergleiche Kap. III)

3. Grundsätzliches zur Eingabe

Wie ebenfalls im vorigen Kapitel besprochen, kann man mit den Befehlen ReadAllDigital()

bzw. ReadDigitalChannel(n) die entsprechenden Eingänge E1 bis E5 auslesen. Im unbeschalteten

Zustand sind diese Leitungen im Zustand „1“. Der Einlesebefehl ergibt dann den Wert

„0“ .

Zur Änderung dieses Zustandes muss man die Eingabeleitung mit Masse („0“) verbinden, sie

also gewissermaßen kurzschließen. Die Ströme, die dabei fließen, brauchen allerdings nicht

sehr hoch sein, es reichen schon etwa 0,1 mA. Die Eingangsleitungen sind also außerordentlich

empfindlich. Im nächsten Kapitel sehen wir, dass schon Leitungswasser einen genügend

großen Strom hervorrufen kann.

Unbedingt ist hier die umgekehrte Logik zu beachten: setzt man die Eingabeleitung auf „0“

so wird beim Ausführen des Einlesebefehls das entsprechende Bit auf „1“ gesetzt (und umgekehrt).

Ebenfalls ist zu beachten, dass in einem Programmablauf der Zustand der Eingabeleitung oftmals

ständig abgefragt werden muss. Hier bietet sich der Einsatz eines Timers an, der die Eingänge

im Taktrhythmus abfragt.

Die folgenden Kapitel beschäftigen sich vorzugsweise mit der rechnergesteuerten Aus- und

Eingabe(digitaler Daten).

- 42 -

Ausgabebit

+ 9 V

evtl.

Drosselwiderstand

< 50 Ω

Masse


Physik/Informatik Wahlpflichtbereich Klasse 9

XIV Programmierübungen zur Ein- und Ausgabe

1. Einlesen von Schalterstellungen

Die folgende Programmierübung befasst sich mit dem Einlesen von Schalterstellungen. Anstelle

von Schaltern verwenden wir Kabel, die auf der GRUNDKARTE einerseits mit Masse

und andererseits mit einem der vier Eingänge verbunden werden. Auf diese Weise werden die

Eingänge kurzgeschlossen. Es können bis zu vier Kabel gleichzeitig verwendet werden.

Steuerelemente:

StartButton, StoppButton, EinlesenTimer, TextBox1

Variablen:

lies [integer]

Programm:

Private Sub StartButton_Click

Textbox1.Text = “ “ : EinlesenTimer.Start

End Sub

Private Sub StoppButton_Click

EinlesenTimer.Stop

End Sub

Private Sub EinlesenTimer_Tick

lies = ReadAllDigital : TextBox1.text = lies

End Sub

2. Ausgabe von Lauflichtern, Ampelsteuerung

a) Grundprogramm

Eine erste Programmierübung besteht darin, die 8 Leuchtdioden auf der Ausgabeseite so

anzusteuern, dass der Eindruck eines bewegten Ablaufes entsteht. Im einfachsten Fall

greifen wir nur auf jeweils ein Licht zurück, d.h., die Ausgänge Out1 bis Out8 sollen der

Reihe nach angesprochen werden. Das folgende Programm erfüllt diese Vorgabe:

Steuerelemente:

LaufTimer, StartButton, StoppButton

Variablen:

i [integer] { i = Laufindex 0 .. 7 }

- 43 -


Physik/Informatik Wahlpflichtbereich Klasse 9

Programm:

Private Sub Startbutton_Click

i = 0: LaufTimer.Interval=500: LaufTimer.Start

End Sub

Private Sub StoppButton_Click

LaufTimer.Stop

End Sub

Private LaufTimer_Tick

WriteAllDigital (2 ^ i) : i = i + 1

if i = 8 then i = 0 (wahlweise: i = i Mod 8)

End Sub

b) Variable Geschwindigkeit

Die Geschwindigkeit des Lauflichtes lässt sich über die Wahl des Timer-Intervalls steuern.

Um die diese Geschwindigkeit im laufenden Prozess schnell verändern zu können,

bietet sich die Benutzung eines Schiebereglers (Scrollbar) an. Dazu kann man das obige

Timer-Unterprogramm wie folgt erweitern:

Private LaufTimer_Tick

LaufTimer.Interval = HScrollBar1.value

i = i + 1

if i = 8 then i = 0 (wahlweise: i = i Mod 8)

WriteAllDigital (2 ^ i)

End Sub

Maximum und Minimum der Scrollbar sollten passend eingestellt werden; der Wert 0

muss vermieden werden.

c) Mehrere Lichter

Kniffliger wird es, wenn man mehrere Lichter, also ein Lichtmuster, in Bewegung versetzen

will. Wir betrachten dazu den einfachen Fall zweier nebeneinanderliegender Leuchtdioden.

Das folgende Programm erfüllt diesen Zweck:

Steuerelemente:

LaufTimer, StartButton, StoppButton

Variablen:

i , k [integer] { i, k Laufindizes 0 ...7 , k = i + 1 }

- 44 -


Physik/Informatik Wahlpflichtbereich Klasse 9

Programm:

Private Sub Startbutton_Click

i = 0 : k = 1 : LaufTimer.Interval = 500 : LaufTimer.Start

End Sub

Private Sub StoppButton_Click

LaufTimer.Stop : WriteAllDigital(0)

End Sub

Private LaufTimer_Tick

WriteAllDigital (2 ^ i + 2 ^ k)

i = i + 1 : i = i Mod 8 : k = k + 1 : k = Mod 8

End Sub

d) Steuerung unregelmäßiger Lichter – Ampel

Die in Kapitel XI beschriebene Ampel soll hier zunächst durch ein relativ einfaches Programm

gesteuert werden. Wir benutzen zur Anzeige die farbigen Leuchtdioden der

GRUNDKARTE, die den Ampelfarben entsprechen. Bei dieser Karte leuchten beispielsweise

beim Befehl WriteAllDigital (1+64) die Autofahrerampel und die Fußgängerampel

rot auf. Ein wesentlicher Vorteil der Rechnersteuerung besteht darin, dass hier keine Beschränkung

bei der Phasenanzahl oder bei den Phasendauern vorliegt.

Steuerelemente:

StartButton, LaufTimer

Variablen:

i, a(6), d(6) [integer] {a = Lichter-Anzeige, d = Phasen-Dauer }

Programm:

Private Sub Startbutton_Click

a(0) = 68 : a(1) = 66 : a(2) = 65 : a(3) = 129

a(4) = 65 : a(5) = 65 : a(6) = 68

d(0) = 4000 : d(1) = 1000 : d(2) = 2000 : d(3) = 5000

d(4) = 2000 : d(5) = 1000 : d(6) = 2000

i = 0 : LaufTimer.Start

End Sub

Private Sub Lauftimer_Tick

WriteAllDigital(a(i)) : LaufTimer.Interval = d(i)

i = i + 1 : if i = 7 then LaufTimer.Stop

End Sub

- 45 -


XV Pumpe

1. Aufbau

Die nebenstehende Abbildung zeigt

den Aufbau und die Beschaltung unseres

Pumpenmodells.

Physik/Informatik Wahlpflichtbereich Klasse 9

Die drei mit E1, E2 und E3

bezeichneten Leitungen bestehen aus

teilweise abisolierten Drähten, die

beim Kontakt mit Wasser die

entsprechenden Einlesedatenleileitungen

auf „0“ setzen; das

zugehörige Einlesebit wird dann auf

„1“ gesetzt. Voraussetzung ist

natürlich das Vorhandensein einer

weiteren Elektrode im Wasser, die

mit Masse verbunden ist. Diese

Funktion erfüllt der Befestigungsdraht für die Pumpe, der gleichzeitig den Minuspol für den

Pumpenmotor liefert. In der Abbildung sind Masseleitungen fett gezeichnet Mit den Signalen

der Einleseleitungen kann der Pumpenmotor gesteuert werden.

Der Pluspol des Motors wird mit dem Ausgang Out1 der SCHALTERKARTE verbunden.

2. Grundprogramm

Ein möglicher Programmierauftrag könnte etwa lauten:

Die Pumpe soll starten, wenn das rechte Becherglas übervoll wird, wenn also der Kontakt E2

vom Wasser geschlossen wird. Falls dann irgendwann das Glas leer ist - E1 also geöffnet

meldet - , soll die Pumpe stoppen und erst dann wieder anspringen, falls E2 erneut im Wasser

steht. Das folgende Programm - zur Benutzung mit der SCHALTERKARTE - erfüllt diese

Aufgabe:

Steuerelemente:

RegelTimer, Start- und Stoppbutton, Label1

Variablen:

input [integer]

Programm:

Private Sub StartButton_Click

WriteAllDigital(0) : RegelTimer.Start : Label1.text = ""

End Sub

- 46 -


Physik/Informatik Wahlpflichtbereich Klasse 9

Private Sub StopButton_Click

WriteAllDigital(0): RegelTimer.Stop

End Sub

Private Sub RegelTimer_Tick

input = ReadAllDigital: Label1.text = input

Select Case input

End Select

End Sub

3. Erweiterung

Case 0 : WriteAllDigital(0)

Case 3 : WriteAllDigital(1)

Als Erweiterung kann eine Sicherung eingefügt werden, die verhindert, dass das zweite

Becherglas unkontrolliert überläuft. Dazu wird auf die äußere Eingabeleitung E3 zurückgegriffen.

Somit erweitert sich das obige Programm zu:

Steuerelemente:

RegelTimer, StartButton, Stoppbutton, label1

Variablen:

input [integer]

Programm:

Private Sub StartButton_Click

WriteAllDigital(0) : RegelTimer.Start() : Label1.text = ""

End Sub

Private Sub StopButton_Click

WriteAllDigital(0): RegelTimer.Stop()

End Sub

Private Sub RegelTimer_Tick

input = ReadAllDigital(): Label1.text=input

Select Case input

Case 0 WriteAllDigital(0)

Case 3 WriteAllDigital(1)

Case Is > 3 WriteAllDigital(0) : RegelTimer.Stop()

Label1.text = "Gefäß voll, leeren und Neustart"

End Select

End Sub

- 47 -


Physik/Informatik Wahlpflichtbereich Klasse 9

XVI Ansteuern von Schrittmotoren

1. Aufbau und Betrieb des Schrittmotors

Im Vollschrittbetrieb legt der Anker (Magnetnadel) jeweils einen Winkel von 90° zurück ausgehend

von der eingezeichneten Position. In dieser Betriebsart werden jeweils zwei benachbarte

Spulenpaare angesprochen; Der Nordpol der Nadel stellt sich dann im 45° - Winkel zu

diesen beiden (Spulen-)Südpolen ein. Im Halbschrittbetrieb treten jeweils noch die dazwischen

liegenden Schritte auf, bei denen die Magnetnadel direkt auf einen (Spulen-)Südpol

zeigt. Es wird also zwischen den oben beschriebenen Vollschritten noch jeweils ein Halbschritt

eingefügt.

Kommerzielle Schrittmotore besitzen eine wesentliche höhere Polzahl. Daher wird hier die

Schrittweite deutlich kleiner. (1,8°/Step)

2. Ansteuerung

Die folgende Tabelle gibt an, wie die Spulen für Links- bzw. Rechtslauf angesteuert werden

müssen. Dabei werden die Anschlüsse A1 , A2 , B1 , B2 bei einer logischen Eins mit einer Spannungsquelle

verbunden, d.h. es fließt Strom durch die jeweilige Teilwicklung.

A1 0 1 1 0 0 0 1 1

A2 1 0 0 1 1 1 0 0

B1 0 0 1 1 0 1 1 0

B2 1 1 0 0 1 0 0 1

zugehörige

Dezimalzahl

10 9 5 6 10 6 5 9

Linkslauf Rechtslauf

- 48 -


Die nebenstehende Abbildung zeigt

das Schaltschema der Ansteuerung

des Schrittmotors mit Transistoren.

Die für die Spulen notwendigen

Steuersignale lassen sich über die

Ausgangsleitungen der USB-KARTE

erzeugen. Zur Schaltverstärkung

dient die SCHALTERKARTE. Mit

der Zuordnung

Out1 → A1 Out2 → A2

Out3 → B1 Out4 → B2

ergibt sich eine einfache Ansteuerungsroutine

für Links- bzw. Rechtsdrehung,

die im folgenden Programm

verwirklicht ist.

Physik/Informatik Wahlpflichtbereich Klasse 9

Dieses Programm erlaubt bereits eine komfortable Ansteuerung dieses Motortyps. In der

Form erscheint das folgende Dialogfeld:

• Eingabe der gewünschten Schrittzahl (n) per Textbox

• Eingabe der gewünschten Drehrichtung per Radiobutton

• Weiterfahrt von der vorherigen gespeicherten Position aus

Steuerelemente;

StartButton, NotstoppButton, Label1, Textbox1, RadioButtonR, RadioButtonL,

SteuerTimer

Variablen:

a(4) , k, i, imax, k, m [integer]

{ a(k) = Drehschritt, i = laufende Schrittzahl, imax = vorgegebene

Schrittzahl, k, m = Schrittstellung 0 bis 3 }

Programm:

Private Sub Form1_Load

Label1.Text = „Richtung und Schrittzahl eingeben“

End Sub

- 49 -


Physik/Informatik Wahlpflichtbereich Klasse 9

Private Sub StartButton1_Click

If RadiobuttonR.Checked = True

Then a(0) = 10 : a(1) = 9 : a(2) = 5 : a(3) = 6 : richtung = 1

If RadioButtonL.Checked = True

Then a(0) = 10 : a(1) = 6 : a(2) = 5 : a(3) = 9 : richtung = 2

If (RadioButtonR.Checked And richtung = 1) Or

(RadioButtonL.Checked And Richtung = 2)

Then m = k

Else m = 4 - k

End If

imax = TextBox1.Text + m : i = m

If richtung > 0 And imax > 0 Then SteuerTimer.Start

End Sub

Private Sub SteuerTimer_Tick

i = i + 1 : k = i Mod 4

WriteAllDigital(a(k))

If i = imax Then SteuerTimer.Stop

End Sub

Private Sub StoppButton_Click

SteuerTimer.Stop : WriteAllDigital(0)

3. Unipolarer und bipolarer Schrittmotor

In den vorherigen Punkten wurde der

unipolare Schrittmotor beschrieben.

Die Polarität der Spulen liegt fest.

Bei der bipolaren Anordnung werden

je 2 Spulenpaare, die sich gegenüberliegen,

in Reihe geschaltet. Die Anschlüsse

dieses Spulenpaketes werden

mit den Ausgängen zweier benachbarter

OPVs der SCHALTER-

KARTE verbunden (siehe Abb.). So

ist es möglich, die Stromrichtung

und damit auch die Polarität der Spulen

zu verändern. Bei einer Analyse

der Einzelschritte erkennt man, dass

sich beim Vollschrittbetrieb dieselbe

Bitfolge wie beim unipolaren Motor ergibt und somit das gleiche Programm wie unter Punkt

2. verwendet werden kann.

- 50 -


4. Ansteuerung über Flipflops

Physik/Informatik Wahlpflichtbereich Klasse 9

Neben der Ansteuerung über Rechner und USB-KARTE existiert auch noch die Möglichkeit,

die Schrittmotoren direkt mithilfe von Logikgattern und Flipflops anzusteuern.

Das Schaltbild zeigt die Steuerung

für den Linkslauf.

Die verneinten Ausgänge der beiden

Flipflops sind dann A2 bzw.

B2.

Für den Rechtslauf müssen die

Anschlüsse an den J- und K-Eingängen

jeweils vertauscht werden.

Damit die Vertauschung mit einem Bit (Links „1“ /Rechts „0“) gesteuert werden kann, muss

die obige Schaltung durch eine entsprechende Logik ergänzt werden:

- 51 -


XVII Aufzug

1. Aufbau

a) Prinzip

Physik/Informatik Wahlpflichtbereich Klasse 9

Unser Modellaufzug besteht aus einem Gleichstrommotor mit Getriebe und Seilzug,

der die Kabine aufwärts und abwärts bewegt. In drei verschiedenen Höhen sind

Reedkontakte eingebracht. Diese werden von einem Magneten, der an der Kabine

befestigt ist, während der Passage geschlossen. Zusätzlich ist an dem Gerüst noch ein

Tastschalter angebracht. Damit kann ein Startbefehl o. ä. ausgelöst werden.

b) Reedkontakte

Ein Reedkontakt besteht aus zwei Metallzungen, die sich im geringen Abstand

gegenüberstehen. Durch die Einwirkung eines Magnetfeldes werden diese Zungen

verbogen und schließen Kontakt miteinander. Wird das Magnetfeld wieder entfernt, so

öffnet sich der Kontakt wieder.

In unserem Fall sind die drei Kontakte auf der einen Seite mit den Eingangsleitungen

E1 , E2 und E3 verbunden und auf der anderen Seite geerdet. Der Tastschalter ist ebenso

auf der einen Seite geerdet und auf der anderen Seite mit E4 verbunden.

Sinnvollerweise testet man die Funktion dieser Bauteile mit dem Testprogramm

(K8055 DEMO).

c) Motoransteuerung

Der Elektromotor muss sich sowohl im als auch gegen den Uhrzeigersinn drehen

können. Dazu wird er über die SCHALTERKARTE mit den beiden OPVs verbunden,

die über die Ausgangsleitungen Out1 und Out2 angesprochen werden. Ist die

entsprechende Ausgangsleitung auf „0” gesetzt, so ist der Ausgang des

angeschlossenen OPVs mit dem Minuspol der externen Spannungsquelle verbunden,

ist die Ausgangsleitung auf „1” gesetzt, so bietet der Ausgang den Pluspol dieser

Quelle an. Sind beide Ausgangsleitungen im gleichen Zustand, so steht der Motor.

Auch diese Funktion testet man sinnvollerweise mit dem Testprogramm (K8055

DEMO).

d) Schaltbild

- 52 -


2. Programmierbeispiel

Physik/Informatik Wahlpflichtbereich Klasse 9

Der Aufzug soll ständig auf und ab fahren. Dabei soll er in jedem Stockwerk eine Pause

einlegen. Über den Kontaktknopf soll der oben beschriebene Prozess in Gang gesetzt bzw.

gestoppt werden.

Beim Aufrufen dieses Programmes wird der EinlesenTimer automatisch in Gang gesetzt. Das

Programm wartet jetzt auf den Knopfdruck.

Im Obergeschoss (Mitte) braucht die Fahrtrichtung nicht erneut eingegeben zu werden. Das

Programm übernimmt hier stets die vorherige Fahrtrichtung.

Das Pausenprogramm enthält eine Besonderheit. Nach Ende der Pause soll der Aufzug

unterbrechungsfrei anfahren. Deshalb darf aber nicht sofort eingelesen werden. Der Reedkon-

takt würde dann nämlich sofort wieder “geschlossen” melden, und die Pause würde erneut

einsetzen. Die Kabine muss erst aus dem Bereich des Reedkontaktes herausfahren.

Steuerelemente:

EinlesenTimer, PausenTimer, StoppButton, TextBox1. Label1

Variablen:

pos, richtung, i, k [integer] { i = Pausenlaufindex, k = Schalterabfrage }

Programm:

Private Sub Form1_Load

k = 0 : EinlesenTimer.Interval = 1 : EinlesenTimer.Start

End Sub

Private Sub EinlesenTimer_Tick

pos = ReadAllDigital : Label1.text = pos

Select Case pos

Case 1 WriteAllDigital(0) : EinlesenTimer.Stop

TextBox1.Text = "Erdgeschoss"

i = 0 : richtung = 2 : PausenTimer.Start

Case 2 WriteAllDigital(0) : EinlesenTimer.Stop

TextBox1.Text = "Obergeschoss"

i = 0 : PausenTimer.Start

Case 4 WriteAllDigital(0) : EinlesenTimer.Stop

TextBox1.Text = "Dachgeschoss"

i = 0 : richtung = 1 : PausenTimer.Start

Case Is > 7 k = k + 1: k = k Mod 2

If k = 1 Then TextBox1.Text = "Komme schon"

If k = 0 Then TextBox1.Text = “Knopf drücken”

richtung = k : WriteAllDigital(richtung)

End Select

End Sub

Private Sub PausenTimer_Tick

i = i + 1

If i > 30 Then WriteAllDigital(richtung)

If i = 60 Then PausenTimer.Stop : EinlesenTimer.Start

End Sub

- 53 -


XVIII Lochkartenleser

1. Technik

1

2

3

4

5

6

7

8

9

10

11

Physik/Informatik Wahlpflichtbereich Klasse 9

Der Beginn der technischen Verarbeitung großer Datenmengen ist

verbunden mit der Erfindung der Lochkarte (Hollerith 1880), auf

der die Daten binär gespeichert werden können. Das verwendete

Prinzip ist sehr einfach: die Binärwerte „0“ bzw. „1“ werden durch

„kein Loch“ bzw. „gelocht“ dargestellt und mit Hilfe von Schaltstiften

(mechanisch) oder Lichtschranken (elektrooptisch) ausgelesen.

Eine Weiterentwicklung der Lochkarte führte dann zum (im Prinzip

endlosen) Lochstreifen.

Zur Demonstration des Funktionsprinzips verwenden wir einen

Lochstreifen, der in 12 Felder mit jeweils vier Lochmöglichkeiten

aufgeteilt ist; d. h. auf diesem Streifen könnten maximal 12 x 4-Bit-

Werte gespeichert werden. Aus technischen Gründen (vgl. Einleseprogramm)

reduziert sich der nutzbare Speicherplatz auf 11 x 3-Bit-

Werte (siehe nebenstehende Abbildung).

Das Einlesen erfolgt mit Hilfe einer Vierfachlichtschranke, die direkt

mit den Eingabeleitungen E1 bis E4 verbunden wird (Stecker mit

Zwischenstück an USB-KARTE anschließen).

2. Einleseprogramm

Beim Einlesen wird der Lochstreifen in Pfeilrichtung durch die

Vierfach-Lichtschranke gezogen; dabei muss darauf geachtet werden,

dass die durchgehend gelochte Reihe dem Eingang E4 , also

dem Bit 2³ zugeordnet wird, weil durch die Abfrage dieses Bits erkannt

werden kann, wenn das nächste Datenfeld eingelesen wird.

Die Ergebnisse werden in der Feldvariablen speicher(z) abgelegt.

Dazu dient das nachfolgend erläuterte Programm:

Steuerelemente:

ZeilenTimer, EinlesenTimer, EinlesenstartButton, AusgabeButton, Textbox1

für Unterpunkt 3. NotenausgabeTimer, NotenausgabeButton

Variablen:

lies, las, z, speicher(11) [integer] { z = Zeilennummer }

für Unterpunkt 3. note , fach [string]

- 54 -


Physik/Informatik Wahlpflichtbereich Klasse 9

Programm:

Private Sub Form1_Load

ZeilenTimer.Interval = 5 : LeseTimer.Interval = 5

End Sub

Private Sub EinlesenstartButton_Click

z = 1 : ZeilenTimer.Start

End Sub

Private Sub ZeilenTimer_Tick

las = ReadAllDigital

If las > 0 Then ZeilenTimer.Stop : EinlesenTimer.Start

End Sub

Private Sub EinlesenTimer_Tick

lies = ReadAllDigital()

If lies > las Then las = lies

If lies = 0 Then Speicher(z) = las - 8 : z = z + 1 : EinlesenTimer.Stop :

ZeilenTimer.Start

If z = 12 Then ZeilenTimer.Stop : z = 1

End Sub

Private Sub AusgabeButton_Click

z = TextBox1.text: Textbox1.text= speicher(z)

End Sub

Die ZeilenTimer-Prozedur bewirkt, dass die einzelnen Datenfelder unterschieden werden

können. Der Übergang zwischen zwei benachbarten Feldern zeichnet sich dadurch aus, dass

keine der Lichtschranken aktiviert ist. Dieser Zustand ist beendet, bis das erste Loch ( las>0 )

erkannt worden ist.

Danach wird die EinleseTimer-Prozedur gestartet, welche die eigentlichen Datenwerte ermittelt

und der Feldvariablen speicher zuweist.

Die Subtraktion der Zahl 8 berücksichtigt, dass das Bit 2³ keine Information trägt.

Die Hilfsvariable lies dient dazu, den Wert von las solange zu verändern, bis das aktuelle Datenfeld

sicher eingelesen ist ( lies=0 ).

Die Zählvariable z sorgt dafür, dass das Einlesen endet ( EinleseTimer.Stop ), wenn das 11.

Datenfeld eingelesen worden ist. Für die weitere Verwendung der Variablen speicher wird die

Zählvariable z wieder auf 0 zurückgesetzt.

3. Abspeichern von Zeugnisnoten auf einem Lochstreifen

Der Lochstreifen bietet genügend Platz, um 11 Zeugnisnoten abzuspeichern. Dazu wird jede

Note mit 3 Bit codiert; sinnvollerweise werden die Noten als Dualzahlen dargestellt. Wenn

man vorher die Reihenfolge der Fächer z.B. wie auf dem Zeugnisformular festgelegt hat,

kann man das in Abschnitt 2. aufgeführte Programm um den folgenden Teil ergänzen. Zur

- 55 -


Physik/Informatik Wahlpflichtbereich Klasse 9

Anzeige der Note werden zusätzlich eine Textbox, der Timer NotenausgabeTimer und ein

Button (Prozedur Notenausgabe) benötigt. In der Variablen note wird das Ergebnis als Zeichenkette

zwischengespeichert. Zur Anzeige des Faches wird die Variable fach verwendet.

Private Sub Notenausgabe_Click

z = 1: NotenausgabeTimer.Interval = 2000 : NotenausgabeTimer.Start

End Sub

Private Sub NotenausgabeTimer_Tick

Select Case z

Case1 : fach = „Religion: “

Case2 : fach = „Deutsch: “

….................................................

Case11 : fach = „Sport: “

End Select

Select Case speicher(z)

Case 1 : note =“sehr gut“

Case 2 : note =“gut“

....................................

Case 6 : note =“ungenügend“

End Select

TextBox1.Text = fach + note

z = z + 1: If z = 12 Then z = 1

End Sub

4. Abspeichern von Personendaten auf einem Lochstreifen

Diese Aufgabe lässt sich prinzipiell in der gleichen Art lösen wie die Speicherung der Zeugnisnoten:

• Vereinbarung eines Codes für die zu speichernde Information

• Vereinbarung eines Speicherplatzes auf dem Lochstreifen

• Umwandlung des Binärcodes in eine Zeichenkette.

Als Beispiel soll auf dem 3. Speicherplatz (z = 3) das Verkehrsmittel gespeichert werden, mit

dem ein Schüler zur Schule kommt. Der Lochstreifen wird entsprechend gelocht; bei der Auswertung

ist zu prüfen, welchen Wert speicher(3) aufweist; speicher(3) = 1 bedeutet beispielsweise

„zu Fuß“.

Verkehrsmittel zu Fuß Bus Fahrrad Auto

Code ( 2 0 2 2 ) 1 0 0 0 10 1 1 0 0 0 1

- 56 -


XIX Alarmanlage

1. Alarmsensoren

Physik/Informatik Wahlpflichtbereich Klasse 9

Um einen Alarm anzuzeigen, müssen die Eingangsleitungen E1 bis E5 der USB-KARTE eindeutig

geschaltet werden. Zum einfacheren Experimentieren benutzen wir allerdings die

SCHALTERKARTE und sind somit auf 4 Eingangsleitungen beschränkt.

Wichtig ist, dass man sich vorher Klarheit verschafft, ob im Alarmfall die entsprechende

Einleseleitung auf „1“ (freier Eingang bzw. angelegte Spannung >1,5V) oder „0“ (Kontakt

mit Masse - auch über einen hohen Widerstand -) gesetzt werden soll. An den folgenden Beispielen

soll dies erläutert werden.

a) Einbruchsensor

Im einfachsten Fall spannt man einen dünnen

Draht über die Tür bzw. das Fenster. Im Einbruchsfalle

wird dieser Draht dann zerrissen

(siehe Abb.).

Die Einleseleitung, die bislang auf „0“ gesetzt

war, wird dann frei und somit auf „1“

gesetzt.

In der Einleseroutine wird dann umgekehrt

der entsprechende Einlesekanal bzw. die zu

diesem Bit gehörenden Zweierpotenz von „1“

auf „0“ gesetzt.

In manchen Fällen wünscht man sich eine inverse

Anzeige; dazu benutzt man am besten

einen Transistor. Der dünne Draht hält die Basis des Transistors auf Masse, dieser

sperrt und die Einleseleitung bleibt unbeschaltet, also auf „1“. Die Einleseroutine meldet

dann für dieses Bit „0“. Wird der Draht zerrissen, so ändern sich alle Zustände.

Die Einleseleitung wird „0“ und die Einleseroutine setzt dieses Bit auf „1“.

b) Wassermelder

Hier nutzt man die Tatsache, dass (Leitungs-)

Wasser leitet. Die Leitfähigkeit

ist zwar gering, aber sie reicht aus, um

die zunächst freie Einleseleitung beim

Einfüllen von Wasser auf „0“ zu setzen.

Voraussetzung ist natürlich das

Vorhandensein einer zweiten Elektrode

im Wasser, die mit Masse verbunden

ist.

Ist die Anordnung nicht empfindlich

genug, so muss zur Schaltverstärkung

ein Transistor eingefügt bzw. ein bisschen

Salz zum Wasser gegeben werden.

- 57 -


c) Lichtschranke

Physik/Informatik Wahlpflichtbereich Klasse 9

Grundlage für die Lichtschranke ist ein lichtempfindlicher

Transistor, ein sogenannter

Phototransistor. Dieser hat nur zwei Anschlüsse,

nämlich Kollektor und Emitter. Der Basisstrom

wird durch Lichteinfall hervorgerufen.

Wird die lichtempfindliche Basis beleuchtet,

so schaltet der Transistor durch, die

entsprechende, zunächst freie Einleseleitung

wird von „1“ auf „0“ zurückgesetzt, das entsprechende

Einlesebit wird von der Einleseroutine

auf „1“ gesetzt.

d) Feuermelder

Grundlage für den Feuermelder ist ein temperaturabhängiger

Widerstand, ein sogenannter NTC (negativer

Temperatur Koeffizient). Je heißer dieser Widerstand

wird, desto besser leitet er.

Im kalten Zustand hat er etwa den halben Widerstand

wie R1. Die Einleseleitung liegt dann auf ca.

3 V, befindet sich also im Zustand „1“.

Wird der NTC nun erhitzt, so sinkt sein Widerstand

unter 1 kΩ ab. Dies führt dazu, dass die Einleseleitung

auf unter 1 V absinkt und somit in den Zustand

„0“ gerät. Die Einleseroutine liest nun für dieses Bit

statt „0“ nun „1“ ein.

2. Programmiervorschlag zum Einlesen mehrerer Sensoren

Zunächst empfiehlt es sich, mit dem Testprogramm (K8055 DEMO) alle Sensoren zu überprüfen

und die Zustände der Einlesebits im Alarmzustand sowie im Nichtalarmzustand in einer

Liste zu notieren.

Zum Programmieren ist es sinnvoll, auf einen Timer zurückzugreifen. Diesem kann man den

Namen Einlesen geben. Sein Intervall sollte man auf z. B. 5 ms setzen. Ein Dieb, der nur

kurzzeitig (z.B. für 20 ms) die Lichtschranke verdunkelt, könnte bei 100 ms nicht erfasst werden.

Schließt man z.B.

• den Einbruchsdraht an E1 an

• die Einbruchslichtschranke an E2 an

• den Wassermelder an E3 an

• den NTC an E4 an

und nennt die Variable, in die das Ergebnis des Abfragevorgangs gespeichert wird, abfrage

so könnte ein erstes (Rumpf-)Programm den folgenden Verlauf haben.

- 58 -


Physik/Informatik Wahlpflichtbereich Klasse 9

Steuerelemente:

EinlesenTimer, Label1, Label2, AlarmScharfButton, AlarmAusButton

Variablen:

abfrage [integer]

(Rumpf-)Programm:

Private Sub AlarmScharfButton_Click

EinlesenTimer.Start

End Sub

Private Sub AlarmAusButton_Click

EinlesenTimer.Stop

End Sub

Private Sub EinlesenTimer_Tick

abfrage = ReadAllDigital : Label1.Text = ReadAllDigital

Select Case abfrage

Case 3 WriteAllDigital(0)

Label2.Text = "Alles in Ordnung"

Case 0,1,2 WriteAllDigital(1)

Label2.Text = "Einbrecher!" : EinlesenTimer.Stop

Case 7 WriteAllDigital(2)

Label2.Text = "Feuer!" : EinlesenTimer.Stop

Case 11 WriteAllDigital(4)

Label2.Text = "Wasser!"

End Select

End Sub

3. Alarmsignale

Viel beeindruckender als ein bloßer Schriftzug auf dem Bildschirm ist der Betrieb von Martinshorn,

Sirene, Blaulicht und Wasserpumpe im

Alarmfall.

Einige dieser Signalgeräte können wir mit unseren

Mitteln darstellen. Da - wie im vorigen Kapitel ausgeführt

- die Ströme, die der USB-KARTE entnommen

werden können, sehr klein sind, empfiehlt sich deren

Verstärkung durch Transistoren oder gleich der Betrieb

an der SCHALTERKARTE. Damit kann eine

kräftige, externe Stromquelle genutzt werden.

Zur Alarmausgabe benutzen wir grundsätzlich die nebenstehend

abgebildete Schaltung.

- 59 -


Physik/Informatik Wahlpflichtbereich Klasse 9

Statt der Lampe kann hier auch ein Summer oder ein (Pumpen-)Motor eingesetzt werden.

Beim Schaltungsaufbau ist darauf zu achten, dass sowohl die SCHALTERKARTE als auch

das Experimentierschaltbrett einen Anschluss für Masse und Versorgungsspannung erhält.

4. Programmiervorschläge zur Alarmausgabe:

a) intermittierender Summer

Im Falle des Einbruchs soll der Summer (angeschlossen an Out1) zehn mal ein Hupsignal

abgeben. Hierzu benutzen wir sinnvollerweise wieder einen Timer, den wir EinbruchTimer

nennen. Das zugehörige Intervall stellen wir z.B. auf 500 ms ein.

Vor dem Aufruf des Timers sollten die Variablen einbruch und k auf Null gesetzt werden.

Ergänzung Steuerelemente:

EinbruchTimer

ErgänzungVariablen:

einbruch, k [integer] { k = Laufindex }

Ergänzung (Rumpf-)Programm:

Private Sub EinlesenTimer_Tick

abfrage = ReadAllDigital : Label2.Text = ReadAllDigital

Select Case abfrage

End Sub

End Select

Case 0,1,2 Label2Text = "Einbrecher!" : Einlesen.Stop

k = 0 : einbruch = 0 : EinbruchTimer.Start

Private Sub EinbruchTimer_Tick

If einbruch = 0 Then SetDigitalChannel(1)

If einbruch = 1 Then ClearDigitalChannel(1)

k = k + 1 : einbruch = einbruch + 1 : einbruch = einbruch mod 2

If k = 20 Then EinbruchTimer.Stop

End Sub

- 60 -


) alternierendes Blinklicht

Physik/Informatik Wahlpflichtbereich Klasse 9

Ein solches Blinklicht besteht aus zwei Lampen - angeschlossen über Out2 und Out3 - die

abwechselnd aufleuchten. Auch hierzu sollte ein eigener Timer benutzt werden, den wir

FeuerTimer nennen. Das zugehörige Intervall kann z. B. auf eine Sekunde eingestellt

werden. Für die Variablen feuer und k gilt das in a) Gesagte.

Ergänzung Steuerelemente:

FeuerTimer

Ergänzung Variablen:

feuer, k [integer] { k = Laufindex }

Ergänzung (Rumpf-)Programm:

Private Sub EinlesenTimer_Tick

abfrage = ReadAllDigital : Label1.Text = ReadAllDigital

Select Case abfrage

End Sub

End Select

Case 7 Label2.Text = "Feuer!" : EinlesenTimer.Stop

k = 0 : feuer = 0 : FeuerTimer.Start

Private Sub FeuerTimer_Tick

If feuer = 0 Then WriteAllDigital(2)

If feuer = 1 Then WriteAllDigital(4)

k = k + 1 : feuer = feuer + 1 : feuer = feuer mod 2

If k = 20 Then FeuerTimer.Stop

End Sub

c) Wasserpumpe

Die Wasserpumpe soll nur dann in Betrieb sein, wenn tatsächlich Wasser gemeldet wird.

Sobald der Keller trocken gepumpt ist, entfällt das Wassersignal und die Pumpe stellt ihren

Dienst ein (Gefahr des "Trockenlaufens"). Der Pluspol der Pumpe wird an Out4 angeschlossen.

In dem folgenden Gesamtprogrammvorschlag ist diese Tatsache berücksichtigt.

- 61 -


5. Gesamtprogrammiervorschlag

Physik/Informatik Wahlpflichtbereich Klasse 9

Steuerelemente:

EinlesenTimer, Label1, Label2, Label3, AlarmScharfButton, AlarmAusButton

EinbruchTimer, FeuerTimer

Variablen:

abfrage, einbruch, feuer, k [integer] { k = Laufindex }

Programm:

Private Sub AlarmScharfButton_Click

EinbruchTimer.Stop : FeuerTimer.Stop : WriteAllDigital(0)

label3.Text = „Anlage scharf“ : EinlesenTimer.Start

End Sub

Private Sub AlarmAusButton_Click

EinbruchTimer.Stop : FeuerTimer.Stop : WriteAllDigital(0)

label3.Text = „Anlage aus“ : EinlesenTimer.Stop

End Sub

Private Sub EinlesenTimer_Tick

abfrage = ReadAllDigital : Label1.Text = ReadAllDigital

Select Case abfrage

Case 3 WriteAllDigital(0)

Label2.Text = "Alles in Ordnung"

Case 0,1,2 Label2.Text = "Einbrecher!" : Einlesen.Stop

k = 0 : einbruch = 0 : EinbruchTimer.Start

Case 7 Label2.Text = "Feuer!" : EinlesenTimer.Stop

k = 0 : feuer = 0 : FeuerTimer.Start

Case 11 Label2.Text = "Wasserpumpe!"

SetDigitalChannel(4)

End Select

End Sub

Private Sub EinbruchTimer_Tick

If einbruch = 0 Then SetDigitalChannel(1)

If einbruch = 1 Then ClearDigitalChannel(1)

k = k + 1 : einbruch = einbruch + 1 : einbruch = einbruch mod 2

If k = 20 Then EinbruchTimer.Stop

End Sub

Private Sub FeuerTimer_Tick

If feuer = 0 Then WriteAllDigital(2)

If feuer = 1 Then WriteAllDigital(4)

k = k + 1 : feuer = feuer + 1 : feuer = feuer mod 2

If k = 20 Then FeuerTimer.Stop

End Sub

- 62 -


XX D-/A-Wandler

1. Prinzip

Die Aufgabe eines solchen Wandlers besteht

darin, einen in binärer Form gegebenen

Zahlenwert (Dualzahl) in einen entsprechenden

Strom- bzw. Spannungswert

umzusetzen.

Stehen beispielsweise 4 Bit zur Ausgabe

zur Verfügung, lassen sich damit die Zahlen

von 0 bis 15 darstellen. Es sind also 16 verschiedene

Strom- oder Spannungswerte

möglich. Die nebenstehende Abbildung

zeigt einen solchen einfachen Wandler.

Physik/Informatik Wahlpflichtbereich Klasse 9

Nimmt man als Beispiel den Binärwert (1011), so werden die Schalter S3, S2, und S0 geschlossen.

Ein dieser Zahl entsprechender Strom fließt. Die Werte der verwendeten Widerstände

sind im Prinzip beliebig, allerdings muss das Verhältnis 1 : 2 : 4 : 8 eingehalten werden. Die

Einerziffer im angegebenen Binärwert steuert dann den höchsten Widerstand, der wiederum

den kleinsten Strom fließen lässt. Die Zweierziffer steuert den halb so großen Widerstand, der

dann den doppelten Strom hervorruft usw..

Ein Binärwert kann dann mit Hilfe der sog. Methode der Summation gewichteter Ströme in

einen zugehörigen elektrischen Strom gewandelt werden. Der vom Ampèremeter angezeigte

Strom I ergibt sich aufgrund des Ohmschen Gesetzes und der Parallelschaltung folgendermaßen:

I = U

5 k ⋅ x 3⋅ 1

1 x 2⋅ 1

2 x 1⋅ 1

4 x 0⋅ 1

8

Dabei haben die Koeffizienten xi den Wert „1“, wenn der Schalter Si geschlossen ist, sonst

den Wert „0“; U ist in Volt einzusetzen; I erhält man in der Einheit Milliampère. Natürlich

muss anschließend der Wert für I mit einem entsprechenden Faktor multipliziert werden.

2. Ausgabe von Spannungswerten

Ströme sind zur elektronischen Auswertung eher

ungeeignet. Wesentlich besser eignen sich dazu

Spannungswerte. Für diese Umwandlung ist ein

OPV sehr gut geeignet. Dieser wird als invertierenden

Verstärker geschaltet (siehe Kapitel III).

Für dessen Verstärkung gilt:

U A = −U E ⋅ R G

R E

- 63 -

+U

S 0

S 1

S 2

S 3

40 kOhm

20 kOhm

10 kOhm

5 kOhm

Strom I


In der ursprünglichen Schaltung ersetzt

man das Ampèremeter durch diese

Operationsverstärkerschaltung.

Die Spannung Uref wird fest vorgegeben.

In unserer Experimentierbox ist

dazu eine Brücke zwischen -5 V und

der Schalterversorgung einzustecken.

Die Schalter selbst kann man mit weiteren

Brücken darstellen.

Eine andere Möglichkeit besteht darin,

mit der USB-Karte die internen elektronischen

Relais anzusteuern.

Der Maximalwert der Ausgangsspannung

kann nun nach Belieben durch

Verändern von RG eingestellt werden.

Hierbei muss man beachten, dass die

maximale Ausgangsspannung des in

unserer Experimentierbox verwendeten

OPVs bei ca. 11 V liegt.

Physik/Informatik Wahlpflichtbereich Klasse 9

Für die Ausgangsspannung ergibt sich die Gleichung:

U A = U ref ⋅ R G

5 k ⋅x 3 ⋅1

1 x 2 ⋅1

2 x 1 ⋅1

4 x 0 ⋅1

8

Beispiel: Die Bitkombination lautet 1001. Mit Uref = -5V und RR = 3,2 kΩ erhält

man dann die Spannung UA = 3,6 V

5V ⋅ 3,2 9


5 8

= 3,6 V

3. Betrieb mit dem Rechner

Anstelle der in der Zeichnung dargestellten mechanischen werden elektronische Schalter - sogenannte

optische Relais - verwendet, die z.B. mit Hilfe der Ausgangsleitungen der USB-

Karte betätigt werden, wobei ein gesetztes Bit einem geschlossenen Schalter entspricht, während

ein zurückgesetztes Bit einem geöffneten Schalter entspricht.

Zunächst empfiehlt es sich, mit dem Testprogramm (K8055 DEMO) den Gegenkopplungswiderstand

so einzustellen, dass der gewünschte Messbereich abgedeckt wird. Beispielsweise

kann man die Einstellung so wählen, dass bei der Ausgabe der Zahl 8 (Häkchen in der 4. Output-Checkbox)

der D/A-Wandler eine Spannung von 4 V ausgibt (Voltmeter verwenden).

Mit dem Befehl WriteAllDigital(z) -wobei z ein ganzzahliger Wert zwischen 0 und 15 sein

muss - kann nun der Wandler angesprochen werden. Für ein einfaches Demonstrationsprogramm

empfiehlt sich eine Scrollbar, die die entsprechenden Werte bietet.

- 64 -


Physik/Informatik Wahlpflichtbereich Klasse 9

Steuerelemente:

HScrollbar (Min 0, Max 15, LargeChange1), Label1, EinlesenTimer

Programm:

Private Sub Form1_Load

EinlesenTimer.Start

End Sub

Private Sub EinlesenTimer_Tick

WriteAllDigital(HScrollBar1.Value):label1.text = Hscrollbar1.Value

End Sub

4. Weiterführende Überlegungen zur D/A-Wandlung

Der 4-Bit-Wandler kann nach dem gleichen Prinzip prinzipiell zu einem 8-Bit, 16-Bit, 32-Bit

usw. Wandler erweitert werden. Die Widerstandsverhältnisse 1 : 2 : 4 : 8 : 16 : 32 : usw. müssen

allerdings eingehalten werden.

Wird der zu wandelnde Wert durch n Bit dargestellt, so sind als Ergebnis 2 n verschiedene

Spannungswerte möglich, d.h. es tritt grundsätzlich ein sogenannter Quantisierungsfehler

auf, dessen Größe ein (2 n -1)-tel des Maximalwertes beträgt.

Beispiel: Es stehen 8 Bit zur Verfügung, der Maximalwert - alle 8 Bit sind gesetzt - betrage

20,4 V ;

der Quantisierungsfehler beträgt dann: 20,4 V : 255 = 80 mV = 0,08 V

(entsprechend 1/255 - etwa 0,4% - vom Maximalwert).

Die Bitkombination 1011 0011 = 179dez bewirkt dann die Ausgabe der Spannung

179 ⋅0,08 V = 14,32V

die nächstkleinere Spannung (1011 0010) beträgt 14,24 V, die nächstgrößere

(1011 0100) beträgt 14,40 V .

5. Anwendungen

Die am Ausgang eines D/A-Wandlers liegende Spannung kann mit einer entsprechenden elektronischen

Schaltung weiter verarbeitet werden. Mit Hilfe eines D/A-Wandlers lassen sich

also beliebige Verbraucher durch ein digital vorliegendes Muster (in binärer Codierung) steuern.

Als klassische Beispiele seien hier der CD-Spieler und die Soundkarte genannt, die mit

digital gespeicherten akustischen Informationen (z.B. wav- bzw. mp3-Dateien) Kopfhörer

bzw. Lautsprecher steuern, so dass das binäre Signal letztendlich in eine dem menschlichen

Ohr zugängliche Form gebracht wird.

Auch die rechnergestützte Robotersteuerung ( siehe Kap. XXII ) ist ohne D/A-Wandlung

nicht möglich.

Eine weitere wesentliche Anwendung des D/A-Wandlers ist sein Einsatz bei der Lösung des

umgekehrten Problems der A/D-Wandlung, das im folgenden Kapitel untersucht wird.

- 65 -


XXI A/D-Wandler

1. Aufgabe

Physik/Informatik Wahlpflichtbereich Klasse 9

Die Aufgabe eines A/D-Wandlers besteht darin, in analoger Form vorliegende Signale in

einen Binärwert vorgegebener Breite (8 Bit, 16 Bit usw.) umzusetzen. Auch hier tritt wiederum

ein grundsätzlich nicht vermeidbarer Fehler auf, weil der Unterschied zwischen dem

„wahren” Wert und dem digitalisierten im ungünstigsten Fall ein (2 n -1)-tel des maximal erfassbaren

Wertes (alle n Bit haben den Wert „1“) beträgt (vgl. das Beispiel im Kapitel XXI).

2. Wandlungsmethode (Theorie)

Es gibt verschiedene Methoden, um eine A/D-Wandlung durchzuführen. Häufig angewendet

wird das Verfahren der sukzessiven Approximation (schrittweise Annäherung), auch Wägeverfahren

genannt.

Die Grundidee dieses Verfahrens besteht darin, die zu messende Spannung Umess mit einer

schrittweise angepassten Vergleichsspannung Uvergleich zu vergleichen und die jeweiligen Vergleichsergebnisse

binär zu speichern. Wie bereits beim D/A-Wandler ist es auch hier sinnvoll,

die Spannung Uvergleich binär zu stufen, wobei man mit der zum höchstwertigen Bit gehörenden

Spannung beginnt - das ist bei n Bit der Bruchteil 2 n-1 /(2 n -1). Eine bereits als vorhanden

festgestellte Spannungsstufe muss dann jeweils zu den nachfolgenden Stufen addiert werden,

um weiterhin sinnvolle Vergleiche durchführen zu können:

Falls Umess > Uvergleich , wird das zugehörige Ergebnisbit auf „1“ gesetzt, sonst auf „0“ .

Ein solcher A-/D-Wandler enthält also im wesentlichen drei Elemente:

• einen D-/A-Wandler zur Erzeugung der Spannung Uvergleich

• einen als Vergleicher geschalteten Operationsverstärker

• ein Ergebnisregister (bzw. Programmvariable) zur Aufnahme des Wandlungsergebnisses.

3. Wandlungsmethode am Beispiel eines 4-Bit-A/D-Wandlers

a) Blockschaltbild

- 66 -


) Beschaltung der Experimentierbox

Physik/Informatik Wahlpflichtbereich Klasse 9

Die Einlesedatenleitung E1 ist intern mit der USB-Karte verbunden und braucht nicht eigens

beschaltet zu werden.

Zunächst empfiehlt es sich, mit dem Testprogramm (K8055 DEMO) den Gegenkopplungswiderstand

so einzustellen, dass der gewünschte Messbereich abgedeckt wird. Sinnvollerweise

wählt man die Einstellung so, dass bei der Ausgabe der Zahl 8 der D/A-

Wandler eine Spannung von 4 V ausgibt (Voltmeter verwenden).

Dann wird mit dem bordeigenen Potentiometer die zu messende Spannung angelegt. Zunächst

überprüft man durch sukzessive Ansteuerung der Ausgänge Out1 bis Out4 (Setzen

der passenden Häkchen), ob das Eingabehäkchen beim Überschreiten der unbekannten

Spannung erscheint. Dies bedeutet, dass die Eingabeleitung E1 von „0“ (UVergleich < UMess)

auf „1“ (UVergleich > UMess) gesetzt wird. Das eigentliche Programm hat dann den folgenden

Verlauf:

c) Programm

Steuerelemente:

StartButton, Label1, Textbox1, MessTimer

Variablen:

i, k, u [integer] { i = Schrittzahl, u = gemessene (relative) Spannung,

k = Laufindex }

Programm:

Private Sub StartButton_Click

MessTimer.Interval = 1 : i = 3 : u = 0 : MessTimer.Start

- 67 -


Physik/Informatik Wahlpflichtbereich Klasse 9

End Sub

Private Sub MessTimer_Tick

WriteAllDigital(u + 2 ^ i)

For k = 1 To i * 10 + 5 Diese Schleife dient der Messverzögerung

Label1.Text = ReadAllDigital

Next

If ReadAllDigital = 0 Then u = u + 2 ^ i

i = i - 1

If i = -1 Then TextBox1.Text = u : MessTimer.Stop

End Sub

d) Beispiele

Der D/A-Wandler sei so eingestellt, dass er maximal 7,5 V liefert (s. o.).

• Die Spannung einer Batterie (3,7 V) liegt am Messeingang an. Dann läuft die Wandlung

folgendermaßen ab:

i 2 i u+2 i UWandler E1

u

am Ende des

Schrittes

u/2

am Ende des

Schrittes

3 8 8 4 V 1 0 0

2 4 4 2 V 0 4 2

1 2 6 3 V 0 6 3

0 1 7 3,5 V 0 7 3,5

• Die Spannung einer Batterie (6,4 V) liegt am Messeingang an. Dann läuft die Wandlung

folgendermaßen ab:

i 2 i u+2 i UWandler E1

u

am Ende des

Schrittes

u/2

am Ende des

Schrittes

3 8 8 4 V 0 8 4

2 4 12 6 V 0 12 6

1 2 14 7 V 1 12 6

0 1 13 6,5 V 0 12 6

Der auftretende Fehler beträgt im ersten Fall 0,2 V, im zweiten 0,4 V; maximal sind

7,5 V : 15 = 0,5 V möglich.

- 68 -


4. Anwendungen

Physik/Informatik Wahlpflichtbereich Klasse 9

A/D-Wandler werden vorwiegend in der Messtechnik eingesetzt, z.B. in Systemen zur automatischen

(rechner- bzw. prozessorgestützten) Messwerterfassung unterschiedlichster physikalischer

und chemischer Größen. Dabei laufen folgende Verarbeitungsschritte ab:

Physikalische

Größe

Sensor

elektrische

Spannung

A/D-

Wandler

Eine wesentliche Voraussetzung ist dabei, dass die physikalische Größe, die gemessen werden

soll (z.B. eine Temperatur), mit Hilfe eines geeigneten Sensors (im Beispiel ein NTC-Widerstand,

der von einem Konstantstrom durchflossen wird) als elektrische Spannung dargestellt

werden kann.

Ein weiterer Bereich ist der Einsatz in den als Digitalmultimeter bezeichneten Vielfachmessgeräten,

bei denen ein anliegender Spannungs-, Strom- oder Widerstandswert in eine Dualzahl

gewandelt wird, die dann in einer mehrstelligen Sieben-Segment-Anzeige als Dezimalzahl

ausgegeben wird.

Einen A-/D-Wandler benötigt man auch, wenn ein als analoge elektrische Spannung vorliegendes

akustisches Signal in Binärwerte umsetzen will. Eine Soundkarte verfügt deswegen

ebenfalls über einen A-/D-Wandler, um z.B. Sprache oder Musik digitalisieren zu können.

Eine weitere Anwendung wird im folgenden Kapitel beschrieben.

- 69 -

Binär-

Wert

Computer- bzw.

Prozessorregister


Physik/Informatik Wahlpflichtbereich Klasse 9

XXII Rechnergestützte Robotersteuerung

1. Servomotor

a) Prinzip

Bei der Robotersteuerung werden vielfach Servomotoren verwandt, um die Roboterarme

kräftig und schnell, aber dabei auch mit hoher Präzision zu steuern. Das Prinzip des Servomotors

kann man sich wie folgt klarmachen.

Beispiel 1

Der Kapitän eines Schiffes gibt den neuen Kurs bekannt z. B. SSW. Er gibt den Sollwert

vor. Der Steuermann - der Vergleicher - misst nun den tatsächlichen Kurs des

Schiffes - den Istwert und vergleicht ihn mit dem Sollwert. Er gibt nun entsprechende

Befehle an den Rudergänger - das sogenannte Stellglied. Dessen Tätigkeit beeinflusst

nun unmittelbar den Istwert. Beide - Steuermann und Rudergänger - sind nun solange aktiv,

bis das Schiff auf dem neuen Kurs liegt. Aber auch danach hört deren Tätigkeit nicht

auf. Durch Wind und Strömungen kann das Schiff jederzeit wieder vom Kurs abkommen.

Der Steuermann muss dies erkennen und weitere Korrekturen anordnen.

Beispiel 2

Bei einem großen Flugzeug von über 300 t Startmasse kann der Pilot das Höhenruder im

Heck nicht mehr per Muskelkraft betätigen. Auch würde man dazu ein sehr schwerfälliges

Gestänge benötigen. Diese Aufgabe wird besser von einem Servomotor erledigt. Der

Pilot betätigt mit seinem Steuerknüppel ein Potentiometer - dadurch gibt er einen Sollwert

vor, in diesem Falle eine bestimmte Spannung, die per Kabel zum Heck übertragen

wird. Die augenblickliche Stellung des Höhenruders wird ebenfalls von einem Potentiometer

erfasst; dies liefert ebenfalls eine bestimmte Spannung, den Istwert. Bei Änderungen

am Steuerknüppel stimmen nun Sollwert und Istwert nicht mehr überein. Dies registriert

ein elektrisches Bauteil: der Vergleicher. Je nachdem, in welche Richtung nun die

beiden Spannungen auseinander klaffen, steuert dieser Vergleicher einen Strom für einen

Elektromotor: das Stellglied. Dieser dreht sich dann solange entweder nach links oder

nach rechts, bis Ist- und Sollwert wieder übereinstimmen. Der Vergleicher stellt dann den

Strom ab.

Beispiel 3

Um einen Roboterarm zu steuern, gibt man aus einem Rechner in zeitlicher Folge über

einen D/A-Wandler verschiedene Sollwerte heraus. Der Roboterarm bewegt sich dann

wie in Beispiel 2 beschrieben. Hier bieten sich aber noch zusätzliche Möglichkeiten. Im

Lernmodus kann man den Roboterarm per Hand führen und dabei eine beliebige Bewegung

ausführen lassen. Dabei misst man über einen A/D-Wandler in zeitlicher Folge die

entsprechenden Istwerte und speichert diese im Rechner. In dem anschließenden Ausführungsprogramm

kann man dann diese Istwerte als Sollwerte ausgeben. Dann wird diese

einmal gelernte Bewegung ständig und mit einstellbar hoher Geschwindigkeit ausgeführt.

- 70 -


) Aufbau der einzelnen Komponenten

(i) Prinzipdarstellung

Physik/Informatik Wahlpflichtbereich Klasse 9

Hier besteht der Sollwertgeber aus dem Maschinentelegraph auf der Brücke.

Der Kapitän gibt damit den Sollwert vor. Über Seilzüge wird die Stellung dieses

Telegraphen unter Deck übertragen. Der Steuermann vergleicht dessen

Stellung mit der tatsächlichen Stellung des Ruders, dem Istwert. Er betätigt

entsprechend die Schalterstange (siehe (ii)), um mittels des Elektromotors das

Ruder neu einzustellen. Nach Herstellung des Ausgleiches wird der Schalter in

die neutrale Mittelstellung gefahren. Ein weiterer Helfer erübrigt sich hier, der

Elektromotor ist das Stellglied.

(ii) Elektromotor und Kommutator

Benötigt wird ein Gleichstrommotor, dessen Drehrichtung durch einfaches

Umpolen vertauscht werden kann. Ein solcher Motor dreht sich aber viel zu

schnell und ist außerdem im direkten Betrieb kraftlos. Durch ein geeignetes

Getriebe muss seine Drehzahl etwa auf den 100. Teil reduziert werden; dadurch

wird seine Anzugkraft - besser: sein Drehmoment - 100 mal stärker. Das

Umpolen kann man über einen besonderen Schalter, den sogenannten Kommutator,

bewerkstelligen (siehe obere Abb.).

In der oberen Schalterstellung des Kommutators dreht sich der Motor beispielsweise

im Uhrzeigersinn, in der unteren dann gegen den Uhrzeigersinn,

da die Eingänge des Motors umgepolt wurden sind. In der Mittelstellung ist

der Motor stromlos.

- 71 -


(iii) Potentiometer

Physik/Informatik Wahlpflichtbereich Klasse 9

Die Aufgabe des Vergleichers muss jetzt noch durch eine elektrische bzw.

elektronische Steuerung ersetzt werden. Dazu flanscht man an die Welle des

Sollwertgebers und auch an die des Istwertgebers je ein Potentiometer an. Ein

Potentiometer besteht im einfachsten Falle aus einem Stück Widerstandsdraht,

an dessen Enden eine konstante Spannung Uk angelegt wird. Der dritte Anschluss

ist eine federnd gelagerte Kontaktzunge, mit der man über den gesamten

Draht hinweg fahren kann. Je nachdem, an welcher Stelle sich diese Zunge

befindet, liefert sie eine Spannung zwischen 0 und Uk (siehe die obige Abb..

Daneben ist die technische Bauform abgebildet.

(iv) Vergleicher

Eine Verbesserung besteht nun

darin, den Motor automatisch anzusteuern.

Im Prinzip ist hierzu

ein Elektromagnet, der wie ein

Relais wirkt, geeignet.

Stimmt die Spannung des Istwertes

nicht mit der des Sollwertes

überein, fließt ein Strom in der

Spule, der je nach Flussrichtung

die als Magnet ausgeführte Betätigungsstange

dann entweder

nach oben oder nach unten bewegt.

Viel empfindlicher als eine solche Spule reagiert ein Operationsverstärker.

Liegt an seinen beiden Eingängen nur eine winzige Spannungsdifferenz an

(< 2 mV), so schaltet der OPV bereits voll durch.

Ist die Spannung am "+" - Eingang etwas größer als am "-" - Eingang, so liefert

er an seinem Ausgang die volle positive Versorgungsspannung, im umgekehrten

Falle die negative Versorgungsspannung. Damit ist er hervorragend

als Vergleicher geeignet.

Zum praktischen Betrieb muss man unbedingt die Laufrichtung des Motors

kennen; das heißt, man muss testen, ob sich der Motor nun auf den Sollwert

- 72 -


Physik/Informatik Wahlpflichtbereich Klasse 9

zu oder von ihm weg bewegt. Gegebenenfalls muss man dann ein Bauteil -

Istwertpotentiometer, Sollwertpotentiometer oder Motor - umpolen.

In der linken unteren Abb. ist noch einmal die komplette Schaltung wiedergegeben.

Die rechte untere Abb. zeigt die mechanische Kopplung des Potentiometers.

(v) Beschaltung der Experimentierbox

- 73 -


2. Steuerung eines Roboterarmes

Physik/Informatik Wahlpflichtbereich Klasse 9

Vor allem für ständig zu wiederholende Bewegungsabläufe ist es sinnvoll, eine Kette von

Sollwerten im Rechner zu speichern und - über einen Timer getaktet - der Reihe nach auszugeben.

Diese werden dann von einem D/A-Wandler in Spannungswerte umgewandelt. Dies

hat den Vorteil, dass man nun einen kompletten Bewegungsablauf, den man vorher eingespeichert

hat, immer wieder mit der gleichen Präzision ablaufen lassen kann. Unser 4-Bit-D/A-

Wandler ermöglicht es, 16 verschiedene Positionswerte zu benutzen.

a) Direkte Ansteuerung

Im Anfang beschränken wir uns darauf, den Arm direkt über eine geeignete Eingabe anzusteuern.

Dazu ist ein Schieberegler sehr geeignet. Das folgende Programmierbeispiel

beschreibt das entsprechende Verfahren.

Steuerelemente:

Hscrollbar, PositionsTextBox, EinlesenTimer

Variablen:

position [integer]

Programm:

Private Sub Form1_Load

EinlesenTimer.Interval = 1 : EinlesenTimer.Start

End Sub

Private Sub EinlesenTimer_Tick

position = Hscrollbar.Value : PositionsTextBox.Text = position

WriteAllDigital(position)

End Sub

Unbedingt ist dabei zu beachten, dass der Wertebereich des Schiebereglers richtig eingestellt

wird (Minimum 0, Maximum 15, LargeChange 1).

b) Ansteuerung mit gespeicherten Positionswerten

In dem folgenden einfachen Programmbeispiel werden die auszugebenden Positionswerte

direkt im Programm festgeschrieben. Auf Knopfdruck werden sie dann in einem angemessenen

Takt ausgegeben. Dabei werden die aktuelle Position (pos(i)) und die Anzahl

(n) der Durchläufe (= Stückzahl) in Textboxes dargestellt.

Steuerelemente:

Startbutton, Stoppbutton, AusführenTimer, PositionsTextBox, SchrittTextBox,

Variablen:

pos(5), i [integer] { i = Schrittzahl}

- 74 -


Physik/Informatik Wahlpflichtbereich Klasse 9

Programm:

Private Sub StartButton_Click

pos(1) = 4 : pos(2) = 11 : pos(3) = 2 : pos(4) = 6 : pos(5) = 14 : i = 1

AusführenTimer.Interval = 2000 : AusführenTimer.Start

End Sub

Private Sub StoppButton_Click

AusführenTimer.Stop

End Sub

Private Sub AusführenTimer_Tick

SchrittTextBox.Text = i

WriteAllDigital(pos(i)) : PositionsTextBox.Text = pos(i)

i = i Mod 5 + 1

End Sub

c) Lernmodus

Die in a) und b) beschriebenen Methoden lassen sich verbinden. Im über den entsprechenden

Button eingeschalteten Lernmodus fährt man per Schieberegler auf die gewünschte

Position und speichert diesen Wert (pos(i)) durch Betätigung eines weiteren

Buttons. Dies kann man beliebig oft wiederholen (hier ist imax auf 20 eingestellt).

Anschließend kann man über den Button „Ausführen“ das Programm wie unter b) ablaufen

lassen.

Steuerelemente:

StoppButton, Lernmodusbutton, Merkenbutton, AusführenButton

PositionsTextBox, SchrittTextBox , StückzahlTextBox, Hscrollbar1,

Label1..3 {zur Kennzeichnung der Textboxes}

EinlesenTimer, AusführenTimer

Variablen:

position, pos(20), i , imax, n [integer] { i = Schrittzahl, n = Stückzahl

}

Programm:

Private Sub Form1_Load

Label1.text = „Position“ : Label2.Text = „Schrittzahl“

Label3.text = „Stückzahl“

End Sub

Private Sub LernmodusButton_Click

AusführenTimer.Stop: EinlesenTimer.Start : i = 1 : SchrittTextBox.Text = i

End Sub

Private Sub EinlesenTimer_Tick

position = Hscrollbar1.Value: PositionsTextBox.Text = position

WriteAllDigital(position)

End Sub

- 75 -


Physik/Informatik Wahlpflichtbereich Klasse 9

Private Sub MerkenButton_Click

pos(i) = position : i = i + 1: imax = i : SchrittTextBox.Text = i

End Sub

Private Sub AusführenButton_Click

EinlesenTimer.Stop : AusführenTimer.Interval = 1000 :

i = 1 : n = 1 : AusführenTimer.Start

End Sub

Private Sub AusführenTimer_Tick

SchrittTextBox.Text = i : PositionsTextBox.Text = pos(i)

StückzahlTextBox.Text = n

WriteAllDigital(pos(i)) : i = i + 1

If i = imax Then i = 1 : n = n + 1

End Sub

Private Sub StoppButton_Click

EinlesenTimer.Stop : AusführenTimer.Stop

End Sub

- 76 -

Weitere Magazine dieses Users
Ähnliche Magazine