Esempio n. 1
0
def calculate_beta(m, vcc):
        col = ColsProxy(m)
        
        col.Ab=uarray((col.Ab,1))
        col.Ac=uarray((col.Ac,1))
        
        
        col.Ub = an2v(col.Ab, vcc)
        col.Uc = an2v(col.Ac, vcc)

        Rout = 20

        pnp = col.polarity == 'PNP'
        npn = col.polarity == 'NPN'

        col.Urb[pnp] = col.Ub[pnp]
        col.Urb[npn] = vcc - col.Ub[npn]

        col.Urc[pnp] = col.Uc[pnp]
        col.Urc[npn] = vcc - col.Uc[npn]

        col.Ib = col.Urb / (col.Rb + Rout)
        col.Ic = col.Urc / (col.Rc + Rout)
        col.Ie = col.Ib + col.Ic
        col.beta = col.Ic / col.Ib[nominal_values(col.Ib) != 0]

        col.Ue[pnp] = vcc - (Rout * col.Ie[pnp])
        col.Ue[npn] = Rout * col.Ie[npn]

        col.Ube[pnp] = -(col.Ub[pnp] - col.Ue[pnp])
        col.Ube[npn] = (col.Ub[npn] - col.Ue[npn])
Esempio n. 2
0
def calculate_beta(m, vcc):
    col = ColsProxy(m)

    col.Ab = uarray((col.Ab, 1))
    col.Ac = uarray((col.Ac, 1))

    col.Ub = an2v(col.Ab, vcc)
    col.Uc = an2v(col.Ac, vcc)

    Rout = 20

    pnp = col.polarity == 'PNP'
    npn = col.polarity == 'NPN'

    col.Urb[pnp] = col.Ub[pnp]
    col.Urb[npn] = vcc - col.Ub[npn]

    col.Urc[pnp] = col.Uc[pnp]
    col.Urc[npn] = vcc - col.Uc[npn]

    col.Ib = col.Urb / (col.Rb + Rout)
    col.Ic = col.Urc / (col.Rc + Rout)
    col.Ie = col.Ib + col.Ic
    col.beta = col.Ic / col.Ib[nominal_values(col.Ib) != 0]

    col.Ue[pnp] = vcc - (Rout * col.Ie[pnp])
    col.Ue[npn] = Rout * col.Ie[npn]

    col.Ube[pnp] = -(col.Ub[pnp] - col.Ue[pnp])
    col.Ube[npn] = (col.Ub[npn] - col.Ue[npn])
Esempio n. 3
0
def calculate_c(A1, A2, R, t1, t2):
    t = t2 - t1
    t = uarray((t, terror))
    A1 = uarray((replace0(A1), 1))
    A2 = uarray((replace0(A2), 1))
    # http://en.wikipedia.org/wiki/RC_circuit
    #    if A1 > 0 and A2 > 0 and R > 0 and A1 != A2:
    c = -t / (R * unumpy.log(A2 / A1))

    return c
Esempio n. 4
0
def calculate_c(A1, A2, R, t1, t2):
    t = t2 - t1
    t = uarray((t, terror))
    A1 = uarray((replace0(A1), 1))
    A2 = uarray((replace0(A2), 1))
    # http://en.wikipedia.org/wiki/RC_circuit
    #    if A1 > 0 and A2 > 0 and R > 0 and A1 != A2:
    c = -t / (R * unumpy.log(A2 / A1))

    return c
Esempio n. 5
0
def calculate_ohm(R, Atop, Amiddle, Abottom, reverse=False):
    Atop = uarray((Atop, 1))
    Amiddle = uarray((Amiddle, 1))
    Abottom = uarray((Abottom, 1))
    a1 = abs(Atop - Amiddle)
    a2 = abs(Amiddle - Abottom)

    if reverse:
#        if nominal_value(a2) < 1:
#            return
        ratio = a1 / a2
    else:
#        if nominal_value(a1) < 1:
#            return
#        print a1, a2
        ratio = a2 / a1
#    print ratio
    Rx = R * ratio
#    Rx -= McuRout
    return Rx
Esempio n. 6
0
def calculate_ohm(R, Atop, Amiddle, Abottom, reverse=False):
    Atop = uarray((Atop, 1))
    Amiddle = uarray((Amiddle, 1))
    Abottom = uarray((Abottom, 1))
    a1 = abs(Atop - Amiddle)
    a2 = abs(Amiddle - Abottom)

    if reverse:
        #        if nominal_value(a2) < 1:
        #            return
        ratio = a1 / a2
    else:
        #        if nominal_value(a1) < 1:
        #            return
        #        print a1, a2
        ratio = a2 / a1
#    print ratio
    Rx = R * ratio
    #    Rx -= McuRout
    return Rx