Tweakie:
>> the laser does not achieve full depth of modulation when driven by Command signal frequencies over 5kHz at duty cycles greater than 50%.
Im really not sure what to make of that statement, like many of their statements on PWM its a bit ambiguous. I "think"
it means that above 5khz and as you appraoch 20khz the modulation turns into an average of the pwm incoming width. So
running 50% at 10Khz for example would still only give 1/2 power output. Im experimenting here to see how true all that is,
its why the panel I built had to have the capability of repetative pulseing by pulse count, width and frequency..so I could see
the effect on various materials.
The original plugin was binary really. It sent a string of 1's and 0's that turned the laser on or off at each step location, but the
power was always at the PWM frequency of the S word. 1 of 8 levels or so( I know you know this, I mention it so it will be in the
record of the thread..)
My thought at the time was that by triggering on step with a dithering frequency or other method of injecting grey scale the
engraving would be the best we could do. So basically what Im looking at doing with this panel is uploading a file into it before
the scan. ( The original plugin kinda did this too, it sent one line of binary to the printer port driver to use as triggers of off
or on , one for each step. ). A printer port driver ( Darwin included) can do that , but its only control is on or off. So what
Im doign is adding a level between Darwin ( Or the m3 pp driver) and the laser. This panel is smart, so Darwin ( or m3) wont send that
digital stream anymore, instead we'll send a file before the scan. TO illustrate.. heres the old method..
1) Plugin loads photo and calculates a line of binary off/on data. Sends data to printer port driver.
2) Plugin sends one line of motion to CNC. Memory limited to one line of scan data as binary
3) During motion, port driver uses binary stream on a per step basis to turn laser on or off.
4) Plugin repeats process for each scan line till end of photo..
Heres what Im trying to do.
1) Standalone program loads photo. Creates entire x/y cartesion scan power levels file for each step of a
scan of the photo. File may be up to 8Gig or so in size. Its sends this wirelessly to the SD card in the smart
panel.
2) Program puts out scan Gcode file. A simple raster file, with tighter closer scan lines where hiresolution is desired,
and looser scan lines where less lasing needs to be done. This makes the raster scan faster overall.
3) As the Gcode runs ( In mach3, 4 whatever..) the panel is tied to the step and direction lines. Its interrupt driven
so it knows whenever the CNC system moves an axis. It looks into the SD card file and figures out what power level to
shoot on each step ( X or Y..). the file has 3000 power levels possible per step location. Since its created by a standalone program
the data levels can be quite complex. For example nonlinearity of the beam can be considered with more power in certain grey
levels. For 3d scupting, you coudl use a calibrated power curve for depth.. a lot of things can be done with a smart control panel.
4) Mach ( or whatever) has no idea a laser is running, doesnt have to control power levels at all, it just has to turn on the laser output
which tells the arduino panel that it must lookup a value for each step and fire the laser at that power. The CNC unit simply runs
Gcode of an XY raster.. or spiral raster..or whatever shape one wants..
Well, thats the thought.. Im not sure my arduino can do all this fast enough, but I think it can. It also means youd simply build a smart
panel for alaser, hook it up to a breakout baord so it gets the step/dir signals paralleled from the stepper driver. Of course
a secondary mode will simpyl do on/off for traditional laser usage..
Hope that explains it better.. Hope even more its all possible.
Art