• Keine Ergebnisse gefunden

Analog-Digital-Konverter – Verfahren

N/A
N/A
Protected

Academic year: 2021

Aktie "Analog-Digital-Konverter – Verfahren"

Copied!
20
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

1

Analog-Digital-Konverter – Verfahren

http://de.wikipedia.org/wiki/Analog-Digital-Umsetzer http://www.pling.org.uk/cs/dad.html

Sägezahnverfahren (single slope)

Funktion:

Ein Sägezahngenerator erzeugt eine linear ansteigende Ver-

gleichsspannung

Ein analoger Comparator ver- gleicht die augenblickliche Ver- gleichsspannung mit der Ein- gangsspannung

Während dieses Zeitraumes läuft ein Zähler

Bei Uin - Uref = 0 wird der Zähler ausgewertet, der Zählerstand ist proportional zu Uin.

Funktion:

Ein Sägezahngenerator erzeugt eine linear ansteigende Ver-

gleichsspannung

Ein analoger Comparator ver- gleicht die augenblickliche Ver- gleichsspannung mit der Ein- gangsspannung

Während dieses Zeitraumes läuft ein Zähler

Bei Uin - Uref = 0 wird der Zähler ausgewertet, der Zählerstand ist proportional zu Uin.

(2)

2

Analog-Digital-Konverter – Verfahren

http://de.wikipedia.org/wiki/Analog-Digital-Umsetzer http://www.pling.org.uk/cs/dad.html

Flashconverter

Funktion:

Es wird pro Digit ein Analoger Comparator benötigt (außer für 0)

Beispiel: Auflösung 3 bit, Digits 0..7, es wer- den 7 Comparatoren benötigt (2n-1)

Mittels Widerstandsnetzwerk werden die Re- ferenzspannungen erzeugt

Bei 8V (an Stelle von 10V Uref*) ergeben sich Urefi mit Werten 0.5, 1.5. 2.5,..., 7.5 V.

Comparator 0..x liefert 1, Comparator x+1..7 liefert 0

Der IC 74F148 codiert diesen "Füllstand" in eine 3bit Zahl

Funktion:

Es wird pro Digit ein Analoger Comparator benötigt (außer für 0)

Beispiel: Auflösung 3 bit, Digits 0..7, es wer- den 7 Comparatoren benötigt (2n-1)

Mittels Widerstandsnetzwerk werden die Re- ferenzspannungen erzeugt

Bei 8V (an Stelle von 10V Uref*) ergeben sich Urefi mit Werten 0.5, 1.5. 2.5,..., 7.5 V.

Comparator 0..x liefert 1, Comparator x+1..7 liefert 0

Der IC 74F148 codiert diesen "Füllstand" in eine 3bit Zahl

(3)

3

Analog-Digital-Konverter – Verfahren

http://de.wikipedia.org/wiki/Analog-Digital-Umsetzer http://www.pling.org.uk/cs/dad.html

Successive Approximation/Tracking ADC

Funktion:

Das Verfahren entspricht dem Algorithmus der binären Suche.

Die Bitwertigkeit bezogen auf den maximal darstellbaren Wert in einem Integer wird auf die Referenzspannung angewandt.

Begonnen wird mit dem höchstwertigen Bit, es entspricht der halben Referenz- spannung

Ist Ux größer als Uref wird das Bit 1, sonst 0

Das Bit kann jetzt seriell gesendet werden

In den nächsten Takten werden die nächs- ten Referenzspannungen aus den bereits gebildeten Bits und der globalen Refe- renzspannung gebildet und ebenso ver- fahren.

Funktion:

Das Verfahren entspricht dem Algorithmus der binären Suche.

Die Bitwertigkeit bezogen auf den maximal darstellbaren Wert in einem Integer wird auf die Referenzspannung angewandt.

Begonnen wird mit dem höchstwertigen Bit, es entspricht der halben Referenz- spannung

Ist Ux größer als Uref wird das Bit 1, sonst 0

Das Bit kann jetzt seriell gesendet werden

In den nächsten Takten werden die nächs- ten Referenzspannungen aus den bereits gebildeten Bits und der globalen Refe- renzspannung gebildet und ebenso ver- fahren.

(4)

4

Funktion des Verfahrens successive approximation,

Wägeverfahrens

2,5

1,25 3,75

8 7 6 5

Bit:

1,862 5

2,17 5

5,0

9

2,22 V

(5)

5

Step Bit Digit Udiff Utest U? Usum Bin 1 9 512 2,50000000 2,50000 2,22 0,000000 0 2 8 256 1,25000000 1,25000 2,22 1,250000 1 3 7 128 0,62500000 1,87500 2,22 1,875000 1 4 6 64 0,31250000 2,18750 2,22 2,187500 1 5 5 32 0,15625000 2,34375 2,22 2,187500 0 6 4 16 0,07812500 2,26563 2,22 2,187500 0 7 3 8 0,03906250 2,22656 2,22 2,187500 0 8 2 4 0,01953125 2,20703 2,22 2,207031 1 9 1 2 0,00976563 2,216797 2,22 2,216797 1 10 0 1 0,00488281 2,221680 2,22 2,216797 0

Σmaxmax1023 Digit 454

U digit 2,22

(6)

6

Erzeugung der Referenzspannungen

http://www.avr-asm-tutorial.net/avr_de/avr_dac.html

http://www.dieelektronikerseite.de/Lections/R2R-Netzwerke

%20-%20Magische%20Wandlung.htm

Über ein Widerstandsnetzwerk werden Digitalwerte in analoge Ausgangsspan- nungen umgewandelt.

Vorteile: sehr schnelle Wandlung, einfa- cher Schaltungsaufbau

Nachteile: Genauigkeit ist sehr stark von der Güte der Widerstände abhängig,

Es werden viele Prozessorpins benötigt, ev. Porterweiterung via I²C verwenden.

Es werden viele Widerstände benötigt (Widerstandsgrab)

Über ein Widerstandsnetzwerk werden Digitalwerte in analoge Ausgangsspan- nungen umgewandelt.

Vorteile: sehr schnelle Wandlung, einfa- cher Schaltungsaufbau

Nachteile: Genauigkeit ist sehr stark von der Güte der Widerstände abhängig,

Es werden viele Prozessorpins benötigt, ev. Porterweiterung via I²C verwenden.

Es werden viele Widerstände benötigt

(Widerstandsgrab)

(7)

7

0 0000 0,01 1 0001 0,5 2 0010 0,72 3 0011 1,22 4 0100 1,3 5 0101 1,79 6 0110 2,02 7 0111 2,51 8 1000 2,46 9 1001 2,96 10 1010 3,18 11 1011 3,67 12 1100 3,76 13 1101 4,25 14 1110 4,47 15 1111 4,97

0 0000 0,01 1 0001 0,5 2 0010 0,72 3 0011 1,22 4 0100 1,3 5 0101 1,79 6 0110 2,02 7 0111 2,51 8 1000 2,46 9 1001 2,96 10 1010 3,18 11 1011 3,67 12 1100 3,76 13 1101 4,25 14 1110 4,47 15 1111 4,97

Versuchsaufbau R2R DAC

(8)

8

10K/4,7K 5% 100K/50K, 1%

Value Diff. Value Diff.

0 0000 0,01 0

1 0001 0,5 0,49 0,29 0,29

2 0010 0,72 0,22 0,58 0,29

3 0011 1,22 0,5 0,87 0,29

4 0100 1,3 0,08 1,17 0,3

5 0101 1,79 0,49 1,47 0,3

6 0110 2,02 0,23 1,75 0,28

7 0111 2,51 0,49 2,04 0,29

8 1000 2,46 -0,05 2,35 0,31

9 1001 2,96 0,5 2,64 0,29

10 1010 3,18 0,22 2,93 0,29

11 1011 3,67 0,49 3,21 0,28

12 1100 3,76 0,09 3,51 0,3

13 1101 4,25 0,49 3,8 0,29

14 1110 4,47 0,22 4,09 0,29

15 1111 4,97 0,5 4,38 0,29

10K/4,7K 5% 100K/50K, 1%

Value Diff. Value Diff.

0 0000 0,01 0

1 0001 0,5 0,49 0,29 0,29

2 0010 0,72 0,22 0,58 0,29

3 0011 1,22 0,5 0,87 0,29

4 0100 1,3 0,08 1,17 0,3

5 0101 1,79 0,49 1,47 0,3

6 0110 2,02 0,23 1,75 0,28

7 0111 2,51 0,49 2,04 0,29

8 1000 2,46 -0,05 2,35 0,31

9 1001 2,96 0,5 2,64 0,29

10 1010 3,18 0,22 2,93 0,29

11 1011 3,67 0,49 3,21 0,28

12 1100 3,76 0,09 3,51 0,3

13 1101 4,25 0,49 3,8 0,29

14 1110 4,47 0,22 4,09 0,29

15 1111 4,97 0,5 4,38 0,29

(9)

9

Analog-Digital-Konverter (ADC) des Atmega

Auflösung 10 bit (0..1023)

6 Kanäle (Multiplexer) ADC0 (PC0)..ADC5 (PC5) Bis zu 15000 Samples / s

Verschiedene Referenzspannungen

intern/extern, max. Vcc 2.56 V

Verfahren: successive approximation, Wägeverfah- ren (http://de.wikipedia.org/wiki/Analog-Digital-Umsetzer)

Eingang ist sehr hochohmig.

Auflösung 10 bit (0..1023)

6 Kanäle (Multiplexer) ADC0 (PC0)..ADC5 (PC5) Bis zu 15000 Samples / s

Verschiedene Referenzspannungen

intern/extern, max. Vcc 2.56 V

Verfahren: successive approximation, Wägeverfah- ren (http://de.wikipedia.org/wiki/Analog-Digital-Umsetzer)

Eingang ist sehr hochohmig.

(10)

10

Analog-Digital-Konverter (ADC)

Messspannung wird während der Wandlung kon- stant gehalten (sample and hold)

Interrupt ist nach erfolgter Wandlung möglich

Free running mode (zykische Wiederholung der Messung)

Eigener Takt - aus Systemtakt hergeleitet

links-/rechtsbündige Darstellung des Ergebnisses

Messspannung wird während der Wandlung kon- stant gehalten (sample and hold)

Interrupt ist nach erfolgter Wandlung möglich

Free running mode (zykische Wiederholung der Messung)

Eigener Takt - aus Systemtakt hergeleitet

links-/rechtsbündige Darstellung des Ergebnisses

rechts 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1

0 Für 10 bit

links 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0

0Für 8 bit

ADCH ADCL

ADCW

(11)

11

Steuerregister ADMUX

REFS1 REFS0 ADLAR leer MUX3 MUX2 MUX1 MUX0 REFS1 REFS0 ADLAR leer MUX3 MUX2 MUX1 MUX0

REFS1 REFS0 Referenz

0 0 externe Referenz

0 1 interne Referenz: Avcc

1 0 wird beim Mega8 nicht benutzt 1 1 interne Referenz: 2.56 Volt REFS1 REFS0 Referenz

0 0 externe Referenz

0 1 interne Referenz: Avcc

1 0 wird beim Mega8 nicht benutzt 1 1 interne Referenz: 2.56 Volt

MUX3 MUX2 MUX1 MUX0 Kanal

0 0 0 0 Kanal 0, Pin PC0

0 0 0 1 Kanal 1, Pin PC1

0 0 1 0 Kanal 2, Pin PC2

0 0 1 1 Kanal 3, Pin PC3

0 1 0 0 Kanal 4, Pin PC4

0 1 0 1 Kanal 5, Pin PC5

0 1 1 0

0 1 1 1

1 1 1 0 1.23V, Vbg

1 1 1 1 0V, GND

MUX3 MUX2 MUX1 MUX0 Kanal

0 0 0 0 Kanal 0, Pin PC0

0 0 0 1 Kanal 1, Pin PC1

0 0 1 0 Kanal 2, Pin PC2

0 0 1 1 Kanal 3, Pin PC3

0 1 0 0 Kanal 4, Pin PC4

0 1 0 1 Kanal 5, Pin PC5

0 1 1 0

0 1 1 1

1 1 1 0 1.23V, Vbg

1 1 1 1 0V, GND

ADLAR:

Ausrichtung des Ergebnisses 0: rechtsbündig 10 bit (2

Byte)

1: linksbündig 8 bit (1 Byte) ADLAR:

Ausrichtung des Ergebnisses 0: rechtsbündig 10 bit (2

Byte)

1: linksbündig 8 bit (1 Byte)

Bei verwandten Prozessoren steht auch MUX4 zur Verfü- gung, es können verschiede- ne Verstärkungen des Ein- gangssignals eingestellt wer- den und Spannungsdiffreren- zen gemessen werden.

Die interne Referenzspan- nung beträgt, je nach Prozes- sor 2.56 V oder 1.1 V (Ardui- no UNO mit AtMega832!).

Bei verwandten Prozessoren steht auch MUX4 zur Verfü- gung, es können verschiede- ne Verstärkungen des Ein- gangssignals eingestellt wer- den und Spannungsdiffreren- zen gemessen werden.

Die interne Referenzspan- nung beträgt, je nach Prozes- sor 2.56 V oder 1.1 V (Ardui- no UNO mit AtMega832!).

(12)

12

Steuerregister ADCSRA

ADEN ADSC ADFR ADIF ADIE ADPS2 ADPS1 ADPS0

1:ADC on 0:ADC off

1:ADC start fällt bei beendeter

Messung zurück auf 0

1: Free Running

(fortlaufende Messung)

Interrupt Bit

Interrupt 1: enable 0: disable

Vorteiler

ADEN ADSC ADFR ADIF ADIE ADPS2 ADPS1 ADPS0

1:ADC on

0:ADC off 1:ADC start fällt bei beendeter

Messung zurück auf 0

1: Free Running

(fortlaufende Messung)

Interrupt

Bit Interrupt 1: enable 0: disable

Vorteiler

ADPS2 ADPS1 ADPS0 Vorteiler

0 0 0 2

0 0 1 2

0 1 0 4

0 1 1 8

1 0 0 16

1 0 1 32

1 1 0 64

1 1 1 128

ADPS2 ADPS1 ADPS0 Vorteiler

0 0 0 2

0 0 1 2

0 1 0 4

0 1 1 8

1 0 0 16

1 0 1 32

1 1 0 64

1 1 1 128

der ADC benötigt eine interne Taktfrequenz von 50 ..200 KHz.

Diese wird mittels des Vorteilers im Bereich zw. 40..160 gebildet (s.o. re.) Der Vorteiler wird nun zwischen 40 und 160 ausgewählt.

Möglich: 64 oder 128, gewählt 64

der ADC benötigt eine interne Taktfrequenz von 50 ..200 KHz.

Diese wird mittels des Vorteilers im Bereich zw. 40..160 gebildet (s.o. re.) Der Vorteiler wird nun zwischen 40 und 160 ausgewählt.

Möglich: 64 oder 128, gewählt 64

Teilungsfaktor_min = Taktfrequenz / 200 kHz = 8000000 Hz/ 200000 Hz = 40

Teilungsfaktor_max = Taktfrequenz / 50 kHz = 8000000 Hz / 50000 Hz =160

Teilungsfaktor_min = Taktfrequenz / 200 kHz = 8000000 Hz/ 200000 Hz = 40

Teilungsfaktor_max = Taktfrequenz / 50 kHz = 8000000 Hz / 50000 Hz =160

(13)

13

ADCW, ADCH / ADCL

Ergebnis liegt in ADCH/ADCL

Bei linksbündigem Ergebnis (8bit) liegt das Ergebnis in ADCH, ansonsten in Assemblersprache erst ADCL,

dann ADCH lesen; eine Sperrlogik sperrt das Datenre- gister für den ADC, wenn ADCL gelesen wurde, bis auch ADCH gelesen worden ist. Unter C, ADCW lesen.

Das Lesen von ADCH entsperrt das Datenregister für den ADC.

Ein Ergebnis liegt vor, wenn ADSC im Register ADCSRA wieder 0 ist oder ein Interrupt ausgelöst worden ist.

Interruptvektor ADC_vect

Ergebnis liegt in ADCH/ADCL

Bei linksbündigem Ergebnis (8bit) liegt das Ergebnis in ADCH, ansonsten in Assemblersprache erst ADCL,

dann ADCH lesen; eine Sperrlogik sperrt das Datenre- gister für den ADC, wenn ADCL gelesen wurde, bis auch ADCH gelesen worden ist. Unter C, ADCW lesen.

Das Lesen von ADCH entsperrt das Datenregister für den ADC.

Ein Ergebnis liegt vor, wenn ADSC im Register ADCSRA wieder 0 ist oder ein Interrupt ausgelöst worden ist.

Interruptvektor ADC_vect

(14)

14

Vorbereiten des ADC (ohne Interrupt)

/*****************************************************************************

Initialisierung des ADC für - Einzelmessung

- 8 Mhz (Vorteiler 64)

- rechtsbündiges Ergebnis (10 bit)

*****************************************************************************/

// Den ADC aktivieren und Teilungsfaktor auf 64 stellen ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1) ; // Kanal des Multiplexers waehlen

ADMUX = channel; // channel = 0..5 (PC0 .. PC5) // Den ADC initialisieren und einen sog. Dummyreadout machen ??

ADCSRA |= (1<<ADSC); // ADC starten

while(ADCSRA & (1<<ADSC)); // Warten, bis fertig

/*****************************************************************************

Initialisierung des ADC für - Einzelmessung

- 8 Mhz (Vorteiler 64)

- rechtsbündiges Ergebnis (10 bit)

*****************************************************************************/

// Den ADC aktivieren und Teilungsfaktor auf 64 stellen ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1) ; // Kanal des Multiplexers waehlen

ADMUX = channel; // channel = 0..5 (PC0 .. PC5) // Den ADC initialisieren und einen sog. Dummyreadout machen ??

ADCSRA |= (1<<ADSC); // ADC starten

while(ADCSRA & (1<<ADSC)); // Warten, bis fertig

(15)

15

Messung mit ADC

// Jetzt 3x die analoge Spannung and Kanal channel // auslesen und dann Durchschnittswert ausrechnen.

for(i=0; i<3; i++) {

// Eine Wandlung

ADCSRA |= (1<<ADSC); // start ADC

// solange ADCS (ADC start) gesetzt ist, // arbeitet der ADC (very busy)

// Auf Ergebnis warten...

while(ADCSRA & (1<<ADSC));

result += ADCW;

}

// ADC wieder deaktivieren ADCSRA &= ~(1<<ADEN);

result /= 3;

// Jetzt 3x die analoge Spannung and Kanal channel // auslesen und dann Durchschnittswert ausrechnen.

for(i=0; i<3; i++) {

// Eine Wandlung

ADCSRA |= (1<<ADSC); // start ADC

// solange ADCS (ADC start) gesetzt ist, // arbeitet der ADC (very busy)

// Auf Ergebnis warten...

while(ADCSRA & (1<<ADSC));

result += ADCW;

}

// ADC wieder deaktivieren ADCSRA &= ~(1<<ADEN);

result /= 3;

Leeranweisung ;

Assemblerbeispiel unter

http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC

(16)

16

Darstellung von Ergebniswerten

char buffer[16];

Vin = wadc * 50 / 1024;

itoa(Vin/10, buffer, 10);

lcd_puts(buffer);

lcd_putc('.');

itoa(Vin%10, buffer, 10);

lcd_puts(buffer);

char buffer[16];

Vin = wadc * 50 / 1024;

itoa(Vin/10, buffer, 10);

lcd_puts(buffer);

lcd_putc('.');

itoa(Vin%10, buffer, 10);

lcd_puts(buffer);

Vin = wadc * 50 / 1024;

sprintf(buffer,"%1u.%1u",Vin/10,Vin%10);

lcd_puts(buffer);

Vin = wadc * 50 / 1024;

sprintf(buffer,"%1u.%1u",Vin/10,Vin%10);

lcd_puts(buffer);

(17)

17

Analogcomparator

Vergleicht die Spannungen an AIN0 (+,PD6) und AIN1 (-,PD7)

An Stelle der Spannung an AIN0 kann auch eine interne Referenzspannung konfiguriert werden (1,15V..1,40V, typisch 1,23V)

An Stelle der Spannung an AIN1 kann auch der Multiplexer des ADC angeschlossen

werden (SFIOR, Bit ACME=1 und ADCSRA, Bit ADEN=0)

Vergleicht die Spannungen an AIN0 (+,PD6) und AIN1 (-,PD7)

An Stelle der Spannung an AIN0 kann auch eine interne Referenzspannung konfiguriert werden (1,15V..1,40V, typisch 1,23V)

An Stelle der Spannung an AIN1 kann auch der Multiplexer des ADC angeschlossen

werden (SFIOR, Bit ACME=1 und ADCSRA,

Bit ADEN=0)

(18)

18

Comparator Steuerregister

ACSR (Analog Comparator Control And Status Register)

Bit: 7 6 5 4 3 2 1 0

Name: ACD ACBG ACO ACI ACIE ACIC ACIS1 ACIS0

Bit Name Beschreibung 7 ACD

1: Analog Comparator disable 0: Analog Comparator enable 6 ACBG

1: bandgap 1.15..1.4V

0: Vergleichsspannung an AIN0 5 ACO Comparator output

4 ACI Comparator Interrupt flag 3 ACIE Comparator Interrupt enable

2 ACIC 1: verbindet ACO mit Capture von Timer 1 1 ACIS1

00:Interrupt bei Wechsel von ACO 01: reserviert

0 ACIS0

10: Interrupt bei fallender Flanke 10: Interrupt bei steigender Flanke Bit Name Beschreibung

7 ACD

1: Analog Comparator disable 0: Analog Comparator enable 6 ACBG

1: bandgap 1.15..1.4V

0: Vergleichsspannung an AIN0 5 ACO Comparator output

4 ACI Comparator Interrupt flag 3 ACIE Comparator Interrupt enable

2 ACIC 1: verbindet ACO mit Capture von Timer 1 1 ACIS1

00:Interrupt bei Wechsel von ACO 01: reserviert

0 ACIS0

10: Interrupt bei fallender Flanke

10: Interrupt bei steigender Flanke

(19)

19

Anwendungsbeispiel ADC mit Comparator

(http://www.scienceprog.com/adc-on-avr-using-on-chip-comparator/)

Funktion:

Funktioniert nach dem Prinzip des Sägezahngenerators.

Ladekurve des C bildet den Zahn

Ist nicht ganz linear, zw. 0..2,5V aber wohl hinnehmbar

Ladezeit des C auf 2.5V 720µs

Entladung erfolgt über 200 Ohm Widerstand und Portpin (OutPut: 0)

Für nicht zeitkritische

Temperaturmessungen brauchbar

Während der Messung wird PD6 als Eingang ohne PullUp konfiguriert und der Timer gestartet.

Funktion:

Funktioniert nach dem Prinzip des Sägezahngenerators.

Ladekurve des C bildet den Zahn

Ist nicht ganz linear, zw. 0..2,5V aber wohl hinnehmbar

Ladezeit des C auf 2.5V 720µs

Entladung erfolgt über 200 Ohm Widerstand und Portpin (OutPut: 0)

Für nicht zeitkritische

Temperaturmessungen brauchbar

Während der Messung wird PD6 als Eingang ohne PullUp konfiguriert und der Timer gestartet.

(20)

20

2. Variante

Transistor beseitigt Nichtlinearität, verlängert aber die Ladezeit

Achtung ! pnp-Transistor

Referenzen

ÄHNLICHE DOKUMENTE

Das Bleibende ist der Charakter Gottes selbst. Dem, was Gott uns von Sich selbst geoffenbart hat, ist nichts hinzuzufügen. Was Gott ist, die Fülle seiner Herrlichkeit, ist in dem

Sicher ist es so, daß wir unseren Herrn in einer weitaus tieferen Beziehung kennen, aber dennoch freuen wir uns auch darüber, daß Er einmal die Person sein wird, die Gott

Zu einer Zeit, als Est- land noch Bestandteil der Sowjetdiktatur und die Sehn- sucht nach Selbständigkeit allseits vorhanden war, be- schrieb Kross einen Kampf der

Die Schüler lernen hier nicht nur ver- antwortungsbewußtes Handeln für eine größere Gemeinschaft, sondern können handwerkl. kreative Fä- higkeiten

Reproduced by Sabinet Gateway under licence granted by the Publisher dated 2010.... SOUTH AFRICAN JOURNAL

[r]

Ein paar gute Beispiele in der Lehre gibt es schon - die lesen Evaluierungen, versuchen ihre Lehrver- anstaltung zu verbessern, laden Studierende in ihre Sprechstunden ein,

Wenn sich diese Zeit aber über Jahre dehnt, kommt doch der Punkt, wo ich mich für die Dauer einrichten muss... mit meiner Zeit