MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.28k stars 19.23k forks source link

[BUG] CoreXY only one stepper moving #23912

Closed niklasber closed 2 years ago

niklasber commented 2 years ago

Did you test the latest bugfix-2.0.x code?

Yes, and the problem still exists.

Bug Description

I updated from version 2.0.7.2 to the newest 2.0.9.3 and without changing anything in the code, one stepper motor of my CoreXY configuration doesn't work anymore. It just seems to not getting any signal to move. By going back to the older firmware this issue is fixed again. Do I need to change anything in the code in the new version?

Bug Timeline

No response

Expected behavior

No response

Actual behavior

No response

Steps to Reproduce

No response

Version of Marlin Firmware

2.0.9.3

Printer model

No response

Electronics

No response

Add-ons

No response

Bed Leveling

No response

Your Slicer

No response

Host Software

No response

Additional information & file uploads

No response

thisiskeithb commented 2 years ago

There was an issue opened where coreXY became coreYX, but it sounds like things have gotten worse: https://github.com/MarlinFirmware/Marlin/issues/23747

ellensp commented 2 years ago

What motherboard?

niklasber commented 2 years ago

Arduino Mega + Ramps 1.4 on 24 V

ellensp commented 2 years ago

Please attach your configuration files.

niklasber commented 2 years ago

Archiv.zip

ahmetcemturan commented 2 years ago

You have CoreYX instead of CoreXY. maybe thats it?

//#define COREXY //#define COREXZ //#define COREYZ

define COREYX

//#define COREZX //#define COREZY

niklasber commented 2 years ago

No that’s right because of my stepper layout. Wouldn‘t explain that Motor isn‘t moving neither.

ellensp commented 2 years ago

I just set up a ramps. with the same display and a4988 stepper drivers. but on 12v Using your configuration files (updated to compile on bugfix) This works as expected In absolute mode I tested with G1 X200, both X and Y stepper motors move as expected I then tested with G1 X0 and both X and Y stepper motors move as expected in the opposite directions In relative mode G1 X50 G1 X-50 All works as expected

ellensp commented 2 years ago

Best guess is your ramps is being used in a non standard way. Where the stepper drivers have been swapped around. Verify which stepper motor wires goes to which stepper driver on the ramps.

niklasber commented 2 years ago

Hmm okay, thank you. I noticed that there are now 2 stepper drivers per axis (x and x2 für example) how do I handle that? The ramps has just one connection per axis right? One of the motors is connected to the ramps on the X driver and the other with the Y. With the older Marlin Version it works fine

ellensp commented 2 years ago

My other guess is you have config files in wrong place so what you attached (which works fine) is not the config files being used to compile and upload Marlin

Try a simple change #define CUSTOM_MACHINE_NAME "testing"
save, compile and upload

It should now say "testing bereit" on the main status screen bottom line

niklasber commented 2 years ago

Thank you, I will try this but I doubt that’s gonna help because the stepper moves when I try my old config, so it is definitely using this one.

thisiskeithb commented 2 years ago

Since your configs had to be ported to work correctly, make sure you are using the latest bugfix-2.0.x

ellensp commented 2 years ago

it only needed the standard #if ANY(HAS_LCD_MENU, EXTENSIBLE_UI, HAS_DWIN_E3V2) to #if HAS_MANUAL_MOVE_MENU line change to compile in current bugfix.

niklasber commented 2 years ago

I trie everything now and it's definitely the config I uploaded on my Ramps. The X-stepper still doesn't move at all. The bugfix-2.0.x doesn't change that.

niklasber commented 2 years ago

I tried it with a lot more Marlin versions now and every single version from 2.0.8 up to the newest only move one of the stepper motors. Once back to 2.0.7.2 everything works fine without changing any software or hardware. Someone knows if there was a big change since 2.0.8 with the stepper or the core configuration?

When turning off CoreXY and trying to use the motors like a cartesian printer, the x motor still doesn't move.

ellensp commented 2 years ago

I have just done some corexy testing on a old ramps and two a4988 stepper driver and stepper motors on X and Y Tests where done in absolute mode (ie power on state)

    Gcode Command  | G1 X50                 | G1 X0                           | G1 Y50                     | G1 Y0                      |
| version | mode   | X(a)      | Y(b)       | X(a)           | Y(b)           | X(a)      | Y(b)           | X(a)           | Y(b)      |
| bugfix  | corexy | clockwise | clockwise  | anti clockwise | anti clockwise | clockwise | anti clockwise | anti clockwise | clockwise |
| 2.0.9.3 | corexy | clockwise | clockwise  | anti clockwise | anti clockwise | clockwise | anti clockwise | anti clockwise | clockwise |
| 2.0.8.2 | corexy | clockwise | clockwise  | anti clockwise | anti clockwise | clockwise | anti clockwise | anti clockwise | clockwise |
| 2.0.7.2 | corexy | clockwise | clockwise  | anti clockwise | anti clockwise | clockwise | anti clockwise | anti clockwise | clockwise |
| 2.0.6.1 | corexy | clockwise | clockwise  | anti clockwise | anti clockwise | clockwise | anti clockwise | anti clockwise | clockwise |
| 2.0.5.4 | corexy | clockwise | clockwise  | anti clockwise | anti clockwise | clockwise | anti clockwise | anti clockwise | clockwise |
| 2.0.4.4 | corexy | clockwise | clockwise  | anti clockwise | anti clockwise | clockwise | anti clockwise | anti clockwise | clockwise |
| 2.0.3.0 | corexy | clockwise | clockwise  | anti clockwise | anti clockwise | clockwise | anti clockwise | anti clockwise | clockwise |
| 2.0.0.0 | corexy | clockwise | clockwise  | anti clockwise | anti clockwise | clockwise | anti clockwise | anti clockwise | clockwise |
| 1.1.9   | corexy | clockwise | clockwise  | anti clockwise | anti clockwise | clockwise | anti clockwise | anti clockwise | clockwise |

No issues where found

ellensp commented 2 years ago

Try swapping X and Y stepper drivers, does fault stay or move axis? Also try another mega2560

Your provided configs still work fine and no one else has this issue.

niklasber commented 2 years ago

So I swapped the cables on the ramps and it is still the same motor moving. Before it was connected to y now to x. But I cannot imagine the motor or stepper driver to be broken since the function with Marlin older than 2.0.8…

ellensp commented 2 years ago

"So I swapped the cables on the ramps " when I asked you to swap stepper drivers not motors...

niklasber commented 2 years ago

Sorry.. I changed stepper drivers now and the other motor starts rotating, so it changes with the driver. the other driver must be holding the whole time because to doesn't turn one of the motors no matter if x or y. And when I unplug the driver the motor doesn't get hold anymore and turn from the belt movement of the other motor.

ellensp commented 2 years ago

so you have a dying stepper driver. What ever changed happened in firmware now triggers this hardware issue.

github-actions[bot] commented 2 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.