Nichtinvertierender Verstärker – VB.Net Beispiel
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
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.