Arbeitspunkt Emitterschaltung – VB.Net Beispiele

Arbeitsp1

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 Ω.

Quelltext

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

[collapse]

Download Projektdatei

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