Direct Fiber Positioning System Development

© 2022, Kevan Hashemi, Open Source Instruments Inc.
© 2022, Nathan Sayer, Open Source Instruments Inc.
© 2022, Calvin Dahlberg, Open Source Instruments Inc.




[23-JUN-22] Our Test Stand Zero (TS0) consists of three fiber positioner under test with 40-mm actuators and 300-mm steel masts. We are studying how well we can neutralize the actuator's inherent hysteresis with reset procedures, and how well we can compensate for the actuator's material creep with creep mitigation. A reset procedure consisting of a one-minute spiral movement beginning at one corner of the range of motion and ending at the center of the range provides 10 μm rms precision returning to any location in the fiber's range. Fitting a logarithmic function to the fiber position for three minutes allows us to calculate the distance it will creep with better than 10 μm rms accuracy over a half-hour period.

Figure: Three-Fiber Prototype. Ceramic actuators hold steel masts and zirconia ferrules with polished fiber tips. For a sketch that exaggerates the bending of the actuator, see here.

We have been exercising TS0 for three months, moving the fibers about their full range for much of the time, letting them sit with voltage applied for the rest of the time. We have seen no failure of the drive electronics, no degradation of the dynamic range, nor any significant change in the creep and hysteresis of the actuators.

Our Test Stand One (TS1) mechanical pieces are near completion. Teset stand one consists of a prototype positioner mounted on a two-axis, motorized gimbal. The positioner will support three 4×4 positioner cells. We will populate one cell fully and the other two partially. The test stand provides four fiducial fibers in the same plane as the spectrograph fibers, and a fiber camera for calibration and monitoring. Our gimbal is a computerized altitude-azimuth mount that came with a Meade LX200 telescope we purchased twenty-five years ago.

Figure: Three 4×4 Positioner Cells On Bridge with Frame. The frame bolts to our motorized, two-axis gimbal. Shown with 30-mm long controller boards. Actual controller boards will be 60 mm long.

In the above picture we see three 4×4 cells mounted on a bridge. Each cell consists of sixteen fiber positioners mounted on a base board which is screwed to a base plate. The base plate mounts kinematically to the bridge. The base board receives actuator control voltages through three flex circuits that join the base board to a service board below. The service board plugs into a backplane that is fastened to the underside of the bridge with standoffs. The controller boards will be 8.2 mm wide, 60 mm long and no more than 2.3 mm thick with their insulating and protective epoxy coating.


PositionerThe combination of an actuator, mast, and controller that together move the tip of a fiber.
ActuatorThe piezo-electric cylinder that bends when we apply voltage to its electrodes.
MastThe long tube that acts as a lever arm to turn the bending of the actuator into translation of the fiber tip.
FerruleThe cylinder with a precision center hole that presents the polished fiber tip.
ControllerThe logic, converters, and amplifiers that generate a single actuator's four electrode voltages.
Base BoardThe printed circuit board that supports all the positioners of a single cell.
Service BoardThe printed circuit board that holds the fiber controllers for all the positioners of a single cell.
Detector CellA base board, its fibers, its positioners, its service board, and all its controllers.
Detector FiberA fiber used to capture and transport the light from a celestial object.
Guide FiberA fiber used to reveal the location of a detector fiber.
Fiber View CameraA camera looking down on the fiber tips.
Front EndThe multi-object detector: fibers, positioners, and the fiber view camera.
Back EndThe spectrometer itself: we plug the fibers into it and it records spectra.
Table Glossary of DFPS Terminology.


S3089E_1.gif: High-voltage amplifier, gain 200, ±250 V, 15 μA.
A78557.pdf: Twelve-way, male, dual-row, vertical, connector for service boards.
A78554.pdf: Twelve-way, famele, dual-row, right-angle, connector for controller boards.
FER2030: Zirconia ferrule, 1.25 mm diameter with flange.
Test Stand One: Drawings of three 4×4 cells on a frame mounted to on a two-axis gimbal.
Base and Service Board (A3043): Combined base and service board for mounting fibers and controllers.
Backplane Board (A3044): Backplane for connection of service boards.
Controller Board (A3045): Logic and amplifiers that generate control signals for actuators.
FMMT560: Single 500-V PNP transistor for actuator control.
PMBTA45: Single 500-V NPN transistor for actuator control.
PMBTA42DS: Dual 300-V NPN transistors for actuator control.
304H13XX: Steel tube for masts, 304SS, OD 2.41 mm, ID 2.33 mm.
PI Actuator: Physik Instrumente tube actuators.

Our tube actuator is a custom part made by Physik Instrumente. It is part number 000083725 and the manufacturer describes it as "tube c255 o3,6 i2,8 L40 sCuNi". It's outer diameter is 3.6 mm, inner diameter 2.8 mm, length 40 mm.


[29-MAR-22] The Fiber Positioner Tool is available in the LWDAQ Tool menu starting with LWDAQ 10.3.6. This tool is designed to apply voltages to piezo-electric actuator cylinders in our test stands, capture images of fiber tips, plot the movement of fibers, print spot positions, and perform sequences of movements and measurements to support our study of the DFPS precision and accuracy. As our test stand expands, so will the software.

Figure: The Fiber Positioner V1.9 on MacOS. We see the results of a perimeter travel procedure with three fibers. Measurements are recorded in the data window at the bottom. Travel procedure steps are shown in the log window on the right.

The Fiber Positioner manipulates one piezo-electric actuator and monitors one fiber tip. The program controls and reads out two Input-Output Heads (A2057H), four Slow Amplifiers (A2089E), a ±250 V Power Supply (a A2089A without potentiometers), a Contact Injector (A2080B), and a Laboratory Camera (A2075B). The contact injector provides light for the fiber. The camera is supported above the fiber and photographs its center while the fiber flashes. The Input-Output Heads provide four analog voltages that pass through the four amplifiers to produce the piezo-electric cylinder's four electrode voltages. These same Input-Output Heads provide four analog inputs to measure the electrode voltages produced by the amplifiers. Thes analog inputs are equipped with a ÷32, 30-MΩ attenuator, giving them a dynamic range of ±320 V. The Fiber Positioner provides entries for all data acquisition parameters. We have "n", "s", "e", "w" for "north", "south", "east", and "west". We have "ch" for "channel", indicating a device element number to select an output or input. The "n_out" is the eight-bit value we write to the DAC that controls the north electrode voltage, while "n_in" is the value of that voltage as measured by the "n_in_ch" analog input. Further data acquisition parameters are available in the tool's configuration panel, where we can save and un-save our configuration to disk, from which it will be loaded automatically the next time we open the Fiber Positioner tool.

Figure: Actuator Test Stand. From left to right: ±250V power supply, quad slow amplifier, input-output head No2, input-output head No1, LWDAQ driver.

Our test stand connections are shown in schematic below. Not shown are the camera connection to the LWDAQ, which monitors the fiber tip, and the contact injector that supplies light to the optical fiber running up the center of the actuator and mast. We write eight-bit control values to the DACs on the Input-Output Heads. The Input-Output Heads produce control voltages. The control voltages are amplified by the A2089Es to produce the electrode voltages.

Figure: Actuator Test Stand Connections. Coax: coaxial cables with BNC plugs. TP: twisted pair cable with shared four-way rectangular connector to BNC on other end. 2xTP: two twisted pair cables, soldered one end, four-way rectangular connector on the other end.

The Move button asserts the north, south, east, and west control values, waits for the settling time, measures the electrode voltages, measures the position of the fiber image on the camera's image sensor, and reports to the data window. The fiber appears as a bright spot in the image. The spot position is the location of the centroid of this spot, measured in microns from the top-left corder of the image. The Check button measures the electrode voltages and spot position, but leaves the electrode voltages unchanged. The Zero button sets the electrode voltages to their nominal zero values, as specified by the dac_zero parameter in the configuration panel, and then performs the same actions as Move. After each step, check, or travel movement, the Fiber Positioner prints a line of numbers to its text window. The first four are the north, south, east and west control values in DAC counts, which we print in green. After that are the spot position x and y in microns from the top-left corner of the image sensor, printed in black. At the end of the line are the north, south, east, and west electrode voltages in volts.

The Travel button executes a travel script stored in a travel file. The simplest travel script consists of north, south, east, and west control values on separate lines. The Fiber Positioner sets the north, south, east, and west control values equal to these integers and executes a Move. The following example script includes comments as well as control values.

# Example Travel Script. A pound sign at the start of a line is a comment. We list
# north, south, east, and west control values separated by spaces or line breaks.
0 255 0 255
255 0 0 255
255 0 255 0
0 255 0 255
# End of list. We have driven the actuator to the four corners of its range and back again.

Each travel script line defines a travel step. The Fiber Positioner keeps track of which step it is executing with the travel index. The Step button executes the step given by the travel index and increments the travel index afterwards. The Repeat flag tells the travel to re-start from the beginning when it's done. The Trace flag tells each measurement routine to draw a line from the previous spot position to the new spot position, so we can see where the spot has been. The pass entry presents the travel script execution counter, which increments each time we execute step zero in a travel script. The loop entry presents a local counter that travel scripts can use to manage loops.

We select a travel file with Browse and modify it with Edit. We must save our modifications to disk before they will be implemented. When it executes a step, the Fiber Positioner reads the travel file, extracts the line pointed to by the travel index, prints the line to its log window, executes the line, and prints results to the data window. If the step is a comment, the Fiber Positioner takes no action other than to print the comment in the log window. In addition to comments and control values, travel steps can use the following instructions.

label nameLabel a line with alpha-numeric string name.
tcl sExecute s in the TCL interpreter.
tcl fnExecute file fn in the TCL interpreter.
wait nWait n seconds before proceeding to next step.
Table: Travel Script Instructions. Instructions are case sensitive and must appear at the start of the line of text defining the step. We use s for a string, n for an integer, fn for name of a file in the same directory as the travel script.

With the tcl instruction, we execute the rest of the line as a TCL command. With tcl_source we execute a file as if it were a TCL script. We give the name of a file in the same directory as the travel script. See here for a travel script that uses tcl_source. A label instruction identifies a line so that we jump to it with the help of a TCL procedure called Fiber_Positioner_goto. The Fiber_Positioner_goto procedure takes a label name as its argument. We invoke the goto procedure within a travel script using a tcl instruction. See here for an example travel script that uses labels and jumps. The wait instruction allows us to introduce delays in our travel procedure without freezing the LWDAQ program: we can stop the wait with the Stop button, and we can continue data acquisition with other LWDAQ instruments and tools. The table below gives some example travel files.

Spiral.txtMove fiber in spiral towards center of range.
Perimeter.txtMove fiber around perimeter of its range.
Diagonal.txtMove fiber across the diagonal of its range.
Hysteresis_EW.txtMove east-west along center of range, and back.
Hysteresis_NS.txtMove north-south along center of range, and back.
Reset_Test.txtStart at random location, spiral reset, move to fixed location.
Grid_Using_Goto.txtSpiral reset and 3×3 grid using labels and goto commands.
Grid_Using_Source.txtSpiral reset and 3×3 grid using external script.
Creep.txtSpiral reset, move to 3×3 grid point, monitor for 1000 s.
Table: Example Travel Scripts. Click on name to download. Select in Fiber Positioner with Browse button.

The Fiber Positioner code is in the LWDAQ/Tools menu of the LWDAQ distribution. Once the Fiber Positioner is open, all its routines are available for use in travel scripts with the help of the tcl instruction. For a list of routines available to the TCL commands in travel steps, see the LWDAQ Command Reference. In Reset_Test.txt, we use standard TCL commands to generate random control values. We call Fiber_Positioner_move to assert the new control values. We write control voltages and spot position to disk with LWDAQ_print. We use the outfile variable to give us the name of the file to write to. The name in outfile is the travel file name with "_Out" appended to it. Within the TCL commands of a travel script, we have the following variables available.

outfileText file for saving results, travel file name with "_Out.txt" at the end.
configThe Fiber Positioner's configuration array.
infoThe Fiber Positioner's configuration array.
info(log)The log window, for use with LWDAQ_print.
info(data)The data window, for use with LWDAQ_print.
config(travel_index)Line number of the current step, used by Fiber_Positioner_goto.
config(pass_counter)Travel script execution counter, use to vary travel details.
config(loop_counter)Loop execution counter, use to mange travel loops.
info(trace_history)Graphical history list, set to empty string to delete.
info(spot_x)Spot position, x-coordinate.
info(spot_y)Spot position, y-coordinate.
info(n_in)Measurement of north electrode voltage.
config(n_out)Control value for north electrode.
Table: Variables Available to Travel Script TCL Commands. The config array is for parameter we specify. Measurements are stored in the info array.

The pass_counter appears in the Fiber Positioner window and increments each time we execute line zero of a travel script. We can use the pass counter to change details of a travel script that we are executing multiple times. The loop_counter is also visible in the Fiber Positioner window, and we can use this counter to manage loops.



[03-JAN-22] Grant awarded.

[05-JAN-22] Finish debugging our A2089E Slow ±250-V Amplifiers. Four of them now working. Rebuild fiber positioning Test Stand, connecting digital to analog converters, amplifiers.


[03-FEB-22] Place order for 60 of 40-mm long PZ cylinders, total cost $15k. Delivery expected in 14 weeks.

[08-FEB-22] Place order for Liquid Instruments Moku:Lab electrical test instrument, a combined oscilloscope and function generator, which we plan to use to check performance of our slow, high-voltage amplifiers.

[09-FEB-22] Place order for 50 twelve-way sockets and 50 twelve-way plugs for use on 5-mm pitch PZ control circuit. Delivery expected in 12 weeks, total cost $4.4k.

[15-FEB-22] Receive Moku:Lab.

[17-FEB-22] We equip our A2057H Input-Output heads with 30-MΩ input resistors to give ÷30 monitoring of ±300 V. But the A2089E with R10 = 100kΩ cannot drive a 30 MΩ load. We drop R10 from its original 100 kΩ to 50 kΩ and we see full range ±250 V on the output while driving 30 MΩ. Voltages across R8 (316 kΩ), R9 (316 k&Omega) and R10 (50 kΩ) are 0.69 V, 0.68 V, and 0.68 V respectively. Op-amp quiescent current is 18 μA, quiescent power dissipation is 9 mW. In our stand, we view two fibers 10 mm apart at the same height as our PZ fiber and see their images separated by 1.35 mm. Our magnification is approximately 1/7.4. When we vary NS potential from −500 V to +500 V we see 3.0 mm movement of the fiber, and for EW we see 3.4 mm.

[18-FEB-22] Fiber Positioner V1.5 complete.

[24-FEB-22] We have Fiber Positioner V1.5 and use it to travel around the perimeter of our single-fiber positioner's range. Here is our travel list file. At each step, we are changing one of the control values by 64 counts.

# Fiber Positioner Travel List File
0 0 64 0 128 0 192 0 
255 0 255 64 255 128 255 192
255 255 192 255 128 255 64 255
0 255 0 192 0 128 0 64 0 0
# End of File.

We cut and paste out of the Fiber Positioner text window into Results.ods and obtain the following spot position locus for fifty journeys around the perimeter.

Figure: Locus of Spot Position for Maximum Control Values. Image magnification is 1/7.

Magnification in the image is roughly 1/7, so our 500 μm movement on the image is 3.5 mm at the fiber tip. We ramp up the control values from 0-255 and obtain the following plot of electrode voltage versus control value for the four electrodes.

Figure: Electrode Voltage versus Control Value, Version 1.

When the control value is 133, the electrode voltages are in the range −5 to +5 V (average 0 V) and the control voltages are +30 to +120 mV (average 75 mV). For control values 132, electrode voltages are 5 V lower and control voltages are 80 mV lower. The dynamic range of the control voltages is ±10 V, so we expect one DAC count to be 20/256 = 80 mV. The electrode voltages saturate at ±250 V for control values 100 and 168, which produce control voltages −2.48 V and +2.76 V respectively. Our A2089E amplifiers provide gain 95 and appear to have input offset voltage 80±10 mV. We note that the A2089E circuit includes a ÷2 attenuator at the input, so the main amplifier is providing gain ×190. We drop R1 to 1.0 MΩ, R2 to 160 kΩ, and raise C3 to 100 nF. The result is ÷6, time constant 14 ms, cut-off frequency 12 Hz. The op-amp itself has 1 GΩ and 100 pF in its feedback loop, providing cut-off of 1.6 Hz, which now dominates the input network. We repeat our ramp and obtain the following.

Figure: Electrode Voltage versus Control Value, Version 2. Obtained using Travel_Ramp.txt.

We now use Travel_Perimeter.txt with settling_ms = 100 ms and flash_seconds 0.0003 s to trace out the perimeter of our fiber's dynamic range, and obtain the following spot position locus.

Figure: Locus of Spot Position for Perimeter Steps After Correcting Voltage Ranges. Image magnification 1/7.

We use travel files Hysteresis_NS.txt and Hysteresis_EW.txt to obtain the following plots, where we center the cylinder in one direction and move it back and forth in the other, so as to observe the actuator's hysteresis.

Figure: Hysteresis. Left: in NS direction with EW centered. Right: in EW direction with NS centered.

Assuming magnification 1/7, we have 100 μm of hysteresis at the center of the range when returning, which is 700 μm at the fiber tip.

[28-FEB-22] We apply Reset_Test.txt to test the efficacy of a spiral reset procedure to remove hysteresis from our positioner. We begin at a random location in the ±3.5 mm dynamic range. We execute the spiral. We move to the same location half-way from the center to one corner of the range. We measure the spot position after one second and ten seconds. We repeat and tabulate below.

Figure: Hysteresis Mitigation by Spiral Reset.

After ten seconds, the standard deviation of spot position is around 3 μm (1.4 and 2.6 in quadrature), which is 20 μm at the fiber tip. When we start again and repeat the experiment 75 times, we get standard deviation 5 μm, or 35 μm at the fiber tip. The long-term trend in fiber position during the two-hour experiment is roughly 5 μm.


[23-MAR-22] Release Fiber Positioner V1.7 with LWDAQ 10.3.7. Interviewed by Boston Business Journal. We have performed hundreds of travel and reset trials with the program with no errors using the setup shown below. This photograph shows our single direct fiber positioner. One 40-mm piezo-electric actuator cylinder is mounted to a platform that can support nine actuators in a 15-mm × 15-mm square. A 300-mm steel tube is glued into the end of the actuator to act as a mast. An optical fiber terminates in a 2.5-mm diameter white zirconia ferrule at the top of the mast. The optical fiber runs down the center of both actuator and mast and out through a hole in the bottom of the platform. Four ±250-V voltages enter the support platform via coaxial cables. These cause the actuator to bend, which in turn moves the tip of the fiber around in a 3.6-mm square. We shine light into the far end of the fiber and watch the tip of the fiber with a precision camera that looks down from above. The camera allows us to measure the movements of the fiber tip with 10-μm precision.

[26-MAR-22] Article published about our DFPS work in Boston Business Journal, see here.

[28-MAR-22] Release Fiber Positioner V1.8 with the addition of labels and jumps for travel scripts. New Grid_Using_Goto.txt travel script uses the pass counter to move along a 3 × 3 grid filling the dynamic range of the fiber, executing spiral algorithm at each step, with help of labels and goto statements.

[29-MAR-22] Add "tcl_source" to Fiber Positioner V1.8. New Grid_Using_Source.txt script explores 3 × 3 grid with external TCL script. We have an initial mechanical model for a fiber-packing scheme of a large detector, from which we will extract a 4 × 4 cell for our Phase I demonstration, drawing of our V1 packing is here.

Figure: Single-Fiber Prototype. A ceramic actuator holds a steel mast and zirconia ferrule with polished fiber tip. Click for higher resolution. For a sketch that exaggerates the bending of the actuator, see here.

Kimika writes, "The two reset procedures attempt to eliminate hysteresis, which is a tendency of a material to remember its past state. The first reset procedure is called the spiral reset procedure and it takes the following steps: A random voltage is applied for 10 seconds. The fiber is slowly spiralled to the center. A known voltage is applied and the position of the fiber is measured after 1s and 10s. We repeated steps 1-3 1230 times. We graphed the deviation of the final positions from the average and they are attached below. The standard deviation after 1s in x and y were 11.6 and 12.17, respectively. The standard deviation after 10s in x and y were 10.11 and 11.01, respectively. The second reset procedure is called the diagonal reset procedure and it takes the following steps: A random voltage is applied for 10 seconds. The fiber is driven back and forth from one extreme (500V applied) to the other extreme (-500V applied) five times. A known voltage is applied and the position of the fiber is measured after 1s and 10s. We repeated steps 1-3 1004 times. We graphed the deviation of the final positions from the average and they are attached below. The standard deviation after 1s in x and y were 14.3 and 14.3, respectively. The standard deviation after 10s in x and y were 16.4 and 18.1, respectively."

Figure: Fiber Position with Spiral Reset Procedure. Fiber position deduced from image position and magnification. Ten second wait after movement.

[30-MAR-22] We produce our first draft glossary of terms: actuator, mast, ferrule, base board, service board, and so on.

[31-MAR-22] We note that when the fiber positioner is mounted upon an altitude-azimuthal mount, changes in orientation will occur only on one direction, which we could arrange to be parallel to one of axis of the fiber movement. We would then need to adjust the fiber position only along one axis during sidereal movement, which might simplify our design. We purchase a variety of carbon fiber tubes suitable for use as masts. We are looking at the deformation of the mast under its own weight as we rotate a positioner from vertical to horizontal. We re-visit our earlier calculations of mast bending, finding a significant error in our spreadsheet. Our updated table of deflections is below.

Figure: Derivation of Deflection of a Cylindrical Tube Under Its Own Weight.

Using the above result, we obtain the following theoretical deflections for various available tubes under their own weight. We use estimates of modulus and density from manufacturers and tables. Our calculation of the mass of 300 mm of 304H13XX is 1.34 g. We weigh one such tube and get 1.15 g.

Figure: Deflection of Cylindrical Tube Under Its Own Weight. Part numbers are from MicroGroup for stainless steel and McMaster for carbon fiber.

Given that we wish to place the fiber with accuracy 10 μm rms, a maximum deflection of 10 μm or less we can tolerate without any effort at compensation. A deflection of 100 μm we would have to compensate for, but we are confident this compensation can be done with 10-μm rms accuracy. A 1-mm deflection would present us with a serious operational challenge. We find that for 300-mm masts, the self-deflection is negligible for both carbon and stainless steel. At 400 mm the deflection is still negligible for carbon fiber.

We now consider the deflection of the mast with the weight of the ferrule at its end. Our existing ferrules are 2.5 mm zirconia with a metal flange. They weigh 0.78 g. We derive the deflection of the mast with a load at its terminus.

Figure: Derivation of Deflection of a Cylindrical Tube With Load at End.

We use the same formula for the area moment of inertia to obtain theoretical values for the deflection of a mast when it is horizontal with a load at the end, and tabulate below. We use 1.0 g to represent 0.78 g of ferrule and 0.22 g of fiber running down the center of the mast.

Figure: Deflection of Cylindrical Tube with Load at End. Part numbers are from MicroGroup for stainless steel and McMaster for carbon fiber.

If we can reduce the mass of the ferrule to 0.5 g, the deflection of our 300-mm steel mast is negligible, and that of a 400-mm carbon fiber mast is negligible also. Our 40-mm PZ cylindrical actuator bends by ±6 mrad, so we get 3.6 mm and 4.8 mm movement for 300 mm and 400 mm masts respectively.


[01-APR-22] The Rubin Telescope optics focus light onto a 64-cm diameter area. The converging rays from the 8.4-m primary mirror subtend an angle of 44° as they meet in the focal plane. At the focal point, the approximate image blur is 0.2 arcsec, or 1 μrad. Assuming a 10-m focal length, the diameter of a distant point source is 10 μm. The pixels of the Rubin Telescope's camera are 10-μm square. If the pixel is 25 μm above or below the focal plane, the image blur increases to 20 μm. In our spectrometer, we expect to be using 100-μm diameter high-index fiber to gather light from one object. Assuming we can center the fiber on our target object with 20-μm accuracy, another 20 μm of blurring will be tolerable. The fiber tip must be within ±25 μm of the focal plane.

Figure: Movement of the Fiber Tip Perpendicular to the Focal Plane.

As our fiber moves parallel to the focal plane, in x and y, it also moves out of the plane, as shown above. Our 40-mm actuators provide θ up to 6 mrad. With mast length 300 mm, the out of plane displacement is 5.4 μm, much less than 25 μm. Even with a 400 mm mast, out of plane displacement is only 7.2 μm. Nevertheless: we must construct our fiber positioner with all fiber tips within a ±25 μm plane. Our fiber should be able to accept all rays in a ±22° cone, so its numerical aperture should be at least 0.37. The Optran Ultra WFGE fiber provides low attenuation from 400 nm to 2400 nm with numerical aperture 0.37. We can obtain this fiber with core diameter 60 μm to 220 μm.

When it comes to comparing the merits of carbon fiber and stainless steel for the mast, we note that carbon fiber, in our experience, will expand by up to 300 ppm when we take it out of 0% humidity at 20°C and place it in 100% humidity at the same temperature. With a 300-mm mast, the expansion could be as great as 100 μm, and we would fully expect 25 μm of length change during operation in a telescope dome. Thus we doubt we can control the planarity of the fiber tips with adequate precision using carbon fiber masts. Meanwhile, the coefficient of thermal expansion of stainless steel is roughly 17 ppm/K. We will see a 25-μm lengthening of a 300-mm tube with a 5°C increase in temperature. So far as we can tell, the Rubin Dome interior temperature is the same as the ambient temperature at night, with efforts made to keep the temperature uniform within the dome. If we know the temperature of the fiber positioner to ±2°C, we can predict the location of the fiber tips to ±10 μm.

[08-APR-22] We have three positioners mounted on a fresh base board. The actuators are arranged on a triangle with base 14 mm and sides 10 mm. We enhance the Fiber Positioner program so it finds, plots, and records as many fibers as we enter values in the fiber elements string. We erect a new camera holder and move our test stand to our vibration-absorbing table. We note that the lens has been loose in the lens holder: we hear it rattling when we shake the camera board. We wrap teflon tape around the lens threads so the lens is secure. We adjust focus and location of camera to view all three fiber tips. Magnification in the new image is 2122 μm / 14 mm = 1/6.7. The spots range over 520-μm squares, so the fibers are moving in 3.5-mm squares.

[09-APR-22] Run a four-hour spiral-reset experiment with Grid_Using_Source.txt. We are running three positioners at once. We obtain fifteen moves to each of nine target positions. Maximum standard deviation of any fiber tip in any position is 21 μm, average is 14 μm. There is no significant trend in position versus time.

[20-APR-22] We spiral reset, move to one of the 3 × 3 grid positions, measure position, then measure again at 10 s, 20 s, and so on to 1000 s in an effort to observe the repeatability of the actuator creep. For each fiber, and each grid point with the exception of the zero point, we obtain the creep parallel and perpendicular to the movement of the fiber from the zero point, as a percentage of the length of that movement, having previously observed that the creep was roughly 3.5% per decade of time.

Figure: Parallel Creep for Eight Perimeter Points as Percentage of Parallel Movement, Three Actuators

If we assume 5%/decade creep, the standard deviation of our error without any consultation of the actual creep will be around 3% rms. For a 2-mm movement this is 60 μm. In the perpendicular direction we see up to 6% creep. Assuming the perpendicular creep is zero will give rise to another 3% rms error of 60 μm.

Figure: Perpendicular Creep for Eight Perimeter Points as Percentage of Parallel Movement, Three Actuators.

Upon closer examination, we find that the creep at 100 s is always close to double the creep at 10 s, and the 1000 s is close to triple. We select six movements, two from each actuator and plot them separately.

Figure: Parallel Creep for a Selection of Movements.

If we assume that the creep at 1000 s will be equal to the creep from 10 s to 100 s, our error will be closer to 1% of the movement, or 20 μm for a 2-mm movement. We would accept a 100-s settling time before we could release the fibers for spectrographic use.

[25-APR-22] We have sixty hours of creep-testing. Each 1000 s is one test, in which we move all three fibers to one of the nine 3×3 grid points, including the center point that we skipped in our previous study. We have moved to 233 points, we have explored the 3×3 grid 26 times. We go through our output file and look at each coordinate of the spot position for each of the three fibers separately, so we have six sequences of numbers for each test. We skip the 1-s value and use the 10, 20, 50, 100, 200, 500, and 1000 s values. We fit a straight line to the coordinate versus the log to the base ten of the time, so this log goes from 1.0 to 3.0. We obtain the slope, intercept, and standard deviation of the residuals. We now have 1400 fits. We find that the residuals are usually of order 7 μm at the fiber tip. But there are intervals where the residual is hundreds of times higher. At times 15.2-17.2 hrs, 37.2-39.2 hrs, and 59.7-61.5 hrs we see these disturbances. Time 68.6 hrs is 1400 on Monday.

We remove the disrupted tests from our data. Of the remaining 1300 line fits, the maximum residual 13 μm rms at fiber tip and the average is only 4 μm rms. We fit a straight line to the first 500 s of measurements of each coordinate and compare the position at 1000 s to the fit. Maximum disagreement at the fiber tip is +30 μm, minimum disagreement is −30 μm, average is 0.4 μm and standard deviation is 8 μm. It appears that we can predict the coordinates of the fiber tip at time 1000 s with 8 μm precision using its path from 10-500 s. We repeat, but use only the path from 10-200 s to predict the coordinate at 1000 s. Disagreement increases to 12 μm rms.

We wrap our fiber positioner with black felt, enclosing it completely and protecting it from the air blown by our heaters and ambient light. We re-start our creep experiment at 16:00.

Figure: Felt Tent Around Fiber Positioner. The tents stops air currents and reduces ambient light.

We would like to avoid switching between back-illumination and detection during observation. If we can place two fibers at the tip of the mast, we can use one as a fiducial, connecting it permanently to a light source, and use the other for detection, connecting it permanently to a spectrometer. We find dual-core stainless steel ferrule with locking pin at Thorlabs. Separation of cores is 0.7 mm. Ferrule diameter is 2.5 mm, we would rather 1.25 mm. We are looking at companies like Fiberon to see if they can make a dual-core 1.25-mm diameter ferrule.

[26-APR-22] At 14:20 we have performed 76 creep measurements since 16:00 yesterday. Each measurement takes 1058 s. For each coordinate of each of the three fibers, we predict the position at 1000 s using its variation during 10-200 s. Error in our coordinate prediction is 5 μm rms, range −28 to +36 μm. We see no period when the fibers appear to move erratically, which suggests that our Felt Tent has an effect.

We could prepare the DFPS for a one-hour exposure in the following way. We reset all fibers by spiraling them in towards the center, which takes 60 s. We move each fiber by dead reckoning to within 20 μm of its target position. We back-illuminate the fibers and measure their positions 10 s after the move. We continue monitoring the position for 190 s. We adjust the fibers to place them at the center of their target objects. We take a picture to make sure the fibers are on target. We turn off our back-illumination and begin accumulating light with all fibers. We adjust the fiber positions to compensate for creep over the next hour. At the end of the hour, the drift in fiber position due to creep will be less than 10 μm rms.

[27-APR-22] We are using the code below to parse the output file from Creep.txt. We use the value of each coordinate from 10-200 s after the move to predict the position of the fiber after 1000 s.

set fn ~/Desktop/Creep_Out.txt
set f [open $fn]
set data [split [read $f] \n]
close $f
lwdaq_config -fsd 3
set index 0
while {$index < [llength $data]-9} {
	for {set column 1} {$column <= 6} {incr column} {
		set points ""
		for {set i [expr $index+2]} {$i <= [expr $index+8]} {incr i} {
			set log_time [format %.3f [expr log10([lindex $data $i 0])]]
			append points "$log_time [lindex $data $i $column] " 
		LWDAQ_print $t "[lwdaq straight_line_fit [lrange $points 0 end-4]] [lindex $points end]"
	set index [expr $index + 9]

In a spreadsheet, we subtract the actual position at 1000 s from the predicted position and plot versus time. In order to show all six coordinates provided by each creep test, we separate them along the time axis by one sixth of the creep test period. We now have forty hours of measurements with the test stand wrapped in felt. Our error is 7.4 μm rms.

Figure: Creep Mitigation Error versus Time. Disagreement between predicted coordinate and actual coordinate values.

[28-APR-22] This morning we note at 9:30 am the sun shining directly through a window onto the felt tent around our positioner. Without the tent, the angle of the sun is such that the tips of the fibers would be illuminated. With the felt tent, the fibers remain in the dark. We now have 63 hours of creep testing in the tent. Using 10-200 s path, our standard deviation has increased to 11 μm and we note dozens of tests in which one of the six coordinates has error greater than 50 μm. With a three-sigman cut, standard deviation drops to 9 μm. A two-sigma cut drops it to 8 μm. When we use 10-500 s standard deviation drops to 7 μm.

When it comes to routing our fibers out of a dense fiberscope, we can use connectors like these at the edges of the detector. Maximum insertion loss 0.35 dB (8%), typical 0.1 dB (2%). In the New Small Wheel upgrade of the ATLAS detector, we used optical fiber cable harnesses that joined 24 single-fiber ferrules to a single 24-fiber connector. These were made by Fibernet Ltd and cost us around $220 each.

We measure quiescent voltages in our slow amplifiers. We have dropped R10 to 50 kΩ to increase output current so that we can drive the 30-MΩ input impedance of our voltage monitor. Voltage across R10 is 0.682 V, so current is now 13.6 μA. Voltages across R8 and R9 are 0.69 V and 0.68 V respectively, for 1.7 μA through each. Total current 17 μA. We see now that R5 is insufficient, we should make it 1.0 MΩ. We propose to raise R10 to 180 kΩ to drop output current to 3.8 μA. Total current will then be 7.2 μA, quiescent power drops to 3.6 mW. We will replace R6 and R7 with a single 2 MΩ and R3 and R4 with a single 5 MΩ. To detect the output voltage, we could use the ADS7052, a 14-bit ADC in a 1.5-mm square package. Fourteen-bit precision gives us 0.3-μm resolution in a 5-mm fiber range. Suppose we monitor U1-2, where we have at 250 nA flowing through R11 when the output is at +250 V. Transistor U1 PMBTA42DS has typical current gain of 100 at 25°C and 2 μA, in which case base current is 20 nA, which is 8% of the available current. We would like to monitor ±250 V with better than 1% precision. So we will need a separate voltage divider on the actuator control voltage in order to measure it. To keep the load small and yet still read it with the ADC, we need a decoupling capacitor. We need an additional four P0805 1 GΩ resistors and six P0402 components as well as the four ADCs in order to provide monitoring. We could instead monitor the actuators by photographing their fiber tips.

[29-APR-22] We are studying the problem of mounting the positioners on a base board and plugging the controllers into the underside of the service board. Our drawings latest are here.


[02-MAY-22] We are settled upon a first draft of the mechanical design and will be submitting drawings to the machine shop this week. We will assemble positioners one at a time. A completed positioner consists of ferrule, mast, actuator, cap and second ferrule. We plug the positioners into the base board, soldering them in place as we go. The base board is counter-sunk to accept the positioner caps, and has been previously secured to a base plate with two screws. The base board is 19 mm square. It receives ±250 V sixty-four actuator control voltages through flex cables that connect the base board to the service board. These sixty-four signals constitute the Control Voltage Bus (CVB).

Figure: Diagram of Base and Service Board Electrical Connections.

The service board provides sixteen connectors for sixteen controller boards. The controller boards share the same serial data bus signals and power supplies. They each produce four control voltages. The serial bus is shared with all other service boards on the same backplane, so that there could be hundreds of controllers sharing the same single-ended serial bus. The serial bus is slow: SCK will run at about 8 kHz. If a controller shorts SCK or SDI, resistors protect these signals. The SDO line is open-drain. Controllers connect it to 0V with a 1-Amp mosfet. If a controller fails with the mosfet turned on, we blow the 50-mA fuse between the controller and SDO so as to remove the controller from the bus. The backplane provides separate power supply connections for each service board. If a controller shorts a power supply, the entire service board will fail, but only this service board.

Figure: High-Voltage Operational Amplifier. Shown without external feedback resistors. The inputs must stay within 300 V of the power supplies to protect U1 and U2.

In our High-Voltage Op-Amp we have re-named resistors from the original schematic and adjusted currents for a nominal 4 mW quiescent power consumption from a 500-V power supply. The absolute maximum power supply voltage is 500 V, and both inputs must stay within 300 V of both power supply voltages.

Figure: Control Voltage Amplifier. Duty cycle of input D controls ±250-V output V. We use a low-pass filter to convert duty cycle into a slow analog signal.

The logic on the controller could run off a 6-μA 200-kHz clock. We divide this by 512 to get 390 Hz and use the duty cycle of this square wave to express a value between 0 and 2.5 V with 0.2% precision. We pass the 390-Hz through a low-pass filter with time constant 1.0 s, corner frequency 0.16 Hz, giving a factor of 2400 reduction in the 390-Hz component of our original square wave. This component can be at most 2.5V/2/sqrt(2) = 0.9 Vrms, so our 390-Hz ripple will be no more than 0.4 mVrms, which is 0.02% of our signal range.

[03-MAY-22] The feedback around the opamp gives a gain of ×200. An output resistor of 10 MΩ produces a time constant and voltage drop when in series with the piezo-electric tube. According to our calculations, the capacitance of our 40-mm tubes will be around 400 pF. According to the manufacturer, capacitance is of order 4 nF. We apply a 4-Vpp sinusoid through a 10-Ω resistor to the North electrode of one of our 40-mm actuators. We connect the South electrode to 0 V. We confirm that the center electrode is not connected to anything. We measure the voltages on the North electrode with a 10-MΩ probe.

Figure: Frequency Response of Actuator Low-Pass Filter. Time constant is the North-South electrode capacitance multiplied by 5 MΩ

The corner frequency of the low-pass response is 15 Hz, making the time constant 11 ms. The capacitance between the North and South electrodes is 11 ms ÷ 5 MΩ = 2 nF, which is consistent with each electrode having 4-nF capacitance to the central electrode. Our North-South capacitance is two 4 nF capacitors in series, or 2 nF. A 10 MΩ resistor at the output of our amplifier will introduce a time constant of 20 ms, which is negligible. Resistance of the tubes is reputed to be 1000 GΩ. We connect 10 V to the North electrode and a 10-MΩ voltmeter between the South electrode and 0 V. We see 1.5 mV on the voltmeter. We disconnect the voltmeter and see 2.6 mV. The resistance of the tube is at least 10 V ÷ 5 mV × 10 MΩ = 20 GΩ. The voltage drop across our 10 MΩ resistor will be less than 125 mV. The 10 MΩ resistor will, however, protect the power supplies from a short circuit at the fiber positioner, limiting the short circuit current to 25 μA with power dissipation 6 mW.

We have a 40-mm actuator soldered to a base board with no mast glued into it. (There previously was a mast, but while heating the tube to dry it out, the mast glue deteriorated and the mast came loose.) We connect our 10-MΩ probe to the North electrode and ground the South electrode. We flick the tube on the North side with our finger nail and see the tube generate the following voltage on its North electrode.

Figure: Response of North-South Electrodes to Finger Flick.

If the North electrode generates a negative voltage when we flick the tube to the South, we predict that a positive voltage applied to the North electrode will cause it to bend to the South.

[10-MAY-22] Our drawings for Test Stand One are complete and in the machine shop, see TS1.

[18-MAY-22] Received a selection of 1.25-mm diameter ferrules and sleeves. Made a hand-polished cable with 1.25 mm ferrule on one end and 2.5-mm ferrule on the other. We purchased a fusion splicing machine. Today we cleaved multimode fibers and fused them together. Work continues on schematics for the controller, service, and backplane circuits. We expect the first mechanical pieces for our sixteen-fiber prototype in three weeks.

[24-MAY-22] Met with Teresa Brainerd of BU, presented our three-fiber prototype and discussed possible collaboration with Lowell or Perkins telescopes in Arizona. The 1.8-m Perkins is owned entirely by BU and may be willing to try a new fiberscope. Unusual lens: f/17, rays at prime focus enter at ±2°, which is far smaller than the ±12° acceptance angle of a standard fiber.

We set up a photodiode and injector to measure transmission through a fiber terminated with one 2.5-mm ferrule and one ferrule or splice at the other end. We have a fiber terminated with 2.5-mm ferrules and we plug one end into an injector ten times, then the other end, and measure power out the other end, see here, our precision in measuring the 25-μW output is roughly 5%. We will be able to measure splice and connector loses of order 5%.

[25-MAY-22] Our fusion splicer appears to provide a connection between two cleaved fiber ends that loses less than 5% of the light. We start working on cleaving fibers to produce a square end that is optically flat, if this is possible. Receive 50 each of A78554 and A78557 connectors from Omnetics.


[01-JUN-22] We consider the behavior of concave mirrors. We start with the focal point of rays parallel to the mirror axis. This point moves closer to the mirror as the rays move farther from the axis.

Figure: Focal Point of Axial Rays with Spherical Mirror.

A spherical mirror of diameter 4 m and radius of curvature 52 m will focus rays close to the axis to a point 26 m from the center of the mirror. It will focus rays 2 m from the axis to a point 19 mm closer to the mirror. The image of a star will be blurred by roughly 3 mm. All rays parallel to the axis are, however, focused perfectly to the same point if we make the mirror parabolic. The coincidence of the focal point for rays at increasing distance from the axis arises from a delightful cancelation of two second-order effects.

Figure: Focal Point of Axial Rays with Parabolic Mirror.

We now consider the focal point of rays that are not parallel to the axis. We consider three rays, one arriving at an angle α to the axis some distance above the axis, another at the same angle but the same distance below the axis, and a final ray at the same angle striking the mirror at its center. We assume the mirror provides perfect focusing for rays parallel to the axis: it is a parabolic mirror.

Figure: Defocus of Radial Rays Arriving At An Angle to the Mirror Axis. Note that we are considering only the rays in the plane parallel to the angle and containing the mirror axis. For the parabolic mirror's failure to focus rays in the perpendicular plane, see below.

Here we see the fundamental limitation of the primary mirror. The focal surface is itself a parabola that bends towards the mirror. If we attempt to obtain our image with a flat image sensor, and we have objects at the center in perfect focus, objects at the edge will be blurred by the fact that they focus above the image sensor. A weakly convex lens placed immediately above the focal surface will leave the center of the field of view undisturbed, but move the focal point of peripheral rays away from the primary mirror. A suitably designed lens would flatten the focal plane. Such a lens is an example of a corrector plate. Without a corrector plate, the image of a star on a flat focal image sensor will be blurred to a diameter 2xα2, where x is the radius of the mirror. The angular blurring will be 2xα2/f. A 4-m parabolic mirror with focal length 26 m when viewing an object 2.5 mrad (9') from its axis will see the image blurred by 25 μm. In angular terms, this 25 μm is 1 μrad (0.2"). At 40' from the center, however, the blurring increases to 5".

[08-JUN-22] We get our data acquisition software running on the Raspberry Pi operating system and set up a Pi with a monitor, keyboard, and mouse to run our test stand data acquisition system over the wired ethernet, while at the same permitting us to download results files from its drive over the wireless network. We can also log into the Pi and set up data acquisition. Our objective is to consolidate as much of our sixteen-fiber test stand onto our gimbal.

[09-JUN-22] Consider a fiberscope consisting of a primary mirror and a fiber at the image of a star. The focused rays subtend an angle θ at the fiber tip. The fiber, meanwhile, will capture all rays incident upon the polished tip of its core that are within a cone of angle β centered upon its axis. If θ > β, we lose all the light at angles greater than β, which is a fractional loss of (θ22)/θ2. If θ ≤ β we capture all the light and transport it to the other end of the fiber, minus absorption loss. Light that enters the fiber core at an angle γ tends to leave the core at angle γ, as we have observed first-hand.

Figure: Conical Annulus of Emission from Cladded Rod.

Although we have no photographic evidence, we make the following claim based upon many observations of optical fibers, both plastic and glas, with coherent and incoherent light, single-mode and multi-mode: after sufficient length of fiber, and with sufficient curvature of the fiber, the conical annulus will spread to become a solid cone of angle β, uniformly illuminated on our screen. No light will be lost, other than that which is absorbed by imperfections in the fiber.

The greater the angle of divergence of the light emerging from our fiber, the more challenging the design of the spectrometer optics. If light enters in a cone θ < β and emerges in a cone β, this change is irreversible: there is no optical arrangement that can restore the cone to angle θ without loss. Astronomers call this irreversible change focal ratio degradation (FRD). We can avoid FRD by matching our fiber's numerical aperture to our telescope optics. If, for example, we have light from the primary mirror in a cone θ = 11° producing 100 μm spots, we use a custom-made fiber with core diameter ≈100 μm and numerical aperture β ≈ 11°. We write to Fiberoptics Technology Inc. and hear from them that they can make optical fiber with numerical aperture as low as 0.11, for 13° cone of acceptance.

[12-JUN-22] Daniel Eisenstein points out that our earlier calculation of the focus of off-axis rays considers only the "radial" rays, not the "tangential" rays. In our original diagram, consider a family of parallel rays that reflect off the mirror at x = 0, but with varying y-coordinate dur to the curvature of the mirror. All rays encounter a surface that, in the plane of our view, is perpendicular to the mirror axis, and so reflect about the mirror axis direction.

Figure: Defocus of Tangential Rays Arriving At An Angle to the Mirror Axis.

As a result, these rays are parallel and yet separate. Their greatest separation is proportional to the square of the mirror diameter. On the focal plane, at y = f, the apparent angular spread of the light is α = s/f = (D/f)2θ/16. For diameter 4 m, focal length 20 m, the apparent angular spread of the image is 0.25% of the off-axis angle. For the same diameter, focal length 5 m, the spread is 4% of the off-axis angle.

[23-JUN-22] Mechanical parts for Test Stand One are nearly done. We have updated the design of the base board: we will no longer screw the base board down onto the base plate. The screw holes in the base board were making the routing of tracks to the board edge impossible. We will glue the base board to the base plate. We are making a fixture to ensure correct alignment of both pieces. The base board has counter-sunk holes. We are making these by gluing two 62-mil boards together, one with 1.3-mm holes for the ferrule at the bottom of our positioner, another with 3.1-mm holes for the end plug at the bottom of the positioner. The actuators will sit on the top side of the upper circuit board.

Figure: A304301X, Top Side. Shown with 1.25-mm diameter ferrule. This is the bottom layer of our prototype base board.

When it comes to assembling our array of positioners, our plan is to mount all sixteen positioners on their base board, mount in a fixture, turn sideways, and solder the electrodes to their pads in a surface-mount reflow oven. We have purchased an oven for this purpose, as well as low-temperature solder paste that will reflow at 138°C, a temperature low enough that it will not damage the glue binding the actuator, mast, end plug, and base board. It is, in principle, possible to assemble the array with hand soldering, but in the long run we want to make sure all masts are vertical and we want to be able to control the height of the fibers above the base board so as to accommodate curved focal surfaces. Thus we will reflow in an oven to demonstrate a practical process for a larger instrument.

[27-JUN-22] Glass optical fibers consist of a solid, cylindrical glass core enclosed in a cylindrical glass cladding. The refractive index of the core is greater than that of the cladding, so that total internal reflection can take place at the core-cladding boundary, provided the angle of incidence of the rays propagating in the core is great enough.

Figure: Total Internal Reflection Within an Optical Fiber. Here we have glue outside the cladding. The "angle of incidence" is the angle a ray makes with the normal to the surface, as in "90−e".

When the fiber is in air, total internal reflection will occur readily at the cladding-air boundary, where the refractive index of air is far less than that of the cladding. A typical silica optical fiber has cladding of refractive index 1.458 and a core of refractive index 1.475, which is sufficient to provide numerical aperture NA = 0.22. All rays within a 22° cone centered upon the core axis will be trapped in the core by total internal reflection at the core-cladding boundary. But we note that almost all light within a 180° cone will enter the core. The only loss will be the partial reflection of light from the boundary air-glass boundary at high angles of incidence. The portion of this light that is not trapped in the core will propagate in the cladding, where it will be trapped by total internal reflection so long as the cladding is in air. With glue or plastic in contact with the cladding, the light in the cladding will escape the fiber. If the fiber is in water, with refractive index 1.33, some of this light will escape, but some will remain trapped in the cladding until the the cladding encounters glue or plastic, with refractive index greater than the cladding. Light escaping from the cladding some distance from the fiber tip gives the impression that the manner in which we are clamping or bending the fiber is causing light to escape the core. But this is not the case: the light in the core is constrained. All we are losing is the light in the cladding, which will escape eventually: sooner if we bend or touche the outer surface of the fiber.

Figure: Matching Numerical Aperture to Telescope Optics.

If we match the numerical aperture of our fiber to that of our telescope optics, all the light from the primary mirror will be trapped in the core, and all the light will emerge at the other end of the fiber with the same conical angle. If we use a fiber with a numberical aperture larger than that of our telescope's rays, light will, by non-classical means, spread out in the core, so that some of it will emerge at a greater angle to the axis than it entered. Matching the fiber to the telescope is part of our plan.

We must view our fiber tips if we are to calibrate the fiber array with respect to the celestial alignment of the telescope. Daniel Eisenstein suggests that we consider placing the fiber view camera (FVC) next to the fiber array, and view the fiber array in reflection in the secondary mirror of the telescope. The secondary mirror will usually be convex, so that our view of the fiber array will be demagnified, but even if the fiber array appears to be 20 m away, our experience viewing point sources with diffraction-limited pinhole cameras suggests we can obtain 5-μrad accuracy in measuring the relative positions of fibers and fiducials, ignoring turbulence. Our calibration will be limited by turbulence, but turbulence does not increase with apparent distance, only the actual air path distance, which might be only 7 m. Mounting the FVC is now our default plan.

Our sixteen-fiber Test Stand One provides one fiber per positioner. But our default plan now is to place two fibers at the tip of each positioner. One fiber will run to a light injector, the other to a spectrometer. We will calibrate the relative positions of the two fibers at the positioner tip. They will be within 1 mm of one another, and we will know the vector between them with precision 10 μm, or 1%. We can illuminate each fiber individually, so our FVC does not need to provide a sharp focus that allows us to discriminate one fiber from another. A defocused image with an accurate centroid will give us greater precision.

[30-JUN-22] Nathan has been measuring actuator creep. He reports, "I converted my graphs to GIFs and put them in the temporary file. There are two graphs, the 90deg one describes the move from 1000s of 0,255 to 1000 seconds of 0,133 and measures the creep when it gets to 0,133. The 30deg one describes the same process but starts at 255,0 instead. I noted that the 30deg graph has a much greater creep in the parallel direction because it started much farther away from where we leave it. The perpendicular creep on the other hand did not exceed 5um for either movement."

Figure: Creep Parallel and Perpendicular to Movement from Reset Position versus Logarithmic Time. Pre-reset move at 90° to post-reset move.

The creep parallel to the movement from the reset postition is an order of magnitude larger than the creep in the perpendicular direction. If we spend 1000 s in position A, spiral reset to center position C, and move to position B, the creep is greatest in the direction BC regardless of the direction of AC.

Figure: Creep Parallel and Perpendicular to Movement from Reset Position versus Logarithmic Time. Pre-reset move at 30° to post-reset move.

At the end of these experiments, we break one of the three actuators on Test Stand Zero. We dismantle the test stand and prepare for Test Stand One.


[06-JUL-22] Our surface-mount re-flow oven is up and running. Our plan is to solder our actuators to their base board by mounting them in a fixture, applying solder paste to the base board, and heating them up in the oven. We can heat them to 180°C if we use 138°C melt solder paste, or 236°C if we use 183°C solder paste. We plan to glue the positioners together, so our glue must withstand the oven. We begin by studying the effect of oven temperature upon our black DP270 electronic potting epoxy.

Figure: Two M2 Screws Glued Together. Snapping the joint with weight is our strength test.

Calvin reports, "I took M2 screws and glued them head to head with black DP270 epoxy and let them cure overnight. I then placed one into my setup as shown in the attached photo and began adding weights till the joint failed. I tested three pieces like that and recorded weights of 300g, 180g and 360g. The 180g one failed sooner I believe because I loaded it with the epoxy blob down. I also took similarly glued screws and placed them in the reflow oven on the regular cycle. The regular heating cycle I have been using for the oven begins by heating to 110°C and holding for 60 seconds. It then rapidly increases temperature to 236°C for 5 seconds before allowing the temperature to drop to 180°C for another 5 seconds and then cooling off. After this the epoxy joints became very brittle to the point that one broke in the oven and the other was easy to break with only a couple grams of pressure in my fingers. I also tried baking some epoxied screws with the low melt cycle which starts by heating to 100°C for 60 seconds, then increases to 180°C for 5 seconds, then lowers the temperature to 145°C for another 5 seconds and then cools off. This I found actually made the joints quite a bit stronger, I measured breaking weights of 700g and 650g for the two that I baked on the lower setting. I will look if there is high temperature epoxy we can buy, but it does appear that using the low melt may be an option for attachment of the masts."

Figure: Epoxy Strength Test Stand.

[13-JUL-22] We try out J-B Weld Steel-Reinforced Epoxy (McMaster 7605A4). This glue is rated to 290°C. We glue two screws together, allow to cure overnight at room temperature and then place it in our oven. We pre-heat at 145°C for several minutes, then the oven raises the temperature to 240°C in less than a minute. The glue cracks, as shown below.

Figure: Left: Crack in Heated J-B Weld Glue. Right: Cavity in the Crack.

Opening up the crack, we see signs of air pockets within the glue. We mixed the glue with a stick. We will try a nozzle to reduce air bubbles and see if the glue still cracks.

[15-JUL-22] When mixed with a nozzel, the J-B Weld epoxy does not crack in our 240°C SMT reflow temperature cycle. We also test DP460 (McMaster 7467A26), a structural epoxy we have been using for decades. The DP460 turns a light shade of yellow in the 240°C cycle, but does not crumble or crack. The DP460 epoxy is rated up to 180°C. When first mixed, the J-B Weld is runny, which does not suit some of our gluing steps. But we can leave it for half an hour and it is viscous enough for our purposes. We have been gluing actuators to steel tubes with the J-B Weld, as well as ferrules to actuators and tubes, and it makes strong, reliable bonds. Another advantage of JBWeld is its cost: $8 per cartridge compared to $44 for DP460. We are willing to mix larger quantities, which results in more reliable epoxy.

We have a positioner assembly fixture. Our objective is to keep the distance from the base of the actuator to the tip of the fiber consistent to within ±100 μm, and to make the entire positioner straight to within ±0.5 mm. Later, when we assemble sixteen positioners onto a cell, we will use another fixture to arrange the fiber tips to within ±0.1 of their nominal positions. The positioner assembly fixture provides a block of plastic provides three sets of counter-sunk apertures, one set for each of three stages of assembly.

The first set is for gluing an actuator to a mast. The block is supported above a stop that holds the mast at the correct height so that the length of the actuator and mast combined will be correct. We glue four actuators to tubes. After curing, three come out of their apertures with a firm twist. One will not come out until we grab the actuator with pliers and a layer of rubber and twist. Once it starts to turn, the actuator comes free and we draw the entire mast up through the aperture. Nevertheless, we conclude that this first step is practical.

The second set of apertures is for gluing a ferrule to the mast. Each 1.25-mm diameter ferrule contains a polished optical fiber. At the other end, we must strip the 0.9-mm jacket from the fiber so that the end of the jacket is recessed several millimeters into the actuator. We glue three ferrules to three masts. When the glue is cured, we can remove one mast easil from its aperture, but the other two are well stuck. One we destroy by trying to twist it with pliers: the tube collapses. The other we are able to force out by turning the fixture upside down, placing a 1.25-mm ferrule in the aperture, and tapping the ferrule with a weight. We tap the ferrule of the collapsed tube out of its aperture also. All three ferrules now have dirt and glue on them but a little hand polishing recovers the tips of the fibers. We have no trouble hand-polishing with the mast and actuator above the ferrule. We are not sure this step is practical.

The third set of apertures is for gluing a ferrule into the base of the actuator. At the same time, we glue the protruding fiber into the ferrule. We perform this step with two ferrules. We have fiber sticking out of the tip of each. The clearance between the ferrule flange and the inner diameter of the actuator is significant. The test fixture centers them upon one another and we fill the gap with glue. Some glue is bound to seep out of the actuator and fill the plastic aperture. But we prepared one ferrule in actuator base yesterday, and to day we remove this one with a hand twist. We conclude that this step is practical.

We have a base board fixture that allows us to align the top and bottom layers of our Positioner Base Boar while we glue them with a thin layer of JBWeld. We glue the first pair of boards, using as little glue as we think will provide a bond, in the hope of avoiding any glue entering the 1.25-mm holes that will accept the ferrules.

We clean and check both our fiberscopes. One is set up for inspection of 1.25-mm ferrules, the other for 2.5-mm ferrules. We can place a positioner in the fiberscope to inspect the fiber tip any time we like, and we clean and repair the polish of the fiber tip by hand. We also have a polishing machine with custom adaptor plate set up to perform the entire polish procedure of the base ferrules.

[16-JUL-22] We have two bottom ferrules glued into actuators. They both come out of the fixture easily. Both are well-centered. One is a little crooked: the one we have to push into the actuator because the fiber jacket inside was not cut back. The other is straight and perfect. Both ferrules have fiber sticking out. We scribe, crack, and polish. Fiber looks perfect on both ends of both positioners. We have our two-layer base board prototype glued together. The joint is strong and there is no glue in any of the ferrule holes.

Figure: Base Plate and Prototype Base Board. Left: base plate bottom side, showing kinematic mount. Right: two-layer prototype board provides counter-sunk holes for positioner base.

When we insert the base of the perfect positioner into the two-layer base board we find that the flange is longer than our counter-sink is deep, so the actuator does not sit on the surface of the base board.

Figure: Flange Protruding from Base Board.

The base board drawing shows the counter-sink for the flange should be 1.7 mm deep. Ours is the depth of the top board, 62 mil = 1.6 mm. The flange appears to be 0.5 mm longer than we expected. We have re-ordered the A304302X circuit board 78 mil thick, which should be perfect.

[27-JUL-22] We have our 78-mil top-layer base boards. We glue one to a bottom layer by spreading a thin layer across the top-side of the bottom layer, making sure no glue is in the holes. We clamp in our alignment fixture. The next day, there is glue in most of the holes and the holes of the bottom are off-center with respect to those of the top. We can clear the glue out of the ferrule hole by pressing a ferrule throug. But because the holes are off-center, we can't put the positioner ferrule all the way in. If we just hold the two layers together, the positioner sits perfectly. The JB-Weld glue has been 100% reliable, curing every time when mixed with a stick.

[29-JUL-22] We have 11 positioners, completed several days ago. Upon handling, we find the bond between the actuator and the mast breaks in four of the eleven. The mast and actuator are transfixed by the fiber and ferrules, but we can move the mast a few millimeters in and out of the actuator, and we can rotate the mast. We insert more glue, agitate the glue into the gap between the mast and the actuator. We lay the four positioners flat with a support for the mast to make them straight. Today they are strong and straight.