nortd / lasersaur

Lasersaur -- open source laser cutter
http://www.lasersaur.com
379 stars 43 forks source link

feature requestbeam power compensation over the area of the bed #4

Open markvdb opened 9 years ago

markvdb commented 9 years ago

Taken from Ray Debs' comments at https://groups.google.com/d/msgid/lasersaur/9004EAED-6BEA-49DF-BD25-4FFA720001E5%40aol.com

I have been thinking that a nice feature to have would be a beam power compensation over the area of the bed. This could be as simple as this:

output_power = file_specified_power * (((xpos + ypos) / (xmax + ymax)) * scale_factor) + 1.0)

The scale_factor can be adjusted from 0-1 to provide equal power at a point (0,0) as at a point (xmax,ymax). This should produce an output power of 100% at the farthest point, and something less everywhere else, decreasing as the beam path gets shorter. This assumes a somewhat linear reduction in power with distance, which may not be true, but it may be a good enough approximation. I would probably start calibrating with a small scale_factor of around 0.05, then adjust as necessary. The measurement of power can be dome by shooting a short burst into an acrylic block and measuring the relative depth of the crater in the min and max positions.

Of course, this would mean varying the power while moving the cart, not just at the start of a segment.

This is relevant to the discussion about calibration because a final step would be added to measure power at both locations so the scalefactor could be determined.

The math is off the top of my head, so I may have messed it up, but I hope I can get the general idea across.