Accuracy Issues and Calibration Overview

This is a good series of posts.

It would be good to have a post about the chain distance wrappd around the
sprocket.

also, the chain wrapped around the sprocket, and the rotation radius should not
be modified by the chain stretch factor. I think today it’s implemented by
modifying the distance per rotation number, I think it probably needs to be done
much more explicitly in the calculations.

something along the lines of

  1. figure the ideal chain lengths

  2. subtract the rotation radius

  3. subtract the sprocket wrap

  4. figure out the amount to correct for sag and stretch

  5. modify the ideal chain lengths by this correction factor.

David Lang

I made this post to talk about chain wrap. Review it and let me know if you think its correct. It’s how I understand it but that doesn’t mean its correct.

The self-modified version of groundcontrol/firmware I’m using removes chain stretch from the chain wrap calculations. It also calculates the radius of the sprocket during chain wrap calculations as the average of chainPitchnumberofTeeth and chainPitch/(sin(180numberofTeeth)*2). It’s a micro-adjustment but it’s something I did nevertheless.

Yes, the effect of chain stretch accounted for by changing the mmPerRotation of each axis in controller.

Hi madgrizzle,
I am working on my second build - Maslow mark II - to address accuracy issues with my current machine. Something bothers me with your diagram at the top and “triangulation kinematic”. Here is my line of thinking:

  • on your diagram a dotted line goes through the center of router bit while actually the chain curve is normal to the circle. This is direction of chain tension force. Look at my picture

    or when sled is moved to left side;

    Do we really solving “triangulation” problem or we have much less challenging catenary curve fitting problem (we do not know a weight of sled though). The intersection of dotted line moves as sled is moving and it is hellish math to find position of router bit relative to this moving target. In addition we do not have precise method to centre router on the sled.
    In my opinion we have to solve catenary equation - fitting to three points: router bit, ring and sprocket - not triangulation. We should have very good accuracy providing that router is in the centre of the ring.
    Am I right or I am missing something?
    tomD

Just to make sure I understand, are you saying that there is not really a triangular relationship between the motors and router bit because the chain sag affects where the carriage is located on the ring (basically “lowering” its position)?

Exactly! Tension force vector is applied to the ring at the point of chain attachment and tangential to catenary curve. At this point chain is perpendicular to ring - better word is “normal” and continuous to centre of ring (well - almost to the centre but straight line on such short distance is good approximation). Minimum energy requirements force ring in such position.

1 Like

It’s quite possible you are correct. This post tries to explain the theory behind the current implementation of triangular kinematics. Do you think you can share your post on this thread?

I know @joshua has been doing some work with catenary equations and his input would be good to get as well.

Hi @TomD ,

Great stuff! - thank you @c0depr1sm - a lot to digest. I am glad to hear that parabola approximation is implemented. I was confused by wiki diagram.

It’s not implemented in the stock firmware at this time. It’s something that a few people are exploring.

This is one of those things that is easy to overlook. Also, it is difficult to quantify the impact. We need someone with a PhD and a lot of free time to really work through this problem in a rigorous way.

The way I interpret these problems, is like: we want to consider everything which affects the shape and location of the chain relative to the router-bit. Two of these things are: the extra weight associated with the roller-bearing assembly; and the fact that the ring functions as a zero-mass extension of the chain. Within the wikipedia discussion about the catenary equation, there is a section which discusses non-uniform chain weight. This could be used to address this problem. The roller bearing would look like a 1" section of the chain that is heavier, and the ring would look like a ~130 mm section which has zero-mass. The math may be too much for the lowly arduino.

A catenary is the result of an equilibrium of forces among the chain links. A few important property of the uniform density catenary are:

  • vertical tension is null at the apex.
  • horizontal tension is constant through the catenary
  • tension accross a chain link in only determined by the horizontal tension, and by the vertical tension due to the catenary segment that lies below that link down to the catenary apex.

Now the Maslow sled and ring kit rollers are lumps of mass. At a first degree, we could say it is not a uniform density catenary. But it can be simplified by:

  1. first considering the whole sled, including rollers, as a mass lump.
  2. Divide the lump in two parts reflecting the part of the weight held by each chain (this depends on the sled horizontal position).
  3. Replace the mass lump at the tip of each chain by an equivalent chain length of same weight.
  4. Combine each real chain length with the equivalent chain length it holds, and from that point on, stop assuming these two long chain connect together: Consider those as two separate catenaries having the same horizontal tension.
  5. Calculate a horizontal tension on the sprockets based on the sled weight and position. It is a valid approximation.
  6. Use the simple catenary calculations to find its shape, knowing that one part hangs from the sprocket, end the other is flat horizontal where vertical tension is null (the apex).
  7. Now you want to compute the relative coordinates of two points on each of these catenaries:
  • the position of the highest point (where the sprocket tengeant contact occurs
  • the position of the chain tip that hangs at the length of the real chain minus the part the wraps around the sprocket.
  1. Also compute the angle of each to figure out the tangeant points on sprocket and the connection point on the ring,
  2. Now you might get something that does not exactly fit between the sprockets. That is not an error. Remember your horizontal tension estimation was assuming a sled position, but the catenary equilibrium is moving away from that. So use this first catenary calculation to better estimate the position and horizontal tension, and iterate until you get a stable result that fit between the sprockets for the given chain lenghts.

And there you get a catenary calculation of the sled position.

Is that the optimal way to compute the solution? I don’t know. But you can play with it :slight_smile:
I did implement that catenary calculation here to analyse the MaslowCNC errors and document the list of sources of errors.

Do you get different horizontal tension for the two different chains?

Good point @Joshua. I edited my post to make it clear to keep the same horizontal tension.

Let me just ask really quick. Regarding the above discussion about the catenary equation; is there a different forum topic where we should move it?

This wiki thread is initially the introductory topic, and it covers explanation of what is chain sag.
We should clean this up to leave the simple yet accurate introductory topic.

Then we could move the catenary /approximation/more advanced diagrams to a thread about “Sag compensation accuracy” and attach that new thread to section 7 of the Wiki table of content “technical details”. I can’t clean-up with my current forum user status. Maybe we should ask @Gero or @dlang or @madgrizzle or…

What specifically are you trying to do? You should have the ability to edit any of the initial posts or placeholders. if you are referring to deleting posts after those, I don’t know who has that ability (I don’t either), but I wouldn’t necessarily worry about it too much.

1 Like

Let me know if I can do something. Have received admin rights to create a category and they forgot to take them back :slight_smile:

Considering you keep bumping zombie threads, I don’t think you should have any sort of privileged access to the boards. :wink:

Warning :smiley: I plan to bump several wiki “zombie threads” to refresh first line information about the basic Maslow mechanical behavior, parameters settings, then add advanced technical details topics.

Would you have some recommendations? :open_book:

2 Likes