NEJE-like Laser as CNC upgrade
-
Really, nobody has installed this laser?
-
If you need a breakout board or not would depend on how much current the laser pwm input needs and if it can be wired directly to a pin; or if it can work with a fan output, but a fan output might not be suited due to the inverted nature of the n-channel mosfet.
In any case, best make sure you can add a pull down to the output to ensure the laser doesn't trigger if the output is allowed to float.
Shouldn't be any reason you can't switch to M452 in your g-code but I'd be more concerned with switching back to M453 in the event of a aborted job or something.
-
@FelixH I'm not sure about the wiring, but there's two ways you can set up the switching between CNC and laser. Either use a macro that runs the relevant command (M452 for laser, M453 for CNC, also M450 reports the mode it's in) and any other settings. Or use M505 and have separate config folders for CNC and laser. You then have a very simple config.g in the sys folder that calls the config.g from the relevant folder. It means that you can be sure that if you reset, it will still be in the same mode! I'd guess there will be quite a lot of settings that will need to change between CNC and laser, eg motor speeds and accelerations.
I use M505 to be able to switch between firmware setups when testing. The sys/config.g looks like this:
;M505 P"RRF2" M505 P"RRF3" ;M505 P"TEST" M98 P"config.g"
Then I have 3 folders (RRF2, RRF3 and TEST) that each have a full set of config files. You do have to manually edit the sys/config.g file to change setup, though it's just a case of commenting/uncommenting the correct lines.
Ian
-
if you run RRF3 i suppose you could have a switch to control the mode at boot with (something like) and possibly a trigger to trigger a warning/reboot.
M950 J0 C"thisinputpin" if sensors.gpIn[0].value > 0 M505 P"Laser" else M505 P"CNC" M98 P"config.g"
-
@droftarts said in NEJE-like Laser as CNC upgrade:
I use M505 to be able to switch between firmware setups when testing.
a little OT, but M997 ignores M505 or is it just me?
-
I will try something like this, yes. Thanks for your inputs. A macro is what I was thinking of. I do not run RRF3 as the folks on Ooznest have not released anything new for a long time...
Another question laser related. On the Wiki page describes wiring the Laser to the Bed PWM output with the breakout board and so on... Where can I wire my spindle to be able to control the RPM with GCode?. In order no minimize confusion in the future, I'd prefer to use the standard Mcodes for that. I don't know if it would not be compatible with having a laser.
-
@FelixH said in NEJE-like Laser as CNC upgrade:
I do not run RRF3 as the folks on Ooznest have not released anything new for a long time...
come to think of it you might be able to replicate the same thing with M582 in config.g and put M505 in triggern.g
-
@bearer said in NEJE-like Laser as CNC upgrade:
if you run RRF3 i suppose you could have a switch to control the mode at boot with (something like) and possibly a trigger to trigger a warning/reboot.
M950 J0 C"thisinputpin" if sensors.gpIn[0].value < 0 M505 P"Laser" else M505 P"CNC" M98 P"config.g"
Can you actually do some conditionals on GCodes?
-
@FelixH said in NEJE-like Laser as CNC upgrade:
Can you actually do some conditionals on GCodes?
in RRF3 that should be valid +/- a few possible spelling mistakes, yes.
-
oh... too bad. I will have to wait, because it opens up a whole new realm of possibilities
-
yes, so many g-codes and so little time...
-
@FelixH While the WorkBee does currently use RRF2 (2.0.3 I think, though it should be okay to use 2.05.1), I don't think there's anything in RRF 3.1.1 that breaks the compatibility, other than updating fans, endstops, thermistor and heater (if used) assignments in config.g (and possibly a few other codes). I haven't tested the WorkBee DWC, but DWC 1.22.6 works for me in RRF 3.1.1 with Duet 2 WiFi, on which the WorkBee interface is based. So you could create another folder to hold a RRF 3.1.1 config, and try it out, and you can always just flash firmware back to RRF2 as needed.
Ian
-
@FelixH said in NEJE-like Laser as CNC upgrade:
- If I understand that correctly, the laser I ordered accepts 3v3 PWM signals, so I do not know if I need to prepare a breakout board as the one described there.
I use my Duet2 Ethernet running Firmware Version 3 without breakout board to control same laser as you ordered. The Laser needs 12V Power supply continuously and Laser beam is controlled by PWM-signal.
Heater 3 pin controls Spindel- and Laser Power. Heater 6 pin is output of Laser PWM signal.
This is my code to switch to laser mode:
; Configuration file for Duet Ethernet (firmware version 3.1.1) ; executed at Startup of Laser mode ; ; G54 ; 1. Koordinatensystem anwählen M208 X550 Y1200 Z230 S0 ; Set axis maximum ; M453 C"nil" ; CNC-Modus Pin für Spindel abwählen M950 P0 C"exp.heater3" ; M42 P0 S255 schaltet Laser Spannungsversorgung ein, M42 P0 S0 schaltet aus M42 P0 S0 ; Laser Power Ausschalten M452 C"exp.heater6" R500 S1 Q20000 ; laser uses heater3 pin, PWM frequency 100Hz; ; ; Tools M140 H-1 ; Heizbett aus M563 P0 D-1 H-1 ; Tool0 abwählen M563 P1 D-1 H-1 ; Tool1 abwählen M563 P0 S"Laser" ; Define tool 0 G10 P0 X-7 Y-45 Z-68.5 ; Set tool 0 axis offsets vs. Headposition -68.5 Z-Achse Nullpunkt (Laser Fokus) T0 M42 P0 S0 ;Laserpower aus nach Werkzeuganwahl.
This code switches to CNC-Mode
; Configuration file for Duet Ethernet (firmware version 3.1.1) ; executed at start-up of CNC mode ; ; G54 ; 1. Koordinatensystem anwählen M950 P0 C"nil" ; falls Laser-Modus Aktiv war, Pin freigeben M453 C"exp.heater3" R500 ; spindle forward on heater 3 pin, R=Max Spindeldredzahl ; Tools ;M140 S-274 ; Heizbett aus M140 H-1 ; Heizbett aus M563 P0 D-1 H-1 ; Tool 0 abwählen M563 P1 D-1 H-1 ; Tool 1 abwählen M563 P0 S"Spindel" ; Define tool 0 G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets vs. Headposition M208 X550 Y1200 Z230 S0 ; Set axis maxima
Switching between modes I have to redefine Heater 3 pin.
G-code at beginning of work file is:
G90 T0 M42 P0 S255 ; switches Laser Power on G04 2000 ; wait until Laser power is stabilised M05 G55
trailing code is:
M05 G04 3000 T-1 M42 P0 S0 G54 G0 X5 Y5 Z220
-
@radiomodell thanks a lot for the info! I'm assuming you have these snippets set in macros, right?
So, if I get it correctly, if you have the Bed pin to control both the spindle and the laser, it means that you have to wires coming out of each terminal, so to say?
Another question, the snippet
M42 P0 S255 ; switches Laser Power on
What does it do exactly? Does it power the Laser's PSU via a relay? Because to enable the laser or spindle the M3 command is used with a Sxxx on the movement codes, right?
Vielen Dank nochmals!
-
@FelixH You can use these snippets in macros with firmware version 3. And I selected different I/O pins. Heater3 pin controls one solid state relais. Spindel and laser power supply are both connected to the 230V sockets controlled by relais. Heater6 pin controls laser PWM.
In Laser mode line 9 M950 P0 C"exp.heater3" defines heater3 pin to be controlled by M42 P0 SXXX command . 0 off, 255 on. Laser PWM is defined in line 11: M452 C"exp.heater6" R500 S1 Q20000. Just mentioned wrong comment in line 11. PWM frequency is 20KHz, not 100 Hz. Sorry for that.
Same pin controls spindel on/off in CNC mode. Thus I have te redefine pin in CNC-mode. To CNC mode in line 6 definition is released. In line 8 spindle control is "connected" to heater3 pin. Now in CNC mode it is switched by M3 command. -
Thanks again @radiomodell . It's a lot of info right now, I shall look at in with more detail once my laser arrives. I am still on RRF 2, so I will have to adapt. I also ordered the components to build the breakout board. Just in case...
-
@radiomodell , not to hijack this thread but I am running into the exact same thing. I have the NEJE laser module but cannot get it to be controlled via pwm. It is always at full power. Can you tell me exactly how you have it wired?
I have 12v supply going to 12v, and Gnd pins. Then I have the duex fan6 pwn pin and fan6 gnd pin going to the laser pwm and temperature (or gnd) pins.Looks like you may be able to walk me through this if you're willing.
-
@radiomodell said in NEJE-like Laser as CNC upgrade:
M452 C"exp.heater6" R500 S1 Q20000 ; laser uses heater3 pin, PWM frequency 100Hz;
@radiomodell @FelixH @sh12 Please note 'Q' parameter is incorrect, it should be 'F' for PWM frequency. The example in the Gcode dictionary for M452 was incorrect, but has now been fixed, thanks to @Royassas (see https://forum.duet3d.com/post/168234)
So @radiomodell, you're probably using a PWM frequency of 500Hz, which is the default!
Ian
-
@droftarts said in NEJE-like Laser as CNC upgrade:
So @radiomodell, you're probably using a PWM frequency of 500Hz, which is the default!
Thanks a lot for the hint! Laser worked fine til now. I will correct M452 command before next use.
-
@sh12 As far as I know, expansion board pins are at 5V level. please check your documentation and use a level shifter to connet laser PWM-pin with 3.3 volt.
When using Fan6-PWM Duex output pin following command should do initialization: M452 C"duex.fan6" R500 S1 F20000 . R- parameter sets 100% value of S-Parameter in M3 command. M3 S500 is 100%, M3 S250 is 50%. Dependent on source of G-code i adjust R-Parameter.
My PWM signal input is connected to Heater6 pin on expansion connector of my Duet2. Thus I use this command M452 C"exp.heater6" R500 S1 F20000.