Public
Edited
Sep 14, 2024
Insert cell
Insert cell
moveTable = ({
speed_mode_T: [1],
motor_steps_T: [1000],
speed_mode_P: [1],
motor_steps_P: [1000],
postpause: [0]
})
Insert cell
Insert cell
Insert cell
config = ({
clock: 18000, // tick frequency in Hz (18000)
pause: 18, // clock ticks per unit of pause (18)
creepStep: 0.1, // deg (0.1)
cruiseRatio: 33, // cruiseStep/creepStep (33)
spinUpDownPeriod: 12, // clock ticks at each increment of creepStep during spin up/down (12)
creepPeriod: 2, // clock ticks per creep step (2)
gearRatio: (46.0/14.0+1)**4, // Namiki "337:1" gear box
scaleCCW: 0.5, // scale correction for CCW (increasing angle) moves
scaleCW: 1, // scale correction for CW (decreasing angle) moves
motorCCWDir: -1, // -1 is normal motor wiring, +1 is reversed
})
Insert cell
plan.getPosition(4)
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
props = ({
armLengthT: 3, // theta arm length in mm (3)
armLengthP: 3, // phi arm length in mm (3)
gearScaleT: 1, // scale correction to theta motor gearing (1)
gearScaleP: 1, // scale correction to phi motor gearing (1)
motorCCWDirP: -1, // phi motor is wired "backwards" when -1
motorCCWDirT: -1, // theta motor is wired "backwards" when -1
})
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more