Alternative method of determining Maslow's position after power reconnection

The Problem
The Maslow has been disconnected, maybe to replace work material or it has been turned off waiting for next time its needed. At present it requires a full Retract, Extend, Tension Belts (RET) before it can be used again. Time consuming, annoying, and physically demanding in the case of a vertical setup.

Information
David Lang has developed changes (not yet implemented) which allow machine to remain connected through a power reset, it is not possible, however to disconnect the belts without having to RET yet. This could be implemented but David thinks it would not be accurate enough to continue.

A possible solution
I propose that if we have an open cage which could be placed on the table in a known or fixed location, possibly at one end off the normal cutting surface, or on top of the work piece temporarily, but in a fixed location. Cage would be accessible to the Maslow, possible shaped as a semi-circle with the same radius as the Maslow sled. By manoeuvring the Maslow into the cage, and using the current sensing capabilities of the Maslow, it would be possible to confirm the exact position of the Maslow, adjust for any discrepancy from the reconnection of belts/power, negating the need for the RET.
Cage, in the case of a temporary use, would be located on the table by location pins. In the case of more permanent, fixed location at the end of the table, off the work surface, any distortion caused by belts not having a straight path to their anchors, could be discounted because all we need is a consistent and repeatable location.
Maslow could also be placed in the cage at startup, belts extended to anchors, Maslow could then confirm (via current sensing movement) that it was in the cage and set its location accordingly.

Now that we (almost) have the ability to not need RET after every power reset I think we need to implement a less demanding way of confirming location

Any comments appreciated.

Maybe you guys have already answered this question but how much does it really move after power off and then on? If you power off with tension on it knows the belt lengths and retraction force then you power back on use the same known belt length give it the same retraction force and whatever the difference is between the old and new length values would become an offset applied at that time. Subject of course to change each time you power off/on. I’m not a programmer but the basic steps in my mind are

Belts under tension with know retraction force

Power off belt lengths saved

Power on saved belt lengths loaded

Machine uses known retraction force before power down to tension belts and read a new belt length

Differential between old length and new length supply offset to apply to new belt lengths so they are the same as before power down.

???

I get if there is a power outage you would still need the RET dance but a controlled shutdown you I would think send it to its home position then it could save those lengths, power down, power up, apply retraction force, read new belt position, use the difference to get you back to where you where before the power down.

1 Like

The Problem
The Maslow has been disconnected, maybe to replace work material or it has been turned off waiting for next time its needed. At present it requires a full Retract, Extend, Tension Belts (RET) before it can be used again. Time consuming, annoying, and physically demanding in the case of a vertical setup.

Information
David Lang has developed changes (not yet implemented) which allow machine to remain connected through a power reset, it is not possible, however to disconnect the belts without having to RET yet. This could be implemented but David thinks it would not be accurate enough to continue.

This was merged, so will be in 1.13

What was merged will do two things.

  1. if you retract all after disconnecting, then power off, the machine will
    remember this and when you power on, you don’t need to retract, you can go
    directly to extend

  2. if you leave the machine under tension and let it sit for a few seconds, it
    will record the belt lengths when you power down, so when you power up you can
    continue where you left off (even if the belts shift by up to ~10mm.

note that you can relax tension, disconnect the lower belts, hang the sled on a
hook in the top center, change your material, pull the maslow off the hook,
connect the lower belts and apply tension. as long as the maslow remains powered
during this entire time.

also note. for those worried about leaving the belts under tension, when you
store the machine retracted, the belts are under tension. 3d printers, laser
cutters, and other machines built using belts leave them under tension all the
time. This is normal.

I propose that if we have an open cage which could be placed on the table in a
known or fixed location, possibly at one end off the normal cutting surface,
or on top of the work piece temporarily, but in a fixed location. Cage would
be accessible to the Maslow, possible shaped as a semi-circle with the same
radius as the Maslow sled. By manoeuvring the Maslow into the cage, and using
the current sensing capabilities of the Maslow, it would be possible to
confirm the exact position of the Maslow, adjust for any discrepancy from the
reconnection of belts/power, negating the need for the RET. Cage, in the case
of a temporary use, would be located on the table by location pins. In the
case of more permanent, fixed location at the end of the table, off the work
surface, any distortion caused by belts not having a straight path to their
anchors, could be discounted because all we need is a consistent and
repeatable location. Maslow could also be placed in the cage at startup, belts
extended to anchors, Maslow could then confirm (via current sensing movement)
that it was in the cage and set its location accordingly.

my fear is the amount of flex in the system when you do this. the encoders
report their angle, and that angle repeats every 40mm. If we are correcting for
not being exact, this results in a theoretical max of ±20mm (I play it safe in
the current code and only allow ±10mm as this would roll over so +20.01mm would
read as -19.99mm so you want a good dead zone to detect that things are bad)

belts not being straight will mean that the rotation of the sled will result in
different lengths of the belts

as I’ve watched the machine pull belts tight, I am not confident that it doesn’t
move enough to be a problem. but this is something we could try and test.

rather than a cage, try just putting a 1/4" length of threaded rod (or cut-off
bolt) in the machine, drill a hole in the wasteboard, lower the rod through the
hole, and put a nut on the back. That should hold the machine as stable as it
can possibly get. we can experiment with relaxing tension a lot and then pulling
tight (there are $ commands like $TLO 30 that we can send to feed belts out a
given amount and then apply tension then issue the $MINFO command to get the
belt lenghs in the USB serial logs)

We can then test without the nut (where the machine can flex and pull more) and
finally, what if we just have a 1/4" bit and drill a hole for the positioning?

David Lang

1 Like

how about a ‘park’ command (and parked state) that moves the sled up to top
center (or higher), relaxes the lower belts, has you disconnect them, retract
the lower belts only.

on an upright frame, this would leave you with all the belts under tension and
the existing belt length code could save the position (with a small tweak to
recognize the new state)

you could then even hang the sled on a hook above your work area and power down.

then on power up the machine can recognize that it’s parked, and you can extend
the lower belts only, hook them up, and apply tension to the lower belts only.

just that should get us close, but we can tweak the saving code a bit more to
record not just the belts are retracted at power off, but what they were when we
ordered it to park (just before relaxing tension on them)

David Lang

1 Like

bday wrote:

Maybe you guys have already answered this question but how much does it really
move after power off and then on? If you power off with tension on it knows
the belt lengths and retraction force then you power back on use the same
known belt length give it the same retraction force and whatever the
difference is between the old and new length values would become an offset
applied at that time.

partially answered in another message, but I’ll answer here as well

we have absolute encoders that tell us the angle of the magnets. we keep track
of how many times the magnets have rotated in software.

When the machine goes idle in either retracted or ready-to-cut states (i.e.
there is tension on the belts so they aren’t going to move much) we save the
state, we record the belt length and the magnet angles.

if we move out of these states, we mark the saved data as stale

when we power up, we check that the recorded data is not stale, and then we
compare the saved magnet angles to the current angles. If they are within 1/4
turn either way (~±10mm which is ±1024 encoder steps) we accpet this and
adjust the belt lengths based on the angle measurement This adjustment is
reported in the serial logs (this happens in a time where the logs are lost from
the UI, but there is a patch in for the next release that may fix this)

in the limited testing, where the power off duration is fairly short and tension
remains applied, we have seen most belts move very little (<0.1mm) but
occasionally one belt will move a couple of mm

I don’t trust our current limits to translate into tension (even repeatable, but
unknown tension) friction is a funny thing, it takes a lot more force to get
something moving than to keep it moving, and we have no idea how much friction
there is in the system. As we hit the limits, we also stretch the belt slightly,
and on a very full spool, the belt may rub against something slightly

So a spool that is 1000m out could pull tighter before hitting the current limit
than the same spool only being 1mm out from the same location (just throwing out
numbers, it could be that 1000m vs 10mm also has a problem, I don’t know and
this makes me not trust this approach)

David Lang

bday wrote:

I get if there is a power outage you would still need the RET dance but a
controlled shutdown you I would think send it to its home position then it
could save those lengths, power down, power up, apply retraction force, read
new belt position, use the difference to get you back to where you where
before the power down.

the code just added will do this if you don’t release tension, see my more
detailed posts today on why I don’t trust belt lengths after releasing tension.

David Lang

A cage could also use the arms to force the Maslow into the same orientation when “caged”

I think we could use this to confirm position. A hole drilled in a known location and recorded as the parked position would give us all the accuracy we need, Definitely worth exploring. Even a board across the table with location pins on each side, with a hole drilled at belt centre would give a fixed location to work from.

It did the 1st 6 waypoints then quietly started rolling out on all belts. Killed it. Logs attached.

Maslow-serial - 2025-10-09T145323.936.log (10.3 KB)

onfigRunSerial - 2025-10-09T14.53.txt (6.4 KB)