home sensors?

Hi! I thought about using this stuff also for a CNC, but I did not find any homing sensor input handling in your code…
Did you think about it? What event should a home switch trigger? etc…

Imported from wikidot

Hi !

Homing, and all endstop stuff ( including various options for failing elegantly on contact ) are not present, but very high on the todo list, except them to get in soon.
I have not completely decided how to implement them yet, but it will certainly be via events indeed, and they’ll probably span accross several modules.

A couple requests regarding homing, coming from a guy who has spent 5 or so years on RepRap and MakerBot code.

  1. Please allow homing operations to use a feedrate. It’s very useful to home at different speeds (for example, a fast home, backoff, then slow home is much more accurate than a single fast home).

  2. Please make homing simple. Homing should move towards the switch at the desired speed and then stop when it hits it. More complicated stuff can be handled higher up. :slight_smile:

  3. Please use the same codes as MakerBot for homing: G161 - Home negative, G162 - Home positive (XYZ codes are which axis, and F code for speed)

  4. Please count steps during homing! Assuming there is a way to query the current position after a homing operation, this is very useful for doing things like automated testing of maximum speeds. You can do something like this:

  5. Initial home at slow speed. (to get system to a known state)

  6. Move XXXmm to maximum axis travel at fast speed.

  7. Home at slow speed.

  8. Compare the start and end positions. If there is a significant deviation, you can assume some sort of motor skipping issue.

Keeping a step count is also super useful for doing things like calculating backlash, etc. Lots of good potential there.

I’m working on the refactoring that’ll allow to code homing.
So I’m working on this soon, and I’ll be coming back here to check on how to implement it :slight_smile:
If you want to make sure I do it right, hang out on the IRC channel and shout at me if I screw up :slight_smile:

Homing and +/- limits are something we’d like use with Smoothie.


Indeed, as more and more ppl get into Smoothie, that’s the thing I’m the most asked to implement.
It’s next in the todo list :slight_smile:

When you start to implement them please let us know .
A very useful would be the probe sensor too. However depending on implementation would be the same as a limit/home sensor.

that’s how i’d do it. :slight_smile: