Welcome! Log In Create A New Profile

Advanced

5 Axis Printer Firmware Help

Posted by dm35 
5 Axis Printer Firmware Help
March 07, 2017 05:19AM
Hi all, I'm currently developing a 5-axis 3D printer which has two additional axes which rotate in the X and Y direction

The tricky part of generating the G-code and transformation matrices has just about been overcome which takes place outside of the firmware

However I am struggling to add the extra motors to the firmware which is Marlin. Currently using a Rumba board with 6 driver ports, 1 for the X, 1 for the Y, 1 for the two Z, 1 for the extruder, 1 for the rotation in the X direction and 1 for the rotation in the Y

Can anyone give me some advice as to how I should go about adding these motors to the firmware?
Thank you
Re: 5 Axis Printer Firmware Help
March 07, 2017 05:35AM
I'm far from being the most knowledgeable about that topic, but out of the top of my head :

I don't think Marlin or other RepRap firmwares were designed to support extra axes by changing only configuration parameters.

You'll probably have to modify the existing / add custom code.


Most of my technical comments should be correct, but is THIS one ?
Anyway, as a rule of thumb, always double check what people write.
Re: 5 Axis Printer Firmware Help
March 07, 2017 07:24AM
Yeah my knowledge of the firmware involved in 3D printing is limited as well, I can change parameters within Marlin

Its adding in the necessary code that I'm struggling with
Re: 5 Axis Printer Firmware Help
March 07, 2017 08:11AM
You might want to base your work on GRBL instead of more specialised / 3D printing optimized firmwares.
It is the ancestor for Marlin, it also is designed for 3 axis but it might be easier to modify it since it does not include RepRap specificities.

Otherwise, other online resources of interest : cnczone or practical machinist.


Oh and of course you can do your choice among existing firmwares here : [reprap.org]

Edited 1 time(s). Last edit at 03/07/2017 08:17AM by DeuxVis.


Most of my technical comments should be correct, but is THIS one ?
Anyway, as a rule of thumb, always double check what people write.
Re: 5 Axis Printer Firmware Help
March 07, 2017 11:58AM
To bad you've chosen the Rumba board: with a RADDS you'd have 6 driver ports too and the option to use RepRapFirmware, which AFAIK is capable of driving upto 6 axis
You could also use a Duet(-Wifi) board and add another driver with jumperwires.
Re: 5 Axis Printer Firmware Help
March 08, 2017 04:21AM
I confirm that RepRapFirmware supports up to 6 axes. You don't even need to recompile the firmware to get additional axes, you just edit the config.g file on the SD card.

Hardware-wise, you can run it on use RADDS + Arduino Due, which provides 6 plug-in stepper driver sockets but doesn't have Ethernet and uses the older SAM3X8E processor. The more future-proof option is the Duet WiFi or the forthcoming Duet Ethernet + a DueX2 or DueX5 expansion board, or if you have reasonable electronics knowledge you can wire up a stepstick-type driver + capacitor to the expansion bus instead of buying the DueX.

Edited 1 time(s). Last edit at 03/08/2017 04:26AM 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: 5 Axis Printer Firmware Help
March 09, 2017 06:05AM
Thanks for the replies

I wish I had this info before I bought a new Rumba board haha!

I don't have it within my budge to be buying a new RADDS and Arduino board so I think I'm just going to need to try focusing on Marlin for the time being but I've already been told this will be extremely difficult!
Re: 5 Axis Printer Firmware Help
February 26, 2019 02:23PM
I am currently trying to add support for additional axes to Marlin 2.0.
The changes can be viewed here: https://github.com/MarlinFirmware/Marlin/compare/bugfix-2.0.x...DerAndere1:bf2_6axis_dev . Endstops for additional axes (axes I, J, K) already work and I did not break core functionality for the XYZ axes so far. Currently, I cannot get the additional steppers to move, though, I suspect some overlooked variable that has to be changed in Stepper.h and/or Stepper.cpp. If someone finds a solution, you are welcome to report here or at https://github.com/DerAndere1/Marlin/issues/1 .

DerAndere1
Re: 5 Axis Printer Firmware Help
February 26, 2019 03:35PM
Please can Marlin developers (both official and unofficial) be good RepRap citizens and take account of what other firmwares already do (in some cases, have already done for years) to avoid creating deliberate incompatibilities.

Firmwares that already support additional axes (e.g. RepRapFirmware, Smoothieware and some forks of grbl) use letters ABC and in some cases also UVW for additional axes, not IJK. In CNC work, ABC are commonly used to designate additional rotational axes.

Edited 5 time(s). Last edit at 02/27/2019 02:05AM 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: 5 Axis Printer Firmware Help
February 26, 2019 05:49PM
Be aware that 6 axis support is not developed as part of the official MarlinFirmware repository, but in my own fork. I have no affiliations with MarlinFirmware, so the devs of original Marlin are not to blame.

In fact I am no professional software engineer that is why every suggestion for improvement is highly welcome. My branch is early WIP and in a first step the names I, J, K were chosen arbitrarily as internal references for controlling additional stepper motors. I thought it makes more sense to use names like ABC or UVW only after specific kinematics have been defined. So at a later timepoint (to be done), axis I could be mapped to A in case it is used as a rotary axis or it could be mapped to U in case it is a secondary linear axis. I chose Marlin as a basis, because it does a great job in supporting a lot of different boards. It may turn out that for an experienced programmer it would have been easier to port the existing 6 axis branch of grbl (https://github.com/electrokean/grbl/tree/6-AXIS) to an Anet V1.0 board, though.

DerAndere1

Edited 2 time(s). Last edit at 02/27/2019 11:20AM by DerAndere1.
Re: 5 Axis Printer Firmware Help
February 27, 2019 03:59AM
I am sorry, and I regret my original post. I have taken your suggestion and edited it.

Another reason to avoid using IJK as axis names is that they are already used as parameters in G2 and G3 commands. So if you or another user wanted to be able to move the additional axes during G2 and G3 commands, the axes will need to use different letters.



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: 5 Axis Printer Firmware Help
February 27, 2019 11:16AM
Yeah, I saw that naming conflict with G2 parameters recently. I agree that this needs to be addressed once I fully understand where the separation between pre- and post-kinematic positions is made within Marlin's code. Also would also like to point out that going for a 32bit controller and using existing firmware would have been the best choice for my project, if minimal budget + learning how to code wouldn't have been my primary goals.

Der Andere1
Sorry, only registered users may post in this forum.

Click here to login