Multiple Laser heads on single machine
-
Hi everyone,
With the tool-changing capabilities of the Duet3D firmware, we're building a printer with multiple laser heads and extruders.
We already figured out that we can swap between fff mode and laser mode when switching between the tools, but I'm struggling to define more than 1 laser head.
According to the laser config doc:
this enables Laser mode, on out9, with max intensity being 255, and a PWM frequency of 200
M452 C"out9" R255 F200
then, during printing, this controls the laser based on E values in G1
M571 P"out9" F200 S255
I'm looking for a way to have multiple M452 commands and "tie" them to a tool definition, similar to the way I define my other tools
whenever I perform a tool-change, Duet should know which laser head to turn on when following G1 commands.
what am I not seeing? any pointers are greatly appreciated!
-
@hauschka i don't think you can currently have more than 1 laser.
best workaround to do would be nil the pin and then redfine it on each tool change -
@jay_s_uk
Thanks for your input.
I see. Yes, I already thought that this would be the only option to move forward.If anyone has a more elegant solution, I'd still behappy to hear it.
-
@hauschka I would raise it as a feature request here https://github.com/Duet3D/RepRapFirmware/issues
-
On the same topic:
Definingn the port with M452 ONLY allows to define the laser head on the mainboard.The moment I move this pin to a 1LC, I get
Error: M452: Port must be on main board
Why is that? Can I only connect a laser PWM to the main board?
-
@hauschka yes, i think its limited to the mainboard only. the same for a spindle
-
@jay_s_uk that's odd, do you know the reason?
Is there any way to circumvent this?
-
@hauschka there probably isn't anything in the CAN messages to support it yet (and I don't know of anyone asking for it)
I can't think of any way to circumvent it off the top of my head -
@hauschka I think there was talk of changing laser mode to be more like CNC mode, ie M452 just changes modes, and laser(s) would be setup like spindles with M950, and would probably support more than one.
Like @jay_s_uk says, I don't think there's a particular reason for only allowing spindles and laser to be connected to the mainboard, though it could be a safety issue; ie what happens if the toolboard disconnects? This is one of the reasons heater and thermistors need to be on the same board (though can be on a toolboard), so that the control of the heater is not lost if the toolboard disconnects (it just stays at the set temperature). Another possibility is that CAN-FD may not be fast enough for raster engraving; I'm not sure how much information would have to be pushed over the CAN bus.
I doubt there's any way to circumvent these restrictions at present. Also, these limitations are not mentioned on the wiki (Gcode pages, CNC/laser setup pages, RRF limitations), as far as I can find; I've asked @dc42 to clarify.
Ian
-
@hauschka I'm curious as to why you are thinking of using a toolboard on the toolhead controlling a laser. What other than the laser is present on the toolhead? Fans? I would not have thought there is much to be gained from using a toolboard with a laser tool, but I may well be wrong!
-
thanks for all your support.
my main use-case is to have the laser as a modular printhead and having a printer base that I can easily re-configure to fit either 1, 2 or more laser, or combine it with other extrusion modules.
There is also a heating and cooling system present. It's a low-power laser that is not used for cutting/engraving, but has a special applications.Therefore, I was looking to have more than 1 laser pin, and moreover, having this pin on a toolboard.
Is there perhaps a way to re-map the mainboard pin?
eg: if pin(main) is high, set pin(toolboard) to high?
-
@hauschka not currently that I'm aware of
Unless it can have a delay or a second or two, in which case Daemon.g could be used -
@hauschka said in Multiple Laser heads on single machine:
It's a low-power laser that is not used for cutting/engraving, but has a special applications.
If you don't have to send a perfectly timed signal pattern, but just want to switch on/off (eg. line laser)
you can treat the laser as a regular GPIO port. You wouldn't even have to switch between fff or laser mode for such task. -
@gloomyandy I would think of at least air support valve control for better cuts/cleaner engraver results, and possibly a motor and probe for automatic workpiece surface sensing and laser focussing.
-
@o_lampe It has to be well-timed (position & intensity), but I'm not continuously using the output device for longer than a couple of minutes if that makes a difference.
On/off is not ideal, as I cannot use the preparation scheme of exisitng slicers that would allow me to follow G1 Sx commands.
@oliof yes, exactly!
Is it really related to data rates of the CAN-bus or is it simply not yet implemented?
-
@hauschka I asked @dc42 about supporting lasers and spindles on expansion boards. He said:
Supporting lasers/spindles on expansion boards would not be impossible but would raise a few implementation issues.
I think it just hasn't been requested before, so currently there's no reason to spend the time implementing it. If you want, raise a feature request on Github https://github.com/Duet3D/RepRapFirmware/issues/new/choose so at least it's on the great big list of things to do!
Ian