Dieses Programm simuliert eine Schaltung mit einem nichtinvertierenden Operations-Verstärker.

Die eigentliche Berechnung im Programm ist ganz einfach und bestimmt die Verstärkung und die Ausgangsspannung aus dem Verhältnis von Widerständen (vgl. ELEXS).

Rv = R2 / (R1 + R2)

V = (R1 + R2) / R2
Uv = Ui * V

Die Rechnung kann theoretisch auch Ausgangspannungen außerhalb des Bereichs der Betriebsspannung ergeben. Deshalb wird hier in einem zweiten Schritt die tatsächliche Spannung nach oben und unten bis auf 0,5 V an der Betriebsspannung begrenzt. Wenn dieser Übersteuerungsfall eintritt weicht die Spannung am invertierenden Eingang des OPV von der am nichtinvertierenden ab und muss eigens aus dem Spannungsteilungsverhältnis berechnet werden.

If Uv > 9.5 Then
Uo = 9.5
Uminus = Uo * Rv
ElseIf Uv < -9.5 Then
Uo = -9.5
Uminus = Uo * Rv
Else
Uo = Uv
Uminus = Ui
End If

Quelltext

Public Class frmNIV
Dim Ui, R1, R2
Dim V, Uo
Dim Uv, Uminus, Rv

Private Sub sRx_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs)Handles sRx.Scroll
berechnen()
End Sub

Private Sub berechnen()
Ui = -1 * (sRx.Value / 10)
R1 = 20 - sR2.Value
R2 = 20 - sR1.Value

lR1.Text = “R1 = " + Str(R1) + " k”
lR2.Text = “R2 = " + Str(R2) + " k”
lUplus.Text = “U+ = " + Str(Ui) + " V”

Rv = R2 / (R1 + R2)

V = (R1 + R2) / R2
Uv = Ui * V
If Uv > 9.5 Then
Uo = 9.5
Uminus = Uo * Rv
ElseIf Uv < -9.5 Then
Uo = -9.5
Uminus = Uo * Rv
Else
Uo = Uv
Uminus = Ui
End If
Uminus = Math.Round(Uminus, 2)
lUo.Text = “Uo = " + Str(Uo) + " V”
lUminus.Text = “U- = " + Str(Uminus) + " V”
End Sub

Private Sub frmNIV_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
berechnen()
End Sub

Private Sub sR2_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs)Handles sR2.Scroll
berechnen()
End Sub

Private Sub sR1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs)Handles sR1.Scroll
berechnen()
End Sub
End Class

Download Projektdatei

Wenn Sie nur an der Exe-Datei interessiert sind, befindet sich diese in dem Unterordner \bin\Debug.