After Calibration: Maslow is not ready to move - Belt lengths are unknown

Hi! I was hoping I wouldn’t have to write anything in this forum, but now we really can’t get any further…

We had difficulties even starting the calibration because our test area is relatively small. When we manually entered the dimensions of the work surface in FluidNC under Config Items, the calibration was able to start and at the end we also got a pop-up saying that everything had worked. However, Maslow cannot move after that, with the following error message:
“Maslow is not ready to move - Belt lengths are unknown.”

Setup:
Mac OS with Safari
Maslow 4.1 Kit from Kickstarter
Connected directly via Maslow Wifi

thanks in advance!
Oskar

Log:
Serial Messages
Index.html Version: 1.07
[MSG:INFO: Channel auto report interval set to 50 ms]
[MSG:INFO: FluidNC v0.87 (Maslow-Main-ec171155-dirty)]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.7-dirty]
[MSG:INFO: Local filesystem type is littlefs]
[MSG:INFO: Configuration file:maslow.yaml]
[MSG:INFO: Machine Maslow S3 Board]
[MSG:INFO: Board Maslow]
[MSG:INFO: UART1 Tx:gpio.1 Rx:gpio.2 RTS:NO_PIN Baud:115200]
[MSG:INFO: SPI SCK:gpio.12 MOSI:gpio.11 MISO:gpio.13]
[MSG:INFO: SD Card cs_pin:gpio.10 detect:NO_PIN freq:8000000]
[MSG:INFO: Stepping:Timed Pulse:4us Dsbl Delay:0us Dir Delay:0us Idle Delay:240ms]
[MSG:INFO: Axis count 3]
[MSG:INFO: Axis X (-2438.400,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: Axis Y (-1219.200,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: Axis Z (-100.000,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:0 Step:gpio.15 Dir:gpio.16 Disable:NO_PIN R:0.110]
[MSG:INFO: Motor1]
[MSG:INFO: tmc_2209 UART1 Addr:1 Step:gpio.46 Dir:gpio.38 Disable:NO_PIN R:0.110]
[MSG:INFO: Z Axis driver test passed]
[MSG:INFO: Z2 Axis driver test passed]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: Using spindle NoSpindle]
[MSG:INFO: STA SSID is not set]
[MSG:INFO: AP SSID maslow IP 192.168.0.1 mask 255.255.255.0 channel 1]
[MSG:INFO: AP started]
[MSG:INFO: WiFi on]
[MSG:INFO: Captive Portal Started]
[MSG:INFO: HTTP started on port 80]
[MSG:INFO: Telnet started on port 23]
error:3
error:3
[MSG:INFO: Channel auto report interval set to 50 ms]
JogTo: '$J=G91F300Z-1

error:8 - Command requires idle state. Unlock machine?
JogTo: '$J=G91F300Z1

error:8 - Command requires idle state. Unlock machine?
[MSG:INFO: Caution: Unlocked]
JogTo: '$J=G91F300Z1

JogTo: '$J=G91F300Z1

JogTo: '$J=G91F300Z1

JogTo: '$J=G91F300Z-1

JogTo: '$J=G91F300Z-1

JogTo: '$J=G91F300Z-1

JogTo: '$J=G91F300Z-1

JogTo: '$J=G91F300Z-1

JogTo: '$J=G91F300Z-1

JogTo: '$J=G91F300Z-1

Set Z-Stop
[MSG:INFO: Setting z-stop position]
error:3
error:3
Retract All
[MSG:INFO: Retracting all belts]
[MSG:INFO: Bottom Left pulled tight with offset -1257.679]
[MSG:INFO: Bottom Right pulled tight with offset -1309.684]
[MSG:INFO: Top Right pulled tight with offset -1356.536]
[MSG:INFO: Top Left pulled tight with offset -1313.538]
Extend All
[MSG:INFO: Extending all belts]
[MSG:INFO: All belts extended to center position]
Calibrate
[MSG:INFO: Setting z-stop position]
[MSG:INFO: Measured waypoint 0]
[MSG:INFO: Center point deviation: TL: 0.137 TR: 0.060 BL: -3.388 BR: 1.908]
[MSG:INFO: Measured waypoint 1]
[MSG:INFO: Measured waypoint 2]
[MSG:INFO: Measured waypoint 3]
[MSG:INFO: Measured waypoint 4]
[MSG:INFO: Measured waypoint 5]
[MSG:INFO: Measured waypoint 6]
[MSG:INFO: Measured waypoint 7]
[MSG:INFO: Measured waypoint 8]
CLBM:[{bl:1433.53, br:1456.93, tr:1470.93, tl:1463.29},{bl:1365.20, br:1384.24, tr:1548.87, tl:1549.61},{bl:1251.77, br:1507.84, tr:1654.19, tl:1440.11},{bl:1326.46, br:1572.59, tr:1582.17, tl:1355.13},{bl:1412.80, br:1644.98, tr:1515.64, tl:1278.39},{bl:1513.85, br:1534.11, tr:1399.03, tl:1397.61},{bl:1620.04, br:1432.06, tr:1285.70, tl:1513.92},{bl:1548.25, br:1346.97, tr:1361.36, tl:1581.16},{bl:1481.95, br:1270.20, tr:1447.30, tl:1654.72},]
Computing… This may take several minutesFitness:

(…)

Calibration values:
Fitness: 1.178034879963547
Maslow_tlX: -32.1
Maslow_tlY: 1659.7
Maslow_trX: 2375.2
Maslow_trY: 1673.2
Maslow_blX: 0.0
Maslow_blY: 0.0
Maslow_brX: 2376.1
Maslow_brY: 0.0
A command to save these values has been successfully sent for you. Please check for any error messages.
Calibrate
[MSG:INFO: Setting z-stop position]
Maslow is not ready to move.
Could not perform Jog. Belt lengths are unknown.

1 Like

It looks to me like you have index.html version 1.07 which is great, but the firmware version is still 0.87. Mixing and matching those too is going to lead to strange behavior. I’d recommend updating the firmware to 1.07 also.

Because you are going from a version before 1.0 to after 1.0 you will need to follow the steps here:

Thank you for the fast reply!
How did we miss that??

I will update the machine as soon as I’m back in the office.

We already had a lot of fun building the machine: Maslow CNC assembly

1 Like

(Not sure if I should open a new thread?)

The tip was just what we needed, and we were finally able to calibrate our Maslow correctly.
After that, however, I raised the Z axis too high. When the nut reached the top limit of the screws, it couldn’t move further and began slipping—one motor turn resulted in no vertical motion, just spinning. I’m not sure what the correct term is for this kind of issue, but the machine thought it was much higher than it actually could be.
As a result, the belts were completely loose, and when we tried to retract them, one belt was retracted incorrectly and lost a few teeth.
We took everything apart and shortened the belt, thinking that the measurements Maslow takes during calibration are always relative to the point at which all belts are retracted (?), so it should also work with a shorter belt, right?
Unfortunately, we haven’t been able to calibrate it since then. The fitness level always remains too low.


Does anyone have any idea what we’re doing wrong?

Here is our Setup log (the Calibration Log didn’t save because Chrome thought it is unsafe - I will have to run a calibration again when im back in the lab):

Serial Messages
Index.html Version: 1.07
[MSG:INFO: Channel auto report interval set to 50 ms]
[MSG:INFO: FluidNC v3.0.x (noGit)]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.7-dirty]
[MSG:INFO: Local filesystem type is littlefs]
[MSG:INFO: Configuration file:maslow.yaml]
[MSG:INFO: Machine Maslow S3 Board]
[MSG:INFO: Board Maslow]
[MSG:INFO: UART1 Tx:gpio.1 Rx:gpio.2 RTS:NO_PIN Baud:115200]
[MSG:INFO: SPI SCK:gpio.12 MOSI:gpio.11 MISO:gpio.13]
[MSG:INFO: SD Card cs_pin:gpio.10 detect:NO_PIN freq:8000000]
[MSG:INFO: Stepping:Timed Pulse:4us Dsbl Delay:0us Dir Delay:0us Idle Delay:240ms]
[MSG:INFO: Axis count 3]
[MSG:INFO: Axis X (-2438.400,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: Axis Y (-1219.200,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: Axis Z (-100.000,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:0 Step:gpio.15 Dir:gpio.16 Disable:NO_PIN R:0.110]
[MSG:INFO: Motor1]
[MSG:INFO: tmc_2209 UART1 Addr:1 Step:gpio.46 Dir:gpio.38 Disable:NO_PIN R:0.110]
[MSG:INFO: Z Axis driver test passed]
[MSG:INFO: Z2 Axis driver test passed]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: Using spindle NoSpindle]
[MSG:INFO: STA SSID is not set]
[MSG:INFO: AP SSID maslow IP 192.168.0.1 mask 255.255.255.0 channel 1]
[MSG:INFO: AP started]
[MSG:INFO: WiFi on]
[MSG:INFO: Captive Portal Started]
[MSG:INFO: HTTP started on port 80]
[MSG:INFO: Telnet started on port 23]
[MSG:INFO: Channel auto report interval set to 50 ms]

This is correct, you actually shouldn’t even need to re-calibrate.

Was the Maslow doing what you were specifying, but this was behaviour you weren’t expecting?

As in, did you tell it to raise Z enough to go off the end of the screws, you just weren’t expecting that to be possible?

I’m not sure whether there are guards in the SW or not, but it’s useful behaviour when you’re doing maintenance - the quickest way to strip the Maslow is to unscrew the bar tops (i forget the name), and then raise z till it goes off the end, disconnect and flip the resulting bit and take off the bottom router clamp.

Just to check - do you know there’s both Z-stop and Z-home and they do different things?

Z-stop you set when at the bottom of Z travel.
Z-home is a temporary set home for the beginning of a cut.

As bar says, you should be able to

  • re-assemble,
  • move the Z-assembly down to the lowest point
  • Reset Z-stop
  • Raise to have room for the bit.

And then the usual pre-cut routine:

  • Retract
  • extend
  • Apply tension.
  • Travel to Home
  • Travel to pre-cut Z-height
  • Set z-home
  • Set xy home
  • Cut.

Using your existing yaml file settings.

This should be Z-Stop when at the bottom not Z-Home

1 Like

Yep, dammit, that was what I thought I’d written :joy:

(Edited to fix it)

2 Likes