User Tools

Site Tools


fw_1000

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
fw_1000 [2018/08/09 08:55] – [Adjusting the Filter Offset] jonfw_1000 [2023/04/03 13:48] (current) – [Warnings] brandon
Line 1: Line 1:
 +====== FW-1000 Filter Wheel Manual ======
  
 +<WRAP center round info 60%>
 +The Filter Wheel Drive Card is available in two configurations, as part of the TG-1000 Tiger Controller or as a Standalone FW-1000-SA unit.
 +Operation is identical except for the save settings command, see [[fw_1000#RAM Save / RAM Write|RAM Save/RAM Write]].
 +</WRAP>
 +
 +===== Warnings =====
 +  - Ensure power switch is in the OFF position before plugging in the power cord.
 +  - Do not unplug or plug-in devices or cables when the power is on.
 +  - Do not open the unit, there are no user serviceable parts inside.
 +  - Do not insert hand or non-isolated tools into control box even with power off, stored charge on capacitors could result in personal electrical shock or damaging of electrical components if contact is made to the internal circuit boards.
 +  - Do not insert fingers or other items into the filter wheel filter opening while the unit is in operation, injury and/or permanent damage to the system may occur.
 +  - Do not position equipment so that it is difficult to access the power switch.
 +  - In the event of device failure, contact ASI.
 +
 +===== Description =====
 +
 +==== FW-1000 Filter Wheel ====
 +
 +The FW-1000 uses a unique drive mechanism to achieve the lowest vibration possible when rotating to different filter positions. The dynamic balancing requires a powerful servo motor with precise control in order to obtain simultaneously fast switching speeds and low vibration.  
 +
 +The filter wheel controller allows for flexible control of one or two filter wheels, either with serial RS-232 commands, or using TTL triggers and preprogrammed sequences.
 +
 +The filter wheel can be mounted on just about any microscope. For the photo port, the filter wheel occupies the space allotted for the C-mount adapter on the microscope. An optional C-mount flange is mounted on the motor side of the wheel and the appropriate optional photo port adapter for the microscope is mounted on the other side. For an excitation filter, optional microscope specific lamp adapters are provided.
 +
 +==== Legacy Devices ====
 +
 +The original stand alone controller and Shutter Control Box are no longer supported.
 +
 +If you don't see your device on this page, please check the [[fw_1000_old|Old FW-1000 Control Box Manual]].
 +
 +===== FW-1000-SA Control Box =====
 +
 +{{ :fw-1000-sa_a-1000x430.jpg?nolink&800 |}}
 +
 +The FW-1000-SA Stand Alone Control Box provides a simplified and economical unit that only provides control for one or two filter wheels. It can simultaneously move both wheels to the next set of filter positions. And it can be controlled by pressing the next button, using TTL triggering, or sending serial commands. 
 +
 +You can use either USB or an RS-232 cable to send serial commands to the FW-1000-SA from the host computer.
 +
 +The stand alone unit uses the ''GTS120A24-R7B'' external power supply.
 +
 +==== Electrical Characteristics for FW-1000-SA Control Box  ====
 +
 +   GTS120A24-R7B:
 +   AC Input:  100-240 VAC, 47-63Hz, 1.4A/115VAC  0.7A/230VAC
 +   AC In-rush Current (Cold Start):  35/115AC   70A/230VAC
 +   Working Temp: -30 ~70C
 +   Working Humidity:20%-90% RH non-condensing
 +   DC Output: 24V 5.0A 120W MAX
 +
 +
 +**Controller Box Power Connector Pinout**
 +
 +  Pin 1:+24V
 +  Pin 2:GND
 +  Pin 3:GND
 +  Pin 4:+24V
 +
 +**Controller Box Fuse Replacement:** 
 +5.0 A Fast Blow 250 VAC, 5x20mm
 +
 +
 +==== FW-1000-SA Front Panel / Filter Wheel Control Panel ====
 +
 +[{{ :fw-1000-sa.jpg?direct&600 |FW-1000-SA front panel}}]
 +
 +[{{ fw1000_5_.jpg?direct&600 |Tiger FW card front panel}}]
 +
 +The FW-1000 Filter Wheel Control Panel provides control for two filter wheels, ''W0'' and ''W1''. The filter wheels are connected to the controller via the ''W0'' and ''W1'' DB-9 Male Connectors on the front panel. Upon power up, any connected wheel will attempt to locate its HOME position and, if successful, its corresponding LED seven-segment display will indicate the wheel position. If no wheel is detected, the display digit will remain off. In the event of an unrecoverable error, the display will show the letter ''"E"''.
 +
 +== NEXT Button ==
 +
 +Each press of the NEXT button advances the filter wheel(s) to the next pre-programmed filter position(s). In the event of an error, i.e., when an ''"E"'' is displayed on the LED seven-segment display, holding the NEXT button down for 3 seconds will initiate a system reset. Holding the NEXT button down for more than 6 seconds will initiate a programmed sequence – equivalent to the serial ST command.
 +
 +== TRIG IN / SYNC OUT ==
 +
 +A TTL input may be connected to the TRIG IN BNC Connector for triggered sequencing of the filter wheel(s). The SYNC OUT BNC Connector provides a TTL pulse as soon as the wheel(s) reach the commanded position(s). The SYNC OUT also provides flexible synchronization pulses when using the filter wheel in the Spin/SYNC mode of operation. 
 +
 +
 +== RS-232 ==
 + 
 +A RS-232 DB-9 Female Connector may be connected to a host computer with a null modem cable for programming or controlling the FW-1000 card. The baud rate limited to 9600. 
 + 
 +== USB ==
 +
 +The FW-1000-SA has a USB to UART Bridge Virtual COM chip onboard, it lets user send serial commands over USB. The baud rate limited to 9600. 
 +
 +<WRAP center round download 70%>
 +Download the [[https://www.asiimaging.com/support/downloads/usb-support-on-ms-2000-wk-controllers/|Silicon Labs drivers]] to connect to the FW-1000-SA stand alone controller.
 +</WRAP>
 +
 +===== Installation =====
 +
 +==== Installation of Filters ====
 +
 +**Older Systems:**
 +Filters should be loaded into the wheel prior to installation on the microscope. For older systems, change the filters through the port on the side opposite the motor on older models with a split ring (shown in picture below). When correctly tightened, the threads and split-ring lock the filter securely in place.  When removing, you can use a toothpick to “pop” the ring out of the threads and then spin the ring out.
 +
 +{{ fw1000_8_.jpg?direct&200 |}}
 +
 +
 +
 +**Current Systems:**
 +For current filter wheels, use the side loading port by loosening the thumbnail lock screw to remove the slide door tab.   Use the ring load tool (see image below) by inserting the two tool pins (on the flat bottom) into the two slots on the rings, and press the ring firmly on to the ring tool.  Then use the ring tool to screw the ring in to firmly hold the optical filter glass or blank in place.   Depending on the microscope, it may be necessary to remove the filter wheel from the system to have access to the filter holders.
 +
 +
 +{{ :fw_w_ring_tool.jpg?nolink&400 |}}
 +
 +
 +The correct orientation / direction of the filter when installing it in place; most filter manufacturers inscribe an arrow that points in the direction the photons are expected to travel.
 +
 +==== Loading the wheel for minimum vibration and switching impulse ====
 +
 +The ASI system is designed to work smoothly with the wheel fully loaded with filters.  However, absolute minimum switching impulse will occur when the wheel is loaded with four 3mm thick filters (total filter mass about 17gm). For best results, attempt to maintain a balanced wheel. The filters and slugs should be distributed evenly about the wheel axis to keep second order vibration minimized.  For the fastest two color switching, place the two filters to be used in positions zero and one, and balance the wheel with filters or slugs in positions four and five.  Bear in mind that any cumulative indexing errors that may occur are corrected whenever the wheel turns between the zero and one position.  Hence, it is desirable to load commonly used filters in these positions so that the correction will naturally take place regularly.
 + 
 +==== Installation of Adapters ====
 +
 +Attach the filter wheel to the microscope using the mounting adapters supplied for your installation.  The motor side on the filter wheel is located away from the microscope body for most installations.  Attach the camera, detector, or lamp housing to the adapter on the motor side of the filter wheel.
 +== Emission Installations ==
 +
 +[{{ fw1000_9_.jpg?direct&300 |Camera orientation adjustment on C-Mount}}]
 +
 +In emission applications, the filter wheel is mounted between the photoport of the microscope and the camera.  If you ordered your filter wheel for this application, an adapter specific to your microscope will be installed on one side of the filter wheel case. This adapter would mate with a photoport on your microscope.  A male C-mount adapter shown in figure 3 will be installed on other side of the filter wheel case to mount a camera.  The stainless steel portion of the C-mount adapter can be rotated to correctly position the camera.  To rotate the C-mount adapter, use the 0.05” Allen wrench to loosen two of the three setscrews as shown in figure 3.  After correctly positioning the camera, re-tighten these setscrews.
 +
 +== Excitation Installations ==
 +
 +[{{ fw1000_10_.jpg?direct&300 |Excitation Installation}}]
 +
 +As shown in above figure, the filter wheel may be mounted between the lamp housing and the microscope lamp housing port to control the excitation wavelength.
 +
 +<WRAP center round important 60%>
 +WARNING:  When using the filter wheel in this manner, a heat filter must be installed between the lamp housing and the filter wheel or damage to the wheel will occur.  If your lamp housing does not have a heat filter built into it, a heat filter must be ordered from ASI.  This filter will be installed between the lamp housing adapter and the wheel.
 +
 +</WRAP>
 +
 +==== Installation of Cables ====
 + 
 +=== FW-1000-SA ===
 +
 +Ensure the power switch is in the off position (O). Plug the AC power cord into stand along power supply.  Plug the 4 pin connector from the stand alone power supply into the back of the controller. Attach the cable between the filter wheel and the controller. Connect the RS-232 Null Modem serial cable OR the USB cable between the computer and the controller. Attach optional TTL cables to Trig In or Trig Out. Once all cables are secure, turn the power on by moving the power switch to the ON position (-).
 +
 +{{ :fw_000_sa_front_cable_connections.png?direct&400 |}}
 +
 +===== FW-1000 Operation and Programming =====
 +
 +==== Quick Start Procedure ====
 +
 +Before installation on the microscope – check out the basic operation of the filter wheel and load your desired filters.  The following Quick Start Procedure will walk you through these steps.
 +
 +Plug the controller into an AC outlet and connect the filter wheel to the “W0” connector on the controller with the cable provided.  Power up the filter wheel.  Upon initialization, the wheel(s) will rotate to HOME.
 +
 +==== Communicating with the FW-1000-SA filter wheel controller ====
 +
 +For the FW-1000-SA stand alone filter wheel controller, the RS-232 serial port is used for communication. The serial port also provides direct control of the filter wheel(s) as well as diagnostic information. Connect the provided "Null Modem" serial cable from the COM port on the computer to the RS-232 connector on the front panel of the FW-1000 controller. You can also use a USB cable to connect to the controller (the recommended way).
 +
 +<WRAP center round download 70%>
 +You can use [[http://www.asiimaging.com/support/downloads/asi-console/|ASI Console]] to connect to the stand alone filter wheel controller.
 +</WRAP>
 +
 +The FW-1000-SA controller uses the following RS-232 communication settings, set up your serial terminal program accordingly.
 +
 +<WRAP center round info 70%>
 +Default Serial Settings: 9600 Baud Rate, 8 Data Bits, No Parity, 1 Stop Bit, No Flow Control
 +</WRAP>
 +
 +==== Communicating with Tiger Controller filter wheel card ====
 +
 +In the TG-1000 Tiger controller, the filter wheel control card is treated mostly as any other card.
 +
 +Connect to the Tiger controller as you normally would, see [[tech_note_rs232_comm|Tiger RS-232 Communication]].
 +
 +<WRAP center round download 70%>
 +You can use [[tiger_control_panel|Tiger Control Panel]] to connect to the Tiger controller and communicate with the TGFW card.
 +</WRAP>
 +
 +The TGFW card uses the following RS-232 communication settings, set up your serial terminal program accordingly.
 +
 +<WRAP center round info 70%>
 +Default Serial Settings: 115200 Baud Rate, 8 Data Bits, No Parity, 1 Stop Bit, No Flow Control
 +</WRAP>
 +
 +**Note that the filter wheel has a different line termination than all other Tiger cards.**  Serial commands to the filter wheel should be terminated by \r\n (<CR><EOL>) whereas the order is reversed for Tiger and MS2000 controllers.  Note that the command set is also completely different from the Tiger and MS2000 controllers.  If you are using Micro-Manager there is a property in the comm card to set the correct setting for any manual commands sent.
 +
 +=== Operation ===
 +
 +When the controller is turned on, the following messages should be displayed in your serial terminal:
 +
 +<WRAP group>
 +<WRAP half column>
 +<asi>RESET
 +MOTOR 1 NOT RESPONDING  
 +0></asi>
 +</WRAP>
 +
 +<WRAP half column>
 +\\ Power up initialization \\
 +Printed when only one Filter Wheel is attached \\
 +Command Prompt
 +</WRAP>
 +</WRAP>
 +
 +
 +
 +The ''W0'' digit of the numeric display on the controller should read '' 0 '', corresponding to the HOME position of the filter wheel.  The '' W1 '' digit should remain off if only one wheel is attached.
 +
 +Try a few of the following commands; what you send is shown in this <wrap cmd> TYPESET </wrap> ; Controller printout is shown in this <wrap reply> TYPESET </wrap>
 +
 +<wrap reply> 0><wrap cmd> MP n </wrap>  n </wrap> Move wheel “0” to filter position n, where n is any valid filter position.
 +
 +<wrap reply> 0><wrap cmd> HO </wrap> </wrap> Cause the wheel(s) to seek HOME
 +
 +<wrap reply> 0><wrap cmd> P1 </wrap>  1 </wrap> Read the value of  P1 (the second programmed filter position). Control indicates P1 for wheel “0” is set to 1
 +
 +<wrap reply> 0><wrap cmd> P1 3</wrap>   3 </wrap> Set the P1 value for wheel “0” to position 3. Control indicates P1 for wheel “0” is set to 3
 +
 +<wrap reply> 0><wrap cmd> ST </wrap> </wrap> Start a pre-programmed, timed move sequence.  
 +
 +<wrap reply> 0><wrap cmd> HA </wrap> </wrap> Halt the move sequence
 +
 +<wrap reply> 0><wrap cmd> JK </wrap>  ERR </wrap> Invalid command <wrap cmd> JK </wrap> returns<wrap reply>  ERR </wrap> string.
 +
 +Press the ''Next'' button on the controller.  The wheel(s) will advance to the next position of pre-programmed sequence each time the button is pressed.
 +
 +If you have more than one filter wheel attached to the controller, change the active wheel with:
 +
 +<wrap reply> 0><wrap cmd> FW 1 </wrap>  1 </wrap> Now all input will refer to wheel “1” where appropriate
 +
 +<wrap reply> 1> </wrap> The prompt indicates your commands are directed to wheel “1”
 +
 +See the command list at the end of this manual for a complete description of the FW-1000 command set.  Note there is one command that is different in TG-1000 than for other controllers, RAM Save / RAM Write.
 +
 +
 +
 +==== Programmed Sequences ====
 +
 +
 +The FW-1000 controller allows you to set up a series of filter positions that can be repeatedly sequenced in the order you desire.  The sequence may be run with pre-set delays, with the front panel button, or with a TTL pulse connected to the front panel BNC connector.  Alternatively, you may move both wheels to a pre-programmed position with the serial command, <wrap cmd> Gn </wrap>, where n is the desired protocol position number.
 +
 +Presently you may program up to 8 filter wheel positions for each wheel.  You may also program a delay value for each step.  The delay is used only when executing a time sequence using the ST (Start) serial command, and does not affect TTL-commanded sequencing.  The wheel(s) will move to each programmed position in turn.  The sequence will restart at the P0 position following the last position command (Pn) whose position for both wheels was not “-1”.  Initially, all programmed wheel positions are set to -1 except for P0 and P1 which are set to HOME (0) and to Position 1, respectively, for each wheel.  The delay values are initialized with a value of 500 milliseconds for all positions.
 +
 +The table below illustrates an example program sequence of five positions:
 +
 +^Command ^Delay ^Command ^Wheel 0 ^Wheel 1 ^
 +|D0 |500 |P0 |0 |0       |
 +|D1 |500 |P1 |1 |1       |
 +|D2 |500 |P2 |2 |1       |
 +|D3 |500 |P3 |2 |4       |
 +|D4 |500 |P4 |3 |0       |
 +|D5 |500 |P5 |-1 |-1      |
 +|D6 |500 |P6 |-1 |-1      |
 +|D7 |500 |P7 |-1 |-1      |
 +
 +In this example, the P2, P3, and P4 positions for wheel 0 are changed to positions 2, 2, and 3 respectively.  The P2, P3, and P4 positions for wheel 1 are changed to positions 1, 4, and 0 respectively.  For successive TTL pulses (or button pushes) the wheels will advance as follows:
 +
 +^Pulse # ^Wheel 0 Position ^Wheel 1 Position ^
 +| |0 |0                 |
 +|1 |1 |1                 |
 +|2 |2 |1                 |
 +|3 |2 |4                 |
 +|4 |3 |0                 |
 +|5 |0 |0                 |
 +|6 |1 |1                 |
 +|7 |2 |1                 |
 +|Etc.|Etc. |Etc.          |
 +If you were to issue the serial command <wrap cmd> G4 </wrap> with the set-up above, the controller will move the wheels to the “P4” protocol position (i.e. Wheel 0, position 3 and Wheel 1, position 0).  A subsequent TTL trigger would advance to P0 (i.e. Wheel 0, position 0 and Wheel 1, position 0).
 +
 +If the serial command <wrap cmd> ST </wrap> is issued, the wheels will advance from position to position with 500 ms delays between moves, moving continuously until the <wrap cmd> HA </wrap> command.
 +
 +Note:  There is a HOME index on the encoder wheel located between the HOME (0) and the first (1) filter position.  Each time the wheel passes this point, the position encoders are readjusted if necessary.  This ensures that the wheel does not drift off its indexed position after many successive filter changes.  The user should implement protocols that move the wheel across the index position (between positions 0 and 1) at least once in the course of the protocol cycle to ensure that the wheel does not drift from the indexed positions.  The wheel will move the minimum distance between positions, so filter changes between the following positions will re-index the wheel:  0&1, 0&2, 0&3, 0&4, 7&1, 7&2, 6&1.  Hence, it is recommended that you place your most commonly used filters in the HOME (0), 1, 2 and 7 positions.
 + 
 +==== Adjusting the Wheel Switching Speed ====
 +
 +The FW-1000 controller is shipped with default speed settings that yield modest switching speeds and fairly smooth operation.  Typical adjacent-filter switching time is about 60 milliseconds as shipped.  The user has full control of the motion control parameters to affect faster switching speeds if desired, or slower speeds for even less vibration if that is necessary.
 +
 +Establish communication with a host computer so you can program the controller.  Issue the command <wrap cmd> VB 2 </wrap>  This sets the verbose mode so that switching time, total move time, and maximum errors during move and settling are displayed following a move.  Now if you issue a move command, following its completion, you will see the status line telling how long the move took.
 +
 +<wrap reply> 0><wrap cmd> HO </wrap> </wrap> HOME the wheel – should be at position 0 \\
 +<wrap reply> 0><wrap cmd> VB 2 </wrap> </wrap> Set controller to Verbose mode 2. \\
 +<wrap reply> 0><wrap cmd> MP 1 </wrap> </wrap> Move to position 1 \\
 +<wrap reply> 0>t:68 T:129 Em:10 Ef:-11 </wrap>
 +
 +The line above shows that is took 68 milliseconds to get to position, and 129 milliseconds before all motors were completely turned off.  <wrap cmd> Em </wrap> and <wrap cmd> Ef </wrap> show the maximum trajectory errors (in encoder counts) during the move into position, and during the settling period respectively.
 +
 +You can change the run velocity <wrap cmd> VR </wrap>, the up and down acceleration, <wrap cmd> AU </wrap> and <wrap cmd> AD </wrap>, or the servo motion parameters to affect the speed changes you desire (see page 32).  You can see how your changes affect the switching speed and move errors when you make test moves.  Once you are satisfied with your changes, you can save the settings to non-volatile (flash) memory with the serial command <wrap cmd> RS </wrap> Afterwards, each time you power up the controller, your settings will be used.
 +
 +If you try to use settings that are beyond the capability of the motor and the controller to follow, you will get errors when a move is initiated.  Under these circumstances, change the offending parameter to a more reasonable value, HOme the wheel to clear the error condition, and try again.
 +
 +Rather than setting all of the motion control parameters yourself, you may also use one of the preset combinations using the <wrap cmd> SV </wrap> command.  The chart below shows typical switching times for the filter wheel for each of the nine presets available with the SV command.  The graph shows both the time to obtain a clear aperture (CLEAR) and the time before the motors have completed motion (OFF).  Times for switching to an adjacent position and the time for the longest possible move are shown.  The effect of the number of filters loaded in the wheel shows up as a slightly longer settling time when the fastest switching speeds are used.  
 +
 +{{ fw1000_1_.gif?direct&300 |}} 
 +
 +The user can expect significantly longer lifetime from the friction drive elements in the filter wheel if slower speeds are used.  Running for extended periods of time with SV=8 or 9 may cause errors and overheating of the driver.  The table below shows the values of the AU, AD, VR and KA parameters that are set for the various SV values.  The filter wheel default parameters are equivalent to SV=5, shown in bold.   
 +
 +^SV= ^1 ^2 ^3 ^4 ^5 ^6 ^7 ^8 ^9          ^
 +^AU |10 |20 |50 |100 |150 | 200 | 300 | 400 | 500     |
 +^AD |10 |20 |50 |100 |150 | 150 | 150 | 200 | 250     |
 +^VR |1000 |2000 |3000 |3000 |3000 |3600 |4000 |4000 |5000       |
 +^KA |5 |15 |35 |35 |35 |35 |35 |35 |35         |
 + 
 +==== Adjusting the Filter Offset ====
 +
 +
 +The controller normally leaves the factory with the correct offset programmed into the controller for the wheel purchased.  If you are using a different wheel or the correct offset is no longer programmed into the controller, you can use the following steps to reset it correctly.
 +
 +  - Set up the wheel so that the filters can be observed in the aperture in the housing.
 +  - Set up serial communications to the controller and verify operation.  If you have two wheels send <wrap cmd>FW 0</wrap> or <wrap cmd>FW 1</wrap> to select the desired wheel.
 +  - Issue the <wrap cmd>OF</wrap> command (without a number) to see the present offset setting.
 +  - Issue the <wrap cmd>HO</wrap> command to Home the wheel.
 +  - Note whether the filter at position zero is centered in the housing aperture.  If so, you are almost done and skip to the RAM save step (Step 8).
 +  - Often the offset value will be written on the label, if so start with that value as your guess.  Otherwise, make a guess at the correct value for the offset between 1 and 128 for 8 position wheel and 1-170 for 6 position wheel.  Adjust your guess based upon your last try.  Issue the offset command with your guess; e.g. <wrap cmd>OF 65</wrap>
 +  - Issue the <wrap cmd>HO</wrap> command to Home the wheel and go to Step 5.
 +  - Assuming you've changed the <wrap cmd>OF</wrap> setting, issue the RAM Save command to save your setting to flash memory.  For stand-alone filter wheels the command is <wrap cmd>RS</wrap> but on TG-1000 "Tiger" controllers it is <wrap cmd>RW</wrap>.
 +  - Turn the controller off – Wait a few seconds and turn the controller back on.  The wheel should “Home” upon power–up and filter “0” should be centered in the housing aperture.
 +
 +==== Spin/Sync Operation ====
 +
 +In some applications the user may wish to continuously spin the filter wheels to obtain relatively rapid switching of filter sets.  For instance, with an 8 position filter wheel, filled with alternating 340nm and 380nm filters, switching speeds of about 10ms between filters is possible for calcium ratio experiments.  The filter wheel has flexible sync pulse output that can be used to trigger data acquisitions synchronized with the filters reaching alignment.  This provides a relatively inexpensive and simple way of achieving fast switching times for applications such as ratio imaging or photometry.  The following serial commands are applicable to spin/sync operation:
 +
 +<wrap cmd> VR </wrap> Sets rotation speed in encoder counts/sec.  (One turn is 1024 counts) \\
 +<wrap cmd> SF </wrap> Starts or stops the wheel spinning. \\
 +<wrap cmd> NP </wrap> Specifies the number of sync pulses per revolution of the wheel. \\
 +<wrap cmd> PH </wrap> Specifies the relative phase of the sync pulses. \\
 +<wrap cmd> PL </wrap> Specifies the duration of the sync pulses. \\
 +
 +See the programming manual section for details of these commands.
 +A simple way to verify operation of the spin/sync mode of operation is to use the SYNC output to power a LED light source.  Properly adjusted, the LED should appear illuminated when viewed through the rotating wheel.  The phase and pulse length of the sync pulse can be changed while the wheel is spinning so optimal timing can be verified.  Observing the LED near the edges of the aperture can check for bleed-through from adjacent positions.  Once the LED is observed cleanly in the aperture without any bleed through around the edges, the phase and pulse length parameters can be saved and the sync pulse will serve as the sampling gate for the detector.
 +
 +===== Firmware Upgrades =====
 +
 +The FW-1000 controller can be remotely upgraded to the most recent firmware available. 
 +
 +The FW-1000-SA stand alone controller uses [[http://www.asiimaging.com/support/downloads/asi-console/|ASI Console]] to update firmware.
 +
 +The Tiger-based filter wheel uses [[https://www.asiimaging.com/support/downloads/tiger-controller-console//|Tiger Controller Console]] to update firmware.
 +
 +Please contact ASI if you're interested in upgrading your firmware, the [[http://www.asiimaging.com/|ASI website]] has a contact page.
 +
 +===== Error Conditions =====
 +
 +Servo or encoder error conditions are reported on the RS-232 port. Usually intermittent errors can be ignored. When unrecoverable motion errors occur, the motors will be turned off and the error condition will be indicated by an <wrap cmd> E </wrap> on the LED display. This condition can be cleared by pressing the NEXT button to reset the controller, or by sending a HOME command to the offending motor.
 +
 +The temperature of the driver transistors is monitored as well. If overheating occurs, the motors will be turned off and an <wrap cmd> H </wrap> will be displayed on the LED seven-segment display.
 +
 +===== Filter Wheel Error Codes =====
 +
 +A list of recent errors are available through the [[fw_1000#dump_errors|Dump Errors (DE)]] command.
 +
 +^ Error Codes                                                                           |||
 +^ Name             ^ Number  ^ Notes                                                      ^
 +| OVERSHOT         | 10      | Plus axis number.                                          |
 +| DRIVER_HOT       | 25      |                                                            |
 +| RUN_AWAY         | 30      | Plus axis number, followed by mode. See mode table below.  |
 +| LARGE_OVERFLOW   | 50      | Plus axis number.                                          |
 +| SLIP_ERROR       | 70      | Plus axis number.                                          |
 +| PAST_ERROR       | 80      | Plus axis number.                                          |
 +| ERROR_OVERFLOW   | 90      | Plus axis number.                                          |
 +| KP_ERR_OVERFLOW  | 100     | Plus axis number.                                          |
 +| KV_SPD_OVERFLOW  | 110     | Plus axis number.                                          |
 +| KI_SUM_OVERFLOW  | 120     | Plus axis number.                                          |
 +| ERR_INTEGRAL_OF  | 125     | Plus axis number.                                          |
 +| KD_TRM_OVERFLOW  | 130     | Plus axis number.                                          |
 +| KA_TRM_OVERFLOW  | 140     | Plus axis number.                                          |
 +| ENCODER0_ERROR   | 160     | Plus error number.                                         |
 +| ENCODER1_ERROR   | 170     | Plus error number.                                         |
 +| MOVE_OVERTIME    | 180     | Plus axis number.                                          |
 +
 +===== FW-1000 ASCII Command Set =====
 +
 +The FW-1000 Filter Wheel responds to RS-232 serial commands. You can connect to the FW-1000-SA controller using a USB cable or RS-232 cable. All characters are echoed by the controller except for the ''?'' command and control characters. The ''<DEL>'' and ''<BS>'' characters are not interpreted, so mistyping will result in erroneous commands.
 +
 +The [[fw_1000#communicating_with_the_fw-1000-sa_filter_wheel_controller|serial communication settings]] documentation contains the RS-232 serials settings for each controller.
 +
 +If a command is not understood by the controller, the string <wrap reply> ERR </wrap> is returned.
 +
 +Commands that accept an input parameter return the current value of that parameter.  If a new value is given in the command, the new value will be returned; if no value is given in the command, the current value will be returned.  For example consider the velocity run command.  
 + 
 +<wrap reply> 0><wrap cmd> VR </wrap> 3195 </wrap> Sending only the command returns the current value. \\
 +<wrap reply> 0><wrap cmd> VR 2000 </wrap> 1995 </wrap> Sending the command with a new value, the program returns the working value (in this case there was a rounding difference from what was specified). \\
 +<wrap reply> 0> <wrap cmd> VR </wrap> 1995 </wrap> 
 +
 +The command response is terminated with a <wrap reply> <LF> <CR> </wrap> followed by the prompt characters <wrap reply> 0> </wrap> or <wrap reply> 1> </wrap> depending on which wheel is actively taking commands.
 +
 +The only exception to this standard is the busy query command described below.
 +
 +==== Busy Query ====
 +Syntax : <wrap cmd> ? </wrap> \\
 +The “?” command is immediately processed (no <CR> or <LF> required) and a single digit Busy Status is returned.
 +
 +The returned digit has the following meaning for the stand alone **FW-1000-SA** unit:
 +
 +^Code ^ Description ^
 +^0 |Neither wheel moving (not busy).|
 +^1 |One wheel moving, but within tolerance for clear light path.|
 +^2 |Two wheels moving, but both are within tolerance for a clear light path.|
 +^3 |At least one wheel not in tolerance for a clear light path.|
 +^4 |At least one wheel has not completed initialization. <wrap lo>Supported in version 3.3 and later.</wrap>|
 +^5 |Error - requires a reset (F70) or power cycle to recover. <wrap lo>Supported in version 3.3 and later.</wrap>|
 +^6 |Unknown status - inform ASI you received this status. <wrap lo>Supported in version 3.3 and later.</wrap>|
 +
 +The return digit(s) have the following meaning for a filter wheel card in a **Tiger** controller:
 +
 +^Code ^ Description ^
 +^0 |Neither wheel moving (not busy).|
 +^7 |At least one wheel is off target.|
 +^8 |A runaway on at least one wheel was detected.|
 +^9 |At least one wheel did not settle on target on time.|
 +^10 |An overflow was detected.|
 +^11 |A homing error was detected.|
 +^12 |At least one wheel is busy.|
 +^13 |An unknown command was issued.|
 +^14 |At least one wheel is disabled.|
 +^15 |A large overflow was detected.|
 +^16 |The current wheel is off target.|
 +
 +<wrap em>The following commands apply to both or neither wheel, and do not depend on the currently selected wheel:
 +</wrap>
 +
 +==== Reset ====
 +Syntax : <wrap cmd> F70 </wrap> \\
 +Resets the filter wheel processor. Resulting behavior is equivalent to cycling power. Supported in version 2.1b and later.
 +
 +==== Filter Wheel Number ====
 +Syntax : <wrap cmd> FW n </wrap> \\
 +Sets the current filter wheel for subsequent commands.  Prompt shows currently selected wheel, e.g.,  <wrap cmd> 0> </wrap> is result of FW 0 command.  If the selected wheel is HOMED and ready to go, the FW command returns the selected wheel as normal.  If the wheel is not ready for any reason, the response ERR is returned.  Example:
 +
 +<wrap reply> 0><wrap cmd> FW 1 </wrap> 1 </wrap> Normal – switch to FW 1 \\
 +<wrap reply> 1><wrap cmd> FW 0 </wrap> ERR </wrap> FW 0 not ready \\
 +<wrap reply> 0> </wrap> Although FW 0 not ready – can still change FW 0 parameters.
 +
 +==== Halt ====
 +Syntax : <wrap cmd> HA </wrap> \\
 +Stops all motor movement; Halts protocol execution.
 +
 +==== Number of Filters ====
 +Syntax: <wrap cmd> NF n </wrap> \\
 +Sets the number of slots in the wheel, e.g., 6 or 8.
 +(Normally set at the factory.)
 +
 +==== Number of Pulses/Revolution  (Spin/SYNC mode only) ====
 +Syntax: <wrap cmd> NP n </wrap> \\
 +Sets the number of synchronization pulses/revolution of the filter wheel.  The pulses will be uniformly spaced and are synchronized with wheel’s position encoder.  Default setting is 1.
 +
 +==== RAM Defaults ====
 +Syntax: <wrap cmd> RD </wrap> \\
 +Restore factory default parameters.
 +
 +==== RAM Save / RAM Write ====
 +Syntax for FW-1000: <wrap cmd> RS </wrap> \\
 +Syntax for TG-1000: <wrap cmd> RW </wrap> \\
 +Save current parameters to non-volatile (flash) memory.
 +
 +==== RAM Restore ====
 +Syntax: <wrap cmd> RR </wrap> \\
 +Recall last saved parameters.
 +
 +==== Dump RAM ====
 +Syntax: <wrap cmd> DR </wrap> \\
 +Dumps the working variables stored in RAM to the RS-232 port.
 +
 +==== Dump Flash ====
 +Syntax: <wrap cmd> DF </wrap> \\
 +Dumps the variables stored in the non-volatile (flash) memory to the RS-232 port.
 +
 +==== Pulse Length ====
 +Syntax:<wrap cmd>  PL n </wrap> \\
 +Sets the pulse length of the Sync Out signal to n milliseconds.
 +
 +==== Pulse Phase  (Spin/SYNC mode only) ====
 +Syntax: <wrap cmd> PH n </wrap> \\
 +Sets the relative phase of the Sync Out pulses when in the Spin/Sync mode of operation.  The phase is expressed in encoder counts.  There are 1024 counts in a full revolution.  
 +
 +==== Start ====
 +Syntax: <wrap cmd> ST </wrap> \\
 +Starts timed protocol.  The protocol will start at the current protocol position.  After a reset, this is the position P0.  Use the Gn command to set the initial position before starting the protocol. Use Halt command <wrap cmd> HA </wrap> to stop the routine. 
 +
 +==== Go to protocol n ====
 +Syntax:<wrap cmd>  Gn </wrap> \\
 +Causes the wheel(s) to move to settings for Protocol Setting n, where n is a number in the range [0 7]. 
 +
 +==== Verbose Mode ====
 +Syntax: <wrap cmd> VB n </wrap> \\
 +The serial output is changed based on the verbose mode.
 +
 +^ N ^ Description ^
 +^0 |Normal mode – prompt and error messages only.|
 +^1 |Encoder position information.|
 +^2 |Show move times and motion-error maximums.|
 +^3 |Debug mode shows process steps.|
 +^4 |Other verbose debug info.|
 +^5 |No serial output in response to some commands. <wrap lo>Supported in version 2.0f and later.</wrap>|
 +^6 |No prompt characters (e.g., 0>) output in response to any commands. <wrap lo>Supported in version 2.0g and later.</wrap>|
 +^7 |Same as mode 6 with addition of no "MOTOR x NOT RESPONDING" reports on boot. <wrap lo>Supported in version 3.3 and later.</wrap>|
 +
 +==== Version Number ====
 +Syntax: <wrap cmd> VN </wrap> \\
 +Returns the Version Number of the firmware.
 +
 +
 +<wrap em>The following diagnostic commands are included for completeness, but may not be included in future releases of the firmware.
 +</wrap>
 +
 +==== List ====
 +Syntax: <wrap cmd> LI </wrap> \\
 +Sends trajectory information to the serial port about the last completed move.
 +
 +==== Dump Errors ====
 +Syntax:<wrap cmd>  DE n </wrap> \\
 +Sends the logged error buffer to the serial port.  Errors are reported whenever the motors are turned on to full power.  This is expected and common when running with modest to fast switching speeds.
 +<wrap cmd> DE -1 </wrap> Clears the error buffer.
 + 
 +<wrap em>The following commands set parameters that apply only to the currently selected wheel:</wrap>
 +
 +==== Home ====
 +Syntax: <wrap cmd> HO </wrap> \\
 +Causes current wheel to seek its home position.
 +
 +==== Move Position ====
 +Syntax: <wrap cmd> MP n </wrap> \\
 +Move to filter position <wrap cmd> n </wrap>, where <wrap cmd> n </wrap> is a valid filter position.
 +
 +==== Offset ====
 +Syntax: <wrap cmd> OF n </wrap> \\
 +Sets the home index offset for the wheel to <wrap cmd> n </wrap> The value <wrap cmd> n </wrap> should be in the range [0 128] such that a <wrap cmd> HO </wrap> command returns the wheel centered on the optical axis.  Once determined, this value should be saved to flash.
 +
 +==== Protocol Position ====
 +Syntax: <wrap cmd> P[m] n </wrap>\\
 +Sets protocol entry <wrap cmd> m </wrap> to filter position ''n'' where ''m'' is a number in the range [0 7] and ''n'' is a valid filter position. 
 +
 +==== Protocol Delay ====
 +Syntax: <wrap cmd> D[m] n </wrap>\\
 +Sets the delay time prior to execution of move to protocol entry <wrap cmd> m </wrap> to the value <wrap cmd> n </wrap> where<wrap cmd>  m </wrap> is a number in the range [0 7] and <wrap cmd> n </wrap> is the delay time in milliseconds.
 +
 +==== Acceleration Up ====
 +Syntax: <wrap cmd> AU n </wrap> \\
 +Sets the acceleration value in encoder counts/sec/msec.  Default is 150.  Increase up to 400 for faster acceleration but more vibration.
 +
 +==== Acceleration Down ====
 +Syntax: <wrap cmd> AD n </wrap> \\
 +Sets the de-acceleration value in encoder counts/sec/msec.  Avoid values greater than 200 or excessive driver current can result in overheating.
 +
 +==== Lock Mode ====
 +Syntax: <wrap cmd> LM n </wrap> \\
 +Determines the servo behavior upon completion of a move.
 +
 +^ N ^ Description ^
 +^0 |Default – servo remains active for 200ms after completion of a move and then is turned off.|
 +^1 |Servo is always active.  You cannot position the wheel by hand in this state.|
 +
 +==== Spin ====
 +Syntax: <wrap cmd> SF n </wrap> \\
 +Initiates the Spin/SYNC mode.
 +
 +^ N ^ Description ^
 +^0 |Stops the spinning Wheel.|
 +^1 |Starts the current wheel spinning.|
 +^2 |Starts both wheels spinning together <wrap lo>available in Tiger firmware version 3.2+ only , not in standalone FW-1000</wrap> |
 +^3    |Similar to n=1, except Spins wheel in reverse direction <wrap lo>available in Tiger firmware version 3.2+ only , not in standalone FW-1000</wrap> |
 +
 +==== Speed Variables ====
 +Syntax: <wrap cmd> SV n </wrap> \\
 +Selects a consistent set of preset acceleration and speed parameters. Supported in version 2.4 and later.
 +
 +^ N ^ Description ^
 +^0 |Default  -  directly set and saved AU, AD, and VR parameters are used.|
 +^1 |Slowest and smoothest switching speed.|
 +^2 to 8 | Intermediate switching speeds.|
 +^9 |Fastest and but least reliable switching speed.|
 +
 +==== Velocity Run ====
 +Syntax: <wrap cmd> VR n </wrap> \\
 +Sets the maximum run velocity in encoder counts/sec.  Default is 2000.  Increase up to 4000 for faster top speed but more vibration.  For spinning the filter wheel, can be increased up to a maximum of 12500.  Expect some servo errors at high speeds.
 +
 +==== Go to Encoder ====
 +Syntax: <wrap cmd> GO n </wrap> \\
 +Moves to absolute encoder position ''n'' The range of n is +/-32768.  The motor will move the commanded distance, but the final position will reflect the current location between 0 and 1023 of the wheel’s rotation.
 +
 +<wrap em>The following parameters affect the motor positioning algorithm. Change these at your own risk!
 +</wrap>
 +
 +==== PID Proportional constant ====
 +Syntax: <wrap cmd> KP n </wrap> \\
 +Default 350
 +
 +==== PID Integral constant ====
 +Syntax: <wrap cmd> KI n </wrap> \\  
 +Default 0
 +
 +==== PID Derivative constant ====
 +Syntax: <wrap cmd> KD n </wrap> \\  
 +Default 500
 +
 +==== Acceleration constant ====
 +Syntax: <wrap cmd> KA n </wrap> \\
 +Default 1200
 +
 +==== Velocity constant ====
 +Syntax:  <wrap cmd> KV n </wrap> \\  
 +Default 70
 +
 +==== Current feedback constant ====
 +Syntax: <wrap cmd> KR n </wrap> \\  
 +Default 0
 +
 +===== Filter Wheel Modes =====
 +
 +The states in the filter wheel state machine.
 +
 +^ Modes ^
 +| **1** - RAMP_UP   |
 +| **2** - RUN       |
 +| **3** - SPIN      |
 +| **4** - PLATEAU   |
 +| **5** - RAMP_DOWN |
 +| **6** - FINISH    |
 +| **7** - IDLE      |
 +| **8** - HOLD      |
 +| **9** - SLIP_ERR  |
 +
 +=====Serial Command Cheatsheet =====
 +
 +^ Filter Wheel Serial Commands |||
 +^ Property ^ Command ^ Notes ^
 +^ Commands that do not depend on the current wheel ^^^
 +| Busy | ''?'' | Returns a integer busy code |
 +| Reset| ''F70'' | Resets the filter wheel processor |
 +| Select Wheel | ''FW n'' | Sets the currently selected wheel |
 +| Halt | ''HA'' | Stops all motor movement and halts protocol |
 +| Number of Filters | ''NF n'' | Set at the factory, typically will be 6 or 8 |
 +| Number of Pulses | ''NP n'' | Sets the number of sync pulses/revolution |
 +| RAM Defaults | ''RD'' | Restore factory default parameters |
 +| RAM Restore | ''RR'' | Recall last saved parameters |
 +| Dump RAM | ''DR'' | Dumps the working variables stored in RAM |
 +| Dump Flash | ''DF'' | Dumps the variables in the non-volatile (flash) memory |
 +| Pulse Length | ''PL n'' | Sets the pulse length of the Sync Out signal to n ms |
 +| Pulse Phase | ''PH n'' | Sets the relative phase of the Sync Out pulses |
 +| Start | ''ST'' | Starts timed protocol from current position |
 +| Go to Protocol | ''Gn'' | Change protocol settings to n |
 +| Verbose Mode | ''VB n'' | Serial output is based on the verbose mode |
 +| Version Number | ''VN'' | Returns the version number of the firmware |
 +^ Diagnostic Commands ^^^
 +| List | ''LI'' | Trajectory information about last completed move |
 +| Dump Errors | ''DE n'' | Send error buffer to the serial output |
 +^ Commands that apply to the currently selected wheel ^^^
 +| Home | ''HO'' | Move to home position |
 +| Move Position | ''MP n''  | Move filter wheel to position n |
 +| Offset | ''OF n'' | Sets the home index offset to n |
 +| Protocol Position | ''P# n'' | Sets protocol entry m to filter position n |
 +| Protocol Delay | ''D# n'' | Sets the delay time for protocol entry # to n ms |
 +| Acceleration Up | ''AU n'' | Sets the acceleration value in encoder counts/second/msec |
 +| Acceleration Down | ''AD n'' | Sets the deceleration value in encoder counts/second/msec |
 +| Lock Mode | ''LM n'' | Determines the servo behavior upon completion of a move |
 +| Spin Mode | ''SF n'' | Initiates the Spin/SYNC mode |
 +| Speed Preset | ''SV n'' | Sets the speed parameter preset |
 +| Velocity Run | ''VR n'' | Sets the maximum velocity in encoder counts/second |
 +| Go to Encoder | ''GO n'' | Moves to absolute encoder position n, range of n is +/-32768 |
 +^ PID and Motor Tuning - change at your own risk! ^^^
 +| PID Proportional  | ''KP n'' | Motor PID proportional constant |
 +| PID Integral | ''KD n'' | Motor PID integral constant |
 +| PID Derivative | ''KI n'' | Motor PID derivative constant |
 +| Acceleration constant | ''KA n'' | Acceleration constant |
 +| Velocity constant | ''KV n'' | Velocity constant |
 +| Current feedback constant | ''KR n'' | Current feedback constant |
 +
 +===== Appendix =====
 +
 +==== Filter Wheel Control Panel Pin-Outs ====
 +
 +[{{ fw1000_1_.png?direct&100 |Tiger FW control panel}}]
 +
 +[{{ ::fw-1000-sa.jpg?direct&200 |FW-1000-SA}}]
 +
 +
 +
 +^ W0 & W1 Filter Wheel Connectors ^^^
 +^PIN ^Signal ^INFORMATION ^
 +|1 |Motor + |0-24 VDC, 6 Amps Max |
 +|2 |Motor - |0-24 VDC, 6 Amps Max |
 +|3 |Ground G |round                |
 +|4 |ENC A |Input: Std TTL       |
 +|5 |ENC B |Input: Std TTL       |
 +|6 |Motor + |0-24 VDC, 6 Amps Max |
 +|7 |Motor- |0-24 VDC, 6 Amps Max |
 +|8 |Index |Input: Std TTL       |
 +|9 |+5 Vdc |6 Amps Max           |
 +
 +{{ fw1000_2_.png?direct&100 |}}
 +
 +^RS-232 Serial Connector ^^^
 +^PIN ^SIGNAL ^INFORMATION ^
 +|1 |N.C. |No Connect                 |
 +|2 |TX |Follows RS-232 standard    |
 +|3 |RX |Follows RS-232 standard    |
 +|4 |N.C. |No Connect                 |
 +|5 |GND |Ground                     |
 +|6 |N.C. |No Connect                 |
 +|7 |N.C. |No Connect                 |
 +|8 |N.C. |No Connect                 |
 +|9 |N.C. |No Connect                 |
 +
 +
 +
 +^TRIG IN ^^^
 +^PIN ^SIGNAL ^INFORMATION ^
 +|1 |TTL Next Pulse |Input: Std TTL|
 +|2 |GND |Ground|
 +
 +^SYNC OUT ^^^
 +^PIN ^SIGNAL ^INFORMATION^
 +|1 |SYNC OUT |Output: Std TTL|
 +|2 |GND |Ground|
 +
 +===== Cleaning & Maintenance =====  
 +
 +Cleaning should be done with a 70% isopropyl alcohol solution.   Maintenance should only be done by ASI, or an ASI approved technician - no user serviceable parts inside.  
 +
 +<WRAP center round important 60%>
 +If the equipment is used in a manner not specified by the manufacturer, the protection provided by the equipment may be impaired. 
 +</WRAP>
 +
 +===== Warranty =====
 +
 +Applied Scientific Instrumentation, Inc., hereafter referred to as ASI, guarantees its equipment against all defects in materials and workmanship to the original purchaser for a period of one (1) year from the date of shipment.  ASI's responsibility to this warranty shall not arise until the buyer returns the defective product, freight prepaid, to ASI's facility.  After the product is returned, ASI at its option, will replace or repair free of charge any defective component or device that it has manufactured.  The warranty set forth above does not extend to damaged equipment resulting from alteration, misuse, negligence, abuse or as outlined below:
 +
 +1. Equipment not manufactured by ASI that is offered as part of complete systems carry the original equipment manufacturer's warranty.
 +
 +THE WARRANTY AND REMEDIES SET FORTH ABOVE ARE IN LIEU OF ALL OTHER WARRANTIES.  APPLIED SCIENTIFIC INSTRUMENTATION, INC. EXPRESSLY DISCLAIMS ALL OTHER WARRANTIES WHETHER EXPRESSED, IMPLIED OR STATUTORY, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AND AGAINST INFRINGEMENT.
 +
 +In no event will ASI be liable for incidental or consequential damages, even if ASI has been advised of the possibility of such damages howsoever, arising out of the sale or use of the products described herein.
 +
 +
 +{{tag>manual fw1000 tiger}} 
Address: 29391 W Enid Rd. Eugene, OR 97402, USA | Phone: +1 (541) 461-8181