Four Motor Maslow.. sort of

but imagine a rectangle where all of the side lengths and the
diagonal lengths are known. That gives us enough information to lock down the
relative coordinates of the corners.

I’ll point out that the stock maslow is a trivial triangle if the coordinates
are all known :wink:

the problem is figuring this out in the absense of an accurate measurement.

I’m starting to think that it would be worth raising the price of the kit by
$20-30 to include a good class-2 tape measure and a couple 3d printed
calibration aids. Given the problems we’ve had with measuring the distance
between the motors, I’m wondering how much of the problem is variation in the
chains vs variation in the tape measures.

I picked up a couple of these that I’m very happy with
https://www.rockler.com/fastcap-procarpenter-standard-metric-tape-measure
I dug up the vendor site and they are class 2. Combined imperial/metric for <$10
each

David Lang

3 Likes

1 Like

I agree with dlang ,that the kit should include a quality measuring tape and a couple of calibration aids which could also be used for the distance of the cuts.
The motor distance is critical but the I believe the current method is causing
premature failure of the left motor,
But the motor distance needs to be measured under load, im thinking of
attaching the sledge with both chains,
Locking the sledge in the centre position by the means of screwing it in position,
Pulling both chains tight by the maximum force the motors would produce under normal cutting conditions
And taking the measurement then,
With the use of the standard measuring tape and the 3d printed calibration aids which would set reference points of the motor position to take measurements from, this would alow the motor distance to be standardised
Using both motors would spread the load between both of them instead of just the left one

This design I’m working on has different issues than the stock design. First, I know very accurately the distance between motors since they are mounted to a laser-cut sled. Second, I don’t know where the frame’s chain mount points (and there are four of them), so I need a good method to quantify that… this is similar to the stock distance-between-motor issue, except I have four distances/angles to quantify (angles because it’s possible/likely they don’t form a perfect rectangle). Third, I need to determine how much webbing has been spooled out once everything is attached and under tension.

To set up my design, I suspend the sled on something near the center of the work piece. Basically, I drill a screw through a hole in the sled into the spoil board. Then, I spool out the webbing long enough to attach them to the frame mounts. The machine will measure out how much is spooled, but this is “untensioned” webbing and once tension is applied, it likely will stretch. So I don’t really trust this measurement. If metal tape is used, this might not be an issue, but I’m using hmwpe webbing at the moment.

I do like the idea of 3-D printed/lasercut measuring aids and an accurate tape measure… I think if you can measure distances between all mount points you can calculate their coordinates and then if you make measurements from a few mount points to a few points on the sled, you can calculate its coordinates and therefore, calculate the webbing lengths.

I’m wondering that maybe all can be solved by using some kind of calibration jig where you place it on the spoilboard and tell the machine to move around and it somehow figures out where the mount points are and the length of each webbing based upon its measurements. This jig could use something like mechanical end stops on the sled bumping into something, an optical calibration pattern, or even a metal “bolt head” pattern (@dlang had an idea for this) or something completely different that I haven’t thought of…

We could use Hall effect gear tooth sensor to measure sprocket position in calibration process.

This sensor could measure the 12 o’clock position.

2 Likes

I’ve been thinking about this, wondering about modifying the motor bracket to hold one of these. It doesn’t need to be tuned to be exactly at 12 o’clock, as long as it repeatably triggers at the same place, we can then record an offset from where it triggers to the 12 o’clock position.

This sensor is more complicated than we need (it gives a quad signal to figure out direction as well as speed, we just need a position trigger.

Would be neat on a stock system.

The pinch rollers aren’t working out too well. Though they ensure that the spool turns whenever the webbing is fed in/out, they are creating way too much tension on the system. The first pillar assembly went ok, wasn’t too hard to pull the webbing through it. The second assembly was not ok. I really had to pull hard and it seemed to only be really tight at one position in the rotation of the spool. I suspect my build tolerances aren’t good enough for the design considering I’m trying to pinch a 1/32-inch thick webbing with a nylon spacer (my pinch roller). I think on the second pillar, the spacer ended up too close to the spool and resulted in too much binding.

Since it doesn’t really take a lot of tension to make the spool turn (my finger pressed against the webbing lightly is way more than enough), I’m going to try out a flat spring… something like this.

image

The spring will be any flexible material and slits will be cut in the top and bottom plates to secure it in place. I’m not sure what material to use, but I have some 1/16-inch delrin and that’s way too stiff. I might go ahead and use it for a trial and maybe cut some grooves in it to make it more flexible. Since it doesn’t have to be really accurately cut, I imagine someone could cut it out by hand from the flat side of a plastic milk carton or something (I can probably dig through my garbage can and find 1000 different items that would work).

1 Like

I like the flat spring idea a lot! Maybe bend the end up like the tip of a ski to keep it from binding

I think if it’s long enough, the end won’t get in the way and I’d like to keep it flat so it can be readily cut from some form of plastic. I’ve also moved the spring location (limit switch interfered with previous location)
image

I priced out four ‘springs’ from ponoko out of 1/32-inch delrin and total cost was $6.80 (without shipping) with $6 of that being the material cost of a 7.1x7.1 inch sheet of delrin. $6.80 is a bit pricey for four pieces of plastic, but only a fraction of the sheet is being used so if I need to incorporate a wear surface somewhere, I have some excess material that I can make it out of. Like I said before, I think people can cut one out by hand if they don’t want to buy them pre-made.

1 Like

Just finished building a pillar using a spring made of 1/16-inch delrin (with grooves in it to make it more flexible) in lieu of the pinch roller and the result was outstanding. The slightest movement of the webbing moves the spool and the webbing doesn’t slip past if there’s no tension… There’s also very little friction as well… the weight of the 3-inch carabiner I tied to the end of the webbing gives enough force to pull the webbing through the pillar assembly.

4 Likes

And so I learned something important. Three “bearing” surfaces are a bad idea when accuracy is not extraordinarily high. This is my pillar design at the moment:

image

The spool is made of 1/4-inch d-shaft and is supported by two bearings. The bearings are installed into 1/4-inch mdf “plates”. The plates have 1/4-inch holes in three corners so everything can be bolted together. I use a layer of inner plates as “guides” to align the webbing with the spool. The plates are separated by a washer and two stacked 1/4-inch nuts to give me the vertical height I need for the webbing to pass through the assembly. The spool’s shaft extends upwards where I attach a CUI AMT-102 capacitive encoder that gives 8000 ppr. What I’ve found is that if I tighten down the entire assembly, encoder it causes things to bind, which then allows the webbing to slide past the spool without turning it. If I tighten down everything but the encoder plate and allow the encoder plate to be able to “wiggle” a very slight amount, everything works fine and there’s no binding. It’s hard to say how much wiggling is going on, but it looks to be well less than 0.5 mm side to side during the revolution … it’s very, very slight.

I think the problem is that the build tolerances aren’t extraordinarily precise and the alignment of the bearings and shaft isn’t perfectly vertical so that when I install the encoder, which is mechanically connect to the shaft and then tighten things, the encoder gets bound-up. If the shaft is tilted a very slight amount (maybe the heights of the washers and nuts aren’t precisely equal and there’s a little tilt in the top plate) by applying a third “bearing” (i.e., the encoder) things get out of alignment… grossly exaggerated in the picture below:

image

I’m not sure this can be overcome unless things can be built to a better tolerance. So, I’m going to leave the encoder loose to see if causes issues.

1 Like

I got the webbing design up and running and got similar results as before, which isn’t necessarily a bad thing. All the wraps are neat and things run smoothly. But it’s still hard to get the PID values tuned.

3 Likes

After I hook the sled up, there’s a distinct ‘droppage’ of the sled as the webbing tensions. It’s definitely not zero-stretch… considering it’s woven, it’s got to stretch. However, at least for the top motors, the encoders measure pre-tensioned webbing so I don’t know it will be a problem. For bottom motors, I’m a bit lost trying to figure out how to handle runaway condition when the webbing has gone slack and the encoder isn’t turning.

I was thinking we might need to read both the encoder on the motor and the webbing. That would let us sense how they are tracking at least roughly. I was also thinking it might be useful to measure the current draw on the lower motors and do torque control to set the tension on those cables rather than the position.

1 Like

Since I’m trying to do a quadrilateral setup, I’m using the bottom motors to keep the sled vertical and I think the only way to do that is through setting position. I’ve been thinking about it further today and wonder if because I’m using 1/32 inch thick webbing, the resolution of the motor encoder will be good enough. The webbing using a 40 mm inner spool diameter maxes at around 70mm with ~3m wrapped around the spool (if I recall my calcs correctly from earlier today). That leads to a resolution of 0.03 mm/pulse. Since all that this motor is doing is adjusting the angle of the sled, I wonder if that is good enough. If so, I’m thinking of maybe generating a calibration curve for the motor that equates encoder steps to length. The teensy has plenty of ram/storage to hold a large array.

1 Like

That’s a really interesting idea. It makes sense to me that the requirements for the lower motors would be lower than for the upper motors. Removing the extra encoders from the lower motors would certainly reduce the complexity and cost.

I played around with a similar idea to linearize the motors response and I got it to where I could move the sled around the work area by hand when driving the motors to provide no resistance, but I ran into issues with storing the array in the Mega’s memory. I’m not sure that is is really related, but I like your idea.

tl;dr “use optical calibration”.

I’m leaning on using my optical calibration method because it’s a somewhat automated process. The idea is to create a matrix of test points all around the board of enough resolution that I can create a set of curves for all the motors. The process will be to start the sled in the center of the board and set webbing lengths based upon that position. The user will have to enter distances between the four mounting points on the frame (where the webbings attach) so that their x,y coordinates can be calculated, but the rest should be fire-and-forget.

The process is to first move to a certain spot (say left a couple inches as a first point) using basic kinematics and then use image processing to find the registration mark and determine the mark’s rotation from vertical. Next, adjust the bottom motors such that the mark is aligned vertically… if the mark is vertical, then the sled is vertical. Measure and record the x,y distance of the mark from router bit’s position and record the length/steps for the bottom motors. Repeat this across this process across the entire surface and then use the data to generate a set of curves (or an error matrix if curves aren’t matching well enough) that can be used as calibration adjustments by the controller.

The basic kinematics that will be used for the ‘un-calibrated’ lengths will be pretty simple math (I posted it above somewhere, I think). For the top motors, since they will use external encoders, there should be a linear 1:x relationship between steps and the length of webbing. For the bottom motors, because they will use the encoders on the motors, the relationship won’t be linear and I’m thinking of either calculating (see link below) the values on the fly, using the approximate method, or storing pre-calculated ‘exact’ values in an array.

http://www.giangrandi.ch/soft/spiral/spiral.shtml

My hope is that I can calculate the values for the bottom motor close enough that it can move the sled around the board without tearing itself apart (fortunately, the webbing does have some stretchiness to it). Then for calibration (for this example the sled is on the left side of the board) the right motor is spooled out such that the webbing is untensioned as detected by the limit switch deactivating. Next, the left motor is spooled in/out until the sled is vertical. The right motor is then spooled in just until the webbing is tensioned as detected by the limit switch activating. Finally, the vertical alignment is rechecked and if not vertical, the left motor is readjusted. The lengths for the bottom motors are then read and stored for use.

I think this is doable, but my current optical calibration procedure depends upon only one registration mark (currently a 0.6-inch black square spaced 3-inches apart, iirc) being visible by the camera and that the entire registration mark is visible (not cut off the edge of the image). This needs to be redone to make it more robust and with greater resolution. Maybe a series of small QR codes set inside a grid. The QR codes can be read to determine the position of the sled and the grid lines can be used to determine if the sled is vertical.

1 Like

Would aluminum be better?

I got the mdf spools and assembly working reliably, but am having a real hard time getting the PID controller to work well. So I’m switching to a new design that uses timing belts and put the toothed pulley on the motor… I’m going to use a constant force spring from a tape measure to take up the slack belt. if it works, it should simplify the design, eliminate external encoders, and allow for a PID controller values very close that of a stock maslow (only difference is the mm/rotation will be 72mm vs. 63.5mm)

3 Likes