Large Capacity Filter Wheel with Integrated Controller can be controlled directly by sending commands to the built-in controller. The easiest way to try this is by using HyperTerminal, which should be set as follows: 9600 bits/sec., data bits 8, parity none, stop bits 1, flow control Xon/Xoff, select your COM port, in ASCII setup in the Send frame check "Send line ends with line feeds" and check "Echo typed characters locally", and in the Receive frame check "Append line feeds".
The Filter Wheel is typically assigned number 5 (this number can be changed by a rotary switch in the controller). Commands begin with forward slash followed by the controller number and end with "R" and <Enter>. All commands return a string, which does not need to be analyzed except to read the position (see below). The structure of the return string is: start character (/), master address (0), status byte, possibly return information, terminator byte.
We recommend using the following settings and commands:
/5j16h10m95V3000v300L3f0n0R - set microstep=1/16 of a step, hold current 10%, run current 95% of max (2A), slew velocity 3000, initial velocity 300, acceleration/deceleration 3, flag polarity 0, disable limits.
/5gD10S13G0D1gD1S03G0D2R - Faster move to the beginning of the home flag and slower move to the end of the flag, followed by an offset step.
For a 22-position wheel a move to the next position is 145.45 microsteps. Calculation: 200 motor steps * 16 microsteps/step = 3200 microsteps per one full wheel revolution. Division by 22 positions gives 145.45 microsteps per position. Since commands can have only integer number of microsteps, perform calculations in floating point and round. Alternatively precalculate all absolute filter positions in microsteps and move to these positions with the absolute move command.
Relative move in + direction:
/5P145R or /5P146R
Relative move in - direction:
/5D145R or /5D146R
Other useful commands:
"z" command - set current position as zero. This command may cause a slight move of the motor as it moves to the nearest motor pole. Example: /5z0R
"A" command - move to absolute position. Example: /5A12345R (moves to microstep position 12345)
"?" command - read current position. Example: /5?0 ("R" at the end is not needed). This command returns string /0`12345 . (assuming it is performed after the previous "A" command).
For more details on programming see the EZHR17EN command set.