Arbeitspunkt Emitterschaltung – VB.Net Beispiele
Für jeden Transistorverstärker gibt es einen optimalen Kollektorstrom, den man auch als Arbeitspunkt bezeichnet. Bei diesem Signalverstärker in Emitterschaltung sollte man den Basiswiderstand rb passend zur Stromverstärkung V möglichst so einstellen, dass die Kollektorspannung uce ohne Aussteuerung (ut=0) in der Mitte bei 2,5 V liegt. Das ergibt dann den idealen Arbeitspunkt, bei dem die größte verzerrungsfreie Aussteuerung möglich ist.
ib = 4.4 / rb + ut / 1000
ic = ib * v
uce = 5 – ic * 1000
Die Berechnung geht vereinfachend davon aus, dass die Basisspannung immer 0,6 V beträgt. Am Basiswiderstand liegt die Spannung 4,4 V. Als weitere Vereinfachung wurde angenommen, dass der differenzielle Eingangswiderstand an der Basis gegenüber der Vorwiderstand von 1 kΩ vernachlässigt werden kann. Der Wechselstromanteil des Basisstroms beträgt dann einfach ut / 1000 Ω.
Public Class frmArbeitspunkt
Dim pixelx, pixely
Dim vt
Dim ugrund, uv
Dim P1 As Point
Dim pz As Point
Dim P2 As Point
Dim stiftl As New Pen(Color.LightGreen, 1)
Dim ui, rb, v
Private Sub VScrollBarU_Scroll(ByVal sender As System.Object, ByVal e AsSystem.Windows.Forms.ScrollEventArgs) Handles VScrollBarU.Scroll
ui = (VScrollBarU.Maximum – VScrollBarU.Value + VScrollBarU.Minimum) * 10 ^ (-3)
lbui.Text = „Ui = “ + Str(ui * 10 ^ 3) + „mVss“
End Sub
Private Sub VScrollBarR_Scroll(ByVal sender As System.Object, ByVal e AsSystem.Windows.Forms.ScrollEventArgs) Handles VScrollBarR.Scroll
rb = (VScrollBarR.Maximum – VScrollBarR.Value + VScrollBarR.Minimum) * 10 ^ 3
lbRb.Text = „Rb_ges = “ + Str(rb * 10 ^ -3) + „k“
End Sub
Private Sub HScrollBarV_Scroll(ByVal sender As System.Object, ByVal e AsSystem.Windows.Forms.ScrollEventArgs) Handles HScrollBarV.Scroll
v = HScrollBarV.Value
lbV.Text = „V = “ + Str(v)
End Sub
Private Sub frmArbeitspunkt_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
ui = (VScrollBarU.Maximum – VScrollBarU.Value + VScrollBarU.Minimum) * 10 ^ (-3)
lbui.Text = „Ui = “ + Str(ui * 10 ^ 3) + „mVss“
rb = (VScrollBarR.Maximum – VScrollBarR.Value + VScrollBarR.Minimum) * 10 ^ 3
lbRb.Text = „Rb_ges = “ + Str(rb / 1000) + „k“
v = HScrollBarV.Value
lbV.Text = „V = “ + Str(v)
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
ZeichnenSin(1, 0, 1, 0.5)
End Sub
Private Sub pSet(ByVal x As Integer, ByVal y As Integer)
P1.X = x
P1.Y = y
pz.X = 1
pz.Y = 1
Dim vsize As New Size(pz)
Dim rect As New Rectangle(P1, vsize)
PictureBox1.CreateGraphics.DrawRectangle(Pens.LightGreen, rect) ‚, P1) ‚, P1)
End Sub
Private Sub Line(ByVal x As Integer, ByVal y As Integer)
P2.X = x
P2.Y = y
PictureBox1.CreateGraphics.DrawLine(stiftl, P1, P2)
P1.X = x
P1.Y = y
End Sub
Private Sub ZeichnenSin(ByVal f As Integer, ByVal u0 As Integer, ByVal umax As Integer, ByVal dime As Double)
Dim xvt, i, ut
Dim ib, ic, uce
‚Gitter zeichnen
If pixelx = 0 Then
For i = 0 To 14
For j = 0 To 11
pSet(5 + (i * 10), (j * 10) + 5)
Next j
Next i
pSet(0, pixely)
End If
‚X Koordinaten +1, mit Reset
pixelx = pixelx + 1
If pixelx >= 150 Then
PictureBox1.Image = Nothing
pixelx = 0
End If
‚Zeit des Sinus
‚Herzangabe Frequenz bei Timer = 20ms
vt = vt + (7.2 * f)
If vt >= 361 Then vt = 0
xvt = Math.PI * vt / 180.0
‚Ut kurz vor Ausgabe. UV muss berechnet werden
ut = u0 + (Math.Sin(xvt)) * ui
‚Berechnung von Uc
ib = 4.4 / rb + ut / 1000
ic = ib * v
uce = 5 – ic * 1000
‚Grenzbereiche
If uce > 5 Then uce = 5
If uce < 0.1 Then uce = 0.1
‚Ausgabe
pixely = 115 – uce * (10 / dime) ‚*20 denn 1 V = 2 Kästchen
If pixely > 115 Then pixely = 115
If pixely < 5 Then pixely = 5
Line(pixelx, pixely)
End Sub
End Class
Download Projektdatei
Wenn Sie nur an der Exe-Datei interessiert sind, befindet sich diese in dem Unterordner \bin\Debug.