Quantcast
Channel: Reprap Forum - Delta Machines
Viewing all articles
Browse latest Browse all 20289

Re: Homing in Marlin

$
0
0
Ok, I did some looking. I still don't see where the LCD menu is processed to see if the selection is the same as doing a G28, but I'm going to assume it does.

The G28 command is implemented in Marlin.cpp starting at line 996. There is conditional code for Deltas there, since it needs to home up all three axes at once. To do this, it sets the feedrate at 1.732 times the nominal homing feedrate with no comment. (What is that about - i.e., why the hard-coded weird number 1.732?) Also, it sets the max length of travel until switch trigger at 3 times Z_MAX_LENGTH (why so much - isn't 1.1 already more than what is possible?) It then calls a routine called endstops_hit_on_purpose() which I couldn't find anywhere to see what that does.

After raising all three carriages until any one of the switches is hit, it then calls the regular home routine, homeaxis(int axis) at line 766 for each axis in order, which disables the endstops, backs off the carriages and tries again at the nominal feedrate, then moves the axis up at the homing_feed_rate divided by 10 (for Deltas) until the stop switch is triggered, and then sets the current position and calls axis_is_at_home which resets the max and min lengths.

So, it looks like the expected behavior from doing a "prepare...homing" menu selection is for all three axes to travel up at 1.732 times the homing rate until one of the microswitches are triggered, and then one at a time, each axis backs off a nominal amount (HOME_RETRACT_MM) and re-ascends at 1/10th of the homing_feed_rate until the stop is triggered, and then the carriages are left there.

I must have a problem since I do not see the back-off occurring.

Viewing all articles
Browse latest Browse all 20289

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>