TinyFanControl-Hardware/scripts/calc_dc_voltages.py

36 lines
502 B
Python
Executable File

#!/usr/bin/env python3
import numpy as np
vref = 0.8
def par(*rlist):
s = 0
for r in rlist:
s += 1 / r
return 1 / s
Rt = 18e3
Ra = 2.2e3
Rb = 4.7e3
Rc = 10e3
Rd = 22e3
Rs = [Ra, Rb, Rc, Rd]
Rbs = []
for i in range(1, 2**len(Rs)):
rlist = []
for k in range(len(Rs)):
if i & (1 << k):
rlist.append(Rs[k])
Rbs.append(par(*rlist))
Rbs = np.array(Rbs)
vouts = vref * (Rbs + Rt) / Rbs
for vout in sorted(list(vouts)):
print(f"{vout:6.2f} V")