Laser engraving



 

Hello, please I need help with my laser project. I try to generate G-code trought the inskcape with plugin, to cut vector, and results was fine. 

But then I try to burn image trough laser raster plugin in inscape and in DIY software from Russia, but it doesn t work properly (check on the picture) and the result was same. 

I use normal PrinterMode with command laser on M106 S255 and digital pin 4 with PWM regulation.

What Can I  do it?

Comments

  • M106 is for fan control. That uses software PWM unless you  have changed the code. Normal frequency is 16Hz so depending on your motion speed you might start with laser on not where you put the command. If you need pwm you should use a hardware pwm, best by using laser tool not fdm and modify driver to set a pwm output that is free for use. Can it be that. Your informations are not really enough to say where an error might be, but that is what come sin my mind from description.
  • Repetier said:
    M106 is for fan control. That uses software PWM unless you  have changed the code. Normal frequency is 16Hz so depending on your motion speed you might start with laser on not where you put the command. If you need pwm you should use a hardware pwm, best by using laser tool not fdm and modify driver to set a pwm output that is free for use. Can it be that. Your informations are not really enough to say where an error might be, but that is what come sin my mind from description.
    Hello, I solved my problem. I was using old firmware, when I replace it with new, it work properly in Laser Mode.
    But now I have other problem. Everything is fine when I use intensity on Laser form M03 S200-S255.
    But when I want engraving photo with changing intensity, Laser is still off when intensity are from 0-199.

    Where is problem please ? :/

    PS: When I try old arduino with old firmware, it worked good (with PWM on Fan)
  • By default the driver only uses digital output. Reason is that most pins do not have a hardware pwm timer that is not used by firmware. See drivers.cpp this function:


    void LaserDriver::changeIntensity(secondspeed_t newIntensity) {
    #if defined(DOOR_PIN) && DOOR_PIN > -1
    if (Printer::isDoorOpen()) {
    newIntensity = 0; // force laser off if door is open
    }
    if (EVENT_SET_LASER(newIntensity)) {
    // Default implementation
    #if LASER_PIN > -1
    WRITE(LASER_PIN, (LASER_ON_HIGH ? newIntensity > 199 : newIntensity < 200));
    }
    intens = newIntensity; // for "Transfer" Status Page
    }

    If you have a pwm pin using timer 4 or 5 you can replace 
    WRITE(LASER_PIN, (LASER_ON_HIGH ? newIntensity > 199 : newIntensity < 200));
    with
    analogWrite(LASER_PIN, newIntensity);

    Check pinout diagram which pin satisfies this or check the forum as it was already answered.
Sign In or Register to comment.