Dual Enstop on Y and Z Axis Configuration

Hi,
This is my first post on this at this forum. Don’t know if I am putting in the correct category. I have gone through some posts regrading this topic but couldn’t find the information I am after.

I have build my first MPCNC V1. Everything is working as it should. However, I am looking for a minute configuration settings regarding Dual Y and Dual Z axis.

I want to configure a precise difference between 2 endstops of the Y and Z Axis each for homing. For example, If an endstop on one side of the Axis is triggered there should be a precise distance for the other side to trigger before throwing an homing error and machine halts.I want to set it 2-3 mm. If the 2nd endstop doesn’t trigger within this specified distance then machine should show through and error and halt. it will help to save the machine from being pushed too far on side seeking for the endstop.

Another thing I am looking for is the automatic offset between the two sides of the same axis after homing. This would obviously be very short distance between 0-1mm automatically added/subtracted from the home position of the Axis. This will be very helpful, especially for the Z-Axis, where little adjustments are very difficult from endstops to make them precisely squared/levelled.

I have gone through both configuration files but couldn’t find these settings. I was wondering if these settings are available in configuration files. Any help/tips will be much appreciated.

Thanks

What machine do you have?

I am using MPCNC Low rider V1. On electronics side I am using ramps 1.4 Firmware is Marlin 2.1.1 which is available on V1 engineering website. Thx

Okay I understand. Around here Those are two separate things, but I understand outside these forums some people combine them. The Mostly Printed CNC (currently the Primo version) and the LowRider CNC (currently V4…you have a V1). This clarification might make it a bit easier in the future if you have issues. But no big deal I understand.

I was a little excited to see an actual V1 MPCNC though :smile: it would be nearly 10 years old.

I am not sure the ramps configs have ever been update to work with the LR or the Dual endstops although it is very capable of it. Unfortunately, this will take some actual firmware editing, flashing this firmware (https://github.com/V1EngineeringInc/MarlinBuilder/releases/download/515/V1CNC_Ramps_DualLR-2.1.1.zip) from this page, Marlin Firmware - V1 Engineering Documentation. I am not remembering how I sold the ramps boards around the lowrider v1 time any more but for dual endstops you will need 5 drivers, wired to each stepper individually (we used to use series wiring), you will also need 4 enstops wired in Normally closed.

Thanks for your response. As I said in my first post that i have assembled/installed/configured all parts and components and machine is working. I was looking for configuration settings in configuration.h and configuration_adv.h files to configure homing process for two purposes I mentioned above. I rephrase them.

  1. When homing on axis with two independent steppers, when one endstop triggers and it stops, the 2nd endstop must be triggered within specified distance.
  2. When homing is done and there is a minute difference between endstop positions along the axis and it is difficult to adjust them precisely, it can be adjusted by adding/subtracting that precise difference throughout the job run.

I was looking at Skew Correction section in configuration.h file but it assumes that top, bottom and left,right sides of the rectangle are parallel. it may work for my 2nd setting but only on XY plane. It wouldn’t work on XZ plane.

Whereas I am looking for the settings where they may not parallel.

Does this help? I think this is what you are asking about.

https://docs.v1e.com/electronics/dual-endstops/

2 Likes

@vicious1 Thanks a million. This is what I was looking for. This resolved the 2nd issue. Although, I can live without the first one but it will be better for machine safety and precision not to let move the 2nd stepper more than a few millimeters.

Anyways Thanks again for the tip and link to properly understand it working.

1 Like

What does that mean? What are you missing, maybe I am not understanding the question.

I believe they want something that if one endstop triggers the other has a timeout so if it hasn’t triggered in x seconds it halts.

2 Likes

@Dreyfus Yes. That is exactly I wanted to say but in terms of distance(millimeters) I believe it should not be more than 5mm. If it is more than 5mm then you need to fix the endstop position or any type of adjustable screw that hits the endstop to trigger it.

The instructions say to get your end stops to trigger within 2mm or readjust.

Maybe I misunderstand @simrim1’s meaning, but there are cases where you WANT one end to continue moving, even if the other end has already reached it’s end stop switch, regardless of the distance involved (or at least much more than 5 mm).

Consider the case where one side of the gantry drops the full distance on power down, but the other end only drops partway (or not at all). Same if you accidentally move one end of the gantry along the Y axis when the unit is powered off (not holding), or if one end skips steps because it binds on something, and the other end continues to travel a few inches before you can hit the stop switch.

When you power back on, you need to re-square (home) the machine. And one of the motors will hit the end switch long before the other, but you want the lagging end to continue regardless of the distance involved (at least to a point).

Exactly. If you can manually do it precisely. But this is not always the case. Physical manual settings usually go wrong. This setting I am suggesting will prevent it. If endstops position difference on the same axis is more than (lets say 5mm this value will be adjustable in the config files), the machine will throw an error with appropriate message and halt.

Correct. But we are talking about CNC machines. And especially in the context of MPCNC where parts are 3d printed with plastic. They cannot withstand such a high difference of load. I have broken a number of them especially on z Axis when gantry fell down because of power off and one side fell and other side didn’t. Just imagine the hassle of changing them. This is just the effect of gravity. You can think of the powered motor dragging it on one side while other is stopped.

In this case the user can push/pull them back to estimated straight line and then power the machine on and home it again. Because this position difference will be editable in the config file you can adjust this position difference threshold whatever you like. Every machine’s flexibility/stretchability is different so value can be adjusted in the config file.

The lowrider z axis is built to handle any angle, there is zero torque on any parts. I do find it hard to believe that caused any parts to break. That is part of the reason the Z is not fully constrained.

Why have the user do it when the machine knows exactly what it is doing? If the machine is sitting crooked while powered down there is no torque on any part and when it hoes it should be within a few mm. I am not seeing the use case for autosquaring in only a few mm space, otherwise erroring out.

You are trying to prevent something that rarely if ever happens, never that I have heard of. There are setting you can play with in Fluidnc that might do something similar but it is of very little use.

1 Like

My earlier LR3 build (Little Red) would fall completely on one side and not move at all on the other, and I never had anything break as a result. And if it is breaking from falling, I don’t see how restricting the homing would have any impact on that.

For sure, letting one Y side travel too far in relation to the other side could tear the machine apart, but again, that would only happen during travel/cutting moves, not during homing moves. The only way it could happen when homing is if one side moved and the other side didn’t, in which case you would have to pull the plug (as you would if it happened during travel/cutting moves).

If you are going to do that, then why do you need to have a distance limit?

I dunno, this whole idea seems like a solution in search of a problem…

1 Like

Correct. But X and/or Y axis issue will still be there. I have stopped it from happening on Z Axis by changing the lead screws from 8mm lead to 2mm lead.anyway. I was suggesting this feature to be optional. You know there are a number of features in Marlin which can be enabled and disabled by removing and adding “//” at the beginning of line. So this feature can be activated or deactivated at compile time.

I suggested it because @vicious1 mentioned the following in his response.

Same if you accidentally move one end of the gantry along the Y axis when the unit is powered off (not holding)

If gantry has been moved accidentally when machine is off then it can be put it back before switching the machine on.

Again, this was just a suggestion to have this feature optionally. I believe it would be very useful for physical integrity of the machine. But if you don’t like it you can disable it before compile.

By the way I have built V1, the very first version of Low Rider. I want to stick with it because of its upper and lower wheels of the gantry firmly holding the table. It is doing quite good.

The V4 will run circles around it, promise. The lower wheels are not needed at all.

1 Like

Really? You are quite lucky. Are you talking about Low Rider V1?

I meant that if machine’s gantry has been moved accidently when machine is off then it can be put back before switching it on.

Well I think I am noob in this area that is why I broke parts again and again. But I am dead sure if I had this feature at hand the frequency of breaking them would have been lower.

I believe FluidNC runs only on ESP32. I don’t want to change all electronics as of now. May be in the future. I have one ESP32 booard in my drawer. I think its name is probably Tinybee 1.3 or something like that.

I have looked at it and it needs heavy 3d printed parts along with Aluminum plates. I will use my V1 for some time and then I will think about V4 or may be V5 by then. Lol.