When setting both DAC0 and DAC1 to 2.5V and clicking Write Values, DAC0 drops to 2.4999 while DAC1 stays at 2.5000. But every Write Values click after that decrments DAC1 by 100uV; DAC0 stays at 2.4999.
Curious...
Posted 13 April 2015 - 11:21 AM
When setting both DAC0 and DAC1 to 2.5V and clicking Write Values, DAC0 drops to 2.4999 while DAC1 stays at 2.5000. But every Write Values click after that decrments DAC1 by 100uV; DAC0 stays at 2.4999.
Curious...
Posted 13 April 2015 - 12:29 PM
I assume you are talking about setting the DACs in the Defaults panel of LJControlPanel. The DAC changes you are seeing are due to the back and forth conversions between the binary DAC voltage value stored on U6 and the decimal voltage value (slope/offset conversion on the binary DAC voltage) calculated in the driver/LJControlPanel. DAC0 and DAC1 have separate calibration constants (slope/offsets) so these changes differ between them. When you click "Write Values", the binary voltage is calculated and sent to the U6, then based on the binary value the Defaults panel's DAC values are updated. When you click "Write Value" again, the process is done again on the current value.
A quick math example with the calibrated DAC0 slope/offset of 13255.2526 / 63.6608 (note these values will differ on your U6):
Write 1 (2.5 V):
binary value = (2.5000 * 13255.2526) + 63.6608 = 33138
updated value in Defaults panel = (33138 - 63.6608) / 13255.2526 = 2.4951 V
Write 2 (2.4951):
binary value = (2.4951 * 13255.2526) + 63.6608 = 33136
updated value in Defaults panel = (33136 - 63.6608) / 13255.2526 = 2.4950 V
Write 3 (2.4950):
...
The above calculations are 4 decimal places for simplicity. The driver/LJControlPanel uses 64-bit doubles for converted voltages, and the stored DAC binary value is 16-bit.
Posted 14 April 2015 - 04:56 AM
I figured as much, once I thought about it. Just caught me off guard. Thanks for the detailed explanation.
0 members, 0 guests, 0 anonymous users