54 lines
1.1 KiB
Python
54 lines
1.1 KiB
Python
import matplotlib.pyplot as plt
|
|
import numpy as np
|
|
|
|
plt.style.use('bmh')
|
|
plt.figure(figsize=(8, 3))
|
|
|
|
def gen_48v_theory():
|
|
xdata = np.linspace(43, 53, 100)
|
|
ydata = xdata / 241 * 8 * 1.1
|
|
|
|
plt.clf()
|
|
plt.plot(ydata, xdata)
|
|
|
|
plt.xlabel('V$_{pin}$ / V')
|
|
plt.ylabel('V$_{48V in}$ / V')
|
|
|
|
plt.tight_layout()
|
|
plt.savefig('v48.pdf')
|
|
|
|
def gen_48i_theory():
|
|
xdata = np.linspace(0, 2000/48, 100)
|
|
ydata = xdata * 500e-6 * 8 * 1.1
|
|
|
|
plt.clf()
|
|
plt.plot(ydata, xdata)
|
|
|
|
plt.xlabel('V$_{pin}$ / V')
|
|
plt.ylabel('I$_{48V in}$ / A')
|
|
|
|
plt.tight_layout()
|
|
plt.savefig('i48.pdf')
|
|
|
|
def gen_1v8_theory():
|
|
rpara = 75000
|
|
rseri = 2*4700
|
|
xdata = np.arange(0, 256, 4)
|
|
ydata = (xdata / 256 * 10000)
|
|
ydata = ydata * rpara / (ydata + rpara) + rseri
|
|
ydata = 30100 / (ydata + 6490) * .7 + .7
|
|
|
|
plt.clf()
|
|
plt.plot(xdata, ydata)
|
|
|
|
plt.xlabel("Potentiometer Setting")
|
|
plt.ylabel("V$_{1.8V out}$")
|
|
|
|
plt.tight_layout()
|
|
plt.savefig('v18.pdf')
|
|
|
|
if __name__ == "__main__":
|
|
gen_48v_theory()
|
|
gen_48i_theory()
|
|
gen_1v8_theory()
|