forked from asteine8/FU630Driver
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ConversionFunctions.py
29 lines (24 loc) · 1.22 KB
/
ConversionFunctions.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import math
def TTLVoltageToOpPower(voltage):
# Function to convert measured ttl voltage (volts) to optical power (mW)
if voltage > 3.0138:
return 94.8 # Function fails to model higher voltages
else:
return 481*voltage - 630 - 79.8*(voltage**2) # Apply modeling function
def OpPowerToTTLVoltage(power):
# Function to convert measured optical power (mW) to ttl voltage (volts)
if power > 94.8:
return 3 # Function does not model for optical power above 94.8 mW
else:
return 0.00626566*(481-0.447214*math.sqrt(151325-1596*power)) # Apply modeling function
def PowerOverVoltageSlopeAtPower(power):
# Returns the slope of power over voltage at a point defined by optical power
voltage = OpPowerToTTLVoltage(power)
return 481 - 159.6 * voltage
def PhotodiodeVoltageToCurrent(voltage, shuntResistance):
# Function to convert a measured voltage (volts) to current (mA) given the shunt resitance
return 1000 * voltage / shuntResistance
def PhotodiodeVoltageToOpPower(voltage, shuntResistance):
# Function to convert measured photodiode voltage (volts) to optical power (mW)
current = PhotodiodeVoltageToCurrent(voltage, shuntResistance)
return 117 * current + 0.275