Fitness Failed 0.35 - 0.47

Very first calibration attempt returned .67 during calculation, but after half hour all the calcs were not complete and my computer went to sleep and lost the connection.

Repeated calibrations return fitnesses of 0.35 to 0.47

Using a Timber frame on floor and cant get this calibrated.

All belts retract in tight, but when extending they sometimes seem to release an extra inch or so without the normal resistance. Is this normal?

Also I don’t think the belts actually fully extend they go just little more than is needed to hook onto the frame size entered in config.

When does this happen during the extend? If its in the first few seconds, I’ve noticed that and I think it is because the belts being 4.25m instead of 4m means that there is an extra wrap or two such that the last one or two are pressed against the idler when it is fully retracted. On some of the arms I’ve had that bind enough so that it ‘slips’ a bit as I’m pulling. But it only happens in the first few seconds (or ~.25m)

Putting an arm together with the belt fully wound reveals this.

1 Like

@boxomatic If you don’t plan on going above a 8x12 frame, I would just cut them to the ‘normal’ length and that issue should disappear. I lost 2ish ft off one of my belts (all were normal) and I can still use my 8x12 frame just fine, so I figure you’ll have to want to go pretty big for that extra to start coming in handy.

Yes, for the 2nd one I put together I cut them off to 4m and that was a clear fit, and installed ‘fixed’ encoder boards and shielded encoder wires on my way to making a ‘hardened’ version. I haven’t gotten around to taking mine apart yet to see if I want to do that yet, but have spare encoder boards to solder so will likely do the same there.

Can slip with no resistance at any time during the extend.

But I just updated to the latest firmware to try again, and during the extend one of the belts seemed to be un-coiling from the spool faster than it was being released causing a tangled mess.

Guess i’ll be dismantling this to sort it out.

Would like to know what is causing the fitness failing of the calibration, just to be sure that I don’t have to dismantle it again for some other reason just to get past calibration.

Yes, they only extend to an amount that should fit comfortably to the frame size you have defined with some slack Iess on the top than the bottom).

Calibration is compute intensive so a more powerful/newer computer should make it run faster.
Set it so that your machine doesn’t go to sleep, and is not in battery saving mode, etc.
Make sure your frame isn’t flexing. Some times the anchors flex inwards as the belts tighten. The stiffer the frame the better the calibration results usually. A few millimeters of movement in the system can throw things off.
Make sure you frame is square (measure across both corners diagonally, they should be the same).

Since you almost had successful calibration I would try again and make sure computer doesn’t go to sleep. Good luck fixing the belt. There are some commands available to spool and unspool individual motors if you think that would avoid disassembly.

Also, if you used the stock firmware, and it was .71 or so, the more recent releases do a better job of tension management in my experience so you have less likelihood of belts spooling out too fast, etc.

Where would I find these?

Seems like they would be very handy right now. :sweat_smile:

I had just updated to .77 so maybe less likely but not impossible.

See the release notes for .67 There is a spot in the FluidNC ui (first tab) where you can enter commands. Sorry, on the go on my phone so don’t have screenshots handy…, there may be one in one of my posts about trying open builds where I entered the commands in FliudNC to verify.

Thanks.

“In the event that you need to drive the motors directly to unstick a belt we’ve added commands to do that. There are no buttons for them because if you clicked one accidently at the wrong time it could break something. Instead we have added commands which will command one motor to spin at full power for 200ms. The options are In/Out for each motor so $TLI, $TLO, $TRI, $TRO, $BLI, $BLO, $BRI, $BRO.”

Got the belt untangled, and can’t see any damage.
Shortened all belts, so they fit on the spools.

Retract and extend now seem to function much better.

Initial fitness seems much higher but drops rapidly with the 2nd and 3rd iterations.

Calibration ultimately fails every time.

Serial Messages
[MSG:INFO: Channel auto report interval set to 50 ms]
[GC:G0 G54 G17 G21 G90 G94 M5 M9 T0 F0 S0]
[MSG:INFO: FluidNC v0.76 (Maslow-Main-67a72cf4-dirty)]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.4]
[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: Config messages ran]
[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: Connecting to STA SSID:Internet]
[MSG:INFO: Connecting.]
[MSG:INFO: Connecting…]
[MSG:INFO: Connected - IP is 192.168.4.92]
[MSG:INFO: WiFi on]
[MSG:INFO: Start mDNS with hostname:http://maslow.local/]
[MSG:INFO: SSDP Started]
[MSG:INFO: HTTP started on port 80]
[MSG:INFO: Telnet started on port 23]
[GC:G0 G54 G17 G21 G90 G94 M5 M9 T0 F0 S0]
[MSG:INFO: Caution: Unlocked]
[MSG:INFO: Retracting all belts]
[MSG:INFO: Bottom Right pulled tight with offset -1112.817]
[MSG:INFO: Top Right pulled tight with offset -1684.996]
[MSG:INFO: Bottom Left pulled tight with offset -2433.215]
[MSG:INFO: Top Left pulled tight with offset -2752.206]
[MSG:INFO: Extending all belts]
[MSG:INFO: All belts extended to center position]
[MSG:INFO: Zeroing z-axis position]
[MSG:INFO: Measured waypoint 0]
[MSG:INFO: Center point deviation: TL: 0.137 TR: 0.207 BL: 1.423 BR: -9.371]
[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:2067.31, br:2061.66, tr:2073.81, tl:2071.35},{bl:1996.83, br:2002.21, tr:2143.89, tl:2139.66},{bl:1790.25, br:2213.13, tr:2346.30, tl:1953.94},{bl:1862.84, br:2275.69, tr:2282.83, tl:1872.43},{bl:1944.35, br:2342.26, tr:2220.26, tl:1795.88},{bl:2138.73, br:2145.24, tr:2004.66, tl:1993.93},{bl:2341.14, br:1953.64, tr:1797.95, tl:2210.84},{bl:2275.18, br:1872.04, tr:1871.02, tl:2276.74},{bl:2212.52, br:1795.47, tr:1953.27, tl:2343.32},]
Computing… This may take several minutesFitness: 0.9428762 in 100
Fitness: 0.9818487 in 200
Fitness: 0.9818487 in 300
Fitness: 0.9818487 in 400
Fitness: 0.9818487 in 500
Fitness: 0.9818487 in 600
Fitness: 0.9818487 in 700
Fitness: 0.9818487 in 800
Fitness: 0.9818487 in 900
Fitness: 0.9818487 in 1000
Fitness: 0.9818487 in 1100

Calibration complete
Calibration values:
Fitness: 0.9818486619710081
Maslow_tlX: 2.6
Maslow_tlY: 2379.3
Maslow_trX: 3388.2
Maslow_trY: 2374.1
Maslow_blX: 0.0
Maslow_blY: 0.0
Maslow_brX: 3386.3
Maslow_brY: 0.0
A command to save these values has been successfully sent for you. Please check for any error messages.
[MSG:INFO: Zeroing z-axis position]
[MSG:INFO: Measured waypoint 9]
[MSG:INFO: Measured waypoint 10]
[MSG:INFO: Measured waypoint 11]
[MSG:INFO: Measured waypoint 12]
[MSG:INFO: Measured waypoint 13]
[MSG:INFO: Measured waypoint 14]
[MSG:INFO: Measured waypoint 15]
[MSG:INFO: Measured waypoint 16]
[MSG:INFO: Measured waypoint 17]
[MSG:INFO: Measured waypoint 18]
[MSG:INFO: Measured waypoint 19]
[MSG:INFO: Measured waypoint 20]
[MSG:INFO: Measured waypoint 21]
[MSG:INFO: Measured waypoint 22]
[MSG:INFO: Measured waypoint 23]
[MSG:INFO: Measured waypoint 24]
CLBM:[{bl:2067.31, br:2061.66, tr:2073.81, tl:2071.35},{bl:1996.83, br:2002.21, tr:2143.89, tl:2139.66},{bl:1790.25, br:2213.13, tr:2346.30, tl:1953.94},{bl:1862.84, br:2275.69, tr:2282.83, tl:1872.43},{bl:1944.35, br:2342.26, tr:2220.26, tl:1795.88},{bl:2138.73, br:2145.24, tr:2004.66, tl:1993.93},{bl:2341.14, br:1953.64, tr:1797.95, tl:2210.84},{bl:2275.18, br:1872.04, tr:1871.02, tl:2276.74},{bl:2212.52, br:1795.47, tr:1953.27, tl:2343.32},{bl:2161.01, br:1721.00, tr:2034.96, tl:2418.06},{bl:1939.04, br:1932.76, tr:2216.57, tl:2225.93},{bl:1724.57, br:2154.66, tr:2412.67, tl:2042.17},{bl:1521.06, br:2382.47, tr:2615.69, tl:1873.84},{bl:1599.95, br:2434.77, tr:2554.61, tl:1779.54},{bl:1687.25, br:2489.99, tr:2492.84, tl:1689.25},{bl:1779.49, br:2549.06, tr:2435.84, tl:1603.58},{bl:1874.46, br:2615.49, tr:2384.11, tl:1523.39},{bl:2039.60, br:2416.53, tr:2156.62, tl:1725.10},{bl:2220.92, br:2220.79, tr:1934.56, tl:1941.76},{bl:2417.18, br:2037.01, tr:1720.16, tl:2164.49},{bl:2623.25, br:1868.70, tr:1516.72, tl:2392.28},{bl:2559.16, br:1774.38, tr:1600.34, tl:2440.25},{bl:2497.32, br:1683.94, tr:1686.63, tl:2496.81},{bl:2440.35, br:1598.24, tr:1776.72, tl:2557.61},{bl:2388.53, br:1518.01, tr:1871.41, tl:2620.72},]
Computing… This may take several minutesFitness: 0.5216692 in 100
Fitness: 0.5245484 in 200
Fitness: 0.5245484 in 300
Fitness: 0.5245484 in 400
Fitness: 0.5245484 in 500
Fitness: 0.5245484 in 600
Fitness: 0.5245484 in 700
Fitness: 0.5245484 in 800
Fitness: 0.5245484 in 900
Fitness: 0.5245484 in 1000
Fitness: 0.5245484 in 1100

Calibration complete
Calibration values:
Fitness: 0.5245483926840606
Maslow_tlX: -4.1
Maslow_tlY: 2372.1
Maslow_trX: 3386.7
Maslow_trY: 2378.4
Maslow_blX: 0.0
Maslow_blY: 0.0
Maslow_brX: 3386.6
Maslow_brY: 0.0
A command to save these values has been successfully sent for you. Please check for any error messages.
[MSG:INFO: Zeroing z-axis position]
[MSG:INFO: Measured waypoint 25]
[MSG:INFO: Measured waypoint 26]
[MSG:INFO: Measured waypoint 27]
[MSG:INFO: Measured waypoint 28]
[MSG:INFO: Measured waypoint 29]
[MSG:INFO: Measured waypoint 30]
[MSG:INFO: Measured waypoint 31]
[MSG:INFO: Measured waypoint 32]
[MSG:INFO: Measured waypoint 33]
[MSG:INFO: Measured waypoint 34]
[MSG:INFO: Measured waypoint 35]
[MSG:INFO: Measured waypoint 36]
[MSG:INFO: Measured waypoint 37]
[MSG:INFO: Measured waypoint 38]
[MSG:INFO: Measured waypoint 39]
[MSG:INFO: Measured waypoint 40]
[MSG:INFO: Measured waypoint 41]
[MSG:INFO: Measured waypoint 42]
[MSG:INFO: Measured waypoint 43]
[MSG:INFO: Measured waypoint 44]
[MSG:INFO: Measured waypoint 45]
[MSG:INFO: Measured waypoint 46]
[MSG:INFO: Measured waypoint 47]
[MSG:INFO: Measured waypoint 48]
CLBM:[{bl:2067.31, br:2061.66, tr:2073.81, tl:2071.35},{bl:1996.83, br:2002.21, tr:2143.89, tl:2139.66},{bl:1790.25, br:2213.13, tr:2346.30, tl:1953.94},{bl:1862.84, br:2275.69, tr:2282.83, tl:1872.43},{bl:1944.35, br:2342.26, tr:2220.26, tl:1795.88},{bl:2138.73, br:2145.24, tr:2004.66, tl:1993.93},{bl:2341.14, br:1953.64, tr:1797.95, tl:2210.84},{bl:2275.18, br:1872.04, tr:1871.02, tl:2276.74},{bl:2212.52, br:1795.47, tr:1953.27, tl:2343.32},{bl:2161.01, br:1721.00, tr:2034.96, tl:2418.06},{bl:1939.04, br:1932.76, tr:2216.57, tl:2225.93},{bl:1724.57, br:2154.66, tr:2412.67, tl:2042.17},{bl:1521.06, br:2382.47, tr:2615.69, tl:1873.84},{bl:1599.95, br:2434.77, tr:2554.61, tl:1779.54},{bl:1687.25, br:2489.99, tr:2492.84, tl:1689.25},{bl:1779.49, br:2549.06, tr:2435.84, tl:1603.58},{bl:1874.46, br:2615.49, tr:2384.11, tl:1523.39},{bl:2039.60, br:2416.53, tr:2156.62, tl:1725.10},{bl:2220.92, br:2220.79, tr:1934.56, tl:1941.76},{bl:2417.18, br:2037.01, tr:1720.16, tl:2164.49},{bl:2623.25, br:1868.70, tr:1516.72, tl:2392.28},{bl:2559.16, br:1774.38, tr:1600.34, tl:2440.25},{bl:2497.32, br:1683.94, tr:1686.63, tl:2496.81},{bl:2440.35, br:1598.24, tr:1776.72, tl:2557.61},{bl:2388.53, br:1518.01, tr:1871.41, tl:2620.72},{bl:2336.05, br:1448.49, tr:1976.32, tl:2686.32},{bl:2103.64, br:1658.97, tr:2131.14, tl:2494.84},{bl:1875.62, br:1882.84, tr:2304.18, tl:2305.31},{bl:1653.80, br:2112.94, tr:2491.98, tl:2128.39},{bl:1441.37, br:2346.89, tr:2691.72, tl:1967.38},{bl:1242.94, br:2583.58, tr:2898.65, tl:1826.57},{bl:1331.49, br:2622.60, tr:2840.26, tl:1721.03},{bl:1423.16, br:2666.67, tr:2778.93, tl:1618.33},{bl:1518.82, br:2716.82, tr:2721.92, tl:1518.91},{bl:1619.08, br:2772.70, tr:2669.58, tl:1423.54},{bl:1722.59, br:2831.82, tr:2622.15, tl:1333.07},{bl:1828.45, br:2895.08, tr:2579.96, tl:1248.68},{bl:1967.97, br:2696.37, tr:2344.23, tl:1448.64},{bl:2122.73, br:2496.92, tr:2111.96, tl:1659.72},{bl:2297.52, br:2307.32, tr:1884.06, tl:1879.77},{bl:2484.97, br:2130.26, tr:1662.44, tl:2109.06},{bl:2684.63, br:1969.08, tr:1450.12, tl:2342.76},{bl:2895.11, br:1828.10, tr:1251.71, tl:2581.12},{bl:2831.89, br:1722.55, tr:1340.63, tl:2619.29},{bl:2770.58, br:1619.76, tr:1431.89, tl:2665.35},{bl:2713.65, br:1520.26, tr:1527.63, tl:2716.74},{bl:2661.38, br:1424.98, tr:1627.68, tl:2770.62},{bl:2614.09, br:1334.46, tr:1731.05, tl:2830.52},{bl:2571.91, br:1249.88, tr:1836.14, tl:2894.03},]
Computing… This may take several minutesFitness: 0.3446611 in 100
Fitness: 0.3446611 in 200
Fitness: 0.3446611 in 300
Fitness: 0.3446611 in 400
Fitness: 0.3446611 in 500
Fitness: 0.3446611 in 600
Fitness: 0.3446611 in 700
Fitness: 0.3446611 in 800
Fitness: 0.3446611 in 900
Fitness: 0.3446611 in 1000

WARNING FITNESS TOO LOW. DO NOT USE THESE CALIBRATION VALUES!

I don’t know the advanced incantation to interpret the data, @bar or @dlang might have some perspective on that.

One thing I think I see in the log is only one retraction. I always retract all at least twice until the retraction values are zero. Sometimes several times to make sure there is no further slippage. Upping the retract and/or calibration current can help make sure the belts are tight to start with too.

Calibration values which are good, but not quite good enough seem to usually be the result of ether frame flex or having the calibration grid too close to the anchor points.

The first thing that I would do (and the easiest) would be to shrink the calibration grid a little. If you are doing 2,000x1,000 as your grid size try dropping that down to 1,600x800 and see if that fixes it.

Seemed promising with initial fitness 1.06 but rapidly dropped off and failed.

Tried several times with widely varying initial results ( some as low as 6.2) but ultimately all failed.

Takes several attempts to zero the retraction as suggested by @boxomatic but does get to zero on all belts after 5 -7 goes.

Frame seems solid, has more bracing than the standard frame and is currently laid on the floor, so doesn’t even have the loads/flex associated with a vertical frame.

Given that it is taking that many retracts to fully tighten the belts, maybe try upping the retraction current threshold and the calibration current threshold. If you’ve got some stiffer arm assemblies that might help.

Bump to 1500, do a retract/extend cycle, and see. then 1800 if same behavior… try calibration cycle if retract has ‘improved’… there are other threads about calibration current you can search for.

More isn’t necessarily better especially if your frame flexes under higher loads. After some time things may break in a bit and you can back it down, etc.

I had one I had to run at 2200 to make forward progress, then backed off to 1800 once it seemed to behave consistently.

The log output will tell you if it is a specific arm(s) that has more issue. Your original log had one that was off by 10mm at some point I believe but I can’t read it while writing this on my phone!

2 Likes

This is low for an initial fitness. Also, as each cycle around the grid of points is done the fitness usually goes down.

What this says to me is that your frame is flexing too much. You’ll want any given anchor point to move by no more than 2mm, preferably less than 1mm.

2 Likes

Any chance you could take a few quick pics of the frame? Sometimes a second (third, fourth, etc) set of eyes can pick up something that you might be missing. Could be a simple fix.

2 Likes




Corner bolts are all tight and do not wiggle.
18mm ply connector plates both sides.
18mm ply under centre of joist span to prevent sagging.
I do not see any signs of flexing or lifting of the corners during calibration.

Thanks in advance for your help guys.

One thing have noticed is that the spool arms don’t seem to move fully independently within each of the 90deg range between support legs. They seem to move 15-20 degrees engage somehow with another arm, but cannot move fully between supports.

Guessing I did something wrong during assembly.

You’re saying that the arms link up and moving one moves another?

Sounds like one of your screws around the center of the spools came loose and is catching on a hole for the spool below it.

2 Likes

Sounds about right…

Yep a couple of dropped bolts.

Guessing It will Calibrate just fine now… Once I find time to put it back together.

Thanks for the Guidance.

1 Like