Welcome to Laser Pointer Forums - discuss green laser pointers, blue laser pointers, and all types of lasers

Buy Site Supporter Role (remove some ads) | LPF Donations

Links below open in new window

FrozenGate by Avery

My DIY Laser CNC build...

Ok Joe,
Here is how I'm doing my linear motion. The timing belt is anchored inside the slot, then rides up on the delrin rollers up to the pinion gear. It's about the cheapest form of linear motion I could find and has no noticeable backlash or play. I'm very happy with it. The back side just has two more rollers to act as guides.
Gb9wES6l.jpg

xCcCGril.jpg
 





BTW, someone had asked me about costs... I finally posted a parts list. This is just for the laser portion itself, not the spindle or extruder since I haven't got that far yet.

The openbuilds order would be $580... Most everything else I had, but just giving a quick look I'd guess about $150 for the diode, module, lens, meter, power supplies, etc...

So under $750 total... Not bad given the large volume work area and extensability to be a 3D printer / mill.

When I get to the mill portion I plan on using an RC outrigger, which I already own but cheap enough regardless... The 3D printing part the hotbed and extrusion head will obviously be the biggest expense, and they can both be had cheap enough.
 
rusirus,

I cannot find the laser 3 amp controller from Russia you talked about on ebay. Any info?

Joe L.
 
I think I ran across this before but could not find it again. They are sold out and no mention if they will sell again. I will keep an eye on it because if it sold they will make more.

Thanks again

Joe L.
 
rusirius,

You are using the cnc xpro board in the schematic. The version 2 is not ready from their posting. Did you purchase an earlier version or is the PCB available by itself what you used?

If the PCB is available now I think I will purchase one to try my luck. I assemble this kind of stuff all of the time. I am retired from NASA and trained people for flight soldering. Of course that did not include SMT when I was doing it but smt is all there is anymore.

BGA and some of the smallest new chips present problems by hand soldering but I have a controlled oven and do use solder stencils from time to time. Haven't found anything I can't do yet.

Anybody that needs to assemble boards just let me know. I also work on some FAA contracts for assembly of test equipment and prototypes.

Joe L.
 
I think I ran across this before but could not find it again. They are sold out and no mention if they will sell again. I will keep an eye on it because if it sold they will make more.

Thanks again

Joe L.
I spoke to the guy when I inadvertently destroyed mine. He's been selling them for some time now and didn't doing like he intended to stop. Probably just working on another batch.
 
rusirius,

You are using the cnc xpro board in the schematic. The version 2 is not ready from their posting. Did you purchase an earlier version or is the PCB available by itself what you used?

If the PCB is available now I think I will purchase one to try my luck. I assemble this kind of stuff all of the time. I am retired from NASA and trained people for flight soldering. Of course that did not include SMT when I was doing it but smt is all there is anymore.

BGA and some of the smallest new chips present problems by hand soldering but I have a controlled oven and do use solder stencils from time to time. Haven't found anything I can't do yet.

Anybody that needs to assemble boards just let me know. I also work on some FAA contracts for assembly of test equipment and prototypes.

Joe L.
I purchased direct from openbuilds and got the v2, I don't think they've officially released it, but it's out there.

I know what you mean, I've used paste and my trusty toaster oven a few times. Acceptable work but not exactly wave flowed. :) It's amazing how small some of the smt stuff is getting!
 
Just wanted to throw out a quick update. I've been pretty jammed up lately and haven't had much of a chance.

I had to re-code a bit of grbl. To make a long story short, I was maxing out at about 400mm/minute no matter what feed rate I requested. Come to find out, when grbl gets a spindle speed change command, it empties the planner buffer first, then changes the spindle speed, dwells, and then carries on... Since every line of my gcode contains an S command, and each line is only moving a pixel... well... things got kinda slow... So I recoded things so the S commands stay with the blocks and get passed down through the planner. Once the block is processed the PWM output is updated in real-time. This eliminated my speed issues and I can run at any feed rate I request now!

Anyway, here's a sample I did last night... I still have a fair bit of tweaking to do, but I'm definitely getting close. I had a few late night "wasn't thinking clear" screw ups (i.e. reducing the height of my oval and then setting my offset to that height reduction instead of 1/2 (since i was using a center origin point), etc... But still, it's a good example of what this thing will be capable of... I made this for my parents... (and yes, the black block was me editing the image to remove their name.)

UaEvpXol.jpg


And here's a short video of it running that:

 
Last edited:
rusirius,

Man you have got it. The picture looks great. That is exactly what I am trying to do with mine.

I ordered the laser driver from Russia and it is supposed to be here by the end of February. I am using MACH 3 so mine will be a little different. I am using the 'B' axis to control the laser intensity output. I edit the file and change all references of 'Z' to 'B'. I use M10 and M11 codes to enable the laser only when burning. I have had success with this method and my software seems to be working as expected. Only my laser driver using the MAX chip has had problems along with the over heating of the laser.

Cannot wait until the driver gets here.

Good job.

Joe L.
 
Last edited:
rusirius,

Man you have got it. The picture looks great. That is exactly what I am trying to do with mine.

I ordered the laser driver from Russia and it is supposed to be here by the end of February. I am using MACH 3 so mine will be a little different. I am using the 'B' axis to control the laser intensity output. I edit the file and change all references of 'Z' to 'B'. I use M10 and M11 codes to enable the laser only when burning. I have had success with this method and my software seems to be working as expected. Only my laser driver using the MAX chip has had problems along with the over heating of the laser.

Cannot wait until the driver gets here.

Good job.

Joe L.

Thanks Joe! I'm getting there but it's definitely still a work in progress. My most recent discovery is that my revised grbl code had a weird anomaly which resulted in the image losing definition (i.e. pixels getting more and more "blurry" as my feed rate increased. After thinking about it for a bit I figured the most likely scenario for this would be the power of the laser not changing fast enough. But after looking at the signals on the scope, it just didn't make sense... If we were running say 2000mm/minute and a pixel size of say .1mm, we're still only talking 333.3Hz... The PWM signal is running at 2Mhz... slightly over 6x our fastest change rate. Now granted that might not be "ideal", but it's still perfectly feasible. And these are extreme examples... Despite the actual laser "dot" being smaller, I've found that I typically run about a .15mm pixel size simply because the "gap" isn't noticeable without extreme magnification and it provides an overall lighter image that's more suited to accurately representing the gray scale input. So now we're talking 222.2Hz.

So anyway, after looking it over I think the problem was one of timing. The PWM for the laser is generated by the step pulse timer. I believe where I was adjusting the counter could have lead to errors since it was happening AFTER the step pulse timer was reset. I made a very small image run last night right before bed (literally very small at 8mmx8mm) and it looked good, but until I do more testing I won't know for sure if this fixed the issue.
 
I had to re-code a bit of grbl. To make a long story short, I was maxing out at about 400mm/minute no matter what feed rate I requested. Come to find out, when grbl gets a spindle speed change command, it empties the planner buffer first, then changes the spindle speed, dwells, and then carries on... Since every line of my gcode contains an S command, and each line is only moving a pixel... well... things got kinda slow... So I recoded things so the S commands stay with the blocks and get passed down through the planner. Once the block is processed the PWM output is updated in real-time. This eliminated my speed issues and I can run at any feed rate I request now!

Can you tell me which file and which part you changed?
 
Can you tell me which file and which part you changed?

It was actually rather complex. A lot of structures had to be changed, the extra setup option, bypassing of the normal spindle_run function when encountered during a linear or arc based move, and finally the change to pwm during the ISR timer firing (stepper timer). I've also made quite a few tweaks since then to how things are being handled. The "RPM" value (which is a float) received from the gcode line is now converted to a PWM value (uint8_t) right away and handled as an int from there on out so that smaller variables are passed around, etc..

If you check my code on github (username rusirius76) you'll find whatever master (9g) and edge (9h) versions I had pushed out last. I can't assure you they are solid working versions at this moment though. If I can remember I'll try to push my latest ones up tonight when I get home and get a chance to work on it a bit.
 
rusirius,

I received my laser driver from Russia today. I am wondering just how to set and measure the current setting? I see that you are using a nice volt/ammeter in your control box. Can you tell me the model and where you got it? Will it tell you the current across the laser directly?

Also wondering if you are using the PEP4 software to create the G-Codes for your pictures. I cannot get the settings to produce anything as nice as the image you posted of your parents. Using wood varies so much for each type and I still am playing with the settings and speeds.

Thanks again for posting your progress, and keep it coming.

Joe L.
 
rusirius,

I received my laser driver from Russia today. I am wondering just how to set and measure the current setting? I see that you are using a nice volt/ammeter in your control box. Can you tell me the model and where you got it? Will it tell you the current across the laser directly?

Also wondering if you are using the PEP4 software to create the G-Codes for your pictures. I cannot get the settings to produce anything as nice as the image you posted of your parents. Using wood varies so much for each type and I still am playing with the settings and speeds.

Thanks again for posting your progress, and keep it coming.

Joe L.

Sure Joe, let me see what I can do to help you out... :)

As for the driver, the meter I'm using is this model here: Clicky Clicky

I have it "inline" with the laser diode itself. On my openbuilds page (or I think in this thread too) I posted a diagram that shows a rough schematic, that will give you a good idea of how the meter is wired in. This let's me see both the current and voltage being delivered to the diode.

As for setting it, the procedure is the same as pretty much any other driver out there. I turn all the pots down all the way... Then power up and set grbl to output maximum power (in my case an M3 S255 command) which puts 5v on the driver modulation input. Then I turn the bias pot up till it reaches somewhere close to what I want for my minimum level (I've been using about 350mA, but that's with the faster feed rates, if I was still stuck being limited to 400mm/minute I could have never gotten away with that...)

Once the bias is set, then I turn up the gain pot until it reaches my maximum power level. Originally I was running them very hard but after losing a couple and finding that what I "thought" were acceptable levels for them aren't anywhere close (i.e. common info says 9mm are safe to run at 2.4A but the datasheet clearly specs 1.7A) That might be perfectly fine to overdrive so much for a laser pointer that has a short duty cycle any typically won't see a lot of "on" time anyway, but for a machine like this where the laser can be powered up at high power for extended periods of time I think it's killing them pretty quickly.

So anyway, that's about it... :) Pretty simple...

As for software, I'm actually using mostly PEP5 now, but results should be pretty similar. Initially I had an Inkscape plugin that I had modified the heck out of to generate the code I wanted, but after using PEP5 I stopped using that entirely. I do still use InkScape and GCode tools for generating text and paths that aren't rasterizations. In fact, the text in the plaque I did for my parents is done in InkScape and ran as a seperate run after the image was burned.

As for results... I'll admit it was pretty tricky at first. It comes with time and getting a feel for things... Here are a few tips I can think of off hand to try to help out...

A) Speed Speed Speed... This almost seems counterintiutive... You'd think running at a slower speed (and possibly lower power) would give better results... But the thing is, as I quickly discovered once I overcame my 400mm/minute limitation in grbl, the faster you go the better things get (at least up until the point where the laser can't produce good blacks any more).

What happens is that as the speed increases the "spread" of darkness seems to open up. In other words, even if I adjust power down to adjust, if I run a gray scale bar (just a gradient from black to white left to right) at 400mm/minute I'll see nice deep darks on the left, but the color stays fairly consistent across most of the bar... Once it get's right around the middle it'll take a quick "shift" to the lighter side and then go white at the edge... In other words, very little "different" in the shades...

Run that same file at 1800mm/minute (again with laser power increased to adjust) and all of a sudden there's a nice gradient bar from darker to lighter that more closely matches the original image.

A "grayscale bar" like this can be great for "calibration". You can grab something off google and edit the size to be about 50 or 60 pixels long at your pixel size. Then crop it so that it's only like 2mm high.

I always (especially for calibration) generate 45 degree gcode. It just comes out much better.

Then you can burn the bar and get an idea of what you need to do... If for example the entire right half of the image is white with no burn, then you know you need to raise the low end... You can do that by either slowing down the feed rate (last resort since speed is so critical), raising the minimum laser power output (i.e. how much power the laser is outputting at say S5 or S6), or raise the minimum S value being generated in the G-code. This also is a last resort since it reduces the amount of "steps" you have from light to dark.

On the other hand, if you see the left side is burned way down into the wood then you know you need to increase the feed rate (best option), reduce the high end power of the laser, or highest S value, etc...

Basically you can easily play around with it and the various settings to see how it effects the results... When you have it producing a pretty accurate grayscale bar (or as close as you can get it) then try a small portion of an image and see how it looks... If you're happy, then run a large image...

Also what lens are you using? I have several 3-element and G2 lenses and I find that the 3-element is the way to go... The G2 can get higher power output obviously, but the resulting "dot size" is much larger... With a 3-element you can get a dot size that's about .127mm. With a G2 it's nowhere near that... Which ultimately means less power density even though the beam itself has more power. At least that's my findings.

If you want, post up some pics of your results (original source pic, etched pic, and settings used) and if anything comes to mind that might be able to help I'll let you know!
 
Also Joe,
What wood are you using? I've been using mostly poplar though I've found birch plywood to also be a great choice. Both are very light and take an image well. You also want to make sure to sand the surface (I usually start with 320 in an orbital and follow that with 600). You want it to be very smooth and clean (hitting it with a tack cloth doesn't hurt either since if there's any dust on the surface the lighter areas can burn that instead of the wood and then essentially "wipe off". Balsa is way too soft though it's excellent for cutting since you can cut VERY thick pieces easily for models, etc. For burning images though I've found it to cut "down" into the surface a lot before actually getting the darkening you want.
 


Back
Top