Marlin: using E drivers to run 2nd X and Y motors

New Home Forum Mostly Printed CNC – MPCNC Troubleshooting – MPCNC Marlin: using E drivers to run 2nd X and Y motors

This topic contains 5 replies, has 4 voices, and was last updated by Profile photo of P3DCNC P3DCNC 2 months, 2 weeks ago.

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #30516
    Profile photo of Ian
    Ian
    Participant

    In the interests of keeping things cool, I’d like to run X and Y on the E0 and E1 drivers, a la Estlcam’s firmware installer mentions (which I can’t seem to get working, BTW).

    I’ve enabled the two options in configurations_adv.h (X_DUAL_STEPPER_DRIVERS andY_DUAL_STEPPER_DRIVERS) and set EXTRUDERS 0 and MOTHERBOARD BOARD_RAMPS_14_SF Configuration.h but get an array error (presumably because Marlin doesn’t account for not having an extruder?) when compiling.

    Anyone get this going like that? I tried Repetier, and the configurator gives you the option of enabling dual on X and Y and removing the Extruder, but it doesn’t seem to actually enable the E0 stepper to X as I chose in the dropdown. I am confused with why he names the X dual option as DUAL_X_AXIS and the Y as FEATURE_TWO_YSTEPPER, and I find the Repetier code setup confusing to navigate compared to Marlin so haven’t gone mucking through it much, I’d rather get Marlin working.

    #30524
    Profile photo of Ryan
    Ryan
    Keymaster

    When wired in series with the motors I include we can easily max them out without the need for active cooling. To change it in marlin takes a ton of work for no improvements.

    #30566
    Profile photo of Ian
    Ian
    Participant

    Yah, so far I haven’t figured out the Marlin issue, but I did go through the Repetier FW and found the X Axis fix. I think the other one that was listed was if you want to run 2 X-carriages (!) but when I was poking through the stepper code trying to figure out how to convince it to mirror the signals I found the flag.

    Changed the following:

    #define FEATURE_TWO_XSTEPPER 1
    #define X2_STEP_PIN ORIG_E0_STEP_PIN
    #define X2_DIR_PIN ORIG_E0_DIR_PIN
    #define X2_ENABLE_PIN ORIG_E0_ENABLE_PIN
    #define FEATURE_TWO_YSTEPPER 1
    #define Y2_STEP_PIN ORIG_E1_STEP_PIN
    #define Y2_DIR_PIN ORIG_E1_DIR_PIN
    #define Y2_ENABLE_PIN ORIG_E1_ENABLE_PIN

    Obviously set the EXTRUDERS to 0 so I freed up the E0 pins as above. Seems to work well enough, got a few test prints on and now just figuring out how to get some endstops attached because I can’t imagine using these things without homing.

    I have a Github issue asking the Marlin crew why I get the compile issue, since I’d prefer to use Marlin, I’m much more used to it.

    • This reply was modified 2 months, 3 weeks ago by Profile photo of Ian Ian.
    #30610
    Profile photo of AntTuru
    AntTuru
    Participant

    I’m currently using Marlin RC8 BugFix with 5 stepper drivers, one for each motor. I’ll try to translate how it has been explained to me.

    Configuration.h —> Extruders = 1, you can not have 0 in here.

    Then you go to Pins_RAMPS.h and make this changes:

    #define SERVO3_PIN 4 —> -1

    #define X_MAX_PIN 2 —-> -1
    #define Y_MAX_PIN 15 —> -1
    #define Z_MAX_PIN 19 —> -1

    After that, you create a new E0 with the “freed” (I think this word maybe don’t exist) pins and change pins from E1 to E2.

    #define E0_STEP_PIN 4
    #define E0_DIR_PIN 2
    #define E0_ENABLE_PIN 15
    #define E0_CS_PIN 19

    #define E1_STEP_PIN 26
    #define E1_DIR_PIN 28
    #define E1_ENABLE_PIN 24
    #define E1_CS_PIN 42

    #define E2_STEP_PIN 36
    #define E2_DIR_PIN 34
    #define E2_ENABLE_PIN 30
    #define E2_CS_PIN 44

    I hope you can understand me (:

    #30892
    Profile photo of Ian
    Ian
    Participant

    Thanks for the reply, AntTuru.

    Yes, essentially that was the response I got to the GIthub issue I asked on the issue. I’ve pretty much got Repetier working without having to muck around in pins.h just because they don’t account for lack of an extruder, and there’s some things like M401/M402 that I like in that firmware. So while I might give Marlin a try, I’m getting more comfortable with Repetier and it’s slight leaning to CNC that Marlin doesn’t have as much of. I also like the ability to add custom events and scripts, and I haven’t seen that in Marlin.

    I’ve seen some mention of being able to add a second endstop on each axis to be able to straighten out the gantry runner on homing. I haven’t found it again in my reading, not even sure if it was Reptier or Marlin, but I’d love to figure that out because I’m see a fair slant in the gantry runners every time I home.

    #30897
    Profile photo of P3DCNC
    P3DCNC
    Participant

    You mean this: Dual end stops

    • This reply was modified 2 months, 2 weeks ago by Profile photo of P3DCNC P3DCNC.
    • This reply was modified 2 months, 2 weeks ago by Profile photo of P3DCNC P3DCNC.
Viewing 6 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic.