Welcome! Log In Create A New Profile

Advanced

Marlin 2 - RAMPS - Can't get 4th axis to enable stepper

Posted by crashmatt 
Marlin 2 - RAMPS - Can't get 4th axis to enable stepper
September 01, 2022 11:25AM
Using BOARD_RAMPS_14_SF on MEGO2560
I axis pins are defined instead of the original E0 axis. The E0 axis has pins defined as -1.
The stepper does not enable. Sending a force state to the enable pin through gcode results in an activated stepper.

Have been using the same hardware with Marlin 1. This works ok. There is no hardware problem.

This axis has no homing enabled since it is a rotational axis. It has no max or min stops defined.
Using DRV8825 drivers for X,Y,Z,I
The code seems to define everything ok. Putting a test #error in the I axis specifc code shows an error on build.

Stepper::enable_axis seems to work ok for the other axis.

What have I got wrong?

/Matt
Re: Marlin 2 - RAMPS - Can't get 4th axis to enable stepper
September 01, 2022 11:59AM
Marlin currently requires endstops for X,Y,Z and I

There is work being done to disable this, but t is not done yet

see [github.com]
Re: Marlin 2 - RAMPS - Can't get 4th axis to enable stepper
September 01, 2022 12:59PM
Thanks Dust. Good to have a simple answer.

FOAMCUTTER_XYUV prevents vertical axis homing in G28. I can do the same there.

/Matt
Re: Marlin 2 - RAMPS - Can't get 4th axis to enable stepper
September 01, 2022 01:00PM
Not the same. I mean to prevent the I axis homing.
Re: Marlin 2 - RAMPS - Can't get 4th axis to enable stepper
September 01, 2022 06:27PM
That idea did not work

Using this in G28
      if (doI) {
        set_axis_is_at_home(I_AXIS);
        sync_plan_position();
      }

Blocking the normal I_AXIS homing results in no stepper activation
Enabling the homing with the limit switch forced to not detected results in continuous homing until timeout.

Attempting to work out what homeaxis does to enable the axis.
Re: Marlin 2 - RAMPS - Can't get 4th axis to enable stepper
September 03, 2022 04:29AM
Fixed it.
Marlin2 OpenPnP branch for RAMPS1.4

motion.do_homing_move checks for PNP_XYZA and prevents the I_AXIS from doing a endstop search.

Thanks to many different sources for contributions to this. It was not my work. I just put the pieces together.


RCKeith foam cutter for Marlin
Mark and Marius discussion similar problems here

In the long term it would work to check the homing direction for each axis. If the direction is zero then don't do a homing.
There are many points in the code that check homing direction is >0 rather than >=1 or <=-1. This would need fixing first.
Sorry, only registered users may post in this forum.

Click here to login