Welcome! Log In Create A New Profile

Advanced

Mixing cartesian and CoreXY config?

Posted by o_lampe 
Mixing cartesian and CoreXY config?
June 05, 2017 03:47AM
I'm planning to build a CNC mill ( Cartesian ) and add another gantry for a laser engraver.( preferably CoreXY ) without Z-Axis.

The idea is to config XY-drivers as CoreXY and ZUV-drivers acting as Cartesian. Is that possible, or will RRF treat the UV axis same as XY?
Re: Mixing cartesian and CoreXY config?
June 05, 2017 05:46AM
I flipped through the gcode commands RRF understands and found M580 ( Roland Mill configuration) and also M669 ( Config kinematics Cartesian/CoreXY/Scara)

Q1: Do I have to treat the mill part as Roland compatible or can I try to use grbl or Mach3 language too?
Q2: Can I switch between kinematics by placing M669 in the startcode of the Mill- or Laser-files? ( config.g would be the same for both then? )

Edited 3 time(s). Last edit at 06/05/2017 05:48AM by o_lampe.
Re: Mixing cartesian and CoreXY config?
June 05, 2017 11:10AM
The Roland mill support is disabled in the firmware source and has never been tested on the Duet WiFi or Duet Ethernet.

The standard CoreXY configuration should treat additional UVW axes as Cartesian axes, but I haven't tested it.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Mixing cartesian and CoreXY config?
June 05, 2017 03:16PM
How about having a macro to configure it as corxy engraver and another macro to configuring it as cnc mill? or are you going to mill and engrave at the same time?
Re: Mixing cartesian and CoreXY config?
June 06, 2017 03:04AM
I won't use both at the same time, but I want to switch from milling to engraving whithout powercycling the machine.
Re: Mixing cartesian and CoreXY config?
June 06, 2017 04:47AM
Well, putting the config in a macro would work then? Don't need powercycle to reconfigure or am I missing something?
You could even put a "M98 PSetupAsEngraver.g" into your slicers starting script.
Re: Mixing cartesian and CoreXY config?
June 06, 2017 12:00PM
It doesn't make sense to think about a macro, when it isn't clear if and how I can send "CNC mill" language to the Duet. Most of the gcodes are supported, but a few need a workaround. ( spindle control, tool change )
I thought I could solve two wishes with one board: Beefy drivers for NEMA23 milling and lightspeed SD-Card for gray-scale laser engraving.

I should've read the small print before buying...
Re: Mixing cartesian and CoreXY config?
June 06, 2017 05:02PM
There is a thread on the Duet3D forum about better CNC support in RRF. The main issue is that the users who want it haven't agreed on which CNC dialect of gcode should be supported, or which are the most important G and M codes that they want me to add. I did add G2 and G3 a few versions ago as a step towards CNC support.

Edited 1 time(s). Last edit at 06/06/2017 05:03PM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Mixing cartesian and CoreXY config?
June 07, 2017 02:58AM
I'm sure RRF is already able to help me wet my feet in CNC milling. I'm not experienced enough to favour one dialect. AFAIK, grbl is limited to 3-axis, while mach3 allows 4+5 axis too. Fusion360 CAM module also supports 5 axis. Again I can't judge how useful it is.

For now, I can manually edit the NC files and replace code like:
S10000 M3 ; set spindle RPM

with M43 Pxx Sxxx ; adequate PWM

Same for tool change macros etc...
Re: Mixing cartesian and CoreXY config?
June 07, 2017 05:36PM
M3 should be simple enough to implement, we just need to decide what output it should use (Fan2? Heater 2? Make it configurable?) and have a way of specifying the RPM you get at full PWM.

What is it about tool changing that RRF doesn't handle adequately for a CNC application? The tool change macro files that RRF supports already provide a lot of flexibility.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Mixing cartesian and CoreXY config?
June 08, 2017 03:06AM
That's a mach3 startcode which contains most of the weird gcodes. (eg. there is no G1 or G0 in front of every move line . A dot sometimes marks the end of a command)
T1 M6 would trigger a toolchange, but what would RRF make of the M6 ? I'd have to handle that height adjustment part in the tool change macro.
Spindle max. rpm could be handled in the tool-definition, but it can be done manually too. ( there is only one speed per tool, I guess )
M43 is able to generate 0-5V signal to control the spindle?

(T1  D=3.175 CR=0. - ZMIN=-2.5 - SCHAFTFRSER)
G90 G94 G91.1 G40 G49 G17  ; many commands in one line?!
G21
G28 G91 Z0.
G90

(PLANEN1)
M5
M9
T1 M6    ; tool change with height adjustment
S10000 M3   ; parameter before command?!
G54
M8
G0 X12.064 Y-8.697
G43 Z2. H1
Z1.
G1 Z-0.683 F762.
G18 G3 X11.746 Z-1. I-0.318 K0.
G1 X10.
X-10.
G17 G2 Y-5.838 I0. J1.43
G1 X10.


I could use ATMega&Ramps with grbl for the mill and DuetWifi for the laser. They have nothing in common but the frame and rails ( even homing switches are on different sides ). But that would require external NEMA23 drivers for Ramps ($$$) or I stick with NEMA17 and RAPS128....
Re: Mixing cartesian and CoreXY config?
June 08, 2017 05:27AM
RRF ignores parameters that it doesn't understand, so T1 M6 will behave the same as T1.

If you have several Gcode commands on the same line, RRF will only execute the first one. I can change that, and I see that multiple commands are allowed explicitly in the NIST gcode standard, with some restrictions.

S10000 M3 should work if we implement M3, because RRF doesn't mind if the parameter comes first.

G91.1 would currently be treated the same as G91.

A dot at the end of the line will be ignored. In your examples, it is a decimal point at the end of the last parameter.

Are there any other G or M code commands that you would need to be implemented? Your example uses G94, G91.1, G40, G43, G49, G17, G18, G54, M5, M8 and M9 ?

M43 generates 0-3.3V signals on the expansion bus, or of course you can use a heater or fan output to get a 12V or 24v signal. You can also get a 5V signal if you have a DueX expansion board and use a spare heater channel.

Edited 1 time(s). Last edit at 06/08/2017 05:29AM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Mixing cartesian and CoreXY config?
June 08, 2017 07:30AM
I've only generated two sample files with grbl and mach3 dialect to see the difference. I don't know what we'll need in the future, I can only refer to the grbl github-gcode page.
On a quick glance the $-commands are important too

Can you guide me to the duet wiki page, where cnc milling is under discussion? No need to double post anything.
Re: Mixing cartesian and CoreXY config?
June 08, 2017 07:39AM
It not a wiki page, it's a couple of threads: [www.duet3d.com] and [www.duet3d.com].



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Sorry, only registered users may post in this forum.

Click here to login