IDEX XY Offset drift (VC4)

My Vcore 4 prints well so far. But while printing a large multi-colour model, I noticed a problem. My XY offset drifts on higher models. While it is perfect on the lower part of the print, it drifts more and more until (in this case) it overextrudes areas and the toolhead loses steps when hitting it. At first I thought it was some sort of thermal expansion etc, but this happened when printing PLA with all the panels off. Any ideas? I'll do some more testing tomorrow.
No description
84 Replies
Culler
Culler2mo ago
have you measured with calipers in the areas i have marked , they should be the same if not +/- .1 mm would be good
No description
Culler
Culler2mo ago
also what does the back side look like
Ibot
IbotOP2mo ago
No description
No description
No description
Ibot
IbotOP2mo ago
The issue is only on the X axis.
Ibot
IbotOP2mo ago
No description
No description
Ibot
IbotOP2mo ago
I also tried ABS with a 2h+ preheated chamber. Did not fix it.
Culler
Culler2mo ago
I have a few question. 1) What happens if you only use the second color near the top of the print the last 5 layers ?? 2) Does the part show a twist if you put it on a flat surface? 3) Have you checked to see if every part is tight on all three z axis motors?? (see image attached)
No description
Culler
Culler2mo ago
No description
Ibot
IbotOP2mo ago
I should give a quick update. I printed 1kg+ just for multicolour test towers. At first I thought it was some sort of thermal expansion issue, so I tried various things with ABS heat soaked for several hours and pla completely open and cooled. I then measured the angle to the print bed at a precise angle. I found that both were drifting. So Im pretty sure this is neither a driver nor a motor issue. I then printed a single tower with only one tool head. This was perfectly 90° to the bed. At this point I was pretty sure it was a software issue/bug. I completely reinstalled ratos and did the configuration. I started a print yesterday (ABS) which came out perfectly this morning. I printed it again to check the results. Calibrated VAOC (without Z) and re-generated the gcode in the slicer. I did not change anything else... and again... the issue is back.
Ibot
IbotOP2mo ago
No description
No description
No description
No description
Ibot
IbotOP2mo ago
No description
Ibot
IbotOP2mo ago
Also tested all corners
Ibot
IbotOP2mo ago
No description
No description
No description
No description
No description
Ibot
IbotOP2mo ago
1. This is also on my test todo list. 2. It is "straight" and not straight. If you just use a flat ruler and put it against the surface, it looks straight because of the almost perfect fade. But measured against the top/bottom it is not straight. 3. It's not a problem with the Z axis, because that would twist both tool heads. The angle check also shows that there is no problem.
Ibot
IbotOP2mo ago
Would it be possible for someone to print my test on ther VC4 IDEX? I just want to make 100% sure there is no slicer issue. the 3mf is for the lates Orca version.
Ibot
IbotOP4w ago
So now I have tested even more things: I tried the original Prusaslicer profile without any changes. I completely flashed RatOS again, updated everything. I even flashed it a third time without updating to see if it was a post-processor problem. I tried different microstepping values, disabled driver tuning, removed the wipers, reduced max speed and acceleration, re-tuned input shaper... I printed the tower using only the left and right tools. In this case I cannot measure any drift at all. It's perfectly 90° to the bed. I can't find the problem. Also, the problem is really inconsistent. Sometimes I have almost no drift, sometimes a few millimetres.
Culler
Culler4w ago
I don't have enough experience with idex but I believe the problem is somewhere in the Z offset/Home/bed tilt per tool head. My friend on the other hand Thinks if it's inconsistent then it's a mechanical problem.
Ibot
IbotOP4w ago
Seems like the volume does not affect the issue. AFAIK there is no toolhead dependent z tilt or bed mesh. So this does not change during tool switches. Here are some more updates: I made around 100 manual tool changes in mainsail and checked with VAOC to see if my offset had changed, but this seems to work just fine. Everything is within the acceptable range.
Ibot
IbotOP4w ago
I did another test print yesterday. I printed a tower and cancelled it using CANCEL_PRINT_BASE. This way, the motors stay on and I can check the offset with VAOC. There is definitely a T1 offset, but T0 seems fine, which does not match my angle tests.
No description
No description
Ibot
IbotOP4w ago
I let everything cool down, but it seems like the offset doesn't recover. Cold:
No description
No description
Ibot
IbotOP4w ago
I then swapped the MOTOR4 driver for a BTT V1.2 2209 that I had lying around, but nothing changed. Next, I'll check if the offset changes if only T0 or T1 prints. This time, I'll use VAOC, which is far more accurate.
Culler
Culler4w ago
Can you check the set screw on your X axis motors to make sure that at least 1 of the 2 set screw are hard set into the flat of the shaft , see image below.
No description
Ibot
IbotOP4w ago
Already checked this Another small update. A few more things I tried: Removing a Y belt. The idea was to see if there was some sort of Y axis desync that would cause the Y axis to twist and result in X movement of both tool heads. Unfortunately I still had the known issue. I then tried heating the printer and checking the offset via VAOC. While the offset did move a little, this was done intentionally with the bed at 115°C and the bed fans on. So I don't think this should be a problem when printing with PLA. Here are the VAOC results:
Ibot
IbotOP4w ago
Before heat soaking
No description
No description
Ibot
IbotOP4w ago
after 10 min
No description
No description
Ibot
IbotOP4w ago
after 45 min
No description
No description
Ibot
IbotOP3w ago
I then tried to readjust all the belts. This time using the maximum tension I feel comfortable with for a 9mm GT2 belt. Some updates: I moved the printer into a warmer room this weekend, as my basement is only ~10°C. -> No fix or effect. I wrote some simple gcode to test toolchanges outside of a print file, using conditions as close to a print as possible, like hotend temp (150°C) and heated bed temp (60°C). The gcode looked something like this T0 G0 X0 Y0 F48000 G0 X300 Y0 G0 X300 Y300 G0 Y0 Y300 G0 X150 Y150 T1 G0 X0 Y0 F48000 G0 X300 Y0 G0 X300 Y300 G0 Y0 Y300 G0 X150 Y150 ... After ~170 tool change cycles (T0 -> T1 -> T0, actually more like 340) I checked the offset via VAOC. There was no drift at all. So my guess is that there is some kind of compensation that is only active during printing and stacking, which causes this drift. While I'm familiar with Klipper, I don't know much about how RatOS works in the background or how the post-processing script works. And another update... I disabled the post-processing script and dried another print. -> Same result. I reinstalled RatOS completely and configured the absolute minimum for printing. This means no IS, no E-steps, no LED light etc. -> Same result. At this point I'm not sure what to try next. I could start replacing all components step by step, but since T0 or T1 sometimes drifts, I think it is very unlikely that a stepper is defective. ___ Here are some more test results I forgot to post:
Ibot
IbotOP3w ago
This is INVALID! I printed the same file that had been modified by the post-processor! No post-processing script -> T0 drifts
No description
No description
Ibot
IbotOP3w ago
Test at room temperature -> T1 drifts
No description
No description
Ibot
IbotOP3w ago
Single print with T1 only -> No drift
No description
No description
Ibot
IbotOP3w ago
Single print with T0 only -> No drift (negiable)
No description
No description
Culler
Culler3w ago
i think you should start fishing around in other chats for someone with a green name that can help you.
Ibot
IbotOP3w ago
This is a good idea. But I think I have finally found something. I just need to do some more tests. I found my issue! At least sort of. The test I did before without the post-processor was invalid because the file had already been printed once with the post-processor. With a fresh file directly from Orcaslicer and no post-processing the issue is gone. I think the actual issue is not the post-processed gcode itself, but the toolshift feature which is only enabled when using post-processed gcode. Maybe @miklschmidt or another dev can help me with this?
Ibot
IbotOP3w ago
Here is the VAOC check after printing:
No description
No description
Ibot
IbotOP3w ago
The test tower:
No description
miklschmidt
miklschmidt3w ago
You will get random results as long as you don't properly calibrate the pixel per mm as instructed in the documentation. The inner circle is supposed to match the nozzle orifice, the outer circle should match the outer ridge of the flat part of the nozzle.
Ibot
IbotOP3w ago
I calibrated the pixels per mm. The nozzle only has a small chamfer on the inside. But yes, the outer diameter is not set correctly. But I think this is not the problem, as the VAOC calibration itself works perfectly. My problem is that the offset drifts during printing when using the toolshift function. I know it's a lot, but have a look at the first few messages and pictures. I should also give a proper explanation of how I use VAOC here for testing: First I calibrate VAOC, then I start a print (test model). After ~300 layers I stop and cancel the print with CANCEL_PRINT_BASE so that the steppers don't turn off. Now I can start the VAOC calibration again and check the drift after the print. That's what all the pictures I posted here are for.
Culler
Culler3w ago
I agree, you really need to look at the first few messages
Ibot
IbotOP3w ago
Since the last debug zip is over 3 weeks old, here is the latest one. I haven't changed much, but I don't think it's a good idea to debug with old files.
miklschmidt
miklschmidt3w ago
That's indeed strange, however i'm not following the conclusion that it's a software related toolshift issue, if it was you should be able to reproduce it on a cold printer by simply toolshifting enough times, no printing, no movement in Z. i would also expect everyone to have the same problem. Indeed this is what thermal expansion looks like. This is dependent on your belt equalization, if they're not the same exact length between attachment points and tensioned equally they will drift in different ways. Y's need to match and X/DC needs to match. Another thing you can try is reversing the hotend cooling fan. But since that last test is without heating the hotend (right?) it points to belts. I would not expect that much expansion shenanigans with the panels off printing PLA though, however it's still a thing.
I think the actual issue is not the post-processed gcode itself, but the toolshift feature which is only enabled when using post-processed gcode.
I still think this is unlikely, the offset code is essentially the same. Can you reproduce it with a different slicer, eg. PrusaSlicer?
Ibot
IbotOP3w ago
Thermal expansion was also my first idea. I tried retentioning the belt 3 times. I also did a heatsoak at ABS temps with VAOC checks. But still after 45min there was no drift. https://discordapp.com/channels/582187371529764864/1332474133598044281/1337874370475065384 Yes, I was able to reproduce it with Prusaslicer, completely stock profiles without a single change.
miklschmidt
miklschmidt3w ago
I’m seeing quite a lot of drift in that test
Ibot
IbotOP3w ago
Yes, there is definitely some drift, but not nearly enough to give the print results I got.
miklschmidt
miklschmidt3w ago
The difference between 10 and 45 is illustrating (at least part of) the problem I assume your gantry was parked at the back the entire time? Also this drift continues past the 1 hour mark
Ibot
IbotOP3w ago
No i parked it few mm above the bed to also heatsoak it
miklschmidt
miklschmidt3w ago
Did you return to that position after each vaoc check?
Ibot
IbotOP3w ago
yes, after VAOC it moves the head to the middle. I just lowered it again
miklschmidt
miklschmidt3w ago
Okay good. Do you have any theory as to why noone else is seeing this issue if you can reproduce it with stock PS profiles?
Ibot
IbotOP3w ago
I'm also wondering why only I have this issue tbh. I have no idea.
miklschmidt
miklschmidt3w ago
Imo that makes it difficult to argue that the toolshift code itself is causing the issue Unfortunately, since this is a first, it’ll require that someone can reproduce it to help figure out what’s going on. I will link this thread internally and see if the other devs have any ideas
Ibot
IbotOP2w ago
OK, thank you! I'll continue my tests and try to narrow down exactly when this happens. I have done some more testing and want to share the results. Setup: - I changed the extruder & extruder1 rotation distance to 999999999999, which "disables" extruder movement - Set min extruder temp to 0 - VAOC calibrated before each test What I have tested: - Simply printing with no heaters (Bed, Hotends), to be 100% sure there is no thermal issue. Please note that I did not cancel each print at the exact same height.
Ibot
IbotOP2w ago
Post Processor enabled -> Toolshift - Test 1
No description
No description
Ibot
IbotOP2w ago
Post Processor enabled -> Toolshift - Test 2
No description
No description
Ibot
IbotOP2w ago
- Post-processor enabled - Edit already post-processed file: - replaced T0 with T0; - replaced T1 with T1; -> This will comment out the XYZ coordinates that the post processor adds to the toolswap, thus disabling the toolshift feature.
No description
No description
Ibot
IbotOP2w ago
For some reason I also got Y-drift. Unfortunately I am really struggling to get a repeatable pattern on the tests. But I think this shows that there is a issue with the toolshift feature at least on my setup.
miklschmidt
miklschmidt2w ago
@Helge Keck any idea what's going on here?
Helge Keck
Helge Keck2w ago
skewed gantry and/or uneven belt tension try to realign the gantry and the y rails
Ibot
IbotOP2w ago
I have tried to tighten my belts from "scratch" 3 times now. I also checked the gantry by unscrewing all 4 belt tensioners. Tbh, I'm not sure I should be messing with it when it's currently running smoothly and is square, as it took me 1.5 hours to get it perfectly aligned when I built it. Much more difficult than the Vorons I built before. But I can check everything again today.
Helge Keck
Helge Keck2w ago
the error you described here with the offset is very likely coming from a skewed gantry or uneven teniosned belts or belt length its a common issue make sure the gantry isnt skewed when the belts are attached if you cant make it work just use the klipper skew compensation the toolshift and VAOC will take it into account after the skew calibration you ened to redo VAOC
Ibot
IbotOP2w ago
Ok, I'm not sure how a screwed gantry can cause drift that increases linearly with each layer, only when toolshift is enabled, but I'll try it anyway. At least it makes no sense to me.
Helge Keck
Helge Keck2w ago
i have seen this behaviour before, and it was always mechanical alignment issues the toolshift software part doesnt make anything magic, it jsut moves two motors at the same time, there is basically no way that this is software rleated
Ibot
IbotOP2w ago
I started a test remotely out of curiosity. Postprocessor and toolshift enabled, but toolchange speed limited to 100mm/s and 1k accel. WRONG!: I have a rough idea why the problem does not occur when toolshift is disabled. I'm not sure if I remember the belt paths / motors correctly, but when a toolhead switches it applies a twisting force to Y (belt pulls on one side) which the hybrid Y belts counteract. If both heads switch and accelerate at the same time, this force doubles, causing enough friction (in combination with the other stuff like bearings) to lose single steps (afaik you can't lose microsteps, right?). Just a theory. I'll check it out when I get home.
No description
No description
miklschmidt
miklschmidt2w ago
If it's belt tension / skewed gantry, why is it only mucking things up when using toolshifts? the normal _SELECT_TOOL stuff applies the offsets as well You can't loose single steps either, you'll loose at least 4 full steps.
Ibot
IbotOP2w ago
I don't understand it either. My theory I posted earlier is wrong btw. toolshift actually cancels out the forces and should therefore be better than single swap. I checked my gantry again. X has no resistance at all and Y is also good I would say. I didn't remove the belts so it's hard to show on video. I also checked the gantry and there is no skew, referenced to the front stops. Also if you lose at least 4 steps (did not know this before) there would be a lot more stepping to the drift. I'm not sure if I've mentioned this before, but I also checked to see if the gantry "unskews" or something when the motors are disabled. I noticed nothing of the sort.
Ibot
IbotOP2w ago
Ibot
IbotOP2w ago
I continued my tests. Replaced the psu with a Meanwell LRS-350, disconnected all unneeded wires like LEDs etc and checked all wires. Also checked my gantry again. Nothing I do changes the issue. The last idea is to replace the whole mainboard. Again, if I disable toolshift, the issue is gone. At this point I have pretty much tried everything, whether it makes sense or not. @miklschmidt, how much effort would it be to add an option to disable toolshift? I've been working on this problem for a month now, spending several hours a day on it. I think I spend 2-3 times the time trying to fix this issue than actually building the printer. At this point I am willing to accept the compromise to finally be able to print usable parts after 400h of just printing tests.
Helge Keck
Helge Keck2w ago
i wouldnt give up right now. you could first enable the debug mode, reproduce the issue and then share the debug.zip file just to rule out any macro bugs, but i still believe its not you ca also monitor the debug outout from the toolshifts while printing in the console, when enabling the debug mode it spits out all kind of data you can use to find out if the software is the issue it tells you the applied offsets for every toolshift it could also be something completely different like a partly loose oldham coupler on one of the arms or some kind of custom gocde commands in your slicer layer change or filament gcode or poorly aligned z rails
Ibot
IbotOP2w ago
Sure, I can share the debug.zip of the next print. I checked the Z axis. Did not find anything wrong. Even if it was a Z problem, the tower as a whole would be tilted unless it was changing direction with each toolchange. I did a complete reinstall twice with the bare minimum setup acording to the guide. No extra macros, config changes etc. Also tried stock VC4 IDEX Prusaslicer profiles with the bare minimum setup. Same issue Luckily I found a old Octopus in my electronics box. I'm currently swapping the board.
Ibot
IbotOP2w ago
I have just finished printing with the other board. Still the same issue. I think after swapping the psu, mainboard and drivers I can say its not an electronic problem. Here is the debug.zip after the last test print.
Helge Keck
Helge Keck2w ago
did you enabled the debug mode?
Ibot
IbotOP2w ago
yes I canceled the print because I could already see the drift. Since I already wasted ~2-3 kg for printing test towers I try to minimize the waste 😅
Helge Keck
Helge Keck2w ago
please share the 3mf file
Ibot
IbotOP2w ago
Orca V2.2.0
Helge Keck
Helge Keck2w ago
so from your log, RatOS does everything correct
No description
Helge Keck
Helge Keck2w ago
i have checked the critical output from your history and ratos is always using the correct values
Ibot
IbotOP6d ago
So its been some days. I again spend many hours trying stuff. Here a short list: - I compledtly dissasembled my X Gantry. and realigned the Y linear rails. I think I got it pretty much as good as it gets, considering the rails have some resistance from the grease (see vid). It's a tiny bit better than before. - I checked every single bearing and belt - I completly disassebled both hotends and reasebled them. Changed the thermistor on T1 from Generic 3950 back to PT1000 (had a broken one) - Switched out all umbilical wires to the toolhead and changed to a igus CF9 power wire. Nothing of this changed anything regarding the issue. Idk what to try next.
Ibot
IbotOP6d ago
No description
No description
Ibot
IbotOP5d ago
Is there an easy way to disable Toolshift? Maybe by disabling part of the post processor. I want to try more complex/longer prints with toolshift disabled, but replacing stuff by hand (especially on larger files) is not a good/reliable solution. @miklschmidt, can you maybe give me a hint on how to disable toolshift?
Helge Keck
Helge Keck5d ago
in your toolhead config macros add thsi here
[gcode_macro T0]
gcode:
{% set x = params.X|default(-1.0)|float %}
{% set y = params.Y|default(-1.0)|float %}
{% set z = params.Z|default(0.0)|float %}
{% set s = params.S|default(1)|int %}
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
_SELECT_TOOL T=0 X={x} Y={y} Z={z} TOOLSHIFT=0
{% endif %}
[gcode_macro T0]
gcode:
{% set x = params.X|default(-1.0)|float %}
{% set y = params.Y|default(-1.0)|float %}
{% set z = params.Z|default(0.0)|float %}
{% set s = params.S|default(1)|int %}
{% if printer["gcode_macro _SELECT_TOOL"] is defined %}
_SELECT_TOOL T=0 X={x} Y={y} Z={z} TOOLSHIFT=0
{% endif %}
Ibot
IbotOP5d ago
Okay, thanks. I'll try this.
Wetson
Wetson3d ago
Following, interesting issue. I can try and print your model on my idex on sunday 👍
Ibot
IbotOP2d ago
Thanks, would be great Tried adding this to both toolheads. But it does not disable toolshift when its set to 0 as long as XYZ is provided. Not sure if this is how it should be. When XYZ is set to the default it almost behaves as expected. For some reason Z does not travel up after a z hop (only purge tower) Fixed it by adding to layer change gcode: T{next_extruder} G0 Z{layer_z} F1500 ;move down after z hop [gcode_macro T0] gcode: {% set x = params.X|default(-1.0)|float %} {% set y = params.Y|default(-1.0)|float %} {% set z = params.Z|default(0.0)|float %} {% set s = params.S|default(1)|int %} {% if printer["gcode_macro _SELECT_TOOL"] is defined %} _SELECT_TOOL T=0 X=-1 Y=-1 Z=0 TOOLSHIFT=0 {% endif %} Have you been able to do any testing yet? Im currently running a 1d print and already 17h in with no drift issues so far.
Wetson
Wetson22h ago
not yet but thank you for the reminder, will start it now

Did you find this page helpful?