In this example we’ll calculate the power dissipation of a 1 kΩ resistor with a constant current of 30 mA flowing through it, using our science and engineering Python library UliEngineering.
In order to install UliEngineering (a Python3-only library), run
sudo pip3 install -U UliEngineering
Now we can compute the resistor power dissipation using power_dissipated_in_resistor_by_current()
from UliEngineering.EngineerIO import auto_print from UliEngineering.Electronics.Resistors import * # Just compute the value: power = power_dissipated_in_resistor_by_current("1 kΩ", "30 mA") # power = 0.9 # Print value: prints: prints "900 mW" auto_print(power_dissipated_in_resistor_by_current, "1 kΩ", "30 mA")
Since the result is 900 mW
, you can deduce that you need to use a resistor with a power rating of at least one Watt.
Note that you can pass both numbers (like 0.03
) or strings (like 30 mA
or 0.03 A
) to most UliEngineering functions. SI prefixes like k
and M
are automatically decoded
If you know the voltage across the resistor, you can use power_dissipated_in_resistor_by_voltage()
. Let’s assume there is 1V
dropped across the resistor:
from UliEngineering.EngineerIO import auto_print from UliEngineering.Electronics.Resistors import * # Just compute the value: power = power_dissipated_in_resistor_by_voltage("1 kΩ", "30 mA") # power = 0.001 # Print value: prints: prints "1.00 mW" auto_print(power_dissipated_in_resistor_by_voltage, "1 kΩ", "30 mA")
So in this case the power dissipation is extremely low – only 1.00 mW
– and won’t matter for most practical applications.
In many cases, you can also pass NumPy arrays to UliEngineering functions:
from UliEngineering.EngineerIO import format_value from UliEngineering.Electronics.Resistors import * import numpy as np # Compute the value: resistors = np.asarray([100, 500, 1000]) # 100 Ω, 500 Ω, 1 kΩ power = power_dissipated_in_resistor_by_voltage(resistors, "30 mA") # power = 0.001 # power = [9.0e-06 1.8e-06 9.0e-07]