SWEET!
I sat down with this problem for quite awhile before coming up with this calibration pattern. Went through a lot of iterative ideas before I got to this, which is both accurate and straightforward to interpret.
I think the pattern itself is basically perfect. I came up with it in the middle of this thread, you can download it here and read the discussion:
I think there’s still a problem though, limiting calibration in some cases.
I discovered the galvo starts vector lines from a standstill. What it needs to be doing is like what a CO2 laser with Ruida controller will do- it always runs rasters at constant velocity, by padding it with braking/accel buffer space (“Extend Space”) outside the raster content, what we’d call “overscan”. The Ruida calculates how much space it needs to add based on the max acceleration limit programmed onto the controller, along with the velocity the job will raster at. Actually overscan is not an LB feature at all, not on the Ruida anyhow.
It turns out LB doesn’t do “overscan” with the BJCCZ galvo controller (yet), the mfg doesn’t offer any open data on its interface. LB reverse-engineered it and got it running, but if the BJJCZ can do overscan, LB can’t command it to do that yet. I thought by including vertical bars on the left and right it would accel there, then skip over the white space at the commanded speed and then fire on the black space with it already at constant speed.
It doesn’t. It always starts each feature from a standstill. The black space after a white space is a a feature. It starts from a standstill, turns on the beam, and accelerates down the line. So beam energy can fire more that asked for in the first 0.5mm or whatever when you max out the speed.
The DELAY settings don’t actually fix the prob. That would still start the galvo mirrors moving from a standstill, travel down the line, and wait DELAY before starting the beam. But that would only make a blank section, which is worse. The only thing that can fix this would be overscanning, or sticking with lower speeds that don’t have as long of an accel zone.
At the endpoint of a vector, it doesn’t have this problem. Just flies past the endpoint and turns off the beam as it passes.
I saw it on some tests with highest speeds and the pulse freq turned down until it’s making a pulse at a spacing of about 1.5x the laser spot size (40um for an F100 lens). The pulse is so quick on a MOPA that the pulse is still basically a dot, no elongation, even at the highest speeds. So at 6000mm/s, a freq of 150KHz would make circular 40um dia dots every 40um. So circles with the edges barely touching. At 100KHz, there’s a 20 um gap between dots. But they’re not evenly spaced at the start point, they may overlap several pulses before spreading that far out due to the speed. The BJJCZ probably doesn’t have a feature that allows it to proportionately reduce the freq when the actual speed has not yet reached the commanded speed.
If you set the pulse rate high enough that pulses overlap normally, an add delay, that could actually mitigate the problem. Like at 450KHz, every dot would have 1/2 the dot before it overlap (circumference of the circle before it reaches the center of the dots before and after) and 1/2 the dot after. Say during accel it fires 6 overlapping dots, cutting too deeply. If we delay by 2.2 us, it skips the first 3 dots, and the actual gap from the correct start point to first pulse could be insiginificant.
However, I have a 300W MOPA. So far, the “golden rule” I came up with has always been true- don’t overlap pulses, either along a raster line or the stepover between lines. Overlaps rapidly overheated the surface, it seems to melt the surface and the laser can’t make little particles explode off the surface where the beam hits a liquid spot. It just makes it hotter.
I may be a corner case there because very few people have 300W. I’m overpowering it. I could reduce the power to 10% and should see what you see on the 30W in theory. But that would throw away the advantage of the 300W source. I’d rather keep the power up and increase the speed to spread the pulses out to avoid overlap. But now I’m asking for such high speeds that the accel length causes this prob