Welcome! Log In Create A New Profile

Advanced

CoreXY and CoreXZ support for Duet electronics

Posted by dc42 
CoreXY and CoreXZ support for Duet electronics
February 18, 2015 01:36PM
Last month I implemented Delta support in RepRapFirmware for Duet electronics . The main geometry missing from RepRapFirmware now is CoreXY (and in general CoreAB for AB = any 2 of XYZ). Implementing this in RepRapFirmware would be a breeze compared to implementing Delta support. So if anyone with CoreXY hardware would like to use Duet electronics and doesn't mind being a guinea pig, I am offering to add support in the firmware.

In case you are not aware of Duet hardware, it is open-source hardware developed by Think3DPrint3D and RepRapPro (see [reprap.org]). It is based around a 32-bit ARM processor and supports Ethernet, SDHC card, digital stepper motor current control, and a native USB port. The firmware supports two excellent web interfaces, near-instant pause/resume of prints (and automatic execution of macro files when these events occur), precise calculation of step timing even during acceleration and deceleration (giving smoother and quieter motion), and an add-on colour touch-screen control panel (full disclosure: I designed this and commissioned its manufacture). The Duet has been the standard controller board for the RepRapPro Ormerod kit for more than a year and is also being used to run several deltas and Prusa Mendels, so it is well-proven.

Please reply to this thread if you are interested.



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: CoreXY and CoreXZ support for Duet electronics
February 18, 2015 01:46PM
Dave

Once I get the delta running I will be able to get down to finishing the CoreXY build so count me in.

Doug.
Re: CoreXY and CoreXZ support for Duet electronics
February 18, 2015 02:19PM
I am not familiar with the duet, but you can count me in.
I have a corexy and a prusa i3 running. So i can play with the corexy.
Re: CoreXY and CoreXZ support for Duet electronics
February 18, 2015 02:50PM
dougal and gforce1, thanks for your replies. Let me know when you are in a position to test your CoreX builds with Duet electronics. Also let me know how your builds are configured, i.e. in which direction you move each motor to get movement in each direction, so that I can advise you on which configuration gcodes to use.



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: CoreXY and CoreXZ support for Duet electronics
February 28, 2015 04:21AM
I intend to add this support to my fork of RepRapFirmware in the near future. I have a few questions:

1. Is it reasonable to assume that the 2 motors providing the XY movement in a CoreXY setup will always have identical full steps/mm and the same microstepping configuration? That is, for pure X movement and for pure Y movement, both motors need to be given the same numbers of steps? In which case, I can always step both motors simultaneously. Or should I allow for the two motors requiring different numbers of steps, e.g. to allow for the pulley diameters being slightly different?

2. How is steps/mm defined for a CoreXY build? I presume it is it the number of steps required on each of the motors per unit travel, but I would like to have this confirmed.

3. Is there a convention on which directions the motors move in? For example, it might be that the motors are generally wired so that stepping both motors forwards gives +X movement, and stepping the X (first) motor forward and the Y (second) motor backwards gives +Y movement.

4. Are there any other special considerations for CoreXY printers that I need to be aware of? I am assuming they are homed in the same way as Cartesian printers.

Edited 1 time(s). Last edit at 02/28/2015 04:22AM 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: CoreXY and CoreXZ support for Duet electronics
February 28, 2015 03:01PM
1. Should be. Think of fishing lines.

2. Sure, it is the motor movement!

3. Take a look at Marlin and Repetier. Repetier has two modes if you change your X and Y. But anything else is just inverting the motors.

4. Headspeed/acc vs. Motorspeed/acc


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: CoreXY and CoreXZ support for Duet electronics
February 28, 2015 03:48PM
Wurstnase, thanks for your reply.

Quote
Wurstnase
3. Repetier has two modes if you change your X and Y. But anything else is just inverting the motors.

The Duet firmware already provides gcodes for inverting the motor movement, so that's already taken care of. I guess I just need to add a new command to say whether moving the motors in the same direction produces X or Y movement. The same command will switch the firmware into CoreXY mode.

Quote
Wurstnase
4. Headspeed/acc vs. Motorspeed/acc

Thanks, I hadn't thought of that. On a normal Cartesian printer, the available acceleration is higher along the 45 degree diagonals by sqrt(2) than it is along the X and Y axes, assuming equal X and Y max acceleration. But for CoreXY, it is the other way round.

Looks like the easiest way to implement CoreXY will be to calculate the new motor endpoints, then do all the calculations exactly as for a Cartesian printer. Also update the inverse transform that computes XY position from motor endpoints. The only other change I think will be needed will be to homing moves, especially when homing X and Y simultaneously if I decide to support that (as I do on a Cartesian printer).



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: CoreXY and CoreXZ support for Duet electronics
March 04, 2015 06:39PM
I am just starting my CoreXY build but am interested in this project. I currently have a Prusa i3v. What do I need to do to help?

My eventual build size will be 12"x12"x??"

-os3dp

Edited 1 time(s). Last edit at 03/04/2015 06:40PM by os3dp.
Re: CoreXY and CoreXZ support for Duet electronics
March 05, 2015 03:54AM
Hi os3dp, thanks for your support. Where are you based?

Take a look at the Duet electronics and see if it meets your requirements and budget. You can get it from RepRapPro with header pin connectors, or Think3DPrint3D with screw terminals. The T3P3 price is a little lower (their web site gives VAT-inclusive prices, RRP give VAT-exclusive). It's also available from RepRap Austria.

If you go ahead with the Duet, just let me know when you think you will be ready to commission your printer, so that I can plan to have the software ready in time.



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: CoreXY and CoreXZ support for Duet electronics
March 06, 2015 02:12AM
I am based in Utah, USA. Is there a US distributor?

-os3dp
Re: CoreXY and CoreXZ support for Duet electronics
March 08, 2015 09:46AM
Quote
os3dp
I am based in Utah, USA. Is there a US distributor?

-os3dp

I am not aware of a US distributor for the Duet. I suggest you ask RepRapPro because they commission the manufacture of the Duet, You can get in touch with them through support at reprappro dot 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].
Re: CoreXY and CoreXZ support for Duet electronics
March 09, 2015 08:08AM
I've released experimental RepRapFirmware-1.00p with support for CoreXY, CoreXZ and CoreYZ architectures here [github.com].

To switch the printer into CoreXY mode, use the M667 command, see [reprap.org]. You can adjust the directions of each motor as usual using the M569 command, see [reprap.org]. Don't forget to define the endstop locations using M574 (http://reprap.org/wiki/G-code#M574:_Set_endstop_configuration).

I don't have a CoreXY machine, but I have tested it as best as I can on a Cartesian machine (Ormerod). As with a delta machine, you can drive the motors individually by adding the S2 parameter to a G0 or G1 command.

The homing macro file names are the same as for Cartesian printers (homex.g, homey.g, homez.g, homeall.g). Note that simultaneous homing of X and Y axes is not supported for CoreXY, CoreXZ etc. so your homeall.G file should home X and Y in separate operations.



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: CoreXY and CoreXZ support for Duet electronics
March 10, 2015 03:33PM
DC42,

It's taken me a lot longer that I would've liked to put my printer together and it looks like you've beat me to getting any coreXY firmware out for the duet. The gcode configuration options are nifty as well.

Last night I was finally able to get my coreXY gantry assembled and jogged it using your firmware. It looks like everything is working as it should. I should have my machine printing (or at least attempting to) over the next few days.
Re: CoreXY and CoreXZ support for Duet electronics
March 10, 2015 08:44PM
Marty, I'm glad it's working for you so far. Let me know if you hit any problems. Are you using zombiepantslol's DuetWebControl 1.3 web interface with 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: CoreXY and CoreXZ support for Duet electronics
March 22, 2015 12:44PM
I was using pronterface originally but have now switched over to using zombiepantslol's web interface.

I'm working on calibrating my printer and trying to get some test prints done but i'm running into an unusual error when using cura. For example I've been trying to print a 1in x 1in x 1in cube. Using cura the print will start fine but my printer will continue speeding up to the point where the extruder can no longer feed filament and strips. This problem isn't happening when I use slic3r, and is not something I've run into when using Cura in the past. Any idea what could be going on?
Re: CoreXY and CoreXZ support for Duet electronics
March 22, 2015 01:56PM
Can you post your gcode file? Zip it up if necessary to fit within the forum limit.

Does the print speed appear to be increasing continuously, or in steps? Is the print speed factor shown in zpl's web interface staying at 100%?

btw I released a new firmware version (1.04a-dc42) yesterday.

Edited 1 time(s). Last edit at 03/22/2015 01:57PM 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: CoreXY and CoreXZ support for Duet electronics
April 24, 2015 07:45AM
Quote
Marty56
I was using pronterface originally but have now switched over to using zombiepantslol's web interface.

I'm working on calibrating my printer and trying to get some test prints done but i'm running into an unusual error when using cura. For example I've been trying to print a 1in x 1in x 1in cube. Using cura the print will start fine but my printer will continue speeding up to the point where the extruder can no longer feed filament and strips. This problem isn't happening when I use slic3r, and is not something I've run into when using Cura in the past. Any idea what could be going on?

I have come across your post way too late, but in case it is still relevant, it's not clear whether the XY moves are speeding up or only the extruder. If it is only the extruder then it sounds like Cura is set to output absolute extruder moves but the Duet firmware is configured for relative moves.

Dave
Re: CoreXY and CoreXZ support for Duet electronics
April 26, 2015 03:43PM
Hi, Dc42... you have been helping me a lot already in the other thread... I of course am going to be using your software and will help any way I can... in about a month when all my parts arrive!!!
Sorry, only registered users may post in this forum.

Click here to login