立创贴片DCDC分压电阻、运放分压电阻计算器
转载自:立创贴片DCDC分压电阻、运放分压电阻计算器 - 立创社区 (szlcsc.com)
#!/usr/bin/python K = 1000 M = 1000000 # 标准电阻表(1%精度) R_VALUES = ( 10, 33, 100, 332, 1*K, 3.32*K, 10.5*K, 34*K, 107*K, 357*K, 10.2, 33.2, 102, 340, 1.02*K, 3.4*K, 10.7*K, 34.8*K, 110*K, 360*K, 10.5, 34, 105, 348, 1.05*K, 3.48*K, 11*K, 35.7*K, 113*K, 365*K, 10.7, 34.8, 107, 350, 1.07*K, 3.57*K, 11.3*K, 36*K, 115*K, 374*K, 11, 35.7, 110, 357, 1.1*K, 3.6*K, 11.5*K, 36.5*K, 118*K, 383*K, 11.3, 36, 113, 360, 1.13*K, 3.65*K, 11.8*K, 37.4*K, 120*K, 390*K, 11.5, 36.5, 115, 365, 1.15*K, 3.74*K, 12*K, 38.3*K, 121*K, 392*K, 11.8, 37.4, 118, 374, 1.18*K, 3.83*K, 12.1*K, 39*K, 124*K, 402*K, 12, 38.3, 120, 383, 1.2*K, 3.9*K, 12.4*K, 39.2*K, 127*K, 412*K, 12.1, 39, 121, 390, 1.21*K, 3.92*K, 12.7*K, 40.2*K, 130*K, 422*K, 12.4, 39.2, 124, 392, 1.24*K, 4.02*K, 13*K, 41.2*K, 133*K, 430*K, 12.7, 40.2, 127, 402, 1.27*K, 4.12*K, 13.3*K, 42.2*K, 137*K, 432*K, 13, 41.2, 130, 412, 1.3*K, 4.22*K, 13.7*K, 43*K, 140*K, 442*K, 13.3, 42.2, 133, 422, 1.33*K, 4.32*K, 14*K, 43.2*K, 143*K, 453*K, 13.7, 43, 137, 430, 1.37*K, 4.42*K, 14.3*K, 44.2*K, 147*K, 464*K, 14, 43.2, 140, 432, 1.4*K, 4.53*K, 14.7*K, 45.3*K, 150*K, 470*K, 14.3, 44.2, 143, 442, 1.43*K, 4.64*K, 15*K, 46.4*K, 154*K, 475*K, 14.7, 45.3, 147, 453, 1.47*K, 4.7*K, 15.4*K, 47*K, 158*K, 487*K, 15, 46.4, 150, 464, 1.5*K, 4.75*K, 15.8*K, 47.5*K, 160*K, 499*K, 15.4, 47, 154, 470, 1.54*K, 4.87*K, 16*K, 48.7*K, 162*K, 511*K, 15.8, 47.5, 158, 475, 1.58*K, 4.99*K, 16.2*K, 49.9*K, 165*K, 523*K, 16, 48.7, 160, 487, 1.6*K, 5.1*K, 16.5*K, 51*K, 169*K, 536*K, 16.2, 49.9, 162, 499, 1.62*K, 5.11*K, 16.9*K, 51.1*K, 174*K, 549*K, 16.5, 51, 165, 510, 1.65*K, 5.23*K, 17.4*K, 52.3*K, 178*K, 560*K, 16.9, 51.1, 169, 511, 1.69*K, 5.36*K, 17.8*K, 53.6*K, 180*K, 562*K, 17.4, 52.3, 174, 523, 1.74*K, 5.49*K, 18*K, 54.9*K, 182*K, 576*K, 17.8, 53.6, 178, 536, 1.78*K, 5.6*K, 18.2*K, 56*K, 187*K, 590*K, 18, 54.9, 180, 549, 1.8*K, 5.62*K, 18.7*K, 56.2*K, 191*K, 604*K, 18.2, 56, 182, 560, 1.82*K, 5.76*K, 19.1*K, 57.6*K, 196*K, 619*K, 18.7, 56.2, 187, 562, 1.87*K, 5.9*K, 19.6*K, 59*K, 200*K, 620*K, 19.1, 57.6, 191, 565, 1.91*K, 6.04*K, 20*K, 60.4*K, 205*K, 634*K, 19.6, 59, 196, 578, 1.96*K, 6.19*K, 20.5*K, 61.9*K, 210*K, 649*K, 20, 60.4, 200, 590, 2*K, 6.2*K, 21*K, 62*K, 215*K, 665*K, 20.5, 61.9, 205, 604, 2.05*K, 6.34*K, 21.5*K, 63.4*K, 220*K, 680*K, 21, 62, 210, 619, 2.1*K, 6.49*K, 22*K, 64.9*K, 221*K, 681*K, 21.5, 63.4, 215, 620, 2.15*K, 6.65*K, 22.1*K, 66.5*K, 226*K, 698*K, 22, 64.9, 220, 634, 2.2*K, 6.8*K, 22.6*K, 68*K, 232*K, 715*K, 22.1, 66.5, 221, 649, 2.21*K, 6.81*K, 23.2*K, 68.1*K, 237*K, 732*K, 22.6, 68, 226, 665, 2.26*K, 6.98*K, 23.7*K, 69.8*K, 240*K, 750*K, 23.2, 68.1, 232, 680, 2.32*K, 7.15*K, 24*K, 71.5*K, 243*K, 768*K, 23.7, 69.8, 237, 681, 2.37*K, 7.32*K, 24.3*K, 73.2*K, 249*K, 787*K, 24, 71.5, 240, 698, 2.4*K, 7.5*K, 24.9*K, 75*K, 255*K, 806*K, 24.3, 73.2, 243, 715, 2.43*K, 7.68*K, 25.5*K, 76.8*K, 261*K, 820*K, 24.7, 75, 249, 732, 2.49*K, 7.87*K, 26.1*K, 78.7*K, 267*K, 825*K, 24.9, 75.5, 255, 750, 2.55*K, 8.06*K, 26.7*K, 80.6*K, 270*K, 845*K, 25.5, 76.8, 261, 768, 2.61*K, 8.2*K, 27*K, 82*K, 274*K, 866*K, 26.1, 78.7, 267, 787, 2.67*K, 8.25*K, 27.4*K, 82.5*K, 280*K, 887*K, 26.7, 80.6, 270, 806, 2.7*K, 8.45*K, 28*K, 84.5*K, 287*K, 909*K, 27, 82, 274, 820, 2.74*K, 8.66*K, 28.7*K, 86.6*K, 294*K, 910*K, 27.4, 82.5, 280, 825, 2.8*K, 8.8*K, 29.4*K, 88.7*K, 300*K, 931*K, 28, 84.5, 287, 845, 2.87*K, 8.87*K, 30*K, 90.9*K, 301*K, 953*K, 28.7, 86.6, 294, 866, 2.94*K, 9.09*K, 30.1*K, 91*K, 309*K, 976*K, 29.4, 88.7, 300, 887, 3.0*K, 9.1*K, 30.9*K, 93.1*K, 316*K, 1.0*M, 30, 90.9, 301, 909, 3.01*K, 9.31*K, 31.6*K, 95.3*K, 324*K, 1.5*M, 30.1, 91, 309, 910, 3.09*K, 9.53*K, 32.4*K, 97.6*K, 330*K, 2.2*M, 30.9, 93.1, 316, 931, 3.16*K, 9.76*K, 33*K, 100*K, 332*K, 31.6, 95.3, 324, 953, 3.24*K, 10*K, 33.2*K, 102*K, 340*K, 32.4, 97.6, 330, 976, 3.3*K, 10.2*K, 33.6*K, 105*K, 348*K) # 参数 Vout = 12 Verror = 0.05 Vref = 1.2 # 电压输出公式 def Vout_calc(R1, R2, ref): return ref * (R1/R2 + 1) # R1电阻的取值范围 R1_VALUES = [] for r in R_VALUES: if r >= 20*K and r <= 150*K: R1_VALUES.append(r) # print(R1_VALUES) # 计算 for r1 in R1_VALUES: for r2 in R_VALUES: v = Vout_calc(r1, r2, Vref) error = abs(v - Vout) if error <= Verror: print("R1 = {}, R2 = {}, Vout = {}".format(r1, r2, v))