Files
x03da/script/optics/microfocus/ManipulatorFlyScan.py
2023-08-19 11:59:50 +02:00

67 lines
1.4 KiB
Python

"""
Continuous 1D Manipulator scan, Keithley detection only
set manipulator scan parameters below.
the motor speed is determined from the STEP parameter and the step_time.
note that the motors have a limited speed range!
"""
import math
MOTORS = (ManipulatorY)
CENTER = -0.6
WIDTH = 1.
RANGE = (CENTER - WIDTH / 2., CENTER + WIDTH / 2.)
STEP = 0.0010
#MOTORS = (ManipulatorY)
#RANGE = (-3.5, +3.5)
#STEP = 0.1
# Z axis cannot be used in fly scan. minimum speed is too high.
#MOTORS = (ManipulatorZ)
#RANGE = (112., 118.)
#STEP = 0.4
#MOTORS = (ManipulatorTheta)
#RANGE = (-9., 81.)
## minimum speed 0.001, maximum speed 0.5 deg/s
#SPEED = 0.1
#MOTORS = (ManipulatorTilt)
#RANGE = (-20., +20.)
## minimum speed 0.1, maximum speed 1.4 mm/s
#SPEED = 1.0
#MOTORS = (ManipulatorPhi)
#RANGE = (-179., +180.)
## minimum speed 0.6, maximum speed 6.0 mm/s
#SPEED = 1.0
SENSORS = (SampleCurrent, RefCurrent, MachineCurrent)
# --- do not edit below ---
RELATIVE = False
LATENCY = 0.0
ZIGZAG = False
ENDSCAN = False
#adjust_sensors()
#set_adc_averaging()
step_time = 0.1
print "step time: ", step_time
# time for one scan in seconds
SPEED = STEP / step_time
print "speed: ", SPEED
fly_time = (RANGE[1] - RANGE[0]) / SPEED
STEPS = int(fly_time / step_time) + 1
print "scan time: ", fly_time
cscan(MOTORS, SENSORS, RANGE[0], RANGE[1], STEPS, time=fly_time, before_read=before_readout, check_positions = False)