Calibration pattern for triangular kinematics

it actually should be for a sprocket straight up because when you need to reset
things, you need to get the sprocket into a known position.

Yes, any position would work, but since we already do other positioning with a
tooth straight up, it makes sense to stick with that standard.

Iā€™m interested in following this up, are you working on a PR? Is there anything I could do to help?

Iā€™ve had it on hold, primarily because of family visiting over the holidays. Iā€™m going to start working on it shortly here, and could definitely use some testers to help validate that it works before it gets merged. With my Maslow on order I canā€™t actually verify the code works as desired, but would be happy to get the code written and PR submitted.

1 Like

Sounds great. Iā€™ve got time and the equipment to help with the testing when youā€™re ready. In the mean time, enjoy having family near :slight_smile:.

2 Likes

Trying to use the Maslow Triangulation Calibration spreadsheet ā€“ GC 1.0

  1. Where do I find the value for ā€œprogrammed chain lengthā€?
  2. What kind of cuts should be made? A hole or a horizontal slot?

What we did is position the sled within a few inches of the 4x8 sheet vertical centerline, and about 3 " down from the top edge and drilled a 1/4" D hole ā€“ Then lowered the router 900 mm toward the bottom sheet and drilled another hole. Should we have made sure the router was exactly on the centerline, instead of 4-5" to one side?

The router needs to be exactly the same distance from both motors for the math
to work.

Iā€™m not sure how to get the firmware to report the chain length

Your process of drilling the first hole near the top and the second near the bottom is good. This calculator assumes that both chain lengths are always the same for this calibration process, and that as one is extended the other is extended the same amount. This would ensure the sled is always in the exact middle of the motors, as well as the workspace (assuming the workspace center aligns with the motor spacing center).

Regarding your questions:

  1. Currently it looks like this isnā€™t possible in any automated manner. I was hoping that the calibration routine or some other setting would allow manual chain lengths to be entered in GC, but Iā€™m not seeing it there.
  2. In this case I was considering a point cut, so Z axis down and then back up without the sled moving.

I donā€™t have my Maslow yet (next batch!), so I hadnā€™t actually ever used GC when I made this spreadsheet, hence the issue of it not being usable because of lack of ability to get the chain lengths. I apologize about that. Since making that document I have downloaded GC and been playing with it, to get an idea for how it works and see now that the chain lengths are not available.

The best option at the moment to test this would be to use G code commands to extend the chains known lengths to achieve the cuts, then enter those values into the spreadsheet.

In the meantime, Iā€™m currently working on integrating this into GC so that it can be tested, and hopefully eventually merged into the project. I envision this being a new calibration routine, with a step where you have buttons to extend and retract both motors at the same time to position the sled for each cut. GC would already have the chain position as it would be tracking it, so the only things needed to be entered by the user would be two measured distances of the cuts.

1 Like

Iā€™d suggest letting the cal routine choose the chain lengths, based on a ā€˜best guessā€™ of the motor height and the entered value of the sheet height. The cuts donā€™t have to be at known locations, only somewhere on the sheet along the centerline, and preferably spread apart to reduce the effect of human error reading the value :smile: .

1 Like

I agree that the user shouldnā€™t have to enter the chain lengths at all. I was referring to the spreadsheet in that case, but it wonā€™t be relevant when the code is finished in GC.

1 Like

The software doesnā€™t really know the size of the machine, so having it pick the
locations based on a guess will run the sled into the floor or off the top in
some cases.

If you make one of the positions the center of the sheet, you can do the
calibration with one measurement rather than two.

1 Like

This is a great idea. That never crossed my mind, but youā€™re right. The only downside would be the difficult of positioning the sled over that point, but I donā€™t think it would be very difficult.

The software knows the size of the sheet and the default value or the userā€™s estimate of the motor height. That is enough to choose the locations.
Until all the calibration is complete, the center of the sheet isnā€™t accurately known.
The method described calibrates the rotationalRadius as well as the motor height with the two cuts and two measurements.

Personally, I would not worry about the exact center, but rather try to get as
close to the center as possible with a sprocket tooth straight up so that when I
re-hang things itā€™s at the ā€˜homeā€™ position.

If anything, Iā€™d go a few mm low and then cut the bottom brace to give me a
surface that I ā€˜knowā€™ is parallel to the top beam (cutting into the 3/4 plywood
just a hair so that sawdust has a place to go other than sitting in the corner
where it will be in the way of the workpiece)

The software knows the size of the sheet and the default value or the userā€™s estimate of the motor height. That is enough to choose the locations.

true, as long as those have been entered. My goal is to avoid having to enter
any numbers if at all possible :slight_smile:

Until all the calibration is complete, the center of the sheet isnā€™t accurately known.

although the user can know where the center is with a piece of string (make an X
corner to corner)

The method described calibrates the rotationalRadius as well as the motor height with the two cuts and two measurements.

as opposed to two cuts and one measurement :slight_smile:

They are part of the default settings. The user can alter them either in the settings panel or during the calibration sequence. None of this works if they are zero or blank.

And thatā€™s a second measurement, right? Not simpler than a tape measure measurement from the top cut to the top of the sheet just above. Too, donā€™t assume that the geographic center of the spoil sheet is accurately centered beneath the motors. There good and simple reasons that might not be true - for the purpose of accurate calibration, that canā€™t be assumed.

As above, itā€™s still two cuts, two measurements. And no need to try to guess whether the router bit is centered over the center mark.

And thatā€™s a second measurement, right? Not simpler than a tape measure measurement from the top cut to the top of the sheet just above. Too, donā€™t assume that the geographic center of the spoil sheet is accurately centered beneath the motors. There good and simple reasons that might not be true - for the purpose of accurate calibration, that canā€™t be assumed.

As above, itā€™s still two cuts, two measurements. And no need to try to guess whether the router bit is centered over the center mark.

except that the ā€˜define this as the centerā€™ isnā€™t critical to the calibration
for accuracy (as long as the chains are the same length), it just defines where
0,0 is. If itā€™s 9" high it doesnā€™t make the machine any less accurate, it just
means that the machine has less +y travel than -y travel.

When you do two measurements with the tape measure, I believe that both of these
are critical to making accurate cuts afterwords.

Both methods arrive at 0,0. One calculates it by measuring from the top of the sheet to a cut after the cuts are made. The other starts by defining 0,0 as where the bit is when the calibration starts.

I donā€™t think thatā€™s how the calculation works. The rotationRadius calculation only uses the first measurement, the difference between the two cuts. Once the accurate rotationRadius is known, the distance from the motor shaft center to the top cut can be calculated. The measurement to the top of the sheet simply indicates how much of the distance is on the sheet and how much is above it. The center of the sheet is calculated from that information.

This is correct. If the only goal was to calculate the rotationDiskRadius parameter then only the measurement between cuts is required.

Making progress on the code! Iā€™m a slow coder, so please forgive the time itā€™s taking.

4 Likes

PR 547 has been created. I donā€™t have my Maslow yet so I have not been able to verify the G code, or the accuracy of the final parameters, so I would ask that if any users have time to validate and let me know if you encounter any issues!

2 Likes

Iā€™ll jump on it this evening! Very exciting, thank you :pray:!

3 Likes