Corexy wiring

From RepRap
Jump to: navigation, search

Purpose

This page is to help with troubleshooting the wiring for a CoreXY style printer, using a RAMPS board and Marlin Firmware. This may be applicable to other boards and firmware, I haven't had a chance to test other configurations yet.

CoreXY setup can be rather confusing, due to the lack of a direct correlation between motor and axis. On a Cartesian printer, one motor drives one axis (nominally). For CoreXY, you have to contend with the fact that two motors are working in tandem to move your X and Y axis.

Caveats

This will pertain mainly to the X and Y axis configuration, as the Z-axis is pretty straight forward.

Since both motors are in use for any move in the X and Y axis, I will reference the motors as "LeftMotor" and "RightMotor", with the assumption that both motors are in the rear of the printer. If yours are in the front, you may need to reverse the directions.

Connections to the RAMPS board will reference the physical connectors original purpose and be labeled "X_Axis" and "Y_Axis".

This is not a comprehensive guide to the full Marlin firmware setup. This only covers the parts directly pertaining to getting CoreXY working on RAMPS and Marlin.

Basic Connections

Motor connections should be as follows:

Pin 1 on the motor is connected to Pin 4 on the RAMPS board connector. If you reverse these, you will need to reverse the truth table below.

RightMotor should be connected to the X_Axis connector on the RAMPS board.

LeftMotor should be connected the the Y_Axis connector on the RAMPS board.

In the Marlin configuration, you will need to make the following changes:

  • Find the #define CoreXy line and uncomment it
  • Find the section pertaining to "Invert the stepper direction". When you are making your changes, you can either physically change the plugs, or change the stepper directions here. If you physically change the plugs, make sure to power down the RAMPS board before removing/installing a motor connector, or you risk frying a driver chip.


Truth Table

X_Axis connected to RightMotor

Y_Axis connected to LeftMotor

Invert settings in Firmware Commanded Axis
Invert X Invert Y X Axis Positive Movement Y Axis Positive Movement
True False Causes Y Axis to move in the positive direction Causes X Axis to move in the positive direction
False True Causes Y Axis to move in the negative direction Causes X Axis to move in the negative direction
True True Causes X Axis to move in the positive direction Causes Y Axis to move in the positive direction
False False Causes X Axis to move in the negative direction Causes Y Axis to move in the negative direction

My axises are all wonky!!

If you have your connections reversed (which I did and is what prompted me to put up this page), you will get one axis moving in the proper direction, but the other axis moving in the opposite from intended direction.

X_Axis connected to LeftMotor INCORRECT

Y_Axis connected to RightMotor INCORRECT

Invert settings in Firmware Commanded Axis
Invert X Invert Y X Axis Positive Movement Y Axis Positive Movement
True False Causes Y Axis to move in the negative direction Causes X Axis to move in the positive direction
False True Causes Y Axis to move in the positive direction Causes X Axis to move in the negative direction
True True Causes X Axis to move in the positive direction Causes Y Axis to move in the negative direction
False False Causes X Axis to move in the negative direction Causes Y Axis to move in the positive direction


This was very frustrating until I explained the issue to my wife, who pointed out the fact that I had overlooked the possibility that I had my motor connections going to wrong driver chips.