Stupid mistake re units.
Not a stupid question at all. No I did not know that command for extracting the wave data.
Now for something that is actually stupid....
The test prints show very minor changes in VFA even when the sine wave was altered to the brink of motor stall.
Our basic premise that the VFA's coincide with a stepper electrical cycle is WRONG.
I should have double checked the units, but the digits matched. When someone else reinforced the idea that this was one electrical cycle, I accepted it as fact.
Go back through it....
I get 16 VFA's/ cm in the prints.
Stepper is
200 cycles / revolution
16 tooth pulley
2 mm pitch
16 x 2 mm / 200 cycles = 0.16 mm / cycle
The digits match, 16, but it's 16 VFA/cm vs 0.16 mm/cycle
The VFA's are every ten electrical cycles, not every cycle.
We've been refining each brick to be perfect while the problem is someone laying the bricks down unevenly every 10th brick.
That's why no matter how much I perfect the step table, the VFA's never go away.
Aaaargh!!!
Re: Fine Vertical Artifacts / Trinamic Chop Tuning, Any Effect?
Not quite so fast, remember every electrical cycle is 4 full steps, so
200/4=50
16*2/50 = .0625 mm
which is still very close to your 16 VFA/mm cycle
Re: Fine Vertical Artifacts / Trinamic Chop Tuning, Any Effect?
That 16 VFM / cm
Re: Fine Vertical Artifacts / Trinamic Chop Tuning, Any Effect?
oops 😳
Re: Fine Vertical Artifacts / Trinamic Chop Tuning, Any Effect?
See how easy it is to make the same mistake?
Now we get to figure out why there is a periodic bunching of the cycles. More code to dig through. I hope it's a timing calculation with a trunc vs rounding issue. A harder one to figure out would be an interrupt latency.
Also, going to make longer period scope captures to catch the issue. Was never trying to catch more than two cycles.
Re: Stupid mistake re units.
I get 16 VFA's/ cm in the prints.
Stepper is
200 cycles / revolution
16 tooth pulley
2 mm pitch
16 x 2 mm / 200 cycles = 0.16 mm / cycle
The digits match, 16, but it's 16 VFA/cm vs 0.16 mm/cycle
Your "cycle" is a fullstep though (200 fullsteps per motor revolution => 1.8°/fullstep). 1 fullstep is one quarter of an electrical cycle. So 0.16mm/fullstep = 0.64mm/ecycle.
16VFA's/cm => One VFA per 0.625mm.
Re: Fine Vertical Artifacts / Trinamic Chop Tuning, Any Effect?
Oh he&**!
Right back to getting the full e-cycle matching one VFA.
Never mind.... back to our regularly schedule program.
Re: Fine Vertical Artifacts / Trinamic Chop Tuning, Any Effect?
@guy.k2, Don't know if your still interested, but here are my mods to allow signed correction factors. They are based on 3.5.1, compiles ok, and I have run it standalone, with results plotted in excel.
Based on the last couple posts - are you still thinking the VFA's might be electrically related, or do you suspect some sort of mechanical issue?
Re: Fine Vertical Artifacts / Trinamic Chop Tuning, Any Effect?
I'll check out your mods. Thanks.
Sorry about my brain malfunction this morning. Just to reassure myself, went back through the stepper calculations and also recounted the VFA's on a larger print object.
stepper motor is 200 steps / revolution
1/4 ecycle = 1 step
1 ecycle = 4 steps
200 steps / revolution * 1 ecycle / 4 steps = 50 ecycles / revolution
with 16 tooth 2 mm pitch
1 revolution yields 16 * 2 mm = 32 mm
50 ecycles / 32 mm
1.5625 ecycles/ mm
or
0.64 mm / ecycle
-------
Counting VFA's across longer print distance to get higher accuracy.
42 mm / 65 vfa
0.65 mm / vfa
-------
Yes, it is a match. The VFA are the result of an issue in the ecycle.
Re: Fine Vertical Artifacts / Trinamic Chop Tuning, Any Effect?
Thanks for the clarification. You might notice that I also modified tmc2130_get_wave, which is used by D2130 that I talked about earlier. It was only outputting a quarter wave of the table & I changed it to output 1 1/4 ecycles (5 full steps), to make it easier to spot any discontinuities.
Have a great weekend 😀
Re: Fine Vertical Artifacts / Trinamic Chop Tuning, Any Effect?
I can't seem to get D2130 to return any values.
I'm connecting via terminal in Octoprint.
when I issue
D2130Y?wave
or
D2130E?wave
All I get back is an OK, but no data.
Re: Fine Vertical Artifacts / Trinamic Chop Tuning, Any Effect?
Sorry about that, looks like that's only enabled in a debug build & I couldn't figure out how to do that successfully. I'll try to figure something out, maybe add a custom code to call tmc2130_get_wave directly.
Re: Fine Vertical Artifacts / Trinamic Chop Tuning, Any Effect?
Ok, I added "TMC_GET_WAVE_", so TMC_GET_WAVE_X, TMC_GET_WAVE_Y, TMC_GET_WAVE_Z, or TMC_GET_WAVE_E
Seemed like a safe place to add. It still should send output to stdout. Sorry for the oversight.
Re: Fine Vertical Artifacts / Trinamic Chop Tuning, Any Effect?
I read through the whole tread, but it's a little confusing to me. Can someone warp it up what the current status is?
Re: Fine Vertical Artifacts / Trinamic Chop Tuning, Any Effect?
Been under the weather last couple days ... hence not much activity here.
Summary thus far.....
Vertical Fine Artifacts are related to the stepper e-cycle. However, they are probably not due to a discontinuity in the waveform transitions.
Hence, adjusting the finer chopper settings like hstr, hend, tbl have a small effect on their appearance.
VFA's are worse on y-axis than x-axis because the y-axis has a larger mass and resistance. The stepper must build up enough torque in successive micro steps to overcome the resistance. The axis thus periodically does not move continually as the microsteps occur. Then the carriage moves and "catches up". This is what causes the VFA's.
Reducing mass, stiction, and resistance would reduce VFA presence.
Manipulating the shape of the quarter cycle to give extra torque change at the appropriate point in e-cycle does reduce VFA's but probably will no eliminate them.
Current work is on finding a better waveform - better than simple positive power function of linearity correction. Negative power is being explored.
I'm about to write some tests with adding sin(5x) and sin(3x) components.
Unfortunate limit on possible waveform optimization is the compression scheme used by Trinamics has limited ability to represent waveforms. We can't specify any specific waveform. It must also be compressible with the scheme available.
I expect that we'll reduce VFA amplitude to 1/2 to 1/3, but not completely eliminate them.
Re: Fine Vertical Artifacts / Trinamic Chop Tuning, Any Effect?
BTW, good you chimed in. I was about to stop reporting new results as the topic scrolled off into obscurity.
People are watching. I have the same problem, managed to figure out myself the period was every 4th step and that the X axis isn't as susceptible (after thinking it was a physical motor problem and swapping them). Everything here goes way over my knowledge though, but I am eager for a solution.
Re: Fine Vertical Artifacts / Trinamic Chop Tuning, Any Effect?
Some possibilities other than the waveform table:
1) sync (in tmc2130_setup_chopper) – add non-zero sync value(1st guess is 4)
according to data sheet pg 53: “This register allows synchronization of the chopper for both phases of a two phase motor in order to avoid the occurrence of a beat, especially at low motor velocities. It is automatically switched off above VHIGH.”
2) intpol (in tmc2130_setup_chopper) – set to 0, instead of 1. this turns off the automatic 256 µstep interpolation.
according to data sheet pg 71: “In Figure 16.2, the first STEP cycle is long enough to set the standstill bit stst. This bit is cleared on the next STEP active edge. Then, the external STEP frequency increases. After one cycle at the higher rate microPlyer adapts the interpolated microstep rate to the higher frequency. During the last cycle at the slower rate, microPlyer did not generate all 16 microsteps, so there is a small jump in motor angle between the first and second cycles at the higher rate.” Also, if the theory of non-movement on µstep until necessary torque is reached – this might help. On the other hand it could make the motor movement less smooth overall.
3) change microstep resolution for Y axis from 16 to 8. still gives theoretical resolution of .02mm, which is still optimistic, and increases the delivered torque. I think this only makes sense in combination with at least the intpol change.
Re: Fine Vertical Artifacts / Trinamic Chop Tuning, Any Effect?
Finally feeling well enough to work more on this...
Bhawkeye, I tested your negative range capable power function and modified the TMC_SET_WAVE_ g-code to let me specify values in the new range. Printed out a test tower with FACs from -122 to 240 with a change every 5 mm elevation. That's covered most of the allowed range.
The values were definitely getting accepted. Around -40, the waveform was such that I got a missed Y-step.
Unfortunately, looking up and down the print, the VFA's were only slightly changed in depth. About -20 seemed to be about 1/3 less intense. Still present though. The effect was mild enough that it took a a long hard look to notice. At first I only saw that the VFA's were continuously present up and down the print's height. It was only when I paid attention to how deep the VFA's were that I found any change.
Picture is nigh impossible, I can only see the difference by moving the printed object around and watching how it changes the way light reflects off the surface.
Re: Fine Vertical Artifacts / Trinamic Chop Tuning, Any Effect?
Very interesting results. Thanks for your continuing efforts. I’ve ordered the tools needed to do my assembly following your excellent “Planar Parallel and Square” guidelines, so assembly should start next weekend.
I had previously glanced at Trinamic’s App Note AN026, from here, but gave up quickly – as their testing methodology didn’t seem applicable to tuning an assembled printer.
I went back and re-read it more carefully – and their method involves a 2 step(minimum) process. First, tuning the curve for equidistant microsteps then tuning for constant torque. I still don’t understand how the constant torque tuning step works(maybe their description is clear to someone with more knowledge) – but it shows the “equidistant microsteps wave”, which looked similar to the ones we’ve been working with, being changed into one which has a section near the end with a negative slope.
Given that the Prusa code mis-implemented the standard sine wave (along with exponential modifications), I doubt that the Prusa engineers made any attempt at optimizing the microstep table, based on the process described by the Trinamic app note, but it seems like the process is most suited to be done by the manufacturer, due to the equipment necessary.
Re: Fine Vertical Artifacts / Trinamic Chop Tuning, Any Effect?
Happy to hear you are getting your printer put together. It will help progress. Don't forget to have some fun with the printer along the way too. Despite the VFA's, the mk3 is a fun machine to print on.
I've been working on the VFA's probably a bit more than most because I print almost exclusively in PETG and that material's glossy surface really enhances surface anomalies.
I've printed close to 200 xyz cubes and many test towers in this quest.
Things I have tried...
Getting rails super parallel - reduces random scatter and ironically the cleaner running axis allows VFA's to be more clearly seen
Preloading rails laterally / medially - increases random scatter. The VFA's are harder to see, but all print details become blurred.
Misumi bearings - cleaner more accurate tracking, but better focused VFA's
Misumi rods - less noise but really not much effect on VFA's
Igus bushings - More stiction and enhanced VFA's - also not much more quiet than misumi bearings and rods (once those are super parallel)
Varied belt tensions - not much effect on VFA's. Too tight --> random smear increases. Too tight --> ringing artifacts worsen at direction changes.
Slated for testing
Altering sine wave with varying percentages of sine(5 * x) component. Unfortunately, due to the quarter wave compression scheme, we can only alter amplitude of the added component, not phase.
Sync on/off between choppers
Interpolation on/off
dropping to 8 microsteps
Moons stepper motor