Skip to content

Instantly share code, notes, and snippets.

@kmobs
Last active December 20, 2023 16:01
Show Gist options
  • Star 11 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kmobs/8dd4777da83e34b4cfb82c5934e9a126 to your computer and use it in GitHub Desktop.
Save kmobs/8dd4777da83e34b4cfb82c5934e9a126 to your computer and use it in GitHub Desktop.
Demystifying some ADXL understandings

ADXL Demystification

There is a lot of confusion as to how to get good ADXL graphs. For many, the issue is printer build and rigidity. For others, there is often an issue with ADXL mounting or noise. Like all of my guides, this is targeted at people chasing the highest performance with quality. If your quality and speeds are fine for you, stop reading as this guide isn't for you.

There are a few parameters that play into your measured values and this will break down the most straightforward. Broadly, they are mass and stiffness. This explanation will not be true in every single instance, and is definitely not PhD level physics, but should at least help with the broad understanding of what your printer is doing.

Technical

The easiest way to think about it is if you start by thinking of your printer as an undamped simple harmonic oscillator. Screenshot 2023-01-31 at 9 50 59 AM

Spring Constant/Stiffness

Here you find that the angular frequency is dependent on the square root of your spring constant divided by mass. Your toolhead is attached to your motors by a series of springs. The easiest one to conceptualize is your belts. Then you have to think about all the other components that intervene between the point of force (stepper motors) and where the force is applied (toolhead) that all have varying levels of stiffness due to different Young's modulus in the materials. While Young's modulus is dependent on the material, the spring constant is dependent on the dimensions of the material as well. They're different, but for the purposes of this discussion, there's a lot of overlap in terms of a broad conceptual understanding.

Weight

The one that we often focus on in the 3dprinter realm. Often to the point of minimizing everything else. This is what has lead to the creation of the ultralight x gantry beams that likely harm you more than they help you. Based on the formula above, if you're sacrificing a lot of stiffness for a little weight savings, then you're harming yourself more than you're helping.

Practical

So what does this all mean?

Whenever one measures something there are a few factors to consider.

  • Does the act of performing the measurement appreciably affect the outcome?

    • If attaching a 10lb weight to your toolhead as your measurement device, then obviously that will alter your results. Most adxl setups do not do this, so it's a nonissue
  • Is the measurement actually measuring what we care about? Is it representative?

    • This is where we run into some issues. The goal of your measurement to to determine how your point of extrusion (nozzle tip) is moving relative to what your expect. We don't care about how the x carriage is moving, or how the back of the stepper is moving because while those are often coupled to the nozzle, there are different materials between the two. This is why I recommend nozzle mounted ADXLs. There are a few choices these days.
      • I have plenty of hours on the Crampon: Crampon
      • The Kusba is another good option: Kusba
      • And you can always use a standard ADXL with a nice mount here from the Armchair Engineering folks: Armchair Mounts
    • I recommend against the carriage mounted ADXLs, the canboard ADXLs, and the standard SB or V0.2 mount points for your ADXL devices as they may not be representative as what you intend to measure. These may often result in ADXL graphs that are accurate, but not representative. They don't actually measure how your nozzle is moving, but rather how the ADXL is. The graphs may be near impossible to compensate for with standard input shaping algorithms and not actually help your prints. However, if you're getting acceptable graphs with your carriage mounted ADXL, there's no reason to change. Nozzle mounting probably won't improve your scenario.
  • Do the results make sense?

    • This is another point that people often get tripped up on. Think about your results critically, if they don't make sense, then you have to prove why they are accurate. Something we often see are big peaks at 125hz. I'm not sure where that is coming from at this point, but it seems that many erronous ADXL results are coupled with this value. So if you have this, try to track it down.
    • Per the formula above, mass differences will play a role in your values, so if you have a corexy machine with identical X/Y peaks, you likely have an issue in either your machine or your measurement setup.
    • Always measure the noise in your system with the MEASURE_AXES_NOISE command. If it's too high, then you need to track that down in order to ensure your measurements are accurate.

TL;DR

  • Measure at your nozzle tip with one of the nozzle tip options
  • Don't chase grams if it's going to harm your stiffness significantly.
  • Chasing grams for the sake of grams may not get you anywhere, and may actually harm you. More weight is not necessarily bad if it adds stiffness. Adding stiffness while decreasing weight is ideal, but much easier said than done.

How does TAP play into this?

TAP simplies a lot of things for a lot of people. It solves finicky pressfit magnets, potentially poor last gen inductive probes, and measures at the nozzle tip. But it also has downsides. It adds mass, and more importantly, it adds decoupled mass. A rigidly coupled mass will share a dominant frequency for the most part. When it's partially decoupled, like Tap is due to the rail, you may have multiple resonant frequencies. The best way to decrease this effect is to increase the preload of your TAP rail.

How to improve

When looking at printer design there are a lot of factors that need to be considered. Broadly speaking:

  • Wider belts increase the spring constant, meaning more force is needed to deform the spring. Higher tension that is applied to these wider belts helps with this as well.

  • Decreasing the amount of plastic from the stepper motor to the nozzle tip with as little mass as you can on the moving components. This means hotend mounted rigidly to metal, which is mounted to your carriage without intervening plastic

  • Having all the mass in your toolhead coupled as rigidly as possible.

  • A single narrow peak is your goal, because that's most easily compensated by our shaper algorithms. As you increase stiffness, you'll decrease dampening caused by thin long belts or plastic. Read below for my damping ratio guide.

  • For some anecdotal data I've increased the weight of my K3 toolhead by about 50 grams due to a new hotend, but stiffened it significantly with metal plates. My resonant frequency got higher. This is my current ADXL graph: image

Before the addition of metal plates and the higher flow hotend, it looked like this. It was 50grams lighter at this point: image

Picture of current toolhead just because I'm super happy with it: Waterheaterhotend

How to take your ADXL measurements further?

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