Skip to content

Machine settings, photos of material test swatches, and code to generate diffraction patterns on stainless steel with a MOPA fiber laser

License

Notifications You must be signed in to change notification settings

Jyothis/MOPA_Laser_Diffraction_Gratings

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MOPA_Laser_Diffraction_Gratings

Machine settings, photos of material test swatches, and code to generate diffraction patterns on stainless steel with a MOPA fiber laser. By moving the laser spot at 300mm/s, and pulsing at 300KHz, it is possible to make a diffractive pattern with 1 micron pitch on stainless steel sheets. The grating direction is formed perpendicularly to the direction of laser travel.

YouTube video for this project: https://www.youtube.com/watch?v=RsGHr7dXLuI

Animated GIF of patterns

I used a Cloudray GM100 MOPA laser engraver with 290mm focal length F-theta lens : https://www.cloudraylaser.com/products/cloudray-gm-100-litemarker-100w-fiber-laser-marking-engraver-with-4-3-x-4-3-scan-area?variant=43545779830945 GM100

The easiest way to get started making your own designs in Lightburn: Import an svg file, and Use the "fill" or "offset fill", 300 mm/s, 300KHz, 19% power, 60ns pulse width, .05mm line interval.

All substrates are polished stainless steel. .048" (1.2mm) is great because it doesn't warp much. .036" (0.9mm) is acceptable, but thinner metal has a lot of problems with warping. https://www.mcmaster.com/9785K12/ https://www.mcmaster.com/9785K13/ I used a vacuum chuck to hold the sheet metal flat while engraving: https://www.ebay.com/itm/276754053418 https://www.clampusystems.com/product-category/vacuum-tables/sg-vacuum-table-series/

#Folders in this repo:

grayscale_to_svg: Input a grayscale image where each pixel value will be translated to a diffraction grating angle. 0=0* 127=90* 255 = 180* These angles will be saved to an svg, with "pixels" that are filled with lines at the specified angle. The line spacing and pixel size are adjustable. The overall effect is to make a brilliant colorful image that shimmers as the lighting angle is changed.

color_image_to_svg: Input a color image, and map the colors to grating spacing, such that a correct color image will be produced at one particular lighting and viewing angle. This script also accepts a correction gradient to account for changes in viewing angle from the top to the bottom of the image. To use this, first run color_to_grating_pitch. Then run angle_and_pitch_to_svg

depthmap_to_parallax: Input a grayscale image, where each pixel value represents its distance from the surface of the "hologram". 0 = far in the distance 127 = at the hologram plane 254 = far in front of the hologram. 255 = don't process. Following this, use the grayscale_to_svg script.

hologram_experiments: Several scripts to raytrace a scene, and attempt to make a Benton (rainbow) hologram computationally. Work in progress.

Lightburn files with patches of parallel lines to make pixelated diffraction images:

https://drive.google.com/file/d/12zHf-Y7TlfyD0MUzwDPh6k9y4zcxdrhg/view?usp=drive_link

https://drive.google.com/file/d/146ngKSXb3AZLVU5jt7WBSEDFGEuxd7dS/view?usp=drive_link

Optimize travel speed and frequency for 60ns pulse .045mm line spacing and 19.6% power. Frequency vs Speed .045mm  60ns  19.6pct power

Optimize travel speed and frequency for 60ns pulse .06mm line spacing and 19.6% power. Frequency vs Speed .06mm  60ns  19.6pct power

Optimize travel speed and frequency for 45ns pulse .06mm line spacing and 19.6% power. Frequency vs Speed .06mm  45ns  19.6pct power

This electron microscope view of a series of .06mm spaced lines shows the start point and heat affected zone from overlapping lines. SEM wide angle

A close view with the electron microscope shows the pattern created by the laser pulses with 1 micron spacing. The pattern has almost no surface height variation, rather it seems to be an oxide layer that provides enough index change to make the grating function. SEM narrow

JPT M7 specs

JPT M7 pulse widths

Laser pulse waveform

Optimize power and line spacing for 100ns pulse at 300KHz. 19% power and .06mm spacing provides good quality with minimum heat input. Higher power and smaller interval work, but put more heat into the piece and may cause warping. Power vs Interval   100ns  300mm/s  300KHz

Optimize power and line spacing for 80ns pulse at 300KHz. 19% power and .06mm spacing provides good quality with minimum heat input. Higher power and smaller interval work, but put more heat into the piece and may cause warping. Power vs Interval   80ns  300mm/s  300KHz

Optimize power and line spacing for 60ns pulse at 300KHz. 19% power and .06mm spacing provides good quality with minimum heat input. Higher power and smaller interval work, but put more heat into the piece and may cause warping. Power vs Interval   60ns  300mm/s  300KHz

Optimize power and line spacing for 45ns pulse at 300KHz. 19% power and .06mm spacing provides good quality with minimum heat input. Higher power and smaller interval work, but put more heat into the piece and may cause warping. Power vs Interval   45ns  300mm/s  300KHz

Optimize power and line spacing for 30ns pulse at 300KHz. 19% power and .06mm spacing provides good quality with minimum heat input. Higher power and smaller interval work, but put more heat into the piece and may cause warping. Power vs Interval   30ns  300mm/s  300KHz

Optimize power and line spacing for 45ns pulse at 300KHz. Higher power range. Above 22%, even at 45ns pulse length, the diffractive pattern becomes less clear due to excessive heat input into the material. Power vs Interval   45ns  300mm/s  300KHz

About

Machine settings, photos of material test swatches, and code to generate diffraction patterns on stainless steel with a MOPA fiber laser

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%