Maslow Home Maslow Community Garden

Draw-Wire Calibration/Positioning System

accuracy
calibration

#21

with a 2.5" spool you are talking about ~50 wraps around the spool. I’m not sure
how you would do that without overlap. doubling the diameter of the spool cuts
the effective encoder resolution in half.

also, the spool needs to move at a different speed than the motor to provide
value (otherwise the line needs to sag/stretch exactly like the chain does)

The line also needs a good attachment to the router, either another ring/linkage
or a point at the top of the router that’s directly above the bit.

David Lang


#22

they don’t have to exactly measure the chain, you could mount them in closer to
the workpiece (they just have to clear the top corners of your workpiece as we
aren’t needing to avoid especially steep/shallow angles)

At the sled, they need to either attach to the top of the router directly over
the bit, or you need a ring/linkage kit for them to attach to (which would
require enough tension, otherwise the weight of the linkage kit or ring bearings
would throw things off)

David Lang


#23

Wouldn’t the spool need to match the sprocket in feeding in and out? I was thinking that avoiding any linkage like that would help isolate the measurement from the chain issues.

If chafe could be overcome, feeding from a stationary point like an eyelet could greatly simplify the math at that end of the line - no need to calculate a partial circumference and the eyelet would be the zero point to calibrate from.


#24

At risk of doing the math wrong… the circumference of a 2.5 inch spool (I assume you mean 2.5-inch diameter) is 7.85 inches. A 12-foot (144-inch) wire would need only 18-19 wraps around the spool.

It’d follow a path like this depending upon how far the eyelet is from the spool.:


#25

A great idea, but we would have to think about the router motor’s z-axis movement.

a couple inches of Z movement over several feet of X/Y movement will not result
in very much error (the closer you get to them, so the steeper the angle in the
Z direction, the more of a problem you will have

One problem with them is that they need to be zeroed when they power up, and I
haven’t found a way to send a saved value to them. That might not be too bad
if the moving end can be disconnected and allowed to retract all the way
before zeroing, then re-attached to ‘measure’ the sled’s location when you
power up for a session. Otherwise providing ~10mA of 5V to the sensor when not
in use would maintain its readings.

can you set the turn counter to a specific value or only zero? if the firmware
knows what turn it was on, and what position it was at, if the position has not
changed (or only changed a trivial amount) since it was powered off, assume that
the turn count is the same (at 12-14 bits of resolution, you aren’t going to
turn the motors/shaft and end up in exactly the same position unless you are
really unlucky :slight_smile: )

But this is why I was thinking of using them on the chain sprockets rather than
a spool

David Lang


#26

Not sure I understand, but if you were trying to use the existing software and maintain a two-spool design, then you just change the “number of teeth” and “chain pitch” to something that would give you that constant distance the spool feeds out every turn.

This method doesn’t account for wire stretch… that would have to be taken into account in software. But that’s a lot easier to do because it’s just based upon tension whereas chain sag is really complex.


#27

Oh, @blurfl, my idea is to eliminate the chains and use the wire instead. That might be the confusion.


#28

How about ~3 wraps around a spool for friction, feed in one side (one end) and out the other with a counter weight (opposite end)? The wire will never lap this way. I’ve been thinking of trying this to replace the chain on the current setup.


#29

You might not need the RS485 chip - pin 5 (‘Mode’) has an internal pull-up; the USB cable pulls that pin low to let a computedr talk to the encoder. Watching that connection on a scope, the computer transmits on pin3(A) at 8N1 230400 baud MSB first 5V idle high, the device answers on pin2(B) 3V idle high. Haven’t gotten very far past that point yet, though.


#30

That’s much like the old string-driven tuner, that’s what I had in mind. Might even to use kevlar thread for very low stretch.


#31

Yes. Or the cable on a garage door


#32

I was thinking of just 3d printing a spool that would slip over the motor sprock. Could even step up the diameter to get faster movement


#33

All I can find in the meager documentation is that they power up with both counters zero. The docs only list commands to query the counter values or re-zero the counters. Anyone who can find more info would greatly help! :grin:

But doesn’t this keep chain sag in the mix? We want to measure independant of the movement of the chain/sprocket mechanism. I must be missing something here.


#34

For something like this, that is not weight bearing, magnets would work well. As @dlang mentioned, finding an appropriate attachment point might be the difficult part. Directly over the router bit would be nice but you have to contend with Z offset (which might not be a problem). Connecting to the point the chains connect to a ring or linkage might work (adding your rotational radius number) but if you did this technically with chain sag you’d be measuring to a point on an arc, not the distance between the ends of the arc (which what we are going for)…

Wouldn’t a smaller diameter result in higher resolution measurement?


#35

I thought chain sag was the result of using a chain? Weigh…
Am I missing something lol
I’m talking about replacing the chain but just building off the existing sprockets.


#36

If the new device were to be configured into something like a tape measure that would recoil the wire, and have sufficient tension to keep it straight, that device could be placed anywhere. For instance, placing one each on the lower left and lower right corners of the rig would still give you the ability to create triangular positioning and know exactly where sled is located.

This would also keep the new system away from the chains, sprockets, tensioning system, etc. It could be mounted low (close to the workpiece, but would need another “ring” system, or it could be located high above the router and z axis system. Think of a “post” centered above the router, and “magnetic” leads from the sensor that would attach. See the Goliath website. They have something exactly like this.

When starting the Maslow, you would move the sled to 0,0, the center point of the cut sheet, based on the measurement of the new devices. The chains would play out to hit exactly that point. Then all movement from there can be initiated by the chains, and checked in place by the new measurement system.

I’m only trying to point out that I don’t think the new sensors have to be located at the sprockets location.


#37

At risk of doing the math wrong… the circumference of a 2.5 inch spool (I assume you mean 2.5-inch diameter) is 7.85 inches. A 12-foot (144-inch) wire would need only 18-19 wraps around the spool.

yep, I was saying 2.5" spool and thinking the 2.5" circumference sprocket that
we currently have

It’d follow a path like this depending upon how far the eyelet is from the spool.:

I’m not making much our from that, but I would want to avoid a sharp bend at an
eyelet, and you would want to make sure that the line never goes from one side
of the eyelet to the other. remember, the chain angle goes from 10 degrees to 80
degrees.

David Lang


#38

a proper rs485 interface will have balanced signals on the wire, drastically
helping with noise immunity.

David Lang


#39

that could work, but you have to have a 2:1 reduction somewhere otherwise your
weight will hit the ground.

David Lang


#40

All I can find in the meager documentation is that they power up with both counters zero. The docs only list commands to query the counter values or re-zero the counters. Anyone who can find more info would greatly help! :grin:

I saw that the doc said that the turn counter was zero, but since the
single-turn zero position can be set via the proprietary windows-based utility
to anywhere, I am assuming that they retain this setting across power cycles
(otherwise having an index position is meaningless)

But doesn’t this keep chain sag in the mix? We want to measure independant of the movement of the chain/sprocket mechanism. I must be missing something here.

I’m looking at them to replace the current encoders, not eliminate chain sag.

it is impossible to eliminate chain sag entirely, no matter how light the string
and how tight you pull it, there is always going to be some sag. We need to
figure out how to model it and account for it in the calculations.

going with very light line may make it so that the sag is small enough that we
can ignore it (we are aiming for an accuracy of 0.4mm, if the worst-case sag is
0.1mm for a line, we can probably safely ignore it), but we would need to prove
that it really is that small (without introducing another, larger error)

someone said a few posts up that stretch only depends on tension, but sag is
more complex. I disagree, both sag and stretch depend on how much tension there
is and how much line is out. The forumla for stretch is simpler, and we have not
yet found the right formula for us to use with sag, but once we find the
formula, it doesn’t matter how messy it is, computers are good at math :slight_smile:

David Lang