CoreXY layer offset

869 views
Skip to first unread message

Peter Horvat

unread,
Apr 13, 2016, 3:59:07 PM4/13/16
to H-bot and CoreXY 3d printers
Hello everyone!

I have made my own version of the coreXY system and having some problems i cant seem to find the solution to. I have searched other topics but can't seem to find what the problem is. So on the images you can see my problem, the layer offsetting. I printed out the test cube below. Dimension wise it is accurate but as you can see its not a cube.


I have tried to plug out the endstops as i've read that they could be the blame for false switching resulting in layers being offset. And the result was the same. it seems to only offset in the y direction for some reason. Below another print on the system.



Anyone have any solutions for the problem?


My setup is all nema 17 motors (two motors for z axis), GT2 pulleys and belts, corexy setting (each motor on separate level with pulleys and belts to avoid crossing the belts).


Thank you in advance!

Tim Koster

unread,
Apr 14, 2016, 10:21:03 AM4/14/16
to H-bot and CoreXY 3d printers
I would suggest checking the motor current but I think that with a coreXY system a motor with low current results in a print shifted on both X and Y. Can't hurt to check though.

Jetguy

unread,
Apr 14, 2016, 11:24:39 AM4/14/16
to H-bot and CoreXY 3d printers
Was discussed in another forum.

Core XY individual motors move in 45 degree angles to the build area.
Basically, if you skip a step in core XY on a single motor, the shift is both X and Y

The test print shows a test cube that we know the slicing software normally places square to the build area and thus normal Cartesian true axis on the sides and in this case, the print clearly was shifting only in a direct Cartesian axis. That pretty much is a clear indicator of a logic based issue and the answer is an endstop falsely triggering from EMI/RFI.

Peter explained he was using Marlin.

Most likely answer is still an endstop being detected during the print.
One answer is making the endstops normally closed and changing the firmware.
Another answer is 3wire endstops where both positive and ground go all the way to the endstop and the endstop asserts both high and low states.

The problem is when you use a normally open endstop as that means the 2 wires are floating and thus picking up any EMI/RFI like crazy. While adding a capacitor in parallel can reduce the noise, it's still there.
Going 3 wire or using Normally closed endstop configuration is one answer.

As Dan Newman pointed out, you can also set it to only use endstops during homing and ignore them all the rest of the time in certain firmware.

In Marlin

In the file Configurationadv.h


#define ENDSTOPSONLYFORHOMING // If defined the endstops will only be used for homing
Note, the above example is from Marlin used on my Raise 3D N2, but I have to think that same code is built into recent Marlin releases as well.

Jetguy

unread,
Apr 14, 2016, 11:34:45 AM4/14/16
to H-bot and CoreXY 3d printers
FYI, the reason Dan Newman came into the answer is Sailfish firmware supports Core XY but also checks endstops all the time.
Since Sailfish is not compiled with Arduino IDE and is normally just used as is, for discussion point, assume when a user uses the provided Sailfish firmware Core XY binaries, that endstops are checked all the time. MakerBot style endstops are 4 wires meaning they do properly assert both high and low states provided the wiring is followed and there are no breaks from flexing. You can technically use 3 wire since 2 of the 4 wires are ground (sense, gnd, gnd, 5V).

Most Reprap simple endstops are wired with 2 wires and in a normally open or normally closed state. When in the Normally Open configuration, the endstop wires are not connected to anything but the mainboard and thus "floating" making them extremely sensitive to picking up EMI/RFI from adjacent and often parallel wiring runs of stepper motor or heater and fan PWM wiring.

For 3 wires.
At the endstop switch sense goes to common. Then +5V (or 3.3V on Due based controllers) goes to the NC connection and ground goes to the NO connection.
This way, the switch asserts a positive 5 or 3.3V hard pullup in the normal untriggered state and the switch slams the sense line to ground in the triggered state.
Only for a brief fraction of a second does the sense line "float" as the mechanical switch changes states.

Basically, if you are running a printer with Sailfish or other firmware that checks the endstops all the time- use 3 wire endstops to prevent EMI/RFI.
That's also good advice in general, even when using a firmware configured to not sense endstops all the time- reducing EMI/RFI is just a good thing period.

Alexander G.

unread,
May 26, 2016, 11:15:25 AM5/26/16
to H-bot and CoreXY 3d printers
Check the XY motor's currents. Last few days there was the same situation with a printed model inclination and I checked a lot of things,
I've used RAMPS 1.4 with an external drivers DM856 and got the same problem (minimal current I can set on it is 1.5A to 2.1Amps at peak).
Today I've changed the XY drivers back to DRV8825, set the current 1.4Amps (0.7V at reference point) and problem disappeared.
Right now I'm printing the 40mm test cube and everething looks like perfect.

Good luck!

Alexander G.

unread,
May 26, 2016, 2:51:28 PM5/26/16
to H-bot and CoreXY 3d printers

Auto Generated Inline Image 1
Reply all
Reply to author
Forward
0 new messages