Dual endstops Y min not working Rambo 1.4

Y Min Switch stopped working. I was in the middle of working out the bolt holes for the spoiler board and went to re home everything and the Y Min stopped responding. I have re flashed the board with the software and ran the M119 check. All the other switches work. I checked the switch and wiring at the board and it is good and in the right place. It seems the board is not acting on the information like the board is bad on that section. Any other way to check the board.

In all the many endstop issues I’ve read on this forum, I’ve never seen one that is caused by a bad Rambo board. And I’ve never seen a firmware issue if using firmware that V1 maintains. Doesn’t mean it cannot be one of these issue, but the odds are against it.

If you want to test the board, use a F/F Dupont cable like these and jumper both end stop connections being careful to use the S and G pins and not the positive pin. Turn the electronics on, and home the axis. It should run (and continue to run) until you power down. With the power down, remove the jumpers, and then power up and retest. You should see a slight movement away from home, and that it. You could yank the jumpers out while it is homing to test, but that is inviting Murphy to the party.

If it passes both tests, you eliminated the board and the firmware as the source of the problem. Then you can look for wire breaks, switches wired wrong, cold solder joints, etc. in the wiring. I’ve seen electrical noise, and intermittent wire issues cause problems as well.

I would add that the M119 information is exactly what Marlin uses when homing. It ig ores the endstops otherwise. But if M119 shows it as triggered, and nothing changes, then Marlin should stop.

It just shows it open and tries to drive the Y into the belt stop.

I’ve seen intermittent wire issues. I’ve also seen end stops wired to the wrong place on the Rambo board (axes swapped typically), but you indicate it was working, so that is not the issue. Start by just pulling the end stops wires for that axis and homing. You should just see a small movement in the wrong direction.

I just tested Y min with a new jumper at the board and I get the motor running during a home Y . If I pull the jumper off the board the motor keeps running

Final test, put the jumper back on and run an M119.

Edit: If it turns out to be a bad pin on the Rambo board, you should be able to reassign another pin for the limit switch. The limit switch pins are defined in pins_Rambo.h.

M119 test open jumper or no jumper.

Looks like a bad pin…first one I’ve seen on the forums concerning endstops. Just to be absolutely sure, on Rambo boards the pins are offset from one side of the limit switch pin block vs. the other. Are you sure you have the jumper across the right two pins?

I have a theory for a fix, but I suggest you get someone with more experience to chime in before taking action. Looking at the schematic for the limit switches:

EndstopCircuit

The pin is pulled high by an external 10K resistor. So in theory, you should be able to find an unused pin, wire in a 10K resistor to pull it high, and use that pin and a ground pin as an alternate pin pair for your Y min limit switch. You might not even have to use the external resistor if the firmware uses the microprocessor’s internal resistors to pull the pin high as well. As mentioned, the pin would be redefined in pins_Rambo.h in this section:

//
// Limit Switches
//
#define X_MIN_PIN                             12
#define X_MAX_PIN                             24
#define Y_MIN_PIN                             11
#define Y_MAX_PIN                             23
#define Z_MIN_PIN                             10
#define Z_MAX_PIN                             30

Yes I know where to connect the switch s and - The machine was working until it started crashing into the stop on Y min

@Jeffeb3 does it seem reasonable to use another pin for an endstop if the current one is not working? Does he need a pullup resistor on the new pin or will the internal pullup resistor already be applied to the pin? Do you recommend any specific pin for him to use?

So I did a little more digging and found out that internal pullup resistor for endstops are not turned on in the Rambo firmware, but they can be turned on in configuration.h in this section:

// Enable pullup for all endstops to prevent a floating state
#define ENDSTOPPULLUPS
#if DISABLED(ENDSTOPPULLUPS)
  // Disable ENDSTOPPULLUPS to set pullups individually
  //#define ENDSTOPPULLUP_XMAX
  //#define ENDSTOPPULLUP_YMAX
  //#define ENDSTOPPULLUP_ZMAX
  //#define ENDSTOPPULLUP_XMIN
  //#define ENDSTOPPULLUP_YMIN
  //#define ENDSTOPPULLUP_ZMIN
  //#define ENDSTOPPULLUP_ZMIN_PROBE
#endif

So you would need to uncomment the one for ENDSTOPSPULLUP_YMIN.

Then you would need to pick a new pin. Here is a block of pins labeled:

Rambo1_4_ExtraPins

I’m a bit confused since some of the pins seem to also be used for endstops, but I believe pin 22 is free and right next to ground.

Then you make the change in pins_Rambo.h. Your Y_MIN_PIN becomes:

#define Y_MIN_PIN                             22

Again, I’m hoping someone with a bit more experience with the Rambo board can give some feedback, but it should be safe to try.

That’s fine. The extra circuit is for more noise reduction, but with NC endstops, it should be fine…

1 Like

Robert: Ok I did just what you said. Change both files and put the pin in the new place. and it WORKS. Thank You Sooooooo Much…

3 Likes

I’ve done enough Arduino projects that I knew that it should work, but that is a far cry from knowing that it will work. I’m very happy it worked out for you. And thank you for lettings the forum know.

1 Like