aboutsummaryrefslogtreecommitdiff
path: root/qolab
diff options
context:
space:
mode:
Diffstat (limited to 'qolab')
-rw-r--r--qolab/hardware/power_supply/keysight_e3612a.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/qolab/hardware/power_supply/keysight_e3612a.py b/qolab/hardware/power_supply/keysight_e3612a.py
index 7b1dee2..fc13bc0 100644
--- a/qolab/hardware/power_supply/keysight_e3612a.py
+++ b/qolab/hardware/power_supply/keysight_e3612a.py
@@ -89,11 +89,18 @@ class KeysightE3612A(PowerSupplySCPI):
"""
Tuning Vout to achieve desired Iout.
Generally setting current limit will maintain current near but not exact to desired.
- This function will try to guess the correct Vout value
+ Since Vlimit can be set with good precision,
+ this function will try tune Vlimit until the Idesired is reached.
"""
iDesired = val
self.setChanIlimit(chNum, val+currentHeadRoom)
- # here we assume that hook up is already made, so we can estimate source resistance
+ # Here, we assume that hook up is already made, so we can estimate source resistance
+ # So the protocol is the following:
+ # find R -> calculate required Vout for the desired Idesired
+ # -> set Vlimit to reach desired Vout and Iout
+ # In general, once we estimate resistance of the load + source, we do not need to
+ # anything extra. But there is a problem: for a given Vlimit setting, the actual Vout
+ # is slightly off.
for i in range(10):
iOut=self.getChanIout(chNum)
if abs(iOut-iDesired) <= currentPrecision: