How Do CoreXY Kinematics Work on 3D Printers? CRT Explains...
Вставка
- Опубліковано 8 чер 2024
- A brief overview of the maths behind how coreXY kinematics work. CoreXY can be used on any CNC system but is commony found on systems such as 3D printers, routers, lasercutters etc. All explained
Gear: www.vector3d.co.uk/my-gear
Blog: www.vector3d.co.uk/blog
Website: vector3d.co.uk/ - Наука та технологія
Best math explanation I've seen so far. Thank you for breaking it down to simpler understandable steps.
Add or subtract the two main equations, it's a lot easier ;)
Maybe I don't understand the definition of Corexy. I thought it meant that the bed only moved in the z axis. so, Is it necessary to have both belts working in unison for a translation along a single axis for it to be considered core xy?. Or can you still have a core xy setup where you have a driver for each axis and run them independent avoiding the extra calculations? I'm about to hack up a monoprice mini and use the driver and motors for a 450x450x450 build area in a 50cm3 upgraded frame with aluminum carriage, etched glass bed, and 4 small bed heaters on an independent powersource. The Z axis driven by two Nema17's in parallel to adjust the bed height instead of the original single nema17 for gantry height. The other two motors will stay up top for the x and y. I was going to dub it the Monoprice Maxi
I'm also considering adding two or three belts per axis, hopefully it will give better life expectancy than a single belt per axis.
thanks mate, good explanation !
Thank you, this is new to me and very interesting, although I just took delivery of a Kossel Delta kit, I would consider getting a CoreXY type if they are more accurate. On another note, do you think larger printers might be inherently less accurate because of more stretch & "play" with a longer belt length?
Everything has more play the longer it is
I made a 3x3x3 meter printer and the 8mm rods that had
is there a difference in set up when you are offsetting the pulleys? what you showed looked like stacked.i used offset design so each A and B would have there own bearings hoping for smoother operation.
Thanks - nice quick explanation; I'd been wondering what CoreXY was but never got around to finding out; a quick video is just the job :)
That algebra is so much easier if you just sum or difference the two equations, which is what I thought you were going to do before you took the long way around!
dA = dx + dy
dB = dx - dy
Sum; 'dy's cancel:
dA + dB = dx + dx + dy + (-dy) = 2dx
(dA+dB)/2 = dx
Difference; 'dx's cancel:
dA - dB = dx - dx + dy - (-dy) = 2dy
(dA-dB)/2 = dy
This is the best explanation of corexy on the whole internet. Thank you for making this.
Hi! How do you control the angle of the diagonal movement? Only turning 1 motor does a 45 degree movement, but how do you get this to, say 55 degree angle? Thanks!
Yeah, it's confusing at the beginning but actually quite clever. I would like to know how the print quality compares to a system where the X and Y belts work independently from each other. Cheers.
that would be really interesting!
Thanks. I would like to know what it would be like in dynamic modeling on a Core-XY system. Could you help me?
Thx. Fortunately, I have an engineering degree, and I'm a math teacher, plus I've been deep into 3D printing/printers for almost 2 years now (even took apart an H-bot printer... and yes, fixed it and got it back together :) ). Actually, I'm going to use this for my algebra students! It's a nice little real-world system of equations. FYI, to that end, the elimination method is well-suited to this system: simply add the two to get delta_x; and subtract for delta_y. In fact, this can be done easily in one's head! Of course, you're a sharp guy, so, probably already know this and simply chose another solution method for your own reasons. Anyhow, thx, again. MATHS!:)
What you actually get are equations for two straight lines, one with a slope of 1 and the other with a slope of -1. The y offset of a line is set by the total distance from the stepper pully to the print head for that line, which is set by that line's stepper position. Since both equations have to be satisfied together the x,y position is the intersection of the two lines, and since you can control the y offsets individually you can place the intersection anywhere in the x,y plane.
Just a thought, what do you think about using a micro to read a standard cartesian step/dir XY axis pulse stream and then calculate the corexy step/dir output stream, that way you could use any traditional controller without needing it to be corexy compatible. Obviously it would involve some math which would limit the step pulse frequency to whatever the micro can handle. Nice explanation BTW thanks for posting.
I should have mentioned I wasn't thinking 3D printers, more traditional CNC applications, I'm planning a drawing machine/laser build using corexy and the controller I had lying around didn't support it. I'll just switch to something that does. Cheers.
if it's standard, you'll need 4 wires, the step and the direction for each axis you can then simply plug the length for a y or an x step in the equation.
a faster alternative is to use a lookup table, where you have how much you should move each motor for one step.
a more accurate alternative would be to buffer x,y and z movement, so you can have a greater number of steps and have less error in the equation.
a ramps board is 20$ and is probably less than the hassle of doing this,unless it's for fun of course.
what are the advantages of core xy normal cartesian?it seems the printing surface moves a lot more than on cartesian or the delta model and that creates inertia issues because of the mas you are moving....
With a lightweight assembly, coreXY can print faster, as the print bed doesn't move.
Do I understand correctly that the travel of X and Y have to be the same - I couldn't have X twice the distance of Y (rectangular bed)?
No need to have both axis the same.
hi. Firstly thank you for this video. I have a question. I finished my corexy printer. But when I print a part everytime I got like mirrored by Y axis. What may cause problem? If you want I can send you my kinematics schema by email ro other ways
yes you can check below link to my schema? If I change the X endstop positon to the left then It will be okay I think.. By the way I use endstop_min on the firmware
www.imgim.com/corexy_kinematics_bykurt.jpg
I like the way you expressed it as a system of equations. Mathematically, it makes more sense to me now. However, you did move a bit fast. It seemed like you might have even sped up the video a little, or am I wrong? Either way, remember that we can do that on UA-cam now with the playback speed option. It was slightly too fast for me to really grasp it. Also, I would suggest using two colors for the belts, because as you said, it gets confusing when they begin to overlap. I haven't thought about it on my own much yet, but for example, I have a hard time seeing the delta Y motion occurring with the belts as you had drawn them. Overall, it was a good explanation, albeit a little too brief for me. Perhaps a physical demonstration of each motion would help?
Thanks for the feedback, really helpful stuff.
Hi there :)
Can you explain how to get constant velocity for the Extruder or nozzle?
lets say, that i want to move the nozzle from point P1 to point P2 on the X, Y plain. But I have to do it in a constant velocity. So if it was a typical Cartesian printer, we would have to set different values for X and Y.
V = sqrt(X^2 + Y^2)
But how do we find the velocity of X and Y to get a constant velocity V?
Is that clear? I can send you a video if you want...
(It is really important or me. I am trying to make a 3D printer by my self but I don't know any kinematics or calculus)
In short, How to get nozzle velocity V by changing the velocity of X and Y?
C.R.T thanks a lot! I'll let you know the results!
the first equations he writes down are position equations, take the derivitive of the final ones to get velocity, then take second derivitive to get the acceleration
On CoreXY I see the motors at the back or at the front but on my printer they MUST be on either side (pick right or left for both) so with both motors connected to a controller I have four choices of which combination I could have the connectors. Now with my motors on one side that makes it 90 degrees off from the standard motor setup how would I setup the motor connectors so that my print is not 90 degrees off?
That is what I have been told and with only two connectors there should be a max of four positions they could go.
How so? The plug(s) can only go in one of two directions and there are two plugs.
Now you have lost me. The plug can go 1, or 2 with 1 say is up and 2 is down. 1-1/1-2/2-1/2-2. Because the plug only has 2 states which are either up or turn backwards to be down and there are only 2 plugs that would be 2 squared which is four possible outcomes. I am severely not understanding how there could be 8. Think of it like a light switch and you have two light switches how would we get eight possible combinations? Up-Up/Up-Down/Down-Up/Down-Down
Z would have nothing to do with this though.
Can I build a corexy printer from a printer that has a controlbord that moves the x and y axes (It was a printrbod)
C.R.T printrboard runs Marlin, it’s basically ramps based via a few other variants. So yeah, it should be possible to make it work.
Can you explain hbot also how corexy is different from hbot
edit: didnt read previous comments
Which is all very nice and well explained but imagine now that I am building a core XY printer, and my electronicx board (A duet 2) says that one connection is for mt x stepper motor and the other for my Y-stepper motor, how do I tell which is which? Is x The left stepper or the right stepper? I mean it does matter for the oriantation right?
If I look up front and my motors are in the back of my hypercube then both of them maje the Z AND the Y movement, but what of I switch them? doesn't that mirror my print? doesnt that make it a problem for my endstops to detect the X-and Y endflags and wreck my printer before I properly used it?
X and Y movement* sorry for that Z typo
You can flip the rotation directions to get the desired motion depending on your layout and which way up your motors are. Just run at low speeds while testing to ensure its going in the direction you expect.
I don't think I understood much of what you said in this video. Perhaps a visual demonstration with the actual printer would be helpful?
Would I be right in assuming that if if the motors go in the same direction you get movement on one axis and if they go in opposite directions you get a movement in the other axis?
Does anyone know why these machines need a light print head?
They don't need a light print head. But the less mass that needs to be moved means a higher acceleration is possible for a given amount of power. So lighter = faster for the same cost. CoreXY means that the heavy servos are stationary = less mass having to be accelerated. And as long as you have that, using a lighter print head just makes things that much faster.
What's the advantage of CoreXY over other approaches?
It allows both motors to be stationary instead of having the x motor mounted to the y axis. Basically the y motor doesn't have to move the additional weight of the x motor
Also it's much more space efficient then most cartesian or probably any delta printers
How to upload the firmware fore core xy uno card it will be great.
Clear as mud.
but why? whats the advantage, i see so much rubbery belt
Advantage is that the heavy servos don't move. So they don't have to be accelerated. This means that the mass being moved is less, so for a given amount of power, things can move faster. The other advantage is that for a given build volume, the size of a corexy machine is smaller.
For a Cartesian machine, one servo moves the table back and forth. In order for the print head to access the entire table, the area where the table travels has to be twice the length of the table. In a corexy machine, the table doesn't go back and forth, so the machine just needs to be large enough to enclose the table plus room for the belts and pulleys.
Nice math, BUT, would have been more useful to show an actual device along with the explanation.
if both steppers works Y movement ,1 stepper=X :)
What what?
there are 2 steppers in this formation, If both motors runs at the same time that creates Y movement on the other hand single stepper motor creates X movement is that right?
if you run both in the same direction, you get x movement, if you run them in the opposite direction, you get 2y movement.
design!
Sorry, I only got to the half way point and realised I'm stoopid. No eye dear!
Really? Napkin writing when you could have just pointed out the components on a real machine?
For me, it is much more clear with a drawing as you get to see each section in isolation and it is kind of like watching a 'build', but each to their own.
Ага, да. Ясно... спасибо... я пожалуй пойду...
C'est pas faux!
Well... If you just want to make things fancier a.k.a. more complicated, than I guess the CoreXY is OK. But it does add nothing to the quality of the 3D printer. Actually, because the math is a bit more complicated you need a better controller. Then the belts are at least twice as long as on traditional XY design, meaning the overall elasticity of the belt is greater and as a consequence, you have more "ringing" (wavy vertical walls).
Bottom line not a good choice for 3D printer.
the controller isn't an issue, even standard grbl runs it just fine on an arduino uno. The concept was to make it more rigid though, is htat what you're saying it's not doing properly?
@@midwestmangos2452 "CoreXY" does not add nothing to the rigidity. In contrary. There are more bearings, more joints, longer belt, more friction,... Simply not worth it! (a bit of disclosure: I'm a 3D printer and a UAV designer...). But, really, the question is: What is your goal?!?
I have to admit the movement is quite mesmerizing :-)
@@midwestmangos2452 Ahhh sorry for a late response. If you check the definition of "rigidity" you'll find tha the CoreXY is not rigid at all. More elastic component you add to the "equation" less rigid the system is. Check also the "ringing" or "ghosting" in 3D printing to understand this phnomena. But yeah it's very mesmerizing to watch how it works :-)
confused the shit out of me. I'd like to see this in motion.
it uses repetier host
Great explaination but.........dafuq?!
My head hurts. I was good at algebra at school, but it was over 20 years ago I last used it. I cant wait for my kids to do it, so I can refresh myself.
here's a refresher:
when you have
x+2=0
you just remove 2 from each side, which keeps the equal, but gives you
x+2-2=0-2
which is
x=-2
same goes with multiplication and division.
when you have something like
x+2+y=0
and
x+2-y=0
you can simply put x or y on one side of one equation and replace it in the other
so the first one becomes
x=-2-y
you replace it in the second equation
(-2-y)+2-y=0
move all of the y to one side, which gives
-y-y=2-2
so
-2*y=0
thus
y=0
once you have y you can replace it in either of the equations and you can find the value of x
x+2+0=0
so x=-2
same idea when you have more than 2 letters (variables), you can just rearrange stuff around until you find what you want, but you'll probably never get a number.
in this case we "know" x and y, so we can find A and B.
Corexy explained in instantly ="etch a sketch"
@@Vector3DP who cares. Its the same action.
@@Vector3DP no its the same action. Different mechanics same action.
you are explaining too fast in this video , not getting proper
C.R.T The main problem I am facing with your Accent
Then maybe you should turn on your subtitles.
Hes not explaining too fast; you're understanding too slow.