23. Die Nutzung des MOS-Transistors als Diode

23.1. Zielsetzung

Ziel dieses Versuches ist die Untersuchung der Vorwärtsstrom- und Spannungscharakteristik eines MOS-Feldeffekttransistors (NMOS und PMOS), der als eine Diode geschaltet ist. Vor diesem Experiment wird eine Durchsicht des vorherigen Versuch empfohlen.

23.2. Anmerkung

In diesen Tutorials verwenden wir die Terminologie aus dem Benutzerhandbuch, wenn Sie sich auf die Verbindungen zur Red Pitaya STEMlab-Board- Hardware beziehen.

Die Oszilloskop- und Signalgeneratoranwendung wird zum Erzeugen und Beobachten von Signalen auf der Schaltung verwendet.

Die für die Spannungsversorgung +5V, -3.3V und +3.3V verwendeten Steckerstifte sind in der Dokumentation aufgeführt.

Bemerkung

Red Pitaya STEMlab-Ausgänge können Spannungssignale mit einem maximalen Ausgangsbereich von \(+/-\,1\,V\) (2 Vpp) erzeugen. Für diesen Versuch werden höhere Signalamplituden benötigt. Aus diesem Grund werden wir einen OP484 in der invertierenden Konfiguration verwenden, um die Signalverstärkung von OUT1 / OUT2 zu ermöglichen und einen Spannungshub von +4,7V bis -3,2V zu erreichen. Ein OP484 wird von STEMlab + 5V und -3.3V Spannungsschienen versorgt. Der Verstärkungfaktor des invertierenden Verstärkers wird auf \(\approx 5\) gesetzt, wobei \(R1 = 2.2\,k\Omega\) und \(R2 = 10\,k\Omega\) eingesetzt werden.

Versuchen Sie zu beantworten, warum ein OP484 anstelle eines OP27 oder OP97 verwendet wird. (Hinweis: „Rail-to-Rail“).

23.3. Materialien

  • Red Pitaya STEMlab

  • OP484 Quad-Rail-to-Rail-Operationsverstärker

  • \(1\,k\Omega\) Widerstand

  • Kleinsignal-NMOS-Transistor (ZVN211)

  • Kleinsignal-PMOS-Transistor (ZVP211)

  • lötfreies Steckbrett

23.4. NMOS als Diode

Die Schaltung des NMOS in Diodenkonfiguration ist in Abb. 23.2 gezeigt. In der Diodenkonfiguration arbeitet der NMOS anders als der NPN BJT-Transistor.

Die Schwellspannung (Threshold Voltage) liegt nicht zwingend bei \(\approx 0,7\,V\), sie hängt von der Größe des Transistors und seinen Eigenschaften ab. Für den ausgewählten NMOS-Transistor liegt die Schwellspannung \(V_{TH}\) bei etwa \(2,4\,V\). Das bedeutet, sollte die am Gate-Pin anliegende Spannung den \(V_ {TH}\) von \(2,4\,V\) überschreiten, schaltet der MOS_Transistor ein und beginnt zu leiten. Da der Drain-Pin (D) schalttechnisch mit dem Gate-Pin (G) des Transistors verbunden ist, bleibt das Potential von \(D-G\) auf dem Pegel der Schwellenspannung \(V_{TH}\).

Bemerkung

Diese Konfiguration von NMOS erzeugt effektiv eine Diode mit Durchlassspannung, die der \(V_ {TH}\) entspricht.

../_images/Activity_23_Fig_01.png

Abb. 23.1 ZVN211 Spezifikationen

Auf dem Steckbrett die Schaltung aus Abb. 23.2 aufbauen und mit den Messungen fortfahren.

../_images/Activity_23_Fig_02.png

Abb. 23.2 Anschlussdiagramm der NMOS-Diode

23.5. Verfahren

  1. Bauen Sie die Schaltung aus Abb. 23.1 auf dem Steckbrettauf. Stellen Sie \(R1 = 2,2\,k\Omega\), \(R2 = 10\,k\Omega\) und \(R3 = 1\,k\Omega\) ein. Für M1 nehmen Sie ZVN211.

    ../_images/Activity_23_Fig_03.png

    Abb. 23.3 NMOS-Diodenverbindung auf dem Steckbrett

    Warnung

    Bevor Sie die Schaltung an die STEMlab-Pins -3,3V und +3,3V anschließen, überprüfen Sie Ihre Schaltung nochmal. Die Spannungsversorgungsstifte -3,3V und +3,3V haben keine Schutzschaltung und können im Falle eines Kurzschlusses beschädigt werden.

  2. Starten Sie die Anwendung Oszilloskop & Signalgenerator

  3. Stellen Sie im Menü OUT1-Einstellungen den Amplitudenwert auf \(0,45\,V\), den DC-Offset auf \(-0,45\,V\) und die Frequenz auf \(1 kHz\) ein, um die Eingangsspannung anzulegen. Wählen Sie im Wellenform-Menü TRIANGLE, deaktivieren Sie SHOW und wählen Sie Enable.

  4. Stellen Sie sicher, dass IN1, IN2 und MATH \(V/div\) auf der linken unteren Seite des Bildschirms auf \(1\,V/div\) eingestellt sind (Sie können \(V/div\) einstellen, indem Sie die gewünschten Kanal auswählen und mit vertikalen +/- Regler verwenden)

  5. Setzen Sie \(t/div\) Wert auf \(200\,us/div\) (Sie können \(t/div\) mit horizontalen +/- Reglern einstellen)

  6. Stellen Sie unter MATH-Kanaleinstellungen \(IN1-IN2\) ein und wählen Sie ENABLE.

  7. Stellen Sie unter den Menueinstellungen IN1 und IN2 den Messtaster auf x10 und den vertikalen Offset auf 0.

  8. Stellen Sie unter Einstellungen des MATH-Menus den vertikalen Offset auf 0 ein.

  9. Stellen Sie unter TRIGER-Einstellungen den Triggerpegel auf \(1\,V\) ein

    ../_images/Activity_23_Fig_04.png

    Abb. 23.4 NMOS-Diodenanschluss-Messungen

23.6. VI-Kurvenmessungen

Da sich NMOS wie eine Diode mit einer Durchlassspannung entsprechend der \(V_{TH}\) verhalten kann (Konfiguration in Abb. 23.2), können wir ihre VI-Charakteristik wie bei Diodenmessungen messen, wofür wir die Webanwendung Jupyter Notebook verwenden werden. Wie Sie Jupyter Notebook starten und ein neues Projekt erstellen, ist in Abb. 23.5 als Flussdiagramms dargestellt.

Bemerkung

Das Jupyter Notebook ist eine Webanwendung, mit der Sie Dokumente erstellen und freigeben können, die Live-Code, Gleichungen, Visualisierungen und erklärenden Text enthalten. Sie haben auch die Unterstützung für die Jupyter-Anwendung mit Red Pitaya-Bibliotheken sichergestellt, die die Steuerung aller Funktionen der STEMlab-Boards ermöglichen, wie z.B.: Signalerfassung, Signalerzeugung, digitale Signalsteuerung, Kommunikation usw. Das Jupyter Notebook wird auf die gleiche Weise gestartet wie alle anderen Anwendungen. Nach dem Start der Jupyter-Anwendung wird ein webbasiertes Notebook geöffnet. Diese Kombination aus Notebook, STEMlab und Python macht das STEMlab zu einem hervorragenden Werkzeug für Prototyping und schnelle Programmierung. Da Jupyter Notebook Text-, Gleichungs- und Bildbearbeitung ermöglicht, ist es ein perfektes Werkzeug für Tutorials, Beispiele und vieles mehr.

../_images/Activity_19_Fig_07.png

Abb. 23.5 Erstellen eines neuen Jupyter-Notebooks

Wenn Sie erfolgreich ein neues Jupyter-Notebook erstellt haben, kopieren Sie den untenstehenden Code und führen Sie ihn aus.

Der unten stehende Code erzeugt das gleiche Signal wie in Abb. 23.4, aber er plotet dieses in einem XY-Diagramm.

Für die Messung der VI-Kurve ist ein „XY“-Plot erforderlich, wobei die x-Achse die Diodenspannung \(IN_2\) und y-Achse ein Diodenstrom \((IN_1 - IN_2)/R_3\) dargestellt.

Kopieren Sie den unten stehenden Code in die Zelle 1

 1# Import libraries
 2from redpitaya.overlay.mercury import mercury as overlay
 3
 4from bokeh.io import push_notebook, show, output_notebook
 5from bokeh.models import HoverTool, Range1d, LinearAxis, LabelSet, Label
 6from bokeh.plotting import figure, output_file, show
 7from bokeh.resources import INLINE
 8output_notebook(resources=INLINE)
 9
10import numpy as np
11
12# Initialize fpga modules
13fpga = overlay()
14gen0 = fpga.gen(0)
15osc = [fpga.osc(ch, 1.0) for ch in range(fpga._MNO)]
16
17# Configure OUT1 generator channel
18gen0.amplitude = 0.45
19gen0.offset = -0.45
20gen0.waveform = gen0.sawtooth(0.5)
21gen0.frequency = 2000
22gen0.start()
23gen0.enable = True
24gen0.trigger()
25
26# R1 resistor value
27R3 = 1000
28
29# Configure IN1 and IN2 oscilloscope input channels
30for ch in osc:
31    ch.filter_bypass = True
32
33    # data rate decimation
34    ch.decimation = 10
35
36    # trigger timing [sample periods]
37    N = ch.buffer_size
38    ch.trigger_pre = 0
39    ch.trigger_post = N
40
41    # osc0 is controlling both channels
42    ch.sync_src = fpga.sync_src["osc0"]
43    ch.trig_src = fpga.trig_src["osc0"]
44
45    # trigger level [V], edge ['neg', 'pos'] and holdoff time [sample periods]
46    ch.level = 0.01
47    ch.edge = 'pos'
48    ch.holdoff = 0
49
50# Initialize diode current and voltage
51V = np.zeros(N)
52I = np.zeros(N)
53
54# Plotting
55hover = HoverTool(mode='vline', tooltips=[("V", "@x"), ("I", "@y")])
56tools = "wheel_zoom, box_zoom, reset,pan"
57p = figure(plot_height=500,
58           plot_width=900,
59           title="XY plot of NMOS transistor VI characteristic",
60           toolbar_location="right",
61           tools=(tools, hover))
62p.xaxis.axis_label = 'Voltage [V]'
63p.yaxis.axis_label = 'Current [mA]'
64r = p.line(V, I, line_width=1, line_alpha=0.7, color="blue")
65
66# get and explicit handle to update the next show cell
67target = show(p, notebook_handle=True)

Erstelle eine neue Zelle (Einfügen -> Zelle darunter) und kopieren Sie den unten stehenden Code.

 1# Measuring I, V and re-plotting
 2while True:
 3    # reset and start
 4    osc[0].reset()
 5    osc[0].start()
 6
 7    # wait for data
 8    while (osc[0].status_run()):
 9        pass
10
11    V0 = osc[0].data(N-100)*10  # IN1 signal
12    V1 = osc[1].data(N-100)*10  # IN2 signal
13    I = ((V0-V1)/R3)*1E3        # 1E3 convert to mA
14    r.data_source.data['x'] = V0
15    r.data_source.data['y'] = I
16    push_notebook(handle=target)

Führen Sie Zelle 1 und Zelle 2 aus. Hinweis Zelle 2 ist eine Hauptschleife für die Erfassung und Neuaufnahme. Wenn Sie die Erfassung stoppen, führen Sie einfach nur Zelle 2 aus, um die Messungen erneut zu starten.

Nach dem Ausführen des obigen Codes sollten Sie die VI-Charakteristik der Diode erhalten, wie in Abb. 23.6 dargestellt.

../_images/Activity_23_Fig_06.png

Abb. 23.6 NMOS VI-Kennlinie gemessen mit Jupyter Notebook

23.7. PMOS als Diode

Dieselben Messungen können auch für den PMOS-Transistor durchgeführt werden. Beim PMOS-Transistor wird die Spannungspolarität umgekehrt, so dass die Konfiguration der PMOS-Diode anders sein muss als bei NMOS. Die Konfiguration der PMOS-Diode ist in Abb. 23.7 dargestellt.

../_images/Activity_23_Fig_07.png

Abb. 23.7 Anschlussdiagramm der PMOS-Diode

23.8. Verfahren

  1. Bauen Sie die Schaltung aus Abb. 23.7 auf dem Steckbrett auf. Setzen Sie für \(R1 = 2,2\,k\Omega\), \(R2 = 10\,k\Omega\) und für \(R3 = 1\,k\Omega\) ein. Für M1 nehmen Sie bitte ZVP211.

    Warnung

    Bevor Sie die Schaltung an die STEMlab-Pins -3,3V und +3,3V anschließen, überprüfen Sie Ihre Schaltung nochmal. Die Spannungsversorgungsstifte -3,3V und +3,3V haben keine Schutzschaltung und können im Falle eines Kurzschlusses beschädigt werden.

  2. Starten Sie die Anwendung Oszilloskop & Signalgenerator

  3. Stellen Sie im Menü OUT1-Einstellungen den Amplitudenwert auf \(0,45\,V\), den DC-Offset auf \(-0,45\,V\) und die Frequenz auf \(1 kHz\) ein, um die Eingangsspannung anzulegen. Wählen Sie im Wellenform-Menü TRIANGLE, deaktivieren Sie SHOW und wählen Sie Enable.

  4. Stellen Sie sicher, dass IN1, IN2 und MATH \(V/div\) auf der linken unteren Seite des Bildschirms auf \(1\,V/div\) eingestellt sind (Sie können \(V/div\) einstellen, indem Sie die gewünschten Kanal auswählen und mit vertikalen +/- Regler verwenden)

  5. Setzen Sie \(t/div\) Wert auf \(200\,us/div\) (Sie können \(t/div\) mit horizontalen +/- Reglern einstellen)

  6. Stellen Sie unter MATH-Kanaleinstellungen \(IN1-IN2\) ein und wählen Sie ENABLE.

  7. Stellen Sie unter den Menueinstellungen IN1 und IN2 den Messtaster auf x10 und den vertikalen Offset auf 0.

  8. Stellen Sie unter Einstellungen des MATH-Menus den vertikalen Offset auf 0 ein.

  9. Stellen Sie unter TRIGER-Einstellungen den Triggerpegel auf \(1\,V\) ein

../_images/Activity_23_Fig_08.png

Abb. 23.8 PMOS-Diodenanschlussmessungen

Wie in Abb. 23.8 zu sehen, verhält sich der PMOS in der Diodenkonfiguration wie eine Diode mit einer Durchlassspannung gleich dem PMOS \(V_ {TH}\).

Vergleichen Sie die Abb. 23.8 und Abb. 23.4 und versuchen Sie, den Unterschied zwischen NMOS- und PMOS-Diodenkonfigurationen zu erklären.