Incorrect X axis movement

  • My x-axis movement is weird here. The limit of the X-axis is 600mm but when I Home the axis and then move the x-axis, it moves weirdly. It moves 5mm when given a command to move 10mm and also it never reaches the limit as 600mm is reached in the middle of the printer.

    The zero of x or home of the x-axis is located at the top left corner of the printer.

    Please suggest a solution.

  • Sounds like steps/mm is incorrect, and/or microsteps.

  • Here is the image for reference I had set X max 600mm & Y max 600, printer as Cartesian. All axes move in right manner except X-axis as only this move half of the printer distance than other axes. I manually move this to 600mm using dashboard but it actually moves only 300mm. Please suggest changes.

    I have changed the Firmware version to 3.0 as I am working on it now. X_axis_prob_2.PNG

  • Moderator

    Was it previously 100 steps per mm on the X and it's only now that you've switched to RRF3 that it's no longer accurate?

    Post your config.g and homing files.

    Here is the formula for determining your steps per mm on a belted X Y axis

    xy_steps_per_mm = (motor_steps_per_rev ∗ driver_microstep) / (belt_pitch ∗ pulley_number_of_teeth)

  • tpre0.g tpost0.g tfree0.g stop.g sleep.g retractprobe.g resurrect-prologue.g resume.g rehome.g pause.g homez.g homey.g homex.g homeall.g deployprobe.g config.json config.g cancel.g bed.g Yes, it was 100 steps per mm previously. Even now after version change. But it never traveled 600mm on X-axis. I tried switching the X and Y motors connections. But then, both axes X and Y then travel half the distance (i.e 300 mm instead of 600mm).

    My printer build size is 600mm x 600mm x 600mm, it is MODIX Big60.

    I already calculated with the formula but the problem is there are different GT2 pulleys with different teeth no.s, for an instance, in X-axis NEMA23 has a mounted GT2 16 teeth pulley driving a GT2 40 teeth (double width) pulley which further is coaxial with a GT2 20 teeth pulley driving the belt of the X-axis.

    Y-axis uses a GT2 16 teeth to GT2 20 teeth to drive a belt.

    I am attaching the config.g file and homing files. [0_1589565222694_Big60-Configuration (1).zip](Uploading 100%)

    Also a screenshot of calculations.

  • Here are the screenshots.
    X_axis_prob_5.png X_axis_prob_4.PNG X_axis_prob_3.PNG

  • I tried changing steps to the following values:

    40, 60, 80, 120 but nothing worked for X-axis. In the end, it just disturbed my other axes movements too.

  • Will changing the limit of X to 1200mm work, I tried it does cover the whole bed but this might affect my 3d prints and their Gcodes.

    Please suggest a fix.

  • Moderator

    @Jayan said in Incorrect X axis movement:

    it is MODIX Big60.

    Are you sure this printer is cartesian? From some googling it would appear that it is actually CoreXY.

  • This configuration file is forwarded by the printer company. I guess they had worked this through with Duet, I am assuming this here.

    I will give this a try and change it to core XY and will let you know soon.

  • It is still not working, I changed the rep rap config files. Made an entirely new with 3.0 firmware version and CoreXY geometry for the Modix Big-60 printer.

  • @Jayan - Long shot here.

    If the motor was actually a 0.9 degree motor with 400 steps per rev, but the steps per mm were set for a 1.8 degree motor @ 200 steps per rev, then commanding the axis to move 600mm would result in an actual move of 300mm (which is what you said happens).

    If there isn't anything marked on the motor or you otherwise don't know the spec, mark the pulley and see if it rotates one full revolution when commanded. i.e. If it's a 1.8 degree motor then one full revolution will be (200x16=) 3200 (micro) steps. So using 100 steps per mm and 16X micro stepping, then moving the X axis by 32mm should give 1 full revolution. If you only get 1/2 a revolution, then you know it;s a 0.9 degree motor and you need to double the steps per mm value.

    The easiest way to move X by 32 mm would be to send G91 (to set relative positioning) followed by G1 X32.

    Edit - check my maths - I wrote that in a hurry

  • Moderator

    Can you post a photo of the printers X and Y axis? It should be pretty easy to identify what kinematic it is actually using.

Log in to reply