Clearpath Servos with 1XD Expansion
-
Im printing a simple spline type object in order to get many oscillating tool paths, hince the retract only happening once per layer, during layer change.
With retract off, the same dip happens when the layer change happens.
As far as I know the duet and 1xd boards have a buffer and should still be processing moves during the layer change correct?
-
@dc42 After pausing the machine after some slight layer shifts I did a G0 X0 Y0 to take the printer carriage to where the print believes is home. I also looked at the counts on the Servos. Lastly I compared those numbers to actual home after homing.
After Homing
Duet (0,0)
Servos ( 3574, -426)After a few layer shifts
Duet (0,0)
Servos (3500, -417)The servos are not the issue here, there is an issue with either the Duet 3 or the Expansion 1XD boards, Could be in the config I guess, but I dont see how.
The issue does go away if I slow the print down to 20mm/s, but that is an unreasonable solution.
@JoergS5
X 8000 counts/ rev (40x microstepping equivalent)
Y 8000 counts/ rev (40x microstepping equivalent)
Z 16x microstepping (414 steps/rev)
E 8x microstepping (2061 steps/rev) has a 10:1 reduction
interpolation = 1This should not be enough to reach the limit of the Duet 3, correct?
Im open for more ideas on how to test this issue.
-
@jballard86 said in Clearpath Servos with 1XD Expansion:
This should not be enough to reach the limit of the Duet 3, correct?
I don't think you reach the limit. But in your initial information you wrote about high hiccups, there must have a reason.
You should recheck hiccups after reducing the speed and make sure the hiccups are low or 0.
ClearPath has nice test programs!
But back to the problem: I saw various reasons for layer shifts, and it is important to know the exact nature of the layer shift, especially in which direction (which axis direction, sometimes diagonal), always same shift distance. Best would be you post an image. Layer shifts can have different reasons like slipping pulleys, it is not necessarily the stepper.
-
at low speeds, no retractions, no fan the hiccups are minimal: 0-2.
Ive also reduced the servos to an 18x microstepping equivalent (3600 counts/rev), with no change.
Ill also have to say that even at low speeds im still getting a shift on every layer its just significantly less pronounced.
Ive also tested without the bed heater on, no change. I thought there may be interference.
-
@jballard86 so see my post addition (our posts crossed), there could be a different reason, if possible please post an image of the shift.
When you have less shift with lower speed, a slipping pulley at the stepper could be the reason. You can mark pulley-shaft position with a marker to verify it is not slipping. I mean like:
-
Here is one example, the shifts are sporadic in direction, they can be along axis lines, and then diagonally.
A real simple shape such as a cube has no issues, but if you add any features it becomes problematic.
-
@JoergS5 ill mark the pulleys and retest.
-
@JoergS5 I milled shallow flats in my servo shafts, they are still lined up with the set screws, however I marked them just in case.
Ran file, marks still line up.
-
@jballard86 your layer shifts look interesting...
One remarkable detail is that the shift is of the kind if it shifts, left and right shift to the same direction. So the shift is not due to a lower print distance.
One reason for layer shifts are print bed shifts, but when you get less shifts with lower speed, so this is unprobable. Can you exclude this possibility? (how good is your Z movement system?)
The next possible reason is that the nozzle touches the object while layer change and moves it. There is something called Z-hop in the slicer to take the nozzle away.
One possible reason, not probably not in your case but I want to mention it, is that something is in the way for the actuators, like cables, which disturb the movement.
One intersting detail in your image is that there are multiple layers shifting into one direction, then multiple layers shifting into the other direction, but different number of shifts for every direction. There must be a reason for this. If we found the reason, we know the solution!
It would be interesting to make a test at layer change, whether the coordinates are still correct, but testing the values at the endstops.
-
Z axis is remarkably stiff, z rails, kinematic mounts, all aluminum, mounted to 1"x2: aluminum bar for increased rigidity.
Never had good luck with zhop in the 10+ years ive used 3d printers. so Zhop is disabled.
Nothing is disturbing movement, besides the clearpath software would give me an error if there was an over torque situation, which would indicate that there was a collision of some sort in this type of scenario.
but you are right, the shifts are interesting. Ive taken everything out of the question that is unnecessary for a print to print (albeit ugly), Ive verified that the servos are not missing steps, ive modified accelerations, jerks, speeds, etc with no change.
I know that for some reason there is a pause on the 1XD boards when there is a layer change where the servos actually go into an idle mode.
ive deactivated the bed heater (110v) encase it is causing interference, ive checked that all cables are not ran next to a cable that would cause issues with interference.
This problem is firmware, hardware, or interference related.
-
-
I have tested after a series of layer shifts:
After Homing
Duet (0,0)
Servos ( 3574, -426)After a few layer shifts
Duet (0,0)
Servos (3500, -417)The servos know where they are and the Duet thinks it knows where it is, but it has had something happen in communication or elsewhere that causes it to loose its actual location (im thinking it has to do with the 1XD boards)
-
@jballard86 I have thought about why the direction of the layer shifts is different. Maybe it is because the fast movement to the begin of the new layer is from left to right or right to left. Did you check that the steps/mm are all correct? And if layer changes, is there something special in the G-Code like using G0 instead of G1, different speeds or something other special?
You can insert a macro at layer change to verify if the coordinate system is still correct, testing the positions at the endstops. There is a thread somewhere in the forum to test endstop at every layer.
=> our posts crossed again Our thoughts are in the same direction, that the coordinates change at the layers.
-
@JoergS5
Its a core xy setting steps/mm is irrelevant, you use the Mcode to scale the x and yTesting at later change could give some interesting results but I'm using hard stops, so not viable if the shifts are in the wrong direction. And as I can't log both servos count position at the same time and have to swap cables it could take an afternoon or longer to run and rerun tests.
Do you think the servos are loosing position or the duet? Im 100% confidant that it's the duet as I've already shown that.
-
@JoergS5 Post crossing is happening often
-
@JoergS5 I'm adding a g4 s.5 on layer change, I predict it may stop the shift, but is also not an acceptable solution. Results in a few min.
-
@jballard86 M400 before layer change would be a test also. Maybe XY throws a movement away when Z move starts.
-
-
@JoergS5
still shifting with m400 and g4 s.5 -
@jballard86 at the moment I don't have additional ideas. I will think about and tell you when I have a new one.