Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce MARKFORGED kinematics #19235

Merged
merged 3 commits into from Sep 4, 2020

Conversation

gzigzigzeo
Copy link
Contributor

@gzigzigzeo gzigzigzeo commented Sep 2, 2020

Description

This PR implements Markforged kinematics.

Benefits

New kinematics layout is introduced.

However, there are a couple of things to be done (possibly, in separate PR).

  1. COREXY has corresponding COREYX variable which rotates the layout 90 degrees. In case of COREXY, it is done by simply changing sign of the second formula. In the case of MARKFORGED, it will involve formula changes (like dx + dy instead of dx - dy for da). So, in the sake of simplicty, I left the single orientation for now.

  2. I have not implemented XY babystepping since I do not have TMC drivers to test it IRL.

Configurations

The only required setting is:

#define MARKFORGED

X and Y motors must be connected to X and Y slots.

Related Issues

There is the future request for this (#12110). I am now building a machine which is going to use this kinematics.

I have swapped A and B axis in comparison with the schema provided above. So, the formulas are:

dx = da - db
dy = db

da = dx + dy
db = dy

I would kindly request to check my calculations, especially, in planner.cpp. It works smooth, but I have not checked it with connected extruder yet, so, I might mixed up signs somewhere.

I also have not figure out how to write automated tests for my changes. Could someone please point me to the documentation on how tests are written for Marlin?

@gzigzigzeo gzigzigzeo changed the base branch from 2.0.x to bugfix-2.0.x September 2, 2020 20:50
@thinkyhead thinkyhead merged commit e97e686 into MarlinFirmware:bugfix-2.0.x Sep 4, 2020
@AnHardt
Copy link
Member

AnHardt commented Sep 4, 2020

I'm not sure calling this "MARKFORGED" isn't paying to much tribute to that company. Is there a more 'universal' name?
On the other hand i'm quite sure to have seen here a suggestion for the same idea combining X and E, years ago. (Can't find it now) (Lightweight X-carriage with a direct driven extruder, with balanced weight on the x-axis - have been the notes in my paper-notebook.)

The kinematic as drawn above has at least two theoretical weaknesses.

  • The B stepper must be able to run at double A stepper speed.
  • Around the point where the Y belts are mounted the B stepper produces a moment on the lever of the X-axis when accelerating X. Compared to other systems, this calls for improved mechanical guidance.

@gzigzigzeo
Copy link
Contributor Author

Name concerns me as well, but I have not found anything suitable. This kinematics is referred as MarkForged everywhere. Possibly, you have any suggestions?

Regarding weaknesses: well, every technical solution has its drawbacks. You are right about the motor and about momentum, but on the bright side this kinematics might have shorter belts, no requirement to tension them equally, belts are not crossed and it has less idler bearings quantity compared to CoreXY. It also is theoretically less demanding on frame rigidity compared to H-Bot.

I think, this system drawbacks highly depend on the specific build and print speed you are aiming to achieve.

@qwerty208
Copy link

qwerty208 commented Sep 5, 2020

Hello. I have been having fun with this kinematics for two months now, and in my case, no flaws were found. Sorry for the translation (google translator).
https://www.youtube.com/watch?v=qPmZx2XAnkc
https://www.youtube.com/watch?v=_9-Uf4xEDeY

#12110 (comment)

@Fabiandelete
Copy link

Fabiandelete commented Sep 11, 2020

Awesome work! Is the markforged kinematics also available for idex setups as mentioned and discussed here?

@karabas2011
Copy link

@Fabiandelete
Copy link

Fabiandelete commented Sep 16, 2020

https://hackaday.io/project/19543-haq-xy/details

I already found that link, and the schematic shown there is also shown in the thread I linked to.
My question is not if it's mechanically feasible, but if marlin also supports it with the new markforged kinematics.

Sadly I found the answer. The settings for dual x carriage now has an extra line which displays an error when dual x and corexy or markforged are selected.

vgadreau pushed a commit to vgadreau/Marlin that referenced this pull request Dec 9, 2020
kageurufu pushed a commit to CR30-Users/Marlin-CR30 that referenced this pull request Apr 30, 2021
@Regulus-mj94
Copy link

Hi, I'm not sure if this the right place for it, but can I apply Markforged kinematics to XZ using Marlin? I want to use it in an ender 3 like printer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants