Our app was written with 2008 Visual Basic and will load and run on a Windows XP & up PC. It's a text editor that does calculations from depths of cuts/laser power level commands in one gcode file and then adds a variable feedrate (Feed Rate Change) to the end of command lines based on a set percentage of the feedrate. It creates and saves a new Gcode file with the PicFRC added to it's name so the original file does not get overwritten in the same folder.
The Feed Rate Change process was developed and invented by John Champlain to expand the shade range when engraving photos using a Laser Diode so shading enhancements are achievable.
We used John's process with this simple Windows App that we call PicFRC. Short for "Picture Feed Rate Change".
Step 1: Generating the Original Gcode in PicLaser Lite
PicLaser Lite is a simple, easy to use image to gcode Windows App for engraving photos, but it does not have the added option for the Feed Rate Change to the gcode.
This Windows App was included with every EmBlaser shipped from the Darkly Labs LazerBlade KickStarter Campaign, so we needed a way to add this photo engraving enhancement feature to the gcode so it could be used when engraving photos with our EmBlaser.
The EmBlaser uses a grbl controller with a PWM output to vary the intensity of the 9mm Nichia 2.5W Laser Diode with a range of S0-S255 laser power commands. The EmBlaser does an excellent job engraving 8bit shaded images on different materials.
Generating a Gcode starts by loading a 8-bit grayscale or a 24-bit BMP format picture file into PicLaser Lite. Here is the original Roy Rogers image we used before is was re-sized and edited for the example photo engraving shown. Wikimedia Commons is a very good source for public domain images.
The set feedrate is determined by the amount of burning power the laser diode is capable of, on the material being engraved on. We determined that 110IPM (2794mm/min) is the fastest we can laser engrave a photo at max power with the default amp setting at 1.8a when engraving on Poplar wood with the EmBlaser.
Since our first example is without using the Feed Rate Change feature, we starting out with a lower feedrate of 90IPM (2286mm/min) to get darker overall shading
The Pixel Resolution (step over & step ahead) is based on how small the laser's beam can be focused. With our EmBlaser, we were able to focus it down to .005" (.127mm) which is the Laser Diode's burn line width using a 3 element AR coated glass lens.
We set the Pixel Resolution at .006" (.1524mm) and engraved at a 45 Degree angle. By generating the code this way, the Laser Diodes .005" (.127mm) burn line width will slightly overlap to prevent un-burnt lines showing in the engraving.
The Minimum S Laser Value was set at 10 and the Maximum S Laser Value was set at 255..The picture engraving shows the results we achieved on Poplar with these settings.
Step 2: Processing the Gcode in Our PicFRC App
In this step, we loaded the original Gcode file from Step 2 into PicFRC and made some adjustments to the settings. The first video shows the settings needed and work flow process for adding the variable feedrate to the original Gcode file. The second video shows the Gcode file running on our EmBlaser and laser engraving the Roy Rogers & Lynne Roberts image. Notice the feedrate speeding up in lighter areas and slowing down in the darker areas and making the the overall engraving shade range expanded and more defined. We used PicSender to stream the Gcode to the EmBlaser's grbl controller.
The original Gcode file has 973,877 lines of X,Y and S Gcode commands and PicFRC took 1 minute & 20 seconds to scan each line, calculate from the laser power command and write the variable feedrate at the end of each command line. PicFRC will also let you select the axis letter you used in PicLaser Lite based on the controller your using from a Z,A,B,C or S.
The PicFRC App is simple, easy to use, it's a text editor & calculator built into one program. It has a progress bar to show when running it's processes. It also uses your default Windows text editor to view or manually edit the Gcode files.
PicFRC can also be used for spindle photo engravings such as Lithophanes to slow the small engraving bits down in deeper cutting areas to reduce the chip load and lower the risk of bit breakage.
It will also divide very large Gcode files up to 5 smaller ones for a work around the Mach3 10,000,000 gcode line limit.
Step 3: Faster TTL Engraving
Vector engraving lines is a faster process then raster engraving, so we decided to do a test on how far we could push the feedrate when engraving a Black & White ClipArt image.
We determined the Maximum feedrate the EmBlaser could run raster gcode was 171IPM (4343.4mm/min) when using a .006" (.1524mm) Pixel Resolution.
We edited the image in PicEdit Lite for the size, saved it, then re-oped it to Dither the image with the Threshold Algorithm to ensure it was pure Black & White. In PicLaser Lite, we set the Feedrate at 170IPM (4318mm/min), Max power to "255" and min power to "0" and engraved at a 45D angle. The set feedrate in PicLaser Lite is not relative when using PicFRC and adding Feed Rate Change afterwards.
By using a Dithered image, there will only be a S power value of "255" in Black areas and S power value of "0" in white areas with no other power levels in-between. This is called TTL (pulsing) laser engraving.
We opened the file in PicFRC and set the feedrate at 170IPM (4218mm/min), Max power at "255" and Min power at "0" with a 60% Feed Rate Change. In the White areas it will run at 170IPM (4318mm/min) and Black areas it will slow to 68IPM (1727.2mm/min).
The engraving was 6.25" wide and 4.932" tall and took 1 hour 20 min to complete. This process does not replace vector engraving as it's still slower, but it will give better detail & results when using a Dithered line art or ClipArt image and raster engrave it instead.
This is the first time trying this and we could have lowered the percentage some more in PicFRC so it would have ran a little faster in the Black areas.
Step 4: Credits
Thank you everyone for visiting & reading our instructables.