40 lines
831 B
Python
40 lines
831 B
Python
#!/usr/bin/python
|
|
|
|
voltage_limit = 11.5
|
|
|
|
def calculate(cabletype, assumed_load, length):
|
|
cable_size = {
|
|
"13": 1.5,
|
|
"16": 2.5,
|
|
"32": 6.0,
|
|
"63": 16,
|
|
"125": 35,
|
|
}
|
|
single_phase = {
|
|
1.5: 31,
|
|
2.5: 19,
|
|
6.0: 7.9,
|
|
16: 2.9,
|
|
}
|
|
three_phase = {
|
|
1.5: 27,
|
|
2.5: 16,
|
|
6.0: 6.8,
|
|
16: 2.5,
|
|
35: 1.1,
|
|
}
|
|
|
|
drop = 0
|
|
if "/3" in cabletype:
|
|
drop = three_phase[cable_size[cabletype[:-2]]]
|
|
else:
|
|
drop = single_phase[cable_size[cabletype]]
|
|
|
|
total_drop = drop * assumed_load * length / 1000
|
|
max_length = (voltage_limit * 1000) / (drop * assumed_load)
|
|
r = total_drop / assumed_load
|
|
pfc = 230 / r
|
|
|
|
#print(f"Estimated PFC is {pfc:.1f}A")
|
|
return drop, total_drop, max_length, pfc
|