Introduction: DTS-based Coil High-resolution Temperature Profiler

This tutorial describes the process of generating and building a coil frame which holds a DTS fiber optic cable. These coils can be used to map temperature profiles at unprecedented resolutions and accuracies on the mm scale.


The tutorial describes the following steps:

1) Using the code to generate laser cutting files

2) Selecting the right material

3) cutting the template

4) Assembling the frame

5) Winding the coil

6) Installing the coil in the field

Supplies

  1. Sheet of laser cuttable material of choice (white, high gloss 3mm PMMA is recommended)
  2. Laser cutter (often available on campuses, but commercial laser cutting services are also rather common and accessible)
  3. Acrifix acrylic adhesive or any other applicable adhesive if another material than PMMA is preferred
  4. DTS-compatible fiber optic cable of sufficient length
  5. Luster screw terminals that are compatible with the fiber optic cable diameter of choice

Step 1: Generating Laser Files

The design of the frame that will hold the DTS fiber in place is based around the method of laser cutting. In this method, a computer generated file is passed to a laser cutting machine to cut out a template from a thin sheet of material. The path is traced with a very high accuracy of around 0.1mm. This makes the method very suitable for high accuracy applications, such as this one.

The coil design is cut out from a sheet of material, after which the pieces will have to be assembled. This step describes the process of generating the cutout template for these parts.

Parametric script

To generate the cutout template, a grasshopper script was made. This is an extension to the Rhino software, specifically aimed at parametric design. This means that the files are not made by hand, but rather automatically generated from a set of input parameters. This is results in exceptionally quick and accessible iteration and prototyping. A full list of adaptable input parameters, along with example values used in a field campaign, are shown in the supplied table. These are also the parameters that will be found at the top left of the grasshopper file and can be adjusted to specific cases. The file is hosted in this repository ('DTS-based-coil-measurement-technique' on GitHub) containing all documents that are relevant to the project. An explanation of the parameters and their implications is listed below:


  1. Coil radius: Specifies the winding radius of the fiber around the coil
  2. Coil height: Sets The height of the coil
  3. Number of windings: Sets the number of turns the fiber makes to the top of the coil. This number directly determines the resolution of the coil and is one of the most essential parameters.
  4. Number of support ribs: Specifies the number of vertical support ribs around which the fiber is wound. The higher the number of support ribs, the closer the coil is to being circular. Furthermore, they increase the rigidity of the coil, especially its resistance to torsional strain. However, a higher number of ribs will also increase the mass of the frame, and thus the the amount of heat that it stores, influencing the fiber temperature. Additionally, the frame will be more significantly impacted by environmental effects, such as radiation and wind, as a result of its increased surface area.
  5. Support rib width: Sets the width of the support ribs. Wider ribs make the structure stronger, but increase the mass and surface area.
  6. DTS fiber margin: Specifies the amount of space to be left between the top of the coil and the final point of contact with the fiber optic cable.
  7. Number of support rings: Determines the number of horizontal support rings holding the vertical ribs in place. Adding these rings at regular intervals keeps the ribs from bending. However, they do add more mass and surface area. Furthermore, as the rings are horizontal, they store water after rainfall. This also influences measurements due to the effects of evaporative cooling.
  8. Support ring thickness: Sets the thickness of the horizontal support rings, determining the horizontal surface area of the rings. Thicker rings are stronger, but the same caveats apply as above.
  9. Polygon smoothing radius: Determines the degree to which the edges of the polygonal support rings are smoothed. Optimizing this parameter results in stronger support rings, as sharp angles tend to break more easily under strain. Making the parameter much larger than the coil radius results in circular support rings if desired.
  10. Ring distance from edge: Specifies the inward offset with which the support rings are positioned with respect to the fiber. Increasing this parameter shifts the rings further inward, away from the fiber optic cable. This is done to keep the rings from making unnecessary contact with the frame and to minimize radiative effects on the fiber, as a result of the frames surface.
  11. Fiber optic radius: Sets the radius of the fiber optic cable used for the DTS
  12. Luster terminal length: Sets the length of the specific luster terminal that is used to clamp the fiber optic cable
  13. Luster terminal width: Sets the width of the specific luster terminal that is used to clamp the fiber optic cable
  14. Stake length: Sets the length of the stakes at the bottom of the coil. These stakes can be used to embed the coil into a soft surface, such as soil. These stakes can be made part of the support ribs, or cut out separately. The advantage of the latter is that the stakes can be driven into the surface individually, rather than compromising the whole frame at once. This is especially helpful in a case where the stakes are long and the surface is difficult to penetrate. Setting this parameter to 0 results in flat-ended support ribs.
  15. Sheet material thickness: Specifies the thickness of the sheet material that will be used to make the frame. Note:This parameter determines the width of the slots that will be used to slide the parts together into the final frame. The material thickness should be measured from the actual sheet that will be used and has to be put into the script with a high accuracy (to at least 0.1mm). Do not use the value given in the material specifications, as sheet thickness tends to vary significantly. The script generates slots of exactly the right size for a friction fit. Making the margin too tight could make brittle materials crack. A slightly loose slotted connection can be fixed with adhesive, but will deteriorate precision of the frame. Compliant materials, such as wood will work very well on a friction fit and usually require no adhesive. Brittle materials, such as PMMA tend to break when attempting friction fits and usually require larger margins (~+.1 mm) and adhesive. To account for this, simply increase the measured sheet material thickness by .1 to .2 mm in the input parameters.
  16. Laser kerf: Sets the cutting width of the laser that is used. Once again, it is important to accurately determine this parameter as it determines the quality of friction fits. Most machines have a kerf of 0.1mm. The kerf is usually listed as a technical specification of the machine, but can also easily be determined by a simple test: Cut out a square of exactly 10x10mm and measure the dimensions of the result. The difference between this measured dimension and the theoretical one gives the kerf (half the kerf on both sides of the square add up to one).
  17. Distance between parts: Sets the distance between the cutout parts in the final file.
  18. Number of rib sections: Allows for the support ribs to be spit up into sections. This results in efficient material use and allows for coil dimensions which exceeds the laser cutter work area limitations. Setting this parameter to an integer higher than 1 will split up the ribs, automatically generating H-connector pieces.
  19. Rib split spacing: Sets the spacing between the sections of the support ribs after splitting.
  20. Rib section cut depth: Sets the depth with which a cut is made for the H-connector joint.
  21. H-connector width: Sets the width of the H-connector pieces.
  22. Number of ring sections: Similar to the ribs, this parameter sets the number of sections into which support rings are split up. Setting the parameter to 1 leaves the ring in one piece.
  23. Ring section cut depth: Sets the depth of the hole-tenon joint.
  24. Ring section separation spacing
  25. Finally there are some boolean (true/false) variables, which change the way the path is generated. Many of these variables turn certain details on or off. Their state can be changed by double clicking the buttons:
  26. Split stakes: This parameter specifies whether or not to detach the stakes from the support ribs. Setting this parameter to 'false' leaves the stakes as part of the ribs, which is convenient for short stakes. Setting the parameter to 'true' results in separate stakes, which are connected to the support ribs using H-connectors. This is convenient when longer stakes are required.
  27. Include luster terminals: This parameter determines whether the holes for the luster terminals are included at the first and last support rib. This parameter can be turned off if a different means of securing the cable is preferred.
  28. Bottom ring: This parameter determines whether or not the bottom most ring is included in the design. One might prefer to leave out the bottom ring and support the bottom of the coil in a different way, such as embedding the coil into soil. Keep in mind that an auxiliary ring is necessary in this case during the winding process to avoid fracture onder high stresses. The auxiliary ring can later be removed after installing the coil. Note: Leaving out the bottom ring is not recommended, as the fiber optic cable introduces a lot of stress at the bottom of the frame. Winding with an auxiliary ring and removing it at a later stage is a very difficult process.
  29. Auxiliary ring: This parameter determines whether an auxiliary ring is generated. This is only necessary when leaving out the bottom ring. The auxiliary ring serves as a temporary placeholder during the winding process. This feature is only recommended if it is absolutely essential to leave out the bottom support ring. The auxiliary ring should ideally be cut from a cheap, compliant material, such as MDF. This ensures that the ring is easily removed at a later stage.
  30. Auxiliary ring thickness: (optional: can be turned off) Sets the thickness of the auxiliary ring. This is an additional ring to help set up a coil with a missing bottom support ring. Sometimes the bottom support ring may be omitted due to practical constraints. In this case, the auxiliary ring can be used as a temporary placeholder during the winding process. Note:If possible, it is always recommended to include a permanent bottom support ring, rather than using the temporary auxiliary ring. Omitting the bottom ring causes high strains on the bottom section of the coil, which may lead to failure.
  31. Full calc: This parameter turns the full calculation on or off. Turning this parameter off allows for real time parameter adaptation and gives a proxy of what the final result will look like. Doing the full calculation takes more time and should only be done after parameters have been properly set.


As mentioned before, it is possible to change parameters in real time and see how the paths change. To be able to see the traces, a couple of steps need to be taken:

  1. In the Grasshopper window, navigate to the top right of the screen and select the green icon that says 'only draw preview geometry for selected objects'.
  2. When tweaking parameters, navigate to the 'Full calc' variable and turn it off (set to false).
  3. At the top of the variable box list, there is a box which reads 'use this curve to test values'. This collection of curves gives a proxy of the final cutout and can be used to quickly see the effects that the parameters have on the geometry. Click this box once (it should turn green)
  4. Now navigate to the Rhino window (which opens automatically in a different window when a grasshopper file is opened). 4 different view windows should be open. Double click the box that reads 'top view'.
  5. All of the curves should now be visible in green. Changing the input parameters will change these paths in real time.

Take some time to vary the input parameters to get an idea of the way they change the cut path.

For larger coils, it is possible that the resulting path will not fully fit onto the bed of the laser cutter. More advanced CAD (Computer Aided Design software) users may generate multiple coil sections and modify the support ribs such that they can be slotted together after the cutting process. A similar approach can be taken for the support rings by breaking them up into sections which can later be joined using tenon hole connections. This technique essentially removes all constraints on coil dimensions. This feature may later be added to the script to automate the process.

Once the final desired cut shape has been achieved by tweaking the template, the file must be exported into a file format which is suitable for laser cutting. To do this, execute the following steps:

  1. Turn the 'Full calc' parameter back on (set to true). Depending on the geometry used, this may take a while to process. Make sure to not change any parameters anymore once this variable is turned on, to prevent long processing times.
  2. navigate to the final node on the far right of the grasshopper script, which reads 'final SVG'. Select it to make it turn green. This should show the final cut path in the Rhino window.
  3. Right click the box and select the 'bake' option. This exports the generated Grasshopper path into a physical path in the Rhino software.
  4. Finally, in the rhino window, select all paths by running 'ctrl+a' and run the 'export' command. Fill out the required dialogue boxes and specify '.svg' as the output filetype. This saves the path into a file which can be used by a laser cutter to trace the outlines of the parts.

Step 2: Material Selection

Before cutting out the parts, a material needs to be selected. Virtually the only constraint on this material is that it is compatible for use in a laser cutter. Generally, sheets with a thickness of up to 10mm can be cut in a laser cutter, depending on the specific material. It is recommended to use thinner sheets (<5mm) as it minimizes the mass and thus the heat storage within the frame.

For the field campaign at Cabauw (the first use case of this design), a 3mm sheet of high-gloss, white PMMA was used. This was done for several reasons:

  1. PMMA has a relatively low heat conductivity
  2. PMMA has relatively low heat capacity
  3. PMMA is resistant to water and can be fully submerged without issues
  4. PMMA is highly UV resistant when compared to other polymers
  5. PMMA is commonly available in high-gloss white variants which minimizes the absorption of solar radiation
  6. PMMA is available in many different thicknesses. 3mm was deemed to be the optimal thickness for that application.

Though it is worth mentioning that PMMA also has some downsides:

  1. PMMA is a brittle material, which means it fractures easily under small tolerances and high stresses
  2. Cast PMMA tends to have a relatively large variance in sheet thickness. This makes it more difficult to make accurate slotted joints between parts as more margin has to be taken. Note: Extruded acrylic is a better alternative when a constant sheet thickness is required, though extruded acrylic sheets are slightly more difficult to obtain.


After an extensive material analysis, this material was determined to be the most suitable for the application. However, the laser cutting method allows the use of whole range of other materials. For instance, when the coil is kept in a dry environment without much radiation, MDF or plywood would be a very suitable choice, due to their advantageous thermal properties. Though when measuring in the field, polymers are recommended.

Step 3: Cutting Process

Once a sheet of material has been selected and the SVG file has been generated, the parts can be cut out using the laser cutter.

There is a wide variability in the way different laser cutter models are operated. Therefore, a complete guide on this process cannot be provided. Experienced users of similar machines will most likely already know how to operate a laser cutter and use SVG files to cut out the parts. For less experienced users, it is recommended to either find an experienced operator in campus workshops/makerspaces or make use of a commercial cutting service.

After completing this step, there should be a collection of several parts:

  1. Support rings (Can be split into parts for more efficient material use)
  2. Support ribs
  3. Auxiliary ring (optional)

Make sure to keep accurate track of the order in which the support ribs are cut. Preferably number them using tape. The order of the ribs matter, because the notches for the fiber are linearly shifted upwards to make the helical pattern. If parts have gotten mixed up, align the support ribs and shift the order until a rising array of notches is achieved.

Step 4: Frame Assembly

After cutting out the parts, the frame can be assembled.

The way the parts fit together is rather straightforward: Support ribs are slid onto the support rings using the slots. Some things to keep in mind:

  1. As mentioned before, if the size of the coil extends the dimensions of the laser cutter, it is possible to break up the support ribs into segments. Furthermore, cutting out the support rings whole makes for very inefficient material use. Therefore these may also be segmented using tenon hole connections. Start off the construction process by assembling the full support ribs and rings. Make sure to do this on a flat surface, to make sure that the joints are flush. Use appropriate adhesive to secure the bond. In case of compliant materials, such as wood, friction fits often suffice, given the right margins. These joints do not require adhesive.
  2. For the support rings, simply apply adhesive to the tenons and holes. Lay the segments on a flat surface and join them together. It is recommended to perform this action on a surface which does not bond to the adhesive that is used. For many adhesives, lamination foil or cling wrap is a suitable material
  3. The support ribs, if segmented, need to be joined in a different way. Support ribs are joined using the H-shaped connectors. To join two segments, use adhesive on both slots of the H-joint and slot the two rib sections into this connector. The H-joint should be perpendicular to both rib sections.
  4. If stakes are included and segmented, they are joined to the coil frame in the same way as rib sections: with an H-connector. It is recommended not to glue these to the frame, but rather keep them separate. This makes installation and dismantling easier and improves reusability.
  5. Once the individual parts are complete, start by adding adhesive into the slots of the first rib and slide it into the support rings. Put the configuration down horizontally on a flat surface. Work carefully, as the configuration is most fragile in this state.
  6. Repeat this process and gradually work though the ordered stack of support ribs by gently rotating the structure with every additional rib. The structure should gain structural integrity as the process progresses. If the joints won't stay in place, first glue one half of the cylindrical frame and finish the other half once the glue has dried.
  7. Tension straps may be used to firmly keep the ribs in place during the curing process, if required. Ensure that the straps are only kept at moderate tension and should only be tightened at sections with a support ring.


Example pictures are included both of a small MDF prototype and a 1 meter PMMA frame used in the field campaign at Cabauw.

Step 5: Coil Winding

Once the adhesive has cured, a rigid cylindrical frame should be left. The next step is to wind fiber optic cable around the structure, under slight tension. Achieving the right tension adds structural integrity to the frame and increases the accuracy of fiber position.

  1. To avoid cable damage, the luster terminals have to be modified to have a rubber/plastic buffer between the screw and the cable. There are many different sleeves and buffers that will work to protect the cable. A piece of a rubber plumbing ring was used in the Cabauw campaign. Make sure to have similar materials on hand.
  2. Start off by slotting the luster terminals into the designated holes in the support ribs. They should be on the opposite side of the winding direction, such that the terminal is pulled against the support rib, as is shown in the image with the MDF frame.
  3. Feed the appropriate length of fiber optic cable through the bottom luster terminal. It should be enough to reach the DTS machine, including calibration baths. In the Cabauw campaign, a 100m fiber margin was kept on both ends of the coil. Make sure to neatly loop this length of cable into a bunch and strap it together using tie wraps.
  4. Tighten the luster terminals, making sure that there is some protective material between the fiber and the screw (see bullet 1). It is important not to overtighten the terminal, as this may cause cable damage or breakage, resulting in signal loss.
  5. If possible, prepare by having the fiber optic cable spool on a spindle which can freely rotate. This will make the winding process much easier.
  6. Start off the winding process by winding the fiber into the first notches on the support rib. Keep the cable under tension while winding, but don't apply excessive force. Especially at the start of the process, make sure not to torsionally strain the frame. This will result in the frame twisting around its central axis. Make sure to properly support the frame while winding to prevent this from happening.
  7. Keep winding the coil until the top of the frame is reached.
  8. Here, another length of cable needs to be fed through the second luster terminal, in the same way as the first terminal. What complicates this step is that the coil is now wound and needs to be kept under tension. If possible, ask for assistance to hold the fiber in place while feeding the cable through the second terminal. Alternatively, secure the fiber in some other way, for example by wrapping it around a rib and taping it. Make sure not to introduce any bends or kinks into the cable. Measure off the required length and cut the cable from the spool.
  9. Feed this length of cable through the second luster terminal and rewrap the final set of windings to ensure proper tension. Tighten the second luster terminal in the same way as the first one.

After completing these steps, the final coil is ready to be deployed in the field.

Step 6: Coil Deployment

There are many different applications for the design. Consequently, there is a wide variety of field conditions in which the coil can be deployed. During the Cabauw field campaign, the coil was installed in soil. However, the design will also work under water, in snow, in ice, or on top of solid surfaces, such as concrete. This step merely illustrates an example deployment.

To install the coil in soft soil, separate stakes were cut out. The advantage of cutting these stakes separately from the ribs is that they can be inserted individually, rather than as a whole. The installation was done by completing the following steps:

  1. Holes were pre-drilled using a stencil
  2. The individual stakes were inserted into the soil.
  3. The coil was placed on top of the stakes, making sure al ribs were properly slid into the stake slits. Adhesive was used in this step, but could also be omitted.
  4. The top of the coil was tethered to the ground in four directions using 0.5mm wire and tent pegs. This was done to further protect to coil against heavy winds.

All other steps relating to the field measurements, such as calibration and DTS setup, are standard DTS protocol.