Home / Forum / Software / Image2Gcode – Free Raster Image Laser Engraving Software – Modified for MPCNC / Reply To: Image2Gcode – Free Raster Image Laser Engraving Software – Modified for MPCNC

Profile photo of Noname007Noname007
Post count: 29
#8270 |

Ok, it’s been a while, so time for some news from my end:
Will test the new version on the weeken – if I manage to fix the Marlin code to my liking.
I was able to find the algorithms for the laser power in the Turnkey release and to my surprise all previous postings I read about it failed to state the right facts.
According to the algorithm used the output is regulated between 0 and 100% – just like on the analog/digital panel running the original controller.
But to make things worse everything above 100 is simple cut off!
That means you get true percentages for the laser power – guess that’s why there are several safeguards to set all values above 100 down to 100.
Problem with this approach is that no only the bandwidth of the PWM signal is limited but also the available output.

I guess some people here are using these chinese K40 clones, so I will upload the hex file of my firmware once I got working with a more defined PWM system.
It is for the standard conversion using two pins, one for laser on/off, the other for the PWM signal.
Let me know if anyone wants to test it once working and I will include the basic shematics and pinouts just to be sure we are on the same project here.

Can’t wait to test the new software with proper PWM levels, although it will take me a while to modify the safeguards and change the algorithm.
Means I have to connect all to my oscilloscope, check the original PWM signal and compare it to the modified version.
What I want to achieve (if possible) is to increase the limit to 1000.
Meaning 1000 is full power, 500 equals 50%, 250 25% and so on.
Based on my tests with the previous I2G version this range should be sufficient for 8bit engravings on our CO2 systems.

Also found some code bits during my search in regards to the buffering of the movement commands.
Have to see if I find it again but it looked like everything was modified so that only G1 and G7 moves end up in the buffer – but not single M or S commands.
This explains why there is always a stop when speed or power levels change – the buffer is emptied with the last movement command and being filled again with the next set of movement commands.
But before I even start messing around here I will do some more tests with all commands integrated into the G1 and G0 strings.