X/Y/Z work, but home backwards

That looks correct. An early version had cycle: 3. If you pressed home all it would home x, then y, and then z would go up until it came off the z mount.

My thinking:
IF(NC vs NO reversed) the axis will go backwards when you hit home.
ELSE correcting this makes the axis move negatively (it works!)

Therefore I’m concluding that I somehow need to do the same for Z. But how…? :smiley:
smiley

The endstop wiring type is just the high/low configuration for the GPIO on how the firmware reads the state.

The quick way to make the axis move the opposite direction is to power off the jackpot board, then flip the connector for the motor you want to change (Z in this case).

Edit: Note: I don’t have an MPCNC, so listen to the folks that do. I don’t think you’re supposed to home all, you should home X/Y, then do a probe. to set the Z=0 location.

Incorrect. Remember that it only moved 10mm before, and threw an alarm. This time, no alarm (right?)

So remember the sequence it follows: move towards the stop until the switch is triggered. It does this when the switch is not triggered, and if it is moving upwards, thst is where it expects to find the switch.

No switch on Z probably means that it is configured normally open. Try putting a jumper cap on the Z stop location and see what happens.

Try changing the “positive_direction: true” to “positive_direction: false” and I bet it starts moving downwards… Somewhere else in that config it defines the Z stop pin (gpio 32, I think) and it might be configured for a low trigger instead of a high trigger like the X and Y pins are. A low trigger is for a normally open switch, like the touchplate. This is where a jumper cap will act like a triggered switch. For a high trigger, the jumper cap will prevent the firmware from seeing a trigger.

1 Like

This seems promising. With a jumper on Z stop, all five lights in a row pretty green, then the probe one lights when I touch the probe contacts. Seems perfect. Until I hit Z home. Then the darn thing goes upwards again. :frowning:

Anyway, without a Z switch, you should not home Z.

1 Like

Ding Ding! We have a winner! :smiley: This YAML line fixes the direction. Of further note: I also had to hook the Z probes to the Z endstop location on the board. While “probe” makes a light trigger, it doesn’t seem to do anything else. Z seems to be the one tied to the home function.

I don’t understand why this works, but since I have working X/Y/Z homing, I’ll take it. Thanks everyone!

1 Like

Homing and probing are 2 different things. You can’t use your probe in the z endstop position with the Jackpot. There is a separate probe location on the board.

1 Like

What is the difference between homing and probing? Maybe that’s why I’m so confused.

Homing is used to make sure that your machine is square. Probing is used to set the top of your work surface.

Well, I’d argue that squaring the machine is a secondary function, but it is one of the more useful functions. Having a known and repeatable start position is supposed to be the function of homing, which is why most CNC machines home to Z_Max.

Probing is a different function. It looks for the material, and we expect it to change every time we change the work piece. You can also probe in X and Y, as well as Z to tell the machine where something is in the real world.

For the Primo, I never home Z. My firmware ignores it, but I do probe for the work surface. I like to have the top of the material as Z=0 in my work coordinate system, so cuts are all relative to the top.

As such, I still think you would be better off using the probe port instead of the Z switch port, but you can still do it. Once you place your material on the machine, jog over to where you want your 0 to be and run a macro for G92 X0 Y0 to set the X and Y coordinates for your job, attach the Z probe and then G28 Z (or press the home Z button on the UI) to reaet the Z=0.

Plenty of ways to skin that particular cat.

2 Likes

Thanks for that explanation; I get it now! Having a night’s sleep and seeing the probe tab in the web UI with the plate thickness, etc, made it click for me. :slight_smile:

In my mind, I’m thinking of Z home as the highest Z would travel. Maximum height above the workpiece. The MPCNC doesn’t have an endpoint switch to sense this though. How does it decide when to stop positive Z travel during a home function?

It doesn’t, as you have seen.

There are designs to put a Z max switch on the Primo, and people have done it. Personally, I don’t need to. Estlcam software will move the router to its clearance plane, which is above the work and the X/Y origin at the end of the job, and that’s good enoigh for me. I will just jog the router up as much as I can see is appropriate to remove the work piece.

Adding a Z max switch with a 5 driver board can conflict with a probe, so this has kind been “the way” with the Primo for a long time. If we only get 5 stops, and we need 2 each for X and Y, using the last for a probe made more sense than using for Z max.

The Jackpot has more inputs that way, but the Primo was designed before it, so…no Z max switch by default. It really is pretty easy to add though.