Mini Rambo swap z and y

The (s) pin, more likely.

I haven’t seen it on the mini, just because there are only 4 drivers.

This is the line I was thinking. I am surprised to see xmax there…

https://github.com/Allted/Marlin/blob/MPCNC_MRambo_T8_16T_LCD/Marlin/Configuration_adv.h#L447

1 Like

Thanks, specifically I’m connecting my limit switch (NC) to (S) and (-). I have tried using XMAX, then ZMAX, then YMIN (changing the #define Z2_USE_ENDSTOP <*> appropriately) all with no luck. I have poked around the code to see how Z2_MIN is assigned and used. It seems to work as one would expect where Z2 gets assigned the value according to what it is defined to use (e.g., YMIN in my current configuration).

I haven’t worked much with modifying firmware but have done a fair amount of programming in my time. I am not very familiar with the Arduino IDE however. Is there a means to track variables or use “print” statements to output variable states? I think I’m very close to getting this to work, I just need to get the Z2_MIN trigger to work correctly. Thanks for all of the help!

This is embarrassing… I just found that a plug between my limit switch and the board is unplugged… I have confirmed that was my problem… I need to improve my troubleshooting skills… I have now taped the connection to insure it doesn’t happen again. Sorry for all of the trouble.

3 Likes

And this is why tech support has to ask you if your device is plugged in and turned on, and why good tech support will literally sniff around your work area when they come to check on non-functioning systems… Even though it may embarrass both of you.

No worries. I am still just sitting here, you’re doing all the work.

1 Like

I listen to enough car talk to learn another trick too. If someone says something is true, you have to just accept it. If he said the wire was definitely connected, then the new puzzle includes that in the problem statement.

1 Like

I’m on to mounting my limit switches. Assuming everything works as expected, I can document my modifications or make the code available if that would be helpful. Thanks again for all of the help! I did learn a lot in this exercise… That’s a good thing for my 60 plus year old brain… :slight_smile:

Always move forward as if the client is telling the truth, but be prepared for the “Ahh… Ummm… Well, you see…”, come-to-Jesus moment. :smiley:

1 Like

Well, it works now… My motivation for adding the dual z motors and end stops is that I have been unable to get my X axis assembly to drop on its own when I power down. I’ve tried and tried, but can’t get it to work. I believe my issue may be related to my Y plate which appears to be warped. I’m planning to make a new one, maybe out of aluminum… Anyway, the dual end stops work well and that means that I will always start level and with the motors engaged, it should maintain a level X axis. Thanks for all the help and support.

Here are some images showing how I mounted my limit switches. It seems to work well. I’m happy to make the file available if requested.

I’ll follow up tomorrow with a summary of what I did to make this work.

Nice.

Are your leadscrews lubricated?

1 Like

Yes, leadscrews are lubed with white lithium grease. I can see that my Y plates are warped. The wheels are tilted from vertical. Il try to stiffen them and if that doesn’t work, I’ll make new ones.

1 Like

Perhaps this information should be located under a different thread, but I don’t know how to do that…

Adding dual Z endstops on a miniRambo on a Lowrider2:

My motivation for adding dual Z endstops was that I found myself battling with my Z axis starting out level. This was likely due to the issue referred to as “Y plate sag” in another thread. I do plan to address this issue, but it started me down the path of adding dual Z endstops. I made the following changes in order to enable dual Z motors and dual Z endstops for my mini Rambo running my Lowrider2.

Beginning with a V1 Engineering pre-configured version of Marlin, “MPCNC_MRambo_T8_16T_LCD” (https://github.com/Allted/Marlin/tree/MPCNC_MRambo_T8_16T_LCD)

Configuration_adv.h:

#define Z_DUAL_STEPPER_DRIVERS // uncomment line 443
#define Z_DUAL_ENDSTOPS // uncomment line 445
#define Z2_USE_ENDSTOP YMIN // assign the Ymin pin to be used as Z2min
// you can use any unused pin, I used this because I
// don’t plan to use Ymin and I may add Zmax later

Configuration.h:

#define ENDSTOPPULLUP_YMIN // uncomment line 620
#define ENDSTOPPULLUP_YMIN // uncomment line 621
#define X_MIN_ENDSTOP_INVERTING false // line 640, this allows use of NC limit switch
#define Z_MIN_ENDSTOP_INVERTING false // line 641, this allows use of NC limit switch

pins_MINIRAMBO.h:

// lines 70 - 72
#define E1_STEP_PIN 34 // reassign the E0 pin definitions to be E1 to allow
#define E1_DIR_PIN 43 // control of the second Z motor
#define E1_ENABLE_PIN 26

#define E0_STEP_PIN 70 // set E0 pins to a valid dummy value
#define E0_DIR_PIN 70
#define E0_ENABLE_PIN 70

// lines 81 - 82
#define E1_MS1_PIN 65
#define E1_MS2_PIN 66

#define E0_MS1_PIN 70
#define E0_MS2_PIN 70

I added limit switches (set up for NC) and tested the triggering using a M119 command. Once proper behavior of the limit switches is confirmed, the homing command can be tested (Custom Commands > Home Z Axis).

Thanks for all the help offered by others to make this work.

I created limit switch brackets that clamp onto the ends of the X axis rails (I left mine a little long in case I ever wanted to grow my machine).

.

I hope this helps.

1 Like