Thanks @bar I will try fresh calibration tonight and see if it improves. I just ran out of time yesterday. How does the system retain what it learnt from one go to the next? I had a look in the files, but they just seemed to be still the first guess after the first complete (but poor) calibration run.
Thanks @WFD for running my numbers. Iāll admit I donāt really know what they all mean, I think itās hard to know what a good run looks like when all youāve had is bad ones. Iād pasted the dialog more to highlight the errors then the parameters.
Iāll give the calibration a couple more goes, then as you say Iāll take a look at my frame and see if I can improve a few things. I think potentially Iām a bit close to the 15 deg limit on slope, so might try it at more like 20deg. and Iāll also reinforce the corners a bit.
Re the Maslow itself, I was pretty happy with the build it all went together really nicely (after I trimmed down the linear rods). would you suspect an issue with build or a PCB/component fault?
@Matthew_Hart , I think the important question is what error is displayed when you retract the belts all the way? That may hint at whether you have an issue with the Maslow or the frame. 30mm distances from the centroid at each calibration point is awfully big to pin on a flexible frame or similar problem.
Matthew Hart wrote:
I think potentially Iām a bit close to the 15 deg limit on slope, so might try
it at more like 20deg. and Iāll also reinforce the corners a bit.
donāt take 15 degrees as a hard limit. When you are cutting, watch the machine,
if the sled lifts away from the workpiece while plunging, you either are too
close to vertical, have a bit that isnāt designed for straight plunges, are
plunging too fast, or your bit is dull (possibly from getting hot from plunging
too slowly)
the 1st gen maslow relied on gravity to move, and if it was too flat, it
wouldnāt move, too vertical and it wouldnāt plunge. The maslow4 has belts
pulling it around, and for most people, pulling it against the workpiece, so
itās FAR less sensitive to the angle.
David Lang
They should be visible in your configuration settings:
I think that this is an important question to answer. It does seem like something funky is going on outside of the math
ah I see cool, I hadnāt seen the extra tab. yep there are some numbers in there. so maybe it is learning.
I had chance to do a couple more test calibrations this evening. Iāve now crafted a calibration sling (piece of rope) to hold the thing in place while I do retracts and extends which helps the grind of all these runs. Managed two runs one with calibration current at default 1300 and another at 1700, just to try something different. These are the full print outs. Iāve not had a retraction error since my early attempts and possibly changing retraction current to 1700.
First run of the day calibration force/current 1300
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: Set to comply]
[MSG:INFO: Retracting all belts]
[MSG:INFO: Bottom Right pulled tight with offset -1107.620]
[MSG:INFO: Top Right pulled tight with offset -1471.488]
[MSG:INFO: Bottom Left pulled tight with offset -1987.915]
[MSG:INFO: Top Left pulled tight with offset -2226.567]
[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.225 TR: 0.397 BL: 8.789 BR: 12.743]
[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:1817.35, br:1823.53, tr:1810.00, tl:1812.95},{bl:1741.47, br:1771.98, tr:1899.83, tl:1862.42},{bl:1532.25, br:1980.42, tr:2110.40, tl:1694.31},{bl:1617.58, br:2036.82, tr:2021.41, tl:1612.90},{bl:1698.77, br:2101.60, tr:1961.67, tl:1537.40},{bl:1886.57, br:1882.30, tr:1742.86, tl:1859.19},{bl:2096.63, br:1692.20, tr:1533.76, tl:1987.89},{bl:2020.10, br:1616.20, tr:1722.58, tl:2005.50},{bl:1960.28, br:1534.87, tr:1912.57, tl:2124.96},]
Computing⦠This may take several minutesFitness: 0.0410166 in 100
Fitness: 0.0410166 in 200
Fitness: 0.0410166 in 300
Fitness: 0.0410166 in 400
Fitness: 0.0410166 in 500
Fitness: 0.0410166 in 600
Fitness: 0.0410166 in 700
Fitness: 0.0410166 in 800
Fitness: 0.0410166 in 900
Fitness: 0.0410166 in 1000
WARNING FITNESS TOO LOW. DO NOT USE THESE CALIBRATION VALUES!
second attempt with calibration force/current 1700
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: Top Right pulled tight with offset 0.000]
[MSG:INFO: Bottom Right pulled tight with offset -0.011]
[MSG:INFO: Top Left pulled tight with offset -0.086]
[MSG:INFO: Bottom Left pulled tight with offset -0.086]
[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.234 TR: 0.483 BL: 8.521 BR: 11.621]
[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:1817.08, br:1822.40, tr:1810.09, tl:1812.96},{bl:1741.47, br:1743.81, tr:1900.42, tl:1902.02},{bl:1557.07, br:1968.15, tr:2054.30, tl:1694.43},{bl:1615.31, br:2034.25, tr:2021.40, tl:1613.01},{bl:1696.11, br:2099.99, tr:1961.72, tl:1537.47},{bl:1884.51, br:1883.71, tr:1743.21, tl:1766.64},{bl:2092.76, br:1692.13, tr:1534.10, tl:1980.41},{bl:2020.11, br:1645.34, tr:1715.17, tl:1977.38},{bl:1960.27, br:1534.87, tr:1741.19, tl:2104.70},]
Computing⦠This may take several minutesFitness: 0.0993643 in 100
Fitness: 0.0993643 in 200
Fitness: 0.0993643 in 300
Fitness: 0.0993643 in 400
Fitness: 0.0993643 in 500
Fitness: 0.0993643 in 600
Fitness: 0.0993643 in 700
Fitness: 0.0993643 in 800
Fitness: 0.0993643 in 900
Fitness: 0.0993643 in 1000
WARNING FITNESS TOO LOW. DO NOT USE THESE CALIBRATION VALUES!
These seem really really low which makes me think that there is something else wrong that just running the calibration again wonāt fix.
After running calibration can you try pressing āRetract Allā and show what these numbers say:
[MSG:INFO: Retracting all belts]
[MSG:INFO: Top Right pulled tight with offset 0.000]
[MSG:INFO: Top Left pulled tight with offset -0.021]
[MSG:INFO: Bottom Right pulled tight with offset 0.000]
[MSG:INFO: Bottom Left pulled tight with offset -0.054]
We want those offsets as close to zero as possible if everything is working smoothly
With or without disconnecting the anchors?
I did it with the anchors disconnected and also a restart to try get the dialog working. It stops showing anything after the āWARNING FITNESS TOO LOWā¦ā message. That didnāt actually work since I think the webpage needs refreshing too, woops. Though Iāve just discovered thereās also a command line print out on the first tab at the top which does have the numberā¦
[MSG:INFO: Retracting all belts]
[MSG:INFO: Bottom Right pulled tight with offset -1404.548]
[MSG:INFO: Top Right pulled tight with offset -1617.928]
[MSG:INFO: Bottom Left pulled tight with offset -1806.829]
[MSG:INFO: Top Left pulled tight with offset -1927.750]
These are huge, but is that cause I did a restart? Iām out of time to start a fresh today. let me know what order I should try and Iāll have another go tomorrow.
Thanks so much for the speedy responses.
Yeah, I think thats the restart that we are seeing there.
It might be enough to just do Extend All and then Retract All right away to pull them back in. Weāre still looking for all zero (or close to) to indicate that all is well
Someone correct me if Iām wrong, but I believe you only want to retract all when disconnected from the anchors. When the motors meet with sufficient resistance, they assume that the belt has retracted all the way in and resets the zero for the belt. If you retract all while connected to the anchors, it will zero with significant belt still extended. I wonder if you did a retract all at some point while anchored and that created a huge zero offset. That would explain the really low fitness on your calibration as well as the really large residuals when you retracted with the anchors disconnected.
John Wolter wrote:
Someone correct me if Iām wrong, but I believe you only want to retract all
when disconnected from the anchors. When the motors meet with sufficient
resistance, they assume that the belt has retracted all the way in and resets
the zero for the belt. If you retract all while connected to the anchors, it
will zero with significant belt still extended. I wonder if you did a retract
all at some point while anchored and that created a huge zero offset. That
would explain the really low fitness on your calibration as well as the really
large residuals when you retracted with the anchors disconnected.
you are correct, as currently configured you cannot have a belt connected to an
anchor and fully retract it. So when the belt hits enough resistance it thinks
itās fully retracted and sets that distance to zero.
If thatās not actually zero, it will throw off the calibration.
(this is why, when I see people posting logs of their calibration attempt, I
first look for the zeroing to see if the numbers are all tiny at the point that
the machine sees them fully retracted)
David Lang
Just to be clear Iāve never done a retract with the anchors connected. I was just asking incase thatās what you wanted.
Thinking about it I have done a double retract once or twice, when Iāve noticed the gui dialog has dropped out following the calibration error message and Iāve had to restart the process to clear it, but the belts were already retracted because I was too keen and had clicked the button already. In that case the readings are close to zero on the second retract. See above when I calibrated on the second attempt the readings are all close to zero because I retracted twice (the first retract wasnāt printed)
This bug with the dialog box really doesnāt help my explanations sorry.
Fair enough. It was just a hypothesis that on the surface fit the things you were seeing.
I could easily see a new user confusing āRetract Allā and āApply Tensionā. It seems like we usually have the information to detect if āRetract Allā was pressed with the belts anchored. Might want to consider a warning.
Had another go today. including adding some more bracing to stiffen up the frame. Felt like I made a real improvement to the frame, but it made no difference to the calibration. Same sort or output as before.
additional: I did do the retract all you asked for after the calibration and everything was pretty close to zero, biggest value was 0.1 another at 0.09
I decided I might try rolling back the firmware. Chose a couple revisions back, 0.69 but the unit ended up on the floor in the early stages. I guess I need to follow some different instructions for that one. woops.
@NickyD have you done anything more with yours? sorry seems I have taken over your thread. I thought Itād just be one or two messages.
No worries @Matthew_Hart! I have been happily following along to see if youāre struggles provide any insight for my situation
I canāt get to my setup until Saturday morning. Mostly can only do this on weekend for me.
Matthew Hart wrote:
I decided I might try rolling back the firmware. Chose a couple revisions back, 0.69 but the unit ended up on the floor in the early stages. I guess I need to follow some different instructions for that one. woops.
@NickyD have you done anything more with yours? sorry seems I have taken over your thread. I thought Itād just be one or two messages.
If you are ending up on the floor, that sounds like you have a vertical frame
(leaning against the wall) but told the system that you have a horizontal one
(laying on the floor)
David Lang
Thanks @dlang
Calibration complete
Calibration values:
Fitness: 1.425439127904938
Maslow_tlX: -2.8
Maslow_tlY: 2028.1
Maslow_trX: 2998.3
Maslow_trY: 2041.3
Maslow_blX: 0.0
Maslow_blY: 0.0
Maslow_brX: 3015.5
Maslow_brY: 0.0
These values have been automatically saved for you.
[MSG:INFO: Calibration complete]
woohoo!
Ok phew itās all my mistake, when I read orientation alongside the X/Y dims I was totally thinking printer page setup and I took vertical/horizontal to mean portrait or landscape and was never going to get that out my head. Itās then not a setting you find yourself revisiting. Iāve even seen a comment about mistake understanding Horizontal in a different thread and still I didnāt connect the dots back to my mistake so many calibration attempts before.
Iād be tempted to suggest calling the setting āuprightā or āflatā if you find others making the same mistake. Maybe it could also print out āstarting Horiz. calibrationā or whatever in the messages so when people like me post the logs it real obvious to you guys weāve messed up.
Indeed, others do make the same mistake. I ended up making a diagram to illustrate the difference between vertical/horizontal and portrait/landscape. I like this proposal, but I think it will take some effort to change everyoneās thinking as we have been using the current nomenclature over countless posts.
Ok back to testing today. REALLY hoping I can get this running today. Made a little process but still running into same issue. See below for the information I gathered for the 3 tests I ran so far.
Test 1 Summary
Basically same as before. Used slightly different starting values and the M4 locked up after initial measurement.
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 -1498.736]
[MSG:INFO: Top Left pulled tight with offset -1544.096]
[MSG:INFO: Top Right pulled tight with offset -1539.941]
[MSG:INFO: Bottom Right pulled tight with offset -1600.546]
[MSG:INFO: Retracting all belts]
[MSG:INFO: Bottom Right pulled tight with offset -0.666]
[MSG:INFO: Bottom Left pulled tight with offset -0.097]
[MSG:INFO: Top Left pulled tight with offset -0.075]
[MSG:INFO: Top Right pulled tight with offset -0.011]
[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.141 TR: 0.074 BL: -58.618 BR: 42.322]
[MSG:ERR: Unable to move safely, stopping calibration]
[MSG:ERR: Emergency stop! Stopping all motors]
[MSG:WARN: The machine will not respond until turned off and back on again]
[MSG:ERR: Unable to move safely, stopping calibration]
No heartbeat from machine in 10 seconds. Please check connection.
No heartbeat from machine in 10 seconds. Please check connection.
Test 2 Summary
Tried new starting values and it finally moved during calibration! Got to Waypoint 7 before locking up again. Noticed this encoder warning but didnāt seem to stock the calibration. Pushed in patch cables to see if that would help in future though.
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: Top Left pulled tight with offset -1543.473]
[MSG:INFO: Bottom Left pulled tight with offset -1497.544]
[MSG:INFO: Top Right pulled tight with offset -1540.392]
[MSG:INFO: Bottom Right pulled tight with offset -1601.437]
[MSG:INFO: Retracting all belts]
[MSG:INFO: Top Left pulled tight with offset -0.075]
[MSG:INFO: Bottom Left pulled tight with offset -0.032]
[MSG:INFO: Bottom Right pulled tight with offset -1.127]
[MSG:INFO: Top Right pulled tight with offset 0.021]
[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.095 TR: 0.075 BL: -48.146 BR: 50.249]
[MSG:INFO: Measured waypoint 1]
[MSG:INFO: Measured waypoint 2]
[MSG:WARN: Encoder read failure on Bottom Left]
[MSG:WARN: Bad connection on Bottom Left encoder, failed to read 1 times in the last second]
[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:ERR: Unable to move safely, stopping calibration]
[MSG:ERR: Emergency stop! Stopping all motors]
[MSG:WARN: The machine will not respond until turned off and back on again]
[MSG:ERR: Unable to move safely, stopping calibration]
No heartbeat from machine in 10 seconds. Please check connection.
No heartbeat from machine in 10 seconds. Please check connection.
Test 3 Summary
Tried the same starting values as I wanted to see if it would stop at the same place or not before trying new ones. No Encoder error this time but locked up at waypoint 7 again.
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:ERR: sdmmc_card_init failed code 0x0x102]
[GC:G0 G54 G17 G21 G90 G94 M5 M9 T0 F0 S0]
[MSG:INFO: Caution: Unlocked]
[MSG:INFO: Retracting all belts]
[MSG:INFO: Top Right pulled tight with offset -1322.610]
[MSG:INFO: Bottom Right pulled tight with offset -1388.637]
[MSG:INFO: Top Left pulled tight with offset -1760.095]
[MSG:INFO: Bottom Left pulled tight with offset -1720.415]
[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.148 TR: 0.138 BL: -49.068 BR: 54.393]
[MSG:INFO: Measured waypoint 1]
[MSG:INFO: Measured waypoint 2]
[MSG:INFO: Retracting all belts]
[MSG:INFO: Top Left pulled tight with offset -0.011]
[MSG:INFO: Bottom Left pulled tight with offset -0.011]
[MSG:INFO: Top Right pulled tight with offset 0.032]
[MSG:INFO: Bottom Right pulled tight with offset 0.054]
[MSG:INFO: Extending all belts]
[MSG:INFO: All belts extended to center position]
[MSG:INFO: Zeroing z-axis position]
[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:ERR: Unable to move safely, stopping calibration]
[MSG:ERR: Emergency stop! Stopping all motors]
[MSG:WARN: The machine will not respond until turned off and back on again]
[MSG:ERR: Unable to move safely, stopping calibration]
No heartbeat from machine in 10 seconds. Please check connection.
I am going to keep playing with the finial guesses and see if I can get through a full calibration but wanted to share this information to see if anyone else can spot an issue I am not seeing.
Unrelated Issue but want to make you aware @bar
When the M4 locks up. I disconnect the power cable to do the hard reset. When I log back into the M4 the configuration settings are all back to 0 (doesnāt remember the last ones) and I sometimes get an sdmmc_card_init error. Even when I donāt get this error if I try to Retract All to start the Calibration process it gives me an error 152. Been getting around this by re-uploading the yaml file.
This error is going to be a product of three things
- The initial guess for the anchor points
- The locations of the measurement points (determined by the grid size)
- The frames actual dimensions
Tweaking those three should be able to make it go away
That error message happens when the belts which should be retracting actually need to extend which could result in the belt spooling out too much and getting stuck in the gears