Add py script for voltage drop calcs
This commit is contained in:
49
power_calcs.py
Normal file
49
power_calcs.py
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
import sys
|
||||||
|
|
||||||
|
cabletype = sys.argv[1]
|
||||||
|
voltage_limit = 11.5
|
||||||
|
|
||||||
|
cable_size = {
|
||||||
|
"13": 1.5,
|
||||||
|
"16": 2.5,
|
||||||
|
"32": 6.0,
|
||||||
|
"63": 16,
|
||||||
|
}
|
||||||
|
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,
|
||||||
|
}
|
||||||
|
|
||||||
|
drop = 0
|
||||||
|
if "/3" in cabletype:
|
||||||
|
drop = three_phase[cable_size[cabletype[:-2]]]
|
||||||
|
else:
|
||||||
|
drop = single_phase[cable_size[cabletype]]
|
||||||
|
|
||||||
|
print("Voltage Drop (per ampere per metre): {}mV/A/m".format(drop))
|
||||||
|
|
||||||
|
assumed_load = int(sys.argv[2])
|
||||||
|
length = int(sys.argv[3])
|
||||||
|
|
||||||
|
total_drop = drop * assumed_load * length / 1000
|
||||||
|
|
||||||
|
print("Total drop at {}A over {}m is: {}V".format(assumed_load, length, total_drop))
|
||||||
|
if total_drop > voltage_limit:
|
||||||
|
print("FAILED: VOLTAGE DROP TOO HIGH")
|
||||||
|
max_length = (voltage_limit * 1000) / (drop * assumed_load)
|
||||||
|
print("Maximum length of cable at this load: {}m".format(int(max_length)))
|
||||||
|
|
||||||
|
r = total_drop / assumed_load
|
||||||
|
pfc = 230 / r
|
||||||
|
|
||||||
|
print("Estimated PFC is {:.1f}A".format(pfc))
|
||||||
Reference in New Issue
Block a user