This page is out of date and does not represent current practice.
Stringing Machine Purpose and Goals
The stringing machine's task is to inject loops of fiber into NOνA
cells. It must do this quickly and accurately without damaging the
fiber. It should be easy to use and should be able to recover well from
errors.
Major Constraints
Fiber is fragile
Fiber is prone to being scratched, so we must make sure it does not
move over any rough surfaces. Ideally it should never slide on any
surface.
Fiber is prone to being kinked. We will be using Kuraray s-type fiber
with a diameter of either 0.6 or 0.7 mm. Fiber with a diameter of
d mm is rated down to a bend diameter of 100d mm. Because
of the size of the NOνA cell, we will be exceeding this diameter
somewhat at the end of each loop for 0.8mm or 0.7mm fiber, however we
want to avoid doing it anywhere else.
We've been told that 0.8mm fiber is rated to a tension of 10N, but it
is not well understood what this means. Tests done by Dan
Cronin-Hennessy have shown that 0.8mm fibers can support roughly 25N
before breaking, but it almost certain that damage occurs before this
point. Tension tolerance presumably scales with the square of the fiber
diameter. We would like to keep the tension on the fiber well below 10N
at all times.
Fiber remembers its bend radius
The fiber wants to be the shape it was on the spool it was shipped
on. When it is wound onto smaller spools, it must be held at a non-zero
tension because otherwise it will expand and fall off.
Components and Definitions
- Main spool: the spool that the fiber comes on. It has a ~3m
circumference.
- Grooved spool: the metal spool that stores half a cell's worth of
fiber in a helical groove. It has a 1m circumference. It has a clip
which holds the end of the fiber in place.
- Buffer: The buffers exist to store fiber such that if the tension
starts to increase or decrease away from the desired value, the change
is automatically mitigated by decreasing or increasing the amount of
fiber in the buffer. (Otherwise the fiber would either break or fall on
the floor, respectively.) Each consists of a wheel mounted to a track.
The wheel is pulled upwards by a spring and is attached to a spring
potentiometer to measure its position.
- Main buffer: the buffer between the main spool and the cutter.
- Grooved buffer: the buffer between the grooved spool and the
puck.
- Main (grooved) motor: the servo motor which spins the main (grooved)
spool.
- Top fiber: the fiber which is spooled into the cell from the grooved
spool.
- Bottom fiber: the fiber which is spooled into the cell from the main
spool.
- Cutter encoder: an encoder on the wheel immediately before the
cutter which senses how much fiber has passed this point.
- Puck (sometimes called the "parachute" or the "ring", depending on
implementation): The device which the fiber is attached to as it is
sucked down the cell. So that we can keep track of the lengths of both
ends of the fiber, the fiber must not slide on the puck.
- PLC: Programmable Logic Controller, a specialized computer which
controls the system. It is programmed in assembly and can perform
arbitrary calculations. Has digital and analog inputs and outputs.
- Servo drive: a box which controls the servo motors. It stores many
parameters such as preset speeds and acceleration profiles. It takes
analog and digital inputs and has digital outputs. These are used to
activate presets, control velocity, handle errors, etc.
- Motor modes:
- Tension mode: The PLC can read the position of the buffers and
control the speed of the corresponding spool to keep the tension at the
desired value. When the PLC is doing this, we say that the spool is in
tension mode.
- Position mode: The servo can direct a spool to turn a specified
number of times and then stop. In this mode, that spool does not
respond in any way to the tension on the fiber. (Since there are two
spools and buffers, one can be in position mode as long as the other is
in tension mode.)
- Velocity mode: The servo can direct a spool to turn at a constant rate.
This is used in two ways:
- Jog: During setup, the operator can jog either spool forwards or
backwards at a fixed low speed. This is primarily useful for getting
the fiber into the main buffer (when a new spool is being started or an
error has occured).
- Grooved spool clip alignment: The grooved spool needs to start each
cell with its clip at the top. At the end of spool out, it will release
the fiber when the clip is in this position, but the spool will not stop
instantaneously at this time. So after each cell it will turn until it
senses that the clip is in the right place. This is also useful for error
recovery. Whenever the system resets, it will align the clip.
- Stopped: When the PLC is neither controlling the speed nor position
of a spool, but the servo is enabled, the motors will not turn. (The
motors also have brakes, but they aren't necessary in this case.)
- Touchscreen: The touchscreen controls the PLC by changing values in
its memory in response to button pushes. The touchscreen cannot perform
arbitrary commands when buttons are pushed, not even to the extent of
changing two PLC memory locations in response to a single button push.
All such functions must be done in the PLC. However, it can choose what
buttons to display based on the PLC state. This is used to avoid allowing
the operator to do things in the wrong order.
Stringing Machine Operations
This information is summarized in a
flow chart.
Order of operations in error-free stringing
Key
- BUTTON NAME
- The name of a touchscreen button.
- E#
- "Instantaneous" event: something that changes the state of the system in a discrete way.
- C#
- Continuous state or action in which something is in motion.
- C#
- Continuous state in which the system is just waiting for something to happen.
There is strict alternation between E and C states.
C1: Ready to start. System is finished with the previous
cell and is ready to start another. The main spool is in tension mode. The
grooved spool is stopped. The grooved buffer is locked.
E1: Operator takes hold of the
fiber, releases it from the cutter and readies the cutter to cut again.
C2: Threading. Operator pulls the fiber through the
machine.
E2: Operator attaches fiber to
the grooved spool.
C3: Waiting to spool up. Fiber is attached to grooved
spool.
E3: Operator pushes SPOOL UP.
The system engages position mode on the grooved spool.
C4: Spooling up. The system pulls the right amount of
fiber onto the grooved spool for the current cell.
E4: The grooved spool stops.
C5: Spooled up. The system is ready for the fiber to be
attached to the puck.
E5: The operator attaches the
fiber to the puck. The tension on the two sides of the puck is now
independent (ideally).
C6: Fiber attached to puck. The system is ready for the grooved
buffer to be unlocked.
E6: The operator unlocks the
grooved buffer.
C7: Almost ready to string. The system is ready to have
STRING CELL pushed.
E7: Operator pushes STRING CELL.
The system engages tension on the grooved spool.
C8: Ready to string. Tension is on, puck is stationary.
E8: Operator begins to move puck.
C9: Pre-stringing. Operator pulls puck towards cell.
E9: Operator inserts puck in
cell.
C10: Stringing. Puck and fiber are sucked down the
cell.
E10: At roughly the same time,
both ends of the fiber are released from the machine. The top fiber is
released from the grooved spool when there is no more fiber there. This
is accomplished mechanically. The bottom fiber is cut when the cutter
encoder senses that the right amount of fiber has passed. The end of the
bottom fiber which is still connected to the spool is clamped in the
cutter as part of the cutting motion.
C11: Post-stringing. Puck and cut fiber continue freely
down the cell for a short time. The vacuum turns off a few tenths of
seconds into this. Main spool handles maintaining tension on the fiber
which is on its side of the cutter. Grooved spool re-algins its clip
to the top.
E11: Operator locks grooved
buffer and moves machine to next cell. Machine makes SPOOL UP button
available.
State table for error-free stringing
Italics indicate a change in state.
| State # |
State name |
Grooved motor mode |
Grooved buffer |
Fiber |
Cutter |
Puck |
| C1 |
Ready to start |
Stopped |
locked |
Attached to cutter |
Engaged |
— |
| C2 |
Threading |
Stopped |
locked |
Moving towards grooved spool |
Open |
— |
| C3 |
Waiting to spool up |
Stopped |
locked |
Attached to grooved spool |
Open |
— |
| C4 |
Spooling up |
Position |
locked |
Spooling onto grooved spool |
Open |
— |
| C5 |
Spooled up |
Stopped |
locked |
Spooled on grooved spool |
Open |
— |
| C6 |
Fiber attached to puck |
Stopped |
locked |
Spooled on grooved spool, attached to puck |
Open |
Inserted |
| C7 |
Almost ready to string |
Stopped |
unlocked |
Spooled on grooved spool, attached to puck |
Open |
Inserted |
| C8 |
Ready to string |
Tension |
unlocked |
Spooled on grooved spool, attached to puck |
Open |
Inserted |
| C9 |
Pre-stringing |
Tension |
unlocked |
Unspooling from both spools, not in cell yet |
Open |
Moving with fiber |
| C10 |
Stringing |
Tension |
unlocked |
Unspooling from both spools into cell |
Open |
Moving with fiber |
| C11 |
Post-stringing |
Position/Stopped |
unlocked |
Still moving into cell, then done moving into cell |
Engaged |
Moving with fiber |
Time estimates
Based on a video taken on 2 Jan 2007 in which I (Matthew Strait) strung
three cells:
- E1-E3 (threading): 11s
- C4-E4 (spooling up): 12s
- E5-E6 (puck and buffer handling): 6s
- E8-E11 (stringing and setup): 18s
Total per cell: 46s. This does not include the time it takes to
attach the fiber to the puck, since no mechanism for that was available
on 2 Jan 2007. Adding a few seconds for this and rounding up for safety
gives an estimate of 60s. Realistically, it would not
be surprising if a 45s average were achieved by machine tweaks and
experienced workers, but at this point no promises can be made. Adding 5
minutes overhead per module since a new spool will be needed roughly
once per module gives 37 minutes per module total for stringing.
Problems and Solutions at Specific Steps
C1-C2: Ready to start, Threading
- If a new spool is being started, the main buffer will have no fiber
in it. In order to get started, the operator will use jog mode to
advance the fiber at a constant speed until there's enough in the buffer
that the tension can be engaged. No problem.
- The fiber might slip out of the cutter or the operator might lose
hold of the fiber. The main buffer will sense a complete loss of
tension and trigger the motor to stop. The system should then offer to
try the same cell again. It would be nice if the operator had a fiber
holding device rather than using bare hands. This would make slipping
less likely and also reduce the likelihood of fiber damage through
careless handling. Not critical: to be worked on.
C3-C4: Waiting to spool up, Spooling up
- The fiber can come undone from the clip before or during spool up.
The main buffer will sense the loss of tension and stop both motors.
Any fiber that is spooled up will likely fall on the floor and should be
discarded. Doesn't seem to happen.
C4: Spooling up
- If the grooved buffer is not locked, the wrong amount of fiber would
be spooled onto the grooved spool. The system should not display the
option to spool up unless the grooved buffer is locked. Done: no
problem.
- The fiber does not always spool onto the grooved spool cleanly.
Sometimes it skips a groove, for instance. This can't be sensed
automatically, but the operator should be watching. What then? How
serious is this? To be worked on.
C5-C9: Spooled up, ..., Pre-stringing
- The grooved buffer must be locked when the fiber is attached to the
puck. It must be unlocked when the fiber is being pulled out of the
machine. Since the system cannot detect the attachment process, the
operator must do the right thing. No problem.
C10: Stringing
- The vacuum must not be so strong that the tension mode can't keep up
with it. If either buffer bottoms out, it would be nice if the vacuum
could be automatically throttled. If that's not implemented, the system
should at least display a warning. Doesn't happen much: to be
worked on.
E10: Fiber release
- The clip may fail to release the fiber from the grooved spool. The
fiber will likely be damaged, so this is probably not a recoverable
situation. The operator should throw it away and try again. This
occurrence may be automatically detectable because if the clip manages to
keep hold of the fiber through the next half rotation it will quickly
bottom out the grooved buffer. (The spool will be pulling the fiber
backwards out of the buffer and the buffer will respond by spinning it
faster in the same direction, since it expects the fiber to only ever be
wound the other way!) On the other hand, if the fiber gets ripped out
of the clip before this can happen, it will be up to the operator to
notice the problem. Doesn't happen much, if at all.
- The cutter does not engage or engages but doesn't cut. This is
recoverable. The operator does the job of the cutter and cuts off a
liberal amount of fiber which can be trimmed later. No
problem.
C11: Post-stringing
- The puck bounces off of the vacuum machine at the far end far enough
back into the cell that the person at that end can't reach it. Probably
not a big deal as long as it is infrequent, since the vacuum can be used
to suck it back. Taken care of by tuning the vacuum
timing.
Other Concerns
Finiteness of fiber spools
The main spool will run out of fiber roughly once per module. How
will this happen and how do we handle it? Will it lose tension
significantly before the end, or is it taped down? The effect of losing
tension, either because we are close to running out of fiber or because
we have run out is that the main buffer will lose tension. This can
happen at any step of the stringing process. In general, the correct
response is for the system to shut off the motors and wait for the
operator to reset it. This might be a little clumsy if the cell is
half-strung, so maybe some elegant way of recovering from that should be
developed.
Should the system keep track of when the main spool is likely to
run out and warn the operator somehow? (I think this is probably
unnecessary.) How well determined are the lengths of fiber on the
Kuraray spools?
Accuracy of fiber length
The length of the fiber that is spooled onto the grooved spool is
precise better than 1mm. The error on the other side of the loop is
much greater because it has to be cut while it is in motion. The
process of attaching the fiber to the puck (by hand) also introduces
substantial error.
The goal is to waste the least fiber. If it is too short, the entire
30m is wasted. (Unless we accept some fibers just not reaching quite
all the way.) If it is too long, then the length over the optimum
length is wasted. So if the length of the fiber is a Gaussian random
variable with mean μ longer than optimum and a standard deviation
σ, then the average wasted fiber for a cell is:
Integrate[(30-x)/Sqrt(2π) e-(x-μ)2/(2σ2), {x, -∞, 0}]
+Integrate[ x /Sqrt(2π) e-(x-μ)2/(2σ2), {x, 0, ∞}],
Assuming 500,000 cells, let's look at the effects of various degrees
of precision of the cutter:
| σ | best μ | fiber wasted | restrung cells |
| 2cm | 7.2cm | 36km | 79 |
| 1cm | 3.8cm | 19km | 36 |
| 0.5cm | 2.0cm | 10km | 16 |
| 0.2cm | 0.8cm | 4km | 11 |
| 0.1cm | 0.4cm | 2km | 4 |
A plot of μ vs. fiber wasted shows, not too surprisingly, that
it's best to err on the side of larger μ, since the function rises
gently towards large μ and sharply towards small μ. Factoring in
the cost of time taken to unstring and restring cells also pushes the
optimal μ upwards. Most likely we will not be able to achieve
sub-centimeter precision, so we should plan on wasting at least 20km of
fiber due to this.