Push to extend bug?

Both , after the full install it lost our config so setup its own AP. Same result with that.

1 Like

Does the zaxis work normally?

Watching the video again it clearly shows that it’s working backwards. Like as if the encoder somehow is confused about which way is out. But then the logs look normal :confused:

Yup. It’s going up and down without issue

1 Like

Actually I’m not so sure about this. Looking at the code it seems like it should work exactly the way that it is working for you:

float distMoved   = positionNow - lastPosition;

    //If the belt is moving out, let's keep it moving out
    if (distMoved > .1) {

My machine is at the shop so I won’t be able to test until tomorrow but it sure does seem like somehow everything is backwards

When this happened a few weeks ago usually a reboot or firmware upgrade would resolve it. I’ve put 10+ hours of cutting on the machine and it’s been millimeter perfect. Soooo weird

1 Like

Super weird for sure! We’ll get to the bottom of it.

I feel like I’ve got some good leads to jump into tomorrow morning

1 Like

OK, so comparing your log to my log it is 100% that somehow it thinks its going backwards:

Position: -55.774

vs

Position: 375.602

Now we just need to figure out how that is possible

Here’s a version which tells us more about all the relevant parts of that calculation:

firmware.bin (1.6 MB)

It also includes one possible fix…we were using a float where we should have been using an int32_t. They are the same size in memory (I think) so they shouldn’t be causing the issue that we are seeing…but also compiler magic happens and who knows.

For comparison on my machine this starts out looking like this:

[MSG:INFO: Position: 0.011 mostRecentCumulativeEncoderReading: -1 _mmPerRevolution: 43.975]

Looks like this while I’m pulling on the belt:

[MSG:INFO: Position: 18.176 Distance moved: 1.729 on axis Top Left]
[MSG:INFO: Position: 18.176 mostRecentCumulativeEncoderReading: -1693 _mmPerRevolution: 43.975]
[MSG:INFO: Position: 19.239 Distance moved: 1.063 on axis Top Left]
[MSG:INFO: Position: 19.239 mostRecentCumulativeEncoderReading: -1792 _mmPerRevolution: 43.975]

And ended up looking something like this:

[MSG:INFO: Position: 347.205 mostRecentCumulativeEncoderReading: -32340 _mmPerRevolution: 43.975]

tl2.rtf (40.6 KB)
see attached

1 Like

OK so the encoder is 100% reading backwards…hmmm

Digging into the encoder code it looks like it is possible to set the encoder to read backwards…we’re not doing that but maybe it’s getting set somehow anyway? Here’s a version which will print out if that is happening:

firmware.bin (1.6 MB)

Edit:

[MSG:INFO: Encoder direction: 0]

Is what we expect to see

tl3.rtf (64.7 KB)
thats what we see…

1 Like

It seems like there is some sort of bug in the encoder code because I tried to set the encoder direction backwards to see if I could replicate what you are seeing and it works exactly the same for me either way…which it shouldn’t…investigating

Will you DM me your address? I want to send you a couple spare encoders in case it turns out to be an issue with the encoder board and I want to get those in the mail

1 Like

Until I can find the true cause of the issue here’s a quick fix which will reverse the direction of the encoders hopefully helping to fix the issue:

firmware.bin (1.6 MB)

All 4 arms extending the correct way! Is it safe to cut do you think?

1 Like

We’re in uncharted territory. I’d jog it around for a bit and see if it behaves as expected first

So far so good… jogged around a sheet of 2400x1200 without issue. :crossed_fingers:

Serial Messages
[MSG:INFO: Channel auto report interval set to 50 ms]
[GC:G0 G54 G17 G21 G90 G94 M5 M9 T0 F0 S0]
[GC:G0 G54 G17 G21 G90 G94 M5 M9 T0 F0 S0]
[MSG:INFO: Caution: Unlocked]
[MSG:INFO: Retracting all belts]
[MSG:INFO: Bottom Left pulled tight with offset 0.011]
[MSG:INFO: Top Left pulled tight with offset 0.000]
[MSG:INFO: Bottom Right pulled tight with offset 0.000]
[MSG:INFO: Top Right pulled tight with offset 0.000]
[MSG:INFO: Extending all belts]
[MSG:INFO: Retracting all belts]
[MSG:INFO: Top Left pulled tight with offset 0.000]
[MSG:INFO: Bottom Left pulled tight with offset 0.011]
[MSG:INFO: Top Right pulled tight with offset -0.011]
[MSG:INFO: Bottom Right pulled tight with offset -15.310]
[MSG:INFO: Extending all belts]
[MSG:INFO: All belts extended to center position]
[MSG:INFO: Measured waypoint 0]
[MSG:INFO: Center point deviation: TL: 0.054 TR: 0.020 BL: -2.991 BR: -3.071]
[MSG:INFO: Center point deviation: TL: 0.054 TR: 0.020 BL: -2.991 BR: -3.071]
[MSG:INFO: Center point deviation within 15.000mm, your coordinate system is accurate]

1 Like

Keep me posted. I’ll keep investigating.