We might have hijacked this thread a bit, but I’ll keep going nevertheless.
Actually, the horizontal leg is not one-half the distance between between motors because cut 5 is over to the right side of the board. Regardless, it’s just used to determine the vertical distance between the motors and the top of the workarea.
Understood, but do we need to perform vertical measurements for calibration purpose? It seems to me that the calibration routine must solve/account for this on the basis that, for triangular kinematics, two horizontal measurements at known “intended” locations vertically separated by some arbitrary distance (i.e., doesn’t really matter how far apart as long as they aren’t on top of each other) can only be the result of one distance between motors/rotational radius combination (perhaps there’s two valid answers, one positive and one negative… dunno… just have seen that in math). This is the assumption I’ve made about the work. I have not dug into it.
This is where it gets more complex. The distance between the cuts vertically does make a difference actually. When these cuts are made, there is a target vertical offset between the cuts, and then during the calibration algorithm this vertical distance is accounted for. Additionally, the algorithm uses the input data to actually determine the vertical error in the distance between the bottom and top cuts (look for the “Sled Drift Compensation” value during calibration).
During the initial development of this new calibration algorithm, while testing we found that performing repeated calibrations in line would result in oscillating values. This ended up being due to the fact that the lower cuts (3 and 4) were two inches lower than expected, causing the routine to oscillate and give incorrect values.
The fact that the Maslow does not have independent axis control for X and Y planes, from a motor perspective, is why no discrete vertical measurement is made. The current algorithm works by trying to solve the physics of the machine, and using any two measurements allows this to work. The key we found during testing was to try to make these measurements in the places that would amplify the errors observed, and that seemed to be in the corners measuring horizontally. Additionally, we were fighting frame flex issues at the top center of the work area, so that was deliberately avoided.
I’m just getting my machine set up now, and plan to investigate the vertical error observed in the center of the work area. I see two possible solutions:
Additional physics to be added to the kinematics (I’m wondering if some small amount of chain stretch is occurring at the top center, where chain tension is highest)
Take more measurements and use an algorithm to minimize total error
I think solution 1 is preferable, as it makes the machine more accurate, but relies on the errors being linked to the physics of the machine and then compensated for. Solution 2 would just work to minimize total error, by deliberately introducing error in parts of the work area to minimize error in others.
If there is only one vertical measurement made, then we cannot possibly calculate the distances properly. The reason for making two horizontal cuts on the centerline is that we need to measure the distance between these two cuts (or more properly between the same edge of the two cuts) so that we can combine this with the motor spacing and chain lengths to calculate the rotation radius properly. If we don’t have this, we cannot possibly figure everything out properly.
The vertical distance to the top of cut 5 (the only horizontal cut) is used in the calibration routines (surprised me since I entered my values in cm and not mm during calibration and it all seemed to go well). However, the vertical distance between the top set of horizontal cuts and the bottom set of horizontal cuts is never measured.
the measurements to the outer cuts is finding the effects of chain sag
but we need to do two central cuts so that we can solve the different triangles
to figure out the proper rotation radius. If we leave this out, and try to just
figure out the rotation radius from the effects on the outer cuts (where the
chain sag effect is maximized), we are not going to accurately figure out the
In the earliest version, we did a cut in the top center area. This was moved
down to the lower center area because Bar was getting bad results due to his
We cut wide to maximize the effect of chain sag.
we should cut high center and low center to maximize the effect of the rotation
This is one additional measurement, but without it, you seriously reduce the
Took a while to get back - the arms are 5 inches. I want to say Gero posted a video of what I am experiencing - with the sled on the left side (so tilted down to the right a little) the linkage on the left side indexes past a catching point for lack of a better way to describe, and folds towards the middle and will hang there without any intervention. It happens on both sides (extremes) To be fair - I have to re-check my mounting positions because at quick glance they appear to be off a little (distance -wise) This may be promoting the issue. I will report back when I have a chance.
Thanks, there were two versions with 5 in arms, one where the arms wer 3/4" wide
and one where they were .6" wide, the version with .75" arms had larger holes
(.26 vs .25) and so is more likely to have this problem (any error in the
mounting location or ability for the bolts in the mounting location to flex will
make this far more likely)
Mine has the .750 wide arms. Am I correct in thinking that the holes should be 5" apart? I’m not very good at describing things, but I will try - looking at the pantograph, there are 6 bolts holding the assembly together. From left to right, they should be 5" apart vertically as well as horizontally. I believe that my middle set might be off a little (I put the kit together with tension on everything to minimize any excess play issues) My measuring/drilling may be the issue and I really haven’t looked this closely at it until now (shame on me) I’m confident that any play is not a big issue, I used locknuts and graphite during assembly so the whole thing moves very smoothly. (also polished the stainless) Has anyone else had this issue, and what other improvements have you made to your latest iteration? I could never have come up with this idea in the first place so I am very grateful to you and Maynard for providing them to the collective. Let me know if I can be of any assistance.
“You get hurt, hurt 'em back, You get killed, walk it off.”
I might have misspoke. The vertical distance is six inches. I have just completed taking it all apart and checking it out very closely. I am happy with the way I installed everything and I in the process of calibrating right now. I machined a piece of delrin for the top stand off - it’s a larger diameter and won’t allow the arms to index past the center - I’ll update you when I’m done
I didn’t have much time to play tonight, heading out for a business trip tomorrow AM but I ran into some weird issues with GC 1.10.
I decided that if there were some calibration improvements I would take advantage of those. So I restarted my calibration routine in 1.10 and got through the motor spacing measurement phase and then went to set the chain length and…the motors spun the wrong direction? I stopped them and exited out, then went into the set chain lengths and the motors moved the correct direction. I did in fact, choose the proper chain direction in the prior step, my chain comes off the top. Minutes later, when I went to adjust my z-axis up and it moved my sled up on the board, not the zaxis??
I am going to jump back to 1.09 but, has this happened to anyone else? That was really strange.
So I finished my frame modifications and started with another round of calibration today, moved back to GC 1.09 and FW 1.09. I still ran into the issue of the measurement between motors being incorrect. Losing about 5mm across the 473.3 links. So it seems like my machine is holding fairly consistent at 6.359 mm chain pitch. I did a little searching and it looks like the tolerance for ANSI roller chain is 0% to 0.15% so my chain would fall within that tolerance band at 6.35mm to 6.3595mm.
Finished the first part of the calibration and then, when I went to measure out the chain lengths the motors spun the wrong direction. I stopped it, and just went to the stand alone automatic chain measurement and it measured the chains out fine, motors turned in the correct direction. So I go back to do the calibration get to setting the z-axis depth and then the z-axis doesn’t move but the sled moves down just like before.
I failed to reset my .ini file but I will do that in the morning. Just odd, like @blurfl said “funnies” or if you watch Westworld, we could call them “reveries”
I am totally hosed up now… Still back on GC 1.09 and FW 1.09 and I cannot complete the calibration cycle or use the z-axis.
I wiped the EEPROM, deleted the .ini file and removed any of the old versions of GC and FW that I had saved on the computer. I can get to the point where the calibration wants to measure out the chains and then, the sprockets spin the wrong direction. Additionally, when I try to move the z-axis up or down the z axis motor twitches and then the upper motors both spin.
The issue is 100% repeatable for me and I cant seem to get rid of it.