During the last few days I’ve set up my Maslow 4.1 and I would like to give some feedback about my experiences with the calibration and dimensional accuracy. First some details about the setup:
- firmware 0.88
- horizontal “frame”, anchor points are bolted to my concrete courtyard.
- frame size approx. 3000 x 4000
- calibration size 2000 x 1000
- calibration grid 9 x 9
- calibration current 1000
- Maslow_tlZ: 88.0, Maslow_trZ: 44.0, Maslow_blZ: 22.0, Maslow_brZ: 66.0 (raised anchor points)
Calibration reported frame flex to be
Flex measurement: TLBR: 5.212 TRBL: 0.451
and after waiting foreeeeeever the result seemed promising:
CLBM:[{bl:2437.34, br:2451.25, tr:2533.13, tl:2532.08},{bl:2561.79, br:2327.43, tr:2421.18, tl:2655.04},{bl:2649.55, br:2424.67, tr:2325.59, tl:2567.70},{bl:2555.27, br:2541.23, tr:2419.97, tl:2445.67},{bl:2439.59, br:2656.82, tr:2543.99, tl:2325.41},{bl:2343.79, br:2568.57, tr:2631.29, tl:2421.52},{bl:2526.89, br:2439.95, tr:2448.24, tl:2542.81},{bl:2465.37, br:2371.66, tr:2515.63, tl:2612.31},{bl:2254.23, br:2575.80, tr:2719.58, tl:2424.85},{bl:2319.74, br:2643.46, tr:2659.95, tl:2346.18},{bl:2391.62, br:2710.92, tr:2600.22, tl:2272.35},{bl:2592.67, br:2512.48, tr:2382.76, tl:2476.84},{bl:2808.77, br:2315.54, tr:2169.74, tl:2697.86},{bl:2744.40, br:2236.50, tr:2248.81, tl:2762.05},{bl:2684.42, br:2162.50, tr:2325.97, tl:2824.74},{bl:2610.69, br:2119.42, tr:2415.35, tl:2864.71},{bl:2387.46, br:2323.62, tr:2603.28, tl:2668.39},{bl:2168.27, br:2547.55, tr:2805.96, tl:2474.72},{bl:1956.50, br:2783.28, tr:3022.12, tl:2291.98},{bl:2027.86, br:2841.12, tr:2963.45, tl:2204.88},{bl:2105.30, br:2899.40, tr:2904.23, tl:2121.60},{bl:2185.62, br:2959.84, tr:2849.28, tl:2042.56},{bl:2268.85, br:3021.24, tr:2798.85, tl:1968.28},{bl:2442.81, br:2814.77, tr:2572.35, tl:2170.61},{bl:2635.74, br:2612.54, tr:2347.41, tl:2384.64},{bl:2845.18, br:2419.24, tr:2128.06, tl:2613.59},{bl:3069.30, br:2237.23, tr:1916.28, tl:2852.74},{bl:3003.60, br:2149.73, tr:2003.05, tl:2906.70},{bl:2944.28, br:2066.08, tr:2084.14, tl:2962.86},{bl:2889.19, br:1986.75, tr:2166.77, tl:3021.97},{bl:2838.50, br:1912.28, tr:2249.81, tl:3081.63},{bl:2711.63, br:1889.77, tr:2396.63, tl:3093.92},{bl:2485.33, br:2091.34, tr:2560.95, tl:2900.56},{bl:2264.21, br:2307.17, tr:2738.15, tl:2711.22},{bl:2049.77, br:2531.08, tr:2927.54, tl:2532.41},{bl:1844.27, br:2762.36, tr:3127.86, tl:2366.54},{bl:1651.14, br:3001.37, tr:3338.62, tl:2216.51},{bl:1742.04, br:3046.60, tr:3271.69, tl:2115.53},{bl:1836.70, br:3099.82, tr:3206.06, tl:2015.83},{bl:1932.78, br:3155.65, tr:3144.01, tl:1919.08},{bl:2030.93, br:3215.22, tr:3085.81, tl:1825.82},{bl:2129.81, br:3277.75, tr:3031.64, tl:1736.53},{bl:2230.97, br:3343.00, tr:2981.73, tl:1651.86},{bl:2373.07, br:3142.83, tr:2754.80, tl:1843.10},{bl:2531.19, br:2944.81, tr:2529.01, tl:2047.00},{bl:2704.15, br:2755.25, tr:2308.22, tl:2260.45},{bl:2888.43, br:2576.05, tr:2094.02, tl:2482.00},{bl:3085.22, br:2409.46, tr:1888.66, tl:2709.53},{bl:3290.13, br:2258.31, tr:1695.31, tl:2942.57},{bl:3227.41, br:2157.75, tr:1778.13, tl:2994.25},{bl:3161.92, br:2058.50, tr:1868.35, tl:3047.02},{bl:3100.07, br:1962.20, tr:1962.21, tl:3104.99},{bl:3042.10, br:1869.30, tr:2059.23, tl:3164.75},{bl:2988.26, br:1780.33, tr:2157.32, tl:3230.21},{bl:2938.76, br:1695.92, tr:2255.86, tl:3295.67},{bl:2899.69, br:1600.73, tr:2360.72, tl:3380.73},{bl:2669.98, br:1794.07, tr:2499.14, tl:3193.61},{bl:2440.60, br:2005.06, tr:2651.56, tl:3003.45},{bl:2215.66, br:2222.66, tr:2821.13, tl:2822.63},{bl:1996.75, br:2446.80, tr:2999.71, tl:2653.09},{bl:1785.95, br:2675.96, tr:3189.13, tl:2497.08},{bl:1586.68, br:2909.31, tr:3386.28, tl:2357.32},{bl:1403.71, br:3146.85, tr:3591.39, tl:2236.87},{bl:1494.11, br:3190.14, tr:3531.31, tl:2127.38},{bl:1591.87, br:3235.42, tr:3465.59, tl:2017.16},{bl:1692.78, br:3286.06, tr:3403.15, tl:1908.77},{bl:1796.66, br:3341.44, tr:3344.22, tl:1802.54},{bl:1903.18, br:3400.08, tr:3289.01, tl:1698.84},{bl:2012.09, br:3462.20, tr:3237.68, tl:1598.19},{bl:2122.41, br:3526.45, tr:3190.42, tl:1501.24},{bl:2233.96, br:3594.78, tr:3147.42, tl:1408.67},{bl:2350.52, br:3399.55, tr:2915.18, tl:1587.55},{bl:2486.49, br:3201.62, tr:2682.50, tl:1786.60},{bl:2640.30, br:3011.44, tr:2453.26, tl:1996.92},{bl:2808.37, br:2830.58, tr:2228.44, tl:2216.14},{bl:2987.69, br:2660.93, tr:2009.62, tl:2439.81},{bl:3177.19, br:2504.79, tr:1798.96, tl:2668.75},{bl:3374.99, br:2364.82, tr:1599.60, tl:2901.34},{bl:3579.55, br:2244.04, tr:1416.47, tl:3138.21},{bl:3518.41, br:2134.63, tr:1506.66, tl:3182.02},{bl:3452.68, br:2024.49, tr:1603.82, tl:3228.89},{bl:3390.32, br:1916.20, tr:1704.67, tl:3279.22},{bl:3331.46, br:1810.06, tr:1808.68, tl:3333.60},{bl:3276.34, br:1706.47, tr:1915.69, tl:3392.56},{bl:3225.10, br:1605.93, tr:2023.22, tl:3453.90},{bl:3177.97, br:1509.07, tr:2133.92, tl:3518.80},{bl:3135.12, br:1416.61, tr:2243.71, tl:3586.13},{bl:2215.63, br:2222.86, tr:2820.00, tl:2822.91},{bl:2477.87, br:2492.51, tr:2497.09, tl:2490.64},]
Fitness: 0.7405550534180874
Maslow_tlX: -12.2
Maslow_tlY: 3024.6
Maslow_trX: 3940.1
Maslow_trY: 3037.4
Maslow_blX: 0.0
Maslow_blY: 0.0
Maslow_brX: 3947.9
Maslow_brY: 0.0
I was even more encouraged by the fact that the 7x7 subgrid results were very similar, so the result seemed solid:
CLBM:[{bl:2437.34, br:2451.25, tr:2533.13, tl:2532.08},{bl:2561.79, br:2327.43, tr:2421.18, tl:2655.04},{bl:2649.55, br:2424.67, tr:2325.59, tl:2567.70},{bl:2555.27, br:2541.23, tr:2419.97, tl:2445.67},{bl:2439.59, br:2656.82, tr:2543.99, tl:2325.41},{bl:2343.79, br:2568.57, tr:2631.29, tl:2421.52},{bl:2526.89, br:2439.95, tr:2448.24, tl:2542.81},{bl:2465.37, br:2371.66, tr:2515.63, tl:2612.31},{bl:2254.23, br:2575.80, tr:2719.58, tl:2424.85},{bl:2319.74, br:2643.46, tr:2659.95, tl:2346.18},{bl:2391.62, br:2710.92, tr:2600.22, tl:2272.35},{bl:2592.67, br:2512.48, tr:2382.76, tl:2476.84},{bl:2808.77, br:2315.54, tr:2169.74, tl:2697.86},{bl:2744.40, br:2236.50, tr:2248.81, tl:2762.05},{bl:2684.42, br:2162.50, tr:2325.97, tl:2824.74},{bl:2610.69, br:2119.42, tr:2415.35, tl:2864.71},{bl:2387.46, br:2323.62, tr:2603.28, tl:2668.39},{bl:2168.27, br:2547.55, tr:2805.96, tl:2474.72},{bl:1956.50, br:2783.28, tr:3022.12, tl:2291.98},{bl:2027.86, br:2841.12, tr:2963.45, tl:2204.88},{bl:2105.30, br:2899.40, tr:2904.23, tl:2121.60},{bl:2185.62, br:2959.84, tr:2849.28, tl:2042.56},{bl:2268.85, br:3021.24, tr:2798.85, tl:1968.28},{bl:2442.81, br:2814.77, tr:2572.35, tl:2170.61},{bl:2635.74, br:2612.54, tr:2347.41, tl:2384.64},{bl:2845.18, br:2419.24, tr:2128.06, tl:2613.59},{bl:3069.30, br:2237.23, tr:1916.28, tl:2852.74},{bl:3003.60, br:2149.73, tr:2003.05, tl:2906.70},{bl:2944.28, br:2066.08, tr:2084.14, tl:2962.86},{bl:2889.19, br:1986.75, tr:2166.77, tl:3021.97},{bl:2838.50, br:1912.28, tr:2249.81, tl:3081.63},{bl:2711.63, br:1889.77, tr:2396.63, tl:3093.92},{bl:2485.33, br:2091.34, tr:2560.95, tl:2900.56},{bl:2264.21, br:2307.17, tr:2738.15, tl:2711.22},{bl:2049.77, br:2531.08, tr:2927.54, tl:2532.41},{bl:1844.27, br:2762.36, tr:3127.86, tl:2366.54},{bl:1651.14, br:3001.37, tr:3338.62, tl:2216.51},{bl:1742.04, br:3046.60, tr:3271.69, tl:2115.53},{bl:1836.70, br:3099.82, tr:3206.06, tl:2015.83},{bl:1932.78, br:3155.65, tr:3144.01, tl:1919.08},{bl:2030.93, br:3215.22, tr:3085.81, tl:1825.82},{bl:2129.81, br:3277.75, tr:3031.64, tl:1736.53},{bl:2230.97, br:3343.00, tr:2981.73, tl:1651.86},{bl:2373.07, br:3142.83, tr:2754.80, tl:1843.10},{bl:2531.19, br:2944.81, tr:2529.01, tl:2047.00},{bl:2704.15, br:2755.25, tr:2308.22, tl:2260.45},{bl:2888.43, br:2576.05, tr:2094.02, tl:2482.00},{bl:3085.22, br:2409.46, tr:1888.66, tl:2709.53},{bl:3290.13, br:2258.31, tr:1695.31, tl:2942.57},{bl:3227.41, br:2157.75, tr:1778.13, tl:2994.25},{bl:3161.92, br:2058.50, tr:1868.35, tl:3047.02},{bl:3100.07, br:1962.20, tr:1962.21, tl:3104.99},{bl:3042.10, br:1869.30, tr:2059.23, tl:3164.75},{bl:2988.26, br:1780.33, tr:2157.32, tl:3230.21},{bl:2938.76, br:1695.92, tr:2255.86, tl:3295.67},]
Fitness: 0.9801819943116118
Maslow_tlX: -12.2
Maslow_tlY: 3024.6
Maslow_trX: 3939.6
Maslow_trY: 3037.4
Maslow_blX: 0.0
Maslow_blY: 0.0
Maslow_brX: 3947.9
Maslow_brY: 0.0
Then reality struck: I made a test cut. The piece was centered in the frame, nominal size 1150 x 862 mm, and it came out 1155 x 855. Ugh.
So I took a tape measure, measured all distances between the anchor points and put them into a CAD program to obtain the (x,y) coordinates. After entering the lengths of the four sides of the frame and one diagonal, the CAD program reported the second diagonal to be exactly what I had measured. The (x,y) coordinates of my frame are
Maslow_tlX: -14.41
Maslow_tlY: 3049.97
Maslow_trX: 3930.59
Maslow_trY: 3058.0
Maslow_blX: 0.0
Maslow_blY: 0.0
Maslow_brX: 3935.0
Maslow_brY: 0.0
That is rather different from the results of the calibration run and the relative difference of the frame height and width approximately match the relative errors of my test piece.
Out of curiosity I’ve then played around with the calibration simulation (GitHub - BarbourSmith/Calibration-Simulation) with the following modifications:
- set initialWidth and initialHeight to my actual frame size (approximately)
- set my Z offsets (function projectMeasurement)
- scale bl and br in addition to tl and tr (in scaleMeasurements)
- don’t randomize the initial guess in function computeGuess
- use initialWidth and initialHeight for initialGuess
The closest match to my tape measure results was using scaleMeasurements(measurements, 1.001):
Calibration values:
Fitness: 0.760609436790009
Maslow_tlX: -8.7
Maslow_tlY: 3046.6
Maslow_trX: 3931.7
Maslow_trY: 3054.4
Maslow_blX: 0.0
Maslow_blY: 0.0
Maslow_brX: 3936.5
Maslow_brY: 0.0
I decided to ignore these numbers and to use my tape measure results in the maslow.yaml file. To test this setup, I drilled a 9x9 grid of 1/8" diameter holes with a total size of 2000mm x 1000mm, i.e. the size of my calibration attempt. The biggest issue I found is a backlash error; the tension of the “trailing” belts (e.g. the two left belts if the machine moves to the right) seems rather low. I drilled the rows alternating from left to right and right to left. When I put a straight edge to a column of holes, I can see that adjacent rows have an x-offset of about 1mm relative to each other (see image below). Other than that, the rows and columns are straight (one row has a sag of about 1.5mm over the length of 2m, and interestingly it’s not one of the outer rows, all other rows are very straight), square to each other and correctly spaced (<= 1mm error over the full lengths of all rows and columns). Much nicer than what I had expected!