I’m not sure how this function works. It seemed to me that it made the device move until it triggered the endstops.
But when I launch this function, the camera moves by about X+10mm and Y+10mm (as far as I can see). In a positive direction, the opposite of what it should do.
Endstops work fine (checked with M119)
I was also wondering if this had any influence on calibration. In fact, I had done the calibration correctly (procedure M666 etc…). The problem is that when the motors are no longer powered (for example, when I connect the 4th axis instead of the Y), they can move freely and upset the machine…
But perhaps a home X&Y would solve this problem, as the machine returns to its initial position?
Thanks for your clarification
Just to be clear, they should say “triggered” when pressed. It really sounds like they are reversed. The word “open” is super confusing.
What controller do you have?
The auto squaring should feel each endstop and then adjust the square. They completely lose count of steps when they are disabled.
You can run the machine without them. But you need something to keep the machine square when you engage the motors. After that, they will move in lock step and stay square.
Expanding on Jeff’s answer, if you have your logic backwards so that you get Triggered instead of Open from an M119, your machine will immediately think it is homed, and the positive movement will be the homing sequence backing off from the endstop.
Usually this is caused by wiring the end stops in a normally open configuration. The switches have 3 terminals on them, labelled C, NO and NC. C stands for Common and should be one pin on the switch. By convention I wire this to the signal pin, but it doesn’t really matter. NO stands for Normally Open and should not be used (on most switches that I have seen, this is the center terminal, but it is worth checking.) NC stands for normally Closed. There should be comtinuity between the NC and C terminals unless the switch is pressed. If the switch is pressed, there should be continuity between the C and NO terminals. Under no circumstances should there be continuity between NO and NC.
The switches that Ryan sells should have the S and Ground pins from your control board wired to the outside 2 pins on the switch.
If you wire them to S and +5V, the stop will always read triggered. If the wire is damaged, broken or unplugged the stop will always read triggered.
With the SKR Pro 1.2, if you do not bend or clip the diag pins on the TMC2209 drivers, the end stops will not work, but I forget if they always read as 'triggered" or as “open”.
The homing sequence works as follows:
- Go towards X min until the stops read as triggered. (If they are unplugged or wired wrong this is immediate, and you will see no motion.)
- Go towards Y min until the stops read as triggered. Same issue as with X.
- Back away from the end stops a few mm. It will do this regardless of the switch state.
- Go back towards X and Y minimums more slowly, in order to get a more accurate trigger position. Stop when the pins read as triggered.
So if the stops are always reading as triggered, you will see the machine move a few mm in the wrong direction.
Yes, that’s it! I had wired my endstops wrong. Maybe Ryan can clarify this in his assembly instructions (or maybe I’ve misread).
Great feature! While my machine was gradually shifting, it’s now coming back into line with the use of the home X&Y function.
Thanks a lot!
Something strange this morning. After using my rotary axis (instead of the Y axis), I reconnect the Y1 and Y2 motors and they move backwards! Ditto for the end stops, their state is reversed compared to normal.
And on the X axis, everything works perfectly!
I don’t really understand why…
Do they move backwards when controlling from the LCD, or just when homing?
If the endstops are dosconnected, they will read as triggered. In that case the homing logic says:
- Move the.motors.towards zero until the endstops are triggered. “Oh, they already.are! Never.mind, then!”
- Back away from zero for a few mm, ignoring the end stops.
- Move towards zero again more slowly, until the end stops are triggered again. “Oh, they already are. Never.mind, then.”
The result.is that the axis.seems to only move a bit in the wrong direction.
The other thing that can haplen is that if gou plug the motors in reversed, they will turn the opposite direction. Reversing any stepper.motor.lair will reverse the.direction, and swapping the lairs will reverse direction. So plugging in the motor 1234 to 4321 will reverse its direction.
If rhe end stips are reversed that’s just strange, unless you changed the firmware. The switches should be wired for normally closed operation, where the switch acts as a short from.signal.to ground.unless it is triggered. Unplugged switches should read.as.triggered. please use
M119 and check that this is correct with the switches unplugged.
Yes, they move backwards with the HomeX&Y command, with the move function on the terminal and also using repetierHost on the PC.
When I use the Home command, the device don’t moves to Y0 but to Ymax!
The end stops are not disconnected because they react, but they are wired backwards: in the situation x<>0 and y<>0, I get :
18:56:35.030 : x_min: TRIGGERED
18:56:35.030 : x2_min: TRIGGERED
18:56:35.030 : y_min: open
18:56:35.030 : y2_min: open
18:56:35.034 : z_min: open
And when I operate the Y limit switches with my fingers :
18:57:24.070 : x_min: TRIGGERED
18:57:24.070 : x2_min: TRIGGERED
18:57:24.074 : y_min: TRIGGERED
18:57:24.074 : y2_min: TRIGGERED
18:57:24.074 : z_min: open
No firmware update as far as I know (or else without my knowledge)… Strange, isn’t it!
I’ve rewired the motors upside down to make them run right side up (keep up ^^) and I’ll have to rewire the end stops too, but I’d just as soon have the configuration consistent.
The Y switches seem correct to me. They should be open when not at zero, and triggered when they are at zero (or pressed.)
The X axis switches from your list there could be unplugged.
The motor action being reversed sounds lime they got plugged in backwards.
New situation this morning. Doing M119 with the device outside point 0, I get :
12:11:23.709 : x_min: open
12:11:23.709 : x2_min: open
12:11:23.712 : y_min: open
12:11:23.712 : y2_min: open
12:11:23.712 : z_min: open
Which actually makes sense. None of the endstops are activated, everything is open. Ok that’s perfect !
I should point out that my motors on the Y axis are still wired backwards so that they move normally, because apparently that’s what the machine decided a few days ago…
When I do home X&Y, the machine positions itself at X0, operates the Xmin endstops perfectly, and everything’s fine → perfect too !
However, for Y0, motor Y2 forces on the endstop (motor Y1 is a little ahead of the stop). So I stop the execution with the emergency stop.
I restart and run M119:
12:12:33.619 : x_min: TRIGGERED
12:12:33.619 : x2_min: TRIGGERED
12:12:33.619 : y_min: open
12:12:33.619 : y2_min: TRIGGERED
12:12:33.623 : z_min: open
This seems logical given the physical state of the endstops.
But in this case, why does the Y2 motor force if the endstop is triggered!!!
Ahhhh I’m so stupid!
I just figured it out.
When I reconnected my Y axis, I had reversed the Y1 and Y2 motors.
Therefore, since they work in opposite directions (symmetrical assembly), they were moving in the wrong direction…
And when the Y2 endstop tells the Y1 motor to stop, the latter obviously doesn’t understand…
Sorry for the inconvenience, sometimes mistakes are the simplest!